Transaction Hash:
Block:
11006607 at Oct-07-2020 05:03:17 AM +UTC
Transaction Fee:
0.154259214 ETH
$456.75
Gas Used:
2,706,302 Gas / 57 Gwei
Emitted Events:
210 |
UniswapV2Factory.PairCreated( token0=FiatTokenProxy, token1=FiatTokenProxy, pair=UniswapV2Pair, 13586 )
|
211 |
FiatTokenProxy.0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef( 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef, 0x000000000000000000000000276e800bd0ebff3bacae5c6be7ff86dfea0518b5, 0x0000000000000000000000000fcea84aca409f77a479e16fb28bd4f30908e066, 00000000000000000000000000000000000000000000000000000000000f4240 )
|
212 |
FiatTokenProxy.0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef( 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef, 0x000000000000000000000000276e800bd0ebff3bacae5c6be7ff86dfea0518b5, 0x0000000000000000000000000fcea84aca409f77a479e16fb28bd4f30908e066, 000000000000000000000000000000000000000000000000000000000014c080 )
|
213 |
UniswapV2Pair.Transfer( from=0x0000000000000000000000000000000000000000, to=0x0000000000000000000000000000000000000000, value=1000 )
|
214 |
UniswapV2Pair.Transfer( from=0x0000000000000000000000000000000000000000, to=[Sender] 0x276e800bd0ebff3bacae5c6be7ff86dfea0518b5, value=1165190 )
|
215 |
UniswapV2Pair.Sync( reserve0=1360000, reserve1=1000000 )
|
216 |
UniswapV2Pair.Mint( sender=[Receiver] UniswapV2Router02, amount0=1360000, amount1=1000000 )
|
Account State Difference:
Address | Before | After | State Difference | ||
---|---|---|---|---|---|
0x0fceA84a...30908e066 |
0 Eth
Nonce: 0
|
0 Eth
Nonce: 1
| |||
0x276e800B...Fea0518b5 | (Xfers: Deployer) |
1.189915131425242624 Eth
Nonce: 118
|
1.035655917425242624 Eth
Nonce: 119
| 0.154259214 | |
0x3EcEf08D...8bFf2D5bB
Miner
| (MiningPoolHub) | 3,579.493583259226674498 Eth | 3,579.647842473226674498 Eth | 0.154259214 | |
0x5C69bEe7...B9cc5aA6f | (Uniswap V2: Factory Contract) | ||||
0x70e8dE73...59a8ecA96 | |||||
0xA0b86991...E3606eB48 |
Execution Trace
UniswapV2Router02.addLiquidity( tokenA=0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48, tokenB=0x70e8dE73cE538DA2bEEd35d14187F6959a8ecA96, amountADesired=1000000, amountBDesired=1360000, amountAMin=1000000, amountBMin=1360000, to=0x276e800BD0EBff3BacaE5c6be7Ff86DFea0518b5, deadline=1602048163 ) => ( amountA=1000000, amountB=1360000, liquidity=1165190 )
-
UniswapV2Factory.getPair( 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48, 0x70e8dE73cE538DA2bEEd35d14187F6959a8ecA96 ) => ( 0x0000000000000000000000000000000000000000 )
UniswapV2Factory.createPair( tokenA=0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48, tokenB=0x70e8dE73cE538DA2bEEd35d14187F6959a8ecA96 ) => ( pair=0x0fceA84aCA409f77a479E16Fb28BD4f30908e066 )
-
UniswapV2Pair.60806040( )
-
UniswapV2Pair.initialize( _token0=0x70e8dE73cE538DA2bEEd35d14187F6959a8ecA96, _token1=0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 )
-
-
UniswapV2Pair.STATICCALL( )
FiatTokenProxy.23b872dd( )
-
FiatTokenV2.transferFrom( from=0x276e800BD0EBff3BacaE5c6be7Ff86DFea0518b5, to=0x0fceA84aCA409f77a479E16Fb28BD4f30908e066, value=1000000 ) => ( True )
-
FiatTokenProxy.23b872dd( )
-
FiatTokenV1.transferFrom( _from=0x276e800BD0EBff3BacaE5c6be7Ff86DFea0518b5, _to=0x0fceA84aCA409f77a479E16Fb28BD4f30908e066, _amount=1360000 ) => ( True )
-
UniswapV2Pair.mint( to=0x276e800BD0EBff3BacaE5c6be7Ff86DFea0518b5 ) => ( liquidity=1165190 )
addLiquidity[UniswapV2Router02 (ln:276)]
_addLiquidity[UniswapV2Router02 (ln:286)]
getPair[UniswapV2Router02 (ln:257)]
createPair[UniswapV2Router02 (ln:258)]
getReserves[UniswapV2Router02 (ln:260)]
sortTokens[UniswapV2Library (ln:702)]
getReserves[UniswapV2Library (ln:703)]
pairFor[UniswapV2Library (ln:703)]
sortTokens[UniswapV2Library (ln:691)]
pairFor[UniswapV2Router02 (ln:287)]
sortTokens[UniswapV2Library (ln:691)]
safeTransferFrom[UniswapV2Router02 (ln:288)]
call[TransferHelper (ln:772)]
encodeWithSelector[TransferHelper (ln:772)]
decode[TransferHelper (ln:773)]
safeTransferFrom[UniswapV2Router02 (ln:289)]
call[TransferHelper (ln:772)]
encodeWithSelector[TransferHelper (ln:772)]
decode[TransferHelper (ln:773)]
mint[UniswapV2Router02 (ln:290)]
File 1 of 7: UniswapV2Router02
File 2 of 7: UniswapV2Factory
File 3 of 7: FiatTokenProxy
File 4 of 7: FiatTokenProxy
File 5 of 7: UniswapV2Pair
File 6 of 7: FiatTokenV2
File 7 of 7: FiatTokenV1
12345678910111213141516pragma 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;
File 2 of 7: UniswapV2Factory
12345678910111213141516pragma solidity =0.5.16;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;
File 3 of 7: 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 4 of 7: FiatTokenProxy
12345678910111213141516// File: zos-lib/contracts/upgradeability/Proxy.solpragma solidity ^0.4.24;/*** @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 5 of 7: UniswapV2Pair
12345678910111213141516// File: contracts/interfaces/IUniswapV2Pair.solpragma 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);
File 6 of 7: FiatTokenV2
12345678910111213141516// File: @openzeppelin/contracts/math/SafeMath.sol// License: 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 7 of 7: FiatTokenV1
12345678910111213141516// File: openzeppelin-solidity/contracts/math/SafeMath.solpragma solidity ^0.4.24;/*** @title SafeMath* @dev Math operations with safety checks that throw on error*/library SafeMath {/*** @dev Multiplies two numbers, throws on overflow.*/function mul(uint256 a, uint256 b) internal pure returns (uint256 c) {// Gas optimization: this is cheaper than asserting 'a' not being zero, but the