ETH Price: $3,752.40 (+0.70%)

Transaction Decoder

Block:
22718051 at Jun-16-2025 03:43:23 PM +UTC
Transaction Fee:
0.000710503301094304 ETH $2.67
Gas Used:
152,288 Gas / 4.665523883 Gwei

Emitted Events:

259 WETH9.Transfer( src=UniswapV3Pool, dst=[Receiver] OpenOceanExchangeProxy, wad=171224401618477728 )
260 ERC1967Proxy.0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef( 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef, 0x0000000000000000000000001c165ce53e9c5af5e9296f2756c358082b1f7671, 0x000000000000000000000000c7ec87aeb9d1129c42123859220c525aba1ca617, 000000000000000000000000000000000000000000000000000029d635a8e000 )
261 UniswapV3Pool.Swap( sender=[Receiver] OpenOceanExchangeProxy, recipient=[Receiver] OpenOceanExchangeProxy, amount0=46000000000000, amount1=-171224401618477728, sqrtPriceX96=4829387038534008802923018785202, liquidity=582910915141664294, tick=82206 )
262 WETH9.Withdrawal( src=[Receiver] OpenOceanExchangeProxy, wad=171224401618477728 )

Account State Difference:

  Address   Before After State Difference Code
0x1c165CE5...82B1f7671
2.644363392010853126 Eth
Nonce: 342
2.814705205502489336 Eth
Nonce: 343
0.17034181349163621
0x675B68AA...B7192079c
0x922164BB...949fCAEef 0.724653591057937826 Eth0.72482567588368504 Eth0.000172084825747214
(beaverbuild)
6.29061191839820504 Eth6.29091649439820504 Eth0.000304576
0xC02aaA39...83C756Cc2 2,617,157.87368686456717834 Eth2,617,157.702462462948700612 Eth0.171224401618477728
0xC7eC87AE...aBa1ca617
(Uniswap V3: FUEL 6)

Execution Trace

