For the complete documentation index, see llms.txt. This page is also available as Markdown.

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 as bytes32). 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 and onlyOwner pause/unpause.

  • ReentrancyGuard on fulfillment entrypoint.

  • Uses SafeERC20 for token transfers.

  • fulfillments[orderHash] == 0 check prevents double-fulfillment.

Last updated