ETH Price: $2,767.73 (-0.84%)
Gas: 0.99 Gwei

Transaction Decoder

Block:
22583588 at May-28-2025 08:17:23 PM +UTC
Transaction Fee:
0.00085924902 ETH $2.38
Gas Used:
120,343 Gas / 7.14 Gwei

Emitted Events:

123 TetherToken.Transfer( from=UniswapV3Pool, to=[Sender] 0xbbb5008da7ef90a416a4389fdad3872d6896cff9, value=286088398 )
124 Ancient8.Transfer( from=[Sender] 0xbbb5008da7ef90a416a4389fdad3872d6896cff9, to=UniswapV3Pool, value=1650000000000000000000 )
125 UniswapV3Pool.Swap( sender=[Receiver] SwapRouter02, recipient=[Sender] 0xbbb5008da7ef90a416a4389fdad3872d6896cff9, amount0=1650000000000000000000, amount1=-286088398, sqrtPriceX96=33091363857583627909216, liquidity=173523685771024132, tick=-293787 )

Account State Difference:

  Address   Before After State Difference Code
0x0E59f2Cf...2e4311d72
(Uniswap V3: A8-USDT)
0x3E5A19c9...6B84062dF
(beaverbuild)
8.194548109867653951 Eth8.194837767536124763 Eth0.000289657668470812
0xbbb5008D...D6896CFf9
0.074224479355895165 Eth
Nonce: 26929
0.073365230335895165 Eth
Nonce: 26930
0.00085924902
0xdAC17F95...13D831ec7

Execution Trace

SwapRouter02.exactInputSingle( params=[{name:tokenIn, type:address, order:1, indexed:false, value:0x3E5A19c91266aD8cE2477B91585d1856B84062dF, valueString:0x3E5A19c91266aD8cE2477B91585d1856B84062dF}, {name:tokenOut, type:address, order:2, indexed:false, value:0xdAC17F958D2ee523a2206206994597C13D831ec7, valueString:0xdAC17F958D2ee523a2206206994597C13D831ec7}, {name:fee, type:uint24, order:3, indexed:false, value:10000, valueString:10000}, {name:recipient, type:address, order:4, indexed:false, value:0xbbb5008Da7eF90A416a4389fdad3872D6896CFf9, valueString:0xbbb5008Da7eF90A416a4389fdad3872D6896CFf9}, {name:amountIn, type:uint256, order:5, indexed:false, value:1650000000000000000000, valueString:1650000000000000000000}, {name:amountOutMinimum, type:uint256, order:6, indexed:false, value:285801912, valueString:285801912}, {name:sqrtPriceLimitX96, type:uint160, order:7, indexed:false, value:0, valueString:0}] ) => ( amountOut=286088398 )
  • UniswapV3Pool.swap( recipient=0xbbb5008Da7eF90A416a4389fdad3872D6896CFf9, zeroForOne=True, amountSpecified=1650000000000000000000, sqrtPriceLimitX96=4295128740, data=0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000040000000000000000000000000BBB5008DA7EF90A416A4389FDAD3872D6896CFF9000000000000000000000000000000000000000000000000000000000000002B3E5A19C91266AD8CE2477B91585D1856B84062DF002710DAC17F958D2EE523A2206206994597C13D831EC7000000000000000000000000000000000000000000 ) => ( amount0=1650000000000000000000, amount1=-286088398 )
    • TetherToken.transfer( _to=0xbbb5008Da7eF90A416a4389fdad3872D6896CFf9, _value=286088398 )
    • Ancient8.balanceOf( account=0x0E59f2CfDA2bB2e7feE10278dD2016a2e4311d72 ) => ( 418316097338904451749613 )
    • SwapRouter02.uniswapV3SwapCallback( amount0Delta=1650000000000000000000, amount1Delta=-286088398, _data=0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000040000000000000000000000000BBB5008DA7EF90A416A4389FDAD3872D6896CFF9000000000000000000000000000000000000000000000000000000000000002B3E5A19C91266AD8CE2477B91585D1856B84062DF002710DAC17F958D2EE523A2206206994597C13D831EC7000000000000000000000000000000000000000000 )
      • Ancient8.transferFrom( from=0xbbb5008Da7eF90A416a4389fdad3872D6896CFf9, to=0x0E59f2CfDA2bB2e7feE10278dD2016a2e4311d72, amount=1650000000000000000000 ) => ( True )
      • Ancient8.balanceOf( account=0x0E59f2CfDA2bB2e7feE10278dD2016a2e4311d72 ) => ( 419966097338904451749613 )
        File 1 of 4: SwapRouter02
        1
        2
        3
        4
        5
        6
        7
        8
        9
        10
        11
        12
        13
        14
        15
        16
        // SPDX-License-Identifier: GPL-2.0-or-later
        pragma solidity =0.7.6;
        pragma abicoder v2;
        import '@uniswap/v3-periphery/contracts/base/SelfPermit.sol';
        import '@uniswap/v3-periphery/contracts/base/PeripheryImmutableState.sol';
        import './interfaces/ISwapRouter02.sol';
        import './V2SwapRouter.sol';
        import './V3SwapRouter.sol';
        import './base/ApproveAndCall.sol';
        import './base/MulticallExtended.sol';
        /// @title Uniswap V2 and V3 Swap Router
        contract SwapRouter02 is ISwapRouter02, V2SwapRouter, V3SwapRouter, ApproveAndCall, MulticallExtended, SelfPermit {
        constructor(
        address _factoryV2,
        address factoryV3,
        address _positionManager,
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

        File 2 of 4: 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 4: TetherToken
        1
        2
        3
        4
        5
        6
        7
        8
        9
        10
        11
        12
        13
        14
        15
        16
        pragma 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;
        }
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

        File 4 of 4: Ancient8
        1
        2
        3
        4
        5
        6
        7
        8
        9
        10
        11
        12
        13
        14
        15
        16
        // File: @openzeppelin/contracts/utils/Context.sol
        // OpenZeppelin Contracts v4.4.1 (utils/Context.sol)
        pragma solidity ^0.8.0;
        /**
        * @dev Provides information about the current execution context, including the
        * sender of the transaction and its data. While these are generally available
        * via msg.sender and msg.data, they should not be accessed in such a direct
        * manner, since when dealing with meta-transactions the account sending and
        * paying for execution may not be the actual sender (as far as an application
        * is concerned).
        *
        * This contract is only required for intermediate, library-like contracts.
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX