Contract 0x7d5394e4f245ef9d35393849a9ea441dfd851af6

Contract Overview

Balance:
0 BNB
Txn Hash
Block
From
To
Value [Txn Fee]
0x9f19ddca6b06d54c3f2cf56334607e4ec7dded3ddcb6dd96ff933a3cdc528f6480193522021-04-16 4:43:484 days 14 hrs ago0x4b2fbfaa948c0c47c85f5365b4259ab333b79192 IN  0x7d5394e4f245ef9d35393849a9ea441dfd851af60 BNB0.000727375
0x6b849cc47b0e1f2f190d7f03aaf16b0f4b2f7a846e429367a181c336bb169e3e80193492021-04-16 4:43:394 days 14 hrs ago0x4b2fbfaa948c0c47c85f5365b4259ab333b79192 IN  0x7d5394e4f245ef9d35393849a9ea441dfd851af60 BNB0.000727075
0xa08fde00583fea8448feea63aca620d68af7e9d6122c3aae403d62dc355c25d980193452021-04-16 4:43:274 days 14 hrs ago0x4b2fbfaa948c0c47c85f5365b4259ab333b79192 IN  0x7d5394e4f245ef9d35393849a9ea441dfd851af60 BNB0.000727075
0x6bac930c5f566d439337293a42c883652ce1265d07347a81b6902371e0bde19780193422021-04-16 4:43:184 days 14 hrs ago0x4b2fbfaa948c0c47c85f5365b4259ab333b79192 IN  0x7d5394e4f245ef9d35393849a9ea441dfd851af60 BNB0.000727675
0x4c02c33337eec55877b5516fbc1da346365696e9ca5d5da5dc6770cca17f889980193392021-04-16 4:43:094 days 14 hrs ago0x4b2fbfaa948c0c47c85f5365b4259ab333b79192 IN  0x7d5394e4f245ef9d35393849a9ea441dfd851af60 BNB0.000726775
0x74b0b5ab026663cd1e2e18677f96d64a1de48b70f028aadedd312736433b782180193352021-04-16 4:42:574 days 14 hrs ago0x4b2fbfaa948c0c47c85f5365b4259ab333b79192 IN  0x7d5394e4f245ef9d35393849a9ea441dfd851af60 BNB0.000727675
0x02662289042c46053b6a6916f9aa354d07b3b601467b0bb62d70dd52cd30d11f80193322021-04-16 4:42:484 days 14 hrs ago0x4b2fbfaa948c0c47c85f5365b4259ab333b79192 IN  0x7d5394e4f245ef9d35393849a9ea441dfd851af60 BNB0.000727075
0xc3d7b0972046746f4e0cafe5bcd59a97ab6f883b5c6604124aab597bfa4e7f6180193292021-04-16 4:42:394 days 14 hrs ago0x4b2fbfaa948c0c47c85f5365b4259ab333b79192 IN  0x7d5394e4f245ef9d35393849a9ea441dfd851af60 BNB0.000727375
0xc68661a273ec247f2dbe7599b8086270fc1846e1a0b15d5449129f2483e2bd1380193252021-04-16 4:42:274 days 14 hrs ago0x4b2fbfaa948c0c47c85f5365b4259ab333b79192 IN  0x7d5394e4f245ef9d35393849a9ea441dfd851af60 BNB0.000727075
0x05f23ef027add20dd31f904f99307b66acb5ec3da6988f701f5ac4d9b686c7aa80193222021-04-16 4:42:184 days 14 hrs ago0x4b2fbfaa948c0c47c85f5365b4259ab333b79192 IN  0x7d5394e4f245ef9d35393849a9ea441dfd851af60 BNB0.000727675
0xd4506e14666e872d4f5c2bc4de50f4ba8c8dc8ea7c581e674e9f67f5da39681880193192021-04-16 4:42:094 days 14 hrs ago0x4b2fbfaa948c0c47c85f5365b4259ab333b79192 IN  0x7d5394e4f245ef9d35393849a9ea441dfd851af60 BNB0.000726775
0x4f2b7e10282d0451325c0147a408a83f5f31cc034c7e2905fa11cc186530d33d80193152021-04-16 4:41:574 days 14 hrs ago0x4b2fbfaa948c0c47c85f5365b4259ab333b79192 IN  0x7d5394e4f245ef9d35393849a9ea441dfd851af60 BNB0.000727675
0x64cc993b2c9d9618677fdcd1f2894ab0370d32a6b302f43a02d4658bf74d3e9b80193122021-04-16 4:41:484 days 14 hrs ago0x4b2fbfaa948c0c47c85f5365b4259ab333b79192 IN  0x7d5394e4f245ef9d35393849a9ea441dfd851af60 BNB0.000727075
0xe68198a2bc138b33447d3a98f50fea4dbdf34977c3a795be9002a5f34dfd493480193082021-04-16 4:41:364 days 14 hrs ago0x4b2fbfaa948c0c47c85f5365b4259ab333b79192 IN  0x7d5394e4f245ef9d35393849a9ea441dfd851af60 BNB0.000727375
0x5c924f0676342287accec7056adfbcad8e7cfd56644a04ae21445918b91352ae80193052021-04-16 4:41:274 days 14 hrs ago0x4b2fbfaa948c0c47c85f5365b4259ab333b79192 IN  0x7d5394e4f245ef9d35393849a9ea441dfd851af60 BNB0.000727075
0x3a4932969b3ec51bcb4575b6f301e3d8867c1b81dbcaf36baa9e8dc0bb2dbb1080193022021-04-16 4:41:184 days 14 hrs ago0x4b2fbfaa948c0c47c85f5365b4259ab333b79192 IN  0x7d5394e4f245ef9d35393849a9ea441dfd851af60 BNB0.000727675
0x29d2df6570ee2abbda54f2d0997796b080185dc3f40b0894f2145b6bb19e2e2b80192982021-04-16 4:41:064 days 14 hrs ago0x4b2fbfaa948c0c47c85f5365b4259ab333b79192 IN  0x7d5394e4f245ef9d35393849a9ea441dfd851af60 BNB0.000726775
0x219d9bf75f57f81a1947b75c4a6a5a757be93838a957fbf91c6060abdfc3c45080192952021-04-16 4:40:574 days 14 hrs ago0x4b2fbfaa948c0c47c85f5365b4259ab333b79192 IN  0x7d5394e4f245ef9d35393849a9ea441dfd851af60 BNB0.000727675
0xc8e1b8f2fb2d68806f6cec443341351dbcee075946a7d4691515c242a717646d80192922021-04-16 4:40:484 days 14 hrs ago0x4b2fbfaa948c0c47c85f5365b4259ab333b79192 IN  0x7d5394e4f245ef9d35393849a9ea441dfd851af60 BNB0.000727075
0x9100a4876b33ee5699dbb497f5ef3062e35dc7d13ce4e3818fef84f3f1b7b22880192882021-04-16 4:40:364 days 14 hrs ago0x4b2fbfaa948c0c47c85f5365b4259ab333b79192 IN  0x7d5394e4f245ef9d35393849a9ea441dfd851af60 BNB0.000727375
0xc4a8d6916c8af680b030afdd3762928e309b4271d7205c91c7bde69d870f011480192852021-04-16 4:40:274 days 14 hrs ago0x4b2fbfaa948c0c47c85f5365b4259ab333b79192 IN  0x7d5394e4f245ef9d35393849a9ea441dfd851af60 BNB0.000727075
0xfeaf63e86e8a0611baa8619fd395da92e725ca2cbb27679a3dfd705a7f8177cd80192822021-04-16 4:40:184 days 14 hrs ago0x4b2fbfaa948c0c47c85f5365b4259ab333b79192 IN  0x7d5394e4f245ef9d35393849a9ea441dfd851af60 BNB0.000727675
0x26f6da6761a2f0b4b0e37216160505f3a607fc7054be77729f8679e5f2cf67a580192782021-04-16 4:40:064 days 14 hrs ago0x4b2fbfaa948c0c47c85f5365b4259ab333b79192 IN  0x7d5394e4f245ef9d35393849a9ea441dfd851af60 BNB0.000726775
0xb90f53725d37d971bf66881590b7af9c0d26943784145aa354f5d07d530dd27980192752021-04-16 4:39:574 days 14 hrs ago0x4b2fbfaa948c0c47c85f5365b4259ab333b79192 IN  0x7d5394e4f245ef9d35393849a9ea441dfd851af60 BNB0.000727675
0x8d212401c0be7ac8d7eb0f472849d03fc474c1c6b14414d62309dab5e3d3825a80192722021-04-16 4:39:484 days 14 hrs ago0x4b2fbfaa948c0c47c85f5365b4259ab333b79192 IN  0x7d5394e4f245ef9d35393849a9ea441dfd851af60 BNB0.000727075
[ Download CSV Export 
Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
BonusReward

Compiler Version
v0.8.1+commit.df193b15

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at BscScan.com on 2021-02-26
*/

//"SPDX-License-Identifier: MIT"
pragma solidity ^0.8.1;
//import "hardhat/console.sol";

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) {
        // (a + b) / 2 can overflow, so we distribute
        return (a / 2) + (b / 2) + (((a % 2) + (b % 2)) / 2);
    }
}


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 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) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        // Solidity only automatically asserts when dividing by 0
        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;
    }

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

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

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

    function _msgData() internal view virtual returns (bytes calldata) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

