Transaction Hash:
Block:
22481446 at May-14-2025 12:36:11 PM +UTC
Transaction Fee:
0.0023099950341627 ETH
$6.92
Gas Used:
241,225 Gas / 9.576101292 Gwei
Emitted Events:
373 |
WETH9.Deposit( dst=MainnetSettler, wad=318438824947521 )
|
374 |
WETH9.Transfer( src=MainnetSettler, dst=UniswapV2Pair, wad=318438824947521 )
|
375 |
TmcBx.Transfer( from=UniswapV2Pair, to=Spender, value=307714093472465626475 )
|
376 |
UniswapV2Pair.Sync( reserve0=9692285906527534373525, reserve1=10318438824947521 )
|
377 |
UniswapV2Pair.Swap( sender=MainnetSettler, amount0In=0, amount1In=318438824947521, amount0Out=307714093472465626475, amount1Out=0, to=Spender )
|
378 |
TmcBx.Transfer( from=Spender, to=[Sender] 0xebbf052a186c6c6272f23391760c34439251f138, value=307714093472465626475 )
|
379 |
MetaSwap.Swap( 0xbeee1e6e7fe307ddcf84b0a16137a4430ad5e2480fc4f4a8e250ab56ccd7630d, 0x83203d0886d1c2c42122151c4282225c18a1e1561f04ae69d57528da4bb99db6, 0x000000000000000000000000ebbf052a186c6c6272f23391760c34439251f138 )
|
Account State Difference:
Address | Before | After | State Difference | ||
---|---|---|---|---|---|
0x17150840...998024a50 | |||||
0x4838B106...B0BAD5f97
Miner
| (Titan Builder) | 7.122484022138454212 Eth | 7.122725247138695437 Eth | 0.000241225000241225 | |
0x97AF529B...2E22502F6 | |||||
0xC02aaA39...83C756Cc2 | 2,740,767.551705086485720914 Eth | 2,740,767.552023525310668435 Eth | 0.000318438824947521 | ||
0xe3478b0B...948Be1964 | 376.932300499240039027 Eth | 376.932303310175442095 Eth | 0.000002810935403068 | ||
0xEbbF052A...39251f138 |
0.004347241357741631 Eth
Nonce: 63
|
0.001715996563228342 Eth
Nonce: 64
| 0.002631244794513289 |
Execution Trace
ETH 0.000321249760350589
MetaSwap.swap( aggregatorId=0xV2, tokenFrom=0x0000000000000000000000000000000000000000, amount=321249760350589, data=0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000017150840C6002D60207DB95AB093BD6998024A500000000000000000000000000000000000000000000000000001219E510B2F4100000000000000000000000000000000000000000000001058FBAAEBAB81EC5900000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000028E78CE623C000000000000000000000000E3478B0BB1A5084567C319096437924948BE1964000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004242213BC0B0000000000000000000000005418226AF9C8D5D287A78FBBBCD337B86EC07D6100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001219E510B2F410000000000000000000000005418226AF9C8D5D287A78FBBBCD337B86EC07D6100000000000000000000000000000000000000000000000000000000000000A000000000000000000000000000000000000000000000000000000000000003441FFF991F00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A04177D1239557EDF8682126190000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000010438C9C147000000000000000000000000EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE0000000000000000000000000000000000000000000000000000000000002710000000000000000000000000C02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000A00000000000000000000000000000000000000000000000000000000000000024D0E30DB00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000C4103B48BE00000000000000000000000074DE5D4FCBF63E00296FD95D33236B9794016631000000000000000000000000C02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2000000000000000000000000000000000000000000000000000000000000271000000000000000000000000097AF529B8759059709DC10471F638EA2E22502F60000000000000000000000000000000000000000000000000000000000001E0000000000000000000000000000000000000000000000001083AFDE4C1D956FD8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 )
ETH 0.000321249760350589
Spender.swap( adapter=0x3261d7831DCd2CA040696A095A94b68F2cD204B8, data=0x92F5F037000000000000000000000000EBBF052A186C6C6272F23391760C34439251F138000000000000000000000000000000000000000000000000000000000000000000000000000000000000000017150840C6002D60207DB95AB093BD6998024A500000000000000000000000000000000000000000000000000001219E510B2F4100000000000000000000000000000000000000000000001058FBAAEBAB81EC5900000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000028E78CE623C000000000000000000000000E3478B0BB1A5084567C319096437924948BE1964000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004242213BC0B0000000000000000000000005418226AF9C8D5D287A78FBBBCD337B86EC07D6100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001219E510B2F410000000000000000000000005418226AF9C8D5D287A78FBBBCD337B86EC07D6100000000000000000000000000000000000000000000000000000000000000A000000000000000000000000000000000000000000000000000000000000003441FFF991F00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A04177D1239557EDF8682126190000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000010438C9C147000000000000000000000000EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE0000000000000000000000000000000000000000000000000000000000002710000000000000000000000000C02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000A00000000000000000000000000000000000000000000000000000000000000024D0E30DB00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000C4103B48BE00000000000000000000000074DE5D4FCBF63E00296FD95D33236B9794016631000000000000000000000000C02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2000000000000000000000000000000000000000000000000000000000000271000000000000000000000000097AF529B8759059709DC10471F638EA2E22502F60000000000000000000000000000000000000000000000000000000000001E0000000000000000000000000000000000000000000000001083AFDE4C1D956FD8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 )
ETH 0.000321249760350589
0x3261d7831dcd2ca040696a095a94b68f2cd204b8.92f5f037( )
ETH 0.000318438824947521
AllowanceHolder.2213bc0b( )
-
MainnetSettler.balanceOf( 0x000000000000000000000000000000000000dEaD )
ETH 0.000318438824947521
MainnetSettler.execute( slippage=[{name:recipient, type:address, order:1, indexed:false, value:0x0000000000000000000000000000000000000000, valueString:0x0000000000000000000000000000000000000000}, {name:buyToken, type:address, order:2, indexed:false, value:0x0000000000000000000000000000000000000000, valueString:0x0000000000000000000000000000000000000000}, {name:minAmountOut, type:uint256, order:3, indexed:false, value:0, valueString:0}], actions=[OMnBRwAAAAAAAAAAAAAAAO7u7u7u7u7u7u7u7u7u7u7u7u7uAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJxAAAAAAAAAAAAAAAADAKqo5siP+jQoOXE8n6tkIPHVswgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJNDjDbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=, EDtIvgAAAAAAAAAAAAAAAHTeXU/L9j4AKW/ZXTMja5eUAWYxAAAAAAAAAAAAAAAAwCqqObIj/o0KDlxPJ+rZCDx1bMIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnEAAAAAAAAAAAAAAAAJevUpuHWQWXCdwQRx9jjqLiJQL2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABCDr95MHZVv2A==], 4177D1239557EDF8682126190000000000000000000000000000000000000000 ) => ( True )
- ETH 0.000318438824947521
WETH9.deposit( )
-
WETH9.balanceOf( 0x5418226aF9C8d5D287A78FbBbCD337b86ec07D61 ) => ( 318438824947521 )
-
WETH9.transfer( dst=0x97AF529B8759059709dC10471f638ea2E22502F6, wad=318438824947521 ) => ( True )
-
UniswapV2Pair.STATICCALL( )
UniswapV2Pair.swap( amount0Out=307714093472465626475, amount1Out=0, to=0x74de5d4FCbf63E00296fd95d33236B9794016631, data=0x )
- ETH 0.000318438824947521
-
- ETH 0.000002810935403068
0xe3478b0bb1a5084567c319096437924948be1964.CALL( )
-
TmcBx.balanceOf( account=0x74de5d4FCbf63E00296fd95d33236B9794016631 ) => ( 307714093472465626475 )
-
TmcBx.transfer( recipient=0xEbbF052A186C6c6272F23391760C34439251f138, amount=307714093472465626475 ) => ( True )
swap[MetaSwap (ln:1598)]
_swap[MetaSwap (ln:1604)]
safeTransferFrom[MetaSwap (ln:1637)]
swap[MetaSwap (ln:1639)]
encode[MetaSwap (ln:1643)]
Swap[MetaSwap (ln:1648)]
File 1 of 7: MetaSwap
File 2 of 7: WETH9
File 3 of 7: MainnetSettler
File 4 of 7: UniswapV2Pair
File 5 of 7: Spender
File 6 of 7: TmcBx
File 7 of 7: AllowanceHolder
12345678910111213141516pragma solidity ^0.6.0;import "@openzeppelin/contracts/token/ERC20/IERC20.sol";import "@openzeppelin/contracts/token/ERC20/SafeERC20.sol";import "@openzeppelin/contracts/utils/Address.sol";import "../Constants.sol";contract CommonAdapter {using SafeERC20 for IERC20;using Address for address;using Address for address payable;/*** @dev Performs a swap* @param recipient The original msg.sender performing the swap* @param aggregator Address of the aggregator's contract* @param spender Address to which tokens will be approved* @param method Selector of the function to be called in the aggregator's contract* @param tokenFrom Token to be swapped
File 2 of 7: 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 3 of 7: MainnetSettler
12345678910111213141516// SPDX-License-Identifier: MITpragma solidity =0.8.25 >=0.6.2 >=0.8.25 ^0.8.0 ^0.8.25;// lib/forge-std/src/interfaces/IERC20.sol/// @dev Interface of the ERC20 standard as defined in the EIP./// @dev This includes the optional name, symbol, and decimals metadata.interface IERC20 {/// @dev Emitted when `value` tokens are moved from one account (`from`) to another (`to`).event Transfer(address indexed from, address indexed to, uint256 value);/// @dev Emitted when the allowance of a `spender` for an `owner` is set, where `value`/// is the new allowance.event Approval(address indexed owner, address indexed spender, uint256 value);/// @notice Returns the amount of tokens in existence.function totalSupply() external view returns (uint256);/// @notice Returns the amount of tokens owned by `account`.function balanceOf(address account) external view returns (uint256);/// @notice Moves `amount` tokens from the caller's account to `to`.
File 4 of 7: UniswapV2Pair
12345678910111213141516// File: contracts/interfaces/IUniswapV2Pair.solpragma solidity >=0.5.0;interface IUniswapV2Pair {event Approval(address indexed owner, address indexed spender, uint value);event Transfer(address indexed from, address indexed to, uint value);function name() external pure returns (string memory);function symbol() external pure returns (string memory);function decimals() external pure returns (uint8);function totalSupply() external view returns (uint);function balanceOf(address owner) external view returns (uint);function allowance(address owner, address spender) external view returns (uint);function approve(address spender, uint value) external returns (bool);
File 5 of 7: Spender
1{"Constants.84ef19f8.sol":{"content":"// SPDX-License-Identifier: MIT\r\n\r\npragma solidity ^0.6.0;\r\n\r\nlibrary Constants {\r\n address internalconstant ETH = 0x0000000000000000000000000000000000000000;\r\n}\r\n"},"Spender.3372a096.sol":{"content":"// SPDX-License-Identifier:MIT\r\n\r\npragma solidity ^0.6.0;\r\n\r\nimport \"./Constants.84ef19f8.sol\";\r\n\r\ncontract Spender {\r\n address public immutable metaswap;\r\n\r\n constructor() public {\r\n metaswap = msg.sender;\r\n }\r\n\r\n /// @dev Receives ether from swaps\r\n fallback()external payable {}\r\n\r\n function swap(address adapter, bytes calldata data) external payable {\r\n require(msg.sender == metaswap,\"FORBIDDEN\");\r\n require(adapter != address(0), \"ADAPTER_NOT_PROVIDED\");\r\n _delegate(adapter, data,\"ADAPTER_DELEGATECALL_FAILED\");\r\n }\r\n\r\n /**\r\n * @dev Performs a delegatecall and bubbles up the errors, adapted from\r\n *https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/utils/Address.sol\r\n * @param target Address of the contract todelegatecall\r\n * @param data Data passed in the delegatecall\r\n * @param errorMessage Fallback revert reason\r\n */\r\n function_delegate(\r\n address target,\r\n bytes memory data,\r\n string memory errorMessage\r\n ) private returns (bytes memory){\r\n // solhint-disable-next-line avoid-low-level-calls\r\n (bool success, bytes memory returndata) = target.delegatecall(data);\r\nif (success) {\r\n return returndata;\r\n } else {\r\n // Look for revert reason and bubble it up ifpresent\r\n if (returndata.length \u003e 0) {\r\n // The easiest way to bubble the revert reason is using memory viaassembly\r\n\r\n // solhint-disable-next-line no-inline-assembly\r\n assembly {\r\n letreturndata_size := mload(returndata)\r\n revert(add(32, returndata), returndata_size)\r\n }\r\n } else{\r\n revert(errorMessage);\r\n }\r\n }\r\n }\r\n}\r\n"}}
File 6 of 7: TmcBx
12345678910111213141516// SPDX-License-Identifier: MITpragma solidity 0.8.26;interface IERC20 {function totalSupply() external view returns (uint256);function balanceOf(address account) external view returns (uint256);function transfer(address recipient, uint256 amount) external returns (bool);function allowance(address owner, address spender) external view returns (uint256);function approve(address spender, uint256 amount) external returns (bool);function transferFrom(address sender,address recipient,uint256 amount) external returns (bool);event Transfer(address indexed from, address indexed to, uint256 value);
File 7 of 7: AllowanceHolder
12345678910111213141516// SPDX-License-Identifier: MITpragma solidity ^0.8.25;import {AllowanceHolderBase} from "./AllowanceHolderBase.sol";import {TransientStorage} from "./TransientStorage.sol";/// @custom:security-contact security@0x.orgcontract AllowanceHolder is TransientStorage, AllowanceHolderBase {constructor() {require(address(this) == 0x0000000000001fF3684f28c67538d4D072C22734 || block.chainid == 31337);}/// @inheritdoc AllowanceHolderBasefunction exec(address operator, address token, uint256 amount, address payable target, bytes calldata data)internaloverridereturns (bytes memory){(bytes memory result, address sender, TSlot allowance) = _exec(operator, token, amount, target, data);