Search by name, SuiNS, address, digest, object ID, coin type or checkpoint.

Move path
0xbde4…f47d::staking
Functions
7346 public, 0 entry
Structs
20
staking

Declarations

Rebuilt from the module interface. No verified source is published, and function bodies are only available as bytecode.

module staking;
struct EpochClaim has store {
epoch: u64,
amount: u64,
approved: bool,
}
struct ExchangeRateUpdated has copy, drop {
old: u64,
new: u64,
}
struct PoolInfo has store {
total_staked: u64,
rewards: u64,
}
struct PoolSystemUnstaked has copy, drop {
validator: address,
epoch: u64,
sui_amount: u64,
unstaked_all: bool,
}
struct RewardsFeeCollected has copy, drop {
owner: address,
sui_amount: u64,
}
struct RewardsInjected has copy, drop {
owner: address,
sui_amount: u64,
}
struct ServiceFeeCollected has copy, drop {
owner: address,
sui_amount: u64,
}
struct Staking has key {
id: UID,
version: u64,
sui_vault: vault::Vault<SUI>,
claim_sui_vault: vault::Vault<SUI>,
protocol_sui_vault: vault::Vault<SUI>,
service_sui_vault: vault::Vault<SUI>,
stsui_treasury_cap: TreasuryCap<hasui::HASUI>,
unstake_epochs: vector<EpochClaim>,
total_staked: u64,
total_unstaked: u64,
total_rewards: u64,
total_protocol_fees: u64,
uncollected_protocol_fees: u64,
stsui_supply: u64,
unclaimed_sui_amount: u64,
pause_stake: bool,
pause_unstake: bool,
validators: vector<address>,
pools: Table<address, PoolInfo>,
user_selected_validator_bals: VecMap<address, Balance<SUI>>,
rewards_last_updated_epoch: u64,
}
struct SuiRewardsUpdated has copy, drop {
old: u64,
new: u64,
fee: u64,
}
struct SystemStaked has copy, drop {
staked_sui_id: ID,
epoch: u64,
sui_amount: u64,
validator: address,
}
struct SystemUnstaked has copy, drop {
epoch: u64,
sui_amount: u64,
approved_amount: u64,
}
struct UnstakeTicket has key {
id: UID,
unstake_timestamp_ms: u64,
st_amount: u64,
sui_amount: u64,
claim_epoch: u64,
claim_timestamp_ms: u64,
}
struct UserClaimed has copy, drop {
id: ID,
owner: address,
sui_amount: u64,
}
struct UserInstantUnstaked has copy, drop {
owner: address,
sui_amount: u64,
st_amount: u64,
}
struct UserNormalUnstaked has copy, drop {
owner: address,
epoch: u64,
epoch_timestamp_ms: u64,
unstake_timestamp_ms: u64,
sui_amount: u64,
st_amount: u64,
}
struct UserSelectedStaking has drop {
validator: address,
amount: u64,
}
struct UserStaked has copy, drop {
owner: address,
sui_amount: u64,
st_amount: u64,
validator: address,
}
struct ValidatorStakedInfo has store {
validator: address,
total_staked: u64,
rewards: u64,
staked_sui_count: u64,
}
struct ValidatorStakedInfoV2 has store {
validator: address,
total_staked: u64,
rewards: u64,
staked_sui_count: u64,
pool_id: ID,
exchange_rates_unexisted_epoches: vector<u64>,
stake_activation_epoches: vector<u64>,
}
struct VersionUpdated has copy, drop {
old: u64,
new: u64,
}
public fun assert_version(&Staking)
fun calculate_staked_sui_rewards(&mut sui_system::SuiSystemState,&staking_pool::StakedSui,u64): u64
fun calculate_validator_pool_rewards_increase(&mut sui_system::SuiSystemState,&mut PoolInfo,u64): u64
public fun claim(&mut Staking,UnstakeTicket)
public fun claim_coin(&mut Staking,UnstakeTicket): Coin<SUI>
public fun claim_coin_v2(&mut sui_system::SuiSystemState,&mut Staking,UnstakeTicket): Coin<SUI>
public fun claim_v2(&mut sui_system::SuiSystemState,&mut Staking,UnstakeTicket)
public(package) fun collect_rewards_fee(&mut Staking,address)
public(package) fun collect_rewards_fee_v2(&mut sui_system::SuiSystemState,&mut Staking,address)
public(package) fun collect_service_fee(&mut Staking,address)
public fun destroy_ValidatorStakedInfoV2(ValidatorStakedInfoV2)
public(package) fun do_stake(&mut Staking,&mut sui_system::SuiSystemState,vector<address>)
public(package) fun do_unstake_onchain_by_validator(&mut Staking,&mut sui_system::SuiSystemState,vector<address>)
fun do_validator_unstake(&mut Staking,&mut sui_system::SuiSystemState,&mut Balance<SUI>,address,u64,u64): u64
public fun get_all_current_validator_staked_info(&Staking,&mut sui_system::SuiSystemState): vector<ValidatorStakedInfo>
public fun get_cached_validator_number(&Staking): u64
public fun get_config(&Staking): &config::StakingConfig
public fun get_config_mut(&mut Staking): &mut config::StakingConfig
public fun get_current_validator_staked_info(&Staking,&mut sui_system::SuiSystemState,address): ValidatorStakedInfo
public fun get_current_validator_staked_info_detail_single(&Staking,&mut sui_system::SuiSystemState,address,bool): ValidatorStakedInfoV2
public fun get_current_validator_staked_info_detail_vector(&Staking,&mut sui_system::SuiSystemState,bool): vector<ValidatorStakedInfoV2>
public fun get_exchange_rate(&Staking): u64
public fun get_protocol_sui_vault_amount(&Staking): u64
public fun get_service_sui_vault_amount(&Staking): u64
fun get_split_amount(&mut sui_system::SuiSystemState,&staking_pool::StakedSui,u64,u64): (u64, u64)
public fun get_staked_validator(&Staking,address): bool
public fun get_staked_validators(&Staking): vector<address>
public fun get_stsui_by_sui(&Staking, u64): u64
public fun get_stsui_supply(&Staking): u64
public fun get_sui_by_stsui(&Staking, u64): u64
public fun get_sui_vault_amount(&Staking): u64
public fun get_total_protocol_fees(&Staking): u64
public fun get_total_rewards(&Staking): u64
public fun get_total_staked(&Staking): u64
public fun get_total_sui(&Staking): u64
public fun get_total_sui_cap(&Staking): u64
public fun get_total_unstaked(&Staking): u64
public fun get_unclaimed_sui_amount(&Staking): u64
public fun get_uncollected_protocol_fees(&Staking): u64
public fun get_user_selected_staking(&mut Staking): vector<UserSelectedStaking>
fun get_user_selected_validators(&mut Staking,&vector<address>): (vector<address>, vector<Balance<SUI>>, Balance<SUI>)
public fun get_validator_staked_info(&Staking): vector<ValidatorStakedInfo>
public fun get_version(&Staking): u64
public fun import_stake_sui_vec(&mut sui_system::SuiSystemState,&mut Staking,vector<staking_pool::StakedSui>,address): Coin<hasui::HASUI>
public(package) fun initialize(TreasuryCap<hasui::HASUI>)
public fun inject_rewards(&mut sui_system::SuiSystemState,&mut Staking,Coin<SUI>)
fun is_active_validator(address, &vector<address>): bool
public(package) fun migrate(&mut Staking)
public fun query_pause_claim(&Staking): bool
public fun request_stake_coin(&mut sui_system::SuiSystemState,&mut Staking,Coin<SUI>,address): Coin<hasui::HASUI>
public fun request_unstake_delay(&mut Staking,&Clock,Coin<hasui::HASUI>)
public fun request_unstake_instant(&mut Staking,Coin<hasui::HASUI>)
public fun request_unstake_instant_coin(&mut sui_system::SuiSystemState,&mut Staking,Coin<hasui::HASUI>): Coin<SUI>
public fun request_unstake_instant_v2(&mut sui_system::SuiSystemState,&mut Staking,Coin<hasui::HASUI>)
fun save_user_selected_staking(&mut Staking,Coin<SUI>,address)
public(package) fun sort_validators(&mut Staking,vector<address>)
fun stake_to_validator(Balance<SUI>,&mut Staking,&mut sui_system::SuiSystemState,address)
fun stake_user_selected_validators(&mut Staking,&mut sui_system::SuiSystemState,&vector<address>): Balance<SUI>
public fun ticket_claim_epoch(&UnstakeTicket): u64
public fun ticket_claim_timestamp_ms(&UnstakeTicket): u64
public fun ticket_st_amount(&UnstakeTicket): u64
public fun ticket_sui_amount(&UnstakeTicket): u64
public fun ticket_unstake_timestamp_ms(&UnstakeTicket): u64
public(package) fun toggle_claim(&mut Staking,bool)
public(package) fun toggle_stake(&mut Staking,bool)
public(package) fun toggle_unstake(&mut Staking,bool)
public(package) fun unstake_from_validator(&mut Staking,&mut sui_system::SuiSystemState,address,u64)
public(package) fun unstake_inactive_validators(&mut Staking,&mut sui_system::SuiSystemState)
public(package) fun unstake_validator_pools(&mut Staking,&mut sui_system::SuiSystemState,vector<address>)
public(package) fun update_total_rewards_onchain(&mut Staking,&mut sui_system::SuiSystemState)
public(package) fun update_validator_rewards(&mut Staking,&mut sui_system::SuiSystemState,address)
fun withdraw_staked_sui(&mut sui_system::SuiSystemState,staking_pool::StakedSui,&mut Balance<SUI>): (u64, u64)
fun withdraw_sui(&mut sui_system::SuiSystemState,&mut Staking,u64,bool): Balance<SUI>