ETH Price: $1,999.17 (+0.53%)

Token

Bit diamond (IGSBC)
 

Overview

Max Total Supply

5,000,000,000 IGSBC

Holders

3

Transfers

-
0 (0%)

Market

Onchain Market Cap

-

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 8 Decimals)

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:
IGSBCToken

Compiler Version
v0.4.21+commit.dfe3193c

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2019-03-08
*/

pragma solidity ^0.4.21;

contract Token {

    /// @return total amount of tokens
    function totalSupply() public constant returns (uint supply);

    /// @param _owner The address from which the balance will be retrieved
    /// @return The balance
    function balanceOf(address _owner) public constant returns (uint balance);

    /// @notice send `_value` token to `_to` from `msg.sender`
    /// @param _to The address of the recipient
    /// @param _value The amount of token to be transferred
    /// @return Whether the transfer was successful or not
    function transfer(address _to, uint _value) public returns (bool success);

    /// @notice send `_value` token to `_to` from `_from` on the condition it is approved by `_from`
    /// @param _from The address of the sender
    /// @param _to The address of the recipient
    /// @param _value The amount of token to be transferred
    /// @return Whether the transfer was successful or not
    function transferFrom(address _from, address _to, uint _value) public returns (bool success);

    /// @notice `msg.sender` approves `_addr` to spend `_value` tokens
    /// @param _spender The address of the account able to transfer the tokens
    /// @param _value The amount of wei to be approved for transfer
    /// @return Whether the approval was successful or not
    function approve(address _spender, uint _value) public returns (bool success);

    /// @param _owner The address of the account owning tokens
    /// @param _spender The address of the account able to transfer the tokens
    /// @return Amount of remaining tokens allowed to spent
    function allowance(address _owner, address _spender) public constant returns (uint remaining);

    event Transfer(address indexed _from, address indexed _to, uint _value);
    event Approval(address indexed _owner, address indexed _spender, uint _value);
}

contract RegularToken is Token {

    function transfer(address _to, uint _value) public returns (bool) {
        //Default assumes totalSupply can't be over max (2^256 - 1).
        if (balances[msg.sender] >= _value && balances[_to] + _value >= balances[_to]) {
            balances[msg.sender] -= _value;
            balances[_to] += _value;
            emit Transfer(msg.sender, _to, _value);
            return true;
        } else { return false; }
    }

    function transferFrom(address _from, address _to, uint _value) public returns (bool) {
        if (balances[_from] >= _value && allowed[_from][msg.sender] >= _value && balances[_to] + _value >= balances[_to]) {
            balances[_to] += _value;
            balances[_from] -= _value;
            allowed[_from][msg.sender] -= _value;
            emit Transfer(_from, _to, _value);
            return true;
        } else { return false; }
    }

    function balanceOf(address _owner) public constant returns (uint)  {
        return balances[_owner];
    }

    function approve(address _spender, uint _value) public returns (bool) {
		allowed[msg.sender][_spender] = _value;
		emit Approval(msg.sender, _spender, _value);
    }

    function allowance(address _owner, address _spender) public constant returns (uint) {
        return allowed[_owner][_spender];
    }
	
    mapping (address => uint) balances;
    mapping (address => mapping (address => uint)) allowed;
    uint public totalSupply;
}

contract UnboundedRegularToken is RegularToken {

    uint constant MAX_UINT = 2**256 - 1;
    
    /// @dev ERC20 transferFrom, modified such that an allowance of MAX_UINT represents an unlimited amount.
    /// @param _from Address to transfer from.
    /// @param _to Address to transfer to.
    /// @param _value Amount to transfer.
    /// @return Success of transfer.
    function transferFrom(address _from, address _to, uint _value)
        public returns (bool)
    {
        uint allowance = allowed[_from][msg.sender];
        if (balances[_from] >= _value
            && allowance >= _value
            && balances[_to] + _value >= balances[_to]
        ) {
            balances[_to] += _value;
            balances[_from] -= _value;
            if (allowance < MAX_UINT) {
                allowed[_from][msg.sender] -= _value;
            }
            emit Transfer(_from, _to, _value);
            return true;
        } else {
            return false;
        }
    }
}

contract ApprovalReceiver {
    function receiveApproval(address _from, uint _value, address _tokenContract, bytes _extraData) public;
}
contract TransferReceiver {
    function receiveTransfer(address _from, uint _value, address _tokenContract, bytes _extraData) public;
}

