ETH Price: $2,542.49 (+1.29%)

Transaction Decoder

Block:
22555568 at May-24-2025 10:06:35 PM +UTC
Transaction Fee:
0.000105051355577883 ETH $0.27
Gas Used:
196,209 Gas / 0.535405387 Gwei

Emitted Events:

889 Permit2.Permit( owner=[Sender] 0xf962c872ff7c9ef1fe55e88fdb3623bad6d5691c, token=TetherToken, spender=[Receiver] UniversalRouter, amount=125255745, expiration=1750716288, nonce=8 )
890 TetherToken.Transfer( from=[Sender] 0xf962c872ff7c9ef1fe55e88fdb3623bad6d5691c, to=UniswapV2Pair, value=125255745 )
891 WETH9.Transfer( src=UniswapV2Pair, dst=UniswapV2Pair, wad=49219383671934084 )
892 UniswapV2Pair.Sync( reserve0=11554729505889424130238, reserve1=29316915839591 )
893 UniswapV2Pair.Swap( sender=[Receiver] UniversalRouter, amount0In=0, amount1In=125255745, amount0Out=49219383671934084, amount1Out=0, to=UniswapV2Pair )
894 PAALAI.Transfer( from=UniswapV2Pair, to=[Sender] 0xf962c872ff7c9ef1fe55e88fdb3623bad6d5691c, value=857436357562 )
895 UniswapV2Pair.Sync( reserve0=16463774091352849, reserve1=942283352709243614712 )
896 UniswapV2Pair.Swap( sender=[Receiver] UniversalRouter, amount0In=0, amount1In=49219383671934084, amount0Out=857436357562, amount1Out=0, to=[Sender] 0xf962c872ff7c9ef1fe55e88fdb3623bad6d5691c )

Account State Difference:

  Address   Before After State Difference Code
0x00000000...43aC78BA3
(Uniswap Protocol: Permit2)
0x0d4a11d5...0471f1852
0x14feE680...b95D10e16
0x2a6c340b...05ea9259f
(Titan Builder)
23.635598316098530826 Eth23.635609687328927573 Eth0.000011371230396747
0xC02aaA39...83C756Cc2
0xdAC17F95...13D831ec7
0xF962C872...ad6D5691c
0.028957422724636826 Eth
Nonce: 72
0.028852371369058943 Eth
Nonce: 73
0.000105051355577883

Execution Trace

