Contract 0x099f551eA3cb85707cAc6ac507cBc36C96eC64Ff 4

 

Contract Overview

SafeEarn: SAFEARN Token
Balance:
0.002776604327247079 BNB

BNB Value:
$1.62 (@ $582.71/BNB)

Token:
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x76779936ac5268aef5cb2453549247a7af118676eb6bb32572b873291b912c79Approve132523512021-12-06 19:58:184 hrs 23 mins ago0x7d63e052e3d5a3590f3089a7bf5ca1e65c797934 IN  SafeEarn: SAFEARN Token0 BNB0.000124295
0x31b0afb47db46ed41a176d79054dc2b65e894cf76699b2c4fa4a0a4ed3b36762Approve132523482021-12-06 19:58:094 hrs 23 mins ago0x7d63e052e3d5a3590f3089a7bf5ca1e65c797934 IN  SafeEarn: SAFEARN Token0 BNB0.000124295
0x83431ec26d7b18a5f7849ad0d2b96c0ff8cf448c0772d4583d6ccc3f6c3e803aApprove132523272021-12-06 19:57:064 hrs 24 mins ago0x7d63e052e3d5a3590f3089a7bf5ca1e65c797934 IN  SafeEarn: SAFEARN Token0 BNB0.00007265
0xc6a4a94eb3e197508f81295f89c87ef564f9690c82a2ba4e1878fb95d723dba8Approve132523242021-12-06 19:56:574 hrs 24 mins ago0x7d63e052e3d5a3590f3089a7bf5ca1e65c797934 IN  SafeEarn: SAFEARN Token0 BNB0.00007265
0x801330e86d2bb2e033c70c5b348b7701daee7e9534611e1de91864e44368b471Approve132523222021-12-06 19:56:514 hrs 24 mins ago0x7d63e052e3d5a3590f3089a7bf5ca1e65c797934 IN  SafeEarn: SAFEARN Token0 BNB0.00007265
0x69d8fb080582d12dd6270484eaa6d73779d7e32f67db3c974d0ec0e164f4bc34Approve132523192021-12-06 19:56:424 hrs 24 mins ago0x7d63e052e3d5a3590f3089a7bf5ca1e65c797934 IN  SafeEarn: SAFEARN Token0 BNB0.00007265
0x3b76d43242ae26f26293e7b2a3adbb9f8c5c34b9c13d9ecc83995684d7b5214fApprove132523162021-12-06 19:56:334 hrs 24 mins ago0x7d63e052e3d5a3590f3089a7bf5ca1e65c797934 IN  SafeEarn: SAFEARN Token0 BNB0.00007265
0x62e4d0eb802b4cb95b23adfaf28730e255e9581aa08763bc1ac29285acf05ad7Approve132516832021-12-06 19:24:544 hrs 56 mins ago0x9c29362f8f7cc427e34e3da49261e3b24c106bf8 IN  SafeEarn: SAFEARN Token0 BNB0.000222215
0x9c125bba99e5ce8c4855d00e692d405b770f4d4688be3d849da00178e8c53061Approve132512682021-12-06 19:04:095 hrs 17 mins ago0x2be4857816654aaf904cc9e64970838a183b514b IN  SafeEarn: SAFEARN Token0 BNB0.000266658
0x45749362e8f7941892303f3cae2e29246bba6ae2f5860d39b1577ad65b5851d2Approve132511222021-12-06 18:56:515 hrs 24 mins ago0x90884de2bad467011dd7f396f183d77f616cf28d IN  SafeEarn: SAFEARN Token0 BNB0.000311101
0x802939b1baf709dab55f19333a5edecd4da9494a21c1697f265099153d9a71abApprove132496952021-12-06 17:45:206 hrs 36 mins ago0xcc8ddace991ff9198e27e6f555e52a963ed6d016 IN  SafeEarn: SAFEARN Token0 BNB0.000222215
0x0559b3520c5a2472659bc4bc466a321b3f01b8c66cfd6afceb0ccfa4d45e8bd5Approve132491022021-12-06 17:13:547 hrs 7 mins ago0x43cad7ee42e33143f94ca1df987196a3f2b85979 IN  SafeEarn: SAFEARN Token0 BNB0.000222215
0xab3668e8ab5d2ed46e257a20853cf0a9c16413099bb13d86bcbcd39bf93fd15fApprove132477322021-12-06 16:00:318 hrs 20 mins ago0xbdee2b0fada5a00e02eb8e36de7b2745348da567 IN  SafeEarn: SAFEARN Token0 BNB0.000222215
0x9f5ab55cd35f208a46f366d1d11793b33a023c953ffadc88078d775f30a493baApprove132450312021-12-06 13:32:5410 hrs 48 mins ago0x37f22f9baee79d7a695c07cd89c0cdd2ab99f17a IN  SafeEarn: SAFEARN Token0 BNB0.000222215
0x01eac94e28be2018d320d6776bd63aeede63ca18b687579ae29001cc52ec7b31Transfer132445702021-12-06 13:08:1811 hrs 13 mins ago0x5c1fcba5ce8906f54c22880b5fd924b78d6cee99 IN  SafeEarn: SAFEARN Token0 BNB0.001163346
0x19cb4279b769f7d3359498501be27ddbad90cbf1df85a52443b23c6475bab912Approve132433782021-12-06 12:07:1812 hrs 14 mins ago0x7ec46845d69dbb33791cc91e3b0606f4a361c2fa IN  SafeEarn: SAFEARN Token0 BNB0.000266658
0xf60276ddb42384bbd6afb7b1394435b3fd4d0819d72ca6b67e61baae7de48605Enter Staking132419072021-12-06 10:47:5513 hrs 33 mins ago0xf1a455e6b5ba2303e37b81b258af9d0110bcd700 IN  SafeEarn: SAFEARN Token0 BNB0.00010757
0xec7416ead8bf2bea8dcbfcfa8901494da50ddea6c1261b22081d76eb8386e67dEnter Staking132419032021-12-06 10:47:4313 hrs 33 mins ago0xf1a455e6b5ba2303e37b81b258af9d0110bcd700 IN  SafeEarn: SAFEARN Token0 BNB0.00010757
0xc59fe3d31c8674f0f3bccc685d02a97f707be2643bab9a38b0035d733d076ec8Approve132411702021-12-06 10:10:4014 hrs 10 mins ago0xf1a455e6b5ba2303e37b81b258af9d0110bcd700 IN  SafeEarn: SAFEARN Token0 BNB0.000145955
0x3f95798b4b22107d5e362bcba94d356d1029efd5b5af5fbc6a6d00254a15f093Approve132410962021-12-06 10:06:5814 hrs 14 mins ago0xf1a455e6b5ba2303e37b81b258af9d0110bcd700 IN  SafeEarn: SAFEARN Token0 BNB0.000146315
0x62efdfea02adc7235f1b50f7a7a5e434bc5499d41982a9d62ae54d89a8e6003dApprove Max132410772021-12-06 10:06:0114 hrs 15 mins ago0xf1a455e6b5ba2303e37b81b258af9d0110bcd700 IN  SafeEarn: SAFEARN Token0 BNB0.00014865
0x118a99c677225763a3bea2a7ebcda6317556c19df02e127a8863614720bd9270Enter Staking132409972021-12-06 10:02:0014 hrs 19 mins ago0xf1a455e6b5ba2303e37b81b258af9d0110bcd700 IN  SafeEarn: SAFEARN Token0 BNB0.00010757
0x68d797467394246d204a3cbf879aa6dc208e07ac8fab71729027bb195f02e087Transfer132392882021-12-06 8:33:4015 hrs 47 mins ago0xe9a7536c1c968c19addc68fd50ab0509b55bed3d IN  SafeEarn: SAFEARN Token0 BNB0.00046724
0x4858a3a01933b4924f2b823ac3a3ffc1ccc597433e624168f78a6403171ce4ebApprove132349942021-12-06 4:55:2019 hrs 26 mins ago0x3d154c6e6bf82584cc9b8849c732aeceea5a8154 IN  SafeEarn: SAFEARN Token0 BNB0.000266658
0x88b9d6dd2b84b4baae5f46feffb78dc9abe9512e83fa666086e3d4e099737f9cApprove132340882021-12-06 4:09:1420 hrs 12 mins ago0xe1ce423b9ad351d723e24a51967e52474012feeb IN  SafeEarn: SAFEARN Token0 BNB0.000222215
[ Download CSV Export 

OVERVIEW

Safe Earn acts as an earning platform by rewarding SafeMoon tokens to holders. Safe Earn itself applies functions from a mix of popular tokens in the DeFi space, including buy backs and burns baked into the contract.

Latest 25 internal transaction
Parent Txn Hash Block From To Value
0xbd6946a0e336bd426045b4d1c2a8e0570e28de5a3eb9f8f41c672df39fc6c216132412032021-12-06 10:12:2114 hrs 9 mins ago SafeEarn: SAFEARN Token 0x8b574baa41f828a9d676cba9bbcd10e1d40be9c63.221700346043802092 BNB
0xbd6946a0e336bd426045b4d1c2a8e0570e28de5a3eb9f8f41c672df39fc6c216132412032021-12-06 10:12:2114 hrs 9 mins ago PancakeSwap: Router v2 SafeEarn: SAFEARN Token3.221700346043802092 BNB
0xa0b783236fcecc131764fc0e3c6d11d7060e77b044ee833d7c81df55ee453036131120892021-12-01 20:25:225 days 3 hrs ago SafeEarn: SAFEARN Token 0x8b574baa41f828a9d676cba9bbcd10e1d40be9c63.241352021545191313 BNB
0xa0b783236fcecc131764fc0e3c6d11d7060e77b044ee833d7c81df55ee453036131120892021-12-01 20:25:225 days 3 hrs ago PancakeSwap: Router v2 SafeEarn: SAFEARN Token3.241352021545191313 BNB
0xcb22f6fcf3cfda617dfa3571374f6aa844a9e31e587b07d8948dda98d042febd130303082021-11-28 18:30:558 days 5 hrs ago SafeEarn: SAFEARN Token 0x8b574baa41f828a9d676cba9bbcd10e1d40be9c63.350190020508637348 BNB
0xcb22f6fcf3cfda617dfa3571374f6aa844a9e31e587b07d8948dda98d042febd130303082021-11-28 18:30:558 days 5 hrs ago PancakeSwap: Router v2 SafeEarn: SAFEARN Token3.350190020508637348 BNB
0xe0253a86bc30a8b04f02067b21ae454ae833b258597f84353f037262365016da129754832021-11-26 17:25:2710 days 6 hrs ago SafeEarn: SAFEARN Token 0x8b574baa41f828a9d676cba9bbcd10e1d40be9c63.396845439344497317 BNB
0xe0253a86bc30a8b04f02067b21ae454ae833b258597f84353f037262365016da129754832021-11-26 17:25:2710 days 6 hrs ago PancakeSwap: Router v2 SafeEarn: SAFEARN Token3.396845439344497317 BNB
0xd5e78f5e7ad3e5d3a0d66bc48329e643491cc21f8fca7ab3ee7ea7e50c731e4f129544472021-11-25 21:26:3011 days 2 hrs ago SafeEarn: SAFEARN Token 0x8b574baa41f828a9d676cba9bbcd10e1d40be9c63.445549027069366351 BNB
0xd5e78f5e7ad3e5d3a0d66bc48329e643491cc21f8fca7ab3ee7ea7e50c731e4f129544472021-11-25 21:26:3011 days 2 hrs ago PancakeSwap: Router v2 SafeEarn: SAFEARN Token3.445549027069366351 BNB
0xc0a986c80a2ff29c793ca93b16c3bf2bc09c0c43c1f9aa0df317daf6758e265f129392242021-11-25 7:43:0511 days 16 hrs ago SafeEarn: SAFEARN Token 0x8b574baa41f828a9d676cba9bbcd10e1d40be9c63.317549142126850032 BNB
0xc0a986c80a2ff29c793ca93b16c3bf2bc09c0c43c1f9aa0df317daf6758e265f129392242021-11-25 7:43:0511 days 16 hrs ago PancakeSwap: Router v2 SafeEarn: SAFEARN Token3.317549142126850032 BNB
0x3de37dc7c12d2eb3840c18cb7bcdd6c0150c7f5a0e643fa3944a2ec0bc9f5cff129300302021-11-24 23:25:5212 days 55 mins ago SafeEarn: SAFEARN Token 0x8b574baa41f828a9d676cba9bbcd10e1d40be9c63.244068516339438082 BNB
0x3de37dc7c12d2eb3840c18cb7bcdd6c0150c7f5a0e643fa3944a2ec0bc9f5cff129300302021-11-24 23:25:5212 days 55 mins ago PancakeSwap: Router v2 SafeEarn: SAFEARN Token3.244068516339438082 BNB
0x2d75a50188527494952daf5b7bfa8e767637a72d654d6571401ac054b1218e6f129273812021-11-24 21:09:2412 days 3 hrs ago SafeEarn: SAFEARN Token 0x8b574baa41f828a9d676cba9bbcd10e1d40be9c63.121783200633739723 BNB
0x2d75a50188527494952daf5b7bfa8e767637a72d654d6571401ac054b1218e6f129273812021-11-24 21:09:2412 days 3 hrs ago PancakeSwap: Router v2 SafeEarn: SAFEARN Token3.121783200633739723 BNB
0xbe02cb7ab9a9875e16b312a5c79af61c55968fe04da018ae9c5dac77292f92a9129201362021-11-24 14:50:5612 days 9 hrs ago SafeEarn: SAFEARN Token 0x8b574baa41f828a9d676cba9bbcd10e1d40be9c62.917392960689699638 BNB
0xbe02cb7ab9a9875e16b312a5c79af61c55968fe04da018ae9c5dac77292f92a9129201362021-11-24 14:50:5612 days 9 hrs ago PancakeSwap: Router v2 SafeEarn: SAFEARN Token2.917392960689699638 BNB
0x30d413c33ee661b25f6ae13871b1cff4bcc4b05f365e11e7f4405cb708b74c87129116952021-11-24 7:29:1712 days 16 hrs ago SafeEarn: SAFEARN Token 0x8b574baa41f828a9d676cba9bbcd10e1d40be9c62.97880309430801412 BNB
0x30d413c33ee661b25f6ae13871b1cff4bcc4b05f365e11e7f4405cb708b74c87129116952021-11-24 7:29:1712 days 16 hrs ago PancakeSwap: Router v2 SafeEarn: SAFEARN Token2.97880309430801412 BNB
0x1391943f25329134a1d8160b55a12c289e412c0f9183cc0e811af873cdbc1fd3129091632021-11-24 5:18:5112 days 19 hrs ago SafeEarn: SAFEARN Token 0x8b574baa41f828a9d676cba9bbcd10e1d40be9c63.059428926251828995 BNB
0x1391943f25329134a1d8160b55a12c289e412c0f9183cc0e811af873cdbc1fd3129091632021-11-24 5:18:5112 days 19 hrs ago PancakeSwap: Router v2 SafeEarn: SAFEARN Token3.059428926251828995 BNB
0x1c932c26a98754663c43dcdf940a52b66562e4969863100efba443aead016078129038462021-11-24 0:41:5212 days 23 hrs ago SafeEarn: SAFEARN Token 0x8b574baa41f828a9d676cba9bbcd10e1d40be9c62.876514675235002291 BNB
0x1c932c26a98754663c43dcdf940a52b66562e4969863100efba443aead016078129038462021-11-24 0:41:5212 days 23 hrs ago PancakeSwap: Router v2 SafeEarn: SAFEARN Token2.876514675235002291 BNB
0x7e7ec1be5ade4997c438f9aa71ec3a6221e5514c9570065c484384ffe74024c9129019902021-11-23 23:06:1813 days 1 hr ago SafeEarn: SAFEARN Token 0x8b574baa41f828a9d676cba9bbcd10e1d40be9c62.781258298302096916 BNB
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
SafeEarn

Compiler Version
v0.8.0+commit.c7dfd78e

Optimization Enabled:
Yes with 999999 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity Standard Json-Input format)

File 1 of 5 : SafeEarn.sol
//SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import { SafeMath } from '@openzeppelin/contracts/utils/math/SafeMath.sol';
import { IBEP20 } from "./interfaces/IBEP20.sol";
import { Auth } from "./Auth.sol";
import { IDEXRouter } from "./interfaces/IDEXRouter.sol";

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

interface IDividendDistributor {
    function setDistributionCriteria(uint256 _minPeriod, uint256 _minDistribution) external;
    function setShare(address shareholder, uint256 amount) external;
    function deposit() external payable;
    function process(uint256 gas) external;
}

contract DividendDistributor is IDividendDistributor {
    using SafeMath for uint256;

    address _token;

    struct Share {
        uint256 amount;
        uint256 totalExcluded;
        uint256 totalRealised;
    }

    IBEP20 SM = IBEP20(0x8076C74C5e3F5852037F31Ff0093Eeb8c8ADd8D3);
    address WBNB = 0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c;
    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;
    uint256 public dividendsPerShare;
    uint256 public dividendsPerShareAccuracyFactor = 10 ** 36;

    uint256 public minPeriod = 1 hours;
    uint256 public minDistribution = 1 * (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(0x10ED43C718714eb63d5aA57B78B54704E256024E);
        _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 = SM.balanceOf(address(this));

        address[] memory path = new address[](2);
        path[0] = WBNB;
        path[1] = address(SM);

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

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

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

    function process(uint256 gas) external override onlyToken {
        uint256 shareholderCount = shareholders.length;

        if(shareholderCount == 0) { return; }

        uint256 gasUsed = 0;
        uint256 gasLeft = gasleft();

        uint256 iterations = 0;

        while(gasUsed < gas && iterations < shareholderCount) {
            if(currentIndex >= shareholderCount){
                currentIndex = 0;
            }

            if(shouldDistribute(shareholders[currentIndex])){
                distributeDividend(shareholders[currentIndex]);
            }

            gasUsed = gasUsed.add(gasLeft.sub(gasleft()));
            gasLeft = gasleft();
            currentIndex++;
            iterations++;
        }
    }

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

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

        uint256 amount = getUnpaidEarnings(shareholder);
        if(amount > 0){
            totalDistributed = totalDistributed.add(amount);
            SM.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 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);
    }

    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();
    }
}

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

    uint256 public constant MASK = type(uint128).max;
    address SM = 0x8076C74C5e3F5852037F31Ff0093Eeb8c8ADd8D3;
    address public WBNB = 0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c;
    address DEAD = 0x000000000000000000000000000000000000dEaD;
    address ZERO = 0x0000000000000000000000000000000000000000;
    address DEAD_NON_CHECKSUM = 0x000000000000000000000000000000000000dEaD;

    string constant _name = "SafeEarn";
    string constant _symbol = "SAFEARN";
    uint8 constant _decimals = 9;

    uint256 _totalSupply = 1_000_000_000_000_000 * (10 ** _decimals);
    uint256 public _maxTxAmount = _totalSupply.div(400); // 0.25%

    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) _allowances;

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

    uint256 liquidityFee = 100;
    uint256 buybackFee = 400;
    uint256 reflectionFee = 700;
    uint256 marketingFee = 200;
    uint256 totalFee = 1400;
    uint256 feeDenominator = 10000;

    address public autoLiquidityReceiver;
    address public marketingFeeReceiver;

    uint256 targetLiquidity = 25;
    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 / 2000; // 0.005%
    bool inSwap;
    modifier swapping() { inSwap = true; _; inSwap = false; }

    constructor (
        address _dexRouter
    ) Auth(msg.sender) {
        router = IDEXRouter(_dexRouter);
        pair = IDEXFactory(router.factory()).createPair(WBNB, address(this));
        _allowances[address(this)][address(router)] = _totalSupply;
        WBNB = router.WETH();
        distributor = new DividendDistributor(_dexRouter);
        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;
        marketingFeeReceiver = msg.sender;

        approve(_dexRouter, _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; }
    modifier onlyBuybacker() { require(buyBacker[msg.sender] == true, ""); _; }
    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); }

        checkTxLimit(sender, amount);
        //
        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);
//        emit Transfer(sender, recipient, 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 returns (uint256) {
        if(launchedAt + 1 >= block.number){ return feeDenominator.sub(1); }
        if(selling){ return getMultipliedFee(); }
        return totalFee;
    }

    function getMultipliedFee() public returns (uint256) {
        if (launchedAtTimestamp + 1 days > block.timestamp) {
            return totalFee.mul(18000).div(feeDenominator);
        } else if (buybackMultiplierTriggeredAt.add(buybackMultiplierLength) > block.timestamp) {
            uint256 remainingTime = buybackMultiplierTriggeredAt.add(buybackMultiplierLength).sub(block.timestamp);
            uint256 feeIncrease = totalFee.mul(buybackMultiplierNumerator).div(buybackMultiplierDenominator).sub(totalFee);
            return totalFee.add(feeIncrease.mul(remainingTime).div(buybackMultiplierLength));
        }
        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
        && _balances[address(this)] >= swapThreshold;
    }

    function swapBack() internal swapping {
        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] = WBNB;
        uint256 balanceBefore = address(this).balance;

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

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

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

        uint256 amountBNBLiquidity = amountBNB.mul(dynamicLiquidityFee).div(totalBNBFee).div(2);
        uint256 amountBNBReflection = amountBNB.mul(reflectionFee).div(totalBNBFee);
        uint256 amountBNBMarketing = amountBNB.mul(marketingFee).div(totalBNBFee);

        try distributor.deposit{value: amountBNBReflection}() {} catch {}
        payable(marketingFeeReceiver).call{value: amountBNBMarketing, gas: 30000}("");

        if(amountToLiquify > 0){
            router.addLiquidityETH{value: amountBNBLiquidity}(
                address(this),
                amountToLiquify,
                0,
                0,
                autoLiquidityReceiver,
                block.timestamp
            );
            emit AutoLiquify(amountBNBLiquidity, 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] = WBNB;
        path[1] = address(this);

        router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(
            0,
            path,
            to,
            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 launched() internal view returns (bool) {
        return launchedAt != 0;
    }

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

    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 setFees(uint256 _liquidityFee, uint256 _buybackFee, uint256 _reflectionFee, uint256 _marketingFee, uint256 _feeDenominator) external authorized {
        liquidityFee = _liquidityFee;
        buybackFee = _buybackFee;
        reflectionFee = _reflectionFee;
        marketingFee = _marketingFee;
        totalFee = _liquidityFee.add(_buybackFee).add(_reflectionFee).add(_marketingFee);
        feeDenominator = _feeDenominator;
        require(totalFee < feeDenominator/4);
    }

    function setFeeReceivers(address _autoLiquidityReceiver, address _marketingFeeReceiver) external authorized {
        autoLiquidityReceiver = _autoLiquidityReceiver;
        marketingFeeReceiver = _marketingFeeReceiver;
    }

    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;
    }

    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;
    }

    event AutoLiquify(uint256 amountBNB, uint256 amountBOG);
    event BuybackMultiplierActive(uint256 duration);
}

