Contract 0xb7fd7c5a90387f5e7394d42e544365c3474eb651

Txn Hash Method
Block
From
To
Value [Txn Fee]
0xb0733debe0e821c6b5e82949bfecd842d070781fa02577dc33b29aa4accac17eDistribute43622632022-08-28 0:23:5728 days 4 hrs ago0x4d0df886f42baf7aeb22b66e5f4b6d46f6ef81f2 IN  Stronghands Money: Fee Recipient0 CRO0.237107696389 4,932.755604337
0xd31d80153a47d163eeb98887473fa6451d6689b7fdc5281e66d6e2115524e4dcDistribute41386082022-08-13 8:26:3842 days 20 hrs ago0xf2c579082fe10d57331d0cd66843c4d6777ea48a IN  Stronghands Money: Fee Recipient0 CRO0.237603421907 4,943.06860922
0x11b16544c83eb3ffcacaa72c1baaf8356c501852841b7b614400876f40a347d0Distribute40769052022-08-09 7:11:1946 days 21 hrs ago0x4d0df886f42baf7aeb22b66e5f4b6d46f6ef81f2 IN  Stronghands Money: Fee Recipient0 CRO0.237714504662 4,945.379559416
0xb23d6201196249448f595477471bfb9eac40a82114161f803ee0a6f8a05acbd1Distribute40768992022-08-09 7:10:4546 days 21 hrs ago0x4d0df886f42baf7aeb22b66e5f4b6d46f6ef81f2 IN  Stronghands Money: Fee Recipient0 CRO0.251734669332 4,945.37982698
0x9ac0c42dacd71a47aefda9ac1018ac1995f1a21a5f37cd36440ac29f0947e644Set Distribution40768852022-08-09 7:09:2546 days 21 hrs ago0x4d0df886f42baf7aeb22b66e5f4b6d46f6ef81f2 IN  Stronghands Money: Fee Recipient0 CRO0.606684437023 4,945.380446408
0x1eb4eaeaf186b879bafb7472162b59bdd0b9da04b13c035939ffa5e89c9853a7Set Distribution40768822022-08-09 7:09:0846 days 21 hrs ago0x4d0df886f42baf7aeb22b66e5f4b6d46f6ef81f2 IN  Stronghands Money: Fee Recipient0 CRO0.606625109278 4,945.380583529
0x6fa23e78282fe8fbfbc055dfc944cd43563c4d45880187039c1a7f6a88bcb830Set Distribution40768802022-08-09 7:08:5746 days 21 hrs ago0x4d0df886f42baf7aeb22b66e5f4b6d46f6ef81f2 IN  Stronghands Money: Fee Recipient0 CRO0.606684465001 4,945.380674468
0xaceea1ecccefb5861efecad7ea231143e0d7196604a734ee9d006ea7722f2d96Set Distribution40768752022-08-09 7:08:2946 days 21 hrs ago0x4d0df886f42baf7aeb22b66e5f4b6d46f6ef81f2 IN  Stronghands Money: Fee Recipient0 CRO0.635921585187 4,945.380904954
0xb97027c7a9cc60969339176b3285c4326eeeb5533796c5cdaf32c5892572d5d5Set Distribution40768722022-08-09 7:08:1146 days 21 hrs ago0x4d0df886f42baf7aeb22b66e5f4b6d46f6ef81f2 IN  Stronghands Money: Fee Recipient0 CRO0.606684510467 4,945.38104508
0xd3c6a986577755c27dbf3d42d770fc49c3d30138c37edf452d6c7b916a1e6a3dSet Distribution40768662022-08-09 7:07:3746 days 21 hrs ago0x4d0df886f42baf7aeb22b66e5f4b6d46f6ef81f2 IN  Stronghands Money: Fee Recipient0 CRO0.635031468713 4,945.381310604
0xdde2b16c3c23686d348c013381f599de2ae84a9feedbc2c541f44ca61de2e215Distribute37669742022-07-19 21:55:1367 days 6 hrs ago0x1c55c15dd1cd42f6e0b0187f47c9b49e4b96ad74 IN  Stronghands Money: Fee Recipient0 CRO0.236401706964 4,960.066028086
0x55990a8d0c02cfb0ef522a354dce94ee8abaaf0ee52e55539ea18f234a22f189Set Distribution37579812022-07-19 7:35:4667 days 21 hrs ago0x4d0df886f42baf7aeb22b66e5f4b6d46f6ef81f2 IN  Stronghands Money: Fee Recipient0 CRO0.596972607244 4,959.974469868
0x8823f546c0d23a0fb5f0cec724832242a0fc1b0b9edc378fcc961c97314fde6fDistribute37573962022-07-19 6:40:1667 days 22 hrs ago0x3b3a1ed322811f7f85863c3e2a898332304b8113 IN  Stronghands Money: Fee Recipient0 CRO0.560110060899 4,960.501451539
0xb3339795bd7385495739b593a59c3d2fddbe0d29083ba3e962fab1f414a5f055Distribute35583342022-07-06 3:45:2481 days 1 hr ago0x199aa8cfbbf7f1690ff873f9fe5ed2ddd21ccc0a IN  Stronghands Money: Fee Recipient0 CRO0.403070435385 4,969.184547494
0xbea1a83efad0292bff10d8788a6144cc5eca4400d2ac12e80c67a2eeb6b5d5f1Distribute35539592022-07-05 20:50:1881 days 8 hrs ago0xe9d8432a76d89a50b20acae2be745c632a66f5db IN  Stronghands Money: Fee Recipient0 CRO0.403085381582 4,969.368809112
0x85e5997201bd22ef8c88158faaec50df206e29bd64938aab96e5e3888a537465Distribute35538662022-07-05 20:41:1281 days 8 hrs ago0xb4a09c923e52aed414d5b25e7b9fa6459c07ba4b IN  Stronghands Money: Fee Recipient0 CRO0.486571134336 4,969.372452732
0x0c51d402dc3f76c9332b728eac1425afba3650b4828305ca8f7a361a70643fc5Distribute35538572022-07-05 20:40:2081 days 8 hrs ago0xe9d8432a76d89a50b20acae2be745c632a66f5db IN  Stronghands Money: Fee Recipient0 CRO0.403085702126 4,969.372760884
0x8b18054d9821339fc6dec9648a75bae873bedbfef2e51e2476199cd6a678a515Distribute35504382022-07-05 15:15:3881 days 13 hrs ago0x6b1db64033d9e72f40695dd2bbb57e8e01aa6355 IN  Stronghands Money: Fee Recipient0 CRO0.561127987944 4,969.516516502
0x48ce15539d8a3d3166b7e9c38aa27921decc3cf5ca79aa7d880c15869bd54bc0Distribute34708312022-06-30 9:16:0986 days 19 hrs ago0xb4a09c923e52aed414d5b25e7b9fa6459c07ba4b IN  Stronghands Money: Fee Recipient0 CRO0.486904005767 4,972.772083331
0xf62b237070a7b2ab1f65d429680c2ac94de5e2208d767561ad6b3439fd2bbf24Distribute34633082022-06-29 21:23:0887 days 7 hrs ago0xf2c579082fe10d57331d0cd66843c4d6777ea48a IN  Stronghands Money: Fee Recipient0 CRO0.56153173947 4,973.092260223
0x7eed61179a1dcda853b722f515d7f42facdf5f1db03b09b44b72ef2e0487f3c1Distribute34080742022-06-26 6:04:4590 days 22 hrs ago0x753944bd8bf6493289ede11530d98e41e1f8354e IN  Stronghands Money: Fee Recipient0 CRO0.403572394488 4,975.372863971
0x0dc1af29d3d91df0bdd85d427585cd4eff0662f4911865d0f9318453b9bc0618Distribute33746932022-06-24 1:17:1493 days 3 hrs ago0x1c55c15dd1cd42f6e0b0187f47c9b49e4b96ad74 IN  Stronghands Money: Fee Recipient0 CRO0.4035599935410
0xb51296c656734fbd4814d9650e3054edc0a1a159b45ef813f6cd339f5da6c9b7Distribute33697292022-06-23 17:26:0693 days 11 hrs ago0xc08caff510f344b8f86d7b862fbae33ed1f64d49 IN  Stronghands Money: Fee Recipient0 CRO0.487309818721 4,976.916668931
0xc50abd3efba5e1f795fcf7aa1d42323b0314f686eff96cafa05ae5b891f85c7bDistribute31623562022-06-10 1:37:09107 days 3 hrs ago0x4d0df886f42baf7aeb22b66e5f4b6d46f6ef81f2 IN  Stronghands Money: Fee Recipient0 CRO0.488113524167 4,985.124948093
0x8433c6dcbf214ab4de82c5da2ca8ef86394825b8bb1dc1c6b2ef7dc15718da47Distribute31375722022-06-08 10:21:00108 days 18 hrs ago0x80c17147571d340b0538139f4221335103f83171 IN  Stronghands Money: Fee Recipient0 CRO0.404442693804 4,986.102199427
[ Download CSV Export 
Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
FeeRecipient

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at cronoscan.com on 2022-05-05
*/

// SPDX-License-Identifier: MIT
pragma solidity 0.6.12;

library Address {
    function isContract(address account) internal view returns (bool) {
        uint256 size;
        assembly { size := extcodesize(account) }
        return size > 0;
    }

    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");
        (bool success, ) = recipient.call{ value: amount }("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }

    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
      return functionCall(target, data, "Address: low-level call failed");
    }

    function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        return functionCallWithValue(target, data, 0, errorMessage);
    }

    function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {
        return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
    }

    function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) {
        require(address(this).balance >= value, "Address: insufficient balance for call");
        require(isContract(target), "Address: call to non-contract");
        (bool success, bytes memory returndata) = target.call{ value: value }(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }

    function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {
        return functionStaticCall(target, data, "Address: low-level static call failed");
    }

    function functionStaticCall(address target, bytes memory data, string memory errorMessage) internal view returns (bytes memory) {
        require(isContract(target), "Address: static call to non-contract");
        (bool success, bytes memory returndata) = target.staticcall(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }

    function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionDelegateCall(target, data, "Address: low-level delegate call failed");
    }

    function functionDelegateCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        require(isContract(target), "Address: delegate call to non-contract");
        (bool success, bytes memory returndata) = target.delegatecall(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }

    function _verifyCallResult(bool success, bytes memory returndata, string memory errorMessage) private pure returns(bytes memory) {
        if (success) {
            return returndata;
        } else {
            if (returndata.length > 0) {
                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}

library Math {
    function max(uint256 a, uint256 b) internal pure returns (uint256) {
        return a >= b ? a : b;
    }

    function min(uint256 a, uint256 b) internal pure returns (uint256) {
        return a < b ? a : b;
    }

    function average(uint256 a, uint256 b) internal pure returns (uint256) {
        return (a / 2) + (b / 2) + ((a % 2 + b % 2) / 2);
    }
}

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

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

    function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        if (a == 0) return (true, 0);
        uint256 c = a * b;
        if (c / a != b) return (false, 0);
        return (true, c);
    }

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

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

    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) {
        require(b <= a, "SafeMath: subtraction overflow");
        return a - b;
    }

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

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b > 0, "SafeMath: division by zero");
        return a / b;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b > 0, "SafeMath: modulo by zero");
        return a % b;
    }

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

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

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

    function safeSub(uint a, uint b) internal pure returns (uint) {
        if (b > a) {return 0;} else {return a - b;}
    }
}

