ETH Price: $4,059.71 (+4.75%)

Transaction Decoder

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 Code
0x0d4a11d5...0471f1852
0x2E1d0324...748647499
(Lido: Execution Layer Rewards Vault)
142.453351471837019822 Eth142.453538891547365948 Eth0.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 )
      • WETH9.transfer( dst=0x2E1d03246E9F60202F771d37842515e748647499, wad=125647756137365351 ) => ( True )
      • WETH9.balanceOf( 0x0d4a11d5EEaaC28EC3F61d100daF4d40471f1852 ) => ( 33833479542507310628327 )
      • TetherToken.balanceOf( who=0x0d4a11d5EEaaC28EC3F61d100daF4d40471f1852 ) => ( 80539690771934 )
      • 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
          1
          2
          3
          4
          5
          6
          7
          8
          9
          10
          11
          12
          13
          14
          15
          16
          // SPDX-License-Identifier: GPL-3.0-or-later
          pragma 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
          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

          File 2 of 7: UniswapV2Pair
          1
          2
          3
          4
          5
          6
          7
          8
          9
          10
          11
          12
          13
          14
          15
          16
          // File: contracts/interfaces/IUniswapV2Pair.sol
          pragma 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);
          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

          File 3 of 7: TetherToken
          1
          2
          3
          4
          5
          6
          7
          8
          9
          10
          11
          12
          13
          14
          15
          16
          pragma 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;
          }
          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

          File 4 of 7: UniswapV2Pair
          1
          2
          3
          4
          5
          6
          7
          8
          9
          10
          11
          12
          13
          14
          15
          16
          // File: contracts/interfaces/IUniswapV2Pair.sol
          pragma 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);
          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

          File 5 of 7: WETH9
          1
          2
          3
          4
          5
          6
          7
          8
          9
          10
          11
          12
          13
          14
          15
          16
          // 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;
          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

          File 6 of 7: StandardToken
          1
          2
          3
          4
          5
          6
          7
          8
          9
          10
          11
          12
          13
          14
          15
          16
          // 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);
          /**
          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

          File 7 of 7: Permit2
          1
          2
          3
          4
          5
          6
          7
          8
          9
          10
          11
          12
          13
          14
          15
          16
          // SPDX-License-Identifier: AGPL-3.0-only
          pragma 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;
          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX