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.