Transaction Hash:
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 | ||
---|---|---|---|---|---|
0x29a8dc0e...35923841c | (Uniswap V3: USDC-ECOx) | ||||
0x3416cF6C...7113527C6 | (Uniswap V3: USDC-USDT 4) | ||||
0x95222290...5CC4BAfe5
Miner
| (beaverbuild) | 1.255357065678956891 Eth | 1.255669167678956891 Eth | 0.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 )
-
-
multicall[MulticallExtended (ln:508)]
multicall[MulticallExtended (ln:515)]
multicall[MulticallExtended (ln:515)]
File 1 of 8: SwapRouter02
File 2 of 8: FiatTokenProxy
File 3 of 8: ForwardProxy
File 4 of 8: UniswapV3Pool
File 5 of 8: UniswapV3Pool
File 6 of 8: TetherToken
File 7 of 8: FiatTokenV2_1
File 8 of 8: ECOx
12345678910111213141516// SPDX-License-Identifier: GPL-2.0-or-laterpragma 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 Routercontract SwapRouter02 is ISwapRouter02, V2SwapRouter, V3SwapRouter, ApproveAndCall, MulticallExtended, SelfPermit {constructor(address _factoryV2,address factoryV3,address _positionManager,
File 2 of 8: FiatTokenProxy
12345678910111213141516pragma 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`.*/
File 3 of 8: ForwardProxy
12345678910111213141516/* -*- c-basic-offset: 4 -*- */// SPDX-License-Identifier: MITpragma 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) {
File 4 of 8: 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 5 of 8: 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 8: 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 8: FiatTokenV2_1
12345678910111213141516// File: @openzeppelin/contracts/math/SafeMath.sol// SPDX-License-Identifier: MITpragma 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.*
File 8 of 8: ECOx
12345678910111213141516/* -*- c-basic-offset: 4 -*- */// SPDX-License-Identifier: MITpragma 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 approximationuint8 public constant PRECISION_BITS = 100;uint256 public immutable initialSupply;// the address of the contract for initial distributionaddress public immutable distributor;