IEscrow
The IEscrow interface defines the data structures and function signatures used by the Escrow contract. It helps external contracts and interfaces interact with the escrow in a standardized manner.
Structs
Range Defines a minimum and maximum value. Used for
intentAmountRange
.Deposit Describes all state and configuration data for a given deposit:
address depositor
β Who created the deposit.IERC20 token
β Which token (ERC-20) is deposited.uint256 amount
β How many tokens are locked in escrow.Range intentAmountRange
β The minimum and maximum each intent can claim.bool acceptingIntents
β Whether new intents can be created for this deposit.uint256 remainingDeposits
β The current unclaimed amount.uint256 outstandingIntentAmount
β Total amount locked by open/active intents.bytes32[] intentHashes
β An array of active intent identifiers.
Currency
bytes32 code
β The currency code hashed via keccak256 (e.g."USD" -> keccak256("USD")
).uint256 conversionRate
β Conversion between deposit token and this currency.
DepositVerifierData
address intentGatingService
β Optional gating service that signs off on user eligibility for an intent.string payeeDetails
β The string that identifies the payee or payee details.bytes data
β Additional proof or attestation data required for the payment verifier.
Intent
address owner
β The address that initiated the intent (the potential off-chain payer).address to
β Address that will receive on-chain funds if the intent is fulfilled.uint256 depositId
β Reference to which deposit this intent targets.uint256 amount
β Amount of the depositβs token to be claimed.uint256 timestamp
β Block timestamp when the intent was created.address paymentVerifier
β Which verifier is used to check off-chain payment.bytes32 fiatCurrency
β The keccak256 hash of the off-chain currency code (e.g.,USD
).uint256 conversionRate
β The rate used for off-chain-to-on-chain value conversion.
VerifierDataView
Binds a verifier address to its DepositVerifierData and an array of Currency structures.
DepositView
uint256 depositId
Deposit deposit
β The core deposit data.uint256 availableLiquidity
β The effective unclaimed deposit (accounting for prunable/expired intents).VerifierDataView[] verifiers
β An array of verifiers and their supported currencies.
IntentView
bytes32 intentHash
β Unique identifier for the intent.Intent intent
β The Intent struct.DepositView deposit
β Information about the deposit that the intent is targeting.
Last updated