Skip to main content

initialize_tempo_genesis

Function initialize_tempo_genesis 

Source
pub fn initialize_tempo_genesis(
    storage: &mut impl PrecompileStorageProvider,
    admin: Address,
    recipient: Address,
) -> Result<(), TempoPrecompileError>
Expand description

Initialize Tempo precompiles and contracts using a storage provider.

This is the core initialization logic that sets up Tempo-specific precompiles, fee tokens (PathUSD, AlphaUSD, BetaUSD, ThetaUSD), and standard contracts.

This function should be called during genesis setup when running in Tempo mode. It uses the StorageCtx pattern to work with any storage backend that implements PrecompileStorageProvider.

ยงArguments

  • storage - A mutable reference to a storage provider implementing PrecompileStorageProvider
  • admin - The admin address that will have control over tokens and config
  • recipient - The address that will receive minted tokens

Ref: https://github.com/tempoxyz/tempo/blob/main/xtask/src/genesis_args.rs