Contract 0xe4ae305ebe1abe663f261bc00534067c80ad677c 4

 

Contract Overview

Spartan Protocol: Old SPARTA Token
Balance:
0.02 BNB

BNB Value:
$9.53 (@ $476.60/BNB)

Token:
 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x81a82310658682e0daa835cfd637bda083d7d34ecea45c428ee6545f47b0694dApprove120607972021-10-24 21:50:2757 mins ago0x02f5df0ff87d73684d548cf8dd0c2f92733d2083 IN  Spartan Protocol: Old SPARTA Token0 BNB0.00022276
0x10f57f804574ba0686402badc97044ef54225bf27c801d3d3af2a5bef87b5383Approve120584072021-10-24 19:50:352 hrs 56 mins ago0x5f41851427d613aa30fbbe5bc292da5a7593b9fc IN  Spartan Protocol: Old SPARTA Token0 BNB0.00050704
0x7373d02ba6037b92ada8a9b7664fd0c871b7f57db28bfd08f52005caf11550dcApprove120583942021-10-24 19:49:562 hrs 57 mins ago0x5f41851427d613aa30fbbe5bc292da5a7593b9fc IN  Spartan Protocol: Old SPARTA Token0 BNB0.00089104
0xf17ddee81695a858654b5027fb0523b00641c26be47e194573829bb9058ce0e2Transfer120580322021-10-24 19:31:503 hrs 15 mins agoBinance: Hot Wallet 6 IN  Spartan Protocol: Old SPARTA Token0 BNB0.00053045
0xd4b574e8e6db2860a529edf129d6e9af724741f999979a300e936d023ffbf805Transfer120579062021-10-24 19:25:323 hrs 22 mins ago0xe989fcd536de0a59751b6025fd218723e78adb74 IN  Spartan Protocol: Old SPARTA Token0 BNB0.000190285
0xf54827fb8da9522d2b73237f1095e8453d0e0a9cff4369c04bc1a7738651c2f6Approve120568862021-10-24 18:33:484 hrs 13 mins ago0x065cc722552ae2f844622b504ae74e5a0265a588 IN  Spartan Protocol: Old SPARTA Token0 BNB0.00022276
0xae32cd5c7ca52e5af21c9f415c72fffc259da438b9e42f97b76e310cbaccff6cTransfer120527922021-10-24 15:06:357 hrs 40 mins ago0xe30705bf01b807fe361492e2d4972dcb07486118 IN  Spartan Protocol: Old SPARTA Token0 BNB0.000265045
0x07804213a436f48317e24f86f7216765b242ec316eeb517f00ec230a2e19dd69Transfer120484642021-10-24 11:15:0611 hrs 32 mins ago0xb83c320a4eced2d03c37a42cae816b0e89c33486 IN  Spartan Protocol: Old SPARTA Token0 BNB0.000190225
0x6982cedb46f3f9bea2de4513f605015e8db64a29aaa57c3497f29313eb47a786Approve120483762021-10-24 11:10:4211 hrs 36 mins ago0x1f7d8affdd54092d22cd74c9a380d2a2cfabe762 IN  Spartan Protocol: Old SPARTA Token0 BNB0.000265728
0xc75343b7e5bc4e82ff33ce9806c86d77972a5846924d1feb218f609b10e22fa0Transfer120388342021-10-24 3:09:4719 hrs 37 mins ago0x2de90734176fc29b56d10705a780f819127e7585 IN  Spartan Protocol: Old SPARTA Token0 BNB0.000190105
0x2d8c044b30dee346641b3f2ba7cc5f42002311b426a15ad69c8bbd4101326202Approve120388172021-10-24 3:08:5619 hrs 38 mins ago0x2de90734176fc29b56d10705a780f819127e7585 IN  Spartan Protocol: Old SPARTA Token0 BNB0.00022276
0x3cac3ffe60f6b4553a0943af918e8ef8d19a51938889ef3393bdf65dbd61a432Transfer120377782021-10-24 2:16:5720 hrs 30 mins ago0xad4f111a00260df3d4c1a3e034675ff09eafb583 IN  Spartan Protocol: Old SPARTA Token0 BNB0.000148045
0x02d3ffcdc16b92b4ec91e3bfd7391d2f418d117cb1f47590cf41c26f9644e0d8Approve120377432021-10-24 2:15:1220 hrs 32 mins ago0xad4f111a00260df3d4c1a3e034675ff09eafb583 IN  Spartan Protocol: Old SPARTA Token0 BNB0.00022168
0xd469e65eb6a55c6abab1c4dccc6a3275c8094661e6a1fa195ee7e847c7f316e3Approve120095062021-10-23 2:33:311 day 20 hrs ago0x4c8a2ffbab513af45510ff6c71c6507cfaffff9e IN  Spartan Protocol: Old SPARTA Token0 BNB0.00007292
0x02a4a4bcff631dd5916405eef6ec75164b3ab372100f84708e8c4133f58805bfApprove120094992021-10-23 2:33:101 day 20 hrs ago0x4c8a2ffbab513af45510ff6c71c6507cfaffff9e IN  Spartan Protocol: Old SPARTA Token0 BNB0.00007292
0xccb3d8d01c29358df53d6fc34759fcf86cbf63c3dcc5ce96f14541c7c0bc7129Approve119944722021-10-22 13:54:562 days 8 hrs ago0xddbc5247341ff0fc8ad2e2a454ab41e7310b1051 IN  Spartan Protocol: Old SPARTA Token0 BNB0.00012532
0xb2c795706a922ad8b128b9bd826e95d6edb738ddeaf27f127294087fe6fe7009Approve119944702021-10-22 13:54:502 days 8 hrs ago0xddbc5247341ff0fc8ad2e2a454ab41e7310b1051 IN  Spartan Protocol: Old SPARTA Token0 BNB0.00012532
0x5cae90c3a971f864f33857944b65a4cf71f435536e41540fd047260c7a977d00Approve119944682021-10-22 13:54:442 days 8 hrs ago0xddbc5247341ff0fc8ad2e2a454ab41e7310b1051 IN  Spartan Protocol: Old SPARTA Token0 BNB0.00012532
0x7ad5820c8a486bece112a7e98e1b86a0f3f2f8ca54fe208c10f28d29623e2dc0Approve119944672021-10-22 13:54:412 days 8 hrs ago0xddbc5247341ff0fc8ad2e2a454ab41e7310b1051 IN  Spartan Protocol: Old SPARTA Token0 BNB0.00012532
0x810f2055e58ba532d7326180aae14e199595f5c9c40d69e01fb8e57229f366d8Approve119944672021-10-22 13:54:412 days 8 hrs ago0xddbc5247341ff0fc8ad2e2a454ab41e7310b1051 IN  Spartan Protocol: Old SPARTA Token0 BNB0.00012532
0x21fd4d4fca0fe233d4af3a4b5e88a9a37868f281aeb1a7e450b91a3fdf296a0eApprove119944662021-10-22 13:54:382 days 8 hrs ago0xddbc5247341ff0fc8ad2e2a454ab41e7310b1051 IN  Spartan Protocol: Old SPARTA Token0 BNB0.00012532
0x436cc39985ee7858584c2a1c96af242fa352fc36a806bc3dc280edc526f95d07Approve119944652021-10-22 13:54:352 days 8 hrs ago0xddbc5247341ff0fc8ad2e2a454ab41e7310b1051 IN  Spartan Protocol: Old SPARTA Token0 BNB0.00012532
0xa7c999abf0b3e6a37a4d03030c3ba5e25fd146ab66e00498c9a634b7f2071400Approve119944642021-10-22 13:54:322 days 8 hrs ago0xddbc5247341ff0fc8ad2e2a454ab41e7310b1051 IN  Spartan Protocol: Old SPARTA Token0 BNB0.00012532
0x60405833e0b26da17df61b5d62c763ba50563999df72a0b3fd2882b15140ce06Approve119944632021-10-22 13:54:292 days 8 hrs ago0xddbc5247341ff0fc8ad2e2a454ab41e7310b1051 IN  Spartan Protocol: Old SPARTA Token0 BNB0.00022132
0xf73d219ff8502704fc21af496e2db8faf899983cccc31028e7170735341aa28dApprove119943072021-10-22 13:46:412 days 9 hrs ago0x5fb56c9ad1122f68726849c691e915b430298dab IN  Spartan Protocol: Old SPARTA Token0 BNB0.00022276
[ Download CSV Export 

OVERVIEW

The Spartan token contract has migrated to 0x3910db0600ea925f63c36ddb1351ab6e2c6eb102

Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x7d894661b3cfa5eac9b3146bff8ea39c382334489cee68bf46f81c735a8a317254711752021-03-07 11:51:42231 days 10 hrs ago 0xbf6728454b96a36c720c1bbcae5773aaafd6959b Spartan Protocol: Old SPARTA Token0 BNB
0x7d894661b3cfa5eac9b3146bff8ea39c382334489cee68bf46f81c735a8a317254711752021-03-07 11:51:42231 days 10 hrs ago 0x6239891fc4030dc050fb9f7083aa68a2e4fe426d Spartan Protocol: Old SPARTA Token0 BNB
0x7d894661b3cfa5eac9b3146bff8ea39c382334489cee68bf46f81c735a8a317254711752021-03-07 11:51:42231 days 10 hrs ago 0x6239891fc4030dc050fb9f7083aa68a2e4fe426d Spartan Protocol: Old SPARTA Token0 BNB
0x7d894661b3cfa5eac9b3146bff8ea39c382334489cee68bf46f81c735a8a317254711752021-03-07 11:51:42231 days 10 hrs ago 0xcaf0366af95e8a03e269e52ddb3dbb8a00295f91 Spartan Protocol: Old SPARTA Token0 BNB
0x7d894661b3cfa5eac9b3146bff8ea39c382334489cee68bf46f81c735a8a317254711752021-03-07 11:51:42231 days 10 hrs ago 0x6239891fc4030dc050fb9f7083aa68a2e4fe426d Spartan Protocol: Old SPARTA Token0 BNB
0x7d894661b3cfa5eac9b3146bff8ea39c382334489cee68bf46f81c735a8a317254711752021-03-07 11:51:42231 days 10 hrs ago 0xbf6728454b96a36c720c1bbcae5773aaafd6959b Spartan Protocol: Old SPARTA Token0 BNB
0x7d894661b3cfa5eac9b3146bff8ea39c382334489cee68bf46f81c735a8a317254711752021-03-07 11:51:42231 days 10 hrs ago 0xbf6728454b96a36c720c1bbcae5773aaafd6959b Spartan Protocol: Old SPARTA Token0 BNB
0x7d894661b3cfa5eac9b3146bff8ea39c382334489cee68bf46f81c735a8a317254711752021-03-07 11:51:42231 days 10 hrs ago 0xbf6728454b96a36c720c1bbcae5773aaafd6959b Spartan Protocol: Old SPARTA Token0 BNB
0x7d894661b3cfa5eac9b3146bff8ea39c382334489cee68bf46f81c735a8a317254711752021-03-07 11:51:42231 days 10 hrs ago 0xbf6728454b96a36c720c1bbcae5773aaafd6959b Spartan Protocol: Old SPARTA Token0 BNB
0x7d894661b3cfa5eac9b3146bff8ea39c382334489cee68bf46f81c735a8a317254711752021-03-07 11:51:42231 days 10 hrs ago 0xbf6728454b96a36c720c1bbcae5773aaafd6959b Spartan Protocol: Old SPARTA Token0 BNB
0x7d894661b3cfa5eac9b3146bff8ea39c382334489cee68bf46f81c735a8a317254711752021-03-07 11:51:42231 days 10 hrs ago 0x6239891fc4030dc050fb9f7083aa68a2e4fe426d Spartan Protocol: Old SPARTA Token0 BNB
0x7d894661b3cfa5eac9b3146bff8ea39c382334489cee68bf46f81c735a8a317254711752021-03-07 11:51:42231 days 10 hrs ago 0x6239891fc4030dc050fb9f7083aa68a2e4fe426d Spartan Protocol: Old SPARTA Token0 BNB
0x7d894661b3cfa5eac9b3146bff8ea39c382334489cee68bf46f81c735a8a317254711752021-03-07 11:51:42231 days 10 hrs ago 0x6239891fc4030dc050fb9f7083aa68a2e4fe426d Spartan Protocol: Old SPARTA Token0 BNB
0x68971944cb1b476cf90365814bfc07dbb6544300e0600387945c114681f0f7ac54711632021-03-07 11:51:06231 days 10 hrs ago 0xcaf0366af95e8a03e269e52ddb3dbb8a00295f91 Spartan Protocol: Old SPARTA Token0 BNB
0x2883641f4e803ce2fe8886320ff710e27d512996ed2d74c368724a16800f6c1c54711622021-03-07 11:51:03231 days 10 hrs ago 0x119c70f4605e07e4bb229e2360e203a1bbd52ce4 Spartan Protocol: Old SPARTA Token0 BNB
0x2883641f4e803ce2fe8886320ff710e27d512996ed2d74c368724a16800f6c1c54711622021-03-07 11:51:03231 days 10 hrs ago 0x6239891fc4030dc050fb9f7083aa68a2e4fe426d Spartan Protocol: Old SPARTA Token0 BNB
0x2883641f4e803ce2fe8886320ff710e27d512996ed2d74c368724a16800f6c1c54711622021-03-07 11:51:03231 days 10 hrs ago 0x6239891fc4030dc050fb9f7083aa68a2e4fe426d Spartan Protocol: Old SPARTA Token0 BNB
0x2883641f4e803ce2fe8886320ff710e27d512996ed2d74c368724a16800f6c1c54711622021-03-07 11:51:03231 days 10 hrs ago 0x119c70f4605e07e4bb229e2360e203a1bbd52ce4 Spartan Protocol: Old SPARTA Token0 BNB
0x2883641f4e803ce2fe8886320ff710e27d512996ed2d74c368724a16800f6c1c54711622021-03-07 11:51:03231 days 10 hrs ago 0x119c70f4605e07e4bb229e2360e203a1bbd52ce4 Spartan Protocol: Old SPARTA Token0 BNB
0x2883641f4e803ce2fe8886320ff710e27d512996ed2d74c368724a16800f6c1c54711622021-03-07 11:51:03231 days 10 hrs ago 0x119c70f4605e07e4bb229e2360e203a1bbd52ce4 Spartan Protocol: Old SPARTA Token0 BNB
0x9063b17d4272306826453497035c74b777f40b799d88b3e7980e9d7eb3ed08ac54711552021-03-07 11:50:42231 days 10 hrs ago PancakeSwap: SPARTA Spartan Protocol: Old SPARTA Token0 BNB
0x9063b17d4272306826453497035c74b777f40b799d88b3e7980e9d7eb3ed08ac54711552021-03-07 11:50:42231 days 10 hrs ago BSCswap: SPARTA Spartan Protocol: Old SPARTA Token0 BNB
0x9063b17d4272306826453497035c74b777f40b799d88b3e7980e9d7eb3ed08ac54711552021-03-07 11:50:42231 days 10 hrs ago BSCswap: SPARTA Spartan Protocol: Old SPARTA Token0 BNB
0x952e29628890ffbbb06f75bba5ba5df7ba066393dedb11729b91b9f8a992b07854711532021-03-07 11:50:36231 days 10 hrs ago PancakeSwap: SPARTA Spartan Protocol: Old SPARTA Token0 BNB
0x952e29628890ffbbb06f75bba5ba5df7ba066393dedb11729b91b9f8a992b07854711532021-03-07 11:50:36231 days 10 hrs ago PancakeSwap: SPARTA Spartan Protocol: Old SPARTA Token0 BNB
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Sparta

Compiler Version
v0.6.8+commit.0bbfe453

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at BscScan.com on 2020-09-10
*/

// SPDX-License-Identifier: UNLICENSED
pragma solidity 0.6.8;
pragma experimental ABIEncoderV2;
//iBEP20 Interface
interface iBEP20 {
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint);
    function totalSupply() external view returns (uint);
    function balanceOf(address account) external view returns (uint);
    function transfer(address, uint) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint);
    function approve(address, uint) external returns (bool);
    function transferFrom(address, address, uint) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint value);
    event Approval(address indexed owner, address indexed spender, uint value);
}

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }
}
    //======================================SPARTA=========================================//
contract Sparta is iBEP20 {
    using SafeMath for uint256;

    // ERC-20 Parameters
    string public override name; string public override symbol;
    uint256 public override decimals; uint256 public override totalSupply;

    // ERC-20 Mappings
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;

    // Parameters
    uint256 one;
    bool public emitting;
    uint256 public emissionCurve;
    uint256 public _100m;
    uint256 public totalCap;
    uint256 public secondsPerEra;
    uint256 public currentEra;
    uint256 public nextEraTime;

    address public incentiveAddress;
    address public DAO;
    address public burnAddress;
    address public DEPLOYER;

    address[] public assetArray;
    mapping(address => bool) public isListed;
    mapping(address => uint256) public mapAsset_claimRate;
    mapping(address => uint256) public mapAsset_claimed;
    mapping(address => uint256) public mapAsset_allocation;

    struct AssetDetailsStruct {
        bool listed;
        uint256 claimRate;
        uint256 claimed;
        uint256 allocation;
    }

    // Events
    event ListedAsset(address indexed DAO, address indexed asset, uint256 claimRate, uint256 allocation);
    event DelistedAsset(address indexed DAO, address indexed asset);
    event NewCurve(address indexed DAO, uint256 newCurve);
    event NewIncentiveAddress(address indexed DAO, address newIncentiveAddress);
    event NewDuration(address indexed DAO, uint256 newDuration);
    event NewDAO(address indexed DAO, address newOwner);
    event NewEra(uint256 currentEra, uint256 nextEraTime, uint256 emission);

    // Only DAO can execute
    modifier onlyDAO() {
        require(msg.sender == DAO || msg.sender == DEPLOYER, "Must be DAO");
        _;
    }

    //=====================================CREATION=========================================//
    // Constructor
    constructor() public {
        name = 'SPARTAN PROTOCOL TOKEN';
        symbol = 'SPARTA';
        decimals = 18;
        one = 10 ** decimals;
        _100m = 100 * 10**6 * one;
        totalSupply = 0;
        totalCap = 300 * 10**6 * one;
        emissionCurve = 2048;
        emitting = false;
        currentEra = 1;
        secondsPerEra = 86400;
        nextEraTime = now + secondsPerEra;
        DEPLOYER = msg.sender;
        burnAddress = 0x000000000000000000000000000000000000dEaD;
    }

    receive() external payable {
        claim(address(0), msg.value);
    }

    //========================================iBEP20=========================================//
    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }
    function allowance(address owner, address spender) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }
    // iBEP20 Transfer function
    function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(msg.sender, recipient, amount);
        return true;
    }
    // iBEP20 Approve, change allowance functions
    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        _approve(msg.sender, spender, amount);
        return true;
    }
    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(msg.sender, spender, _allowances[msg.sender][spender].add(addedValue));
        return true;
    }
    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        _approve(msg.sender, spender, _allowances[msg.sender][spender].sub(subtractedValue, "iBEP20: decreased allowance below zero"));
        return true;
    }
    function _approve(address owner, address spender, uint256 amount) internal virtual {
        require(owner != address(0), "iBEP20: approve from the zero address");
        require(spender != address(0), "iBEP20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    
    // iBEP20 TransferFrom function
    function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, msg.sender, _allowances[sender][msg.sender].sub(amount, "iBEP20: transfer amount exceeds allowance"));
        return true;
    }

    // TransferTo function
    function transferTo(address recipient, uint256 amount) public returns (bool) {
        _transfer(tx.origin, recipient, amount);
        return true;
    }

    // Internal transfer function
    function _transfer(address sender, address recipient, uint256 amount) internal virtual {
        require(sender != address(0), "iBEP20: transfer from the zero address");
        _balances[sender] = _balances[sender].sub(amount, "iBEP20: transfer amount exceeds balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        _checkEmission();
    }
    // Internal mint (upgrading and daily emissions)
    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "iBEP20: mint to the zero address");
        totalSupply = totalSupply.add(amount);
        require(totalSupply <= totalCap, "Must not mint more than the cap");
        _balances[account] = _balances[account].add(amount);
        emit Transfer(address(0), account, amount);
    }
    // Burn supply
    function burn(uint256 amount) public virtual {
        _burn(msg.sender, amount);
    }
    function burnFrom(address account, uint256 amount) public virtual {
        uint256 decreasedAllowance = allowance(account, msg.sender).sub(amount, "iBEP20: burn amount exceeds allowance");
        _approve(account, msg.sender, decreasedAllowance);
        _burn(account, amount);
    }
    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "iBEP20: burn from the zero address");
        _balances[account] = _balances[account].sub(amount, "iBEP20: burn amount exceeds balance");
        totalSupply = totalSupply.sub(amount);
        emit Transfer(account, address(0), amount);
    }

    //=========================================DAO=========================================//
    // Can list
    function listAsset(address asset, uint256 claimRate, uint256 allocation) public onlyDAO returns(bool){
        if(!isListed[asset]){
            isListed[asset] = true;
            assetArray.push(asset);
        }
        mapAsset_claimRate[asset] = claimRate;
        mapAsset_allocation[asset] = allocation;
        emit ListedAsset(msg.sender, asset, claimRate, allocation);
        return true;
    }
    // Can delist
    function delistAsset(address asset) public onlyDAO returns(bool){
        isListed[asset] = false;
        mapAsset_claimRate[asset] = 0;
        mapAsset_allocation[asset] = 0;
        emit DelistedAsset(msg.sender, asset);
        return true;
    }
    // Can start
    function startEmissions() public onlyDAO returns(bool){
        emitting = true;
        return true;
    }
    // Can stop
    function stopEmissions() public onlyDAO returns(bool){
        emitting = false;
        return true;
    }
    // Can change emissionCurve
    function changeEmissionCurve(uint256 newCurve) public onlyDAO returns(bool){
        emissionCurve = newCurve;
        emit NewCurve(msg.sender, newCurve);
        return true;
    }
    // Can change daily time
    function changeEraDuration(uint256 newDuration) public onlyDAO returns(bool) {
        secondsPerEra = newDuration;
        emit NewDuration(msg.sender, newDuration);
        return true;
    }
    // Can change Incentive Address
    function changeIncentiveAddress(address newIncentiveAddress) public onlyDAO returns(bool) {
        incentiveAddress = newIncentiveAddress;
        emit NewIncentiveAddress(msg.sender, newIncentiveAddress);
        return true;
    }
    // Can change DAO
    function changeDAO(address newDAO) public onlyDAO returns(bool){
        require(newDAO != address(0), "Must not be zero address");
        DAO = newDAO;
        emit NewDAO(msg.sender, newDAO);
        return true;
    }
    // Can purge DAO
    function purgeDAO() public onlyDAO returns(bool){
        DAO = address(0);
        emit NewDAO(msg.sender, address(0));
        return true;
    }
    // Can purge DEPLOYER
    function purgeDeployer() public onlyDAO returns(bool){
        DEPLOYER = address(0);
        return true;
    }

   //======================================EMISSION========================================//
    // Internal - Update emission function
    function _checkEmission() private {
        if ((now >= nextEraTime) && emitting) {                                            // If new Era and allowed to emit
            currentEra += 1;                                                               // Increment Era
            nextEraTime = now + secondsPerEra;                                             // Set next Era time
            uint256 _emission = getDailyEmission();                                        // Get Daily Dmission
            _mint(incentiveAddress, _emission);                                            // Mint to the Incentive Address
            emit NewEra(currentEra, nextEraTime, _emission);                               // Emit Event
        }
    }
    // Calculate Daily Emission
    function getDailyEmission() public view returns (uint256) {
        uint _adjustedCap;
        if(totalSupply <= _100m){ // If less than 100m, then adjust cap down
            _adjustedCap = (totalCap.mul(totalSupply)).div(_100m); // 300m * 50m / 100m = 300m * 50% = 150m
        } else {
            _adjustedCap = totalCap;  // 300m
        }
        return (_adjustedCap.sub(totalSupply)).div(emissionCurve); // outstanding / 2048 
    }
    //======================================CLAIM========================================//
    // Anyone to Claim
    function claim(address asset, uint amount) public payable {
        
        uint _claim = amount;
        if(mapAsset_claimed[asset].add(amount) > mapAsset_allocation[asset]){
            _claim = mapAsset_allocation[asset].sub(mapAsset_claimed[asset]);
        }

        if(asset == address(0)){
            require(amount == msg.value, "Must get BNB");
            payable(burnAddress).call{value:_claim}("");
            payable(msg.sender).call{value:amount.sub(_claim)}("");
        } else {
            iBEP20(asset).transferFrom(msg.sender, burnAddress, _claim);
        }
        
        mapAsset_claimed[asset] = mapAsset_claimed[asset].add(amount);
        uint256 _adjustedClaimRate = getAdjustedClaimRate(asset);
        // sparta = rate * claim / 1e8
        uint256 _sparta = (_adjustedClaimRate.mul(_claim)).div(one);
        _mint(msg.sender, _sparta);
    }
     // Calculate Adjusted Claim Rate
    function getAdjustedClaimRate(address asset) public view returns (uint256 adjustedClaimRate) {
        uint256 _claimRate = mapAsset_claimRate[asset];                           // Get Claim Rate
        if(totalSupply <= _100m){
            // return 100%
            return _claimRate;
        } else {
            // (claim*(200-(totalSupply-_100m)))/200 -> starts 100% then goes to 0 at 300m. 
            uint256 _200m = totalCap.sub(_100m);
            return _claimRate.mul(_200m.sub((totalSupply.sub(_100m)))).div(_200m);
        }
    }
    //======================================HELPERS========================================//
    // Helper Functions

    function assetCount() public view returns (uint256 count){
        return assetArray.length;
    }
    function allAssets() public view returns (address[] memory _allAssets){
        return assetArray;
    }
    function assetsInRange(uint start, uint count) public view returns (address[] memory someAssets){
        if(count > assetCount()){count = assetCount();}
        address[] memory result = new address[](count);
        for (uint i = start; i<start.add(count); i++){
            result[i] = assetArray[i];
        }
        return result;
    }

    function getAssetDetails(address asset) public view returns (AssetDetailsStruct memory assetDetails){
        assetDetails.listed = isListed[asset];
        assetDetails.claimRate = mapAsset_claimRate[asset];
        assetDetails.claimed = mapAsset_claimed[asset];
        assetDetails.allocation = mapAsset_allocation[asset];
    }
}

