Context & Problem Statement
The storage management layer in contracts/invoice-token/src/storage.rs defines core ledger keys for balances, allowances, nonces, admin roles, and transfer locks. Currently, the module lacks comprehensive module-level documentation and inline /// rustdoc comments explaining key data shapes, lifecycle conventions, and Soroban storage TTL bump policies.
This issue adds exhaustive documentation across the entire storage module.
Architectural Motivation & Technical Requirements
- In
contracts/invoice-token/src/storage.rs:
- Add
//! module-level documentation explaining the storage architecture.
- Add
/// documentation to every StorageKey variant detailing:
- Purpose of the key.
- Data type stored in persistent vs instance storage.
- Read/write access patterns and TTL bump requirements.
- Add
/// documentation to all public helper functions explaining parameters, return values, and failure modes.
Acceptance Criteria
Target Branch: dev
Estimated Effort: 1–4 hours | Delivery: 1–2 days
Difficulty: Easy
Context & Problem Statement
The storage management layer in
contracts/invoice-token/src/storage.rsdefines core ledger keys for balances, allowances, nonces, admin roles, and transfer locks. Currently, the module lacks comprehensive module-level documentation and inline///rustdoc comments explaining key data shapes, lifecycle conventions, and Soroban storage TTL bump policies.This issue adds exhaustive documentation across the entire storage module.
Architectural Motivation & Technical Requirements
contracts/invoice-token/src/storage.rs://!module-level documentation explaining the storage architecture.///documentation to everyStorageKeyvariant detailing:///documentation to all public helper functions explaining parameters, return values, and failure modes.Acceptance Criteria
StorageKeyvariant documented with rustdoc comments.storage.rshave doc comments.cargo doc --no-deps -p invoice-tokencompiles without warnings.Target Branch:
devEstimated Effort: 1–4 hours | Delivery: 1–2 days
Difficulty: Easy