UNPKG

blub-sdk

Version:

A modular SDK for interacting with the BLUB ecosystem on the Sui blockchain.

61 lines (60 loc) 3.59 kB
import type { SuiClient } from "@mysten/sui/client"; import { Transaction } from "@mysten/sui/transactions"; import { ConfigModule } from "./transactions/config"; import { StakingModule } from "./transactions/staking"; import { VaultModule } from "./transactions/vault"; import { ClaimRewardParams, CloseStakePositionParams, CoinAsset, CreateStakePositionParams, Environment, PendingReward, PreCalculatePendingRewardParams, RegisterRewardParams, StartStakingParams, StopStakingParams, UnStakeParams, UpdatePackageVersionParams } from "./types"; /** * StakingClient class for managing Staking operations. */ export declare class StakingClient { #private; client: SuiClient; config: ConfigModule; vault: VaultModule; staking: StakingModule; private allCoins; private keypair?; /** * @param {SuiClient} client SuiClient instance * @param {string} address Address of the client * @param {Environment} env Environment configuration */ constructor({ client, env, address, }: { client: SuiClient; env: Environment; address: string; }); get address(): string; signAndExecuteTransaction(txb: Transaction): Promise<import("@mysten/sui/client").SuiTransactionBlockResponse>; devInspectTransactionBlock(txb: Transaction): Promise<import("@mysten/sui/client").DevInspectResults>; sendTransaction(txb: Transaction): Promise<import("@mysten/sui/client").SuiTransactionBlockResponse | undefined>; getCoins(coinType: string, refresh?: boolean): Promise<CoinAsset[]>; startStaking(params: StartStakingParams, txb?: Transaction): Transaction; stopStaking(params: StopStakingParams, txb?: Transaction): Transaction; updatePackageVersion(params: UpdatePackageVersionParams, txb?: Transaction): Transaction; getProtocolConfig(protocolConfigId?: string): Promise<import("@mysten/sui/client").SuiObjectResponse>; registerReward(params: RegisterRewardParams, txb?: Transaction): Transaction; createStakePosition(params: CreateStakePositionParams, txb?: Transaction): Transaction; stake(coinType: string, amount: bigint, positionId?: string, txb?: Transaction): Promise<Transaction>; claimReward(params: ClaimRewardParams, txb?: Transaction): Transaction; createStakePositionAndStake(coinType: string, amount: bigint, txb?: Transaction): Promise<Transaction>; unstake(params: UnStakeParams, txb?: Transaction): Transaction; closeStakePosition(params: CloseStakePositionParams, txb?: Transaction): Transaction; calculatePendingReward(params: PreCalculatePendingRewardParams, txb?: Transaction): Promise<PendingReward[]>; queryProtocolConfig(): Promise<import("./types").ProtocolConfig>; queryRewardConfigs(): Promise<Map<string, import("./types").RewardConfig>>; queryRewardConfigByCoinType(rewardCoinType: string): Promise<import("./types").RewardConfig | null>; queryRewardManager(): Promise<import("./types").RewardManager | null>; queryRewardInfo(rewardCoinType: string): Promise<import("./types").RewardInfo | null>; queryUserPositionIds(): Promise<string[] | null>; queryUserPositions(positionIds: string[]): Promise<import("./types").StakePosition[] | null>; /** * Returns the total staked amount for a given user by summing all valid positions. * * @param userPositionRecordId - The global position record object ID * @param wallet - User wallet address * @returns Total staked amount as a BigInt */ getUserTotalStaked(userPositionRecordId: string, wallet: string): Promise<bigint>; }