ETH Price: $3,562.60 (+2.46%)
Gas: 22 Gwei

Contract

0x5d4ABC77B8405aD177d8ac6682D584ecbFd46CEc
 
Transaction Hash
Method
Block
From
To
Value
Transfer195257292024-03-27 12:43:3537 hrs ago1711543415IN
Primas: PST Token
0 ETH0.0013397135.95005542
Transfer194814102024-03-21 6:59:237 days ago1711004363IN
Primas: PST Token
0 ETH0.0011115329.79822923
Transfer194269722024-03-13 15:13:5915 days ago1710342839IN
Primas: PST Token
0 ETH0.0039186972.04809562
Transfer193749142024-03-06 8:23:5922 days ago1709713439IN
Primas: PST Token
0 ETH0.0044744582.24806673
Transfer192840422024-02-22 15:29:3535 days ago1708615775IN
Primas: PST Token
0 ETH0.0017441153.66177083
Transfer192839902024-02-22 15:18:5935 days ago1708615139IN
Primas: PST Token
0 ETH0.0026629448.94934942
Transfer192359232024-02-15 21:10:3542 days ago1708031435IN
Primas: PST Token
0 ETH0.0019510335.87120568
Transfer191751002024-02-07 8:22:5950 days ago1707294179IN
Primas: PST Token
0 ETH0.0015103830.45
Transfer190097672024-01-15 4:02:2373 days ago1705291343IN
Primas: PST Token
0 ETH0.0009423517.32966059
Transfer190096852024-01-15 3:45:4773 days ago1705290347IN
Primas: PST Token
0 ETH0.0011417620.99689213
Transfer189732092024-01-10 1:15:2379 days ago1704849323IN
Primas: PST Token
0 ETH0.0008903816.37042454
Transfer187260272023-12-06 8:15:23113 days ago1701850523IN
Primas: PST Token
0 ETH0.0019411252.05478501
Transfer187259322023-12-06 7:56:11113 days ago1701849371IN
Primas: PST Token
0 ETH0.0025880347.59337902
Transfer184942332023-11-03 21:32:35146 days ago1699047155IN
Primas: PST Token
0 ETH0.0009929318.25581233
Transfer183697442023-10-17 11:17:35163 days ago1697541455IN
Primas: PST Token
0 ETH0.0018526157
Transfer183697182023-10-17 11:12:23163 days ago1697541143IN
Primas: PST Token
0 ETH0.0018526157
Transfer183697152023-10-17 11:11:47163 days ago1697541107IN
Primas: PST Token
0 ETH0.0018526157
Transfer183626062023-10-16 11:22:11164 days ago1697455331IN
Primas: PST Token
0 ETH0.00041147.56231514
Transfer181714402023-09-19 17:27:35191 days ago1695144455IN
Primas: PST Token
0 ETH0.0014529826.70838401
Transfer180488522023-09-02 12:32:47208 days ago1693657967IN
Primas: PST Token
0 ETH0.0005593917.21739509
Transfer180488522023-09-02 12:32:47208 days ago1693657967IN
Primas: PST Token
0 ETH0.0005593917.21739509
Transfer180208602023-08-29 14:26:47212 days ago1693319207IN
Primas: PST Token
0 ETH0.0047996588.22567881
Transfer179834092023-08-24 8:35:47217 days ago1692866147IN
Primas: PST Token
0 ETH0.0009417117.31419845
Transfer179660392023-08-21 22:19:35220 days ago1692656375IN
Primas: PST Token
0 ETH0.0033571890
Transfer177767692023-07-26 10:50:59246 days ago1690368659IN
Primas: PST Token
0 ETH0.0033571890
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
PrimasToken

Compiler Version
v0.4.23+commit.124ca40d

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2018-06-08
*/

pragma solidity ^0.4.23;

library Roles {
    struct Role {
        mapping(address => bool) bearer;
    }

    function add(Role storage role, address addr) internal {
        role.bearer[addr] = true;
    }

    function remove(Role storage role, address addr) internal {
        role.bearer[addr] = false;
    }

    function check(Role storage role, address addr) view internal {
        require(has(role, addr));
    }

    function has(Role storage role, address addr) view internal returns (bool) {
        return role.bearer[addr];
    }
}

contract RBAC {

    address initialOwner;

    using Roles for Roles.Role;

    mapping(string => Roles.Role) private roles;

    event RoleAdded(address addr, string roleName);
    event RoleRemoved(address addr, string roleName);

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

    function checkRole(address addr, string roleName) view public {
        roles[roleName].check(addr);
    }

    function hasRole(address addr, string roleName) view public returns (bool) {
        return roles[roleName].has(addr);
    }

    function addRole(address addr, string roleName) public onlyOwner {
        roles[roleName].add(addr);
        emit RoleAdded(addr, roleName);
    }

    function removeRole(address addr, string roleName) public onlyOwner {
        roles[roleName].remove(addr);
        emit RoleRemoved(addr, roleName);
    }

    modifier onlyRole(string roleName) {
        checkRole(msg.sender, roleName);
        _;
    }
}

library SafeMath {
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        assert(c / a == b);
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        assert(b > 0);
        // Solidity automatically throws when dividing by 0
        uint256 c = a / b;
        assert(a == b * c);
        return c;
    }

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

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

contract PrimasToken is RBAC {

    using SafeMath for uint256;

    string public name;
    uint256 public decimals;
    string public symbol;
    string public version;
    uint256 public totalSupply;
    uint256 initialAmount;
    uint256 deployTime;
    uint256 lastInflationDayStart;
    uint256 incentivesPool;

    mapping(address => uint256) private userLockedTokens;
    mapping(address => uint256) balances;
    mapping(address => mapping(address => uint256)) allowed;

    event Transfer(address indexed _from, address indexed _to, uint256 _value);
    event Approval(address indexed _owner, address indexed _spender, uint256 _value);
    event Lock(address userAddress, uint256 amount);
    event Unlock(address userAddress,uint256 amount);
    event Inflate (uint256 incentivesPoolValue);

    constructor(uint256 _previouslyInflatedAmount) public {
        name = "Primas Token";
        decimals = 18;
        symbol = "PST";
        version = "V2.0";
        initialAmount = 100000000 * 10 ** decimals;
        initialOwner = msg.sender;
        deployTime = block.timestamp;
        lastInflationDayStart = 0;
        incentivesPool = 0;

        // Primas token is deployed at 2018/06/01
        // When upgrading after new deployment of the contract
        // we need to add the inflated tokens back
        // for system consistency.

        totalSupply = initialAmount.add(_previouslyInflatedAmount);
        balances[msg.sender] = totalSupply;

        emit Transfer(address(0), msg.sender, totalSupply);
    }

    function inflate() public onlyRole("InflationOperator") returns (uint256)  {
        uint256 currentTime = block.timestamp;
        uint256 currentDayStart = currentTime / 1 days;
        uint256 inflationAmount;
        require(lastInflationDayStart != currentDayStart);
        lastInflationDayStart = currentDayStart;
        uint256 createDurationYears = (currentTime - deployTime) / 1 years;
        if (createDurationYears < 1) {
            inflationAmount = initialAmount / 10 / 365;
        } else if (createDurationYears >= 20) {
            inflationAmount = 0;
        } else {
            inflationAmount = initialAmount * (100 - (5 * createDurationYears)) / 365 / 1000;
        }
        incentivesPool = incentivesPool.add(inflationAmount);
        totalSupply = totalSupply.add(inflationAmount);
        emit Inflate(incentivesPool);
        return incentivesPool;
    }

    function getIncentivesPool() view public returns (uint256) {
        return incentivesPool;
    }

    function incentivesIn(address[] _users, uint256[] _values) public onlyRole("IncentivesCollector") returns (bool success) {
        require(_users.length == _values.length);
        for (uint256 i = 0; i < _users.length; i++) {
            userLockedTokens[_users[i]] = userLockedTokens[_users[i]].sub(_values[i]);
            balances[_users[i]] = balances[_users[i]].sub(_values[i]);
            incentivesPool = incentivesPool.add(_values[i]);
            emit Transfer(_users[i], address(0), _values[i]);
        }
        return true;
    }

    function incentivesOut(address[] _users, uint256[] _values) public onlyRole("IncentivesDistributor") returns (bool success) {
        require(_users.length == _values.length);
        for (uint256 i = 0; i < _users.length; i++) {
            incentivesPool = incentivesPool.sub(_values[i]);
            balances[_users[i]] = balances[_users[i]].add(_values[i]);
            emit Transfer(address(0), _users[i], _values[i]);
        }
        return true;
    }

    function tokenLock(address _userAddress, uint256 _amount) public onlyRole("Locker") {
        require(balanceOf(_userAddress) >= _amount);
        userLockedTokens[_userAddress] = userLockedTokens[_userAddress].add(_amount);
        emit Lock(_userAddress, _amount);
    }

    function tokenUnlock(address _userAddress, uint256 _amount, address _to, uint256 _toAmount) public onlyRole("Unlocker") {
        require(_amount >= _toAmount);
        require(userLockedTokens[_userAddress] >= _amount);
        userLockedTokens[_userAddress] = userLockedTokens[_userAddress].sub(_amount);
        emit Unlock(_userAddress, _amount);
        if (_to != address(0) && _toAmount != 0) {
            balances[_userAddress] = balances[_userAddress].sub(_toAmount);
            balances[_to] = balances[_to].add(_toAmount);
            emit Transfer(_userAddress, _to, _toAmount);
        }
    }

    function transferAndLock(address _userAddress, address _to, uint256 _amount) public onlyRole("Locker")  {
        require(balanceOf(_userAddress) >= _amount);
        balances[_userAddress] = balances[_userAddress].sub(_amount);
        balances[_to] = balances[_to].add(_amount);
        userLockedTokens[_to] = userLockedTokens[_to].add(_amount);
        emit Transfer(_userAddress, _to, _amount);
        emit Lock(_to, _amount);
    }

    function balanceOf(address _owner) view public returns (uint256 balance) {
        return balances[_owner] - userLockedTokens[_owner];
    }

    function transfer(address _to, uint256 _value) public returns (bool success) {
        require(balanceOf(msg.sender) >= _value);
        balances[msg.sender] = balances[msg.sender].sub(_value);
        balances[_to] = balances[_to].add(_value);
        emit Transfer(msg.sender, _to, _value);
        return true;
    }

    function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {
        require(balanceOf(_from) >= _value && allowed[_from][msg.sender] >= _value);
        balances[_from] = balances[_from].sub(_value);
        balances[_to] = balances[_to].add(_value);
        allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);
        emit Transfer(_from, _to, _value);
        return true;
    }

    function approve(address _spender, uint256 _value) public returns (bool success) {
        allowed[msg.sender][_spender] = _value;
        emit Approval(msg.sender, _spender, _value);
        return true;
    }

    function allowance(address _owner, address _spender) constant public returns (uint256 remaining) {
        return allowed[_owner][_spender];
    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"addr","type":"address"},{"name":"roleName","type":"string"}],"name":"checkRole","outputs":[],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"addr","type":"address"},{"name":"roleName","type":"string"}],"name":"removeRole","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"addr","type":"address"},{"name":"roleName","type":"string"}],"name":"hasRole","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"version","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_userAddress","type":"address"},{"name":"_amount","type":"uint256"},{"name":"_to","type":"address"},{"name":"_toAmount","type":"uint256"}],"name":"tokenUnlock","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"addr","type":"address"},{"name":"roleName","type":"string"}],"name":"addRole","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_userAddress","type":"address"},{"name":"_amount","type":"uint256"}],"name":"tokenLock","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_users","type":"address[]"},{"name":"_values","type":"uint256[]"}],"name":"incentivesOut","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"inflate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getIncentivesPool","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_userAddress","type":"address"},{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transferAndLock","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_users","type":"address[]"},{"name":"_values","type":"uint256[]"}],"name":"incentivesIn","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_previouslyInflatedAmount","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":true,"name":"_spender","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"userAddress","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Lock","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"userAddress","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Unlock","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"incentivesPoolValue","type":"uint256"}],"name":"Inflate","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"addr","type":"address"},{"indexed":false,"name":"roleName","type":"string"}],"name":"RoleAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"addr","type":"address"},{"indexed":false,"name":"roleName","type":"string"}],"name":"RoleRemoved","type":"event"}]

