ETH Price: $2,797.86 (+4.46%)

Transaction Decoder

Block:
12530734 at May-29-2021 05:52:10 PM +UTC
Transaction Fee:
0.0095971392 ETH $26.85
Gas Used:
256,608 Gas / 37.4 Gwei

Emitted Events:

217 LinkToken.0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef( 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef, 0x000000000000000000000000bcbdaf591fbea90c8b97da324310067bb9ecf936, 0x000000000000000000000000d8c8a2b125527bf97c8e4845b25de7e964468f77, 0000000000000000000000000000000000000000000000000b1a2bc2ec500000 )
218 FiatTokenProxy.0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef( 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef, 0x000000000000000000000000d8c8a2b125527bf97c8e4845b25de7e964468f77, 0x000000000000000000000000b4e16d0168e52d35cacd2c6185b44281ec28c9dc, 0000000000000000000000000000000000000000000000000000000001453278 )
219 UniswapV2Pair.Sync( reserve0=95482259525202679099, reserve1=2529939416 )
220 UniswapV2Pair.Swap( sender=[Receiver] UniswapV2Router02, amount0In=800000000000000000, amount1In=0, amount0Out=0, amount1Out=21312120, to=UniswapV2Pair )
221 WETH9.Transfer( src=UniswapV2Pair, dst=UniswapV2Pair, wad=9340176614348339 )
222 UniswapV2Pair.Sync( reserve0=128540825743678, reserve1=56503362164144090432954 )
223 UniswapV2Pair.Swap( sender=[Receiver] UniswapV2Router02, amount0In=21312120, amount1In=0, amount0Out=0, amount1Out=9340176614348339, to=UniswapV2Pair )
224 TransparentUpgradeableProxy.0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef( 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef, 0x000000000000000000000000b6ca52c7916ad7960c12dc489fd93e5af7ca257f, 0x000000000000000000000000bcbdaf591fbea90c8b97da324310067bb9ecf936, 000000000000000000000000000000000000000000173db639c7fd83563951ab )
225 UniswapV2Pair.Sync( reserve0=4911749819238387849198115412339, reserve1=1595362884896519226908 )
226 UniswapV2Pair.Swap( sender=[Receiver] UniswapV2Router02, amount0In=1408204671403926396750, amount1In=9340176614348339, amount0Out=28670122119987811807270051, amount1Out=0, to=[Sender] 0xbcbdaf591fbea90c8b97da324310067bb9ecf936 )

Account State Difference:

  Address   Before After State Difference Code
0x15874d65...A55787FF6
0x51491077...4EcF986CA
0xA0b86991...E3606eB48
0xB4e16d01...1Ec28C9Dc
0xb6CA52c7...Af7cA257f
0xbcBDaf59...bB9eCf936
0.0210330972 Eth
Nonce: 1
0.011435958 Eth
Nonce: 2
0.0095971392
0xC02aaA39...83C756Cc2
(Miner: 0xc8F...7C9)
4,104.171625355373157676 Eth4,104.181222494573157676 Eth0.0095971392
0xd8C8a2B1...964468F77

Execution Trace