//sol800
abstract contract Ownable is Context {
    address private _owner;

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

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

//sol8.0.0
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);
}

//sol8.0.0
library Address {
    function isContract(address account) internal view returns (bool) {
        // This method relies on extcodesize, which returns 0 for contracts in
        // construction, since the code is only stored at the end of the
        // constructor execution.

        uint256 size;
        // solhint-disable-next-line no-inline-assembly
        assembly { size := extcodesize(account) }
        return size > 0;
    }

    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");

        // solhint-disable-next-line avoid-low-level-calls, avoid-call-value
        (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");

        // solhint-disable-next-line avoid-low-level-calls
        (bool success, bytes memory returndata) = target.call{ value: value }(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }

// functionStaticCall x2
// functionDelegateCall x2

    function _verifyCallResult(bool success, bytes memory returndata, string memory errorMessage) private pure returns(bytes memory) {
        if (success) {
            return returndata;
        } else {
            // Look for revert reason and bubble it up if present
            if (returndata.length > 0) {
                // The easiest way to bubble the revert reason is using memory via assembly

                // solhint-disable-next-line no-inline-assembly
                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}

//---------------------==
//sol8.0.0
library SafeERC20 {
    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) + value;
        _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance));
    }

    function safeDecreaseAllowance(IERC20 token, address spender, uint256 value) internal {
        unchecked {
            uint256 oldAllowance = token.allowance(address(this), spender);
            require(oldAllowance >= value, "SafeERC20: decreased allowance below zero");
            uint256 newAllowance = oldAllowance - value;
            _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) { // Return data is optional
            // solhint-disable-next-line max-line-length
            require(abi.decode(returndata, (bool)), "SafeERC20: ERC20 operation did not succeed");
        }
    }
}

