UNPKG

client-aftermath-ts-sdk

Version:
129 lines 5.06 kB
import { TransactionArgument, Transaction } from "@mysten/sui/transactions"; import { AftermathApi } from "../../../general/providers/aftermathApi"; import { StakeEvent, StakingPosition, ApiStakeStakedSuiBody, ApiUnstakeBody, ApiStakeBody, ApiUpdateValidatorFeeBody, UnstakeEvent } from "../stakingTypes"; import { AnyObjectType, Balance, CoinType, ObjectId, StakingAddresses, SuiAddress } from "../../../types"; import { MoveErrors, MoveErrorsInterface } from "../../../general/types/moveErrorsInterface"; export declare class StakingApi implements MoveErrorsInterface { private readonly Provider; private static readonly constants; readonly addresses: StakingAddresses; readonly eventTypes: { staked: AnyObjectType; unstakeRequested: AnyObjectType; unstaked: AnyObjectType; epochWasChanged: AnyObjectType; }; readonly coinTypes: { afSui: CoinType; }; readonly objectTypes: { unverifiedValidatorOperationCap: AnyObjectType; }; readonly moveErrors: MoveErrors; constructor(Provider: AftermathApi); /** * Adds move call to tx for liquid staking of SUI for afSUI. * * @returns `Coin<AFSUI>` if `withTransfer` is `undefined` or `false` */ stakeTx: (inputs: { tx: Transaction; suiCoin: ObjectId | TransactionArgument; validatorAddress: SuiAddress; withTransfer?: boolean; }) => import("@mysten/sui/transactions").TransactionResult; /** * Adds move call to tx for liquid unstaking of afSUI for SUI that will be * processed at start of next epoch (end of current epoch). * * @returns () */ unstakeTx: (inputs: { tx: Transaction; afSuiCoin: ObjectId | TransactionArgument; }) => import("@mysten/sui/transactions").TransactionResult; /** * Adds move call to tx for liquid unstaking of afSUI for SUI that will be * processed immedietly. * * @returns `Coin<SUI>` if `withTransfer` is `undefined` or `false` */ atomicUnstakeTx: (inputs: { tx: Transaction; afSuiCoin: ObjectId | TransactionArgument; withTransfer?: boolean; }) => import("@mysten/sui/transactions").TransactionResult; /** * Adds move call to tx for liquid staking of currently staked (non-liquid) * SUI objects for afSUI. * * @returns `Coin<AFSUI>` if `withTransfer` is `undefined` or `false` */ requestStakeStakedSuiVecTx: (inputs: { tx: Transaction; stakedSuiIds: ObjectId[]; validatorAddress: SuiAddress; withTransfer?: boolean; }) => import("@mysten/sui/transactions").TransactionResult; epochWasChangedTx: (inputs: { tx: Transaction; }) => import("@mysten/sui/transactions").TransactionResult; afSuiToSuiExchangeRateTx: (inputs: { tx: Transaction; }) => import("@mysten/sui/transactions").TransactionResult; suiToAfSuiExchangeRateTx: (inputs: { tx: Transaction; }) => import("@mysten/sui/transactions").TransactionResult; totalSuiAmountTx: (inputs: { tx: Transaction; }) => import("@mysten/sui/transactions").TransactionResult; afSuiToSuiTx: (inputs: { tx: Transaction; afSuiAmount: Balance; }) => import("@mysten/sui/transactions").TransactionResult; suiToAfSuiTx: (inputs: { tx: Transaction; suiAmount: Balance; }) => import("@mysten/sui/transactions").TransactionResult; updateValidatorFeeTx: (inputs: { tx: Transaction; validatorOperationCapId: ObjectId; newFee: bigint; }) => import("@mysten/sui/transactions").TransactionResult; /** * Builds complete PTB for liquid staking of SUI for afSUI. * * @returns Transaction Block ready for execution */ fetchBuildStakeTx: (inputs: ApiStakeBody) => Promise<Transaction>; /** * Builds complete PTB for liquid unstaking of afSUI for SUI. * * @returns Transaction Block ready for execution */ fetchBuildUnstakeTx: (inputs: ApiUnstakeBody) => Promise<Transaction>; /** * Builds complete PTB for liquid staking of currently staked (non-liquid) * SUI objects for afSUI. * * @returns Transaction Block ready for execution */ fetchBuildStakeStakedSuiTx: (inputs: ApiStakeStakedSuiBody) => Promise<Transaction>; buildUpdateValidatorFeeTx: (inputs: ApiUpdateValidatorFeeBody) => Promise<Transaction>; buildEpochWasChangedTx: (inputs: { walletAddress: string; } & Omit<{ tx: Transaction; }, "tx">) => Transaction; private stakedEventType; private unstakeRequestedEventType; private unstakedEventType; private epochWasChangedEventType; static updateStakingPositionsFromEvent: (inputs: { stakingPositions: StakingPosition[]; event: StakeEvent | UnstakeEvent; }) => StakingPosition[]; private static assertValidExternalFee; private static updateUnstakePositionsFromEvent; } //# sourceMappingURL=stakingApi.d.ts.map