Module sui_system::genesis
- Struct
GenesisValidatorMetadata
- Struct
GenesisChainParameters
- Struct
TokenDistributionSchedule
- Struct
TokenAllocation
- Constants
- Function
create
- Function
allocate_tokens
- Function
activate_validators
use std::address;
use std::ascii;
use std::bcs;
use std::option;
use std::string;
use std::type_name;
use std::u64;
use std::vector;
use sui::address;
use sui::bag;
use sui::balance;
use sui::coin;
use sui::config;
use sui::deny_list;
use sui::dynamic_field;
use sui::dynamic_object_field;
use sui::event;
use sui::hex;
use sui::object;
use sui::pay;
use sui::priority_queue;
use sui::sui;
use sui::table;
use sui::table_vec;
use sui::transfer;
use sui::tx_context;
use sui::types;
use sui::url;
use sui::vec_map;
use sui::vec_set;
use sui::versioned;
use sui_system::stake_subsidy;
use sui_system::staking_pool;
use sui_system::storage_fund;
use sui_system::sui_system;
use sui_system::sui_system_state_inner;
use sui_system::validator;
use sui_system::validator_cap;
use sui_system::validator_set;
use sui_system::validator_wrapper;
use sui_system::voting_power;
Struct GenesisValidatorMetadata
public struct GenesisValidatorMetadata has copy, drop
Click to open
Fields
Struct GenesisChainParameters
public struct GenesisChainParameters has copy, drop
Click to open
Fields
Struct TokenDistributionSchedule
public struct TokenDistributionSchedule
Click to open
Fields
Struct TokenAllocation
public struct TokenAllocation
Click to open
Fields
Constants
The create function was called with duplicate validators.
const EDuplicateValidator: u64 = 1;
The create function was called at a non-genesis epoch.
const ENotCalledAtGenesis: u64 = 0;
Function create
This function will be explicitly called once at genesis. It will create a singleton SuiSystemState object, which contains all the information we need in the system.
fun create(sui_system_state_id: sui::object::UID, sui_supply: sui::balance::Balance<sui::sui::SUI>, genesis_chain_parameters: sui_system::genesis::GenesisChainParameters, genesis_validators: vector<sui_system::genesis::GenesisValidatorMetadata>, token_distribution_schedule: sui_system::genesis::TokenDistributionSchedule, ctx: &mut sui::tx_context::TxContext)
Click to open
Implementation
Function allocate_tokens
fun allocate_tokens(sui_supply: sui::balance::Balance<sui::sui::SUI>, allocations: vector<sui_system::genesis::TokenAllocation>, validators: &mut vector<sui_system::validator::Validator>, ctx: &mut sui::tx_context::TxContext)
Click to open
Implementation
Function activate_validators
fun activate_validators(validators: &mut vector<sui_system::validator::Validator>)
Click to open