ETH Price: $2,565.16 (-2.87%)

Transaction Decoder

Block:
19172695 at Feb-07-2024 12:16:11 AM +UTC
Transaction Fee:
0.0197861412 ETH $50.75
Gas Used:
672,998 Gas / 29.4 Gwei

Emitted Events:

33 WETH9.Transfer( src=UniswapV3Pool, dst=[Receiver] UniversalRouter, wad=1665197408623801726 )
34 Rugged.Transfer( from=[Sender] 0x92a2e5b6e005404a8c5552e273cb0f7db2f712e6, to=0x00000000...000000000, id=4105 )
35 Rugged.Transfer( from=[Sender] 0x92a2e5b6e005404a8c5552e273cb0f7db2f712e6, to=0x00000000...000000000, id=9205 )
36 Rugged.Transfer( from=[Sender] 0x92a2e5b6e005404a8c5552e273cb0f7db2f712e6, to=0x00000000...000000000, id=6047 )
37 Rugged.Transfer( from=[Sender] 0x92a2e5b6e005404a8c5552e273cb0f7db2f712e6, to=0x00000000...000000000, id=6932 )
38 Rugged.Transfer( from=[Sender] 0x92a2e5b6e005404a8c5552e273cb0f7db2f712e6, to=0x00000000...000000000, id=3921 )
39 Rugged.Transfer( from=[Sender] 0x92a2e5b6e005404a8c5552e273cb0f7db2f712e6, to=0x00000000...000000000, id=4644 )
40 Rugged.Transfer( from=[Sender] 0x92a2e5b6e005404a8c5552e273cb0f7db2f712e6, to=0x00000000...000000000, id=3381 )
41 Rugged.Transfer( from=[Sender] 0x92a2e5b6e005404a8c5552e273cb0f7db2f712e6, to=0x00000000...000000000, id=5100 )
42 Rugged.Transfer( from=[Sender] 0x92a2e5b6e005404a8c5552e273cb0f7db2f712e6, to=0x00000000...000000000, id=3520 )
43 Rugged.Transfer( from=[Sender] 0x92a2e5b6e005404a8c5552e273cb0f7db2f712e6, to=0x00000000...000000000, id=6306 )
44 Rugged.Transfer( from=[Sender] 0x92a2e5b6e005404a8c5552e273cb0f7db2f712e6, to=0x00000000...000000000, id=882 )
45 Rugged.Transfer( from=[Sender] 0x92a2e5b6e005404a8c5552e273cb0f7db2f712e6, to=0x00000000...000000000, id=3781 )
46 Rugged.Transfer( from=[Sender] 0x92a2e5b6e005404a8c5552e273cb0f7db2f712e6, to=0x00000000...000000000, id=8949 )
47 Rugged.Transfer( from=[Sender] 0x92a2e5b6e005404a8c5552e273cb0f7db2f712e6, to=0x00000000...000000000, id=938 )
48 Rugged.ERC20Transfer( from=[Sender] 0x92a2e5b6e005404a8c5552e273cb0f7db2f712e6, to=UniswapV3Pool, amount=14214727268948968453 )
49 UniswapV3Pool.Swap( sender=[Receiver] UniversalRouter, recipient=[Receiver] UniversalRouter, amount0=14214727268948968453, amount1=-1665197408623801726, sqrtPriceX96=26962633137740437593465237053, liquidity=225410470415209962932, tick=-21559 )
50 WETH9.Withdrawal( src=[Receiver] UniversalRouter, wad=1665197408623801726 )

Account State Difference:

  Address   Before After State Difference Code
0x92a2e5b6...db2f712E6
0.092755131848459073 Eth
Nonce: 62
1.738166399272260799 Eth
Nonce: 63
1.645411267423801726
(beaverbuild)
10.53091371122946476 Eth10.533269175478317202 Eth0.002355464248852442
0xbE33F57f...97f36221F
0xC02aaA39...83C756Cc2 3,268,054.223953043393388275 Eth3,268,052.558755634769586549 Eth1.665197408623801726
0xE12644B2...8d2F32d52
(Uniswap V3: RUG 7)

