Skip to content

Bootstrap Assets Module #383

@lowhung

Description

@lowhung

Context

The Assets State module tracks native asset supply, transaction history, holder addresses, and CIP-25/CIP-68 metadata using an AssetRegistry for efficient ID-based lookups. It subscribes to asset deltas (mints/burns), UTXO deltas (for CIP-68 metadata), and address deltas (for holder tracking).

Problem

When bootstrapping from a snapshot (e.g., epoch 500), the assets state module needs to initialize from snapshot data rather than replaying all deltas from genesis. The snapshot provides current asset state through UTXO values, which contain multi-asset information (I believe?)

Acceptance Criteria

  • Asset state initializes from snapshot data during bootstrap
  • Asset registry populated from snapshot UTXOs
  • Asset supply calculated from snapshot UTXO values
  • Holder addresses indexed from snapshot
  • Normal delta processing (asset/UTXO/address) works after bootstrap

Testing Requirements

  • Bootstrap from NES snapshot initializes asset state correctly
  • Asset supply matches snapshot data
  • Holder information accurate after bootstrap

Definition of Done

  • Asset state initializes from snapshot without replaying deltas
  • Asset registry and supply accurate after bootstrap
  • Asset queries work correctly after bootstrap

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions