ETH Price: $3,867.11 (+0.61%)

Transaction Decoder

Block:
22688457 at Jun-12-2025 12:22:23 PM +UTC
Transaction Fee:
0.000710334661083734 ETH $2.75
Gas Used:
134,789 Gas / 5.269975006 Gwei

Emitted Events:

77 WETH9.Transfer( src=UniswapV3Pool, dst=[Receiver] OpenOceanExchangeProxy, wad=28888394074925772 )
78 TransparentUpgradeableProxy.0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef( 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef, 0x000000000000000000000000f892f3764890412fed83a2ce6874edec09beef8f, 0x000000000000000000000000059615ebf32c946aaab3d44491f78e4f8e97e1d3, 00000000000000000000000000000000000000000000000000622eb1b81ee2a0 )
79 UniswapV3Pool.Swap( sender=[Receiver] OpenOceanExchangeProxy, recipient=[Receiver] OpenOceanExchangeProxy, amount0=27635888550765216, amount1=-28888394074925772, sqrtPriceX96=81023419839962763817327625017, liquidity=2360907082923504959019, tick=448 )
80 WETH9.Withdrawal( src=[Receiver] OpenOceanExchangeProxy, wad=28888394074925772 )

Account State Difference:

  Address   Before After State Difference Code
0x059615EB...F8e97e1D3
(Uniswap V3: rsETH 3)
(MEV Builder: 0x6adb...200)
4.830715449140128829 Eth4.830850238140128829 Eth0.000134789
0x922164BB...949fCAEef 0.636305460140557966 Eth0.636334640336593245 Eth0.000029180196035279
0xA1290d69...5cB99e5A7
0xC02aaA39...83C756Cc2 2,622,087.090967498786356352 Eth2,622,087.06207910471143058 Eth0.028888394074925772
0xF892f376...C09beeF8f
0.016942851231395865 Eth
Nonce: 8
0.045091730449202624 Eth
Nonce: 9
0.028148879217806759

Execution Trace

OpenOceanExchangeProxy.bc80f1a8( )
  • OpenOceanExchange.uniswapV3SwapTo( recipient=0xF892f3764890412FEd83A2cE6874eDeC09beeF8f, amount=27635888550765216, minReturn=28570621740101589, pools=[14474701329299203484325116601704108159485486652865548622000977374221579051475] ) => ( returnAmount=28888394074925772 )
    • UniswapV3Pool.swap( recipient=0x6352a56caadC4F1E25CD6c75970Fa768A3304e64, zeroForOne=True, amountSpecified=27635888550765216, sqrtPriceLimitX96=4295128740, data=0x000000000000000000000000F892F3764890412FED83A2CE6874EDEC09BEEF8F ) => ( amount0=27635888550765216, amount1=-28888394074925772 )
      • WETH9.transfer( dst=0x6352a56caadC4F1E25CD6c75970Fa768A3304e64, wad=28888394074925772 ) => ( True )
      • TransparentUpgradeableProxy.70a08231( )
        • RSETH.balanceOf( account=0x059615EBf32C946aaab3D44491f78e4F8e97e1D3 ) => ( 7191274904323437385 )
        • OpenOceanExchangeProxy.fa461e33( )
          • OpenOceanExchange.uniswapV3SwapCallback( amount0Delta=27635888550765216, amount1Delta=-28888394074925772, 0x000000000000000000000000F892F3764890412FED83A2CE6874EDEC09BEEF8F )
            • UniswapV3Pool.STATICCALL( )
            • UniswapV3Pool.STATICCALL( )
            • UniswapV3Pool.STATICCALL( )
            • TransparentUpgradeableProxy.23b872dd( )
              • RSETH.transferFrom( from=0xF892f3764890412FEd83A2cE6874eDeC09beeF8f, to=0x059615EBf32C946aaab3D44491f78e4F8e97e1D3, amount=27635888550765216 ) => ( True )
              • TransparentUpgradeableProxy.70a08231( )
                • RSETH.balanceOf( account=0x059615EBf32C946aaab3D44491f78e4F8e97e1D3 ) => ( 7218910792874202601 )
                • UniswapV3Pool.STATICCALL( )
                • WETH9.withdraw( wad=28888394074925772 )
                  • ETH 0.028888394074925772 OpenOceanExchangeProxy.CALL( )
                    • ETH 0.028888394074925772 OpenOceanExchange.DELEGATECALL( )
                    • ETH 0.028859213878890493 0xf892f3764890412fed83a2ce6874edec09beef8f.CALL( )
                    • ETH 0.000029180196035279 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: TransparentUpgradeableProxy
                      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) (proxy/transparent/TransparentUpgradeableProxy.sol)
                      pragma solidity ^0.8.0;
                      import "../ERC1967/ERC1967Proxy.sol";
                      /**
                      * @dev Interface for {TransparentUpgradeableProxy}. In order to implement transparency, {TransparentUpgradeableProxy}
                      * does not implement this interface directly, and some of its functions are implemented by an internal dispatch
                      * mechanism. The compiler is unaware that these functions are implemented by {TransparentUpgradeableProxy} and will not
                      * include them in the ABI so this interface must be used to interact with it.
                      */
                      interface ITransparentUpgradeableProxy is IERC1967 {
                      function admin() external view returns (address);
                      function implementation() external view returns (address);
                      function changeAdmin(address) external;
                      function upgradeTo(address) external;
                      function upgradeToAndCall(address, bytes memory) external payable;
                      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: RSETH
                      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) (proxy/utils/Initializable.sol)
                      pragma solidity ^0.8.2;
                      import "../../utils/AddressUpgradeable.sol";
                      /**
                      * @dev This is a base contract to aid in writing upgradeable contracts, or any kind of contract that will be deployed
                      * behind a proxy. Since proxied contracts do not make use of a constructor, it's common to move constructor logic to an
                      * external initializer function, usually called `initialize`. It then becomes necessary to protect this initializer
                      * function so it can only be called once. The {initializer} modifier provided by this contract will have this effect.
                      *
                      * The initialization functions use a version number. Once a version number is used, it is consumed and cannot be
                      * reused. This mechanism prevents re-execution of each "step" but allows the creation of new initialization steps in
                      * case an upgrade adds a module that needs to be initialized.
                      *
                      * For example:
                      *
                      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX