blub-sdk
Version:
A modular SDK for interacting with the BLUB ecosystem on the Sui blockchain.
57 lines (56 loc) • 2.69 kB
TypeScript
import type { Transaction, TransactionObjectArgument } from "@mysten/sui/transactions";
import { ClaimRewardParams, CloseStakePositionParams, CreateStakePositionAndStakeParams, CreateStakePositionParams, PreCalculatePendingRewardParams, RegisterRewardParams, StakeParams, UnStakeParams } from "../types";
import { StakingConfig } from "../utils/config";
/**
* StakingModule class for managing Staking operations.
*/
export declare class StakingModule {
#private;
/**
* @param {StakingConfig} config Configuration for DeepBookContract
*/
constructor(config: StakingConfig);
/**
* @description Register a reward
* @param {RegisterRewardParams} params Parameters for registering a reward
* @param {Transaction} tx Transaction object
*/
registerRewardMoveCall(params: RegisterRewardParams, tx: Transaction): void;
/**
* @description Create a stake position
* @param {CreateStakePositionParams} params Parameters for creating a stake position
* @param {Transaction} tx Transaction object
*/
createStakePositonMoveCall(params: CreateStakePositionParams, tx: Transaction): TransactionObjectArgument;
/**
* @description Stake a coin
* @param {StakeParams} params Parameters for staking a coin
* @param {Transaction} tx Transaction object
*/
stakeMoveCall(params: StakeParams, tx: Transaction): void;
/**
* @description Create a stake position and stake a coin
* @param {CreateStakePositionAndStakeParams} params Parameters for creating a stake position and staking a coin
* @param {Transaction} tx Transaction object
*/
createStakePositionAndStakeMoveCall(params: CreateStakePositionAndStakeParams, tx: Transaction): TransactionObjectArgument;
/**
* @description Unstake a coin
* @param {UnStakeParams} params Parameters for unstaking a coin
* @param {Transaction} tx Transaction object
*/
unstakeMoveCall(params: UnStakeParams, tx: Transaction): TransactionObjectArgument;
/**
* @description Claim reward
* @param {ClaimRewardParams} params Parameters for claiming a reward
* @param {Transaction} tx Transaction object
*/
claimRewardMoveCall(params: ClaimRewardParams, tx: Transaction): TransactionObjectArgument;
/**
* @description Close a stake position
* @param {CloseStakePositionParams} params Parameters for closing a stake position
* @param {Transaction} tx Transaction object
*/
closeStakePositionMoveCall(params: CloseStakePositionParams, tx: Transaction): void;
calculatePendingRewardMoveCall(params: PreCalculatePendingRewardParams, tx: Transaction): void;
}