Skip to content

Commit 05431e4

Browse files
committed
Merge branch 'decouple-order-3-leyers' into typechain-build
2 parents d9dfda4 + b93950a commit 05431e4

File tree

4 files changed

+15
-26
lines changed

4 files changed

+15
-26
lines changed

solidity/src/Base7683.sol

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ abstract contract Base7683 is IOriginSettler, IDestinationSettler {
6363
mapping(address => mapping(uint256 => bool)) public usedNonces;
6464

6565
/// @notice Stores the resolved orders by their ID.
66-
mapping(bytes32 orderId => bytes resolvedOrder) public orders;
66+
mapping(bytes32 orderId => bytes orderData) public openOrders;
6767

6868
/// @notice Tracks filled orders and their associated data.
6969
mapping(bytes32 orderId => FilledOrder filledOrder) public filledOrders;
@@ -150,7 +150,7 @@ abstract contract Base7683 is IOriginSettler, IDestinationSettler {
150150

151151
(ResolvedCrossChainOrder memory resolvedOrder, bytes32 orderId, uint256 nonce) = _resolveOrder(_order, _originFillerData);
152152

153-
orders[orderId] = abi.encode(resolvedOrder);
153+
openOrders[orderId] = abi.encode(_order.orderDataType, _order.orderData);
154154
orderStatus[orderId] = OPENED;
155155
_useNonce(_order.user, nonce);
156156

@@ -168,7 +168,7 @@ abstract contract Base7683 is IOriginSettler, IDestinationSettler {
168168
function open(OnchainCrossChainOrder calldata _order) external payable virtual {
169169
(ResolvedCrossChainOrder memory resolvedOrder, bytes32 orderId, uint256 nonce) = _resolveOrder(_order);
170170

171-
orders[orderId] = abi.encode(resolvedOrder);
171+
openOrders[orderId] = abi.encode(_order.orderDataType, _order.orderData);
172172
orderStatus[orderId] = OPENED;
173173
_useNonce(msg.sender, nonce);
174174

solidity/src/BasicSwap7683.sol

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -134,9 +134,8 @@ abstract contract BasicSwap7683 is Base7683 {
134134
// check if the order is opened to ensure it belongs to this domain, skip otherwise
135135
if (orderStatus[_orderId] != OPENED) return;
136136

137-
ResolvedCrossChainOrder memory resolvedOrder = abi.decode(orders[_orderId], (ResolvedCrossChainOrder));
138-
139-
OrderData memory orderData = OrderEncoder.decode(resolvedOrder.fillInstructions[0].originData);
137+
(,bytes memory _orderData) = abi.decode(openOrders[_orderId], (bytes32, bytes));
138+
OrderData memory orderData = OrderEncoder.decode(_orderData);
140139

141140
orderStatus[_orderId] = SETTLED;
142141

@@ -161,9 +160,8 @@ abstract contract BasicSwap7683 is Base7683 {
161160
// check if the order is opened to ensure it belongs to this domain, skip otherwise
162161
if (orderStatus[_orderId] != OPENED) return;
163162

164-
ResolvedCrossChainOrder memory resolvedOrder = abi.decode(orders[_orderId], (ResolvedCrossChainOrder));
165-
166-
OrderData memory orderData = OrderEncoder.decode(resolvedOrder.fillInstructions[0].originData);
163+
(,bytes memory _orderData) = abi.decode(openOrders[_orderId], (bytes32, bytes));
164+
OrderData memory orderData = OrderEncoder.decode(_orderData);
167165

168166
orderStatus[_orderId] = REFUNDED;
169167

solidity/test/BaseTest.sol

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -316,9 +316,8 @@ contract BaseTest is Test, DeployPermit2 {
316316
}
317317

318318
function _orderDataById(bytes32 orderId) internal view returns (bytes memory orderData) {
319-
(ResolvedCrossChainOrder memory resolvedOrder) =
320-
abi.decode(_base7683.orders(orderId), (ResolvedCrossChainOrder));
321-
orderData = resolvedOrder.fillInstructions[0].originData;
319+
(,orderData) =
320+
abi.decode(_base7683.openOrders(orderId), (bytes32, bytes));
322321
}
323322

324323
function _assertOpenOrder(

solidity/test/BasicSwap7683.t.sol

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -100,8 +100,8 @@ contract BasicSwap7683ForTest is BasicSwap7683 {
100100
_handleRefundOrder(_orderId);
101101
}
102102

103-
function setOrderOpened(bytes32 _orderId, ResolvedCrossChainOrder memory rOrder) public {
104-
orders[_orderId] = abi.encode(rOrder);
103+
function setOrderOpened(bytes32 _orderId, OrderData memory orderData) public {
104+
openOrders[_orderId] = abi.encode(OrderEncoder.orderDataType(), OrderEncoder.encode(orderData));
105105
orderStatus[_orderId] = OPENED;
106106
}
107107

@@ -268,11 +268,9 @@ contract BasicSwap7683Test is BaseTest {
268268
function test__handleSettleOrder_works() public {
269269
OrderData memory orderData = prepareOrderData();
270270
bytes32 orderId = bytes32("order1");
271-
ResolvedCrossChainOrder memory rOrder =
272-
baseSwap.resolvedOrder(OrderEncoder.orderDataType(), kakaroto, 0, 0, OrderEncoder.encode(orderData));
273271

274272
// set the order as opened
275-
baseSwap.setOrderOpened(orderId, rOrder);
273+
baseSwap.setOrderOpened(orderId, orderData);
276274

277275
deal(address(inputToken), address(baseSwap), 1_000_000, true);
278276

@@ -295,11 +293,9 @@ contract BasicSwap7683Test is BaseTest {
295293
orderData.inputToken = TypeCasts.addressToBytes32(address(0));
296294
orderData.outputToken = TypeCasts.addressToBytes32(address(0));
297295
bytes32 orderId = bytes32("order1");
298-
ResolvedCrossChainOrder memory rOrder =
299-
baseSwap.resolvedOrder(OrderEncoder.orderDataType(), kakaroto, 0, 0, OrderEncoder.encode(orderData));
300296

301297
// set the order as opened
302-
baseSwap.setOrderOpened(orderId, rOrder);
298+
baseSwap.setOrderOpened(orderId, orderData);
303299

304300
deal(address(baseSwap), 1_000_000);
305301

@@ -337,11 +333,9 @@ contract BasicSwap7683Test is BaseTest {
337333
function test__handleRefundOrder_works() public {
338334
OrderData memory orderData = prepareOrderData();
339335
bytes32 orderId = bytes32("order1");
340-
ResolvedCrossChainOrder memory rOrder =
341-
baseSwap.resolvedOrder(OrderEncoder.orderDataType(), kakaroto, 0, 0, OrderEncoder.encode(orderData));
342336

343337
// set the order as opened
344-
baseSwap.setOrderOpened(orderId, rOrder);
338+
baseSwap.setOrderOpened(orderId, orderData);
345339

346340
deal(address(inputToken), address(baseSwap), 1_000_000, true);
347341

@@ -364,11 +358,9 @@ contract BasicSwap7683Test is BaseTest {
364358
orderData.inputToken = TypeCasts.addressToBytes32(address(0));
365359
orderData.outputToken = TypeCasts.addressToBytes32(address(0));
366360
bytes32 orderId = bytes32("order1");
367-
ResolvedCrossChainOrder memory rOrder =
368-
baseSwap.resolvedOrder(OrderEncoder.orderDataType(), kakaroto, 0, 0, OrderEncoder.encode(orderData));
369361

370362
// set the order as opened
371-
baseSwap.setOrderOpened(orderId, rOrder);
363+
baseSwap.setOrderOpened(orderId, orderData);
372364

373365
deal(address(baseSwap), 1_000_000);
374366

0 commit comments

Comments
 (0)