Contract Security Audit

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":true,"internalType":"address","name":"DAO","type":"address"},{"indexed":true,"internalType":"address","name":"asset","type":"address"}],"name":"DelistedAsset","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"DAO","type":"address"},{"indexed":true,"internalType":"address","name":"asset","type":"address"},{"indexed":false,"internalType":"uint256","name":"claimRate","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"allocation","type":"uint256"}],"name":"ListedAsset","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"DAO","type":"address"},{"indexed":false,"internalType":"uint256","name":"newCurve","type":"uint256"}],"name":"NewCurve","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"DAO","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"NewDAO","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"DAO","type":"address"},{"indexed":false,"internalType":"uint256","name":"newDuration","type":"uint256"}],"name":"NewDuration","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"currentEra","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"nextEraTime","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"emission","type":"uint256"}],"name":"NewEra","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"DAO","type":"address"},{"indexed":false,"internalType":"address","name":"newIncentiveAddress","type":"address"}],"name":"NewIncentiveAddress","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":"DAO","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DEPLOYER","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_100m","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"allAssets","outputs":[{"internalType":"address[]","name":"_allAssets","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","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":"uint256","name":"","type":"uint256"}],"name":"assetArray","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"assetCount","outputs":[{"internalType":"uint256","name":"count","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"count","type":"uint256"}],"name":"assetsInRange","outputs":[{"internalType":"address[]","name":"someAssets","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":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"burnAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burnFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newDAO","type":"address"}],"name":"changeDAO","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newCurve","type":"uint256"}],"name":"changeEmissionCurve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newDuration","type":"uint256"}],"name":"changeEraDuration","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newIncentiveAddress","type":"address"}],"name":"changeIncentiveAddress","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"asset","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"claim","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"currentEra","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"asset","type":"address"}],"name":"delistAsset","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"emissionCurve","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"emitting","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"asset","type":"address"}],"name":"getAdjustedClaimRate","outputs":[{"internalType":"uint256","name":"adjustedClaimRate","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"asset","type":"address"}],"name":"getAssetDetails","outputs":[{"components":[{"internalType":"bool","name":"listed","type":"bool"},{"internalType":"uint256","name":"claimRate","type":"uint256"},{"internalType":"uint256","name":"claimed","type":"uint256"},{"internalType":"uint256","name":"allocation","type":"uint256"}],"internalType":"struct Sparta.AssetDetailsStruct","name":"assetDetails","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getDailyEmission","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"incentiveAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isListed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"asset","type":"address"},{"internalType":"uint256","name":"claimRate","type":"uint256"},{"internalType":"uint256","name":"allocation","type":"uint256"}],"name":"listAsset","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"mapAsset_allocation","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"mapAsset_claimRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"mapAsset_claimed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"nextEraTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"purgeDAO","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"purgeDeployer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"secondsPerEra","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"startEmissions","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stopEmissions","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalCap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferTo","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040523480156200001157600080fd5b506040805180820190915260168082527f5350415254414e2050524f544f434f4c20544f4b454e000000000000000000006020909201918252620000589160009162000108565b506040805180820190915260068082526553504152544160d01b6020909201918252620000889160019162000108565b506012600255670de0b6b3a76400006006556a52b7d2dcc80cd2e400000060095560006003556af8277896582678ac000000600a556108006008556007805460ff191690556001600c5562015180600b8190554201600d55601180546001600160a01b031990811633179091556010805490911661dead179055620001ad565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200014b57805160ff19168380011785556200017b565b828001600101855582156200017b579182015b828111156200017b5782518255916020019190600101906200015e565b50620001899291506200018d565b5090565b620001aa91905b8082111562000189576000815560010162000194565b90565b6121ce80620001bd6000396000f3fe60806040526004361061028c5760003560e01c80637605bbb01161015a578063aad3ec96116100c1578063dd62ed3e1161007a578063dd62ed3e14610731578063e86dad2914610751578063eae9fd6d14610771578063eafe7a7414610791578063f293e675146107a6578063f794062e146107bb5761029e565b8063aad3ec9614610694578063acf4db86146106a7578063ba0f6566146106c7578063be8051c9146106e7578063c1b8411a14610707578063c91b6b461461071c5761029e565b8063973628f611610113578063973628f6146105e857806398fabd3a146105fd5780639a67759b146106125780639c9b645114610627578063a457c2d714610654578063a9059cbb146106745761029e565b80637605bbb01461053157806376d708d71461055157806379cc6790146105735780638377e89a1461059357806395d89b41146105b35780639620e222146105c85761029e565b806328957be2116101fe57806342966c68116101b757806342966c68146104875780636b92a3b6146104a757806370a08231146104bc57806370d5ae05146104dc5780637299626d146104f1578063745fda9b146105115761029e565b806328957be2146103e65780632ccb1b30146104085780632eabea0214610428578063313ce5671461043d5780633950935114610452578063405b6587146104725761029e565b8063095ea7b311610250578063095ea7b314610347578063164500921461036757806318160ddd1461037c5780631b02f845146103915780631d007f5f146103a657806323b872dd146103c65761029e565b806303a82138146102a357806306f8b189146102ce57806306fdde03146102ee5780630781f4d214610310578063090bbb01146103255761029e565b3661029e5761029c6000346107db565b005b600080fd5b3480156102af57600080fd5b506102b8610a63565b6040516102c59190611d97565b60405180910390f35b3480156102da57600080fd5b506102b86102e9366004611c83565b610abb565b3480156102fa57600080fd5b50610303610bf1565b6040516102c59190611da2565b34801561031c57600080fd5b506102b8610c7f565b34801561033157600080fd5b5061033a610c88565b6040516102c59190612098565b34801561035357600080fd5b506102b8610362366004611c59565b610c8e565b34801561037357600080fd5b5061033a610ca5565b34801561038857600080fd5b5061033a610cab565b34801561039d57600080fd5b506102b8610cb1565b3480156103b257600080fd5b506102b86103c1366004611bca565b610d07565b3480156103d257600080fd5b506102b86103e1366004611c19565b610dcd565b3480156103f257600080fd5b506103fb610e3c565b6040516102c59190611d12565b34801561041457600080fd5b506102b8610423366004611c59565b610e4b565b34801561043457600080fd5b506102b8610e58565b34801561044957600080fd5b5061033a610eaa565b34801561045e57600080fd5b506102b861046d366004611c59565b610eb0565b34801561047e57600080fd5b5061033a610eec565b34801561049357600080fd5b5061029c6104a2366004611cd6565b610ef2565b3480156104b357600080fd5b5061033a610eff565b3480156104c857600080fd5b5061033a6104d7366004611bca565b610f05565b3480156104e857600080fd5b506103fb610f20565b3480156104fd57600080fd5b506102b861050c366004611cd6565b610f2f565b34801561051d57600080fd5b5061033a61052c366004611bca565b610fa8565b34801561053d57600080fd5b506102b861054c366004611bca565b611032565b34801561055d57600080fd5b506105666110da565b6040516102c59190611d4a565b34801561057f57600080fd5b5061029c61058e366004611c59565b61113c565b34801561059f57600080fd5b506102b86105ae366004611bca565b61118e565b3480156105bf57600080fd5b5061030361121d565b3480156105d457600080fd5b5061033a6105e3366004611bca565b611277565b3480156105f457600080fd5b5061033a611289565b34801561060957600080fd5b506103fb61128f565b34801561061e57600080fd5b5061033a61129e565b34801561063357600080fd5b50610647610642366004611bca565b6112a4565b6040516102c5919061206b565b34801561066057600080fd5b506102b861066f366004611c59565b6112ff565b34801561068057600080fd5b506102b861068f366004611c59565b611354565b61029c6106a2366004611c59565b6107db565b3480156106b357600080fd5b506102b86106c2366004611cd6565b611361565b3480156106d357600080fd5b5061033a6106e2366004611bca565b6113da565b3480156106f357600080fd5b5061033a610702366004611bca565b6113ec565b34801561071357600080fd5b506103fb6113fe565b34801561072857600080fd5b506102b861140d565b34801561073d57600080fd5b5061033a61074c366004611be5565b6114a0565b34801561075d57600080fd5b506103fb61076c366004611cd6565b6114cb565b34801561077d57600080fd5b5061056661078c366004611cee565b6114f2565b34801561079d57600080fd5b5061033a6115cc565b3480156107b257600080fd5b5061033a6115d2565b3480156107c757600080fd5b506102b86107d6366004611bca565b61162a565b6001600160a01b038216600090815260166020908152604080832054601590925290912054829190610813908363ffffffff61163f16565b1115610850576001600160a01b03831660009081526015602090815260408083205460169092529091205461084d9163ffffffff61166b16565b90505b6001600160a01b038316610951573482146108865760405162461bcd60e51b815260040161087d90611ed9565b60405180910390fd5b6010546040516001600160a01b039091169082906108a390611d0f565b60006040518083038185875af1925050503d80600081146108e0576040519150601f19603f3d011682016040523d82523d6000602084013e6108e5565b606091505b503391506108fb9050838363ffffffff61166b16565b60405161090790611d0f565b60006040518083038185875af1925050503d8060008114610944576040519150601f19603f3d011682016040523d82523d6000602084013e610949565b606091505b5050506109d9565b6010546040516323b872dd60e01b81526001600160a01b03808616926323b872dd9261098592339216908690600401611d26565b602060405180830381600087803b15801561099f57600080fd5b505af11580156109b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109d79190611cb6565b505b6001600160a01b038316600090815260156020526040902054610a02908363ffffffff61163f16565b6001600160a01b038416600090815260156020526040812091909155610a2784610fa8565b90506000610a50600654610a4485856116ad90919063ffffffff16565b9063ffffffff6116e716565b9050610a5c3382611729565b5050505050565b600f546000906001600160a01b0316331480610a8957506011546001600160a01b031633145b610aa55760405162461bcd60e51b815260040161087d90611e6f565b50601180546001600160a01b0319169055600190565b600f546000906001600160a01b0316331480610ae157506011546001600160a01b031633145b610afd5760405162461bcd60e51b815260040161087d90611e6f565b6001600160a01b03841660009081526013602052604090205460ff16610b83576001600160a01b0384166000818152601360205260408120805460ff191660019081179091556012805491820181559091527fbb8a6a4669ba250d26cd7a459eca9d215f8307e33aebe50379bc5a3617ec34440180546001600160a01b03191690911790555b6001600160a01b03841660008181526014602090815260408083208790556016909152908190208490555133907f1adc5ea472d4a0b01604de1a7e973f26d81a58b0dafb186558bdf15e1af8479b90610bdf90879087906120a1565b60405180910390a35060019392505050565b6000805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610c775780601f10610c4c57610100808354040283529160200191610c77565b820191906000526020600020905b815481529060010190602001808311610c5a57829003601f168201915b505050505081565b60075460ff1681565b600d5481565b6000610c9b33848461180c565b5060015b92915050565b600a5481565b60035481565b600f546000906001600160a01b0316331480610cd757506011546001600160a01b031633145b610cf35760405162461bcd60e51b815260040161087d90611e6f565b506007805460ff1916600190811790915590565b600f546000906001600160a01b0316331480610d2d57506011546001600160a01b031633145b610d495760405162461bcd60e51b815260040161087d90611e6f565b6001600160a01b038216610d6f5760405162461bcd60e51b815260040161087d90611f75565b600f80546001600160a01b0319166001600160a01b03841617905560405133907f567cac11d4a66456bbe20dc60d3579ec446a4e2fffae2a85f82ad0f1f18214f190610dbc908590611d12565b60405180910390a25060015b919050565b6000610dda8484846118c0565b610e328433610e2d856040518060600160405280602981526020016120db602991396001600160a01b038a166000908152600560209081526040808320338452909152902054919063ffffffff6119c016565b61180c565b5060019392505050565b600e546001600160a01b031681565b6000610c9b3284846118c0565b600f546000906001600160a01b0316331480610e7e57506011546001600160a01b031633145b610e9a5760405162461bcd60e51b815260040161087d90611e6f565b506007805460ff19169055600190565b60025481565b3360008181526005602090815260408083206001600160a01b03871684529091528120549091610c9b918590610e2d908663ffffffff61163f16565b60095481565b610efc33826119ec565b50565b600b5481565b6001600160a01b031660009081526004602052604090205490565b6010546001600160a01b031681565b600f546000906001600160a01b0316331480610f5557506011546001600160a01b031633145b610f715760405162461bcd60e51b815260040161087d90611e6f565b600b82905560405133907fc0473c2cbb9705ca96e7d892f51ae51b81f597dab7ed6eb25f0a3e7c75d4663990610dbc908590612098565b6001600160a01b03811660009081526014602052604081205460095460035411610fd3579050610dc8565b6000610fec600954600a5461166b90919063ffffffff16565b905061102981610a4461101c61100f60095460035461166b90919063ffffffff16565b859063ffffffff61166b16565b859063ffffffff6116ad16565b92505050610dc8565b600f546000906001600160a01b031633148061105857506011546001600160a01b031633145b6110745760405162461bcd60e51b815260040161087d90611e6f565b6001600160a01b0382166000818152601360209081526040808320805460ff191690556014825280832083905560169091528082208290555133917ff487c2322baa448cfa506b983134d9dd9f27d0bbfe0b48119a3908d4f0dde89f91a3506001919050565b6060601280548060200260200160405190810160405280929190818152602001828054801561113257602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611114575b5050505050905090565b6000611172826040518060600160405280602581526020016121046025913961116586336114a0565b919063ffffffff6119c016565b905061117f83338361180c565b61118983836119ec565b505050565b600f546000906001600160a01b03163314806111b457506011546001600160a01b031633145b6111d05760405162461bcd60e51b815260040161087d90611e6f565b600e80546001600160a01b0319166001600160a01b03841617905560405133907f5b536d33bf72072f3abff40e9c9bc550f83025bbc9b8cc36972c166d8b568b4390610dbc908590611d12565b60018054604080516020600284861615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610c775780601f10610c4c57610100808354040283529160200191610c77565b60166020526000908152604090205481565b600c5481565b600f546001600160a01b031681565b60085481565b6112ac611b89565b6001600160a01b0390911660008181526013602090815260408083205460ff1615158552838352601482528083205485830152838352601582528083205485820152928252601690522054606082015290565b6000610c9b3384610e2d85604051806060016040528060268152602001612173602691393360009081526005602090815260408083206001600160a01b038d168452909152902054919063ffffffff6119c016565b6000610c9b3384846118c0565b600f546000906001600160a01b031633148061138757506011546001600160a01b031633145b6113a35760405162461bcd60e51b815260040161087d90611e6f565b600882905560405133907fe61d471656d849b230e45307bce5f71d00383888866b992d6a6993b72361e79990610dbc908590612098565b60146020526000908152604090205481565b60156020526000908152604090205481565b6011546001600160a01b031681565b600f546000906001600160a01b031633148061143357506011546001600160a01b031633145b61144f5760405162461bcd60e51b815260040161087d90611e6f565b600f80546001600160a01b031916905560405133907f567cac11d4a66456bbe20dc60d3579ec446a4e2fffae2a85f82ad0f1f18214f19061149290600090611d12565b60405180910390a250600190565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b601281815481106114d857fe5b6000918252602090912001546001600160a01b0316905081565b60606114fc6115cc565b82111561150e5761150b6115cc565b91505b60608267ffffffffffffffff8111801561152757600080fd5b50604051908082528060200260200182016040528015611551578160200160208202803683370190505b509050835b611566858563ffffffff61163f16565b8110156115c4576012818154811061157a57fe5b9060005260206000200160009054906101000a90046001600160a01b03168282815181106115a457fe5b6001600160a01b0390921660209283029190910190910152600101611556565b509392505050565b60125490565b60008060095460035411611604576115fd600954610a44600354600a546116ad90919063ffffffff16565b9050611609565b50600a545b611624600854610a446003548461166b90919063ffffffff16565b91505090565b60136020526000908152604090205460ff1681565b6000828201838110156116645760405162461bcd60e51b815260040161087d90611df5565b9392505050565b600061166483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506119c0565b6000826116bc57506000610c9f565b828202828482816116c957fe5b04146116645760405162461bcd60e51b815260040161087d90611eff565b600061166483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611ac2565b6001600160a01b03821661174f5760405162461bcd60e51b815260040161087d90611f40565b600354611762908263ffffffff61163f16565b6003819055600a5410156117885760405162461bcd60e51b815260040161087d90611fac565b6001600160a01b0382166000908152600460205260409020546117b1908263ffffffff61163f16565b6001600160a01b0383166000818152600460205260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611800908590612098565b60405180910390a35050565b6001600160a01b0383166118325760405162461bcd60e51b815260040161087d90611e94565b6001600160a01b0382166118585760405162461bcd60e51b815260040161087d90611e2c565b6001600160a01b0380841660008181526005602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906118b3908590612098565b60405180910390a3505050565b6001600160a01b0383166118e65760405162461bcd60e51b815260040161087d90612025565b61192981604051806060016040528060278152602001612129602791396001600160a01b038616600090815260046020526040902054919063ffffffff6119c016565b6001600160a01b03808516600090815260046020526040808220939093559084168152205461195e908263ffffffff61163f16565b6001600160a01b0380841660008181526004602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906119b0908590612098565b60405180910390a3611189611af9565b600081848411156119e45760405162461bcd60e51b815260040161087d9190611da2565b505050900390565b6001600160a01b038216611a125760405162461bcd60e51b815260040161087d90611fe3565b611a5581604051806060016040528060238152602001612150602391396001600160a01b038516600090815260046020526040902054919063ffffffff6119c016565b6001600160a01b038316600090815260046020526040902055600354611a81908263ffffffff61166b16565b6003556040516000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611800908590612098565b60008183611ae35760405162461bcd60e51b815260040161087d9190611da2565b506000838581611aef57fe5b0495945050505050565b600d544210158015611b0d575060075460ff165b15611b8757600c80546001019055600b544201600d556000611b2d6115d2565b600e54909150611b46906001600160a01b031682611729565b7f9d472bcf372fce01fd875c3296e8e5ae0a08bfca42dedac19e202271ce8f39c5600c54600d5483604051611b7d939291906120af565b60405180910390a1505b565b60405180608001604052806000151581526020016000815260200160008152602001600081525090565b80356001600160a01b0381168114610c9f57600080fd5b600060208284031215611bdb578081fd5b6116648383611bb3565b60008060408385031215611bf7578081fd5b611c018484611bb3565b9150611c108460208501611bb3565b90509250929050565b600080600060608486031215611c2d578081fd5b8335611c38816120c5565b92506020840135611c48816120c5565b929592945050506040919091013590565b60008060408385031215611c6b578182fd5b611c758484611bb3565b946020939093013593505050565b600080600060608486031215611c97578283fd5b611ca18585611bb3565b95602085013595506040909401359392505050565b600060208284031215611cc7578081fd5b81518015158114611664578182fd5b600060208284031215611ce7578081fd5b5035919050565b60008060408385031215611d00578182fd5b50508035926020909101359150565b90565b6001600160a01b0391909116815260200190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6020808252825182820181905260009190848201906040850190845b81811015611d8b5783516001600160a01b031683529284019291840191600101611d66565b50909695505050505050565b901515815260200190565b6000602080835283518082850152825b81811015611dce57858101830151858201604001528201611db2565b81811115611ddf5783604083870101525b50601f01601f1916929092016040019392505050565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526023908201527f6942455032303a20617070726f766520746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b6020808252600b908201526a4d7573742062652044414f60a81b604082015260600190565b60208082526025908201527f6942455032303a20617070726f76652066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b6020808252600c908201526b26bab9ba1033b2ba1021272160a11b604082015260600190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252818101527f6942455032303a206d696e7420746f20746865207a65726f2061646472657373604082015260600190565b60208082526018908201527f4d757374206e6f74206265207a65726f20616464726573730000000000000000604082015260600190565b6020808252601f908201527f4d757374206e6f74206d696e74206d6f7265207468616e207468652063617000604082015260600190565b60208082526022908201527f6942455032303a206275726e2066726f6d20746865207a65726f206164647265604082015261737360f01b606082015260800190565b60208082526026908201527f6942455032303a207472616e736665722066726f6d20746865207a65726f206160408201526564647265737360d01b606082015260800190565b81511515815260208083015190820152604080830151908201526060918201519181019190915260800190565b90815260200190565b918252602082015260400190565b9283526020830191909152604082015260600190565b6001600160a01b0381168114610efc57600080fdfe6942455032303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63656942455032303a206275726e20616d6f756e74206578636565647320616c6c6f77616e63656942455032303a207472616e7366657220616d6f756e7420657863656564732062616c616e63656942455032303a206275726e20616d6f756e7420657863656564732062616c616e63656942455032303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220f1c453259ae38ef9559a5604262e6f8abcfa4c285d98640fb489ddf63f94741064736f6c63430006080033

