@algofi/v1
Version:
The official JavaScript SDK for the V2 Algofi Lending Market
31 lines (30 loc) • 1.24 kB
TypeScript
import { Algodv2, Account, Transaction } from "algosdk";
import AlgofiUser from "./../algofiUser";
import V1StakingClient from "./v1_stakingClient";
import V1StakingConfig from "./v1_stakingConfig";
export default class V1Staking {
algod: Algodv2;
stakingClient: V1StakingClient;
managerAppId: number;
marketAppId: number;
oracleAppId: number;
managerAddress: string;
marketAddress: string;
assetId: number;
latestTime: number;
totalStaked: number;
rewardsProgramNumber: number;
rewardsCoefficient: number;
rewardsAmount: number;
rewardsAssetId: number;
rewardsPerSecond: number;
rewardsSecondaryAssetId: number;
rewardsSecondaryRatio: number;
constructor(algod: Algodv2, stakingClient: V1StakingClient, stakingConfig: V1StakingConfig);
loadState(): Promise<void>;
getOptInTxns(user: AlgofiUser, storageAccount: Account): Promise<Transaction[]>;
getPreambleTxns(user: AlgofiUser): Promise<Transaction[]>;
getStakeTxns(user: AlgofiUser, amount: number): Promise<Transaction[]>;
getUnstakeTxns(user: AlgofiUser, amount: number): Promise<Transaction[]>;
getClaimTxns(user: AlgofiUser): Promise<Transaction[]>;
}