UniversalRouter.execute( commands=0x0A08, inputs=[AAAAAAAAAAAAAAAA2sF/lY0u5SOiIGIGmUWXwT2DHscAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB3dAQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABoWc+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAA/yRo6/XA5XNSWxkfVpsydSyt/rQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABoMkmIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQUb2XPsnGc9sl9DQjHyN3O4KwOLdOMOXoSX0zFgi2EOCJn5XgQJ5kimQ6SfI66fSi0XQEMuOYacrexiflgcbZ3QcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==, AAAAAAAAAAAAAAAA+WLIcv98nvH+VeiP2zYjutbVaRwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB3dAQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMZMPUckAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAA2sF/lY0u5SOiIGIGmUWXwT2DHscAAAAAAAAAAAAAAADAKqo5siP+jQoOXE8n6tkIPHVswgAAAAAAAAAAAAAAABT+5oBpCQC6DMz8dq1w/RuV0Q4W], deadline=1748126161 )
  • Permit2.permit( owner=0xF962C872fF7c9EF1Fe55E88fdB3623bad6D5691c, permitSingle=[{name:details, type:tuple, order:1, indexed:false, value:[{name:token, type:address, order:1, indexed:false, value:0xdAC17F958D2ee523a2206206994597C13D831ec7, valueString:0xdAC17F958D2ee523a2206206994597C13D831ec7}, {name:amount, type:uint160, order:2, indexed:false, value:125255745, valueString:125255745}, {name:expiration, type:uint48, order:3, indexed:false, value:1750716288, valueString:1750716288}, {name:nonce, type:uint48, order:4, indexed:false, value:8, valueString:8}], valueString:[{name:token, type:address, order:1, indexed:false, value:0xdAC17F958D2ee523a2206206994597C13D831ec7, valueString:0xdAC17F958D2ee523a2206206994597C13D831ec7}, {name:amount, type:uint160, order:2, indexed:false, value:125255745, valueString:125255745}, {name:expiration, type:uint48, order:3, indexed:false, value:1750716288, valueString:1750716288}, {name:nonce, type:uint48, order:4, indexed:false, value:8, valueString:8}]}, {name:spender, type:address, order:2, indexed:false, value:0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD, valueString:0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD}, {name:sigDeadline, type:uint256, order:3, indexed:false, value:1748126088, valueString:1748126088}], signature=0x46F65CFB2719CF6C97D0D08C7C8DDCEE0AC0E2DD38C397A125F4CC5822D84382267E57810279922990E927C8EBA7D28B45D010CB8E61A72B7B189F96071B67741C )
    • Null: 0x000...001.6dd3a6c0( )
    • Permit2.transferFrom( from=0xF962C872fF7c9EF1Fe55E88fdB3623bad6D5691c, to=0x0d4a11d5EEaaC28EC3F61d100daF4d40471f1852, amount=125255745, token=0xdAC17F958D2ee523a2206206994597C13D831ec7 )
      • TetherToken.transferFrom( _from=0xF962C872fF7c9EF1Fe55E88fdB3623bad6D5691c, _to=0x0d4a11d5EEaaC28EC3F61d100daF4d40471f1852, _value=125255745 )
      • PAALAI.balanceOf( account=0xF962C872fF7c9EF1Fe55E88fdB3623bad6D5691c ) => ( 46 )
      • UniswapV2Pair.STATICCALL( )
      • TetherToken.balanceOf( who=0x0d4a11d5EEaaC28EC3F61d100daF4d40471f1852 ) => ( 29316915839591 )
      • UniswapV2Pair.swap( amount0Out=49219383671934084, amount1Out=0, to=0x2a6c340bCbb0a79D3deecD3bc5cBc2605ea9259f, data=0x )
        • WETH9.transfer( dst=0x2a6c340bCbb0a79D3deecD3bc5cBc2605ea9259f, wad=49219383671934084 ) => ( True )
        • WETH9.balanceOf( 0x0d4a11d5EEaaC28EC3F61d100daF4d40471f1852 ) => ( 11554729505889424130238 )
        • TetherToken.balanceOf( who=0x0d4a11d5EEaaC28EC3F61d100daF4d40471f1852 ) => ( 29316915839591 )
        • UniswapV2Pair.STATICCALL( )
        • WETH9.balanceOf( 0x2a6c340bCbb0a79D3deecD3bc5cBc2605ea9259f ) => ( 942283352709243614712 )
        • UniswapV2Pair.swap( amount0Out=857436357562, amount1Out=0, to=0xF962C872fF7c9EF1Fe55E88fdB3623bad6D5691c, data=0x )
          • PAALAI.transfer( recipient=0xF962C872fF7c9EF1Fe55E88fdB3623bad6D5691c, amount=857436357562 ) => ( True )
          • PAALAI.balanceOf( account=0x2a6c340bCbb0a79D3deecD3bc5cBc2605ea9259f ) => ( 16463774091352849 )
          • WETH9.balanceOf( 0x2a6c340bCbb0a79D3deecD3bc5cBc2605ea9259f ) => ( 942283352709243614712 )
          • PAALAI.balanceOf( account=0xF962C872fF7c9EF1Fe55E88fdB3623bad6D5691c ) => ( 857436357608 )
            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: 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

            File 3 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 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: 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 6 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 7 of 7: PAALAI
            1
            2
            3
            4
            5
            6
            7
            8
            9
            10
            11
            12
            13
            14
            15
            16
            // SPDX-License-Identifier: MIT
            pragma solidity >=0.6.0 <0.9.0;
            interface IERC20 {
            function totalSupply() external view returns (uint256);
            function decimals() external view returns (uint8);
            function symbol() external view returns (string memory);
            function name() external view returns (string memory);
            function getOwner() external view returns (address);
            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);
            function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
            event Transfer(address indexed from, address indexed to, uint256 value);
            event Approval(address indexed owner, address indexed spender, uint256 value);
            XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX