ETH Price: $2,571.23 (-1.31%)
Gas: 4 Gwei

Contract

0xBAE235823D7255D9D48635cEd4735227244Cd583
 
Transaction Hash
Method
Block
From
To
0xb8b1baf8b4e9b4348c399a7b5116c2347fb369986c014b782cac49b2e309f85f Transfer(pending)2024-08-11 13:16:037 hrs ago1723382163IN
Staker Token
0 ETH(Pending)(Pending)
Approve180496352023-09-02 15:10:35344 days ago1693667435IN
Staker Token
0 ETH0.000703415.071872
Transfer180496272023-09-02 15:08:59344 days ago1693667339IN
Staker Token
0 ETH0.0014130116.0276751
Transfer152481462022-07-31 4:37:00742 days ago1659242220IN
Staker Token
0 ETH0.000301313
Transfer142674242022-02-24 7:23:04899 days ago1645687384IN
Staker Token
0 ETH0.0089170784.71395102
Transfer142612972022-02-23 8:36:09900 days ago1645605369IN
Staker Token
0 ETH0.005680
Transfer134920412021-10-26 8:56:021020 days ago1635238562IN
Staker Token
0 ETH0.0103531100
Transfer125932952021-06-08 10:21:081160 days ago1623147668IN
Staker Token
0 ETH0.0009023710
Transfer125076042021-05-26 3:46:201173 days ago1622000780IN
Staker Token
0 ETH0.0039519954
Transfer124423922021-05-16 0:49:471183 days ago1621126187IN
Staker Token
0 ETH0.0027964293.21428571
Transfer123534082021-05-02 7:23:191197 days ago1619940199IN
Staker Token
0 ETH0.0023464726
Transfer123466822021-05-01 6:27:341198 days ago1619850454IN
Staker Token
0 ETH0.0022562225
Transfer123097692021-04-25 13:36:101204 days ago1619357770IN
Staker Token
0 ETH0.0038801943
Transfer123079552021-04-25 6:59:411204 days ago1619333981IN
Staker Token
0 ETH0.0105249100
Transfer123066242021-04-25 2:06:391204 days ago1619316399IN
Staker Token
0 ETH0.0016441
Transfer123026322021-04-24 11:24:511205 days ago1619263491IN
Staker Token
0 ETH0.0046895755
Transfer122655292021-04-18 17:47:551211 days ago1618768075IN
Staker Token
0 ETH0.002354107
Transfer122497152021-04-16 7:31:441213 days ago1618558304IN
Staker Token
0 ETH0.00922181126.00000145
Transfer122170002021-04-11 6:27:531218 days ago1618122473IN
Staker Token
0 ETH0.0046266
Transfer122085552021-04-09 23:14:131219 days ago1618010053IN
Staker Token
0 ETH0.0095883390
Transfer122073052021-04-09 18:38:381220 days ago1617993518IN
Staker Token
0 ETH0.01016193111.00000145
Transfer122008512021-04-08 18:41:071221 days ago1617907267IN
Staker Token
0 ETH0.01061968116
Transfer122007002021-04-08 18:06:541221 days ago1617905214IN
Staker Token
0 ETH0.006489108.15
Transfer121983552021-04-08 9:24:471221 days ago1617873887IN
Staker Token
0 ETH0.005587293.12
Transfer121815192021-04-05 19:22:121224 days ago1617650532IN
Staker Token
0 ETH0.01960501184
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
125076072021-05-26 3:47:001173 days ago1622000820
0xBAE23582...7244Cd583
0 ETH
121546622021-04-01 16:23:471228 days ago1617294227
0xBAE23582...7244Cd583
0 ETH
111158532020-10-24 0:43:501387 days ago1603500230
0xBAE23582...7244Cd583
0 ETH
103226372020-06-23 14:37:491510 days ago1592923069
0xBAE23582...7244Cd583
0 ETH
101901302020-06-03 2:11:141530 days ago1591150274
0xBAE23582...7244Cd583
0 ETH
100589442020-05-13 16:48:091551 days ago1589388489
0xBAE23582...7244Cd583
0 ETH
100143052020-05-06 18:27:301558 days ago1588789650
0xBAE23582...7244Cd583
0 ETH
99957852020-05-03 21:58:071560 days ago1588543087
0xBAE23582...7244Cd583
0 ETH
99713642020-04-30 2:52:241564 days ago1588215144
0xBAE23582...7244Cd583
0 ETH
99513892020-04-27 0:41:291567 days ago1587948089
0xBAE23582...7244Cd583
0 ETH
97043062020-03-19 20:39:101605 days ago1584650350
0xBAE23582...7244Cd583
0 ETH
95737512020-02-28 18:22:001626 days ago1582914120
0xBAE23582...7244Cd583
0 ETH
95134172020-02-19 11:38:251635 days ago1582112305
0xBAE23582...7244Cd583
0 ETH
93658802020-01-27 19:27:221658 days ago1580153242
0xBAE23582...7244Cd583
0 ETH
92467742020-01-09 13:41:511676 days ago1578577311
0xBAE23582...7244Cd583
0 ETH
92467032020-01-09 13:25:141676 days ago1578576314
0xBAE23582...7244Cd583
0 ETH
91827822019-12-29 21:50:291686 days ago1577656229
0xBAE23582...7244Cd583
0 ETH
90517992019-12-04 23:12:101711 days ago1575501130
0xBAE23582...7244Cd583
0 ETH
88855572019-11-06 19:11:161740 days ago1573067476
0xBAE23582...7244Cd583
0 ETH
87202002019-10-11 11:51:381766 days ago1570794698
0xBAE23582...7244Cd583
0 ETH
87201772019-10-11 11:45:461766 days ago1570794346
0xBAE23582...7244Cd583
0 ETH
87183552019-10-11 4:47:101766 days ago1570769230
0xBAE23582...7244Cd583
0 ETH
87169582019-10-10 23:32:221766 days ago1570750342
0xBAE23582...7244Cd583
0 ETH
87096552019-10-09 19:56:401768 days ago1570651000
0xBAE23582...7244Cd583
0 ETH
87088342019-10-09 16:51:161768 days ago1570639876
0xBAE23582...7244Cd583
0 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Staker

Compiler Version
v0.4.24+commit.e67f0147

Optimization Enabled:
Yes with 200 runs

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

pragma solidity 0.4.24;
/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
library SafeMath {
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a * b;
        assert(a == 0 || 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 + a % b); // There is no case in which this doesn't hold
        return c;
    }

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

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

/**
 * @title Ownable
 * @dev The Ownable contract has an owner address, and provides basic authorization control
 * functions, this simplifies the implementation of "user permissions".
 */
contract Ownable {
    address public owner;

    /**
     * @dev The Ownable constructor sets the original `owner` of the contract to the sender
     * account.
     */
    constructor() public {
        owner = msg.sender;
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(msg.sender == owner);
        _;
    }

    /**
     * @dev Allows the current owner to transfer control of the contract to a newOwner.
     * @param newOwner The address to transfer ownership to.
     */
    function transferOwnership(address newOwner) onlyOwner public {
        require(newOwner != address(0));
        owner = newOwner;
    }

}

/**
 * @title ERC20Basic
 * @dev Simpler version of ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/179
 */
contract ERC20Basic {
    uint256 public totalSupply;
    function balanceOf(address who) public view returns (uint256);
    function transfer(address to, uint256 value) public returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
}

/**
 * @title ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/20
 */
contract ERC20 is ERC20Basic {
    function allowance(address owner, address spender) public view returns (uint256);
    function transferFrom(address from, address to, uint256 value) public returns (bool);
    function approve(address spender, uint256 value) public returns (bool);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

contract StakerToken {
    uint256 public stakeStartTime;
    uint256 public stakeMinAge;
    uint256 public stakeMaxAge;
    function mint() public returns (bool);
    function coinAge() public view returns (uint256);
    function annualInterest() public view returns (uint256);
    event Mint(address indexed _address, uint _reward);
}

contract Staker is ERC20,StakerToken,Ownable {
    using SafeMath for uint256;

    string public name = "Staker";
    string public symbol = "STR";
    uint public decimals = 18;

    uint public chainStartTime;
    uint public chainStartBlockNumber;
    uint public stakeStartTime;
    uint public stakeMinAge = 3 days;
    uint public stakeMaxAge = 90 days;
    uint public maxMintProofOfStake = 10**17;

    uint public totalSupply;
    uint public maxTotalSupply;
    uint public totalInitialSupply;

    struct transferInStruct{
    uint128 amount;
    uint64 time;
    }

    mapping(address => uint256) balances;
    mapping(address => mapping (address => uint256)) allowed;
    mapping(address => transferInStruct[]) transferIns;

    modifier canPoSMint() {
        require(totalSupply < maxTotalSupply);
        _;
    }

    constructor() public {
        maxTotalSupply = 7785000000000000000000000;
        totalInitialSupply = 1785000000000000000000000;

        chainStartTime = 1524771589; //Original Time
        chainStartBlockNumber = 5510803; //Original Block

        balances[msg.sender] = totalInitialSupply;
        totalSupply = totalInitialSupply;
    }

    function transfer(address _to, uint256 _value) public returns (bool) {
        require(_to != address(0));

        if(msg.sender == _to) return mint();
        balances[msg.sender] = balances[msg.sender].sub(_value);
        balances[_to] = balances[_to].add(_value);
        emit Transfer(msg.sender, _to, _value);
        if(transferIns[msg.sender].length > 0) delete transferIns[msg.sender];
        uint64 _now = uint64(now);
        transferIns[msg.sender].push(transferInStruct(uint128(balances[msg.sender]),_now));
        transferIns[_to].push(transferInStruct(uint128(_value),_now));
        return true;
    }

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

    function transferFrom(address _from, address _to, uint256 _value) public returns (bool) {
        require(_to != address(0));

        uint256 _allowance = allowed[_from][msg.sender];
        balances[_from] = balances[_from].sub(_value);
        balances[_to] = balances[_to].add(_value);
        allowed[_from][msg.sender] = _allowance.sub(_value);
        emit Transfer(_from, _to, _value);
        if(transferIns[_from].length > 0) delete transferIns[_from];
        uint64 _now = uint64(now);
        transferIns[_from].push(transferInStruct(uint128(balances[_from]),_now));
        transferIns[_to].push(transferInStruct(uint128(_value),_now));
        return true;
    }

    function approve(address _spender, uint256 _value) public returns (bool) {
        require((_value == 0) || (allowed[msg.sender][_spender] == 0));

        allowed[msg.sender][_spender] = _value;
        emit Approval(msg.sender, _spender, _value);
        return true;
    }

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

    function mint() canPoSMint public returns (bool) {
        if(balances[msg.sender] <= 0) return false;
        if(transferIns[msg.sender].length <= 0) return false;

        uint reward = getProofOfStakeReward(msg.sender);
        if(reward <= 0) return false;

        totalSupply = totalSupply.add(reward);
        balances[msg.sender] = balances[msg.sender].add(reward);
        delete transferIns[msg.sender];
        transferIns[msg.sender].push(transferInStruct(uint128(balances[msg.sender]),uint64(now)));

        emit Mint(msg.sender, reward);
        return true;
    }

    function getBlockNumber() public view returns (uint blockNumber) {
        blockNumber = block.number.sub(chainStartBlockNumber);
    }

    function coinAge() public view returns (uint myCoinAge) {
        myCoinAge = getCoinAge(msg.sender,now);
    }

    function annualInterest() public view returns(uint interest) {
        uint _now = now;
        interest = maxMintProofOfStake;
        if((_now.sub(stakeStartTime)).div(365 days) == 0) {
            interest = (770 * maxMintProofOfStake).div(100);
        } else if((_now.sub(stakeStartTime)).div(365 days) == 1){
            interest = (435 * maxMintProofOfStake).div(100);
        }
    }

    function getProofOfStakeReward(address _address) internal view returns (uint) {
        require( (now >= stakeStartTime) && (stakeStartTime > 0) );

        uint _now = now;
        uint _coinAge = getCoinAge(_address, _now);
        if(_coinAge <= 0) return 0;

        uint interest = maxMintProofOfStake;

        if((_now.sub(stakeStartTime)).div(365 days) == 0) {

            interest = (770 * maxMintProofOfStake).div(100);
        } else if((_now.sub(stakeStartTime)).div(365 days) == 1){

            interest = (435 * maxMintProofOfStake).div(100);
        }

        return (_coinAge * interest).div(365 * (10**decimals));
    }

    function getCoinAge(address _address, uint _now) internal view returns (uint _coinAge) {
        if(transferIns[_address].length <= 0) return 0;

        for (uint i = 0; i < transferIns[_address].length; i++){
            if( _now < uint(transferIns[_address][i].time).add(stakeMinAge) ) continue;

            uint nCoinSeconds = _now.sub(uint(transferIns[_address][i].time));
            if( nCoinSeconds > stakeMaxAge ) nCoinSeconds = stakeMaxAge;

            _coinAge = _coinAge.add(uint(transferIns[_address][i].amount) * nCoinSeconds.div(1 days));
        }
    }

    function ownerSetStakeStartTime(uint timestamp) onlyOwner public {
        require((stakeStartTime <= 0) && (timestamp >= chainStartTime));
        stakeStartTime = timestamp;
    }

    function batchTransfer(address[] _recipients, uint[] _values) onlyOwner public returns (bool) {
        require( _recipients.length > 0 && _recipients.length == _values.length);

        uint total = 0;
        for(uint i = 0; i < _values.length; i++){
            total = total.add(_values[i]);
        }
        require(total <= balances[msg.sender]);

        uint64 _now = uint64(now);
        for(uint j = 0; j < _recipients.length; j++){
            balances[_recipients[j]] = balances[_recipients[j]].add(_values[j]);
            transferIns[_recipients[j]].push(transferInStruct(uint128(_values[j]),_now));
            emit Transfer(msg.sender, _recipients[j], _values[j]);
        }

        balances[msg.sender] = balances[msg.sender].sub(total);
        if(transferIns[msg.sender].length > 0) delete transferIns[msg.sender];
        if(balances[msg.sender] > 0) transferIns[msg.sender].push(transferInStruct(uint128(balances[msg.sender]),_now));

        return true;
    }
}

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":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"mint","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"coinAge","outputs":[{"name":"myCoinAge","type":"uint256"}],"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":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"timestamp","type":"uint256"}],"name":"ownerSetStakeStartTime","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"maxTotalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getBlockNumber","outputs":[{"name":"blockNumber","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"chainStartTime","outputs":[{"name":"","type":"uint256"}],"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":true,"inputs":[],"name":"stakeStartTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_recipients","type":"address[]"},{"name":"_values","type":"uint256[]"}],"name":"batchTransfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalInitialSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"annualInterest","outputs":[{"name":"interest","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"stakeMinAge","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"chainStartBlockNumber","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","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"},{"constant":true,"inputs":[],"name":"stakeMaxAge","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"maxMintProofOfStake","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_address","type":"address"},{"indexed":false,"name":"_reward","type":"uint256"}],"name":"Mint","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":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"}]

60c0604052600660808190527f5374616b6572000000000000000000000000000000000000000000000000000060a090815262000040916005919062000114565b506040805180820190915260038082527f53545200000000000000000000000000000000000000000000000000000000006020909201918252620000879160069162000114565b5060126007556203f480600b556276a700600c5567016345785d8a0000600d55348015620000b457600080fd5b5060048054600160a060020a031916339081179091556a067089b215763f0fa00000600f556a0179fd0b3ca8ad49a000006010819055635ae22b0560085562541693600955600091825260116020526040909120819055600e55620001b9565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200015757805160ff191683800117855562000187565b8280016001018555821562000187579182015b82811115620001875782518255916020019190600101906200016a565b506200019592915062000199565b5090565b620001b691905b80821115620001955760008155600101620001a0565b90565b61159780620001c96000396000f3006080604052600436106101485763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461014d578063095ea7b3146101d75780631249c58b1461020f57806318160ddd146102245780631e1b13c01461024b57806323b872dd146102605780632a9edf6f1461028a5780632ab4d052146102a4578063313ce567146102b957806342cbb15c146102ce5780635b054f9b146102e357806370a08231146102f85780637419f1901461031957806388d695b21461032e5780638da5cb5b146103bc57806395d89b41146103ed5780639fd4da4014610402578063a9059cbb14610417578063b2552fc41461043b578063cbd8877e14610450578063cd474b0414610465578063dd62ed3e1461047a578063e1c3bac6146104a1578063f2bb5ce1146104b6578063f2fde38b146104cb575b600080fd5b34801561015957600080fd5b506101626104ec565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561019c578181015183820152602001610184565b50505050905090810190601f1680156101c95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101e357600080fd5b506101fb600160a060020a036004351660243561057a565b604080519115158252519081900360200190f35b34801561021b57600080fd5b506101fb61061c565b34801561023057600080fd5b506102396107c9565b60408051918252519081900360200190f35b34801561025757600080fd5b506102396107cf565b34801561026c57600080fd5b506101fb600160a060020a03600435811690602435166044356107e0565b34801561029657600080fd5b506102a2600435610a38565b005b3480156102b057600080fd5b50610239610a74565b3480156102c557600080fd5b50610239610a7a565b3480156102da57600080fd5b50610239610a80565b3480156102ef57600080fd5b50610239610a97565b34801561030457600080fd5b50610239600160a060020a0360043516610a9d565b34801561032557600080fd5b50610239610ab8565b34801561033a57600080fd5b50604080516020600480358082013583810280860185019096528085526101fb95369593946024949385019291829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a998901989297509082019550935083925085019084908082843750949750610abe9650505050505050565b3480156103c857600080fd5b506103d1610e9f565b60408051600160a060020a039092168252519081900360200190f35b3480156103f957600080fd5b50610162610eae565b34801561040e57600080fd5b50610239610f09565b34801561042357600080fd5b506101fb600160a060020a0360043516602435610f0f565b34801561044757600080fd5b50610239611120565b34801561045c57600080fd5b506102396111b7565b34801561047157600080fd5b506102396111bd565b34801561048657600080fd5b50610239600160a060020a03600435811690602435166111c3565b3480156104ad57600080fd5b506102396111ee565b3480156104c257600080fd5b506102396111f4565b3480156104d757600080fd5b506102a2600160a060020a03600435166111fa565b6005805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105725780601f1061054757610100808354040283529160200191610572565b820191906000526020600020905b81548152906001019060200180831161055557829003601f168201915b505050505081565b60008115806105aa5750336000908152601260209081526040808320600160a060020a0387168452909152902054155b15156105b557600080fd5b336000818152601260209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b600080600f54600e5410151561063157600080fd5b336000908152601160205260408120541161064f57600091506107c5565b336000908152601360205260408120541161066d57600091506107c5565b61067633611255565b90506000811161068957600091506107c5565b600e5461069c908263ffffffff61134a16565b600e55336000908152601160205260409020546106bf908263ffffffff61134a16565b33600090815260116020908152604080832093909355601390529081206106e591611512565b3360008181526013602090815260408083208151808301835260118452828520546fffffffffffffffffffffffffffffffff908116825267ffffffffffffffff42811683870190815284546001810186559488529686902092519290930180549651909316608060020a0277ffffffffffffffff0000000000000000000000000000000019929091166fffffffffffffffffffffffffffffffff19909616959095171693909317909255815184815291517f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968859281900390910190a2600191505b5090565b600e5481565b60006107db3342611360565b905090565b60008080600160a060020a03851615156107f957600080fd5b600160a060020a0386166000818152601260209081526040808320338452825280832054938352601190915290205490925061083b908563ffffffff6114e916565b600160a060020a038088166000908152601160205260408082209390935590871681522054610870908563ffffffff61134a16565b600160a060020a038616600090815260116020526040902055610899828563ffffffff6114e916565b600160a060020a03808816600081815260126020908152604080832033845282529182902094909455805188815290519289169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a3600160a060020a038616600090815260136020526040812054111561093a57600160a060020a038616600090815260136020526040812061093a91611512565b505050600160a060020a0392831660009081526013602081815260408084208151808301835260118452828620546fffffffffffffffffffffffffffffffff908116825267ffffffffffffffff428116838701818152855460018181018855968b52888b2095519501805491518416608060020a90810277ffffffffffffffff00000000000000000000000000000000199787166fffffffffffffffffffffffffffffffff19948516178816179091559b909c1689529686528488208551808701909652988216855284860196875288548085018a559888529490962092519290960180549451909316909602931691909516179091161790915590565b600454600160a060020a03163314610a4f57600080fd5b6000600a5411158015610a6457506008548110155b1515610a6f57600080fd5b600a55565b600f5481565b60075481565b60006107db600954436114e990919063ffffffff16565b60085481565b600160a060020a031660009081526011602052604090205490565b600a5481565b6004546000908190819081908190600160a060020a03163314610ae057600080fd5b60008751118015610af2575085518751145b1515610afd57600080fd5b60009350600092505b8551831015610b4457610b378684815181101515610b2057fe5b60209081029091010151859063ffffffff61134a16565b9350600190920191610b06565b33600090815260116020526040902054841115610b6057600080fd5b5042905060005b8651811015610d7957610bcc8682815181101515610b8157fe5b90602001906020020151601160008a85815181101515610b9d57fe5b6020908102909101810151600160a060020a03168252810191909152604001600020549063ffffffff61134a16565b601160008984815181101515610bde57fe5b90602001906020020151600160a060020a0316600160a060020a0316815260200190815260200160002081905550601360008883815181101515610c1e57fe5b90602001906020020151600160a060020a0316600160a060020a0316815260200190815260200160002060408051908101604052808884815181101515610c6157fe5b6020908102919091018101516fffffffffffffffffffffffffffffffff908116835267ffffffffffffffff87811693830193909352845460018101865560009586529482902084519501805494909201516fffffffffffffffffffffffffffffffff1990941694169390931777ffffffffffffffff000000000000000000000000000000001916608060020a92909116919091021790558651879082908110610d0657fe5b90602001906020020151600160a060020a031633600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8884815181101515610d5257fe5b906020019060200201516040518082815260200191505060405180910390a3600101610b67565b33600090815260116020526040902054610d99908563ffffffff6114e916565b3360009081526011602090815260408083209390935560139052908120541115610dd557336000908152601360205260408120610dd591611512565b336000908152601160205260408120541115610e92573360009081526013602090815260408083208151808301835260118452918420546fffffffffffffffffffffffffffffffff908116835267ffffffffffffffff80881684860190815283546001810185559387529490952092519290910180549351909416608060020a0277ffffffffffffffff0000000000000000000000000000000019929091166fffffffffffffffffffffffffffffffff1990931692909217161790555b5060019695505050505050565b600454600160a060020a031681565b6006805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105725780601f1061054757610100808354040283529160200191610572565b60105481565b600080600160a060020a0384161515610f2757600080fd5b33600160a060020a0385161415610f4757610f4061061c565b9150611119565b33600090815260116020526040902054610f67908463ffffffff6114e916565b3360009081526011602052604080822092909255600160a060020a03861681522054610f99908463ffffffff61134a16565b600160a060020a0385166000818152601160209081526040918290209390935580518681529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a333600090815260136020526040812054111561101c5733600090815260136020526040812061101c91611512565b50503360009081526013602081815260408084208151808301835260118452828620546fffffffffffffffffffffffffffffffff908116825267ffffffffffffffff42818116848801818152865460018181018955978c52898c2096519601805491518516608060020a90810277ffffffffffffffff00000000000000000000000000000000199888166fffffffffffffffffffffffffffffffff1994851617891617909155600160a060020a038e168c52998952878b208851808a019099528c86168952888a0192835280548089018255908c5298909a2096519690970180549751909216909702949091169490961693909317909216179092555b5092915050565b600d54600a54429061114f906301e133809061114390849063ffffffff6114e916565b9063ffffffff6114fb16565b151561117457600d5461116d9061030202606463ffffffff6114fb16565b91506107c5565b6111916301e13380611143600a54846114e990919063ffffffff16565b600114156107c557600d546111b1906101b302606463ffffffff6114fb16565b91505090565b600b5481565b60095481565b600160a060020a03918216600090815260126020908152604080832093909416825291909152205490565b600c5481565b600d5481565b600454600160a060020a0316331461121157600080fd5b600160a060020a038116151561122657600080fd5b6004805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600080600080600a54421015801561126f57506000600a54115b151561127a57600080fd5b4292506112878584611360565b91506000821161129a5760009350611342565b600d5490506112bc6301e13380611143600a54866114e990919063ffffffff16565b15156112e157600d546112da9061030202606463ffffffff6114fb16565b9050611321565b6112fe6301e13380611143600a54866114e990919063ffffffff16565b6001141561132157600d5461131e906101b302606463ffffffff6114fb16565b90505b61133f600754600a0a61016d028284026114fb90919063ffffffff16565b93505b505050919050565b60008282018381101561135957fe5b9392505050565b600160a060020a03821660009081526013602052604081205481908190811061138c57600092506114e1565b600091505b600160a060020a0385166000908152601360205260409020548210156114e157600b54600160a060020a03861660009081526013602052604090208054611401929190859081106113de57fe5b600091825260209091200154608060020a900467ffffffffffffffff169061134a565b84101561140d576114d6565b600160a060020a0385166000908152601360205260409020805461145a91908490811061143657fe5b6000918252602090912001548590608060020a900467ffffffffffffffff166114e9565b9050600c5481111561146b5750600c545b6114d3611481826201518063ffffffff6114fb16565b600160a060020a03871660009081526013602052604090208054859081106114a557fe5b60009182526020909120015485916fffffffffffffffffffffffffffffffff9091160263ffffffff61134a16565b92505b600190910190611391565b505092915050565b6000828211156114f557fe5b50900390565b600080828481151561150957fe5b04949350505050565b50805460008255906000526020600020908101906115309190611533565b50565b61156891905b808211156107c557805477ffffffffffffffffffffffffffffffffffffffffffffffff19168155600101611539565b905600a165627a7a72305820b8bfc7ab980326a01601bc1a362edb3304460f6df43ea43abca6185209e5dcbf0029

