Cryo Explorer Ethereum Mainnet

Address Contract Partially Verified

Address 0xf028ADEe51533b1B47BEaa890fEb54a457f51E89
Balance 0 ETH
Nonce 1
Code Size 2711 bytes
Indexed Transactions 0
External Etherscan · Sourcify

Contract Bytecode

2711 bytes
0x606060405236156100c25763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100c7578063095ea7b31461015257806318160ddd1461018857806323b872dd146101ad5780632e0d2a00146101e9578063313ce5671461020a57806370a082311461022f5780638da5cb5b1461026057806395d89b411461028f578063a6f9dae11461031a578063a9059cbb1461033b578063dd62ed3e14610371578063f0dda65c146103a8575b600080fd5b34156100d257600080fd5b6100da6103cc565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101175780820151818401525b6020016100fe565b50505050905090810190601f1680156101445780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561015d57600080fd5b610174600160a060020a036004351660243561046a565b604051901515815260200160405180910390f35b341561019357600080fd5b61019b610506565b60405190815260200160405180910390f35b34156101b857600080fd5b610174600160a060020a036004358116906024351660443561050d565b604051901515815260200160405180910390f35b34156101f457600080fd5b610208600160a060020a0360043516610696565b005b341561021557600080fd5b61019b61071e565b60405190815260200160405180910390f35b341561023a57600080fd5b61019b600160a060020a0360043516610724565b60405190815260200160405180910390f35b341561026b57600080fd5b610273610743565b604051600160a060020a03909116815260200160405180910390f35b341561029a57600080fd5b6100da610752565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101175780820151818401525b6020016100fe565b50505050905090810190601f1680156101445780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561032557600080fd5b610208600160a060020a03600435166107f0565b005b341561034657600080fd5b610174600160a060020a0360043516602435610865565b604051901515815260200160405180910390f35b341561037c57600080fd5b61019b600160a060020a036004358116906024351661096e565b60405190815260200160405180910390f35b34156103b357600080fd5b610208600160a060020a036004351660243561099b565b005b60008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104625780601f1061043757610100808354040283529160200191610462565b820191906000526020600020905b81548152906001019060200180831161044557829003601f168201915b505050505081565b600030600160a060020a031683600160a060020a03161415151561048a57fe5b600160a060020a038316151561049c57fe5b600160a060020a03338116600081815260056020908152604080832094881680845294909152908190208590557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b6003545b90565b600030600160a060020a031683600160a060020a03161415151561052d57fe5b600160a060020a038316151561053f57fe5b600160a060020a0384166000908152600460205260409020548290101561056257fe5b600160a060020a03808516600090815260056020908152604080832033909416835292905220548290101561059357fe5b600160a060020a03808516600090815260056020908152604080832033909416835292905220546105c49083610a43565b600160a060020a0380861660008181526005602090815260408083203390951683529381528382209490945590815260049092529020546106059083610a43565b600160a060020a0380861660009081526004602052604080822093909355908516815220546106349083610a57565b600160a060020a03808516600081815260046020526040908190209390935591908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35060015b9392505050565b60075433600160a060020a039081169116146106ae57fe5b600654600160a060020a0316156106c157fe5b600160a060020a03811615156106d357fe5b30600160a060020a031681600160a060020a0316141515156106f157fe5b6006805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b60025481565b600160a060020a0381166000908152600460205260409020545b919050565b600754600160a060020a031681565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104625780601f1061043757610100808354040283529160200191610462565b820191906000526020600020905b81548152906001019060200180831161044557829003601f168201915b505050505081565b60075433600160a060020a0390811691161461080857fe5b600160a060020a038116151561081a57fe5b30600160a060020a031681600160a060020a03161415151561083857fe5b6007805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b600030600160a060020a031683600160a060020a03161415151561088557fe5b600160a060020a038316151561089757fe5b600160a060020a033316600090815260046020526040902054829010156108ba57fe5b600160a060020a0333166000908152600460205260409020546108dd9083610a43565b600160a060020a03338116600090815260046020526040808220939093559085168152205461090c9083610a57565b600160a060020a0380851660008181526004602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35060015b92915050565b600160a060020a038083166000908152600560209081526040808320938516835292905220545b92915050565b60065433600160a060020a039081169116146109b357fe5b600160a060020a0382166000908152600460205260409020546109d69082610a57565b600160a060020a0383166000908152600460205260409020556003546109fc9082610a57565b600355600160a060020a03821660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405190815260200160405180910390a35b5050565b8082038281111561050057fe5b5b92915050565b8082018281101561050057fe5b5b929150505600a165627a7a723058203e9b58d4259f6bc6143e50a7f58895d121ef22db284f6286d900c1bc65ec31b40029

