ETH Price: $2,518.03 (-2.72%)

Transaction Decoder

Block:
15919867 at Nov-07-2022 06:13:59 PM +UTC
Transaction Fee:
0.004572029813737596 ETH $11.51
Gas Used:
208,068 Gas / 21.973728847 Gwei

Emitted Events:

1959 FiatTokenProxy.0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef( 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef, 0x00000000000000000000000029a8dc0e5cbf5a091383e4e0e17a21435923841c, 0x00000000000000000000000068b3465833fb72a70ecdf485e0e4c7bd8665fc45, 0000000000000000000000000000000000000000000000000000000002fea127 )
1960 ForwardProxy.0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef( 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef, 0x000000000000000000000000b681e94cadf59bb445dd30439912e3e8e6c8ea32, 0x00000000000000000000000029a8dc0e5cbf5a091383e4e0e17a21435923841c, 000000000000000000000000000000000000000000000001b5267b1b18ce0000 )
1961 ForwardProxy.0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925( 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925, 0x000000000000000000000000b681e94cadf59bb445dd30439912e3e8e6c8ea32, 0x00000000000000000000000068b3465833fb72a70ecdf485e0e4c7bd8665fc45, fffffffffffffffffffffffffffffffffffffffffffffffe4ad984e4e731ffff )
1962 UniswapV3Pool.Swap( sender=[Receiver] SwapRouter02, recipient=[Receiver] SwapRouter02, amount0=-50241831, amount1=31500000000000000000, sqrtPriceX96=62640003979625830644396923739458735, liquidity=4166908854279334404, tick=271625 )
1963 TetherToken.Transfer( from=UniswapV3Pool, to=[Sender] 0xb681e94cadf59bb445dd30439912e3e8e6c8ea32, value=50236222 )
1964 FiatTokenProxy.0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef( 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef, 0x00000000000000000000000068b3465833fb72a70ecdf485e0e4c7bd8665fc45, 0x0000000000000000000000003416cf6c708da44db2624d63ea0aaef7113527c6, 0000000000000000000000000000000000000000000000000000000002fea127 )
1965 UniswapV3Pool.Swap( sender=[Receiver] SwapRouter02, recipient=[Sender] 0xb681e94cadf59bb445dd30439912e3e8e6c8ea32, amount0=50241831, amount1=-50236222, sqrtPriceX96=79227702009678788237713879867, liquidity=507951555057765446, tick=-1 )

Account State Difference:

  Address   Before After State Difference Code
0x29a8dc0e...35923841c
(Uniswap V3: USDC-ECOx)
0x3416cF6C...7113527C6
(Uniswap V3: USDC-USDT 4)
(beaverbuild)
1.255357065678956891 Eth1.255669167678956891 Eth0.000312102
0xA0b86991...E3606eB48
0xb681e94c...8e6C8eA32
0.01627940936985543 Eth
Nonce: 169
0.011707379556117834 Eth
Nonce: 170
0.004572029813737596
0xcccD1Ba9...dECb1736a
0xdAC17F95...13D831ec7

Execution Trace

SwapRouter02.multicall( deadline=1667846615, data=[uFgYPwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAC2gelMrfWbtEXdMEOZEuPo5sjqMgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbUmexsYzgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL6uvIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQszNG6n3rNYReDTg0o8lZF3ssXNqAAu4oLhpkcYhizbB0Z1KLp6wzjYG60gAAGTawX+VjS7lI6IgYgaZRZfBPYMexwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==] ) => ( [AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL+iz4=] )
  • SwapRouter02.exactInput( params=[{name:path, type:bytes, order:1, indexed:false, value:0xCCCD1BA9F7ACD6117834E0D28F25645DECB1736A000BB8A0B86991C6218B36C1D19D4A2E9EB0CE3606EB48000064DAC17F958D2EE523A2206206994597C13D831EC7, valueString:0xCCCD1BA9F7ACD6117834E0D28F25645DECB1736A000BB8A0B86991C6218B36C1D19D4A2E9EB0CE3606EB48000064DAC17F958D2EE523A2206206994597C13D831EC7}, {name:recipient, type:address, order:2, indexed:false, value:0xb681e94cadf59bb445Dd30439912E3e8e6C8eA32, valueString:0xb681e94cadf59bb445Dd30439912E3e8e6C8eA32}, {name:amountIn, type:uint256, order:3, indexed:false, value:31500000000000000000, valueString:31500000000000000000}, {name:amountOutMinimum, type:uint256, order:4, indexed:false, value:49986290, valueString:49986290}] ) => ( amountOut=50236222 )
    • UniswapV3Pool.swap( recipient=0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45, zeroForOne=False, amountSpecified=31500000000000000000, sqrtPriceLimitX96=1461446703485210103287273052203988822378723970341, data=0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000040000000000000000000000000B681E94CADF59BB445DD30439912E3E8E6C8EA32000000000000000000000000000000000000000000000000000000000000002BCCCD1BA9F7ACD6117834E0D28F25645DECB1736A000BB8A0B86991C6218B36C1D19D4A2E9EB0CE3606EB48000000000000000000000000000000000000000000 ) => ( amount0=-50241831, amount1=31500000000000000000 )
      • FiatTokenProxy.a9059cbb( )
        • FiatTokenV2_1.transfer( to=0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45, value=50241831 ) => ( True )
        • ForwardProxy.70a08231( )
          • ECOx.balanceOf( account=0x29a8dc0e5cBF5A091383e4E0E17a21435923841c ) => ( 899082778126865211263844 )
          • SwapRouter02.uniswapV3SwapCallback( amount0Delta=-50241831, amount1Delta=31500000000000000000, _data=0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000040000000000000000000000000B681E94CADF59BB445DD30439912E3E8E6C8EA32000000000000000000000000000000000000000000000000000000000000002BCCCD1BA9F7ACD6117834E0D28F25645DECB1736A000BB8A0B86991C6218B36C1D19D4A2E9EB0CE3606EB48000000000000000000000000000000000000000000 )
            • ForwardProxy.23b872dd( )
              • ECOx.transferFrom( sender=0xb681e94cadf59bb445Dd30439912E3e8e6C8eA32, recipient=0x29a8dc0e5cBF5A091383e4E0E17a21435923841c, amount=31500000000000000000 ) => ( True )
              • ForwardProxy.70a08231( )
                • ECOx.balanceOf( account=0x29a8dc0e5cBF5A091383e4E0E17a21435923841c ) => ( 899114278126865211263844 )
                • UniswapV3Pool.swap( recipient=0xb681e94cadf59bb445Dd30439912E3e8e6C8eA32, zeroForOne=True, amountSpecified=50241831, sqrtPriceLimitX96=4295128740, data=0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004000000000000000000000000068B3465833FB72A70ECDF485E0E4C7BD8665FC45000000000000000000000000000000000000000000000000000000000000002BA0B86991C6218B36C1D19D4A2E9EB0CE3606EB48000064DAC17F958D2EE523A2206206994597C13D831EC7000000000000000000000000000000000000000000 ) => ( amount0=50241831, amount1=-50236222 )
                  • TetherToken.transfer( _to=0xb681e94cadf59bb445Dd30439912E3e8e6C8eA32, _value=50236222 )
                  • FiatTokenProxy.70a08231( )
                    • FiatTokenV2_1.balanceOf( account=0x3416cF6C708Da44DB2624D63ea0AAef7113527C6 ) => ( 62012674309622 )
                    • SwapRouter02.uniswapV3SwapCallback( amount0Delta=50241831, amount1Delta=-50236222, _data=0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004000000000000000000000000068B3465833FB72A70ECDF485E0E4C7BD8665FC45000000000000000000000000000000000000000000000000000000000000002BA0B86991C6218B36C1D19D4A2E9EB0CE3606EB48000064DAC17F958D2EE523A2206206994597C13D831EC7000000000000000000000000000000000000000000 )
                      • FiatTokenProxy.a9059cbb( )
                        • FiatTokenV2_1.transfer( to=0x3416cF6C708Da44DB2624D63ea0AAef7113527C6, value=50241831 ) => ( True )
                        • FiatTokenProxy.70a08231( )
                          • FiatTokenV2_1.balanceOf( account=0x3416cF6C708Da44DB2624D63ea0AAef7113527C6 ) => ( 62012724551453 )
                            File 1 of 8: 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 8: FiatTokenProxy
                            1
                            2
                            3
                            4
                            5
                            6
                            7
                            8
                            9
                            10
                            11
                            12
                            13
                            14
                            15
                            16
                            pragma solidity ^0.4.24;
                            // File: zos-lib/contracts/upgradeability/Proxy.sol
                            /**
                            * @title Proxy
                            * @dev Implements delegation of calls to other contracts, with proper
                            * forwarding of return values and bubbling of failures.
                            * It defines a fallback function that delegates all calls to the address
                            * returned by the abstract _implementation() internal function.
                            */
                            contract Proxy {
                            /**
                            * @dev Fallback function.
                            * Implemented entirely in `_fallback`.
                            */
                            XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                            File 3 of 8: ForwardProxy
                            1
                            2
                            3
                            4
                            5
                            6
                            7
                            8
                            9
                            10
                            11
                            12
                            13
                            14
                            15
                            16
                            /* -*- c-basic-offset: 4 -*- */
                            // SPDX-License-Identifier: MIT
                            pragma solidity ^0.8.0;
                            import "./ForwardTarget.sol";
                            /* solhint-disable avoid-low-level-calls, no-inline-assembly */
                            /** @title Upgradable proxy */
                            contract ForwardProxy {
                            // this is the storage slot to hold the target of the proxy
                            // keccak256("com.eco.ForwardProxy.target")
                            uint256 private constant IMPLEMENTATION_SLOT =
                            0xf86c915dad5894faca0dfa067c58fdf4307406d255ed0a65db394f82b77f53d4;
                            /** Construct a new proxy.
                            *
                            * @param _impl The default target address.
                            */
                            constructor(ForwardTarget _impl) {
                            XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                            File 4 of 8: 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 5 of 8: 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 6 of 8: 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 7 of 8: FiatTokenV2_1
                            1
                            2
                            3
                            4
                            5
                            6
                            7
                            8
                            9
                            10
                            11
                            12
                            13
                            14
                            15
                            16
                            // File: @openzeppelin/contracts/math/SafeMath.sol
                            // SPDX-License-Identifier: MIT
                            pragma solidity ^0.6.0;
                            /**
                            * @dev Wrappers over Solidity's arithmetic operations with added overflow
                            * checks.
                            *
                            * Arithmetic operations in Solidity wrap on overflow. This can easily result
                            * in bugs, because programmers usually assume that an overflow raises an
                            * error, which is the standard behavior in high level programming languages.
                            * `SafeMath` restores this intuition by reverting the transaction when an
                            * operation overflows.
                            *
                            XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                            File 8 of 8: ECOx
                            1
                            2
                            3
                            4
                            5
                            6
                            7
                            8
                            9
                            10
                            11
                            12
                            13
                            14
                            15
                            16
                            /* -*- c-basic-offset: 4 -*- */
                            // SPDX-License-Identifier: MIT
                            pragma solidity ^0.8.0;
                            import "./IECO.sol";
                            import "../policy/PolicedUtils.sol";
                            import "./ERC20Pausable.sol";
                            /** @title An ERC20 token interface for ECOx
                            *
                            * Contains the conversion mechanism for turning ECOx into ECO.
                            */
                            contract ECOx is ERC20Pausable, PolicedUtils {
                            // bits of precision used in the exponentiation approximation
                            uint8 public constant PRECISION_BITS = 100;
                            uint256 public immutable initialSupply;
                            // the address of the contract for initial distribution
                            address public immutable distributor;
                            XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX