ETH Price: $3,117.96 (+1.01%)
Gas: 3 Gwei

Contract

0x5d4ABC77B8405aD177d8ac6682D584ecbFd46CEc
 
Transaction Hash
Method
Block
From
To
Value
Transfer198718782024-05-15 0:45:233 days ago1715733923IN
Primas: PST Token
0 ETH0.000219515.88853163
Transfer197667212024-04-30 7:45:3518 days ago1714463135IN
Primas: PST Token
0 ETH0.0005713510.50479752
Transfer196597982024-04-15 8:43:2333 days ago1713170603IN
Primas: PST Token
0 ETH0.0004927413.21386345
Transfer196231572024-04-10 5:30:4738 days ago1712727047IN
Primas: PST Token
0 ETH0.0008982416.51128879
Transfer195373592024-03-29 4:44:1150 days ago1711687451IN
Primas: PST Token
0 ETH0.0011840723.87149127
Transfer195257292024-03-27 12:43:3552 days ago1711543415IN
Primas: PST Token
0 ETH0.0013397135.95005542
Transfer194814102024-03-21 6:59:2358 days ago1711004363IN
Primas: PST Token
0 ETH0.0011115329.79822923
Transfer194269722024-03-13 15:13:5966 days ago1710342839IN
Primas: PST Token
0 ETH0.0039186972.04809562
Transfer193749142024-03-06 8:23:5973 days ago1709713439IN
Primas: PST Token
0 ETH0.0044744582.24806673
Transfer192840422024-02-22 15:29:3586 days ago1708615775IN
Primas: PST Token
0 ETH0.0017441153.66177083
Transfer192839902024-02-22 15:18:5986 days ago1708615139IN
Primas: PST Token
0 ETH0.0026629448.94934942
Transfer192359232024-02-15 21:10:3592 days ago1708031435IN
Primas: PST Token
0 ETH0.0019510335.87120568
Transfer191751002024-02-07 8:22:59101 days ago1707294179IN
Primas: PST Token
0 ETH0.0015103830.45
Transfer190097672024-01-15 4:02:23124 days ago1705291343IN
Primas: PST Token
0 ETH0.0009423517.32966059
Transfer190096852024-01-15 3:45:47124 days ago1705290347IN
Primas: PST Token
0 ETH0.0011417620.99689213
Transfer189732092024-01-10 1:15:23129 days ago1704849323IN
Primas: PST Token
0 ETH0.0008903816.37042454
Transfer187260272023-12-06 8:15:23164 days ago1701850523IN
Primas: PST Token
0 ETH0.0019411252.05478501
Transfer187259322023-12-06 7:56:11164 days ago1701849371IN
Primas: PST Token
0 ETH0.0025880347.59337902
Transfer184942332023-11-03 21:32:35196 days ago1699047155IN
Primas: PST Token
0 ETH0.0009929318.25581233
Transfer183697442023-10-17 11:17:35214 days ago1697541455IN
Primas: PST Token
0 ETH0.0018526157
Transfer183697182023-10-17 11:12:23214 days ago1697541143IN
Primas: PST Token
0 ETH0.0018526157
Transfer183697152023-10-17 11:11:47214 days ago1697541107IN
Primas: PST Token
0 ETH0.0018526157
Transfer183626062023-10-16 11:22:11215 days ago1697455331IN
Primas: PST Token
0 ETH0.00041147.56231514
Transfer181714402023-09-19 17:27:35241 days ago1695144455IN
Primas: PST Token
0 ETH0.0014529826.70838401
Transfer180488522023-09-02 12:32:47259 days ago1693657967IN
Primas: PST Token
0 ETH0.0005593917.21739509
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To Value
157018852022-10-08 7:29:59588 days ago1665214199
0x5d4ABC77...cbFd46CEc
0 ETH
157018852022-10-08 7:29:59588 days ago1665214199
0x5d4ABC77...cbFd46CEc
0 ETH
157018852022-10-08 7:29:59588 days ago1665214199
0x5d4ABC77...cbFd46CEc
0 ETH
157018852022-10-08 7:29:59588 days ago1665214199
0x5d4ABC77...cbFd46CEc
0 ETH
157018852022-10-08 7:29:59588 days ago1665214199
0x5d4ABC77...cbFd46CEc
0 ETH
157018852022-10-08 7:29:59588 days ago1665214199
0x5d4ABC77...cbFd46CEc
0 ETH
157018852022-10-08 7:29:59588 days ago1665214199
0x5d4ABC77...cbFd46CEc
0 ETH
157018852022-10-08 7:29:59588 days ago1665214199
0x5d4ABC77...cbFd46CEc
0 ETH
144412702022-03-23 7:39:15787 days ago1648021155
0x5d4ABC77...cbFd46CEc
0 ETH
144411572022-03-23 7:11:35787 days ago1648019495
0x5d4ABC77...cbFd46CEc
0 ETH
119843722021-03-06 10:40:451169 days ago1615027245
0x5d4ABC77...cbFd46CEc
0 ETH
101436452020-05-26 20:58:051452 days ago1590526685
0x5d4ABC77...cbFd46CEc
0 ETH
100562982020-05-13 6:46:491466 days ago1589352409
0x5d4ABC77...cbFd46CEc
0 ETH
96024862020-03-04 4:17:501536 days ago1583295470
0x5d4ABC77...cbFd46CEc
0 ETH
96022752020-03-04 3:34:071536 days ago1583292847
0x5d4ABC77...cbFd46CEc
0 ETH
95528542020-02-25 13:21:031544 days ago1582636863
0x5d4ABC77...cbFd46CEc
0 ETH
95524792020-02-25 12:02:221544 days ago1582632142
0x5d4ABC77...cbFd46CEc
0 ETH
82542952019-07-30 21:00:001753 days ago1564520400
0x5d4ABC77...cbFd46CEc
0 ETH
82407782019-07-28 18:45:351755 days ago1564339535
0x5d4ABC77...cbFd46CEc
0 ETH
80616352019-06-30 21:35:381783 days ago1561930538
0x5d4ABC77...cbFd46CEc
0 ETH
80615782019-06-30 21:20:381783 days ago1561929638
0x5d4ABC77...cbFd46CEc
0 ETH
79839402019-06-18 18:33:361795 days ago1560882816
0x5d4ABC77...cbFd46CEc
0 ETH
78267732019-05-25 4:52:171820 days ago1558759937
0x5d4ABC77...cbFd46CEc
0 ETH
78114492019-05-22 19:31:131822 days ago1558553473
0x5d4ABC77...cbFd46CEc
0 ETH
78113282019-05-22 19:01:461822 days ago1558551706
0x5d4ABC77...cbFd46CEc
0 ETH
View All Internal Transactions
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

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ 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.