ETH Price: $2,999.17 (+7.42%)

Transaction Decoder

Block:
19265148 at Feb-19-2024 11:48:59 PM +UTC
Transaction Fee:
0.004367204600262885 ETH $13.10
Gas Used:
159,597 Gas / 27.363951705 Gwei

Emitted Events:

314 Permit2.Permit( owner=[Sender] 0xae3642a03a1e4bd7ab7d919d14c54ecf1bfdddd3, token=BRC20, spender=[Receiver] UniversalRouter, amount=1461501637330902918203684832716283019655932542975, expiration=1710978507, nonce=0 )
315 WETH9.Transfer( src=UniswapV3Pool, dst=[Receiver] UniversalRouter, wad=115471221210869340 )
316 BRC20.Transfer( from=[Sender] 0xae3642a03a1e4bd7ab7d919d14c54ecf1bfdddd3, to=UniswapV3Pool, value=273083694984517827573 )
317 UniswapV3Pool.Swap( sender=[Receiver] UniversalRouter, recipient=[Receiver] UniversalRouter, amount0=-115471221210869340, amount1=273083694984517827573, sqrtPriceX96=3834568977885108249617254447803, liquidity=11195852168355090072954, tick=77593 )
318 WETH9.Withdrawal( src=[Receiver] UniversalRouter, wad=115471221210869340 )

Account State Difference:

  Address   Before After State Difference Code
0x00000000...43aC78BA3
(Uniswap Protocol: Permit2)
0xAE3642A0...f1BFdddd3
0.065968450828793284 Eth
Nonce: 56
0.177072467439399739 Eth
Nonce: 57
0.111104016610606455
(MEV Builder: 0xB27...e16)
1.4576217452524458 Eth1.4576219000615358 Eth0.00000015480909
0xC02aaA39...83C756Cc2 3,107,417.702904425873588361 Eth3,107,417.587433204662719021 Eth0.11547122121086934
0xda31D0d1...0A5e8b44F
0xe21876Af...54C1875E8
(Uniswap V3: BSSB 2)

Execution Trace

UniversalRouter.execute( commands=0x0A000C, inputs=[AAAAAAAAAAAAAAAA2jHQ0byTT8NPcYnjikE8oKXotE8AAAAAAAAAAAAAAAD//////////////////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABl+3XLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/yRo6/XA5XNSWxkfVpsydSyt/rQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABl0+/TAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQRDgj8JWg2fy95Sa6nEQbYeDF6sSPSW6G7Y296UuAqkmVCtqcf5vvuzsXI33RGMpPLZKLmZVeQu8Th+hZC1G680cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==, AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7NzC26n0679QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGJrxhyw693AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAr2jHQ0byTT8NPcYnjikE8oKXotE8AJxDAKqo5siP+jQoOXE8n6tkIPHVswgAAAAAAAAAAAAAAAAAAAAAAAAAAAA==, AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABia8YcsOvdw==], deadline=1708387103 )
  • Permit2.permit( owner=0xAE3642A03a1e4bd7AB7D919d14C54ECf1BFdddd3, permitSingle=[{name:details, type:tuple, order:1, indexed:false, value:[{name:token, type:address, order:1, indexed:false, value:0xda31D0d1Bc934fC34F7189E38A413ca0A5e8b44F, valueString:0xda31D0d1Bc934fC34F7189E38A413ca0A5e8b44F}, {name:amount, type:uint160, order:2, indexed:false, value:1461501637330902918203684832716283019655932542975, valueString:1461501637330902918203684832716283019655932542975}, {name:expiration, type:uint48, order:3, indexed:false, value:1710978507, valueString:1710978507}, {name:nonce, type:uint48, order:4, indexed:false, value:0, valueString:0}], valueString:[{name:token, type:address, order:1, indexed:false, value:0xda31D0d1Bc934fC34F7189E38A413ca0A5e8b44F, valueString:0xda31D0d1Bc934fC34F7189E38A413ca0A5e8b44F}, {name:amount, type:uint160, order:2, indexed:false, value:1461501637330902918203684832716283019655932542975, valueString:1461501637330902918203684832716283019655932542975}, {name:expiration, type:uint48, order:3, indexed:false, value:1710978507, valueString:1710978507}, {name:nonce, type:uint48, order:4, indexed:false, value:0, valueString:0}]}, {name:spender, type:address, order:2, indexed:false, value:0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD, valueString:0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD}, {name:sigDeadline, type:uint256, order:3, indexed:false, value:1708388307, valueString:1708388307}], signature=0x10E08FC2568367F2F7949AEA71106D878317AB123D25BA1BB636F7A52E02A926542B6A71FE6FBEECEC5C8DF74463293CB64A2E6655790BBC4E1FA1642D46EBCD1C )
    • Null: 0x000...001.2e794cd9( )
    • UniswapV3Pool.swap( recipient=0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD, zeroForOne=False, amountSpecified=273083694984517827573, sqrtPriceLimitX96=1461446703485210103287273052203988822378723970341, data=0x0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000AE3642A03A1E4BD7AB7D919D14C54ECF1BFDDDD3000000000000000000000000000000000000000000000000000000000000002BDA31D0D1BC934FC34F7189E38A413CA0A5E8B44F002710C02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2000000000000000000000000000000000000000000 ) => ( amount0=-115471221210869340, amount1=273083694984517827573 )
      • WETH9.transfer( dst=0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD, wad=115471221210869340 ) => ( True )
      • BRC20.balanceOf( 0xe21876Afd4C632b22870DF250E5Df1754C1875E8 ) => ( 1015589415013444913185332 )
      • UniversalRouter.uniswapV3SwapCallback( amount0Delta=-115471221210869340, amount1Delta=273083694984517827573, data=0x0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000AE3642A03A1E4BD7AB7D919D14C54ECF1BFDDDD3000000000000000000000000000000000000000000000000000000000000002BDA31D0D1BC934FC34F7189E38A413CA0A5E8B44F002710C02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2000000000000000000000000000000000000000000 )
        • Permit2.transferFrom( from=0xAE3642A03a1e4bd7AB7D919d14C54ECf1BFdddd3, to=0xe21876Afd4C632b22870DF250E5Df1754C1875E8, amount=273083694984517827573, token=0xda31D0d1Bc934fC34F7189E38A413ca0A5e8b44F )
          • BRC20.transferFrom( from=0xAE3642A03a1e4bd7AB7D919d14C54ECf1BFdddd3, to=0xe21876Afd4C632b22870DF250E5Df1754C1875E8, amount=273083694984517827573 ) => ( True )
          • BRC20.balanceOf( 0xe21876Afd4C632b22870DF250E5Df1754C1875E8 ) => ( 1015862498708429431012905 )
          • WETH9.balanceOf( 0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD ) => ( 115471221210869340 )
          • WETH9.withdraw( wad=115471221210869340 )
            • ETH 0.11547122121086934 UniversalRouter.CALL( )
            • ETH 0.11547122121086934 0xae3642a03a1e4bd7ab7d919d14c54ecf1bfdddd3.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;
              // 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 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: BRC20
              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 "./interfaces/IBRC20Factory.sol";
              contract BRC20 {
              string public name;
              string public symbol;
              uint8 public immutable decimals;
              address public immutable factory;
              uint256 public totalSupply;
              mapping (address => uint256) public balanceOf;
              mapping (address => mapping(address => uint256)) public allowance;
              mapping (address => uint256) public nonces;
              bytes32 public DOMAIN_SEPARATOR;
              bytes32 public constant PERMIT_TYPEHASH = keccak256("Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)");
              bytes32 public constant DOMAIN_TYPEHASH = keccak256("EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)");
              event Approval(address indexed owner, address indexed spender, uint256 value);
              XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX