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

API

staking_pool

Module0x23ec…39f5
Move path
0x23ec…39f5::staking_pool
Functions
359 public, 0 entry
Structs
5
staking_pool

Declarations

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

module staking_pool;
struct PoolRewardData has drop, store {
start_index: u128,
end_index: u128,
}
struct STAKING_POOL has drop {
dummy_field: bool,
}
struct StakingPool has store, key {
id: UID,
unbond_bucket: VecMap<u64, u64>,
total_vote_power: u64,
last_update_at: u64,
current_epoch: u64,
current_global_index: u128,
epoch_data: VecMap<u64, PoolRewardData>,
reward: Balance<mmt::MMT>,
reward_remain_amount: u128,
reward_rate: u128,
init_reward_at: u64,
reward_end_at: u64,
total_reward_allocated: u128,
reward_last_update_at: u64,
}
struct UpdatePoolRewardEmissionEvent has copy, drop {
sender: address,
current_reward: u64,
total_reward_allocated: u128,
reward_remain_amount: u128,
reward_end_at: u64,
reward_rate: u128,
}
struct UserRewardData has drop, store {
last_claimed_at: u64,
last_claimed_epoch: u64,
last_claimed_index: u128,
reward_claimed: u128,
}
public(package) fun add_to_unbond_bucket(&mut StakingPool,&u64,u64)
fun assert_pool_synced(&StakingPool,&Clock)
fun assert_reward_claimed(&ve_token::VeToken,&Clock)
public fun calculate_epoch_total_vote_power(&StakingPool,&ve_mmt::VeMMT,u64): u64
fun calculate_reward_single_epoch(&StakingPool,&ve_mmt::VeMMT,&ve_token::VeToken,u64,u128,u64): (u128, u128)
fun calculate_total_vote_power_at_epoch_id(&StakingPool,&vote_power::VotePowerConfig,&epoch::EpochConfig,u64): u64
public(package) fun claim_reward(&mut StakingPool,&ve_mmt::VeMMT,&mut ve_token::VeToken,&Clock): Balance<mmt::MMT>
public(package) fun claim_reward_single_epoch(&mut StakingPool,&ve_mmt::VeMMT,&mut ve_token::VeToken,&Clock): Balance<mmt::MMT>
public fun current_epoch(&StakingPool): u64
public fun current_global_index(&StakingPool): u128
public(package) fun deposit(&mut StakingPool,&ve_mmt::VeMMT,&mut ve_token::VeToken,&Clock)
public(package) fun finalize_epoch_and_create_next(&mut StakingPool,u64)
public fun get_epoch_data_by_epoch_id(&StakingPool,u64): (u128, u128)
public(package) fun get_unbond_bucket(&StakingPool): VecMap<u64, u64>
public(package) fun get_unbond_bucket_entry_by_key(&StakingPool,u64): u64
public(package) fun get_user_claim_reward_data(&StakingPool,&ve_mmt::VeMMT,&ve_token::VeToken): (u128, u128)
public fun get_user_reward_data(&ve_token::VeToken): (u64, u64, u128, u128)
fun init(STAKING_POOL)
public(package) fun init_reward(&mut StakingPool,u64)
public fun init_reward_at(&StakingPool): u64
public(package) fun init_user_reward_data(&mut ve_token::VeToken,u64,u64,u128)
public(package) fun initialize(&mut StakingPool,&epoch::EpochConfig,&Clock)
public(package) fun is_ve_staked(&ve_token::VeToken): bool
public fun last_update_at(&StakingPool): u64
public(package) fun remove_from_unbond_bucket(&mut StakingPool,&u64,u64)
public fun reward_data(&StakingPool): (u64, u64, u64, u64, u128, u128, u128)
fun should_skip_index_update(&StakingPool,u128,u64): bool
public(package) fun sync_or_advance_epoch(&mut StakingPool,&ve_mmt::VeMMT,&Clock)
public fun total_vote_power(&StakingPool): u64
public(package) fun transition_to_next_epoch(&mut StakingPool,&vote_power::VotePowerConfig,&epoch::EpochConfig,u64)
public(package) fun update_global_index(&mut StakingPool,u128,u64)
public(package) fun update_reward_emission(&mut StakingPool,Balance<mmt::MMT>,u64)
public(package) fun update_reward_info(&mut StakingPool,u64)
public(package) fun update_user_reward_data(&mut ve_token::VeToken,u64,u64,u128,u128)
public(package) fun withdraw(&mut StakingPool,&ve_mmt::VeMMT,&mut ve_token::VeToken,&Clock)