OpenOceanExchangeProxy.bc80f1a8( )
  • OpenOceanExchange.uniswapV3SwapTo( recipient=0x1c165CE53E9C5af5E9296f2756C358082B1f7671, amount=46000000000000, minReturn=170197055208766862, pools=[14474356241981863956135744865020466291806893309641124493134283807209411094039] ) => ( returnAmount=171224401618477728 )
    • UniswapV3Pool.swap( recipient=0x6352a56caadC4F1E25CD6c75970Fa768A3304e64, zeroForOne=True, amountSpecified=46000000000000, sqrtPriceLimitX96=4295128740, data=0x0000000000000000000000001C165CE53E9C5AF5E9296F2756C358082B1F7671 ) => ( amount0=46000000000000, amount1=-171224401618477728 )
      • WETH9.transfer( dst=0x6352a56caadC4F1E25CD6c75970Fa768A3304e64, wad=171224401618477728 ) => ( True )
      • ERC1967Proxy.70a08231( )
        • Token.balanceOf( account=0xC7eC87AEB9D1129C42123859220C525aBa1ca617 ) => ( 11032003100201640 )
        • OpenOceanExchangeProxy.fa461e33( )
          • OpenOceanExchange.uniswapV3SwapCallback( amount0Delta=46000000000000, amount1Delta=-171224401618477728, 0x0000000000000000000000001C165CE53E9C5AF5E9296F2756C358082B1F7671 )
            • UniswapV3Pool.STATICCALL( )
            • UniswapV3Pool.STATICCALL( )
            • UniswapV3Pool.STATICCALL( )
            • ERC1967Proxy.23b872dd( )
              • Token.transferFrom( from=0x1c165CE53E9C5af5E9296f2756C358082B1f7671, to=0xC7eC87AEB9D1129C42123859220C525aBa1ca617, value=46000000000000 ) => ( True )
              • ERC1967Proxy.70a08231( )
                • Token.balanceOf( account=0xC7eC87AEB9D1129C42123859220C525aBa1ca617 ) => ( 11078003100201640 )
                • UniswapV3Pool.STATICCALL( )
                • WETH9.withdraw( wad=171224401618477728 )
                  • ETH 0.171224401618477728 OpenOceanExchangeProxy.CALL( )
                    • ETH 0.171224401618477728 OpenOceanExchange.DELEGATECALL( )
                    • ETH 0.171052316792730514 0x1c165ce53e9c5af5e9296f2756c358082b1f7671.CALL( )
                    • ETH 0.000172084825747214 0x922164bbbd36acf9e854acbbf32facc949fcaeef.CALL( )
                      uniswapV3SwapTo[UniswapV3Exchange (ln:3389)]
                      File 1 of 6: OpenOceanExchangeProxy
                      1
                      2
                      3
                      4
                      5
                      6
                      7
                      8
                      9
                      10
                      11
                      12
                      13
                      14
                      15
                      16
                      // File: @openzeppelin/contracts/proxy/Proxy.sol
                      // SPDX-License-Identifier: MIT
                      pragma solidity >=0.6.0 <0.8.0;
                      /**
                      * @dev This abstract contract provides a fallback function that delegates all calls to another contract using the EVM
                      * instruction `delegatecall`. We refer to the second contract as the _implementation_ behind the proxy, and it has to
                      * be specified by overriding the virtual {_implementation} function.
                      *
                      * Additionally, delegation to the implementation can be triggered manually through the {_fallback} function, or to a
                      * different contract through the {_delegate} function.
                      *
                      * The success and return data of the delegated call will be returned back to the caller of the proxy.
                      */
                      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                      File 2 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 3 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 4 of 6: ERC1967Proxy
                      1
                      2
                      3
                      4
                      5
                      6
                      7
                      8
                      9
                      10
                      11
                      12
                      13
                      14
                      15
                      16
                      // SPDX-License-Identifier: MIT
                      // OpenZeppelin Contracts (last updated v5.0.0) (access/Ownable.sol)
                      pragma solidity ^0.8.20;
                      import {Context} from "../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.
                      *
                      * The initial owner is set to the address provided by the deployer. 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

                      File 5 of 6: OpenOceanExchange
                      1
                      2
                      3
                      4
                      5
                      6
                      7
                      8
                      9
                      10
                      11
                      12
                      13
                      14
                      15
                      16
                      // File: @openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol
                      // SPDX-License-Identifier: MIT
                      // OpenZeppelin Contracts (last updated v4.8.0) (utils/Address.sol)
                      pragma solidity ^0.8.1;
                      /**
                      * @dev Collection of functions related to the address type
                      */
                      library AddressUpgradeable {
                      /**
                      * @dev Returns true if `account` is a contract.
                      *
                      * [IMPORTANT]
                      * ====
                      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                      File 6 of 6: Token
                      1
                      2
                      3
                      4
                      5
                      6
                      7
                      8
                      9
                      10
                      11
                      12
                      13
                      14
                      15
                      16
                      // SPDX-License-Identifier: MIT
                      // OpenZeppelin Contracts (last updated v5.0.0) (access/AccessControl.sol)
                      pragma solidity ^0.8.20;
                      import {IAccessControl} from "@openzeppelin/contracts/access/IAccessControl.sol";
                      import {ContextUpgradeable} from "../utils/ContextUpgradeable.sol";
                      import {ERC165Upgradeable} from "../utils/introspection/ERC165Upgradeable.sol";
                      import {Initializable} from "../proxy/utils/Initializable.sol";
                      /**
                      * @dev Contract module that allows children to implement role-based access
                      * control mechanisms. This is a lightweight version that doesn't allow enumerating role
                      * members except through off-chain means by accessing the contract event logs. Some
                      * applications may benefit from on-chain enumerability, for those cases see
                      * {AccessControlEnumerable}.
                      *
                      * Roles are referred to by their `bytes32` identifier. These should be exposed
                      * in the external API and be unique. The best way to achieve this is by
                      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX