Payment Registry
The Payment Registry accepts fulfillments from Market Makers (MMs), transfers funds to users on the destination chain, and records immutable fulfillment data used later for HDP verification.
Storage
mapping(bytes32 => bytes32) fulfillments
: maps a fulfillment order hash to the MM’s source address (stored asbytes32
). A non-zero value indicates the order has been fulfilled and by whom.
HDP Integration
The
fulfillments
mapping is the on-chain ground truth that orders were paid on the destination chain.HDP reads the EVM storage slot for each order’s fulfillment hash to verify non-zero presence and who fulfilled it.
The mapping slot index is fixed by the contract’s storage layout and is used by the HDP module to derive the storage key for proofs.
Controls and Safety
Pausable
admin switch andonlyOwner
pause/unpause.ReentrancyGuard
on fulfillment entrypoint.Uses
SafeERC20
for token transfers.fulfillments[orderHash] == 0
check prevents double-fulfillment.
Last updated