@algofi/v1
Version:
The official JavaScript SDK for the V2 Algofi Lending Market
29 lines (28 loc) • 1.13 kB
TypeScript
import { Algodv2, Transaction } from "algosdk";
import AlgofiUser from "./../algofiUser";
import StakingClient from "./stakingClient";
import StakingConfig from "./stakingConfig";
import RewardsProgramState from "./rewardsProgramState";
export default class Staking {
algod: Algodv2;
stakingClient: StakingClient;
appId: number;
address: string;
assetId: number;
latestTime: number;
rewardsEscrowAccount: string;
boostMultiplierAppId: number;
totalStaked: number;
scaledTotalStaked: number;
rewardsManagerAppId: number;
rewardsProgramCount: number;
rewardsProgramStates: {
[key: number]: RewardsProgramState;
};
constructor(algod: Algodv2, stakingClient: StakingClient, rewardsManagerAppId: number, stakingConfig: StakingConfig);
loadState(): Promise<void>;
getStakeTxns(user: AlgofiUser, amount: number): Promise<Transaction[]>;
getUnstakeTxns(user: AlgofiUser, amount: number): Promise<Transaction[]>;
getClaimTxns(user: AlgofiUser): Promise<any>;
getUserOptInTxns(user: AlgofiUser): Promise<Transaction[]>;
}