contract IGSBCToken is UnboundedRegularToken {

    uint public totalSupply = 50*10**16;
    uint8 constant public decimals = 8;
    string constant public name = "Bit diamond";
    string constant public symbol = "IGSBC";
	address public owner;
	mapping (address => uint) public freezes;

	/* This notifies clients about the amount burnt */
    event Burn(address indexed from, uint value);
	
	/* This notifies clients about the amount frozen */
    event Freeze(address indexed from, uint value);
	
	/* This notifies clients about the amount unfrozen */
    event Unfreeze(address indexed from, uint value);
	
    function IGSBCToken() public {
        balances[msg.sender] = totalSupply;
		owner = msg.sender;
        emit Transfer(address(0), msg.sender, totalSupply);
    }
	
	function totalSupply() public constant returns (uint){
		return totalSupply;
	}
    
    function burn(uint _value) public returns (bool success) {
		if (balances[msg.sender] >= _value && totalSupply - _value <= totalSupply){
			balances[msg.sender] -= _value; 								// Subtract from the sender
            totalSupply -= _value;
			emit Burn(msg.sender, _value);
			return true;
		}else {
            return false;
        }    
    }
	
	function freeze(uint _value) public returns (bool success) {
		if (balances[msg.sender] >= _value &&
		freezes[msg.sender] + _value >= freezes[msg.sender]){
			balances[msg.sender] -= _value;   				// Subtract from the sender
			freezes[msg.sender] += _value;            		// Updates totalSupply
			emit Freeze(msg.sender, _value);
			return true;
		}else {
            return false;
        }  
    }
	
	function unfreeze(uint _value) public returns (bool success) {
        if (freezes[msg.sender] >= _value &&
		balances[msg.sender] + _value >= balances[msg.sender]){
			freezes[msg.sender] -= _value;
			balances[msg.sender] += _value;
			emit Unfreeze(msg.sender, _value);
			return true;
		}else {
            return false;
        } 
    }
	
	function transferAndCall(address _to, uint _value, bytes _extraData) public returns (bool success) {
		if(transfer(_to,_value)){
			TransferReceiver(_to).receiveTransfer(msg.sender, _value, this, _extraData); 
			return true; 
		}
		else {
            return false;
        } 
    }
	
	function approveAndCall(address _spender, uint _value, bytes _extraData) public returns (bool success) {
		if(approve(_spender,_value)){
			ApprovalReceiver(_spender).receiveApproval(msg.sender, _value, this, _extraData) ;
			return true; 
		}
		else {
            return false;
        }  
    }
	
	// transfer balance to owner
	function withdrawEther(uint amount) public {
		if(msg.sender == owner){
			owner.transfer(amount);
		}
	}
	
	// can accept ether
	function() public payable {
    }
}

Contract Security Audit

Contract ABI

API
[{"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":true,"inputs":[{"name":"","type":"address"}],"name":"freezes","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","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":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"withdrawEther","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"},{"name":"_extraData","type":"bytes"}],"name":"transferAndCall","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"burn","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"unfreeze","outputs":[{"name":"success","type":"bool"}],"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":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"},{"name":"_extraData","type":"bytes"}],"name":"approveAndCall","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"freeze","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Freeze","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Unfreeze","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"},{"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"}]