60806040523480156200001157600080fd5b5060405160208062002b20833981018060405281019080805190602001909291905050506040805190810160405280600c81526020017f5072696d617320546f6b656e000000000000000000000000000000000000000081525060029080519060200190620000829291906200029d565b5060126003819055506040805190810160405280600381526020017f505354000000000000000000000000000000000000000000000000000000000081525060049080519060200190620000d89291906200029d565b506040805190810160405280600481526020017f56322e300000000000000000000000000000000000000000000000000000000081525060059080519060200190620001269291906200029d565b50600354600a0a6305f5e10002600781905550336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055504260088190555060006009819055506000600a81905550620001b58160075462000270640100000000026200270f179091906401000000009004565b600681905550600654600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6006546040518082815260200191505060405180910390a3506200034c565b60008082840190508381101515156200028557fe5b828103841415156200029357fe5b8091505092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620002e057805160ff191683800117855562000311565b8280016001018555821562000311579182015b8281111562000310578251825591602001919060010190620002f3565b5b50905062000320919062000324565b5090565b6200034991905b80821115620003455760008160009055506001016200032b565b5090565b90565b6127c4806200035c6000396000f30060806040526004361061011d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde0314610122578063095ea7b3146101b25780630988ca8c1461021757806318160ddd146102a05780631bfe0308146102cb578063217fe6c61461035457806323b872dd146103f5578063313ce5671461047a57806354fd4d50146104a557806370a0823114610535578063732016671461058c5780637d72aa65146106035780638df15e191461068c57806395d89b41146106d9578063a4faf89e14610769578063a5a98d781461082a578063a9059cbb14610855578063ba6afc50146108ba578063be30eda8146108e5578063c669c95514610952578063dd62ed3e14610a13575b600080fd5b34801561012e57600080fd5b50610137610a8a565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561017757808201518184015260208101905061015c565b50505050905090810190601f1680156101a45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101be57600080fd5b506101fd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b28565b604051808215151515815260200191505060405180910390f35b34801561022357600080fd5b5061029e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610c1a565b005b3480156102ac57600080fd5b506102b5610c9b565b6040518082815260200191505060405180910390f35b3480156102d757600080fd5b50610352600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610ca1565b005b34801561036057600080fd5b506103db600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610e4d565b604051808215151515815260200191505060405180910390f35b34801561040157600080fd5b50610460600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ed4565b604051808215151515815260200191505060405180910390f35b34801561048657600080fd5b5061048f61121e565b6040518082815260200191505060405180910390f35b3480156104b157600080fd5b506104ba611224565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104fa5780820151818401526020810190506104df565b50505050905090810190601f1680156105275780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561054157600080fd5b50610576600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112c2565b6040518082815260200191505060405180910390f35b34801561059857600080fd5b50610601600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061134c565b005b34801561060f57600080fd5b5061068a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506116c3565b005b34801561069857600080fd5b506106d7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061186f565b005b3480156106e557600080fd5b506106ee6119cb565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561072e578082015181840152602081019050610713565b50505050905090810190601f16801561075b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561077557600080fd5b506108106004803603810190808035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290505050611a69565b604051808215151515815260200191505060405180910390f35b34801561083657600080fd5b5061083f611c83565b6040518082815260200191505060405180910390f35b34801561086157600080fd5b506108a0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611df1565b604051808215151515815260200191505060405180910390f35b3480156108c657600080fd5b506108cf611fa3565b6040518082815260200191505060405180910390f35b3480156108f157600080fd5b50610950600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611fad565b005b34801561095e57600080fd5b506109f96004803603810190808035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290505050612299565b604051808215151515815260200191505060405180910390f35b348015610a1f57600080fd5b50610a74600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061258d565b6040518082815260200191505060405180910390f35b60028054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610b205780601f10610af557610100808354040283529160200191610b20565b820191906000526020600020905b815481529060010190602001808311610b0357829003601f168201915b505050505081565b600081600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b610c97826001836040518082805190602001908083835b602083101515610c565780518252602082019150602081019050602083039250610c31565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902061261490919063ffffffff16565b5050565b60065481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610cfc57600080fd5b610d79826001836040518082805190602001908083835b602083101515610d385780518252602082019150602081019050602083039250610d13565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902061262d90919063ffffffff16565b7fd211483f91fc6eff862467f8de606587a30c8fc9981056f051b897a418df803a8282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610e0e578082015181840152602081019050610df3565b50505050905090810190601f168015610e3b5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15050565b6000610ecc836001846040518082805190602001908083835b602083101515610e8b5780518252602082019150602081019050602083039250610e66565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902061268b90919063ffffffff16565b905092915050565b600081610ee0856112c2565b10158015610f6a575081600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b1515610f7557600080fd5b610fc782600c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126e490919063ffffffff16565b600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061105c82600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461270f90919063ffffffff16565b600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061112e82600d60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126e490919063ffffffff16565b600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b60035481565b60058054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156112ba5780601f1061128f576101008083540402835291602001916112ba565b820191906000526020600020905b81548152906001019060200180831161129d57829003601f168201915b505050505081565b6000600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054039050919050565b6040805190810160405280600881526020017f556e6c6f636b657200000000000000000000000000000000000000000000000081525061138c3382610c1a565b81841015151561139b57600080fd5b83600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101515156113e957600080fd5b61143b84600b60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126e490919063ffffffff16565b600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507f6381d9813cabeb57471b5a7e05078e64845ccdb563146a6911d536f24ce960f18585604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a1600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611527575060008214155b156116bc5761157e82600c60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126e490919063ffffffff16565b600c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061161382600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461270f90919063ffffffff16565b600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35b5050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561171e57600080fd5b61179b826001836040518082805190602001908083835b60208310151561175a5780518252602082019150602081019050602083039250611735565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902061273a90919063ffffffff16565b7fbfec83d64eaa953f2708271a023ab9ee82057f8f3578d548c1a4ba0b5b7004898282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611830578082015181840152602081019050611815565b50505050905090810190601f16801561185d5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15050565b6040805190810160405280600681526020017f4c6f636b657200000000000000000000000000000000000000000000000000008152506118af3382610c1a565b816118b9846112c2565b101515156118c657600080fd5b61191882600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461270f90919063ffffffff16565b600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507f625fed9875dada8643f2418b838ae0bc78d9a148a18eee4ee1979ff0f3f5d4278383604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a1505050565b60048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611a615780601f10611a3657610100808354040283529160200191611a61565b820191906000526020600020905b815481529060010190602001808311611a4457829003601f168201915b505050505081565b6000806040805190810160405280601581526020017f496e63656e74697665734469737472696275746f720000000000000000000000815250611aac3382610c1a565b83518551141515611abc57600080fd5b600091505b8451821015611c7757611af68483815181101515611adb57fe5b90602001906020020151600a546126e490919063ffffffff16565b600a81905550611b7c8483815181101515611b0d57fe5b90602001906020020151600c60008886815181101515611b2957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461270f90919063ffffffff16565b600c60008785815181101515611b8e57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508482815181101515611be457fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8685815181101515611c4b57fe5b906020019060200201516040518082815260200191505060405180910390a38180600101925050611ac1565b60019250505092915050565b60008060008060006040805190810160405280601181526020017f496e666c6174696f6e4f70657261746f72000000000000000000000000000000815250611ccb3382610c1a565b4294506201518085811515611cdc57fe5b0493508360095414151515611cf057600080fd5b836009819055506301e133806008548603811515611d0a57fe5b0491506001821015611d395761016d600a600754811515611d2757fe5b04811515611d3157fe5b049250611d75565b601482101515611d4c5760009250611d74565b6103e861016d8360050260640360075402811515611d6657fe5b04811515611d7057fe5b0492505b5b611d8a83600a5461270f90919063ffffffff16565b600a81905550611da58360065461270f90919063ffffffff16565b6006819055507fb1231b3402177cbf2e12f37b280d75337efb1be12ac563171940fc3627da5df3600a546040518082815260200191505060405180910390a1600a549550505050505090565b600081611dfd336112c2565b10151515611e0a57600080fd5b611e5c82600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126e490919063ffffffff16565b600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611ef182600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461270f90919063ffffffff16565b600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000600a54905090565b6040805190810160405280600681526020017f4c6f636b65720000000000000000000000000000000000000000000000000000815250611fed3382610c1a565b81611ff7856112c2565b1015151561200457600080fd5b61205682600c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126e490919063ffffffff16565b600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506120eb82600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461270f90919063ffffffff16565b600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061218082600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461270f90919063ffffffff16565b600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a37f625fed9875dada8643f2418b838ae0bc78d9a148a18eee4ee1979ff0f3f5d4278383604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a150505050565b6000806040805190810160405280601381526020017f496e63656e7469766573436f6c6c6563746f72000000000000000000000000008152506122dc3382610c1a565b835185511415156122ec57600080fd5b600091505b84518210156125815761237a848381518110151561230b57fe5b90602001906020020151600b6000888681518110151561232757fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126e490919063ffffffff16565b600b6000878581518110151561238c57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061245484838151811015156123e557fe5b90602001906020020151600c6000888681518110151561240157fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126e490919063ffffffff16565b600c6000878581518110151561246657fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506124da84838151811015156124bf57fe5b90602001906020020151600a5461270f90919063ffffffff16565b600a81905550600073ffffffffffffffffffffffffffffffffffffffff16858381518110151561250657fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef868581518110151561255557fe5b906020019060200201516040518082815260200191505060405180910390a381806001019250506122f1565b60019250505092915050565b6000600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61261e828261268b565b151561262957600080fd5b5050565b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60008082840390508383111515156126f857fe5b8281018414151561270557fe5b8091505092915050565b600080828401905083811015151561272357fe5b8281038414151561273057fe5b8091505092915050565b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050505600a165627a7a72305820ba0e4c6bef917fd3844fdbbc2b8f1592cfb850417b49257418cae2d0323ed9fa00290000000000000000000000000000000000000000000022cf403005a1cd50a854

