ETH Price: $3,164.99 (+1.44%)
Gas: 2 Gwei

Contract

0xBAE235823D7255D9D48635cEd4735227244Cd583
 

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
0xb8b1baf8b4e9b4348c399a7b5116c2347fb369986c014b782cac49b2e309f85f Transfer(pending)2024-07-07 9:41:056 days ago1720345265IN
Staker Token
0 ETH(Pending)(Pending)
Approve180496352023-09-02 15:10:35315 days ago1693667435IN
Staker Token
0 ETH0.000703415.071872
Transfer180496272023-09-02 15:08:59315 days ago1693667339IN
Staker Token
0 ETH0.0014130116.0276751
Transfer152481462022-07-31 4:37:00713 days ago1659242220IN
Staker Token
0 ETH0.000301313
Transfer142674242022-02-24 7:23:04870 days ago1645687384IN
Staker Token
0 ETH0.0089170784.71395102
Transfer142612972022-02-23 8:36:09871 days ago1645605369IN
Staker Token
0 ETH0.005680
Transfer134920412021-10-26 8:56:02991 days ago1635238562IN
Staker Token
0 ETH0.0103531100
Transfer125932952021-06-08 10:21:081131 days ago1623147668IN
Staker Token
0 ETH0.0009023710
Transfer125076042021-05-26 3:46:201144 days ago1622000780IN
Staker Token
0 ETH0.0039519954
Transfer124423922021-05-16 0:49:471154 days ago1621126187IN
Staker Token
0 ETH0.0027964293.21428571
Transfer123534082021-05-02 7:23:191168 days ago1619940199IN
Staker Token
0 ETH0.0023464726
Transfer123466822021-05-01 6:27:341169 days ago1619850454IN
Staker Token
0 ETH0.0022562225
Transfer123097692021-04-25 13:36:101175 days ago1619357770IN
Staker Token
0 ETH0.0038801943
Transfer123079552021-04-25 6:59:411175 days ago1619333981IN
Staker Token
0 ETH0.0105249100
Transfer123066242021-04-25 2:06:391175 days ago1619316399IN
Staker Token
0 ETH0.0016441
Transfer123026322021-04-24 11:24:511176 days ago1619263491IN
Staker Token
0 ETH0.0046895755
Transfer122655292021-04-18 17:47:551182 days ago1618768075IN
Staker Token
0 ETH0.002354107
Transfer122497152021-04-16 7:31:441184 days ago1618558304IN
Staker Token
0 ETH0.00922181126.00000145
Transfer122170002021-04-11 6:27:531189 days ago1618122473IN
Staker Token
0 ETH0.0046266
Transfer122085552021-04-09 23:14:131190 days ago1618010053IN
Staker Token
0 ETH0.0095883390
Transfer122073052021-04-09 18:38:381191 days ago1617993518IN
Staker Token
0 ETH0.01016193111.00000145
Transfer122008512021-04-08 18:41:071192 days ago1617907267IN
Staker Token
0 ETH0.01061968116
Transfer122007002021-04-08 18:06:541192 days ago1617905214IN
Staker Token
0 ETH0.006489108.15
Transfer121983552021-04-08 9:24:471192 days ago1617873887IN
Staker Token
0 ETH0.005587293.12
Transfer121815192021-04-05 19:22:121195 days ago1617650532IN
Staker Token
0 ETH0.01960501184
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
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.