File tree 1 file changed +9
-5
lines changed
1 file changed +9
-5
lines changed Original file line number Diff line number Diff line change @@ -34,6 +34,7 @@ contract Swap is
34
34
error ApprovalFailed ();
35
35
error TransferFailed (string );
36
36
error InsufficientAmount (string );
37
+ error InvalidMessageLength ();
37
38
38
39
event TokenSwap (
39
40
bytes sender ,
@@ -91,13 +92,16 @@ contract Swap is
91
92
});
92
93
93
94
if (context.chainID == BITCOIN_TESTNET || context.chainID == BITCOIN) {
95
+ if (message.length < 41 ) revert InvalidMessageLength ();
94
96
params.target = BytesHelperLib.bytesToAddress (message, 0 );
95
- params.to = abi.encodePacked (
96
- BytesHelperLib.bytesToAddress (message, 20 )
97
- );
98
- if (message.length >= 41 ) {
99
- params.withdraw = BytesHelperLib.bytesToBool (message, 40 );
97
+ params.to = new bytes (message.length - 21 );
98
+ for (uint256 i = 0 ; i < message.length - 21 ; i++ ) {
99
+ params.to[i] = message[20 + i];
100
100
}
101
+ params.withdraw = BytesHelperLib.bytesToBool (
102
+ message,
103
+ message.length - 1
104
+ );
101
105
} else {
102
106
(
103
107
address targetToken ,
You can’t perform that action at this time.
0 commit comments