Deployed ByteCode Sourcemap

2119:12942:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4670:28;4684:1;4688:9;4670:5;:28::i;:::-;2119:12942;;12:1:-1;9;2:12;10904:115:0;;5:9:-1;2:2;;;27:1;24;17:12;2:2;10904:115:0;;;:::i;:::-;;;;;;;;;;;;;;;;8736:414;;5:9:-1;2:2;;;27:1;24;17:12;2:2;-1:-1;8736:414:0;;;;;;;;:::i;2213:27::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;2213:27:0;;;:::i;:::-;;;;;;;;2545:20;;5:9:-1;2:2;;;27:1;24;17:12;2:2;2545:20:0;;;:::i;2731:26::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;2731:26:0;;;:::i;:::-;;;;;;;;5356:167;;5:9:-1;2:2;;;27:1;24;17:12;2:2;-1:-1;5356:167:0;;;;;;;;:::i;2634:23::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;2634:23:0;;;:::i;2312:35::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;2312:35:0;;;:::i;9456:110::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;9456:110:0;;;:::i;10466:226::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;-1:-1;10466:226:0;;;;;;;;:::i;6416:318::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;-1:-1;6416:318:0;;;;;;;;:::i;2766:31::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;2766:31:0;;;:::i;:::-;;;;;;;;6770:157;;5:9:-1;2:2;;;27:1;24;17:12;2:2;-1:-1;6770:157:0;;;;;;;;:::i;9589:110::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;9589:110:0;;;:::i;2278:32::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;2278:32:0;;;:::i;5529:214::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;-1:-1;5529:214:0;;;;;;;;:::i;2607:20::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;2607:20:0;;;:::i;7871:89::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;-1:-1;7871:89:0;;;;;;;;:::i;2664:28::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;2664:28:0;;;:::i;4811:119::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;-1:-1;4811:119:0;;;;;;;;:::i;2829:26::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;2829:26:0;;;:::i;9960:197::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;-1:-1;9960:197:0;;;;;;;;:::i;13464:554::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;-1:-1;13464:554:0;;;;;;;;:::i;9175:257::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;-1:-1;9175:257:0;;;;;;;;:::i;14252:106::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;14252:106:0;;;:::i;:::-;;;;;;;;7966:290;;5:9:-1;2:2;;;27:1;24;17:12;2:2;-1:-1;7966:290:0;;;;;;;;:::i;10200:237::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;-1:-1;10200:237:0;;;;;;;;:::i;2242:29::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;2242:29:0;;;:::i;3093:54::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;-1:-1;3093:54:0;;;;;;;;:::i;2699:25::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;2699:25:0;;;:::i;2804:18::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;2804:18:0;;;:::i;2572:28::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;2572:28:0;;;:::i;14721:337::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;-1:-1;14721:337:0;;;;;;;;:::i;:::-;;;;;;;;5749:266;;5:9:-1;2:2;;;27:1;24;17:12;2:2;-1:-1;5749:266:0;;;;;;;;:::i;5126:173::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;-1:-1;5126:173:0;;;;;;;;:::i;12522:897::-;;;;;;;;;:::i;9738:186::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;-1:-1;9738:186:0;;;;;;;;:::i;2975:53::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;-1:-1;2975:53:0;;;;;;;;:::i;3035:51::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;-1:-1;3035:51:0;;;;;;;;:::i;2862:23::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;2862:23:0;;;:::i;10720:151::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;10720:151:0;;;:::i;4936:::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;-1:-1;4936:151:0;;;;;;;;:::i;2894:27::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;-1:-1;2894:27:0;;;;;;;;:::i;14364:349::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;-1:-1;14364:349:0;;;;;;;;:::i;14146:100::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;14146:100:0;;;:::i;11951:448::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;11951:448:0;;;:::i;2928:40::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;-1:-1;2928:40:0;;;;;;;;:::i;12522:897::-;-1:-1:-1;;;;;12673:26:0;;12601:11;12673:26;;;:19;:26;;;;;;;;;12635:16;:23;;;;;;;12615:6;;12673:26;12635:35;;12615:6;12635:35;:27;:35;:::i;:::-;:64;12632:159;;;-1:-1:-1;;;;;12755:23:0;;;;;;:16;:23;;;;;;;;;12724:19;:26;;;;;;;:55;;;:30;:55;:::i;:::-;12715:64;;12632:159;-1:-1:-1;;;;;12806:19:0;;12803:313;;12859:9;12849:6;:19;12841:44;;;;-1:-1:-1;;;12841:44:0;;;;;;;;;;;;;;;;;12908:11;;12900:43;;-1:-1:-1;;;;;12908:11:0;;;;12932:6;;12900:43;;;;;;;;;;;;;;;;;;;;;12:1:-1;19;14:27;;;;67:4;61:11;56:16;;134:4;130:9;123:4;105:16;101:27;97:43;94:1;90:51;84:4;77:65;157:16;154:1;147:27;211:16;208:1;201:4;198:1;194:12;179:49;5:228;;14:27;32:4;27:9;;5:228;-1:-1;12966:10:0;;-1:-1:-1;12989:18:0;;-1:-1:-1;12989:6:0;13000;12989:18;:10;:18;:::i;:::-;12958:54;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;19;14:27;;;;67:4;61:11;56:16;;134:4;130:9;123:4;105:16;101:27;97:43;94:1;90:51;84:4;77:65;157:16;154:1;147:27;211:16;208:1;201:4;198:1;194:12;179:49;5:228;;14:27;32:4;27:9;;5:228;;12958:54:0;;12803:313;;;13084:11;;13045:59;;-1:-1:-1;;;13045:59:0;;-1:-1:-1;;;;;13045:26:0;;;;;;:59;;13072:10;;13084:11;;13097:6;;13045:59;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;13045:59:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13045:59:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;13045:59:0;;;;;;;;;;12803:313;-1:-1:-1;;;;;13162:23:0;;;;;;:16;:23;;;;;;:35;;13190:6;13162:35;:27;:35;:::i;:::-;-1:-1:-1;;;;;13136:23:0;;;;;;:16;:23;;;;;:61;;;;13237:27;13153:5;13237:20;:27::i;:::-;13208:56;;13315:15;13333:41;13370:3;;13334:30;13357:6;13334:18;:22;;:30;;;;:::i;:::-;13333:36;:41;:36;:41;:::i;:::-;13315:59;;13385:26;13391:10;13403:7;13385:5;:26::i;:::-;12522:897;;;;;:::o;10904:115::-;3922:3;;10952:4;;-1:-1:-1;;;;;3922:3:0;3908:10;:17;;:43;;-1:-1:-1;3943:8:0;;-1:-1:-1;;;;;3943:8:0;3929:10;:22;3908:43;3900:67;;;;-1:-1:-1;;;3900:67:0;;;;;;;;;-1:-1:-1;10968:8:0::1;:21:::0;;-1:-1:-1;;;;;;10968:21:0::1;::::0;;;10904:115;:::o;8736:414::-;3922:3;;8832:4;;-1:-1:-1;;;;;3922:3:0;3908:10;:17;;:43;;-1:-1:-1;3943:8:0;;-1:-1:-1;;;;;3943:8:0;3929:10;:22;3908:43;3900:67;;;;-1:-1:-1;;;3900:67:0;;;;;;;;;-1:-1:-1;;;;;8852:15:0;::::1;;::::0;;;:8:::1;:15;::::0;;;;;::::1;;8848:106;;-1:-1:-1::0;;;;;8883:15:0;::::1;;::::0;;;:8:::1;:15;::::0;;;;:22;;-1:-1:-1;;8883:22:0::1;8901:4;8883:22:::0;;::::1;::::0;;;8920:10:::1;27::-1::0;;23:18;;::::1;45:23:::0;;8920:22:0;;;;::::1;::::0;;-1:-1:-1;;;;;;8920:22:0::1;::::0;;::::1;::::0;;8848:106:::1;-1:-1:-1::0;;;;;8964:25:0;::::1;;::::0;;;:18:::1;:25;::::0;;;;;;;:37;;;9012:19:::1;:26:::0;;;;;;;:39;;;9067:53;9079:10:::1;::::0;9067:53:::1;::::0;::::1;::::0;8992:9;;9041:10;;9067:53:::1;;;;;;;;;;-1:-1:-1::0;9138:4:0::1;8736:414:::0;;;;;:::o;2213:27::-;;;;;;;;;;;;;;;-1:-1:-1;;2213:27:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2545:20::-;;;;;;:::o;2731:26::-;;;;:::o;5356:167::-;5439:4;5456:37;5465:10;5477:7;5486:6;5456:8;:37::i;:::-;-1:-1:-1;5511:4:0;5356:167;;;;;:::o;2634:23::-;;;;:::o;2312:35::-;;;;:::o;9456:110::-;3922:3;;9505:4;;-1:-1:-1;;;;;3922:3:0;3908:10;:17;;:43;;-1:-1:-1;3943:8:0;;-1:-1:-1;;;;;3943:8:0;3929:10;:22;3908:43;3900:67;;;;-1:-1:-1;;;3900:67:0;;;;;;;;;-1:-1:-1;9521:8:0::1;:15:::0;;-1:-1:-1;;9521:15:0::1;9532:4;9521:15:::0;;::::1;::::0;;;9456:110;:::o;10466:226::-;3922:3;;10524:4;;-1:-1:-1;;;;;3922:3:0;3908:10;:17;;:43;;-1:-1:-1;3943:8:0;;-1:-1:-1;;;;;3943:8:0;3929:10;:22;3908:43;3900:67;;;;-1:-1:-1;;;3900:67:0;;;;;;;;;-1:-1:-1;;;;;10548:20:0;::::1;10540:57;;;;-1:-1:-1::0;;;10540:57:0::1;;;;;;;;;10608:3;:12:::0;;-1:-1:-1;;;;;;10608:12:0::1;-1:-1:-1::0;;;;;10608:12:0;::::1;;::::0;;10636:26:::1;::::0;10643:10:::1;::::0;10636:26:::1;::::0;::::1;::::0;10608:12;;10636:26:::1;;;;;;;;;;-1:-1:-1::0;10680:4:0::1;3978:1;10466:226:::0;;;:::o;6416:318::-;6522:4;6539:36;6549:6;6557:9;6568:6;6539:9;:36::i;:::-;6586:118;6595:6;6603:10;6615:88;6651:6;6615:88;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6615:19:0;;;;;;:11;:19;;;;;;;;6635:10;6615:31;;;;;;;;;:88;;:35;:88;:::i;:::-;6586:8;:118::i;:::-;-1:-1:-1;6722:4:0;6416:318;;;;;:::o;2766:31::-;;;-1:-1:-1;;;;;2766:31:0;;:::o;6770:157::-;6841:4;6858:39;6868:9;6879;6890:6;6858:9;:39::i;9589:110::-;3922:3;;9637:4;;-1:-1:-1;;;;;3922:3:0;3908:10;:17;;:43;;-1:-1:-1;3943:8:0;;-1:-1:-1;;;;;3943:8:0;3929:10;:22;3908:43;3900:67;;;;-1:-1:-1;;;3900:67:0;;;;;;;;;-1:-1:-1;9653:8:0::1;:16:::0;;-1:-1:-1;;9653:16:0::1;::::0;;;9589:110;:::o;2278:32::-;;;;:::o;5529:214::-;5643:10;5617:4;5664:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;5664:32:0;;;;;;;;;;5617:4;;5634:79;;5655:7;;5664:48;;5701:10;5664:48;:36;:48;:::i;2607:20::-;;;;:::o;7871:89::-;7927:25;7933:10;7945:6;7927:5;:25::i;:::-;7871:89;:::o;2664:28::-;;;;:::o;4811:119::-;-1:-1:-1;;;;;4904:18:0;4877:7;4904:18;;;:9;:18;;;;;;;4811:119::o;2829:26::-;;;-1:-1:-1;;;;;2829:26:0;;:::o;9960:197::-;3922:3;;10031:4;;-1:-1:-1;;;;;3922:3:0;3908:10;:17;;:43;;-1:-1:-1;3943:8:0;;-1:-1:-1;;;;;3943:8:0;3929:10;:22;3908:43;3900:67;;;;-1:-1:-1;;;3900:67:0;;;;;;;;;10048:13:::1;:27:::0;;;10091:36:::1;::::0;10103:10:::1;::::0;10091:36:::1;::::0;::::1;::::0;10064:11;;10091:36:::1;;13464:554:::0;-1:-1:-1;;;;;13589:25:0;;13530;13589;;;:18;:25;;;;;;13687:5;;13672:11;;:20;13669:342;;13743:10;-1:-1:-1;13736:17:0;;13669:342;13880:13;13896:19;13909:5;;13896:8;;:12;;:19;;;;:::i;:::-;13880:35;;13937:62;13993:5;13937:51;13952:35;13963:22;13979:5;;13963:11;;:15;;:22;;;;:::i;:::-;13952:5;;:35;:9;:35;:::i;:::-;13937:10;;:51;:14;:51;:::i;:62::-;13930:69;;;;;;9175:257;3922:3;;9234:4;;-1:-1:-1;;;;;3922:3:0;3908:10;:17;;:43;;-1:-1:-1;3943:8:0;;-1:-1:-1;;;;;3943:8:0;3929:10;:22;3908:43;3900:67;;;;-1:-1:-1;;;3900:67:0;;;;;;;;;-1:-1:-1;;;;;9250:15:0;::::1;9268:5;9250:15:::0;;;:8:::1;:15;::::0;;;;;;;:23;;-1:-1:-1;;9250:23:0::1;::::0;;9284:18:::1;:25:::0;;;;;:29;;;9324:19:::1;:26:::0;;;;;;:30;;;9370:32;9384:10:::1;::::0;9370:32:::1;::::0;::::1;-1:-1:-1::0;9420:4:0::1;9175:257:::0;;;:::o;14252:106::-;14294:27;14340:10;14333:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14333:17:0;;;;;;;;;;;;;;;;;;;;;;;14252:106;:::o;7966:290::-;8043:26;8072:83;8107:6;8072:83;;;;;;;;;;;;;;;;;:30;8082:7;8091:10;8072:9;:30::i;:::-;:34;:83;;:34;:83;:::i;:::-;8043:112;;8166:49;8175:7;8184:10;8196:18;8166:8;:49::i;:::-;8226:22;8232:7;8241:6;8226:5;:22::i;:::-;7966:290;;;:::o;10200:237::-;3922:3;;10284:4;;-1:-1:-1;;;;;3922:3:0;3908:10;:17;;:43;;-1:-1:-1;3943:8:0;;-1:-1:-1;;;;;3943:8:0;3929:10;:22;3908:43;3900:67;;;;-1:-1:-1;;;3900:67:0;;;;;;;;;10301:16:::1;:38:::0;;-1:-1:-1;;;;;;10301:38:0::1;-1:-1:-1::0;;;;;10301:38:0;::::1;;::::0;;10355:52:::1;::::0;10375:10:::1;::::0;10355:52:::1;::::0;::::1;::::0;10301:38;;10355:52:::1;;2242:29:::0;;;;;;;;;;;;;;;-1:-1:-1;;2242:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3093:54;;;;;;;;;;;;;:::o;2699:25::-;;;;:::o;2804:18::-;;;-1:-1:-1;;;;;2804:18:0;;:::o;2572:28::-;;;;:::o;14721:337::-;14782:38;;:::i;:::-;-1:-1:-1;;;;;14854:15:0;;;;;;;:8;:15;;;;;;;;;;;14832:37;;;;14905:25;;;:18;:25;;;;;;14880:22;;;:50;14964:23;;;:16;:23;;;;;;14941:20;;;:46;15024:26;;;:19;:26;;;;14998:23;;;:52;14832:12;14721:337::o;5749:266::-;5842:4;5859:126;5868:10;5880:7;5889:95;5926:15;5889:95;;;;;;;;;;;;;;;;;5901:10;5889:23;;;;:11;:23;;;;;;;;-1:-1:-1;;;;;5889:32:0;;;;;;;;;;;:95;;:36;:95;:::i;5126:173::-;5212:4;5229:40;5239:10;5251:9;5262:6;5229:9;:40::i;9738:186::-;3922:3;;9808:4;;-1:-1:-1;;;;;3922:3:0;3908:10;:17;;:43;;-1:-1:-1;3943:8:0;;-1:-1:-1;;;;;3943:8:0;3929:10;:22;3908:43;3900:67;;;;-1:-1:-1;;;3900:67:0;;;;;;;;;9824:13:::1;:24:::0;;;9864:30:::1;::::0;9873:10:::1;::::0;9864:30:::1;::::0;::::1;::::0;9840:8;;9864:30:::1;;2975:53:::0;;;;;;;;;;;;;:::o;3035:51::-;;;;;;;;;;;;;:::o;2862:23::-;;;-1:-1:-1;;;;;2862:23:0;;:::o;10720:151::-;3922:3;;10763:4;;-1:-1:-1;;;;;3922:3:0;3908:10;:17;;:43;;-1:-1:-1;3943:8:0;;-1:-1:-1;;;;;3943:8:0;3929:10;:22;3908:43;3900:67;;;;-1:-1:-1;;;3900:67:0;;;;;;;;;10779:3:::1;:16:::0;;-1:-1:-1;;;;;;10779:16:0::1;::::0;;10811:30:::1;::::0;10818:10:::1;::::0;10811:30:::1;::::0;::::1;::::0;10793:1:::1;::::0;10811:30:::1;;;;;;;;;;-1:-1:-1::0;10859:4:0::1;10720:151:::0;:::o;4936:::-;-1:-1:-1;;;;;5052:18:0;;;5025:7;5052:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;4936:151::o;2894:27::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2894:27:0;;-1:-1:-1;2894:27:0;:::o;14364:349::-;14432:27;14482:12;:10;:12::i;:::-;14474:5;:20;14471:47;;;14504:12;:10;:12::i;:::-;14496:20;;14471:47;14528:23;14568:5;14554:20;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;14554:20:0;;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;125:4;109:14;101:6;88:42;144:17;;-1:-1;14554:20:0;-1:-1:-1;14528:46:0;-1:-1:-1;14599:5:0;14585:97;14608:16;:5;14618;14608:16;:9;:16;:::i;:::-;14606:1;:18;14585:97;;;14657:10;14668:1;14657:13;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14657:13:0;14645:6;14652:1;14645:9;;;;;;;;-1:-1:-1;;;;;14645:25:0;;;:9;;;;;;;;;;;:25;14626:3;;14585:97;;;-1:-1:-1;14699:6:0;14364:349;-1:-1:-1;;;14364:349:0:o;14146:100::-;14221:10;:17;14146:100;:::o;11951:448::-;12000:7;12020:17;12066:5;;12051:11;;:20;12048:253;;12145:38;12177:5;;12146:25;12159:11;;12146:8;;:12;;:25;;;;:::i;12145:38::-;12130:53;;12048:253;;;-1:-1:-1;12272:8:0;;12048:253;12318:50;12354:13;;12319:29;12336:11;;12319:12;:16;;:29;;;;:::i;12318:50::-;12311:57;;;11951:448;:::o;2928:40::-;;;;;;;;;;;;;;;:::o;917:179::-;975:7;1007:5;;;1031:6;;;;1023:46;;;;-1:-1:-1;;;1023:46:0;;;;;;;;;1087:1;917:179;-1:-1:-1;;;917:179:0:o;1102:136::-;1160:7;1187:43;1191:1;1194;1187:43;;;;;;;;;;;;;;;;;:3;:43::i;1773:246::-;1831:7;1855:6;1851:47;;-1:-1:-1;1885:1:0;1878:8;;1851:47;1920:5;;;1924:1;1920;:5;:1;1944:5;;;;;:10;1936:56;;;;-1:-1:-1;;;1936:56:0;;;;;;;;1440:132;1498:7;1525:39;1529:1;1532;1525:39;;;;;;;;;;;;;;;;;:3;:39::i;7454:391::-;-1:-1:-1;;;;;7538:21:0;;7530:66;;;;-1:-1:-1;;;7530:66:0;;;;;;;;;7621:11;;:23;;7637:6;7621:23;:15;:23;:::i;:::-;7607:11;:37;;;7678:8;;-1:-1:-1;7663:23:0;7655:67;;;;-1:-1:-1;;;7655:67:0;;;;;;;;;-1:-1:-1;;;;;7754:18:0;;;;;;:9;:18;;;;;;:30;;7777:6;7754:30;:22;:30;:::i;:::-;-1:-1:-1;;;;;7733:18:0;;;;;;:9;:18;;;;;;:51;;;;7800:37;;7733:18;;;7800:37;;;;7830:6;;7800:37;;;;;;;;;;7454:391;;:::o;6021:346::-;-1:-1:-1;;;;;6123:19:0;;6115:69;;;;-1:-1:-1;;;6115:69:0;;;;;;;;;-1:-1:-1;;;;;6203:21:0;;6195:69;;;;-1:-1:-1;;;6195:69:0;;;;;;;;;-1:-1:-1;;;;;6275:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;;:36;;;6327:32;;;;;6305:6;;6327:32;;;;;;;;;;6021:346;;;:::o;6970:424::-;-1:-1:-1;;;;;7076:20:0;;7068:71;;;;-1:-1:-1;;;7068:71:0;;;;;;;;;7170:72;7192:6;7170:72;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7170:17:0;;;;;;:9;:17;;;;;;;:72;;:21;:72;:::i;:::-;-1:-1:-1;;;;;7150:17:0;;;;;;;:9;:17;;;;;;:92;;;;7276:20;;;;;;;:32;;7301:6;7276:32;:24;:32;:::i;:::-;-1:-1:-1;;;;;7253:20:0;;;;;;;:9;:20;;;;;;;:55;;;;7324:35;;;;;;;;;;7352:6;;7324:35;;;;;;;;;;7370:16;:14;:16::i;1244:190::-;1330:7;1366:12;1358:6;;;;1350:29;;;;-1:-1:-1;;;1350:29:0;;;;;;;;;;-1:-1:-1;;;1402:5:0;;;1244:190::o;8262:354::-;-1:-1:-1;;;;;8346:21:0;;8338:68;;;;-1:-1:-1;;;8338:68:0;;;;;;;;;8438:69;8461:6;8438:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8438:18:0;;;;;;:9;:18;;;;;;;:69;;:22;:69;:::i;:::-;-1:-1:-1;;;;;8417:18:0;;;;;;:9;:18;;;;;:90;8532:11;;:23;;8548:6;8532:23;:15;:23;:::i;:::-;8518:11;:37;8571;;8597:1;;-1:-1:-1;;;;;8571:37:0;;;;;;;8601:6;;8571:37;;1578:189;1664:7;1699:12;1692:5;1684:28;;;;-1:-1:-1;;;1684:28:0;;;;;;;;;;;1723:9;1739:1;1735;:5;;;;;;;1578:189;-1:-1:-1;;;;;1578:189:0:o;11166:746::-;11223:11;;11216:3;:18;;11215:32;;;;-1:-1:-1;11239:8:0;;;;11215:32;11211:694;;;11341:10;:15;;11355:1;11341:15;;;11470:13;;11464:3;:19;11450:11;:33;11341:10;11583:18;:16;:18::i;:::-;11683:16;;11563:38;;-1:-1:-1;11677:34:0;;-1:-1:-1;;;;;11683:16:0;11563:38;11677:5;:34::i;:::-;11807:42;11814:10;;11826:11;;11839:9;11807:42;;;;;;;;;;;;;;;;;11211:694;;11166:746::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5:130::-;72:20;;-1:-1;;;;;20065:54;;21030:35;;21020:2;;21079:1;;21069:12;414:241;;518:2;506:9;497:7;493:23;489:32;486:2;;;-1:-1;;524:12;486:2;586:53;631:7;607:22;586:53;;662:366;;;783:2;771:9;762:7;758:23;754:32;751:2;;;-1:-1;;789:12;751:2;851:53;896:7;872:22;851:53;;;841:63;;959:53;1004:7;941:2;984:9;980:22;959:53;;;949:63;;745:283;;;;;;1035:491;;;;1173:2;1161:9;1152:7;1148:23;1144:32;1141:2;;;-1:-1;;1179:12;1141:2;85:6;72:20;97:33;124:5;97:33;;;1231:63;-1:-1;1331:2;1370:22;;72:20;97:33;72:20;97:33;;;1135:391;;1339:63;;-1:-1;;;1439:2;1478:22;;;;344:20;;1135:391;1533:366;;;1654:2;1642:9;1633:7;1629:23;1625:32;1622:2;;;-1:-1;;1660:12;1622:2;1722:53;1767:7;1743:22;1722:53;;;1712:63;1812:2;1851:22;;;;344:20;;-1:-1;;;1616:283;1906:491;;;;2044:2;2032:9;2023:7;2019:23;2015:32;2012:2;;;-1:-1;;2050:12;2012:2;2112:53;2157:7;2133:22;2112:53;;;2102:63;2202:2;2241:22;;344:20;;-1:-1;2310:2;2349:22;;;344:20;;2006:391;-1:-1;;;2006:391;2404:257;;2516:2;2504:9;2495:7;2491:23;2487:32;2484:2;;;-1:-1;;2522:12;2484:2;223:6;217:13;21176:5;19977:13;19970:21;21154:5;21151:32;21141:2;;-1:-1;;21187:12;2668:241;;2772:2;2760:9;2751:7;2747:23;2743:32;2740:2;;;-1:-1;;2778:12;2740:2;-1:-1;344:20;;2734:175;-1:-1;2734:175;2916:366;;;3037:2;3025:9;3016:7;3012:23;3008:32;3005:2;;;-1:-1;;3043:12;3005:2;-1:-1;;344:20;;;3195:2;3234:22;;;344:20;;-1:-1;2999:283;10474:379;10838:10;10662:191;10860:222;-1:-1;;;;;20065:54;;;;3681:37;;10987:2;10972:18;;10958:124;11334:460;-1:-1;;;;;20065:54;;;3550:58;;20065:54;;;;11697:2;11682:18;;3681:37;11780:2;11765:18;;10305:37;;;;11525:2;11510:18;;11496:298;11801:370;11978:2;11992:47;;;19016:12;;11963:18;;;19420:19;;;11801:370;;11978:2;18870:14;;;;19460;;;;11801:370;4289:260;4314:6;4311:1;4308:13;4289:260;;;4375:13;;-1:-1;;;;;20065:54;3681:37;;19275:14;;;;3443;;;;20076:42;4329:9;4289:260;;;-1:-1;12045:116;;11949:222;-1:-1;;;;;;11949:222;12178:210;19977:13;;19970:21;4634:34;;12299:2;12284:18;;12270:118;12395:310;;12542:2;;12563:17;12556:47;4936:5;19016:12;19432:6;12542:2;12531:9;12527:18;19420:19;-1:-1;20662:101;20676:6;20673:1;20670:13;20662:101;;;20743:11;;;;;20737:18;20724:11;;;19460:14;20724:11;20717:39;20691:10;;20662:101;;;20778:6;20775:1;20772:13;20769:2;;;-1:-1;19460:14;20834:6;12531:9;20825:16;;20818:27;20769:2;-1:-1;20950:7;20934:14;-1:-1;;20930:28;5094:39;;;;19460:14;5094:39;;12513:192;-1:-1;;;12513:192;12712:416;12912:2;12926:47;;;5370:2;12897:18;;;19420:19;5406:29;19460:14;;;5386:50;5455:12;;;12883:245;13135:416;13335:2;13349:47;;;5706:2;13320:18;;;19420:19;5742:34;19460:14;;;5722:55;-1:-1;;;5797:12;;;5790:27;5836:12;;;13306:245;13558:416;13758:2;13772:47;;;6087:2;13743:18;;;19420:19;-1:-1;;;19460:14;;;6103:34;6156:12;;;13729:245;13981:416;14181:2;14195:47;;;6407:2;14166:18;;;19420:19;6443:34;19460:14;;;6423:55;-1:-1;;;6498:12;;;6491:29;6539:12;;;14152:245;14404:416;14604:2;14618:47;;;6790:2;14589:18;;;19420:19;-1:-1;;;19460:14;;;6806:35;6860:12;;;14575:245;14827:416;15027:2;15041:47;;;7111:2;15012:18;;;19420:19;7147:34;19460:14;;;7127:55;-1:-1;;;7202:12;;;7195:25;7239:12;;;14998:245;15250:416;15450:2;15464:47;;;15435:18;;;19420:19;7526:34;19460:14;;;7506:55;7580:12;;;15421:245;15673:416;15873:2;15887:47;;;7831:2;15858:18;;;19420:19;7867:26;19460:14;;;7847:47;7913:12;;;15844:245;16096:416;16296:2;16310:47;;;8469:2;16281:18;;;19420:19;8505:33;19460:14;;;8485:54;8558:12;;;16267:245;16519:416;16719:2;16733:47;;;8809:2;16704:18;;;19420:19;8845:34;19460:14;;;8825:55;-1:-1;;;8900:12;;;8893:26;8938:12;;;16690:245;16942:416;17142:2;17156:47;;;9189:2;17127:18;;;19420:19;9225:34;19460:14;;;9205:55;-1:-1;;;9280:12;;;9273:30;9322:12;;;17113:245;17365:363;9654:23;;19977:13;19970:21;4634:34;;9824:4;9813:16;;;9807:23;9884:14;;;10305:37;9981:4;9970:16;;;9964:23;10041:14;;;10305:37;10141:4;10130:16;;;10124:23;10201:14;;;10305:37;;;;17562:3;17547:19;;17533:195;17735:222;10305:37;;;17862:2;17847:18;;17833:124;17964:333;10305:37;;;18283:2;18268:18;;10305:37;18119:2;18104:18;;18090:207;18304:444;10305:37;;;18651:2;18636:18;;10305:37;;;;18734:2;18719:18;;10305:37;18487:2;18472:18;;18458:290;20971:117;-1:-1;;;;;20065:54;;21030:35;;21020:2;;21079:1;;21069:12

Swarm Source

ipfs://f1c453259ae38ef9559a5604262e6f8abcfa4c285d98640fb489ddf63f947410
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.