Contract 0x63f0c0eac9650b60e51e9f8590877897e77666c1

Contract Overview

Balance:
0 Ether
TxHash Block Age From To Value [TxFee]
0xbca92bcd865585dc7305359b3ae3258e54bc2756c8d582934711fda5a51719c3486416261 days 2 hrs ago0x002ba2351532a741043d874bd0b12aab21abc289 IN  0x63f0c0eac9650b60e51e9f8590877897e77666c10 Ether0.000257778
0xd781c2c6baa59d0c198b420c2294751ae9ec3bd837b4cba3f0cc8fc12b55fdff486404361 days 3 hrs ago0x002ba2351532a741043d874bd0b12aab21abc289 IN  0x63f0c0eac9650b60e51e9f8590877897e77666c10 Ether0.000257778
0x29114eed79f8bf7c0e60728914d248db95b2aa4afd92a1fa29847bd8b3c19822486365261 days 4 hrs ago0x002ba2351532a741043d874bd0b12aab21abc289 IN  0x63f0c0eac9650b60e51e9f8590877897e77666c10 Ether0.000243576
0x798a1095ec5c5d2c276176374efcc589a020ce7ecd3ce1c95a71a582dc3adf9d486360461 days 4 hrs ago0x002ba2351532a741043d874bd0b12aab21abc289 IN  0x63f0c0eac9650b60e51e9f8590877897e77666c10 Ether0.000257778
0xe5f8a462dc4ad44088539d584dc0f343e7dd51c7f586ea334918858e432185ec486332161 days 5 hrs ago0x4067d9b2e9af27127d0bad4d57a45e53f8ffe577 IN  0x63f0c0eac9650b60e51e9f8590877897e77666c10.111 Ether0.000021045
0x5cf98ad86ae0fd761352fc8816b0823931695a43b290bafff00c57a88d78287e486330661 days 5 hrs ago0x002ba2351532a741043d874bd0b12aab21abc289 IN  0x63f0c0eac9650b60e51e9f8590877897e77666c10 Ether0.000257778
0xbe2a7582ecbb88a403c60817869da21287ad510fcfc9c90516fc52c29a4195dc486281261 days 7 hrs ago0x002ba2351532a741043d874bd0b12aab21abc289 IN  0x63f0c0eac9650b60e51e9f8590877897e77666c10 Ether0.000424638
0x8606bf5bd810c3adde026f33652ea2bfac970824bca2a67aac8089f5cae29fe6486259761 days 8 hrs ago0x002ba2351532a741043d874bd0b12aab21abc289 IN  Contract Creation0 Ether0.008377965
[ Download CSV Export 

Latest 25 internal transaction, Click here to view more Internal Transactions as a result of Contract Execution

Parent TxHash Block Age From To Value
0x5b6a29698abd90c278bff8e768e49e4d9c217dd5e2e3d73ca54e3e46a3608198486390961 days 3 hrs ago0x63f0c0eac9650b60e51e9f8590877897e77666c10x6fa8590920c5966713b1a86916f7b0419411e4740 Ether
0x5b6a29698abd90c278bff8e768e49e4d9c217dd5e2e3d73ca54e3e46a3608198486390961 days 3 hrs ago0x63f0c0eac9650b60e51e9f8590877897e77666c10x6fa8590920c5966713b1a86916f7b0419411e4740 Ether
0x5b6a29698abd90c278bff8e768e49e4d9c217dd5e2e3d73ca54e3e46a3608198486390961 days 3 hrs ago0x63f0c0eac9650b60e51e9f8590877897e77666c10xde150efcaa04e38780843f0373ad267781d221e90 Ether
0x5b6a29698abd90c278bff8e768e49e4d9c217dd5e2e3d73ca54e3e46a3608198486390961 days 3 hrs ago0x63f0c0eac9650b60e51e9f8590877897e77666c10x6fa8590920c5966713b1a86916f7b0419411e4740 Ether
0x5b6a29698abd90c278bff8e768e49e4d9c217dd5e2e3d73ca54e3e46a3608198486390961 days 3 hrs ago0x63f0c0eac9650b60e51e9f8590877897e77666c10xde150efcaa04e38780843f0373ad267781d221e90 Ether
0x5b6a29698abd90c278bff8e768e49e4d9c217dd5e2e3d73ca54e3e46a3608198486390961 days 3 hrs ago0x95a66ec8526258acb9759225697dd3e42bab78fc0x63f0c0eac9650b60e51e9f8590877897e77666c10 Ether
0x5b6a29698abd90c278bff8e768e49e4d9c217dd5e2e3d73ca54e3e46a3608198486390961 days 3 hrs ago0x95a66ec8526258acb9759225697dd3e42bab78fc0x63f0c0eac9650b60e51e9f8590877897e77666c10 Ether
0x06d09762fd845b6eec72100872cdceeab4048a55663f307c7ed86ea6e089953a486389461 days 3 hrs ago0x63f0c0eac9650b60e51e9f8590877897e77666c10x6fa8590920c5966713b1a86916f7b0419411e4740 Ether
0x06d09762fd845b6eec72100872cdceeab4048a55663f307c7ed86ea6e089953a486389461 days 3 hrs ago0x63f0c0eac9650b60e51e9f8590877897e77666c10x6fa8590920c5966713b1a86916f7b0419411e4740 Ether
0x06d09762fd845b6eec72100872cdceeab4048a55663f307c7ed86ea6e089953a486389461 days 3 hrs ago0x63f0c0eac9650b60e51e9f8590877897e77666c10xde150efcaa04e38780843f0373ad267781d221e90 Ether
0x06d09762fd845b6eec72100872cdceeab4048a55663f307c7ed86ea6e089953a486389461 days 3 hrs ago0x63f0c0eac9650b60e51e9f8590877897e77666c10x6fa8590920c5966713b1a86916f7b0419411e4740 Ether
0x06d09762fd845b6eec72100872cdceeab4048a55663f307c7ed86ea6e089953a486389461 days 3 hrs ago0x63f0c0eac9650b60e51e9f8590877897e77666c10xde150efcaa04e38780843f0373ad267781d221e90 Ether
0x06d09762fd845b6eec72100872cdceeab4048a55663f307c7ed86ea6e089953a486389461 days 3 hrs ago0x95a66ec8526258acb9759225697dd3e42bab78fc0x63f0c0eac9650b60e51e9f8590877897e77666c10 Ether
0x06d09762fd845b6eec72100872cdceeab4048a55663f307c7ed86ea6e089953a486389461 days 3 hrs ago0x95a66ec8526258acb9759225697dd3e42bab78fc0x63f0c0eac9650b60e51e9f8590877897e77666c10 Ether
0x34885389587c2222bf510bdb86795973a698a2f99ff25ed4f244ec71ccfc15fa486385261 days 3 hrs ago0x63f0c0eac9650b60e51e9f8590877897e77666c10x6fa8590920c5966713b1a86916f7b0419411e4740 Ether
0x34885389587c2222bf510bdb86795973a698a2f99ff25ed4f244ec71ccfc15fa486385261 days 3 hrs ago0x63f0c0eac9650b60e51e9f8590877897e77666c10x6fa8590920c5966713b1a86916f7b0419411e4740 Ether
0x34885389587c2222bf510bdb86795973a698a2f99ff25ed4f244ec71ccfc15fa486385261 days 3 hrs ago0x63f0c0eac9650b60e51e9f8590877897e77666c10xb04fb6ff686fd0a108e2d47efd9d3d2c05a917ea0 Ether
0x34885389587c2222bf510bdb86795973a698a2f99ff25ed4f244ec71ccfc15fa486385261 days 3 hrs ago0x63f0c0eac9650b60e51e9f8590877897e77666c10x6fa8590920c5966713b1a86916f7b0419411e4740 Ether
0x34885389587c2222bf510bdb86795973a698a2f99ff25ed4f244ec71ccfc15fa486385261 days 3 hrs ago0x63f0c0eac9650b60e51e9f8590877897e77666c10xb04fb6ff686fd0a108e2d47efd9d3d2c05a917ea0 Ether
0x34885389587c2222bf510bdb86795973a698a2f99ff25ed4f244ec71ccfc15fa486385261 days 3 hrs ago0x95a66ec8526258acb9759225697dd3e42bab78fc0x63f0c0eac9650b60e51e9f8590877897e77666c10 Ether
0x34885389587c2222bf510bdb86795973a698a2f99ff25ed4f244ec71ccfc15fa486385261 days 3 hrs ago0x95a66ec8526258acb9759225697dd3e42bab78fc0x63f0c0eac9650b60e51e9f8590877897e77666c10 Ether
0x7886af00d3bd41f53809fb023606eea8d3d2f524b4efe7a0abe0093ac16ac416486384361 days 3 hrs ago0x63f0c0eac9650b60e51e9f8590877897e77666c10x6fa8590920c5966713b1a86916f7b0419411e4740 Ether
0x7886af00d3bd41f53809fb023606eea8d3d2f524b4efe7a0abe0093ac16ac416486384361 days 3 hrs ago0x63f0c0eac9650b60e51e9f8590877897e77666c10x6fa8590920c5966713b1a86916f7b0419411e4740 Ether
0x7886af00d3bd41f53809fb023606eea8d3d2f524b4efe7a0abe0093ac16ac416486384361 days 3 hrs ago0x63f0c0eac9650b60e51e9f8590877897e77666c10xb04fb6ff686fd0a108e2d47efd9d3d2c05a917ea0 Ether
0x7886af00d3bd41f53809fb023606eea8d3d2f524b4efe7a0abe0093ac16ac416486384361 days 3 hrs ago0x63f0c0eac9650b60e51e9f8590877897e77666c10x6fa8590920c5966713b1a86916f7b0419411e4740 Ether
[ Download CSV Export 

Contract Source Code Verified (Exact Match)

Contract Name:
Inflation

Compiler Version
v0.5.2+commit.1df8f40c

Optimization Enabled:
Yes

Runs (Optimizer):
200

Contract Source Code

/*

 Copyright 2017-2019 RigoBlock, Rigo Investment Sagl.

 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
 You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 limitations under the License.

*/

pragma solidity 0.5.2;

contract Owned {

    address public owner;

    event NewOwner(address indexed old, address indexed current);

    modifier onlyOwner {
        require(msg.sender == owner);
        _;
    }

    constructor() public {
        owner = msg.sender;
    }

    function setOwner(address _new)
        public
        onlyOwner
    {
        require(_new != address(0));
        owner = _new;
        emit NewOwner(owner, _new);
    }
}

interface RigoToken {

    /*
     * EVENTS
     */
    event TokenMinted(address indexed recipient, uint256 amount);

    /*
     * CORE FUNCTIONS
     */
    function mintToken(address _recipient, uint256 _amount) external;
    function changeMintingAddress(address _newAddress) external;
    function changeRigoblockAddress(address _newAddress) external;
    
    function balanceOf(address _who) external view returns (uint256);
}

interface Authority {

    /*
     * EVENTS
     */
    event AuthoritySet(address indexed authority);
    event WhitelisterSet(address indexed whitelister);
    event WhitelistedUser(address indexed target, bool approved);
    event WhitelistedRegistry(address indexed registry, bool approved);
    event WhitelistedFactory(address indexed factory, bool approved);
    event WhitelistedVault(address indexed vault, bool approved);
    event WhitelistedDrago(address indexed drago, bool isWhitelisted);
    event NewDragoEventful(address indexed dragoEventful);
    event NewVaultEventful(address indexed vaultEventful);
    event NewNavVerifier(address indexed navVerifier);
    event NewExchangesAuthority(address indexed exchangesAuthority);

    /*
     * CORE FUNCTIONS
     */
    function setAuthority(address _authority, bool _isWhitelisted) external;
    function setWhitelister(address _whitelister, bool _isWhitelisted) external;
    function whitelistUser(address _target, bool _isWhitelisted) external;
    function whitelistDrago(address _drago, bool _isWhitelisted) external;
    function whitelistVault(address _vault, bool _isWhitelisted) external;
    function whitelistRegistry(address _registry, bool _isWhitelisted) external;
    function whitelistFactory(address _factory, bool _isWhitelisted) external;
    function setDragoEventful(address _dragoEventful) external;
    function setVaultEventful(address _vaultEventful) external;
    function setNavVerifier(address _navVerifier) external;
    function setExchangesAuthority(address _exchangesAuthority) external;

    /*
     * CONSTANT PUBLIC FUNCTIONS
     */
    function isWhitelistedUser(address _target) external view returns (bool);
    function isAuthority(address _authority) external view returns (bool);
    function isWhitelistedRegistry(address _registry) external view returns (bool);
    function isWhitelistedDrago(address _drago) external view returns (bool);
    function isWhitelistedVault(address _vault) external view returns (bool);
    function isWhitelistedFactory(address _factory) external view returns (bool);
    function getDragoEventful() external view returns (address);
    function getVaultEventful() external view returns (address);
    function getNavVerifier() external view returns (address);
    function getExchangesAuthority() external view returns (address);
}

contract SafeMath {

    function safeMul(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a * b;
        assert(a == 0 || c / a == b);
        return c;
    }

    function safeDiv(uint256 a, uint256 b) internal pure returns (uint256) {
        assert(b > 0);
        uint256 c = a / b;
        assert(a == b * c + a % b);
        return c;
    }

    function safeSub(uint256 a, uint256 b) internal pure returns (uint256) {
        assert(b <= a);
        return a - b;
    }

    function safeAdd(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        assert(c>=a && c>=b);
        return c;
    }

    function max64(uint64 a, uint64 b) internal pure returns (uint64) {
        return a >= b ? a : b;
    }

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

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

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

interface InflationFace {

    /*
     * CORE FUNCTIONS
     */
    function mintInflation(address _thePool, uint256 _reward) external returns (bool);
    function setInflationFactor(address _group, uint256 _inflationFactor) external;
    function setMinimumRigo(uint256 _minimum) external;
    function setRigoblock(address _newRigoblock) external;
    function setAuthority(address _authority) external;
    function setProofOfPerformance(address _pop) external;
    function setPeriod(uint256 _newPeriod) external;

    /*
     * CONSTANT PUBLIC FUNCTIONS
     */
    function canWithdraw(address _thePool) external view returns (bool);
    function timeUntilClaim(address _thePool) external view returns (uint256);
    function getInflationFactor(address _group) external view returns (uint256);
}

/// @title Inflation - Allows ProofOfPerformance to mint tokens.
/// @author Gabriele Rigo - <[email protected]>
// solhint-disable-next-line
contract Inflation is SafeMath, InflationFace {

    address public RIGOTOKENADDRESS;

    uint256 public period = 1 days;
    uint256 public minimumGRG = 0;
    address public proofOfPerformance;
    address public authority;
    address public rigoblockDao;

    mapping(address => Performer) performers;
    mapping(address => Group) groups;

    struct Performer {
        uint256 claimedTokens;
        mapping(uint256 => bool) claim;
        uint256 startTime;
        uint256 endTime;
        uint256 epoch;
    }

    struct Group {
        uint256 epochReward;
    }

    /// @notice in order to qualify for PoP user has to told minimum rigo token
    modifier minimumRigo(address _ofPool) {
        RigoToken rigoToken = RigoToken(RIGOTOKENADDRESS);
        require(
            rigoToken.balanceOf(getPoolOwner(_ofPool)) >= minimumGRG,
            "BELOW_MINIMUM_GRG"
        );
        _;
    }

    modifier onlyRigoblockDao {
        require(
            msg.sender == rigoblockDao,
            "ONLY_RIGOBLOCK_DAO"
        );
        _;
    }

    modifier onlyProofOfPerformance {
        require(
            msg.sender == proofOfPerformance,
            "ONLY_POP_CONTRACT"
        );
        _;
    }

    modifier isApprovedFactory(address _factory) {
        Authority auth = Authority(authority);
        require(
            auth.isWhitelistedFactory(_factory),
            "NOT_APPROVED_AUTHORITY"
        );
        _;
    }

    modifier timeAtLeast(address _thePool) {
        require(
            now >= performers[_thePool].endTime,
            "TIME_NOT_ENOUGH"
        );
        _;
    }

    constructor(
        address _rigoTokenAddress,
        address _proofOfPerformance,
        address _authority)
        public
    {
        RIGOTOKENADDRESS = _rigoTokenAddress;
        rigoblockDao = msg.sender;
        proofOfPerformance = _proofOfPerformance;
        authority = _authority;
    }

    /*
     * CORE FUNCTIONS
     */
    /// @dev Allows ProofOfPerformance to mint rewards
    /// @param _thePool Address of the target pool
    /// @param _reward Number of reward in Rigo tokens
    /// @return Bool the transaction executed correctly
    function mintInflation(address _thePool, uint256 _reward)
        external
        onlyProofOfPerformance
        minimumRigo(_thePool)
        timeAtLeast(_thePool)
        returns (bool)
    {
        performers[_thePool].startTime = now;
        performers[_thePool].endTime = now + period;
        ++performers[_thePool].epoch;
        uint256 reward = _reward * 95 / 100; //5% royalty to rigoblock dao
        uint256 rigoblockReward = safeSub(_reward, reward);
        RigoToken rigoToken = RigoToken(RIGOTOKENADDRESS);
        rigoToken.mintToken(getPoolOwner(_thePool), reward);
        rigoToken.mintToken(rigoblockDao, rigoblockReward);
        return true;
    }

    /// @dev Allows rigoblock dao to set the inflation factor for a group
    /// @param _group Address of the group/factory
    /// @param _inflationFactor Value of the reward factor
    function setInflationFactor(address _group, uint256 _inflationFactor)
        external
        onlyRigoblockDao
        isApprovedFactory(_group)
    {
        groups[_group].epochReward = _inflationFactor;
    }

    /// @dev Allows rigoblock dao to set the minimum number of required tokens
    /// @param _minimum Number of minimum tokens
    function setMinimumRigo(uint256 _minimum)
        external
        onlyRigoblockDao
    {
        minimumGRG = _minimum;
    }

    /// @dev Allows rigoblock dao to upgrade its address
    /// @param _newRigoblock Address of the new rigoblock dao
    function setRigoblock(address _newRigoblock)
        external
        onlyRigoblockDao
    {
        rigoblockDao = _newRigoblock;
    }

    /// @dev Allows rigoblock dao to update the authority
    /// @param _authority Address of the authority
    function setAuthority(address _authority)
        external
        onlyRigoblockDao
    {
        authority = _authority;
    }

    /// @dev Allows rigoblock dao to update proof of performance
    /// @param _pop Address of the Proof of Performance contract
    function setProofOfPerformance(address _pop)
        external
        onlyRigoblockDao
    {
        proofOfPerformance = _pop;
    }

    /// @dev Allows rigoblock dao to set the minimum time between reward collection
    /// @param _newPeriod Number of seconds between 2 rewards
    /// @notice set period on shorter subsets of time for testing
    function setPeriod(uint256 _newPeriod)
        external
        onlyRigoblockDao
    {
        period = _newPeriod;
    }

    /*
     * CONSTANT PUBLIC FUNCTIONS
     */
    /// @dev Returns whether a wizard can claim reward tokens
    /// @param _thePool Address of the target pool
    /// @return Bool the wizard can claim
    function canWithdraw(address _thePool)
        external
        view
        returns (bool)
    {
        if (now >= performers[_thePool].endTime) {
            return true;
        }
    }

    /// @dev Returns how much time needed until next claim
    /// @param _thePool Address of the target pool
    /// @return Number in seconds
    function timeUntilClaim(address _thePool)
        external
        view
        returns (uint256)
    {
        if (now < performers[_thePool].endTime) {
            return (performers[_thePool].endTime);
        }
    }

    /// @dev Return the reward factor for a group
    /// @param _group Address of the group
    /// @return Value of the reward factor
    function getInflationFactor(address _group)
        external
        view
        returns (uint256)
    {
        return groups[_group].epochReward;
    }

    /*
     * INTERNAL FUNCTIONS
     */
    /// @dev Returns the address of the pool owner
    /// @param _ofPool Number of the registered pool
    /// @return Address of the pool owner
    function getPoolOwner(address _ofPool)
        internal
        view
        returns (address)
    {
        return Owned(_ofPool).owner();
    }
}

Contract ABI

[{"constant":false,"inputs":[{"name":"_group","type":"address"},{"name":"_inflationFactor","type":"uint256"}],"name":"setInflationFactor","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newPeriod","type":"uint256"}],"name":"setPeriod","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_thePool","type":"address"}],"name":"canWithdraw","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rigoblockDao","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_minimum","type":"uint256"}],"name":"setMinimumRigo","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newRigoblock","type":"address"}],"name":"setRigoblock","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_authority","type":"address"}],"name":"setAuthority","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"RIGOTOKENADDRESS","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_thePool","type":"address"},{"name":"_reward","type":"uint256"}],"name":"mintInflation","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"authority","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_thePool","type":"address"}],"name":"timeUntilClaim","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_group","type":"address"}],"name":"getInflationFactor","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_pop","type":"address"}],"name":"setProofOfPerformance","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"proofOfPerformance","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"period","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"minimumGRG","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_rigoTokenAddress","type":"address"},{"name":"_proofOfPerformance","type":"address"},{"name":"_authority","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"}]