library SafeERC20 {
    using SafeMath for uint256;
    using Address for address;

    function safeTransfer(IERC20 token, address to, uint256 value) internal {
        _callOptionalReturn(token, abi.encodeWithSelector(token.transfer.selector, to, value));
    }

    function safeTransferFrom(IERC20 token, address from, address to, uint256 value) internal {
        _callOptionalReturn(token, abi.encodeWithSelector(token.transferFrom.selector, from, to, value));
    }

    function safeApprove(IERC20 token, address spender, uint256 value) internal {
        require((value == 0) || (token.allowance(address(this), spender) == 0), "SafeERC20: approve from non-zero to non-zero allowance");
        _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, value));
    }

    function safeIncreaseAllowance(IERC20 token, address spender, uint256 value) internal {
        uint256 newAllowance = token.allowance(address(this), spender).add(value);
        _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance));
    }

    function safeDecreaseAllowance(IERC20 token, address spender, uint256 value) internal {
        uint256 newAllowance = token.allowance(address(this), spender).sub(value, "SafeERC20: decreased allowance below zero");
        _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance));
    }

    function _callOptionalReturn(IERC20 token, bytes memory data) private {
        bytes memory returndata = address(token).functionCall(data, "SafeERC20: low-level call failed");
        if (returndata.length > 0) {
            require(abi.decode(returndata, (bool)), "SafeERC20: ERC20 operation did not succeed");
        }
    }
}