Deployed Bytecode

0x60806040526004361061011d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde0314610122578063095ea7b3146101b25780630988ca8c1461021757806318160ddd146102a05780631bfe0308146102cb578063217fe6c61461035457806323b872dd146103f5578063313ce5671461047a57806354fd4d50146104a557806370a0823114610535578063732016671461058c5780637d72aa65146106035780638df15e191461068c57806395d89b41146106d9578063a4faf89e14610769578063a5a98d781461082a578063a9059cbb14610855578063ba6afc50146108ba578063be30eda8146108e5578063c669c95514610952578063dd62ed3e14610a13575b600080fd5b34801561012e57600080fd5b50610137610a8a565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561017757808201518184015260208101905061015c565b50505050905090810190601f1680156101a45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101be57600080fd5b506101fd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b28565b604051808215151515815260200191505060405180910390f35b34801561022357600080fd5b5061029e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610c1a565b005b3480156102ac57600080fd5b506102b5610c9b565b6040518082815260200191505060405180910390f35b3480156102d757600080fd5b50610352600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610ca1565b005b34801561036057600080fd5b506103db600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610e4d565b604051808215151515815260200191505060405180910390f35b34801561040157600080fd5b50610460600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ed4565b604051808215151515815260200191505060405180910390f35b34801561048657600080fd5b5061048f61121e565b6040518082815260200191505060405180910390f35b3480156104b157600080fd5b506104ba611224565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104fa5780820151818401526020810190506104df565b50505050905090810190601f1680156105275780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561054157600080fd5b50610576600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112c2565b6040518082815260200191505060405180910390f35b34801561059857600080fd5b50610601600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061134c565b005b34801561060f57600080fd5b5061068a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506116c3565b005b34801561069857600080fd5b506106d7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061186f565b005b3480156106e557600080fd5b506106ee6119cb565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561072e578082015181840152602081019050610713565b50505050905090810190601f16801561075b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561077557600080fd5b506108106004803603810190808035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290505050611a69565b604051808215151515815260200191505060405180910390f35b34801561083657600080fd5b5061083f611c83565b6040518082815260200191505060405180910390f35b34801561086157600080fd5b506108a0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611df1565b604051808215151515815260200191505060405180910390f35b3480156108c657600080fd5b506108cf611fa3565b6040518082815260200191505060405180910390f35b3480156108f157600080fd5b50610950600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611fad565b005b34801561095e57600080fd5b506109f96004803603810190808035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290505050612299565b604051808215151515815260200191505060405180910390f35b348015610a1f57600080fd5b50610a74600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061258d565b6040518082815260200191505060405180910390f35b60028054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610b205780601f10610af557610100808354040283529160200191610b20565b820191906000526020600020905b815481529060010190602001808311610b0357829003601f168201915b505050505081565b600081600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b610c97826001836040518082805190602001908083835b602083101515610c565780518252602082019150602081019050602083039250610c31565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902061261490919063ffffffff16565b5050565b60065481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610cfc57600080fd5b610d79826001836040518082805190602001908083835b602083101515610d385780518252602082019150602081019050602083039250610d13565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902061262d90919063ffffffff16565b7fd211483f91fc6eff862467f8de606587a30c8fc9981056f051b897a418df803a8282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610e0e578082015181840152602081019050610df3565b50505050905090810190601f168015610e3b5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15050565b6000610ecc836001846040518082805190602001908083835b602083101515610e8b5780518252602082019150602081019050602083039250610e66565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902061268b90919063ffffffff16565b905092915050565b600081610ee0856112c2565b10158015610f6a575081600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b1515610f7557600080fd5b610fc782600c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126e490919063ffffffff16565b600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061105c82600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461270f90919063ffffffff16565b600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061112e82600d60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126e490919063ffffffff16565b600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b60035481565b60058054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156112ba5780601f1061128f576101008083540402835291602001916112ba565b820191906000526020600020905b81548152906001019060200180831161129d57829003601f168201915b505050505081565b6000600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054039050919050565b6040805190810160405280600881526020017f556e6c6f636b657200000000000000000000000000000000000000000000000081525061138c3382610c1a565b81841015151561139b57600080fd5b83600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101515156113e957600080fd5b61143b84600b60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126e490919063ffffffff16565b600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507f6381d9813cabeb57471b5a7e05078e64845ccdb563146a6911d536f24ce960f18585604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a1600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611527575060008214155b156116bc5761157e82600c60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126e490919063ffffffff16565b600c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061161382600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461270f90919063ffffffff16565b600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35b5050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561171e57600080fd5b61179b826001836040518082805190602001908083835b60208310151561175a5780518252602082019150602081019050602083039250611735565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902061273a90919063ffffffff16565b7fbfec83d64eaa953f2708271a023ab9ee82057f8f3578d548c1a4ba0b5b7004898282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611830578082015181840152602081019050611815565b50505050905090810190601f16801561185d5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15050565b6040805190810160405280600681526020017f4c6f636b657200000000000000000000000000000000000000000000000000008152506118af3382610c1a565b816118b9846112c2565b101515156118c657600080fd5b61191882600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461270f90919063ffffffff16565b600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507f625fed9875dada8643f2418b838ae0bc78d9a148a18eee4ee1979ff0f3f5d4278383604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a1505050565b60048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611a615780601f10611a3657610100808354040283529160200191611a61565b820191906000526020600020905b815481529060010190602001808311611a4457829003601f168201915b505050505081565b6000806040805190810160405280601581526020017f496e63656e74697665734469737472696275746f720000000000000000000000815250611aac3382610c1a565b83518551141515611abc57600080fd5b600091505b8451821015611c7757611af68483815181101515611adb57fe5b90602001906020020151600a546126e490919063ffffffff16565b600a81905550611b7c8483815181101515611b0d57fe5b90602001906020020151600c60008886815181101515611b2957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461270f90919063ffffffff16565b600c60008785815181101515611b8e57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508482815181101515611be457fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8685815181101515611c4b57fe5b906020019060200201516040518082815260200191505060405180910390a38180600101925050611ac1565b60019250505092915050565b60008060008060006040805190810160405280601181526020017f496e666c6174696f6e4f70657261746f72000000000000000000000000000000815250611ccb3382610c1a565b4294506201518085811515611cdc57fe5b0493508360095414151515611cf057600080fd5b836009819055506301e133806008548603811515611d0a57fe5b0491506001821015611d395761016d600a600754811515611d2757fe5b04811515611d3157fe5b049250611d75565b601482101515611d4c5760009250611d74565b6103e861016d8360050260640360075402811515611d6657fe5b04811515611d7057fe5b0492505b5b611d8a83600a5461270f90919063ffffffff16565b600a81905550611da58360065461270f90919063ffffffff16565b6006819055507fb1231b3402177cbf2e12f37b280d75337efb1be12ac563171940fc3627da5df3600a546040518082815260200191505060405180910390a1600a549550505050505090565b600081611dfd336112c2565b10151515611e0a57600080fd5b611e5c82600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126e490919063ffffffff16565b600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611ef182600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461270f90919063ffffffff16565b600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000600a54905090565b6040805190810160405280600681526020017f4c6f636b65720000000000000000000000000000000000000000000000000000815250611fed3382610c1a565b81611ff7856112c2565b1015151561200457600080fd5b61205682600c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126e490919063ffffffff16565b600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506120eb82600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461270f90919063ffffffff16565b600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061218082600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461270f90919063ffffffff16565b600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a37f625fed9875dada8643f2418b838ae0bc78d9a148a18eee4ee1979ff0f3f5d4278383604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a150505050565b6000806040805190810160405280601381526020017f496e63656e7469766573436f6c6c6563746f72000000000000000000000000008152506122dc3382610c1a565b835185511415156122ec57600080fd5b600091505b84518210156125815761237a848381518110151561230b57fe5b90602001906020020151600b6000888681518110151561232757fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126e490919063ffffffff16565b600b6000878581518110151561238c57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061245484838151811015156123e557fe5b90602001906020020151600c6000888681518110151561240157fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126e490919063ffffffff16565b600c6000878581518110151561246657fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506124da84838151811015156124bf57fe5b90602001906020020151600a5461270f90919063ffffffff16565b600a81905550600073ffffffffffffffffffffffffffffffffffffffff16858381518110151561250657fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef868581518110151561255557fe5b906020019060200201516040518082815260200191505060405180910390a381806001019250506122f1565b60019250505092915050565b6000600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61261e828261268b565b151561262957600080fd5b5050565b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60008082840390508383111515156126f857fe5b8281018414151561270557fe5b8091505092915050565b600080828401905083811015151561272357fe5b8281038414151561273057fe5b8091505092915050565b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050505600a165627a7a72305820ba0e4c6bef917fd3844fdbbc2b8f1592cfb850417b49257418cae2d0323ed9fa0029

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

0000000000000000000000000000000000000000000022cf403005a1cd50a854

-----Decoded View---------------
Arg [0] : _previouslyInflatedAmount (uint256): 164383561643835616438356

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000022cf403005a1cd50a854


Swarm Source

bzzr://ba0e4c6bef917fd3844fdbbc2b8f1592cfb850417b49257418cae2d0323ed9fa

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Txn Hash Block Value Eth2 PubKey Valid
View All Deposits
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.