@algofi/v0
Version:
The official JavaScript SDK for Algofi
74 lines (73 loc) • 4.41 kB
TypeScript
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<Transaction[]>;
/**
* 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<any[]>;
/**
* 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<Transaction[][] | Transaction[]>;
/**
* 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<Transaction[]>;
export declare function getProtocolData(algodClient: Algodv2): Promise<any>;
/**
* Funtion to get user data from the protocol as well as totals
*
* @param {Algodv2} algodClient
* @param {string} address
*
* @return {[dict<string,n>, dict<string,n>]} dictionaries containing the aggregated user protocol data
*/
export declare function getUserAndProtocolData(algodClient: Algodv2, address: string): Promise<any>;