@@ -3,29 +3,6 @@ pragma solidity ^0.8.24;
33
44import {IERC20 } from "openzeppelin-contracts/contracts/token/ERC20/IERC20.sol " ;
55
6- /// @notice Tokens sent by the swapper as inputs to the order
7- /// @dev From ERC-7683
8- struct Input {
9- /// @dev The address of the ERC20 token on the origin chain
10- address token;
11- /// @dev The amount of the token to be sent
12- uint256 amount;
13- }
14-
15- /// @notice Tokens that must be receive for a valid order fulfillment
16- /// @dev From ERC-7683
17- struct Output {
18- /// @dev The address of the ERC20 token on the destination chain
19- /// @dev address(0) used as a sentinel for the native token
20- address token;
21- /// @dev The amount of the token to be sent
22- uint256 amount;
23- /// @dev The address to receive the output tokens
24- address recipient;
25- /// @dev The destination chain for this output
26- uint32 chainId;
27- }
28-
296/// @notice Contract capable of processing fulfillment of intent-based Orders.
307abstract contract OrderDestination {
318 /// @notice Emitted when an Order output is fulfilled.
@@ -54,6 +31,29 @@ abstract contract OrderDestination {
5431
5532/// @notice Contract capable of registering initiation of intent-based Orders.
5633abstract contract OrderOrigin {
34+ /// @notice Tokens sent by the swapper as inputs to the order
35+ /// @dev From ERC-7683
36+ struct Input {
37+ /// @dev The address of the ERC20 token on the origin chain
38+ address token;
39+ /// @dev The amount of the token to be sent
40+ uint256 amount;
41+ }
42+
43+ /// @notice Tokens that must be receive for a valid order fulfillment
44+ /// @dev From ERC-7683
45+ struct Output {
46+ /// @dev The address of the ERC20 token on the destination chain
47+ /// @dev address(0) used as a sentinel for the native token
48+ address token;
49+ /// @dev The amount of the token to be sent
50+ uint256 amount;
51+ /// @dev The address to receive the output tokens
52+ address recipient;
53+ /// @dev The destination chain for this output
54+ uint32 chainId;
55+ }
56+
5757 /// @notice Thrown when an Order is submitted with a deadline that has passed.
5858 error OrderExpired ();
5959
0 commit comments