Transaction Hash:
Block:
19173289 at Feb-07-2024 02:16:11 AM +UTC
Transaction Fee:
0.005640135477563139 ETH
$22.90
Gas Used:
194,003 Gas / 29.072413713 Gwei
Emitted Events:
90 |
TetherToken.Transfer( from=[Sender] 0x5fff8d25aaab2695b2d9cf71c3f00bc681453c7d, to=UniswapV2Pair, value=300000000 )
|
91 |
WETH9.Transfer( src=UniswapV2Pair, dst=UniswapV2Pair, wad=125647756137365351 )
|
92 |
UniswapV2Pair.Sync( reserve0=33833479542507310628327, reserve1=80539690771934 )
|
93 |
UniswapV2Pair.Swap( sender=[Receiver] UniversalRouter, amount0In=0, amount1In=300000000, amount0Out=125647756137365351, amount1Out=0, to=UniswapV2Pair )
|
94 |
StandardToken.Transfer( from=UniswapV2Pair, to=[Sender] 0x5fff8d25aaab2695b2d9cf71c3f00bc681453c7d, value=2213724602447515980524 )
|
95 |
UniswapV2Pair.Sync( reserve0=63288798042981080479278, reserve1=3707050414615171341 )
|
96 |
UniswapV2Pair.Swap( sender=[Receiver] UniversalRouter, amount0In=0, amount1In=125647756137365351, amount0Out=2213724602447515980524, amount1Out=0, to=[Sender] 0x5fff8d25aaab2695b2d9cf71c3f00bc681453c7d )
|
Account State Difference:
Address | Before | After | State Difference | ||
---|---|---|---|---|---|
0x0d4a11d5...0471f1852 | |||||
0x2E1d0324...748647499 | |||||
0x388C818C...7ccB19297
Miner
| (Lido: Execution Layer Rewards Vault) | 142.453351471837019822 Eth | 142.453538891547365948 Eth | 0.000187419710346126 | |
0x5FfF8d25...681453C7d |
0.022178269518750812 Eth
Nonce: 306
|
0.016538134041187673 Eth
Nonce: 307
| 0.005640135477563139 | ||
0x795EF0b7...5d6ac1b0D | |||||
0xC02aaA39...83C756Cc2 | |||||
0xdAC17F95...13D831ec7 |
Execution Trace
UniversalRouter.execute( commands=0x08, inputs=[AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEeGjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdZKa8VK3vobxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAA2sF/lY0u5SOiIGIGmUWXwT2DHscAAAAAAAAAAAAAAADAKqo5siP+jQoOXE8n6tkIPHVswgAAAAAAAAAAAAAAAHle8Lcpu+u77Fb427MwxoXWrBsN], deadline=1707273791 )
Permit2.transferFrom( from=0x5FfF8d25aaAb2695b2D9cF71c3f00bC681453C7d, to=0x0d4a11d5EEaaC28EC3F61d100daF4d40471f1852, amount=300000000, token=0xdAC17F958D2ee523a2206206994597C13D831ec7 )
-
TetherToken.transferFrom( _from=0x5FfF8d25aaAb2695b2D9cF71c3f00bC681453C7d, _to=0x0d4a11d5EEaaC28EC3F61d100daF4d40471f1852, _value=300000000 )
-
-
StandardToken.balanceOf( account=0x5FfF8d25aaAb2695b2D9cF71c3f00bC681453C7d ) => ( 0 )
-
UniswapV2Pair.STATICCALL( )
-
TetherToken.balanceOf( who=0x0d4a11d5EEaaC28EC3F61d100daF4d40471f1852 ) => ( 80539690771934 )
UniswapV2Pair.swap( amount0Out=125647756137365351, amount1Out=0, to=0x2E1d03246E9F60202F771d37842515e748647499, data=0x )
-
UniswapV2Pair.STATICCALL( )
-
WETH9.balanceOf( 0x2E1d03246E9F60202F771d37842515e748647499 ) => ( 3707050414615171341 )
UniswapV2Pair.swap( amount0Out=2213724602447515980524, amount1Out=0, to=0x5FfF8d25aaAb2695b2D9cF71c3f00bC681453C7d, data=0x )
-
StandardToken.transfer( recipient=0x5FfF8d25aaAb2695b2D9cF71c3f00bC681453C7d, amount=2213724602447515980524 ) => ( True )
-
StandardToken.balanceOf( account=0x2E1d03246E9F60202F771d37842515e748647499 ) => ( 63288798042981080479278 )
-
WETH9.balanceOf( 0x2E1d03246E9F60202F771d37842515e748647499 ) => ( 3707050414615171341 )
-
-
StandardToken.balanceOf( account=0x5FfF8d25aaAb2695b2D9cF71c3f00bC681453C7d ) => ( 2213724602447515980524 )
File 1 of 7: UniversalRouter
File 2 of 7: UniswapV2Pair
File 3 of 7: TetherToken
File 4 of 7: UniswapV2Pair
File 5 of 7: WETH9
File 6 of 7: StandardToken
File 7 of 7: Permit2
12345678910111213141516// SPDX-License-Identifier: GPL-3.0-or-laterpragma solidity ^0.8.17;import {Dispatcher} from './base/Dispatcher.sol';import {RewardsCollector} from './base/RewardsCollector.sol';import {RouterParameters, RouterImmutables} from './base/RouterImmutables.sol';import {Constants} from './libraries/Constants.sol';import {Commands} from './libraries/Commands.sol';import {IUniversalRouter} from './interfaces/IUniversalRouter.sol';import {ReentrancyLock} from './base/ReentrancyLock.sol';contract UniversalRouter is RouterImmutables, IUniversalRouter, Dispatcher, RewardsCollector, ReentrancyLock {modifier checkDeadline(uint256 deadline) {if (block.timestamp > deadline) revert TransactionDeadlinePassed();_;}constructor(RouterParameters memory params) RouterImmutables(params) {}/// @inheritdoc IUniversalRouter
File 2 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 3 of 7: 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 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: 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 6 of 7: StandardToken
12345678910111213141516// Dependency file: @openzeppelin/contracts/token/ERC20/IERC20.sol// SPDX-License-Identifier: MIT// pragma solidity ^0.8.0;/*** @dev Interface of the ERC20 standard as defined in the EIP.*/interface IERC20 {/*** @dev Returns the amount of tokens in existence.*/function totalSupply() external view returns (uint256);/**
File 7 of 7: 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;