ETH Price: $3,000.52 (+0.19%)
Gas: 7.77 Gwei

Transaction Decoder

Block:
20671289 at Sep-03-2024 04:37:11 PM +UTC
Transaction Fee:
0.00064633275717924 ETH $1.94
Gas Used:
153,068 Gas / 4.22252043 Gwei

Emitted Events:

150 WETH9.Deposit( dst=[Receiver] UniversalRouter, wad=100000000000000 )
151 WETH9.Transfer( src=[Receiver] UniversalRouter, dst=UniswapV2Pair, wad=100000000000000 )
152 Tales.Transfer( from=UniswapV2Pair, to=[Sender] 0x2cd89badcb8c65a76c66379f62d3cdfd2b353937, value=363586489283836873447972 )
153 UniswapV2Pair.Sync( reserve0=557350363663681264841875023096, reserve1=152832597617615058902 )
154 UniswapV2Pair.Swap( sender=[Receiver] UniversalRouter, amount0In=0, amount1In=100000000000000, amount0Out=363586489283836873447972, amount1Out=0, to=[Sender] 0x2cd89badcb8c65a76c66379f62d3cdfd2b353937 )

Account State Difference:

  Address   Before After State Difference Code
0x16950673...0584c9101
0x2CD89BAd...d2B353937
0.046535360465019331 Eth
Nonce: 365
0.045789027707840091 Eth
Nonce: 366
0.00074633275717924
(Titan Builder)
12.729926841101547398 Eth12.730232977101547398 Eth0.000306136
0x9EaD834B...a858CC627
0xC02aaA39...83C756Cc2 2,920,912.094637639289165366 Eth2,920,912.094737639289165366 Eth0.0001

Execution Trace

ETH 0.0001 UniversalRouter.execute( commands=0x0B08, inputs=[AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFrzEHpAAA==, AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFrzEHpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAwCqqObIj/o0KDlxPJ+rZCDx1bMIAAAAAAAAAAAAAAAAWlQZzyYF1N+fNoQtIK5DAWEyRAQ==], deadline=2576980377 )
  • ETH 0.0001 WETH9.CALL( )
  • WETH9.transfer( dst=0x9EaD834B0E88cfDB86a8e2b15D063eEa858CC627, wad=100000000000000 ) => ( True )
  • Tales.balanceOf( account=0x2CD89BAdcB8C65a76c66379F62d3CDFd2B353937 ) => ( 0 )
  • UniswapV2Pair.STATICCALL( )
  • WETH9.balanceOf( 0x9EaD834B0E88cfDB86a8e2b15D063eEa858CC627 ) => ( 152832597617615058902 )
  • UniswapV2Pair.swap( amount0Out=363586489283836873447972, amount1Out=0, to=0x2CD89BAdcB8C65a76c66379F62d3CDFd2B353937, data=0x )
    • Tales.transfer( to=0x2CD89BAdcB8C65a76c66379F62d3CDFd2B353937, amount=363586489283836873447972 ) => ( True )
    • Tales.balanceOf( account=0x9EaD834B0E88cfDB86a8e2b15D063eEa858CC627 ) => ( 557350363663681264841875023096 )
    • WETH9.balanceOf( 0x9EaD834B0E88cfDB86a8e2b15D063eEa858CC627 ) => ( 152832597617615058902 )
    • Tales.balanceOf( account=0x2CD89BAdcB8C65a76c66379F62d3CDFd2B353937 ) => ( 363586489283836873447972 )
      File 1 of 4: 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;
      // Command implementations
      import {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 IUniversalRouter
      function execute(bytes calldata commands, bytes[] calldata inputs, uint256 deadline)
      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

      File 2 of 4: 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 3 of 4: 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 4 of 4: Tales
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      /**
      // SPDX-License-Identifier: MIT
      */
      pragma solidity = 0.8.25;
      pragma experimental ABIEncoderV2;
      abstract contract Context {
      function _msgSender() internal view virtual returns (address) {
      return msg.sender;
      }
      function _msgData() internal view virtual returns (bytes calldata) {
      return msg.data;
      }
      }
      interface IUniswapV2Router02 {
      function factory() external pure returns (address);
      function WETH() external pure returns (address);
      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX