ETH Price: $3,705.33 (-0.90%)

Transaction Decoder

Block:
22717074 at Jun-16-2025 12:27:11 PM +UTC
Transaction Fee:
0.000848749468952 ETH $3.14
Gas Used:
316,184 Gas / 2.684353 Gwei

Emitted Events:

472 SushiToken.Transfer( from=[Sender] 0xc85b7588658ecd5c7689e991fb43bfbd0c15b8f3, to=UniswapV2Pair, value=1202602531076234543104 )
473 SushiToken.Approval( owner=[Sender] 0xc85b7588658ecd5c7689e991fb43bfbd0c15b8f3, spender=[Receiver] RedSnwapper, value=3607734192195312599355 )
474 SushiToken.Transfer( from=[Sender] 0xc85b7588658ecd5c7689e991fb43bfbd0c15b8f3, to=UniswapV2Pair, value=3607734192195312599355 )
475 SushiToken.Approval( owner=[Sender] 0xc85b7588658ecd5c7689e991fb43bfbd0c15b8f3, spender=[Receiver] RedSnwapper, value=0 )
476 WETH9.Transfer( src=UniswapV2Pair, dst=0x3Ced11c610556e5292fBC2e75D68c3899098C14C, wad=305322597793445593 )
477 UniswapV2Pair.Sync( reserve0=183528738011818580682182, reserve1=46429136209129438811 )
478 UniswapV2Pair.Swap( sender=0x3Ced11c610556e5292fBC2e75D68c3899098C14C, amount0In=1202602531076234543104, amount1In=0, amount0Out=0, amount1Out=305322597793445593, to=0x3Ced11c610556e5292fBC2e75D68c3899098C14C )
479 WETH9.Transfer( src=UniswapV2Pair, dst=0x3Ced11c610556e5292fBC2e75D68c3899098C14C, wad=916545516617885683 )
480 UniswapV2Pair.Sync( reserve0=2100322065530599393250040, reserve1=534273471198792866461 )
481 UniswapV2Pair.Swap( sender=0x3Ced11c610556e5292fBC2e75D68c3899098C14C, amount0In=3607734192195312599355, amount1In=0, amount0Out=0, amount1Out=916545516617885683, to=0x3Ced11c610556e5292fBC2e75D68c3899098C14C )
482 TetherToken.Transfer( from=UniswapV3Pool, to=0x3Ced11c610556e5292fBC2e75D68c3899098C14C, value=3188469926 )
483 WETH9.Transfer( src=0x3Ced11c610556e5292fBC2e75D68c3899098C14C, dst=UniswapV3Pool, wad=1221868114411331276 )
484 UniswapV3Pool.Swap( sender=0x3Ced11c610556e5292fBC2e75D68c3899098C14C, recipient=0x3Ced11c610556e5292fBC2e75D68c3899098C14C, amount0=1221868114411331276, amount1=-3188469926, sqrtPriceX96=4047268415938812631325179, liquidity=741072702035497448, tick=-197651 )
485 TetherToken.Transfer( from=0x3Ced11c610556e5292fBC2e75D68c3899098C14C, to=TokenChwomper, value=825161 )
486 0x3ced11c610556e5292fbc2e75d68c3899098c14c.0xbbb02a24579dc2e59c1609253b6ddab5457ba00895b3eda80dd41e03e2cd7e55( 0xbbb02a24579dc2e59c1609253b6ddab5457ba00895b3eda80dd41e03e2cd7e55, 0x000000000000000000000000ad27827c312cd5e71311d68e180a9872d42de23d, 0x0000000000000000000000006b3595068778dd592e39a122f4f5a5cf09c90fe2, 0x0000000000000000000000000000000000000000000000000000000000000001, 0000000000000000000000003ced11c610556e5292fbc2e75d68c3899098c14c, 000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7, 000000000000000000000000000000000000000000000104c4d5138f2914c13b, 00000000000000000000000000000000000000000000000000000000bdff995d, 00000000000000000000000000000000000000000000000000000000000c9749 )
487 TetherToken.Transfer( from=0x3Ced11c610556e5292fBC2e75D68c3899098C14C, to=TokenChwomper, value=1585853 )
488 TetherToken.Transfer( from=0x3Ced11c610556e5292fBC2e75D68c3899098C14C, to=TokenChwomper, value=6343413 )
489 TetherToken.Transfer( from=0x3Ced11c610556e5292fBC2e75D68c3899098C14C, to=[Sender] 0xc85b7588658ecd5c7689e991fb43bfbd0c15b8f3, value=3179715499 )

Account State Difference:

  Address   Before After State Difference Code
(Titan Builder)
12.626703841218493365 Eth12.627042158098493365 Eth0.00033831688
0x6B359506...F09C90fE2
0x795065dC...DA6221FB0
0xC02aaA39...83C756Cc2
0xc7bBeC68...9bA1b0e9b
(Uniswap V3: USDT 9)
0xc85b7588...d0c15B8F3
0.001487094445717109 Eth
Nonce: 156
0.000638344976765109 Eth
Nonce: 157
0.000848749468952
0xCE84867c...B9CC19433
0xdAC17F95...13D831ec7

Execution Trace

RedSnwapper.snwapMultiple( inputTokens=, outputTokens=, executors= ) => ( amountOut=[3179715499] )
  • TetherToken.balanceOf( who=0xc85b7588658ECd5C7689E991fb43bfBd0c15B8F3 ) => ( 6369640 )
  • SushiToken.transferFrom( sender=0xc85b7588658ECd5C7689E991fb43bfBd0c15B8F3, recipient=0xCE84867c3c02B05dc570d0135103d3fB9CC19433, amount=1202602531076234543104 ) => ( True )
  • SushiToken.transferFrom( sender=0xc85b7588658ECd5C7689E991fb43bfBd0c15B8F3, recipient=0x795065dCc9f64b5614C407a6EFDC400DA6221FB0, amount=3607734192195312599355 ) => ( True )
  • 0xad27827c312cd5e71311d68e180a9872d42de23d.e8ff45ca( )
    • 0x3ced11c610556e5292fbc2e75d68c3899098c14c.ba3f2165( )
      • TetherToken.balanceOf( who=0x3Ced11c610556e5292fBC2e75D68c3899098C14C ) => ( 1 )
      • SushiToken.balanceOf( account=0x3Ced11c610556e5292fBC2e75D68c3899098C14C ) => ( 1 )
      • UniswapV2Pair.STATICCALL( )
      • SushiToken.balanceOf( account=0xCE84867c3c02B05dc570d0135103d3fB9CC19433 ) => ( 183528738011818580682182 )
      • UniswapV2Pair.swap( amount0Out=0, amount1Out=305322597793445593, to=0x3Ced11c610556e5292fBC2e75D68c3899098C14C, data=0x )
        • WETH9.transfer( dst=0x3Ced11c610556e5292fBC2e75D68c3899098C14C, wad=305322597793445593 ) => ( True )
        • SushiToken.balanceOf( account=0xCE84867c3c02B05dc570d0135103d3fB9CC19433 ) => ( 183528738011818580682182 )
        • WETH9.balanceOf( 0xCE84867c3c02B05dc570d0135103d3fB9CC19433 ) => ( 46429136209129438811 )
        • UniswapV2Pair.STATICCALL( )
        • SushiToken.balanceOf( account=0x795065dCc9f64b5614C407a6EFDC400DA6221FB0 ) => ( 2100322065530599393250040 )
        • UniswapV2Pair.swap( amount0Out=0, amount1Out=916545516617885683, to=0x3Ced11c610556e5292fBC2e75D68c3899098C14C, data=0x )
          • WETH9.transfer( dst=0x3Ced11c610556e5292fBC2e75D68c3899098C14C, wad=916545516617885683 ) => ( True )
          • SushiToken.balanceOf( account=0x795065dCc9f64b5614C407a6EFDC400DA6221FB0 ) => ( 2100322065530599393250040 )
          • WETH9.balanceOf( 0x795065dCc9f64b5614C407a6EFDC400DA6221FB0 ) => ( 534273471198792866461 )
          • WETH9.balanceOf( 0x3Ced11c610556e5292fBC2e75D68c3899098C14C ) => ( 1221868114411331277 )
          • UniswapV3Pool.swap( recipient=0x3Ced11c610556e5292fBC2e75D68c3899098C14C, zeroForOne=True, amountSpecified=1221868114411331276, sqrtPriceLimitX96=4295128740, data=0x000000000000000000000000C02AAA39B223FE8D0A0E5C4F27EAD9083C756CC20000000000000000000000000000000000000000000000000000000000000000 ) => ( amount0=1221868114411331276, amount1=-3188469926 )
            • TetherToken.transfer( _to=0x3Ced11c610556e5292fBC2e75D68c3899098C14C, _value=3188469926 )
            • WETH9.balanceOf( 0xc7bBeC68d12a0d1830360F8Ec58fA599bA1b0e9b ) => ( 1135744733520303534227 )
            • 0x3ced11c610556e5292fbc2e75d68c3899098c14c.fa461e33( )
              • WETH9.transfer( dst=0xc7bBeC68d12a0d1830360F8Ec58fA599bA1b0e9b, wad=1221868114411331276 ) => ( True )
              • WETH9.balanceOf( 0xc7bBeC68d12a0d1830360F8Ec58fA599bA1b0e9b ) => ( 1136966601634714865503 )
              • TetherToken.balanceOf( who=0x3Ced11c610556e5292fBC2e75D68c3899098C14C ) => ( 3188469927 )
              • TetherToken.transfer( _to=0x5C2e112783A6854653B4BC7DC22248D3e592559C, _value=825161 )
              • TetherToken.transfer( _to=0xde7259893Af7cdbC9fD806c6ba61D22D581d5667, _value=1585853 )
              • TetherToken.transfer( _to=0xde7259893Af7cdbC9fD806c6ba61D22D581d5667, _value=6343413 )
              • TetherToken.transfer( _to=0xc85b7588658ECd5C7689E991fb43bfBd0c15B8F3, _value=3179715499 )
              • TetherToken.balanceOf( who=0xc85b7588658ECd5C7689E991fb43bfBd0c15B8F3 ) => ( 3186085139 )
                snwapMultiple[RedSnwapper (ln:500)]
                File 1 of 9: RedSnwapper
                1
                2
                3
                4
                5
                6
                7
                8
                9
                10
                11
                12
                13
                14
                15
                16
                // SPDX-License-Identifier: MIT
                // OpenZeppelin Contracts v4.4.1 (token/ERC20/extensions/draft-IERC20Permit.sol)
                pragma solidity ^0.8.0;
                /**
                * @dev Interface of the ERC20 Permit extension allowing approvals to be made via signatures, as defined in
                * https://eips.ethereum.org/EIPS/eip-2612[EIP-2612].
                *
                * Adds the {permit} method, which can be used to change an account's ERC20 allowance (see {IERC20-allowance}) by
                * presenting a message signed by the account. By not relying on {IERC20-approve}, the token holder account doesn't
                * need to send a transaction, and thus is not required to hold Ether at all.
                */
                interface IERC20Permit {
                /**
                * @dev Sets `value` as the allowance of `spender` over ``owner``'s tokens,
                * given ``owner``'s signed approval.
                *
                XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                File 2 of 9: UniswapV2Pair
                1
                2
                3
                4
                5
                6
                7
                8
                9
                10
                11
                12
                13
                14
                15
                16
                // File: contracts/interfaces/IUniswapV2Pair.sol
                pragma solidity >=0.5.0;
                interface IUniswapV2Pair {
                event Approval(address indexed owner, address indexed spender, uint value);
                event Transfer(address indexed from, address indexed to, uint value);
                function name() external pure returns (string memory);
                function symbol() external pure returns (string memory);
                function decimals() external pure returns (uint8);
                function totalSupply() external view returns (uint);
                function balanceOf(address owner) external view returns (uint);
                function allowance(address owner, address spender) external view returns (uint);
                function approve(address spender, uint value) external returns (bool);
                XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                File 3 of 9: SushiToken
                1
                2
                3
                4
                5
                6
                7
                8
                9
                10
                11
                12
                13
                14
                15
                16
                // File: @openzeppelin/contracts/GSN/Context.sol
                pragma solidity ^0.6.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 GSN 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

                File 4 of 9: UniswapV2Pair
                1
                2
                3
                4
                5
                6
                7
                8
                9
                10
                11
                12
                13
                14
                15
                16
                // File: contracts/uniswapv2/interfaces/IUniswapV2Factory.sol
                pragma solidity >=0.5.0;
                interface IUniswapV2Factory {
                event PairCreated(address indexed token0, address indexed token1, address pair, uint);
                function feeTo() external view returns (address);
                function feeToSetter() external view returns (address);
                function migrator() external view returns (address);
                function getPair(address tokenA, address tokenB) external view returns (address pair);
                function allPairs(uint) external view returns (address pair);
                function allPairsLength() external view returns (uint);
                function createPair(address tokenA, address tokenB) external returns (address pair);
                XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                File 5 of 9: 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 6 of 9: 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 7 of 9: 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 8 of 9: TokenChwomper
                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) (token/ERC20/IERC20.sol)
                pragma solidity >= 0.8.0;
                /**
                * @dev Interface of the ERC20 standard as defined in the EIP.
                */
                interface IERC20 {
                /**
                * @dev Emitted when `value` tokens are moved from one account (`from`) to
                * another (`to`).
                *
                * Note that `value` may be zero.
                */
                event Transfer(address indexed from, address indexed to, uint256 value);
                /**
                * @dev Emitted when the allowance of a `spender` for an `owner` is set by
                XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                File 9 of 9: TokenChwomper
                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) (token/ERC20/IERC20.sol)
                pragma solidity >= 0.8.0;
                /**
                * @dev Interface of the ERC20 standard as defined in the EIP.
                */
                interface IERC20 {
                /**
                * @dev Emitted when `value` tokens are moved from one account (`from`) to
                * another (`to`).
                *
                * Note that `value` may be zero.
                */
                event Transfer(address indexed from, address indexed to, uint256 value);
                /**
                * @dev Emitted when the allowance of a `spender` for an `owner` is set by
                XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX