Contract 0x325a98F258a5732c7b06555603F6aF5BC1C17F0a 1

Contract Overview

Alpha Nodes: $ALPHA Token
Balance:
0 AVAX

AVAX Value:
$0.00

Token:
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x224af6320c1b1b06e3e458281ab86323dc2320cd4eb2a6ea5dae324f25f4593dApprove206218242022-10-04 4:54:172 hrs 24 mins ago0x05d4773fb2562f01b2562311ca6d82df88c1667e IN  Alpha Nodes: $ALPHA Token0 AVAX0.001249310013 26.825346
0xe41ec339ebc0fd853aaf47ffbb632a529e520123078179ad0c66006ab47721c2Approve206200782022-10-04 3:53:383 hrs 25 mins ago0x05d4773fb2562f01b2562311ca6d82df88c1667e IN  Alpha Nodes: $ALPHA Token0 AVAX0.001234158 26.5
0x43e3dd8a87d17f46cf2bb826dc9a7d43ba65cdd07e49645c671e02bb1d7d7075Approve206128002022-10-03 23:41:287 hrs 37 mins ago0xca6bc237fcce8f04819d56641416869bd1e5de8e IN  Alpha Nodes: $ALPHA Token0 AVAX0.001234158 26.5
0x7194d0c959e18ca49929c248ccc7edc0cda9cdb19733448fc7163d42181d66f4Approve206108132022-10-03 22:33:118 hrs 46 mins ago0xca6bc237fcce8f04819d56641416869bd1e5de8e IN  Alpha Nodes: $ALPHA Token0 AVAX0.001234158 26.5
0x8d82b2e9f0d6c30bd0bbf6ed3f94b5b80b0a4d21519cc60649200c244dff106aApprove206081892022-10-03 21:02:5410 hrs 16 mins ago0xf9cf263e79eaec3743f89684112e3a3315622eb4 IN  Alpha Nodes: $ALPHA Token0 AVAX0.001246680838 26.768892
0xadd7ff709a81a500466535a064652af7bfd3534d6c36af2739143308be93c4f7Approve206066122022-10-03 20:08:5111 hrs 10 mins ago0x20942a70efb66c9280afee609fb214651765124d IN  Alpha Nodes: $ALPHA Token0 AVAX0.001234158 26.5
0x142d5d707fee88ef63fb77544712bd94791536250503ab9de3a9961928e603e2Transfer206003022022-10-03 16:33:1514 hrs 45 mins ago0x92b25dd6111ff9a6b790d7dee4206af342981ead IN  Alpha Nodes: $ALPHA Token0 AVAX0.002981895446 27.019957112
0xf7058c41f5869155ca68d681091d4c7d34a7d4f9c6b1cfcd2e059eab691963abApprove205881002022-10-03 9:33:2321 hrs 45 mins ago0xd0d5aef2dfc3f1648a96c0fc53b3ab17a15d52d5 IN  Alpha Nodes: $ALPHA Token0 AVAX0.001234158 26.5
0x5c998bcf05789ad2211f79b6e67fb97f91392e17048ade2040c08af1cca0cc46Approve205880672022-10-03 9:32:1221 hrs 46 mins ago0xd0d5aef2dfc3f1648a96c0fc53b3ab17a15d52d5 IN  Alpha Nodes: $ALPHA Token0 AVAX0.001246680838 26.768892
0x9d596bfa6658ce265d450f2cbcb437d45bc22737ef8ddd2fc99db39c5ccb5508Approve205838452022-10-03 7:05:441 day 13 mins ago0x52dc7d28a761ad2014fe873dbe777f50fb38fcc6 IN  Alpha Nodes: $ALPHA Token0 AVAX0.001270562517 27.2816825
0x85321261881756e6b35873489474f85255ba888357fbb6db8aa8b16321c1f5fbApprove205791352022-10-03 4:22:101 day 2 hrs ago0x2740853a1b8f3154c146e2a0f86482c13a24746b IN  Alpha Nodes: $ALPHA Token0 AVAX0.001251939189 26.8818
0x58b803cab001a0ec0d9e59ede43f6c5ce561fab8451afaaabc5a0ebec37e9a75Approve205774962022-10-03 3:25:211 day 3 hrs ago0x379033f48f84b95a9baed12805e04b4f6b89740e IN  Alpha Nodes: $ALPHA Token0 AVAX0.001255116853 26.950031218
0x477a08e1f20d5dcc126ef7fbbc462b5e13c72300648ac5d7f329059975804f30Approve205758992022-10-03 2:30:071 day 4 hrs ago0x19027dc2e2fbe5f3d987df3625f938957fabd9cc IN  Alpha Nodes: $ALPHA Token0 AVAX0.001234158 26.5
0xfa4a6f01f3aca515db7c9197a9dc61f7274ffa215198b5287fed418688e77e37Approve205687702022-10-02 22:24:101 day 8 hrs ago0xfc89e2c5beaac7a567123ec55ee4ecce3aee5726 IN  Alpha Nodes: $ALPHA Token0 AVAX0.0007272 25
0x160243baa36c639797d7f6a3521bb3c8a9f7212f26a1e68f89da4939b404d8beApprove205685852022-10-02 22:17:411 day 9 hrs ago0xfc89e2c5beaac7a567123ec55ee4ecce3aee5726 IN  Alpha Nodes: $ALPHA Token0 AVAX0.000773058 26.5
0x1fc8f7031df111d0658003587208c3bcfb5503d42731c4e5d8a8b9b54b81a34eApprove205685102022-10-02 22:15:061 day 9 hrs ago0xfc89e2c5beaac7a567123ec55ee4ecce3aee5726 IN  Alpha Nodes: $ALPHA Token0 AVAX0.00122988979 26.60026365
0x0ecc08734fa3a6a99284cf73c98e9ac01d29f9ad49b8450c4c3665b521b9d35fTransfer205604272022-10-02 17:36:291 day 13 hrs ago0xe6e365b1a0422d46377e9c3a9d28eb6fe7427dad IN  Alpha Nodes: $ALPHA Token0 AVAX0.00414989615 27.425
0x2dce428f01e61f26e95deac018fdcbdc7c684be487ae423cbbd4eec45a494b33Transfer205603442022-10-02 17:33:341 day 13 hrs ago0xe6e365b1a0422d46377e9c3a9d28eb6fe7427dad IN  Alpha Nodes: $ALPHA Token0 AVAX0.004879286 26.5
0xe9869eac0c29cde03a42c3fd5ba48bc08e49cc9d0ed92d3f041e76829980caf1Approve205428232022-10-02 7:28:151 day 23 hrs ago0x15ce0fe5fb3757524eacbc838791d35f25e768ef IN  Alpha Nodes: $ALPHA Token0 AVAX0.001234158 26.5
0xc85a0c88f15bceb2e9174cf860603d2ee1c6d296282bae2c8a2d2175cc8976a9Approve205428102022-10-02 7:27:491 day 23 hrs ago0x0381c3dcef95293dc7540d823937ed21ce4d09cc IN  Alpha Nodes: $ALPHA Token0 AVAX0.001234158 26.5
0xb45a798294952c6723e1bbb4b60f0f7e76af2c3c6fe84dd337c92eae91095592Approve205394082022-10-02 5:28:032 days 1 hr ago0xd7a91810541b6cde677c86ff18f5f3f659ec886f IN  Alpha Nodes: $ALPHA Token0 AVAX0.00122996652 26.41
0x86640a15bfe1fe8b35c598695797f45e2182d0a982e398969409d1a88dc4837dApprove205377402022-10-02 4:29:392 days 2 hrs ago0x3d07b7163b04782098d2407bf58777de7d1cea76 IN  Alpha Nodes: $ALPHA Token0 AVAX0.00122996652 26.41
0xdd123624bc2e7275bf6beadea9807a32c7bc5e5547727a1ca8761a0bfb982346Approve205219892022-10-01 19:26:352 days 11 hrs ago0xec53257e7e8b8db0f4c2a3be64a271c47dea1c2d IN  Alpha Nodes: $ALPHA Token0 AVAX0.001237300991 26.567486718
0xc11ced56f06aa7cbbe5dde9aa390840df177f3463bac220a430e54f68cc55a82Approve205210602022-10-01 18:54:462 days 12 hrs ago0x4384f7916e165f0d24ab3935965492229dfd50ea IN  Alpha Nodes: $ALPHA Token0 AVAX0.001234158 26.5
0x6708f22f218202a659838f33bd8016b8434ce9d33ff6bf4a43f7fdbf4d5e0e7dApprove205094872022-10-01 12:18:402 days 19 hrs ago0xdd02d4d3d178e135d72fff0559d1209d9ba1415a IN  Alpha Nodes: $ALPHA Token0 AVAX0.001234158 26.5
[ Download CSV Export 

OVERVIEW

Alpha Nodes, or ALPHA, is a reflection token currently native to the Avalanche Network that taxes each buy and sell of the ALPHA token. These taxes generate income that is re-distributed to holders in the form of node tokens, or the stable-coin USDC.

Latest 25 internal transaction
Parent Txn Hash Block From To Value
0xba92c75a4d494b31a6f543368999887fcec12cd281b5a7795899c1422810f209185748272022-08-13 4:12:3552 days 3 hrs ago Alpha Nodes: $ALPHA Token0xe7599952e7146c3263d77c6cea76bfbb6e8c900112.347395716457926548 AVAX
0x6cc7258f42c4016daa3bd5c7ae5d0291fada0f3f97fcbc55ee7a8a7a1f979634184803742022-08-10 23:25:3754 days 7 hrs ago Alpha Nodes: $ALPHA Token Trader Joe: Router0.607552305973967639 AVAX
0x6cc7258f42c4016daa3bd5c7ae5d0291fada0f3f97fcbc55ee7a8a7a1f979634184803742022-08-10 23:25:3754 days 7 hrs ago Alpha Nodes: $ALPHA Token0xe7599952e7146c3263d77c6cea76bfbb6e8c90018.505732283635546957 AVAX
0x6cc7258f42c4016daa3bd5c7ae5d0291fada0f3f97fcbc55ee7a8a7a1f979634184803742022-08-10 23:25:3754 days 7 hrs ago Alpha Nodes: $ALPHA Token 0xe00bcacaa92b4e907f88c77297e2f24331322e9112.151046119479352796 AVAX
0x6cc7258f42c4016daa3bd5c7ae5d0291fada0f3f97fcbc55ee7a8a7a1f979634184803742022-08-10 23:25:3754 days 7 hrs ago Trader Joe: Router Alpha Nodes: $ALPHA Token21.871883015062835033 AVAX
0xd63baf0d0a7f00fea5c5943c21297c4c0820c184fffec1ac663620177a56250c184738382022-08-10 19:46:2054 days 11 hrs ago Alpha Nodes: $ALPHA Token Trader Joe: Router0.604020776915939259 AVAX
0xd63baf0d0a7f00fea5c5943c21297c4c0820c184fffec1ac663620177a56250c184738382022-08-10 19:46:2054 days 11 hrs ago Alpha Nodes: $ALPHA Token0xe7599952e7146c3263d77c6cea76bfbb6e8c90018.456290876823149629 AVAX
0xd63baf0d0a7f00fea5c5943c21297c4c0820c184fffec1ac663620177a56250c184738382022-08-10 19:46:2054 days 11 hrs ago Alpha Nodes: $ALPHA Token 0xe00bcacaa92b4e907f88c77297e2f24331322e9112.080415538318785185 AVAX
0xd63baf0d0a7f00fea5c5943c21297c4c0820c184fffec1ac663620177a56250c184738382022-08-10 19:46:2054 days 11 hrs ago Trader Joe: Router Alpha Nodes: $ALPHA Token21.744747968973813333 AVAX
0x7cddac5832bb00e971faccd188cf6aaade46f45ceaa692c5307aa3eae83e04be184689732022-08-10 17:03:1254 days 14 hrs ago Alpha Nodes: $ALPHA Token Trader Joe: Router0.534564357308839823 AVAX
0x7cddac5832bb00e971faccd188cf6aaade46f45ceaa692c5307aa3eae83e04be184689732022-08-10 17:03:1254 days 14 hrs ago Alpha Nodes: $ALPHA Token0xe7599952e7146c3263d77c6cea76bfbb6e8c90017.483901002323757534 AVAX
0x7cddac5832bb00e971faccd188cf6aaade46f45ceaa692c5307aa3eae83e04be184689732022-08-10 17:03:1254 days 14 hrs ago Alpha Nodes: $ALPHA Token 0xe00bcacaa92b4e907f88c77297e2f24331322e9110.691287146176796477 AVAX
0x7cddac5832bb00e971faccd188cf6aaade46f45ceaa692c5307aa3eae83e04be184689732022-08-10 17:03:1254 days 14 hrs ago Trader Joe: Router Alpha Nodes: $ALPHA Token19.24431686311823366 AVAX
0x92a609e29ce44fb5000bc625213fccd93106d07e70b7da160cb571a86ec331f6184659782022-08-10 15:22:5554 days 15 hrs ago Alpha Nodes: $ALPHA Token Trader Joe: Router0.538763702796059996 AVAX
0x92a609e29ce44fb5000bc625213fccd93106d07e70b7da160cb571a86ec331f6184659782022-08-10 15:22:5554 days 15 hrs ago Alpha Nodes: $ALPHA Token0xe7599952e7146c3263d77c6cea76bfbb6e8c90017.542691839144839956 AVAX
0x92a609e29ce44fb5000bc625213fccd93106d07e70b7da160cb571a86ec331f6184659782022-08-10 15:22:5554 days 15 hrs ago Alpha Nodes: $ALPHA Token 0xe00bcacaa92b4e907f88c77297e2f24331322e9110.775274055921199937 AVAX
0x92a609e29ce44fb5000bc625213fccd93106d07e70b7da160cb571a86ec331f6184659782022-08-10 15:22:5554 days 15 hrs ago Trader Joe: Router Alpha Nodes: $ALPHA Token19.395493300658159888 AVAX
0xe18e1cf474d0ac25a24467d556d6a065dbc6cce65e634a91c55983dca125528e184581282022-08-10 11:01:5654 days 20 hrs ago Alpha Nodes: $ALPHA Token Trader Joe: Router0.538488338432425036 AVAX
0xe18e1cf474d0ac25a24467d556d6a065dbc6cce65e634a91c55983dca125528e184581282022-08-10 11:01:5654 days 20 hrs ago Alpha Nodes: $ALPHA Token0xe7599952e7146c3263d77c6cea76bfbb6e8c90017.538836738053950504 AVAX
0xe18e1cf474d0ac25a24467d556d6a065dbc6cce65e634a91c55983dca125528e184581282022-08-10 11:01:5654 days 20 hrs ago Alpha Nodes: $ALPHA Token 0xe00bcacaa92b4e907f88c77297e2f24331322e9110.769766768648500721 AVAX
0xe18e1cf474d0ac25a24467d556d6a065dbc6cce65e634a91c55983dca125528e184581282022-08-10 11:01:5654 days 20 hrs ago Trader Joe: Router Alpha Nodes: $ALPHA Token19.385580183567301298 AVAX
0xf828617e9040a6d633d7999a4c5485b3c9b103673e54b25ca46411f457887583184552702022-08-10 9:25:5054 days 21 hrs ago Alpha Nodes: $ALPHA Token Trader Joe: Router0.53361764878198909 AVAX
0xf828617e9040a6d633d7999a4c5485b3c9b103673e54b25ca46411f457887583184552702022-08-10 9:25:5054 days 21 hrs ago Alpha Nodes: $ALPHA Token0xe7599952e7146c3263d77c6cea76bfbb6e8c90017.470647082947847272 AVAX
0xf828617e9040a6d633d7999a4c5485b3c9b103673e54b25ca46411f457887583184552702022-08-10 9:25:5054 days 21 hrs ago Alpha Nodes: $ALPHA Token 0xe00bcacaa92b4e907f88c77297e2f24331322e9110.672352975639781817 AVAX
0xf828617e9040a6d633d7999a4c5485b3c9b103673e54b25ca46411f457887583184552702022-08-10 9:25:5054 days 21 hrs ago Trader Joe: Router Alpha Nodes: $ALPHA Token19.210235356151607271 AVAX
[ Download CSV Export 
Loading

Similar Match Source Code
Note: This contract matches the deployed ByteCode of the Source Code for Contract 0x95070E6751d42723BE3882b489A740122b9152c4

Contract Name:
ALPHA

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity Standard Json-Input format)

File 1 of 6 : ALPHA.sol
/**
SPDX-License-Identifier: Unlicensed
*/
pragma solidity ^0.8.7;

import "./libs/SafeMath.sol";
import "./helpers/Auth.sol";
import "./helpers/DividendDistributor.sol";
import "./interfaces/IBep20.sol";
import "./interfaces/Idex.sol";


contract ALPHA is IBEP20, Auth {
    using SafeMath for uint256;

    event AutoLiquify(uint256 amountAVAX, uint256 amountBOG);
    event BuybackMultiplierActive(uint256 duration);
    event SwapBack(uint256 amountSwapped);

    uint256 public constant MASK = type(uint128).max;

    /** Addresses */
    address USDC = 0xA7D7079b0FEaD91F3e65f86E8915Cb59c1a4C664;
    address public WAVAX = 0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7;
    address DEAD = 0x000000000000000000000000000000000000dEaD;
    address ZERO = 0x0000000000000000000000000000000000000000;
    address DEAD_NON_CHECKSUM = 0x000000000000000000000000000000000000dEaD;

    /** Token constants */
    string constant _name = "$ALPHA";
    string constant _symbol = "$ALPHA";
    uint8 constant _decimals = 9;
    uint256 _totalSupply = 1_000_000_000_000_000 * (10**_decimals);

    /** Transaction and Wallet Limiters */
    uint256 public _maxTxAmount = _totalSupply.div(100); // 1%
    uint256 public _maxWallet = _totalSupply.div(40); // 2.5%

    /** Internal Mappings */
    mapping(address => uint256) _balances;
    mapping(address => mapping(address => uint256)) _allowances;

    mapping(address => bool) isFeeExempt;
    mapping(address => bool) isTxLimitExempt;
    mapping(address => bool) isDividendExempt;
    mapping(address => bool) public _isFree;

    /** Fees and fee breakdown */
    /**
        Total Fee: 18%
        10% Reflection
        2% Liquidity
        6% Treasury
     */
    uint256 liquidityFee = 200;
    uint256 buybackFee = 0;
    uint256 reflectionFee = 1000;
    uint256 treasuryFee = 600;
    uint256 totalFee = 1800;
    uint256 feeDenominator = 10000;

    address public autoLiquidityReceiver =
        0x618711478689a68aA547480c2D9ba72FBFC31774;
    
    address public treasuryFeeReceiver =
        0x618711478689a68aA547480c2D9ba72FBFC31774;

    uint256 targetLiquidity = 10;
    uint256 targetLiquidityDenominator = 100;

    IDEXRouter public router;
    address public pair;

    uint256 public launchedAt;
    uint256 public launchedAtTimestamp;

    uint256 buybackMultiplierNumerator = 200;
    uint256 buybackMultiplierDenominator = 100;
    uint256 buybackMultiplierTriggeredAt;
    uint256 buybackMultiplierLength = 30 minutes;

    bool public autoBuybackEnabled = false;
    mapping(address => bool) buyBacker;
    uint256 autoBuybackCap;
    uint256 autoBuybackAccumulator;
    uint256 autoBuybackAmount;
    uint256 autoBuybackBlockPeriod;
    uint256 autoBuybackBlockLast;

    DividendDistributor distributor;
    address public distributorAddress;

    uint256 distributorGas = 500000;

    bool public swapEnabled = true;
    uint256 public swapThreshold = _totalSupply / 1000; // 0.1%;
    uint256 public lastSwapTime = block.timestamp;
    uint256 public swapTimeLock = 1 hours;

    bool inSwap;

    constructor() Auth(msg.sender) {
        address _router = 0x60aE616a2155Ee3d9A68541Ba4544862310933d4;
        router = IDEXRouter(_router);
        pair = IDEXFactory(router.factory()).createPair(WAVAX, address(this));
        _allowances[address(this)][address(router)] = _totalSupply;
        WAVAX = router.WAVAX();
        distributor = new DividendDistributor(_router);
        distributorAddress = address(distributor);

        isFeeExempt[msg.sender] = true;
        isTxLimitExempt[msg.sender] = true;
        isDividendExempt[pair] = true;
        isDividendExempt[address(this)] = true;
        isDividendExempt[DEAD] = true;
        buyBacker[msg.sender] = true;

        autoLiquidityReceiver = msg.sender;

        approve(_router, _totalSupply);
        approve(address(pair), _totalSupply);
        _balances[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _totalSupply);
    }

    receive() external payable {}

    function totalSupply() external view override returns (uint256) {
        return _totalSupply;
    }

    function decimals() external pure override returns (uint8) {
        return _decimals;
    }

    function symbol() external pure override returns (string memory) {
        return _symbol;
    }

    function name() external pure override returns (string memory) {
        return _name;
    }

    function getOwner() external view override returns (address) {
        return owner;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }

    function allowance(address holder, address spender)
        external
        view
        override
        returns (uint256)
    {
        return _allowances[holder][spender];
    }

    function approve(address spender, uint256 amount)
        public
        override
        returns (bool)
    {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function approveMax(address spender) external returns (bool) {
        return approve(spender, _totalSupply);
    }

    function transfer(address recipient, uint256 amount)
        external
        override
        returns (bool)
    {
        return _transferFrom(msg.sender, recipient, amount);
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external override returns (bool) {
        if (_allowances[sender][msg.sender] != _totalSupply) {
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender]
                .sub(amount, "Insufficient Allowance");
        }

        return _transferFrom(sender, recipient, amount);
    }

    function _transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) internal returns (bool) {
        if (inSwap) {
            return _basicTransfer(sender, recipient, amount);
        }

        // Max  tx check
        address routerAddress = 0x60aE616a2155Ee3d9A68541Ba4544862310933d4;
        bool isSell = recipient == pair || recipient == routerAddress;

        checkTxLimit(sender, amount);

        // Max wallet check excluding pair and router
        if (!isSell && !_isFree[recipient]) {
            require(
                (_balances[recipient] + amount) < _maxWallet,
                "Max wallet has been triggered"
            );
        }

        // No swapping on buy and tx
        if (isSell) {
            if (shouldSwapBack()) {
                swapBack();
            }
            if (shouldAutoBuyback()) {
                triggerAutoBuyback();
            }
        }
        // if(!launched() && recipient == pair){ require(_balances[sender] > 0); launch(); }

        _balances[sender] = _balances[sender].sub(
            amount,
            "Insufficient Balance"
        );

        uint256 amountReceived = shouldTakeFee(sender)
            ? takeFee(sender, recipient, amount)
            : amount;

        _balances[recipient] = _balances[recipient].add(amountReceived);

        if (!isDividendExempt[sender]) {
            try distributor.setShare(sender, _balances[sender]) {} catch {}
        }

        if (!isDividendExempt[recipient]) {
            try
                distributor.setShare(recipient, _balances[recipient])
            {} catch {}
        }

        // try distributor.process(distributorGas) {} catch {}

        emit Transfer(sender, recipient, amountReceived);
        return true;
    }

    function _basicTransfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(
            amount,
            "Insufficient Balance"
        );
        _balances[recipient] = _balances[recipient].add(amount);
        return true;
    }

    function checkTxLimit(address sender, uint256 amount) internal view {
        require(
            amount <= _maxTxAmount || isTxLimitExempt[sender],
            "TX Limit Exceeded"
        );
    }

    function shouldTakeFee(address sender) internal view returns (bool) {
        return !isFeeExempt[sender];
    }

    function getTotalFee(bool selling) public view returns (uint256) {
        if (launchedAt + 1 >= block.number) {
            return totalFee;
        }
        if (selling) {
            return totalFee;
        }
        return totalFee;
    }

    function takeFee(
        address sender,
        address receiver,
        uint256 amount
    ) internal returns (uint256) {
        uint256 feeAmount = amount.mul(getTotalFee(receiver == pair)).div(
            feeDenominator
        );

        _balances[address(this)] = _balances[address(this)].add(feeAmount);
        emit Transfer(sender, address(this), feeAmount);

        return amount.sub(feeAmount);
    }

    function shouldSwapBack() internal view returns (bool) {
        return
            msg.sender != pair &&
            !inSwap &&
            swapEnabled &&
            block.timestamp > lastSwapTime + swapTimeLock &&
            _balances[address(this)] >= swapThreshold;
    }

    function swapBack() internal swapping {
        lastSwapTime = block.timestamp;
        uint256 dynamicLiquidityFee = isOverLiquified(
            targetLiquidity,
            targetLiquidityDenominator
        )
            ? 0
            : liquidityFee;
        uint256 amountToLiquify = swapThreshold
            .mul(dynamicLiquidityFee)
            .div(totalFee)
            .div(2);
        uint256 amountToSwap = swapThreshold.sub(amountToLiquify);

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = WAVAX;
        uint256 balanceBefore = address(this).balance;

        router.swapExactTokensForAVAXSupportingFeeOnTransferTokens(
            amountToSwap,
            0,
            path,
            address(this),
            block.timestamp
        );

        uint256 amountAVAX = address(this).balance.sub(balanceBefore);

        uint256 totalAVAXFee = totalFee.sub(dynamicLiquidityFee.div(2));

        uint256 amountAVAXLiquidity = amountAVAX
            .mul(dynamicLiquidityFee)
            .div(totalAVAXFee)
            .div(2);
        uint256 amountAVAXReflection = amountAVAX.mul(reflectionFee).div(
            totalAVAXFee
        );
        uint256 amountAVAXTreasury = amountAVAX.mul(treasuryFee).div(
            totalAVAXFee
        );

        try distributor.deposit{value: amountAVAXReflection}() {} catch {}

        payable(treasuryFeeReceiver).transfer(amountAVAXTreasury);

        if (amountToLiquify > 0) {
            router.addLiquidityAVAX{value: amountAVAXLiquidity}(
                address(this),
                amountToLiquify,
                0,
                0,
                autoLiquidityReceiver,
                block.timestamp
            );
            emit AutoLiquify(amountAVAXLiquidity, amountToLiquify);
        }
    }

    function shouldAutoBuyback() internal view returns (bool) {
        return
            msg.sender != pair &&
            !inSwap &&
            autoBuybackEnabled &&
            autoBuybackBlockLast + autoBuybackBlockPeriod <= block.number && // After N blocks from last buyback
            address(this).balance >= autoBuybackAmount;
    }

    function triggerZeusBuyback(uint256 amount, bool triggerBuybackMultiplier)
        external
        authorized
    {
        buyTokens(amount, DEAD);
        if (triggerBuybackMultiplier) {
            buybackMultiplierTriggeredAt = block.timestamp;
            emit BuybackMultiplierActive(buybackMultiplierLength);
        }
    }

    function clearBuybackMultiplier() external authorized {
        buybackMultiplierTriggeredAt = 0;
    }

    function triggerAutoBuyback() internal {
        buyTokens(autoBuybackAmount, DEAD);
        autoBuybackBlockLast = block.number;
        autoBuybackAccumulator = autoBuybackAccumulator.add(autoBuybackAmount);
        if (autoBuybackAccumulator > autoBuybackCap) {
            autoBuybackEnabled = false;
        }
    }

    function buyTokens(uint256 amount, address to) internal swapping {
        address[] memory path = new address[](2);
        path[0] = WAVAX;
        path[1] = address(this);

        router.swapExactAVAXForTokensSupportingFeeOnTransferTokens{
            value: amount
        }(0, path, to, block.timestamp);
    }

    function launched() internal view returns (bool) {
        return launchedAt != 0;
    }

    function launch() public authorized {
        require(launchedAt == 0, "Already launched");
        launchedAt = block.number;
        launchedAtTimestamp = block.timestamp;
    }

    function setAutoBuybackSettings(
        bool _enabled,
        uint256 _cap,
        uint256 _amount,
        uint256 _period
    ) external authorized {
        autoBuybackEnabled = _enabled;
        autoBuybackCap = _cap;
        autoBuybackAccumulator = 0;
        autoBuybackAmount = _amount;
        autoBuybackBlockPeriod = _period;
        autoBuybackBlockLast = block.number;
    }

    function setBuybackMultiplierSettings(
        uint256 numerator,
        uint256 denominator,
        uint256 length
    ) external authorized {
        require(numerator / denominator <= 2 && numerator > denominator);
        buybackMultiplierNumerator = numerator;
        buybackMultiplierDenominator = denominator;
        buybackMultiplierLength = length;
    }

    function setMaxWallet(uint256 amount) external authorized {
        require(amount >= _totalSupply / 1000);
        _maxWallet = amount;
    }

    function setTxLimit(uint256 amount) external authorized {
        require(amount >= _totalSupply / 1000);
        _maxTxAmount = amount;
    }

    function setIsDividendExempt(address holder, bool exempt)
        external
        authorized
    {
        require(holder != address(this) && holder != pair);
        isDividendExempt[holder] = exempt;
        if (exempt) {
            distributor.setShare(holder, 0);
        } else {
            distributor.setShare(holder, _balances[holder]);
        }
    }

    function setIsFeeExempt(address holder, bool exempt) external authorized {
        isFeeExempt[holder] = exempt;
    }

    function setIsTxLimitExempt(address holder, bool exempt)
        external
        authorized
    {
        isTxLimitExempt[holder] = exempt;
    }

    function Sweep() external onlyOwner {
        uint256 balance = address(this).balance;
        payable(msg.sender).transfer(balance);
    }

    function setSwapBackTimeLock(uint256 time) public authorized {
        require(time >= 0, "No Negative Time, Pal.");
        swapTimeLock = time * 1 minutes;
    }

    function setFree(address holder) public onlyOwner {
        _isFree[holder] = true;
    }

    function unSetFree(address holder) public onlyOwner {
        _isFree[holder] = false;
    }

    function checkFree(address holder) public view onlyOwner returns (bool) {
        return _isFree[holder];
    }

    function setFees(
        uint256 _liquidityFee,
        uint256 _buybackFee,
        uint256 _reflectionFee,
        uint256 _treasuryFee,
        uint256 _feeDenominator
    ) external authorized {
        liquidityFee = _liquidityFee;
        buybackFee = _buybackFee;
        reflectionFee = _reflectionFee;
        treasuryFee = _treasuryFee;
        totalFee = _liquidityFee.add(_buybackFee).add(_reflectionFee).add(
            _treasuryFee
        );
        feeDenominator = _feeDenominator;
        require(totalFee < feeDenominator / 4);
    }

    function setLiquidityReceiver(address _autoLiquidityReceiver)
        external
        authorized
    {
        autoLiquidityReceiver = _autoLiquidityReceiver;
    }

    function setTreasuryReciever(address _treasuryFeeReceiver)
        external
        authorized
    {
        treasuryFeeReceiver = _treasuryFeeReceiver;
    }

    function setSwapBackSettings(bool _enabled, uint256 _amount)
        external
        authorized
    {
        swapEnabled = _enabled;
        swapThreshold = _amount;
    }

    function setTargetLiquidity(uint256 _target, uint256 _denominator)
        external
        authorized
    {
        targetLiquidity = _target;
        targetLiquidityDenominator = _denominator;
    }

    function setDistributionCriteria(
        uint256 _minPeriod,
        uint256 _minDistribution
    ) external authorized {
        distributor.setDistributionCriteria(_minPeriod, _minDistribution);
    }

    function setDistributorSettings(uint256 gas) external authorized {
        require(gas < 750000);
        distributorGas = gas;
    }

    /** Public views */

    function getCirculatingSupply() public view returns (uint256) {
        return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(ZERO));
    }

    function getLiquidityBacking(uint256 accuracy)
        public
        view
        returns (uint256)
    {
        return accuracy.mul(balanceOf(pair).mul(2)).div(getCirculatingSupply());
    }

    function isOverLiquified(uint256 target, uint256 accuracy)
        public
        view
        returns (bool)
    {
        return getLiquidityBacking(accuracy) > target;
    }

    /** Modifiers */
    modifier onlyBuybacker() {
        require(buyBacker[msg.sender] == true, "");
        _;
    }

    modifier swapping() {
        inSwap = true;
        _;
        inSwap = false;
    }
}

File 2 of 6 : SafeMath.sol
/**
SPDX-License-Identifier: Unlicensed
*/
pragma solidity ^0.8.7;

/*
 * SAFEMATH LIBRARY
 */

library SafeMath {
    
    
    function tryAdd(uint256 a, uint256 b)
        internal
        pure
        returns (bool, uint256)
    {
        unchecked {
            uint256 c = a + b;
            if (c < a) return (false, 0);
            return (true, c);
        }
    }

    function trySub(uint256 a, uint256 b)
        internal
        pure
        returns (bool, uint256)
    {
        unchecked {
            if (b > a) return (false, 0);
            return (true, a - b);
        }
    }

    function tryMul(uint256 a, uint256 b)
        internal
        pure
        returns (bool, uint256)
    {
        unchecked {
            // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
            // benefit is lost if 'b' is also tested.
            // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
            if (a == 0) return (true, 0);
            uint256 c = a * b;
            if (c / a != b) return (false, 0);
            return (true, c);
        }
    }

    function tryDiv(uint256 a, uint256 b)
        internal
        pure
        returns (bool, uint256)
    {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a / b);
        }
    }

    function tryMod(uint256 a, uint256 b)
        internal
        pure
        returns (bool, uint256)
    {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a % b);
        }
    }

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        return a + b;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return a - b;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        return a * b;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return a % b;
    }

    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b <= a, errorMessage);
            return a - b;
        }
    }

    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a / b;
        }
    }

    function mod(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a % b;
        }
    }
}

File 3 of 6 : Auth.sol
/**
SPDX-License-Identifier: Unlicensed
*/
pragma solidity ^0.8.7;

abstract contract Auth {
    address internal owner;
    mapping(address => bool) internal authorizations;

    constructor(address _owner) {
        owner = _owner;
        authorizations[_owner] = true;
    }

    /**
     * Function modifier to require caller to be contract owner
     */
    modifier onlyOwner() {
        require(isOwner(msg.sender), "!OWNER");
        _;
    }

    /**
     * Function modifier to require caller to be authorized
     */
    modifier authorized() {
        require(isAuthorized(msg.sender), "!AUTHORIZED");
        _;
    }

    /**
     * Authorize address. Owner only
     */
    function authorize(address adr) public onlyOwner {
        authorizations[adr] = true;
    }

    /**
     * Remove address' authorization. Owner only
     */
    function unauthorize(address adr) public onlyOwner {
        authorizations[adr] = false;
    }

    /**
     * Check if address is owner
     */
    function isOwner(address account) public view returns (bool) {
        return account == owner;
    }

    /**
     * Return address' authorization status
     */
    function isAuthorized(address adr) public view returns (bool) {
        return authorizations[adr];
    }

    /**
     * Transfer ownership to new address. Caller must be owner. Leaves old owner authorized
     */
    function transferOwnership(address payable adr) public onlyOwner {
        owner = adr;
        authorizations[adr] = true;
        emit OwnershipTransferred(adr);
    }

    event OwnershipTransferred(address owner);
}

