ETH Price: $2,535.45 (-7.34%)

Transaction Decoder

Block:
22541726 at May-22-2025 11:35:11 PM +UTC
Transaction Fee:
0.00050463864645501 ETH $1.28
Gas Used:
149,530 Gas / 3.374832117 Gwei

Emitted Events:

259 WETH9.Deposit( dst=[Receiver] UniversalRouter, wad=8500000000000000 )
260 TetherToken.Transfer( from=UniswapV3Pool, to=[Receiver] UniversalRouter, value=22562172 )
261 WETH9.Transfer( src=[Receiver] UniversalRouter, dst=UniswapV3Pool, wad=8500000000000000 )
262 UniswapV3Pool.Swap( sender=[Receiver] UniversalRouter, recipient=[Receiver] UniversalRouter, amount0=8500000000000000, amount1=-22562172, sqrtPriceX96=4082902446671857438611816, liquidity=533156836545230237, tick=-197476 )
263 TetherToken.Transfer( from=[Receiver] UniversalRouter, to=FeeCollector, value=56405 )
264 TetherToken.Transfer( from=[Receiver] UniversalRouter, to=[Sender] 0x7d6351fa317c5aa70658bd4d035766c1156b28d4, value=22505767 )

Account State Difference:

  Address   Before After State Difference Code
0x11b815ef...14B7697F6
(Uniswap V3: USDT 3)
(Titan Builder)
10.784123666781465501 Eth10.784422726781465501 Eth0.00029906
0x7D6351fA...1156b28D4
0.010045234713048155 Eth
Nonce: 100
0.001040596066593145 Eth
Nonce: 101
0.00900463864645501
0xC02aaA39...83C756Cc2 2,826,300.532152336465554878 Eth2,826,300.540652336465554878 Eth0.0085
0xdAC17F95...13D831ec7

Execution Trace

ETH 0.0085 UniversalRouter.execute( commands=0x0B000604, inputs=[AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHjK0eJdAAA==, AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHjK0eJdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABTY+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArwCqqObIj/o0KDlxPJ+rZCDx1bMIAAfTawX+VjS7lI6IgYgaZRZfBPYMexwAAAAAAAAAAAAAAAAAAAAAAAAAAAA==, AAAAAAAAAAAAAAAA2sF/lY0u5SOiIGIGmUWXwT2DHscAAAAAAAAAAAAAAAAAAAD+4ToQOhDVk7muBrPgXy5+HAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZ, AAAAAAAAAAAAAAAA2sF/lY0u5SOiIGIGmUWXwT2DHscAAAAAAAAAAAAAAAB9Y1H6MXxapwZYvU0DV2bBFWso1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABTY+A] )
  • ETH 0.0085 WETH9.CALL( )
  • UniswapV3Pool.swap( recipient=0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD, zeroForOne=True, amountSpecified=8500000000000000, sqrtPriceLimitX96=4295128740, data=0x00000000000000000000000000000000000000000000000000000000000000400000000000000000000000003FC91A3AFD70395CD496C647D5A6CC9D4B2B7FAD000000000000000000000000000000000000000000000000000000000000002BC02AAA39B223FE8D0A0E5C4F27EAD9083C756CC20001F4DAC17F958D2EE523A2206206994597C13D831EC7000000000000000000000000000000000000000000 ) => ( amount0=8500000000000000, amount1=-22562172 )
    • TetherToken.transfer( _to=0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD, _value=22562172 )
    • WETH9.balanceOf( 0x11b815efB8f581194ae79006d24E0d814B7697F6 ) => ( 1767050683690109119647 )
    • UniversalRouter.uniswapV3SwapCallback( amount0Delta=8500000000000000, amount1Delta=-22562172, data=0x00000000000000000000000000000000000000000000000000000000000000400000000000000000000000003FC91A3AFD70395CD496C647D5A6CC9D4B2B7FAD000000000000000000000000000000000000000000000000000000000000002BC02AAA39B223FE8D0A0E5C4F27EAD9083C756CC20001F4DAC17F958D2EE523A2206206994597C13D831EC7000000000000000000000000000000000000000000 )
      • WETH9.transfer( dst=0x11b815efB8f581194ae79006d24E0d814B7697F6, wad=8500000000000000 ) => ( True )
      • WETH9.balanceOf( 0x11b815efB8f581194ae79006d24E0d814B7697F6 ) => ( 1767059183690109119647 )
      • TetherToken.balanceOf( who=0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD ) => ( 22562172 )
      • TetherToken.transfer( _to=0x000000fee13a103A10D593b9AE06b3e05F2E7E1c, _value=56405 )
      • TetherToken.balanceOf( who=0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD ) => ( 22505767 )
      • TetherToken.transfer( _to=0x7D6351fA317c5AA70658Bd4D035766c1156b28D4, _value=22505767 )
        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: UniswapV3Pool
        1
        2
        3
        4
        5
        6
        7
        8
        9
        10
        11
        12
        13
        14
        15
        16
        // SPDX-License-Identifier: BUSL-1.1
        pragma solidity =0.7.6;
        import './interfaces/IUniswapV3Pool.sol';
        import './NoDelegateCall.sol';
        import './libraries/LowGasSafeMath.sol';
        import './libraries/SafeCast.sol';
        import './libraries/Tick.sol';
        import './libraries/TickBitmap.sol';
        import './libraries/Position.sol';
        import './libraries/Oracle.sol';
        import './libraries/FullMath.sol';
        import './libraries/FixedPoint128.sol';
        import './libraries/TransferHelper.sol';
        import './libraries/TickMath.sol';
        import './libraries/LiquidityMath.sol';
        import './libraries/SqrtPriceMath.sol';
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

        File 4 of 5: 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 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