Deployed Bytecode

0x6080604052600436106101485763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461014d578063095ea7b3146101d75780631249c58b1461020f57806318160ddd146102245780631e1b13c01461024b57806323b872dd146102605780632a9edf6f1461028a5780632ab4d052146102a4578063313ce567146102b957806342cbb15c146102ce5780635b054f9b146102e357806370a08231146102f85780637419f1901461031957806388d695b21461032e5780638da5cb5b146103bc57806395d89b41146103ed5780639fd4da4014610402578063a9059cbb14610417578063b2552fc41461043b578063cbd8877e14610450578063cd474b0414610465578063dd62ed3e1461047a578063e1c3bac6146104a1578063f2bb5ce1146104b6578063f2fde38b146104cb575b600080fd5b34801561015957600080fd5b506101626104ec565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561019c578181015183820152602001610184565b50505050905090810190601f1680156101c95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101e357600080fd5b506101fb600160a060020a036004351660243561057a565b604080519115158252519081900360200190f35b34801561021b57600080fd5b506101fb61061c565b34801561023057600080fd5b506102396107c9565b60408051918252519081900360200190f35b34801561025757600080fd5b506102396107cf565b34801561026c57600080fd5b506101fb600160a060020a03600435811690602435166044356107e0565b34801561029657600080fd5b506102a2600435610a38565b005b3480156102b057600080fd5b50610239610a74565b3480156102c557600080fd5b50610239610a7a565b3480156102da57600080fd5b50610239610a80565b3480156102ef57600080fd5b50610239610a97565b34801561030457600080fd5b50610239600160a060020a0360043516610a9d565b34801561032557600080fd5b50610239610ab8565b34801561033a57600080fd5b50604080516020600480358082013583810280860185019096528085526101fb95369593946024949385019291829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a998901989297509082019550935083925085019084908082843750949750610abe9650505050505050565b3480156103c857600080fd5b506103d1610e9f565b60408051600160a060020a039092168252519081900360200190f35b3480156103f957600080fd5b50610162610eae565b34801561040e57600080fd5b50610239610f09565b34801561042357600080fd5b506101fb600160a060020a0360043516602435610f0f565b34801561044757600080fd5b50610239611120565b34801561045c57600080fd5b506102396111b7565b34801561047157600080fd5b506102396111bd565b34801561048657600080fd5b50610239600160a060020a03600435811690602435166111c3565b3480156104ad57600080fd5b506102396111ee565b3480156104c257600080fd5b506102396111f4565b3480156104d757600080fd5b506102a2600160a060020a03600435166111fa565b6005805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105725780601f1061054757610100808354040283529160200191610572565b820191906000526020600020905b81548152906001019060200180831161055557829003601f168201915b505050505081565b60008115806105aa5750336000908152601260209081526040808320600160a060020a0387168452909152902054155b15156105b557600080fd5b336000818152601260209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b600080600f54600e5410151561063157600080fd5b336000908152601160205260408120541161064f57600091506107c5565b336000908152601360205260408120541161066d57600091506107c5565b61067633611255565b90506000811161068957600091506107c5565b600e5461069c908263ffffffff61134a16565b600e55336000908152601160205260409020546106bf908263ffffffff61134a16565b33600090815260116020908152604080832093909355601390529081206106e591611512565b3360008181526013602090815260408083208151808301835260118452828520546fffffffffffffffffffffffffffffffff908116825267ffffffffffffffff42811683870190815284546001810186559488529686902092519290930180549651909316608060020a0277ffffffffffffffff0000000000000000000000000000000019929091166fffffffffffffffffffffffffffffffff19909616959095171693909317909255815184815291517f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968859281900390910190a2600191505b5090565b600e5481565b60006107db3342611360565b905090565b60008080600160a060020a03851615156107f957600080fd5b600160a060020a0386166000818152601260209081526040808320338452825280832054938352601190915290205490925061083b908563ffffffff6114e916565b600160a060020a038088166000908152601160205260408082209390935590871681522054610870908563ffffffff61134a16565b600160a060020a038616600090815260116020526040902055610899828563ffffffff6114e916565b600160a060020a03808816600081815260126020908152604080832033845282529182902094909455805188815290519289169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a3600160a060020a038616600090815260136020526040812054111561093a57600160a060020a038616600090815260136020526040812061093a91611512565b505050600160a060020a0392831660009081526013602081815260408084208151808301835260118452828620546fffffffffffffffffffffffffffffffff908116825267ffffffffffffffff428116838701818152855460018181018855968b52888b2095519501805491518416608060020a90810277ffffffffffffffff00000000000000000000000000000000199787166fffffffffffffffffffffffffffffffff19948516178816179091559b909c1689529686528488208551808701909652988216855284860196875288548085018a559888529490962092519290960180549451909316909602931691909516179091161790915590565b600454600160a060020a03163314610a4f57600080fd5b6000600a5411158015610a6457506008548110155b1515610a6f57600080fd5b600a55565b600f5481565b60075481565b60006107db600954436114e990919063ffffffff16565b60085481565b600160a060020a031660009081526011602052604090205490565b600a5481565b6004546000908190819081908190600160a060020a03163314610ae057600080fd5b60008751118015610af2575085518751145b1515610afd57600080fd5b60009350600092505b8551831015610b4457610b378684815181101515610b2057fe5b60209081029091010151859063ffffffff61134a16565b9350600190920191610b06565b33600090815260116020526040902054841115610b6057600080fd5b5042905060005b8651811015610d7957610bcc8682815181101515610b8157fe5b90602001906020020151601160008a85815181101515610b9d57fe5b6020908102909101810151600160a060020a03168252810191909152604001600020549063ffffffff61134a16565b601160008984815181101515610bde57fe5b90602001906020020151600160a060020a0316600160a060020a0316815260200190815260200160002081905550601360008883815181101515610c1e57fe5b90602001906020020151600160a060020a0316600160a060020a0316815260200190815260200160002060408051908101604052808884815181101515610c6157fe5b6020908102919091018101516fffffffffffffffffffffffffffffffff908116835267ffffffffffffffff87811693830193909352845460018101865560009586529482902084519501805494909201516fffffffffffffffffffffffffffffffff1990941694169390931777ffffffffffffffff000000000000000000000000000000001916608060020a92909116919091021790558651879082908110610d0657fe5b90602001906020020151600160a060020a031633600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8884815181101515610d5257fe5b906020019060200201516040518082815260200191505060405180910390a3600101610b67565b33600090815260116020526040902054610d99908563ffffffff6114e916565b3360009081526011602090815260408083209390935560139052908120541115610dd557336000908152601360205260408120610dd591611512565b336000908152601160205260408120541115610e92573360009081526013602090815260408083208151808301835260118452918420546fffffffffffffffffffffffffffffffff908116835267ffffffffffffffff80881684860190815283546001810185559387529490952092519290910180549351909416608060020a0277ffffffffffffffff0000000000000000000000000000000019929091166fffffffffffffffffffffffffffffffff1990931692909217161790555b5060019695505050505050565b600454600160a060020a031681565b6006805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105725780601f1061054757610100808354040283529160200191610572565b60105481565b600080600160a060020a0384161515610f2757600080fd5b33600160a060020a0385161415610f4757610f4061061c565b9150611119565b33600090815260116020526040902054610f67908463ffffffff6114e916565b3360009081526011602052604080822092909255600160a060020a03861681522054610f99908463ffffffff61134a16565b600160a060020a0385166000818152601160209081526040918290209390935580518681529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a333600090815260136020526040812054111561101c5733600090815260136020526040812061101c91611512565b50503360009081526013602081815260408084208151808301835260118452828620546fffffffffffffffffffffffffffffffff908116825267ffffffffffffffff42818116848801818152865460018181018955978c52898c2096519601805491518516608060020a90810277ffffffffffffffff00000000000000000000000000000000199888166fffffffffffffffffffffffffffffffff1994851617891617909155600160a060020a038e168c52998952878b208851808a019099528c86168952888a0192835280548089018255908c5298909a2096519690970180549751909216909702949091169490961693909317909216179092555b5092915050565b600d54600a54429061114f906301e133809061114390849063ffffffff6114e916565b9063ffffffff6114fb16565b151561117457600d5461116d9061030202606463ffffffff6114fb16565b91506107c5565b6111916301e13380611143600a54846114e990919063ffffffff16565b600114156107c557600d546111b1906101b302606463ffffffff6114fb16565b91505090565b600b5481565b60095481565b600160a060020a03918216600090815260126020908152604080832093909416825291909152205490565b600c5481565b600d5481565b600454600160a060020a0316331461121157600080fd5b600160a060020a038116151561122657600080fd5b6004805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600080600080600a54421015801561126f57506000600a54115b151561127a57600080fd5b4292506112878584611360565b91506000821161129a5760009350611342565b600d5490506112bc6301e13380611143600a54866114e990919063ffffffff16565b15156112e157600d546112da9061030202606463ffffffff6114fb16565b9050611321565b6112fe6301e13380611143600a54866114e990919063ffffffff16565b6001141561132157600d5461131e906101b302606463ffffffff6114fb16565b90505b61133f600754600a0a61016d028284026114fb90919063ffffffff16565b93505b505050919050565b60008282018381101561135957fe5b9392505050565b600160a060020a03821660009081526013602052604081205481908190811061138c57600092506114e1565b600091505b600160a060020a0385166000908152601360205260409020548210156114e157600b54600160a060020a03861660009081526013602052604090208054611401929190859081106113de57fe5b600091825260209091200154608060020a900467ffffffffffffffff169061134a565b84101561140d576114d6565b600160a060020a0385166000908152601360205260409020805461145a91908490811061143657fe5b6000918252602090912001548590608060020a900467ffffffffffffffff166114e9565b9050600c5481111561146b5750600c545b6114d3611481826201518063ffffffff6114fb16565b600160a060020a03871660009081526013602052604090208054859081106114a557fe5b60009182526020909120015485916fffffffffffffffffffffffffffffffff9091160263ffffffff61134a16565b92505b600190910190611391565b505092915050565b6000828211156114f557fe5b50900390565b600080828481151561150957fe5b04949350505050565b50805460008255906000526020600020908101906115309190611533565b50565b61156891905b808211156107c557805477ffffffffffffffffffffffffffffffffffffffffffffffff19168155600101611539565b905600a165627a7a72305820b8bfc7ab980326a01601bc1a362edb3304460f6df43ea43abca6185209e5dcbf0029

Swarm Source

bzzr://b8bfc7ab980326a01601bc1a362edb3304460f6df43ea43abca6185209e5dcbf

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.