ETH Price: $3,348.74 (+0.41%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer120219012021-03-12 5:39:231390 days ago1615527563IN
0x9Fb91e69...A72394DFe
0 ETH0.00441193106.70000171
Transfer105367392020-07-26 18:28:591619 days ago1595788139IN
0x9Fb91e69...A72394DFe
0 ETH0.0027616849
Transfer105337922020-07-26 7:41:091619 days ago1595749269IN
0x9Fb91e69...A72394DFe
0 ETH0.0016343862
Transfer104749912020-07-17 5:11:471628 days ago1594962707IN
0x9Fb91e69...A72394DFe
0 ETH0.0018193544
Transfer103150242020-06-22 10:30:411653 days ago1592821841IN
0x9Fb91e69...A72394DFe
0 ETH0.0020853537
Transfer102685872020-06-15 6:02:381660 days ago1592200958IN
0x9Fb91e69...A72394DFe
0 ETH0.0027041748
Transfer100891322020-05-18 9:22:291688 days ago1589793749IN
0x9Fb91e69...A72394DFe
0 ETH0.0014348134.7
Transfer100891322020-05-18 9:22:291688 days ago1589793749IN
0x9Fb91e69...A72394DFe
0 ETH0.0019557234.7
Transfer100891322020-05-18 9:22:291688 days ago1589793749IN
0x9Fb91e69...A72394DFe
0 ETH0.0019553134.7
Transfer100891322020-05-18 9:22:291688 days ago1589793749IN
0x9Fb91e69...A72394DFe
0 ETH0.0019557234.7
Transfer100891292020-05-18 9:21:231688 days ago1589793683IN
0x9Fb91e69...A72394DFe
0 ETH0.0019565534.7
Transfer100891262020-05-18 9:20:551688 days ago1589793655IN
0x9Fb91e69...A72394DFe
0 ETH0.0019158633.99999618
Transfer100891262020-05-18 9:20:551688 days ago1589793655IN
0x9Fb91e69...A72394DFe
0 ETH0.0019158633.99999618
Transfer100891262020-05-18 9:20:551688 days ago1589793655IN
0x9Fb91e69...A72394DFe
0 ETH0.0019162733.99999618
Transfer100891262020-05-18 9:20:551688 days ago1589793655IN
0x9Fb91e69...A72394DFe
0 ETH0.0019162733.99999618
Transfer100563782020-05-13 7:07:501693 days ago1589353670IN
0x9Fb91e69...A72394DFe
0 ETH0.0014472135
Transfer100563772020-05-13 7:07:441693 days ago1589353664IN
0x9Fb91e69...A72394DFe
0 ETH0.0020285636
Transfer100563762020-05-13 7:07:271693 days ago1589353647IN
0x9Fb91e69...A72394DFe
0 ETH0.0014889936
Transfer100563762020-05-13 7:07:271693 days ago1589353647IN
0x9Fb91e69...A72394DFe
0 ETH0.0014889936
Transfer100436192020-05-11 7:32:341695 days ago1589182354IN
0x9Fb91e69...A72394DFe
0 ETH0.000330798
Transfer100436192020-05-11 7:32:341695 days ago1589182354IN
0x9Fb91e69...A72394DFe
0 ETH0.000450798
Transfer100436182020-05-11 7:32:281695 days ago1589182348IN
0x9Fb91e69...A72394DFe
0 ETH0.000450888
Transfer100436182020-05-11 7:32:281695 days ago1589182348IN
0x9Fb91e69...A72394DFe
0 ETH0.000450798
Transfer100436162020-05-11 7:32:121695 days ago1589182332IN
0x9Fb91e69...A72394DFe
0 ETH0.000330988
Transfer100436132020-05-11 7:31:401695 days ago1589182300IN
0x9Fb91e69...A72394DFe
0 ETH0.000330988
View all transactions

Advanced mode:
Parent Transaction Hash Block
From
To
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
PROCOINPLUS

Compiler Version
v0.4.25+commit.59dbf8f1

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2019-08-14
*/

pragma solidity ^0.4.24;
/**
* Math operations with safety checks
*/

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) {
        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 && c>=b);
        return c;
    }
}


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 Fix for the ERC20 short address attack.
    */    
    modifier onlyPayloadSize(uint size) {
        assert(msg.data.length >= size + 4);
        _;
    }
}


contract PROCOINPLUS is Ownable{
    using SafeMath for uint;
    string public name;     
    string public symbol;
    uint8 public decimals;  
    uint private _totalSupply;
    uint public basisPointsRate = 0;
    uint public minimumFee = 0;
    uint public maximumFee = 0;

    
    /* This creates an array with all balances */
    mapping (address => uint256) internal balances;
    mapping (address => mapping (address => uint256)) internal allowed;
    
    /* This generates a public event on the blockchain that will notify clients */
    /* notify about transfer to client*/
    event Transfer(
        address indexed from,
        address indexed to,
        uint256 value
    );
    
    /* notify about approval to client*/
    event Approval(
        address indexed _owner,
        address indexed _spender,
        uint256 _value
    );
    
    /* notify about basisPointsRate to client*/
    event Params(
        uint feeBasisPoints,
        uint maximumFee,
        uint minimumFee
    );
    
    // Called when new token are issued
    event Issue(
        uint amount
    );

    // Called when tokens are redeemed
    event Redeem(
        uint amount
    );
    
    /*
        The contract can be initialized with a number of tokens
        All the tokens are deposited to the owner address
        @param _balance Initial supply of the contract
        @param _name Token Name
        @param _symbol Token symbol
        @param _decimals Token decimals
    */
    constructor() public {
        name = 'PROCOIN PLUS'; // Set the name for display purposes
        symbol = 'PCPL'; // Set the symbol for display purposes
        decimals = 18; // Amount of decimals for display purposes
        _totalSupply = 410000000 * 10**uint(decimals); // Update total supply
        balances[msg.sender] = _totalSupply; // Give the creator all initial tokens
    }
    
    /*
        @dev Total number of tokens in existence
    */
    function totalSupply() public view returns (uint256) {
        return _totalSupply;
    }
   
   /*
    @dev Gets the balance of the specified address.
  * @param owner The address to query the balance of.
  * @return An uint256 representing the amount owned by the passed address.
  */
    function balanceOf(address owner) public view returns (uint256) {
        return balances[owner];
    }
    /*
        @dev transfer token for a specified address
        @param _to The address to transfer to.
        @param _value The amount to be transferred.
    */
    function transfer(address _to, uint256  _value) public onlyPayloadSize(2 * 32){
        //Calculate Fees from basis point rate 
        uint fee = (_value.mul(basisPointsRate)).div(1000);
        if (fee > maximumFee) {
            fee = maximumFee;
        }
        if (fee < minimumFee) {
            fee = minimumFee;
        }
        // Prevent transfer to 0x0 address.
        require (_to != 0x0);
        //check receiver is not owner
        require(_to != address(0));
        //Check transfer value is > 0;
        require (_value > 0); 
        // Check if the sender has enough
        require (balances[msg.sender] >= _value);
        // Check for overflows
        require (balances[_to].add(_value) >= balances[_to]);
        //sendAmount to receiver after deducted fee
        uint sendAmount = _value.sub(fee);
        // Subtract from the sender
        balances[msg.sender] = balances[msg.sender].sub(_value);
        // Add the same to the recipient
        balances[_to] = balances[_to].add(sendAmount); 
        //Add fee to owner Account
        if (fee > 0) {
            balances[owner] = balances[owner].add(fee);
            emit Transfer(msg.sender, owner, fee);
        }
        // Notify anyone listening that this transfer took place
        emit Transfer(msg.sender, _to, _value);
    }
    
    /*
        @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.
        @param _spender The address which will spend the funds.
        @param _value The amount of tokens to be spent.
    */
    function approve(address _spender, uint256 _value) public onlyPayloadSize(2 * 32) returns (bool success) {
        //Check approve value is > 0;
        require (_value >= 0);
        //Check balance of owner is greater than
        require (balances[msg.sender] >= _value);
        //check _spender is not itself
        require (_spender != msg.sender);
        //Allowed token to _spender
        allowed[msg.sender][_spender] = _value;
        //Notify anyone listening that this Approval took place
        emit Approval(msg.sender,_spender, _value);
        return true;
    }
    
    /*
        @dev Transfer tokens from one address to another
        @param _from address The address which you want to send tokens from
        @param _to address The address which you want to transfer to
        @param _value uint the amount of tokens to be transferred
    */
    function transferFrom(address _from, address _to, uint256 _value) public onlyPayloadSize(2 * 32) returns (bool success) {
        //Calculate Fees from basis point rate 
        uint fee = (_value.mul(basisPointsRate)).div(1000);
        if (fee > maximumFee) {
                fee = maximumFee;
        }
        if (fee < minimumFee) {
            fee = minimumFee;
        }
        // Prevent transfer to 0x0 address.
        require (_to != 0x0);
        //check receiver is not owner
        require(_to != address(0));
        //Check transfer value is > 0;
        require (_value > 0); 
        // Check if the sender has enough
        require(_value <= balances[_from]);
        // Check for overflows
        require (balances[_to].add(_value) >= balances[_to]);
        // Check allowance
        require (_value <= allowed[_from][msg.sender]);
        uint sendAmount = _value.sub(fee);
        balances[_from] = balances[_from].sub(_value);// Subtract from the sender
        balances[_to] = balances[_to].add(sendAmount); // Add the same to the recipient
        allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);
        if (fee > 0) {
            balances[owner] = balances[owner].add(fee);
            emit Transfer(_from, owner, fee);
        }
        emit Transfer(_from, _to, sendAmount);
        return true;
    }
    
    /*
        @dev Function to check the amount of tokens than an owner allowed to a spender.
        @param _owner address The address which owns the funds.
        @param _spender address The address which will spend the funds.
        @return A uint specifying the amount of tokens still available for the spender.
    */
    function allowance(address _from, address _spender) public view returns (uint remaining) {
        return allowed[_from][_spender];
    }
    
    /*
        @dev Function to set the basis point rate .
        @param newBasisPoints uint which is <= 9.
    */
    function setParams(uint newBasisPoints,uint newMaxFee,uint newMinFee) public onlyOwner {
        // Ensure transparency by hardcoding limit beyond which fees can never be added
        require(newBasisPoints <= 9);
        require(newMaxFee <= 100);
        require(newMinFee <= 5);
        basisPointsRate = newBasisPoints;
        maximumFee = newMaxFee.mul(10**uint(decimals));
        minimumFee = newMinFee.mul(10**uint(decimals));
        emit Params(basisPointsRate, maximumFee, minimumFee);
    }
    /*
    Issue a new amount of tokens
    these tokens are deposited into the owner address
    @param _amount Number of tokens to be issued
    */
    function increaseSupply(uint amount) public onlyOwner {
        require(amount <= 10000000);
        amount = amount.mul(10**uint(decimals));
        require(_totalSupply.add(amount) > _totalSupply);
        require(balances[owner].add(amount) > balances[owner]);
        balances[owner] = balances[owner].add(amount);
        _totalSupply = _totalSupply.add(amount);
        emit Issue(amount);
    }
    
    /*
    Redeem tokens.
    These tokens are withdrawn from the owner address
    if the balance must be enough to cover the redeem
    or the call will fail.
    @param _amount Number of tokens to be issued
    */
    function decreaseSupply(uint amount) public onlyOwner {
        require(amount <= 10000000);
        amount = amount.mul(10**uint(decimals));
        require(_totalSupply >= amount);
        require(balances[owner] >= amount);
        _totalSupply = _totalSupply.sub(amount);
        balances[owner] = balances[owner].sub(amount);
        emit Redeem(amount);
    }

    //onlyOwner is custom modifier
    //`owner` is the owners address
    function close(address owner) public onlyOwner {
        require(msg.sender == owner);
        selfdestruct(owner);
    }
}

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":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"minimumFee","outputs":[{"name":"","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":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"maximumFee","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newBasisPoints","type":"uint256"},{"name":"newMaxFee","type":"uint256"},{"name":"newMinFee","type":"uint256"}],"name":"setParams","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","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":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"decreaseSupply","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"increaseSupply","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"owner","type":"address"}],"name":"close","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_from","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"basisPointsRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"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":"feeBasisPoints","type":"uint256"},{"indexed":false,"name":"maximumFee","type":"uint256"},{"indexed":false,"name":"minimumFee","type":"uint256"}],"name":"Params","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"amount","type":"uint256"}],"name":"Issue","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"amount","type":"uint256"}],"name":"Redeem","type":"event"}]

608060405260006005556000600655600060075534801561001f57600080fd5b5060008054600160a060020a0319163317905560408051808201909152600c8082527f50524f434f494e20504c555300000000000000000000000000000000000000006020909201918252610076916001916100f3565b506040805180820190915260048082527f5043504c0000000000000000000000000000000000000000000000000000000060209092019182526100bb916002916100f3565b5060038054601260ff19909116179081905560ff16600a0a6318701a800260048190553360009081526008602052604090205561018e565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061013457805160ff1916838001178555610161565b82800160010185558215610161579182015b82811115610161578251825591602001919060010190610146565b5061016d929150610171565b5090565b61018b91905b8082111561016d5760008155600101610177565b90565b610e598061019d6000396000f3006080604052600436106100f05763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100f5578063095ea7b31461017f57806318160ddd146101b75780631a7626e7146101de57806323b872dd146101f3578063313ce5671461021d57806335390714146102485780635a0ce6761461025d57806370a082311461027d5780638da5cb5b1461029e57806395d89b41146102cf57806398e52f9a146102e4578063a9059cbb146102fc578063b921e16314610320578063c74073a114610338578063dd62ed3e14610359578063dd644f7214610380575b600080fd5b34801561010157600080fd5b5061010a610395565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561014457818101518382015260200161012c565b50505050905090810190601f1680156101715780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561018b57600080fd5b506101a3600160a060020a0360043516602435610422565b604080519115158252519081900360200190f35b3480156101c357600080fd5b506101cc6104db565b60408051918252519081900360200190f35b3480156101ea57600080fd5b506101cc6104e1565b3480156101ff57600080fd5b506101a3600160a060020a03600435811690602435166044356104e7565b34801561022957600080fd5b5061023261079c565b6040805160ff9092168252519081900360200190f35b34801561025457600080fd5b506101cc6107a5565b34801561026957600080fd5b5061027b6004356024356044356107ab565b005b34801561028957600080fd5b506101cc600160a060020a036004351661087a565b3480156102aa57600080fd5b506102b3610895565b60408051600160a060020a039092168252519081900360200190f35b3480156102db57600080fd5b5061010a6108a4565b3480156102f057600080fd5b5061027b6004356108fc565b34801561030857600080fd5b5061027b600160a060020a0360043516602435610a09565b34801561032c57600080fd5b5061027b600435610c0a565b34801561034457600080fd5b5061027b600160a060020a0360043516610d2c565b34801561036557600080fd5b506101cc600160a060020a0360043581169060243516610d64565b34801561038c57600080fd5b506101cc610d8f565b60018054604080516020600284861615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561041a5780601f106103ef5761010080835404028352916020019161041a565b820191906000526020600020905b8154815290600101906020018083116103fd57829003601f168201915b505050505081565b60006040604436101561043157fe5b600083101561043f57600080fd5b3360009081526008602052604090205483111561045b57600080fd5b600160a060020a03841633141561047157600080fd5b336000818152600960209081526040808320600160a060020a03891680855290835292819020879055805187815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a3600191505b5092915050565b60045490565b60065481565b60008080604060443610156104f857fe5b61051f6103e861051360055488610d9590919063ffffffff16565b9063ffffffff610dc716565b92506007548311156105315760075492505b6006548310156105415760065492505b600160a060020a038616151561055657600080fd5b600160a060020a038616151561056b57600080fd5b6000851161057857600080fd5b600160a060020a03871660009081526008602052604090205485111561059d57600080fd5b600160a060020a0386166000908152600860205260409020546105c6818763ffffffff610dde16565b10156105d157600080fd5b600160a060020a038716600090815260096020908152604080832033845290915290205485111561060157600080fd5b610611858463ffffffff610dfb16565b600160a060020a03881660009081526008602052604090205490925061063d908663ffffffff610dfb16565b600160a060020a038089166000908152600860205260408082209390935590881681522054610672908363ffffffff610dde16565b600160a060020a03808816600090815260086020908152604080832094909455918a1681526009825282812033825290915220546106b6908663ffffffff610dfb16565b600160a060020a03881660009081526009602090815260408083203384529091528120919091558311156107565760008054600160a060020a031681526008602052604090205461070d908463ffffffff610dde16565b60008054600160a060020a0390811682526008602090815260408084209490945591548351878152935190821693918b1692600080516020610e0e833981519152928290030190a35b85600160a060020a031687600160a060020a0316600080516020610e0e833981519152846040518082815260200191505060405180910390a35060019695505050505050565b60035460ff1681565b60075481565b600054600160a060020a031633146107c257600080fd5b60098311156107d057600080fd5b60648211156107de57600080fd5b60058111156107ec57600080fd5b600583905560035461080b90839060ff16600a0a63ffffffff610d9516565b60075560035461082890829060ff16600a0a63ffffffff610d9516565b60068190556005546007546040805192835260208301919091528181019290925290517fd16858b87f79d06c5d7f4cdf7f0943a3b343a9eb149c10ec26e7bcaae7f19bc59181900360600190a1505050565b600160a060020a031660009081526008602052604090205490565b600054600160a060020a031681565b6002805460408051602060018416156101000260001901909316849004601f8101849004840282018401909252818152929183018282801561041a5780601f106103ef5761010080835404028352916020019161041a565b600054600160a060020a0316331461091357600080fd5b6298968081111561092357600080fd5b60035461093d90829060ff16600a0a63ffffffff610d9516565b9050806004541015151561095057600080fd5b60008054600160a060020a031681526008602052604090205481111561097557600080fd5b600454610988908263ffffffff610dfb16565b60045560008054600160a060020a03168152600860205260409020546109b4908263ffffffff610dfb16565b60008054600160a060020a031681526008602090815260409182902092909255805183815290517f702d5967f45f6513a38ffc42d6ba9bf230bd40e8f53b16363c7eb4fd2deb9a44929181900390910190a150565b60008060406044361015610a1957fe5b610a346103e861051360055487610d9590919063ffffffff16565b9250600754831115610a465760075492505b600654831015610a565760065492505b600160a060020a0385161515610a6b57600080fd5b600160a060020a0385161515610a8057600080fd5b60008411610a8d57600080fd5b33600090815260086020526040902054841115610aa957600080fd5b600160a060020a038516600090815260086020526040902054610ad2818663ffffffff610dde16565b1015610add57600080fd5b610aed848463ffffffff610dfb16565b33600090815260086020526040902054909250610b10908563ffffffff610dfb16565b3360009081526008602052604080822092909255600160a060020a03871681522054610b42908363ffffffff610dde16565b600160a060020a038616600090815260086020526040812091909155831115610bd55760008054600160a060020a0316815260086020526040902054610b8e908463ffffffff610dde16565b60008054600160a060020a039081168252600860209081526040808420949094559154835187815293519116923392600080516020610e0e83398151915292918290030190a35b604080518581529051600160a060020a038716913391600080516020610e0e8339815191529181900360200190a35050505050565b600054600160a060020a03163314610c2157600080fd5b62989680811115610c3157600080fd5b600354610c4b90829060ff16600a0a63ffffffff610d9516565b600454909150610c61818363ffffffff610dde16565b11610c6b57600080fd5b60008054600160a060020a0316815260086020526040902054610c94818363ffffffff610dde16565b11610c9e57600080fd5b60008054600160a060020a0316815260086020526040902054610cc7908263ffffffff610dde16565b60008054600160a060020a0316815260086020526040902055600454610cf3908263ffffffff610dde16565b6004556040805182815290517fcb8241adb0c3fdb35b70c24ce35c5eb0c17af7431c99f827d44a445ca624176a9181900360200190a150565b600054600160a060020a03163314610d4357600080fd5b33600160a060020a03821614610d5857600080fd5b80600160a060020a0316ff5b600160a060020a03918216600090815260096020908152604080832093909416825291909152205490565b60055481565b600080831515610da857600091506104d4565b50828202828482811515610db857fe5b0414610dc057fe5b9392505050565b6000808284811515610dd557fe5b04949350505050565b6000828201838110801590610df35750828110155b1515610dc057fe5b600082821115610e0757fe5b509003905600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820d7defe2755acb0934ee4cd2869a2083e2406720d64f0a5e899a0c4838fbfc0980029

Deployed Bytecode

0x6080604052600436106100f05763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100f5578063095ea7b31461017f57806318160ddd146101b75780631a7626e7146101de57806323b872dd146101f3578063313ce5671461021d57806335390714146102485780635a0ce6761461025d57806370a082311461027d5780638da5cb5b1461029e57806395d89b41146102cf57806398e52f9a146102e4578063a9059cbb146102fc578063b921e16314610320578063c74073a114610338578063dd62ed3e14610359578063dd644f7214610380575b600080fd5b34801561010157600080fd5b5061010a610395565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561014457818101518382015260200161012c565b50505050905090810190601f1680156101715780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561018b57600080fd5b506101a3600160a060020a0360043516602435610422565b604080519115158252519081900360200190f35b3480156101c357600080fd5b506101cc6104db565b60408051918252519081900360200190f35b3480156101ea57600080fd5b506101cc6104e1565b3480156101ff57600080fd5b506101a3600160a060020a03600435811690602435166044356104e7565b34801561022957600080fd5b5061023261079c565b6040805160ff9092168252519081900360200190f35b34801561025457600080fd5b506101cc6107a5565b34801561026957600080fd5b5061027b6004356024356044356107ab565b005b34801561028957600080fd5b506101cc600160a060020a036004351661087a565b3480156102aa57600080fd5b506102b3610895565b60408051600160a060020a039092168252519081900360200190f35b3480156102db57600080fd5b5061010a6108a4565b3480156102f057600080fd5b5061027b6004356108fc565b34801561030857600080fd5b5061027b600160a060020a0360043516602435610a09565b34801561032c57600080fd5b5061027b600435610c0a565b34801561034457600080fd5b5061027b600160a060020a0360043516610d2c565b34801561036557600080fd5b506101cc600160a060020a0360043581169060243516610d64565b34801561038c57600080fd5b506101cc610d8f565b60018054604080516020600284861615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561041a5780601f106103ef5761010080835404028352916020019161041a565b820191906000526020600020905b8154815290600101906020018083116103fd57829003601f168201915b505050505081565b60006040604436101561043157fe5b600083101561043f57600080fd5b3360009081526008602052604090205483111561045b57600080fd5b600160a060020a03841633141561047157600080fd5b336000818152600960209081526040808320600160a060020a03891680855290835292819020879055805187815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a3600191505b5092915050565b60045490565b60065481565b60008080604060443610156104f857fe5b61051f6103e861051360055488610d9590919063ffffffff16565b9063ffffffff610dc716565b92506007548311156105315760075492505b6006548310156105415760065492505b600160a060020a038616151561055657600080fd5b600160a060020a038616151561056b57600080fd5b6000851161057857600080fd5b600160a060020a03871660009081526008602052604090205485111561059d57600080fd5b600160a060020a0386166000908152600860205260409020546105c6818763ffffffff610dde16565b10156105d157600080fd5b600160a060020a038716600090815260096020908152604080832033845290915290205485111561060157600080fd5b610611858463ffffffff610dfb16565b600160a060020a03881660009081526008602052604090205490925061063d908663ffffffff610dfb16565b600160a060020a038089166000908152600860205260408082209390935590881681522054610672908363ffffffff610dde16565b600160a060020a03808816600090815260086020908152604080832094909455918a1681526009825282812033825290915220546106b6908663ffffffff610dfb16565b600160a060020a03881660009081526009602090815260408083203384529091528120919091558311156107565760008054600160a060020a031681526008602052604090205461070d908463ffffffff610dde16565b60008054600160a060020a0390811682526008602090815260408084209490945591548351878152935190821693918b1692600080516020610e0e833981519152928290030190a35b85600160a060020a031687600160a060020a0316600080516020610e0e833981519152846040518082815260200191505060405180910390a35060019695505050505050565b60035460ff1681565b60075481565b600054600160a060020a031633146107c257600080fd5b60098311156107d057600080fd5b60648211156107de57600080fd5b60058111156107ec57600080fd5b600583905560035461080b90839060ff16600a0a63ffffffff610d9516565b60075560035461082890829060ff16600a0a63ffffffff610d9516565b60068190556005546007546040805192835260208301919091528181019290925290517fd16858b87f79d06c5d7f4cdf7f0943a3b343a9eb149c10ec26e7bcaae7f19bc59181900360600190a1505050565b600160a060020a031660009081526008602052604090205490565b600054600160a060020a031681565b6002805460408051602060018416156101000260001901909316849004601f8101849004840282018401909252818152929183018282801561041a5780601f106103ef5761010080835404028352916020019161041a565b600054600160a060020a0316331461091357600080fd5b6298968081111561092357600080fd5b60035461093d90829060ff16600a0a63ffffffff610d9516565b9050806004541015151561095057600080fd5b60008054600160a060020a031681526008602052604090205481111561097557600080fd5b600454610988908263ffffffff610dfb16565b60045560008054600160a060020a03168152600860205260409020546109b4908263ffffffff610dfb16565b60008054600160a060020a031681526008602090815260409182902092909255805183815290517f702d5967f45f6513a38ffc42d6ba9bf230bd40e8f53b16363c7eb4fd2deb9a44929181900390910190a150565b60008060406044361015610a1957fe5b610a346103e861051360055487610d9590919063ffffffff16565b9250600754831115610a465760075492505b600654831015610a565760065492505b600160a060020a0385161515610a6b57600080fd5b600160a060020a0385161515610a8057600080fd5b60008411610a8d57600080fd5b33600090815260086020526040902054841115610aa957600080fd5b600160a060020a038516600090815260086020526040902054610ad2818663ffffffff610dde16565b1015610add57600080fd5b610aed848463ffffffff610dfb16565b33600090815260086020526040902054909250610b10908563ffffffff610dfb16565b3360009081526008602052604080822092909255600160a060020a03871681522054610b42908363ffffffff610dde16565b600160a060020a038616600090815260086020526040812091909155831115610bd55760008054600160a060020a0316815260086020526040902054610b8e908463ffffffff610dde16565b60008054600160a060020a039081168252600860209081526040808420949094559154835187815293519116923392600080516020610e0e83398151915292918290030190a35b604080518581529051600160a060020a038716913391600080516020610e0e8339815191529181900360200190a35050505050565b600054600160a060020a03163314610c2157600080fd5b62989680811115610c3157600080fd5b600354610c4b90829060ff16600a0a63ffffffff610d9516565b600454909150610c61818363ffffffff610dde16565b11610c6b57600080fd5b60008054600160a060020a0316815260086020526040902054610c94818363ffffffff610dde16565b11610c9e57600080fd5b60008054600160a060020a0316815260086020526040902054610cc7908263ffffffff610dde16565b60008054600160a060020a0316815260086020526040902055600454610cf3908263ffffffff610dde16565b6004556040805182815290517fcb8241adb0c3fdb35b70c24ce35c5eb0c17af7431c99f827d44a445ca624176a9181900360200190a150565b600054600160a060020a03163314610d4357600080fd5b33600160a060020a03821614610d5857600080fd5b80600160a060020a0316ff5b600160a060020a03918216600090815260096020908152604080832093909416825291909152205490565b60055481565b600080831515610da857600091506104d4565b50828202828482811515610db857fe5b0414610dc057fe5b9392505050565b6000808284811515610dd557fe5b04949350505050565b6000828201838110801590610df35750828110155b1515610dc057fe5b600082821115610e0757fe5b509003905600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820d7defe2755acb0934ee4cd2869a2083e2406720d64f0a5e899a0c4838fbfc0980029