Contract Creation Code

608060405262015180600155600060025534801561001c57600080fd5b50604051606080610be78339810180604052606081101561003c57600080fd5b508051602082015160409092015160008054600160a060020a03938416600160a060020a031991821617909155600580548216331790556003805494841694821694909417909355600480549290911691909216179055610b45806100a26000396000f3fe608060405234801561001057600080fd5b50600436106101045760003560e060020a90048063be5ddb991161009b578063d9ed29aa1161006a578063d9ed29aa146102b5578063e70eadc0146102db578063ef78d4fd146102e3578063ff54a8e0146102eb57610104565b8063be5ddb9914610223578063bf7e214f1461024f578063c8fb742614610257578063d410e0c21461028f57610104565b806374bab550116100d757806374bab550146101b25780637802815c146101cf5780637a9e5e4b146101f5578063a6c9c4431461021b57610104565b8063020e0cdb146101095780630f3a9f651461013757806319262d30146101545780633edd80c31461018e575b600080fd5b6101356004803603604081101561011f57600080fd5b50600160a060020a0381351690602001356102f3565b005b6101356004803603602081101561014d57600080fd5b503561044f565b61017a6004803603602081101561016a57600080fd5b5035600160a060020a03166104a4565b604080519115158252519081900360200190f35b6101966104cf565b60408051600160a060020a039092168252519081900360200190f35b610135600480360360208110156101c857600080fd5b50356104de565b610135600480360360208110156101e557600080fd5b5035600160a060020a0316610533565b6101356004803603602081101561020b57600080fd5b5035600160a060020a03166105b2565b610196610631565b61017a6004803603604081101561023957600080fd5b50600160a060020a038135169060200135610640565b61019661096e565b61027d6004803603602081101561026d57600080fd5b5035600160a060020a031661097d565b60408051918252519081900360200190f35b61027d600480360360208110156102a557600080fd5b5035600160a060020a03166109c2565b610135600480360360208110156102cb57600080fd5b5035600160a060020a03166109dd565b610196610a5c565b61027d610a6b565b61027d610a71565b600554600160a060020a03163314610343576040805160e560020a62461bcd0281526020600482015260126024820152600080516020610afa833981519152604482015290519081900360640190fd5b60048054604080517fdcb7a3e0000000000000000000000000000000000000000000000000000000008152600160a060020a03808716948201949094529051859390921691829163dcb7a3e0916024808301926020929190829003018186803b1580156103af57600080fd5b505afa1580156103c3573d6000803e3d6000fd5b505050506040513d60208110156103d957600080fd5b50511515610431576040805160e560020a62461bcd02815260206004820152601660248201527f4e4f545f415050524f5645445f415554484f5249545900000000000000000000604482015290519081900360640190fd5b5050600160a060020a03909116600090815260076020526040902055565b600554600160a060020a0316331461049f576040805160e560020a62461bcd0281526020600482015260126024820152600080516020610afa833981519152604482015290519081900360640190fd5b600155565b600160a060020a03811660009081526006602052604081206003015442106104ca575060015b919050565b600554600160a060020a031681565b600554600160a060020a0316331461052e576040805160e560020a62461bcd0281526020600482015260126024820152600080516020610afa833981519152604482015290519081900360640190fd5b600255565b600554600160a060020a03163314610583576040805160e560020a62461bcd0281526020600482015260126024820152600080516020610afa833981519152604482015290519081900360640190fd5b6005805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600554600160a060020a03163314610602576040805160e560020a62461bcd0281526020600482015260126024820152600080516020610afa833981519152604482015290519081900360640190fd5b6004805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600054600160a060020a031681565b600354600090600160a060020a031633146106a5576040805160e560020a62461bcd02815260206004820152601160248201527f4f4e4c595f504f505f434f4e5452414354000000000000000000000000000000604482015290519081900360640190fd5b6000546002548491600160a060020a031690816370a082316106c685610a77565b6040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a0316815260200191505060206040518083038186803b15801561070f57600080fd5b505afa158015610723573d6000803e3d6000fd5b505050506040513d602081101561073957600080fd5b50511015610791576040805160e560020a62461bcd02815260206004820152601160248201527f42454c4f575f4d494e494d554d5f475247000000000000000000000000000000604482015290519081900360640190fd5b600160a060020a0385166000908152600660205260409020600301548590421015610806576040805160e560020a62461bcd02815260206004820152600f60248201527f54494d455f4e4f545f454e4f5547480000000000000000000000000000000000604482015290519081900360640190fd5b600160a060020a038616600090815260066020526040812042600282018190556001805490910160038301556004909101805490910190556064605f870204906108508783610ae7565b600054909150600160a060020a0316806379c6506861086e8b610a77565b856040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050600060405180830381600087803b1580156108c157600080fd5b505af11580156108d5573d6000803e3d6000fd5b5050600554604080517f79c65068000000000000000000000000000000000000000000000000000000008152600160a060020a03928316600482015260248101879052905191851693506379c65068925060448082019260009290919082900301818387803b15801561094757600080fd5b505af115801561095b573d6000803e3d6000fd5b5060019c9b505050505050505050505050565b600454600160a060020a031681565b600160a060020a0381166000908152600660205260408120600301544210156104ca5750600160a060020a0381166000908152600660205260409020600301546104ca565b600160a060020a031660009081526007602052604090205490565b600554600160a060020a03163314610a2d576040805160e560020a62461bcd0281526020600482015260126024820152600080516020610afa833981519152604482015290519081900360640190fd5b6003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600354600160a060020a031681565b60015481565b60025481565b600081600160a060020a0316638da5cb5b6040518163ffffffff1660e060020a02815260040160206040518083038186803b158015610ab557600080fd5b505afa158015610ac9573d6000803e3d6000fd5b505050506040513d6020811015610adf57600080fd5b505192915050565b600082821115610af357fe5b5090039056fe4f4e4c595f5249474f424c4f434b5f44414f0000000000000000000000000000a165627a7a72305820a2e4eede7ff218338ed96ce29a717e1b27381ed8cd75d211e382faa1770c317800290000000000000000000000006fa8590920c5966713b1a86916f7b0419411e474000000000000000000000000c04143531857cd0c2a04b814ee18ea1d7708642c000000000000000000000000a3e2b5d2a028c0e844361700bb4ff0ad2fc88b56

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

0000000000000000000000006fa8590920c5966713b1a86916f7b0419411e474000000000000000000000000c04143531857cd0c2a04b814ee18ea1d7708642c000000000000000000000000a3e2b5d2a028c0e844361700bb4ff0ad2fc88b56

-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 0000000000000000000000006fa8590920c5966713b1a86916f7b0419411e474
Arg [1] : 000000000000000000000000c04143531857cd0c2a04b814ee18ea1d7708642c
Arg [2] : 000000000000000000000000a3e2b5d2a028c0e844361700bb4ff0ad2fc88b56

Swarm Source

bzzr://a2e4eede7ff218338ed96ce29a717e1b27381ed8cd75d211e382faa1770c3178
Block Age Transaction Difficulty GasUsed Reward
Block Age Uncle Number Difficulty GasUsed Reward