ETH Price: $2,524.45 (+0.54%)
Gas: 0.35 Gwei

Transaction Decoder

Block:
17502161 at Jun-17-2023 09:18:59 PM +UTC
Transaction Fee:
0.002571418563870345 ETH $6.49
Gas Used:
186,319 Gas / 13.801161255 Gwei

Emitted Events:

225 WETH9.Deposit( dst=[Receiver] UniversalRouter, wad=20446735733908034 )
226 MongCoin.Transfer( from=UniswapV3Pool, to=[Receiver] UniversalRouter, value=1916705528928699936050185064 )
227 WETH9.Transfer( src=[Receiver] UniversalRouter, dst=UniswapV3Pool, wad=20446735733908034 )
228 UniswapV3Pool.Swap( sender=[Receiver] UniversalRouter, recipient=[Receiver] UniversalRouter, amount0=-1916705528928699936050185064, amount1=20446735733908034, sqrtPriceX96=257596307050238937844286, liquidity=6497850616267726184509004, tick=-252742 )
229 HamsterCoin.Transfer( from=UniswapV3Pool, to=[Sender] 0xd01777f28cbbb8b8bad19a99bb133b1af356490f, value=109924123903466587054542341059 )
230 MongCoin.Transfer( from=[Receiver] UniversalRouter, to=UniswapV3Pool, value=1916705528928699936050185064 )
231 UniswapV3Pool.Swap( sender=[Receiver] UniversalRouter, recipient=[Sender] 0xd01777f28cbbb8b8bad19a99bb133b1af356490f, amount0=1916705528928699936050185064, amount1=-109924123903466587054542341059, sqrtPriceX96=602974171842901562902034669483, liquidity=97743637239488338486118579008396, tick=40592 )

Account State Difference:

  Address   Before After State Difference Code
0x1ce27055...f8B47FD9C
3.631906801493814791 Eth3.631925433393814791 Eth0.0000186319
0x42a43bc1...A124C03c2
0x95Ad5d38...B36A94EA5
(Uniswap V3: $MONG)
0xACF35CC2...7c515ff0D
(Uniswap V3: $MONG-$HAMSTR)
0xC02aaA39...83C756Cc2 3,564,596.917348054113165125 Eth3,564,596.937794789847073159 Eth0.020446735733908034
0xd01777F2...Af356490f
0.070446735733908034 Eth
Nonce: 109
0.047428581436129655 Eth
Nonce: 110
0.023018154297778379

Execution Trace

