Transaction Hash:
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 | ||
---|---|---|---|---|---|
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 | ||
0xAB2E75b1...e07A4Caf0
Miner
| 0.297289879608402523 Eth | 0.297337110744843661 Eth | 0.000047231136441138 | ||
0xC02aaA39...83C756Cc2 | 2,923,059.641629356497899934 Eth | 2,923,053.924314778609291105 Eth | 5.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
- ETH 5.717314577888608829
0x9e778473e9b7cadc19efa747a118e4140a0a40e7.CALL( )
execute[UniversalRouter (ln:16)]
execute[UniversalRouter (ln:21)]
execute[UniversalRouter (ln:21)]
File 1 of 7: UniversalRouter
File 2 of 7: Permit2
File 3 of 7: UniswapV3Pool
File 4 of 7: WETH9
File 5 of 7: BeaconProxy
File 6 of 7: Beacon
File 7 of 7: P00lsTokenCreator
12345678910111213141516// SPDX-License-Identifier: GPL-3.0-or-laterpragma solidity ^0.8.17;// Command implementationsimport {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 IUniversalRouterfunction execute(bytes calldata commands, bytes[] calldata inputs, uint256 deadline)
File 2 of 7: Permit2
12345678910111213141516// SPDX-License-Identifier: AGPL-3.0-onlypragma 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;
File 3 of 7: UniswapV3Pool
12345678910111213141516// SPDX-License-Identifier: BUSL-1.1pragma 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';
File 4 of 7: WETH9
12345678910111213141516// 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;
File 5 of 7: BeaconProxy
12345678910111213141516// SPDX-License-Identifier: MITpragma solidity ^0.8.0;import "@openzeppelin/contracts/proxy/beacon/IBeacon.sol";import "@openzeppelin/contracts/proxy/Proxy.sol";/// @custom:security-contact security@p00ls.comcontract BeaconProxy is Proxy {IBeacon private immutable _beacon;event BeaconUpgraded(IBeacon indexed beacon);constructor(IBeacon beacon){_beacon = beacon;emit BeaconUpgraded(beacon);}function _implementation()internalview
File 6 of 7: Beacon
12345678910111213141516// SPDX-License-Identifier: MITpragma 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.comcontract Beacon is IBeacon, Ownable {address private _implementation;event Upgraded(address indexed implementation);function implementation()publicviewoverridereturns (address){return _implementation;
File 7 of 7: P00lsTokenCreator
12345678910111213141516// SPDX-License-Identifier: MITpragma 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.comcontract P00lsTokenCreator is P00lsTokenBase, RegistryOwnable{using BitMaps for BitMaps.BitMap;IP00lsTokenXCreator public xCreatorToken;bytes32 public merkleRoot;BitMaps.BitMap private __claimedBitMap;/// @custom:oz-upgrades-unsafe-allow constructorconstructor(address registry)