UniswapV2Router02.swapExactTokensForTokens( amountIn=800000000000000000, amountOutMin=28106479023778246611266185, path=[0x514910771AF9Ca656af840dff83E8264EcF986CA, 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48, 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2, 0x15874d65e649880c2614e7a480cb7c9A55787FF6], to=0xbcBDaf591fbeA90C8B97Da324310067bB9eCf936, deadline=1622312499 ) => ( amounts=[800000000000000000, 21312120, 9340176614348339, 28670122119987811807270051] )
  • UniswapV2Pair.STATICCALL( )
  • UniswapV2Pair.STATICCALL( )
  • UniswapV2Pair.STATICCALL( )
  • LinkToken.transferFrom( _from=0xbcBDaf591fbeA90C8B97Da324310067bB9eCf936, _to=0xd8C8a2B125527bf97c8e4845b25dE7e964468F77, _value=800000000000000000 ) => ( True )
  • UniswapV2Pair.swap( amount0Out=0, amount1Out=21312120, to=0xB4e16d0168e52d35CaCD2c6185b44281Ec28C9Dc, data=0x )
    • FiatTokenProxy.a9059cbb( )
      • FiatTokenV2_1.transfer( to=0xB4e16d0168e52d35CaCD2c6185b44281Ec28C9Dc, value=21312120 ) => ( True )
      • LinkToken.balanceOf( _owner=0xd8C8a2B125527bf97c8e4845b25dE7e964468F77 ) => ( balance=95482259525202679099 )
      • FiatTokenProxy.70a08231( )
        • FiatTokenV2_1.balanceOf( account=0xd8C8a2B125527bf97c8e4845b25dE7e964468F77 ) => ( 2529939416 )
        • UniswapV2Pair.swap( amount0Out=0, amount1Out=9340176614348339, to=0xb6CA52c7916ad7960C12Dc489FD93E5Af7cA257f, data=0x )
          • WETH9.transfer( dst=0xb6CA52c7916ad7960C12Dc489FD93E5Af7cA257f, wad=9340176614348339 ) => ( True )
          • FiatTokenProxy.70a08231( )
            • FiatTokenV2_1.balanceOf( account=0xB4e16d0168e52d35CaCD2c6185b44281Ec28C9Dc ) => ( 128540825743678 )
            • WETH9.balanceOf( 0xB4e16d0168e52d35CaCD2c6185b44281Ec28C9Dc ) => ( 56503362164144090432954 )
            • UniswapV2Pair.swap( amount0Out=28670122119987811807270051, amount1Out=0, to=0xbcBDaf591fbeA90C8B97Da324310067bB9eCf936, data=0x )
              • TransparentUpgradeableProxy.a9059cbb( )
                • EMaxCoin.transfer( recipient=0xbcBDaf591fbeA90C8B97Da324310067bB9eCf936, amount=28670122119987811807270051 ) => ( True )
                • TransparentUpgradeableProxy.70a08231( )
                  • EMaxCoin.balanceOf( account=0xb6CA52c7916ad7960C12Dc489FD93E5Af7cA257f ) => ( 4911749819238387849198115412339 )
                  • WETH9.balanceOf( 0xb6CA52c7916ad7960C12Dc489FD93E5Af7cA257f ) => ( 1595362884896519226908 )
                    File 1 of 10: UniswapV2Router02
                    1
                    2
                    3
                    4
                    5
                    6
                    7
                    8
                    9
                    10
                    11
                    12
                    13
                    14
                    15
                    16
                    pragma solidity =0.6.6;
                    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 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);
                    function setFeeTo(address) external;
                    function setFeeToSetter(address) external;
                    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                    File 2 of 10: LinkToken
                    1
                    2
                    3
                    4
                    5
                    6
                    7
                    8
                    9
                    10
                    11
                    12
                    13
                    14
                    15
                    16
                    pragma solidity ^0.4.16;
                    /**
                    * @title SafeMath
                    * @dev Math operations with safety checks that throw on error
                    */
                    library SafeMath {
                    function mul(uint256 a, uint256 b) internal constant returns (uint256) {
                    uint256 c = a * b;
                    assert(a == 0 || c / a == b);
                    return c;
                    }
                    function div(uint256 a, uint256 b) internal constant returns (uint256) {
                    // assert(b > 0); // Solidity automatically throws when dividing by 0
                    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                    File 3 of 10: 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 4 of 10: 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 5 of 10: 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 6 of 10: 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 7 of 10: 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 8 of 10: TransparentUpgradeableProxy
                    1
                    2
                    3
                    4
                    5
                    6
                    7
                    8
                    9
                    10
                    11
                    12
                    13
                    14
                    15
                    16
                    // SPDX-License-Identifier: MIT
                    pragma solidity ^0.8.0;
                    import "@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol";
                    import "@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol";
                    import "@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol";
                    // Kept for backwards compatibility with older versions of Hardhat and Truffle plugins.
                    contract AdminUpgradeabilityProxy is TransparentUpgradeableProxy {
                    constructor(address logic, address admin, bytes memory data) payable TransparentUpgradeableProxy(logic, admin, data) {}
                    }
                    // SPDX-License-Identifier: MIT
                    pragma solidity ^0.8.0;
                    import "../Proxy.sol";
                    import "./ERC1967Upgrade.sol";
                    /**
                    * @dev This contract implements an upgradeable proxy. It is upgradeable because calls are delegated to an
                    * implementation address that can be changed. This address is stored in storage in the location specified by
                    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                    File 9 of 10: 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 10 of 10: EMaxCoin
                    1
                    2
                    3
                    4
                    5
                    6
                    7
                    8
                    9
                    10
                    11
                    12
                    13
                    14
                    15
                    16
                    // File: @openzeppelin/contracts/utils/Context.sol
                    // SPDX-License-Identifier: MIT
                    // SPDX-License-Identifier: GPL-3.0-only
                    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