Examine Genesis Checkpoint
The examine_genesis_checkpoint
command is a diagnostic tool designed to analyze the Genesis checkpoint state.
The command begins by extracting the system object from the genesis checkpoint and converting it to a format suitable for analysis. It prepares detailed mappings and distributions of validators, IOTA allocations, and on-chain objects to facilitate structured examination.
Validation steps:
- Validator Information Preparation The set of active validators in the genesis checkpoint is analyzed and mapped by name and staking pool ID. This mapping enables quick access to validator metadata and facilitates the verification of validator-specific information, such as their keys, addresses, and staking pools.
- IOTA Distribution Analysis The distribution of IOTA tokens is compiled into a structured format. The tool aggregates allocations for entities such as the storage fund, validators, and other recipients. It calculates total token supplies and verifies their consistency with the IOTA Treasury Cap, ensuring no discrepancies in token accounting. When a migrated state is present during the genesis ceremony, this analysis must take into account that IOTA Tokens are also stored in Stardust outputs.
- Object Categorization and Mapping
All objects in the genesis checkpoint are categorized and mapped based on their type. Key categories include:
- Gas Coins: Represent IOTA tokens.
- Staked IOTA: Tokens allocated to staking pools.
- Timelocked Staked IOTA: Staked tokens with time-based restrictions.
- Timelock Balance IOTA: Timelocked IOTA tokens.
- Basic Output: Stardust output coming from migration.
- Alias Output: Stardust output coming from migration.
- Nft Output: Stardust output coming from migration.
- Packages: Move packages.
- Coin Metadata: Metadata for tokens.
- Other Objects: Objects not fitting into the above categories. Each object is associated with its owner.
- Total Supply Validation
The total supply of IOTA tokens, including staked and allocations, is calculated and verified against the genesis
TreasuryCap
. Any inconsistency triggers an error, ensuring accurate token accounting. - Signature and Migration Data Validation Validator signatures associated with the genesis checkpoint are verified for authenticity and correctness.