// File: contracts/IRewardDistributionRecipient.sol
abstract contract IRewardDistributionRecipient is Ownable {
    address public rewardDistribution; //added "public"

    modifier onlyRewardDistribution() {
        require(
            _msgSender() == rewardDistribution,
            "Caller is not reward distribution"
        );
        _;
    }

    //added func
    function isOnlyRewardDistribution() external view returns (bool) {
        return _msgSender() == rewardDistribution;
    }

    function isOnlyRewardDistributionB(address user)
        external
        view
        returns (bool)
    {
        return user == rewardDistribution;
    }

    function setRewardDistribution(address _rewardDistribution)
        external
        onlyOwner
    {
        //console.log("[sc] setRewardDistribution... ");
        rewardDistribution = _rewardDistribution;
    }
}

contract BonusReward is IRewardDistributionRecipient {
    using SafeMath for uint256;
    using SafeERC20 for IERC20;
    uint256 public dailyLimitDefault = 1000 * (10**18);
    uint256 public constant CLAIMDURATION = 1 days;

    mapping(address => uint256) private rewardsClaimed;
    mapping(address => uint256) private rewardBalance;
    mapping(address => uint256) private dailyLimit;
    mapping(address => uint256) private lastClaimedTime;

    event RewardPaid(address indexed user, uint256 reward);

    address public addrRewardToken;
    //IERC20 public erc20RewardToken;

    constructor() {
      addrRewardToken = address(0x9121e7445B4cCD88EF4B509Df17dB029128EbbA0);
      //erc20RewardToken = IERC20(_rewardToken);
    }

    function getRewardTokenBalance(address addr) public view returns (uint256) {
        return IERC20(addrRewardToken).balanceOf(addr);
    }

    function getRewardTokenBalanceOnContract() public view returns (uint256) {
        return IERC20(addrRewardToken).balanceOf(address(this));
    }

    function claimRewardCheck(address user) public view returns (bool, uint256, bool, uint256) {
        return
            (block.timestamp >= lastClaimedTime[user].add(CLAIMDURATION), block.timestamp, getRewardTokenBalanceOnContract() >= rewardBalance[user], rewardBalance[user]);
    }

    function claimReward() public {
        (bool isTimeOk, uint256 blockime, bool isRewardsSufficient, uint256 reward) = claimRewardCheck(msg.sender);
        //console.log("[sc] isTimeToClaim: %s, isRewardSufficient: %s, user rewards: %s", isTimeOk, isRewardsSufficient, reward);
        //blockime

        uint256 dailyLimitUser;
        if (dailyLimit[msg.sender] == 0) {
            dailyLimitUser = dailyLimitDefault;
        } else {
            dailyLimitUser = dailyLimit[msg.sender];
        }
        if (reward > dailyLimitUser) {
            reward = dailyLimitUser;
        }

        //require(reward > 0 && isTimeOk && isRewardSufficient(msg.sender), "check failed");
        if (reward > 0 && isTimeOk && isRewardsSufficient) {
            rewardBalance[msg.sender] = rewardBalance[msg.sender].sub(reward);
            IERC20(addrRewardToken).safeTransfer(msg.sender, reward);
            rewardsClaimed[msg.sender] = rewardsClaimed[msg.sender].add(reward);
            lastClaimedTime[msg.sender] = blockime;
            emit RewardPaid(msg.sender, reward);
        }
    }

    function getRewardsClaimed(address user) public view returns (uint256) {
        return rewardsClaimed[user];
    }

    function getRewardBalance(address user) public view returns (uint256) {
        return rewardBalance[user];
    }

    function getDailyLimit(address user) public view returns (uint256) {
        return dailyLimit[user];
    }

    function setDailyLimit(address user, uint256 amount)
        public
        onlyRewardDistribution
    {
        dailyLimit[user] = amount;
    }

    function getLastClaimedTime(address user) public view returns (uint256) {
        return lastClaimedTime[user];
    }

    function reduceRewardBalance(address user, uint256 amount)
        public
        onlyRewardDistribution
    {
        rewardBalance[user] = rewardBalance[user].sub(amount);
    }

    function addRewardBalance(address user, uint256 amount)
        public
        onlyRewardDistribution
    {
        rewardBalance[user] = rewardBalance[user].add(amount);
    }

    function getBlockTimestamp() public view returns (uint256) {
        return (block.timestamp);
    }

}