ETH 0.020446735733908034 UniversalRouter.execute( commands=0x0B00, inputs=[AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASKQypDxiQg==, AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASKQypDxiQgAAAAAAAAAAAAAAAAAAAAAAAAABYh8jg7hVUqRMzZJtAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABCwCqqObIj/o0KDlxPJ+rZCDx1bMIAJxAc4nBVfB9oz7V3uFZ2YxC/i0f9nAAnEEKkO8GKIIMaar/FUclHbroSTAPCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA], deadline=1687038515 )
  • ETH 0.020446735733908034 WETH9.CALL( )
  • UniswapV3Pool.swap( recipient=0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD, zeroForOne=False, amountSpecified=20446735733908034, sqrtPriceLimitX96=1461446703485210103287273052203988822378723970341, data=0x00000000000000000000000000000000000000000000000000000000000000400000000000000000000000003FC91A3AFD70395CD496C647D5A6CC9D4B2B7FAD000000000000000000000000000000000000000000000000000000000000002BC02AAA39B223FE8D0A0E5C4F27EAD9083C756CC20027101CE270557C1F68CFB577B856766310BF8B47FD9C000000000000000000000000000000000000000000 ) => ( amount0=-1916705528928699936050185064, amount1=20446735733908034 )
    • MongCoin.transfer( to=0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD, amount=1916705528928699936050185064 ) => ( True )
    • WETH9.balanceOf( 0x95Ad5d38aD6BB17500E9a57BFeb6569B36A94EA5 ) => ( 9168130539259350656 )
    • UniversalRouter.uniswapV3SwapCallback( amount0Delta=-1916705528928699936050185064, amount1Delta=20446735733908034, data=0x00000000000000000000000000000000000000000000000000000000000000400000000000000000000000003FC91A3AFD70395CD496C647D5A6CC9D4B2B7FAD000000000000000000000000000000000000000000000000000000000000002BC02AAA39B223FE8D0A0E5C4F27EAD9083C756CC20027101CE270557C1F68CFB577B856766310BF8B47FD9C000000000000000000000000000000000000000000 )
      • WETH9.transfer( dst=0x95Ad5d38aD6BB17500E9a57BFeb6569B36A94EA5, wad=20446735733908034 ) => ( True )
      • WETH9.balanceOf( 0x95Ad5d38aD6BB17500E9a57BFeb6569B36A94EA5 ) => ( 9188577274993258690 )
      • UniswapV3Pool.swap( recipient=0xd01777F28CBbb8B8bAD19A99BB133B1Af356490f, zeroForOne=True, amountSpecified=1916705528928699936050185064, sqrtPriceLimitX96=4295128740, data=0x00000000000000000000000000000000000000000000000000000000000000400000000000000000000000003FC91A3AFD70395CD496C647D5A6CC9D4B2B7FAD000000000000000000000000000000000000000000000000000000000000002B1CE270557C1F68CFB577B856766310BF8B47FD9C00271042A43BC18A20831A6ABFC551C9476EBA124C03C2000000000000000000000000000000000000000000 ) => ( amount0=1916705528928699936050185064, amount1=-109924123903466587054542341059 )
        • HamsterCoin.transfer( to=0xd01777F28CBbb8B8bAD19A99BB133B1Af356490f, amount=109924123903466587054542341059 ) => ( True )
        • MongCoin.balanceOf( account=0xACF35CC2d70b6Fa4C87663979a01b6B7c515ff0D ) => ( 12344989981739629243618483062198 )
        • UniversalRouter.uniswapV3SwapCallback( amount0Delta=1916705528928699936050185064, amount1Delta=-109924123903466587054542341059, data=0x00000000000000000000000000000000000000000000000000000000000000400000000000000000000000003FC91A3AFD70395CD496C647D5A6CC9D4B2B7FAD000000000000000000000000000000000000000000000000000000000000002B1CE270557C1F68CFB577B856766310BF8B47FD9C00271042A43BC18A20831A6ABFC551C9476EBA124C03C2000000000000000000000000000000000000000000 )
          • MongCoin.transfer( to=0xACF35CC2d70b6Fa4C87663979a01b6B7c515ff0D, amount=1916705528928699936050185064 ) => ( True )
          • MongCoin.balanceOf( account=0xACF35CC2d70b6Fa4C87663979a01b6B7c515ff0D ) => ( 12346906687268557943554533247262 )
            File 1 of 6: 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 6: 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 3 of 6: 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 6: MongCoin
            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.8.0) (token/ERC20/ERC20.sol)
            pragma solidity ^0.8.0;
            import "./IERC20.sol";
            import "./extensions/IERC20Metadata.sol";
            import "../../utils/Context.sol";
            /**
            * @dev Implementation of the {IERC20} interface.
            *
            * This implementation is agnostic to the way tokens are created. This means
            * that a supply mechanism has to be added in a derived contract using {_mint}.
            * For a generic mechanism see {ERC20PresetMinterPauser}.
            *
            * TIP: For a detailed writeup see our guide
            * https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How
            * to implement supply mechanisms].
            XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

            File 5 of 6: 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 6 of 6: HamsterCoin
            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.7.0) (access/Ownable.sol)
            pragma solidity ^0.8.0;
            import "../utils/Context.sol";
            /**
            * @dev Contract module which provides a basic access control mechanism, where
            * there is an account (an owner) that can be granted exclusive access to
            * specific functions.
            *
            * By default, the owner account will be the one that deploys the contract. This
            * can later be changed with {transferOwnership}.
            *
            * This module is used through inheritance. It will make available the modifier
            * `onlyOwner`, which can be applied to your functions to restrict their use to
            * the owner.
            */
            XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX