V3SpokePoolInterface
Title: V3SpokePoolInterface
Author: Vendored minimal subset of Across's V3SpokePoolInterface (https://github.com/across-protocol/contracts). Upstream license: MIT.
Source-side entrypoint of the Across v3 intent/optimistic bridge: deposit escrows inputAmount of
inputToken on this chain and emits the intent a relayer may fill on destinationChainId by fronting
outputAmount of outputToken to recipient (the relayer is later reimbursed via UMA optimistic
settlement). Only the canonical bytes32 deposit entrypoint the AcrossBridgeAdapter calls is
re-declared (the legacy address-based depositV3 upstream is a thin wrapper casting into this); do
NOT add an across-protocol/contracts dependency.
Functions
deposit
Escrows inputAmount of inputToken (pulled from the caller) as an Across v3 deposit intent.
function deposit(
bytes32 depositor,
bytes32 recipient,
bytes32 inputToken,
bytes32 outputToken,
uint256 inputAmount,
uint256 outputAmount,
uint256 destinationChainId,
bytes32 exclusiveRelayer,
uint32 quoteTimestamp,
uint32 fillDeadline,
uint32 exclusivityParameter,
bytes calldata message
) external payable;Parameters
| Name | Type | Description |
|---|---|---|
| depositor | bytes32 | Who made the deposit AND who Across refunds ON THIS CHAIN if no relayer fills before fillDeadline (also the only party able to speed up the deposit).Must be a valid EVM address (top 12 bytes zero) despite the bytes32 type. |
| recipient | bytes32 | Recipient on the destination chain, right-aligned bytes32 (non-EVM capable). |
| inputToken | bytes32 | Token escrowed on THIS chain, right-aligned bytes32. msg.value must be 0unless this is the wrapped native token. |
| outputToken | bytes32 | Token the relayer fronts on the destination chain; must not be bytes32(0). |
| inputAmount | uint256 | Amount of inputToken pulled from the caller via safeTransferFrom. |
| outputAmount | uint256 | Amount of outputToken the recipient receives at fill time. |
| destinationChainId | uint256 | Across chain id of the destination chain. |
| exclusiveRelayer | bytes32 | Only relayer allowed to fill before the exclusivity deadline (bytes32(0) =no exclusivity; required non-zero when exclusivityParameter is set). |
| quoteTimestamp | uint32 | Quote-API timestamp the LP fee is priced at; must be within the SpokePool'sdepositQuoteTimeBuffer of the current time. |
| fillDeadline | uint32 | Destination-chain timestamp after which the deposit can no longer be filled (and gets refunded to depositor); bounded by fillDeadlineBuffer. |
| exclusivityParameter | uint32 | 0 = no exclusivity; <= the max period = offset added to block.timestamp;otherwise interpreted as an absolute exclusivity-deadline timestamp. |
| message | bytes | Arbitrary bytes delivered to the recipient via handleV3AcrossMessage at filltime when non-empty. |