interface IWETH {
    function deposit() external payable;
    function transfer(address to, uint value) external returns (bool);
    function withdraw(uint) external;
}

interface IERC20 {
    function totalSupply() external view returns (uint256);
    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);
}

abstract contract Context {
    function _msgSender() internal view virtual returns (address payable) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes memory) {
        this;
        return msg.data;
    }
}

abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor () internal {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    function owner() public view virtual returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

contract Whitelist is Ownable {
    mapping(address => bool) public whitelist;

    event WhitelistedAddressAdded(address addr);
    event WhitelistedAddressRemoved(address addr);

    modifier onlyWhitelisted() {
        require(whitelist[msg.sender], 'no whitelist');
        _;
    }

    function addAddressToWhitelist(address addr) onlyOwner public returns(bool success) {
        if (!whitelist[addr]) {
            whitelist[addr] = true;
            emit WhitelistedAddressAdded(addr);
            success = true;
        }
    }

    function addAddressesToWhitelist(address[] memory addrs) onlyOwner public returns(bool success) {
        for (uint256 i = 0; i < addrs.length; i++) {
            if (addAddressToWhitelist(addrs[i])) {
                success = true;
            }
        }
        return success;
    }

    function removeAddressFromWhitelist(address addr) onlyOwner public returns(bool success) {
        if (whitelist[addr]) {
            whitelist[addr] = false;
            emit WhitelistedAddressRemoved(addr);
            success = true;
        }
        return success;
    }

    function removeAddressesFromWhitelist(address[] memory addrs) onlyOwner public returns(bool success) {
        for (uint256 i = 0; i < addrs.length; i++) {
            if (removeAddressFromWhitelist(addrs[i])) {
                success = true;
            }
        }
        return success;
    }
}

/*
  ____  _                         _                     _              
 / ___|| |_ _ __ ___  _ __   __ _| |__   __ _ _ __   __| |___          
 \___ \| __| '__/ _ \| '_ \ / _` | '_ \ / _` | '_ \ / _` / __|         
  ___) | |_| | | (_) | | | | (_| | | | | (_| | | | | (_| \__ \         
 |____/ \__|_|  \___/|_| |_|\__, |_| |_|\__,_|_| |_|\__,_|___/         
  __  __                    |___/ ____            _                  _ 
 |  \/  | ___  _ __   ___ _   _  |  _ \ _ __ ___ | |_ ___   ___ ___ | |
 | |\/| |/ _ \| '_ \ / _ \ | | | | |_) | '__/ _ \| __/ _ \ / __/ _ \| |
 | |  | | (_) | | | |  __/ |_| | |  __/| | | (_) | || (_) | (_| (_) | |
 |_|  |_|\___/|_| |_|\___|\__, | |_|   |_|  \___/ \__\___/ \___\___/|_|
                          |___/                                        

FeeRecipient - receives and redistributes fees throughout the ecosystem
*/

contract FeeRecipient is Whitelist {
    using Address for address;
    using SafeMath for uint256;
    using SafeERC20 for IERC20;

    IWETH internal weth;

    /////////////////////////////////
    // CONFIGURABLES AND VARIABLES //
    /////////////////////////////////
    
    uint256 internal _txId;
    uint256 internal MAX_UINT = 2**256 - 1;

    mapping (IERC20 => address[]) public feeCollectors;
    mapping (IERC20 => uint256[]) public feeRates;

    //////////////////////////////
    // CONSTRUCTOR AND FALLBACK //
    //////////////////////////////
    
    constructor() public {

    }
    
    // FALLBACK FUNCTION: PAYABLE
    receive () external payable {
        weth.deposit{value: msg.value};
    }

    // Distribute collected fees between all set collectors, at set rates
    function distribute(IERC20 token) public {
        uint256 balance = token.balanceOf(address(this));
        require (balance > 0, "Nothing to pay");

        address[] memory collectors = feeCollectors[token];
        uint256[] memory rates = feeRates[token];

        for (uint256 i = 0; i < collectors.length; i++) {
            address collector = collectors[i];
            uint256 rate = rates[i];

            if (rate > 0) {
                uint256 feeAmount = rate * balance / 10000;
                token.transfer(collector, feeAmount);
            }
        }
    }

    ////////////////////////////////////////////////
    // FUNCTIONS RESTRICTED TO THE CONTRACT OWNER //
    ////////////////////////////////////////////////

    // Set collectors and rates for a token
    function setDistribution(IERC20 token, address[] memory collectors, uint256[] memory rates) onlyOwner() public {

        uint256 totalRate;

        for (uint256 i = 0; i < rates.length; i++) {
            totalRate = totalRate + rates[i];
        }

        require (totalRate == 10000, "Total fee rate must be 100%");
        
        if (token.balanceOf(address(this)) > 0) {
            distribute(token);
        }

        feeCollectors[token] = collectors;
        feeRates[token] = rates;
    }
}

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"addr","type":"address"}],"name":"WhitelistedAddressAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"addr","type":"address"}],"name":"WhitelistedAddressRemoved","type":"event"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"addAddressToWhitelist","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addrs","type":"address[]"}],"name":"addAddressesToWhitelist","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"token","type":"address"}],"name":"distribute","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"feeCollectors","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"feeRates","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"removeAddressFromWhitelist","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addrs","type":"address[]"}],"name":"removeAddressesFromWhitelist","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"token","type":"address"},{"internalType":"address[]","name":"collectors","type":"address[]"},{"internalType":"uint256[]","name":"rates","type":"uint256[]"}],"name":"setDistribution","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"whitelist","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60045534801561003457600080fd5b5060006100456100e860201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506100f0565b600033905090565b61186a806100ff6000396000f3fe6080604052600436106100ab5760003560e01c80638da5cb5b116100645780638da5cb5b1461035b5780639b19251a1461039c578063b81ff23d14610403578063c8d4bc0a1461057c578063e2ec6ec3146105eb578063f2fde38b146106c6576100c0565b806324953eaa146100c5578063286dd3f5146101a057806363453ae1146102075780636555176b14610258578063715018a6146102dd5780637b9417c8146102f4576100c0565b366100c057600260009054906101000a905050005b600080fd5b3480156100d157600080fd5b50610188600480360360208110156100e857600080fd5b810190808035906020019064010000000081111561010557600080fd5b82018360208201111561011757600080fd5b8035906020019184602083028401116401000000008311171561013957600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050610717565b60405180821515815260200191505060405180910390f35b3480156101ac57600080fd5b506101ef600480360360208110156101c357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061080d565b60405180821515815260200191505060405180910390f35b34801561021357600080fd5b506102566004803603602081101561022a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109bf565b005b34801561026457600080fd5b506102b16004803603604081101561027b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d51565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102e957600080fd5b506102f2610d9c565b005b34801561030057600080fd5b506103436004803603602081101561031757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f09565b60405180821515815260200191505060405180910390f35b34801561036757600080fd5b506103706110b9565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156103a857600080fd5b506103eb600480360360208110156103bf57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110e2565b60405180821515815260200191505060405180910390f35b34801561040f57600080fd5b5061057a6004803603606081101561042657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561046357600080fd5b82018360208201111561047557600080fd5b8035906020019184602083028401116401000000008311171561049757600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156104f757600080fd5b82018360208201111561050957600080fd5b8035906020019184602083028401116401000000008311171561052b57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050611102565b005b34801561058857600080fd5b506105d56004803603604081101561059f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506113c1565b6040518082815260200191505060405180910390f35b3480156105f757600080fd5b506106ae6004803603602081101561060e57600080fd5b810190808035906020019064010000000081111561062b57600080fd5b82018360208201111561063d57600080fd5b8035906020019184602083028401116401000000008311171561065f57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192905050506113ef565b60405180821515815260200191505060405180910390f35b3480156106d257600080fd5b50610715600480360360208110156106e957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506114e5565b005b60006107216116d7565b73ffffffffffffffffffffffffffffffffffffffff1661073f6110b9565b73ffffffffffffffffffffffffffffffffffffffff16146107c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60005b8251811015610807576107f08382815181106107e357fe5b602002602001015161080d565b156107fa57600191505b80806001019150506107cb565b50919050565b60006108176116d7565b73ffffffffffffffffffffffffffffffffffffffff166108356110b9565b73ffffffffffffffffffffffffffffffffffffffff16146108be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156109ba576000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507ff1abf01a1043b7c244d128e8595cf0c1d10743b022b03a02dffd8ca3bf729f5a82604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1600190505b919050565b60008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610a2857600080fd5b505afa158015610a3c573d6000803e3d6000fd5b505050506040513d6020811015610a5257600080fd5b8101908080519060200190929190505050905060008111610adb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f4e6f7468696e6720746f2070617900000000000000000000000000000000000081525060200191505060405180910390fd5b6060600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480602002602001604051908101604052809291908181526020018280548015610b9c57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311610b52575b505050505090506060600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480602002602001604051908101604052809291908181526020018280548015610c2e57602002820191906000526020600020905b815481526020019060010190808311610c1a575b5050505050905060005b8251811015610d4a576000838281518110610c4f57fe5b602002602001015190506000838381518110610c6757fe5b602002602001015190506000811115610d3b57600061271087830281610c8957fe5b0490508773ffffffffffffffffffffffffffffffffffffffff1663a9059cbb84836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610cfd57600080fd5b505af1158015610d11573d6000803e3d6000fd5b505050506040513d6020811015610d2757600080fd5b810190808051906020019092919050505050505b50508080600101915050610c38565b5050505050565b60056020528160005260406000208181548110610d6a57fe5b906000526020600020016000915091509054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610da46116d7565b73ffffffffffffffffffffffffffffffffffffffff16610dc26110b9565b73ffffffffffffffffffffffffffffffffffffffff1614610e4b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000610f136116d7565b73ffffffffffffffffffffffffffffffffffffffff16610f316110b9565b73ffffffffffffffffffffffffffffffffffffffff1614610fba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166110b45760018060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fd1bba68c128cc3f427e5831b3c6f99f480b6efa6b9e80c757768f6124158cc3f82604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1600190505b919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60016020528060005260406000206000915054906101000a900460ff1681565b61110a6116d7565b73ffffffffffffffffffffffffffffffffffffffff166111286110b9565b73ffffffffffffffffffffffffffffffffffffffff16146111b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600080600090505b82518110156111e7578281815181106111ce57fe5b60200260200101518201915080806001019150506111b9565b50612710811461125f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f546f74616c206665652072617465206d7573742062652031303025000000000081525060200191505060405180910390fd5b60008473ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156112c857600080fd5b505afa1580156112dc573d6000803e3d6000fd5b505050506040513d60208110156112f257600080fd5b8101908080519060200190929190505050111561131357611312846109bf565b5b82600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090805190602001906113669291906116df565b5081600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090805190602001906113ba929190611769565b5050505050565b600660205281600052604060002081815481106113da57fe5b90600052602060002001600091509150505481565b60006113f96116d7565b73ffffffffffffffffffffffffffffffffffffffff166114176110b9565b73ffffffffffffffffffffffffffffffffffffffff16146114a0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60005b82518110156114df576114c88382815181106114bb57fe5b6020026020010151610f09565b156114d257600191505b80806001019150506114a3565b50919050565b6114ed6116d7565b73ffffffffffffffffffffffffffffffffffffffff1661150b6110b9565b73ffffffffffffffffffffffffffffffffffffffff1614611594576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561161a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018061180f6026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b828054828255906000526020600020908101928215611758579160200282015b828111156117575782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550916020019190600101906116ff565b5b50905061176591906117b6565b5090565b8280548282559060005260206000209081019282156117a5579160200282015b828111156117a4578251825591602001919060010190611789565b5b5090506117b291906117f1565b5090565b5b808211156117ed57600081816101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055506001016117b7565b5090565b5b8082111561180a5760008160009055506001016117f2565b509056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373a2646970667358221220be18b8f8e06305746c9410764fb5a9fb46e6bef097d903ad87db41cc6bdddaf264736f6c634300060c0033

Deployed ByteCode Sourcemap

12477:2163:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13188:4;;;;;;;;;;12477:2163;;;;;11278:304;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;10987:283;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;13309:592;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12846:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;9716:148;;;;;;;;;;;;;:::i;:::-;;10426:251;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;9493:87;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;10160:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;14118:519;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12903:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10685:294;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;9872:244;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11278:304;11365:12;9639;:10;:12::i;:::-;9628:23;;:7;:5;:7::i;:::-;:23;;;9620:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11395:9:::1;11390:160;11414:5;:12;11410:1;:16;11390:160;;;11452:36;11479:5;11485:1;11479:8;;;;;;;;;;;;;;11452:26;:36::i;:::-;11448:91;;;11519:4;11509:14;;11448:91;11428:3;;;;;;;11390:160;;;;11278:304:::0;;;:::o;10987:283::-;11062:12;9639;:10;:12::i;:::-;9628:23;;:7;:5;:7::i;:::-;:23;;;9620:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11091:9:::1;:15;11101:4;11091:15;;;;;;;;;;;;;;;;;;;;;;;;;11087:151;;;11141:5;11123:9;:15;11133:4;11123:15;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;11166:31;11192:4;11166:31;;;;;;;;;;;;;;;;;;;;11222:4;11212:14;;11087:151;10987:283:::0;;;:::o;13309:592::-;13361:15;13379:5;:15;;;13403:4;13379:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13361:48;;13439:1;13429:7;:11;13420:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13472:27;13502:13;:20;13516:5;13502:20;;;;;;;;;;;;;;;13472:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13533:22;13558:8;:15;13567:5;13558:15;;;;;;;;;;;;;;;13533:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13591:9;13586:308;13610:10;:17;13606:1;:21;13586:308;;;13649:17;13669:10;13680:1;13669:13;;;;;;;;;;;;;;13649:33;;13697:12;13712:5;13718:1;13712:8;;;;;;;;;;;;;;13697:23;;13748:1;13741:4;:8;13737:146;;;13770:17;13807:5;13797:7;13790:4;:14;:22;;;;;;13770:42;;13831:5;:14;;;13846:9;13857;13831:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13737:146;;13586:308;;13629:3;;;;;;;13586:308;;;;13309:592;;;;:::o;12846:50::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;9716:148::-;9639:12;:10;:12::i;:::-;9628:23;;:7;:5;:7::i;:::-;:23;;;9620:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9823:1:::1;9786:40;;9807:6;::::0;::::1;;;;;;;;9786:40;;;;;;;;;;;;9854:1;9837:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;9716:148::o:0;10426:251::-;10496:12;9639;:10;:12::i;:::-;9628:23;;:7;:5;:7::i;:::-;:23;;;9620:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10526:9:::1;:15;10536:4;10526:15;;;;;;;;;;;;;;;;;;;;;;;;;10521:149;;10576:4;10558:9:::0;:15:::1;10568:4;10558:15;;;;;;;;;;;;;;;;:22;;;;;;;;;;;;;;;;;;10600:29;10624:4;10600:29;;;;;;;;;;;;;;;;;;;;10654:4;10644:14;;10521:149;10426:251:::0;;;:::o;9493:87::-;9539:7;9566:6;;;;;;;;;;;9559:13;;9493:87;:::o;10160:41::-;;;;;;;;;;;;;;;;;;;;;;:::o;14118:519::-;9639:12;:10;:12::i;:::-;9628:23;;:7;:5;:7::i;:::-;:23;;;9620:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14242:17:::1;14277:9:::0;14289:1:::1;14277:13;;14272:102;14296:5;:12;14292:1;:16;14272:102;;;14354:5;14360:1;14354:8;;;;;;;;;;;;;;14342:9;:20;14330:32;;14310:3;;;;;;;14272:102;;;;14408:5;14395:9;:18;14386:59;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;14503:1;14470:5;:15;;;14494:4;14470:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;:34;14466:84;;;14521:17;14532:5;14521:10;:17::i;:::-;14466:84;14585:10;14562:13;:20;14576:5;14562:20;;;;;;;;;;;;;;;:33;;;;;;;;;;;;:::i;:::-;;14624:5;14606:8;:15;14615:5;14606:15;;;;;;;;;;;;;;;:23;;;;;;;;;;;;:::i;:::-;;9699:1;14118:519:::0;;;:::o;12903:45::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;10685:294::-;10767:12;9639;:10;:12::i;:::-;9628:23;;:7;:5;:7::i;:::-;:23;;;9620:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10797:9:::1;10792:155;10816:5;:12;10812:1;:16;10792:155;;;10854:31;10876:5;10882:1;10876:8;;;;;;;;;;;;;;10854:21;:31::i;:::-;10850:86;;;10916:4;10906:14;;10850:86;10830:3;;;;;;;10792:155;;;;10685:294:::0;;;:::o;9872:244::-;9639:12;:10;:12::i;:::-;9628:23;;:7;:5;:7::i;:::-;:23;;;9620:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9981:1:::1;9961:22;;:8;:22;;;;9953:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10071:8;10042:38;;10063:6;::::0;::::1;;;;;;;;10042:38;;;;;;;;;;;;10100:8;10091:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;9872:244:::0;:::o;8920:106::-;8973:15;9008:10;9001:17;;8920:106;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o

Swarm Source

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