Following a discussion in the titled-asset architecture thread, here is a concrete mapping between ERC-8348 fields/events and that family. Composition is entirely optional … ERC-8348 has no dependency on these interfaces … but where a lease is written over a titled asset, the correspondence is direct:
| ERC-8348 | Maps to | Notes |
|---|---|---|
assetReference(leaseId) |
ERC-8325 anchorId |
Needs registry address + chain context to disambiguate across registries (see below) |
agreementHash(leaseId) |
ERC-8326 bundle hash | bytes32 is already bundle-hash compatible: lease contract, schedule annex, guarantees, insurance as one canonical bundle |
LeaseCreated |
ERC-8328 issuance entry | |
LesseeAssigned |
ERC-8328 transfer-check entry | Lessee assignment is the compliance-relevant one; lessor assignment is an ERC-721 transfer |
DefaultDeclared / DefaultCured |
ERC-8328 enforcement + correction entries | Correction semantics map cleanly onto cure |
AssetReleased (repossession) |
ERC-8328 enforcement entry | |
PurchaseOptionExercised |
ERC-8328 redemption entry | |
| Lessor position (ERC-721) transfers | ERC-8327 route check | Corridor rules on portfolio assignment across jurisdictions |
| Portfolio of lease positions | ERC-8330 NAV subject | See staleness note below |
Two points worth flagging:
Subject identifiers. Agreed that alignable-by-convention beats mandatory —
an asset and an agreement written over it are different objects with different
lifecycles. Concretely, we’re considering an optional extension rather than
changing the core:
interface IFinancialLeaseAnchored {
/// @return chainId CAIP-2 style chain reference of the registry
/// @return registry ERC-8325 registry address
/// @return anchorId anchor identifier within that registry
function assetAnchor(uint256 leaseId) external view returns (
uint256 chainId, address registry, bytes32 anchorId);
}
That keeps leaseId as the lease layer’s own identifier, keeps ERC-8325 focused on asset anchoring, and makes the relationship explicit and unambiguous where it exists.
NAV staleness for lease portfolios. This is where the publication/valuation split earns its keep. A lease portfolio NAV has two independent time anchors: when the provider published, and the asOf timestamp of the index rate used to convert the outstanding schedule (ERC-8348 exposes this via conversionRateAsOf). For an inflation-indexed portfolio these can diverge materially … a NAV published today off a stale index reading understates the receivable. Valuation staleness in ERC-8330 maps directly onto the index oracle’s asOf, which suggests a lease-portfolio NAV profile could specify exactly that binding.