@@ -16,6 +16,7 @@ import { PermitSignature } from "../../src/test/utils/PermitSignature.sol";
1616import { T1Constants } from "../../src/libraries/constants/T1Constants.sol " ;
1717
1818// solhint-disable var-name-mixedcase
19+ // solhint-disable reason-string
1920
2021contract SwapERC20 is Script , PermitSignature {
2122 address private L1_GATEWAY_ROUTER_PROXY_ADDR = vm.envAddress ("L1_GATEWAY_ROUTER_PROXY_ADDR " );
@@ -24,12 +25,14 @@ contract SwapERC20 is Script, PermitSignature {
2425 address private L1_USDT_ADDR = vm.envAddress ("L1_USDT_ADDR " );
2526 uint256 private ALICE_PRIVATE_KEY = vm.envUint ("ALICE_PRIVATE_KEY " );
2627 address private alice = vm.addr (ALICE_PRIVATE_KEY);
27- uint256 private inputTokenAmount = 1e15 ; // WETH
28- uint256 private outputTokenAmount = 10e18 ; // USDT
28+ uint256 private MARKET_MAKER_PRIVATE_KEY = vm.envUint ("MARKET_MAKER_PRIVATE_KEY " );
29+ address private marketMaker = vm.addr (MARKET_MAKER_PRIVATE_KEY);
30+ uint256 private inputTokenAmount = 0.0001 ether ; // WETH
31+ uint256 private outputTokenAmount = 1 ether ; // USDT
2932
3033 function run () external {
3134 vm.createSelectFork (vm.rpcUrl ("sepolia " ));
32- vm.startBroadcast (ALICE_PRIVATE_KEY );
35+ vm.startBroadcast (MARKET_MAKER_PRIVATE_KEY );
3336
3437 // Alice needs WETH to swap for USDT
3538 // Bridge should have USDT to swap for WETH
@@ -38,8 +41,8 @@ contract SwapERC20 is Script, PermitSignature {
3841
3942 ISignatureTransfer.PermitTransferFrom memory permit = ISignatureTransfer.PermitTransferFrom ({
4043 permitted: ISignatureTransfer.TokenPermissions ({ token: L1_WETH_ADDR, amount: inputTokenAmount }),
41- nonce: 0 ,
42- deadline: block .timestamp + 1000
44+ nonce: uint256 ( keccak256 ( abi.encodePacked ( msg . sender , block . timestamp , block . prevrandao ))) ,
45+ deadline: block .timestamp + 10_000_000
4346 });
4447
4548 IL1GatewayRouter.Witness memory witness = IL1GatewayRouter.Witness ({
@@ -71,11 +74,11 @@ contract SwapERC20 is Script, PermitSignature {
7174 }
7275
7376 // Check if the ERC20 gateway has approved the permit2 to transfer USDT
74- // TODO include check allowance transfer to the router on USDT
77+ // TODO - Check if allowance has expired
7578 if (T1StandardERC20 (L1_USDT_ADDR).allowance (L1_STANDARD_ERC20_GATEWAY_PROXY_ADDR, permit2) < outputTokenAmount)
7679 {
7780 IL1StandardERC20Gateway (L1_STANDARD_ERC20_GATEWAY_PROXY_ADDR).allowRouterToTransfer (
78- L1_USDT_ADDR, type (uint160 ).max, uint48 (block .timestamp + 1000 )
81+ L1_USDT_ADDR, type (uint160 ).max, uint48 (block .timestamp + 10_000_000 )
7982 );
8083 }
8184
@@ -85,9 +88,9 @@ contract SwapERC20 is Script, PermitSignature {
8588 "ERC20 gateway doesn't have enough USDT "
8689 );
8790
88- // Use SetMM script to set this address as the router's market maker
91+ // Use SetMM script to set alice as the router's market maker
8992 require (
90- IL1GatewayRouter (L1_GATEWAY_ROUTER_PROXY_ADDR).marketMaker () == address ( this ) ,
93+ IL1GatewayRouter (L1_GATEWAY_ROUTER_PROXY_ADDR).marketMaker () == marketMaker ,
9194 "Signer is not the market maker in the router "
9295 );
9396
0 commit comments