Skip to main content

AmortizationStorageWrapper

Asset Tokenization Studio Team

AmortizationStorageWrapper

Library managing the full lifecycle of amortisation corporate actions: creation, hold placement and release, cancellation, and paginated holder queries.

All state resides at _AMORTIZATION_STORAGE_POSITION via the diamond-storage pattern. Hold creation delegates to HoldOps (deployed once, invoked via delegatecall) to keep this facet's own bytecode under the EIP-170 limit. Release still writes directly to HoldStorageWrapper storage, since it also has to resync totalHoldByAmortizationId — bookkeeping HoldOps has no notion of — in the same pass as the hold-level resync. Snapshot balances are used after the record date; live ERC1410 state is used before it.