ERC-20
Overview
Max Total Supply
2,000,000,000 MON
Holders
33
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 8 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
MontexToken
Compiler Version
v0.4.19+commit.c4cbbb05
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-11-13 */ pragma solidity ^0.4.19; library SafeMath { function mul(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a * b; assert(a == 0 || c / a == b); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a / b; return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { assert(b <= a); return a - b; } function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; assert(c >= a); return c; } } contract Owned { address public owner; event TransferOwnership(address oldaddr, address newaddr); modifier onlyOwner() { require(msg.sender == owner); _;} function Owned() public { owner = msg.sender; } function transferOwnership(address _new) onlyOwner public { address oldaddr = owner; owner = _new; TransferOwnership(oldaddr, owner); } } contract MontexToken is Owned{ string public name; string public symbol; uint256 public decimals; uint256 public totalSupply; mapping (address => uint256) public balanceOf; event Transfer(address indexed from, address indexed to, uint256 value); function MontexToken() public{ name = "Montex Token"; symbol = "MON"; decimals = 8; totalSupply = 2e9 * 10**uint256(decimals); balanceOf[msg.sender] = totalSupply; } function transfer(address _to, uint256 _value) public{ if (balanceOf[msg.sender] < _value) revert(); if (balanceOf[_to] + _value < balanceOf[_to]) revert(); balanceOf[msg.sender] -= _value; balanceOf[_to] += _value; Transfer(msg.sender, _to, _value); } } contract Crowdsale is Owned { using SafeMath for uint256; uint256 public fundingGoal; uint256 public price; uint256 public transferableToken; uint256 public soldToken; uint256 public deadline; uint256 public token_price; MontexToken public tokenReward; bool public fundingGoalReached = false; bool public isOpened; mapping (address => Property) public fundersProperty; struct Property { uint256 paymentEther; uint256 reservedToken; } event CrowdsaleStart(uint fundingGoal, uint deadline, uint transferableToken, address beneficiary); event ReservedToken(address backer, uint amount, uint token, uint soldToken); event WithdrawalToken(address addr, uint amount, bool result); event WithdrawalEther(address addr, uint amount, bool result); event FinishCrowdSale(address beneficiary, uint fundingGoal, uint amountRaised, bool reached, uint raisedToken); modifier afterDeadline() { if (now >= deadline) _; } function Crowdsale ( uint _fundingGoalInEthers, uint _transferableToken, uint _amountOfTokenPerEther, MontexToken _addressOfTokenUsedAsReward ) public { fundingGoal = _fundingGoalInEthers * 1 ether; price = 1 ether / _amountOfTokenPerEther; tokenReward = MontexToken(_addressOfTokenUsedAsReward); transferableToken = _transferableToken * 10 ** uint256(8); } function () payable external{ if (!isOpened || now >= deadline) revert(); uint amount = msg.value; uint amont_conv = amount * 1000; uint token = (amont_conv / price * token_price / 1000) * 10 ** uint256(8); if (token == 0 || soldToken + token > transferableToken) revert(); fundersProperty[msg.sender].paymentEther += amount / 10 ** uint256(8); fundersProperty[msg.sender].reservedToken += token; soldToken += token; tokenReward.transfer(msg.sender, token); ReservedToken(msg.sender, amount, token,soldToken); } function start(uint startTime,uint _deadline,uint _token_price) onlyOwner public{ deadline = _deadline; token_price = _token_price; if (fundingGoal == 0 || transferableToken == 0 || tokenReward == address(0) || startTime >= now) { revert(); } if (tokenReward.balanceOf(this) >= transferableToken) { if(startTime <= now && now <= deadline){ isOpened = true; CrowdsaleStart(fundingGoal, deadline, transferableToken, owner); } } } function getBalance(address _addres) public constant returns(uint nowpaymentEther,uint nowbuyToken) { nowpaymentEther = fundersProperty[_addres].paymentEther * (1 ether) / 10 ** uint256(8); nowbuyToken = fundersProperty[_addres].reservedToken; } function valNowRate(uint _amount) public view returns(uint get_rate,uint get_token) { get_rate = token_price; get_token = _amount * get_rate; } function getRemainingTimeEthToken() public constant returns( uint now_time, uint now_deadline, uint remain_days, uint remain_hours, uint remain_minutes, uint remainEth, uint remainToken, uint remain_seconds, uint getEth, uint tokenReward_balance, uint transferable_token) { if(now < deadline) { remain_days = (deadline - now) / (1 days); remain_hours = (deadline - now) / (1 hours); remain_minutes = (deadline - now) / (1 minutes); remain_seconds = (deadline - now) / (1 seconds); now_time = now; now_deadline = deadline; } remainEth = (fundingGoal - this.balance) / (1 ether); remainToken = transferableToken - soldToken; getEth = this.balance / (1 ether); tokenReward_balance = tokenReward.balanceOf(this); transferable_token = transferableToken; } function finishCrowdSale() onlyOwner public { if (this.balance >= fundingGoal) { fundingGoalReached = true; } if(isOpened==true){ isOpened = false; uint val = transferableToken - soldToken; if (val > 0) { tokenReward.transfer(msg.sender, transferableToken - soldToken); WithdrawalToken(msg.sender, val, true); } } FinishCrowdSale(owner, fundingGoal, this.balance, fundingGoalReached, soldToken); } function withdrawalOwner() onlyOwner public{ uint amount = this.balance; if (amount > 0) { bool ok = msg.sender.call.value(amount)(); WithdrawalEther(msg.sender, amount, ok); } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","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":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_new","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"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":false,"name":"oldaddr","type":"address"},{"indexed":false,"name":"newaddr","type":"address"}],"name":"TransferOwnership","type":"event"}]
Contract Creation Code
6060604052341561000f57600080fd5b60008054600160a060020a03191633600160a060020a031617905560408051908101604052600c81527f4d6f6e74657820546f6b656e0000000000000000000000000000000000000000602082015260019080516100719291602001906100eb565b5060408051908101604052600381527f4d4f4e0000000000000000000000000000000000000000000000000000000000602082015260029080516100b99291602001906100eb565b5060086003556702c68af0bb1400006004819055600160a060020a033316600090815260056020526040902055610186565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061012c57805160ff1916838001178555610159565b82800160010185558215610159579182015b8281111561015957825182559160200191906001019061013e565b50610165929150610169565b5090565b61018391905b80821115610165576000815560010161016f565b90565b6104a9806101956000396000f30060606040526004361061008d5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461009257806318160ddd1461011c578063313ce5671461014157806370a08231146101545780638da5cb5b1461017357806395d89b41146101a2578063a9059cbb146101b5578063f2fde38b146101d9575b600080fd5b341561009d57600080fd5b6100a56101f8565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156100e15780820151838201526020016100c9565b50505050905090810190601f16801561010e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561012757600080fd5b61012f610296565b60405190815260200160405180910390f35b341561014c57600080fd5b61012f61029c565b341561015f57600080fd5b61012f600160a060020a03600435166102a2565b341561017e57600080fd5b6101866102b4565b604051600160a060020a03909116815260200160405180910390f35b34156101ad57600080fd5b6100a56102c3565b34156101c057600080fd5b6101d7600160a060020a036004351660243561032e565b005b34156101e457600080fd5b6101d7600160a060020a03600435166103e4565b60018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561028e5780601f106102635761010080835404028352916020019161028e565b820191906000526020600020905b81548152906001019060200180831161027157829003601f168201915b505050505081565b60045481565b60035481565b60056020526000908152604090205481565b600054600160a060020a031681565b60028054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561028e5780601f106102635761010080835404028352916020019161028e565b600160a060020a0333166000908152600560205260409020548190101561035457600080fd5b600160a060020a038216600090815260056020526040902054818101101561037b57600080fd5b600160a060020a033381166000818152600560205260408082208054869003905592851680825290839020805485019055917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9084905190815260200160405180910390a35050565b6000805433600160a060020a0390811691161461040057600080fd5b5060008054600160a060020a0383811673ffffffffffffffffffffffffffffffffffffffff1983161792839055908116917f5c486528ec3e3f0ea91181cff8116f02bfa350e03b8b6f12e00765adbb5af85c91839116604051600160a060020a039283168152911660208201526040908101905180910390a150505600a165627a7a7230582070dcf88814de23cb71fb47d38f4a024b0904727086b8fe86f1546be468eb6d6f0029
Deployed Bytecode
0x60606040526004361061008d5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461009257806318160ddd1461011c578063313ce5671461014157806370a08231146101545780638da5cb5b1461017357806395d89b41146101a2578063a9059cbb146101b5578063f2fde38b146101d9575b600080fd5b341561009d57600080fd5b6100a56101f8565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156100e15780820151838201526020016100c9565b50505050905090810190601f16801561010e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561012757600080fd5b61012f610296565b60405190815260200160405180910390f35b341561014c57600080fd5b61012f61029c565b341561015f57600080fd5b61012f600160a060020a03600435166102a2565b341561017e57600080fd5b6101866102b4565b604051600160a060020a03909116815260200160405180910390f35b34156101ad57600080fd5b6100a56102c3565b34156101c057600080fd5b6101d7600160a060020a036004351660243561032e565b005b34156101e457600080fd5b6101d7600160a060020a03600435166103e4565b60018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561028e5780601f106102635761010080835404028352916020019161028e565b820191906000526020600020905b81548152906001019060200180831161027157829003601f168201915b505050505081565b60045481565b60035481565b60056020526000908152604090205481565b600054600160a060020a031681565b60028054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561028e5780601f106102635761010080835404028352916020019161028e565b600160a060020a0333166000908152600560205260409020548190101561035457600080fd5b600160a060020a038216600090815260056020526040902054818101101561037b57600080fd5b600160a060020a033381166000818152600560205260408082208054869003905592851680825290839020805485019055917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9084905190815260200160405180910390a35050565b6000805433600160a060020a0390811691161461040057600080fd5b5060008054600160a060020a0383811673ffffffffffffffffffffffffffffffffffffffff1983161792839055908116917f5c486528ec3e3f0ea91181cff8116f02bfa350e03b8b6f12e00765adbb5af85c91839116604051600160a060020a039283168152911660208201526040908101905180910390a150505600a165627a7a7230582070dcf88814de23cb71fb47d38f4a024b0904727086b8fe86f1546be468eb6d6f0029
Swarm Source
bzzr://70dcf88814de23cb71fb47d38f4a024b0904727086b8fe86f1546be468eb6d6f
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.