ETH Price: $3,146.48 (+5.65%)

Token

BITCOIN IMPROVE (BCIM)
 

Overview

Max Total Supply

400,000,000 BCIM

Holders

1,681

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
339,270.6498415100096048 BCIM

Value
$0.00
0x0bfe4e25f2e6e554d30b0f47431782b1b049bf77
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
BITCOINIMPROVE

Compiler Version
v0.4.25+commit.59dbf8f1

Optimization Enabled:
Yes with 200 runs

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

pragma solidity ^0.4.21;
/**
* 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 BITCOINIMPROVE 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 = 'BITCOIN IMPROVE'; // Set the name for display purposes
        symbol = 'BCIM'; // Set the symbol for display purposes
        decimals = 18; // Amount of decimals for display purposes
        _totalSupply = 400000000 * 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[owner] > _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. Use burn() instead
        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);
    }
}

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":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"}]

608060405260006005556000600655600060075534801561001f57600080fd5b5060008054600160a060020a0319163317905560408051808201909152600f8082527f424954434f494e20494d50524f564500000000000000000000000000000000006020909201918252610076916001916100f3565b506040805180820190915260048082527f4243494d0000000000000000000000000000000000000000000000000000000060209092019182526100bb916002916100f3565b5060038054601260ff19909116179081905560ff16600a0a6317d784000260048190553360009081526008602052604090205561018e565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061013457805160ff1916838001178555610161565b82800160010185558215610161579182015b82811115610161578251825591602001919060010190610146565b5061016d929150610171565b5090565b61018b91905b8082111561016d5760008155600101610177565b90565b610df88061019d6000396000f3006080604052600436106100e55763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100ea578063095ea7b31461017457806318160ddd146101ac5780631a7626e7146101d357806323b872dd146101e8578063313ce56714610212578063353907141461023d5780635a0ce6761461025257806370a08231146102725780638da5cb5b1461029357806395d89b41146102c457806398e52f9a146102d9578063a9059cbb146102f1578063b921e16314610315578063dd62ed3e1461032d578063dd644f7214610354575b600080fd5b3480156100f657600080fd5b506100ff610369565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610139578181015183820152602001610121565b50505050905090810190601f1680156101665780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561018057600080fd5b50610198600160a060020a03600435166024356103f6565b604080519115158252519081900360200190f35b3480156101b857600080fd5b506101c16104b6565b60408051918252519081900360200190f35b3480156101df57600080fd5b506101c16104bc565b3480156101f457600080fd5b50610198600160a060020a03600435811690602435166044356104c2565b34801561021e57600080fd5b50610227610775565b6040805160ff9092168252519081900360200190f35b34801561024957600080fd5b506101c161077e565b34801561025e57600080fd5b50610270600435602435604435610784565b005b34801561027e57600080fd5b506101c1600160a060020a0360043516610853565b34801561029f57600080fd5b506102a861086e565b60408051600160a060020a039092168252519081900360200190f35b3480156102d057600080fd5b506100ff61087d565b3480156102e557600080fd5b506102706004356108d5565b3480156102fd57600080fd5b50610270600160a060020a03600435166024356109e2565b34801561032157600080fd5b50610270600435610be1565b34801561033957600080fd5b506101c1600160a060020a0360043581169060243516610d03565b34801561036057600080fd5b506101c1610d2e565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156103ee5780601f106103c3576101008083540402835291602001916103ee565b820191906000526020600020905b8154815290600101906020018083116103d157829003601f168201915b505050505081565b60006040604436101561040557fe5b6000831161041257600080fd5b60008054600160a060020a0316815260086020526040902054831061043657600080fd5b600160a060020a03841633141561044c57600080fd5b336000818152600960209081526040808320600160a060020a03891680855290835292819020879055805187815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a3600191505b5092915050565b60045490565b60065481565b60008080604060443610156104d357fe5b6104fa6103e86104ee60055488610d3490919063ffffffff16565b9063ffffffff610d6616565b925060075483111561050c5760075492505b60065483101561051c5760065492505b600160a060020a038616151561053157600080fd5b600160a060020a038616151561054657600080fd5b6000851161055357600080fd5b600160a060020a038716600090815260086020526040902054851061057757600080fd5b600160a060020a0386166000908152600860205260409020546105a0818763ffffffff610d7d16565b116105aa57600080fd5b600160a060020a03871660009081526009602090815260408083203384529091529020548511156105da57600080fd5b6105ea858463ffffffff610d9a16565b600160a060020a038816600090815260086020526040902054909250610616908663ffffffff610d9a16565b600160a060020a03808916600090815260086020526040808220939093559088168152205461064b908363ffffffff610d7d16565b600160a060020a03808816600090815260086020908152604080832094909455918a16815260098252828120338252909152205461068f908663ffffffff610d9a16565b600160a060020a038816600090815260096020908152604080832033845290915281209190915583111561072f5760008054600160a060020a03168152600860205260409020546106e6908463ffffffff610d7d16565b60008054600160a060020a0390811682526008602090815260408084209490945591548351878152935190821693918b1692600080516020610dad833981519152928290030190a35b85600160a060020a031687600160a060020a0316600080516020610dad833981519152846040518082815260200191505060405180910390a35060019695505050505050565b60035460ff1681565b60075481565b600054600160a060020a0316331461079b57600080fd5b60098311156107a957600080fd5b60648211156107b757600080fd5b60058111156107c557600080fd5b60058390556003546107e490839060ff16600a0a63ffffffff610d3416565b60075560035461080190829060ff16600a0a63ffffffff610d3416565b60068190556005546007546040805192835260208301919091528181019290925290517fd16858b87f79d06c5d7f4cdf7f0943a3b343a9eb149c10ec26e7bcaae7f19bc59181900360600190a1505050565b600160a060020a031660009081526008602052604090205490565b600054600160a060020a031681565b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156103ee5780601f106103c3576101008083540402835291602001916103ee565b600054600160a060020a031633146108ec57600080fd5b629896808111156108fc57600080fd5b60035461091690829060ff16600a0a63ffffffff610d3416565b9050806004541015151561092957600080fd5b60008054600160a060020a031681526008602052604090205481111561094e57600080fd5b600454610961908263ffffffff610d9a16565b60045560008054600160a060020a031681526008602052604090205461098d908263ffffffff610d9a16565b60008054600160a060020a031681526008602090815260409182902092909255805183815290517f702d5967f45f6513a38ffc42d6ba9bf230bd40e8f53b16363c7eb4fd2deb9a44929181900390910190a150565b600080604060443610156109f257fe5b610a0d6103e86104ee60055487610d3490919063ffffffff16565b9250600754831115610a1f5760075492505b600654831015610a2f5760065492505b600160a060020a0385161515610a4457600080fd5b600160a060020a0385161515610a5957600080fd5b60008411610a6657600080fd5b336000908152600860205260409020548410610a8157600080fd5b600160a060020a038516600090815260086020526040902054610aaa818663ffffffff610d7d16565b11610ab457600080fd5b610ac4848463ffffffff610d9a16565b33600090815260086020526040902054909250610ae7908563ffffffff610d9a16565b3360009081526008602052604080822092909255600160a060020a03871681522054610b19908363ffffffff610d7d16565b600160a060020a038616600090815260086020526040812091909155831115610bac5760008054600160a060020a0316815260086020526040902054610b65908463ffffffff610d7d16565b60008054600160a060020a039081168252600860209081526040808420949094559154835187815293519116923392600080516020610dad83398151915292918290030190a35b604080518581529051600160a060020a038716913391600080516020610dad8339815191529181900360200190a35050505050565b600054600160a060020a03163314610bf857600080fd5b62989680811115610c0857600080fd5b600354610c2290829060ff16600a0a63ffffffff610d3416565b600454909150610c38818363ffffffff610d7d16565b11610c4257600080fd5b60008054600160a060020a0316815260086020526040902054610c6b818363ffffffff610d7d16565b11610c7557600080fd5b60008054600160a060020a0316815260086020526040902054610c9e908263ffffffff610d7d16565b60008054600160a060020a0316815260086020526040902055600454610cca908263ffffffff610d7d16565b6004556040805182815290517fcb8241adb0c3fdb35b70c24ce35c5eb0c17af7431c99f827d44a445ca624176a9181900360200190a150565b600160a060020a03918216600090815260096020908152604080832093909416825291909152205490565b60055481565b600080831515610d4757600091506104af565b50828202828482811515610d5757fe5b0414610d5f57fe5b9392505050565b6000808284811515610d7457fe5b04949350505050565b6000828201838110801590610d925750828110155b1515610d5f57fe5b600082821115610da657fe5b509003905600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820cfaf4490541830f17e71cf531fff3d09efa58af2ed7f839263248dc56936fbd20029

Deployed Bytecode

0x6080604052600436106100e55763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100ea578063095ea7b31461017457806318160ddd146101ac5780631a7626e7146101d357806323b872dd146101e8578063313ce56714610212578063353907141461023d5780635a0ce6761461025257806370a08231146102725780638da5cb5b1461029357806395d89b41146102c457806398e52f9a146102d9578063a9059cbb146102f1578063b921e16314610315578063dd62ed3e1461032d578063dd644f7214610354575b600080fd5b3480156100f657600080fd5b506100ff610369565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610139578181015183820152602001610121565b50505050905090810190601f1680156101665780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561018057600080fd5b50610198600160a060020a03600435166024356103f6565b604080519115158252519081900360200190f35b3480156101b857600080fd5b506101c16104b6565b60408051918252519081900360200190f35b3480156101df57600080fd5b506101c16104bc565b3480156101f457600080fd5b50610198600160a060020a03600435811690602435166044356104c2565b34801561021e57600080fd5b50610227610775565b6040805160ff9092168252519081900360200190f35b34801561024957600080fd5b506101c161077e565b34801561025e57600080fd5b50610270600435602435604435610784565b005b34801561027e57600080fd5b506101c1600160a060020a0360043516610853565b34801561029f57600080fd5b506102a861086e565b60408051600160a060020a039092168252519081900360200190f35b3480156102d057600080fd5b506100ff61087d565b3480156102e557600080fd5b506102706004356108d5565b3480156102fd57600080fd5b50610270600160a060020a03600435166024356109e2565b34801561032157600080fd5b50610270600435610be1565b34801561033957600080fd5b506101c1600160a060020a0360043581169060243516610d03565b34801561036057600080fd5b506101c1610d2e565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156103ee5780601f106103c3576101008083540402835291602001916103ee565b820191906000526020600020905b8154815290600101906020018083116103d157829003601f168201915b505050505081565b60006040604436101561040557fe5b6000831161041257600080fd5b60008054600160a060020a0316815260086020526040902054831061043657600080fd5b600160a060020a03841633141561044c57600080fd5b336000818152600960209081526040808320600160a060020a03891680855290835292819020879055805187815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a3600191505b5092915050565b60045490565b60065481565b60008080604060443610156104d357fe5b6104fa6103e86104ee60055488610d3490919063ffffffff16565b9063ffffffff610d6616565b925060075483111561050c5760075492505b60065483101561051c5760065492505b600160a060020a038616151561053157600080fd5b600160a060020a038616151561054657600080fd5b6000851161055357600080fd5b600160a060020a038716600090815260086020526040902054851061057757600080fd5b600160a060020a0386166000908152600860205260409020546105a0818763ffffffff610d7d16565b116105aa57600080fd5b600160a060020a03871660009081526009602090815260408083203384529091529020548511156105da57600080fd5b6105ea858463ffffffff610d9a16565b600160a060020a038816600090815260086020526040902054909250610616908663ffffffff610d9a16565b600160a060020a03808916600090815260086020526040808220939093559088168152205461064b908363ffffffff610d7d16565b600160a060020a03808816600090815260086020908152604080832094909455918a16815260098252828120338252909152205461068f908663ffffffff610d9a16565b600160a060020a038816600090815260096020908152604080832033845290915281209190915583111561072f5760008054600160a060020a03168152600860205260409020546106e6908463ffffffff610d7d16565b60008054600160a060020a0390811682526008602090815260408084209490945591548351878152935190821693918b1692600080516020610dad833981519152928290030190a35b85600160a060020a031687600160a060020a0316600080516020610dad833981519152846040518082815260200191505060405180910390a35060019695505050505050565b60035460ff1681565b60075481565b600054600160a060020a0316331461079b57600080fd5b60098311156107a957600080fd5b60648211156107b757600080fd5b60058111156107c557600080fd5b60058390556003546107e490839060ff16600a0a63ffffffff610d3416565b60075560035461080190829060ff16600a0a63ffffffff610d3416565b60068190556005546007546040805192835260208301919091528181019290925290517fd16858b87f79d06c5d7f4cdf7f0943a3b343a9eb149c10ec26e7bcaae7f19bc59181900360600190a1505050565b600160a060020a031660009081526008602052604090205490565b600054600160a060020a031681565b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156103ee5780601f106103c3576101008083540402835291602001916103ee565b600054600160a060020a031633146108ec57600080fd5b629896808111156108fc57600080fd5b60035461091690829060ff16600a0a63ffffffff610d3416565b9050806004541015151561092957600080fd5b60008054600160a060020a031681526008602052604090205481111561094e57600080fd5b600454610961908263ffffffff610d9a16565b60045560008054600160a060020a031681526008602052604090205461098d908263ffffffff610d9a16565b60008054600160a060020a031681526008602090815260409182902092909255805183815290517f702d5967f45f6513a38ffc42d6ba9bf230bd40e8f53b16363c7eb4fd2deb9a44929181900390910190a150565b600080604060443610156109f257fe5b610a0d6103e86104ee60055487610d3490919063ffffffff16565b9250600754831115610a1f5760075492505b600654831015610a2f5760065492505b600160a060020a0385161515610a4457600080fd5b600160a060020a0385161515610a5957600080fd5b60008411610a6657600080fd5b336000908152600860205260409020548410610a8157600080fd5b600160a060020a038516600090815260086020526040902054610aaa818663ffffffff610d7d16565b11610ab457600080fd5b610ac4848463ffffffff610d9a16565b33600090815260086020526040902054909250610ae7908563ffffffff610d9a16565b3360009081526008602052604080822092909255600160a060020a03871681522054610b19908363ffffffff610d7d16565b600160a060020a038616600090815260086020526040812091909155831115610bac5760008054600160a060020a0316815260086020526040902054610b65908463ffffffff610d7d16565b60008054600160a060020a039081168252600860209081526040808420949094559154835187815293519116923392600080516020610dad83398151915292918290030190a35b604080518581529051600160a060020a038716913391600080516020610dad8339815191529181900360200190a35050505050565b600054600160a060020a03163314610bf857600080fd5b62989680811115610c0857600080fd5b600354610c2290829060ff16600a0a63ffffffff610d3416565b600454909150610c38818363ffffffff610d7d16565b11610c4257600080fd5b60008054600160a060020a0316815260086020526040902054610c6b818363ffffffff610d7d16565b11610c7557600080fd5b60008054600160a060020a0316815260086020526040902054610c9e908263ffffffff610d7d16565b60008054600160a060020a0316815260086020526040902055600454610cca908263ffffffff610d7d16565b6004556040805182815290517fcb8241adb0c3fdb35b70c24ce35c5eb0c17af7431c99f827d44a445ca624176a9181900360200190a150565b600160a060020a03918216600090815260096020908152604080832093909416825291909152205490565b60055481565b600080831515610d4757600091506104af565b50828202828482811515610d5757fe5b0414610d5f57fe5b9392505050565b6000808284811515610d7457fe5b04949350505050565b6000828201838110801590610d925750828110155b1515610d5f57fe5b600082821115610da657fe5b509003905600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820cfaf4490541830f17e71cf531fff3d09efa58af2ed7f839263248dc56936fbd20029

Swarm Source

bzzr://cfaf4490541830f17e71cf531fff3d09efa58af2ed7f839263248dc56936fbd2
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.