Transaction Hash:
Block:
19442420 at Mar-15-2024 07:26:47 PM +UTC
Transaction Fee:
0.007026852404042148 ETH
$26.03
Gas Used:
175,398 Gas / 40.062329126 Gwei
Emitted Events:
196 |
Permit2.Permit( owner=[Sender] 0xd01777f28cbbb8b8bad19a99bb133b1af356490f, token=MatchTrade, spender=[Receiver] UniversalRouter, amount=1461501637330902918203684832716283019655932542975, expiration=1713122561, nonce=1 )
|
197 |
MatchTrade.Transfer( from=[Sender] 0xd01777f28cbbb8b8bad19a99bb133b1af356490f, to=MatchTrade, value=5746755214992396344365 )
|
198 |
MatchTrade.Transfer( from=[Sender] 0xd01777f28cbbb8b8bad19a99bb133b1af356490f, to=UniswapV2Pair, value=109188349084855530542936 )
|
199 |
WETH9.Transfer( src=UniswapV2Pair, dst=[Receiver] UniversalRouter, wad=59686120801602418 )
|
200 |
UniswapV2Pair.Sync( reserve0=12737667518543753442, reserve1=23341263985029495485531330 )
|
201 |
UniswapV2Pair.Swap( sender=[Receiver] UniversalRouter, amount0In=0, amount1In=109188349084855530542936, amount0Out=59686120801602418, amount1Out=0, to=[Receiver] UniversalRouter )
|
202 |
WETH9.Withdrawal( src=[Receiver] UniversalRouter, wad=59686120801602418 )
|
Account State Difference:
Address | Before | After | State Difference | ||
---|---|---|---|---|---|
0x00000000...43aC78BA3 | (Uniswap Protocol: Permit2) | ||||
0x8a7e8C44...Ff70C5911 | |||||
0xC02aaA39...83C756Cc2 | 2,996,316.991374895635385119 Eth | 2,996,316.931688774833782701 Eth | 0.059686120801602418 | ||
0xd01777F2...Af356490f |
0.013046172467579588 Eth
Nonce: 260
|
0.065705440865139858 Eth
Nonce: 261
| 0.05265926839756027 | ||
0xDAFEA492...692c98Bc5
Miner
| (Flashbots: Builder) | 0.140941892748412984 Eth | 0.140943664460975386 Eth | 0.000001771712562402 | |
0xEB9E3C6C...7fc7D7905 |
Execution Trace
UniversalRouter.execute( commands=0x0A080C, inputs=[AAAAAAAAAAAAAAAA6548bNoXyHVaToocyUSvt/x9eQUAAAAAAAAAAAAAAAD//////////////////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmHC0BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAA/yRo6/XA5XNSWxkfVpsydSyt/rQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABl9KcJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQXU3YEDKzaamfuRuEOJjXf4tkuquaDthr5OidTu3o708ZOQy/nmg1nmLrG6jNWkzFrneqlu8KOZGIKpr2xEgiIgbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==, AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGFak/ThuO0szhQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADCigcyIQN0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAA6548bNoXyHVaToocyUSvt/x9eQUAAAAAAAAAAAAAAADAKqo5siP+jQoOXE8n6tkIPHVswg==, AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwooHMiEDdA==], deadline=1710531371 )
Permit2.permit( owner=0xd01777F28CBbb8B8bAD19A99BB133B1Af356490f, permitSingle=[{name:details, type:tuple, order:1, indexed:false, value:[{name:token, type:address, order:1, indexed:false, value:0xEB9E3C6CDa17c8755a4E8a1cc944afb7fc7D7905, valueString:0xEB9E3C6CDa17c8755a4E8a1cc944afb7fc7D7905}, {name:amount, type:uint160, order:2, indexed:false, value:1461501637330902918203684832716283019655932542975, valueString:1461501637330902918203684832716283019655932542975}, {name:expiration, type:uint48, order:3, indexed:false, value:1713122561, valueString:1713122561}, {name:nonce, type:uint48, order:4, indexed:false, value:1, valueString:1}], valueString:[{name:token, type:address, order:1, indexed:false, value:0xEB9E3C6CDa17c8755a4E8a1cc944afb7fc7D7905, valueString:0xEB9E3C6CDa17c8755a4E8a1cc944afb7fc7D7905}, {name:amount, type:uint160, order:2, indexed:false, value:1461501637330902918203684832716283019655932542975, valueString:1461501637330902918203684832716283019655932542975}, {name:expiration, type:uint48, order:3, indexed:false, value:1713122561, valueString:1713122561}, {name:nonce, type:uint48, order:4, indexed:false, value:1, valueString:1}]}, {name:spender, type:address, order:2, indexed:false, value:0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD, valueString:0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD}, {name:sigDeadline, type:uint256, order:3, indexed:false, value:1710532361, valueString:1710532361}], signature=0x75376040CACDA6A67EE46E10E2635DFE2D92EAAE683B61AF93A2753BB7A3BD3C64E432FE79A0D6798BAC6EA335693316B9DEAA5BBC28E64620AA6BDB112088881B )
-
Null: 0x000...001.554c8241( )
-
Permit2.transferFrom( from=0xd01777F28CBbb8B8bAD19A99BB133B1Af356490f, to=0x8a7e8C4433e7409945Bd18b4D7b38A3Ff70C5911, amount=114935104299847926887301, token=0xEB9E3C6CDa17c8755a4E8a1cc944afb7fc7D7905 )
-
MatchTrade.transferFrom( from=0xd01777F28CBbb8B8bAD19A99BB133B1Af356490f, to=0x8a7e8C4433e7409945Bd18b4D7b38A3Ff70C5911, amount=114935104299847926887301 ) => ( True )
-
-
WETH9.balanceOf( 0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD ) => ( 0 )
-
UniswapV2Pair.STATICCALL( )
-
MatchTrade.balanceOf( account=0x8a7e8C4433e7409945Bd18b4D7b38A3Ff70C5911 ) => ( 23341263985029495485531330 )
UniswapV2Pair.swap( amount0Out=59686120801602418, amount1Out=0, to=0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD, data=0x )
-
WETH9.balanceOf( 0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD ) => ( 59686120801602418 )
-
WETH9.balanceOf( 0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD ) => ( 59686120801602418 )
WETH9.withdraw( wad=59686120801602418 )
- ETH 0.059686120801602418
UniversalRouter.CALL( )
- ETH 0.059686120801602418
- ETH 0.059686120801602418
0xd01777f28cbbb8b8bad19a99bb133b1af356490f.CALL( )
execute[UniversalRouter (ln:16)]
execute[UniversalRouter (ln:21)]
execute[UniversalRouter (ln:21)]
File 1 of 5: UniversalRouter
File 2 of 5: Permit2
File 3 of 5: MatchTrade
File 4 of 5: UniswapV2Pair
File 5 of 5: WETH9
12345678910111213141516// SPDX-License-Identifier: GPL-3.0-or-laterpragma solidity ^0.8.17;// Command implementationsimport {Dispatcher} from './base/Dispatcher.sol';import {RewardsCollector} from './base/RewardsCollector.sol';import {RouterParameters, RouterImmutables} from './base/RouterImmutables.sol';import {Commands} from './libraries/Commands.sol';import {IUniversalRouter} from './interfaces/IUniversalRouter.sol';contract UniversalRouter is RouterImmutables, IUniversalRouter, Dispatcher, RewardsCollector {modifier checkDeadline(uint256 deadline) {if (block.timestamp > deadline) revert TransactionDeadlinePassed();_;}constructor(RouterParameters memory params) RouterImmutables(params) {}/// @inheritdoc IUniversalRouterfunction execute(bytes calldata commands, bytes[] calldata inputs, uint256 deadline)
File 2 of 5: Permit2
12345678910111213141516// SPDX-License-Identifier: AGPL-3.0-onlypragma solidity >=0.8.0;/// @notice Modern and gas efficient ERC20 + EIP-2612 implementation./// @author Solmate (https://github.com/transmissions11/solmate/blob/main/src/tokens/ERC20.sol)/// @author Modified from Uniswap (https://github.com/Uniswap/uniswap-v2-core/blob/master/contracts/UniswapV2ERC20.sol)/// @dev Do not manually set balances without updating totalSupply, as the sum of all user balances must not exceed it.abstract contract ERC20 {/*//////////////////////////////////////////////////////////////EVENTS//////////////////////////////////////////////////////////////*/event Transfer(address indexed from, address indexed to, uint256 amount);event Approval(address indexed owner, address indexed spender, uint256 amount);/*//////////////////////////////////////////////////////////////METADATA STORAGE//////////////////////////////////////////////////////////////*/string public name;
File 3 of 5: MatchTrade
12345678910111213141516pragma solidity 0.8.20;// SPDX-License-Identifier: MITabstract contract Context {function _msgSender() internal view virtual returns (address) {return msg.sender;}function _msgData() internal view virtual returns (bytes calldata) {this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691return msg.data;}}interface IERC20 {/*** @dev Returns the amount of tokens in existence.*/function totalSupply() external view returns (uint256);
File 4 of 5: 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 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;