File 2 of 5 : SafeMath.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

// CAUTION
// This version of SafeMath should only be used with Solidity 0.8 or later,
// because it relies on the compiler's built in overflow checks.

/**
 * @dev Wrappers over Solidity's arithmetic operations.
 *
 * NOTE: `SafeMath` is no longer needed starting with Solidity 0.8. The compiler
 * now has built in overflow checking.
 */
library SafeMath {
    /**
     * @dev Returns the addition of two unsigned integers, with an overflow flag.
     *
     * _Available since v3.4._
     */
    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);
        }
    }

    /**
     * @dev Returns the substraction of two unsigned integers, with an overflow flag.
     *
     * _Available since v3.4._
     */
    function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b > a) return (false, 0);
            return (true, a - b);
        }
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, with an overflow flag.
     *
     * _Available since v3.4._
     */
    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);
        }
    }

    /**
     * @dev Returns the division of two unsigned integers, with a division by zero flag.
     *
     * _Available since v3.4._
     */
    function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a / b);
        }
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag.
     *
     * _Available since v3.4._
     */
    function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a % b);
        }
    }

    /**
     * @dev Returns the addition of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `+` operator.
     *
     * Requirements:
     *
     * - Addition cannot overflow.
     */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        return a + b;
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return a - b;
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `*` operator.
     *
     * Requirements:
     *
     * - Multiplication cannot overflow.
     */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        return a * b;
    }

    /**
     * @dev Returns the integer division of two unsigned integers, reverting on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator.
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * reverting when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return a % b;
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting with custom message on
     * overflow (when the result is negative).
     *
     * CAUTION: This function is deprecated because it requires allocating memory for the error
     * message unnecessarily. For custom revert reasons use {trySub}.
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        unchecked {
            require(b <= a, errorMessage);
            return a - b;
        }
    }

    /**
     * @dev Returns the integer division of two unsigned integers, reverting with custom message on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a / b;
        }
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * reverting with custom message when dividing by zero.
     *
     * CAUTION: This function is deprecated because it requires allocating memory for the error
     * message unnecessarily. For custom revert reasons use {tryMod}.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a % b;
        }
    }
}

File 3 of 5 : IBEP20.sol
/**
 * BEP20 standard interface.
 */
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 4 of 5 : Auth.sol
/**
 * Allows for contract ownership along with multi-address authorization
 */
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 5 of 5 : IDEXRouter.sol
interface IDEXRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

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

    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);

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

    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;

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

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

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_dexRouter","type":"address"}],"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":"amountBNB","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":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":"WBNB","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","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":[],"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":"getMultipliedFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","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":"nonpayable","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":[{"internalType":"uint256","name":"timestamp","type":"uint256"}],"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":"marketingFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"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":"address","name":"_autoLiquidityReceiver","type":"address"},{"internalType":"address","name":"_marketingFeeReceiver","type":"address"}],"name":"setFeeReceivers","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":"_marketingFee","type":"uint256"},{"internalType":"uint256","name":"_feeDenominator","type":"uint256"}],"name":"setFees","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":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapBackSettings","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":"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":"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":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bool","name":"triggerBuybackMultiplier","type":"bool"}],"name":"triggerZeusBuyback","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"unauthorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600280546001600160a01b0319908116738076c74c5e3f5852037f31ff0093eeb8c8add8d31790915560038054821673bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c17905560048054821661dead9081179091556005805483169055600680549092161790556200007a6009600a62000646565b6200008d9066038d7ea4c6800062000731565b600755620000ae610190600754620004e960201b6200192b1790919060201c565b6008556064600e819055610190600f556102bc60105560c8601181905561057860125561271060135560196016556017829055601c55601d55610708601f556020805460ff199081169091556207a120602955602a805490911660011790556007546200011f906107d090620005d8565b602b553480156200012f57600080fd5b506040516200482938038062004829833981016040819052620001529162000578565b600080546001600160a01b0319908116339081178355825260016020818152604093849020805460ff1916909217909155601880546001600160a01b03868116919094161790819055835163c45a015560e01b8152935192169263c45a01559260048083019392829003018186803b158015620001ce57600080fd5b505afa158015620001e3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000209919062000578565b6003546040516364e329cb60e11b81526001600160a01b039283169263c9c65396926200023e929116903090600401620005b5565b602060405180830381600087803b1580156200025957600080fd5b505af11580156200026e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000294919062000578565b601980546001600160a01b0319166001600160a01b03928316179055600754306000908152600a6020908152604080832060188054871685529083529281902093909355905482516315ab88c960e31b8152925193169263ad5c4648926004808201939291829003018186803b1580156200030e57600080fd5b505afa15801562000323573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000349919062000578565b600380546001600160a01b0319166001600160a01b0392909216919091179055604051819062000379906200056a565b620003859190620005a1565b604051809103906000f080158015620003a2573d6000803e3d6000fd5b50602780546001600160a01b039283166001600160a01b0319918216179182905560288054821692841692909217909155336000818152600b60209081526040808320805460ff199081166001908117909255600c8452828520805482168317905560195488168552600d8452828520805482168317905530855282852080548216831790556004549097168452818420805488168217905584845260219092529091208054909416179092556014805482168317905560158054909116909117905560075462000475908290620004fe565b5060195460075462000491916001600160a01b031690620004fe565b506007543360008181526009602052604080822084905551919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91620004da91620005cf565b60405180910390a35062000769565b6000620004f78284620005d8565b9392505050565b336000818152600a602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259062000559908690620005cf565b60405180910390a350600192915050565b6112ce806200355b83390190565b6000602082840312156200058a578081fd5b81516001600160a01b0381168114620004f7578182fd5b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b90815260200190565b600082620005f457634e487b7160e01b81526012600452602481fd5b500490565b80825b60018086116200060d57506200063d565b81870482111562000622576200062262000753565b808616156200063057918102915b9490941c938002620005fc565b94509492505050565b6000620004f760001960ff8516846000826200066557506001620004f7565b816200067457506000620004f7565b81600181146200068d57600281146200069857620006cc565b6001915050620004f7565b60ff841115620006ac57620006ac62000753565b6001841b915084821115620006c557620006c562000753565b50620004f7565b5060208310610133831016604e8410600b841016171562000704575081810a83811115620006fe57620006fe62000753565b620004f7565b620007138484846001620005f9565b80860482111562000728576200072862000753565b02949350505050565b60008160001904831182151516156200074e576200074e62000753565b500290565b634e487b7160e01b600052601160045260246000fd5b612de280620007796000396000f3fe6080604052600436106103225760003560e01c806395d89b41116101a5578063d806d12f116100ec578063f1f3bca311610095578063f708a64f1161006f578063f708a64f1461083e578063f84ba65d1461085e578063f887ea401461087e578063fe9fbb801461089357610329565b8063f1f3bca3146107de578063f2fde38b146107fe578063f5cfec0a1461081e57610329565b8063e91f214e116100c6578063e91f214e14610794578063e96fada2146107a9578063f0b37c04146107be57610329565b8063d806d12f1461073f578063dd62ed3e14610754578063df20fd491461077457610329565b8063b210b06d1161014e578063c6d2577d11610128578063c6d2577d146106f5578063ca33e64c1461070a578063d51ed1c81461071f57610329565b8063b210b06d146106ab578063b6a5d7de146106c0578063bf56b371146106e057610329565b8063a51af4c51161017f578063a51af4c514610661578063a8aa1b3114610676578063a9059cbb1461068b57610329565b806395d89b411461060c5780639d1944f514610621578063a4b45c001461064157610329565b80632f54bf6e116102695780636ddd17131161021257806385b12c7c116101ec57806385b12c7c146105b5578063893d20e8146105d55780638dd95002146105f757610329565b80636ddd17131461056b57806370a08231146105805780637d1db4a5146105a057610329565b8063571ac8b011610243578063571ac8b01461050b5780635c85974f1461052b578063658d4b7f1461054b57610329565b80632f54bf6e146104b4578063313ce567146104d45780633bb8a8d4146104f657610329565b806318160ddd116102cb57806323b872dd116102a557806323b872dd1461045f5780632b112e491461047f5780632d48e8961461049457610329565b806318160ddd1461040a578063201e79911461041f5780632375ce401461043f57610329565b806306fdde03116102fc57806306fdde031461039b578063095ea7b3146103bd5780631161ae39146103ea57610329565b80630445b6671461032e578063048c7baf1461035957806304a66b481461037b57610329565b3661032957005b600080fd5b34801561033a57600080fd5b506103436108b3565b6040516103509190612c45565b60405180910390f35b34801561036557600080fd5b506103796103743660046128a7565b6108b9565b005b34801561038757600080fd5b50610379610396366004612992565b610948565b3480156103a757600080fd5b506103b06109d8565b6040516103509190612af8565b3480156103c957600080fd5b506103dd6103d8366004612847565b610a10565b6040516103509190612aab565b3480156103f657600080fd5b506103dd610405366004612919565b610a87565b34801561041657600080fd5b50610343610a9b565b34801561042b57600080fd5b5061037961043a366004612919565b610aa1565b34801561044b57600080fd5b5061037961045a36600461293a565b610aeb565b34801561046b57600080fd5b506103dd61047a3660046127d3565b610b5a565b34801561048b57600080fd5b50610343610c4c565b3480156104a057600080fd5b506103796104af366004612919565b610caf565b3480156104c057600080fd5b506103dd6104cf36600461277f565b610d7c565b3480156104e057600080fd5b506104e9610da0565b6040516103509190612ca5565b34801561050257600080fd5b506103dd610da5565b34801561051757600080fd5b506103dd61052636600461277f565b610dae565b34801561053757600080fd5b506103796105463660046128df565b610dc2565b34801561055757600080fd5b50610379610566366004612813565b610e22565b34801561057757600080fd5b506103dd610eb7565b34801561058c57600080fd5b5061034361059b36600461277f565b610ec0565b3480156105ac57600080fd5b50610343610ee8565b3480156105c157600080fd5b506103796105d03660046128df565b610eee565b3480156105e157600080fd5b506105ea610f72565b6040516103509190612a1c565b34801561060357600080fd5b506105ea610f8e565b34801561061857600080fd5b506103b0610faa565b34801561062d57600080fd5b5061037961063c3660046128df565b610fe1565b34801561064d57600080fd5b5061037961065c36600461279b565b611034565b34801561066d57600080fd5b506105ea6110c6565b34801561068257600080fd5b506105ea6110e2565b34801561069757600080fd5b506103dd6106a6366004612847565b6110fe565b3480156106b757600080fd5b5061037961110b565b3480156106cc57600080fd5b506103796106db36600461277f565b611151565b3480156106ec57600080fd5b506103436111e2565b34801561070157600080fd5b506103436111e8565b34801561071657600080fd5b506105ea6111ee565b34801561072b57600080fd5b5061034361073a3660046128df565b61120a565b34801561074b57600080fd5b50610343611257565b34801561076057600080fd5b5061034361076f36600461279b565b61132e565b34801561078057600080fd5b5061037961078f36600461288c565b611366565b3480156107a057600080fd5b506103436113da565b3480156107b557600080fd5b506105ea6113ee565b3480156107ca57600080fd5b506103796107d936600461277f565b61140a565b3480156107ea57600080fd5b506103436107f9366004612872565b611495565b34801561080a57600080fd5b5061037961081936600461277f565b6114d7565b34801561082a57600080fd5b506103796108393660046128f7565b6115c9565b34801561084a57600080fd5b50610379610859366004612813565b611674565b34801561086a57600080fd5b50610379610879366004612813565b61184f565b34801561088a57600080fd5b506105ea6118e4565b34801561089f57600080fd5b506103dd6108ae36600461277f565b611900565b602b5481565b6108c233611900565b610901576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f890612c0e565b60405180910390fd5b602080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001694151594909417909355602291909155600060235560245560255543602655565b61095133611900565b610987576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f890612c0e565b600e859055600f849055601083905560118290556109b1826109ab85818989611937565b90611937565b60125560138190556109c4600482612ccb565b601254106109d157600080fd5b5050505050565b60408051808201909152600881527f536166654561726e00000000000000000000000000000000000000000000000060208201525b90565b336000818152600a6020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610a76908690612c45565b60405180910390a350600192915050565b600082610a938361120a565b119392505050565b60075490565b610aaa33611900565b610ae0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f890612c0e565b601691909155601755565b610af433611900565b610b2a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f890612c0e565b6002610b368385612ccb565b11158015610b4357508183115b610b4c57600080fd5b601c92909255601d55601f55565b60075473ffffffffffffffffffffffffffffffffffffffff84166000908152600a60209081526040808320338452909152812054909114610c3757604080518082018252601681527f496e73756666696369656e7420416c6c6f77616e63650000000000000000000060208083019190915273ffffffffffffffffffffffffffffffffffffffff87166000908152600a82528381203382529091529190912054610c05918490611943565b73ffffffffffffffffffffffffffffffffffffffff85166000908152600a602090815260408083203384529091529020555b610c42848484611989565b90505b9392505050565b600554600090610caa90610c759073ffffffffffffffffffffffffffffffffffffffff16610ec0565b600454610ca490610c9b9073ffffffffffffffffffffffffffffffffffffffff16610ec0565b60075490611d4d565b90611d4d565b905090565b610cb833611900565b610cee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f890612c0e565b6027546040517f2d48e89600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690632d48e89690610d469085908590600401612c97565b600060405180830381600087803b158015610d6057600080fd5b505af1158015610d74573d6000803e3d6000fd5b505050505050565b60005473ffffffffffffffffffffffffffffffffffffffff8281169116145b919050565b600990565b60205460ff1681565b6000610dbc82600754610a10565b92915050565b610dcb33611900565b610e01576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f890612c0e565b6103e8600754610e119190612ccb565b811015610e1d57600080fd5b600855565b610e2b33611900565b610e61576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f890612c0e565b73ffffffffffffffffffffffffffffffffffffffff919091166000908152600b6020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b602a5460ff1681565b73ffffffffffffffffffffffffffffffffffffffff1660009081526009602052604090205490565b60085481565b610ef733611900565b610f2d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f890612c0e565b601a5415610f67576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f890612ba0565b5043601a5542601b55565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b60035473ffffffffffffffffffffffffffffffffffffffff1681565b60408051808201909152600781527f5341464541524e00000000000000000000000000000000000000000000000000602082015290565b610fea33611900565b611020576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f890612c0e565b620b71b0811061102f57600080fd5b602955565b61103d33611900565b611073576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f890612c0e565b6014805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560158054929093169116179055565b60285473ffffffffffffffffffffffffffffffffffffffff1681565b60195473ffffffffffffffffffffffffffffffffffffffff1681565b6000610c45338484611989565b61111433611900565b61114a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f890612c0e565b6000601e55565b61115a33610d7c565b611190576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f890612bd7565b73ffffffffffffffffffffffffffffffffffffffff16600090815260016020819052604090912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169091179055565b601a5481565b601b5481565b60145473ffffffffffffffffffffffffffffffffffffffff1681565b6000610dbc611217610c4c565b6019546112519061124a906002906112449073ffffffffffffffffffffffffffffffffffffffff16610ec0565b90611d59565b8590611d59565b9061192b565b600042601b546201518061126b9190612cb3565b11156112955761128e601354611251614650601254611d5990919063ffffffff16565b9050610a0d565b426112ad601f54601e5461193790919063ffffffff16565b11156113275760006112d042610ca4601f54601e5461193790919063ffffffff16565b905060006112f7601254610ca4601d54611251601c54601254611d5990919063ffffffff16565b905061131e611315601f546112518585611d5990919063ffffffff16565b60125490611937565b92505050610a0d565b5060125490565b73ffffffffffffffffffffffffffffffffffffffff9182166000908152600a6020908152604080832093909416825291909152205490565b61136f33611900565b6113a5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f890612c0e565b602a80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001692151592909217909155602b55565b6fffffffffffffffffffffffffffffffff81565b60155473ffffffffffffffffffffffffffffffffffffffff1681565b61141333610d7c565b611449576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f890612bd7565b73ffffffffffffffffffffffffffffffffffffffff16600090815260016020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b600043601a5460016114a79190612cb3565b106114c1576013546114ba906001611d4d565b9050610d9b565b81156114cf576114ba611257565b505060125490565b6114e033610d7c565b611516576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f890612bd7565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8316908117825581526001602081905260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169091179055517f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163906115be908390612a1c565b60405180910390a150565b6115d233611900565b611608576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f890612c0e565b60045461162c90839073ffffffffffffffffffffffffffffffffffffffff16611d65565b80156116705742601e55601f546040517f39d2389ec5c1fa77b2c0d374bc61b6d7bd97ccba280fcdeb4e9c7644898d7c3a9161166791612c45565b60405180910390a15b5050565b61167d33611900565b6116b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f890612c0e565b73ffffffffffffffffffffffffffffffffffffffff821630148015906116f4575060195473ffffffffffffffffffffffffffffffffffffffff838116911614155b6116fd57600080fd5b73ffffffffffffffffffffffffffffffffffffffff82166000908152600d6020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001682158015919091179091556117e5576027546040517f14b6ca9600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116906314b6ca96906117ae908590600090600401612a3d565b600060405180830381600087803b1580156117c857600080fd5b505af11580156117dc573d6000803e3d6000fd5b50505050611670565b60275473ffffffffffffffffffffffffffffffffffffffff838116600090815260096020526040908190205490517f14b6ca9600000000000000000000000000000000000000000000000000000000815291909216916314b6ca9691610d46918691600401612a3d565b61185833611900565b61188e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f890612c0e565b73ffffffffffffffffffffffffffffffffffffffff919091166000908152600c6020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b60185473ffffffffffffffffffffffffffffffffffffffff1681565b73ffffffffffffffffffffffffffffffffffffffff1660009081526001602052604090205460ff1690565b6000610c458284612ccb565b6000610c458284612cb3565b60008184841115611981576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f89190612af8565b505050900390565b602c5460009060ff16156119a9576119a2848484611f45565b9050610c45565b6119b38483612018565b6119bb612084565b156119c8576119c86120e0565b6119d0612596565b156119dd576119dd6125fe565b604080518082018252601481527f496e73756666696369656e742042616c616e636500000000000000000000000060208083019190915273ffffffffffffffffffffffffffffffffffffffff8716600090815260099091529190912054611a45918490611943565b73ffffffffffffffffffffffffffffffffffffffff8516600090815260096020526040812091909155611a7785612670565b611a815782611a8c565b611a8c85858561269c565b73ffffffffffffffffffffffffffffffffffffffff8516600090815260096020526040902054909150611abf9082611937565b73ffffffffffffffffffffffffffffffffffffffff8086166000908152600960209081526040808320949094559188168152600d909152205460ff16611b965760275473ffffffffffffffffffffffffffffffffffffffff868116600090815260096020526040908190205490517f14b6ca9600000000000000000000000000000000000000000000000000000000815291909216916314b6ca9691611b69918991600401612a3d565b600060405180830381600087803b158015611b8357600080fd5b505af1925050508015611b94575060015b505b73ffffffffffffffffffffffffffffffffffffffff84166000908152600d602052604090205460ff16611c5a5760275473ffffffffffffffffffffffffffffffffffffffff858116600090815260096020526040908190205490517f14b6ca9600000000000000000000000000000000000000000000000000000000815291909216916314b6ca9691611c2d918891600401612a3d565b600060405180830381600087803b158015611c4757600080fd5b505af1925050508015611c58575060015b505b6027546029546040517fffb2c47900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9092169163ffb2c47991611cb191600401612c45565b600060405180830381600087803b158015611ccb57600080fd5b505af1925050508015611cdc575060015b508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611d3a9190612c45565b60405180910390a3506001949350505050565b6000610c458284612d41565b6000610c458284612d04565b602c80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556040805160028082526060820183526000926020830190803683375050600354825192935073ffffffffffffffffffffffffffffffffffffffff1691839150600090611e05577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250503081600181518110611e7a577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff92831660209182029290920101526018546040517fb6f9de9500000000000000000000000000000000000000000000000000000000815291169063b6f9de95908590611ee690600090869088904290600401612ab6565b6000604051808303818588803b158015611eff57600080fd5b505af1158015611f13573d6000803e3d6000fd5b5050602c80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055505050505050565b604080518082018252601481527f496e73756666696369656e742042616c616e636500000000000000000000000060208083019190915273ffffffffffffffffffffffffffffffffffffffff86166000908152600990915291822054611fac918490611943565b73ffffffffffffffffffffffffffffffffffffffff8086166000908152600960205260408082209390935590851681522054611fe89083611937565b73ffffffffffffffffffffffffffffffffffffffff84166000908152600960205260409020555060019392505050565b6008548111158061204e575073ffffffffffffffffffffffffffffffffffffffff82166000908152600c602052604090205460ff165b611670576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f890612b69565b60195460009073ffffffffffffffffffffffffffffffffffffffff1633148015906120b25750602c5460ff16155b80156120c05750602a5460ff165b8015610caa575050602b5430600090815260096020526040902054101590565b602c80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905560165460175460009161211d91610a87565b61212957600e5461212c565b60005b90506000612150600261125160125461125186602b54611d5990919063ffffffff16565b9050600061216982602b54611d4d90919063ffffffff16565b604080516002808252606082018352929350600092909160208301908036833701905050905030816000815181106121ca577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff928316602091820292909201015260035482519116908290600190811061222f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff92831660209182029290920101526018546040517f791ac9470000000000000000000000000000000000000000000000000000000081524792919091169063791ac9479061229f908690600090879030904290600401612c4e565b600060405180830381600087803b1580156122b957600080fd5b505af11580156122cd573d6000803e3d6000fd5b5050505060006122e68247611d4d90919063ffffffff16565b905060006123016122f888600261192b565b60125490611d4d565b9050600061231660026112518481878d611d59565b905060006123338361125160105487611d5990919063ffffffff16565b905060006123508461125160115488611d5990919063ffffffff16565b9050602760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d0e30db0836040518263ffffffff1660e01b81526004016000604051808303818588803b1580156123bc57600080fd5b505af1935050505080156123ce575060015b5060155460405173ffffffffffffffffffffffffffffffffffffffff909116906175309083906123fd90610a0d565b600060405180830381858888f193505050503d806000811461243b576040519150601f19603f3d011682016040523d82523d6000602084013e612440565b606091505b50508915905061256257601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71984308c600080601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b81526004016124d396959493929190612a63565b6060604051808303818588803b1580156124ec57600080fd5b505af1158015612500573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906125259190612965565b5050507f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b4506838a604051612559929190612c97565b60405180910390a15b5050602c80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690555050505050505050565b60195460009073ffffffffffffffffffffffffffffffffffffffff1633148015906125c45750602c5460ff16155b80156125d2575060205460ff165b80156125ed5750436025546026546125ea9190612cb3565b11155b8015610caa57505060245447101590565b602454600454612624919073ffffffffffffffffffffffffffffffffffffffff16611d65565b4360265560245460235461263791611937565b6023819055602254101561266e57602080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690555b565b73ffffffffffffffffffffffffffffffffffffffff166000908152600b602052604090205460ff161590565b60135460195460009182916126db9190611251906126d49073ffffffffffffffffffffffffffffffffffffffff898116911614611495565b8690611d59565b306000908152600960205260409020549091506126f89082611937565b306000818152600960205260409081902092909255905173ffffffffffffffffffffffffffffffffffffffff8716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90612754908590612c45565b60405180910390a36127668382611d4d565b95945050505050565b80358015158114610d9b57600080fd5b600060208284031215612790578081fd5b8135610c4581612d87565b600080604083850312156127ad578081fd5b82356127b881612d87565b915060208301356127c881612d87565b809150509250929050565b6000806000606084860312156127e7578081fd5b83356127f281612d87565b9250602084013561280281612d87565b929592945050506040919091013590565b60008060408385031215612825578182fd5b823561283081612d87565b915061283e6020840161276f565b90509250929050565b60008060408385031215612859578182fd5b823561286481612d87565b946020939093013593505050565b600060208284031215612883578081fd5b610c458261276f565b6000806040838503121561289e578182fd5b6128648361276f565b600080600080608085870312156128bc578081fd5b6128c58561276f565b966020860135965060408601359560600135945092505050565b6000602082840312156128f0578081fd5b5035919050565b60008060408385031215612909578182fd5b8235915061283e6020840161276f565b6000806040838503121561292b578182fd5b50508035926020909101359150565b60008060006060848603121561294e578283fd5b505081359360208301359350604090920135919050565b600080600060608486031215612979578283fd5b8351925060208401519150604084015190509250925092565b600080600080600060a086880312156129a9578081fd5b505083359560208501359550604085013594606081013594506080013592509050565b6000815180845260208085019450808401835b83811015612a1157815173ffffffffffffffffffffffffffffffffffffffff16875295820195908201906001016129df565b509495945050505050565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b73ffffffffffffffffffffffffffffffffffffffff9687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b901515815260200190565b600085825260806020830152612acf60808301866129cc565b73ffffffffffffffffffffffffffffffffffffffff949094166040830152506060015292915050565b6000602080835283518082850152825b81811015612b2457858101830151858201604001528201612b08565b81811115612b355783604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b60208082526011908201527f5458204c696d6974204578636565646564000000000000000000000000000000604082015260600190565b60208082526014908201527f416c7265616479206c61756e6368656420626f69000000000000000000000000604082015260600190565b60208082526006908201527f214f574e45520000000000000000000000000000000000000000000000000000604082015260600190565b6020808252600b908201527f21415554484f52495a4544000000000000000000000000000000000000000000604082015260600190565b90815260200190565b600086825285602083015260a06040830152612c6d60a08301866129cc565b73ffffffffffffffffffffffffffffffffffffffff94909416606083015250608001529392505050565b918252602082015260400190565b60ff91909116815260200190565b60008219821115612cc657612cc6612d58565b500190565b600082612cff577f4e487b710000000000000000000000000000000000000000000000000000000081526012600452602481fd5b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612d3c57612d3c612d58565b500290565b600082821015612d5357612d53612d58565b500390565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff81168114612da957600080fd5b5056fea26469706673582212207d6b8f22cc21219fc0dba4349ac4c90206c4615fbdbf1b8e258c934b4704e31864736f6c634300080000336080604052600180546001600160a01b0319908116738076c74c5e3f5852037f31ff0093eeb8c8add8d3179091556002805490911673bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c1790556ec097ce7bc90715b34b9f1000000000600c55610e10600d55670de0b6b3a7640000600e5534801561007d57600080fd5b506040516112ce3803806112ce83398101604081905261009c916100f6565b6001600160a01b0381166100c4577310ed43c718714eb63d5aa57b78b54704e256024e6100c6565b805b600380546001600160a01b03929092166001600160a01b0319928316179055600080549091163317905550610124565b600060208284031215610107578081fd5b81516001600160a01b038116811461011d578182fd5b9392505050565b61119b806101336000396000f3fe6080604052600436106100dd5760003560e01c8063ce7c2ac21161007f578063efca2eed11610059578063efca2eed146101fa578063f0fc6bca1461020f578063ffb2c47914610224578063ffd49c8414610244576100dd565b8063ce7c2ac2146101ae578063d0e30db0146101dd578063e2d2e219146101e5576100dd565b80632d48e896116100bb5780632d48e8961461014f5780633a98ef391461016f5780634fab0ae814610184578063997664d714610199576100dd565b806311ce023d146100e257806314b6ca961461010d57806328fd31981461012f575b600080fd5b3480156100ee57600080fd5b506100f7610259565b6040516101049190611039565b60405180910390f35b34801561011957600080fd5b5061012d610128366004610ed5565b61025f565b005b34801561013b57600080fd5b506100f761014a366004610ebb565b6103df565b34801561015b57600080fd5b5061012d61016a366004610f4e565b610492565b34801561017b57600080fd5b506100f76104c1565b34801561019057600080fd5b506100f76104c7565b3480156101a557600080fd5b506100f76104cd565b3480156101ba57600080fd5b506101ce6101c9366004610ebb565b6104d3565b60405161010493929190611042565b61012d6104f4565b3480156101f157600080fd5b506100f7610832565b34801561020657600080fd5b506100f7610838565b34801561021b57600080fd5b5061012d61083e565b34801561023057600080fd5b5061012d61023f366004610f1e565b610849565b34801561025057600080fd5b506100f76109c1565b600c5481565b60005473ffffffffffffffffffffffffffffffffffffffff16331461028357600080fd5b73ffffffffffffffffffffffffffffffffffffffff8216600090815260076020526040902054156102b7576102b7826109c7565b6000811180156102ea575073ffffffffffffffffffffffffffffffffffffffff8216600090815260076020526040902054155b156102fd576102f882610b3f565b61033d565b8015801561032f575073ffffffffffffffffffffffffffffffffffffffff821660009081526007602052604090205415155b1561033d5761033d82610bc5565b73ffffffffffffffffffffffffffffffffffffffff821660009081526007602052604090205460085461037b91839161037591610deb565b90610dfe565b60085573ffffffffffffffffffffffffffffffffffffffff821660009081526007602052604090208190556103af81610e0a565b73ffffffffffffffffffffffffffffffffffffffff90921660009081526007602052604090206001019190915550565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600760205260408120546104115750600061048d565b73ffffffffffffffffffffffffffffffffffffffff821660009081526007602052604081205461044090610e0a565b73ffffffffffffffffffffffffffffffffffffffff841660009081526007602052604090206001015490915080821161047e5760009250505061048d565b6104888282610deb565b925050505b919050565b60005473ffffffffffffffffffffffffffffffffffffffff1633146104b657600080fd5b600d91909155600e55565b60085481565b600e5481565b60095481565b60076020526000908152604090208054600182015460029092015490919083565b60005473ffffffffffffffffffffffffffffffffffffffff16331461051857600080fd5b6001546040517f70a0823100000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff16906370a082319061056f903090600401610f6f565b60206040518083038186803b15801561058757600080fd5b505afa15801561059b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105bf9190610f36565b60408051600280825260608201835292935060009290916020830190803683375050600254825192935073ffffffffffffffffffffffffffffffffffffffff1691839150600090610639577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff9283166020918202929092010152600180548351921691839190811061069d577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff92831660209182029290920101526003546040517fb6f9de9500000000000000000000000000000000000000000000000000000000815291169063b6f9de9590349061070990600090869030904290600401610fb6565b6000604051808303818588803b15801561072257600080fd5b505af1158015610736573d6000803e3d6000fd5b50506001546040517f70a08231000000000000000000000000000000000000000000000000000000008152600094506107f0935086925073ffffffffffffffffffffffffffffffffffffffff909116906370a082319061079a903090600401610f6f565b60206040518083038186803b1580156107b257600080fd5b505afa1580156107c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ea9190610f36565b90610deb565b6009549091506108009082610dfe565b600955600854600c5461082a916108219161081b9085610e2d565b90610e39565b600b5490610dfe565b600b55505050565b600b5481565b600a5481565b610847336109c7565b565b60005473ffffffffffffffffffffffffffffffffffffffff16331461086d57600080fd5b6004548061087b57506109be565b6000805a905060005b848310801561089257508381105b156109b95783600f54106108a6576000600f555b61090c6004600f54815481106108e5577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16610e45565b15610977576109776004600f5481548110610950577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff166109c7565b61098c6109855a8490610deb565b8490610dfe565b92505a600f805491935060006109a1836110fd565b919050555080806109b1906110fd565b915050610884565b505050505b50565b600d5481565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600760205260409020546109f6576109be565b6000610a01826103df565b90508015610b3b57600a54610a169082610dfe565b600a556001546040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063a9059cbb90610a719085908590600401610f90565b602060405180830381600087803b158015610a8b57600080fd5b505af1158015610a9f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac39190610efe565b5073ffffffffffffffffffffffffffffffffffffffff821660009081526006602090815260408083204290556007909152902060020154610b049082610dfe565b73ffffffffffffffffffffffffffffffffffffffff831660009081526007602052604090206002810191909155546103af90610e0a565b5050565b6004805473ffffffffffffffffffffffffffffffffffffffff9092166000818152600560205260408120849055600184018355919091527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b90910180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169091179055565b60048054610bd5906001906110e6565b81548110610c0c577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600091825260208083209091015473ffffffffffffffffffffffffffffffffffffffff84811684526005909252604090922054600480549290931692918110610c7e577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600091825260208083209190910180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff948516179055918316815260059182905260408120546004805491939291610cef906001906110e6565b81548110610d26577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600091825260208083209091015473ffffffffffffffffffffffffffffffffffffffff1683528201929092526040019020556004805480610d90577f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b60008281526020902081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810180547fffffffffffffffffffffffff000000000000000000000000000000000000000016905501905550565b6000610df782846110e6565b9392505050565b6000610df78284611058565b6000610e27600c5461081b600b5485610e2d90919063ffffffff16565b92915050565b6000610df782846110a9565b6000610df78284611070565b600d5473ffffffffffffffffffffffffffffffffffffffff821660009081526006602052604081205490914291610e7c9190611058565b108015610e275750600e54610e90836103df565b1192915050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461048d57600080fd5b600060208284031215610ecc578081fd5b610df782610e97565b60008060408385031215610ee7578081fd5b610ef083610e97565b946020939093013593505050565b600060208284031215610f0f578081fd5b81518015158114610df7578182fd5b600060208284031215610f2f578081fd5b5035919050565b600060208284031215610f47578081fd5b5051919050565b60008060408385031215610f60578182fd5b50508035926020909101359150565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b600060808201868352602060808185015281875180845260a0860191508289019350845b8181101561100c57845173ffffffffffffffffffffffffffffffffffffffff1683529383019391830191600101610fda565b505073ffffffffffffffffffffffffffffffffffffffff9690961660408501525050506060015292915050565b90815260200190565b9283526020830191909152604082015260600190565b6000821982111561106b5761106b611136565b500190565b6000826110a4577f4e487b710000000000000000000000000000000000000000000000000000000081526012600452602481fd5b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156110e1576110e1611136565b500290565b6000828210156110f8576110f8611136565b500390565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561112f5761112f611136565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fdfea2646970667358221220ffc3565018c0924fc365e900d97ee0204edf54040e7a7b4653b27ed21d8cd88264736f6c6343000800003300000000000000000000000010ed43c718714eb63d5aa57b78b54704e256024e

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

00000000000000000000000010ed43c718714eb63d5aa57b78b54704e256024e

-----Decoded View---------------
Arg [0] : _dexRouter (address): 0x10ed43c718714eb63d5aa57b78b54704e256024e

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000010ed43c718714eb63d5aa57b78b54704e256024e


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