UNPKG

multipool-staking-sdk

Version:

This is an sdk for solmask staking pool program

43 lines (42 loc) 2.16 kB
import { Connection, PublicKey, Transaction, VersionedTransaction } from "@solana/web3.js"; import { StakingInstructions } from "./instructions"; import { TransactionPayload } from "./payload"; import { LockupInfo, StakeInfo } from "./types"; export declare class StakingService { readonly instructions: StakingInstructions; readonly _connection: Connection; private readonly _signTransaction; static deriveLockupInfoAddress(lockerName: string, programId: string | PublicKey): PublicKey; static deriveStakeVaultAddress(lockupAddress: string | PublicKey, programId: string | PublicKey): PublicKey; static deriveStakeInfoAddress(lockupAddress: string | PublicKey, stakerAddress: string | PublicKey, programId: string | PublicKey): PublicKey; private readonly _programId; private readonly _programErrorMap; constructor(instructions: StakingInstructions, _connection: Connection, _signTransaction: <T extends Transaction | VersionedTransaction>(transaction: T) => Promise<T>); private _createPayload; initLockup(params: { creatorAddress: string | PublicKey; rewardTokenAddress: string | PublicKey; stakeTokenAddress: string | PublicKey; totalAllocationReward: string; lockTimespan: string; name: string; stakingEndTime: number; stakingStartTime: number; }): Promise<TransactionPayload>; stake(params: { lockupAddress: string | PublicKey; stakerAddress: string | PublicKey; stakeAmount: string; }): Promise<TransactionPayload>; unstake(params: { lockupAddress: string | PublicKey; stakerAddress: string | PublicKey; }): Promise<TransactionPayload>; claimRewardToken(params: { lockupAddress: string | PublicKey; stakerAddress: string | PublicKey; }): Promise<TransactionPayload>; getLockupInfo(lockupAddress: string | PublicKey): Promise<LockupInfo>; getStakeInfo(lockupAddress: string | PublicKey, stakerAddress: string | PublicKey): Promise<StakeInfo>; calculateReward(lockupAdress: string | PublicKey, stakerAddress: string | PublicKey): Promise<string>; }