@@ -173,17 +173,16 @@ contract ERC7786OpenBridge is IERC7786GatewaySource, IERC7786Receiver, Ownable,
173
173
* not revert. Any value accrued that way can be recovered by the admin using the {sweep} function.
174
174
*/
175
175
// slither-disable-next-line reentrancy-no-eth
176
- function executeMessage (
176
+ function receiveMessage (
177
177
bytes32 /*receiveId*/ ,
178
178
bytes calldata sender , // Binary Interoperable Address
179
- bytes calldata payload ,
180
- bytes [] calldata attributes
179
+ bytes calldata payload
181
180
) public payable virtual whenNotPaused returns (bytes4 ) {
182
181
// Check sender is a trusted bridge
183
182
require (keccak256 (getRemoteBridge (sender)) == keccak256 (sender), ERC7786OpenBridgeInvalidCrosschainSender ());
184
183
185
184
// Message reception tracker
186
- bytes32 id = keccak256 (abi.encode (sender, payload, attributes ));
185
+ bytes32 id = keccak256 (abi.encode (sender, payload));
187
186
Tracker storage tracker = _trackers[id];
188
187
189
188
// If call is first from a trusted gateway
@@ -194,7 +193,7 @@ contract ERC7786OpenBridge is IERC7786GatewaySource, IERC7786Receiver, Ownable,
194
193
emit Received (id, msg .sender );
195
194
196
195
// if already executed, leave gracefully
197
- if (tracker.executed) return IERC7786Receiver .executeMessage .selector ;
196
+ if (tracker.executed) return IERC7786Receiver .receiveMessage .selector ;
198
197
} else if (tracker.executed) {
199
198
revert ERC7786OpenBridgeAlreadyExecuted ();
200
199
}
@@ -210,10 +209,7 @@ contract ERC7786OpenBridge is IERC7786GatewaySource, IERC7786Receiver, Ownable,
210
209
// prevent re-entry
211
210
tracker.executed = true ;
212
211
213
- bytes memory call = abi.encodeCall (
214
- IERC7786Receiver .executeMessage,
215
- (id, originalSender, unwrappedPayload, attributes)
216
- );
212
+ bytes memory call = abi.encodeCall (IERC7786Receiver .receiveMessage, (id, originalSender, unwrappedPayload));
217
213
// slither-disable-next-line reentrancy-no-eth
218
214
(, address target ) = recipient.parseEvmV1 ();
219
215
(bool success , bytes memory returndata ) = target.call (call);
@@ -222,7 +218,7 @@ contract ERC7786OpenBridge is IERC7786GatewaySource, IERC7786Receiver, Ownable,
222
218
// rollback to enable retry
223
219
tracker.executed = false ;
224
220
emit ExecutionFailed (id);
225
- } else if (bytes32 (returndata) == bytes32 (IERC7786Receiver .executeMessage .selector )) {
221
+ } else if (bytes32 (returndata) == bytes32 (IERC7786Receiver .receiveMessage .selector )) {
226
222
// call successful and correct value returned
227
223
emit ExecutionSuccess (id);
228
224
} else {
@@ -231,7 +227,7 @@ contract ERC7786OpenBridge is IERC7786GatewaySource, IERC7786Receiver, Ownable,
231
227
}
232
228
}
233
229
234
- return IERC7786Receiver .executeMessage .selector ;
230
+ return IERC7786Receiver .receiveMessage .selector ;
235
231
}
236
232
237
233
// =================================================== Getters ===================================================
@@ -281,7 +277,7 @@ contract ERC7786OpenBridge is IERC7786GatewaySource, IERC7786Receiver, Ownable,
281
277
_unpause ();
282
278
}
283
279
284
- /// @dev Recovery method in case value is ever received through {executeMessage }
280
+ /// @dev Recovery method in case value is ever received through {receiveMessage }
285
281
function sweep (address payable to ) public virtual onlyOwner {
286
282
Address.sendValue (to, address (this ).balance);
287
283
}
0 commit comments