Skip to content

Commit 7f2d785

Browse files
committed
add nonce to incomingBridgeTransferIds
1 parent aa7c489 commit 7f2d785

File tree

2 files changed

+10
-14
lines changed

2 files changed

+10
-14
lines changed

protocol-units/bridge/contracts/src/NativeBridge.sol

+4-8
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,7 @@ contract NativeBridge is AccessControlUpgradeable, PausableUpgradeable, INativeB
1717
uint256 nonce;
1818
}
1919
mapping(bytes32 bridgeTransferId => OutgoingBridgeTransfer) public outgoingBridgeTransfers;
20-
mapping(bytes32 bridgeTransferId => bool completed) public incomingBridgeTransfers;
21-
mapping(uint256 nonce => bytes32 bridgeTransferId) public noncesToBridgeTransferIds;
20+
mapping(uint256 nonce => bytes32 incomingBridgeTransferId) public noncesToIncomingBridgeTransferIds;
2221

2322
IERC20 public moveToken;
2423
bytes32 public constant RELAYER_ROLE = keccak256(abi.encodePacked("RELAYER_ROLE"));
@@ -108,13 +107,10 @@ contract NativeBridge is AccessControlUpgradeable, PausableUpgradeable, INativeB
108107
InvalidBridgeTransferId()
109108
);
110109
// Ensure the bridge transfer has not already been completed
111-
require(!incomingBridgeTransfers[bridgeTransferId], CompletedBridgeTransferId());
110+
require(noncesToIncomingBridgeTransferIds[nonce] == bytes32(0x0), CompletedBridgeTransferId());
112111

113-
// Mark the bridge transfer as completed
114-
incomingBridgeTransfers[bridgeTransferId] = true;
115-
116-
// Store the nonce to bridge transfer ID mapping for future reference
117-
noncesToBridgeTransferIds[nonce] = bridgeTransferId;
112+
// Store the nonce to bridge transfer ID
113+
noncesToIncomingBridgeTransferIds[nonce] = bridgeTransferId;
118114

119115
// Transfer the MOVE tokens to the recipient
120116
if (!moveToken.transfer(recipient, amount)) revert MOVETransferFailed();

protocol-units/bridge/contracts/test/NativeBridge.t.sol

+6-6
Original file line numberDiff line numberDiff line change
@@ -111,10 +111,10 @@ contract NativeBridgeTest is Test {
111111
console.log("Testing correct values");
112112
nativeBridge.completeBridgeTransfer(bridgeTransferId, _originator, _recipient, _amount, _nonce);
113113

114-
bool completed =
115-
nativeBridge.incomingBridgeTransfers(bridgeTransferId);
114+
bytes32 _bridgeTransferId =
115+
nativeBridge.noncesToIncomingBridgeTransferIds(_nonce);
116116

117-
assertTrue(completed);
117+
assertEq(_bridgeTransferId, bridgeTransferId);
118118
vm.stopPrank();
119119
}
120120

@@ -143,10 +143,10 @@ contract NativeBridgeTest is Test {
143143
nativeBridge.batchCompleteBridgeTransfer(bridgeTransferIds, originators, recipients, amounts, nonces);
144144

145145
for (uint256 i; i < length; i++) {
146-
bool completed =
147-
nativeBridge.incomingBridgeTransfers(bridgeTransferIds[i]);
146+
bytes32 bridgeTransferId =
147+
nativeBridge.noncesToIncomingBridgeTransferIds(nonces[i]);
148148

149-
assertTrue(completed);
149+
assertEq(bridgeTransferId, bridgeTransferIds[i]);
150150
}
151151

152152
vm.expectRevert(INativeBridge.CompletedBridgeTransferId.selector);

0 commit comments

Comments
 (0)