Execution Trace

UniversalRouter.execute( commands=0x000C, inputs=[AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADFRNsjZMMEBQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYCQbveBYhHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArvjP1f0GiCy8A3skdzBFpWX82Ih8AJxDAKqo5siP+jQoOXE8n6tkIPHVswgAAAAAAAAAAAAAAAAAAAAAAAAAAAA==, AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWAkG73gWIRw==], deadline=1707266747 )
  • UniswapV3Pool.swap( recipient=0xEf1c6E67703c7BD7107eed8303Fbe6EC2554BF6B, zeroForOne=True, amountSpecified=14214727268948968453, sqrtPriceLimitX96=4295128740, data=0x000000000000000000000000000000000000000000000000000000000000004000000000000000000000000092A2E5B6E005404A8C5552E273CB0F7DB2F712E6000000000000000000000000000000000000000000000000000000000000002BBE33F57F41A20B2F00DEC91DCC1169597F36221F002710C02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2000000000000000000000000000000000000000000 ) => ( amount0=14214727268948968453, amount1=-1665197408623801726 )
    • WETH9.transfer( dst=0xEf1c6E67703c7BD7107eed8303Fbe6EC2554BF6B, wad=1665197408623801726 ) => ( True )
    • Rugged.balanceOf( 0xE12644B23AAA654eaDC72050641D0FF8d2F32d52 ) => ( 702558862407191615576 )
    • UniversalRouter.uniswapV3SwapCallback( amount0Delta=14214727268948968453, amount1Delta=-1665197408623801726, data=0x000000000000000000000000000000000000000000000000000000000000004000000000000000000000000092A2E5B6E005404A8C5552E273CB0F7DB2F712E6000000000000000000000000000000000000000000000000000000000000002BBE33F57F41A20B2F00DEC91DCC1169597F36221F002710C02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2000000000000000000000000000000000000000000 )
      • Permit2.transferFrom( from=0x92a2e5b6e005404A8c5552E273cb0F7db2f712E6, to=0xE12644B23AAA654eaDC72050641D0FF8d2F32d52, amount=14214727268948968453, token=0xbE33F57f41a20b2f00DEc91DcC1169597f36221F )
        • Rugged.transferFrom( from=0x92a2e5b6e005404A8c5552E273cb0F7db2f712E6, to=0xE12644B23AAA654eaDC72050641D0FF8d2F32d52, amountOrId=14214727268948968453 )
        • Rugged.balanceOf( 0xE12644B23AAA654eaDC72050641D0FF8d2F32d52 ) => ( 716773589676140584029 )
        • WETH9.balanceOf( 0xEf1c6E67703c7BD7107eed8303Fbe6EC2554BF6B ) => ( 1665197408623801726 )
        • WETH9.withdraw( wad=1665197408623801726 )
          • ETH 1.665197408623801726 UniversalRouter.CALL( )
          • ETH 1.665197408623801726 0x92a2e5b6e005404a8c5552e273cb0f7db2f712e6.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: 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 3 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 4 of 5: Rugged
            1
            2
            3
            4
            5
            6
            7
            8
            9
            10
            11
            12
            13
            14
            15
            16
            //SPDX-License-Identifier: UNLICENSED
            pragma solidity ^0.8.20;
            import "@openzeppelin/contracts/utils/Strings.sol";
            abstract contract Ownable {
            event OwnershipTransferred(address indexed user, address indexed newOwner);
            error Unauthorized();
            error InvalidOwner();
            address public owner;
            modifier onlyOwner() virtual {
            if (msg.sender != owner) revert Unauthorized();
            _;
            }
            constructor(address _owner) {
            if (_owner == address(0)) revert InvalidOwner();
            owner = _owner;
            emit OwnershipTransferred(address(0), _owner);
            XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

            File 5 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