UNPKG

blub-sdk

Version:

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

113 lines (94 loc) 2.27 kB
// Copyright (c) Blub Labs, Inc. // SPDX-License-Identifier: Apache-2.0 import type { TransactionObjectArgument } from "@mysten/sui/transactions" // ======== Config Module ======== export interface StartStakingParams { adminCap?: string; protocolConfig?: string; } export interface StopStakingParams { adminCap?: string; protocolConfig?: string; } export interface UpdatePackageVersionParams { version: bigint; adminCap?: string; protocolConfig?: string; } export interface CheckIsAllowStakingParams { protocolConfig?: string; } // ======== Staking Module ======== export interface CalculatePendingRewardParams { position: string; rewardCoinType: string; protocolConfig?: string; rewardManager?: string; } export interface CalculateAllPendingRewardsParams { position: string; protocolConfig?: string; rewardManager?: string; } export interface RegisterRewardParams { rewardCoinType: string; emissionRate: bigint; startTime: bigint; endTime: bigint; adminCap?: string; protocolConfig?: string; rewardManager?: string; } export interface CreateStakePositionParams { protocolConfig?: string; rewardManager?: string; } export interface CreateStakePositionAndStakeParams { coin: TransactionObjectArgument; protocolConfig?: string; vault?: string; rewardManager?: string; } export interface StakeParams { position: string; coin: TransactionObjectArgument; protocolConfig?: string; vault?: string; rewardManager?: string; } export interface UnStakeParams { position: string; amount: bigint; protocolConfig?: string; vault?: string; rewardManager?: string; } export interface ClaimRewardParams { position: string; coinType: string; protocolConfig?: string; vault?: string; rewardManager?: string; } export interface CloseStakePositionParams { position: string; protocolConfig?: string; rewardManager?: string; } export interface PreCalculatePendingRewardParams { position: string; coinType: string; protocolConfig?: string; rewardManager?: string; } // ======== Vault Module ======== export interface DepositRewardCoinParams { rewardCoin: TransactionObjectArgument; vault?: string; } export interface WithdrawRewardCoinParams { amount: bigint; coinType: string; vault?: string; adminCap?: string; }