60606040526706f05b59d3b20000600355341561001b57600080fd5b600354600160a060020a03331660008181526020819052604080822084905560048054600160a060020a03191684179055919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91905190815260200160405180910390a3610b71806100916000396000f3006060604052600436106100d75763ffffffff60e060020a60003504166306fdde0381146100d9578063095ea7b314610163578063120426821461019957806318160ddd146101ca57806323b872dd146101dd578063313ce567146102055780633bed33ce1461022e5780634000aea01461024457806342966c68146102a95780636623fc46146102bf57806370a08231146102d55780638da5cb5b146102f457806395d89b4114610323578063a9059cbb14610336578063cae9ca5114610358578063d7a78db8146103bd578063dd62ed3e146103d3575b005b34156100e457600080fd5b6100ec6103f8565b60405160208082528190810183818151815260200191508051906020019080838360005b83811015610128578082015183820152602001610110565b50505050905090810190601f1680156101555780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561016e57600080fd5b610185600160a060020a036004351660243561042f565b604051901515815260200160405180910390f35b34156101a457600080fd5b6101b8600160a060020a0360043516610498565b60405190815260200160405180910390f35b34156101d557600080fd5b6101b86104aa565b34156101e857600080fd5b610185600160a060020a03600435811690602435166044356104b0565b341561021057600080fd5b6102186105e0565b60405160ff909116815260200160405180910390f35b341561023957600080fd5b6100d76004356105e5565b341561024f57600080fd5b61018560048035600160a060020a03169060248035919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965061063295505050505050565b34156102b457600080fd5b61018560043561074d565b34156102ca57600080fd5b6101856004356107ed565b34156102e057600080fd5b6101b8600160a060020a03600435166108a0565b34156102ff57600080fd5b6103076108bb565b604051600160a060020a03909116815260200160405180910390f35b341561032e57600080fd5b6100ec6108ca565b341561034157600080fd5b610185600160a060020a0360043516602435610901565b341561036357600080fd5b61018560048035600160a060020a03169060248035919060649060443590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496506109c095505050505050565b34156103c857600080fd5b610185600435610a68565b34156103de57600080fd5b6101b8600160a060020a0360043581169060243516610b1a565b60408051908101604052600b81527f426974206469616d6f6e64000000000000000000000000000000000000000000602082015281565b600160a060020a03338116600081815260016020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a392915050565b60056020526000908152604090205481565b60035490565b600160a060020a03808416600081815260016020908152604080832033909516835293815283822054928252819052918220548390108015906104f35750828110155b80156105195750600160a060020a03841660009081526020819052604090205483810110155b156105d357600160a060020a038085166000908152602081905260408082208054870190559187168152208054849003905560001981101561058357600160a060020a03808616600090815260016020908152604080832033909416835292905220805484900390555b83600160a060020a031685600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405190815260200160405180910390a3600191506105d8565b600091505b509392505050565b600881565b60045433600160a060020a039081169116141561062f57600454600160a060020a031681156108fc0282604051600060405180830381858888f19350505050151561062f57600080fd5b50565b600061063e8484610901565b156107425783600160a060020a031663b8b7b899338530866040518563ffffffff1660e060020a0281526004018085600160a060020a0316600160a060020a0316815260200184815260200183600160a060020a0316600160a060020a0316815260200180602001828103825283818151815260200191508051906020019080838360005b838110156106db5780820151838201526020016106c3565b50505050905090810190601f1680156107085780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b151561072957600080fd5b5af1151561073657600080fd5b50505060019050610746565b5060005b9392505050565b600160a060020a03331660009081526020819052604081205482901080159061077a575060035482810311155b156107e457600160a060020a03331660008181526020819052604090819020805485900390556003805485900390557fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca59084905190815260200160405180910390a25060016107e8565b5060005b919050565b600160a060020a0333166000908152600560205260408120548290108015906108305750600160a060020a03331660009081526020819052604090205482810110155b156107e457600160a060020a03331660008181526005602090815260408083208054879003905590829052908190208054850190557f2cfce4af01bcb9d6cf6c84ee1b7c491100b8695368264146a94d71e10a63083f9084905190815260200160405180910390a25060016107e8565b600160a060020a031660009081526020819052604090205490565b600454600160a060020a031681565b60408051908101604052600581527f4947534243000000000000000000000000000000000000000000000000000000602082015281565b600160a060020a0333166000908152602081905260408120548290108015906109445750600160a060020a03831660009081526020819052604090205482810110155b156109b657600160a060020a033381166000818152602081905260408082208054879003905592861680825290839020805486019055917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35060016109ba565b5060005b92915050565b60006109cc848461042f565b156107425783600160a060020a0316638f4ffcb1338530866040518563ffffffff1660e060020a0281526004018085600160a060020a0316600160a060020a0316815260200184815260200183600160a060020a0316600160a060020a031681526020018060200182810382528381815181526020019150805190602001908083836000838110156106db5780820151838201526020016106c3565b600160a060020a033316600090815260208190526040812054829010801590610aab5750600160a060020a03331660009081526005602052604090205482810110155b156107e457600160a060020a033316600081815260208181526040808320805487900390556005909152908190208054850190557ff97a274face0b5517365ad396b1fdba6f68bd3135ef603e44272adba3af5a1e09084905190815260200160405180910390a25060016107e8565b600160a060020a039182166000908152600160209081526040808320939094168252919091522054905600a165627a7a72305820d8e9df5f01b7c262b871b7defae1923bafea71c3b972cb5d5bc06ec58db037d00029

Deployed Bytecode