/**
 * MIT License
 * ===========
 *
 * Copyright (c) 2020,2021 Aries Financial
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 */

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":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"reward","type":"uint256"}],"name":"RewardPaid","type":"event"},{"inputs":[],"name":"CLAIMDURATION","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"addRewardBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"addrRewardToken","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claimReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"claimRewardCheck","outputs":[{"internalType":"bool","name":"","type":"bool"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bool","name":"","type":"bool"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"dailyLimitDefault","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getBlockTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getDailyLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getLastClaimedTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getRewardBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"getRewardTokenBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getRewardTokenBalanceOnContract","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getRewardsClaimed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isOnlyRewardDistribution","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"isOnlyRewardDistributionB","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":"user","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"reduceRewardBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rewardDistribution","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setDailyLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_rewardDistribution","type":"address"}],"name":"setRewardDistribution","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]

6080604052683635c9adc5dea0000060025534801561001d57600080fd5b50600061002861009d565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600780546001600160a01b031916739121e7445b4ccd88ef4b509df17db029128ebba01790556100a1565b3390565b610f9f806100b06000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c80634c7a28b1116100b85780638da5cb5b1161007c5780638da5cb5b146102615780639d6d226014610269578063b88a802f1461027c578063c8aa2c5614610284578063d5a849e914610297578063f2fde38b146102aa57610142565b80634c7a28b11461022357806356d5a04f1461022b57806358f2ef171461023e578063715018a614610251578063796b89b91461025957610142565b80632a2f6b3e1161010a5780632a2f6b3e146101b55780632b33891c146101bd5780632c99c539146101d0578063321dce1f146101d85780633cbc5d28146101eb578063447bd9681461020057610142565b806307701cc3146101475780630d68b76114610170578063101114cf1461018557806313d2330e1461019a5780632803212f146101a2575b600080fd5b61015a610155366004610c10565b6102bd565b6040516101679190610eeb565b60405180910390f35b61018361017e366004610c10565b610346565b005b61018d6103b0565b6040516101679190610ca7565b61015a6103bf565b6101836101b0366004610c2a565b610445565b61015a61049b565b61015a6101cb366004610c10565b6104a2565b61018d6104bd565b61015a6101e6366004610c10565b6104cc565b6101f36104e7565b6040516101679190610cd4565b61021361020e366004610c10565b61050d565b6040516101679493929190610cdf565b61015a61058d565b610183610239366004610c2a565b610593565b61015a61024c366004610c10565b610610565b61018361062b565b61015a6106b4565b61018d6106b8565b6101f3610277366004610c10565b6106c7565b6101836106db565b610183610292366004610c2a565b61080b565b61015a6102a5366004610c10565b610868565b6101836102b8366004610c10565b610883565b6007546040516370a0823160e01b81526000916001600160a01b0316906370a08231906102ee908590600401610ca7565b60206040518083038186803b15801561030657600080fd5b505afa15801561031a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061033e9190610c73565b90505b919050565b61034e610943565b6001600160a01b031661035f6106b8565b6001600160a01b03161461038e5760405162461bcd60e51b815260040161038590610df4565b60405180910390fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6001546001600160a01b031681565b6007546040516370a0823160e01b81526000916001600160a01b0316906370a08231906103f0903090600401610ca7565b60206040518083038186803b15801561040857600080fd5b505afa15801561041c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104409190610c73565b905090565b6001546001600160a01b0316610459610943565b6001600160a01b03161461047f5760405162461bcd60e51b815260040161038590610e29565b6001600160a01b03909116600090815260056020526040902055565b6201518081565b6001600160a01b031660009081526006602052604090205490565b6007546001600160a01b031681565b6001600160a01b031660009081526003602052604090205490565b6001546000906001600160a01b03166104fe610943565b6001600160a01b031614905090565b6001600160a01b0381166000908152600660205260408120548190819081906105399062015180610947565b6001600160a01b038616600090815260046020526040902054429182101591906105616103bf565b6001600160a01b0389166000908152600460205260409020549397509195501115925090509193509193565b60025481565b6001546001600160a01b03166105a7610943565b6001600160a01b0316146105cd5760405162461bcd60e51b815260040161038590610e29565b6001600160a01b0382166000908152600460205260409020546105f0908261097d565b6001600160a01b0390921660009081526004602052604090209190915550565b6001600160a01b031660009081526005602052604090205490565b610633610943565b6001600160a01b03166106446106b8565b6001600160a01b03161461066a5760405162461bcd60e51b815260040161038590610df4565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b4290565b6000546001600160a01b031690565b6001546001600160a01b0390811691161490565b6000806000806106ea3361050d565b336000908152600560205260408120549498509296509094509250906107135750600254610725565b50336000908152600560205260409020545b80821115610731578091505b60008211801561073e5750845b80156107475750825b156108045733600090815260046020526040902054610766908361097d565b33600081815260046020526040902091909155600754610792916001600160a01b0390911690846109bf565b336000908152600360205260409020546107ac9083610947565b336000818152600360209081526040808320949094556006905282902086905590517fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e0486906107fb908590610eeb565b60405180910390a25b5050505050565b6001546001600160a01b031661081f610943565b6001600160a01b0316146108455760405162461bcd60e51b815260040161038590610e29565b6001600160a01b0382166000908152600460205260409020546105f09082610947565b6001600160a01b031660009081526004602052604090205490565b61088b610943565b6001600160a01b031661089c6106b8565b6001600160a01b0316146108c25760405162461bcd60e51b815260040161038590610df4565b6001600160a01b0381166108e85760405162461bcd60e51b815260040161038590610d31565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b3390565b6000806109548385610ef4565b9050838110156109765760405162461bcd60e51b815260040161038590610d77565b9392505050565b600061097683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610a1a565b610a158363a9059cbb60e01b84846040516024016109de929190610cbb565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610a54565b505050565b60008184841115610a3e5760405162461bcd60e51b81526004016103859190610cfe565b506000610a4b8486610f0c565b95945050505050565b6000610aa9826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610ae39092919063ffffffff16565b805190915015610a155780806020019051810190610ac79190610c53565b610a155760405162461bcd60e51b815260040161038590610ea1565b6060610af28484600085610afa565b949350505050565b606082471015610b1c5760405162461bcd60e51b815260040161038590610dae565b610b2585610bba565b610b415760405162461bcd60e51b815260040161038590610e6a565b600080866001600160a01b03168587604051610b5d9190610c8b565b60006040518083038185875af1925050503d8060008114610b9a576040519150601f19603f3d011682016040523d82523d6000602084013e610b9f565b606091505b5091509150610baf828286610bc0565b979650505050505050565b3b151590565b60608315610bcf575081610976565b825115610bdf5782518084602001fd5b8160405162461bcd60e51b81526004016103859190610cfe565b80356001600160a01b038116811461034157600080fd5b600060208284031215610c21578081fd5b61097682610bf9565b60008060408385031215610c3c578081fd5b610c4583610bf9565b946020939093013593505050565b600060208284031215610c64578081fd5b81518015158114610976578182fd5b600060208284031215610c84578081fd5b5051919050565b60008251610c9d818460208701610f23565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b9315158452602084019290925215156040830152606082015260800190565b6000602082528251806020840152610d1d816040850160208701610f23565b601f01601f19169190910160400192915050565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526026908201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6040820152651c8818d85b1b60d21b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526021908201527f43616c6c6572206973206e6f742072657761726420646973747269627574696f6040820152603760f91b606082015260800190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b90815260200190565b60008219821115610f0757610f07610f53565b500190565b600082821015610f1e57610f1e610f53565b500390565b60005b83811015610f3e578181015183820152602001610f26565b83811115610f4d576000848401525b50505050565b634e487b7160e01b600052601160045260246000fdfea26469706673582212202e84fe7104c375c16562af1740dfc17feaeebecc802806dc85d60192793e45d864736f6c63430008010033