File 4 of 6 : DividendDistributor.sol
/**
SPDX-License-Identifier: Unlicensed
*/
pragma solidity ^0.8.7;

import "../libs/SafeMath.sol";
import "../interfaces/IBep20.sol";
import "../interfaces/Idex.sol";
import "./Auth.sol";

interface IDividendDistributor {
    function setDistributionCriteria(
        uint256 _minPeriod,
        uint256 _minDistribution
    ) external;

    function setShare(address shareholder, uint256 amount) external;

    function deposit() external payable;
}

contract DividendDistributor is IDividendDistributor {
    using SafeMath for uint256;

    address _token;

    struct Share {
        uint256 amount;
        uint256 totalExcluded; // excluded dividend
        uint256 totalRealised;
    }

    IBEP20 USDC = IBEP20(0xA7D7079b0FEaD91F3e65f86E8915Cb59c1a4C664); // USDC reflection
    address WAVAX = 0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7;
    IDEXRouter router;

    address[] shareholders;
    mapping(address => uint256) shareholderIndexes;
    mapping(address => uint256) shareholderClaims;

    mapping(address => Share) public shares;

    uint256 public totalShares;
    uint256 public totalDividends;
    uint256 public totalDistributed; // to be shown in UI
    uint256 public dividendsPerShare;
    uint256 public dividendsPerShareAccuracyFactor = 10**36;

    uint256 public minPeriod = 1 hours;
    uint256 public minDistribution = 10 * (10**18);

    uint256 currentIndex;

    bool initialized;

    modifier initialization() {
        require(!initialized);
        _;
        initialized = true;
    }

    modifier onlyToken() {
        require(msg.sender == _token);
        _;
    }

    constructor(address _router) {
        router = _router != address(0)
            ? IDEXRouter(_router)
            : IDEXRouter(0x60aE616a2155Ee3d9A68541Ba4544862310933d4);
        _token = msg.sender;
    }

    function setDistributionCriteria(
        uint256 _minPeriod,
        uint256 _minDistribution
    ) external override onlyToken {
        minPeriod = _minPeriod;
        minDistribution = _minDistribution;
    }

    function setShare(address shareholder, uint256 amount)
        external
        override
        onlyToken
    {
        if (shares[shareholder].amount > 0) {
            distributeDividend(shareholder);
        }

        if (amount > 0 && shares[shareholder].amount == 0) {
            addShareholder(shareholder);
        } else if (amount == 0 && shares[shareholder].amount > 0) {
            removeShareholder(shareholder);
        }

        totalShares = totalShares.sub(shares[shareholder].amount).add(amount);
        shares[shareholder].amount = amount;
        shares[shareholder].totalExcluded = getCumulativeDividends(
            shares[shareholder].amount
        );
    }

    function deposit() external payable override onlyToken {
        uint256 balanceBefore = USDC.balanceOf(address(this));

        address[] memory path = new address[](2);
        path[0] = WAVAX;
        path[1] = address(USDC);

        router.swapExactAVAXForTokensSupportingFeeOnTransferTokens{
            value: msg.value
        }(0, path, address(this), block.timestamp);

        uint256 amount = USDC.balanceOf(address(this)).sub(balanceBefore);

        totalDividends = totalDividends.add(amount);
        dividendsPerShare = dividendsPerShare.add(
            dividendsPerShareAccuracyFactor.mul(amount).div(totalShares)
        );
    }

    function shouldDistribute(address shareholder)
        internal
        view
        returns (bool)
    {
        return
            shareholderClaims[shareholder] + minPeriod < block.timestamp &&
            getUnpaidEarnings(shareholder) > minDistribution;
    }

    function distributeDividend(address shareholder) internal {
        // short circuit
        if (shares[shareholder].amount == 0) {
            return;
        }

        uint256 amount = getUnpaidEarnings(shareholder);

        if (amount > 0) {
            totalDistributed = totalDistributed.add(amount);
            USDC.transfer(shareholder, amount);
            shareholderClaims[shareholder] = block.timestamp;
            shares[shareholder].totalRealised = shares[shareholder]
                .totalRealised
                .add(amount);
            shares[shareholder].totalExcluded = getCumulativeDividends(
                shares[shareholder].amount
            );
        }
    }

    function claimDividend() external {
        distributeDividend(msg.sender);
    }

    function getCumulativeDividends(uint256 share)
        internal
        view
        returns (uint256)
    {
        return
            share.mul(dividendsPerShare).div(dividendsPerShareAccuracyFactor);
    }

    function addShareholder(address shareholder) internal {
        shareholderIndexes[shareholder] = shareholders.length;
        shareholders.push(shareholder);
    }

    function removeShareholder(address shareholder) internal {
        shareholders[shareholderIndexes[shareholder]] = shareholders[
            shareholders.length - 1
        ];
        shareholderIndexes[
            shareholders[shareholders.length - 1]
        ] = shareholderIndexes[shareholder];
        shareholders.pop();
    }

    /** Public getUnpaidEarnings, used to display on the UI */
    function getUnpaidEarnings(address shareholder)
        public
        view
        returns (uint256)
    {
        if (shares[shareholder].amount == 0) {
            return 0;
        }

        uint256 shareholderTotalDividends = getCumulativeDividends(
            shares[shareholder].amount
        );
        uint256 shareholderTotalExcluded = shares[shareholder].totalExcluded;

        if (shareholderTotalDividends <= shareholderTotalExcluded) {
            return 0;
        }

        return shareholderTotalDividends.sub(shareholderTotalExcluded);
    }
}

File 5 of 6 : IBep20.sol
/**
SPDX-License-Identifier: Unlicensed
*/
pragma solidity ^0.8.7;

interface IBEP20 {
    function totalSupply() external view returns (uint256);

    function decimals() external view returns (uint8);

    function symbol() external view returns (string memory);

    function name() external view returns (string memory);

    function getOwner() external view returns (address);

    function balanceOf(address account) external view returns (uint256);

    function transfer(address recipient, uint256 amount)
        external
        returns (bool);

    function allowance(address _owner, address spender)
        external
        view
        returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}

File 6 of 6 : Idex.sol
/**
SPDX-License-Identifier: Unlicensed
*/
pragma solidity ^0.8.7;

interface IDEXFactory {
    function createPair(address tokenA, address tokenB)
        external
        returns (address pair);
}

interface IDEXRouter {
    function factory() external pure returns (address);

    function WAVAX() external pure returns (address);

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint256 amountADesired,
        uint256 amountBDesired,
        uint256 amountAMin,
        uint256 amountBMin,
        address to,
        uint256 deadline
    )
        external
        returns (
            uint256 amountA,
            uint256 amountB,
            uint256 liquidity
        );

    function addLiquidityAVAX(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountAVAXMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountAVAX,
            uint256 liquidity
        );

    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function swapExactAVAXForTokensSupportingFeeOnTransferTokens(
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external payable;

    function swapExactTokensForAVAXSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;
}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "libraries": {}
}

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountAVAX","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountBOG","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"duration","type":"uint256"}],"name":"BuybackMultiplierActive","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountSwapped","type":"uint256"}],"name":"SwapBack","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"MASK","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Sweep","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"WAVAX","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isFree","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"authorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"autoBuybackEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"autoLiquidityReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"}],"name":"checkFree","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"clearBuybackMultiplier","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"distributorAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"getLiquidityBacking","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"selling","type":"bool"}],"name":"getTotalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"isAuthorized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"target","type":"uint256"},{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"isOverLiquified","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastSwapTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"launchedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchedAtTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_cap","type":"uint256"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"uint256","name":"_period","type":"uint256"}],"name":"setAutoBuybackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"numerator","type":"uint256"},{"internalType":"uint256","name":"denominator","type":"uint256"},{"internalType":"uint256","name":"length","type":"uint256"}],"name":"setBuybackMultiplierSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_minPeriod","type":"uint256"},{"internalType":"uint256","name":"_minDistribution","type":"uint256"}],"name":"setDistributionCriteria","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"gas","type":"uint256"}],"name":"setDistributorSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_buybackFee","type":"uint256"},{"internalType":"uint256","name":"_reflectionFee","type":"uint256"},{"internalType":"uint256","name":"_treasuryFee","type":"uint256"},{"internalType":"uint256","name":"_feeDenominator","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"}],"name":"setFree","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsDividendExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsTxLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_autoLiquidityReceiver","type":"address"}],"name":"setLiquidityReceiver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"time","type":"uint256"}],"name":"setSwapBackTimeLock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_target","type":"uint256"},{"internalType":"uint256","name":"_denominator","type":"uint256"}],"name":"setTargetLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_treasuryFeeReceiver","type":"address"}],"name":"setTreasuryReciever","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapTimeLock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"adr","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"treasuryFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bool","name":"triggerBuybackMultiplier","type":"bool"}],"name":"triggerZeusBuyback","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"}],"name":"unSetFree","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"unauthorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600280546001600160a01b031990811673a7d7079b0fead91f3e65f86e8915cb59c1a4c6641790915560038054821673b31f66aa3c1e785363f0875a1b74e27b85fd66c717905560048054821661dead9081179091556005805483169055600680549092161790556200007a6009600a62000654565b6200008d9066038d7ea4c6800062000713565b600755620000ad60646007546200052460201b6200162a1790919060201c565b600855620000cd60286007546200052460201b6200162a1790919060201c565b60095560c8601081905560006011556103e8601281905561025860135561070860148190556127106015556016805473618711478689a68aa547480c2d9ba72fbfc317746001600160a01b03199182168117909255601780549091169091179055600a60185560646019819055601e93909355601f929092556021919091556022805460ff199081169091556207a120602b55602c805490911660011790556007546200017b9190620005e8565b602d5542602e55610e10602f553480156200019557600080fd5b5060008054336001600160a01b031991821681178355825260016020818152604093849020805460ff1916909217909155601a80547360ae616a2155ee3d9a68541ba4544862310933d4931683179055825163c45a015560e01b815292519192839263c45a015592600480840193919291829003018186803b1580156200021b57600080fd5b505afa15801562000230573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002569190620005b6565b6003546040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c6539690604401602060405180830381600087803b158015620002a357600080fd5b505af1158015620002b8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002de9190620005b6565b601b80546001600160a01b0319166001600160a01b03928316179055600754306000908152600b60209081526040808320601a8054871685529083529281902093909355905482516339d94ae160e11b815292519316926373b295c2926004808201939291829003018186803b1580156200035857600080fd5b505afa1580156200036d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003939190620005b6565b600380546001600160a01b0319166001600160a01b03929092169190911790556040518190620003c390620005a8565b6001600160a01b039091168152602001604051809103906000f080158015620003f0573d6000803e3d6000fd5b50602980546001600160a01b039283166001600160a01b03199182168117909255602a80548216909217909155336000818152600c60209081526040808320805460ff199081166001908117909255600d84528285208054821683179055601b5488168552600e845282852080548216831790553085528285208054821683179055600454909716845281842080548816821790558484526023909252909120805490941617909255601680549091169091179055600754620004b59082906200053b565b50601b54600754620004d1916001600160a01b0316906200053b565b50600754336000818152600a6020908152604080832085905551938452919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3506200074b565b6000620005328284620005e8565b90505b92915050565b336000818152600b602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590620005979086815260200190565b60405180910390a350600192915050565b610ca48062002d5b83390190565b600060208284031215620005c957600080fd5b81516001600160a01b0381168114620005e157600080fd5b9392505050565b6000826200060657634e487b7160e01b600052601260045260246000fd5b500490565b600181815b808511156200064c57816000190482111562000630576200063062000735565b808516156200063e57918102915b93841c939080029062000610565b509250929050565b60006200053260ff841683600082620006705750600162000535565b816200067f5750600062000535565b8160018114620006985760028114620006a357620006c3565b600191505062000535565b60ff841115620006b757620006b762000735565b50506001821b62000535565b5060208310610133831016604e8410600b8410161715620006e8575081810a62000535565b620006f483836200060b565b80600019048211156200070b576200070b62000735565b029392505050565b600081600019048311821515161562000730576200073062000735565b500290565b634e487b7160e01b600052601160045260246000fd5b612600806200075b6000396000f3fe6080604052600436106103905760003560e01c8063745d67d0116101dc578063bf56b37111610102578063f0b37c04116100a0578063f708a64f1161006f578063f708a64f14610a7e578063f84ba65d14610a9e578063f887ea4014610abe578063fe9fbb8014610ade57600080fd5b8063f0b37c04146109fe578063f1f3bca314610a1e578063f2fde38b14610a3e578063f5cfec0a14610a5e57600080fd5b8063d51ed1c8116100dc578063d51ed1c814610954578063dd62ed3e14610974578063df20fd49146109ba578063e91f214e146109da57600080fd5b8063bf56b37114610908578063c6d2577d1461091e578063ca33e64c1461093457600080fd5b80639d1944f51161017a578063b210b06d11610149578063b210b06d1461089d578063b57e3682146108b2578063b5bb3466146108d2578063b6a5d7de146108e857600080fd5b80639d1944f51461081d578063a51af4c51461083d578063a8aa1b311461085d578063a9059cbb1461087d57600080fd5b8063893d20e8116101b6578063893d20e8146107bf57806389ef69f6146107dd57806395d89b411461041c578063985b9790146107fd57600080fd5b8063745d67d0146107735780637d1db4a51461079357806382247ec0146107a957600080fd5b80632af10fac116102c1578063571ac8b01161025f5780636ddd17131161022e5780636ddd1713146106ee5780637088fb7f1461070857806370a082311461071d57806373b295c21461075357600080fd5b8063571ac8b01461066e5780635c85974f1461068e5780635d0044ca146106ae578063658d4b7f146106ce57600080fd5b80632f54bf6e1161029b5780632f54bf6e146105e9578063313ce567146106185780633425c001146106345780633bb8a8d41461065457600080fd5b80632af10fac1461057c5780632b112e49146105b45780632d48e896146105c957600080fd5b80630dd871571161032e578063201e799111610308578063201e7991146104ec5780632375ce401461050c57806323b872dd1461052c578063296020e71461054c57600080fd5b80630dd87157146104a15780631161ae39146104b757806318160ddd146104d757600080fd5b806304a66b481161036a57806304a66b48146103fc57806306fdde031461041c57806307c89fe814610451578063095ea7b31461048157600080fd5b806301339c211461039c5780630445b667146103b3578063048c7baf146103dc57600080fd5b3661039757005b600080fd5b3480156103a857600080fd5b506103b1610afe565b005b3480156103bf57600080fd5b506103c9602d5481565b6040519081526020015b60405180910390f35b3480156103e857600080fd5b506103b16103f736600461229b565b610b79565b34801561040857600080fd5b506103b161041736600461238c565b610bc7565b34801561042857600080fd5b50604080518082018252600681526524414c50484160d01b602082015290516103d39190612440565b34801561045d57600080fd5b5061047161046c36600461216c565b610c3d565b60405190151581526020016103d3565b34801561048d57600080fd5b5061047161049c366004612238565b610c8b565b3480156104ad57600080fd5b506103c9602e5481565b3480156104c357600080fd5b506104716104d2366004612310565b610cf7565b3480156104e357600080fd5b506007546103c9565b3480156104f857600080fd5b506103b1610507366004612310565b610d0b565b34801561051857600080fd5b506103b1610527366004612332565b610d3b565b34801561053857600080fd5b506104716105473660046121c2565b610d90565b34801561055857600080fd5b5061047161056736600461216c565b600f6020526000908152604090205460ff1681565b34801561058857600080fd5b5060175461059c906001600160a01b031681565b6040516001600160a01b0390911681526020016103d3565b3480156105c057600080fd5b506103c9610e54565b3480156105d557600080fd5b506103b16105e4366004612310565b610ea6565b3480156105f557600080fd5b5061047161060436600461216c565b6000546001600160a01b0391821691161490565b34801561062457600080fd5b50604051600981526020016103d3565b34801561064057600080fd5b506103b161064f36600461216c565b610f35565b34801561066057600080fd5b506022546104719060ff1681565b34801561067a57600080fd5b5061047161068936600461216c565b610f80565b34801561069a57600080fd5b506103b16106a93660046122d4565b610f94565b3480156106ba57600080fd5b506103b16106c93660046122d4565b610fda565b3480156106da57600080fd5b506103b16106e9366004612203565b611020565b3480156106fa57600080fd5b50602c546104719060ff1681565b34801561071457600080fd5b506103b1611070565b34801561072957600080fd5b506103c961073836600461216c565b6001600160a01b03166000908152600a602052604090205490565b34801561075f57600080fd5b5060035461059c906001600160a01b031681565b34801561077f57600080fd5b506103b161078e3660046122d4565b6110cd565b34801561079f57600080fd5b506103c960085481565b3480156107b557600080fd5b506103c960095481565b3480156107cb57600080fd5b506000546001600160a01b031661059c565b3480156107e957600080fd5b506103b16107f836600461216c565b611103565b34801561080957600080fd5b506103b161081836600461216c565b611151565b34801561082957600080fd5b506103b16108383660046122d4565b611198565b34801561084957600080fd5b50602a5461059c906001600160a01b031681565b34801561086957600080fd5b50601b5461059c906001600160a01b031681565b34801561088957600080fd5b50610471610898366004612238565b6111d1565b3480156108a957600080fd5b506103b16111de565b3480156108be57600080fd5b506103b16108cd36600461216c565b61120a565b3480156108de57600080fd5b506103c9602f5481565b3480156108f457600080fd5b506103b161090336600461216c565b611251565b34801561091457600080fd5b506103c9601c5481565b34801561092a57600080fd5b506103c9601d5481565b34801561094057600080fd5b5060165461059c906001600160a01b031681565b34801561096057600080fd5b506103c961096f3660046122d4565b6112a2565b34801561098057600080fd5b506103c961098f366004612189565b6001600160a01b039182166000908152600b6020908152604080832093909416825291909152205490565b3480156109c657600080fd5b506103b16109d536600461227f565b6112e6565b3480156109e657600080fd5b506103c96fffffffffffffffffffffffffffffffff81565b348015610a0a57600080fd5b506103b1610a1936600461216c565b611322565b348015610a2a57600080fd5b506103c9610a39366004612264565b61136d565b348015610a4a57600080fd5b506103b1610a5936600461216c565b6113a2565b348015610a6a57600080fd5b506103b1610a793660046122ed565b611438565b348015610a8a57600080fd5b506103b1610a99366004612203565b6114b8565b348015610aaa57600080fd5b506103b1610ab9366004612203565b6115bc565b348015610aca57600080fd5b50601a5461059c906001600160a01b031681565b348015610aea57600080fd5b50610471610af936600461216c565b61160c565b610b073361160c565b610b2c5760405162461bcd60e51b8152600401610b23906124b5565b60405180910390fd5b601c5415610b6f5760405162461bcd60e51b815260206004820152601060248201526f105b1c9958591e481b185d5b98da195960821b6044820152606401610b23565b43601c5542601d55565b610b823361160c565b610b9e5760405162461bcd60e51b8152600401610b23906124b5565b6022805460ff191694151594909417909355602491909155600060255560265560275543602855565b610bd03361160c565b610bec5760405162461bcd60e51b8152600401610b23906124b5565b6010859055601184905560128390556013829055610c1682610c1085818989611636565b90611636565b6014556015819055610c2960048261252e565b60145410610c3657600080fd5b5050505050565b600080546001600160a01b03163314610c685760405162461bcd60e51b8152600401610b2390612495565b506001600160a01b0381166000908152600f602052604090205460ff165b919050565b336000818152600b602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610ce69086815260200190565b60405180910390a350600192915050565b600082610d03836112a2565b119392505050565b610d143361160c565b610d305760405162461bcd60e51b8152600401610b23906124b5565b601891909155601955565b610d443361160c565b610d605760405162461bcd60e51b8152600401610b23906124b5565b6002610d6c838561252e565b11158015610d7957508183115b610d8257600080fd5b601e92909255601f55602155565b6007546001600160a01b0384166000908152600b60209081526040808320338452909152812054909114610e3f576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600b82528381203382529091529190912054610e1a918490611642565b6001600160a01b0385166000908152600b602090815260408083203384529091529020555b610e4a84848461166e565b90505b9392505050565b6005546001600160a01b03166000908152600a6020526040812054610ea1906004546001600160a01b03166000908152600a6020526040902054610e9b90600754906119f7565b906119f7565b905090565b610eaf3361160c565b610ecb5760405162461bcd60e51b8152600401610b23906124b5565b6029546040516316a4744b60e11b815260048101849052602481018390526001600160a01b0390911690632d48e896906044015b600060405180830381600087803b158015610f1957600080fd5b505af1158015610f2d573d6000803e3d6000fd5b505050505050565b6000546001600160a01b03163314610f5f5760405162461bcd60e51b8152600401610b2390612495565b6001600160a01b03166000908152600f60205260409020805460ff19169055565b6000610f8e82600754610c8b565b92915050565b610f9d3361160c565b610fb95760405162461bcd60e51b8152600401610b23906124b5565b6103e8600754610fc9919061252e565b811015610fd557600080fd5b600855565b610fe33361160c565b610fff5760405162461bcd60e51b8152600401610b23906124b5565b6103e860075461100f919061252e565b81101561101b57600080fd5b600955565b6110293361160c565b6110455760405162461bcd60e51b8152600401610b23906124b5565b6001600160a01b03919091166000908152600c60205260409020805460ff1916911515919091179055565b6000546001600160a01b0316331461109a5760405162461bcd60e51b8152600401610b2390612495565b6040514790339082156108fc029083906000818181858888f193505050501580156110c9573d6000803e3d6000fd5b5050565b6110d63361160c565b6110f25760405162461bcd60e51b8152600401610b23906124b5565b6110fd81603c612550565b602f5550565b6000546001600160a01b0316331461112d5760405162461bcd60e51b8152600401610b2390612495565b6001600160a01b03166000908152600f60205260409020805460ff19166001179055565b61115a3361160c565b6111765760405162461bcd60e51b8152600401610b23906124b5565b601780546001600160a01b0319166001600160a01b0392909216919091179055565b6111a13361160c565b6111bd5760405162461bcd60e51b8152600401610b23906124b5565b620b71b081106111cc57600080fd5b602b55565b6000610e4d33848461166e565b6111e73361160c565b6112035760405162461bcd60e51b8152600401610b23906124b5565b6000602055565b6112133361160c565b61122f5760405162461bcd60e51b8152600401610b23906124b5565b601680546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461127b5760405162461bcd60e51b8152600401610b2390612495565b6001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b6000610f8e6112af610e54565b601b546001600160a01b03166000908152600a60205260409020546112e0906112d9906002611a03565b8590611a03565b9061162a565b6112ef3361160c565b61130b5760405162461bcd60e51b8152600401610b23906124b5565b602c805460ff191692151592909217909155602d55565b6000546001600160a01b0316331461134c5760405162461bcd60e51b8152600401610b2390612495565b6001600160a01b03166000908152600160205260409020805460ff19169055565b600043601c54600161137f9190612516565b1061138c57505060145490565b811561139a57505060145490565b505060145490565b6000546001600160a01b031633146113cc5760405162461bcd60e51b8152600401610b2390612495565b600080546001600160a01b0319166001600160a01b038316908117825580825260016020818152604093849020805460ff191690921790915591519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163910160405180910390a150565b6114413361160c565b61145d5760405162461bcd60e51b8152600401610b23906124b5565b6004546114749083906001600160a01b0316611a0f565b80156110c9574260209081556021546040519081527f39d2389ec5c1fa77b2c0d374bc61b6d7bd97ccba280fcdeb4e9c7644898d7c3a910160405180910390a15050565b6114c13361160c565b6114dd5760405162461bcd60e51b8152600401610b23906124b5565b6001600160a01b03821630148015906115045750601b546001600160a01b03838116911614155b61150d57600080fd5b6001600160a01b0382166000908152600e60205260409020805460ff1916821580159190911790915561157357602954604051630a5b654b60e11b81526001600160a01b03848116600483015260006024830152909116906314b6ca9690604401610eff565b6029546001600160a01b038381166000818152600a602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401610eff565b6115c53361160c565b6115e15760405162461bcd60e51b8152600401610b23906124b5565b6001600160a01b03919091166000908152600d60205260409020805460ff1916911515919091179055565b6001600160a01b031660009081526001602052604090205460ff1690565b6000610e4d828461252e565b6000610e4d8284612516565b600081848411156116665760405162461bcd60e51b8152600401610b239190612440565b505050900390565b60305460009060ff161561168e57611687848484611b18565b9050610e4d565b601b547360ae616a2155ee3d9a68541ba4544862310933d4906000906001600160a01b03868116911614806116d45750816001600160a01b0316856001600160a01b0316145b90506116e08685611bbb565b8015801561170757506001600160a01b0385166000908152600f602052604090205460ff16155b15611780576009546001600160a01b0386166000908152600a6020526040902054611733908690612516565b106117805760405162461bcd60e51b815260206004820152601d60248201527f4d61782077616c6c657420686173206265656e207472696767657265640000006044820152606401610b23565b80156117b05761178e611c24565b1561179b5761179b611c8d565b6117a3611fff565b156117b0576117b061205a565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0389166000908152600a9091529190912054611802918690611642565b6001600160a01b0387166000908152600a6020908152604080832093909355600c90529081205460ff16156118375784611842565b6118428787876120a1565b6001600160a01b0387166000908152600a60205260409020549091506118689082611636565b6001600160a01b038088166000908152600a6020908152604080832094909455918a168152600e909152205460ff1661190c576029546001600160a01b038881166000818152600a602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401600060405180830381600087803b1580156118f957600080fd5b505af192505050801561190a575060015b505b6001600160a01b0386166000908152600e602052604090205460ff1661199d576029546001600160a01b038781166000818152600a602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401600060405180830381600087803b15801561198a57600080fd5b505af192505050801561199b575060015b505b856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516119e291815260200190565b60405180910390a35060019695505050505050565b6000610e4d828461256f565b6000610e4d8284612550565b6030805460ff19166001179055604080516002808252606082018352600092602083019080368337505060035482519293506001600160a01b031691839150600090611a5d57611a5d61259c565b60200260200101906001600160a01b031690816001600160a01b0316815250503081600181518110611a9157611a9161259c565b6001600160a01b039283166020918202929092010152601a5460405163c57559dd60e01b815291169063c57559dd908590611ad79060009086908890429060040161240b565b6000604051808303818588803b158015611af057600080fd5b505af1158015611b04573d6000803e3d6000fd5b50506030805460ff19169055505050505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600a90915291822054611b69918490611642565b6001600160a01b038086166000908152600a60205260408082209390935590851681522054611b989083611636565b6001600160a01b0384166000908152600a60205260409020555060019392505050565b60085481111580611be457506001600160a01b0382166000908152600d602052604090205460ff165b6110c95760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610b23565b601b546000906001600160a01b03163314801590611c45575060305460ff16155b8015611c535750602c5460ff165b8015611c6d5750602f54602e54611c6a9190612516565b42115b8015610ea1575050602d54306000908152600a6020526040902054101590565b6030805460ff1916600117905542602e55601854601954600091611cb091610cf7565b611cbc57601054611cbf565b60005b90506000611ce360026112e06014546112e086602d54611a0390919063ffffffff16565b90506000611cfc82602d546119f790919063ffffffff16565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110611d3657611d3661259c565b6001600160a01b039283166020918202929092010152600354825191169082906001908110611d6757611d6761259c565b6001600160a01b039283166020918202929092010152601a54604051633b158ab160e11b81524792919091169063762b156290611db19086906000908790309042906004016124da565b600060405180830381600087803b158015611dcb57600080fd5b505af1158015611ddf573d6000803e3d6000fd5b505050506000611df882476119f790919063ffffffff16565b90506000611e13611e0a88600261162a565b601454906119f7565b90506000611e2860026112e08481878d611a03565b90506000611e45836112e060125487611a0390919063ffffffff16565b90506000611e62846112e060135488611a0390919063ffffffff16565b9050602960009054906101000a90046001600160a01b03166001600160a01b031663d0e30db0836040518263ffffffff1660e01b81526004016000604051808303818588803b158015611eb457600080fd5b505af193505050508015611ec6575060015b506017546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611f01573d6000803e3d6000fd5b508815611fe957601a54601654604051637c8d9fb960e11b8152306004820152602481018c905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f91b3f7290859060c4016060604051808303818588803b158015611f7357600080fd5b505af1158015611f87573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611fac919061235e565b505060408051858152602081018c90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506030805460ff191690555050505050505050565b601b546000906001600160a01b03163314801590612020575060305460ff16155b801561202e575060225460ff165b80156120495750436027546028546120469190612516565b11155b8015610ea157505060265447101590565b60265460045461207391906001600160a01b0316611a0f565b4360285560265460255461208691611636565b6025819055602454101561209f576022805460ff191690555b565b601554601b5460009182916120d391906112e0906120cc906001600160a01b0389811691161461136d565b8690611a03565b306000908152600a60205260409020549091506120f09082611636565b306000818152600a6020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906121419085815260200190565b60405180910390a361215383826119f7565b95945050505050565b80358015158114610c8657600080fd5b60006020828403121561217e57600080fd5b8135610e4d816125b2565b6000806040838503121561219c57600080fd5b82356121a7816125b2565b915060208301356121b7816125b2565b809150509250929050565b6000806000606084860312156121d757600080fd5b83356121e2816125b2565b925060208401356121f2816125b2565b929592945050506040919091013590565b6000806040838503121561221657600080fd5b8235612221816125b2565b915061222f6020840161215c565b90509250929050565b6000806040838503121561224b57600080fd5b8235612256816125b2565b946020939093013593505050565b60006020828403121561227657600080fd5b610e4d8261215c565b6000806040838503121561229257600080fd5b6122568361215c565b600080600080608085870312156122b157600080fd5b6122ba8561215c565b966020860135965060408601359560600135945092505050565b6000602082840312156122e657600080fd5b5035919050565b6000806040838503121561230057600080fd5b8235915061222f6020840161215c565b6000806040838503121561232357600080fd5b50508035926020909101359150565b60008060006060848603121561234757600080fd5b505081359360208301359350604090920135919050565b60008060006060848603121561237357600080fd5b8351925060208401519150604084015190509250925092565b600080600080600060a086880312156123a457600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b600081518084526020808501945080840160005b838110156124005781516001600160a01b0316875295820195908201906001016123db565b509495945050505050565b84815260806020820152600061242460808301866123c7565b6001600160a01b03949094166040830152506060015292915050565b600060208083528351808285015260005b8181101561246d57858101830151858201604001528201612451565b8181111561247f576000604083870101525b50601f01601f1916929092016040019392505050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b6020808252600b908201526a085055551213d49256915160aa1b604082015260600190565b85815284602082015260a0604082015260006124f960a08301866123c7565b6001600160a01b0394909416606083015250608001529392505050565b6000821982111561252957612529612586565b500190565b60008261254b57634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561256a5761256a612586565b500290565b60008282101561258157612581612586565b500390565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b03811681146125c757600080fd5b5056fea26469706673582212207b96e91783d2c8c1d0889967cf50ffdbe6b705455162c352855e77aded38942d64736f6c634300080700336080604052600180546001600160a01b031990811673a7d7079b0fead91f3e65f86e8915cb59c1a4c664179091556002805490911673b31f66aa3c1e785363f0875a1b74e27b85fd66c71790556ec097ce7bc90715b34b9f1000000000600c55610e10600d55678ac7230489e80000600e5534801561007d57600080fd5b50604051610ca4380380610ca483398101604081905261009c916100f6565b6001600160a01b0381166100c4577360ae616a2155ee3d9a68541ba4544862310933d46100c6565b805b600380546001600160a01b03929092166001600160a01b0319928316179055600080549091163317905550610126565b60006020828403121561010857600080fd5b81516001600160a01b038116811461011f57600080fd5b9392505050565b610b6f806101356000396000f3fe6080604052600436106100c25760003560e01c8063997664d71161007f578063e2d2e21911610059578063e2d2e219146101f3578063efca2eed14610209578063f0fc6bca1461021f578063ffd49c841461023457600080fd5b8063997664d71461017e578063ce7c2ac214610194578063d0e30db0146101eb57600080fd5b806311ce023d146100c757806314b6ca96146100f057806328fd3198146101125780632d48e896146101325780633a98ef39146101525780634fab0ae814610168575b600080fd5b3480156100d357600080fd5b506100dd600c5481565b6040519081526020015b60405180910390f35b3480156100fc57600080fd5b5061011061010b366004610996565b61024a565b005b34801561011e57600080fd5b506100dd61012d36600461097b565b6103c2565b34801561013e57600080fd5b5061011061014d3660046109fb565b61044b565b34801561015e57600080fd5b506100dd60085481565b34801561017457600080fd5b506100dd600e5481565b34801561018a57600080fd5b506100dd60095481565b3480156101a057600080fd5b506101d06101af36600461097b565b60076020526000908152604090208054600182015460029092015490919083565b604080519384526020840192909252908201526060016100e7565b61011061046d565b3480156101ff57600080fd5b506100dd600b5481565b34801561021557600080fd5b506100dd600a5481565b34801561022b57600080fd5b506101106106ba565b34801561024057600080fd5b506100dd600d5481565b6000546001600160a01b0316331461026157600080fd5b6001600160a01b0382166000908152600760205260409020541561028857610288826106c5565b6000811180156102ae57506001600160a01b038216600090815260076020526040902054155b1561031457600480546001600160a01b0384166000818152600560205260408120839055600183018455929092527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0180546001600160a01b0319169091179055610347565b8015801561033957506001600160a01b03821660009081526007602052604090205415155b1561034757610347826107f0565b6001600160a01b03821660009081526007602052604090205460085461037891839161037291610905565b90610918565b6008556001600160a01b038216600090815260076020526040902081905561039f81610924565b6001600160a01b0390921660009081526007602052604090206001019190915550565b6001600160a01b0381166000908152600760205260408120546103e757506000919050565b6001600160a01b03821660009081526007602052604081205461040990610924565b6001600160a01b038416600090815260076020526040902060010154909150808211610439575060009392505050565b6104438282610905565b949350505050565b6000546001600160a01b0316331461046257600080fd5b600d91909155600e55565b6000546001600160a01b0316331461048457600080fd5b6001546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a082319060240160206040518083038186803b1580156104c857600080fd5b505afa1580156104dc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061050091906109e2565b6040805160028082526060820183529293506000929091602083019080368337505060025482519293506001600160a01b03169183915060009061054657610546610b23565b6001600160a01b039283166020918202929092010152600180548351921691839190811061057657610576610b23565b6001600160a01b03928316602091820292909201015260035460405163c57559dd60e01b815291169063c57559dd9034906105bc90600090869030904290600401610a1d565b6000604051808303818588803b1580156105d557600080fd5b505af11580156105e9573d6000803e3d6000fd5b50506001546040516370a0823160e01b81523060048201526000945061067893508692506001600160a01b03909116906370a082319060240160206040518083038186803b15801561063a57600080fd5b505afa15801561064e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061067291906109e2565b90610905565b6009549091506106889082610918565b600955600854600c546106b2916106a9916106a39085610947565b90610953565b600b5490610918565b600b55505050565b6106c3336106c5565b565b6001600160a01b0381166000908152600760205260409020546106e55750565b60006106f0826103c2565b905080156107ec57600a546107059082610918565b600a5560015460405163a9059cbb60e01b81526001600160a01b038481166004830152602482018490529091169063a9059cbb90604401602060405180830381600087803b15801561075657600080fd5b505af115801561076a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061078e91906109c0565b506001600160a01b038216600090815260066020908152604080832042905560079091529020600201546107c29082610918565b6001600160a01b038316600090815260076020526040902060028101919091555461039f90610924565b5050565b6004805461080090600190610ae0565b8154811061081057610810610b23565b60009182526020808320909101546001600160a01b038481168452600590925260409092205460048054929093169291811061084e5761084e610b23565b600091825260208083209190910180546001600160a01b0319166001600160a01b0394851617905591831681526005918290526040812054600480549193929161089a90600190610ae0565b815481106108aa576108aa610b23565b60009182526020808320909101546001600160a01b0316835282019290925260400190205560048054806108e0576108e0610b0d565b600082815260209020810160001990810180546001600160a01b031916905501905550565b60006109118284610ae0565b9392505050565b60006109118284610a87565b6000610941600c546106a3600b548561094790919063ffffffff16565b92915050565b60006109118284610ac1565b60006109118284610a9f565b80356001600160a01b038116811461097657600080fd5b919050565b60006020828403121561098d57600080fd5b6109118261095f565b600080604083850312156109a957600080fd5b6109b28361095f565b946020939093013593505050565b6000602082840312156109d257600080fd5b8151801515811461091157600080fd5b6000602082840312156109f457600080fd5b5051919050565b60008060408385031215610a0e57600080fd5b50508035926020909101359150565b600060808201868352602060808185015281875180845260a086019150828901935060005b81811015610a675784516001600160a01b031683529383019391830191600101610a42565b50506001600160a01b039690961660408501525050506060015292915050565b60008219821115610a9a57610a9a610af7565b500190565b600082610abc57634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615610adb57610adb610af7565b500290565b600082821015610af257610af2610af7565b500390565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052603260045260246000fdfea2646970667358221220cfeee8dde0e1211007a0d7350c8065ee4b2ecd1dcdfee240e3f422042314470564736f6c63430008070033

Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.