Contract 0x247279aA5CCbDB4723039dA05A5D9Af4Ff85D590

 
 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x9c000f78c4676bd80ae9f37b0b385a8843d1df73bc49437147e737f62251d4e8Add Operator103695842021-08-26 15:46:5554 days 21 hrs agoErosswap: Deployer IN  0x247279aa5ccbdb4723039da05a5d9af4ff85d5900 BNB0.00022351
0x26c97d36928e6ba907237ac2decf490739f0a620d0578ea9e8411e49adab19adRemove Operator102194212021-08-21 9:58:3260 days 3 hrs agoErosswap: Deployer IN  0x247279aa5ccbdb4723039da05a5d9af4ff85d5900 BNB0.00007431
0xef25d26ee3ffb7df88555cfa048493ac6f149d9b51c2abe203748721950678cdAdd Operator102194172021-08-21 9:58:2060 days 3 hrs agoErosswap: Deployer IN  0x247279aa5ccbdb4723039da05a5d9af4ff85d5900 BNB0.00022351
0xe2a11aaa82c3026613f51d58c2c75b406e262ecc3785831b0969280590c6d45cAdd Operator102194152021-08-21 9:58:1460 days 3 hrs agoErosswap: Deployer IN  0x247279aa5ccbdb4723039da05a5d9af4ff85d5900 BNB0.00012751
0x71d2e8fd51cc62147eef71bc802938c6681aebc110c2aa07dd264175e6653019Add Operator101612612021-08-19 9:06:2262 days 4 hrs agoErosswap: Deployer IN  0x247279aa5ccbdb4723039da05a5d9af4ff85d5900 BNB0.00022351
0xd180c5dfd06838035fef69f05fd66191b1495909d09b030b633cb94c5b2ccd19Add Operator101611672021-08-19 9:01:4062 days 4 hrs agoErosswap: Deployer IN  0x247279aa5ccbdb4723039da05a5d9af4ff85d5900 BNB0.00022351
0x48a2f035e19e5ceca24b8beee3b9237b464166adf033cdba735644d6f2b6a673Add Operator100015402021-08-13 19:26:0567 days 18 hrs agoErosswap: Deployer IN  0x247279aa5ccbdb4723039da05a5d9af4ff85d5900 BNB0.00022351
0xec2ee84a018f6aa608eb61a559a4a2bdc30d8a3f2bd59f0a7c7ef01744126d050x60806040100014362021-08-13 19:20:5067 days 18 hrs agoErosswap: Deployer IN  Contract Creation0 BNB0.006478705
[ Download CSV Export 
Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ErosReferral

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at BscScan.com on 2021-08-13
*/

pragma solidity 0.6.12;


interface IReferral {

    function addReferrer(address _user, address _referrer) external;

    function addRewards(address _user, string memory _type, uint256 _total) external;

    function getRewards(address _user, string memory _type) external view returns (uint256);

    function getReferrer(address _user) external view returns (address);

    function getReferralsCount(address _referrer) external view returns (uint256);

}

abstract contract OwnerRole {
    address public owner;

    event OwnershipTransferred(address indexed _from, address indexed _to);

    constructor () public {
        owner = msg.sender;
        emit OwnershipTransferred(address(0), msg.sender);
    }

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

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

abstract contract OperatorRole {
    mapping(address => bool) private operators;

    event OperatorAdded(address indexed _operator);
    event OperatorRemoved(address indexed _operator);

    constructor () public {
        addOperator(msg.sender);
    }

    modifier onlyOperator() {
        require(operators[msg.sender], "Operatable: caller is not the operator");
        _;
    }

    function isOperator(address _minter) external view virtual returns (bool) {
        return operators[_minter];
    }

    function addOperator(address _operator) public virtual {
        operators[_operator] = true;
        emit OperatorAdded(_operator);
    }

    function removeOperator(address _operator) public virtual {
        operators[_operator] = false;
        emit OperatorRemoved(_operator);
    }
}

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

        return c;
    }

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

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting with custom message on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `*` operator.
     *
     * Requirements:
     *
     * - Multiplication cannot overflow.
     */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

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

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

        return c;
    }

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

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

    function min(uint256 x, uint256 y) internal pure returns (uint256 z) {
        z = x < y ? x : y;
    }

    // babylonian method (https://en.wikipedia.org/wiki/Methods_of_computing_square_roots#Babylonian_method)
    function sqrt(uint256 y) internal pure returns (uint256 z) {
        if (y > 3) {
            z = y;
            uint256 x = y / 2 + 1;
            while (x < z) {
                z = x;
                x = (y / x + x) / 2;
            }
        } else if (y != 0) {
            z = 1;
        }
    }
}

// SPDX-License-Identifier: MIT
contract ErosReferral is IReferral, OwnerRole, OperatorRole {
    using SafeMath for uint256;

    mapping(address => address) private users;
    mapping(address => mapping(string => uint256)) private rewards;
    mapping(address => uint256) private referralsCount;

    event ReferrerAdded(address indexed _user, address indexed _referrer);
    event RewardsAdded(address indexed _user, string indexed _type, uint256 _total);

    function addReferrer(address _user, address _referrer) external override onlyOperator {
        require(_user != address(0), "Referral: _user is zero address");
        require(_referrer != address(0), "Referral: _referrer is zero address");
        require(_user != _referrer, "Referral: _user is equal _referrer");
        require(users[_user] == address(0), "Referral: _referrer exists");

        users[_user] = _referrer;
        referralsCount[_referrer] = referralsCount[_referrer].add(1);

        emit ReferrerAdded(_user, _referrer);
    }

    function addRewards(address _user, string memory _type, uint256 _total) external override onlyOperator {
        require(_user != address(0), "Referral: _user is zero address");
        require(_total > 0, "Referral: _total below zero");

        rewards[_user][_type] = rewards[_user][_type].add(_total);

        emit RewardsAdded(_user, _type, _total);
    }

    function getRewards(address _user, string memory _type) external override view returns (uint256) {
        return rewards[_user][_type];
    }

    function getReferrer(address _user) external override view returns (address) {
        return users[_user];
    }

    function getReferralsCount(address _referrer) external override view returns (uint256) {
        return referralsCount[_referrer];
    }

    function addOperator(address _operator) public onlyOwner override(OperatorRole) {
        super.addOperator(_operator);
    }

    function removeOperator(address _operator) public onlyOwner override(OperatorRole) {
        super.removeOperator(_operator);
    }

}

Contract Security Audit

Contract ABI

[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_operator","type":"address"}],"name":"OperatorAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_operator","type":"address"}],"name":"OperatorRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_from","type":"address"},{"indexed":true,"internalType":"address","name":"_to","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_user","type":"address"},{"indexed":true,"internalType":"address","name":"_referrer","type":"address"}],"name":"ReferrerAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_user","type":"address"},{"indexed":true,"internalType":"string","name":"_type","type":"string"},{"indexed":false,"internalType":"uint256","name":"_total","type":"uint256"}],"name":"RewardsAdded","type":"event"},{"inputs":[{"internalType":"address","name":"_operator","type":"address"}],"name":"addOperator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"address","name":"_referrer","type":"address"}],"name":"addReferrer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"string","name":"_type","type":"string"},{"internalType":"uint256","name":"_total","type":"uint256"}],"name":"addRewards","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_referrer","type":"address"}],"name":"getReferralsCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"getReferrer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"string","name":"_type","type":"string"}],"name":"getRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_minter","type":"address"}],"name":"isOperator","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_operator","type":"address"}],"name":"removeOperator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36100bb336100c060201b60201c565b610234565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610181576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6101948161019760201b61130b1760201c565b50565b60018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167fac6fa858e9350a46cec16539926e0fde25b7629f84b5a72bffaae4df888ae86d60405160405180910390a250565b611595806102436000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c8063934287921161006657806393428792146102dc5780639870d7fe146103cb578063ac8a584a1461040f578063b94265b814610453578063f2fde38b146104b75761009e565b80634a9fefc7146100a35780635604a9eb146101115780636aab8f9e146101695780636d70f7ae1461024e5780638da5cb5b146102a8575b600080fd5b6100e5600480360360208110156100b957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506104fb565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101536004803603602081101561012757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610564565b6040518082815260200191505060405180910390f35b61024c6004803603606081101561017f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156101bc57600080fd5b8201836020820111156101ce57600080fd5b803590602001918460018302840111640100000000831117156101f057600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803590602001909291905050506105ad565b005b6102906004803603602081101561026457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061097f565b60405180821515815260200191505060405180910390f35b6102b06109d5565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103b5600480360360408110156102f257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561032f57600080fd5b82018360208201111561034157600080fd5b8035906020019184600183028401116401000000008311171561036357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506109f9565b6040518082815260200191505060405180910390f35b61040d600480360360208110156103e157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610aaa565b005b6104516004803603602081101561042557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b77565b005b6104b56004803603604081101561046957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c44565b005b6104f9600480360360208110156104cd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611107565b005b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661064f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806115176026913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156106f2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526566657272616c3a205f75736572206973207a65726f20616464726573730081525060200191505060405180910390fd5b60008111610768576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f526566657272616c3a205f746f74616c2062656c6f77207a65726f000000000081525060200191505060405180910390fd5b61082181600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020846040518082805190602001908083835b602083106107df57805182526020820191506020810190506020830392506107bc565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020546113a890919063ffffffff16565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020836040518082805190602001908083835b602083106108945780518252602082019150602081019050602083039250610871565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902081905550816040518082805190602001908083835b602083106108ff57805182526020820191506020810190506020830392506108dc565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390208373ffffffffffffffffffffffffffffffffffffffff167f84116a8f592205bfad59143098c811b26716e502558929ee855766e280e6337c836040518082815260200191505060405180910390a3505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020826040518082805190602001908083835b60208310610a6e5780518252602082019150602081019050602083039250610a4b565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902054905092915050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b6b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b610b748161130b565b50565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c38576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b610c4181611430565b50565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610ce6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806115176026913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d89576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526566657272616c3a205f75736572206973207a65726f20616464726573730081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610e0f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602381526020018061153d6023913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610e94576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806114cf6022913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f95576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f526566657272616c3a205f72656665727265722065786973747300000000000081525060200191505060405180910390fd5b80600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506110666001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113a890919063ffffffff16565b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fec49a3c8c4ae06c18160fe86119c381c9d213ac3e052ff35b594da8687b193c760405160405180910390a35050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561124e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806114f16026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167fac6fa858e9350a46cec16539926e0fde25b7629f84b5a72bffaae4df888ae86d60405160405180910390a250565b600080828401905083811015611426576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f80c0b871b97b595b16a7741c1b06fed0c6f6f558639f18ccbce50724325dc40d60405160405180910390a25056fe526566657272616c3a205f7573657220697320657175616c205f72656665727265724f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734f706572617461626c653a2063616c6c6572206973206e6f7420746865206f70657261746f72526566657272616c3a205f7265666572726572206973207a65726f2061646472657373a26469706673582212206b1a99920420b78ee1f3f9fcadfee0e27b96632c5e46c9ecbe30fe556f4afc7364736f6c634300060c0033

Deployed ByteCode Sourcemap

7257:2079:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8794:115;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;8917:138;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8266:368;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1529:118;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;513:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;8642:144;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9063:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9198:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7699:559;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;872:244;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8794:115;8862:7;8889:5;:12;8895:5;8889:12;;;;;;;;;;;;;;;;;;;;;;;;;8882:19;;8794:115;;;:::o;8917:138::-;8995:7;9022:14;:25;9037:9;9022:25;;;;;;;;;;;;;;;;9015:32;;8917:138;;;:::o;8266:368::-;1437:9;:21;1447:10;1437:21;;;;;;;;;;;;;;;;;;;;;;;;;1429:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8405:1:::1;8388:19;;:5;:19;;;;8380:63;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;8471:1;8462:6;:10;8454:50;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;8541:33;8567:6;8541:7;:14;8549:5;8541:14;;;;;;;;;;;;;;;8556:5;8541:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:25;;:33;;;;:::i;:::-;8517:7;:14;8525:5;8517:14;;;;;;;;;;;;;;;8532:5;8517:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:57;;;;8612:5;8592:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8605:5;8592:34;;;8619:6;8592:34;;;;;;;;;;;;;;;;;;8266:368:::0;;;:::o;1529:118::-;1597:4;1621:9;:18;1631:7;1621:18;;;;;;;;;;;;;;;;;;;;;;;;;1614:25;;1529:118;;;:::o;513:20::-;;;;;;;;;;;;:::o;8642:144::-;8730:7;8757;:14;8765:5;8757:14;;;;;;;;;;;;;;;8772:5;8757:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8750:28;;8642:144;;;;:::o;9063:127::-;797:10;788:19;;:5;;;;;;;;;;:19;;;780:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9154:28:::1;9172:9;9154:17;:28::i;:::-;9063:127:::0;:::o;9198:133::-;797:10;788:19;;:5;;;;;;;;;;:19;;;780:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9292:31:::1;9313:9;9292:20;:31::i;:::-;9198:133:::0;:::o;7699:559::-;1437:9;:21;1447:10;1437:21;;;;;;;;;;;;;;;;;;;;;;;;;1429:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7821:1:::1;7804:19;;:5;:19;;;;7796:63;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;7899:1;7878:23;;:9;:23;;;;7870:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7969:9;7960:18;;:5;:18;;;;7952:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8060:1;8036:26;;:5;:12;8042:5;8036:12;;;;;;;;;;;;;;;;;;;;;;;;;:26;;;8028:65;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;8121:9;8106:5;:12;8112:5;8106:12;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;8169:32;8199:1;8169:14;:25;8184:9;8169:25;;;;;;;;;;;;;;;;:29;;:32;;;;:::i;:::-;8141:14;:25;8156:9;8141:25;;;;;;;;;;;;;;;:60;;;;8240:9;8219:31;;8233:5;8219:31;;;;;;;;;;;;7699:559:::0;;:::o;872:244::-;797:10;788:19;;:5;;;;;;;;;;:19;;;780:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;983:1:::1;963:22;;:8;:22;;;;955:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1072:8;1044:37;;1065:5;::::0;::::1;;;;;;;;1044:37;;;;;;;;;;;;1100:8;1092:5;::::0;:16:::1;;;;;;;;;;;;;;;;;;872:244:::0;:::o;1655:141::-;1744:4;1721:9;:20;1731:9;1721:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;1778:9;1764:24;;;;;;;;;;;;1655:141;:::o;2221:181::-;2279:7;2299:9;2315:1;2311;:5;2299:17;;2340:1;2335;:6;;2327:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2393:1;2386:8;;;2221:181;;;;:::o;1804:147::-;1896:5;1873:9;:20;1883:9;1873:20;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;1933:9;1917:26;;;;;;;;;;;;1804:147;:::o

Swarm Source

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