@algofi/v1
Version:
The official JavaScript SDK for the V2 Algofi Lending Market
35 lines (34 loc) • 1.71 kB
TypeScript
import { Algodv2, Transaction } from "algosdk";
import AlgofiUser from "../algofiUser";
import GovernanceClient from "./governanceClient";
import Proposal from "./proposal";
export default class Admin {
governanceClient: GovernanceClient;
algod: Algodv2;
adminAppId: number;
adminAddress: string;
quorumValue: number;
superMajority: number;
proposalDuration: number;
proposalExecutionDelay: number;
proposalFactoryAppId: number;
proposalFactoryAddress: string;
govToken: number;
proposalTemplateId: number;
minimumVeBankToPropose: number;
proposals: {
[key: number]: Proposal;
};
constructor(governanceClient: GovernanceClient);
loadState(): Promise<void>;
getUpdateUserVeBankDataTxns(userCalling: AlgofiUser, userUpdating: AlgofiUser): Promise<Transaction[]>;
getVoteTxns(user: AlgofiUser, proposal: Proposal, forOrAgainst: number): Promise<Transaction[]>;
getDelegateTxns(user: AlgofiUser, delegatee: AlgofiUser): Promise<Transaction[]>;
getValidateTxns(user: AlgofiUser, proposal: Proposal): Promise<Transaction[]>;
getUndelegateTxns(user: AlgofiUser): Promise<Transaction[]>;
getDelegatedVoteTxns(callingUser: AlgofiUser, votingUser: AlgofiUser, proposal: Proposal): Promise<Transaction[]>;
getCloseOutFromProposalTxns(userCalling: AlgofiUser, userClosingOut: AlgofiUser, proposal: Proposal): Promise<Transaction[]>;
getSetOpenToDelegationTxns(user: AlgofiUser): Promise<Transaction[]>;
getSetNotOpenToDelegationTxns(user: AlgofiUser): Promise<Transaction[]>;
getCreateProposalTxns(user: AlgofiUser, title: string, link: string): Promise<Transaction[]>;
}