UNPKG

@triadxyz/triad-protocol

Version:

<div align="center"> <h1>Triad Protocol</h1> </div>

64 lines (63 loc) 1.79 kB
import { Program } from '@coral-xyz/anchor'; import { PublicKey } from '@solana/web3.js'; import { TriadProtocol } from './types/triad_protocol'; import { RpcOptions } from './types'; export default class Stake { private program; private rpcOptions; constructor(program: Program<TriadProtocol>, rpcOptions: RpcOptions); /** * Get all Stake Vaults */ getStakeVaults(): Promise<import("./types").StakeVault[]>; /** * Get all Stakes */ getStakes(): Promise<import("./types").Stake[]>; /** * Get Stake By Wallet * @param wallet - User wallet */ getStakeByWallet(wallet: PublicKey): Promise<{ available: number; authority: string; initTs: number; checkedTs: number; claimed: number; amount: number; }>; /** * Get Unstake By Wallet * @param wallet - User wallet */ getUnstakeByWallet(wallet: PublicKey): Promise<import("./types").Unstake[]>; /** * Stake Token * @param amount - Amount to stake */ stakeToken(amount: number): Promise<string>; /** * Update Stake Vault * @param amount - Reward amount to deposit */ addStakeVaultRewards(amount: number): Promise<string>; /** * Update Stake Vault Is Locked * @param isLocked - Whether the stake vault is locked */ updateStakeVaultIsLocked(isLocked: boolean): Promise<string>; /** * Request Unstake * @param amount - Amount to unstake */ requestUnstake(amount: number): Promise<string>; /** * Unstake Token * @param unstakePDA - Unstake Public Key */ unstakeToken(unstakePDA: PublicKey): Promise<string>; /** * Claim Stake Rewards */ claimStakeRewards(): Promise<string>; }