Deployed Bytecode Sourcemap

1437:9007:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1505:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1505:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1505:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5648:594;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5648:594:0;-1:-1:-1;;;;;5648:594:0;;;;;;;;;;;;;;;;;;;;;;;;;3458:91;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3458:91:0;;;;;;;;;;;;;;;;;;;;1662:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1662:26:0;;;;6542:1387;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6542:1387:0;-1:-1:-1;;;;;6542:1387:0;;;;;;;;;;;;1562:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1562:21:0;;;;;;;;;;;;;;;;;;;;;;;1695:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1695:26:0;;;;8544:513;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;8544:513:0;;;;;;;;;;;3758:105;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3758:105:0;-1:-1:-1;;;;;3758:105:0;;;;;848:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;848:20:0;;;;;;;;-1:-1:-1;;;;;848:20:0;;;;;;;;;;;;;;1535;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1535:20:0;;;;9863:373;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;9863:373:0;;;;;4039:1353;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4039:1353:0;-1:-1:-1;;;;;4039:1353:0;;;;;;;9218:409;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;9218:409:0;;;;;10317:124;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;10317:124:0;-1:-1:-1;;;;;10317:124:0;;;;;8273:139;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;8273:139:0;-1:-1:-1;;;;;8273:139:0;;;;;;;;;;1624:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1624:31:0;;;;1505:18;;;;;;;;;;;;;;;-1:-1:-1;;1505:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5648:594::-;5739:12;5722:6;1399:8;1380;:27;;1373:35;;;;5822:1;5812:11;;;5803:21;;;;;;5903:10;5894:20;;;;:8;:20;;;;;;:30;-1:-1:-1;5894:30:0;5885:40;;;;;;-1:-1:-1;;;;;5985:22:0;;5997:10;5985:22;;5976:32;;;;;;6064:10;6056:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;6056:29:0;;;;;;;;;;;;:38;;;6175:37;;;;;;;6056:29;;6064:10;6175:37;;;;;;;;;;;6230:4;6223:11;;1419:1;5648:594;;;;;:::o;3458:91::-;3529:12;;3458:91;:::o;1662:26::-;;;;:::o;6542:1387::-;6648:12;;;6631:6;1399:8;1380;:27;;1373:35;;;;6733:39;6767:4;6734:27;6745:15;;6734:6;:10;;:27;;;;:::i;:::-;6733:33;:39;:33;:39;:::i;:::-;6722:50;;6793:10;;6787:3;:16;6783:69;;;6830:10;;6824:16;;6783:69;6872:10;;6866:3;:16;6862:65;;;6905:10;;6899:16;;6862:65;-1:-1:-1;;;;;6991:10:0;;;;6982:20;;;;;;-1:-1:-1;;;;;7060:17:0;;;;7052:26;;;;;;7147:1;7138:10;;7129:20;;;;;;-1:-1:-1;;;;;7222:15:0;;;;;;:8;:15;;;;;;7212:25;;;7204:34;;;;;;-1:-1:-1;;;;;7319:13:0;;;;;;:8;:13;;;;;;7290:25;7319:13;7308:6;7290:25;:17;:25;:::i;:::-;:42;;7281:52;;;;;;-1:-1:-1;;;;;7391:14:0;;;;;;:7;:14;;;;;;;;7406:10;7391:26;;;;;;;;7381:36;;;7372:46;;;;;;7447:15;:6;7458:3;7447:15;:10;:15;:::i;:::-;-1:-1:-1;;;;;7491:15:0;;;;;;:8;:15;;;;;;7429:33;;-1:-1:-1;7491:27:0;;7511:6;7491:27;:19;:27;:::i;:::-;-1:-1:-1;;;;;7473:15:0;;;;;;;:8;:15;;;;;;:45;;;;7572:13;;;;;;;:29;;7590:10;7572:29;:17;:29;:::i;:::-;-1:-1:-1;;;;;7556:13:0;;;;;;;:8;:13;;;;;;;;:45;;;;7674:14;;;;;:7;:14;;;;;7689:10;7674:26;;;;;;;:38;;7705:6;7674:38;:30;:38;:::i;:::-;-1:-1:-1;;;;;7645:14:0;;;;;;:7;:14;;;;;;;;7660:10;7645:26;;;;;;;:67;;;;7727:7;;7723:129;;;7769:15;7778:5;;-1:-1:-1;;;;;7778:5:0;7769:15;;:8;:15;;;;;;:24;;7789:3;7769:24;:19;:24;:::i;:::-;7751:15;7760:5;;-1:-1:-1;;;;;7760:5:0;;;7751:15;;:8;:15;;;;;;;;:42;;;;7829:5;;7813:27;;;;;;;7829:5;;;;7813:27;;;;-1:-1:-1;;;;;;;;;;;7813:27:0;;;;;;;7723:129;7883:3;-1:-1:-1;;;;;7867:32:0;7876:5;-1:-1:-1;;;;;7867:32:0;-1:-1:-1;;;;;;;;;;;7888:10:0;7867:32;;;;;;;;;;;;;;;;;;-1:-1:-1;7917:4:0;;6542:1387;-1:-1:-1;;;;;;6542:1387:0:o;1562:21::-;;;;;;:::o;1695:26::-;;;;:::o;8544:513::-;1215:5;;-1:-1:-1;;;;;1215:5:0;1201:10;:19;1193:28;;;;;;8757:1;8739:19;;;8731:28;;;;;;8791:3;8778:16;;;8770:25;;;;;;8827:1;8814:14;;;8806:23;;;;;;8840:15;:32;;;8919:8;;8896:33;;:9;;8919:8;;8910:2;:18;8896:33;:13;:33;:::i;:::-;8883:10;:46;8976:8;;8953:33;;:9;;8976:8;;8967:2;:18;8953:33;:13;:33;:::i;:::-;8940:10;:46;;;9009:15;;9026:10;;9002:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8544:513;;;:::o;3758:105::-;-1:-1:-1;;;;;3840:15:0;3813:7;3840:15;;;:8;:15;;;;;;;3758:105::o;848:20::-;;;-1:-1:-1;;;;;848:20:0;;:::o;1535:::-;;;;;;;;;;;;;;-1:-1:-1;;1535:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9863:373;1215:5;;-1:-1:-1;;;;;1215:5:0;1201:10;:19;1193:28;;;;;;9946:8;9936:18;;;9928:27;;;;;;9995:8;;9975:30;;:6;;9995:8;;9986:2;:18;9975:30;:10;:30;:::i;:::-;9966:39;;10040:6;10024:12;;:22;;10016:31;;;;;;;;10066:15;10075:5;;-1:-1:-1;;;;;10075:5:0;10066:15;;:8;:15;;;;;;:25;-1:-1:-1;10066:25:0;10058:34;;;;;;10118:12;;:24;;10135:6;10118:24;:16;:24;:::i;:::-;10103:12;:39;10171:15;10180:5;;-1:-1:-1;;;;;10180:5:0;10171:15;;:8;:15;;;;;;:27;;10191:6;10171:27;:19;:27;:::i;:::-;10153:15;10162:5;;-1:-1:-1;;;;;10162:5:0;10153:15;;:8;:15;;;;;;;;;:45;;;;10214:14;;;;;;;;;;;;;;;;;;9863:373;:::o;4039:1353::-;4177:8;;4110:6;1399:8;1380;:27;;1373:35;;;;4188:39;4222:4;4189:27;4200:15;;4189:6;:10;;:27;;;;:::i;4188:39::-;4177:50;;4248:10;;4242:3;:16;4238:65;;;4281:10;;4275:16;;4238:65;4323:10;;4317:3;:16;4313:65;;;4356:10;;4350:16;;4313:65;-1:-1:-1;;;;;4442:10:0;;;;4433:20;;;;;;-1:-1:-1;;;;;4511:17:0;;;;4503:26;;;;;;4598:1;4589:10;;4580:20;;;;;;4673:10;4664:20;;;;:8;:20;;;;;;:30;-1:-1:-1;4664:30:0;4655:40;;;;;;-1:-1:-1;;;;;4776:13:0;;;;;;:8;:13;;;;;;4747:25;4776:13;4765:6;4747:25;:17;:25;:::i;:::-;:42;;4738:52;;;;;;4872:15;:6;4883:3;4872:15;:10;:15;:::i;:::-;4967:10;4958:20;;;;:8;:20;;;;;;4854:33;;-1:-1:-1;4958:32:0;;4983:6;4958:32;:24;:32;:::i;:::-;4944:10;4935:20;;;;:8;:20;;;;;;:55;;;;-1:-1:-1;;;;;5059:13:0;;;;;;:29;;5077:10;5059:29;:17;:29;:::i;:::-;-1:-1:-1;;;;;5043:13:0;;;;;;:8;:13;;;;;:45;;;;5140:7;;5136:134;;;5182:15;5191:5;;-1:-1:-1;;;;;5191:5:0;5182:15;;:8;:15;;;;;;:24;;5202:3;5182:24;:19;:24;:::i;:::-;5164:15;5173:5;;-1:-1:-1;;;;;5173:5:0;;;5164:15;;:8;:15;;;;;;;;:42;;;;5247:5;;5226:32;;;;;;;5247:5;;;5235:10;;-1:-1:-1;;;;;;;;;;;5226:32:0;;;;;;;;5136:134;5351:33;;;;;;;;-1:-1:-1;;;;;5351:33:0;;;5360:10;;-1:-1:-1;;;;;;;;;;;5351:33:0;;;;;;;;4039:1353;;;;;:::o;9218:409::-;1215:5;;-1:-1:-1;;;;;1215:5:0;1201:10;:19;1193:28;;;;;;9301:8;9291:18;;;9283:27;;;;;;9350:8;;9330:30;;:6;;9350:8;;9341:2;:18;9330:30;:10;:30;:::i;:::-;9406:12;;9321:39;;-1:-1:-1;9379:24:0;9406:12;9321:39;9379:24;:16;:24;:::i;:::-;:39;9371:48;;;;;;9468:15;9477:5;;-1:-1:-1;;;;;9477:5:0;9468:15;;:8;:15;;;;;;9438:27;9468:15;9458:6;9438:27;:19;:27;:::i;:::-;:45;9430:54;;;;;;9513:15;9522:5;;-1:-1:-1;;;;;9522:5:0;9513:15;;:8;:15;;;;;;:27;;9533:6;9513:27;:19;:27;:::i;:::-;9495:15;9504:5;;-1:-1:-1;;;;;9504:5:0;9495:15;;:8;:15;;;;;:45;9566:12;;:24;;9583:6;9566:24;:16;:24;:::i;:::-;9551:12;:39;9606:13;;;;;;;;;;;;;;;;;9218:409;:::o;10317:124::-;1215:5;;-1:-1:-1;;;;;1215:5:0;1201:10;:19;1193:28;;;;;;10383:10;-1:-1:-1;;;;;10383:19:0;;;10375:28;;;;;;10427:5;-1:-1:-1;;;;;10414:19:0;;8273:139;-1:-1:-1;;;;;8380:14:0;;;8346;8380;;;:7;:14;;;;;;;;:24;;;;;;;;;;;;;8273:139::o;1624:31::-;;;;:::o;99:208::-;157:7;;181:6;;177:47;;;211:1;204:8;;;;177:47;-1:-1:-1;246:5:0;;;250:1;246;:5;269;;;;;;;;:10;262:18;;;;298:1;99:208;-1:-1:-1;;;99:208:0:o;315:::-;373:7;393:9;409:1;405;:5;;;;;;;;;315:208;-1:-1:-1;;;;315:208:0:o;662:153::-;720:7;752:5;;;775:4;;;;;;:12;;;786:1;783;:4;;775:12;768:20;;;;;531:123;589:7;616:6;;;;609:14;;;;-1:-1:-1;641:5:0;;;531:123::o

Swarm Source

bzzr://d7defe2755acb0934ee4cd2869a2083e2406720d64f0a5e899a0c4838fbfc098

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.