@triadxyz/triad-protocol
Version:
<div align="center"> <h1>Triad Protocol</h1> </div>
64 lines (63 loc) • 1.79 kB
TypeScript
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>;
}