Skip to content

Commit 96457ef

Browse files
committed
move structs into contract
1 parent 257e9ec commit 96457ef

File tree

1 file changed

+23
-23
lines changed

1 file changed

+23
-23
lines changed

src/Orders.sol

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -3,29 +3,6 @@ pragma solidity ^0.8.24;
33

44
import {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.
307
abstract 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.
5633
abstract 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

Comments
 (0)