Verified Source Code Partial Match

Compiler: v0.4.16+commit.d7661dd9 Optimization: Yes (200 runs)
BMToken.sol 109 lines
pragma solidity ^0.4.16;

contract BMToken {
    string  public  name = "BMChain Token";
    string  public  symbol = "BMT";
    uint256  public  decimals = 18;

    uint256 _supply = 0;
    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) _approvals;

    event Transfer( address indexed from, address indexed to, uint value);
    event Approval( address indexed owner, address indexed spender, uint value);

    address ico_contract;
    address public owner;

    function BMToken(){
        ico_contract = address(0x0);
        owner = msg.sender;
    }

    modifier isOwner()
    {
        assert(msg.sender == owner);
        _;
    }

    function changeOwner(address new_owner) isOwner
    {
        assert(new_owner!=address(0x0));
        assert(new_owner!=address(this));
        owner = new_owner;
    }

    function setICOContract(address new_address) isOwner
    {
        assert(ico_contract==address(0x0));
        assert(new_address!=address(0x0));
        assert(new_address!=address(this));
        ico_contract = new_address;
    }

    function add(uint256 x, uint256 y) constant internal returns (uint256 z) {
        assert((z = x + y) >= x);
    }

    function sub(uint256 x, uint256 y) constant internal returns (uint256 z) {
        assert((z = x - y) <= x);
    }

    function totalSupply() constant external returns (uint256) {
        return _supply;
    }

    function balanceOf(address src) constant external returns (uint256) {
        return _balances[src];
    }

    function allowance(address src, address where) constant external returns (uint256) {
        return _approvals[src][where];
    }

    function transfer(address where, uint amount) external returns (bool) {
        assert(where != address(this));
        assert(where != address(0));
        assert(_balances[msg.sender] >= amount);

        _balances[msg.sender] = sub(_balances[msg.sender], amount);
        _balances[where] = add(_balances[where], amount);

        Transfer(msg.sender, where, amount);

        return true;
    }

    function transferFrom(address src, address where, uint amount) external returns (bool) {
        assert(where != address(this));
        assert(where != address(0));
        assert(_balances[src] >= amount);
        assert(_approvals[src][msg.sender] >= amount);

        _approvals[src][msg.sender] = sub(_approvals[src][msg.sender], amount);
        _balances[src] = sub(_balances[src], amount);
        _balances[where] = add(_balances[where], amount);

        Transfer(src, where, amount);

        return true;
    }

    function approve(address where, uint256 amount) external returns (bool) {
        assert(where != address(this));
        assert(where != address(0));
        _approvals[msg.sender][where] = amount;

        Approval(msg.sender, where, amount);

        return true;
    }

    function mintTokens(address holder, uint256 amount) external
    {
        assert(msg.sender == ico_contract);
        _balances[holder] = add(_balances[holder], amount);
        _supply = add(_supply, amount);
        Transfer(address(0x0), holder, amount);
    }
}

Read Contract

allowance 0xdd62ed3e → uint256
balanceOf 0x70a08231 → uint256
decimals 0x313ce567 → uint256
name 0x06fdde03 → string
owner 0x8da5cb5b → address
symbol 0x95d89b41 → string
totalSupply 0x18160ddd → uint256

Write Contract 6 functions

These functions modify contract state and require a wallet transaction to execute.

approve 0x095ea7b3
address where
uint256 amount
returns: bool
changeOwner 0xa6f9dae1
address new_owner
mintTokens 0xf0dda65c
address holder
uint256 amount
setICOContract 0x2e0d2a00
address new_address
transfer 0xa9059cbb
address where
uint256 amount
returns: bool
transferFrom 0x23b872dd
address src
address where
uint256 amount
returns: bool

Recent Transactions

No transactions found for this address