ETH Price: $2,759.10 (-1.25%)

Transaction Decoder

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 Code
0x58edF782...1b6a36A51
(KuCoin 20)
124.665216722524751675 Eth
Nonce: 524141
124.663952807434157429 Eth
Nonce: 524142
0.001263915090594246
(beaverbuild)
5.981014799277347007 Eth5.981082278277347007 Eth0.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)]
    File 1 of 4: FLOKI
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    // SPDX-License-Identifier: MIT
    pragma 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;
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    File 2 of 4: ERC1967Proxy
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    // 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.
    */
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    File 3 of 4: TreasuryHandlerAlpha
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    // SPDX-License-Identifier: MIT
    pragma 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;
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    File 4 of 4: DynamicTaxHandler
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    // SPDX-License-Identifier: MIT
    pragma 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.
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX