Skip to content

Commit ac8d25a

Browse files
authored
fix(evm): L04 - Remove repeated function (#829)
Signed-off-by: Chris Maree <christopher.maree@gmail.com>
1 parent 4a50042 commit ac8d25a

File tree

1 file changed

+12
-20
lines changed

1 file changed

+12
-20
lines changed

contracts/erc7683/ERC7683OrderDepositor.sol

Lines changed: 12 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
99

1010
import { Output, GaslessCrossChainOrder, OnchainCrossChainOrder, ResolvedCrossChainOrder, IOriginSettler, FillInstruction } from "./ERC7683.sol";
1111
import { AcrossOrderData, AcrossOriginFillerData, ERC7683Permit2Lib, ACROSS_ORDER_DATA_TYPE_HASH } from "./ERC7683Permit2Lib.sol";
12-
import { AddressToBytes32 } from "../libraries/AddressConverters.sol";
12+
import { AddressToBytes32, Bytes32ToAddress } from "../libraries/AddressConverters.sol";
1313

1414
/**
1515
* @notice ERC7683OrderDepositor processes an external order type and translates it into an AcrossV3 deposit.
@@ -19,6 +19,7 @@ import { AddressToBytes32 } from "../libraries/AddressConverters.sol";
1919
*/
2020
abstract contract ERC7683OrderDepositor is IOriginSettler {
2121
using SafeERC20 for IERC20;
22+
using Bytes32ToAddress for bytes32;
2223
using AddressToBytes32 for address;
2324

2425
error WrongSettlementContract();
@@ -66,7 +67,7 @@ abstract contract ERC7683OrderDepositor is IOriginSettler {
6667

6768
_callDeposit(
6869
order.user,
69-
_toAddress(acrossOrderData.recipient),
70+
acrossOrderData.recipient.toAddress(),
7071
acrossOrderData.inputToken,
7172
acrossOrderData.outputToken,
7273
acrossOrderData.inputAmount,
@@ -97,7 +98,7 @@ abstract contract ERC7683OrderDepositor is IOriginSettler {
9798

9899
_callDeposit(
99100
msg.sender,
100-
_toAddress(acrossOrderData.recipient),
101+
acrossOrderData.recipient.toAddress(),
101102
acrossOrderData.inputToken,
102103
acrossOrderData.outputToken,
103104
acrossOrderData.inputAmount,
@@ -208,7 +209,7 @@ abstract contract ERC7683OrderDepositor is IOriginSettler {
208209

209210
Output[] memory maxSpent = new Output[](1);
210211
maxSpent[0] = Output({
211-
token: _toBytes32(acrossOrderData.outputToken),
212+
token: acrossOrderData.outputToken.toBytes32(),
212213
amount: acrossOrderData.outputAmount,
213214
recipient: acrossOrderData.recipient,
214215
chainId: acrossOrderData.destinationChainId
@@ -220,9 +221,9 @@ abstract contract ERC7683OrderDepositor is IOriginSettler {
220221
// repayment on.
221222
Output[] memory minReceived = new Output[](1);
222223
minReceived[0] = Output({
223-
token: _toBytes32(acrossOrderData.inputToken),
224+
token: acrossOrderData.inputToken.toBytes32(),
224225
amount: acrossOrderData.inputAmount,
225-
recipient: _toBytes32(acrossOriginFillerData.exclusiveRelayer),
226+
recipient: acrossOriginFillerData.exclusiveRelayer.toBytes32(),
226227
chainId: block.chainid
227228
});
228229

@@ -242,7 +243,7 @@ abstract contract ERC7683OrderDepositor is IOriginSettler {
242243
relayData.message = acrossOrderData.message;
243244
fillInstructions[0] = FillInstruction({
244245
destinationChainId: SafeCast.toUint64(acrossOrderData.destinationChainId),
245-
destinationSettler: _toBytes32(_destinationSettler(acrossOrderData.destinationChainId)),
246+
destinationSettler: _destinationSettler(acrossOrderData.destinationChainId).toBytes32(),
246247
originData: abi.encode(relayData)
247248
});
248249

@@ -272,7 +273,7 @@ abstract contract ERC7683OrderDepositor is IOriginSettler {
272273

273274
Output[] memory maxSpent = new Output[](1);
274275
maxSpent[0] = Output({
275-
token: _toBytes32(acrossOrderData.outputToken),
276+
token: acrossOrderData.outputToken.toBytes32(),
276277
amount: acrossOrderData.outputAmount,
277278
recipient: acrossOrderData.recipient,
278279
chainId: acrossOrderData.destinationChainId
@@ -284,9 +285,9 @@ abstract contract ERC7683OrderDepositor is IOriginSettler {
284285
// repayment on.
285286
Output[] memory minReceived = new Output[](1);
286287
minReceived[0] = Output({
287-
token: _toBytes32(acrossOrderData.inputToken),
288+
token: acrossOrderData.inputToken.toBytes32(),
288289
amount: acrossOrderData.inputAmount,
289-
recipient: _toBytes32(acrossOrderData.exclusiveRelayer),
290+
recipient: acrossOrderData.exclusiveRelayer.toBytes32(),
290291
chainId: block.chainid
291292
});
292293

@@ -306,7 +307,7 @@ abstract contract ERC7683OrderDepositor is IOriginSettler {
306307
relayData.message = acrossOrderData.message;
307308
fillInstructions[0] = FillInstruction({
308309
destinationChainId: SafeCast.toUint64(acrossOrderData.destinationChainId),
309-
destinationSettler: _toBytes32(_destinationSettler(acrossOrderData.destinationChainId)),
310+
destinationSettler: _destinationSettler(acrossOrderData.destinationChainId).toBytes32(),
310311
originData: abi.encode(relayData)
311312
});
312313

@@ -352,15 +353,6 @@ abstract contract ERC7683OrderDepositor is IOriginSettler {
352353
);
353354
}
354355

355-
function _toBytes32(address input) internal pure returns (bytes32) {
356-
return bytes32(uint256(uint160(input)));
357-
}
358-
359-
function _toAddress(bytes32 _bytes32) internal pure returns (address) {
360-
require(uint256(_bytes32) >> 160 == 0, "Invalid bytes32: highest 12 bytes must be 0");
361-
return address(uint160(uint256(_bytes32)));
362-
}
363-
364356
function _callDeposit(
365357
address depositor,
366358
address recipient,

0 commit comments

Comments
 (0)