ERC-20
Overview
Max Total Supply
402,400,000 MTH
Holders
7,380 (0.00%)
Market
Price
$0.00 @ 0.000001 ETH (-0.09%)
Onchain Market Cap
$894,334.00
Circulating Supply Market Cap
$772,415.00
Other Info
Token Contract (WITH 5 Decimals)
Balance
0.02493 MTHValue
$0.00 ( ~0 Eth) [0.0000%]Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
MonethaToken
Compiler Version
v0.4.15+commit.bbb8e64f
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2017-08-31 */ /** * The Monetha token contract complies with the ERC20 standard (see https://github.com/ethereum/EIPs/issues/20). * The owner's share of tokens is locked for the first year and all tokens not * being sold during the crowdsale but the owner's share + reserved tokend for bounty, loyalty program and future financing are burned. * Author: Julia Altenried * Internal audit: Alex Bazhanau, Andrej Ruckij * Audit: Blockchain & Smart Contract Security Group **/ pragma solidity ^0.4.15; contract SafeMath { //internals function safeMul(uint a, uint b) internal returns(uint) { uint c = a * b; assert(a == 0 || c / a == b); return c; } function safeSub(uint a, uint b) internal returns(uint) { assert(b <= a); return a - b; } function safeAdd(uint a, uint b) internal returns(uint) { uint c = a + b; assert(c >= a && c >= b); return c; } } contract MonethaToken is SafeMath { /* Public variables of the token */ string constant public standard = "ERC20"; string constant public name = "Monetha"; string constant public symbol = "MTH"; uint8 constant public decimals = 5; uint public totalSupply = 40240000000000; uint constant public tokensForIco = 20120000000000; uint constant public reservedAmount = 20120000000000; uint constant public lockedAmount = 15291200000000; address public owner; address public ico; /* from this time on tokens may be transfered (after ICO)*/ uint public startTime; uint public lockReleaseDate; /* tells if tokens have been burned already */ bool burned; /* This creates an array with all balances */ mapping(address => uint) public balanceOf; mapping(address => mapping(address => uint)) public allowance; /* This generates a public event on the blockchain that will notify clients */ event Transfer(address indexed from, address indexed to, uint value); event Approval(address indexed _owner, address indexed spender, uint value); event Burned(uint amount); /* Initializes contract with initial supply tokens to the creator of the contract */ function MonethaToken(address _ownerAddr, uint _startTime) { owner = _ownerAddr; startTime = _startTime; lockReleaseDate = startTime + 1 years; balanceOf[owner] = totalSupply; // Give the owner all initial tokens } /* Send some of your tokens to a given address */ function transfer(address _to, uint _value) returns(bool success) { require(now >= startTime); //check if the crowdsale is already over if (msg.sender == owner && now < lockReleaseDate) require(safeSub(balanceOf[msg.sender], _value) >= lockedAmount); //prevent the owner of spending his share of tokens for company, loyalty program and future financing of the company within the first year balanceOf[msg.sender] = safeSub(balanceOf[msg.sender], _value); // Subtract from the sender balanceOf[_to] = safeAdd(balanceOf[_to], _value); // Add the same to the recipient Transfer(msg.sender, _to, _value); // Notify anyone listening that this transfer took place return true; } /* Allow another contract or person to spend some tokens in your behalf */ function approve(address _spender, uint _value) returns(bool success) { return _approve(_spender,_value); } /* internal approve functionality. needed, so we can check the payloadsize if called externally, but smaller * payload allowed internally */ function _approve(address _spender, uint _value) internal returns(bool success) { // https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 require((_value == 0) || (allowance[msg.sender][_spender] == 0)); allowance[msg.sender][_spender] = _value; Approval(msg.sender, _spender, _value); return true; } /* A contract or person attempts to get the tokens of somebody else. * This is only allowed if the token holder approved. */ function transferFrom(address _from, address _to, uint _value) returns(bool success) { if (now < startTime) require(_from == owner); //check if the crowdsale is already over if (_from == owner && now < lockReleaseDate) require(safeSub(balanceOf[_from], _value) >= lockedAmount); //prevent the owner of spending his share of tokens for company, loyalty program and future financing of the company within the first year var _allowance = allowance[_from][msg.sender]; balanceOf[_from] = safeSub(balanceOf[_from], _value); // Subtract from the sender balanceOf[_to] = safeAdd(balanceOf[_to], _value); // Add the same to the recipient allowance[_from][msg.sender] = safeSub(_allowance, _value); Transfer(_from, _to, _value); return true; } /* to be called when ICO is closed. burns the remaining tokens except the company share (60360000), the tokens reserved * for the bounty/advisors/marketing program (48288000), for the loyalty program (52312000) and for future financing of the company (40240000). * anybody may burn the tokens after ICO ended, but only once (in case the owner holds more tokens in the future). * this ensures that the owner will not posses a majority of the tokens. */ function burn() { //if tokens have not been burned already and the ICO ended if (!burned && now > startTime) { uint difference = safeSub(balanceOf[owner], reservedAmount); balanceOf[owner] = reservedAmount; totalSupply = safeSub(totalSupply, difference); burned = true; Burned(difference); } } /** * sets the ico address and give it allowance to spend the crowdsale tokens. Only callable once. * @param _icoAddress the address of the ico contract * value the max amount of tokens to sell during the ICO **/ function setICO(address _icoAddress) { require(msg.sender == owner); ico = _icoAddress; assert(_approve(ico, tokensForIco)); } /** * Allows the ico contract to set the trading start time to an earlier point of time. * (In case the soft cap has been reached) * @param _newStart the new start date **/ function setStart(uint _newStart) { require(msg.sender == ico && _newStart < startTime); startTime = _newStart; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"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,"type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"burn","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"standard","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"ico","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"lockedAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"startTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"tokensForIco","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"lockReleaseDate","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_icoAddress","type":"address"}],"name":"setICO","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_newStart","type":"uint256"}],"name":"setStart","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"reservedAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"inputs":[{"name":"_ownerAddr","type":"address"},{"name":"_startTime","type":"uint256"}],"payable":false,"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":"amount","type":"uint256"}],"name":"Burned","type":"event"}]
Contract Creation Code
60606040526524991ae7e000600055341561001957600080fd5b604051604080610c5283398101604052808051919060200180519150505b60018054600160a060020a031916600160a060020a03848116919091179182905560038390556301e13380830160045560008054929091168152600660205260409020555b50505b610bc48061008e6000396000f3006060604052361561010f5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610114578063095ea7b31461019f57806318160ddd146101d557806323b872dd146101fa578063313ce5671461023657806344df8e701461025f5780635a3b7e42146102745780635d452201146102ff5780636ab28bc81461032e57806370a082311461035357806378e979251461038457806382ea97b3146103a95780638da5cb5b146103ce57806395d89b41146103fd578063a9059cbb14610488578063ac4abae1146104be578063b6f50c29146104e3578063dd62ed3e14610504578063f6a03ebf1461053b578063f92c45b7146103a9575b600080fd5b341561011f57600080fd5b610127610578565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101645780820151818401525b60200161014b565b50505050905090810190601f1680156101915780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101aa57600080fd5b6101c1600160a060020a03600435166024356105af565b604051901515815260200160405180910390f35b34156101e057600080fd5b6101e86105c4565b60405190815260200160405180910390f35b341561020557600080fd5b6101c1600160a060020a03600435811690602435166044356105ca565b604051901515815260200160405180910390f35b341561024157600080fd5b61024961074e565b60405160ff909116815260200160405180910390f35b341561026a57600080fd5b610272610753565b005b341561027f57600080fd5b610127610813565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101645780820151818401525b60200161014b565b50505050905090810190601f1680156101915780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561030a57600080fd5b61031261084a565b604051600160a060020a03909116815260200160405180910390f35b341561033957600080fd5b6101e8610859565b60405190815260200160405180910390f35b341561035e57600080fd5b6101e8600160a060020a0360043516610863565b60405190815260200160405180910390f35b341561038f57600080fd5b6101e8610875565b60405190815260200160405180910390f35b34156103b457600080fd5b6101e861087b565b60405190815260200160405180910390f35b34156103d957600080fd5b610312610885565b604051600160a060020a03909116815260200160405180910390f35b341561040857600080fd5b610127610894565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101645780820151818401525b60200161014b565b50505050905090810190601f1680156101915780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561049357600080fd5b6101c1600160a060020a03600435166024356108cb565b604051901515815260200160405180910390f35b34156104c957600080fd5b6101e86109ec565b60405190815260200160405180910390f35b34156104ee57600080fd5b610272600160a060020a03600435166109f2565b005b341561050f57600080fd5b6101e8600160a060020a0360043581169060243516610a58565b60405190815260200160405180910390f35b341561054657600080fd5b610272600435610a75565b005b34156103b457600080fd5b6101e861087b565b60405190815260200160405180910390f35b60408051908101604052600781527f4d6f6e6574686100000000000000000000000000000000000000000000000000602082015281565b60006105bb8383610ab2565b90505b92915050565b60005481565b6000806003544210156105f157600154600160a060020a038681169116146105f157600080fd5b5b600154600160a060020a038681169116148015610610575060045442105b1561064b57600160a060020a038516600090815260066020526040902054650de8428b5000906106409085610b59565b101561064b57600080fd5b5b50600160a060020a0380851660008181526007602090815260408083203390951683529381528382205492825260069052919091205461068c9084610b59565b600160a060020a0380871660009081526006602052604080822093909355908616815220546106bb9084610b70565b600160a060020a0385166000908152600660205260409020556106de8184610b59565b600160a060020a03808716600081815260076020908152604080832033861684529091529081902093909355908616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9086905190815260200160405180910390a3600191505b509392505050565b600581565b60055460009060ff1615801561076a575060035442115b1561080f57600154600160a060020a031660009081526006602052604090205461079a9065124c8d73f000610b59565b600154600160a060020a0316600090815260066020526040812065124c8d73f0009055549091506107cb9082610b59565b6000556005805460ff191660011790557fd83c63197e8e676d80ab0122beba9a9d20f3828839e9a1d6fe81d242e9cd7e6e8160405190815260200160405180910390a15b5b50565b60408051908101604052600581527f4552433230000000000000000000000000000000000000000000000000000000602082015281565b600254600160a060020a031681565b650de8428b500081565b60066020526000908152604090205481565b60035481565b65124c8d73f00081565b600154600160a060020a031681565b60408051908101604052600381527f4d54480000000000000000000000000000000000000000000000000000000000602082015281565b6003546000904210156108dd57600080fd5b60015433600160a060020a0390811691161480156108fc575060045442105b1561093757600160a060020a033316600090815260066020526040902054650de8428b50009061092c9084610b59565b101561093757600080fd5b5b600160a060020a03331660009081526006602052604090205461095b9083610b59565b600160a060020a03338116600090815260066020526040808220939093559085168152205461098a9083610b70565b600160a060020a0380851660008181526006602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35060015b92915050565b60045481565b60015433600160a060020a03908116911614610a0d57600080fd5b6002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038381169190911791829055610a4c911665124c8d73f000610ab2565b151561080f57fe5b5b50565b600760209081526000928352604080842090915290825290205481565b60025433600160a060020a039081169116148015610a94575060035481105b1515610a9f57600080fd5b60038190555b50565b65124c8d73f00081565b6000811580610ae45750600160a060020a03338116600090815260076020908152604080832093871683529290522054155b1515610aef57600080fd5b600160a060020a03338116600081815260076020908152604080832094881680845294909152908190208590557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b600082821115610b6557fe5b508082035b92915050565b6000828201838110801590610b855750828110155b1515610b8d57fe5b8091505b50929150505600a165627a7a723058201ece16a4849d6f063ac16d4723492df94b137bb9f49ec010ea71aa0475f8a1f800290000000000000000000000000027bcc0275ed76e0b338a42e7e08dec36d256780000000000000000000000000000000000000000000000000000000059cfa360
Deployed Bytecode
0x6060604052361561010f5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610114578063095ea7b31461019f57806318160ddd146101d557806323b872dd146101fa578063313ce5671461023657806344df8e701461025f5780635a3b7e42146102745780635d452201146102ff5780636ab28bc81461032e57806370a082311461035357806378e979251461038457806382ea97b3146103a95780638da5cb5b146103ce57806395d89b41146103fd578063a9059cbb14610488578063ac4abae1146104be578063b6f50c29146104e3578063dd62ed3e14610504578063f6a03ebf1461053b578063f92c45b7146103a9575b600080fd5b341561011f57600080fd5b610127610578565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101645780820151818401525b60200161014b565b50505050905090810190601f1680156101915780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101aa57600080fd5b6101c1600160a060020a03600435166024356105af565b604051901515815260200160405180910390f35b34156101e057600080fd5b6101e86105c4565b60405190815260200160405180910390f35b341561020557600080fd5b6101c1600160a060020a03600435811690602435166044356105ca565b604051901515815260200160405180910390f35b341561024157600080fd5b61024961074e565b60405160ff909116815260200160405180910390f35b341561026a57600080fd5b610272610753565b005b341561027f57600080fd5b610127610813565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101645780820151818401525b60200161014b565b50505050905090810190601f1680156101915780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561030a57600080fd5b61031261084a565b604051600160a060020a03909116815260200160405180910390f35b341561033957600080fd5b6101e8610859565b60405190815260200160405180910390f35b341561035e57600080fd5b6101e8600160a060020a0360043516610863565b60405190815260200160405180910390f35b341561038f57600080fd5b6101e8610875565b60405190815260200160405180910390f35b34156103b457600080fd5b6101e861087b565b60405190815260200160405180910390f35b34156103d957600080fd5b610312610885565b604051600160a060020a03909116815260200160405180910390f35b341561040857600080fd5b610127610894565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101645780820151818401525b60200161014b565b50505050905090810190601f1680156101915780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561049357600080fd5b6101c1600160a060020a03600435166024356108cb565b604051901515815260200160405180910390f35b34156104c957600080fd5b6101e86109ec565b60405190815260200160405180910390f35b34156104ee57600080fd5b610272600160a060020a03600435166109f2565b005b341561050f57600080fd5b6101e8600160a060020a0360043581169060243516610a58565b60405190815260200160405180910390f35b341561054657600080fd5b610272600435610a75565b005b34156103b457600080fd5b6101e861087b565b60405190815260200160405180910390f35b60408051908101604052600781527f4d6f6e6574686100000000000000000000000000000000000000000000000000602082015281565b60006105bb8383610ab2565b90505b92915050565b60005481565b6000806003544210156105f157600154600160a060020a038681169116146105f157600080fd5b5b600154600160a060020a038681169116148015610610575060045442105b1561064b57600160a060020a038516600090815260066020526040902054650de8428b5000906106409085610b59565b101561064b57600080fd5b5b50600160a060020a0380851660008181526007602090815260408083203390951683529381528382205492825260069052919091205461068c9084610b59565b600160a060020a0380871660009081526006602052604080822093909355908616815220546106bb9084610b70565b600160a060020a0385166000908152600660205260409020556106de8184610b59565b600160a060020a03808716600081815260076020908152604080832033861684529091529081902093909355908616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9086905190815260200160405180910390a3600191505b509392505050565b600581565b60055460009060ff1615801561076a575060035442115b1561080f57600154600160a060020a031660009081526006602052604090205461079a9065124c8d73f000610b59565b600154600160a060020a0316600090815260066020526040812065124c8d73f0009055549091506107cb9082610b59565b6000556005805460ff191660011790557fd83c63197e8e676d80ab0122beba9a9d20f3828839e9a1d6fe81d242e9cd7e6e8160405190815260200160405180910390a15b5b50565b60408051908101604052600581527f4552433230000000000000000000000000000000000000000000000000000000602082015281565b600254600160a060020a031681565b650de8428b500081565b60066020526000908152604090205481565b60035481565b65124c8d73f00081565b600154600160a060020a031681565b60408051908101604052600381527f4d54480000000000000000000000000000000000000000000000000000000000602082015281565b6003546000904210156108dd57600080fd5b60015433600160a060020a0390811691161480156108fc575060045442105b1561093757600160a060020a033316600090815260066020526040902054650de8428b50009061092c9084610b59565b101561093757600080fd5b5b600160a060020a03331660009081526006602052604090205461095b9083610b59565b600160a060020a03338116600090815260066020526040808220939093559085168152205461098a9083610b70565b600160a060020a0380851660008181526006602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35060015b92915050565b60045481565b60015433600160a060020a03908116911614610a0d57600080fd5b6002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038381169190911791829055610a4c911665124c8d73f000610ab2565b151561080f57fe5b5b50565b600760209081526000928352604080842090915290825290205481565b60025433600160a060020a039081169116148015610a94575060035481105b1515610a9f57600080fd5b60038190555b50565b65124c8d73f00081565b6000811580610ae45750600160a060020a03338116600090815260076020908152604080832093871683529290522054155b1515610aef57600080fd5b600160a060020a03338116600081815260076020908152604080832094881680845294909152908190208590557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b600082821115610b6557fe5b508082035b92915050565b6000828201838110801590610b855750828110155b1515610b8d57fe5b8091505b50929150505600a165627a7a723058201ece16a4849d6f063ac16d4723492df94b137bb9f49ec010ea71aa0475f8a1f80029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000000027bcc0275ed76e0b338a42e7e08dec36d256780000000000000000000000000000000000000000000000000000000059cfa360
-----Decoded View---------------
Arg [0] : _ownerAddr (address): 0x0027BCC0275ED76e0b338A42e7e08dEC36D25678
Arg [1] : _startTime (uint256): 1506780000
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000000027bcc0275ed76e0b338a42e7e08dec36d25678
Arg [1] : 0000000000000000000000000000000000000000000000000000000059cfa360
Swarm Source
bzzr://1ece16a4849d6f063ac16d4723492df94b137bb9f49ec010ea71aa0475f8a1f8
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.