Transaction Hash:
Block:
22796674 at Jun-27-2025 03:29:23 PM +UTC
Transaction Fee:
0.000881674585362384 ETH
$3.30
Gas Used:
181,522 Gas / 4.857122472 Gwei
Emitted Events:
170 |
Permit2.Approval( owner=[Receiver] 0x79bb842c9e1bf59b42790146267d9bf3263928b6, token=Token, spender=UniversalRouter, amount=1461501637330902918203684832716283019655932542975, expiration=1753630140 )
|
171 |
WETH9.Transfer( src=UniswapV3Pool, dst=UniversalRouter, wad=121216584538723266 )
|
172 |
Token.Transfer( from=[Receiver] 0x79bb842c9e1bf59b42790146267d9bf3263928b6, to=UniswapV3Pool, value=126650597039351274566251 )
|
173 |
UniswapV3Pool.Swap( sender=UniversalRouter, recipient=UniversalRouter, amount0=126650597039351274566251, amount1=-121216584538723266, sqrtPriceX96=77794769867570445298965384, liquidity=45451776839781113089265, tick=-138528 )
|
174 |
WETH9.Transfer( src=UniversalRouter, dst=FeeCollector, wad=303041461346808 )
|
175 |
WETH9.Withdrawal( src=UniversalRouter, wad=120913543077376458 )
|
Account State Difference:
Address | Before | After | State Difference | ||
---|---|---|---|---|---|
0x00000000...43aC78BA3 | (Uniswap Protocol: Permit2) | ||||
0x69ca6139...D8c058837 | |||||
0x79bB842C...3263928b6 |
0.009207525401005792 Eth
Nonce: 43
|
0.129239393893019866 Eth
Nonce: 45
| 0.120031868492014074 | ||
0xC02aaA39...83C756Cc2 | 2,691,304.75584874472625123 Eth | 2,691,304.634935201648874772 Eth | 0.120913543077376458 | ||
0xdadB0d80...24f783711
Miner
| (BuilderNet) | 10.834465181528487599 Eth | 10.834828225528487599 Eth | 0.000363044 | |
0xf6E2edc5...F1C9b64B6 | (Uniswap V3: DOK 2) |
Execution Trace
0x79bb842c9e1bf59b42790146267d9bf3263928b6.e9ae5c53( )
-
Permit2.approve( token=0x69ca61398eCa94D880393522C1Ef5c3D8c058837, spender=0x66a9893cC07D91D95644AEDD05D03f95e1dBA8Af, amount=1461501637330902918203684832716283019655932542975, expiration=1753630140 )
UniversalRouter.execute( commands=0x00060C, inputs=[AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGtG+HIerCE5yawAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAracphOY7KlNiAOTUiwe9cPYwFiDcAJxDAKqo5siP+jQoOXE8n6tkIPHVswgAAAAAAAAAAAAAAAAAAAAAAAAAAAA==, AAAAAAAAAAAAAAAAwCqqObIj/o0KDlxPJ+rZCDx1bMIAAAAAAAAAAAAAAAAAAAD+4ToQOhDVk7muBrPgXy5+HAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZ, AAAAAAAAAAAAAAAAebuELJ4b9ZtCeQFGJn2b8yY5KLYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABq0vFGILnZg==], deadline=1751039950 )
UniswapV3Pool.swap( recipient=0x66a9893cC07D91D95644AEDD05D03f95e1dBA8Af, zeroForOne=True, amountSpecified=126650597039351274566251, sqrtPriceLimitX96=4295128740, data=0x000000000000000000000000000000000000000000000000000000000000004000000000000000000000000079BB842C9E1BF59B42790146267D9BF3263928B6000000000000000000000000000000000000000000000000000000000000002B69CA61398ECA94D880393522C1EF5C3D8C058837002710C02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2000000000000000000000000000000000000000000 ) => ( amount0=126650597039351274566251, amount1=-121216584538723266 )
-
WETH9.transfer( dst=0x66a9893cC07D91D95644AEDD05D03f95e1dBA8Af, wad=121216584538723266 ) => ( True )
-
Token.balanceOf( account=0xf6E2edc5953Da297947C6C68911E16CF1C9b64B6 ) => ( 46775437009434050406701087 )
UniversalRouter.uniswapV3SwapCallback( amount0Delta=126650597039351274566251, amount1Delta=-121216584538723266, data=0x000000000000000000000000000000000000000000000000000000000000004000000000000000000000000079BB842C9E1BF59B42790146267D9BF3263928B6000000000000000000000000000000000000000000000000000000000000002B69CA61398ECA94D880393522C1EF5C3D8C058837002710C02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2000000000000000000000000000000000000000000 )
Permit2.transferFrom( from=0x79bB842C9e1Bf59B42790146267d9bf3263928b6, to=0xf6E2edc5953Da297947C6C68911E16CF1C9b64B6, amount=126650597039351274566251, token=0x69ca61398eCa94D880393522C1Ef5c3D8c058837 )
-
Token.transferFrom( from=0x79bB842C9e1Bf59B42790146267d9bf3263928b6, to=0xf6E2edc5953Da297947C6C68911E16CF1C9b64B6, value=126650597039351274566251 ) => ( True )
-
-
Token.balanceOf( account=0xf6E2edc5953Da297947C6C68911E16CF1C9b64B6 ) => ( 46902087606473401681267338 )
-
-
WETH9.balanceOf( 0x66a9893cC07D91D95644AEDD05D03f95e1dBA8Af ) => ( 121216584538723266 )
-
WETH9.transfer( dst=0x000000fee13a103A10D593b9AE06b3e05F2E7E1c, wad=303041461346808 ) => ( True )
-
WETH9.balanceOf( 0x66a9893cC07D91D95644AEDD05D03f95e1dBA8Af ) => ( 120913543077376458 )
WETH9.withdraw( wad=120913543077376458 )
- ETH 0.120913543077376458
UniversalRouter.CALL( )
- ETH 0.120913543077376458
- ETH 0.120913543077376458
0x79bb842c9e1bf59b42790146267d9bf3263928b6.CALL( )
File 1 of 6: Permit2
File 2 of 6: UniswapV3Pool
File 3 of 6: UniversalRouter
File 4 of 6: WETH9
File 5 of 6: Token
File 6 of 6: FeeCollector
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 2 of 6: 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 3 of 6: UniversalRouter
12345678910111213141516// SPDX-License-Identifier: GPL-3.0-or-laterpragma solidity ^0.8.24;// Command implementationsimport {Dispatcher} from './base/Dispatcher.sol';import {RouterParameters} from './types/RouterParameters.sol';import {PaymentsImmutables, PaymentsParameters} from './modules/PaymentsImmutables.sol';import {UniswapImmutables, UniswapParameters} from './modules/uniswap/UniswapImmutables.sol';import {V4SwapRouter} from './modules/uniswap/v4/V4SwapRouter.sol';import {Commands} from './libraries/Commands.sol';import {IUniversalRouter} from './interfaces/IUniversalRouter.sol';import {MigratorImmutables, MigratorParameters} from './modules/MigratorImmutables.sol';contract UniversalRouter is IUniversalRouter, Dispatcher {constructor(RouterParameters memory params)UniswapImmutables(UniswapParameters(params.v2Factory, params.v3Factory, params.pairInitCodeHash, params.poolInitCodeHash))
File 4 of 6: 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 6: Token
12345678910111213141516// SPDX-License-Identifier: MIT// deployed with klik.financepragma solidity ^0.8.0;import "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol";import "@openzeppelin/contracts/token/ERC20/ERC20.sol";contract Token is ERC20, ERC20Burnable {address public platform;address public creator;constructor(string memory _name,string memory _symbol,address _creator,address _platform) ERC20(_name, _symbol) {platform = _platform;creator = _creator;
File 6 of 6: FeeCollector
12345678910111213141516// SPDX-License-Identifier: GPL-2.0-or-laterpragma 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;