Transaction Hash:
Block:
14769806 at May-13-2022 09:34:25 PM +UTC
Transaction Fee:
0.00870191949920194 ETH
$24.09
Gas Used:
131,636 Gas / 66.105924665 Gwei
Emitted Events:
266 |
QuartzToken.Transfer( from=[Sender] 0xc2f6690e9591299dec12191f1120b5241d819627, to=UniswapV2Pair, value=44201788591976065432 )
|
267 |
QuartzToken.Approval( owner=[Sender] 0xc2f6690e9591299dec12191f1120b5241d819627, spender=[Receiver] UniswapV2Router02, value=115792089237316195423570985008687907853269984665640564039413382219321153574503 )
|
268 |
FiatTokenProxy.0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef( 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef, 0x0000000000000000000000001e888882d0f291dd88c5605108c72d414f29d460, 0x000000000000000000000000c2f6690e9591299dec12191f1120b5241d819627, 0000000000000000000000000000000000000000000000000000000007205519 )
|
269 |
UniswapV2Pair.Sync( reserve0=1631529861897, reserve1=601420245050564529382141 )
|
270 |
UniswapV2Pair.Swap( sender=[Receiver] UniswapV2Router02, amount0In=0, amount1In=44201788591976065432, amount0Out=119559449, amount1Out=0, to=[Sender] 0xc2f6690e9591299dec12191f1120b5241d819627 )
|
Account State Difference:
Address | Before | After | State Difference | ||
---|---|---|---|---|---|
0x1aD91ee0...dA6B45836
Miner
| (Hiveon Pool) | 18,028.862796302817162181 Eth | 18,028.862993756817162181 Eth | 0.000197454 | |
0x1E888882...14f29D460 | |||||
0xA0b86991...E3606eB48 | |||||
0xbA8A621b...a942225ef | |||||
0xC2F6690E...41D819627 |
0.018969545855647531 Eth
Nonce: 24
|
0.010267626356445591 Eth
Nonce: 25
| 0.00870191949920194 |
Execution Trace
UniswapV2Router02.swapExactTokensForTokens( amountIn=44201788591976065432, amountOutMin=118943792, path=[0xbA8A621b4a54e61C442F5Ec623687e2a942225ef, 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48], to=0xC2F6690E9591299DeC12191F1120B5241D819627, deadline=1652479418 ) => ( amounts=[44201788591976065432, 119559449] )
-
UniswapV2Pair.STATICCALL( )
-
QuartzToken.transferFrom( sender=0xC2F6690E9591299DeC12191F1120B5241D819627, recipient=0x1E888882D0F291DD88C5605108c72d414f29D460, amount=44201788591976065432 ) => ( True )
UniswapV2Pair.swap( amount0Out=119559449, amount1Out=0, to=0xC2F6690E9591299DeC12191F1120B5241D819627, data=0x )
FiatTokenProxy.a9059cbb( )
-
FiatTokenV2_1.transfer( to=0xC2F6690E9591299DeC12191F1120B5241D819627, value=119559449 ) => ( True )
-
FiatTokenProxy.70a08231( )
-
FiatTokenV2_1.balanceOf( account=0x1E888882D0F291DD88C5605108c72d414f29D460 ) => ( 1631529861897 )
-
-
QuartzToken.balanceOf( account=0x1E888882D0F291DD88C5605108c72d414f29D460 ) => ( 601420245050564529382141 )
swapExactTokensForTokens[UniswapV2Router02 (ln:610)]
getAmountsOut[UniswapV2Router02 (ln:617)]
getReserves[UniswapV2Library (ln:142)]
sortTokens[UniswapV2Library (ln:105)]
getReserves[UniswapV2Library (ln:106)]
pairFor[UniswapV2Library (ln:106)]
sortTokens[UniswapV2Library (ln:94)]
safeTransferFrom[UniswapV2Router02 (ln:619)]
call[TransferHelper (ln:181)]
encodeWithSelector[TransferHelper (ln:181)]
decode[TransferHelper (ln:182)]
pairFor[UniswapV2Router02 (ln:620)]
sortTokens[UniswapV2Library (ln:94)]
_swap[UniswapV2Router02 (ln:622)]
sortTokens[UniswapV2Router02 (ln:601)]
pairFor[UniswapV2Router02 (ln:604)]
sortTokens[UniswapV2Library (ln:94)]
swap[UniswapV2Router02 (ln:605)]
pairFor[UniswapV2Router02 (ln:605)]
sortTokens[UniswapV2Library (ln:94)]
File 1 of 5: UniswapV2Router02
File 2 of 5: UniswapV2Pair
File 3 of 5: QuartzToken
File 4 of 5: FiatTokenProxy
File 5 of 5: FiatTokenV2_1
12345678910111213141516// File: contracts/uniswapv2/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 2 of 5: UniswapV2Pair
12345678910111213141516// File: contracts/uniswapv2/interfaces/IUniswapV2Factory.solpragma 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);
File 3 of 5: QuartzToken
12345678910111213141516// SPDX-License-Identifier: UNLICENSEDpragma solidity ^0.8.9;import "@openzeppelin/contracts/token/ERC20/ERC20.sol";contract QuartzToken is ERC20("Sandclock", "QUARTZ") {constructor() {_mint(msg.sender, 1e8 ether);}}// SPDX-License-Identifier: MITpragma solidity ^0.8.0;import "./IERC20.sol";import "./extensions/IERC20Metadata.sol";import "../../utils/Context.sol";/*** @dev Implementation of the {IERC20} interface.*
File 4 of 5: 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 5 of 5: 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.*