Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Source Code
Overview
Max Total Supply
500,000,000 CRS
Holders
12,041
Market
Onchain Market Cap
-
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
| # | Exchange | Pair | Price | 24H Volume | % Volume |
|---|
Contract Name:
CURESToken
Compiler Version
v0.4.25+commit.59dbf8f1
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2019-03-25
*/
pragma solidity >= 0.4.24 < 0.6.0;
/**
* @title Owned
* @dev Contract that sets an owner, who can execute predefined functions, only accessible by him
*/
contract Owned {
address public owner;
constructor() public {
owner = msg.sender;
}
modifier onlyOwner {
require(msg.sender == owner);
_;
}
function transferOwnership(address newOwner) public onlyOwner {
require(newOwner != address(0x0));
owner = newOwner;
}
}
/**
* @title SafeMath
* @dev Mathematical functions to check for overflows
*/
contract SafeMath {
function safeAdd(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
assert(c >= a && c >= b);
return c;
}
function safeSub(uint256 a, uint256 b) internal pure returns (uint256) {
assert(b <= a);
uint256 c = a - b;
return c;
}
}
contract CURESToken is Owned, SafeMath {
// Public variables of the token
string public name = "CURESToken"; // Token name
string public symbol = "CRS"; // Token symbol
uint8 public decimals = 18; // Token amount of decimals
uint256 public totalSupply = 500000000 * 10 ** uint256(decimals); // Token supply - 500 Million
// Creates array with balances
mapping (address => uint256) public balances;
mapping (address => mapping (address => uint256)) public allowances;
mapping (address => uint256) public frozenAccounts;
/**
* Constructor function
*
* @dev Constructor function - Deploy the contract
*/
constructor() public {
// Give the creator all initial tokens
balances[msg.sender] = totalSupply;
}
/**
* @param _owner The address from which the balance will be retrieved
* @return The balance
*/
function balanceOf(address _owner) public view returns (uint256 balance) {
return balances[_owner];
}
/**
* @notice Allows `_spender` to spend no more than `_value` tokens in msg.sender behalf
* @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 view returns (uint256 remaining) {
return allowances[_owner][_spender];
}
/**
* @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, uint256 _value) public returns (bool success) {
// Prevent transfer to 0x0 (empty) address, use burn() instead
require(_to != address(0x0));
// Prevent empty transactions
require(_value > 0);
// Check if sender account is frozen
require(frozenAccounts[msg.sender] < now);
// Check if sender has enough
require(balances[msg.sender] >= _value);
// Subtract the amount from the sender
balances[msg.sender] = safeSub(balances[msg.sender], _value);
// Add the same amount to the recipient
balances[_to] = safeAdd(balances[_to], _value);
// Generate the public transfer event and return success
emit Transfer(msg.sender, _to, _value);
return true;
}
/**
* @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, uint256 _value) public returns (bool success) {
// Prevent transfer to 0x0 (empty) address
require(_to != address(0x0));
// Prevent empty transactions
require(_value > 0);
// Check if token owner account is frozen
require(frozenAccounts[_from] < now);
// Check if sender is allowed to spend the amount
require(allowances[_from][msg.sender] >= _value);
// Check if token owner has enough
require(balances[_from] >= _value);
// Subtract the amount from the sender
allowances[_from][msg.sender] = safeSub(allowances[_from][msg.sender], _value);
// Subtract the amount from the token owner
balances[_from] = safeSub(balances[_from], _value);
// Add the same amount to the recipient
balances[_to] = safeAdd(balances[_to], _value);
// Generate the public transfer event and return success
emit Transfer(_from, _to, _value);
return true;
}
/**
* @notice `msg.sender` approves `_spender` to spend `_value` tokens
* @param _spender The address of the account able to transfer the tokens
* @param _value The amount of tokens to be approved for transfer
* @return Whether the approval was successful or not
*/
function approve(address _spender, uint256 _value) public returns (bool success) {
// The amount has to be bigger or equal to 0
require(_value >= 0);
allowances[msg.sender][_spender] = _value;
// Generate the public approval event and return success
emit Approval(msg.sender, _spender, _value);
return true;
}
/**
* @notice Remove `_value` tokens from the system irreversibly
* @param _value the amount of money to burn
*/
function burn(uint256 _value) public returns (bool success) {
// Check if value is less than 0
require(_value > 0);
// Check if the owner has enough tokens
require(balances[msg.sender] >= _value);
// Subtract the value from the owner
balances[msg.sender] = safeSub(balances[msg.sender], _value);
// Subtract the value from the Total Balance
totalSupply = safeSub(totalSupply, _value);
// Generate the public burn event and return success
emit Burn(msg.sender, _value);
return true;
}
/**
* @dev Freeze one or more account until specific date
* @param _addresses array with wallet addresses we want to freeze
* @param _until is the time until when the account is frozen
*/
function FreezeAccounts(address[] memory _addresses, uint256 _until) public onlyOwner returns (bool success) {
for (uint i = 0; i < _addresses.length; i++) {
frozenAccounts[_addresses[i]] = _until;
// Generate the public freeze event
emit Freeze(_addresses[i], _until);
}
return true;
}
// Public events on the blockchain to notify clients
event Transfer(address indexed _owner, address indexed _to, uint256 _value);
event Approval(address indexed _owner, address indexed _spender, uint256 _value);
event Burn(address indexed _owner, uint256 _value);
event Freeze(address indexed _owner, uint256 _until);
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
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":"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":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":"","type":"address"}],"name":"balances","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"burn","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"allowances","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","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":"","type":"address"}],"name":"frozenAccounts","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":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_addresses","type":"address[]"},{"name":"_until","type":"uint256"}],"name":"FreezeAccounts","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"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","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":true,"name":"_owner","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":false,"name":"_until","type":"uint256"}],"name":"Freeze","type":"event"}]Contract Creation Code
60c0604052600a60808190527f4355524553546f6b656e0000000000000000000000000000000000000000000060a090815261003e91600191906100db565b506040805180820190915260038082527f43525300000000000000000000000000000000000000000000000000000000006020909201918252610083916002916100db565b5060038054601260ff19909116179081905560ff16600a0a631dcd6500026004553480156100b057600080fd5b5060008054600160a060020a0319163390811782556004549082526005602052604090912055610176565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061011c57805160ff1916838001178555610149565b82800160010185558215610149579182015b8281111561014957825182559160200191906001019061012e565b50610155929150610159565b5090565b61017391905b80821115610155576000815560010161015f565b90565b610a92806101856000396000f3006080604052600436106100e55763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100ea578063095ea7b31461017457806318160ddd146101ac57806323b872dd146101d357806327e235e3146101fd578063313ce5671461021e57806342966c681461024957806355b6ed5c1461026157806370a0823114610288578063860838a5146102a95780638da5cb5b146102ca57806395d89b41146102fb578063a9059cbb14610310578063b975a11a14610334578063dd62ed3e1461038b578063f2fde38b146103b2575b600080fd5b3480156100f657600080fd5b506100ff6103d5565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610139578181015183820152602001610121565b50505050905090810190601f1680156101665780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561018057600080fd5b50610198600160a060020a0360043516602435610462565b604080519115158252519081900360200190f35b3480156101b857600080fd5b506101c16104d8565b60408051918252519081900360200190f35b3480156101df57600080fd5b50610198600160a060020a03600435811690602435166044356104de565b34801561020957600080fd5b506101c1600160a060020a0360043516610674565b34801561022a57600080fd5b50610233610686565b6040805160ff9092168252519081900360200190f35b34801561025557600080fd5b5061019860043561068f565b34801561026d57600080fd5b506101c1600160a060020a0360043581169060243516610731565b34801561029457600080fd5b506101c1600160a060020a036004351661074e565b3480156102b557600080fd5b506101c1600160a060020a0360043516610769565b3480156102d657600080fd5b506102df61077b565b60408051600160a060020a039092168252519081900360200190f35b34801561030757600080fd5b506100ff61078a565b34801561031c57600080fd5b50610198600160a060020a03600435166024356107e2565b34801561034057600080fd5b50604080516020600480358082013583810280860185019096528085526101989536959394602494938501929182918501908490808284375094975050933594506108e19350505050565b34801561039757600080fd5b506101c1600160a060020a03600435811690602435166109a8565b3480156103be57600080fd5b506103d3600160a060020a03600435166109d3565b005b60018054604080516020600284861615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561045a5780601f1061042f5761010080835404028352916020019161045a565b820191906000526020600020905b81548152906001019060200180831161043d57829003601f168201915b505050505081565b60008082101561047157600080fd5b336000818152600660209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b60045481565b6000600160a060020a03831615156104f557600080fd5b6000821161050257600080fd5b600160a060020a038416600090815260076020526040902054421161052657600080fd5b600160a060020a038416600090815260066020908152604080832033845290915290205482111561055657600080fd5b600160a060020a03841660009081526005602052604090205482111561057b57600080fd5b600160a060020a03841660009081526006602090815260408083203384529091529020546105a99083610a2e565b600160a060020a0385166000818152600660209081526040808320338452825280832094909455918152600590915220546105e49083610a2e565b600160a060020a0380861660009081526005602052604080822093909355908516815220546106139083610a42565b600160a060020a0380851660008181526005602090815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35060019392505050565b60056020526000908152604090205481565b60035460ff1681565b600080821161069d57600080fd5b336000908152600560205260409020548211156106b957600080fd5b336000908152600560205260409020546106d39083610a2e565b336000908152600560205260409020556004546106f09083610a2e565b60045560408051838152905133917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a2506001919050565b600660209081526000928352604080842090915290825290205481565b600160a060020a031660009081526005602052604090205490565b60076020526000908152604090205481565b600054600160a060020a031681565b6002805460408051602060018416156101000260001901909316849004601f8101849004840282018401909252818152929183018282801561045a5780601f1061042f5761010080835404028352916020019161045a565b6000600160a060020a03831615156107f957600080fd5b6000821161080657600080fd5b33600090815260076020526040902054421161082157600080fd5b3360009081526005602052604090205482111561083d57600080fd5b336000908152600560205260409020546108579083610a2e565b3360009081526005602052604080822092909255600160a060020a038516815220546108839083610a42565b600160a060020a0384166000818152600560209081526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b600080548190600160a060020a031633146108fb57600080fd5b5060005b835181101561099e578260076000868481518110151561091b57fe5b6020908102909101810151600160a060020a0316825281019190915260400160002055835184908290811061094c57fe5b90602001906020020151600160a060020a03167ff97a274face0b5517365ad396b1fdba6f68bd3135ef603e44272adba3af5a1e0846040518082815260200191505060405180910390a26001016108ff565b5060019392505050565b600160a060020a03918216600090815260066020908152604080832093909416825291909152205490565b600054600160a060020a031633146109ea57600080fd5b600160a060020a03811615156109ff57600080fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60008083831115610a3b57fe5b5050900390565b6000828201838110801590610a575750828110155b1515610a5f57fe5b93925050505600a165627a7a72305820cf62c510669edeaefc55363efa1a111059494488682890c03849ec2af8b1096e0029
Deployed Bytecode
0x6080604052600436106100e55763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100ea578063095ea7b31461017457806318160ddd146101ac57806323b872dd146101d357806327e235e3146101fd578063313ce5671461021e57806342966c681461024957806355b6ed5c1461026157806370a0823114610288578063860838a5146102a95780638da5cb5b146102ca57806395d89b41146102fb578063a9059cbb14610310578063b975a11a14610334578063dd62ed3e1461038b578063f2fde38b146103b2575b600080fd5b3480156100f657600080fd5b506100ff6103d5565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610139578181015183820152602001610121565b50505050905090810190601f1680156101665780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561018057600080fd5b50610198600160a060020a0360043516602435610462565b604080519115158252519081900360200190f35b3480156101b857600080fd5b506101c16104d8565b60408051918252519081900360200190f35b3480156101df57600080fd5b50610198600160a060020a03600435811690602435166044356104de565b34801561020957600080fd5b506101c1600160a060020a0360043516610674565b34801561022a57600080fd5b50610233610686565b6040805160ff9092168252519081900360200190f35b34801561025557600080fd5b5061019860043561068f565b34801561026d57600080fd5b506101c1600160a060020a0360043581169060243516610731565b34801561029457600080fd5b506101c1600160a060020a036004351661074e565b3480156102b557600080fd5b506101c1600160a060020a0360043516610769565b3480156102d657600080fd5b506102df61077b565b60408051600160a060020a039092168252519081900360200190f35b34801561030757600080fd5b506100ff61078a565b34801561031c57600080fd5b50610198600160a060020a03600435166024356107e2565b34801561034057600080fd5b50604080516020600480358082013583810280860185019096528085526101989536959394602494938501929182918501908490808284375094975050933594506108e19350505050565b34801561039757600080fd5b506101c1600160a060020a03600435811690602435166109a8565b3480156103be57600080fd5b506103d3600160a060020a03600435166109d3565b005b60018054604080516020600284861615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561045a5780601f1061042f5761010080835404028352916020019161045a565b820191906000526020600020905b81548152906001019060200180831161043d57829003601f168201915b505050505081565b60008082101561047157600080fd5b336000818152600660209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b60045481565b6000600160a060020a03831615156104f557600080fd5b6000821161050257600080fd5b600160a060020a038416600090815260076020526040902054421161052657600080fd5b600160a060020a038416600090815260066020908152604080832033845290915290205482111561055657600080fd5b600160a060020a03841660009081526005602052604090205482111561057b57600080fd5b600160a060020a03841660009081526006602090815260408083203384529091529020546105a99083610a2e565b600160a060020a0385166000818152600660209081526040808320338452825280832094909455918152600590915220546105e49083610a2e565b600160a060020a0380861660009081526005602052604080822093909355908516815220546106139083610a42565b600160a060020a0380851660008181526005602090815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35060019392505050565b60056020526000908152604090205481565b60035460ff1681565b600080821161069d57600080fd5b336000908152600560205260409020548211156106b957600080fd5b336000908152600560205260409020546106d39083610a2e565b336000908152600560205260409020556004546106f09083610a2e565b60045560408051838152905133917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a2506001919050565b600660209081526000928352604080842090915290825290205481565b600160a060020a031660009081526005602052604090205490565b60076020526000908152604090205481565b600054600160a060020a031681565b6002805460408051602060018416156101000260001901909316849004601f8101849004840282018401909252818152929183018282801561045a5780601f1061042f5761010080835404028352916020019161045a565b6000600160a060020a03831615156107f957600080fd5b6000821161080657600080fd5b33600090815260076020526040902054421161082157600080fd5b3360009081526005602052604090205482111561083d57600080fd5b336000908152600560205260409020546108579083610a2e565b3360009081526005602052604080822092909255600160a060020a038516815220546108839083610a42565b600160a060020a0384166000818152600560209081526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b600080548190600160a060020a031633146108fb57600080fd5b5060005b835181101561099e578260076000868481518110151561091b57fe5b6020908102909101810151600160a060020a0316825281019190915260400160002055835184908290811061094c57fe5b90602001906020020151600160a060020a03167ff97a274face0b5517365ad396b1fdba6f68bd3135ef603e44272adba3af5a1e0846040518082815260200191505060405180910390a26001016108ff565b5060019392505050565b600160a060020a03918216600090815260066020908152604080832093909416825291909152205490565b600054600160a060020a031633146109ea57600080fd5b600160a060020a03811615156109ff57600080fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60008083831115610a3b57fe5b5050900390565b6000828201838110801590610a575750828110155b1515610a5f57fe5b93925050505600a165627a7a72305820cf62c510669edeaefc55363efa1a111059494488682890c03849ec2af8b1096e0029
Swarm Source
bzzr://cf62c510669edeaefc55363efa1a111059494488682890c03849ec2af8b1096e
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.
Add Token to MetaMask (Web3)