More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 311 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Transfer | 14274423 | 886 days ago | IN | 0 ETH | 0.00159253 | ||||
Transfer | 11160114 | 1368 days ago | IN | 0 ETH | 0.00069397 | ||||
Approve | 10053561 | 1539 days ago | IN | 0 ETH | 0.00043951 | ||||
Approve | 9930068 | 1558 days ago | IN | 0 ETH | 0.0001758 | ||||
Transfer | 9893303 | 1564 days ago | IN | 0 ETH | 0.00002152 | ||||
Transfer | 9861166 | 1569 days ago | IN | 0 ETH | 0.00002152 | ||||
Transfer | 9861041 | 1569 days ago | IN | 0 ETH | 0.00002152 | ||||
Transfer | 9613361 | 1607 days ago | IN | 0 ETH | 0.00004381 | ||||
Transfer | 9584098 | 1612 days ago | IN | 0 ETH | 0.00002152 | ||||
Transfer | 9580903 | 1612 days ago | IN | 0 ETH | 0.00003652 | ||||
Transfer | 9084913 | 1693 days ago | IN | 0 ETH | 0.00005257 | ||||
Transfer | 9035561 | 1702 days ago | IN | 0 ETH | 0.00003678 | ||||
Transfer | 8958539 | 1715 days ago | IN | 0 ETH | 0.00002178 | ||||
Transfer | 8924435 | 1721 days ago | IN | 0 ETH | 0.00044137 | ||||
Transfer | 8920197 | 1722 days ago | IN | 0 ETH | 0.00002178 | ||||
Transfer | 8585464 | 1775 days ago | IN | 0 ETH | 0.00104208 | ||||
Transfer | 8483544 | 1791 days ago | IN | 0 ETH | 0.00015385 | ||||
Transfer | 8415435 | 1801 days ago | IN | 0 ETH | 0.00010874 | ||||
Approve | 8311635 | 1817 days ago | IN | 0 ETH | 0.00018116 | ||||
Transfer | 8285456 | 1821 days ago | IN | 0 ETH | 0.00002831 | ||||
Transfer | 8284652 | 1822 days ago | IN | 0 ETH | 0.00002178 | ||||
Transfer | 8284026 | 1822 days ago | IN | 0 ETH | 0.00002178 | ||||
Transfer | 8211302 | 1833 days ago | IN | 0 ETH | 0.00002178 | ||||
Transfer | 8170116 | 1839 days ago | IN | 0 ETH | 0.00003678 | ||||
Transfer | 8103922 | 1850 days ago | IN | 0 ETH | 0.00014712 |
Advanced mode: Intended for advanced users or developers and will display all Internal Transactions including zero value transfers. Name tag integration is not available in advanced view.
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block | From | To | ||||
---|---|---|---|---|---|---|---|
10053561 | 1539 days ago | 0 ETH | |||||
9930068 | 1558 days ago | 0 ETH | |||||
8311635 | 1817 days ago | 0 ETH | |||||
7950506 | 1874 days ago | 0 ETH | |||||
7622571 | 1925 days ago | 0 ETH | |||||
6898947 | 2052 days ago | 0 ETH | |||||
6884430 | 2055 days ago | 0 ETH | |||||
6871240 | 2057 days ago | 0 ETH | |||||
6858774 | 2059 days ago | 0 ETH | |||||
6845879 | 2061 days ago | 0 ETH | |||||
6845879 | 2061 days ago | 0 ETH | |||||
6845879 | 2061 days ago | 0 ETH | |||||
6845879 | 2061 days ago | 0 ETH | |||||
6845879 | 2061 days ago | 0 ETH | |||||
6845879 | 2061 days ago | 0 ETH | |||||
6845879 | 2061 days ago | 0 ETH | |||||
6845879 | 2061 days ago | 0 ETH | |||||
6845879 | 2061 days ago | 0 ETH | |||||
6845879 | 2061 days ago | 0 ETH | |||||
6845879 | 2061 days ago | 0 ETH | |||||
6845879 | 2061 days ago | 0 ETH | |||||
6845879 | 2061 days ago | 0 ETH | |||||
6845879 | 2061 days ago | 0 ETH | |||||
6845879 | 2061 days ago | 0 ETH | |||||
6845879 | 2061 days ago | 0 ETH |
Loading...
Loading
Contract Name:
CuboToken
Compiler Version
v0.4.20+commit.3155dd80
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-10-12 */ pragma solidity ^0.4.16; /* * Abstract Token Smart Contract. Copyright © 2017 by ABDK Consulting. * Author: Mikhail Vladimirov <[email protected]> */ pragma solidity ^0.4.20; /* * EIP-20 Standard Token Smart Contract Interface. * Copyright © 2016–2018 by ABDK Consulting. * Author: Mikhail Vladimirov <[email protected]> */ pragma solidity ^0.4.20; /** * ERC-20 standard token interface, as defined * <a href="https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md">here</a>. */ contract Token { /** * Get total number of tokens in circulation. * * @return total number of tokens in circulation */ function totalSupply () public view returns (uint256 supply); /** * Get number of tokens currently belonging to given owner. * * @param _owner address to get number of tokens currently belonging to the * owner of * @return number of tokens currently belonging to the owner of given address */ function balanceOf (address _owner) public view returns (uint256 balance); /** * Transfer given number of tokens from message sender to given recipient. * * @param _to address to transfer tokens to the owner of * @param _value number of tokens to transfer to the owner of given address * @return true if tokens were transferred successfully, false otherwise */ function transfer (address _to, uint256 _value) public returns (bool success); /** * Transfer given number of tokens from given owner to given recipient. * * @param _from address to transfer tokens from the owner of * @param _to address to transfer tokens to the owner of * @param _value number of tokens to transfer from given owner to given * recipient * @return true if tokens were transferred successfully, false otherwise */ function transferFrom (address _from, address _to, uint256 _value) public returns (bool success); /** * Allow given spender to transfer given number of tokens from message sender. * * @param _spender address to allow the owner of to transfer tokens from * message sender * @param _value number of tokens to allow to transfer * @return true if token transfer was successfully approved, false otherwise */ function approve (address _spender, uint256 _value) public returns (bool success); /** * Tell how many tokens given spender is currently allowed to transfer from * given owner. * * @param _owner address to get number of tokens allowed to be transferred * from the owner of * @param _spender address to get number of tokens allowed to be transferred * by the owner of * @return number of tokens given spender is currently allowed to transfer * from given owner */ function allowance (address _owner, address _spender) public view returns (uint256 remaining); /** * Logged when tokens were transferred from one owner to another. * * @param _from address of the owner, tokens were transferred from * @param _to address of the owner, tokens were transferred to * @param _value number of tokens transferred */ event Transfer (address indexed _from, address indexed _to, uint256 _value); /** * Logged when owner approved his tokens to be transferred by some spender. * * @param _owner owner who approved his tokens to be transferred * @param _spender spender who were allowed to transfer the tokens belonging * to the owner * @param _value number of tokens belonging to the owner, approved to be * transferred by the spender */ event Approval ( address indexed _owner, address indexed _spender, uint256 _value); } /* * Safe Math Smart Contract. Copyright © 2016–2017 by ABDK Consulting. * Author: Mikhail Vladimirov <[email protected]> */ pragma solidity ^0.4.20; /** * Provides methods to safely add, subtract and multiply uint256 numbers. */ contract SafeMath { uint256 constant private MAX_UINT256 = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF; /** * Add two uint256 values, throw in case of overflow. * * @param x first value to add * @param y second value to add * @return x + y */ function safeAdd (uint256 x, uint256 y) pure internal returns (uint256 z) { assert (x <= MAX_UINT256 - y); return x + y; } /** * Subtract one uint256 value from another, throw in case of underflow. * * @param x value to subtract from * @param y value to subtract * @return x - y */ function safeSub (uint256 x, uint256 y) pure internal returns (uint256 z) { assert (x >= y); return x - y; } /** * Multiply two uint256 values, throw in case of overflow. * * @param x first value to multiply * @param y second value to multiply * @return x * y */ function safeMul (uint256 x, uint256 y) pure internal returns (uint256 z) { if (y == 0) return 0; // Prevent division by zero at the next line assert (x <= MAX_UINT256 / y); return x * y; } } /** * Abstract Token Smart Contract that could be used as a base contract for * ERC-20 token contracts. */ contract AbstractToken is Token, SafeMath { /** * Create new Abstract Token contract. */ function AbstractToken () public { // Do nothing } /** * Get number of tokens currently belonging to given owner. * * @param _owner address to get number of tokens currently belonging to the * owner of * @return number of tokens currently belonging to the owner of given address */ function balanceOf (address _owner) public view returns (uint256 balance) { return accounts [_owner]; } /** * Transfer given number of tokens from message sender to given recipient. * * @param _to address to transfer tokens to the owner of * @param _value number of tokens to transfer to the owner of given address * @return true if tokens were transferred successfully, false otherwise */ function transfer (address _to, uint256 _value) public returns (bool success) { uint256 fromBalance = accounts [msg.sender]; if (fromBalance < _value) return false; if (_value > 0 && msg.sender != _to) { accounts [msg.sender] = safeSub (fromBalance, _value); accounts [_to] = safeAdd (accounts [_to], _value); } Transfer (msg.sender, _to, _value); return true; } /** * Transfer given number of tokens from given owner to given recipient. * * @param _from address to transfer tokens from the owner of * @param _to address to transfer tokens to the owner of * @param _value number of tokens to transfer from given owner to given * recipient * @return true if tokens were transferred successfully, false otherwise */ function transferFrom (address _from, address _to, uint256 _value) public returns (bool success) { uint256 spenderAllowance = allowances [_from][msg.sender]; if (spenderAllowance < _value) return false; uint256 fromBalance = accounts [_from]; if (fromBalance < _value) return false; allowances [_from][msg.sender] = safeSub (spenderAllowance, _value); if (_value > 0 && _from != _to) { accounts [_from] = safeSub (fromBalance, _value); accounts [_to] = safeAdd (accounts [_to], _value); } Transfer (_from, _to, _value); return true; } /** * Allow given spender to transfer given number of tokens from message sender. * * @param _spender address to allow the owner of to transfer tokens from * message sender * @param _value number of tokens to allow to transfer * @return true if token transfer was successfully approved, false otherwise */ function approve (address _spender, uint256 _value) public returns (bool success) { allowances [msg.sender][_spender] = _value; Approval (msg.sender, _spender, _value); return true; } /** * Tell how many tokens given spender is currently allowed to transfer from * given owner. * * @param _owner address to get number of tokens allowed to be transferred * from the owner of * @param _spender address to get number of tokens allowed to be transferred * by the owner of * @return number of tokens given spender is currently allowed to transfer * from given owner */ function allowance (address _owner, address _spender) public view returns (uint256 remaining) { return allowances [_owner][_spender]; } /** * Mapping from addresses of token holders to the numbers of tokens belonging * to these token holders. */ mapping (address => uint256) internal accounts; /** * Mapping from addresses of token holders to the mapping of addresses of * spenders to the allowances set by these token holders to these spenders. */ mapping (address => mapping (address => uint256)) internal allowances; } /** * Cubomania token smart contract. */ contract CuboToken is AbstractToken { /** * Total number of tokens in circulation. */ uint256 tokenCount; /** * Create new Cubomania token smart contract, with given number of tokens issued * and given to msg.sender. * * @param _tokenCount number of tokens to issue and give to msg.sender */ function CuboToken (uint256 _tokenCount) public { tokenCount = _tokenCount; accounts [msg.sender] = _tokenCount; } /** * Get total number of tokens in circulation. * * @return total number of tokens in circulation */ function totalSupply () public view returns (uint256 supply) { return tokenCount; } /** * Get name of this token. * * @return name of this token */ function name () public pure returns (string result) { return "Cubo"; } /** * Get symbol of this token. * * @return symbol of this token */ function symbol () public pure returns (string result) { return "CUBO"; } /** * Get number of decimals for this token. * * @return number of decimals for this token */ function decimals () public pure returns (uint8 result) { return 6; } /** * Change how many tokens given spender is allowed to transfer from message * spender. In order to prevent double spending of allowance, this method * receives assumed current allowance value as an argument. If actual * allowance differs from an assumed one, this method just returns false. * * @param _spender address to allow the owner of to transfer tokens from * message sender * @param _currentValue assumed number of tokens currently allowed to be * transferred * @param _newValue number of tokens to allow to transfer * @return true if token transfer was successfully approved, false otherwise */ function approve (address _spender, uint256 _currentValue, uint256 _newValue) public returns (bool success) { if (allowance (msg.sender, _spender) == _currentValue) return approve (_spender, _newValue); else return false; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"result","type":"string"}],"payable":false,"stateMutability":"pure","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":"supply","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":"result","type":"uint8"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_currentValue","type":"uint256"},{"name":"_newValue","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"result","type":"string"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","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":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_tokenCount","type":"uint256"}],"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"}]
Contract Creation Code
6060604052341561000f57600080fd5b604051602080610701833981016040528080516002819055600160a060020a03331660009081526020819052604090205550506106b0806100516000396000f3006060604052600436106100a35763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100a8578063095ea7b31461013257806318160ddd1461016857806323b872dd1461018d578063313ce567146101b5578063426a8493146101de57806370a082311461020357806395d89b4114610222578063a9059cbb14610235578063dd62ed3e14610257575b600080fd5b34156100b357600080fd5b6100bb61027c565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156100f75780820151838201526020016100df565b50505050905090810190601f1680156101245780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561013d57600080fd5b610154600160a060020a03600435166024356102bd565b604051901515815260200160405180910390f35b341561017357600080fd5b61017b610329565b60405190815260200160405180910390f35b341561019857600080fd5b610154600160a060020a036004358116906024351660443561032f565b34156101c057600080fd5b6101c8610498565b60405160ff909116815260200160405180910390f35b34156101e957600080fd5b610154600160a060020a036004351660243560443561049d565b341561020e57600080fd5b61017b600160a060020a03600435166104cc565b341561022d57600080fd5b6100bb6104e7565b341561024057600080fd5b610154600160a060020a0360043516602435610528565b341561026257600080fd5b61017b600160a060020a036004358116906024351661061f565b610284610672565b60408051908101604052600481527f4375626f000000000000000000000000000000000000000000000000000000006020820152905090565b600160a060020a03338116600081815260016020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60025490565b600160a060020a03808416600090815260016020908152604080832033909416835292905290812054818382101561036a576000925061048f565b50600160a060020a03851660009081526020819052604090205483811015610395576000925061048f565b61039f828561064a565b600160a060020a03808816600090815260016020908152604080832033909416835292905290812091909155841180156103eb575084600160a060020a031686600160a060020a031614155b15610443576103fa818561064a565b600160a060020a038088166000908152602081905260408082209390935590871681522054610429908561065c565b600160a060020a0386166000908152602081905260409020555b84600160a060020a031686600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8660405190815260200160405180910390a3600192505b50509392505050565b600690565b6000826104aa338661061f565b14156104c1576104ba84836102bd565b90506104c5565b5060005b9392505050565b600160a060020a031660009081526020819052604090205490565b6104ef610672565b60408051908101604052600481527f4355424f000000000000000000000000000000000000000000000000000000006020820152905090565b600160a060020a033316600090815260208190526040812054828110156105525760009150610618565b600083118015610574575083600160a060020a031633600160a060020a031614155b156105cc57610583818461064a565b600160a060020a0333811660009081526020819052604080822093909355908616815220546105b2908461065c565b600160a060020a0385166000908152602081905260409020555b83600160a060020a031633600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405190815260200160405180910390a3600191505b5092915050565b600160a060020a03918216600090815260016020908152604080832093909416825291909152205490565b60008183101561065657fe5b50900390565b600060001982900383111561066d57fe5b500190565b602060405190810160405260008152905600a165627a7a723058202dafc1b55195dfaa1712579336fbf63d12891ce674f0e22269831aff9677a7270029000000000000000000000000000000000000000000000000000032ee841b8000
Deployed Bytecode
0x6060604052600436106100a35763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100a8578063095ea7b31461013257806318160ddd1461016857806323b872dd1461018d578063313ce567146101b5578063426a8493146101de57806370a082311461020357806395d89b4114610222578063a9059cbb14610235578063dd62ed3e14610257575b600080fd5b34156100b357600080fd5b6100bb61027c565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156100f75780820151838201526020016100df565b50505050905090810190601f1680156101245780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561013d57600080fd5b610154600160a060020a03600435166024356102bd565b604051901515815260200160405180910390f35b341561017357600080fd5b61017b610329565b60405190815260200160405180910390f35b341561019857600080fd5b610154600160a060020a036004358116906024351660443561032f565b34156101c057600080fd5b6101c8610498565b60405160ff909116815260200160405180910390f35b34156101e957600080fd5b610154600160a060020a036004351660243560443561049d565b341561020e57600080fd5b61017b600160a060020a03600435166104cc565b341561022d57600080fd5b6100bb6104e7565b341561024057600080fd5b610154600160a060020a0360043516602435610528565b341561026257600080fd5b61017b600160a060020a036004358116906024351661061f565b610284610672565b60408051908101604052600481527f4375626f000000000000000000000000000000000000000000000000000000006020820152905090565b600160a060020a03338116600081815260016020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60025490565b600160a060020a03808416600090815260016020908152604080832033909416835292905290812054818382101561036a576000925061048f565b50600160a060020a03851660009081526020819052604090205483811015610395576000925061048f565b61039f828561064a565b600160a060020a03808816600090815260016020908152604080832033909416835292905290812091909155841180156103eb575084600160a060020a031686600160a060020a031614155b15610443576103fa818561064a565b600160a060020a038088166000908152602081905260408082209390935590871681522054610429908561065c565b600160a060020a0386166000908152602081905260409020555b84600160a060020a031686600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8660405190815260200160405180910390a3600192505b50509392505050565b600690565b6000826104aa338661061f565b14156104c1576104ba84836102bd565b90506104c5565b5060005b9392505050565b600160a060020a031660009081526020819052604090205490565b6104ef610672565b60408051908101604052600481527f4355424f000000000000000000000000000000000000000000000000000000006020820152905090565b600160a060020a033316600090815260208190526040812054828110156105525760009150610618565b600083118015610574575083600160a060020a031633600160a060020a031614155b156105cc57610583818461064a565b600160a060020a0333811660009081526020819052604080822093909355908616815220546105b2908461065c565b600160a060020a0385166000908152602081905260409020555b83600160a060020a031633600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405190815260200160405180910390a3600191505b5092915050565b600160a060020a03918216600090815260016020908152604080832093909416825291909152205490565b60008183101561065657fe5b50900390565b600060001982900383111561066d57fe5b500190565b602060405190810160405260008152905600a165627a7a723058202dafc1b55195dfaa1712579336fbf63d12891ce674f0e22269831aff9677a7270029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000000000000032ee841b8000
-----Decoded View---------------
Arg [0] : _tokenCount (uint256): 56000000000000
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000000000000000000000000000000032ee841b8000
Swarm Source
bzzr://2dafc1b55195dfaa1712579336fbf63d12891ce674f0e22269831aff9677a727
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.