ETH Price: $2,528.00 (-0.98%)
Gas: 0.53 Gwei

Transaction Decoder

Block:
21928238 at Feb-26-2025 04:52:35 AM +UTC
Transaction Fee:
0.000164392023200537 ETH $0.42
Gas Used:
166,853 Gas / 0.985250629 Gwei

Emitted Events:

20 Permit2.Permit( owner=[Sender] 0x9e778473e9b7cadc19efa747a118e4140a0a40e7, token=BeaconProxy, spender=[Receiver] UniversalRouter, amount=600000000000000000000000, expiration=1743137494, nonce=21 )
21 WETH9.Transfer( src=UniswapV3Pool, dst=[Receiver] UniversalRouter, wad=5717314577888608829 )
22 BeaconProxy.0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef( 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef, 0x0000000000000000000000009e778473e9b7cadc19efa747a118e4140a0a40e7, 0x0000000000000000000000002773caa898ad7043ec4df2d22526ed331d54b671, 000000000000000000000000000000000000000000007f0e10af47c1c7000000 )
23 UniswapV3Pool.Swap( sender=[Receiver] UniversalRouter, recipient=[Receiver] UniversalRouter, amount0=600000000000000000000000, amount1=-5717314577888608829, sqrtPriceX96=240734172990544877811662748, liquidity=44240484592016388169659, tick=-115934 )
24 WETH9.Withdrawal( src=[Receiver] UniversalRouter, wad=5717314577888608829 )

Account State Difference:

  Address   Before After State Difference Code
0x00000000...43aC78BA3
(Uniswap Protocol: Permit2)
0x2773CAa8...31d54B671
(Uniswap V3: 00)
0x881Ba05d...4AD32250D
0x9e778473...40a0a40E7
0.621179073524430983 Eth
Nonce: 53
6.338329259389839275 Eth
Nonce: 54
5.717150185865408292
0.297289879608402523 Eth0.297337110744843661 Eth0.000047231136441138
0xC02aaA39...83C756Cc2 2,923,059.641629356497899934 Eth2,923,053.924314778609291105 Eth5.717314577888608829

Execution Trace

