ETH Price: $4,226.02 (-0.62%)
Gas: 0.37 Gwei

Transaction Decoder

Block:
22541750 at May-22-2025 11:40:11 PM +UTC
Transaction Fee:
0.000570267493619226 ETH $2.41
Gas Used:
178,886 Gas / 3.187882191 Gwei

Emitted Events:

254 WETH9.Deposit( dst=[Receiver] UniversalRouter, wad=50000000000000000 )
255 WETH9.Transfer( src=[Receiver] UniversalRouter, dst=UniswapV2Pair, wad=50000000000000000 )
256 ERC20.Transfer( from=UniswapV2Pair, to=[Receiver] UniversalRouter, value=845826193603917692 )
257 UniswapV2Pair.Sync( reserve0=4676003127435550986, reserve1=78491366436883271338 )
258 UniswapV2Pair.Swap( sender=[Receiver] UniversalRouter, amount0In=50000000000000000, amount1In=0, amount0Out=0, amount1Out=845826193603917692, to=[Receiver] UniversalRouter )
259 ERC20.Transfer( from=[Receiver] UniversalRouter, to=FeeCollector, value=2114565484009794 )
260 ERC20.Transfer( from=[Receiver] UniversalRouter, to=[Sender] 0x63c45a65a75ec619522240c8e6433d7747a8d167, value=843711628119907898 )

Account State Difference:

  Address   Before After State Difference Code
0x63C45a65...747A8D167
0.169550041445686484 Eth
Nonce: 6278
0.118979773952067258 Eth
Nonce: 6279
0.050570267493619226
(beaverbuild)
5.737819087747692547 Eth5.738176859747692547 Eth0.000357772
0xb70Ac085...5b5a584ED
0xC02aaA39...83C756Cc2 2,826,364.488410351856217345 Eth2,826,364.538410351856217345 Eth0.05
0xd843Eef6...2A6865c50

Execution Trace

ETH 0.05 UniversalRouter.execute( commands=0x0B080604, inputs=[AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsaK8LsUAAA==, AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsaK8LsUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAwCqqObIj/o0KDlxPJ+rZCDx1bMIAAAAAAAAAAAAAAADYQ+72bvMozVGaX8xUX37ypoZcUA==, AAAAAAAAAAAAAAAA2EPu9m7zKM1Rml/MVF9+8qaGXFAAAAAAAAAAAAAAAAAAAAD+4ToQOhDVk7muBrPgXy5+HAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZ, AAAAAAAAAAAAAAAA2EPu9m7zKM1Rml/MVF9+8qaGXFAAAAAAAAAAAAAAAABjxFplp17GGVIiQMjmQz13R6jRZwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAumjZZw8udO], deadline=1747958998 )
  • ETH 0.05 WETH9.CALL( )
  • WETH9.transfer( dst=0xb70Ac0858856b2B42eFcFf300cA4ceb5b5a584ED, wad=50000000000000000 ) => ( True )
  • ERC20.balanceOf( account=0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD ) => ( 0 )
  • UniswapV2Pair.STATICCALL( )
  • WETH9.balanceOf( 0xb70Ac0858856b2B42eFcFf300cA4ceb5b5a584ED ) => ( 4676003127435550986 )
  • UniswapV2Pair.swap( amount0Out=0, amount1Out=845826193603917692, to=0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD, data=0x )
    • ERC20.transfer( recipient=0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD, amount=845826193603917692 ) => ( True )
    • WETH9.balanceOf( 0xb70Ac0858856b2B42eFcFf300cA4ceb5b5a584ED ) => ( 4676003127435550986 )
    • ERC20.balanceOf( account=0xb70Ac0858856b2B42eFcFf300cA4ceb5b5a584ED ) => ( 78491366436883271338 )
    • ERC20.balanceOf( account=0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD ) => ( 845826193603917692 )
    • ERC20.balanceOf( account=0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD ) => ( 845826193603917692 )
    • ERC20.transfer( recipient=0x000000fee13a103A10D593b9AE06b3e05F2E7E1c, amount=2114565484009794 ) => ( True )
    • ERC20.balanceOf( account=0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD ) => ( 843711628119907898 )
    • ERC20.transfer( recipient=0x63C45a65A75EC619522240C8E6433D7747A8D167, amount=843711628119907898 ) => ( True )
      File 1 of 5: 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 5: 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 5: 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 5: ERC20
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      // SPDX-License-Identifier: UNLICENSE
      pragma solidity 0.8.23;
      abstract contract Context {
      function _msgSender() internal view virtual returns (address) {
      return msg.sender;
      }
      }
      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);
      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

      File 5 of 5: FeeCollector
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      // SPDX-License-Identifier: GPL-2.0-or-later
      pragma solidity ^0.8.0;
      import {Owned} from "solmate/auth/Owned.sol";
      import {ERC20} from "solmate/tokens/ERC20.sol";
      import {SafeTransferLib} from "solmate/utils/SafeTransferLib.sol";
      import {IFeeCollector} from "./interfaces/IFeeCollector.sol";
      import {IPermit2} from "./external/IPermit2.sol";
      /// @notice The collector of protocol fees that will be used to swap and send to a fee recipient address.
      contract FeeCollector is Owned, IFeeCollector {
      using SafeTransferLib for ERC20;
      address public universalRouter;
      ERC20 public immutable feeToken;
      IPermit2 public immutable permit2;
      uint256 public constant MAX_APPROVAL_AMOUNT = type(uint256).max;
      uint160 public constant MAX_PERMIT2_APPROVAL_AMOUNT = type(uint160).max;
      uint48 public constant MAX_PERMIT2_DEADLINE = type(uint48).max;
      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX