ETH Price: $3,574.68 (+4.27%)

Transaction Decoder

Block:
19206172 at Feb-11-2024 05:01:35 PM +UTC
Transaction Fee:
0.0057155952 ETH $20.43
Gas Used:
170,107 Gas / 33.6 Gwei

Emitted Events:

65 Permit2.Permit( owner=[Sender] 0x5c2fa6118ca914bff95457b1ee003255e7e98757, token=CBulls, spender=[Receiver] UniversalRouter, amount=1461501637330902918203684832716283019655932542975, expiration=1710261534, nonce=0 )
66 WETH9.Transfer( src=UniswapV3Pool, dst=[Receiver] UniversalRouter, wad=581915530512149515 )
67 CBulls.ERC20Transfer( from=[Sender] 0x5c2fa6118ca914bff95457b1ee003255e7e98757, to=UniswapV3Pool, amount=305440823445409206 )
68 UniswapV3Pool.Swap( sender=[Receiver] UniversalRouter, recipient=[Receiver] UniversalRouter, amount0=305440823445409206, amount1=-581915530512149515, sqrtPriceX96=109356041970108589347776537589, liquidity=41675963875023700462, tick=6445 )
69 WETH9.Withdrawal( src=[Receiver] UniversalRouter, wad=581915530512149515 )

Account State Difference:

  Address   Before After State Difference Code
0x00000000...43aC78BA3
(Uniswap Protocol: Permit2)
0x2400615A...6f55d2f27
(Uniswap V3: CBULLS)
0x29c0eAed...F2809d5e9
(Titan Builder)
86.263680304873751499 Eth86.264002433261494647 Eth0.000322128387743148
0x5c2Fa611...5E7E98757
0.439280668044327467 Eth
Nonce: 1862
1.015480603356476982 Eth
Nonce: 1863
0.576199935312149515
0xC02aaA39...83C756Cc2 3,276,347.10020028582176266 Eth3,276,346.518284755309613145 Eth0.581915530512149515

Execution Trace

UniversalRouter.execute( commands=0x0A000C, inputs=[AAAAAAAAAAAAAAAAKcDq7db4MwQTBwNo9kN/bygJ1ekAAAAAAAAAAAAAAAD//////////////////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABl8IUeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADvHG5ncDx71xB+7YMD++bsJVS/awAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlyP8mAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQeKSt9tA3G9bdJN/NVauh6e3EBsKW7f4VF086rM7qGScKwITNuk1m32dNaChpcRG+gcUs2VEO93OynPb7qGUHKgbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==, AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEPSTPhV3NtgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdntbT36KpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArKcDq7db4MwQTBwNo9kN/bygJ1ekAJxDAKqo5siP+jQoOXE8n6tkIPHVswgAAAAAAAAAAAAAAAAAAAAAAAAAAAA==, AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHZ7W09+iqQA==], deadline=1707672683 )
  • Permit2.permit( owner=0x5c2Fa6118cA914BFF95457B1EE003255E7E98757, permitSingle=[{name:details, type:tuple, order:1, indexed:false, value:[{name:token, type:address, order:1, indexed:false, value:0x29c0eAedd6F8330413070368F6437F6F2809d5e9, valueString:0x29c0eAedd6F8330413070368F6437F6F2809d5e9}, {name:amount, type:uint160, order:2, indexed:false, value:1461501637330902918203684832716283019655932542975, valueString:1461501637330902918203684832716283019655932542975}, {name:expiration, type:uint48, order:3, indexed:false, value:1710261534, valueString:1710261534}, {name:nonce, type:uint48, order:4, indexed:false, value:0, valueString:0}], valueString:[{name:token, type:address, order:1, indexed:false, value:0x29c0eAedd6F8330413070368F6437F6F2809d5e9, valueString:0x29c0eAedd6F8330413070368F6437F6F2809d5e9}, {name:amount, type:uint160, order:2, indexed:false, value:1461501637330902918203684832716283019655932542975, valueString:1461501637330902918203684832716283019655932542975}, {name:expiration, type:uint48, order:3, indexed:false, value:1710261534, valueString:1710261534}, {name:nonce, type:uint48, order:4, indexed:false, value:0, valueString:0}]}, {name:spender, type:address, order:2, indexed:false, value:0xEf1c6E67703c7BD7107eed8303Fbe6EC2554BF6B, valueString:0xEf1c6E67703c7BD7107eed8303Fbe6EC2554BF6B}, {name:sigDeadline, type:uint256, order:3, indexed:false, value:1707671334, valueString:1707671334}], signature=0xE292B7DB40DC6F5B74937F3556AE87A7B7101B0A5BB7F8545D3CEAB33BA8649C2B021336E9359B7D9D35A0A1A5C446FA0714B365443BDDCECA73DBEEA1941CA81B )
    • Null: 0x000...001.83bb1b41( )
    • UniswapV3Pool.swap( recipient=0xEf1c6E67703c7BD7107eed8303Fbe6EC2554BF6B, zeroForOne=True, amountSpecified=305440823445409206, sqrtPriceLimitX96=4295128740, data=0x00000000000000000000000000000000000000000000000000000000000000400000000000000000000000005C2FA6118CA914BFF95457B1EE003255E7E98757000000000000000000000000000000000000000000000000000000000000002B29C0EAEDD6F8330413070368F6437F6F2809D5E9002710C02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2000000000000000000000000000000000000000000 ) => ( amount0=305440823445409206, amount1=-581915530512149515 )
      • WETH9.transfer( dst=0xEf1c6E67703c7BD7107eed8303Fbe6EC2554BF6B, wad=581915530512149515 ) => ( True )
      • CBulls.balanceOf( 0x2400615AF819390459deE1D3Cc729e26f55d2f27 ) => ( 31973773426568415433 )
      • UniversalRouter.uniswapV3SwapCallback( amount0Delta=305440823445409206, amount1Delta=-581915530512149515, data=0x00000000000000000000000000000000000000000000000000000000000000400000000000000000000000005C2FA6118CA914BFF95457B1EE003255E7E98757000000000000000000000000000000000000000000000000000000000000002B29C0EAEDD6F8330413070368F6437F6F2809D5E9002710C02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2000000000000000000000000000000000000000000 )
        • Permit2.transferFrom( from=0x5c2Fa6118cA914BFF95457B1EE003255E7E98757, to=0x2400615AF819390459deE1D3Cc729e26f55d2f27, amount=305440823445409206, token=0x29c0eAedd6F8330413070368F6437F6F2809d5e9 )
          • CBulls.transferFrom( from=0x5c2Fa6118cA914BFF95457B1EE003255E7E98757, to=0x2400615AF819390459deE1D3Cc729e26f55d2f27, amountOrId=305440823445409206 )
          • CBulls.balanceOf( 0x2400615AF819390459deE1D3Cc729e26f55d2f27 ) => ( 32279214250013824639 )
          • WETH9.balanceOf( 0xEf1c6E67703c7BD7107eed8303Fbe6EC2554BF6B ) => ( 581915530512149515 )
          • WETH9.withdraw( wad=581915530512149515 )
            • ETH 0.581915530512149515 UniversalRouter.CALL( )
            • ETH 0.581915530512149515 0x5c2fa6118ca914bff95457b1ee003255e7e98757.CALL( )
              File 1 of 5: 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;
              import {Dispatcher} from './base/Dispatcher.sol';
              import {RewardsCollector} from './base/RewardsCollector.sol';
              import {RouterParameters, RouterImmutables} from './base/RouterImmutables.sol';
              import {Constants} from './libraries/Constants.sol';
              import {Commands} from './libraries/Commands.sol';
              import {IUniversalRouter} from './interfaces/IUniversalRouter.sol';
              import {ReentrancyLock} from './base/ReentrancyLock.sol';
              contract UniversalRouter is RouterImmutables, IUniversalRouter, Dispatcher, RewardsCollector, ReentrancyLock {
              modifier checkDeadline(uint256 deadline) {
              if (block.timestamp > deadline) revert TransactionDeadlinePassed();
              _;
              }
              constructor(RouterParameters memory params) RouterImmutables(params) {}
              /// @inheritdoc IUniversalRouter
              XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

              File 2 of 5: 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 5: 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 5: 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 5: CBulls
              1
              2
              3
              4
              5
              6
              7
              8
              9
              10
              11
              12
              13
              14
              15
              16
              // SPDX-License-Identifier: MIT
              // OpenZeppelin Contracts (last updated v4.9.0) (token/ERC20/IERC20.sol)
              pragma solidity ^0.8.0;
              /**
              * @dev Interface of the ERC20 standard as defined in the EIP.
              */
              interface IERC20 {
              /**
              * @dev Emitted when `value` tokens are moved from one account (`from`) to
              * another (`to`).
              *
              * Note that `value` may be zero.
              */
              event Transfer(address indexed from, address indexed to, uint256 value);
              /**
              * @dev Emitted when the allowance of a `spender` for an `owner` is set by
              XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX