ETH Price: $2,128.26 (-15.25%)
Gas: 3.19 Gwei

Token

Moral Chain (MRC)
 

Overview

Max Total Supply

10,000,000,000 MRC

Holders

1,054

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
jdapp.eth
Balance
10 MRC

Value
$0.00
0x6f1eb522696b1c7e842bf32cb0bf0d4084b9cea2
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:
MRC

Compiler Version
v0.4.25+commit.59dbf8f1

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2018-10-09
*/

pragma solidity ^0.4.20;
contract ERC20ext
{
  function totalSupply() public constant returns (uint supply);
  function balanceOf( address who ) public constant returns (uint value);
  function allowance( address owner, address spender ) public constant returns (uint _allowance);

  function transfer( address to, uint value) public returns (bool ok);
  function transferFrom( address from, address to, uint value) public returns (bool ok);
  function approve( address spender, uint value ) public returns (bool ok);

  event Transfer( address indexed from, address indexed to, uint value);
  event Approval( address indexed owner, address indexed spender, uint value);

  // extand
  function postMessage(address dst, uint wad,string data) public returns (bool ok);
  function appointNewCFO(address newCFO) public returns (bool ok);

  function melt(address dst, uint256 wad) public returns (bool ok);
  function mint(address dst, uint256 wad) public returns (bool ok);
  function freeze(address dst, bool flag) public returns (bool ok);

  event MeltEvent(address indexed dst, uint256 wad);
  event MintEvent(address indexed dst, uint256 wad);
  event FreezeEvent(address indexed dst, bool flag);
}
contract SafeMath 
{
  function mul(uint256 a, uint256 b) internal pure returns (uint256 c) 
  {
    if (a == 0) {
      return 0;
    }
    c = a * b;
    assert(c / a == b);
    return c;
  }
  function div(uint256 a, uint256 b) internal pure returns (uint256) 
  {
    return a / b;
  }
  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 c) 
  {
    c = a + b;
    assert(c >= a);
    return c;
  }
}
contract MRC is ERC20ext,SafeMath
{
  string public name;
  string public symbol;
  uint8  public decimals = 18;
  address _cfo;
  uint256 _supply;
  mapping (address => uint256) _balances;
  mapping (address => mapping (address => uint256)) _allowance;
  mapping (address => bool) public _frozen;
  function MRC(uint256 initialSupply,string tokenName,string tokenSymbol) public
  {
    _cfo    = msg.sender;
    _supply = initialSupply * 10 ** uint256(decimals);
    _balances[_cfo] = _supply;
    name   = tokenName;
    symbol = tokenSymbol;
  }
  modifier onlyCFO()
  {
    require(msg.sender == _cfo);
    _;
  }
  function totalSupply() public constant returns (uint256)
  {
    return _supply;
  }
  function balanceOf(address src) public constant returns (uint256)
  {
    return _balances[src];
  }
  function allowance(address src, address dst) public constant returns (uint256)
  {
    return _allowance[src][dst];
  }
  function transfer(address dst, uint wad) public returns (bool)
  {
    require(!_frozen[msg.sender]);
    require(!_frozen[dst]);
    require(_balances[msg.sender] >= wad);
    _balances[msg.sender] = sub(_balances[msg.sender],wad);
    _balances[dst]        = add(_balances[dst], wad);
    Transfer(msg.sender, dst, wad);
    return true;
  }
  function transferFrom(address src, address dst, uint wad) public returns (bool)
  {
    require(!_frozen[msg.sender]);
    require(!_frozen[dst]);
    require(_balances[src] >= wad);
    require(_allowance[src][msg.sender] >= wad);

    _allowance[src][msg.sender] = sub(_allowance[src][msg.sender],wad);

    _balances[src] = sub(_balances[src],wad);
    _balances[dst] = add(_balances[dst],wad);

    Transfer(src, dst, wad);

    return true;
  }
  function approve(address dst, uint256 wad) public returns (bool)
  {
    _allowance[msg.sender][dst] = wad;

    Approval(msg.sender, dst, wad);
    return true;
  }
  function postMessage(address dst, uint wad,string data) public returns (bool)
  {
    return transfer(dst,wad);
  }
  function appointNewCFO(address newCFO) onlyCFO public returns (bool)
  {
    if (newCFO != _cfo)
    {
      _cfo = newCFO;
      return true;
    }
    else
    {
      return false;
    }
  }
  function freeze(address dst, bool flag) onlyCFO public returns (bool)
  {
    _frozen[dst] = flag;

    FreezeEvent(dst, flag);
    return true;
  }
  function mint(address dst, uint256 wad) onlyCFO public returns (bool)
  {
    _balances[dst] = add(_balances[dst],wad);
    _supply        = add(_supply,wad);

    MintEvent(dst, wad);
    return true;
  }
  function melt(address dst, uint256 wad) onlyCFO public returns (bool)
  {
    require(_balances[dst] >= wad);

    _balances[dst] = sub(_balances[dst],wad);
    _supply        = sub(_supply,wad);

    MeltEvent(dst, wad);
    return true;
  }
}

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":"dst","type":"address"},{"name":"wad","type":"uint256"}],"name":"approve","outputs":[{"name":"","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":"src","type":"address"},{"name":"dst","type":"address"},{"name":"wad","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"dst","type":"address"},{"name":"wad","type":"uint256"},{"name":"data","type":"string"}],"name":"postMessage","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":"dst","type":"address"},{"name":"wad","type":"uint256"}],"name":"mint","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newCFO","type":"address"}],"name":"appointNewCFO","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"src","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"dst","type":"address"},{"name":"wad","type":"uint256"}],"name":"melt","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"dst","type":"address"},{"name":"wad","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"dst","type":"address"},{"name":"flag","type":"bool"}],"name":"freeze","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"_frozen","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"src","type":"address"},{"name":"dst","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"initialSupply","type":"uint256"},{"name":"tokenName","type":"string"},{"name":"tokenSymbol","type":"string"}],"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"},{"anonymous":false,"inputs":[{"indexed":true,"name":"dst","type":"address"},{"indexed":false,"name":"wad","type":"uint256"}],"name":"MeltEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"dst","type":"address"},{"indexed":false,"name":"wad","type":"uint256"}],"name":"MintEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"dst","type":"address"},{"indexed":false,"name":"flag","type":"bool"}],"name":"FreezeEvent","type":"event"}]

60806040526002805460ff1916601217905534801561001d57600080fd5b50604051610c51380380610c518339810160409081528151602080840151838501516002805461010033810261010060a860020a0319909216919091179182905560ff8216600a0a860260038190559104600160a060020a03166000908152600485529586205590850180519395909491019261009c928501906100b9565b5080516100b09060019060208401906100b9565b50505050610154565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106100fa57805160ff1916838001178555610127565b82800160010185558215610127579182015b8281111561012757825182559160200191906001019061010c565b50610133929150610137565b5090565b61015191905b80821115610133576000815560010161013d565b90565b610aee806101636000396000f3006080604052600436106100da5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100df578063095ea7b31461016957806318160ddd146101a157806323b872dd146101c857806325dccaf9146101f2578063313ce5671461025b57806340c10f1914610286578063519f9590146102aa57806370a08231146102cb5780638f8d322e146102ec57806395d89b4114610310578063a9059cbb14610325578063bf120ae514610349578063c5b40c5d1461036f578063dd62ed3e14610390575b600080fd5b3480156100eb57600080fd5b506100f46103b7565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561012e578181015183820152602001610116565b50505050905090810190601f16801561015b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561017557600080fd5b5061018d600160a060020a0360043516602435610445565b604080519115158252519081900360200190f35b3480156101ad57600080fd5b506101b66104ab565b60408051918252519081900360200190f35b3480156101d457600080fd5b5061018d600160a060020a03600435811690602435166044356104b1565b3480156101fe57600080fd5b50604080516020600460443581810135601f810184900484028501840190955284845261018d948235600160a060020a03169460248035953695946064949201919081908401838280828437509497506106429650505050505050565b34801561026757600080fd5b50610270610656565b6040805160ff9092168252519081900360200190f35b34801561029257600080fd5b5061018d600160a060020a036004351660243561065f565b3480156102b657600080fd5b5061018d600160a060020a0360043516610712565b3480156102d757600080fd5b506101b6600160a060020a0360043516610789565b3480156102f857600080fd5b5061018d600160a060020a03600435166024356107a4565b34801561031c57600080fd5b506100f461087c565b34801561033157600080fd5b5061018d600160a060020a03600435166024356108d6565b34801561035557600080fd5b5061018d600160a060020a036004351660243515156109d9565b34801561037b57600080fd5b5061018d600160a060020a0360043516610a5d565b34801561039c57600080fd5b506101b6600160a060020a0360043581169060243516610a72565b6000805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561043d5780601f106104125761010080835404028352916020019161043d565b820191906000526020600020905b81548152906001019060200180831161042057829003601f168201915b505050505081565b336000818152600560209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b60035490565b3360009081526006602052604081205460ff16156104ce57600080fd5b600160a060020a03831660009081526006602052604090205460ff16156104f457600080fd5b600160a060020a03841660009081526004602052604090205482111561051957600080fd5b600160a060020a038416600090815260056020908152604080832033845290915290205482111561054957600080fd5b600160a060020a03841660009081526005602090815260408083203384529091529020546105779083610a9d565b600160a060020a0385166000818152600560209081526040808320338452825280832094909455918152600490915220546105b29083610a9d565b600160a060020a0380861660009081526004602052604080822093909355908516815220546105e19083610aaf565b600160a060020a0380851660008181526004602090815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35060019392505050565b600061064e84846108d6565b949350505050565b60025460ff1681565b6002546000906101009004600160a060020a0316331461067e57600080fd5b600160a060020a0383166000908152600460205260409020546106a19083610aaf565b600160a060020a0384166000908152600460205260409020556003546106c79083610aaf565b600355604080518381529051600160a060020a038516917f3fffaa5804a26fcec0d70b1d0fb0a2d0031df3a5f9c8af2127c2f4360e97b463919081900360200190a250600192915050565b6002546000906101009004600160a060020a0316331461073157600080fd5b600254600160a060020a03838116610100909204161461078057506002805474ffffffffffffffffffffffffffffffffffffffff001916610100600160a060020a038416021790556001610784565b5060005b919050565b600160a060020a031660009081526004602052604090205490565b6002546000906101009004600160a060020a031633146107c357600080fd5b600160a060020a0383166000908152600460205260409020548211156107e857600080fd5b600160a060020a03831660009081526004602052604090205461080b9083610a9d565b600160a060020a0384166000908152600460205260409020556003546108319083610a9d565b600355604080518381529051600160a060020a038516917f86fca26ade5c81a8e49bb09cf2e8968aa2aa0be873b839e21caa5794709a8750919081900360200190a250600192915050565b60018054604080516020600284861615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561043d5780601f106104125761010080835404028352916020019161043d565b3360009081526006602052604081205460ff16156108f357600080fd5b600160a060020a03831660009081526006602052604090205460ff161561091957600080fd5b3360009081526004602052604090205482111561093557600080fd5b3360009081526004602052604090205461094f9083610a9d565b3360009081526004602052604080822092909255600160a060020a0385168152205461097b9083610aaf565b600160a060020a0384166000818152600460209081526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b6002546000906101009004600160a060020a031633146109f857600080fd5b600160a060020a038316600081815260066020908152604091829020805460ff1916861515908117909155825190815291517f214e012bfb855983ab4586d1b234c17d1f29b44af16a1f261db8817267731ac49281900390910190a250600192915050565b60066020526000908152604090205460ff1681565b600160a060020a03918216600090815260056020908152604080832093909416825291909152205490565b600082821115610aa957fe5b50900390565b81810182811015610abc57fe5b929150505600a165627a7a7230582076b09520b12d652ba07282332b98a823f50d3d25ab25ad1c88b5aa3d7e216ef9002900000000000000000000000000000000000000000000000000000002540be400000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000b4d6f72616c20436861696e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034d52430000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x6080604052600436106100da5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100df578063095ea7b31461016957806318160ddd146101a157806323b872dd146101c857806325dccaf9146101f2578063313ce5671461025b57806340c10f1914610286578063519f9590146102aa57806370a08231146102cb5780638f8d322e146102ec57806395d89b4114610310578063a9059cbb14610325578063bf120ae514610349578063c5b40c5d1461036f578063dd62ed3e14610390575b600080fd5b3480156100eb57600080fd5b506100f46103b7565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561012e578181015183820152602001610116565b50505050905090810190601f16801561015b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561017557600080fd5b5061018d600160a060020a0360043516602435610445565b604080519115158252519081900360200190f35b3480156101ad57600080fd5b506101b66104ab565b60408051918252519081900360200190f35b3480156101d457600080fd5b5061018d600160a060020a03600435811690602435166044356104b1565b3480156101fe57600080fd5b50604080516020600460443581810135601f810184900484028501840190955284845261018d948235600160a060020a03169460248035953695946064949201919081908401838280828437509497506106429650505050505050565b34801561026757600080fd5b50610270610656565b6040805160ff9092168252519081900360200190f35b34801561029257600080fd5b5061018d600160a060020a036004351660243561065f565b3480156102b657600080fd5b5061018d600160a060020a0360043516610712565b3480156102d757600080fd5b506101b6600160a060020a0360043516610789565b3480156102f857600080fd5b5061018d600160a060020a03600435166024356107a4565b34801561031c57600080fd5b506100f461087c565b34801561033157600080fd5b5061018d600160a060020a03600435166024356108d6565b34801561035557600080fd5b5061018d600160a060020a036004351660243515156109d9565b34801561037b57600080fd5b5061018d600160a060020a0360043516610a5d565b34801561039c57600080fd5b506101b6600160a060020a0360043581169060243516610a72565b6000805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561043d5780601f106104125761010080835404028352916020019161043d565b820191906000526020600020905b81548152906001019060200180831161042057829003601f168201915b505050505081565b336000818152600560209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b60035490565b3360009081526006602052604081205460ff16156104ce57600080fd5b600160a060020a03831660009081526006602052604090205460ff16156104f457600080fd5b600160a060020a03841660009081526004602052604090205482111561051957600080fd5b600160a060020a038416600090815260056020908152604080832033845290915290205482111561054957600080fd5b600160a060020a03841660009081526005602090815260408083203384529091529020546105779083610a9d565b600160a060020a0385166000818152600560209081526040808320338452825280832094909455918152600490915220546105b29083610a9d565b600160a060020a0380861660009081526004602052604080822093909355908516815220546105e19083610aaf565b600160a060020a0380851660008181526004602090815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35060019392505050565b600061064e84846108d6565b949350505050565b60025460ff1681565b6002546000906101009004600160a060020a0316331461067e57600080fd5b600160a060020a0383166000908152600460205260409020546106a19083610aaf565b600160a060020a0384166000908152600460205260409020556003546106c79083610aaf565b600355604080518381529051600160a060020a038516917f3fffaa5804a26fcec0d70b1d0fb0a2d0031df3a5f9c8af2127c2f4360e97b463919081900360200190a250600192915050565b6002546000906101009004600160a060020a0316331461073157600080fd5b600254600160a060020a03838116610100909204161461078057506002805474ffffffffffffffffffffffffffffffffffffffff001916610100600160a060020a038416021790556001610784565b5060005b919050565b600160a060020a031660009081526004602052604090205490565b6002546000906101009004600160a060020a031633146107c357600080fd5b600160a060020a0383166000908152600460205260409020548211156107e857600080fd5b600160a060020a03831660009081526004602052604090205461080b9083610a9d565b600160a060020a0384166000908152600460205260409020556003546108319083610a9d565b600355604080518381529051600160a060020a038516917f86fca26ade5c81a8e49bb09cf2e8968aa2aa0be873b839e21caa5794709a8750919081900360200190a250600192915050565b60018054604080516020600284861615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561043d5780601f106104125761010080835404028352916020019161043d565b3360009081526006602052604081205460ff16156108f357600080fd5b600160a060020a03831660009081526006602052604090205460ff161561091957600080fd5b3360009081526004602052604090205482111561093557600080fd5b3360009081526004602052604090205461094f9083610a9d565b3360009081526004602052604080822092909255600160a060020a0385168152205461097b9083610aaf565b600160a060020a0384166000818152600460209081526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b6002546000906101009004600160a060020a031633146109f857600080fd5b600160a060020a038316600081815260066020908152604091829020805460ff1916861515908117909155825190815291517f214e012bfb855983ab4586d1b234c17d1f29b44af16a1f261db8817267731ac49281900390910190a250600192915050565b60066020526000908152604090205460ff1681565b600160a060020a03918216600090815260056020908152604080832093909416825291909152205490565b600082821115610aa957fe5b50900390565b81810182811015610abc57fe5b929150505600a165627a7a7230582076b09520b12d652ba07282332b98a823f50d3d25ab25ad1c88b5aa3d7e216ef90029

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

00000000000000000000000000000000000000000000000000000002540be400000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000b4d6f72616c20436861696e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034d52430000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : initialSupply (uint256): 10000000000
Arg [1] : tokenName (string): Moral Chain
Arg [2] : tokenSymbol (string): MRC

-----Encoded View---------------
7 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000000000000000000002540be400
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [2] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [3] : 000000000000000000000000000000000000000000000000000000000000000b
Arg [4] : 4d6f72616c20436861696e000000000000000000000000000000000000000000
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [6] : 4d52430000000000000000000000000000000000000000000000000000000000


Swarm Source

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