Contract 0x325a98f258a5732c7b06555603f6af5bc1c17f0a 1

Txn Hash Method
Block
From
To
Value [Txn Fee]
0x642db0f50b1f76ce31826b707834e4ba34767be266388aabe8ff25024628acddApprove228750002022-11-26 18:01:551 hr 8 mins ago0x72236eba13733f674cc1c15f58e625a29ad25e62 IN  Alpha Nodes: $ALPHA Token0 AVAX0.001234158 26.5
0xda826ff9d78b328b500641c63b6ecaa9fb7a32cc722888ee51b5be338eac70aeApprove228669052022-11-26 13:24:265 hrs 46 mins ago0x0c5946cb53cb4bb162f6c4d3bea2726cb28fee84 IN  Alpha Nodes: $ALPHA Token0 AVAX0.0012772371 27.425
0x383c475b0476cb6086cf0fae91475f085faa9f99f05646d2db2d06544044a85bApprove228486522022-11-26 2:39:4716 hrs 30 mins ago0xcfbf8c8d739e2f7d4bca8c47bbc2c7e31b983f71 IN  Alpha Nodes: $ALPHA Token0 AVAX0.001273848987 27.35225
0x4a9cb71d105c404aa4104d27f7e9f69dc76a1c67765ff93c6079fca072c93945Approve228335592022-11-25 17:56:091 day 1 hr ago0xb285e1564c3a4405034590505188b2c9b98bc5bd IN  Alpha Nodes: $ALPHA Token0 AVAX0.000770832 26.5
0x0ad81517214a5bbbba535393f239de7c782e4d5a782885121e3f1e429450efd2Approve228335582022-11-25 17:56:071 day 1 hr ago0xb285e1564c3a4405034590505188b2c9b98bc5bd IN  Alpha Nodes: $ALPHA Token0 AVAX0.000770832 26.5
0x11233dc374ccea82629ca53590cc87f1263cd6f12048f78ef33b4b8c17f1b799Approve228335572022-11-25 17:56:051 day 1 hr ago0xb285e1564c3a4405034590505188b2c9b98bc5bd IN  Alpha Nodes: $ALPHA Token0 AVAX0.000770832 26.5
0xb11f7a5497877963fa5450b3712025c218a1f9732887421a42df9402ecf8223bApprove228313582022-11-25 16:41:151 day 2 hrs ago0x43216c0b7ed42325020ad460134ac8dc48d98ccc IN  Alpha Nodes: $ALPHA Token0 AVAX0.00077835552 26.41
0xd3ef8b68a01ee00c26af5c804d0bd5d6fee1bf642677421c452ce08c07ccf58bApprove228157072022-11-25 7:45:181 day 11 hrs ago0xbcc4141d5264d5c886a81d151f60889ace68d11e IN  Alpha Nodes: $ALPHA Token0 AVAX0.0007272 25
0x09b63b574c9e59e8d4dcd67de1d272ecaf25c781197fda9064572458ea31b0beApprove228037882022-11-25 0:52:511 day 18 hrs ago0x8c598860d12685e1777888d843dc7ef9a2838960 IN  Alpha Nodes: $ALPHA Token0 AVAX0.001234158 26.5
0x1903270c030be9e5731840d0cff9d5911d95743bdeb33af0887bb97324c4d975Approve227941342022-11-24 19:16:271 day 23 hrs ago0x7e0c1ea7bd282a8e657017f02ae388f2995713b7 IN  Alpha Nodes: $ALPHA Token0 AVAX0.001237888454 26.580100799
0x7e50c4d3e0ec1223eb6c9066d1d934b3531a409fc8774b9e70558b132e960dadApprove227893782022-11-24 16:34:542 days 2 hrs ago0xe6e365b1a0422d46377e9c3a9d28eb6fe7427dad IN  Alpha Nodes: $ALPHA Token0 AVAX0.001234158 26.5
0x5fe2041510a59f65c9b1f71a7c6bba5143fc2af6aae889f6ade21167b7275c81Transfer227893332022-11-24 16:33:212 days 2 hrs ago0xb7953a775feeacd86344ab9d3a9b6fe6d5ef26e2 IN  Alpha Nodes: $ALPHA Token0 AVAX0.0059287187531.25
0x083891110cf8475e30acf83ab3af19ef74f0c3fc1260e44a540e0011c46d1877Approve227844882022-11-24 13:48:482 days 5 hrs ago0x510b994672200a21316e4665b15d4b6f1a16770e IN  Alpha Nodes: $ALPHA Token0 AVAX0.001264282402 27.146835064
0xfc199499980432c1ff67bf34d13cecf9df1259e5eeb415df2031753147643a26Approve227712552022-11-24 6:12:482 days 12 hrs ago0x0e49214cafd048ac6a2aa67a3df8539e84838be5 IN  Alpha Nodes: $ALPHA Token0 AVAX0.001250379786 26.848316293
0x147f448d1d2f45942ec8429222a9e5b13e4fbd495891ccaac35e8e6515eaa091Approve227648812022-11-24 2:32:342 days 16 hrs ago0xffbb8754a1d52fad0d2b0796de3e08d85fd19167 IN  Alpha Nodes: $ALPHA Token0 AVAX0.001261235112 27.081403255
0xdc0772e800a768d0cef81128de650018a494cddddf8bf52064a95bcd248adbc1Approve227624232022-11-24 1:08:452 days 18 hrs ago0x682257a78c6b4eef0f020a69907d7cab63e1898d IN  Alpha Nodes: $ALPHA Token0 AVAX0.000796327632 27.3765
0x850f5edc39b9ce9ff103125dd03aa2bae6fa9734fb50e3f679b1c88436c9e7cfApprove227624142022-11-24 1:08:272 days 18 hrs ago0x682257a78c6b4eef0f020a69907d7cab63e1898d IN  Alpha Nodes: $ALPHA Token0 AVAX0.000770832 26.5
0x0910b2dd4fed305bbceb54ec714aba044e1289b64fbdb377de241bbfe2e2a4fbApprove227624032022-11-24 1:08:002 days 18 hrs ago0x682257a78c6b4eef0f020a69907d7cab63e1898d IN  Alpha Nodes: $ALPHA Token0 AVAX0.00079356958 27.2816825
0x4666a054baac73347991204ebce5c4e8cd9cef4dfee2c2e91a2ee10674842306Approve227623922022-11-24 1:07:412 days 18 hrs ago0x682257a78c6b4eef0f020a69907d7cab63e1898d IN  Alpha Nodes: $ALPHA Token0 AVAX0.000795622248 27.35225
0x2c1dc06f535757a376461f047e8cddc9421491aa2415b90d3d5a076bd3daf9b3Approve227539152022-11-23 20:17:572 days 22 hrs ago0x5300b31560cf2d909cfae77cbdba157ea6dc2901 IN  Alpha Nodes: $ALPHA Token0 AVAX0.001267374641 27.213232025
0xba1d2cf151d6bc8dba4362bd45a4d28f42de1d47d85c9a1eb8e26ba9954de07cApprove227526542022-11-23 19:35:042 days 23 hrs ago0x343a797809780318f904368cc947ab268debf0e5 IN  Alpha Nodes: $ALPHA Token0 AVAX0.001251939189 26.8818
0x8b4cb9dfff234bd8ef776a2c0cd4e22218f6ee644df328e8e35d6ac1e4c44096Approve227394082022-11-23 12:06:073 days 7 hrs ago0xc17ea52822fd9372768a1cebf8ac30844023bc29 IN  Alpha Nodes: $ALPHA Token0 AVAX0.001246759713 26.77058562
0x1a6c92dc18e202fc734c42fdddc18a9808ce180f276a03a388d4e82109690f8bApprove227306112022-11-23 7:02:113 days 12 hrs ago0x0c63584dd577f5c676eec73ddbb6118db80f7e1c IN  Alpha Nodes: $ALPHA Token0 AVAX0.001261190163 27.080438103
0x2f82e8e3d1fa3a1405e223f687eae3672d230e6c5193f2f8dc9095d47799906bApprove227292632022-11-23 6:14:303 days 12 hrs ago0xc461c432293f7be73e4dea2514bf360ad6308fcc IN  Alpha Nodes: $ALPHA Token0 AVAX0.001234158 26.5
0x67ec2f1548460fda312fcef5322a23995ec87a84a29b1c446b55b5e51dbcaa1aApprove227211832022-11-23 1:37:273 days 17 hrs ago0x6831f8af8a8a824e95b20889885b3696ea125fbd IN  Alpha Nodes: $ALPHA Token0 AVAX0.0012772371 27.425
[ 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:35105 days 14 hrs ago Alpha Nodes: $ALPHA Token0xe7599952e7146c3263d77c6cea76bfbb6e8c900112.347395716457926548 AVAX
0x6cc7258f42c4016daa3bd5c7ae5d0291fada0f3f97fcbc55ee7a8a7a1f979634184803742022-08-10 23:25:37107 days 19 hrs ago Alpha Nodes: $ALPHA Token Trader Joe: Router0.607552305973967639 AVAX
0x6cc7258f42c4016daa3bd5c7ae5d0291fada0f3f97fcbc55ee7a8a7a1f979634184803742022-08-10 23:25:37107 days 19 hrs ago Alpha Nodes: $ALPHA Token0xe7599952e7146c3263d77c6cea76bfbb6e8c90018.505732283635546957 AVAX
0x6cc7258f42c4016daa3bd5c7ae5d0291fada0f3f97fcbc55ee7a8a7a1f979634184803742022-08-10 23:25:37107 days 19 hrs ago Alpha Nodes: $ALPHA Token 0xe00bcacaa92b4e907f88c77297e2f24331322e9112.151046119479352796 AVAX
0x6cc7258f42c4016daa3bd5c7ae5d0291fada0f3f97fcbc55ee7a8a7a1f979634184803742022-08-10 23:25:37107 days 19 hrs ago Trader Joe: Router Alpha Nodes: $ALPHA Token21.871883015062835033 AVAX
0xd63baf0d0a7f00fea5c5943c21297c4c0820c184fffec1ac663620177a56250c184738382022-08-10 19:46:20107 days 23 hrs ago Alpha Nodes: $ALPHA Token Trader Joe: Router0.604020776915939259 AVAX
0xd63baf0d0a7f00fea5c5943c21297c4c0820c184fffec1ac663620177a56250c184738382022-08-10 19:46:20107 days 23 hrs ago Alpha Nodes: $ALPHA Token0xe7599952e7146c3263d77c6cea76bfbb6e8c90018.456290876823149629 AVAX
0xd63baf0d0a7f00fea5c5943c21297c4c0820c184fffec1ac663620177a56250c184738382022-08-10 19:46:20107 days 23 hrs ago Alpha Nodes: $ALPHA Token 0xe00bcacaa92b4e907f88c77297e2f24331322e9112.080415538318785185 AVAX
0xd63baf0d0a7f00fea5c5943c21297c4c0820c184fffec1ac663620177a56250c184738382022-08-10 19:46:20107 days 23 hrs ago Trader Joe: Router Alpha Nodes: $ALPHA Token21.744747968973813333 AVAX
0x7cddac5832bb00e971faccd188cf6aaade46f45ceaa692c5307aa3eae83e04be184689732022-08-10 17:03:12108 days 2 hrs ago Alpha Nodes: $ALPHA Token Trader Joe: Router0.534564357308839823 AVAX
0x7cddac5832bb00e971faccd188cf6aaade46f45ceaa692c5307aa3eae83e04be184689732022-08-10 17:03:12108 days 2 hrs ago Alpha Nodes: $ALPHA Token0xe7599952e7146c3263d77c6cea76bfbb6e8c90017.483901002323757534 AVAX
0x7cddac5832bb00e971faccd188cf6aaade46f45ceaa692c5307aa3eae83e04be184689732022-08-10 17:03:12108 days 2 hrs ago Alpha Nodes: $ALPHA Token 0xe00bcacaa92b4e907f88c77297e2f24331322e9110.691287146176796477 AVAX
0x7cddac5832bb00e971faccd188cf6aaade46f45ceaa692c5307aa3eae83e04be184689732022-08-10 17:03:12108 days 2 hrs ago Trader Joe: Router Alpha Nodes: $ALPHA Token19.24431686311823366 AVAX
0x92a609e29ce44fb5000bc625213fccd93106d07e70b7da160cb571a86ec331f6184659782022-08-10 15:22:55108 days 3 hrs ago Alpha Nodes: $ALPHA Token Trader Joe: Router0.538763702796059996 AVAX
0x92a609e29ce44fb5000bc625213fccd93106d07e70b7da160cb571a86ec331f6184659782022-08-10 15:22:55108 days 3 hrs ago Alpha Nodes: $ALPHA Token0xe7599952e7146c3263d77c6cea76bfbb6e8c90017.542691839144839956 AVAX
0x92a609e29ce44fb5000bc625213fccd93106d07e70b7da160cb571a86ec331f6184659782022-08-10 15:22:55108 days 3 hrs ago Alpha Nodes: $ALPHA Token 0xe00bcacaa92b4e907f88c77297e2f24331322e9110.775274055921199937 AVAX
0x92a609e29ce44fb5000bc625213fccd93106d07e70b7da160cb571a86ec331f6184659782022-08-10 15:22:55108 days 3 hrs ago Trader Joe: Router Alpha Nodes: $ALPHA Token19.395493300658159888 AVAX
0xe18e1cf474d0ac25a24467d556d6a065dbc6cce65e634a91c55983dca125528e184581282022-08-10 11:01:56108 days 8 hrs ago Alpha Nodes: $ALPHA Token Trader Joe: Router0.538488338432425036 AVAX
0xe18e1cf474d0ac25a24467d556d6a065dbc6cce65e634a91c55983dca125528e184581282022-08-10 11:01:56108 days 8 hrs ago Alpha Nodes: $ALPHA Token0xe7599952e7146c3263d77c6cea76bfbb6e8c90017.538836738053950504 AVAX
0xe18e1cf474d0ac25a24467d556d6a065dbc6cce65e634a91c55983dca125528e184581282022-08-10 11:01:56108 days 8 hrs ago Alpha Nodes: $ALPHA Token 0xe00bcacaa92b4e907f88c77297e2f24331322e9110.769766768648500721 AVAX
0xe18e1cf474d0ac25a24467d556d6a065dbc6cce65e634a91c55983dca125528e184581282022-08-10 11:01:56108 days 8 hrs ago Trader Joe: Router Alpha Nodes: $ALPHA Token19.385580183567301298 AVAX
0xf828617e9040a6d633d7999a4c5485b3c9b103673e54b25ca46411f457887583184552702022-08-10 9:25:50108 days 9 hrs ago Alpha Nodes: $ALPHA Token Trader Joe: Router0.53361764878198909 AVAX
0xf828617e9040a6d633d7999a4c5485b3c9b103673e54b25ca46411f457887583184552702022-08-10 9:25:50108 days 9 hrs ago Alpha Nodes: $ALPHA Token0xe7599952e7146c3263d77c6cea76bfbb6e8c90017.470647082947847272 AVAX
0xf828617e9040a6d633d7999a4c5485b3c9b103673e54b25ca46411f457887583184552702022-08-10 9:25:50108 days 9 hrs ago Alpha Nodes: $ALPHA Token 0xe00bcacaa92b4e907f88c77297e2f24331322e9110.672352975639781817 AVAX
0xf828617e9040a6d633d7999a4c5485b3c9b103673e54b25ca46411f457887583184552702022-08-10 9:25:50108 days 9 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.