Deployed ByteCode Sourcemap

10123:3618:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10886:140;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9897:219;;;;;;:::i;:::-;;:::i;:::-;;9327:33;;;:::i;:::-;;;;;;;:::i;11034:147::-;;;:::i;12968:150::-;;;;;;:::i;:::-;;:::i;10306:46::-;;;:::i;13126:119::-;;;;;;:::i;:::-;;:::i;10650:30::-;;;:::i;12603:117::-;;;;;;:::i;:::-;;:::i;9594:125::-;;;:::i;:::-;;;;;;;:::i;11189:287::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;:::i;10249:50::-;;;:::i;13253:184::-;;;;;;:::i;:::-;;:::i;12851:109::-;;;;;;:::i;:::-;;:::i;3223:148::-;;;:::i;13634:102::-;;;:::i;3000:87::-;;;:::i;9727:162::-;;;;;;:::i;:::-;;:::i;11484:1111::-;;;:::i;13445:181::-;;;;;;:::i;:::-;;:::i;12728:115::-;;;;;;:::i;:::-;;:::i;3379:244::-;;;;;;:::i;:::-;;:::i;10886:140::-;10986:15;;10979:39;;-1:-1:-1;;;10979:39:0;;10952:7;;-1:-1:-1;;;;;10986:15:0;;10979:33;;:39;;11013:4;;10979:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10972:46;;10886:140;;;;:::o;9897:219::-;3146:12;:10;:12::i;:::-;-1:-1:-1;;;;;3135:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;3135:23:0;;3127:68;;;;-1:-1:-1;;;3127:68:0;;;;;;;:::i;:::-;;;;;;;;;10068:18:::1;:40:::0;;-1:-1:-1;;;;;;10068:40:0::1;-1:-1:-1::0;;;;;10068:40:0;;;::::1;::::0;;;::::1;::::0;;9897:219::o;9327:33::-;;;-1:-1:-1;;;;;9327:33:0;;:::o;11034:147::-;11132:15;;11125:48;;-1:-1:-1;;;11125:48:0;;11098:7;;-1:-1:-1;;;;;11132:15:0;;11125:33;;:48;;11167:4;;11125:48;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11118:55;;11034:147;:::o;12968:150::-;9469:18;;-1:-1:-1;;;;;9469:18:0;9453:12;:10;:12::i;:::-;-1:-1:-1;;;;;9453:34:0;;9431:117;;;;-1:-1:-1;;;9431:117:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13085:16:0;;::::1;;::::0;;;:10:::1;:16;::::0;;;;:25;12968:150::o;10306:46::-;10346:6;10306:46;:::o;13126:119::-;-1:-1:-1;;;;;13216:21:0;13189:7;13216:21;;;:15;:21;;;;;;;13126:119::o;10650:30::-;;;-1:-1:-1;;;;;10650:30:0;;:::o;12603:117::-;-1:-1:-1;;;;;12692:20:0;12665:7;12692:20;;;:14;:20;;;;;;;12603:117::o;9594:125::-;9693:18;;9653:4;;-1:-1:-1;;;;;9693:18:0;9677:12;:10;:12::i;:::-;-1:-1:-1;;;;;9677:34:0;;9670:41;;9594:125;:::o;11189:287::-;-1:-1:-1;;;;;11331:21:0;;11250:4;11331:21;;;:15;:21;;;;;;11250:4;;;;;;11331:40;;10346:6;11331:25;:40::i;:::-;-1:-1:-1;;;;;11427:19:0;;;;;;:13;:19;;;;;;11312:15;:59;;;;;:15;11390:33;:31;:33::i;:::-;-1:-1:-1;;;;;11448:19:0;;;;;;:13;:19;;;;;;11291:177;;-1:-1:-1;11291:177:0;;-1:-1:-1;;11390:56:0;;-1:-1:-1;11448:19:0;-1:-1:-1;11189:287:0;;;;;:::o;10249:50::-;;;;:::o;13253:184::-;9469:18;;-1:-1:-1;;;;;9469:18:0;9453:12;:10;:12::i;:::-;-1:-1:-1;;;;;9453:34:0;;9431:117;;;;-1:-1:-1;;;9431:117:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13398:19:0;::::1;;::::0;;;:13:::1;:19;::::0;;;;;:31:::1;::::0;13422:6;13398:23:::1;:31::i;:::-;-1:-1:-1::0;;;;;13376:19:0;;::::1;;::::0;;;:13:::1;:19;::::0;;;;:53;;;;-1:-1:-1;13253:184:0:o;12851:109::-;-1:-1:-1;;;;;12936:16:0;12909:7;12936:16;;;:10;:16;;;;;;;12851:109::o;3223:148::-;3146:12;:10;:12::i;:::-;-1:-1:-1;;;;;3135:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;3135:23:0;;3127:68;;;;-1:-1:-1;;;3127:68:0;;;;;;;:::i;:::-;3330:1:::1;3314:6:::0;;3293:40:::1;::::0;-1:-1:-1;;;;;3314:6:0;;::::1;::::0;3293:40:::1;::::0;3330:1;;3293:40:::1;3361:1;3344:19:::0;;-1:-1:-1;;;;;;3344:19:0::1;::::0;;3223:148::o;13634:102::-;13712:15;13634:102;:::o;3000:87::-;3046:7;3073:6;-1:-1:-1;;;;;3073:6:0;3000:87;:::o;9727:162::-;9863:18;;-1:-1:-1;;;;;9863:18:0;;;9855:26;;;;9727:162::o;11484:1111::-;11526:13;11541:16;11559:24;11585:14;11603:28;11620:10;11603:16;:28::i;:::-;11843:10;11795:22;11832;;;:10;:22;;;;;;11525:106;;-1:-1:-1;11525:106:0;;-1:-1:-1;11525:106:0;;-1:-1:-1;11525:106:0;-1:-1:-1;11795:22:0;11828:166;;-1:-1:-1;11893:17:0;;11828:166;;;-1:-1:-1;11971:10:0;11960:22;;;;:10;:22;;;;;;11828:166;12017:14;12008:6;:23;12004:79;;;12057:14;12048:23;;12004:79;12202:1;12193:6;:10;:22;;;;;12207:8;12193:22;:45;;;;;12219:19;12193:45;12189:399;;;12297:10;12283:25;;;;:13;:25;;;;;;:37;;12313:6;12283:29;:37::i;:::-;12269:10;12255:25;;;;:13;:25;;;;;:65;;;;12342:15;;12335:56;;-1:-1:-1;;;;;12342:15:0;;;;12384:6;12335:36;:56::i;:::-;12450:10;12435:26;;;;:14;:26;;;;;;:38;;12466:6;12435:30;:38::i;:::-;12421:10;12406:26;;;;:14;:26;;;;;;;;:67;;;;12488:15;:27;;;;;:38;;;12546:30;;;;;;12569:6;;12546:30;:::i;:::-;;;;;;;;12189:399;11484:1111;;;;;:::o;13445:181::-;9469:18;;-1:-1:-1;;;;;9469:18:0;9453:12;:10;:12::i;:::-;-1:-1:-1;;;;;9453:34:0;;9431:117;;;;-1:-1:-1;;;9431:117:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13587:19:0;::::1;;::::0;;;:13:::1;:19;::::0;;;;;:31:::1;::::0;13611:6;13587:23:::1;:31::i;12728:115::-:0;-1:-1:-1;;;;;12816:19:0;12789:7;12816:19;;;:13;:19;;;;;;;12728:115::o;3379:244::-;3146:12;:10;:12::i;:::-;-1:-1:-1;;;;;3135:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;3135:23:0;;3127:68;;;;-1:-1:-1;;;3127:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3468:22:0;::::1;3460:73;;;;-1:-1:-1::0;;;3460:73:0::1;;;;;;;:::i;:::-;3570:6;::::0;;3549:38:::1;::::0;-1:-1:-1;;;;;3549:38:0;;::::1;::::0;3570:6;::::1;::::0;3549:38:::1;::::0;::::1;3598:6;:17:::0;;-1:-1:-1;;;;;;3598:17:0::1;-1:-1:-1::0;;;;;3598:17:0;;;::::1;::::0;;;::::1;::::0;;3379:244::o;2313:98::-;2393:10;2313:98;:::o;573:181::-;631:7;;663:5;667:1;663;:5;:::i;:::-;651:17;;692:1;687;:6;;679:46;;;;-1:-1:-1;;;679:46:0;;;;;;;:::i;:::-;745:1;573:181;-1:-1:-1;;;573:181:0:o;762:136::-;820:7;847:43;851:1;854;847:43;;;;;;;;;;;;;;;;;:3;:43::i;7268:177::-;7351:86;7371:5;7401:23;;;7426:2;7430:5;7378:58;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;7378:58:0;;;;;;;;;;;;;;-1:-1:-1;;;;;7378:58:0;-1:-1:-1;;;;;;7378:58:0;;;;;;;;;;7351:19;:86::i;:::-;7268:177;;;:::o;906:226::-;1026:7;1062:12;1054:6;;;;1046:29;;;;-1:-1:-1;;;1046:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1086:9:0;1098:5;1102:1;1098;:5;:::i;:::-;1086:17;906:226;-1:-1:-1;;;;;906:226:0:o;8784:418::-;8865:23;8891:69;8919:4;8891:69;;;;;;;;;;;;;;;;;8899:5;-1:-1:-1;;;;;8891:27:0;;;:69;;;;;:::i;:::-;8975:17;;8865:95;;-1:-1:-1;8975:21:0;8971:224;;9117:10;9106:30;;;;;;;;;;;;:::i;:::-;9098:85;;;;-1:-1:-1;;;9098:85:0;;;;;;;:::i;5390:195::-;5493:12;5525:52;5547:6;5555:4;5561:1;5564:12;5525:21;:52::i;:::-;5518:59;5390:195;-1:-1:-1;;;;5390:195:0:o;5827:530::-;5954:12;6012:5;5987:21;:30;;5979:81;;;;-1:-1:-1;;;5979:81:0;;;;;;;:::i;:::-;6079:18;6090:6;6079:10;:18::i;:::-;6071:60;;;;-1:-1:-1;;;6071:60:0;;;;;;;:::i;:::-;6205:12;6219:23;6246:6;-1:-1:-1;;;;;6246:11:0;6266:5;6274:4;6246:33;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6204:75;;;;6297:52;6315:7;6324:10;6336:12;6297:17;:52::i;:::-;6290:59;5827:530;-1:-1:-1;;;;;;;5827:530:0:o;4368:422::-;4735:20;4774:8;;;4368:422::o;6421:742::-;6536:12;6565:7;6561:595;;;-1:-1:-1;6596:10:0;6589:17;;6561:595;6710:17;;:21;6706:439;;6973:10;6967:17;7034:15;7021:10;7017:2;7013:19;7006:44;6921:148;7116:12;7109:20;;-1:-1:-1;;;7109:20:0;;;;;;;;:::i;14:175:1:-;84:20;;-1:-1:-1;;;;;133:31:1;;123:42;;113:2;;179:1;176;169:12;194:198;;306:2;294:9;285:7;281:23;277:32;274:2;;;327:6;319;312:22;274:2;355:31;376:9;355:31;:::i;397:266::-;;;526:2;514:9;505:7;501:23;497:32;494:2;;;547:6;539;532:22;494:2;575:31;596:9;575:31;:::i;:::-;565:41;653:2;638:18;;;;625:32;;-1:-1:-1;;;484:179:1:o;668:297::-;;788:2;776:9;767:7;763:23;759:32;756:2;;;809:6;801;794:22;756:2;846:9;840:16;899:5;892:13;885:21;878:5;875:32;865:2;;926:6;918;911:22;970:194;;1093:2;1081:9;1072:7;1068:23;1064:32;1061:2;;;1114:6;1106;1099:22;1061:2;-1:-1:-1;1142:16:1;;1051:113;-1:-1:-1;1051:113:1:o;1169:274::-;;1336:6;1330:13;1352:53;1398:6;1393:3;1386:4;1378:6;1374:17;1352:53;:::i;:::-;1421:16;;;;;1306:137;-1:-1:-1;;1306:137:1:o;1448:203::-;-1:-1:-1;;;;;1612:32:1;;;;1594:51;;1582:2;1567:18;;1549:102::o;1656:274::-;-1:-1:-1;;;;;1848:32:1;;;;1830:51;;1912:2;1897:18;;1890:34;1818:2;1803:18;;1785:145::o;1935:187::-;2100:14;;2093:22;2075:41;;2063:2;2048:18;;2030:92::o;2127:411::-;2371:14;;2364:22;2346:41;;2418:2;2403:18;;2396:34;;;;2473:14;2466:22;2461:2;2446:18;;2439:50;2520:2;2505:18;;2498:34;2333:3;2318:19;;2300:238::o;2543:383::-;;2692:2;2681:9;2674:21;2724:6;2718:13;2767:6;2762:2;2751:9;2747:18;2740:34;2783:66;2842:6;2837:2;2826:9;2822:18;2817:2;2809:6;2805:15;2783:66;:::i;:::-;2910:2;2889:15;-1:-1:-1;;2885:29:1;2870:45;;;;2917:2;2866:54;;2664:262;-1:-1:-1;;2664:262:1:o;2931:402::-;3133:2;3115:21;;;3172:2;3152:18;;;3145:30;3211:34;3206:2;3191:18;;3184:62;-1:-1:-1;;;3277:2:1;3262:18;;3255:36;3323:3;3308:19;;3105:228::o;3338:351::-;3540:2;3522:21;;;3579:2;3559:18;;;3552:30;3618:29;3613:2;3598:18;;3591:57;3680:2;3665:18;;3512:177::o;3694:402::-;3896:2;3878:21;;;3935:2;3915:18;;;3908:30;3974:34;3969:2;3954:18;;3947:62;-1:-1:-1;;;4040:2:1;4025:18;;4018:36;4086:3;4071:19;;3868:228::o;4101:356::-;4303:2;4285:21;;;4322:18;;;4315:30;4381:34;4376:2;4361:18;;4354:62;4448:2;4433:18;;4275:182::o;4462:397::-;4664:2;4646:21;;;4703:2;4683:18;;;4676:30;4742:34;4737:2;4722:18;;4715:62;-1:-1:-1;;;4808:2:1;4793:18;;4786:31;4849:3;4834:19;;4636:223::o;4864:353::-;5066:2;5048:21;;;5105:2;5085:18;;;5078:30;5144:31;5139:2;5124:18;;5117:59;5208:2;5193:18;;5038:179::o;5222:406::-;5424:2;5406:21;;;5463:2;5443:18;;;5436:30;5502:34;5497:2;5482:18;;5475:62;-1:-1:-1;;;5568:2:1;5553:18;;5546:40;5618:3;5603:19;;5396:232::o;5633:177::-;5779:25;;;5767:2;5752:18;;5734:76::o;5815:128::-;;5886:1;5882:6;5879:1;5876:13;5873:2;;;5892:18;;:::i;:::-;-1:-1:-1;5928:9:1;;5863:80::o;5948:125::-;;6016:1;6013;6010:8;6007:2;;;6021:18;;:::i;:::-;-1:-1:-1;6058:9:1;;5997:76::o;6078:258::-;6150:1;6160:113;6174:6;6171:1;6168:13;6160:113;;;6250:11;;;6244:18;6231:11;;;6224:39;6196:2;6189:10;6160:113;;;6291:6;6288:1;6285:13;6282:2;;;6326:1;6317:6;6312:3;6308:16;6301:27;6282:2;;6131:205;;;:::o;6341:127::-;6402:10;6397:3;6393:20;6390:1;6383:31;6433:4;6430:1;6423:15;6457:4;6454:1;6447:15

Swarm Source

ipfs://2e84fe7104c375c16562af1740dfc17feaeebecc802806dc85d60192793e45d8
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading