Transaction Hash:
Block:
21342317 at Dec-06-2024 08:39:23 AM +UTC
Transaction Fee:
0.001263915090594246 ETH
$3.49
Gas Used:
67,479 Gas / 18.730495274 Gwei
Emitted Events:
324 |
FLOKI.Transfer( from=[Sender] 0x58edf78281334335effa23101bbe3371b6a36a51, to=ERC1967Proxy, value=500000000000000000 )
|
Account State Difference:
Address | Before | After | State Difference | ||
---|---|---|---|---|---|
0x58edF782...1b6a36A51 | (KuCoin 20) |
124.665216722524751675 Eth
Nonce: 524141
|
124.663952807434157429 Eth
Nonce: 524142
| 0.001263915090594246 | |
0x95222290...5CC4BAfe5
Miner
| (beaverbuild) | 5.981014799277347007 Eth | 5.981082278277347007 Eth | 0.000067479 | |
0xcf0C122c...Be62b6a2E |
Execution Trace
FLOKI.transfer( recipient=0xd91eFec7E42f80156d1D9f660a69847188950747, amount=500000000000000000 ) => ( True )
-
TreasuryHandlerAlpha.beforeTransferHandler( benefactor=0x58edF78281334335EfFa23101bBe3371b6a36A51, beneficiary=0xd91eFec7E42f80156d1D9f660a69847188950747, amount=500000000000000000 )
-
DynamicTaxHandler.getTax( benefactor=0x58edF78281334335EfFa23101bBe3371b6a36A51, beneficiary=0xd91eFec7E42f80156d1D9f660a69847188950747, amount=500000000000000000 ) => ( 0 )
-
TreasuryHandlerAlpha.afterTransferHandler( benefactor=0x58edF78281334335EfFa23101bBe3371b6a36A51, beneficiary=0xd91eFec7E42f80156d1D9f660a69847188950747, amount=500000000000000000 )
transfer[FLOKI (ln:105)]
_transfer[FLOKI (ln:106)]
beforeTransferHandler[FLOKI (ln:378)]
getTax[FLOKI (ln:379)]
_moveDelegates[FLOKI (ln:383)]
_writeCheckpoint[FLOKI (ln:316)]
Checkpoint[FLOKI (ln:342)]
DelegateVotesChanged[FLOKI (ln:345)]
_writeCheckpoint[FLOKI (ln:322)]
Checkpoint[FLOKI (ln:342)]
DelegateVotesChanged[FLOKI (ln:345)]
_moveDelegates[FLOKI (ln:386)]
_writeCheckpoint[FLOKI (ln:316)]
Checkpoint[FLOKI (ln:342)]
DelegateVotesChanged[FLOKI (ln:345)]
_writeCheckpoint[FLOKI (ln:322)]
Checkpoint[FLOKI (ln:342)]
DelegateVotesChanged[FLOKI (ln:345)]
Transfer[FLOKI (ln:387)]
afterTransferHandler[FLOKI (ln:389)]
Transfer[FLOKI (ln:390)]
_msgSender[FLOKI (ln:106)]
File 1 of 4: FLOKI
File 2 of 4: ERC1967Proxy
File 3 of 4: TreasuryHandlerAlpha
File 4 of 4: DynamicTaxHandler
12345678910111213141516// SPDX-License-Identifier: MITpragma solidity 0.8.11;import "@openzeppelin/contracts/token/ERC20/IERC20.sol";import "@openzeppelin/contracts/access/Ownable.sol";import "./governance/IGovernanceToken.sol";import "./tax/ITaxHandler.sol";import "./treasury/ITreasuryHandler.sol";/*** @title Floki token contract* @dev The Floki token has modular systems for tax and treasury handler as well as governance capabilities.*/contract FLOKI is IERC20, IGovernanceToken, Ownable {/// @dev Registry of user token balances.mapping(address => uint256) private _balances;/// @dev Registry of addresses users have given allowances to.mapping(address => mapping(address => uint256)) private _allowances;
File 2 of 4: ERC1967Proxy
12345678910111213141516// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.7.0) (access/Ownable.sol)pragma solidity ^0.8.0;import "../utils/Context.sol";/*** @dev Contract module which provides a basic access control mechanism, where* there is an account (an owner) that can be granted exclusive access to* specific functions.** By default, the owner account will be the one that deploys the contract. This* can later be changed with {transferOwnership}.** This module is used through inheritance. It will make available the modifier* `onlyOwner`, which can be applied to your functions to restrict their use to* the owner.*/
File 3 of 4: TreasuryHandlerAlpha
12345678910111213141516// SPDX-License-Identifier: MITpragma solidity 0.8.11;import "@openzeppelin/contracts/token/ERC20/IERC20.sol";import "@openzeppelin/contracts/utils/Address.sol";import "@uniswap/v2-periphery/contracts/interfaces/IUniswapV2Router02.sol";import "../utils/ExchangePoolProcessor.sol";import "../utils/LenientReentrancyGuard.sol";import "./ITreasuryHandler.sol";/*** @title Treasury handler alpha contract* @dev Sells tokens that have accumulated through taxes and sends the resulting ETH to the treasury. If* `liquidityBasisPoints` has been set to a non-zero value, then that percentage will instead be added to the designated* liquidity pool.*/contract TreasuryHandlerAlpha is ITreasuryHandler, LenientReentrancyGuard, ExchangePoolProcessor {using Address for address payable;
File 4 of 4: DynamicTaxHandler
12345678910111213141516// SPDX-License-Identifier: MITpragma solidity 0.8.11;import "@openzeppelin/contracts/token/ERC20/IERC20.sol";import "@openzeppelin/contracts/utils/structs/EnumerableSet.sol";import "./ITaxHandler.sol";import "../utils/ExchangePoolProcessor.sol";/*** @title Dynamic tax handler* @notice Processes tax for a given token transfer. Checks for the following:* - Is the address on the static blacklist? If so, it can only transfer to the* `receiver` address. In all other cases, the transfer will fail.* - Is the address exempt from taxes, if so, the number of taxed tokens is* always zero.* - Is it a transfer between "regular" users? This means they are not on the* list of either blacklisted or exempt addresses, nor are they an address* designated as an exchange pool.