Transaction Hash:
Block:
21973239 at Mar-04-2025 11:30:47 AM +UTC
Transaction Fee:
0.000221902096071338 ETH
$0.84
Gas Used:
203,722 Gas / 1.089239729 Gwei
Emitted Events:
221 |
TetherToken.Transfer( from=[Sender] 0x6dc4c65095113d50f4358070e3065ded6680cf58, to=ERC20Router, value=2333923 )
|
222 |
TetherToken.Approval( owner=ERC20Router, spender=0x85CD07Ea01423b1E937929B44E4Ad8c40BbB5E71, value=2333923 )
|
223 |
TetherToken.Transfer( from=ERC20Router, to=0xAe933d0a8D630e30A2e035284e35F232F4590e33, value=2333923 )
|
224 |
WETH9.Transfer( src=0xAe933d0a8D630e30A2e035284e35F232F4590e33, dst=0x85CD07Ea01423b1E937929B44E4Ad8c40BbB5E71, wad=1107456856936323 )
|
225 |
0xae933d0a8d630e30a2e035284e35f232f4590e33.0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1( 0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1, 0000000000000000000000000000000000000000000000000377e7cd61f1de8e, 000000000000000000000000000000000000000000000000000000001f705c45 )
|
226 |
0xae933d0a8d630e30a2e035284e35f232f4590e33.0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822( 0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822, 0x00000000000000000000000085cd07ea01423b1e937929b44e4ad8c40bbb5e71, 0x00000000000000000000000085cd07ea01423b1e937929b44e4ad8c40bbb5e71, 0000000000000000000000000000000000000000000000000000000000000000, 0000000000000000000000000000000000000000000000000000000000239ce3, 0000000000000000000000000000000000000000000000000003ef39e48fcf83, 0000000000000000000000000000000000000000000000000000000000000000 )
|
227 |
WETH9.Withdrawal( src=0x85CD07Ea01423b1E937929B44E4Ad8c40BbB5E71, wad=1107456856936323 )
|
228 |
0x85cd07ea01423b1e937929b44e4ad8c40bbb5e71.0x1bf1122521093cffed0b7f29833cd231d885bae58dceb074e411a1fbd94824bd( 0x1bf1122521093cffed0b7f29833cd231d885bae58dceb074e411a1fbd94824bd, 0x000000000000000000000000a1bea5fe917450041748dbbbe7e9ac57a4bbebab, 0x000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7, 0x0000000000000000000000000000000000000000000000000000000000000000, 000000000000000000000000a1bea5fe917450041748dbbbe7e9ac57a4bbebab, 000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee, 0000000000000000000000000000000000000000000000000000000000239ce3, 0000000000000000000000000000000000000000000000000003e52764d60d70, 0000000000000000000000000000000000000000000000000003ef39e48fcf83, ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff )
|
Account State Difference:
Address | Before | After | State Difference | ||
---|---|---|---|---|---|
0x4838B106...B0BAD5f97
Miner
| (Titan Builder) | 7.169622858387432549 Eth | 7.169633044487432549 Eth | 0.0000101861 | |
0x6dc4C650...d6680Cf58 |
0.000399899072684288 Eth
Nonce: 307
|
0.001285453833549273 Eth
Nonce: 308
| 0.000885554760864985 | ||
0xAe933d0a...2F4590e33 | |||||
0xC02aaA39...83C756Cc2 | 2,859,916.913470851238224428 Eth | 2,859,916.912363394381288105 Eth | 0.001107456856936323 | ||
0xdAC17F95...13D831ec7 |
Execution Trace
ApprovalProxy.transferAndMulticall( tokens=[0xdAC17F958D2ee523a2206206994597C13D831ec7], amounts=[2333923], targets=[0xdAC17F958D2ee523a2206206994597C13D831ec7, 0xf70da97812CB96acDF810712Aa562db8dfA3dbEF, 0x85CD07Ea01423b1E937929B44E4Ad8c40BbB5E71], datas=[CV6nswAAAAAAAAAAAAAAAIXNB+oBQjsek3kptE5K2MQLu15xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjnOM=, , 3ZxflgAAAAAAAAAAAAAAANrBf5WNLuUjoiBiBplFl8E9gx7HAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjnOMAAAAAAAAAAAAAAADu7u7u7u7u7u7u7u7u7u7u7u7u7gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD7znkj8+EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPlJ2TWDXAAAAAAAAAAAAAAAAChvqX+kXRQBBdI27vn6axXpLvrqwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcwLawX+VjS7lI6IgYgaZRZfBPYMexwH//wCukz0KjWMOMKLgNShONfIy9FkOMwCFzQfqAUI7HpN5KbROStjEC7tecQALuAHAKqo5siP+jQoOXE8n6tkIPHVswgH//wIAhc0H6gFCOx6TeSm0TkrYxAu7XnEAAAAAAAAAAAAAAAAA], values=[0, 0, 0], refundTo=0x6dc4C65095113d50f4358070e3065dEd6680Cf58 ) => ( 0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000A00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000003EF39E48FCF83 )
-
TetherToken.transferFrom( _from=0x6dc4C65095113d50f4358070e3065dEd6680Cf58, _to=0xA1BEa5fe917450041748Dbbbe7E9AC57A4bBEBaB, _value=2333923 )
ERC20Router.delegatecallMulticall( targets=[0xdAC17F958D2ee523a2206206994597C13D831ec7, 0xf70da97812CB96acDF810712Aa562db8dfA3dbEF, 0x85CD07Ea01423b1E937929B44E4Ad8c40BbB5E71], datas=[CV6nswAAAAAAAAAAAAAAAIXNB+oBQjsek3kptE5K2MQLu15xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjnOM=, , 3ZxflgAAAAAAAAAAAAAAANrBf5WNLuUjoiBiBplFl8E9gx7HAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjnOMAAAAAAAAAAAAAAADu7u7u7u7u7u7u7u7u7u7u7u7u7gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD7znkj8+EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPlJ2TWDXAAAAAAAAAAAAAAAAChvqX+kXRQBBdI27vn6axXpLvrqwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcwLawX+VjS7lI6IgYgaZRZfBPYMexwH//wCukz0KjWMOMKLgNShONfIy9FkOMwCFzQfqAUI7HpN5KbROStjEC7tecQALuAHAKqo5siP+jQoOXE8n6tkIPHVswgH//wIAhc0H6gFCOx6TeSm0TkrYxAu7XnEAAAAAAAAAAAAAAAAA], values=[0, 0, 0], refundTo=0x6dc4C65095113d50f4358070e3065dEd6680Cf58 ) => ( 0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000A00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000003EF39E48FCF83 )
Multicaller.aggregate( targets=[0xdAC17F958D2ee523a2206206994597C13D831ec7, 0xf70da97812CB96acDF810712Aa562db8dfA3dbEF, 0x85CD07Ea01423b1E937929B44E4Ad8c40BbB5E71], data=[CV6nswAAAAAAAAAAAAAAAIXNB+oBQjsek3kptE5K2MQLu15xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjnOM=, , 3ZxflgAAAAAAAAAAAAAAANrBf5WNLuUjoiBiBplFl8E9gx7HAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjnOMAAAAAAAAAAAAAAADu7u7u7u7u7u7u7u7u7u7u7u7u7gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD7znkj8+EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPlJ2TWDXAAAAAAAAAAAAAAAAChvqX+kXRQBBdI27vn6axXpLvrqwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcwLawX+VjS7lI6IgYgaZRZfBPYMexwH//wCukz0KjWMOMKLgNShONfIy9FkOMwCFzQfqAUI7HpN5KbROStjEC7tecQALuAHAKqo5siP+jQoOXE8n6tkIPHVswgH//wIAhc0H6gFCOx6TeSm0TkrYxAu7XnEAAAAAAAAAAAAAAAAA], values=[0, 0, 0], refundTo=0x6dc4C65095113d50f4358070e3065dEd6680Cf58 ) => ( [, , AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPvOeSPz4M=] )
-
TetherToken.approve( _spender=0x85CD07Ea01423b1E937929B44E4Ad8c40BbB5E71, _value=2333923 )
-
Relay: Solver.CALL( )
0x85cd07ea01423b1e937929b44e4ad8c40bbb5e71.dd9c5f96( )
-
TetherToken.balanceOf( who=0xA1BEa5fe917450041748Dbbbe7E9AC57A4bBEBaB ) => ( 2333923 )
-
TetherToken.transferFrom( _from=0xA1BEa5fe917450041748Dbbbe7E9AC57A4bBEBaB, _to=0xAe933d0a8D630e30A2e035284e35F232F4590e33, _value=2333923 )
-
0xae933d0a8d630e30a2e035284e35f232f4590e33.STATICCALL( )
-
TetherToken.balanceOf( who=0xAe933d0a8D630e30A2e035284e35F232F4590e33 ) => ( 527457349 )
0xae933d0a8d630e30a2e035284e35f232f4590e33.022c0d9f( )
-
WETH9.balanceOf( 0x85CD07Ea01423b1E937929B44E4Ad8c40BbB5E71 ) => ( 1107456856936324 )
WETH9.withdraw( wad=1107456856936323 )
- ETH 0.001107456856936323
0x85cd07ea01423b1e937929b44e4ad8c40bbb5e71.CALL( )
- ETH 0.001107456856936323
- ETH 0.001107456856936323
0x85cd07ea01423b1e937929b44e4ad8c40bbb5e71.CALL( )
-
TetherToken.balanceOf( who=0xA1BEa5fe917450041748Dbbbe7E9AC57A4bBEBaB ) => ( 0 )
- ETH 0.001107456856936323
ERC20Router.CALL( )
-
- ETH 0.001107456856936323
0x6dc4c65095113d50f4358070e3065ded6680cf58.CALL( )
-
transferAndMulticall[ApprovalProxy (ln:37)]
ArrayLengthsMismatch[ApprovalProxy (ln:47)]
ArrayLengthsMismatch[ApprovalProxy (ln:51)]
safeTransferFrom[ApprovalProxy (ln:55)]
delegatecallMulticall[ApprovalProxy (ln:60)]
File 1 of 5: ApprovalProxy
File 2 of 5: ERC20Router
File 3 of 5: TetherToken
File 4 of 5: WETH9
File 5 of 5: Multicaller
12345678910111213141516// SPDX-License-Identifier: MITpragma solidity ^0.8.23;import {Ownable} from "solady/src/auth/Ownable.sol";import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";import {IERC20Router} from "../src/types/interfaces/IERC20Router.sol";contract ApprovalProxy is Ownable {using SafeERC20 for IERC20;error ArrayLengthsMismatch();error ERC20TransferFromFailed();error NativeTransferFailed();event RouterUpdated(address newRouter);address public router;receive() external payable {}constructor(address _owner, address _router) {_initializeOwner(_owner);
File 2 of 5: ERC20Router
12345678910111213141516// SPDX-License-Identifier: MITpragma solidity ^0.8.25;import {Ownable} from "solady/src/auth/Ownable.sol";import {Tstorish} from "tstorish/src/Tstorish.sol";import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";import {IERC721} from "@openzeppelin/contracts/token/ERC721/IERC721.sol";import {IERC1155} from "@openzeppelin/contracts/token/ERC1155/IERC1155.sol";import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";import {IAllowanceTransfer} from "permit2-relay/src/interfaces/IAllowanceTransfer.sol";import {ISignatureTransfer} from "permit2-relay/src/interfaces/ISignatureTransfer.sol";import {IPermit2} from "permit2-relay/src/interfaces/IPermit2.sol";import {RelayerWitness} from "./types/lib/RelayStructs.sol";import {IMulticaller} from "./types/interfaces/IMulticaller.sol";contract ERC20Router is Ownable, Tstorish {using SafeERC20 for IERC20;// --- Errors --- //
File 3 of 5: TetherToken
12345678910111213141516pragma solidity ^0.4.17;/*** @title SafeMath* @dev Math operations with safety checks that throw on error*/library SafeMath {function mul(uint256 a, uint256 b) internal pure returns (uint256) {if (a == 0) {return 0;}uint256 c = a * b;assert(c / a == b);return c;}
File 4 of 5: WETH9
12345678910111213141516// Copyright (C) 2015, 2016, 2017 Dapphub// This program is free software: you can redistribute it and/or modify// it under the terms of the GNU General Public License as published by// the Free Software Foundation, either version 3 of the License, or// (at your option) any later version.// This program is distributed in the hope that it will be useful,// but WITHOUT ANY WARRANTY; without even the implied warranty of// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the// GNU General Public License for more details.// You should have received a copy of the GNU General Public License// along with this program. If not, see <http://www.gnu.org/licenses/>.pragma solidity ^0.4.18;
File 5 of 5: Multicaller
12345678910111213141516// SPDX-License-Identifier: MITpragma solidity ^0.8.4;/*** @title Multicaller* @author vectorized.eth* @notice Contract that allows for efficient aggregation* of multiple calls in a single transaction.*/contract Multicaller {// =============================================================// ERRORS// =============================================================/*** @dev The lengths of the input arrays are not the same.*/error ArrayLengthsMismatch();