You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -127,18 +117,18 @@ contract FastBridgeReceiverOnEthereum is SafeBridgeReceiverOnEthereum, IFastBrid
127
117
/**
128
118
* @dev Relay the message for this `ticketID` if the challenge period has passed and the claim is unchallenged. The hash computed over `messageData` and the other parameters must match the hash provided by the claim.
129
119
* @param _ticketID The ticket identifier referring to a message going through the bridge.
130
-
* @param _blockNumber The block number on the cross-domain chain when the message with this ticketID has been sent.
120
+
* @param _blocknumber The block number on the cross-domain chain when the message with this ticketID has been sent.
131
121
* @param _messageData The data on the cross-domain chain for the message sent with this ticketID.
132
122
*/
133
123
function verifyAndRelay(
134
124
uint256_ticketID,
135
-
uint256_blockNumber,
125
+
uint256_blocknumber,
136
126
bytescalldata_messageData
137
127
) externaloverride {
138
128
Ticket storage ticket = tickets[_ticketID];
139
129
require(ticket.claim.bridger !=address(0), "Claim does not exist");
* @dev Sends an arbitrary message to Ethereum using the Safe Bridge, which relies on Arbitrum's canonical bridge. It is unnecessary during normal operations but essential only in case of challenge.
91
78
* @param _ticketID The ticketID as returned by `sendFast()`.
79
+
* @param _fastMsgSender The msg.sender which called sendFast() to register this ticketID.
92
80
* @param _receiver The address of the contract on Ethereum which receives the calldata.
93
81
* @param _calldata The receiving domain encoded message data.
94
82
*/
95
83
function sendSafeFallback(
96
84
uint256_ticketID,
85
+
address_fastBridgeReceiver,
86
+
address_fastMsgSender,
97
87
address_receiver,
98
88
bytesmemory_calldata
99
89
) externalpayableoverride {
100
90
// TODO: check if keeping _calldata in storage in sendFast() is cheaper than passing it again as a parameter here
91
+
// However calldata gas cost-benefit analysis will change with EIP-4488.
101
92
Ticket storage ticket = tickets[_ticketID];
102
93
require(ticket.messageHash !=0, "Ticket does not exist.");
103
94
require(ticket.sentSafe ==false, "Ticket already sent safely.");
Copy file name to clipboardExpand all lines: contracts/src/bridge/interfaces/IFastBridgeSender.sol
+6Lines changed: 6 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -11,13 +11,15 @@ interface IFastBridgeSender {
11
11
* @dev The Fast Bridge participants need to watch for these events and relay the messageHash on the FastBridgeReceiverOnEthereum.
12
12
* @param ticketID The ticket identifier referring to a message going through the bridge.
13
13
* @param blockNumber The block number when the message with this ticketID has been created.
14
+
* @param messageSender The address of the cross-domain receiver of the message, generally the Foreign Gateway.
14
15
* @param target The address of the cross-domain receiver of the message, generally the Foreign Gateway.
15
16
* @param messageHash The hash uniquely identifying this message.
16
17
* @param message The message data.
17
18
*/
18
19
event OutgoingMessage(
19
20
uint256indexedticketID,
20
21
uint256blockNumber,
22
+
addressmessageSender,
21
23
addresstarget,
22
24
bytes32indexedmessageHash,
23
25
bytesmessage
@@ -39,11 +41,15 @@ interface IFastBridgeSender {
39
41
/**
40
42
* @dev Sends an arbitrary message across domain using the Safe Bridge, which relies on the chain's canonical bridge. It is unnecessary during normal operations but essential only in case of challenge.
41
43
* @param _ticketID The ticketID as returned by `sendFast()`.
44
+
* @param _fastBridgeReceiver The address of the fast bridge receiver deployment.
45
+
* @param _fastMsgSender The msg.sender which called sendFast()
42
46
* @param _receiver The cross-domain contract address which receives the calldata.
43
47
* @param _calldata The receiving domain encoded message data.
0 commit comments