import { Algodv2, Transaction } from "algosdk"; import { getParams, waitForConfirmation } from "./extraUtils/submissionUtils"; export { getParams, waitForConfirmation }; import { getStorageAddress, getGlobalManagerInfo, getUserManagerData, getAccountOptInData } from "./extraUtils/stateUtils"; export { getUserManagerData, getGlobalManagerInfo, getStorageAddress }; import { managerStrings, marketStrings } from "./contractStrings"; export { managerStrings, marketStrings }; import { orderedAssets, orderedAssetsAndPlaceholders, protocolManagerAppId, assetDictionary, orderedOracleAppIds, orderedMarketAppIds, orderedSupportedMarketAppIds, SECONDS_PER_YEAR, PARAMETER_SCALE_FACTOR, SCALE_FACTOR, foreignAppIds } from "./config"; import { Base64Encoder } from "./extraUtils/encoder"; export { getAccountOptInData, orderedAssets, orderedAssetsAndPlaceholders, protocolManagerAppId, assetDictionary, orderedOracleAppIds, orderedMarketAppIds, orderedSupportedMarketAppIds, SECONDS_PER_YEAR, PARAMETER_SCALE_FACTOR, SCALE_FACTOR, Base64Encoder, foreignAppIds }; import { Asset } from "./asset"; import { Market } from "./market"; import { prepareAddCollateralTransactions } from "./addCollateral"; import { prepareBorrowTransactions } from "./borrow"; import { prepareBurnTransactions } from "./burn"; import { prepareClaimRewardsTransactions } from "./claimRewards"; import { prepareMintTransactions } from "./mint"; import { prepareMintToCollateralTransactions } from "./mintToCollateral"; import { prepareRemoveCollateralTransactions } from "./removeCollateral"; import { prepareRemoveCollateralUnderlyingTransactions } from "./removeCollateralUnderlying"; import { prepareRepayBorrowTransactions } from "./repayBorrow"; export { Asset, Market, prepareAddCollateralTransactions, prepareBorrowTransactions, prepareBurnTransactions, prepareClaimRewardsTransactions, prepareMintTransactions, prepareMintToCollateralTransactions, prepareRemoveCollateralTransactions, prepareRemoveCollateralUnderlyingTransactions, prepareRepayBorrowTransactions }; /** * Function to create transactions to opt address into our market contracts * * @param {Algodv2} algoClient * @param {string} address * * @return {Transaction[]} transaction group to opt into algofi markets contracts */ export declare function optInMarkets(algodClient: Algodv2, address: string): Promise; /** * Function to get opt in transactions for algofi supported assets * * @param {Algodv2} algoClient * @param {string} stakeAsset * @param {string} address * @param {string} storageAddress * @param {number} storageAddressFundingAmount * * @return {Transaction[]} create transactions to opt in to Staker and rekey storage address to manager contract */ export declare function optInStaker(algodClient: Algodv2, stakeAsset: string, address: string, storageAddress: string, storageAddressFundingAmount: number): Promise; /** * Function to get opt in transactions for algofi supported assets * * @param {Algodv2} algoClient * @param {string} address * * @return {Transaction[]} get opt in transactions for non opted in algofi assets */ export declare function optInUnderlyingAssets(algodClient: Algodv2, address: string): Promise; /** * Function to get opt in transactions for algofi supported assets * * @param {Algodv2} algoClient * @param {string} address * @param {string} storageAddress * @param {number} storageAddressFundingAmount * * @return {Transaction[]} create transactions to opt in to manager and rekey storage address to manager contract */ export declare function optInManager(algodClient: Algodv2, address: string, storageAddress: string, storageAddressFundingAmount: number): Promise; export declare function getProtocolData(algodClient: Algodv2): Promise; /** * Funtion to get user data from the protocol as well as totals * * @param {Algodv2} algodClient * @param {string} address * * @return {[dict, dict]} dictionaries containing the aggregated user protocol data */ export declare function getUserAndProtocolData(algodClient: Algodv2, address: string): Promise;