Transaction Hash:
Block:
22710447 at Jun-15-2025 02:11:11 PM +UTC
Transaction Fee:
0.0002009872815544 ETH
$0.71
Gas Used:
210,740 Gas / 0.95372156 Gwei
Emitted Events:
33 |
WETH9.Transfer( src=UniswapV3Pool, dst=[Receiver] OpenOceanExchangeProxy, wad=51219199695970133 )
|
34 |
TokenOFT.Approval( owner=[Sender] 0x03314385109cd2036de2488fe0336479b9edd622, spender=[Receiver] OpenOceanExchangeProxy, value=19997796772106204319399153658 )
|
35 |
TokenOFT.Transfer( from=[Sender] 0x03314385109cd2036de2488fe0336479b9edd622, to=UniswapV3Pool, value=15000308752473804606033 )
|
36 |
UniswapV3Pool.Swap( sender=[Receiver] OpenOceanExchangeProxy, recipient=[Receiver] OpenOceanExchangeProxy, amount0=15000308752473804606033, amount1=-51219199695970133, sqrtPriceX96=146408024320573065131767772, liquidity=9488047276630542733493, tick=-125881 )
|
37 |
TetherToken.Transfer( from=UniswapV3Pool, to=[Receiver] OpenOceanExchangeProxy, value=130341952 )
|
38 |
WETH9.Transfer( src=[Receiver] OpenOceanExchangeProxy, dst=UniswapV3Pool, wad=51219199695970133 )
|
39 |
UniswapV3Pool.Swap( sender=[Receiver] OpenOceanExchangeProxy, recipient=[Receiver] OpenOceanExchangeProxy, amount0=51219199695970133, amount1=-130341952, sqrtPriceX96=3996925906534182934077797, liquidity=610428923218116776, tick=-197902 )
|
40 |
TetherToken.Transfer( from=[Receiver] OpenOceanExchangeProxy, to=[Sender] 0x03314385109cd2036de2488fe0336479b9edd622, value=130261402 )
|
41 |
TetherToken.Transfer( from=[Receiver] OpenOceanExchangeProxy, to=0x922164BBBd36Acf9E854AcBbF32faCC949fCAEef, value=80550 )
|
Account State Difference:
Address | Before | After | State Difference | ||
---|---|---|---|---|---|
0x03314385...9b9eDD622 |
0.979257490687535822 Eth
Nonce: 2680
|
0.979056503405981422 Eth
Nonce: 2681
| 0.0002009872815544 | ||
0x4838B106...B0BAD5f97
Miner
| (Titan Builder) | 16.244395028562671343 Eth | 16.244398386144002943 Eth | 0.0000033575813316 | |
0x580E933D...67eB85B4c | |||||
0x715a3cEA...87e8C6D77 | (Uniswap V3: GSWIFT) | ||||
0xC02aaA39...83C756Cc2 | |||||
0xc7bBeC68...9bA1b0e9b | (Uniswap V3: USDT 9) | ||||
0xdAC17F95...13D831ec7 |
Execution Trace
OpenOceanExchangeProxy.bc80f1a8( )
OpenOceanExchange.uniswapV3SwapTo( recipient=0x03314385109CD2036dE2488Fe0336479b9eDD622, amount=15000308752473804606033, minReturn=130131141, pools=[69017463467905637874348205751101045008844550854202556420866777742601591, 1140279996912942340220498878376233146590653255323] ) => ( returnAmount=130341952 )
UniswapV3Pool.swap( recipient=0x6352a56caadC4F1E25CD6c75970Fa768A3304e64, zeroForOne=True, amountSpecified=15000308752473804606033, sqrtPriceLimitX96=4295128740, data=0x00000000000000000000000003314385109CD2036DE2488FE0336479B9EDD622 ) => ( amount0=15000308752473804606033, amount1=-51219199695970133 )
-
WETH9.transfer( dst=0x6352a56caadC4F1E25CD6c75970Fa768A3304e64, wad=51219199695970133 ) => ( True )
-
TokenOFT.balanceOf( account=0x715a3cEAc0D039d674F50b07804592e87e8C6D77 ) => ( 5387388433247707332897042 )
OpenOceanExchangeProxy.fa461e33( )
OpenOceanExchange.uniswapV3SwapCallback( amount0Delta=15000308752473804606033, amount1Delta=-51219199695970133, 0x00000000000000000000000003314385109CD2036DE2488FE0336479B9EDD622 )
-
UniswapV3Pool.STATICCALL( )
-
UniswapV3Pool.STATICCALL( )
-
UniswapV3Pool.STATICCALL( )
-
TokenOFT.transferFrom( from=0x03314385109CD2036dE2488Fe0336479b9eDD622, to=0x715a3cEAc0D039d674F50b07804592e87e8C6D77, amount=15000308752473804606033 ) => ( True )
-
-
TokenOFT.balanceOf( account=0x715a3cEAc0D039d674F50b07804592e87e8C6D77 ) => ( 5402388742000181137503075 )
-
-
UniswapV3Pool.STATICCALL( )
UniswapV3Pool.swap( recipient=0x6352a56caadC4F1E25CD6c75970Fa768A3304e64, zeroForOne=True, amountSpecified=51219199695970133, sqrtPriceLimitX96=4295128740, data=0x0000000000000000000000006352A56CAADC4F1E25CD6C75970FA768A3304E64 ) => ( amount0=51219199695970133, amount1=-130341952 )
-
TetherToken.transfer( _to=0x6352a56caadC4F1E25CD6c75970Fa768A3304e64, _value=130341952 )
-
WETH9.balanceOf( 0xc7bBeC68d12a0d1830360F8Ec58fA599bA1b0e9b ) => ( 1385057542390920237101 )
OpenOceanExchangeProxy.fa461e33( )
OpenOceanExchange.uniswapV3SwapCallback( amount0Delta=51219199695970133, amount1Delta=-130341952, 0x0000000000000000000000006352A56CAADC4F1E25CD6C75970FA768A3304E64 )
-
UniswapV3Pool.STATICCALL( )
-
UniswapV3Pool.STATICCALL( )
-
UniswapV3Pool.STATICCALL( )
-
WETH9.transfer( dst=0xc7bBeC68d12a0d1830360F8Ec58fA599bA1b0e9b, wad=51219199695970133 ) => ( True )
-
-
WETH9.balanceOf( 0xc7bBeC68d12a0d1830360F8Ec58fA599bA1b0e9b ) => ( 1385108761590616207234 )
-
-
UniswapV3Pool.STATICCALL( )
-
TetherToken.transfer( _to=0x03314385109CD2036dE2488Fe0336479b9eDD622, _value=130261402 )
-
TetherToken.transfer( _to=0x922164BBBd36Acf9E854AcBbF32faCC949fCAEef, _value=80550 )
uniswapV3SwapTo[UniswapV3Exchange (ln:3389)]
_uniswapV3Swap[UniswapV3Exchange (ln:3395)]
deposit[UniswapV3Exchange (ln:3414)]
_makeSwap[UniswapV3Exchange (ln:3419)]
_makeSwap[UniswapV3Exchange (ln:3421)]
_makeSwap[UniswapV3Exchange (ln:3423)]
_makeSwap[UniswapV3Exchange (ln:3425)]
File 1 of 7: OpenOceanExchangeProxy
File 2 of 7: UniswapV3Pool
File 3 of 7: WETH9
File 4 of 7: TokenOFT
File 5 of 7: UniswapV3Pool
File 6 of 7: TetherToken
File 7 of 7: OpenOceanExchange
12345678910111213141516// File: @openzeppelin/contracts/proxy/Proxy.sol// SPDX-License-Identifier: MITpragma 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.*/
File 2 of 7: UniswapV3Pool
12345678910111213141516// SPDX-License-Identifier: BUSL-1.1pragma 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';
File 3 of 7: WETH9
12345678910111213141516// 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;
File 4 of 7: TokenOFT
123456789101112131415// SPDX-License-Identifier: MITpragma solidity >=0.5.0;import "./ILayerZeroUserApplicationConfig.sol";interface ILayerZeroEndpoint is ILayerZeroUserApplicationConfig {// @notice send a LayerZero message to the specified address at a LayerZero endpoint.// @param _dstChainId - the destination chain identifier// @param _destination - the address on destination chain (in bytes). address length/format may vary by chains// @param _payload - a custom bytes payload to send to the destination contract// @param _refundAddress - if the source transaction is cheaper than the amount of value passed, refund the additional amount to this address// @param _zroPaymentAddress - the address of the ZRO token holder who would pay for the transaction// @param _adapterParams - parameters for custom functionality. e.g. receive airdropped native gas from the relayer on destinationfunction send(uint16 _dstChainId, bytes calldata _destination, bytes calldata _payload, address payable _refundAddress, address_zroPaymentAddress, bytes calldata _adapterParams) external payable;// @notice used by the messaging library to publish verified payload// @param _srcChainId - the source chain identifier// @param _srcAddress - the source contract (as bytes) at the source chain
File 5 of 7: UniswapV3Pool
12345678910111213141516// SPDX-License-Identifier: BUSL-1.1pragma 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';
File 6 of 7: TetherToken
12345678910111213141516pragma solidity ^0.4.17;/*** @title SafeMath* @dev Math operations with safety checks that throw on error*/library SafeMath {function mul(uint256 a, uint256 b) internal pure returns (uint256) {if (a == 0) {return 0;}uint256 c = a * b;assert(c / a == b);return c;}
File 7 of 7: OpenOceanExchange
12345678910111213141516// 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]* ====