ETH Price: $2,797.86 (+4.46%)

Transaction Decoder

Block:
22545881 at May-23-2025 01:31:47 PM +UTC
Transaction Fee:
0.0011225784456387 ETH $3.14
Gas Used:
238,863 Gas / 4.6996749 Gwei

Emitted Events:

104 WETH9.Deposit( dst=[Receiver] UniversalRouter, wad=241600000000000000 )
105 TetherToken.Transfer( from=UniswapV3Pool, to=[Receiver] UniversalRouter, value=618906603 )
106 WETH9.Transfer( src=[Receiver] UniversalRouter, dst=UniswapV3Pool, wad=241600000000000000 )
107 UniswapV3Pool.Swap( sender=[Receiver] UniversalRouter, recipient=[Receiver] UniversalRouter, amount0=241600000000000000, amount1=-618906603, sqrtPriceX96=4010950866176915488575059, liquidity=537840494550627449, tick=-197832 )
108 BlockvToken.Transfer( from=UniswapV3Pool, to=[Receiver] UniversalRouter, value=38151888693609940281238 )
109 TetherToken.Transfer( from=[Receiver] UniversalRouter, to=UniswapV3Pool, value=618906603 )
110 UniswapV3Pool.Swap( sender=[Receiver] UniversalRouter, recipient=[Receiver] UniversalRouter, amount0=-38151888693609940281238, amount1=618906603, sqrtPriceX96=10046466684311822922966, liquidity=4012855749928925758, tick=-317629 )
111 BlockvToken.Transfer( from=[Receiver] UniversalRouter, to=FeeCollector, value=95379721734024850703 )
112 BlockvToken.Transfer( from=[Receiver] UniversalRouter, to=[Sender] 0x1db2342accb24049a9feb50cbbb5c1f0f187dcd7, value=38056508971875915430535 )

Account State Difference:

  Address   Before After State Difference Code
0x09650109...2e0347A64
(Uniswap V3: VEE-USDT 2)
0x11b815ef...14B7697F6
(Uniswap V3: USDT 3)
0x1DB2342a...0f187dcD7
0.243565999989603949 Eth
Nonce: 187
0.000843421543965249 Eth
Nonce: 188
0.2427225784456387
0x340D2bdE...B160613B7
(Titan Builder)
5.374696832899698688 Eth5.375174558899698688 Eth0.000477726
0xC02aaA39...83C756Cc2 2,795,684.174441900252719646 Eth2,795,684.416041900252719646 Eth0.2416
0xdAC17F95...13D831ec7

Execution Trace

ETH 0.2416 UniversalRouter.execute( commands=0x0B000604, inputs=[AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADWlXrgbwAAA==, AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADWlXrgbwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAmBDjhmKLQ1vAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABCwCqqObIj/o0KDlxPJ+rZCDx1bMIAAfTawX+VjS7lI6IgYgaZRZfBPYMexwAnEDQNK95esowe7ZGy95ByPjsWBhO3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA, AAAAAAAAAAAAAAAANA0r3l6yjB7tkbL3kHI+OxYGE7cAAAAAAAAAAAAAAAAAAAD+4ToQOhDVk7muBrPgXy5+HAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZ, AAAAAAAAAAAAAAAANA0r3l6yjB7tkbL3kHI+OxYGE7cAAAAAAAAAAAAAAAAdsjQqzLJASan+tQy7tcHw8Yfc1wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAmBDjhmKLQ1v], deadline=1748008887 )
  • ETH 0.2416 WETH9.CALL( )
  • UniswapV3Pool.swap( recipient=0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD, zeroForOne=True, amountSpecified=241600000000000000, sqrtPriceLimitX96=4295128740, data=0x00000000000000000000000000000000000000000000000000000000000000400000000000000000000000003FC91A3AFD70395CD496C647D5A6CC9D4B2B7FAD000000000000000000000000000000000000000000000000000000000000002BC02AAA39B223FE8D0A0E5C4F27EAD9083C756CC20001F4DAC17F958D2EE523A2206206994597C13D831EC7000000000000000000000000000000000000000000 ) => ( amount0=241600000000000000, amount1=-618906603 )
    • TetherToken.transfer( _to=0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD, _value=618906603 )
    • WETH9.balanceOf( 0x11b815efB8f581194ae79006d24E0d814B7697F6 ) => ( 1924752350405999750113 )
    • UniversalRouter.uniswapV3SwapCallback( amount0Delta=241600000000000000, amount1Delta=-618906603, data=0x00000000000000000000000000000000000000000000000000000000000000400000000000000000000000003FC91A3AFD70395CD496C647D5A6CC9D4B2B7FAD000000000000000000000000000000000000000000000000000000000000002BC02AAA39B223FE8D0A0E5C4F27EAD9083C756CC20001F4DAC17F958D2EE523A2206206994597C13D831EC7000000000000000000000000000000000000000000 )
      • WETH9.transfer( dst=0x11b815efB8f581194ae79006d24E0d814B7697F6, wad=241600000000000000 ) => ( True )
      • WETH9.balanceOf( 0x11b815efB8f581194ae79006d24E0d814B7697F6 ) => ( 1924993950405999750113 )
      • UniswapV3Pool.swap( recipient=0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD, zeroForOne=False, amountSpecified=618906603, sqrtPriceLimitX96=1461446703485210103287273052203988822378723970341, data=0x00000000000000000000000000000000000000000000000000000000000000400000000000000000000000003FC91A3AFD70395CD496C647D5A6CC9D4B2B7FAD000000000000000000000000000000000000000000000000000000000000002BDAC17F958D2EE523A2206206994597C13D831EC7002710340D2BDE5EB28C1EED91B2F790723E3B160613B7000000000000000000000000000000000000000000 ) => ( amount0=-38151888693609940281238, amount1=618906603 )
        • BlockvToken.transfer( _to=0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD, _value=38151888693609940281238 ) => ( True )
        • TetherToken.balanceOf( who=0x096501097213216A36f33b3D7e0FF4c2e0347A64 ) => ( 198078167919 )
        • UniversalRouter.uniswapV3SwapCallback( amount0Delta=-38151888693609940281238, amount1Delta=618906603, data=0x00000000000000000000000000000000000000000000000000000000000000400000000000000000000000003FC91A3AFD70395CD496C647D5A6CC9D4B2B7FAD000000000000000000000000000000000000000000000000000000000000002BDAC17F958D2EE523A2206206994597C13D831EC7002710340D2BDE5EB28C1EED91B2F790723E3B160613B7000000000000000000000000000000000000000000 )
          • TetherToken.transfer( _to=0x096501097213216A36f33b3D7e0FF4c2e0347A64, _value=618906603 )
          • TetherToken.balanceOf( who=0x096501097213216A36f33b3D7e0FF4c2e0347A64 ) => ( 198697074522 )
          • BlockvToken.balanceOf( _owner=0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD ) => ( balance=38151888693609940281238 )
          • BlockvToken.transfer( _to=0x000000fee13a103A10D593b9AE06b3e05F2E7E1c, _value=95379721734024850703 ) => ( True )
          • BlockvToken.balanceOf( _owner=0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD ) => ( balance=38056508971875915430535 )
          • BlockvToken.transfer( _to=0x1DB2342aCCB24049A9FEb50cBBb5c1F0f187dcD7, _value=38056508971875915430535 ) => ( True )
            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;
            // 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 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 3 of 7: 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 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 5 of 7: 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 6 of 7: BlockvToken
            1
            2
            3
            4
            5
            6
            7
            8
            9
            10
            11
            12
            13
            14
            15
            16
            pragma solidity ^0.4.13;
            interface MigrationAgent {
            function migrateFrom(address _from, uint256 _value);
            }
            contract PoolAllocations {
            // ERC20 basic token contract being held
            ERC20Basic public token;
            // allocations map
            mapping (address => lockEntry) public allocations;
            // lock entry
            struct lockEntry {
            XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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