IAcrossSpokePoolV3

Git Source

Functions

depositV3

FUNCTIONS *

function depositV3(
    address depositor,
    address recipient,
    address inputToken,
    address outputToken,
    uint256 inputAmount,
    uint256 outputAmount,
    uint256 destinationChainId,
    address exclusiveRelayer,
    uint32 quoteTimestamp,
    uint32 fillDeadline,
    uint32 exclusivityDeadline,
    bytes calldata message
) external payable;

depositV3Now

function depositV3Now(
    address depositor,
    address recipient,
    address inputToken,
    address outputToken,
    uint256 inputAmount,
    uint256 outputAmount,
    uint256 destinationChainId,
    address exclusiveRelayer,
    uint32 fillDeadlineOffset,
    uint32 exclusivityDeadline,
    bytes calldata message
) external payable;

speedUpV3Deposit

function speedUpV3Deposit(
    address depositor,
    uint32 depositId,
    uint256 updatedOutputAmount,
    address updatedRecipient,
    bytes calldata updatedMessage,
    bytes calldata depositorSignature
) external;

fillV3Relay

function fillV3Relay(V3RelayData calldata relayData, uint256 repaymentChainId) external;

fillV3RelayWithUpdatedDeposit

function fillV3RelayWithUpdatedDeposit(
    V3RelayData calldata relayData,
    uint256 repaymentChainId,
    uint256 updatedOutputAmount,
    address updatedRecipient,
    bytes calldata updatedMessage,
    bytes calldata depositorSignature
) external;

requestV3SlowFill

function requestV3SlowFill(V3RelayData calldata relayData) external;

executeV3SlowRelayLeaf

function executeV3SlowRelayLeaf(V3SlowFill calldata slowFillLeaf, uint32 rootBundleId, bytes32[] calldata proof)
    external;

Events

V3FundsDeposited

EVENTS *

event V3FundsDeposited(
    address inputToken,
    address outputToken,
    uint256 inputAmount,
    uint256 outputAmount,
    uint256 indexed destinationChainId,
    uint32 indexed depositId,
    uint32 quoteTimestamp,
    uint32 fillDeadline,
    uint32 exclusivityDeadline,
    address indexed depositor,
    address recipient,
    address exclusiveRelayer,
    bytes message
);

RequestedSpeedUpV3Deposit

event RequestedSpeedUpV3Deposit(
    uint256 updatedOutputAmount,
    uint32 indexed depositId,
    address indexed depositor,
    address updatedRecipient,
    bytes updatedMessage,
    bytes depositorSignature
);

FilledV3Relay

event FilledV3Relay(
    address inputToken,
    address outputToken,
    uint256 inputAmount,
    uint256 outputAmount,
    uint256 repaymentChainId,
    uint256 indexed originChainId,
    uint32 indexed depositId,
    uint32 fillDeadline,
    uint32 exclusivityDeadline,
    address exclusiveRelayer,
    address indexed relayer,
    address depositor,
    address recipient,
    bytes message,
    V3RelayExecutionEventInfo relayExecutionInfo
);

RequestedV3SlowFill

event RequestedV3SlowFill(
    address inputToken,
    address outputToken,
    uint256 inputAmount,
    uint256 outputAmount,
    uint256 indexed originChainId,
    uint32 indexed depositId,
    uint32 fillDeadline,
    uint32 exclusivityDeadline,
    address exclusiveRelayer,
    address depositor,
    address recipient,
    bytes message
);

Errors

DisabledRoute

ERRORS *

error DisabledRoute();

InvalidQuoteTimestamp

error InvalidQuoteTimestamp();

InvalidFillDeadline

error InvalidFillDeadline();

InvalidExclusiveRelayer

error InvalidExclusiveRelayer();

MsgValueDoesNotMatchInputAmount

error MsgValueDoesNotMatchInputAmount();

NotExclusiveRelayer

error NotExclusiveRelayer();

NoSlowFillsInExclusivityWindow

error NoSlowFillsInExclusivityWindow();

RelayFilled

error RelayFilled();

InvalidSlowFillRequest

error InvalidSlowFillRequest();

ExpiredFillDeadline

error ExpiredFillDeadline();

InvalidMerkleProof

error InvalidMerkleProof();

InvalidChainId

error InvalidChainId();

InvalidMerkleLeaf

error InvalidMerkleLeaf();

ClaimedMerkleLeaf

error ClaimedMerkleLeaf();

InvalidPayoutAdjustmentPct

error InvalidPayoutAdjustmentPct();

WrongERC7683OrderId

error WrongERC7683OrderId();

LowLevelCallFailed

error LowLevelCallFailed(bytes data);

Structs

V3RelayData

STRUCTS *

struct V3RelayData {
    address depositor;
    address recipient;
    address exclusiveRelayer;
    address inputToken;
    address outputToken;
    uint256 inputAmount;
    uint256 outputAmount;
    uint256 originChainId;
    uint32 depositId;
    uint32 fillDeadline;
    uint32 exclusivityDeadline;
    bytes message;
}

V3SlowFill

struct V3SlowFill {
    V3RelayData relayData;
    uint256 chainId;
    uint256 updatedOutputAmount;
}

V3RelayExecutionParams

struct V3RelayExecutionParams {
    V3RelayData relay;
    bytes32 relayHash;
    uint256 updatedOutputAmount;
    address updatedRecipient;
    bytes updatedMessage;
    uint256 repaymentChainId;
}

V3RelayExecutionEventInfo

struct V3RelayExecutionEventInfo {
    address updatedRecipient;
    bytes updatedMessage;
    uint256 updatedOutputAmount;
    FillType fillType;
}

Enums

FillStatus

ENUMS *

enum FillStatus {
    Unfilled,
    RequestedSlowFill,
    Filled
}

FillType

enum FillType {
    FastFill,
    ReplacedSlowFill,
    SlowFill
}