0x6060604052600436106100d75763ffffffff60e060020a60003504166306fdde0381146100d9578063095ea7b314610163578063120426821461019957806318160ddd146101ca57806323b872dd146101dd578063313ce567146102055780633bed33ce1461022e5780634000aea01461024457806342966c68146102a95780636623fc46146102bf57806370a08231146102d55780638da5cb5b146102f457806395d89b4114610323578063a9059cbb14610336578063cae9ca5114610358578063d7a78db8146103bd578063dd62ed3e146103d3575b005b34156100e457600080fd5b6100ec6103f8565b60405160208082528190810183818151815260200191508051906020019080838360005b83811015610128578082015183820152602001610110565b50505050905090810190601f1680156101555780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561016e57600080fd5b610185600160a060020a036004351660243561042f565b604051901515815260200160405180910390f35b34156101a457600080fd5b6101b8600160a060020a0360043516610498565b60405190815260200160405180910390f35b34156101d557600080fd5b6101b86104aa565b34156101e857600080fd5b610185600160a060020a03600435811690602435166044356104b0565b341561021057600080fd5b6102186105e0565b60405160ff909116815260200160405180910390f35b341561023957600080fd5b6100d76004356105e5565b341561024f57600080fd5b61018560048035600160a060020a03169060248035919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965061063295505050505050565b34156102b457600080fd5b61018560043561074d565b34156102ca57600080fd5b6101856004356107ed565b34156102e057600080fd5b6101b8600160a060020a03600435166108a0565b34156102ff57600080fd5b6103076108bb565b604051600160a060020a03909116815260200160405180910390f35b341561032e57600080fd5b6100ec6108ca565b341561034157600080fd5b610185600160a060020a0360043516602435610901565b341561036357600080fd5b61018560048035600160a060020a03169060248035919060649060443590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496506109c095505050505050565b34156103c857600080fd5b610185600435610a68565b34156103de57600080fd5b6101b8600160a060020a0360043581169060243516610b1a565b60408051908101604052600b81527f426974206469616d6f6e64000000000000000000000000000000000000000000602082015281565b600160a060020a03338116600081815260016020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a392915050565b60056020526000908152604090205481565b60035490565b600160a060020a03808416600081815260016020908152604080832033909516835293815283822054928252819052918220548390108015906104f35750828110155b80156105195750600160a060020a03841660009081526020819052604090205483810110155b156105d357600160a060020a038085166000908152602081905260408082208054870190559187168152208054849003905560001981101561058357600160a060020a03808616600090815260016020908152604080832033909416835292905220805484900390555b83600160a060020a031685600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405190815260200160405180910390a3600191506105d8565b600091505b509392505050565b600881565b60045433600160a060020a039081169116141561062f57600454600160a060020a031681156108fc0282604051600060405180830381858888f19350505050151561062f57600080fd5b50565b600061063e8484610901565b156107425783600160a060020a031663b8b7b899338530866040518563ffffffff1660e060020a0281526004018085600160a060020a0316600160a060020a0316815260200184815260200183600160a060020a0316600160a060020a0316815260200180602001828103825283818151815260200191508051906020019080838360005b838110156106db5780820151838201526020016106c3565b50505050905090810190601f1680156107085780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b151561072957600080fd5b5af1151561073657600080fd5b50505060019050610746565b5060005b9392505050565b600160a060020a03331660009081526020819052604081205482901080159061077a575060035482810311155b156107e457600160a060020a03331660008181526020819052604090819020805485900390556003805485900390557fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca59084905190815260200160405180910390a25060016107e8565b5060005b919050565b600160a060020a0333166000908152600560205260408120548290108015906108305750600160a060020a03331660009081526020819052604090205482810110155b156107e457600160a060020a03331660008181526005602090815260408083208054879003905590829052908190208054850190557f2cfce4af01bcb9d6cf6c84ee1b7c491100b8695368264146a94d71e10a63083f9084905190815260200160405180910390a25060016107e8565b600160a060020a031660009081526020819052604090205490565b600454600160a060020a031681565b60408051908101604052600581527f4947534243000000000000000000000000000000000000000000000000000000602082015281565b600160a060020a0333166000908152602081905260408120548290108015906109445750600160a060020a03831660009081526020819052604090205482810110155b156109b657600160a060020a033381166000818152602081905260408082208054879003905592861680825290839020805486019055917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35060016109ba565b5060005b92915050565b60006109cc848461042f565b156107425783600160a060020a0316638f4ffcb1338530866040518563ffffffff1660e060020a0281526004018085600160a060020a0316600160a060020a0316815260200184815260200183600160a060020a0316600160a060020a031681526020018060200182810382528381815181526020019150805190602001908083836000838110156106db5780820151838201526020016106c3565b600160a060020a033316600090815260208190526040812054829010801590610aab5750600160a060020a03331660009081526005602052604090205482810110155b156107e457600160a060020a033316600081815260208181526040808320805487900390556005909152908190208054850190557ff97a274face0b5517365ad396b1fdba6f68bd3135ef603e44272adba3af5a1e09084905190815260200160405180910390a25060016107e8565b600160a060020a039182166000908152600160209081526040808320939094168252919091522054905600a165627a7a72305820d8e9df5f01b7c262b871b7defae1923bafea71c3b972cb5d5bc06ec58db037d00029

Swarm Source

bzzr://d8e9df5f01b7c262b871b7defae1923bafea71c3b972cb5d5bc06ec58db037d0
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.