/* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ /* Generated types for 0x3, original address 0x3 */ import { TypeDescriptor, ANY_TYPE } from "@typemove/move"; import { MoveCoder, TypedEventInstance } from "@typemove/sui"; import { defaultMoveCoder } from "@sentio/sdk/sui"; import { ZERO_ADDRESS, TypedDevInspectResults, getMoveCoder, } from "@typemove/sui"; import { Transaction, TransactionArgument, TransactionObjectArgument, } from "@mysten/sui/transactions"; import { SuiClient } from "@mysten/sui/client"; import { transactionArgumentOrObject, transactionArgumentOrVec, transactionArgumentOrPure, transactionArgumentOrPureU8, transactionArgumentOrPureU16, transactionArgumentOrPureU32, transactionArgumentOrPureU64, transactionArgumentOrPureU128, transactionArgumentOrPureU256, transactionArgumentOrPureBool, transactionArgumentOrPureString, transactionArgumentOrPureAddress, } from "@typemove/sui"; import { CallFilter, MoveFetchConfig, EventFilter } from "@sentio/sdk/move"; import { HandlerOptions } from "@sentio/sdk"; import { SuiBindOptions, SuiBaseProcessor, SuiNetwork, TypedFunctionPayload, SuiContext, } from "@sentio/sdk/sui"; import * as _0x1 from "./0x1.js"; import * as _0x2 from "./0x2.js"; export class genesis extends SuiBaseProcessor { constructor(options: SuiBindOptions) { super("genesis", options); } static DEFAULT_OPTIONS: SuiBindOptions = { address: "0x3", network: SuiNetwork.MAIN_NET, }; static bind(options: Partial = {}): genesis { return new genesis({ ...genesis.DEFAULT_OPTIONS, ...options }); } onEventGenesisChainParameters( func: ( event: genesis.GenesisChainParametersInstance, ctx: SuiContext, ) => void, handlerOptions?: HandlerOptions< MoveFetchConfig, genesis.GenesisChainParametersInstance >, eventFilter?: Omit, ): genesis { this.onMoveEvent( func, { ...(eventFilter ?? {}), type: "genesis::GenesisChainParameters" }, handlerOptions, ); return this; } onEventGenesisValidatorMetadata( func: ( event: genesis.GenesisValidatorMetadataInstance, ctx: SuiContext, ) => void, handlerOptions?: HandlerOptions< MoveFetchConfig, genesis.GenesisValidatorMetadataInstance >, eventFilter?: Omit, ): genesis { this.onMoveEvent( func, { ...(eventFilter ?? {}), type: "genesis::GenesisValidatorMetadata" }, handlerOptions, ); return this; } } export namespace genesis { export interface GenesisChainParameters { protocol_version: bigint; chain_start_timestamp_ms: bigint; epoch_duration_ms: bigint; stake_subsidy_start_epoch: bigint; stake_subsidy_initial_distribution_amount: bigint; stake_subsidy_period_length: bigint; stake_subsidy_decrease_rate: number; max_validator_count: bigint; min_validator_joining_stake: bigint; validator_low_stake_threshold: bigint; validator_very_low_stake_threshold: bigint; validator_low_stake_grace_period: bigint; } export namespace GenesisChainParameters { export const TYPE_QNAME = "0x3::genesis::GenesisChainParameters"; const TYPE = new TypeDescriptor( GenesisChainParameters.TYPE_QNAME, ); export function type(): TypeDescriptor { return TYPE.apply(); } } export type GenesisChainParametersInstance = TypedEventInstance & { data_decoded: GenesisChainParameters; type_arguments: []; }; export interface GenesisValidatorMetadata { name: number[]; description: number[]; image_url: number[]; project_url: number[]; sui_address: string; gas_price: bigint; commission_rate: bigint; protocol_public_key: number[]; proof_of_possession: number[]; network_public_key: number[]; worker_public_key: number[]; network_address: number[]; p2p_address: number[]; primary_address: number[]; worker_address: number[]; } export namespace GenesisValidatorMetadata { export const TYPE_QNAME = "0x3::genesis::GenesisValidatorMetadata"; const TYPE = new TypeDescriptor( GenesisValidatorMetadata.TYPE_QNAME, ); export function type(): TypeDescriptor { return TYPE.apply(); } } export type GenesisValidatorMetadataInstance = TypedEventInstance & { data_decoded: GenesisValidatorMetadata; type_arguments: []; }; export interface TokenAllocation { recipient_address: string; amount_mist: bigint; staked_with_validator: _0x1.option.Option; } export namespace TokenAllocation { export const TYPE_QNAME = "0x3::genesis::TokenAllocation"; const TYPE = new TypeDescriptor( TokenAllocation.TYPE_QNAME, ); export function type(): TypeDescriptor { return TYPE.apply(); } } export interface TokenDistributionSchedule { stake_subsidy_fund_mist: bigint; allocations: genesis.TokenAllocation[]; } export namespace TokenDistributionSchedule { export const TYPE_QNAME = "0x3::genesis::TokenDistributionSchedule"; const TYPE = new TypeDescriptor( TokenDistributionSchedule.TYPE_QNAME, ); export function type(): TypeDescriptor { return TYPE.apply(); } } export namespace builder {} export namespace view {} } export namespace stake_subsidy { export interface StakeSubsidy { balance: _0x2.balance.Balance<_0x2.sui.SUI>; distribution_counter: bigint; current_distribution_amount: bigint; stake_subsidy_period_length: bigint; stake_subsidy_decrease_rate: number; extra_fields: _0x2.bag.Bag; } export namespace StakeSubsidy { export const TYPE_QNAME = "0x3::stake_subsidy::StakeSubsidy"; const TYPE = new TypeDescriptor(StakeSubsidy.TYPE_QNAME); export function type(): TypeDescriptor { return TYPE.apply(); } } export namespace builder { export function advanceEpoch( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::stake_subsidy::advance_epoch", arguments: _args, }); } export function create( tx: Transaction, args: [ _0x2.balance.Balance<_0x2.sui.SUI> | TransactionArgument, bigint | TransactionArgument, bigint | TransactionArgument, number | TransactionArgument, ], ): TransactionArgument & [ TransactionArgument, TransactionArgument, TransactionArgument, TransactionArgument, ] { const _args: any[] = []; _args.push(transactionArgumentOrPure(args[0], tx)); _args.push(transactionArgumentOrPureU64(args[1], tx)); _args.push(transactionArgumentOrPureU64(args[2], tx)); _args.push(transactionArgumentOrPureU16(args[3], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::stake_subsidy::create", arguments: _args, }); } export function currentEpochSubsidyAmount( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::stake_subsidy::current_epoch_subsidy_amount", arguments: _args, }); } export function getDistributionCounter( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::stake_subsidy::get_distribution_counter", arguments: _args, }); } } export namespace view { export async function advanceEpoch( client: SuiClient, args: [string], ): Promise]>> { const tx = new Transaction(); builder.advanceEpoch(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult< [_0x2.balance.Balance<_0x2.sui.SUI>] >(inspectRes); } export async function create( client: SuiClient, args: [_0x2.balance.Balance<_0x2.sui.SUI>, bigint, bigint, number], ): Promise> { const tx = new Transaction(); builder.create(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult< [stake_subsidy.StakeSubsidy] >(inspectRes); } export async function currentEpochSubsidyAmount( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.currentEpochSubsidyAmount(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[bigint]>( inspectRes, ); } export async function getDistributionCounter( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.getDistributionCounter(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[bigint]>( inspectRes, ); } } } export class staking_pool extends SuiBaseProcessor { constructor(options: SuiBindOptions) { super("staking_pool", options); } static DEFAULT_OPTIONS: SuiBindOptions = { address: "0x3", network: SuiNetwork.MAIN_NET, }; static bind(options: Partial = {}): staking_pool { return new staking_pool({ ...staking_pool.DEFAULT_OPTIONS, ...options }); } onEntryJoinStakedSui( func: (call: staking_pool.JoinStakedSuiPayload, ctx: SuiContext) => void, filter?: CallFilter, handlerOptions?: HandlerOptions< MoveFetchConfig, staking_pool.JoinStakedSuiPayload >, ): staking_pool { this.onEntryFunctionCall( func, { ...filter, function: "staking_pool::join_staked_sui", }, handlerOptions, ); return this; } onEntrySplitStakedSui( func: (call: staking_pool.SplitStakedSuiPayload, ctx: SuiContext) => void, filter?: CallFilter, handlerOptions?: HandlerOptions< MoveFetchConfig, staking_pool.SplitStakedSuiPayload >, ): staking_pool { this.onEntryFunctionCall( func, { ...filter, function: "staking_pool::split_staked_sui", }, handlerOptions, ); return this; } onEventFungibleStakedSuiDataKey( func: ( event: staking_pool.FungibleStakedSuiDataKeyInstance, ctx: SuiContext, ) => void, handlerOptions?: HandlerOptions< MoveFetchConfig, staking_pool.FungibleStakedSuiDataKeyInstance >, eventFilter?: Omit, ): staking_pool { this.onMoveEvent( func, { ...(eventFilter ?? {}), type: "staking_pool::FungibleStakedSuiDataKey", }, handlerOptions, ); return this; } onEventPoolTokenExchangeRate( func: ( event: staking_pool.PoolTokenExchangeRateInstance, ctx: SuiContext, ) => void, handlerOptions?: HandlerOptions< MoveFetchConfig, staking_pool.PoolTokenExchangeRateInstance >, eventFilter?: Omit, ): staking_pool { this.onMoveEvent( func, { ...(eventFilter ?? {}), type: "staking_pool::PoolTokenExchangeRate" }, handlerOptions, ); return this; } onEventUnderflowSuiBalance( func: ( event: staking_pool.UnderflowSuiBalanceInstance, ctx: SuiContext, ) => void, handlerOptions?: HandlerOptions< MoveFetchConfig, staking_pool.UnderflowSuiBalanceInstance >, eventFilter?: Omit, ): staking_pool { this.onMoveEvent( func, { ...(eventFilter ?? {}), type: "staking_pool::UnderflowSuiBalance" }, handlerOptions, ); return this; } } export namespace staking_pool { export interface FungibleStakedSui { id: _0x2.object$.UID; pool_id: _0x2.object$.ID; value: bigint; } export namespace FungibleStakedSui { export const TYPE_QNAME = "0x3::staking_pool::FungibleStakedSui"; const TYPE = new TypeDescriptor( FungibleStakedSui.TYPE_QNAME, ); export function type(): TypeDescriptor { return TYPE.apply(); } } export interface FungibleStakedSuiData { id: _0x2.object$.UID; total_supply: bigint; principal: _0x2.balance.Balance<_0x2.sui.SUI>; } export namespace FungibleStakedSuiData { export const TYPE_QNAME = "0x3::staking_pool::FungibleStakedSuiData"; const TYPE = new TypeDescriptor( FungibleStakedSuiData.TYPE_QNAME, ); export function type(): TypeDescriptor { return TYPE.apply(); } } export interface FungibleStakedSuiDataKey { dummy_field: boolean; } export namespace FungibleStakedSuiDataKey { export const TYPE_QNAME = "0x3::staking_pool::FungibleStakedSuiDataKey"; const TYPE = new TypeDescriptor( FungibleStakedSuiDataKey.TYPE_QNAME, ); export function type(): TypeDescriptor { return TYPE.apply(); } } export type FungibleStakedSuiDataKeyInstance = TypedEventInstance & { data_decoded: FungibleStakedSuiDataKey; type_arguments: []; }; export interface PoolTokenExchangeRate { sui_amount: bigint; pool_token_amount: bigint; } export namespace PoolTokenExchangeRate { export const TYPE_QNAME = "0x3::staking_pool::PoolTokenExchangeRate"; const TYPE = new TypeDescriptor( PoolTokenExchangeRate.TYPE_QNAME, ); export function type(): TypeDescriptor { return TYPE.apply(); } } export type PoolTokenExchangeRateInstance = TypedEventInstance & { data_decoded: PoolTokenExchangeRate; type_arguments: []; }; export interface StakedSui { id: _0x2.object$.UID; pool_id: _0x2.object$.ID; stake_activation_epoch: bigint; principal: _0x2.balance.Balance<_0x2.sui.SUI>; } export namespace StakedSui { export const TYPE_QNAME = "0x3::staking_pool::StakedSui"; const TYPE = new TypeDescriptor(StakedSui.TYPE_QNAME); export function type(): TypeDescriptor { return TYPE.apply(); } } export interface StakingPool { id: _0x2.object$.UID; activation_epoch: _0x1.option.Option; deactivation_epoch: _0x1.option.Option; sui_balance: bigint; rewards_pool: _0x2.balance.Balance<_0x2.sui.SUI>; pool_token_balance: bigint; exchange_rates: _0x2.table.Table< bigint, staking_pool.PoolTokenExchangeRate >; pending_stake: bigint; pending_total_sui_withdraw: bigint; pending_pool_token_withdraw: bigint; extra_fields: _0x2.bag.Bag; } export namespace StakingPool { export const TYPE_QNAME = "0x3::staking_pool::StakingPool"; const TYPE = new TypeDescriptor(StakingPool.TYPE_QNAME); export function type(): TypeDescriptor { return TYPE.apply(); } } export interface UnderflowSuiBalance { dummy_field: boolean; } export namespace UnderflowSuiBalance { export const TYPE_QNAME = "0x3::staking_pool::UnderflowSuiBalance"; const TYPE = new TypeDescriptor( UnderflowSuiBalance.TYPE_QNAME, ); export function type(): TypeDescriptor { return TYPE.apply(); } } export type UnderflowSuiBalanceInstance = TypedEventInstance & { data_decoded: UnderflowSuiBalance; type_arguments: []; }; export namespace builder { export function activateStakingPool( tx: Transaction, args: [string | TransactionObjectArgument, bigint | TransactionArgument], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrPureU64(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::staking_pool::activate_staking_pool", arguments: _args, }); } export function activationEpoch( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::staking_pool::activation_epoch", arguments: _args, }); } export function calculateRewards( tx: Transaction, args: [ string | TransactionObjectArgument, string | TransactionObjectArgument, bigint | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrObject(args[1], tx)); _args.push(transactionArgumentOrPureU64(args[2], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::staking_pool::calculate_rewards", arguments: _args, }); } export function convertToFungibleStakedSui( tx: Transaction, args: [ string | TransactionObjectArgument, staking_pool.StakedSui | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrPure(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::staking_pool::convert_to_fungible_staked_sui", arguments: _args, }); } export function deactivateStakingPool( tx: Transaction, args: [string | TransactionObjectArgument, bigint | TransactionArgument], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrPureU64(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::staking_pool::deactivate_staking_pool", arguments: _args, }); } export function depositRewards( tx: Transaction, args: [ string | TransactionObjectArgument, _0x2.balance.Balance<_0x2.sui.SUI> | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrPure(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::staking_pool::deposit_rewards", arguments: _args, }); } export function exchangeRates( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::staking_pool::exchange_rates", arguments: _args, }); } export function fungibleStakedSuiPoolId( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::staking_pool::fungible_staked_sui_pool_id", arguments: _args, }); } export function fungibleStakedSuiValue( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::staking_pool::fungible_staked_sui_value", arguments: _args, }); } export function isEqualStakingMetadata( tx: Transaction, args: [ string | TransactionObjectArgument, string | TransactionObjectArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrObject(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::staking_pool::is_equal_staking_metadata", arguments: _args, }); } export function isInactive( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::staking_pool::is_inactive", arguments: _args, }); } export function isPreactive( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::staking_pool::is_preactive", arguments: _args, }); } export function joinFungibleStakedSui( tx: Transaction, args: [ string | TransactionObjectArgument, staking_pool.FungibleStakedSui | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrPure(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::staking_pool::join_fungible_staked_sui", arguments: _args, }); } export function joinStakedSui( tx: Transaction, args: [ string | TransactionObjectArgument, staking_pool.StakedSui | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrPure(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::staking_pool::join_staked_sui", arguments: _args, }); } export function new$(tx: Transaction, args: []): TransactionArgument & [] { const _args: any[] = []; // @ts-ignore return tx.moveCall({ target: "0x3::staking_pool::new", arguments: _args, }); } export function pendingStakeAmount( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::staking_pool::pending_stake_amount", arguments: _args, }); } export function pendingStakeWithdrawAmount( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::staking_pool::pending_stake_withdraw_amount", arguments: _args, }); } export function poolId( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::staking_pool::pool_id", arguments: _args, }); } export function poolTokenAmount( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::staking_pool::pool_token_amount", arguments: _args, }); } export function poolTokenExchangeRateAtEpoch( tx: Transaction, args: [string | TransactionObjectArgument, bigint | TransactionArgument], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrPureU64(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::staking_pool::pool_token_exchange_rate_at_epoch", arguments: _args, }); } export function processPendingStake( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::staking_pool::process_pending_stake", arguments: _args, }); } export function processPendingStakesAndWithdraws( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::staking_pool::process_pending_stakes_and_withdraws", arguments: _args, }); } export function redeemFungibleStakedSui( tx: Transaction, args: [ string | TransactionObjectArgument, staking_pool.FungibleStakedSui | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrPure(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::staking_pool::redeem_fungible_staked_sui", arguments: _args, }); } export function requestAddStake( tx: Transaction, args: [ string | TransactionObjectArgument, _0x2.balance.Balance<_0x2.sui.SUI> | TransactionArgument, bigint | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrPure(args[1], tx)); _args.push(transactionArgumentOrPureU64(args[2], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::staking_pool::request_add_stake", arguments: _args, }); } export function requestWithdrawStake( tx: Transaction, args: [ string | TransactionObjectArgument, staking_pool.StakedSui | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrPure(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::staking_pool::request_withdraw_stake", arguments: _args, }); } export function split( tx: Transaction, args: [string | TransactionObjectArgument, bigint | TransactionArgument], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrPureU64(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::staking_pool::split", arguments: _args, }); } export function splitFungibleStakedSui( tx: Transaction, args: [string | TransactionObjectArgument, bigint | TransactionArgument], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrPureU64(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::staking_pool::split_fungible_staked_sui", arguments: _args, }); } export function splitStakedSui( tx: Transaction, args: [string | TransactionObjectArgument, bigint | TransactionArgument], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrPureU64(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::staking_pool::split_staked_sui", arguments: _args, }); } export function stakeActivationEpoch( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::staking_pool::stake_activation_epoch", arguments: _args, }); } export function stakedSuiAmount( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::staking_pool::staked_sui_amount", arguments: _args, }); } export function suiAmount( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::staking_pool::sui_amount", arguments: _args, }); } export function suiBalance( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::staking_pool::sui_balance", arguments: _args, }); } export function withdrawFromPrincipal( tx: Transaction, args: [ string | TransactionObjectArgument, staking_pool.StakedSui | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrPure(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::staking_pool::withdraw_from_principal", arguments: _args, }); } } export namespace view { export async function activateStakingPool( client: SuiClient, args: [string, bigint], ): Promise> { const tx = new Transaction(); builder.activateStakingPool(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function activationEpoch( client: SuiClient, args: [string], ): Promise]>> { const tx = new Transaction(); builder.activationEpoch(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult< [_0x1.option.Option] >(inspectRes); } export async function calculateRewards( client: SuiClient, args: [string, string, bigint], ): Promise> { const tx = new Transaction(); builder.calculateRewards(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[bigint]>( inspectRes, ); } export async function convertToFungibleStakedSui( client: SuiClient, args: [string, staking_pool.StakedSui], ): Promise> { const tx = new Transaction(); builder.convertToFungibleStakedSui(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult< [staking_pool.FungibleStakedSui] >(inspectRes); } export async function deactivateStakingPool( client: SuiClient, args: [string, bigint], ): Promise> { const tx = new Transaction(); builder.deactivateStakingPool(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function depositRewards( client: SuiClient, args: [string, _0x2.balance.Balance<_0x2.sui.SUI>], ): Promise> { const tx = new Transaction(); builder.depositRewards(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function exchangeRates( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.exchangeRates(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[string]>( inspectRes, ); } export async function fungibleStakedSuiPoolId( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.fungibleStakedSuiPoolId(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult< [_0x2.object$.ID] >(inspectRes); } export async function fungibleStakedSuiValue( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.fungibleStakedSuiValue(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[bigint]>( inspectRes, ); } export async function isEqualStakingMetadata( client: SuiClient, args: [string, string], ): Promise> { const tx = new Transaction(); builder.isEqualStakingMetadata(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[boolean]>( inspectRes, ); } export async function isInactive( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.isInactive(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[boolean]>( inspectRes, ); } export async function isPreactive( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.isPreactive(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[boolean]>( inspectRes, ); } export async function joinFungibleStakedSui( client: SuiClient, args: [string, staking_pool.FungibleStakedSui], ): Promise> { const tx = new Transaction(); builder.joinFungibleStakedSui(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function joinStakedSui( client: SuiClient, args: [string, staking_pool.StakedSui], ): Promise> { const tx = new Transaction(); builder.joinStakedSui(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function new$( client: SuiClient, args: [], ): Promise> { const tx = new Transaction(); builder.new$(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult< [staking_pool.StakingPool] >(inspectRes); } export async function pendingStakeAmount( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.pendingStakeAmount(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[bigint]>( inspectRes, ); } export async function pendingStakeWithdrawAmount( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.pendingStakeWithdrawAmount(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[bigint]>( inspectRes, ); } export async function poolId( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.poolId(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult< [_0x2.object$.ID] >(inspectRes); } export async function poolTokenAmount( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.poolTokenAmount(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[bigint]>( inspectRes, ); } export async function poolTokenExchangeRateAtEpoch( client: SuiClient, args: [string, bigint], ): Promise> { const tx = new Transaction(); builder.poolTokenExchangeRateAtEpoch(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult< [staking_pool.PoolTokenExchangeRate] >(inspectRes); } export async function processPendingStake( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.processPendingStake(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function processPendingStakesAndWithdraws( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.processPendingStakesAndWithdraws(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function redeemFungibleStakedSui( client: SuiClient, args: [string, staking_pool.FungibleStakedSui], ): Promise]>> { const tx = new Transaction(); builder.redeemFungibleStakedSui(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult< [_0x2.balance.Balance<_0x2.sui.SUI>] >(inspectRes); } export async function requestAddStake( client: SuiClient, args: [string, _0x2.balance.Balance<_0x2.sui.SUI>, bigint], ): Promise> { const tx = new Transaction(); builder.requestAddStake(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult< [staking_pool.StakedSui] >(inspectRes); } export async function requestWithdrawStake( client: SuiClient, args: [string, staking_pool.StakedSui], ): Promise]>> { const tx = new Transaction(); builder.requestWithdrawStake(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult< [_0x2.balance.Balance<_0x2.sui.SUI>] >(inspectRes); } export async function split( client: SuiClient, args: [string, bigint], ): Promise> { const tx = new Transaction(); builder.split(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult< [staking_pool.StakedSui] >(inspectRes); } export async function splitFungibleStakedSui( client: SuiClient, args: [string, bigint], ): Promise> { const tx = new Transaction(); builder.splitFungibleStakedSui(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult< [staking_pool.FungibleStakedSui] >(inspectRes); } export async function splitStakedSui( client: SuiClient, args: [string, bigint], ): Promise> { const tx = new Transaction(); builder.splitStakedSui(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function stakeActivationEpoch( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.stakeActivationEpoch(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[bigint]>( inspectRes, ); } export async function stakedSuiAmount( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.stakedSuiAmount(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[bigint]>( inspectRes, ); } export async function suiAmount( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.suiAmount(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[bigint]>( inspectRes, ); } export async function suiBalance( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.suiBalance(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[bigint]>( inspectRes, ); } export async function withdrawFromPrincipal( client: SuiClient, args: [string, staking_pool.StakedSui], ): Promise< TypedDevInspectResults<[bigint, _0x2.balance.Balance<_0x2.sui.SUI>]> > { const tx = new Transaction(); builder.withdrawFromPrincipal(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult< [bigint, _0x2.balance.Balance<_0x2.sui.SUI>] >(inspectRes); } } export interface JoinStakedSuiPayload extends TypedFunctionPayload<[string, staking_pool.StakedSui]> { arguments_decoded: [string, staking_pool.StakedSui]; type_arguments: []; } export interface SplitStakedSuiPayload extends TypedFunctionPayload<[string, bigint, string]> { arguments_decoded: [string, bigint, string]; type_arguments: []; } } export namespace storage_fund { export interface StorageFund { total_object_storage_rebates: _0x2.balance.Balance<_0x2.sui.SUI>; non_refundable_balance: _0x2.balance.Balance<_0x2.sui.SUI>; } export namespace StorageFund { export const TYPE_QNAME = "0x3::storage_fund::StorageFund"; const TYPE = new TypeDescriptor(StorageFund.TYPE_QNAME); export function type(): TypeDescriptor { return TYPE.apply(); } } export namespace builder { export function advanceEpoch( tx: Transaction, args: [ string | TransactionObjectArgument, _0x2.balance.Balance<_0x2.sui.SUI> | TransactionArgument, _0x2.balance.Balance<_0x2.sui.SUI> | TransactionArgument, _0x2.balance.Balance<_0x2.sui.SUI> | TransactionArgument, bigint | TransactionArgument, bigint | TransactionArgument, ], ): TransactionArgument & [ TransactionArgument, TransactionArgument, TransactionArgument, TransactionArgument, TransactionArgument, TransactionArgument, ] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrPure(args[1], tx)); _args.push(transactionArgumentOrPure(args[2], tx)); _args.push(transactionArgumentOrPure(args[3], tx)); _args.push(transactionArgumentOrPureU64(args[4], tx)); _args.push(transactionArgumentOrPureU64(args[5], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::storage_fund::advance_epoch", arguments: _args, }); } export function new$( tx: Transaction, args: [_0x2.balance.Balance<_0x2.sui.SUI> | TransactionArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrPure(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::storage_fund::new", arguments: _args, }); } export function totalBalance( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::storage_fund::total_balance", arguments: _args, }); } export function totalObjectStorageRebates( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::storage_fund::total_object_storage_rebates", arguments: _args, }); } } export namespace view { export async function advanceEpoch( client: SuiClient, args: [ string, _0x2.balance.Balance<_0x2.sui.SUI>, _0x2.balance.Balance<_0x2.sui.SUI>, _0x2.balance.Balance<_0x2.sui.SUI>, bigint, bigint, ], ): Promise]>> { const tx = new Transaction(); builder.advanceEpoch(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult< [_0x2.balance.Balance<_0x2.sui.SUI>] >(inspectRes); } export async function new$( client: SuiClient, args: [_0x2.balance.Balance<_0x2.sui.SUI>], ): Promise> { const tx = new Transaction(); builder.new$(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult< [storage_fund.StorageFund] >(inspectRes); } export async function totalBalance( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.totalBalance(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[bigint]>( inspectRes, ); } export async function totalObjectStorageRebates( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.totalObjectStorageRebates(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[bigint]>( inspectRes, ); } } } export class sui_system extends SuiBaseProcessor { constructor(options: SuiBindOptions) { super("sui_system", options); } static DEFAULT_OPTIONS: SuiBindOptions = { address: "0x3", network: SuiNetwork.MAIN_NET, }; static bind(options: Partial = {}): sui_system { return new sui_system({ ...sui_system.DEFAULT_OPTIONS, ...options }); } onEntryReportValidator( func: (call: sui_system.ReportValidatorPayload, ctx: SuiContext) => void, filter?: CallFilter, handlerOptions?: HandlerOptions< MoveFetchConfig, sui_system.ReportValidatorPayload >, ): sui_system { this.onEntryFunctionCall( func, { ...filter, function: "sui_system::report_validator", }, handlerOptions, ); return this; } onEntryRequestAddStake( func: (call: sui_system.RequestAddStakePayload, ctx: SuiContext) => void, filter?: CallFilter, handlerOptions?: HandlerOptions< MoveFetchConfig, sui_system.RequestAddStakePayload >, ): sui_system { this.onEntryFunctionCall( func, { ...filter, function: "sui_system::request_add_stake", }, handlerOptions, ); return this; } onEntryRequestAddStakeMulCoin( func: ( call: sui_system.RequestAddStakeMulCoinPayload, ctx: SuiContext, ) => void, filter?: CallFilter, handlerOptions?: HandlerOptions< MoveFetchConfig, sui_system.RequestAddStakeMulCoinPayload >, ): sui_system { this.onEntryFunctionCall( func, { ...filter, function: "sui_system::request_add_stake_mul_coin", }, handlerOptions, ); return this; } onEntryRequestAddValidator( func: ( call: sui_system.RequestAddValidatorPayload, ctx: SuiContext, ) => void, filter?: CallFilter, handlerOptions?: HandlerOptions< MoveFetchConfig, sui_system.RequestAddValidatorPayload >, ): sui_system { this.onEntryFunctionCall( func, { ...filter, function: "sui_system::request_add_validator", }, handlerOptions, ); return this; } onEntryRequestAddValidatorCandidate( func: ( call: sui_system.RequestAddValidatorCandidatePayload, ctx: SuiContext, ) => void, filter?: CallFilter, handlerOptions?: HandlerOptions< MoveFetchConfig, sui_system.RequestAddValidatorCandidatePayload >, ): sui_system { this.onEntryFunctionCall( func, { ...filter, function: "sui_system::request_add_validator_candidate", }, handlerOptions, ); return this; } onEntryRequestRemoveValidator( func: ( call: sui_system.RequestRemoveValidatorPayload, ctx: SuiContext, ) => void, filter?: CallFilter, handlerOptions?: HandlerOptions< MoveFetchConfig, sui_system.RequestRemoveValidatorPayload >, ): sui_system { this.onEntryFunctionCall( func, { ...filter, function: "sui_system::request_remove_validator", }, handlerOptions, ); return this; } onEntryRequestRemoveValidatorCandidate( func: ( call: sui_system.RequestRemoveValidatorCandidatePayload, ctx: SuiContext, ) => void, filter?: CallFilter, handlerOptions?: HandlerOptions< MoveFetchConfig, sui_system.RequestRemoveValidatorCandidatePayload >, ): sui_system { this.onEntryFunctionCall( func, { ...filter, function: "sui_system::request_remove_validator_candidate", }, handlerOptions, ); return this; } onEntryRequestSetCommissionRate( func: ( call: sui_system.RequestSetCommissionRatePayload, ctx: SuiContext, ) => void, filter?: CallFilter, handlerOptions?: HandlerOptions< MoveFetchConfig, sui_system.RequestSetCommissionRatePayload >, ): sui_system { this.onEntryFunctionCall( func, { ...filter, function: "sui_system::request_set_commission_rate", }, handlerOptions, ); return this; } onEntryRequestSetGasPrice( func: (call: sui_system.RequestSetGasPricePayload, ctx: SuiContext) => void, filter?: CallFilter, handlerOptions?: HandlerOptions< MoveFetchConfig, sui_system.RequestSetGasPricePayload >, ): sui_system { this.onEntryFunctionCall( func, { ...filter, function: "sui_system::request_set_gas_price", }, handlerOptions, ); return this; } onEntryRequestWithdrawStake( func: ( call: sui_system.RequestWithdrawStakePayload, ctx: SuiContext, ) => void, filter?: CallFilter, handlerOptions?: HandlerOptions< MoveFetchConfig, sui_system.RequestWithdrawStakePayload >, ): sui_system { this.onEntryFunctionCall( func, { ...filter, function: "sui_system::request_withdraw_stake", }, handlerOptions, ); return this; } onEntryRotateOperationCap( func: (call: sui_system.RotateOperationCapPayload, ctx: SuiContext) => void, filter?: CallFilter, handlerOptions?: HandlerOptions< MoveFetchConfig, sui_system.RotateOperationCapPayload >, ): sui_system { this.onEntryFunctionCall( func, { ...filter, function: "sui_system::rotate_operation_cap", }, handlerOptions, ); return this; } onEntrySetCandidateValidatorCommissionRate( func: ( call: sui_system.SetCandidateValidatorCommissionRatePayload, ctx: SuiContext, ) => void, filter?: CallFilter, handlerOptions?: HandlerOptions< MoveFetchConfig, sui_system.SetCandidateValidatorCommissionRatePayload >, ): sui_system { this.onEntryFunctionCall( func, { ...filter, function: "sui_system::set_candidate_validator_commission_rate", }, handlerOptions, ); return this; } onEntrySetCandidateValidatorGasPrice( func: ( call: sui_system.SetCandidateValidatorGasPricePayload, ctx: SuiContext, ) => void, filter?: CallFilter, handlerOptions?: HandlerOptions< MoveFetchConfig, sui_system.SetCandidateValidatorGasPricePayload >, ): sui_system { this.onEntryFunctionCall( func, { ...filter, function: "sui_system::set_candidate_validator_gas_price", }, handlerOptions, ); return this; } onEntryUndoReportValidator( func: ( call: sui_system.UndoReportValidatorPayload, ctx: SuiContext, ) => void, filter?: CallFilter, handlerOptions?: HandlerOptions< MoveFetchConfig, sui_system.UndoReportValidatorPayload >, ): sui_system { this.onEntryFunctionCall( func, { ...filter, function: "sui_system::undo_report_validator", }, handlerOptions, ); return this; } onEntryUpdateCandidateValidatorNetworkAddress( func: ( call: sui_system.UpdateCandidateValidatorNetworkAddressPayload, ctx: SuiContext, ) => void, filter?: CallFilter, handlerOptions?: HandlerOptions< MoveFetchConfig, sui_system.UpdateCandidateValidatorNetworkAddressPayload >, ): sui_system { this.onEntryFunctionCall( func, { ...filter, function: "sui_system::update_candidate_validator_network_address", }, handlerOptions, ); return this; } onEntryUpdateCandidateValidatorNetworkPubkey( func: ( call: sui_system.UpdateCandidateValidatorNetworkPubkeyPayload, ctx: SuiContext, ) => void, filter?: CallFilter, handlerOptions?: HandlerOptions< MoveFetchConfig, sui_system.UpdateCandidateValidatorNetworkPubkeyPayload >, ): sui_system { this.onEntryFunctionCall( func, { ...filter, function: "sui_system::update_candidate_validator_network_pubkey", }, handlerOptions, ); return this; } onEntryUpdateCandidateValidatorP2pAddress( func: ( call: sui_system.UpdateCandidateValidatorP2pAddressPayload, ctx: SuiContext, ) => void, filter?: CallFilter, handlerOptions?: HandlerOptions< MoveFetchConfig, sui_system.UpdateCandidateValidatorP2pAddressPayload >, ): sui_system { this.onEntryFunctionCall( func, { ...filter, function: "sui_system::update_candidate_validator_p2p_address", }, handlerOptions, ); return this; } onEntryUpdateCandidateValidatorPrimaryAddress( func: ( call: sui_system.UpdateCandidateValidatorPrimaryAddressPayload, ctx: SuiContext, ) => void, filter?: CallFilter, handlerOptions?: HandlerOptions< MoveFetchConfig, sui_system.UpdateCandidateValidatorPrimaryAddressPayload >, ): sui_system { this.onEntryFunctionCall( func, { ...filter, function: "sui_system::update_candidate_validator_primary_address", }, handlerOptions, ); return this; } onEntryUpdateCandidateValidatorProtocolPubkey( func: ( call: sui_system.UpdateCandidateValidatorProtocolPubkeyPayload, ctx: SuiContext, ) => void, filter?: CallFilter, handlerOptions?: HandlerOptions< MoveFetchConfig, sui_system.UpdateCandidateValidatorProtocolPubkeyPayload >, ): sui_system { this.onEntryFunctionCall( func, { ...filter, function: "sui_system::update_candidate_validator_protocol_pubkey", }, handlerOptions, ); return this; } onEntryUpdateCandidateValidatorWorkerAddress( func: ( call: sui_system.UpdateCandidateValidatorWorkerAddressPayload, ctx: SuiContext, ) => void, filter?: CallFilter, handlerOptions?: HandlerOptions< MoveFetchConfig, sui_system.UpdateCandidateValidatorWorkerAddressPayload >, ): sui_system { this.onEntryFunctionCall( func, { ...filter, function: "sui_system::update_candidate_validator_worker_address", }, handlerOptions, ); return this; } onEntryUpdateCandidateValidatorWorkerPubkey( func: ( call: sui_system.UpdateCandidateValidatorWorkerPubkeyPayload, ctx: SuiContext, ) => void, filter?: CallFilter, handlerOptions?: HandlerOptions< MoveFetchConfig, sui_system.UpdateCandidateValidatorWorkerPubkeyPayload >, ): sui_system { this.onEntryFunctionCall( func, { ...filter, function: "sui_system::update_candidate_validator_worker_pubkey", }, handlerOptions, ); return this; } onEntryUpdateValidatorDescription( func: ( call: sui_system.UpdateValidatorDescriptionPayload, ctx: SuiContext, ) => void, filter?: CallFilter, handlerOptions?: HandlerOptions< MoveFetchConfig, sui_system.UpdateValidatorDescriptionPayload >, ): sui_system { this.onEntryFunctionCall( func, { ...filter, function: "sui_system::update_validator_description", }, handlerOptions, ); return this; } onEntryUpdateValidatorImageUrl( func: ( call: sui_system.UpdateValidatorImageUrlPayload, ctx: SuiContext, ) => void, filter?: CallFilter, handlerOptions?: HandlerOptions< MoveFetchConfig, sui_system.UpdateValidatorImageUrlPayload >, ): sui_system { this.onEntryFunctionCall( func, { ...filter, function: "sui_system::update_validator_image_url", }, handlerOptions, ); return this; } onEntryUpdateValidatorName( func: ( call: sui_system.UpdateValidatorNamePayload, ctx: SuiContext, ) => void, filter?: CallFilter, handlerOptions?: HandlerOptions< MoveFetchConfig, sui_system.UpdateValidatorNamePayload >, ): sui_system { this.onEntryFunctionCall( func, { ...filter, function: "sui_system::update_validator_name", }, handlerOptions, ); return this; } onEntryUpdateValidatorNextEpochNetworkAddress( func: ( call: sui_system.UpdateValidatorNextEpochNetworkAddressPayload, ctx: SuiContext, ) => void, filter?: CallFilter, handlerOptions?: HandlerOptions< MoveFetchConfig, sui_system.UpdateValidatorNextEpochNetworkAddressPayload >, ): sui_system { this.onEntryFunctionCall( func, { ...filter, function: "sui_system::update_validator_next_epoch_network_address", }, handlerOptions, ); return this; } onEntryUpdateValidatorNextEpochNetworkPubkey( func: ( call: sui_system.UpdateValidatorNextEpochNetworkPubkeyPayload, ctx: SuiContext, ) => void, filter?: CallFilter, handlerOptions?: HandlerOptions< MoveFetchConfig, sui_system.UpdateValidatorNextEpochNetworkPubkeyPayload >, ): sui_system { this.onEntryFunctionCall( func, { ...filter, function: "sui_system::update_validator_next_epoch_network_pubkey", }, handlerOptions, ); return this; } onEntryUpdateValidatorNextEpochP2pAddress( func: ( call: sui_system.UpdateValidatorNextEpochP2pAddressPayload, ctx: SuiContext, ) => void, filter?: CallFilter, handlerOptions?: HandlerOptions< MoveFetchConfig, sui_system.UpdateValidatorNextEpochP2pAddressPayload >, ): sui_system { this.onEntryFunctionCall( func, { ...filter, function: "sui_system::update_validator_next_epoch_p2p_address", }, handlerOptions, ); return this; } onEntryUpdateValidatorNextEpochPrimaryAddress( func: ( call: sui_system.UpdateValidatorNextEpochPrimaryAddressPayload, ctx: SuiContext, ) => void, filter?: CallFilter, handlerOptions?: HandlerOptions< MoveFetchConfig, sui_system.UpdateValidatorNextEpochPrimaryAddressPayload >, ): sui_system { this.onEntryFunctionCall( func, { ...filter, function: "sui_system::update_validator_next_epoch_primary_address", }, handlerOptions, ); return this; } onEntryUpdateValidatorNextEpochProtocolPubkey( func: ( call: sui_system.UpdateValidatorNextEpochProtocolPubkeyPayload, ctx: SuiContext, ) => void, filter?: CallFilter, handlerOptions?: HandlerOptions< MoveFetchConfig, sui_system.UpdateValidatorNextEpochProtocolPubkeyPayload >, ): sui_system { this.onEntryFunctionCall( func, { ...filter, function: "sui_system::update_validator_next_epoch_protocol_pubkey", }, handlerOptions, ); return this; } onEntryUpdateValidatorNextEpochWorkerAddress( func: ( call: sui_system.UpdateValidatorNextEpochWorkerAddressPayload, ctx: SuiContext, ) => void, filter?: CallFilter, handlerOptions?: HandlerOptions< MoveFetchConfig, sui_system.UpdateValidatorNextEpochWorkerAddressPayload >, ): sui_system { this.onEntryFunctionCall( func, { ...filter, function: "sui_system::update_validator_next_epoch_worker_address", }, handlerOptions, ); return this; } onEntryUpdateValidatorNextEpochWorkerPubkey( func: ( call: sui_system.UpdateValidatorNextEpochWorkerPubkeyPayload, ctx: SuiContext, ) => void, filter?: CallFilter, handlerOptions?: HandlerOptions< MoveFetchConfig, sui_system.UpdateValidatorNextEpochWorkerPubkeyPayload >, ): sui_system { this.onEntryFunctionCall( func, { ...filter, function: "sui_system::update_validator_next_epoch_worker_pubkey", }, handlerOptions, ); return this; } onEntryUpdateValidatorProjectUrl( func: ( call: sui_system.UpdateValidatorProjectUrlPayload, ctx: SuiContext, ) => void, filter?: CallFilter, handlerOptions?: HandlerOptions< MoveFetchConfig, sui_system.UpdateValidatorProjectUrlPayload >, ): sui_system { this.onEntryFunctionCall( func, { ...filter, function: "sui_system::update_validator_project_url", }, handlerOptions, ); return this; } } export namespace sui_system { export interface SuiSystemState { id: _0x2.object$.UID; version: bigint; } export namespace SuiSystemState { export const TYPE_QNAME = "0x3::sui_system::SuiSystemState"; const TYPE = new TypeDescriptor(SuiSystemState.TYPE_QNAME); export function type(): TypeDescriptor { return TYPE.apply(); } } export namespace builder { export function activeValidatorAddresses( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system::active_validator_addresses", arguments: _args, }); } export function activeValidatorAddressesRef( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system::active_validator_addresses_ref", arguments: _args, }); } export function activeValidatorVotingPowers( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system::active_validator_voting_powers", arguments: _args, }); } export function calculateRewards( tx: Transaction, args: [ string | TransactionObjectArgument, string | TransactionObjectArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrObject(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system::calculate_rewards", arguments: _args, }); } export function convertToFungibleStakedSui( tx: Transaction, args: [ string | TransactionObjectArgument, staking_pool.StakedSui | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrPure(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system::convert_to_fungible_staked_sui", arguments: _args, }); } export function create( tx: Transaction, args: [ _0x2.object$.UID | TransactionArgument, (string | TransactionObjectArgument)[] | TransactionArgument, _0x2.balance.Balance<_0x2.sui.SUI> | TransactionArgument, bigint | TransactionArgument, bigint | TransactionArgument, sui_system_state_inner.SystemParameters | TransactionArgument, stake_subsidy.StakeSubsidy | TransactionArgument, ], ): TransactionArgument & [ TransactionArgument, TransactionArgument, TransactionArgument, TransactionArgument, TransactionArgument, TransactionArgument, TransactionArgument, ] { const _args: any[] = []; _args.push(transactionArgumentOrPure(args[0], tx)); _args.push(transactionArgumentOrVec(args[1], tx)); _args.push(transactionArgumentOrPure(args[2], tx)); _args.push(transactionArgumentOrPureU64(args[3], tx)); _args.push(transactionArgumentOrPureU64(args[4], tx)); _args.push(transactionArgumentOrPure(args[5], tx)); _args.push(transactionArgumentOrPure(args[6], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system::create", arguments: _args, }); } export function poolExchangeRates( tx: Transaction, args: [ string | TransactionObjectArgument, string | TransactionObjectArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrObject(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system::pool_exchange_rates", arguments: _args, }); } export function redeemFungibleStakedSui( tx: Transaction, args: [ string | TransactionObjectArgument, staking_pool.FungibleStakedSui | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrPure(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system::redeem_fungible_staked_sui", arguments: _args, }); } export function reportValidator( tx: Transaction, args: [ string | TransactionObjectArgument, string | TransactionObjectArgument, string | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrObject(args[1], tx)); _args.push(transactionArgumentOrPureAddress(args[2], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system::report_validator", arguments: _args, }); } export function requestAddStake( tx: Transaction, args: [ string | TransactionObjectArgument, _0x2.coin.Coin<_0x2.sui.SUI> | TransactionArgument, string | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrPure(args[1], tx)); _args.push(transactionArgumentOrPureAddress(args[2], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system::request_add_stake", arguments: _args, }); } export function requestAddStakeMulCoin( tx: Transaction, args: [ string | TransactionObjectArgument, (string | TransactionObjectArgument)[] | TransactionArgument, _0x1.option.Option | TransactionArgument, string | TransactionArgument, ], ): TransactionArgument & [ TransactionArgument, TransactionArgument, TransactionArgument, TransactionArgument, ] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrVec(args[1], tx)); _args.push(transactionArgumentOrPure(args[2], tx)); _args.push(transactionArgumentOrPureAddress(args[3], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system::request_add_stake_mul_coin", arguments: _args, }); } export function requestAddStakeNonEntry( tx: Transaction, args: [ string | TransactionObjectArgument, _0x2.coin.Coin<_0x2.sui.SUI> | TransactionArgument, string | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrPure(args[1], tx)); _args.push(transactionArgumentOrPureAddress(args[2], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system::request_add_stake_non_entry", arguments: _args, }); } export function requestAddValidator( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system::request_add_validator", arguments: _args, }); } export function requestAddValidatorCandidate( tx: Transaction, args: [ string | TransactionObjectArgument, (string | TransactionObjectArgument)[] | TransactionArgument, (string | TransactionObjectArgument)[] | TransactionArgument, (string | TransactionObjectArgument)[] | TransactionArgument, (string | TransactionObjectArgument)[] | TransactionArgument, (string | TransactionObjectArgument)[] | TransactionArgument, (string | TransactionObjectArgument)[] | TransactionArgument, (string | TransactionObjectArgument)[] | TransactionArgument, (string | TransactionObjectArgument)[] | TransactionArgument, (string | TransactionObjectArgument)[] | TransactionArgument, (string | TransactionObjectArgument)[] | TransactionArgument, (string | TransactionObjectArgument)[] | TransactionArgument, (string | TransactionObjectArgument)[] | TransactionArgument, bigint | TransactionArgument, bigint | TransactionArgument, ], ): TransactionArgument & [ TransactionArgument, TransactionArgument, TransactionArgument, TransactionArgument, TransactionArgument, TransactionArgument, TransactionArgument, TransactionArgument, TransactionArgument, TransactionArgument, TransactionArgument, TransactionArgument, TransactionArgument, TransactionArgument, TransactionArgument, ] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrVec(args[1], tx)); _args.push(transactionArgumentOrVec(args[2], tx)); _args.push(transactionArgumentOrVec(args[3], tx)); _args.push(transactionArgumentOrVec(args[4], tx)); _args.push(transactionArgumentOrVec(args[5], tx)); _args.push(transactionArgumentOrVec(args[6], tx)); _args.push(transactionArgumentOrVec(args[7], tx)); _args.push(transactionArgumentOrVec(args[8], tx)); _args.push(transactionArgumentOrVec(args[9], tx)); _args.push(transactionArgumentOrVec(args[10], tx)); _args.push(transactionArgumentOrVec(args[11], tx)); _args.push(transactionArgumentOrVec(args[12], tx)); _args.push(transactionArgumentOrPureU64(args[13], tx)); _args.push(transactionArgumentOrPureU64(args[14], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system::request_add_validator_candidate", arguments: _args, }); } export function requestRemoveValidator( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system::request_remove_validator", arguments: _args, }); } export function requestRemoveValidatorCandidate( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system::request_remove_validator_candidate", arguments: _args, }); } export function requestSetCommissionRate( tx: Transaction, args: [string | TransactionObjectArgument, bigint | TransactionArgument], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrPureU64(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system::request_set_commission_rate", arguments: _args, }); } export function requestSetGasPrice( tx: Transaction, args: [ string | TransactionObjectArgument, string | TransactionObjectArgument, bigint | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrObject(args[1], tx)); _args.push(transactionArgumentOrPureU64(args[2], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system::request_set_gas_price", arguments: _args, }); } export function requestWithdrawStake( tx: Transaction, args: [ string | TransactionObjectArgument, staking_pool.StakedSui | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrPure(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system::request_withdraw_stake", arguments: _args, }); } export function requestWithdrawStakeNonEntry( tx: Transaction, args: [ string | TransactionObjectArgument, staking_pool.StakedSui | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrPure(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system::request_withdraw_stake_non_entry", arguments: _args, }); } export function rotateOperationCap( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system::rotate_operation_cap", arguments: _args, }); } export function setCandidateValidatorCommissionRate( tx: Transaction, args: [string | TransactionObjectArgument, bigint | TransactionArgument], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrPureU64(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system::set_candidate_validator_commission_rate", arguments: _args, }); } export function setCandidateValidatorGasPrice( tx: Transaction, args: [ string | TransactionObjectArgument, string | TransactionObjectArgument, bigint | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrObject(args[1], tx)); _args.push(transactionArgumentOrPureU64(args[2], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system::set_candidate_validator_gas_price", arguments: _args, }); } export function undoReportValidator( tx: Transaction, args: [ string | TransactionObjectArgument, string | TransactionObjectArgument, string | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrObject(args[1], tx)); _args.push(transactionArgumentOrPureAddress(args[2], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system::undo_report_validator", arguments: _args, }); } export function updateCandidateValidatorNetworkAddress( tx: Transaction, args: [ string | TransactionObjectArgument, (string | TransactionObjectArgument)[] | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrVec(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system::update_candidate_validator_network_address", arguments: _args, }); } export function updateCandidateValidatorNetworkPubkey( tx: Transaction, args: [ string | TransactionObjectArgument, (string | TransactionObjectArgument)[] | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrVec(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system::update_candidate_validator_network_pubkey", arguments: _args, }); } export function updateCandidateValidatorP2pAddress( tx: Transaction, args: [ string | TransactionObjectArgument, (string | TransactionObjectArgument)[] | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrVec(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system::update_candidate_validator_p2p_address", arguments: _args, }); } export function updateCandidateValidatorPrimaryAddress( tx: Transaction, args: [ string | TransactionObjectArgument, (string | TransactionObjectArgument)[] | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrVec(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system::update_candidate_validator_primary_address", arguments: _args, }); } export function updateCandidateValidatorProtocolPubkey( tx: Transaction, args: [ string | TransactionObjectArgument, (string | TransactionObjectArgument)[] | TransactionArgument, (string | TransactionObjectArgument)[] | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrVec(args[1], tx)); _args.push(transactionArgumentOrVec(args[2], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system::update_candidate_validator_protocol_pubkey", arguments: _args, }); } export function updateCandidateValidatorWorkerAddress( tx: Transaction, args: [ string | TransactionObjectArgument, (string | TransactionObjectArgument)[] | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrVec(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system::update_candidate_validator_worker_address", arguments: _args, }); } export function updateCandidateValidatorWorkerPubkey( tx: Transaction, args: [ string | TransactionObjectArgument, (string | TransactionObjectArgument)[] | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrVec(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system::update_candidate_validator_worker_pubkey", arguments: _args, }); } export function updateValidatorDescription( tx: Transaction, args: [ string | TransactionObjectArgument, (string | TransactionObjectArgument)[] | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrVec(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system::update_validator_description", arguments: _args, }); } export function updateValidatorImageUrl( tx: Transaction, args: [ string | TransactionObjectArgument, (string | TransactionObjectArgument)[] | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrVec(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system::update_validator_image_url", arguments: _args, }); } export function updateValidatorName( tx: Transaction, args: [ string | TransactionObjectArgument, (string | TransactionObjectArgument)[] | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrVec(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system::update_validator_name", arguments: _args, }); } export function updateValidatorNextEpochNetworkAddress( tx: Transaction, args: [ string | TransactionObjectArgument, (string | TransactionObjectArgument)[] | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrVec(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system::update_validator_next_epoch_network_address", arguments: _args, }); } export function updateValidatorNextEpochNetworkPubkey( tx: Transaction, args: [ string | TransactionObjectArgument, (string | TransactionObjectArgument)[] | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrVec(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system::update_validator_next_epoch_network_pubkey", arguments: _args, }); } export function updateValidatorNextEpochP2pAddress( tx: Transaction, args: [ string | TransactionObjectArgument, (string | TransactionObjectArgument)[] | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrVec(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system::update_validator_next_epoch_p2p_address", arguments: _args, }); } export function updateValidatorNextEpochPrimaryAddress( tx: Transaction, args: [ string | TransactionObjectArgument, (string | TransactionObjectArgument)[] | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrVec(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system::update_validator_next_epoch_primary_address", arguments: _args, }); } export function updateValidatorNextEpochProtocolPubkey( tx: Transaction, args: [ string | TransactionObjectArgument, (string | TransactionObjectArgument)[] | TransactionArgument, (string | TransactionObjectArgument)[] | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrVec(args[1], tx)); _args.push(transactionArgumentOrVec(args[2], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system::update_validator_next_epoch_protocol_pubkey", arguments: _args, }); } export function updateValidatorNextEpochWorkerAddress( tx: Transaction, args: [ string | TransactionObjectArgument, (string | TransactionObjectArgument)[] | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrVec(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system::update_validator_next_epoch_worker_address", arguments: _args, }); } export function updateValidatorNextEpochWorkerPubkey( tx: Transaction, args: [ string | TransactionObjectArgument, (string | TransactionObjectArgument)[] | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrVec(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system::update_validator_next_epoch_worker_pubkey", arguments: _args, }); } export function updateValidatorProjectUrl( tx: Transaction, args: [ string | TransactionObjectArgument, (string | TransactionObjectArgument)[] | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrVec(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system::update_validator_project_url", arguments: _args, }); } export function validatorAddressByPoolId( tx: Transaction, args: [ string | TransactionObjectArgument, string | TransactionObjectArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrObject(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system::validator_address_by_pool_id", arguments: _args, }); } } export namespace view { export async function activeValidatorAddresses( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.activeValidatorAddresses(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[string[]]>( inspectRes, ); } export async function activeValidatorAddressesRef( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.activeValidatorAddressesRef(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[string[]]>( inspectRes, ); } export async function activeValidatorVotingPowers( client: SuiClient, args: [string], ): Promise]>> { const tx = new Transaction(); builder.activeValidatorVotingPowers(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult< [_0x2.vec_map.VecMap] >(inspectRes); } export async function calculateRewards( client: SuiClient, args: [string, string], ): Promise> { const tx = new Transaction(); builder.calculateRewards(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[bigint]>( inspectRes, ); } export async function convertToFungibleStakedSui( client: SuiClient, args: [string, staking_pool.StakedSui], ): Promise> { const tx = new Transaction(); builder.convertToFungibleStakedSui(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult< [staking_pool.FungibleStakedSui] >(inspectRes); } export async function create( client: SuiClient, args: [ _0x2.object$.UID, string[], _0x2.balance.Balance<_0x2.sui.SUI>, bigint, bigint, sui_system_state_inner.SystemParameters, stake_subsidy.StakeSubsidy, ], ): Promise> { const tx = new Transaction(); builder.create(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function poolExchangeRates( client: SuiClient, args: [string, string], ): Promise> { const tx = new Transaction(); builder.poolExchangeRates(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[string]>( inspectRes, ); } export async function redeemFungibleStakedSui( client: SuiClient, args: [string, staking_pool.FungibleStakedSui], ): Promise]>> { const tx = new Transaction(); builder.redeemFungibleStakedSui(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult< [_0x2.balance.Balance<_0x2.sui.SUI>] >(inspectRes); } export async function reportValidator( client: SuiClient, args: [string, string, string], ): Promise> { const tx = new Transaction(); builder.reportValidator(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function requestAddStake( client: SuiClient, args: [string, _0x2.coin.Coin<_0x2.sui.SUI>, string], ): Promise> { const tx = new Transaction(); builder.requestAddStake(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function requestAddStakeMulCoin( client: SuiClient, args: [string, string[], _0x1.option.Option, string], ): Promise> { const tx = new Transaction(); builder.requestAddStakeMulCoin(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function requestAddStakeNonEntry( client: SuiClient, args: [string, _0x2.coin.Coin<_0x2.sui.SUI>, string], ): Promise> { const tx = new Transaction(); builder.requestAddStakeNonEntry(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult< [staking_pool.StakedSui] >(inspectRes); } export async function requestAddValidator( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.requestAddValidator(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function requestAddValidatorCandidate( client: SuiClient, args: [ string, string[], string[], string[], string[], string[], string[], string[], string[], string[], string[], string[], string[], bigint, bigint, ], ): Promise> { const tx = new Transaction(); builder.requestAddValidatorCandidate(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function requestRemoveValidator( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.requestRemoveValidator(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function requestRemoveValidatorCandidate( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.requestRemoveValidatorCandidate(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function requestSetCommissionRate( client: SuiClient, args: [string, bigint], ): Promise> { const tx = new Transaction(); builder.requestSetCommissionRate(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function requestSetGasPrice( client: SuiClient, args: [string, string, bigint], ): Promise> { const tx = new Transaction(); builder.requestSetGasPrice(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function requestWithdrawStake( client: SuiClient, args: [string, staking_pool.StakedSui], ): Promise> { const tx = new Transaction(); builder.requestWithdrawStake(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function requestWithdrawStakeNonEntry( client: SuiClient, args: [string, staking_pool.StakedSui], ): Promise]>> { const tx = new Transaction(); builder.requestWithdrawStakeNonEntry(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult< [_0x2.balance.Balance<_0x2.sui.SUI>] >(inspectRes); } export async function rotateOperationCap( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.rotateOperationCap(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function setCandidateValidatorCommissionRate( client: SuiClient, args: [string, bigint], ): Promise> { const tx = new Transaction(); builder.setCandidateValidatorCommissionRate(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function setCandidateValidatorGasPrice( client: SuiClient, args: [string, string, bigint], ): Promise> { const tx = new Transaction(); builder.setCandidateValidatorGasPrice(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function undoReportValidator( client: SuiClient, args: [string, string, string], ): Promise> { const tx = new Transaction(); builder.undoReportValidator(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function updateCandidateValidatorNetworkAddress( client: SuiClient, args: [string, string[]], ): Promise> { const tx = new Transaction(); builder.updateCandidateValidatorNetworkAddress(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function updateCandidateValidatorNetworkPubkey( client: SuiClient, args: [string, string[]], ): Promise> { const tx = new Transaction(); builder.updateCandidateValidatorNetworkPubkey(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function updateCandidateValidatorP2pAddress( client: SuiClient, args: [string, string[]], ): Promise> { const tx = new Transaction(); builder.updateCandidateValidatorP2pAddress(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function updateCandidateValidatorPrimaryAddress( client: SuiClient, args: [string, string[]], ): Promise> { const tx = new Transaction(); builder.updateCandidateValidatorPrimaryAddress(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function updateCandidateValidatorProtocolPubkey( client: SuiClient, args: [string, string[], string[]], ): Promise> { const tx = new Transaction(); builder.updateCandidateValidatorProtocolPubkey(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function updateCandidateValidatorWorkerAddress( client: SuiClient, args: [string, string[]], ): Promise> { const tx = new Transaction(); builder.updateCandidateValidatorWorkerAddress(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function updateCandidateValidatorWorkerPubkey( client: SuiClient, args: [string, string[]], ): Promise> { const tx = new Transaction(); builder.updateCandidateValidatorWorkerPubkey(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function updateValidatorDescription( client: SuiClient, args: [string, string[]], ): Promise> { const tx = new Transaction(); builder.updateValidatorDescription(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function updateValidatorImageUrl( client: SuiClient, args: [string, string[]], ): Promise> { const tx = new Transaction(); builder.updateValidatorImageUrl(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function updateValidatorName( client: SuiClient, args: [string, string[]], ): Promise> { const tx = new Transaction(); builder.updateValidatorName(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function updateValidatorNextEpochNetworkAddress( client: SuiClient, args: [string, string[]], ): Promise> { const tx = new Transaction(); builder.updateValidatorNextEpochNetworkAddress(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function updateValidatorNextEpochNetworkPubkey( client: SuiClient, args: [string, string[]], ): Promise> { const tx = new Transaction(); builder.updateValidatorNextEpochNetworkPubkey(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function updateValidatorNextEpochP2pAddress( client: SuiClient, args: [string, string[]], ): Promise> { const tx = new Transaction(); builder.updateValidatorNextEpochP2pAddress(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function updateValidatorNextEpochPrimaryAddress( client: SuiClient, args: [string, string[]], ): Promise> { const tx = new Transaction(); builder.updateValidatorNextEpochPrimaryAddress(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function updateValidatorNextEpochProtocolPubkey( client: SuiClient, args: [string, string[], string[]], ): Promise> { const tx = new Transaction(); builder.updateValidatorNextEpochProtocolPubkey(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function updateValidatorNextEpochWorkerAddress( client: SuiClient, args: [string, string[]], ): Promise> { const tx = new Transaction(); builder.updateValidatorNextEpochWorkerAddress(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function updateValidatorNextEpochWorkerPubkey( client: SuiClient, args: [string, string[]], ): Promise> { const tx = new Transaction(); builder.updateValidatorNextEpochWorkerPubkey(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function updateValidatorProjectUrl( client: SuiClient, args: [string, string[]], ): Promise> { const tx = new Transaction(); builder.updateValidatorProjectUrl(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function validatorAddressByPoolId( client: SuiClient, args: [string, string], ): Promise> { const tx = new Transaction(); builder.validatorAddressByPoolId(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[string]>( inspectRes, ); } } export interface ReportValidatorPayload extends TypedFunctionPayload<[string, string, string]> { arguments_decoded: [string, string, string]; type_arguments: []; } export interface RequestAddStakePayload extends TypedFunctionPayload< [string, _0x2.coin.Coin<_0x2.sui.SUI>, string, string] > { arguments_decoded: [string, _0x2.coin.Coin<_0x2.sui.SUI>, string, string]; type_arguments: []; } export interface RequestAddStakeMulCoinPayload extends TypedFunctionPayload< [ string, _0x2.coin.Coin<_0x2.sui.SUI>[], _0x1.option.Option, string, string, ] > { arguments_decoded: [ string, _0x2.coin.Coin<_0x2.sui.SUI>[], _0x1.option.Option, string, string, ]; type_arguments: []; } export interface RequestAddValidatorPayload extends TypedFunctionPayload<[string, string]> { arguments_decoded: [string, string]; type_arguments: []; } export interface RequestAddValidatorCandidatePayload extends TypedFunctionPayload< [ string, number[], number[], number[], number[], number[], number[], number[], number[], number[], number[], number[], number[], bigint, bigint, string, ] > { arguments_decoded: [ string, number[], number[], number[], number[], number[], number[], number[], number[], number[], number[], number[], number[], bigint, bigint, string, ]; type_arguments: []; } export interface RequestRemoveValidatorPayload extends TypedFunctionPayload<[string, string]> { arguments_decoded: [string, string]; type_arguments: []; } export interface RequestRemoveValidatorCandidatePayload extends TypedFunctionPayload<[string, string]> { arguments_decoded: [string, string]; type_arguments: []; } export interface RequestSetCommissionRatePayload extends TypedFunctionPayload<[string, bigint, string]> { arguments_decoded: [string, bigint, string]; type_arguments: []; } export interface RequestSetGasPricePayload extends TypedFunctionPayload<[string, string, bigint]> { arguments_decoded: [string, string, bigint]; type_arguments: []; } export interface RequestWithdrawStakePayload extends TypedFunctionPayload<[string, staking_pool.StakedSui, string]> { arguments_decoded: [string, staking_pool.StakedSui, string]; type_arguments: []; } export interface RotateOperationCapPayload extends TypedFunctionPayload<[string, string]> { arguments_decoded: [string, string]; type_arguments: []; } export interface SetCandidateValidatorCommissionRatePayload extends TypedFunctionPayload<[string, bigint, string]> { arguments_decoded: [string, bigint, string]; type_arguments: []; } export interface SetCandidateValidatorGasPricePayload extends TypedFunctionPayload<[string, string, bigint]> { arguments_decoded: [string, string, bigint]; type_arguments: []; } export interface UndoReportValidatorPayload extends TypedFunctionPayload<[string, string, string]> { arguments_decoded: [string, string, string]; type_arguments: []; } export interface UpdateCandidateValidatorNetworkAddressPayload extends TypedFunctionPayload<[string, number[], string]> { arguments_decoded: [string, number[], string]; type_arguments: []; } export interface UpdateCandidateValidatorNetworkPubkeyPayload extends TypedFunctionPayload<[string, number[], string]> { arguments_decoded: [string, number[], string]; type_arguments: []; } export interface UpdateCandidateValidatorP2pAddressPayload extends TypedFunctionPayload<[string, number[], string]> { arguments_decoded: [string, number[], string]; type_arguments: []; } export interface UpdateCandidateValidatorPrimaryAddressPayload extends TypedFunctionPayload<[string, number[], string]> { arguments_decoded: [string, number[], string]; type_arguments: []; } export interface UpdateCandidateValidatorProtocolPubkeyPayload extends TypedFunctionPayload<[string, number[], number[], string]> { arguments_decoded: [string, number[], number[], string]; type_arguments: []; } export interface UpdateCandidateValidatorWorkerAddressPayload extends TypedFunctionPayload<[string, number[], string]> { arguments_decoded: [string, number[], string]; type_arguments: []; } export interface UpdateCandidateValidatorWorkerPubkeyPayload extends TypedFunctionPayload<[string, number[], string]> { arguments_decoded: [string, number[], string]; type_arguments: []; } export interface UpdateValidatorDescriptionPayload extends TypedFunctionPayload<[string, number[], string]> { arguments_decoded: [string, number[], string]; type_arguments: []; } export interface UpdateValidatorImageUrlPayload extends TypedFunctionPayload<[string, number[], string]> { arguments_decoded: [string, number[], string]; type_arguments: []; } export interface UpdateValidatorNamePayload extends TypedFunctionPayload<[string, number[], string]> { arguments_decoded: [string, number[], string]; type_arguments: []; } export interface UpdateValidatorNextEpochNetworkAddressPayload extends TypedFunctionPayload<[string, number[], string]> { arguments_decoded: [string, number[], string]; type_arguments: []; } export interface UpdateValidatorNextEpochNetworkPubkeyPayload extends TypedFunctionPayload<[string, number[], string]> { arguments_decoded: [string, number[], string]; type_arguments: []; } export interface UpdateValidatorNextEpochP2pAddressPayload extends TypedFunctionPayload<[string, number[], string]> { arguments_decoded: [string, number[], string]; type_arguments: []; } export interface UpdateValidatorNextEpochPrimaryAddressPayload extends TypedFunctionPayload<[string, number[], string]> { arguments_decoded: [string, number[], string]; type_arguments: []; } export interface UpdateValidatorNextEpochProtocolPubkeyPayload extends TypedFunctionPayload<[string, number[], number[], string]> { arguments_decoded: [string, number[], number[], string]; type_arguments: []; } export interface UpdateValidatorNextEpochWorkerAddressPayload extends TypedFunctionPayload<[string, number[], string]> { arguments_decoded: [string, number[], string]; type_arguments: []; } export interface UpdateValidatorNextEpochWorkerPubkeyPayload extends TypedFunctionPayload<[string, number[], string]> { arguments_decoded: [string, number[], string]; type_arguments: []; } export interface UpdateValidatorProjectUrlPayload extends TypedFunctionPayload<[string, number[], string]> { arguments_decoded: [string, number[], string]; type_arguments: []; } } export class sui_system_state_inner extends SuiBaseProcessor { constructor(options: SuiBindOptions) { super("sui_system_state_inner", options); } static DEFAULT_OPTIONS: SuiBindOptions = { address: "0x3", network: SuiNetwork.MAIN_NET, }; static bind(options: Partial = {}): sui_system_state_inner { return new sui_system_state_inner({ ...sui_system_state_inner.DEFAULT_OPTIONS, ...options, }); } onEventSystemEpochInfoEvent( func: ( event: sui_system_state_inner.SystemEpochInfoEventInstance, ctx: SuiContext, ) => void, handlerOptions?: HandlerOptions< MoveFetchConfig, sui_system_state_inner.SystemEpochInfoEventInstance >, eventFilter?: Omit, ): sui_system_state_inner { this.onMoveEvent( func, { ...(eventFilter ?? {}), type: "sui_system_state_inner::SystemEpochInfoEvent", }, handlerOptions, ); return this; } } export namespace sui_system_state_inner { export interface SuiSystemStateInner { epoch: bigint; protocol_version: bigint; system_state_version: bigint; validators: validator_set.ValidatorSet; storage_fund: storage_fund.StorageFund; parameters: sui_system_state_inner.SystemParameters; reference_gas_price: bigint; validator_report_records: _0x2.vec_map.VecMap< string, _0x2.vec_set.VecSet >; stake_subsidy: stake_subsidy.StakeSubsidy; safe_mode: boolean; safe_mode_storage_rewards: _0x2.balance.Balance<_0x2.sui.SUI>; safe_mode_computation_rewards: _0x2.balance.Balance<_0x2.sui.SUI>; safe_mode_storage_rebates: bigint; safe_mode_non_refundable_storage_fee: bigint; epoch_start_timestamp_ms: bigint; extra_fields: _0x2.bag.Bag; } export namespace SuiSystemStateInner { export const TYPE_QNAME = "0x3::sui_system_state_inner::SuiSystemStateInner"; const TYPE = new TypeDescriptor( SuiSystemStateInner.TYPE_QNAME, ); export function type(): TypeDescriptor { return TYPE.apply(); } } export interface SuiSystemStateInnerV2 { epoch: bigint; protocol_version: bigint; system_state_version: bigint; validators: validator_set.ValidatorSet; storage_fund: storage_fund.StorageFund; parameters: sui_system_state_inner.SystemParametersV2; reference_gas_price: bigint; validator_report_records: _0x2.vec_map.VecMap< string, _0x2.vec_set.VecSet >; stake_subsidy: stake_subsidy.StakeSubsidy; safe_mode: boolean; safe_mode_storage_rewards: _0x2.balance.Balance<_0x2.sui.SUI>; safe_mode_computation_rewards: _0x2.balance.Balance<_0x2.sui.SUI>; safe_mode_storage_rebates: bigint; safe_mode_non_refundable_storage_fee: bigint; epoch_start_timestamp_ms: bigint; extra_fields: _0x2.bag.Bag; } export namespace SuiSystemStateInnerV2 { export const TYPE_QNAME = "0x3::sui_system_state_inner::SuiSystemStateInnerV2"; const TYPE = new TypeDescriptor( SuiSystemStateInnerV2.TYPE_QNAME, ); export function type(): TypeDescriptor { return TYPE.apply(); } } export interface SystemEpochInfoEvent { epoch: bigint; protocol_version: bigint; reference_gas_price: bigint; total_stake: bigint; storage_fund_reinvestment: bigint; storage_charge: bigint; storage_rebate: bigint; storage_fund_balance: bigint; stake_subsidy_amount: bigint; total_gas_fees: bigint; total_stake_rewards_distributed: bigint; leftover_storage_fund_inflow: bigint; } export namespace SystemEpochInfoEvent { export const TYPE_QNAME = "0x3::sui_system_state_inner::SystemEpochInfoEvent"; const TYPE = new TypeDescriptor( SystemEpochInfoEvent.TYPE_QNAME, ); export function type(): TypeDescriptor { return TYPE.apply(); } } export type SystemEpochInfoEventInstance = TypedEventInstance & { data_decoded: SystemEpochInfoEvent; type_arguments: []; }; export interface SystemParameters { epoch_duration_ms: bigint; stake_subsidy_start_epoch: bigint; max_validator_count: bigint; min_validator_joining_stake: bigint; validator_low_stake_threshold: bigint; validator_very_low_stake_threshold: bigint; validator_low_stake_grace_period: bigint; extra_fields: _0x2.bag.Bag; } export namespace SystemParameters { export const TYPE_QNAME = "0x3::sui_system_state_inner::SystemParameters"; const TYPE = new TypeDescriptor( SystemParameters.TYPE_QNAME, ); export function type(): TypeDescriptor { return TYPE.apply(); } } export interface SystemParametersV2 { epoch_duration_ms: bigint; stake_subsidy_start_epoch: bigint; min_validator_count: bigint; max_validator_count: bigint; min_validator_joining_stake: bigint; validator_low_stake_threshold: bigint; validator_very_low_stake_threshold: bigint; validator_low_stake_grace_period: bigint; extra_fields: _0x2.bag.Bag; } export namespace SystemParametersV2 { export const TYPE_QNAME = "0x3::sui_system_state_inner::SystemParametersV2"; const TYPE = new TypeDescriptor( SystemParametersV2.TYPE_QNAME, ); export function type(): TypeDescriptor { return TYPE.apply(); } } export namespace builder { export function activeValidatorAddresses( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system_state_inner::active_validator_addresses", arguments: _args, }); } export function activeValidatorVotingPowers( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system_state_inner::active_validator_voting_powers", arguments: _args, }); } export function advanceEpoch( tx: Transaction, args: [ string | TransactionObjectArgument, bigint | TransactionArgument, bigint | TransactionArgument, _0x2.balance.Balance<_0x2.sui.SUI> | TransactionArgument, _0x2.balance.Balance<_0x2.sui.SUI> | TransactionArgument, bigint | TransactionArgument, bigint | TransactionArgument, bigint | TransactionArgument, bigint | TransactionArgument, bigint | TransactionArgument, ], ): TransactionArgument & [ TransactionArgument, TransactionArgument, TransactionArgument, TransactionArgument, TransactionArgument, TransactionArgument, TransactionArgument, TransactionArgument, TransactionArgument, TransactionArgument, ] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrPureU64(args[1], tx)); _args.push(transactionArgumentOrPureU64(args[2], tx)); _args.push(transactionArgumentOrPure(args[3], tx)); _args.push(transactionArgumentOrPure(args[4], tx)); _args.push(transactionArgumentOrPureU64(args[5], tx)); _args.push(transactionArgumentOrPureU64(args[6], tx)); _args.push(transactionArgumentOrPureU64(args[7], tx)); _args.push(transactionArgumentOrPureU64(args[8], tx)); _args.push(transactionArgumentOrPureU64(args[9], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system_state_inner::advance_epoch", arguments: _args, }); } export function convertToFungibleStakedSui( tx: Transaction, args: [ string | TransactionObjectArgument, staking_pool.StakedSui | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrPure(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system_state_inner::convert_to_fungible_staked_sui", arguments: _args, }); } export function create( tx: Transaction, args: [ (string | TransactionObjectArgument)[] | TransactionArgument, _0x2.balance.Balance<_0x2.sui.SUI> | TransactionArgument, bigint | TransactionArgument, bigint | TransactionArgument, sui_system_state_inner.SystemParameters | TransactionArgument, stake_subsidy.StakeSubsidy | TransactionArgument, ], ): TransactionArgument & [ TransactionArgument, TransactionArgument, TransactionArgument, TransactionArgument, TransactionArgument, TransactionArgument, ] { const _args: any[] = []; _args.push(transactionArgumentOrVec(args[0], tx)); _args.push(transactionArgumentOrPure(args[1], tx)); _args.push(transactionArgumentOrPureU64(args[2], tx)); _args.push(transactionArgumentOrPureU64(args[3], tx)); _args.push(transactionArgumentOrPure(args[4], tx)); _args.push(transactionArgumentOrPure(args[5], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system_state_inner::create", arguments: _args, }); } export function createSystemParameters( tx: Transaction, args: [ bigint | TransactionArgument, bigint | TransactionArgument, bigint | TransactionArgument, bigint | TransactionArgument, bigint | TransactionArgument, bigint | TransactionArgument, bigint | TransactionArgument, ], ): TransactionArgument & [ TransactionArgument, TransactionArgument, TransactionArgument, TransactionArgument, TransactionArgument, TransactionArgument, TransactionArgument, ] { const _args: any[] = []; _args.push(transactionArgumentOrPureU64(args[0], tx)); _args.push(transactionArgumentOrPureU64(args[1], tx)); _args.push(transactionArgumentOrPureU64(args[2], tx)); _args.push(transactionArgumentOrPureU64(args[3], tx)); _args.push(transactionArgumentOrPureU64(args[4], tx)); _args.push(transactionArgumentOrPureU64(args[5], tx)); _args.push(transactionArgumentOrPureU64(args[6], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system_state_inner::create_system_parameters", arguments: _args, }); } export function epoch( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system_state_inner::epoch", arguments: _args, }); } export function epochStartTimestampMs( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system_state_inner::epoch_start_timestamp_ms", arguments: _args, }); } export function genesisSystemStateVersion( tx: Transaction, args: [], ): TransactionArgument & [] { const _args: any[] = []; // @ts-ignore return tx.moveCall({ target: "0x3::sui_system_state_inner::genesis_system_state_version", arguments: _args, }); } export function getReportersOf( tx: Transaction, args: [string | TransactionObjectArgument, string | TransactionArgument], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrPureAddress(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system_state_inner::get_reporters_of", arguments: _args, }); } export function getStorageFundObjectRebates( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system_state_inner::get_storage_fund_object_rebates", arguments: _args, }); } export function getStorageFundTotalBalance( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system_state_inner::get_storage_fund_total_balance", arguments: _args, }); } export function poolExchangeRates( tx: Transaction, args: [ string | TransactionObjectArgument, string | TransactionObjectArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrObject(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system_state_inner::pool_exchange_rates", arguments: _args, }); } export function protocolVersion( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system_state_inner::protocol_version", arguments: _args, }); } export function redeemFungibleStakedSui( tx: Transaction, args: [ string | TransactionObjectArgument, staking_pool.FungibleStakedSui | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrPure(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system_state_inner::redeem_fungible_staked_sui", arguments: _args, }); } export function reportValidator( tx: Transaction, args: [ string | TransactionObjectArgument, string | TransactionObjectArgument, string | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrObject(args[1], tx)); _args.push(transactionArgumentOrPureAddress(args[2], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system_state_inner::report_validator", arguments: _args, }); } export function requestAddStake( tx: Transaction, args: [ string | TransactionObjectArgument, _0x2.coin.Coin<_0x2.sui.SUI> | TransactionArgument, string | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrPure(args[1], tx)); _args.push(transactionArgumentOrPureAddress(args[2], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system_state_inner::request_add_stake", arguments: _args, }); } export function requestAddStakeMulCoin( tx: Transaction, args: [ string | TransactionObjectArgument, (string | TransactionObjectArgument)[] | TransactionArgument, _0x1.option.Option | TransactionArgument, string | TransactionArgument, ], ): TransactionArgument & [ TransactionArgument, TransactionArgument, TransactionArgument, TransactionArgument, ] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrVec(args[1], tx)); _args.push(transactionArgumentOrPure(args[2], tx)); _args.push(transactionArgumentOrPureAddress(args[3], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system_state_inner::request_add_stake_mul_coin", arguments: _args, }); } export function requestAddValidator( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system_state_inner::request_add_validator", arguments: _args, }); } export function requestAddValidatorCandidate( tx: Transaction, args: [ string | TransactionObjectArgument, (string | TransactionObjectArgument)[] | TransactionArgument, (string | TransactionObjectArgument)[] | TransactionArgument, (string | TransactionObjectArgument)[] | TransactionArgument, (string | TransactionObjectArgument)[] | TransactionArgument, (string | TransactionObjectArgument)[] | TransactionArgument, (string | TransactionObjectArgument)[] | TransactionArgument, (string | TransactionObjectArgument)[] | TransactionArgument, (string | TransactionObjectArgument)[] | TransactionArgument, (string | TransactionObjectArgument)[] | TransactionArgument, (string | TransactionObjectArgument)[] | TransactionArgument, (string | TransactionObjectArgument)[] | TransactionArgument, (string | TransactionObjectArgument)[] | TransactionArgument, bigint | TransactionArgument, bigint | TransactionArgument, ], ): TransactionArgument & [ TransactionArgument, TransactionArgument, TransactionArgument, TransactionArgument, TransactionArgument, TransactionArgument, TransactionArgument, TransactionArgument, TransactionArgument, TransactionArgument, TransactionArgument, TransactionArgument, TransactionArgument, TransactionArgument, TransactionArgument, ] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrVec(args[1], tx)); _args.push(transactionArgumentOrVec(args[2], tx)); _args.push(transactionArgumentOrVec(args[3], tx)); _args.push(transactionArgumentOrVec(args[4], tx)); _args.push(transactionArgumentOrVec(args[5], tx)); _args.push(transactionArgumentOrVec(args[6], tx)); _args.push(transactionArgumentOrVec(args[7], tx)); _args.push(transactionArgumentOrVec(args[8], tx)); _args.push(transactionArgumentOrVec(args[9], tx)); _args.push(transactionArgumentOrVec(args[10], tx)); _args.push(transactionArgumentOrVec(args[11], tx)); _args.push(transactionArgumentOrVec(args[12], tx)); _args.push(transactionArgumentOrPureU64(args[13], tx)); _args.push(transactionArgumentOrPureU64(args[14], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system_state_inner::request_add_validator_candidate", arguments: _args, }); } export function requestRemoveValidator( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system_state_inner::request_remove_validator", arguments: _args, }); } export function requestRemoveValidatorCandidate( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system_state_inner::request_remove_validator_candidate", arguments: _args, }); } export function requestSetCommissionRate( tx: Transaction, args: [string | TransactionObjectArgument, bigint | TransactionArgument], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrPureU64(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system_state_inner::request_set_commission_rate", arguments: _args, }); } export function requestSetGasPrice( tx: Transaction, args: [ string | TransactionObjectArgument, string | TransactionObjectArgument, bigint | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrObject(args[1], tx)); _args.push(transactionArgumentOrPureU64(args[2], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system_state_inner::request_set_gas_price", arguments: _args, }); } export function requestWithdrawStake( tx: Transaction, args: [ string | TransactionObjectArgument, staking_pool.StakedSui | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrPure(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system_state_inner::request_withdraw_stake", arguments: _args, }); } export function rotateOperationCap( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system_state_inner::rotate_operation_cap", arguments: _args, }); } export function setCandidateValidatorCommissionRate( tx: Transaction, args: [string | TransactionObjectArgument, bigint | TransactionArgument], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrPureU64(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system_state_inner::set_candidate_validator_commission_rate", arguments: _args, }); } export function setCandidateValidatorGasPrice( tx: Transaction, args: [ string | TransactionObjectArgument, string | TransactionObjectArgument, bigint | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrObject(args[1], tx)); _args.push(transactionArgumentOrPureU64(args[2], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system_state_inner::set_candidate_validator_gas_price", arguments: _args, }); } export function storeExecutionTimeEstimates( tx: Transaction, args: [ string | TransactionObjectArgument, (string | TransactionObjectArgument)[] | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrVec(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system_state_inner::store_execution_time_estimates", arguments: _args, }); } export function systemStateVersion( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system_state_inner::system_state_version", arguments: _args, }); } export function undoReportValidator( tx: Transaction, args: [ string | TransactionObjectArgument, string | TransactionObjectArgument, string | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrObject(args[1], tx)); _args.push(transactionArgumentOrPureAddress(args[2], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system_state_inner::undo_report_validator", arguments: _args, }); } export function updateCandidateValidatorNetworkAddress( tx: Transaction, args: [ string | TransactionObjectArgument, (string | TransactionObjectArgument)[] | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrVec(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system_state_inner::update_candidate_validator_network_address", arguments: _args, }); } export function updateCandidateValidatorNetworkPubkey( tx: Transaction, args: [ string | TransactionObjectArgument, (string | TransactionObjectArgument)[] | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrVec(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system_state_inner::update_candidate_validator_network_pubkey", arguments: _args, }); } export function updateCandidateValidatorP2pAddress( tx: Transaction, args: [ string | TransactionObjectArgument, (string | TransactionObjectArgument)[] | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrVec(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system_state_inner::update_candidate_validator_p2p_address", arguments: _args, }); } export function updateCandidateValidatorPrimaryAddress( tx: Transaction, args: [ string | TransactionObjectArgument, (string | TransactionObjectArgument)[] | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrVec(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system_state_inner::update_candidate_validator_primary_address", arguments: _args, }); } export function updateCandidateValidatorProtocolPubkey( tx: Transaction, args: [ string | TransactionObjectArgument, (string | TransactionObjectArgument)[] | TransactionArgument, (string | TransactionObjectArgument)[] | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrVec(args[1], tx)); _args.push(transactionArgumentOrVec(args[2], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system_state_inner::update_candidate_validator_protocol_pubkey", arguments: _args, }); } export function updateCandidateValidatorWorkerAddress( tx: Transaction, args: [ string | TransactionObjectArgument, (string | TransactionObjectArgument)[] | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrVec(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system_state_inner::update_candidate_validator_worker_address", arguments: _args, }); } export function updateCandidateValidatorWorkerPubkey( tx: Transaction, args: [ string | TransactionObjectArgument, (string | TransactionObjectArgument)[] | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrVec(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system_state_inner::update_candidate_validator_worker_pubkey", arguments: _args, }); } export function updateValidatorDescription( tx: Transaction, args: [ string | TransactionObjectArgument, (string | TransactionObjectArgument)[] | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrVec(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system_state_inner::update_validator_description", arguments: _args, }); } export function updateValidatorImageUrl( tx: Transaction, args: [ string | TransactionObjectArgument, (string | TransactionObjectArgument)[] | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrVec(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system_state_inner::update_validator_image_url", arguments: _args, }); } export function updateValidatorName( tx: Transaction, args: [ string | TransactionObjectArgument, (string | TransactionObjectArgument)[] | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrVec(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system_state_inner::update_validator_name", arguments: _args, }); } export function updateValidatorNextEpochNetworkAddress( tx: Transaction, args: [ string | TransactionObjectArgument, (string | TransactionObjectArgument)[] | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrVec(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system_state_inner::update_validator_next_epoch_network_address", arguments: _args, }); } export function updateValidatorNextEpochNetworkPubkey( tx: Transaction, args: [ string | TransactionObjectArgument, (string | TransactionObjectArgument)[] | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrVec(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system_state_inner::update_validator_next_epoch_network_pubkey", arguments: _args, }); } export function updateValidatorNextEpochP2pAddress( tx: Transaction, args: [ string | TransactionObjectArgument, (string | TransactionObjectArgument)[] | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrVec(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system_state_inner::update_validator_next_epoch_p2p_address", arguments: _args, }); } export function updateValidatorNextEpochPrimaryAddress( tx: Transaction, args: [ string | TransactionObjectArgument, (string | TransactionObjectArgument)[] | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrVec(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system_state_inner::update_validator_next_epoch_primary_address", arguments: _args, }); } export function updateValidatorNextEpochProtocolPubkey( tx: Transaction, args: [ string | TransactionObjectArgument, (string | TransactionObjectArgument)[] | TransactionArgument, (string | TransactionObjectArgument)[] | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrVec(args[1], tx)); _args.push(transactionArgumentOrVec(args[2], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system_state_inner::update_validator_next_epoch_protocol_pubkey", arguments: _args, }); } export function updateValidatorNextEpochWorkerAddress( tx: Transaction, args: [ string | TransactionObjectArgument, (string | TransactionObjectArgument)[] | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrVec(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system_state_inner::update_validator_next_epoch_worker_address", arguments: _args, }); } export function updateValidatorNextEpochWorkerPubkey( tx: Transaction, args: [ string | TransactionObjectArgument, (string | TransactionObjectArgument)[] | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrVec(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system_state_inner::update_validator_next_epoch_worker_pubkey", arguments: _args, }); } export function updateValidatorProjectUrl( tx: Transaction, args: [ string | TransactionObjectArgument, (string | TransactionObjectArgument)[] | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrVec(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system_state_inner::update_validator_project_url", arguments: _args, }); } export function v1ToV2( tx: Transaction, args: [sui_system_state_inner.SuiSystemStateInner | TransactionArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrPure(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system_state_inner::v1_to_v2", arguments: _args, }); } export function validatorAddressByPoolId( tx: Transaction, args: [ string | TransactionObjectArgument, string | TransactionObjectArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrObject(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system_state_inner::validator_address_by_pool_id", arguments: _args, }); } export function validatorStakeAmount( tx: Transaction, args: [string | TransactionObjectArgument, string | TransactionArgument], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrPureAddress(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system_state_inner::validator_stake_amount", arguments: _args, }); } export function validatorStakingPoolId( tx: Transaction, args: [string | TransactionObjectArgument, string | TransactionArgument], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrPureAddress(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system_state_inner::validator_staking_pool_id", arguments: _args, }); } export function validatorStakingPoolMappings( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system_state_inner::validator_staking_pool_mappings", arguments: _args, }); } export function validators( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system_state_inner::validators", arguments: _args, }); } export function validatorsMut( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::sui_system_state_inner::validators_mut", arguments: _args, }); } } export namespace view { export async function activeValidatorAddresses( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.activeValidatorAddresses(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[string[]]>( inspectRes, ); } export async function activeValidatorVotingPowers( client: SuiClient, args: [string], ): Promise]>> { const tx = new Transaction(); builder.activeValidatorVotingPowers(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult< [_0x2.vec_map.VecMap] >(inspectRes); } export async function advanceEpoch( client: SuiClient, args: [ string, bigint, bigint, _0x2.balance.Balance<_0x2.sui.SUI>, _0x2.balance.Balance<_0x2.sui.SUI>, bigint, bigint, bigint, bigint, bigint, ], ): Promise]>> { const tx = new Transaction(); builder.advanceEpoch(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult< [_0x2.balance.Balance<_0x2.sui.SUI>] >(inspectRes); } export async function convertToFungibleStakedSui( client: SuiClient, args: [string, staking_pool.StakedSui], ): Promise> { const tx = new Transaction(); builder.convertToFungibleStakedSui(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult< [staking_pool.FungibleStakedSui] >(inspectRes); } export async function create( client: SuiClient, args: [ string[], _0x2.balance.Balance<_0x2.sui.SUI>, bigint, bigint, sui_system_state_inner.SystemParameters, stake_subsidy.StakeSubsidy, ], ): Promise< TypedDevInspectResults<[sui_system_state_inner.SuiSystemStateInner]> > { const tx = new Transaction(); builder.create(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult< [sui_system_state_inner.SuiSystemStateInner] >(inspectRes); } export async function createSystemParameters( client: SuiClient, args: [bigint, bigint, bigint, bigint, bigint, bigint, bigint], ): Promise< TypedDevInspectResults<[sui_system_state_inner.SystemParameters]> > { const tx = new Transaction(); builder.createSystemParameters(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult< [sui_system_state_inner.SystemParameters] >(inspectRes); } export async function epoch( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.epoch(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[bigint]>( inspectRes, ); } export async function epochStartTimestampMs( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.epochStartTimestampMs(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[bigint]>( inspectRes, ); } export async function genesisSystemStateVersion( client: SuiClient, args: [], ): Promise> { const tx = new Transaction(); builder.genesisSystemStateVersion(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[bigint]>( inspectRes, ); } export async function getReportersOf( client: SuiClient, args: [string, string], ): Promise]>> { const tx = new Transaction(); builder.getReportersOf(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult< [_0x2.vec_set.VecSet] >(inspectRes); } export async function getStorageFundObjectRebates( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.getStorageFundObjectRebates(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[bigint]>( inspectRes, ); } export async function getStorageFundTotalBalance( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.getStorageFundTotalBalance(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[bigint]>( inspectRes, ); } export async function poolExchangeRates( client: SuiClient, args: [string, string], ): Promise> { const tx = new Transaction(); builder.poolExchangeRates(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[string]>( inspectRes, ); } export async function protocolVersion( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.protocolVersion(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[bigint]>( inspectRes, ); } export async function redeemFungibleStakedSui( client: SuiClient, args: [string, staking_pool.FungibleStakedSui], ): Promise]>> { const tx = new Transaction(); builder.redeemFungibleStakedSui(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult< [_0x2.balance.Balance<_0x2.sui.SUI>] >(inspectRes); } export async function reportValidator( client: SuiClient, args: [string, string, string], ): Promise> { const tx = new Transaction(); builder.reportValidator(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function requestAddStake( client: SuiClient, args: [string, _0x2.coin.Coin<_0x2.sui.SUI>, string], ): Promise> { const tx = new Transaction(); builder.requestAddStake(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult< [staking_pool.StakedSui] >(inspectRes); } export async function requestAddStakeMulCoin( client: SuiClient, args: [string, string[], _0x1.option.Option, string], ): Promise> { const tx = new Transaction(); builder.requestAddStakeMulCoin(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult< [staking_pool.StakedSui] >(inspectRes); } export async function requestAddValidator( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.requestAddValidator(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function requestAddValidatorCandidate( client: SuiClient, args: [ string, string[], string[], string[], string[], string[], string[], string[], string[], string[], string[], string[], string[], bigint, bigint, ], ): Promise> { const tx = new Transaction(); builder.requestAddValidatorCandidate(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function requestRemoveValidator( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.requestRemoveValidator(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function requestRemoveValidatorCandidate( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.requestRemoveValidatorCandidate(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function requestSetCommissionRate( client: SuiClient, args: [string, bigint], ): Promise> { const tx = new Transaction(); builder.requestSetCommissionRate(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function requestSetGasPrice( client: SuiClient, args: [string, string, bigint], ): Promise> { const tx = new Transaction(); builder.requestSetGasPrice(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function requestWithdrawStake( client: SuiClient, args: [string, staking_pool.StakedSui], ): Promise]>> { const tx = new Transaction(); builder.requestWithdrawStake(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult< [_0x2.balance.Balance<_0x2.sui.SUI>] >(inspectRes); } export async function rotateOperationCap( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.rotateOperationCap(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function setCandidateValidatorCommissionRate( client: SuiClient, args: [string, bigint], ): Promise> { const tx = new Transaction(); builder.setCandidateValidatorCommissionRate(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function setCandidateValidatorGasPrice( client: SuiClient, args: [string, string, bigint], ): Promise> { const tx = new Transaction(); builder.setCandidateValidatorGasPrice(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function storeExecutionTimeEstimates( client: SuiClient, args: [string, string[]], ): Promise> { const tx = new Transaction(); builder.storeExecutionTimeEstimates(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function systemStateVersion( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.systemStateVersion(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[bigint]>( inspectRes, ); } export async function undoReportValidator( client: SuiClient, args: [string, string, string], ): Promise> { const tx = new Transaction(); builder.undoReportValidator(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function updateCandidateValidatorNetworkAddress( client: SuiClient, args: [string, string[]], ): Promise> { const tx = new Transaction(); builder.updateCandidateValidatorNetworkAddress(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function updateCandidateValidatorNetworkPubkey( client: SuiClient, args: [string, string[]], ): Promise> { const tx = new Transaction(); builder.updateCandidateValidatorNetworkPubkey(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function updateCandidateValidatorP2pAddress( client: SuiClient, args: [string, string[]], ): Promise> { const tx = new Transaction(); builder.updateCandidateValidatorP2pAddress(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function updateCandidateValidatorPrimaryAddress( client: SuiClient, args: [string, string[]], ): Promise> { const tx = new Transaction(); builder.updateCandidateValidatorPrimaryAddress(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function updateCandidateValidatorProtocolPubkey( client: SuiClient, args: [string, string[], string[]], ): Promise> { const tx = new Transaction(); builder.updateCandidateValidatorProtocolPubkey(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function updateCandidateValidatorWorkerAddress( client: SuiClient, args: [string, string[]], ): Promise> { const tx = new Transaction(); builder.updateCandidateValidatorWorkerAddress(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function updateCandidateValidatorWorkerPubkey( client: SuiClient, args: [string, string[]], ): Promise> { const tx = new Transaction(); builder.updateCandidateValidatorWorkerPubkey(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function updateValidatorDescription( client: SuiClient, args: [string, string[]], ): Promise> { const tx = new Transaction(); builder.updateValidatorDescription(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function updateValidatorImageUrl( client: SuiClient, args: [string, string[]], ): Promise> { const tx = new Transaction(); builder.updateValidatorImageUrl(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function updateValidatorName( client: SuiClient, args: [string, string[]], ): Promise> { const tx = new Transaction(); builder.updateValidatorName(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function updateValidatorNextEpochNetworkAddress( client: SuiClient, args: [string, string[]], ): Promise> { const tx = new Transaction(); builder.updateValidatorNextEpochNetworkAddress(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function updateValidatorNextEpochNetworkPubkey( client: SuiClient, args: [string, string[]], ): Promise> { const tx = new Transaction(); builder.updateValidatorNextEpochNetworkPubkey(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function updateValidatorNextEpochP2pAddress( client: SuiClient, args: [string, string[]], ): Promise> { const tx = new Transaction(); builder.updateValidatorNextEpochP2pAddress(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function updateValidatorNextEpochPrimaryAddress( client: SuiClient, args: [string, string[]], ): Promise> { const tx = new Transaction(); builder.updateValidatorNextEpochPrimaryAddress(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function updateValidatorNextEpochProtocolPubkey( client: SuiClient, args: [string, string[], string[]], ): Promise> { const tx = new Transaction(); builder.updateValidatorNextEpochProtocolPubkey(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function updateValidatorNextEpochWorkerAddress( client: SuiClient, args: [string, string[]], ): Promise> { const tx = new Transaction(); builder.updateValidatorNextEpochWorkerAddress(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function updateValidatorNextEpochWorkerPubkey( client: SuiClient, args: [string, string[]], ): Promise> { const tx = new Transaction(); builder.updateValidatorNextEpochWorkerPubkey(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function updateValidatorProjectUrl( client: SuiClient, args: [string, string[]], ): Promise> { const tx = new Transaction(); builder.updateValidatorProjectUrl(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function v1ToV2( client: SuiClient, args: [sui_system_state_inner.SuiSystemStateInner], ): Promise< TypedDevInspectResults<[sui_system_state_inner.SuiSystemStateInnerV2]> > { const tx = new Transaction(); builder.v1ToV2(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult< [sui_system_state_inner.SuiSystemStateInnerV2] >(inspectRes); } export async function validatorAddressByPoolId( client: SuiClient, args: [string, string], ): Promise> { const tx = new Transaction(); builder.validatorAddressByPoolId(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[string]>( inspectRes, ); } export async function validatorStakeAmount( client: SuiClient, args: [string, string], ): Promise> { const tx = new Transaction(); builder.validatorStakeAmount(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[bigint]>( inspectRes, ); } export async function validatorStakingPoolId( client: SuiClient, args: [string, string], ): Promise> { const tx = new Transaction(); builder.validatorStakingPoolId(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult< [_0x2.object$.ID] >(inspectRes); } export async function validatorStakingPoolMappings( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.validatorStakingPoolMappings(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[string]>( inspectRes, ); } export async function validators( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.validators(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[string]>( inspectRes, ); } export async function validatorsMut( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.validatorsMut(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[string]>( inspectRes, ); } } } export class validator extends SuiBaseProcessor { constructor(options: SuiBindOptions) { super("validator", options); } static DEFAULT_OPTIONS: SuiBindOptions = { address: "0x3", network: SuiNetwork.MAIN_NET, }; static bind(options: Partial = {}): validator { return new validator({ ...validator.DEFAULT_OPTIONS, ...options }); } onEventConvertingToFungibleStakedSuiEvent( func: ( event: validator.ConvertingToFungibleStakedSuiEventInstance, ctx: SuiContext, ) => void, handlerOptions?: HandlerOptions< MoveFetchConfig, validator.ConvertingToFungibleStakedSuiEventInstance >, eventFilter?: Omit, ): validator { this.onMoveEvent( func, { ...(eventFilter ?? {}), type: "validator::ConvertingToFungibleStakedSuiEvent", }, handlerOptions, ); return this; } onEventRedeemingFungibleStakedSuiEvent( func: ( event: validator.RedeemingFungibleStakedSuiEventInstance, ctx: SuiContext, ) => void, handlerOptions?: HandlerOptions< MoveFetchConfig, validator.RedeemingFungibleStakedSuiEventInstance >, eventFilter?: Omit, ): validator { this.onMoveEvent( func, { ...(eventFilter ?? {}), type: "validator::RedeemingFungibleStakedSuiEvent", }, handlerOptions, ); return this; } onEventStakingRequestEvent( func: ( event: validator.StakingRequestEventInstance, ctx: SuiContext, ) => void, handlerOptions?: HandlerOptions< MoveFetchConfig, validator.StakingRequestEventInstance >, eventFilter?: Omit, ): validator { this.onMoveEvent( func, { ...(eventFilter ?? {}), type: "validator::StakingRequestEvent" }, handlerOptions, ); return this; } onEventUnstakingRequestEvent( func: ( event: validator.UnstakingRequestEventInstance, ctx: SuiContext, ) => void, handlerOptions?: HandlerOptions< MoveFetchConfig, validator.UnstakingRequestEventInstance >, eventFilter?: Omit, ): validator { this.onMoveEvent( func, { ...(eventFilter ?? {}), type: "validator::UnstakingRequestEvent" }, handlerOptions, ); return this; } } export namespace validator { export interface ConvertingToFungibleStakedSuiEvent { pool_id: _0x2.object$.ID; stake_activation_epoch: bigint; staked_sui_principal_amount: bigint; fungible_staked_sui_amount: bigint; } export namespace ConvertingToFungibleStakedSuiEvent { export const TYPE_QNAME = "0x3::validator::ConvertingToFungibleStakedSuiEvent"; const TYPE = new TypeDescriptor( ConvertingToFungibleStakedSuiEvent.TYPE_QNAME, ); export function type(): TypeDescriptor { return TYPE.apply(); } } export type ConvertingToFungibleStakedSuiEventInstance = TypedEventInstance & { data_decoded: ConvertingToFungibleStakedSuiEvent; type_arguments: []; }; export interface RedeemingFungibleStakedSuiEvent { pool_id: _0x2.object$.ID; fungible_staked_sui_amount: bigint; sui_amount: bigint; } export namespace RedeemingFungibleStakedSuiEvent { export const TYPE_QNAME = "0x3::validator::RedeemingFungibleStakedSuiEvent"; const TYPE = new TypeDescriptor( RedeemingFungibleStakedSuiEvent.TYPE_QNAME, ); export function type(): TypeDescriptor { return TYPE.apply(); } } export type RedeemingFungibleStakedSuiEventInstance = TypedEventInstance & { data_decoded: RedeemingFungibleStakedSuiEvent; type_arguments: []; }; export interface StakingRequestEvent { pool_id: _0x2.object$.ID; validator_address: string; staker_address: string; epoch: bigint; amount: bigint; } export namespace StakingRequestEvent { export const TYPE_QNAME = "0x3::validator::StakingRequestEvent"; const TYPE = new TypeDescriptor( StakingRequestEvent.TYPE_QNAME, ); export function type(): TypeDescriptor { return TYPE.apply(); } } export type StakingRequestEventInstance = TypedEventInstance & { data_decoded: StakingRequestEvent; type_arguments: []; }; export interface UnstakingRequestEvent { pool_id: _0x2.object$.ID; validator_address: string; staker_address: string; stake_activation_epoch: bigint; unstaking_epoch: bigint; principal_amount: bigint; reward_amount: bigint; } export namespace UnstakingRequestEvent { export const TYPE_QNAME = "0x3::validator::UnstakingRequestEvent"; const TYPE = new TypeDescriptor( UnstakingRequestEvent.TYPE_QNAME, ); export function type(): TypeDescriptor { return TYPE.apply(); } } export type UnstakingRequestEventInstance = TypedEventInstance & { data_decoded: UnstakingRequestEvent; type_arguments: []; }; export interface Validator { metadata: validator.ValidatorMetadata; voting_power: bigint; operation_cap_id: _0x2.object$.ID; gas_price: bigint; staking_pool: staking_pool.StakingPool; commission_rate: bigint; next_epoch_stake: bigint; next_epoch_gas_price: bigint; next_epoch_commission_rate: bigint; extra_fields: _0x2.bag.Bag; } export namespace Validator { export const TYPE_QNAME = "0x3::validator::Validator"; const TYPE = new TypeDescriptor(Validator.TYPE_QNAME); export function type(): TypeDescriptor { return TYPE.apply(); } } export interface ValidatorMetadata { sui_address: string; protocol_pubkey_bytes: number[]; network_pubkey_bytes: number[]; worker_pubkey_bytes: number[]; proof_of_possession: number[]; name: string; description: string; image_url: _0x2.url.Url; project_url: _0x2.url.Url; net_address: string; p2p_address: string; primary_address: string; worker_address: string; next_epoch_protocol_pubkey_bytes: _0x1.option.Option; next_epoch_proof_of_possession: _0x1.option.Option; next_epoch_network_pubkey_bytes: _0x1.option.Option; next_epoch_worker_pubkey_bytes: _0x1.option.Option; next_epoch_net_address: _0x1.option.Option; next_epoch_p2p_address: _0x1.option.Option; next_epoch_primary_address: _0x1.option.Option; next_epoch_worker_address: _0x1.option.Option; extra_fields: _0x2.bag.Bag; } export namespace ValidatorMetadata { export const TYPE_QNAME = "0x3::validator::ValidatorMetadata"; const TYPE = new TypeDescriptor( ValidatorMetadata.TYPE_QNAME, ); export function type(): TypeDescriptor { return TYPE.apply(); } } export namespace builder { export function activate( tx: Transaction, args: [string | TransactionObjectArgument, bigint | TransactionArgument], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrPureU64(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::activate", arguments: _args, }); } export function adjustStakeAndGasPrice( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::adjust_stake_and_gas_price", arguments: _args, }); } export function commissionRate( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::commission_rate", arguments: _args, }); } export function convertToFungibleStakedSui( tx: Transaction, args: [ string | TransactionObjectArgument, staking_pool.StakedSui | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrPure(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::convert_to_fungible_staked_sui", arguments: _args, }); } export function deactivate( tx: Transaction, args: [string | TransactionObjectArgument, bigint | TransactionArgument], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrPureU64(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::deactivate", arguments: _args, }); } export function depositStakeRewards( tx: Transaction, args: [ string | TransactionObjectArgument, _0x2.balance.Balance<_0x2.sui.SUI> | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrPure(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::deposit_stake_rewards", arguments: _args, }); } export function description( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::description", arguments: _args, }); } export function effectuateStagedMetadata( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::effectuate_staged_metadata", arguments: _args, }); } export function gasPrice( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::gas_price", arguments: _args, }); } export function getStakingPoolRef( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::get_staking_pool_ref", arguments: _args, }); } export function imageUrl( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::image_url", arguments: _args, }); } export function isDuplicate( tx: Transaction, args: [ string | TransactionObjectArgument, string | TransactionObjectArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrObject(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::is_duplicate", arguments: _args, }); } export function isPreactive( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::is_preactive", arguments: _args, }); } export function metadata( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::metadata", arguments: _args, }); } export function name( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::name", arguments: _args, }); } export function networkAddress( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::network_address", arguments: _args, }); } export function networkPubkeyBytes( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::network_pubkey_bytes", arguments: _args, }); } export function new$( tx: Transaction, args: [ string | TransactionArgument, (string | TransactionObjectArgument)[] | TransactionArgument, (string | TransactionObjectArgument)[] | TransactionArgument, (string | TransactionObjectArgument)[] | TransactionArgument, (string | TransactionObjectArgument)[] | TransactionArgument, (string | TransactionObjectArgument)[] | TransactionArgument, (string | TransactionObjectArgument)[] | TransactionArgument, (string | TransactionObjectArgument)[] | TransactionArgument, (string | TransactionObjectArgument)[] | TransactionArgument, (string | TransactionObjectArgument)[] | TransactionArgument, (string | TransactionObjectArgument)[] | TransactionArgument, (string | TransactionObjectArgument)[] | TransactionArgument, (string | TransactionObjectArgument)[] | TransactionArgument, bigint | TransactionArgument, bigint | TransactionArgument, ], ): TransactionArgument & [ TransactionArgument, TransactionArgument, TransactionArgument, TransactionArgument, TransactionArgument, TransactionArgument, TransactionArgument, TransactionArgument, TransactionArgument, TransactionArgument, TransactionArgument, TransactionArgument, TransactionArgument, TransactionArgument, TransactionArgument, ] { const _args: any[] = []; _args.push(transactionArgumentOrPureAddress(args[0], tx)); _args.push(transactionArgumentOrVec(args[1], tx)); _args.push(transactionArgumentOrVec(args[2], tx)); _args.push(transactionArgumentOrVec(args[3], tx)); _args.push(transactionArgumentOrVec(args[4], tx)); _args.push(transactionArgumentOrVec(args[5], tx)); _args.push(transactionArgumentOrVec(args[6], tx)); _args.push(transactionArgumentOrVec(args[7], tx)); _args.push(transactionArgumentOrVec(args[8], tx)); _args.push(transactionArgumentOrVec(args[9], tx)); _args.push(transactionArgumentOrVec(args[10], tx)); _args.push(transactionArgumentOrVec(args[11], tx)); _args.push(transactionArgumentOrVec(args[12], tx)); _args.push(transactionArgumentOrPureU64(args[13], tx)); _args.push(transactionArgumentOrPureU64(args[14], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::new", arguments: _args, }); } export function newMetadata( tx: Transaction, args: [ string | TransactionArgument, (string | TransactionObjectArgument)[] | TransactionArgument, (string | TransactionObjectArgument)[] | TransactionArgument, (string | TransactionObjectArgument)[] | TransactionArgument, (string | TransactionObjectArgument)[] | TransactionArgument, string | TransactionArgument, string | TransactionArgument, _0x2.url.Url | TransactionArgument, _0x2.url.Url | TransactionArgument, string | TransactionArgument, string | TransactionArgument, string | TransactionArgument, string | TransactionArgument, _0x2.bag.Bag | TransactionArgument, ], ): TransactionArgument & [ TransactionArgument, TransactionArgument, TransactionArgument, TransactionArgument, TransactionArgument, TransactionArgument, TransactionArgument, TransactionArgument, TransactionArgument, TransactionArgument, TransactionArgument, TransactionArgument, TransactionArgument, TransactionArgument, ] { const _args: any[] = []; _args.push(transactionArgumentOrPureAddress(args[0], tx)); _args.push(transactionArgumentOrVec(args[1], tx)); _args.push(transactionArgumentOrVec(args[2], tx)); _args.push(transactionArgumentOrVec(args[3], tx)); _args.push(transactionArgumentOrVec(args[4], tx)); _args.push(transactionArgumentOrPure(args[5], tx)); _args.push(transactionArgumentOrPure(args[6], tx)); _args.push(transactionArgumentOrPure(args[7], tx)); _args.push(transactionArgumentOrPure(args[8], tx)); _args.push(transactionArgumentOrPure(args[9], tx)); _args.push(transactionArgumentOrPure(args[10], tx)); _args.push(transactionArgumentOrPure(args[11], tx)); _args.push(transactionArgumentOrPure(args[12], tx)); _args.push(transactionArgumentOrPure(args[13], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::new_metadata", arguments: _args, }); } export function newUnverifiedValidatorOperationCapAndTransfer( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::new_unverified_validator_operation_cap_and_transfer", arguments: _args, }); } export function nextEpochGasPrice( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::next_epoch_gas_price", arguments: _args, }); } export function nextEpochNetworkAddress( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::next_epoch_network_address", arguments: _args, }); } export function nextEpochNetworkPubkeyBytes( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::next_epoch_network_pubkey_bytes", arguments: _args, }); } export function nextEpochP2pAddress( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::next_epoch_p2p_address", arguments: _args, }); } export function nextEpochPrimaryAddress( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::next_epoch_primary_address", arguments: _args, }); } export function nextEpochProofOfPossession( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::next_epoch_proof_of_possession", arguments: _args, }); } export function nextEpochProtocolPubkeyBytes( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::next_epoch_protocol_pubkey_bytes", arguments: _args, }); } export function nextEpochWorkerAddress( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::next_epoch_worker_address", arguments: _args, }); } export function nextEpochWorkerPubkeyBytes( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::next_epoch_worker_pubkey_bytes", arguments: _args, }); } export function operationCapId( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::operation_cap_id", arguments: _args, }); } export function p2pAddress( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::p2p_address", arguments: _args, }); } export function pendingStakeAmount( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::pending_stake_amount", arguments: _args, }); } export function pendingStakeWithdrawAmount( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::pending_stake_withdraw_amount", arguments: _args, }); } export function poolTokenExchangeRateAtEpoch( tx: Transaction, args: [string | TransactionObjectArgument, bigint | TransactionArgument], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrPureU64(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::pool_token_exchange_rate_at_epoch", arguments: _args, }); } export function primaryAddress( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::primary_address", arguments: _args, }); } export function processPendingStakesAndWithdraws( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::process_pending_stakes_and_withdraws", arguments: _args, }); } export function projectUrl( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::project_url", arguments: _args, }); } export function proofOfPossession( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::proof_of_possession", arguments: _args, }); } export function protocolPubkeyBytes( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::protocol_pubkey_bytes", arguments: _args, }); } export function redeemFungibleStakedSui( tx: Transaction, args: [ string | TransactionObjectArgument, staking_pool.FungibleStakedSui | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrPure(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::redeem_fungible_staked_sui", arguments: _args, }); } export function requestAddStake( tx: Transaction, args: [ string | TransactionObjectArgument, _0x2.balance.Balance<_0x2.sui.SUI> | TransactionArgument, string | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrPure(args[1], tx)); _args.push(transactionArgumentOrPureAddress(args[2], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::request_add_stake", arguments: _args, }); } export function requestAddStakeAtGenesis( tx: Transaction, args: [ string | TransactionObjectArgument, _0x2.balance.Balance<_0x2.sui.SUI> | TransactionArgument, string | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrPure(args[1], tx)); _args.push(transactionArgumentOrPureAddress(args[2], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::request_add_stake_at_genesis", arguments: _args, }); } export function requestSetCommissionRate( tx: Transaction, args: [string | TransactionObjectArgument, bigint | TransactionArgument], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrPureU64(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::request_set_commission_rate", arguments: _args, }); } export function requestSetGasPrice( tx: Transaction, args: [ string | TransactionObjectArgument, validator_cap.ValidatorOperationCap | TransactionArgument, bigint | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrPure(args[1], tx)); _args.push(transactionArgumentOrPureU64(args[2], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::request_set_gas_price", arguments: _args, }); } export function requestWithdrawStake( tx: Transaction, args: [ string | TransactionObjectArgument, staking_pool.StakedSui | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrPure(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::request_withdraw_stake", arguments: _args, }); } export function setCandidateCommissionRate( tx: Transaction, args: [string | TransactionObjectArgument, bigint | TransactionArgument], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrPureU64(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::set_candidate_commission_rate", arguments: _args, }); } export function setCandidateGasPrice( tx: Transaction, args: [ string | TransactionObjectArgument, validator_cap.ValidatorOperationCap | TransactionArgument, bigint | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrPure(args[1], tx)); _args.push(transactionArgumentOrPureU64(args[2], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::set_candidate_gas_price", arguments: _args, }); } export function setVotingPower( tx: Transaction, args: [string | TransactionObjectArgument, bigint | TransactionArgument], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrPureU64(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::set_voting_power", arguments: _args, }); } export function stakeAmount( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::stake_amount", arguments: _args, }); } export function stakingPoolId( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::staking_pool_id", arguments: _args, }); } export function suiAddress( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::sui_address", arguments: _args, }); } export function totalStake( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::total_stake", arguments: _args, }); } export function totalStakeAmount( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::total_stake_amount", arguments: _args, }); } export function updateCandidateNetworkAddress( tx: Transaction, args: [ string | TransactionObjectArgument, (string | TransactionObjectArgument)[] | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrVec(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::update_candidate_network_address", arguments: _args, }); } export function updateCandidateNetworkPubkey( tx: Transaction, args: [ string | TransactionObjectArgument, (string | TransactionObjectArgument)[] | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrVec(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::update_candidate_network_pubkey", arguments: _args, }); } export function updateCandidateP2pAddress( tx: Transaction, args: [ string | TransactionObjectArgument, (string | TransactionObjectArgument)[] | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrVec(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::update_candidate_p2p_address", arguments: _args, }); } export function updateCandidatePrimaryAddress( tx: Transaction, args: [ string | TransactionObjectArgument, (string | TransactionObjectArgument)[] | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrVec(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::update_candidate_primary_address", arguments: _args, }); } export function updateCandidateProtocolPubkey( tx: Transaction, args: [ string | TransactionObjectArgument, (string | TransactionObjectArgument)[] | TransactionArgument, (string | TransactionObjectArgument)[] | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrVec(args[1], tx)); _args.push(transactionArgumentOrVec(args[2], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::update_candidate_protocol_pubkey", arguments: _args, }); } export function updateCandidateWorkerAddress( tx: Transaction, args: [ string | TransactionObjectArgument, (string | TransactionObjectArgument)[] | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrVec(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::update_candidate_worker_address", arguments: _args, }); } export function updateCandidateWorkerPubkey( tx: Transaction, args: [ string | TransactionObjectArgument, (string | TransactionObjectArgument)[] | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrVec(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::update_candidate_worker_pubkey", arguments: _args, }); } export function updateDescription( tx: Transaction, args: [ string | TransactionObjectArgument, (string | TransactionObjectArgument)[] | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrVec(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::update_description", arguments: _args, }); } export function updateImageUrl( tx: Transaction, args: [ string | TransactionObjectArgument, (string | TransactionObjectArgument)[] | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrVec(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::update_image_url", arguments: _args, }); } export function updateName( tx: Transaction, args: [ string | TransactionObjectArgument, (string | TransactionObjectArgument)[] | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrVec(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::update_name", arguments: _args, }); } export function updateNextEpochNetworkAddress( tx: Transaction, args: [ string | TransactionObjectArgument, (string | TransactionObjectArgument)[] | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrVec(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::update_next_epoch_network_address", arguments: _args, }); } export function updateNextEpochNetworkPubkey( tx: Transaction, args: [ string | TransactionObjectArgument, (string | TransactionObjectArgument)[] | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrVec(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::update_next_epoch_network_pubkey", arguments: _args, }); } export function updateNextEpochP2pAddress( tx: Transaction, args: [ string | TransactionObjectArgument, (string | TransactionObjectArgument)[] | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrVec(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::update_next_epoch_p2p_address", arguments: _args, }); } export function updateNextEpochPrimaryAddress( tx: Transaction, args: [ string | TransactionObjectArgument, (string | TransactionObjectArgument)[] | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrVec(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::update_next_epoch_primary_address", arguments: _args, }); } export function updateNextEpochProtocolPubkey( tx: Transaction, args: [ string | TransactionObjectArgument, (string | TransactionObjectArgument)[] | TransactionArgument, (string | TransactionObjectArgument)[] | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrVec(args[1], tx)); _args.push(transactionArgumentOrVec(args[2], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::update_next_epoch_protocol_pubkey", arguments: _args, }); } export function updateNextEpochWorkerAddress( tx: Transaction, args: [ string | TransactionObjectArgument, (string | TransactionObjectArgument)[] | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrVec(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::update_next_epoch_worker_address", arguments: _args, }); } export function updateNextEpochWorkerPubkey( tx: Transaction, args: [ string | TransactionObjectArgument, (string | TransactionObjectArgument)[] | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrVec(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::update_next_epoch_worker_pubkey", arguments: _args, }); } export function updateProjectUrl( tx: Transaction, args: [ string | TransactionObjectArgument, (string | TransactionObjectArgument)[] | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrVec(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::update_project_url", arguments: _args, }); } export function validateMetadata( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::validate_metadata", arguments: _args, }); } export function validateMetadataBcs( tx: Transaction, args: [(string | TransactionObjectArgument)[] | TransactionArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrVec(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::validate_metadata_bcs", arguments: _args, }); } export function votingPower( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::voting_power", arguments: _args, }); } export function workerAddress( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::worker_address", arguments: _args, }); } export function workerPubkeyBytes( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator::worker_pubkey_bytes", arguments: _args, }); } } export namespace view { export async function activate( client: SuiClient, args: [string, bigint], ): Promise> { const tx = new Transaction(); builder.activate(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function adjustStakeAndGasPrice( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.adjustStakeAndGasPrice(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function commissionRate( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.commissionRate(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[bigint]>( inspectRes, ); } export async function convertToFungibleStakedSui( client: SuiClient, args: [string, staking_pool.StakedSui], ): Promise> { const tx = new Transaction(); builder.convertToFungibleStakedSui(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult< [staking_pool.FungibleStakedSui] >(inspectRes); } export async function deactivate( client: SuiClient, args: [string, bigint], ): Promise> { const tx = new Transaction(); builder.deactivate(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function depositStakeRewards( client: SuiClient, args: [string, _0x2.balance.Balance<_0x2.sui.SUI>], ): Promise> { const tx = new Transaction(); builder.depositStakeRewards(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function description( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.description(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[string]>( inspectRes, ); } export async function effectuateStagedMetadata( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.effectuateStagedMetadata(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function gasPrice( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.gasPrice(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[bigint]>( inspectRes, ); } export async function getStakingPoolRef( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.getStakingPoolRef(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[string]>( inspectRes, ); } export async function imageUrl( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.imageUrl(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[string]>( inspectRes, ); } export async function isDuplicate( client: SuiClient, args: [string, string], ): Promise> { const tx = new Transaction(); builder.isDuplicate(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[boolean]>( inspectRes, ); } export async function isPreactive( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.isPreactive(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[boolean]>( inspectRes, ); } export async function metadata( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.metadata(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[string]>( inspectRes, ); } export async function name( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.name(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[string]>( inspectRes, ); } export async function networkAddress( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.networkAddress(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[string]>( inspectRes, ); } export async function networkPubkeyBytes( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.networkPubkeyBytes(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[string]>( inspectRes, ); } export async function new$( client: SuiClient, args: [ string, string[], string[], string[], string[], string[], string[], string[], string[], string[], string[], string[], string[], bigint, bigint, ], ): Promise> { const tx = new Transaction(); builder.new$(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult< [validator.Validator] >(inspectRes); } export async function newMetadata( client: SuiClient, args: [ string, string[], string[], string[], string[], string, string, _0x2.url.Url, _0x2.url.Url, string, string, string, string, _0x2.bag.Bag, ], ): Promise> { const tx = new Transaction(); builder.newMetadata(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult< [validator.ValidatorMetadata] >(inspectRes); } export async function newUnverifiedValidatorOperationCapAndTransfer( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.newUnverifiedValidatorOperationCapAndTransfer(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function nextEpochGasPrice( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.nextEpochGasPrice(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[bigint]>( inspectRes, ); } export async function nextEpochNetworkAddress( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.nextEpochNetworkAddress(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[string]>( inspectRes, ); } export async function nextEpochNetworkPubkeyBytes( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.nextEpochNetworkPubkeyBytes(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[string]>( inspectRes, ); } export async function nextEpochP2pAddress( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.nextEpochP2pAddress(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[string]>( inspectRes, ); } export async function nextEpochPrimaryAddress( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.nextEpochPrimaryAddress(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[string]>( inspectRes, ); } export async function nextEpochProofOfPossession( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.nextEpochProofOfPossession(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[string]>( inspectRes, ); } export async function nextEpochProtocolPubkeyBytes( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.nextEpochProtocolPubkeyBytes(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[string]>( inspectRes, ); } export async function nextEpochWorkerAddress( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.nextEpochWorkerAddress(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[string]>( inspectRes, ); } export async function nextEpochWorkerPubkeyBytes( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.nextEpochWorkerPubkeyBytes(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[string]>( inspectRes, ); } export async function operationCapId( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.operationCapId(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[string]>( inspectRes, ); } export async function p2pAddress( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.p2pAddress(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[string]>( inspectRes, ); } export async function pendingStakeAmount( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.pendingStakeAmount(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[bigint]>( inspectRes, ); } export async function pendingStakeWithdrawAmount( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.pendingStakeWithdrawAmount(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[bigint]>( inspectRes, ); } export async function poolTokenExchangeRateAtEpoch( client: SuiClient, args: [string, bigint], ): Promise> { const tx = new Transaction(); builder.poolTokenExchangeRateAtEpoch(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult< [staking_pool.PoolTokenExchangeRate] >(inspectRes); } export async function primaryAddress( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.primaryAddress(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[string]>( inspectRes, ); } export async function processPendingStakesAndWithdraws( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.processPendingStakesAndWithdraws(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function projectUrl( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.projectUrl(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[string]>( inspectRes, ); } export async function proofOfPossession( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.proofOfPossession(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[string]>( inspectRes, ); } export async function protocolPubkeyBytes( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.protocolPubkeyBytes(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[string]>( inspectRes, ); } export async function redeemFungibleStakedSui( client: SuiClient, args: [string, staking_pool.FungibleStakedSui], ): Promise]>> { const tx = new Transaction(); builder.redeemFungibleStakedSui(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult< [_0x2.balance.Balance<_0x2.sui.SUI>] >(inspectRes); } export async function requestAddStake( client: SuiClient, args: [string, _0x2.balance.Balance<_0x2.sui.SUI>, string], ): Promise> { const tx = new Transaction(); builder.requestAddStake(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult< [staking_pool.StakedSui] >(inspectRes); } export async function requestAddStakeAtGenesis( client: SuiClient, args: [string, _0x2.balance.Balance<_0x2.sui.SUI>, string], ): Promise> { const tx = new Transaction(); builder.requestAddStakeAtGenesis(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function requestSetCommissionRate( client: SuiClient, args: [string, bigint], ): Promise> { const tx = new Transaction(); builder.requestSetCommissionRate(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function requestSetGasPrice( client: SuiClient, args: [string, validator_cap.ValidatorOperationCap, bigint], ): Promise> { const tx = new Transaction(); builder.requestSetGasPrice(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function requestWithdrawStake( client: SuiClient, args: [string, staking_pool.StakedSui], ): Promise]>> { const tx = new Transaction(); builder.requestWithdrawStake(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult< [_0x2.balance.Balance<_0x2.sui.SUI>] >(inspectRes); } export async function setCandidateCommissionRate( client: SuiClient, args: [string, bigint], ): Promise> { const tx = new Transaction(); builder.setCandidateCommissionRate(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function setCandidateGasPrice( client: SuiClient, args: [string, validator_cap.ValidatorOperationCap, bigint], ): Promise> { const tx = new Transaction(); builder.setCandidateGasPrice(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function setVotingPower( client: SuiClient, args: [string, bigint], ): Promise> { const tx = new Transaction(); builder.setVotingPower(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function stakeAmount( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.stakeAmount(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[bigint]>( inspectRes, ); } export async function stakingPoolId( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.stakingPoolId(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult< [_0x2.object$.ID] >(inspectRes); } export async function suiAddress( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.suiAddress(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[string]>( inspectRes, ); } export async function totalStake( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.totalStake(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[bigint]>( inspectRes, ); } export async function totalStakeAmount( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.totalStakeAmount(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[bigint]>( inspectRes, ); } export async function updateCandidateNetworkAddress( client: SuiClient, args: [string, string[]], ): Promise> { const tx = new Transaction(); builder.updateCandidateNetworkAddress(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function updateCandidateNetworkPubkey( client: SuiClient, args: [string, string[]], ): Promise> { const tx = new Transaction(); builder.updateCandidateNetworkPubkey(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function updateCandidateP2pAddress( client: SuiClient, args: [string, string[]], ): Promise> { const tx = new Transaction(); builder.updateCandidateP2pAddress(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function updateCandidatePrimaryAddress( client: SuiClient, args: [string, string[]], ): Promise> { const tx = new Transaction(); builder.updateCandidatePrimaryAddress(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function updateCandidateProtocolPubkey( client: SuiClient, args: [string, string[], string[]], ): Promise> { const tx = new Transaction(); builder.updateCandidateProtocolPubkey(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function updateCandidateWorkerAddress( client: SuiClient, args: [string, string[]], ): Promise> { const tx = new Transaction(); builder.updateCandidateWorkerAddress(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function updateCandidateWorkerPubkey( client: SuiClient, args: [string, string[]], ): Promise> { const tx = new Transaction(); builder.updateCandidateWorkerPubkey(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function updateDescription( client: SuiClient, args: [string, string[]], ): Promise> { const tx = new Transaction(); builder.updateDescription(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function updateImageUrl( client: SuiClient, args: [string, string[]], ): Promise> { const tx = new Transaction(); builder.updateImageUrl(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function updateName( client: SuiClient, args: [string, string[]], ): Promise> { const tx = new Transaction(); builder.updateName(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function updateNextEpochNetworkAddress( client: SuiClient, args: [string, string[]], ): Promise> { const tx = new Transaction(); builder.updateNextEpochNetworkAddress(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function updateNextEpochNetworkPubkey( client: SuiClient, args: [string, string[]], ): Promise> { const tx = new Transaction(); builder.updateNextEpochNetworkPubkey(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function updateNextEpochP2pAddress( client: SuiClient, args: [string, string[]], ): Promise> { const tx = new Transaction(); builder.updateNextEpochP2pAddress(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function updateNextEpochPrimaryAddress( client: SuiClient, args: [string, string[]], ): Promise> { const tx = new Transaction(); builder.updateNextEpochPrimaryAddress(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function updateNextEpochProtocolPubkey( client: SuiClient, args: [string, string[], string[]], ): Promise> { const tx = new Transaction(); builder.updateNextEpochProtocolPubkey(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function updateNextEpochWorkerAddress( client: SuiClient, args: [string, string[]], ): Promise> { const tx = new Transaction(); builder.updateNextEpochWorkerAddress(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function updateNextEpochWorkerPubkey( client: SuiClient, args: [string, string[]], ): Promise> { const tx = new Transaction(); builder.updateNextEpochWorkerPubkey(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function updateProjectUrl( client: SuiClient, args: [string, string[]], ): Promise> { const tx = new Transaction(); builder.updateProjectUrl(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function validateMetadata( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.validateMetadata(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function validateMetadataBcs( client: SuiClient, args: [string[]], ): Promise> { const tx = new Transaction(); builder.validateMetadataBcs(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function votingPower( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.votingPower(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[bigint]>( inspectRes, ); } export async function workerAddress( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.workerAddress(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[string]>( inspectRes, ); } export async function workerPubkeyBytes( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.workerPubkeyBytes(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[string]>( inspectRes, ); } } } export namespace validator_cap { export interface UnverifiedValidatorOperationCap { id: _0x2.object$.UID; authorizer_validator_address: string; } export namespace UnverifiedValidatorOperationCap { export const TYPE_QNAME = "0x3::validator_cap::UnverifiedValidatorOperationCap"; const TYPE = new TypeDescriptor( UnverifiedValidatorOperationCap.TYPE_QNAME, ); export function type(): TypeDescriptor { return TYPE.apply(); } } export interface ValidatorOperationCap { authorizer_validator_address: string; } export namespace ValidatorOperationCap { export const TYPE_QNAME = "0x3::validator_cap::ValidatorOperationCap"; const TYPE = new TypeDescriptor( ValidatorOperationCap.TYPE_QNAME, ); export function type(): TypeDescriptor { return TYPE.apply(); } } export namespace builder { export function intoVerified( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator_cap::into_verified", arguments: _args, }); } export function newUnverifiedValidatorOperationCapAndTransfer( tx: Transaction, args: [string | TransactionArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrPureAddress(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator_cap::new_unverified_validator_operation_cap_and_transfer", arguments: _args, }); } export function unverifiedOperationCapAddress( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator_cap::unverified_operation_cap_address", arguments: _args, }); } export function verifiedOperationCapAddress( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator_cap::verified_operation_cap_address", arguments: _args, }); } } export namespace view { export async function intoVerified( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.intoVerified(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult< [validator_cap.ValidatorOperationCap] >(inspectRes); } export async function newUnverifiedValidatorOperationCapAndTransfer( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.newUnverifiedValidatorOperationCapAndTransfer(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult< [_0x2.object$.ID] >(inspectRes); } export async function unverifiedOperationCapAddress( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.unverifiedOperationCapAddress(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[string]>( inspectRes, ); } export async function verifiedOperationCapAddress( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.verifiedOperationCapAddress(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[string]>( inspectRes, ); } } } export class validator_set extends SuiBaseProcessor { constructor(options: SuiBindOptions) { super("validator_set", options); } static DEFAULT_OPTIONS: SuiBindOptions = { address: "0x3", network: SuiNetwork.MAIN_NET, }; static bind(options: Partial = {}): validator_set { return new validator_set({ ...validator_set.DEFAULT_OPTIONS, ...options }); } onEventValidatorEpochInfoEvent( func: ( event: validator_set.ValidatorEpochInfoEventInstance, ctx: SuiContext, ) => void, handlerOptions?: HandlerOptions< MoveFetchConfig, validator_set.ValidatorEpochInfoEventInstance >, eventFilter?: Omit, ): validator_set { this.onMoveEvent( func, { ...(eventFilter ?? {}), type: "validator_set::ValidatorEpochInfoEvent", }, handlerOptions, ); return this; } onEventValidatorEpochInfoEventV2( func: ( event: validator_set.ValidatorEpochInfoEventV2Instance, ctx: SuiContext, ) => void, handlerOptions?: HandlerOptions< MoveFetchConfig, validator_set.ValidatorEpochInfoEventV2Instance >, eventFilter?: Omit, ): validator_set { this.onMoveEvent( func, { ...(eventFilter ?? {}), type: "validator_set::ValidatorEpochInfoEventV2", }, handlerOptions, ); return this; } onEventValidatorJoinEvent( func: ( event: validator_set.ValidatorJoinEventInstance, ctx: SuiContext, ) => void, handlerOptions?: HandlerOptions< MoveFetchConfig, validator_set.ValidatorJoinEventInstance >, eventFilter?: Omit, ): validator_set { this.onMoveEvent( func, { ...(eventFilter ?? {}), type: "validator_set::ValidatorJoinEvent" }, handlerOptions, ); return this; } onEventValidatorLeaveEvent( func: ( event: validator_set.ValidatorLeaveEventInstance, ctx: SuiContext, ) => void, handlerOptions?: HandlerOptions< MoveFetchConfig, validator_set.ValidatorLeaveEventInstance >, eventFilter?: Omit, ): validator_set { this.onMoveEvent( func, { ...(eventFilter ?? {}), type: "validator_set::ValidatorLeaveEvent" }, handlerOptions, ); return this; } onEventVotingPowerAdmissionStartEpochKey( func: ( event: validator_set.VotingPowerAdmissionStartEpochKeyInstance, ctx: SuiContext, ) => void, handlerOptions?: HandlerOptions< MoveFetchConfig, validator_set.VotingPowerAdmissionStartEpochKeyInstance >, eventFilter?: Omit, ): validator_set { this.onMoveEvent( func, { ...(eventFilter ?? {}), type: "validator_set::VotingPowerAdmissionStartEpochKey", }, handlerOptions, ); return this; } } export namespace validator_set { export interface ValidatorEpochInfoEvent { epoch: bigint; validator_address: string; reference_gas_survey_quote: bigint; stake: bigint; commission_rate: bigint; pool_staking_reward: bigint; storage_fund_staking_reward: bigint; pool_token_exchange_rate: staking_pool.PoolTokenExchangeRate; tallying_rule_reporters: string[]; tallying_rule_global_score: bigint; } export namespace ValidatorEpochInfoEvent { export const TYPE_QNAME = "0x3::validator_set::ValidatorEpochInfoEvent"; const TYPE = new TypeDescriptor( ValidatorEpochInfoEvent.TYPE_QNAME, ); export function type(): TypeDescriptor { return TYPE.apply(); } } export type ValidatorEpochInfoEventInstance = TypedEventInstance & { data_decoded: ValidatorEpochInfoEvent; type_arguments: []; }; export interface ValidatorEpochInfoEventV2 { epoch: bigint; validator_address: string; reference_gas_survey_quote: bigint; stake: bigint; voting_power: bigint; commission_rate: bigint; pool_staking_reward: bigint; storage_fund_staking_reward: bigint; pool_token_exchange_rate: staking_pool.PoolTokenExchangeRate; tallying_rule_reporters: string[]; tallying_rule_global_score: bigint; } export namespace ValidatorEpochInfoEventV2 { export const TYPE_QNAME = "0x3::validator_set::ValidatorEpochInfoEventV2"; const TYPE = new TypeDescriptor( ValidatorEpochInfoEventV2.TYPE_QNAME, ); export function type(): TypeDescriptor { return TYPE.apply(); } } export type ValidatorEpochInfoEventV2Instance = TypedEventInstance & { data_decoded: ValidatorEpochInfoEventV2; type_arguments: []; }; export interface ValidatorJoinEvent { epoch: bigint; validator_address: string; staking_pool_id: _0x2.object$.ID; } export namespace ValidatorJoinEvent { export const TYPE_QNAME = "0x3::validator_set::ValidatorJoinEvent"; const TYPE = new TypeDescriptor( ValidatorJoinEvent.TYPE_QNAME, ); export function type(): TypeDescriptor { return TYPE.apply(); } } export type ValidatorJoinEventInstance = TypedEventInstance & { data_decoded: ValidatorJoinEvent; type_arguments: []; }; export interface ValidatorLeaveEvent { epoch: bigint; validator_address: string; staking_pool_id: _0x2.object$.ID; is_voluntary: boolean; } export namespace ValidatorLeaveEvent { export const TYPE_QNAME = "0x3::validator_set::ValidatorLeaveEvent"; const TYPE = new TypeDescriptor( ValidatorLeaveEvent.TYPE_QNAME, ); export function type(): TypeDescriptor { return TYPE.apply(); } } export type ValidatorLeaveEventInstance = TypedEventInstance & { data_decoded: ValidatorLeaveEvent; type_arguments: []; }; export interface ValidatorSet { total_stake: bigint; active_validators: validator.Validator[]; pending_active_validators: _0x2.table_vec.TableVec; pending_removals: bigint[]; staking_pool_mappings: _0x2.table.Table<_0x2.object$.ID, string>; inactive_validators: _0x2.table.Table< _0x2.object$.ID, validator_wrapper.ValidatorWrapper >; validator_candidates: _0x2.table.Table< string, validator_wrapper.ValidatorWrapper >; at_risk_validators: _0x2.vec_map.VecMap; extra_fields: _0x2.bag.Bag; } export namespace ValidatorSet { export const TYPE_QNAME = "0x3::validator_set::ValidatorSet"; const TYPE = new TypeDescriptor(ValidatorSet.TYPE_QNAME); export function type(): TypeDescriptor { return TYPE.apply(); } } export interface VotingPowerAdmissionStartEpochKey { dummy_field: boolean; } export namespace VotingPowerAdmissionStartEpochKey { export const TYPE_QNAME = "0x3::validator_set::VotingPowerAdmissionStartEpochKey"; const TYPE = new TypeDescriptor( VotingPowerAdmissionStartEpochKey.TYPE_QNAME, ); export function type(): TypeDescriptor { return TYPE.apply(); } } export type VotingPowerAdmissionStartEpochKeyInstance = TypedEventInstance & { data_decoded: VotingPowerAdmissionStartEpochKey; type_arguments: []; }; export namespace builder { export function activeValidatorAddresses( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator_set::active_validator_addresses", arguments: _args, }); } export function activeValidators( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator_set::active_validators", arguments: _args, }); } export function advanceEpoch( tx: Transaction, args: [ string | TransactionObjectArgument, string | TransactionObjectArgument, string | TransactionObjectArgument, string | TransactionObjectArgument, bigint | TransactionArgument, bigint | TransactionArgument, ], ): TransactionArgument & [ TransactionArgument, TransactionArgument, TransactionArgument, TransactionArgument, TransactionArgument, TransactionArgument, ] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrObject(args[1], tx)); _args.push(transactionArgumentOrObject(args[2], tx)); _args.push(transactionArgumentOrObject(args[3], tx)); _args.push(transactionArgumentOrPureU64(args[4], tx)); _args.push(transactionArgumentOrPureU64(args[5], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator_set::advance_epoch", arguments: _args, }); } export function assertNoPendingOrActiveDuplicates( tx: Transaction, args: [ string | TransactionObjectArgument, string | TransactionObjectArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrObject(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator_set::assert_no_pending_or_active_duplicates", arguments: _args, }); } export function calculateTotalStakes( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator_set::calculate_total_stakes", arguments: _args, }); } export function convertToFungibleStakedSui( tx: Transaction, args: [ string | TransactionObjectArgument, staking_pool.StakedSui | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrPure(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator_set::convert_to_fungible_staked_sui", arguments: _args, }); } export function deriveReferenceGasPrice( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator_set::derive_reference_gas_price", arguments: _args, }); } export function getActiveOrPendingOrCandidateValidatorRef( tx: Transaction, args: [ string | TransactionObjectArgument, string | TransactionArgument, number | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrPureAddress(args[1], tx)); _args.push(transactionArgumentOrPureU8(args[2], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator_set::get_active_or_pending_or_candidate_validator_ref", arguments: _args, }); } export function getActiveValidatorRef( tx: Transaction, args: [string | TransactionObjectArgument, string | TransactionArgument], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrPureAddress(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator_set::get_active_validator_ref", arguments: _args, }); } export function getPendingValidatorRef( tx: Transaction, args: [string | TransactionObjectArgument, string | TransactionArgument], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrPureAddress(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator_set::get_pending_validator_ref", arguments: _args, }); } export function getValidatorMut( tx: Transaction, args: [string | TransactionObjectArgument, string | TransactionArgument], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrPureAddress(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator_set::get_validator_mut", arguments: _args, }); } export function getValidatorMutWithCtx( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator_set::get_validator_mut_with_ctx", arguments: _args, }); } export function getValidatorMutWithCtxIncludingCandidates( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator_set::get_validator_mut_with_ctx_including_candidates", arguments: _args, }); } export function getValidatorMutWithVerifiedCap( tx: Transaction, args: [ string | TransactionObjectArgument, string | TransactionObjectArgument, boolean | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrObject(args[1], tx)); _args.push(transactionArgumentOrPureBool(args[2], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator_set::get_validator_mut_with_verified_cap", arguments: _args, }); } export function isActiveValidator( tx: Transaction, args: [string | TransactionObjectArgument, string | TransactionArgument], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrPureAddress(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator_set::is_active_validator", arguments: _args, }); } export function isActiveValidatorBySuiAddress( tx: Transaction, args: [string | TransactionObjectArgument, string | TransactionArgument], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrPureAddress(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator_set::is_active_validator_by_sui_address", arguments: _args, }); } export function isAtRiskValidator( tx: Transaction, args: [string | TransactionObjectArgument, string | TransactionArgument], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrPureAddress(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator_set::is_at_risk_validator", arguments: _args, }); } export function isDuplicateValidator( tx: Transaction, args: [ string | TransactionObjectArgument, string | TransactionObjectArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrObject(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator_set::is_duplicate_validator", arguments: _args, }); } export function isInactiveValidator( tx: Transaction, args: [ string | TransactionObjectArgument, _0x2.object$.ID | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrPure(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator_set::is_inactive_validator", arguments: _args, }); } export function isValidatorCandidate( tx: Transaction, args: [string | TransactionObjectArgument, string | TransactionArgument], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrPureAddress(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator_set::is_validator_candidate", arguments: _args, }); } export function new$( tx: Transaction, args: [(string | TransactionObjectArgument)[] | TransactionArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrVec(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator_set::new", arguments: _args, }); } export function nextEpochValidatorCount( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator_set::next_epoch_validator_count", arguments: _args, }); } export function poolExchangeRates( tx: Transaction, args: [ string | TransactionObjectArgument, string | TransactionObjectArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrObject(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator_set::pool_exchange_rates", arguments: _args, }); } export function redeemFungibleStakedSui( tx: Transaction, args: [ string | TransactionObjectArgument, staking_pool.FungibleStakedSui | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrPure(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator_set::redeem_fungible_staked_sui", arguments: _args, }); } export function requestAddStake( tx: Transaction, args: [ string | TransactionObjectArgument, string | TransactionArgument, _0x2.balance.Balance<_0x2.sui.SUI> | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrPureAddress(args[1], tx)); _args.push(transactionArgumentOrPure(args[2], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator_set::request_add_stake", arguments: _args, }); } export function requestAddValidator( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator_set::request_add_validator", arguments: _args, }); } export function requestAddValidatorCandidate( tx: Transaction, args: [ string | TransactionObjectArgument, validator.Validator | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrPure(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator_set::request_add_validator_candidate", arguments: _args, }); } export function requestRemoveValidator( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator_set::request_remove_validator", arguments: _args, }); } export function requestRemoveValidatorCandidate( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator_set::request_remove_validator_candidate", arguments: _args, }); } export function requestSetCommissionRate( tx: Transaction, args: [string | TransactionObjectArgument, bigint | TransactionArgument], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrPureU64(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator_set::request_set_commission_rate", arguments: _args, }); } export function requestWithdrawStake( tx: Transaction, args: [ string | TransactionObjectArgument, staking_pool.StakedSui | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrPure(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator_set::request_withdraw_stake", arguments: _args, }); } export function stakingPoolMappings( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator_set::staking_pool_mappings", arguments: _args, }); } export function sumVotingPowerByAddresses( tx: Transaction, args: [ string | TransactionObjectArgument, string | TransactionObjectArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrObject(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator_set::sum_voting_power_by_addresses", arguments: _args, }); } export function totalStake( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator_set::total_stake", arguments: _args, }); } export function validatorAddressByPoolId( tx: Transaction, args: [ string | TransactionObjectArgument, string | TransactionObjectArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrObject(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator_set::validator_address_by_pool_id", arguments: _args, }); } export function validatorByPoolId( tx: Transaction, args: [ string | TransactionObjectArgument, string | TransactionObjectArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrObject(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator_set::validator_by_pool_id", arguments: _args, }); } export function validatorStakeAmount( tx: Transaction, args: [string | TransactionObjectArgument, string | TransactionArgument], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrPureAddress(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator_set::validator_stake_amount", arguments: _args, }); } export function validatorStakingPoolId( tx: Transaction, args: [string | TransactionObjectArgument, string | TransactionArgument], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrPureAddress(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator_set::validator_staking_pool_id", arguments: _args, }); } export function validatorTotalStakeAmount( tx: Transaction, args: [string | TransactionObjectArgument, string | TransactionArgument], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrPureAddress(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator_set::validator_total_stake_amount", arguments: _args, }); } export function validatorVotingPower( tx: Transaction, args: [string | TransactionObjectArgument, string | TransactionArgument], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrPureAddress(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator_set::validator_voting_power", arguments: _args, }); } export function verifyCap( tx: Transaction, args: [ string | TransactionObjectArgument, string | TransactionObjectArgument, number | TransactionArgument, ], ): TransactionArgument & [TransactionArgument, TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrObject(args[1], tx)); _args.push(transactionArgumentOrPureU8(args[2], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator_set::verify_cap", arguments: _args, }); } } export namespace view { export async function activeValidatorAddresses( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.activeValidatorAddresses(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[string[]]>( inspectRes, ); } export async function activeValidators( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.activeValidators(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[string]>( inspectRes, ); } export async function advanceEpoch( client: SuiClient, args: [string, string, string, string, bigint, bigint], ): Promise> { const tx = new Transaction(); builder.advanceEpoch(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function assertNoPendingOrActiveDuplicates( client: SuiClient, args: [string, string], ): Promise> { const tx = new Transaction(); builder.assertNoPendingOrActiveDuplicates(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function calculateTotalStakes( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.calculateTotalStakes(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[bigint]>( inspectRes, ); } export async function convertToFungibleStakedSui( client: SuiClient, args: [string, staking_pool.StakedSui], ): Promise> { const tx = new Transaction(); builder.convertToFungibleStakedSui(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult< [staking_pool.FungibleStakedSui] >(inspectRes); } export async function deriveReferenceGasPrice( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.deriveReferenceGasPrice(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[bigint]>( inspectRes, ); } export async function getActiveOrPendingOrCandidateValidatorRef( client: SuiClient, args: [string, string, number], ): Promise> { const tx = new Transaction(); builder.getActiveOrPendingOrCandidateValidatorRef(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[string]>( inspectRes, ); } export async function getActiveValidatorRef( client: SuiClient, args: [string, string], ): Promise> { const tx = new Transaction(); builder.getActiveValidatorRef(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[string]>( inspectRes, ); } export async function getPendingValidatorRef( client: SuiClient, args: [string, string], ): Promise> { const tx = new Transaction(); builder.getPendingValidatorRef(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[string]>( inspectRes, ); } export async function getValidatorMut( client: SuiClient, args: [string, string], ): Promise> { const tx = new Transaction(); builder.getValidatorMut(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[string]>( inspectRes, ); } export async function getValidatorMutWithCtx( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.getValidatorMutWithCtx(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[string]>( inspectRes, ); } export async function getValidatorMutWithCtxIncludingCandidates( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.getValidatorMutWithCtxIncludingCandidates(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[string]>( inspectRes, ); } export async function getValidatorMutWithVerifiedCap( client: SuiClient, args: [string, string, boolean], ): Promise> { const tx = new Transaction(); builder.getValidatorMutWithVerifiedCap(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[string]>( inspectRes, ); } export async function isActiveValidator( client: SuiClient, args: [string, string], ): Promise> { const tx = new Transaction(); builder.isActiveValidator(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[boolean]>( inspectRes, ); } export async function isActiveValidatorBySuiAddress( client: SuiClient, args: [string, string], ): Promise> { const tx = new Transaction(); builder.isActiveValidatorBySuiAddress(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[boolean]>( inspectRes, ); } export async function isAtRiskValidator( client: SuiClient, args: [string, string], ): Promise> { const tx = new Transaction(); builder.isAtRiskValidator(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[boolean]>( inspectRes, ); } export async function isDuplicateValidator( client: SuiClient, args: [string, string], ): Promise> { const tx = new Transaction(); builder.isDuplicateValidator(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[boolean]>( inspectRes, ); } export async function isInactiveValidator( client: SuiClient, args: [string, _0x2.object$.ID], ): Promise> { const tx = new Transaction(); builder.isInactiveValidator(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[boolean]>( inspectRes, ); } export async function isValidatorCandidate( client: SuiClient, args: [string, string], ): Promise> { const tx = new Transaction(); builder.isValidatorCandidate(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[boolean]>( inspectRes, ); } export async function new$( client: SuiClient, args: [string[]], ): Promise> { const tx = new Transaction(); builder.new$(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult< [validator_set.ValidatorSet] >(inspectRes); } export async function nextEpochValidatorCount( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.nextEpochValidatorCount(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[bigint]>( inspectRes, ); } export async function poolExchangeRates( client: SuiClient, args: [string, string], ): Promise> { const tx = new Transaction(); builder.poolExchangeRates(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[string]>( inspectRes, ); } export async function redeemFungibleStakedSui( client: SuiClient, args: [string, staking_pool.FungibleStakedSui], ): Promise]>> { const tx = new Transaction(); builder.redeemFungibleStakedSui(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult< [_0x2.balance.Balance<_0x2.sui.SUI>] >(inspectRes); } export async function requestAddStake( client: SuiClient, args: [string, string, _0x2.balance.Balance<_0x2.sui.SUI>], ): Promise> { const tx = new Transaction(); builder.requestAddStake(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult< [staking_pool.StakedSui] >(inspectRes); } export async function requestAddValidator( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.requestAddValidator(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function requestAddValidatorCandidate( client: SuiClient, args: [string, validator.Validator], ): Promise> { const tx = new Transaction(); builder.requestAddValidatorCandidate(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function requestRemoveValidator( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.requestRemoveValidator(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function requestRemoveValidatorCandidate( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.requestRemoveValidatorCandidate(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function requestSetCommissionRate( client: SuiClient, args: [string, bigint], ): Promise> { const tx = new Transaction(); builder.requestSetCommissionRate(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function requestWithdrawStake( client: SuiClient, args: [string, staking_pool.StakedSui], ): Promise]>> { const tx = new Transaction(); builder.requestWithdrawStake(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult< [_0x2.balance.Balance<_0x2.sui.SUI>] >(inspectRes); } export async function stakingPoolMappings( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.stakingPoolMappings(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[string]>( inspectRes, ); } export async function sumVotingPowerByAddresses( client: SuiClient, args: [string, string], ): Promise> { const tx = new Transaction(); builder.sumVotingPowerByAddresses(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[bigint]>( inspectRes, ); } export async function totalStake( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.totalStake(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[bigint]>( inspectRes, ); } export async function validatorAddressByPoolId( client: SuiClient, args: [string, string], ): Promise> { const tx = new Transaction(); builder.validatorAddressByPoolId(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[string]>( inspectRes, ); } export async function validatorByPoolId( client: SuiClient, args: [string, string], ): Promise> { const tx = new Transaction(); builder.validatorByPoolId(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[string]>( inspectRes, ); } export async function validatorStakeAmount( client: SuiClient, args: [string, string], ): Promise> { const tx = new Transaction(); builder.validatorStakeAmount(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[bigint]>( inspectRes, ); } export async function validatorStakingPoolId( client: SuiClient, args: [string, string], ): Promise> { const tx = new Transaction(); builder.validatorStakingPoolId(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult< [_0x2.object$.ID] >(inspectRes); } export async function validatorTotalStakeAmount( client: SuiClient, args: [string, string], ): Promise> { const tx = new Transaction(); builder.validatorTotalStakeAmount(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[bigint]>( inspectRes, ); } export async function validatorVotingPower( client: SuiClient, args: [string, string], ): Promise> { const tx = new Transaction(); builder.validatorVotingPower(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[bigint]>( inspectRes, ); } export async function verifyCap( client: SuiClient, args: [string, string, number], ): Promise> { const tx = new Transaction(); builder.verifyCap(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult< [validator_cap.ValidatorOperationCap] >(inspectRes); } } } export namespace validator_wrapper { export interface ValidatorWrapper { inner: _0x2.versioned.Versioned; } export namespace ValidatorWrapper { export const TYPE_QNAME = "0x3::validator_wrapper::ValidatorWrapper"; const TYPE = new TypeDescriptor( ValidatorWrapper.TYPE_QNAME, ); export function type(): TypeDescriptor { return TYPE.apply(); } } export namespace builder { export function createV1( tx: Transaction, args: [validator.Validator | TransactionArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrPure(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator_wrapper::create_v1", arguments: _args, }); } export function destroy( tx: Transaction, args: [validator_wrapper.ValidatorWrapper | TransactionArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrPure(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator_wrapper::destroy", arguments: _args, }); } export function loadValidatorMaybeUpgrade( tx: Transaction, args: [string | TransactionObjectArgument], ): TransactionArgument & [TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::validator_wrapper::load_validator_maybe_upgrade", arguments: _args, }); } } export namespace view { export async function createV1( client: SuiClient, args: [validator.Validator], ): Promise> { const tx = new Transaction(); builder.createV1(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult< [validator_wrapper.ValidatorWrapper] >(inspectRes); } export async function destroy( client: SuiClient, args: [validator_wrapper.ValidatorWrapper], ): Promise> { const tx = new Transaction(); builder.destroy(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult< [validator.Validator] >(inspectRes); } export async function loadValidatorMaybeUpgrade( client: SuiClient, args: [string], ): Promise> { const tx = new Transaction(); builder.loadValidatorMaybeUpgrade(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[string]>( inspectRes, ); } } } export namespace voting_power { export interface VotingPowerInfo { validator_index: bigint; voting_power: bigint; } export namespace VotingPowerInfo { export const TYPE_QNAME = "0x3::voting_power::VotingPowerInfo"; const TYPE = new TypeDescriptor( VotingPowerInfo.TYPE_QNAME, ); export function type(): TypeDescriptor { return TYPE.apply(); } } export interface VotingPowerInfoV2 { validator_index: bigint; voting_power: bigint; stake: bigint; } export namespace VotingPowerInfoV2 { export const TYPE_QNAME = "0x3::voting_power::VotingPowerInfoV2"; const TYPE = new TypeDescriptor( VotingPowerInfoV2.TYPE_QNAME, ); export function type(): TypeDescriptor { return TYPE.apply(); } } export namespace builder { export function deriveRawVotingPower( tx: Transaction, args: [bigint | TransactionArgument, bigint | TransactionArgument], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrPureU64(args[0], tx)); _args.push(transactionArgumentOrPureU64(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::voting_power::derive_raw_voting_power", arguments: _args, }); } export function quorumThreshold( tx: Transaction, args: [], ): TransactionArgument & [] { const _args: any[] = []; // @ts-ignore return tx.moveCall({ target: "0x3::voting_power::quorum_threshold", arguments: _args, }); } export function setVotingPower( tx: Transaction, args: [string | TransactionObjectArgument, bigint | TransactionArgument], ): TransactionArgument & [TransactionArgument, TransactionArgument] { const _args: any[] = []; _args.push(transactionArgumentOrObject(args[0], tx)); _args.push(transactionArgumentOrPureU64(args[1], tx)); // @ts-ignore return tx.moveCall({ target: "0x3::voting_power::set_voting_power", arguments: _args, }); } export function totalVotingPower( tx: Transaction, args: [], ): TransactionArgument & [] { const _args: any[] = []; // @ts-ignore return tx.moveCall({ target: "0x3::voting_power::total_voting_power", arguments: _args, }); } } export namespace view { export async function deriveRawVotingPower( client: SuiClient, args: [bigint, bigint], ): Promise> { const tx = new Transaction(); builder.deriveRawVotingPower(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[bigint]>( inspectRes, ); } export async function quorumThreshold( client: SuiClient, args: [], ): Promise> { const tx = new Transaction(); builder.quorumThreshold(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[bigint]>( inspectRes, ); } export async function setVotingPower( client: SuiClient, args: [string, bigint], ): Promise> { const tx = new Transaction(); builder.setVotingPower(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[]>( inspectRes, ); } export async function totalVotingPower( client: SuiClient, args: [], ): Promise> { const tx = new Transaction(); builder.totalVotingPower(tx, args); const inspectRes = await client.devInspectTransactionBlock({ transactionBlock: tx, sender: ZERO_ADDRESS, }); return (await getMoveCoder(client)).decodeDevInspectResult<[bigint]>( inspectRes, ); } } } const MODULES = JSON.parse( '{"genesis":{"fileFormatVersion":6,"address":"0x3","name":"genesis","friends":[],"structs":{"GenesisChainParameters":{"abilities":{"abilities":["Copy","Drop"]},"typeParameters":[],"fields":[{"name":"protocol_version","type":"U64"},{"name":"chain_start_timestamp_ms","type":"U64"},{"name":"epoch_duration_ms","type":"U64"},{"name":"stake_subsidy_start_epoch","type":"U64"},{"name":"stake_subsidy_initial_distribution_amount","type":"U64"},{"name":"stake_subsidy_period_length","type":"U64"},{"name":"stake_subsidy_decrease_rate","type":"U16"},{"name":"max_validator_count","type":"U64"},{"name":"min_validator_joining_stake","type":"U64"},{"name":"validator_low_stake_threshold","type":"U64"},{"name":"validator_very_low_stake_threshold","type":"U64"},{"name":"validator_low_stake_grace_period","type":"U64"}]},"GenesisValidatorMetadata":{"abilities":{"abilities":["Copy","Drop"]},"typeParameters":[],"fields":[{"name":"name","type":{"Vector":"U8"}},{"name":"description","type":{"Vector":"U8"}},{"name":"image_url","type":{"Vector":"U8"}},{"name":"project_url","type":{"Vector":"U8"}},{"name":"sui_address","type":"Address"},{"name":"gas_price","type":"U64"},{"name":"commission_rate","type":"U64"},{"name":"protocol_public_key","type":{"Vector":"U8"}},{"name":"proof_of_possession","type":{"Vector":"U8"}},{"name":"network_public_key","type":{"Vector":"U8"}},{"name":"worker_public_key","type":{"Vector":"U8"}},{"name":"network_address","type":{"Vector":"U8"}},{"name":"p2p_address","type":{"Vector":"U8"}},{"name":"primary_address","type":{"Vector":"U8"}},{"name":"worker_address","type":{"Vector":"U8"}}]},"TokenAllocation":{"abilities":{"abilities":[]},"typeParameters":[],"fields":[{"name":"recipient_address","type":"Address"},{"name":"amount_mist","type":"U64"},{"name":"staked_with_validator","type":{"Struct":{"address":"0x1","module":"option","name":"Option","typeArguments":["Address"]}}}]},"TokenDistributionSchedule":{"abilities":{"abilities":[]},"typeParameters":[],"fields":[{"name":"stake_subsidy_fund_mist","type":"U64"},{"name":"allocations","type":{"Vector":{"Struct":{"address":"0x3","module":"genesis","name":"TokenAllocation","typeArguments":[]}}}}]}},"exposedFunctions":{}},"stake_subsidy":{"fileFormatVersion":6,"address":"0x3","name":"stake_subsidy","friends":[{"address":"0x3","name":"genesis"},{"address":"0x3","name":"sui_system_state_inner"}],"structs":{"StakeSubsidy":{"abilities":{"abilities":["Store"]},"typeParameters":[],"fields":[{"name":"balance","type":{"Struct":{"address":"0x2","module":"balance","name":"Balance","typeArguments":[{"Struct":{"address":"0x2","module":"sui","name":"SUI","typeArguments":[]}}]}}},{"name":"distribution_counter","type":"U64"},{"name":"current_distribution_amount","type":"U64"},{"name":"stake_subsidy_period_length","type":"U64"},{"name":"stake_subsidy_decrease_rate","type":"U16"},{"name":"extra_fields","type":{"Struct":{"address":"0x2","module":"bag","name":"Bag","typeArguments":[]}}}]}},"exposedFunctions":{"advance_epoch":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"stake_subsidy","name":"StakeSubsidy","typeArguments":[]}}}],"return":[{"Struct":{"address":"0x2","module":"balance","name":"Balance","typeArguments":[{"Struct":{"address":"0x2","module":"sui","name":"SUI","typeArguments":[]}}]}}]},"create":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"Struct":{"address":"0x2","module":"balance","name":"Balance","typeArguments":[{"Struct":{"address":"0x2","module":"sui","name":"SUI","typeArguments":[]}}]}},"U64","U64","U16",{"MutableReference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[{"Struct":{"address":"0x3","module":"stake_subsidy","name":"StakeSubsidy","typeArguments":[]}}]},"current_epoch_subsidy_amount":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"stake_subsidy","name":"StakeSubsidy","typeArguments":[]}}}],"return":["U64"]},"get_distribution_counter":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"stake_subsidy","name":"StakeSubsidy","typeArguments":[]}}}],"return":["U64"]}}},"staking_pool":{"fileFormatVersion":6,"address":"0x3","name":"staking_pool","friends":[{"address":"0x3","name":"sui_system"},{"address":"0x3","name":"validator"},{"address":"0x3","name":"validator_set"}],"structs":{"FungibleStakedSui":{"abilities":{"abilities":["Store","Key"]},"typeParameters":[],"fields":[{"name":"id","type":{"Struct":{"address":"0x2","module":"object","name":"UID","typeArguments":[]}}},{"name":"pool_id","type":{"Struct":{"address":"0x2","module":"object","name":"ID","typeArguments":[]}}},{"name":"value","type":"U64"}]},"FungibleStakedSuiData":{"abilities":{"abilities":["Store","Key"]},"typeParameters":[],"fields":[{"name":"id","type":{"Struct":{"address":"0x2","module":"object","name":"UID","typeArguments":[]}}},{"name":"total_supply","type":"U64"},{"name":"principal","type":{"Struct":{"address":"0x2","module":"balance","name":"Balance","typeArguments":[{"Struct":{"address":"0x2","module":"sui","name":"SUI","typeArguments":[]}}]}}}]},"FungibleStakedSuiDataKey":{"abilities":{"abilities":["Copy","Drop","Store"]},"typeParameters":[],"fields":[{"name":"dummy_field","type":"Bool"}]},"PoolTokenExchangeRate":{"abilities":{"abilities":["Copy","Drop","Store"]},"typeParameters":[],"fields":[{"name":"sui_amount","type":"U64"},{"name":"pool_token_amount","type":"U64"}]},"StakedSui":{"abilities":{"abilities":["Store","Key"]},"typeParameters":[],"fields":[{"name":"id","type":{"Struct":{"address":"0x2","module":"object","name":"UID","typeArguments":[]}}},{"name":"pool_id","type":{"Struct":{"address":"0x2","module":"object","name":"ID","typeArguments":[]}}},{"name":"stake_activation_epoch","type":"U64"},{"name":"principal","type":{"Struct":{"address":"0x2","module":"balance","name":"Balance","typeArguments":[{"Struct":{"address":"0x2","module":"sui","name":"SUI","typeArguments":[]}}]}}}]},"StakingPool":{"abilities":{"abilities":["Store","Key"]},"typeParameters":[],"fields":[{"name":"id","type":{"Struct":{"address":"0x2","module":"object","name":"UID","typeArguments":[]}}},{"name":"activation_epoch","type":{"Struct":{"address":"0x1","module":"option","name":"Option","typeArguments":["U64"]}}},{"name":"deactivation_epoch","type":{"Struct":{"address":"0x1","module":"option","name":"Option","typeArguments":["U64"]}}},{"name":"sui_balance","type":"U64"},{"name":"rewards_pool","type":{"Struct":{"address":"0x2","module":"balance","name":"Balance","typeArguments":[{"Struct":{"address":"0x2","module":"sui","name":"SUI","typeArguments":[]}}]}}},{"name":"pool_token_balance","type":"U64"},{"name":"exchange_rates","type":{"Struct":{"address":"0x2","module":"table","name":"Table","typeArguments":["U64",{"Struct":{"address":"0x3","module":"staking_pool","name":"PoolTokenExchangeRate","typeArguments":[]}}]}}},{"name":"pending_stake","type":"U64"},{"name":"pending_total_sui_withdraw","type":"U64"},{"name":"pending_pool_token_withdraw","type":"U64"},{"name":"extra_fields","type":{"Struct":{"address":"0x2","module":"bag","name":"Bag","typeArguments":[]}}}]},"UnderflowSuiBalance":{"abilities":{"abilities":["Copy","Drop","Store"]},"typeParameters":[],"fields":[{"name":"dummy_field","type":"Bool"}]}},"exposedFunctions":{"activate_staking_pool":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"staking_pool","name":"StakingPool","typeArguments":[]}}},"U64"],"return":[]},"activation_epoch":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"staking_pool","name":"StakingPool","typeArguments":[]}}}],"return":[{"Struct":{"address":"0x1","module":"option","name":"Option","typeArguments":["U64"]}}]},"calculate_rewards":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"staking_pool","name":"StakingPool","typeArguments":[]}}},{"Reference":{"Struct":{"address":"0x3","module":"staking_pool","name":"StakedSui","typeArguments":[]}}},"U64"],"return":["U64"]},"convert_to_fungible_staked_sui":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"staking_pool","name":"StakingPool","typeArguments":[]}}},{"Struct":{"address":"0x3","module":"staking_pool","name":"StakedSui","typeArguments":[]}},{"MutableReference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[{"Struct":{"address":"0x3","module":"staking_pool","name":"FungibleStakedSui","typeArguments":[]}}]},"deactivate_staking_pool":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"staking_pool","name":"StakingPool","typeArguments":[]}}},"U64"],"return":[]},"deposit_rewards":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"staking_pool","name":"StakingPool","typeArguments":[]}}},{"Struct":{"address":"0x2","module":"balance","name":"Balance","typeArguments":[{"Struct":{"address":"0x2","module":"sui","name":"SUI","typeArguments":[]}}]}}],"return":[]},"exchange_rates":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"staking_pool","name":"StakingPool","typeArguments":[]}}}],"return":[{"Reference":{"Struct":{"address":"0x2","module":"table","name":"Table","typeArguments":["U64",{"Struct":{"address":"0x3","module":"staking_pool","name":"PoolTokenExchangeRate","typeArguments":[]}}]}}}]},"fungible_staked_sui_pool_id":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"staking_pool","name":"FungibleStakedSui","typeArguments":[]}}}],"return":[{"Struct":{"address":"0x2","module":"object","name":"ID","typeArguments":[]}}]},"fungible_staked_sui_value":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"staking_pool","name":"FungibleStakedSui","typeArguments":[]}}}],"return":["U64"]},"is_equal_staking_metadata":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"staking_pool","name":"StakedSui","typeArguments":[]}}},{"Reference":{"Struct":{"address":"0x3","module":"staking_pool","name":"StakedSui","typeArguments":[]}}}],"return":["Bool"]},"is_inactive":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"staking_pool","name":"StakingPool","typeArguments":[]}}}],"return":["Bool"]},"is_preactive":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"staking_pool","name":"StakingPool","typeArguments":[]}}}],"return":["Bool"]},"join_fungible_staked_sui":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"staking_pool","name":"FungibleStakedSui","typeArguments":[]}}},{"Struct":{"address":"0x3","module":"staking_pool","name":"FungibleStakedSui","typeArguments":[]}}],"return":[]},"join_staked_sui":{"visibility":"Public","isEntry":true,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"staking_pool","name":"StakedSui","typeArguments":[]}}},{"Struct":{"address":"0x3","module":"staking_pool","name":"StakedSui","typeArguments":[]}}],"return":[]},"new":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[{"Struct":{"address":"0x3","module":"staking_pool","name":"StakingPool","typeArguments":[]}}]},"pending_stake_amount":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"staking_pool","name":"StakingPool","typeArguments":[]}}}],"return":["U64"]},"pending_stake_withdraw_amount":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"staking_pool","name":"StakingPool","typeArguments":[]}}}],"return":["U64"]},"pool_id":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"staking_pool","name":"StakedSui","typeArguments":[]}}}],"return":[{"Struct":{"address":"0x2","module":"object","name":"ID","typeArguments":[]}}]},"pool_token_amount":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"staking_pool","name":"PoolTokenExchangeRate","typeArguments":[]}}}],"return":["U64"]},"pool_token_exchange_rate_at_epoch":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"staking_pool","name":"StakingPool","typeArguments":[]}}},"U64"],"return":[{"Struct":{"address":"0x3","module":"staking_pool","name":"PoolTokenExchangeRate","typeArguments":[]}}]},"process_pending_stake":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"staking_pool","name":"StakingPool","typeArguments":[]}}}],"return":[]},"process_pending_stakes_and_withdraws":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"staking_pool","name":"StakingPool","typeArguments":[]}}},{"Reference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[]},"redeem_fungible_staked_sui":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"staking_pool","name":"StakingPool","typeArguments":[]}}},{"Struct":{"address":"0x3","module":"staking_pool","name":"FungibleStakedSui","typeArguments":[]}},{"Reference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[{"Struct":{"address":"0x2","module":"balance","name":"Balance","typeArguments":[{"Struct":{"address":"0x2","module":"sui","name":"SUI","typeArguments":[]}}]}}]},"request_add_stake":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"staking_pool","name":"StakingPool","typeArguments":[]}}},{"Struct":{"address":"0x2","module":"balance","name":"Balance","typeArguments":[{"Struct":{"address":"0x2","module":"sui","name":"SUI","typeArguments":[]}}]}},"U64",{"MutableReference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[{"Struct":{"address":"0x3","module":"staking_pool","name":"StakedSui","typeArguments":[]}}]},"request_withdraw_stake":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"staking_pool","name":"StakingPool","typeArguments":[]}}},{"Struct":{"address":"0x3","module":"staking_pool","name":"StakedSui","typeArguments":[]}},{"Reference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[{"Struct":{"address":"0x2","module":"balance","name":"Balance","typeArguments":[{"Struct":{"address":"0x2","module":"sui","name":"SUI","typeArguments":[]}}]}}]},"split":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"staking_pool","name":"StakedSui","typeArguments":[]}}},"U64",{"MutableReference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[{"Struct":{"address":"0x3","module":"staking_pool","name":"StakedSui","typeArguments":[]}}]},"split_fungible_staked_sui":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"staking_pool","name":"FungibleStakedSui","typeArguments":[]}}},"U64",{"MutableReference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[{"Struct":{"address":"0x3","module":"staking_pool","name":"FungibleStakedSui","typeArguments":[]}}]},"split_staked_sui":{"visibility":"Public","isEntry":true,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"staking_pool","name":"StakedSui","typeArguments":[]}}},"U64",{"MutableReference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[]},"stake_activation_epoch":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"staking_pool","name":"StakedSui","typeArguments":[]}}}],"return":["U64"]},"staked_sui_amount":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"staking_pool","name":"StakedSui","typeArguments":[]}}}],"return":["U64"]},"sui_amount":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"staking_pool","name":"PoolTokenExchangeRate","typeArguments":[]}}}],"return":["U64"]},"sui_balance":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"staking_pool","name":"StakingPool","typeArguments":[]}}}],"return":["U64"]},"withdraw_from_principal":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"staking_pool","name":"StakingPool","typeArguments":[]}}},{"Struct":{"address":"0x3","module":"staking_pool","name":"StakedSui","typeArguments":[]}}],"return":["U64",{"Struct":{"address":"0x2","module":"balance","name":"Balance","typeArguments":[{"Struct":{"address":"0x2","module":"sui","name":"SUI","typeArguments":[]}}]}}]}}},"storage_fund":{"fileFormatVersion":6,"address":"0x3","name":"storage_fund","friends":[{"address":"0x3","name":"sui_system_state_inner"}],"structs":{"StorageFund":{"abilities":{"abilities":["Store"]},"typeParameters":[],"fields":[{"name":"total_object_storage_rebates","type":{"Struct":{"address":"0x2","module":"balance","name":"Balance","typeArguments":[{"Struct":{"address":"0x2","module":"sui","name":"SUI","typeArguments":[]}}]}}},{"name":"non_refundable_balance","type":{"Struct":{"address":"0x2","module":"balance","name":"Balance","typeArguments":[{"Struct":{"address":"0x2","module":"sui","name":"SUI","typeArguments":[]}}]}}}]}},"exposedFunctions":{"advance_epoch":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"storage_fund","name":"StorageFund","typeArguments":[]}}},{"Struct":{"address":"0x2","module":"balance","name":"Balance","typeArguments":[{"Struct":{"address":"0x2","module":"sui","name":"SUI","typeArguments":[]}}]}},{"Struct":{"address":"0x2","module":"balance","name":"Balance","typeArguments":[{"Struct":{"address":"0x2","module":"sui","name":"SUI","typeArguments":[]}}]}},{"Struct":{"address":"0x2","module":"balance","name":"Balance","typeArguments":[{"Struct":{"address":"0x2","module":"sui","name":"SUI","typeArguments":[]}}]}},"U64","U64"],"return":[{"Struct":{"address":"0x2","module":"balance","name":"Balance","typeArguments":[{"Struct":{"address":"0x2","module":"sui","name":"SUI","typeArguments":[]}}]}}]},"new":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"Struct":{"address":"0x2","module":"balance","name":"Balance","typeArguments":[{"Struct":{"address":"0x2","module":"sui","name":"SUI","typeArguments":[]}}]}}],"return":[{"Struct":{"address":"0x3","module":"storage_fund","name":"StorageFund","typeArguments":[]}}]},"total_balance":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"storage_fund","name":"StorageFund","typeArguments":[]}}}],"return":["U64"]},"total_object_storage_rebates":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"storage_fund","name":"StorageFund","typeArguments":[]}}}],"return":["U64"]}}},"sui_system":{"fileFormatVersion":6,"address":"0x3","name":"sui_system","friends":[{"address":"0x3","name":"genesis"}],"structs":{"SuiSystemState":{"abilities":{"abilities":["Key"]},"typeParameters":[],"fields":[{"name":"id","type":{"Struct":{"address":"0x2","module":"object","name":"UID","typeArguments":[]}}},{"name":"version","type":"U64"}]}},"exposedFunctions":{"active_validator_addresses":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system","name":"SuiSystemState","typeArguments":[]}}}],"return":[{"Vector":"Address"}]},"active_validator_addresses_ref":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"sui_system","name":"SuiSystemState","typeArguments":[]}}}],"return":[{"Vector":"Address"}]},"active_validator_voting_powers":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"sui_system","name":"SuiSystemState","typeArguments":[]}}}],"return":[{"Struct":{"address":"0x2","module":"vec_map","name":"VecMap","typeArguments":["Address","U64"]}}]},"calculate_rewards":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system","name":"SuiSystemState","typeArguments":[]}}},{"Reference":{"Struct":{"address":"0x3","module":"staking_pool","name":"StakedSui","typeArguments":[]}}},{"Reference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":["U64"]},"convert_to_fungible_staked_sui":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system","name":"SuiSystemState","typeArguments":[]}}},{"Struct":{"address":"0x3","module":"staking_pool","name":"StakedSui","typeArguments":[]}},{"MutableReference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[{"Struct":{"address":"0x3","module":"staking_pool","name":"FungibleStakedSui","typeArguments":[]}}]},"create":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"Struct":{"address":"0x2","module":"object","name":"UID","typeArguments":[]}},{"Vector":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}},{"Struct":{"address":"0x2","module":"balance","name":"Balance","typeArguments":[{"Struct":{"address":"0x2","module":"sui","name":"SUI","typeArguments":[]}}]}},"U64","U64",{"Struct":{"address":"0x3","module":"sui_system_state_inner","name":"SystemParameters","typeArguments":[]}},{"Struct":{"address":"0x3","module":"stake_subsidy","name":"StakeSubsidy","typeArguments":[]}},{"MutableReference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[]},"pool_exchange_rates":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system","name":"SuiSystemState","typeArguments":[]}}},{"Reference":{"Struct":{"address":"0x2","module":"object","name":"ID","typeArguments":[]}}}],"return":[{"Reference":{"Struct":{"address":"0x2","module":"table","name":"Table","typeArguments":["U64",{"Struct":{"address":"0x3","module":"staking_pool","name":"PoolTokenExchangeRate","typeArguments":[]}}]}}}]},"redeem_fungible_staked_sui":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system","name":"SuiSystemState","typeArguments":[]}}},{"Struct":{"address":"0x3","module":"staking_pool","name":"FungibleStakedSui","typeArguments":[]}},{"Reference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[{"Struct":{"address":"0x2","module":"balance","name":"Balance","typeArguments":[{"Struct":{"address":"0x2","module":"sui","name":"SUI","typeArguments":[]}}]}}]},"report_validator":{"visibility":"Public","isEntry":true,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system","name":"SuiSystemState","typeArguments":[]}}},{"Reference":{"Struct":{"address":"0x3","module":"validator_cap","name":"UnverifiedValidatorOperationCap","typeArguments":[]}}},"Address"],"return":[]},"request_add_stake":{"visibility":"Public","isEntry":true,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system","name":"SuiSystemState","typeArguments":[]}}},{"Struct":{"address":"0x2","module":"coin","name":"Coin","typeArguments":[{"Struct":{"address":"0x2","module":"sui","name":"SUI","typeArguments":[]}}]}},"Address",{"MutableReference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[]},"request_add_stake_mul_coin":{"visibility":"Public","isEntry":true,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system","name":"SuiSystemState","typeArguments":[]}}},{"Vector":{"Struct":{"address":"0x2","module":"coin","name":"Coin","typeArguments":[{"Struct":{"address":"0x2","module":"sui","name":"SUI","typeArguments":[]}}]}}},{"Struct":{"address":"0x1","module":"option","name":"Option","typeArguments":["U64"]}},"Address",{"MutableReference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[]},"request_add_stake_non_entry":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system","name":"SuiSystemState","typeArguments":[]}}},{"Struct":{"address":"0x2","module":"coin","name":"Coin","typeArguments":[{"Struct":{"address":"0x2","module":"sui","name":"SUI","typeArguments":[]}}]}},"Address",{"MutableReference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[{"Struct":{"address":"0x3","module":"staking_pool","name":"StakedSui","typeArguments":[]}}]},"request_add_validator":{"visibility":"Public","isEntry":true,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system","name":"SuiSystemState","typeArguments":[]}}},{"MutableReference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[]},"request_add_validator_candidate":{"visibility":"Public","isEntry":true,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system","name":"SuiSystemState","typeArguments":[]}}},{"Vector":"U8"},{"Vector":"U8"},{"Vector":"U8"},{"Vector":"U8"},{"Vector":"U8"},{"Vector":"U8"},{"Vector":"U8"},{"Vector":"U8"},{"Vector":"U8"},{"Vector":"U8"},{"Vector":"U8"},{"Vector":"U8"},"U64","U64",{"MutableReference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[]},"request_remove_validator":{"visibility":"Public","isEntry":true,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system","name":"SuiSystemState","typeArguments":[]}}},{"MutableReference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[]},"request_remove_validator_candidate":{"visibility":"Public","isEntry":true,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system","name":"SuiSystemState","typeArguments":[]}}},{"MutableReference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[]},"request_set_commission_rate":{"visibility":"Public","isEntry":true,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system","name":"SuiSystemState","typeArguments":[]}}},"U64",{"MutableReference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[]},"request_set_gas_price":{"visibility":"Public","isEntry":true,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system","name":"SuiSystemState","typeArguments":[]}}},{"Reference":{"Struct":{"address":"0x3","module":"validator_cap","name":"UnverifiedValidatorOperationCap","typeArguments":[]}}},"U64"],"return":[]},"request_withdraw_stake":{"visibility":"Public","isEntry":true,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system","name":"SuiSystemState","typeArguments":[]}}},{"Struct":{"address":"0x3","module":"staking_pool","name":"StakedSui","typeArguments":[]}},{"MutableReference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[]},"request_withdraw_stake_non_entry":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system","name":"SuiSystemState","typeArguments":[]}}},{"Struct":{"address":"0x3","module":"staking_pool","name":"StakedSui","typeArguments":[]}},{"MutableReference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[{"Struct":{"address":"0x2","module":"balance","name":"Balance","typeArguments":[{"Struct":{"address":"0x2","module":"sui","name":"SUI","typeArguments":[]}}]}}]},"rotate_operation_cap":{"visibility":"Public","isEntry":true,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system","name":"SuiSystemState","typeArguments":[]}}},{"MutableReference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[]},"set_candidate_validator_commission_rate":{"visibility":"Public","isEntry":true,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system","name":"SuiSystemState","typeArguments":[]}}},"U64",{"MutableReference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[]},"set_candidate_validator_gas_price":{"visibility":"Public","isEntry":true,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system","name":"SuiSystemState","typeArguments":[]}}},{"Reference":{"Struct":{"address":"0x3","module":"validator_cap","name":"UnverifiedValidatorOperationCap","typeArguments":[]}}},"U64"],"return":[]},"undo_report_validator":{"visibility":"Public","isEntry":true,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system","name":"SuiSystemState","typeArguments":[]}}},{"Reference":{"Struct":{"address":"0x3","module":"validator_cap","name":"UnverifiedValidatorOperationCap","typeArguments":[]}}},"Address"],"return":[]},"update_candidate_validator_network_address":{"visibility":"Public","isEntry":true,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system","name":"SuiSystemState","typeArguments":[]}}},{"Vector":"U8"},{"Reference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[]},"update_candidate_validator_network_pubkey":{"visibility":"Public","isEntry":true,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system","name":"SuiSystemState","typeArguments":[]}}},{"Vector":"U8"},{"Reference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[]},"update_candidate_validator_p2p_address":{"visibility":"Public","isEntry":true,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system","name":"SuiSystemState","typeArguments":[]}}},{"Vector":"U8"},{"Reference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[]},"update_candidate_validator_primary_address":{"visibility":"Public","isEntry":true,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system","name":"SuiSystemState","typeArguments":[]}}},{"Vector":"U8"},{"Reference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[]},"update_candidate_validator_protocol_pubkey":{"visibility":"Public","isEntry":true,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system","name":"SuiSystemState","typeArguments":[]}}},{"Vector":"U8"},{"Vector":"U8"},{"Reference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[]},"update_candidate_validator_worker_address":{"visibility":"Public","isEntry":true,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system","name":"SuiSystemState","typeArguments":[]}}},{"Vector":"U8"},{"Reference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[]},"update_candidate_validator_worker_pubkey":{"visibility":"Public","isEntry":true,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system","name":"SuiSystemState","typeArguments":[]}}},{"Vector":"U8"},{"Reference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[]},"update_validator_description":{"visibility":"Public","isEntry":true,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system","name":"SuiSystemState","typeArguments":[]}}},{"Vector":"U8"},{"Reference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[]},"update_validator_image_url":{"visibility":"Public","isEntry":true,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system","name":"SuiSystemState","typeArguments":[]}}},{"Vector":"U8"},{"Reference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[]},"update_validator_name":{"visibility":"Public","isEntry":true,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system","name":"SuiSystemState","typeArguments":[]}}},{"Vector":"U8"},{"Reference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[]},"update_validator_next_epoch_network_address":{"visibility":"Public","isEntry":true,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system","name":"SuiSystemState","typeArguments":[]}}},{"Vector":"U8"},{"Reference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[]},"update_validator_next_epoch_network_pubkey":{"visibility":"Public","isEntry":true,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system","name":"SuiSystemState","typeArguments":[]}}},{"Vector":"U8"},{"Reference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[]},"update_validator_next_epoch_p2p_address":{"visibility":"Public","isEntry":true,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system","name":"SuiSystemState","typeArguments":[]}}},{"Vector":"U8"},{"Reference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[]},"update_validator_next_epoch_primary_address":{"visibility":"Public","isEntry":true,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system","name":"SuiSystemState","typeArguments":[]}}},{"Vector":"U8"},{"Reference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[]},"update_validator_next_epoch_protocol_pubkey":{"visibility":"Public","isEntry":true,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system","name":"SuiSystemState","typeArguments":[]}}},{"Vector":"U8"},{"Vector":"U8"},{"Reference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[]},"update_validator_next_epoch_worker_address":{"visibility":"Public","isEntry":true,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system","name":"SuiSystemState","typeArguments":[]}}},{"Vector":"U8"},{"Reference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[]},"update_validator_next_epoch_worker_pubkey":{"visibility":"Public","isEntry":true,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system","name":"SuiSystemState","typeArguments":[]}}},{"Vector":"U8"},{"Reference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[]},"update_validator_project_url":{"visibility":"Public","isEntry":true,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system","name":"SuiSystemState","typeArguments":[]}}},{"Vector":"U8"},{"Reference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[]},"validator_address_by_pool_id":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system","name":"SuiSystemState","typeArguments":[]}}},{"Reference":{"Struct":{"address":"0x2","module":"object","name":"ID","typeArguments":[]}}}],"return":["Address"]}}},"sui_system_state_inner":{"fileFormatVersion":6,"address":"0x3","name":"sui_system_state_inner","friends":[{"address":"0x3","name":"genesis"},{"address":"0x3","name":"sui_system"}],"structs":{"SuiSystemStateInner":{"abilities":{"abilities":["Store"]},"typeParameters":[],"fields":[{"name":"epoch","type":"U64"},{"name":"protocol_version","type":"U64"},{"name":"system_state_version","type":"U64"},{"name":"validators","type":{"Struct":{"address":"0x3","module":"validator_set","name":"ValidatorSet","typeArguments":[]}}},{"name":"storage_fund","type":{"Struct":{"address":"0x3","module":"storage_fund","name":"StorageFund","typeArguments":[]}}},{"name":"parameters","type":{"Struct":{"address":"0x3","module":"sui_system_state_inner","name":"SystemParameters","typeArguments":[]}}},{"name":"reference_gas_price","type":"U64"},{"name":"validator_report_records","type":{"Struct":{"address":"0x2","module":"vec_map","name":"VecMap","typeArguments":["Address",{"Struct":{"address":"0x2","module":"vec_set","name":"VecSet","typeArguments":["Address"]}}]}}},{"name":"stake_subsidy","type":{"Struct":{"address":"0x3","module":"stake_subsidy","name":"StakeSubsidy","typeArguments":[]}}},{"name":"safe_mode","type":"Bool"},{"name":"safe_mode_storage_rewards","type":{"Struct":{"address":"0x2","module":"balance","name":"Balance","typeArguments":[{"Struct":{"address":"0x2","module":"sui","name":"SUI","typeArguments":[]}}]}}},{"name":"safe_mode_computation_rewards","type":{"Struct":{"address":"0x2","module":"balance","name":"Balance","typeArguments":[{"Struct":{"address":"0x2","module":"sui","name":"SUI","typeArguments":[]}}]}}},{"name":"safe_mode_storage_rebates","type":"U64"},{"name":"safe_mode_non_refundable_storage_fee","type":"U64"},{"name":"epoch_start_timestamp_ms","type":"U64"},{"name":"extra_fields","type":{"Struct":{"address":"0x2","module":"bag","name":"Bag","typeArguments":[]}}}]},"SuiSystemStateInnerV2":{"abilities":{"abilities":["Store"]},"typeParameters":[],"fields":[{"name":"epoch","type":"U64"},{"name":"protocol_version","type":"U64"},{"name":"system_state_version","type":"U64"},{"name":"validators","type":{"Struct":{"address":"0x3","module":"validator_set","name":"ValidatorSet","typeArguments":[]}}},{"name":"storage_fund","type":{"Struct":{"address":"0x3","module":"storage_fund","name":"StorageFund","typeArguments":[]}}},{"name":"parameters","type":{"Struct":{"address":"0x3","module":"sui_system_state_inner","name":"SystemParametersV2","typeArguments":[]}}},{"name":"reference_gas_price","type":"U64"},{"name":"validator_report_records","type":{"Struct":{"address":"0x2","module":"vec_map","name":"VecMap","typeArguments":["Address",{"Struct":{"address":"0x2","module":"vec_set","name":"VecSet","typeArguments":["Address"]}}]}}},{"name":"stake_subsidy","type":{"Struct":{"address":"0x3","module":"stake_subsidy","name":"StakeSubsidy","typeArguments":[]}}},{"name":"safe_mode","type":"Bool"},{"name":"safe_mode_storage_rewards","type":{"Struct":{"address":"0x2","module":"balance","name":"Balance","typeArguments":[{"Struct":{"address":"0x2","module":"sui","name":"SUI","typeArguments":[]}}]}}},{"name":"safe_mode_computation_rewards","type":{"Struct":{"address":"0x2","module":"balance","name":"Balance","typeArguments":[{"Struct":{"address":"0x2","module":"sui","name":"SUI","typeArguments":[]}}]}}},{"name":"safe_mode_storage_rebates","type":"U64"},{"name":"safe_mode_non_refundable_storage_fee","type":"U64"},{"name":"epoch_start_timestamp_ms","type":"U64"},{"name":"extra_fields","type":{"Struct":{"address":"0x2","module":"bag","name":"Bag","typeArguments":[]}}}]},"SystemEpochInfoEvent":{"abilities":{"abilities":["Copy","Drop"]},"typeParameters":[],"fields":[{"name":"epoch","type":"U64"},{"name":"protocol_version","type":"U64"},{"name":"reference_gas_price","type":"U64"},{"name":"total_stake","type":"U64"},{"name":"storage_fund_reinvestment","type":"U64"},{"name":"storage_charge","type":"U64"},{"name":"storage_rebate","type":"U64"},{"name":"storage_fund_balance","type":"U64"},{"name":"stake_subsidy_amount","type":"U64"},{"name":"total_gas_fees","type":"U64"},{"name":"total_stake_rewards_distributed","type":"U64"},{"name":"leftover_storage_fund_inflow","type":"U64"}]},"SystemParameters":{"abilities":{"abilities":["Store"]},"typeParameters":[],"fields":[{"name":"epoch_duration_ms","type":"U64"},{"name":"stake_subsidy_start_epoch","type":"U64"},{"name":"max_validator_count","type":"U64"},{"name":"min_validator_joining_stake","type":"U64"},{"name":"validator_low_stake_threshold","type":"U64"},{"name":"validator_very_low_stake_threshold","type":"U64"},{"name":"validator_low_stake_grace_period","type":"U64"},{"name":"extra_fields","type":{"Struct":{"address":"0x2","module":"bag","name":"Bag","typeArguments":[]}}}]},"SystemParametersV2":{"abilities":{"abilities":["Store"]},"typeParameters":[],"fields":[{"name":"epoch_duration_ms","type":"U64"},{"name":"stake_subsidy_start_epoch","type":"U64"},{"name":"min_validator_count","type":"U64"},{"name":"max_validator_count","type":"U64"},{"name":"min_validator_joining_stake","type":"U64"},{"name":"validator_low_stake_threshold","type":"U64"},{"name":"validator_very_low_stake_threshold","type":"U64"},{"name":"validator_low_stake_grace_period","type":"U64"},{"name":"extra_fields","type":{"Struct":{"address":"0x2","module":"bag","name":"Bag","typeArguments":[]}}}]}},"exposedFunctions":{"active_validator_addresses":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"sui_system_state_inner","name":"SuiSystemStateInnerV2","typeArguments":[]}}}],"return":[{"Vector":"Address"}]},"active_validator_voting_powers":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"sui_system_state_inner","name":"SuiSystemStateInnerV2","typeArguments":[]}}}],"return":[{"Struct":{"address":"0x2","module":"vec_map","name":"VecMap","typeArguments":["Address","U64"]}}]},"advance_epoch":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system_state_inner","name":"SuiSystemStateInnerV2","typeArguments":[]}}},"U64","U64",{"Struct":{"address":"0x2","module":"balance","name":"Balance","typeArguments":[{"Struct":{"address":"0x2","module":"sui","name":"SUI","typeArguments":[]}}]}},{"Struct":{"address":"0x2","module":"balance","name":"Balance","typeArguments":[{"Struct":{"address":"0x2","module":"sui","name":"SUI","typeArguments":[]}}]}},"U64","U64","U64","U64","U64",{"MutableReference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[{"Struct":{"address":"0x2","module":"balance","name":"Balance","typeArguments":[{"Struct":{"address":"0x2","module":"sui","name":"SUI","typeArguments":[]}}]}}]},"convert_to_fungible_staked_sui":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system_state_inner","name":"SuiSystemStateInnerV2","typeArguments":[]}}},{"Struct":{"address":"0x3","module":"staking_pool","name":"StakedSui","typeArguments":[]}},{"MutableReference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[{"Struct":{"address":"0x3","module":"staking_pool","name":"FungibleStakedSui","typeArguments":[]}}]},"create":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"Vector":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}},{"Struct":{"address":"0x2","module":"balance","name":"Balance","typeArguments":[{"Struct":{"address":"0x2","module":"sui","name":"SUI","typeArguments":[]}}]}},"U64","U64",{"Struct":{"address":"0x3","module":"sui_system_state_inner","name":"SystemParameters","typeArguments":[]}},{"Struct":{"address":"0x3","module":"stake_subsidy","name":"StakeSubsidy","typeArguments":[]}},{"MutableReference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[{"Struct":{"address":"0x3","module":"sui_system_state_inner","name":"SuiSystemStateInner","typeArguments":[]}}]},"create_system_parameters":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":["U64","U64","U64","U64","U64","U64","U64",{"MutableReference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[{"Struct":{"address":"0x3","module":"sui_system_state_inner","name":"SystemParameters","typeArguments":[]}}]},"epoch":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"sui_system_state_inner","name":"SuiSystemStateInnerV2","typeArguments":[]}}}],"return":["U64"]},"epoch_start_timestamp_ms":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"sui_system_state_inner","name":"SuiSystemStateInnerV2","typeArguments":[]}}}],"return":["U64"]},"genesis_system_state_version":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[],"return":["U64"]},"get_reporters_of":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"sui_system_state_inner","name":"SuiSystemStateInnerV2","typeArguments":[]}}},"Address"],"return":[{"Struct":{"address":"0x2","module":"vec_set","name":"VecSet","typeArguments":["Address"]}}]},"get_storage_fund_object_rebates":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"sui_system_state_inner","name":"SuiSystemStateInnerV2","typeArguments":[]}}}],"return":["U64"]},"get_storage_fund_total_balance":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"sui_system_state_inner","name":"SuiSystemStateInnerV2","typeArguments":[]}}}],"return":["U64"]},"pool_exchange_rates":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system_state_inner","name":"SuiSystemStateInnerV2","typeArguments":[]}}},{"Reference":{"Struct":{"address":"0x2","module":"object","name":"ID","typeArguments":[]}}}],"return":[{"Reference":{"Struct":{"address":"0x2","module":"table","name":"Table","typeArguments":["U64",{"Struct":{"address":"0x3","module":"staking_pool","name":"PoolTokenExchangeRate","typeArguments":[]}}]}}}]},"protocol_version":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"sui_system_state_inner","name":"SuiSystemStateInnerV2","typeArguments":[]}}}],"return":["U64"]},"redeem_fungible_staked_sui":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system_state_inner","name":"SuiSystemStateInnerV2","typeArguments":[]}}},{"Struct":{"address":"0x3","module":"staking_pool","name":"FungibleStakedSui","typeArguments":[]}},{"Reference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[{"Struct":{"address":"0x2","module":"balance","name":"Balance","typeArguments":[{"Struct":{"address":"0x2","module":"sui","name":"SUI","typeArguments":[]}}]}}]},"report_validator":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system_state_inner","name":"SuiSystemStateInnerV2","typeArguments":[]}}},{"Reference":{"Struct":{"address":"0x3","module":"validator_cap","name":"UnverifiedValidatorOperationCap","typeArguments":[]}}},"Address"],"return":[]},"request_add_stake":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system_state_inner","name":"SuiSystemStateInnerV2","typeArguments":[]}}},{"Struct":{"address":"0x2","module":"coin","name":"Coin","typeArguments":[{"Struct":{"address":"0x2","module":"sui","name":"SUI","typeArguments":[]}}]}},"Address",{"MutableReference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[{"Struct":{"address":"0x3","module":"staking_pool","name":"StakedSui","typeArguments":[]}}]},"request_add_stake_mul_coin":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system_state_inner","name":"SuiSystemStateInnerV2","typeArguments":[]}}},{"Vector":{"Struct":{"address":"0x2","module":"coin","name":"Coin","typeArguments":[{"Struct":{"address":"0x2","module":"sui","name":"SUI","typeArguments":[]}}]}}},{"Struct":{"address":"0x1","module":"option","name":"Option","typeArguments":["U64"]}},"Address",{"MutableReference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[{"Struct":{"address":"0x3","module":"staking_pool","name":"StakedSui","typeArguments":[]}}]},"request_add_validator":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system_state_inner","name":"SuiSystemStateInnerV2","typeArguments":[]}}},{"Reference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[]},"request_add_validator_candidate":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system_state_inner","name":"SuiSystemStateInnerV2","typeArguments":[]}}},{"Vector":"U8"},{"Vector":"U8"},{"Vector":"U8"},{"Vector":"U8"},{"Vector":"U8"},{"Vector":"U8"},{"Vector":"U8"},{"Vector":"U8"},{"Vector":"U8"},{"Vector":"U8"},{"Vector":"U8"},{"Vector":"U8"},"U64","U64",{"MutableReference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[]},"request_remove_validator":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system_state_inner","name":"SuiSystemStateInnerV2","typeArguments":[]}}},{"Reference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[]},"request_remove_validator_candidate":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system_state_inner","name":"SuiSystemStateInnerV2","typeArguments":[]}}},{"MutableReference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[]},"request_set_commission_rate":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system_state_inner","name":"SuiSystemStateInnerV2","typeArguments":[]}}},"U64",{"Reference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[]},"request_set_gas_price":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system_state_inner","name":"SuiSystemStateInnerV2","typeArguments":[]}}},{"Reference":{"Struct":{"address":"0x3","module":"validator_cap","name":"UnverifiedValidatorOperationCap","typeArguments":[]}}},"U64"],"return":[]},"request_withdraw_stake":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system_state_inner","name":"SuiSystemStateInnerV2","typeArguments":[]}}},{"Struct":{"address":"0x3","module":"staking_pool","name":"StakedSui","typeArguments":[]}},{"Reference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[{"Struct":{"address":"0x2","module":"balance","name":"Balance","typeArguments":[{"Struct":{"address":"0x2","module":"sui","name":"SUI","typeArguments":[]}}]}}]},"rotate_operation_cap":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system_state_inner","name":"SuiSystemStateInnerV2","typeArguments":[]}}},{"MutableReference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[]},"set_candidate_validator_commission_rate":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system_state_inner","name":"SuiSystemStateInnerV2","typeArguments":[]}}},"U64",{"Reference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[]},"set_candidate_validator_gas_price":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system_state_inner","name":"SuiSystemStateInnerV2","typeArguments":[]}}},{"Reference":{"Struct":{"address":"0x3","module":"validator_cap","name":"UnverifiedValidatorOperationCap","typeArguments":[]}}},"U64"],"return":[]},"store_execution_time_estimates":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system_state_inner","name":"SuiSystemStateInnerV2","typeArguments":[]}}},{"Vector":"U8"}],"return":[]},"system_state_version":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"sui_system_state_inner","name":"SuiSystemStateInnerV2","typeArguments":[]}}}],"return":["U64"]},"undo_report_validator":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system_state_inner","name":"SuiSystemStateInnerV2","typeArguments":[]}}},{"Reference":{"Struct":{"address":"0x3","module":"validator_cap","name":"UnverifiedValidatorOperationCap","typeArguments":[]}}},"Address"],"return":[]},"update_candidate_validator_network_address":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system_state_inner","name":"SuiSystemStateInnerV2","typeArguments":[]}}},{"Vector":"U8"},{"Reference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[]},"update_candidate_validator_network_pubkey":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system_state_inner","name":"SuiSystemStateInnerV2","typeArguments":[]}}},{"Vector":"U8"},{"Reference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[]},"update_candidate_validator_p2p_address":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system_state_inner","name":"SuiSystemStateInnerV2","typeArguments":[]}}},{"Vector":"U8"},{"Reference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[]},"update_candidate_validator_primary_address":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system_state_inner","name":"SuiSystemStateInnerV2","typeArguments":[]}}},{"Vector":"U8"},{"Reference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[]},"update_candidate_validator_protocol_pubkey":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system_state_inner","name":"SuiSystemStateInnerV2","typeArguments":[]}}},{"Vector":"U8"},{"Vector":"U8"},{"Reference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[]},"update_candidate_validator_worker_address":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system_state_inner","name":"SuiSystemStateInnerV2","typeArguments":[]}}},{"Vector":"U8"},{"Reference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[]},"update_candidate_validator_worker_pubkey":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system_state_inner","name":"SuiSystemStateInnerV2","typeArguments":[]}}},{"Vector":"U8"},{"Reference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[]},"update_validator_description":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system_state_inner","name":"SuiSystemStateInnerV2","typeArguments":[]}}},{"Vector":"U8"},{"Reference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[]},"update_validator_image_url":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system_state_inner","name":"SuiSystemStateInnerV2","typeArguments":[]}}},{"Vector":"U8"},{"Reference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[]},"update_validator_name":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system_state_inner","name":"SuiSystemStateInnerV2","typeArguments":[]}}},{"Vector":"U8"},{"Reference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[]},"update_validator_next_epoch_network_address":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system_state_inner","name":"SuiSystemStateInnerV2","typeArguments":[]}}},{"Vector":"U8"},{"Reference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[]},"update_validator_next_epoch_network_pubkey":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system_state_inner","name":"SuiSystemStateInnerV2","typeArguments":[]}}},{"Vector":"U8"},{"Reference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[]},"update_validator_next_epoch_p2p_address":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system_state_inner","name":"SuiSystemStateInnerV2","typeArguments":[]}}},{"Vector":"U8"},{"Reference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[]},"update_validator_next_epoch_primary_address":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system_state_inner","name":"SuiSystemStateInnerV2","typeArguments":[]}}},{"Vector":"U8"},{"Reference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[]},"update_validator_next_epoch_protocol_pubkey":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system_state_inner","name":"SuiSystemStateInnerV2","typeArguments":[]}}},{"Vector":"U8"},{"Vector":"U8"},{"Reference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[]},"update_validator_next_epoch_worker_address":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system_state_inner","name":"SuiSystemStateInnerV2","typeArguments":[]}}},{"Vector":"U8"},{"Reference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[]},"update_validator_next_epoch_worker_pubkey":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system_state_inner","name":"SuiSystemStateInnerV2","typeArguments":[]}}},{"Vector":"U8"},{"Reference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[]},"update_validator_project_url":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system_state_inner","name":"SuiSystemStateInnerV2","typeArguments":[]}}},{"Vector":"U8"},{"Reference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[]},"v1_to_v2":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"Struct":{"address":"0x3","module":"sui_system_state_inner","name":"SuiSystemStateInner","typeArguments":[]}}],"return":[{"Struct":{"address":"0x3","module":"sui_system_state_inner","name":"SuiSystemStateInnerV2","typeArguments":[]}}]},"validator_address_by_pool_id":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system_state_inner","name":"SuiSystemStateInnerV2","typeArguments":[]}}},{"Reference":{"Struct":{"address":"0x2","module":"object","name":"ID","typeArguments":[]}}}],"return":["Address"]},"validator_stake_amount":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"sui_system_state_inner","name":"SuiSystemStateInnerV2","typeArguments":[]}}},"Address"],"return":["U64"]},"validator_staking_pool_id":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"sui_system_state_inner","name":"SuiSystemStateInnerV2","typeArguments":[]}}},"Address"],"return":[{"Struct":{"address":"0x2","module":"object","name":"ID","typeArguments":[]}}]},"validator_staking_pool_mappings":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"sui_system_state_inner","name":"SuiSystemStateInnerV2","typeArguments":[]}}}],"return":[{"Reference":{"Struct":{"address":"0x2","module":"table","name":"Table","typeArguments":[{"Struct":{"address":"0x2","module":"object","name":"ID","typeArguments":[]}},"Address"]}}}]},"validators":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"sui_system_state_inner","name":"SuiSystemStateInnerV2","typeArguments":[]}}}],"return":[{"Reference":{"Struct":{"address":"0x3","module":"validator_set","name":"ValidatorSet","typeArguments":[]}}}]},"validators_mut":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"sui_system_state_inner","name":"SuiSystemStateInnerV2","typeArguments":[]}}}],"return":[{"MutableReference":{"Struct":{"address":"0x3","module":"validator_set","name":"ValidatorSet","typeArguments":[]}}}]}}},"validator":{"fileFormatVersion":6,"address":"0x3","name":"validator","friends":[{"address":"0x3","name":"genesis"},{"address":"0x3","name":"sui_system"},{"address":"0x3","name":"sui_system_state_inner"},{"address":"0x3","name":"validator_set"},{"address":"0x3","name":"voting_power"}],"structs":{"ConvertingToFungibleStakedSuiEvent":{"abilities":{"abilities":["Copy","Drop"]},"typeParameters":[],"fields":[{"name":"pool_id","type":{"Struct":{"address":"0x2","module":"object","name":"ID","typeArguments":[]}}},{"name":"stake_activation_epoch","type":"U64"},{"name":"staked_sui_principal_amount","type":"U64"},{"name":"fungible_staked_sui_amount","type":"U64"}]},"RedeemingFungibleStakedSuiEvent":{"abilities":{"abilities":["Copy","Drop"]},"typeParameters":[],"fields":[{"name":"pool_id","type":{"Struct":{"address":"0x2","module":"object","name":"ID","typeArguments":[]}}},{"name":"fungible_staked_sui_amount","type":"U64"},{"name":"sui_amount","type":"U64"}]},"StakingRequestEvent":{"abilities":{"abilities":["Copy","Drop"]},"typeParameters":[],"fields":[{"name":"pool_id","type":{"Struct":{"address":"0x2","module":"object","name":"ID","typeArguments":[]}}},{"name":"validator_address","type":"Address"},{"name":"staker_address","type":"Address"},{"name":"epoch","type":"U64"},{"name":"amount","type":"U64"}]},"UnstakingRequestEvent":{"abilities":{"abilities":["Copy","Drop"]},"typeParameters":[],"fields":[{"name":"pool_id","type":{"Struct":{"address":"0x2","module":"object","name":"ID","typeArguments":[]}}},{"name":"validator_address","type":"Address"},{"name":"staker_address","type":"Address"},{"name":"stake_activation_epoch","type":"U64"},{"name":"unstaking_epoch","type":"U64"},{"name":"principal_amount","type":"U64"},{"name":"reward_amount","type":"U64"}]},"Validator":{"abilities":{"abilities":["Store"]},"typeParameters":[],"fields":[{"name":"metadata","type":{"Struct":{"address":"0x3","module":"validator","name":"ValidatorMetadata","typeArguments":[]}}},{"name":"voting_power","type":"U64"},{"name":"operation_cap_id","type":{"Struct":{"address":"0x2","module":"object","name":"ID","typeArguments":[]}}},{"name":"gas_price","type":"U64"},{"name":"staking_pool","type":{"Struct":{"address":"0x3","module":"staking_pool","name":"StakingPool","typeArguments":[]}}},{"name":"commission_rate","type":"U64"},{"name":"next_epoch_stake","type":"U64"},{"name":"next_epoch_gas_price","type":"U64"},{"name":"next_epoch_commission_rate","type":"U64"},{"name":"extra_fields","type":{"Struct":{"address":"0x2","module":"bag","name":"Bag","typeArguments":[]}}}]},"ValidatorMetadata":{"abilities":{"abilities":["Store"]},"typeParameters":[],"fields":[{"name":"sui_address","type":"Address"},{"name":"protocol_pubkey_bytes","type":{"Vector":"U8"}},{"name":"network_pubkey_bytes","type":{"Vector":"U8"}},{"name":"worker_pubkey_bytes","type":{"Vector":"U8"}},{"name":"proof_of_possession","type":{"Vector":"U8"}},{"name":"name","type":{"Struct":{"address":"0x1","module":"string","name":"String","typeArguments":[]}}},{"name":"description","type":{"Struct":{"address":"0x1","module":"string","name":"String","typeArguments":[]}}},{"name":"image_url","type":{"Struct":{"address":"0x2","module":"url","name":"Url","typeArguments":[]}}},{"name":"project_url","type":{"Struct":{"address":"0x2","module":"url","name":"Url","typeArguments":[]}}},{"name":"net_address","type":{"Struct":{"address":"0x1","module":"string","name":"String","typeArguments":[]}}},{"name":"p2p_address","type":{"Struct":{"address":"0x1","module":"string","name":"String","typeArguments":[]}}},{"name":"primary_address","type":{"Struct":{"address":"0x1","module":"string","name":"String","typeArguments":[]}}},{"name":"worker_address","type":{"Struct":{"address":"0x1","module":"string","name":"String","typeArguments":[]}}},{"name":"next_epoch_protocol_pubkey_bytes","type":{"Struct":{"address":"0x1","module":"option","name":"Option","typeArguments":[{"Vector":"U8"}]}}},{"name":"next_epoch_proof_of_possession","type":{"Struct":{"address":"0x1","module":"option","name":"Option","typeArguments":[{"Vector":"U8"}]}}},{"name":"next_epoch_network_pubkey_bytes","type":{"Struct":{"address":"0x1","module":"option","name":"Option","typeArguments":[{"Vector":"U8"}]}}},{"name":"next_epoch_worker_pubkey_bytes","type":{"Struct":{"address":"0x1","module":"option","name":"Option","typeArguments":[{"Vector":"U8"}]}}},{"name":"next_epoch_net_address","type":{"Struct":{"address":"0x1","module":"option","name":"Option","typeArguments":[{"Struct":{"address":"0x1","module":"string","name":"String","typeArguments":[]}}]}}},{"name":"next_epoch_p2p_address","type":{"Struct":{"address":"0x1","module":"option","name":"Option","typeArguments":[{"Struct":{"address":"0x1","module":"string","name":"String","typeArguments":[]}}]}}},{"name":"next_epoch_primary_address","type":{"Struct":{"address":"0x1","module":"option","name":"Option","typeArguments":[{"Struct":{"address":"0x1","module":"string","name":"String","typeArguments":[]}}]}}},{"name":"next_epoch_worker_address","type":{"Struct":{"address":"0x1","module":"option","name":"Option","typeArguments":[{"Struct":{"address":"0x1","module":"string","name":"String","typeArguments":[]}}]}}},{"name":"extra_fields","type":{"Struct":{"address":"0x2","module":"bag","name":"Bag","typeArguments":[]}}}]}},"exposedFunctions":{"activate":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}},"U64"],"return":[]},"adjust_stake_and_gas_price":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}}],"return":[]},"commission_rate":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}}],"return":["U64"]},"convert_to_fungible_staked_sui":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}},{"Struct":{"address":"0x3","module":"staking_pool","name":"StakedSui","typeArguments":[]}},{"MutableReference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[{"Struct":{"address":"0x3","module":"staking_pool","name":"FungibleStakedSui","typeArguments":[]}}]},"deactivate":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}},"U64"],"return":[]},"deposit_stake_rewards":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}},{"Struct":{"address":"0x2","module":"balance","name":"Balance","typeArguments":[{"Struct":{"address":"0x2","module":"sui","name":"SUI","typeArguments":[]}}]}}],"return":[]},"description":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}}],"return":[{"Reference":{"Struct":{"address":"0x1","module":"string","name":"String","typeArguments":[]}}}]},"effectuate_staged_metadata":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}}],"return":[]},"gas_price":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}}],"return":["U64"]},"get_staking_pool_ref":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}}],"return":[{"Reference":{"Struct":{"address":"0x3","module":"staking_pool","name":"StakingPool","typeArguments":[]}}}]},"image_url":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}}],"return":[{"Reference":{"Struct":{"address":"0x2","module":"url","name":"Url","typeArguments":[]}}}]},"is_duplicate":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}},{"Reference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}}],"return":["Bool"]},"is_preactive":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}}],"return":["Bool"]},"metadata":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}}],"return":[{"Reference":{"Struct":{"address":"0x3","module":"validator","name":"ValidatorMetadata","typeArguments":[]}}}]},"name":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}}],"return":[{"Reference":{"Struct":{"address":"0x1","module":"string","name":"String","typeArguments":[]}}}]},"network_address":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}}],"return":[{"Reference":{"Struct":{"address":"0x1","module":"string","name":"String","typeArguments":[]}}}]},"network_pubkey_bytes":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}}],"return":[{"Reference":{"Vector":"U8"}}]},"new":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":["Address",{"Vector":"U8"},{"Vector":"U8"},{"Vector":"U8"},{"Vector":"U8"},{"Vector":"U8"},{"Vector":"U8"},{"Vector":"U8"},{"Vector":"U8"},{"Vector":"U8"},{"Vector":"U8"},{"Vector":"U8"},{"Vector":"U8"},"U64","U64",{"MutableReference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}]},"new_metadata":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":["Address",{"Vector":"U8"},{"Vector":"U8"},{"Vector":"U8"},{"Vector":"U8"},{"Struct":{"address":"0x1","module":"string","name":"String","typeArguments":[]}},{"Struct":{"address":"0x1","module":"string","name":"String","typeArguments":[]}},{"Struct":{"address":"0x2","module":"url","name":"Url","typeArguments":[]}},{"Struct":{"address":"0x2","module":"url","name":"Url","typeArguments":[]}},{"Struct":{"address":"0x1","module":"string","name":"String","typeArguments":[]}},{"Struct":{"address":"0x1","module":"string","name":"String","typeArguments":[]}},{"Struct":{"address":"0x1","module":"string","name":"String","typeArguments":[]}},{"Struct":{"address":"0x1","module":"string","name":"String","typeArguments":[]}},{"Struct":{"address":"0x2","module":"bag","name":"Bag","typeArguments":[]}}],"return":[{"Struct":{"address":"0x3","module":"validator","name":"ValidatorMetadata","typeArguments":[]}}]},"new_unverified_validator_operation_cap_and_transfer":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}},{"MutableReference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[]},"next_epoch_gas_price":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}}],"return":["U64"]},"next_epoch_network_address":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}}],"return":[{"Reference":{"Struct":{"address":"0x1","module":"option","name":"Option","typeArguments":[{"Struct":{"address":"0x1","module":"string","name":"String","typeArguments":[]}}]}}}]},"next_epoch_network_pubkey_bytes":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}}],"return":[{"Reference":{"Struct":{"address":"0x1","module":"option","name":"Option","typeArguments":[{"Vector":"U8"}]}}}]},"next_epoch_p2p_address":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}}],"return":[{"Reference":{"Struct":{"address":"0x1","module":"option","name":"Option","typeArguments":[{"Struct":{"address":"0x1","module":"string","name":"String","typeArguments":[]}}]}}}]},"next_epoch_primary_address":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}}],"return":[{"Reference":{"Struct":{"address":"0x1","module":"option","name":"Option","typeArguments":[{"Struct":{"address":"0x1","module":"string","name":"String","typeArguments":[]}}]}}}]},"next_epoch_proof_of_possession":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}}],"return":[{"Reference":{"Struct":{"address":"0x1","module":"option","name":"Option","typeArguments":[{"Vector":"U8"}]}}}]},"next_epoch_protocol_pubkey_bytes":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}}],"return":[{"Reference":{"Struct":{"address":"0x1","module":"option","name":"Option","typeArguments":[{"Vector":"U8"}]}}}]},"next_epoch_worker_address":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}}],"return":[{"Reference":{"Struct":{"address":"0x1","module":"option","name":"Option","typeArguments":[{"Struct":{"address":"0x1","module":"string","name":"String","typeArguments":[]}}]}}}]},"next_epoch_worker_pubkey_bytes":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}}],"return":[{"Reference":{"Struct":{"address":"0x1","module":"option","name":"Option","typeArguments":[{"Vector":"U8"}]}}}]},"operation_cap_id":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}}],"return":[{"Reference":{"Struct":{"address":"0x2","module":"object","name":"ID","typeArguments":[]}}}]},"p2p_address":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}}],"return":[{"Reference":{"Struct":{"address":"0x1","module":"string","name":"String","typeArguments":[]}}}]},"pending_stake_amount":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}}],"return":["U64"]},"pending_stake_withdraw_amount":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}}],"return":["U64"]},"pool_token_exchange_rate_at_epoch":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}},"U64"],"return":[{"Struct":{"address":"0x3","module":"staking_pool","name":"PoolTokenExchangeRate","typeArguments":[]}}]},"primary_address":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}}],"return":[{"Reference":{"Struct":{"address":"0x1","module":"string","name":"String","typeArguments":[]}}}]},"process_pending_stakes_and_withdraws":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}},{"Reference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[]},"project_url":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}}],"return":[{"Reference":{"Struct":{"address":"0x2","module":"url","name":"Url","typeArguments":[]}}}]},"proof_of_possession":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}}],"return":[{"Reference":{"Vector":"U8"}}]},"protocol_pubkey_bytes":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}}],"return":[{"Reference":{"Vector":"U8"}}]},"redeem_fungible_staked_sui":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}},{"Struct":{"address":"0x3","module":"staking_pool","name":"FungibleStakedSui","typeArguments":[]}},{"Reference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[{"Struct":{"address":"0x2","module":"balance","name":"Balance","typeArguments":[{"Struct":{"address":"0x2","module":"sui","name":"SUI","typeArguments":[]}}]}}]},"request_add_stake":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}},{"Struct":{"address":"0x2","module":"balance","name":"Balance","typeArguments":[{"Struct":{"address":"0x2","module":"sui","name":"SUI","typeArguments":[]}}]}},"Address",{"MutableReference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[{"Struct":{"address":"0x3","module":"staking_pool","name":"StakedSui","typeArguments":[]}}]},"request_add_stake_at_genesis":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}},{"Struct":{"address":"0x2","module":"balance","name":"Balance","typeArguments":[{"Struct":{"address":"0x2","module":"sui","name":"SUI","typeArguments":[]}}]}},"Address",{"MutableReference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[]},"request_set_commission_rate":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}},"U64"],"return":[]},"request_set_gas_price":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}},{"Struct":{"address":"0x3","module":"validator_cap","name":"ValidatorOperationCap","typeArguments":[]}},"U64"],"return":[]},"request_withdraw_stake":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}},{"Struct":{"address":"0x3","module":"staking_pool","name":"StakedSui","typeArguments":[]}},{"Reference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[{"Struct":{"address":"0x2","module":"balance","name":"Balance","typeArguments":[{"Struct":{"address":"0x2","module":"sui","name":"SUI","typeArguments":[]}}]}}]},"set_candidate_commission_rate":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}},"U64"],"return":[]},"set_candidate_gas_price":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}},{"Struct":{"address":"0x3","module":"validator_cap","name":"ValidatorOperationCap","typeArguments":[]}},"U64"],"return":[]},"set_voting_power":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}},"U64"],"return":[]},"stake_amount":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}}],"return":["U64"]},"staking_pool_id":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}}],"return":[{"Struct":{"address":"0x2","module":"object","name":"ID","typeArguments":[]}}]},"sui_address":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}}],"return":["Address"]},"total_stake":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}}],"return":["U64"]},"total_stake_amount":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}}],"return":["U64"]},"update_candidate_network_address":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}},{"Vector":"U8"}],"return":[]},"update_candidate_network_pubkey":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}},{"Vector":"U8"}],"return":[]},"update_candidate_p2p_address":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}},{"Vector":"U8"}],"return":[]},"update_candidate_primary_address":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}},{"Vector":"U8"}],"return":[]},"update_candidate_protocol_pubkey":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}},{"Vector":"U8"},{"Vector":"U8"}],"return":[]},"update_candidate_worker_address":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}},{"Vector":"U8"}],"return":[]},"update_candidate_worker_pubkey":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}},{"Vector":"U8"}],"return":[]},"update_description":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}},{"Vector":"U8"}],"return":[]},"update_image_url":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}},{"Vector":"U8"}],"return":[]},"update_name":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}},{"Vector":"U8"}],"return":[]},"update_next_epoch_network_address":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}},{"Vector":"U8"}],"return":[]},"update_next_epoch_network_pubkey":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}},{"Vector":"U8"}],"return":[]},"update_next_epoch_p2p_address":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}},{"Vector":"U8"}],"return":[]},"update_next_epoch_primary_address":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}},{"Vector":"U8"}],"return":[]},"update_next_epoch_protocol_pubkey":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}},{"Vector":"U8"},{"Vector":"U8"}],"return":[]},"update_next_epoch_worker_address":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}},{"Vector":"U8"}],"return":[]},"update_next_epoch_worker_pubkey":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}},{"Vector":"U8"}],"return":[]},"update_project_url":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}},{"Vector":"U8"}],"return":[]},"validate_metadata":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"validator","name":"ValidatorMetadata","typeArguments":[]}}}],"return":[]},"validate_metadata_bcs":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"Vector":"U8"}],"return":[]},"voting_power":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}}],"return":["U64"]},"worker_address":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}}],"return":[{"Reference":{"Struct":{"address":"0x1","module":"string","name":"String","typeArguments":[]}}}]},"worker_pubkey_bytes":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}}],"return":[{"Reference":{"Vector":"U8"}}]}}},"validator_cap":{"fileFormatVersion":6,"address":"0x3","name":"validator_cap","friends":[{"address":"0x3","name":"sui_system_state_inner"},{"address":"0x3","name":"validator"},{"address":"0x3","name":"validator_set"}],"structs":{"UnverifiedValidatorOperationCap":{"abilities":{"abilities":["Store","Key"]},"typeParameters":[],"fields":[{"name":"id","type":{"Struct":{"address":"0x2","module":"object","name":"UID","typeArguments":[]}}},{"name":"authorizer_validator_address","type":"Address"}]},"ValidatorOperationCap":{"abilities":{"abilities":["Drop"]},"typeParameters":[],"fields":[{"name":"authorizer_validator_address","type":"Address"}]}},"exposedFunctions":{"into_verified":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"validator_cap","name":"UnverifiedValidatorOperationCap","typeArguments":[]}}}],"return":[{"Struct":{"address":"0x3","module":"validator_cap","name":"ValidatorOperationCap","typeArguments":[]}}]},"new_unverified_validator_operation_cap_and_transfer":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":["Address",{"MutableReference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[{"Struct":{"address":"0x2","module":"object","name":"ID","typeArguments":[]}}]},"unverified_operation_cap_address":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"validator_cap","name":"UnverifiedValidatorOperationCap","typeArguments":[]}}}],"return":[{"Reference":"Address"}]},"verified_operation_cap_address":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"validator_cap","name":"ValidatorOperationCap","typeArguments":[]}}}],"return":[{"Reference":"Address"}]}}},"validator_set":{"fileFormatVersion":6,"address":"0x3","name":"validator_set","friends":[{"address":"0x3","name":"genesis"},{"address":"0x3","name":"sui_system"},{"address":"0x3","name":"sui_system_state_inner"}],"structs":{"ValidatorEpochInfoEvent":{"abilities":{"abilities":["Copy","Drop"]},"typeParameters":[],"fields":[{"name":"epoch","type":"U64"},{"name":"validator_address","type":"Address"},{"name":"reference_gas_survey_quote","type":"U64"},{"name":"stake","type":"U64"},{"name":"commission_rate","type":"U64"},{"name":"pool_staking_reward","type":"U64"},{"name":"storage_fund_staking_reward","type":"U64"},{"name":"pool_token_exchange_rate","type":{"Struct":{"address":"0x3","module":"staking_pool","name":"PoolTokenExchangeRate","typeArguments":[]}}},{"name":"tallying_rule_reporters","type":{"Vector":"Address"}},{"name":"tallying_rule_global_score","type":"U64"}]},"ValidatorEpochInfoEventV2":{"abilities":{"abilities":["Copy","Drop"]},"typeParameters":[],"fields":[{"name":"epoch","type":"U64"},{"name":"validator_address","type":"Address"},{"name":"reference_gas_survey_quote","type":"U64"},{"name":"stake","type":"U64"},{"name":"voting_power","type":"U64"},{"name":"commission_rate","type":"U64"},{"name":"pool_staking_reward","type":"U64"},{"name":"storage_fund_staking_reward","type":"U64"},{"name":"pool_token_exchange_rate","type":{"Struct":{"address":"0x3","module":"staking_pool","name":"PoolTokenExchangeRate","typeArguments":[]}}},{"name":"tallying_rule_reporters","type":{"Vector":"Address"}},{"name":"tallying_rule_global_score","type":"U64"}]},"ValidatorJoinEvent":{"abilities":{"abilities":["Copy","Drop"]},"typeParameters":[],"fields":[{"name":"epoch","type":"U64"},{"name":"validator_address","type":"Address"},{"name":"staking_pool_id","type":{"Struct":{"address":"0x2","module":"object","name":"ID","typeArguments":[]}}}]},"ValidatorLeaveEvent":{"abilities":{"abilities":["Copy","Drop"]},"typeParameters":[],"fields":[{"name":"epoch","type":"U64"},{"name":"validator_address","type":"Address"},{"name":"staking_pool_id","type":{"Struct":{"address":"0x2","module":"object","name":"ID","typeArguments":[]}}},{"name":"is_voluntary","type":"Bool"}]},"ValidatorSet":{"abilities":{"abilities":["Store"]},"typeParameters":[],"fields":[{"name":"total_stake","type":"U64"},{"name":"active_validators","type":{"Vector":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}}},{"name":"pending_active_validators","type":{"Struct":{"address":"0x2","module":"table_vec","name":"TableVec","typeArguments":[{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}]}}},{"name":"pending_removals","type":{"Vector":"U64"}},{"name":"staking_pool_mappings","type":{"Struct":{"address":"0x2","module":"table","name":"Table","typeArguments":[{"Struct":{"address":"0x2","module":"object","name":"ID","typeArguments":[]}},"Address"]}}},{"name":"inactive_validators","type":{"Struct":{"address":"0x2","module":"table","name":"Table","typeArguments":[{"Struct":{"address":"0x2","module":"object","name":"ID","typeArguments":[]}},{"Struct":{"address":"0x3","module":"validator_wrapper","name":"ValidatorWrapper","typeArguments":[]}}]}}},{"name":"validator_candidates","type":{"Struct":{"address":"0x2","module":"table","name":"Table","typeArguments":["Address",{"Struct":{"address":"0x3","module":"validator_wrapper","name":"ValidatorWrapper","typeArguments":[]}}]}}},{"name":"at_risk_validators","type":{"Struct":{"address":"0x2","module":"vec_map","name":"VecMap","typeArguments":["Address","U64"]}}},{"name":"extra_fields","type":{"Struct":{"address":"0x2","module":"bag","name":"Bag","typeArguments":[]}}}]},"VotingPowerAdmissionStartEpochKey":{"abilities":{"abilities":["Copy","Drop","Store"]},"typeParameters":[],"fields":[{"name":"dummy_field","type":"Bool"}]}},"exposedFunctions":{"active_validator_addresses":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"validator_set","name":"ValidatorSet","typeArguments":[]}}}],"return":[{"Vector":"Address"}]},"active_validators":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"validator_set","name":"ValidatorSet","typeArguments":[]}}}],"return":[{"Reference":{"Vector":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}}}]},"advance_epoch":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"validator_set","name":"ValidatorSet","typeArguments":[]}}},{"MutableReference":{"Struct":{"address":"0x2","module":"balance","name":"Balance","typeArguments":[{"Struct":{"address":"0x2","module":"sui","name":"SUI","typeArguments":[]}}]}}},{"MutableReference":{"Struct":{"address":"0x2","module":"balance","name":"Balance","typeArguments":[{"Struct":{"address":"0x2","module":"sui","name":"SUI","typeArguments":[]}}]}}},{"MutableReference":{"Struct":{"address":"0x2","module":"vec_map","name":"VecMap","typeArguments":["Address",{"Struct":{"address":"0x2","module":"vec_set","name":"VecSet","typeArguments":["Address"]}}]}}},"U64","U64",{"MutableReference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[]},"assert_no_pending_or_active_duplicates":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"validator_set","name":"ValidatorSet","typeArguments":[]}}},{"Reference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}}],"return":[]},"calculate_total_stakes":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Vector":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}}}],"return":["U64"]},"convert_to_fungible_staked_sui":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"validator_set","name":"ValidatorSet","typeArguments":[]}}},{"Struct":{"address":"0x3","module":"staking_pool","name":"StakedSui","typeArguments":[]}},{"MutableReference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[{"Struct":{"address":"0x3","module":"staking_pool","name":"FungibleStakedSui","typeArguments":[]}}]},"derive_reference_gas_price":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"validator_set","name":"ValidatorSet","typeArguments":[]}}}],"return":["U64"]},"get_active_or_pending_or_candidate_validator_ref":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"validator_set","name":"ValidatorSet","typeArguments":[]}}},"Address","U8"],"return":[{"Reference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}}]},"get_active_validator_ref":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"validator_set","name":"ValidatorSet","typeArguments":[]}}},"Address"],"return":[{"Reference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}}]},"get_pending_validator_ref":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"validator_set","name":"ValidatorSet","typeArguments":[]}}},"Address"],"return":[{"Reference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}}]},"get_validator_mut":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Vector":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}}},"Address"],"return":[{"MutableReference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}}]},"get_validator_mut_with_ctx":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"validator_set","name":"ValidatorSet","typeArguments":[]}}},{"Reference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[{"MutableReference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}}]},"get_validator_mut_with_ctx_including_candidates":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"validator_set","name":"ValidatorSet","typeArguments":[]}}},{"Reference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[{"MutableReference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}}]},"get_validator_mut_with_verified_cap":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"validator_set","name":"ValidatorSet","typeArguments":[]}}},{"Reference":{"Struct":{"address":"0x3","module":"validator_cap","name":"ValidatorOperationCap","typeArguments":[]}}},"Bool"],"return":[{"MutableReference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}}]},"is_active_validator":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"validator_set","name":"ValidatorSet","typeArguments":[]}}},"Address"],"return":["Bool"]},"is_active_validator_by_sui_address":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"validator_set","name":"ValidatorSet","typeArguments":[]}}},"Address"],"return":["Bool"]},"is_at_risk_validator":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"validator_set","name":"ValidatorSet","typeArguments":[]}}},"Address"],"return":["Bool"]},"is_duplicate_validator":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Vector":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}}},{"Reference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}}],"return":["Bool"]},"is_inactive_validator":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"validator_set","name":"ValidatorSet","typeArguments":[]}}},{"Struct":{"address":"0x2","module":"object","name":"ID","typeArguments":[]}}],"return":["Bool"]},"is_validator_candidate":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"validator_set","name":"ValidatorSet","typeArguments":[]}}},"Address"],"return":["Bool"]},"new":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"Vector":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}},{"MutableReference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[{"Struct":{"address":"0x3","module":"validator_set","name":"ValidatorSet","typeArguments":[]}}]},"next_epoch_validator_count":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"validator_set","name":"ValidatorSet","typeArguments":[]}}}],"return":["U64"]},"pool_exchange_rates":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"validator_set","name":"ValidatorSet","typeArguments":[]}}},{"Reference":{"Struct":{"address":"0x2","module":"object","name":"ID","typeArguments":[]}}}],"return":[{"Reference":{"Struct":{"address":"0x2","module":"table","name":"Table","typeArguments":["U64",{"Struct":{"address":"0x3","module":"staking_pool","name":"PoolTokenExchangeRate","typeArguments":[]}}]}}}]},"redeem_fungible_staked_sui":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"validator_set","name":"ValidatorSet","typeArguments":[]}}},{"Struct":{"address":"0x3","module":"staking_pool","name":"FungibleStakedSui","typeArguments":[]}},{"Reference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[{"Struct":{"address":"0x2","module":"balance","name":"Balance","typeArguments":[{"Struct":{"address":"0x2","module":"sui","name":"SUI","typeArguments":[]}}]}}]},"request_add_stake":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"validator_set","name":"ValidatorSet","typeArguments":[]}}},"Address",{"Struct":{"address":"0x2","module":"balance","name":"Balance","typeArguments":[{"Struct":{"address":"0x2","module":"sui","name":"SUI","typeArguments":[]}}]}},{"MutableReference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[{"Struct":{"address":"0x3","module":"staking_pool","name":"StakedSui","typeArguments":[]}}]},"request_add_validator":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"validator_set","name":"ValidatorSet","typeArguments":[]}}},{"Reference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[]},"request_add_validator_candidate":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"validator_set","name":"ValidatorSet","typeArguments":[]}}},{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}},{"MutableReference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[]},"request_remove_validator":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"validator_set","name":"ValidatorSet","typeArguments":[]}}},{"Reference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[]},"request_remove_validator_candidate":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"validator_set","name":"ValidatorSet","typeArguments":[]}}},{"MutableReference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[]},"request_set_commission_rate":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"validator_set","name":"ValidatorSet","typeArguments":[]}}},"U64",{"Reference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[]},"request_withdraw_stake":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"validator_set","name":"ValidatorSet","typeArguments":[]}}},{"Struct":{"address":"0x3","module":"staking_pool","name":"StakedSui","typeArguments":[]}},{"Reference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[{"Struct":{"address":"0x2","module":"balance","name":"Balance","typeArguments":[{"Struct":{"address":"0x2","module":"sui","name":"SUI","typeArguments":[]}}]}}]},"staking_pool_mappings":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"validator_set","name":"ValidatorSet","typeArguments":[]}}}],"return":[{"Reference":{"Struct":{"address":"0x2","module":"table","name":"Table","typeArguments":[{"Struct":{"address":"0x2","module":"object","name":"ID","typeArguments":[]}},"Address"]}}}]},"sum_voting_power_by_addresses":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Vector":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}}},{"Reference":{"Vector":"Address"}}],"return":["U64"]},"total_stake":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"validator_set","name":"ValidatorSet","typeArguments":[]}}}],"return":["U64"]},"validator_address_by_pool_id":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"validator_set","name":"ValidatorSet","typeArguments":[]}}},{"Reference":{"Struct":{"address":"0x2","module":"object","name":"ID","typeArguments":[]}}}],"return":["Address"]},"validator_by_pool_id":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"validator_set","name":"ValidatorSet","typeArguments":[]}}},{"Reference":{"Struct":{"address":"0x2","module":"object","name":"ID","typeArguments":[]}}}],"return":[{"Reference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}}]},"validator_stake_amount":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"validator_set","name":"ValidatorSet","typeArguments":[]}}},"Address"],"return":["U64"]},"validator_staking_pool_id":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"validator_set","name":"ValidatorSet","typeArguments":[]}}},"Address"],"return":[{"Struct":{"address":"0x2","module":"object","name":"ID","typeArguments":[]}}]},"validator_total_stake_amount":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"validator_set","name":"ValidatorSet","typeArguments":[]}}},"Address"],"return":["U64"]},"validator_voting_power":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[{"Reference":{"Struct":{"address":"0x3","module":"validator_set","name":"ValidatorSet","typeArguments":[]}}},"Address"],"return":["U64"]},"verify_cap":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"validator_set","name":"ValidatorSet","typeArguments":[]}}},{"Reference":{"Struct":{"address":"0x3","module":"validator_cap","name":"UnverifiedValidatorOperationCap","typeArguments":[]}}},"U8"],"return":[{"Struct":{"address":"0x3","module":"validator_cap","name":"ValidatorOperationCap","typeArguments":[]}}]}}},"validator_wrapper":{"fileFormatVersion":6,"address":"0x3","name":"validator_wrapper","friends":[{"address":"0x3","name":"validator_set"}],"structs":{"ValidatorWrapper":{"abilities":{"abilities":["Store"]},"typeParameters":[],"fields":[{"name":"inner","type":{"Struct":{"address":"0x2","module":"versioned","name":"Versioned","typeArguments":[]}}}]}},"exposedFunctions":{"create_v1":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}},{"MutableReference":{"Struct":{"address":"0x2","module":"tx_context","name":"TxContext","typeArguments":[]}}}],"return":[{"Struct":{"address":"0x3","module":"validator_wrapper","name":"ValidatorWrapper","typeArguments":[]}}]},"destroy":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"Struct":{"address":"0x3","module":"validator_wrapper","name":"ValidatorWrapper","typeArguments":[]}}],"return":[{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}]},"load_validator_maybe_upgrade":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Struct":{"address":"0x3","module":"validator_wrapper","name":"ValidatorWrapper","typeArguments":[]}}}],"return":[{"MutableReference":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}}]}}},"voting_power":{"fileFormatVersion":6,"address":"0x3","name":"voting_power","friends":[{"address":"0x3","name":"validator_set"}],"structs":{"VotingPowerInfo":{"abilities":{"abilities":["Drop"]},"typeParameters":[],"fields":[{"name":"validator_index","type":"U64"},{"name":"voting_power","type":"U64"}]},"VotingPowerInfoV2":{"abilities":{"abilities":["Drop"]},"typeParameters":[],"fields":[{"name":"validator_index","type":"U64"},{"name":"voting_power","type":"U64"},{"name":"stake","type":"U64"}]}},"exposedFunctions":{"derive_raw_voting_power":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":["U64","U64"],"return":["U64"]},"quorum_threshold":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[],"return":["U64"]},"set_voting_power":{"visibility":"Friend","isEntry":false,"typeParameters":[],"parameters":[{"MutableReference":{"Vector":{"Struct":{"address":"0x3","module":"validator","name":"Validator","typeArguments":[]}}}},"U64"],"return":[]},"total_voting_power":{"visibility":"Public","isEntry":false,"typeParameters":[],"parameters":[],"return":["U64"]}}}}', ); export function loadAllTypes(coder: MoveCoder) { _0x1.loadAllTypes(coder); _0x2.loadAllTypes(coder); for (const m of Object.values(MODULES)) { coder.load(m as any, "0x3"); } } loadAllTypes(defaultMoveCoder(SuiNetwork.MAIN_NET)); loadAllTypes(defaultMoveCoder(SuiNetwork.TEST_NET));