UniversalRouter.execute( commands=0x0A000C, inputs=[AAAAAAAAAAAAAAAAiBugXeHnj1ScxjqPbKux1K0yJQ0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAfw4Qr0fBxwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABn5irWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABUAAAAAAAAAAAAAAAA/yRo6/XA5XNSWxkfVpsydSyt/rQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABnvqTeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQcV+eBe/cP6YOvmzm4XF/DdxJ4wd/zbnZ4HLvles8rFQJ/FF+wqTt7b9OZjGJ86IER1fLHpaawGcgJMKBslbzhQcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==, AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfw4Qr0fBxwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAriBugXeHnj1ScxjqPbKux1K0yJQ0AJxDAKqo5siP+jQoOXE8n6tkIPHVswgAAAAAAAAAAAAAAAAAAAAAAAAAAAA==, AAAAAAAAAAAAAAAAnneEc+m3ytwZ76dHoRjkFAoKQOcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABO8u1UjwSQ3w==], deadline=1740547319 )
  • Permit2.permit( owner=0x9e778473E9b7CaDc19EFa747a118e4140a0a40E7, permitSingle=[{name:details, type:tuple, order:1, indexed:false, value:[{name:token, type:address, order:1, indexed:false, value:0x881Ba05de1E78f549cC63a8f6Cabb1d4AD32250D, valueString:0x881Ba05de1E78f549cC63a8f6Cabb1d4AD32250D}, {name:amount, type:uint160, order:2, indexed:false, value:600000000000000000000000, valueString:600000000000000000000000}, {name:expiration, type:uint48, order:3, indexed:false, value:1743137494, valueString:1743137494}, {name:nonce, type:uint48, order:4, indexed:false, value:21, valueString:21}], valueString:[{name:token, type:address, order:1, indexed:false, value:0x881Ba05de1E78f549cC63a8f6Cabb1d4AD32250D, valueString:0x881Ba05de1E78f549cC63a8f6Cabb1d4AD32250D}, {name:amount, type:uint160, order:2, indexed:false, value:600000000000000000000000, valueString:600000000000000000000000}, {name:expiration, type:uint48, order:3, indexed:false, value:1743137494, valueString:1743137494}, {name:nonce, type:uint48, order:4, indexed:false, value:21, valueString:21}]}, {name:spender, type:address, order:2, indexed:false, value:0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD, valueString:0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD}, {name:sigDeadline, type:uint256, order:3, indexed:false, value:1740547294, valueString:1740547294}], signature=0xC57E7817BF70FE983AF9B39B85C5FC3771278C1DFF36E76781CBBE57ACF2B15027F145FB0A93B7B6FD3998C627CE88111D5F2C7A5A6B019C80930A06C95BCE141C )
    • Null: 0x000...001.18eafa69( )
    • UniswapV3Pool.swap( recipient=0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD, zeroForOne=True, amountSpecified=600000000000000000000000, sqrtPriceLimitX96=4295128740, data=0x00000000000000000000000000000000000000000000000000000000000000400000000000000000000000009E778473E9B7CADC19EFA747A118E4140A0A40E7000000000000000000000000000000000000000000000000000000000000002B881BA05DE1E78F549CC63A8F6CABB1D4AD32250D002710C02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2000000000000000000000000000000000000000000 ) => ( amount0=600000000000000000000000, amount1=-5717314577888608829 )
      • WETH9.transfer( dst=0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD, wad=5717314577888608829 ) => ( True )
      • BeaconProxy.70a08231( )
        • Beacon.STATICCALL( )
        • P00lsTokenCreator.balanceOf( account=0x2773CAa898aD7043Ec4dF2D22526ed331d54B671 ) => ( 7968005615534106944885032 )
        • UniversalRouter.uniswapV3SwapCallback( amount0Delta=600000000000000000000000, amount1Delta=-5717314577888608829, data=0x00000000000000000000000000000000000000000000000000000000000000400000000000000000000000009E778473E9B7CADC19EFA747A118E4140A0A40E7000000000000000000000000000000000000000000000000000000000000002B881BA05DE1E78F549CC63A8F6CABB1D4AD32250D002710C02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2000000000000000000000000000000000000000000 )
          • Permit2.transferFrom( from=0x9e778473E9b7CaDc19EFa747a118e4140a0a40E7, to=0x2773CAa898aD7043Ec4dF2D22526ed331d54B671, amount=600000000000000000000000, token=0x881Ba05de1E78f549cC63a8f6Cabb1d4AD32250D )
            • BeaconProxy.23b872dd( )
              • Beacon.STATICCALL( )
              • P00lsTokenCreator.transferFrom( from=0x9e778473E9b7CaDc19EFa747a118e4140a0a40E7, to=0x2773CAa898aD7043Ec4dF2D22526ed331d54B671, amount=600000000000000000000000 ) => ( True )
              • BeaconProxy.70a08231( )
                • Beacon.STATICCALL( )
                • P00lsTokenCreator.balanceOf( account=0x2773CAa898aD7043Ec4dF2D22526ed331d54B671 ) => ( 8568005615534106944885032 )
                • WETH9.balanceOf( 0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD ) => ( 5717314577888608829 )
                • WETH9.withdraw( wad=5717314577888608829 )
                  • ETH 5.717314577888608829 UniversalRouter.CALL( )
                  • ETH 5.717314577888608829 0x9e778473e9b7cadc19efa747a118e4140a0a40e7.CALL( )
                    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: 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: 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 5 of 7: BeaconProxy
                    1
                    2
                    3
                    4
                    5
                    6
                    7
                    8
                    9
                    10
                    11
                    12
                    13
                    14
                    15
                    16
                    // SPDX-License-Identifier: MIT
                    pragma solidity ^0.8.0;
                    import "@openzeppelin/contracts/proxy/beacon/IBeacon.sol";
                    import "@openzeppelin/contracts/proxy/Proxy.sol";
                    /// @custom:security-contact security@p00ls.com
                    contract BeaconProxy is Proxy {
                    IBeacon private immutable _beacon;
                    event BeaconUpgraded(IBeacon indexed beacon);
                    constructor(IBeacon beacon)
                    {
                    _beacon = beacon;
                    emit BeaconUpgraded(beacon);
                    }
                    function _implementation()
                    internal
                    view
                    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                    File 6 of 7: Beacon
                    1
                    2
                    3
                    4
                    5
                    6
                    7
                    8
                    9
                    10
                    11
                    12
                    13
                    14
                    15
                    16
                    // SPDX-License-Identifier: MIT
                    pragma solidity ^0.8.0;
                    import "@openzeppelin/contracts/access/Ownable.sol";
                    import "@openzeppelin/contracts/proxy/beacon/IBeacon.sol";
                    import "@openzeppelin/contracts/utils/Address.sol";
                    /// @custom:security-contact security@p00ls.com
                    contract Beacon is IBeacon, Ownable {
                    address private _implementation;
                    event Upgraded(address indexed implementation);
                    function implementation()
                    public
                    view
                    override
                    returns (address)
                    {
                    return _implementation;
                    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                    File 7 of 7: P00lsTokenCreator
                    1
                    2
                    3
                    4
                    5
                    6
                    7
                    8
                    9
                    10
                    11
                    12
                    13
                    14
                    15
                    16
                    // SPDX-License-Identifier: MIT
                    pragma solidity ^0.8.0;
                    import "@openzeppelin/contracts/utils/cryptography/MerkleProof.sol";
                    import "@openzeppelin/contracts/utils/structs/BitMaps.sol";
                    import "../utils/RegistryOwnable.sol";
                    import "./P00lsTokenBase.sol";
                    import "./interfaces.sol";
                    /// @custom:security-contact security@p00ls.com
                    contract P00lsTokenCreator is P00lsTokenBase, RegistryOwnable
                    {
                    using BitMaps for BitMaps.BitMap;
                    IP00lsTokenXCreator public xCreatorToken;
                    bytes32 public merkleRoot;
                    BitMaps.BitMap private __claimedBitMap;
                    /// @custom:oz-upgrades-unsafe-allow constructor
                    constructor(address registry)
                    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX