Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
1,000,000,000 NEMO
Holders
476
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
This contract may be a proxy contract. Click on More Options and select Is this a proxy? to confirm and enable the "Read as Proxy" & "Write as Proxy" tabs.
Contract Source Code Verified (Exact Match)
Contract Name:
ProxyNemodax
Compiler Version
v0.5.4+commit.9549d8ff
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2019-05-08 */ pragma solidity 0.5.4; /** * @title SafeMath * @dev Math operations with safety checks that throw on error */ library SafeMath { /** * @dev Multiplies two numbers, throws on overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256 c) { // Gas optimization: this is cheaper than asserting 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522 if (a == 0) { return 0; } c = a * b; assert(c / a == b); return c; } /** * @dev Integer division of two numbers, truncating the quotient. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { // assert(b > 0); // Solidity automatically throws when dividing by 0 // uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return a / b; } /** * @dev Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend). */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { assert(b <= a); return a - b; } /** * @dev Adds two numbers, throws on overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256 c) { c = a + b; assert(c >= a); return c; } } /** * @title MultiOwnable * * @dev Require majority approval of multiple owners to use and access to features * when restrictions on access to critical functions are required. * */ contract MultiOwnable { using SafeMath for uint8; struct CommitteeStatusPack{ /** * Key informations for decisions. * To save some gas, choosing the struct. */ uint8 numOfOwners; uint8 numOfVotes; uint8 numOfMinOwners; bytes proposedFuncData; } CommitteeStatusPack public committeeStatus; address[] public ballot; // To make sure if it already was voted mapping(address => bool) public owner; event Vote(address indexed proposer, bytes indexed proposedFuncData); event Propose(address indexed proposer, bytes indexed proposedFuncData); event Dismiss(address indexed proposer, bytes indexed proposedFuncData); event AddedOwner(address newOwner); event RemovedOwner(address removedOwner); event TransferOwnership(address from, address to); /** * Organize initial committee. * * @notice committee must be 3 at least. * you have to use this contract to be inherited because it is internal. * * @param _coOwner1 _coOwner2 _coOwner3 _coOwner4 _coOwner5 committee members */ constructor(address _coOwner1, address _coOwner2, address _coOwner3, address _coOwner4, address _coOwner5) internal { require(_coOwner1 != address(0x0) && _coOwner2 != address(0x0) && _coOwner3 != address(0x0) && _coOwner4 != address(0x0) && _coOwner5 != address(0x0)); require(_coOwner1 != _coOwner2 && _coOwner1 != _coOwner3 && _coOwner1 != _coOwner4 && _coOwner1 != _coOwner5 && _coOwner2 != _coOwner3 && _coOwner2 != _coOwner4 && _coOwner2 != _coOwner5 && _coOwner3 != _coOwner4 && _coOwner3 != _coOwner5 && _coOwner4 != _coOwner5); // SmartDec Recommendations owner[_coOwner1] = true; owner[_coOwner2] = true; owner[_coOwner3] = true; owner[_coOwner4] = true; owner[_coOwner5] = true; committeeStatus.numOfOwners = 5; committeeStatus.numOfMinOwners = 5; emit AddedOwner(_coOwner1); emit AddedOwner(_coOwner2); emit AddedOwner(_coOwner3); emit AddedOwner(_coOwner4); emit AddedOwner(_coOwner5); } modifier onlyOwner() { require(owner[msg.sender]); _; } /** * Pre-check if it's decided by committee * * @notice If there is a majority approval, * the function with this modifier will not be executed. */ modifier committeeApproved() { /* check if proposed Function Name and real function Name are correct */ require( keccak256(committeeStatus.proposedFuncData) == keccak256(msg.data) ); // SmartDec Recommendations /* To check majority */ require(committeeStatus.numOfVotes > committeeStatus.numOfOwners.div(2)); _; _dismiss(); //Once a commission-approved proposal is made, the proposal is initialized. } /** * Suggest the functions you want to use. * * @notice To use some importan functions, propose function must be done first and voted. */ function propose(bytes memory _targetFuncData) onlyOwner public { /* Check if there're any ongoing proposals */ require(committeeStatus.numOfVotes == 0); require(committeeStatus.proposedFuncData.length == 0); /* regist function informations that proposer want to run */ committeeStatus.proposedFuncData = _targetFuncData; emit Propose(msg.sender, _targetFuncData); } /** * Proposal is withdrawn * * @notice When the proposed function is no longer used or deprecated, * proposal is discarded */ function dismiss() onlyOwner public { _dismiss(); } /** * Suggest the functions you want to use. * * @notice 'dismiss' is executed even after successfully executing the proposed function. * If 'msg.sender' want to pass permission, he can't pass the 'committeeApproved' modifier. * internal functions are required to enable this. */ function _dismiss() internal { emit Dismiss(msg.sender, committeeStatus.proposedFuncData); committeeStatus.numOfVotes = 0; committeeStatus.proposedFuncData = ""; delete ballot; } /** * Owners vote for proposed item * * @notice if only there're proposals, 'vote' is processed. * the result must be majority. * one ticket for each owner. */ function vote() onlyOwner public { // Check duplicated voting list. uint length = ballot.length; // SmartDec Recommendations for(uint i=0; i<length; i++) // SmartDec Recommendations require(ballot[i] != msg.sender); //onlyOnwers can vote, if there's ongoing proposal. require( committeeStatus.proposedFuncData.length != 0 ); //Check, if everyone voted. //require(committeeStatus.numOfOwners > committeeStatus.numOfVotes); // SmartDec Recommendations committeeStatus.numOfVotes++; ballot.push(msg.sender); emit Vote(msg.sender, committeeStatus.proposedFuncData); } /** * Existing owner transfers permissions to new owner. * * @notice It transfers authority to the person who was not the owner. * Approval from the committee is required. */ function transferOwnership(address _newOwner) onlyOwner committeeApproved public { require( _newOwner != address(0x0) ); // callisto recommendation require( owner[_newOwner] == false ); owner[msg.sender] = false; owner[_newOwner] = true; emit TransferOwnership(msg.sender, _newOwner); } /** * Add new Owner to committee * * @notice Approval from the committee is required. * */ function addOwner(address _newOwner) onlyOwner committeeApproved public { require( _newOwner != address(0x0) ); require( owner[_newOwner] != true ); owner[_newOwner] = true; committeeStatus.numOfOwners++; emit AddedOwner(_newOwner); } /** * Remove the Owner from committee * * @notice Approval from the committee is required. * */ function removeOwner(address _toRemove) onlyOwner committeeApproved public { require( _toRemove != address(0x0) ); require( owner[_toRemove] == true ); require( committeeStatus.numOfOwners > committeeStatus.numOfMinOwners ); // must keep Number of Minimum Owners at least. owner[_toRemove] = false; committeeStatus.numOfOwners--; emit RemovedOwner(_toRemove); } } contract Pausable is MultiOwnable { event Pause(); event Unpause(); bool internal paused; modifier whenNotPaused() { require(!paused); _; } modifier whenPaused() { require(paused); _; } modifier noReentrancy() { require(!paused); paused = true; _; paused = false; } /* When you discover your smart contract is under attack, you can buy time to upgrade the contract by immediately pausing the contract. */ function pause() public onlyOwner committeeApproved whenNotPaused { paused = true; emit Pause(); } function unpause() public onlyOwner committeeApproved whenPaused { paused = false; emit Unpause(); } } /** * Contract Managing TokenExchanger's address used by ProxyNemodax */ contract RunningContractManager is Pausable { address public implementation; //SmartDec Recommendations event Upgraded(address indexed newContract); function upgrade(address _newAddr) onlyOwner committeeApproved external { require(implementation != _newAddr); implementation = _newAddr; emit Upgraded(_newAddr); // SmartDec Recommendations } /* SmartDec Recommendations function runningAddress() onlyOwner external view returns (address){ return implementation; } */ } /** * NemoLab ERC20 Token * Written by Shin HyunJae * version 12 */ contract TokenERC20 is RunningContractManager { using SafeMath for uint256; // Public variables of the token string public name; string public symbol; uint8 public decimals = 18; // 18 decimals is the strongly suggested default, avoid changing it uint256 public totalSupply; /* This creates an array with all balances */ mapping (address => uint256) internal balances; mapping (address => mapping (address => uint256)) internal allowed; //mapping (address => bool) public frozenAccount; // SmartDec Recommendations mapping (address => uint256) public frozenExpired; //bool private initialized = false; bool private initialized; // SmartDec Recommendations /** * This is area for some variables to add. * Please add variables from the end of pre-declared variables * if you would have added some variables and re-deployed the contract, * tokenPerEth would get garbage value. so please reset tokenPerEth variable * * uint256 something..; */ // This generates a public event on the blockchain that will notify clients event Transfer(address indexed from, address indexed to, uint256 value); event LastBalance(address indexed account, uint256 value); // This notifies clients about the allowance of balance event Approval(address indexed _owner, address indexed _spender, uint256 _value); // This notifies clients about the amount burnt // event Burn(address indexed from, uint256 value); // callisto recommendation // This notifies clients about the freezing address //event FrozenFunds(address target, bool frozen); // callisto recommendation event FrozenFunds(address target, uint256 expirationDate); // SmartDec Recommendations /** * Initialize Token Function * * Initializes contract with initial supply tokens to the creator of the contract */ function initToken( string memory _tokenName, string memory _tokenSymbol, uint256 _initialSupply, address _marketSaleManager, address _serviceOperationManager, address _dividendManager, address _incentiveManager, address _reserveFundManager ) internal onlyOwner committeeApproved { require( initialized == false ); require(_initialSupply > 0 && _initialSupply <= 2**uint256(184)); // [2019.03.05] Fixed for Mythril Vulerablity SWC ID:101 => _initialSupply <= 2^184 <= (2^256 / 10^18) name = _tokenName; // Set the name for display purposes symbol = _tokenSymbol; // Set the symbol for display purposes //totalSupply = convertToDecimalUnits(_initialSupply); // Update total supply with the decimal amount /*balances[msg.sender] = totalSupply; // Give the creator all initial tokens emit Transfer(address(this), address(0), totalSupply); emit LastBalance(address(this), 0); emit LastBalance(msg.sender, totalSupply);*/ // SmartDec Recommendations uint256 tempSupply = convertToDecimalUnits(_initialSupply); uint256 dividendBalance = tempSupply.div(10); // dividendBalance = 10% uint256 reserveFundBalance = dividendBalance; // reserveFundBalance = 10% uint256 marketSaleBalance = tempSupply.div(5); // marketSaleBalance = 20% uint256 serviceOperationBalance = marketSaleBalance.mul(2); // serviceOperationBalance = 40% uint256 incentiveBalance = marketSaleBalance; // incentiveBalance = 20% balances[_marketSaleManager] = marketSaleBalance; balances[_serviceOperationManager] = serviceOperationBalance; balances[_dividendManager] = dividendBalance; balances[_incentiveManager] = incentiveBalance; balances[_reserveFundManager] = reserveFundBalance; totalSupply = tempSupply; emit Transfer(address(0), _marketSaleManager, marketSaleBalance); emit Transfer(address(0), _serviceOperationManager, serviceOperationBalance); emit Transfer(address(0), _dividendManager, dividendBalance); emit Transfer(address(0), _incentiveManager, incentiveBalance); emit Transfer(address(0), _reserveFundManager, reserveFundBalance); emit LastBalance(address(this), 0); emit LastBalance(_marketSaleManager, marketSaleBalance); emit LastBalance(_serviceOperationManager, serviceOperationBalance); emit LastBalance(_dividendManager, dividendBalance); emit LastBalance(_incentiveManager, incentiveBalance); emit LastBalance(_reserveFundManager, reserveFundBalance); assert( tempSupply == marketSaleBalance.add(serviceOperationBalance). add(dividendBalance). add(incentiveBalance). add(reserveFundBalance) ); initialized = true; } /** * Convert tokens units to token decimal units * * @param _value Tokens units without decimal units */ function convertToDecimalUnits(uint256 _value) internal view returns (uint256 value) { value = _value.mul(10 ** uint256(decimals)); return value; } /** * Get tokens balance * * @notice Query tokens balance of the _account * * @param _account Account address to query tokens balance */ function balanceOf(address _account) public view returns (uint256 balance) { balance = balances[_account]; return balance; } /** * Get allowed tokens balance * * @notice Query tokens balance allowed to _spender * * @param _owner Owner address to query tokens balance * @param _spender The address allowed tokens balance */ function allowance(address _owner, address _spender) external view returns (uint256 remaining) { remaining = allowed[_owner][_spender]; return remaining; } /** * Internal transfer, only can be called by this contract */ function _transfer(address _from, address _to, uint256 _value) internal { require(_to != address(0x0)); // Prevent transfer to 0x0 address. require(balances[_from] >= _value); // Check if the sender has enough if(frozenExpired[_from] != 0 ){ // Check if sender is frozen require(block.timestamp > frozenExpired[_from]); _unfreezeAccount(_from); } if(frozenExpired[_to] != 0 ){ // Check if recipient is frozen require(block.timestamp > frozenExpired[_to]); _unfreezeAccount(_to); } uint256 previousBalances = balances[_from].add(balances[_to]); // Save this for an assertion in the future balances[_from] = balances[_from].sub(_value); // Subtract from the sender balances[_to] = balances[_to].add(_value); // Add the same to the recipient emit Transfer(_from, _to, _value); emit LastBalance(_from, balances[_from]); emit LastBalance(_to, balances[_to]); // Asserts are used to use static analysis to find bugs in your code. They should never fail assert(balances[_from] + balances[_to] == previousBalances); } /** * Transfer tokens * * @notice Send `_value` tokens to `_to` from your account * * @param _to The address of the recipient * @param _value the amount to send */ function transfer(address _to, uint256 _value) public noReentrancy returns (bool success) { _transfer(msg.sender, _to, _value); success = true; return success; } /** * Transfer tokens from other address * * Send `_value` tokens to `_to` on behalf of `_from` * * @param _from The address of the sender * @param _to The address of the recipient * @param _value the amount to send */ function transferFrom(address _from, address _to, uint256 _value) public noReentrancy returns (bool success) { require(_value <= allowed[_from][msg.sender]); // Check allowance allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value); _transfer(_from, _to, _value); success = true; return success; } /** * Internal approve, only can be called by this contract * * @param _spender The address authorized to spend * @param _value the max amount they can spend */ function _approve(address _spender, uint256 _value) internal returns (bool success) { allowed[msg.sender][_spender] = _value; emit Approval(msg.sender, _spender, _value); success = true; return success; } /** * Set allowance for other address * * Allows `_spender` to spend no more than `_value` tokens on your behalf * * @param _spender The address authorized to spend * @param _value the max amount they can spend */ function approve(address _spender, uint256 _value) public noReentrancy returns (bool success) { success = _approve(_spender, _value); return success; } /** * @dev Increase the amount of tokens that an owner allowed to a spender. * approve should be called when allowed[_spender] == 0. To increment * allowed value is better to use this function to avoid 2 calls (and wait until * the first transaction is mined) * From MonolithDAO Token.sol * @param _spender The address which will spend the funds. * @param _addedValue The amount of tokens to increase the allowance by. */ function increaseApproval(address _spender, uint256 _addedValue) public returns (bool) { allowed[msg.sender][_spender] = ( allowed[msg.sender][_spender].add(_addedValue)); emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]); return true; } /** * @dev Decrease the amount of tokens that an owner allowed to a spender. * approve should be called when allowed[_spender] == 0. To decrement * allowed value is better to use this function to avoid 2 calls (and wait until * the first transaction is mined) * From MonolithDAO Token.sol * @param _spender The address which will spend the funds. * @param _subtractedValue The amount of tokens to decrease the allowance by. */ function decreaseApproval(address _spender, uint256 _subtractedValue) public returns (bool) { uint256 oldValue = allowed[msg.sender][_spender]; if (_subtractedValue >= oldValue) { allowed[msg.sender][_spender] = 0; } else { allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue); } emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]); return true; } /// @notice `freeze? Prevent` `target` from sending & receiving tokens /// @param target Address to be frozen function freezeAccount(address target, uint256 freezeExpiration) onlyOwner committeeApproved public { frozenExpired[target] = freezeExpiration; //emit FrozenFunds(target, true); emit FrozenFunds(target, freezeExpiration); // SmartDec Recommendations } /// @notice `freeze? Allow` `target` from sending & receiving tokens /// @notice if expiration date was over, when this is called with transfer transaction, auto-unfreeze is occurred without committeeApproved /// the reason why it's separated from wrapper function. /// @param target Address to be unfrozen function _unfreezeAccount(address target) internal returns (bool success) { frozenExpired[target] = 0; //emit FrozenFunds(target, false); emit FrozenFunds(target, 0); // SmartDec Recommendations success = true; return success; } /// @notice _unfreezeAccount wrapper function. /// @param target Address to be unfrozen function unfreezeAccount(address target) onlyOwner committeeApproved public returns(bool success) { success = _unfreezeAccount(target); return success; } } /** * @title TokenExchanger * @notice This is for exchange between Ether and 'Nemo' token * It won't be needed after being listed on the exchange. */ contract TokenExchanger is TokenERC20{ using SafeMath for uint256; uint256 internal tokenPerEth; bool public opened; event ExchangeEtherToToken(address indexed from, uint256 etherValue, uint256 tokenPerEth); event ExchangeTokenToEther(address indexed from, uint256 etherValue, uint256 tokenPerEth); event WithdrawToken(address indexed to, uint256 value); event WithdrawEther(address indexed to, uint256 value); event SetExchangeRate(address indexed from, uint256 tokenPerEth); constructor(address _coOwner1, address _coOwner2, address _coOwner3, address _coOwner4, address _coOwner5) MultiOwnable( _coOwner1, _coOwner2, _coOwner3, _coOwner4, _coOwner5) public { opened = true; } /** * Initialize Exchanger Function * * Initialize Exchanger contract with tokenPerEth * and Initialize NemoCoin by calling initToken * It would call initToken in TokenERC20 with _tokenName, _tokenSymbol, _initalSupply * Last five arguments are manager account to supply currency (_marketSaleManager, _serviceOperationManager, _dividendManager, _incentiveManager, _reserveFundManager) * */ function initExchanger( string calldata _tokenName, string calldata _tokenSymbol, uint256 _initialSupply, uint256 _tokenPerEth, address _marketSaleManager, address _serviceOperationManager, address _dividendManager, address _incentiveManager, address _reserveFundManager ) external onlyOwner committeeApproved { require(opened); //require(_tokenPerEth > 0 && _initialSupply > 0); // [2019.03.05] Fixed for Mythril Vulerablity SWC ID:101 require(_tokenPerEth > 0); // SmartDec Recommendations require(_marketSaleManager != address(0) && _serviceOperationManager != address(0) && _dividendManager != address(0) && _incentiveManager != address(0) && _reserveFundManager != address(0)); require(_marketSaleManager != _serviceOperationManager && _marketSaleManager != _dividendManager && _marketSaleManager != _incentiveManager && _marketSaleManager != _reserveFundManager && _serviceOperationManager != _dividendManager && _serviceOperationManager != _incentiveManager && _serviceOperationManager != _reserveFundManager && _dividendManager != _incentiveManager && _dividendManager != _reserveFundManager && _incentiveManager != _reserveFundManager); // SmartDec Recommendations super.initToken(_tokenName, _tokenSymbol, _initialSupply, // SmartDec Recommendations _marketSaleManager, _serviceOperationManager, _dividendManager, _incentiveManager, _reserveFundManager ); tokenPerEth = _tokenPerEth; emit SetExchangeRate(msg.sender, tokenPerEth); } /** * Change tokenPerEth variable only by owner * * Because "TokenExchaner" is only used until be listed on the exchange, * tokenPerEth is needed by then and it would be managed by manager. */ function setExchangeRate(uint256 _tokenPerEth) onlyOwner committeeApproved external returns (bool success){ require(opened); require( _tokenPerEth > 0); tokenPerEth = _tokenPerEth; emit SetExchangeRate(msg.sender, tokenPerEth); success = true; return success; } function getExchangerRate() external view returns(uint256){ return tokenPerEth; } /** * Exchange Ether To Token * * @notice Send `Nemo` tokens to msg sender as much as amount of ether received considering exchangeRate. */ function exchangeEtherToToken() payable external noReentrancy returns (bool success){ require(opened); uint256 tokenPayment; uint256 ethAmount = msg.value; require(ethAmount > 0); require(tokenPerEth != 0); tokenPayment = ethAmount.mul(tokenPerEth); super._transfer(address(this), msg.sender, tokenPayment); emit ExchangeEtherToToken(msg.sender, msg.value, tokenPerEth); success = true; return success; } /** * Exchange Token To Ether * * @notice Send Ether to msg sender as much as amount of 'Nemo' Token received considering exchangeRate. * * @param _value Amount of 'Nemo' token */ function exchangeTokenToEther(uint256 _value) external noReentrancy returns (bool success){ require(opened); require(tokenPerEth != 0); uint256 remainingEthBalance = address(this).balance; uint256 etherPayment = _value.div(tokenPerEth); uint256 remainder = _value % tokenPerEth; // [2019.03.06 Fixing Securify vulnerabilities-Division influences Transfer Amount] require(remainingEthBalance >= etherPayment); uint256 tokenAmount = _value.sub(remainder); // [2019.03.06 Fixing Securify vulnerabilities-Division influences Transfer Amount] super._transfer(msg.sender, address(this), tokenAmount); // [2019.03.06 Fixing Securify vulnerabilities-Division influences Transfer Amount] //require(address(msg.sender).send(etherPayment)); address(msg.sender).transfer(etherPayment); // SmartDec Recommendations emit ExchangeTokenToEther(address(this), etherPayment, tokenPerEth); success = true; return success; } /** * Withdraw token from TokenExchanger contract * * @notice Withdraw charged Token to _recipient. * * @param _recipient The address to which the token was issued. * @param _value Amount of token to withdraw. */ function withdrawToken(address _recipient, uint256 _value) onlyOwner committeeApproved noReentrancy public { //require(opened); super._transfer(address(this) ,_recipient, _value); emit WithdrawToken(_recipient, _value); } /** * Withdraw Ether from TokenExchanger contract * * @notice Withdraw charged Ether to _recipient. * * @param _recipient The address to which the Ether was issued. * @param _value Amount of Ether to withdraw. */ function withdrawEther(address payable _recipient, uint256 _value) onlyOwner committeeApproved noReentrancy public { //require(opened); //require(_recipient.send(_value)); _recipient.transfer(_value); // SmartDec Recommendations emit WithdrawEther(_recipient, _value); } /** * close the TokenExchanger functions permanently * * @notice This contract would be closed when the coin is actively traded and judged that its TokenExchanger function is not needed. */ function closeExchanger() onlyOwner committeeApproved external { opened = false; } } /** * @title NemodaxStorage * * @dev This is contract for proxyNemodax data order list. * Contract shouldn't be changed as possible. * If it should be edited, please add from the end of the contract . */ contract NemodaxStorage is RunningContractManager { // Never ever change the order of variables below!!!! // Public variables of the token string public name; string public symbol; uint8 public decimals = 18; // 18 decimals is the strongly suggested default, avoid changing it uint256 public totalSupply; /* This creates an array with all balances */ mapping (address => uint256) internal balances; mapping (address => mapping (address => uint256)) internal allowed; mapping (address => uint256) public frozenExpired; // SmartDec Recommendations bool private initialized; uint256 internal tokenPerEth; bool public opened = true; } /** * @title ProxyNemodax * * @dev The only fallback function will forward transaction to TokenExchanger Contract. * and the result of calculation would be stored in ProxyNemodax * */ contract ProxyNemodax is NemodaxStorage { /* Initialize new committee. this will be real committee accounts, not from TokenExchanger contract */ constructor(address _coOwner1, address _coOwner2, address _coOwner3, address _coOwner4, address _coOwner5) MultiOwnable( _coOwner1, _coOwner2, _coOwner3, _coOwner4, _coOwner5) public {} function () payable external { address localImpl = implementation; require(localImpl != address(0x0)); assembly { let ptr := mload(0x40) switch calldatasize case 0 { } // just to receive ethereum default{ calldatacopy(ptr, 0, calldatasize) let result := delegatecall(gas, localImpl, ptr, calldatasize, 0, 0) let size := returndatasize returndatacopy(ptr, 0, size) switch result case 0 { revert(ptr, size) } default { return(ptr, size) } } } } }
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":false,"inputs":[{"name":"_newAddr","type":"address"}],"name":"upgrade","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"dismiss","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_toRemove","type":"address"}],"name":"removeOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","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":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"committeeStatus","outputs":[{"name":"numOfOwners","type":"uint8"},{"name":"numOfVotes","type":"uint8"},{"name":"numOfMinOwners","type":"uint8"},{"name":"proposedFuncData","type":"bytes"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_targetFuncData","type":"bytes"}],"name":"propose","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"implementation","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"opened","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"vote","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"owner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"frozenExpired","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"addOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"ballot","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_coOwner1","type":"address"},{"name":"_coOwner2","type":"address"},{"name":"_coOwner3","type":"address"},{"name":"_coOwner4","type":"address"},{"name":"_coOwner5","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"newContract","type":"address"}],"name":"Upgraded","type":"event"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"proposer","type":"address"},{"indexed":true,"name":"proposedFuncData","type":"bytes"}],"name":"Vote","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"proposer","type":"address"},{"indexed":true,"name":"proposedFuncData","type":"bytes"}],"name":"Propose","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"proposer","type":"address"},{"indexed":true,"name":"proposedFuncData","type":"bytes"}],"name":"Dismiss","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newOwner","type":"address"}],"name":"AddedOwner","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"removedOwner","type":"address"}],"name":"RemovedOwner","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"from","type":"address"},{"indexed":false,"name":"to","type":"address"}],"name":"TransferOwnership","type":"event"}]
Contract Creation Code
60806040526007805460ff19908116601217909155600e805490911660011790553480156200002d57600080fd5b5060405160a08062001887833981018060405260a08110156200004f57600080fd5b508051602082015160408301516060840151608090940151929391929091908484848484600160a060020a03851615801590620000945750600160a060020a03841615155b8015620000a95750600160a060020a03831615155b8015620000be5750600160a060020a03821615155b8015620000d35750600160a060020a03811615155b1515620000df57600080fd5b83600160a060020a031685600160a060020a03161415801562000114575082600160a060020a031685600160a060020a031614155b801562000133575081600160a060020a031685600160a060020a031614155b801562000152575080600160a060020a031685600160a060020a031614155b801562000171575082600160a060020a031684600160a060020a031614155b801562000190575081600160a060020a031684600160a060020a031614155b8015620001af575080600160a060020a031684600160a060020a031614155b8015620001ce575081600160a060020a031683600160a060020a031614155b8015620001ed575080600160a060020a031683600160a060020a031614155b80156200020c575080600160a060020a031682600160a060020a031614155b15156200021857600080fd5b600160a060020a0385811660008181526003602090815260408083208054600160ff1991821681179092558a871685528285208054821683179055898716855282852080548216831790558887168552828520805482168317905595871684528184208054871690911790558254600595169490941762ff0000191662050000179091558251918252915160008051602062001867833981519152929181900390910190a160408051600160a060020a03861681529051600080516020620018678339815191529181900360200190a160408051600160a060020a03851681529051600080516020620018678339815191529181900360200190a160408051600160a060020a03841681529051600080516020620018678339815191529181900360200190a160408051600160a060020a03831681529051600080516020620018678339815191529181900360200190a1505050505050505050506114e480620003836000396000f3fe608060405260043610610131576000357c0100000000000000000000000000000000000000000000000000000000900480635c60da1b116100bd5780637065cb48116100815780637065cb48146105295780638456cb591461055c57806395d89b4114610571578063e794273414610586578063f2fde38b146105b057610131565b80635c60da1b146104545780635f88eade14610485578063632a9a52146104ae578063666e1b39146104c35780636ebc9d6b146104f657610131565b806318160ddd1161010457806318160ddd14610286578063313ce567146102ad57806331d26094146102d857806337558af51461038c5780633f4ba83a1461043f57610131565b806306fdde031461017f5780630900f0101461020957806311c8ccb81461023e578063173825d914610253575b6004546101009004600160a060020a031680151561014e57600080fd5b60405136801561017a5736600083376000803684865af43d806000853e818015610176578185f35b8185fd5b505050005b34801561018b57600080fd5b506101946105e3565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101ce5781810151838201526020016101b6565b50505050905090810190601f1680156101fb5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561021557600080fd5b5061023c6004803603602081101561022c57600080fd5b5035600160a060020a0316610671565b005b34801561024a57600080fd5b5061023c6107d8565b34801561025f57600080fd5b5061023c6004803603602081101561027657600080fd5b5035600160a060020a0316610800565b34801561029257600080fd5b5061029b6109ac565b60408051918252519081900360200190f35b3480156102b957600080fd5b506102c26109b2565b6040805160ff9092168252519081900360200190f35b3480156102e457600080fd5b506102ed6109bb565b604051808560ff1660ff1681526020018460ff1660ff1681526020018360ff1660ff16815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561034e578181015183820152602001610336565b50505050905090810190601f16801561037b5780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b34801561039857600080fd5b5061023c600480360360208110156103af57600080fd5b8101906020810181356401000000008111156103ca57600080fd5b8201836020820111156103dc57600080fd5b803590602001918460018302840111640100000000831117156103fe57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610a61945050505050565b34801561044b57600080fd5b5061023c610b4d565b34801561046057600080fd5b50610469610c79565b60408051600160a060020a039092168252519081900360200190f35b34801561049157600080fd5b5061049a610c8d565b604080519115158252519081900360200190f35b3480156104ba57600080fd5b5061023c610c96565b3480156104cf57600080fd5b5061049a600480360360208110156104e657600080fd5b5035600160a060020a0316610e24565b34801561050257600080fd5b5061029b6004803603602081101561051957600080fd5b5035600160a060020a0316610e39565b34801561053557600080fd5b5061023c6004803603602081101561054c57600080fd5b5035600160a060020a0316610e4b565b34801561056857600080fd5b5061023c610fe0565b34801561057d57600080fd5b5061019461110e565b34801561059257600080fd5b50610469600480360360208110156105a957600080fd5b5035611169565b3480156105bc57600080fd5b5061023c600480360360208110156105d357600080fd5b5035600160a060020a0316611191565b6005805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106695780601f1061063e57610100808354040283529160200191610669565b820191906000526020600020905b81548152906001019060200180831161064c57829003601f168201915b505050505081565b3360009081526003602052604090205460ff16151561068f57600080fd5b60003660405180838380828437604051920182900382206001805491965094509192508291849150600260001961010083851615020190911604801561070c5780601f106106ea57610100808354040283529182019161070c565b820191906000526020600020905b8154815290600101906020018083116106f8575b5050915050604051809103902014151561072557600080fd5b60005461073c9060ff16600263ffffffff61132416565b600054610100900460ff161161075157600080fd5b600454600160a060020a0382811661010090920416141561077157600080fd5b6004805474ffffffffffffffffffffffffffffffffffffffff001916610100600160a060020a038416908102919091179091556040517fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a26107d5611339565b50565b3360009081526003602052604090205460ff1615156107f657600080fd5b6107fe611339565b565b3360009081526003602052604090205460ff16151561081e57600080fd5b60003660405180838380828437604051920182900382206001805491965094509192508291849150600260001961010083851615020190911604801561089b5780601f1061087957610100808354040283529182019161089b565b820191906000526020600020905b815481529060010190602001808311610887575b505091505060405180910390201415156108b457600080fd5b6000546108cb9060ff16600263ffffffff61132416565b600054610100900460ff16116108e057600080fd5b600160a060020a03811615156108f557600080fd5b600160a060020a03811660009081526003602052604090205460ff16151560011461091f57600080fd5b60005460ff620100008204811691161161093857600080fd5b600160a060020a0381166000818152600360209081526040808320805460ff19908116909155835460001960ff8281169190910116911617909255815192835290517ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf9281900390910190a16107d5611339565b60085481565b60075460ff1681565b600080546001805460408051602060026101008587161581026000190190951604601f810182900482028301820190935282825260ff808716979487048116966201000090041694919290830182828015610a575780601f10610a2c57610100808354040283529160200191610a57565b820191906000526020600020905b815481529060010190602001808311610a3a57829003601f168201915b5050505050905084565b3360009081526003602052604090205460ff161515610a7f57600080fd5b600054610100900460ff1615610a9457600080fd5b600180546002918116156101000260001901160415610ab257600080fd5b8051610ac5906001906020840190611403565b50806040518082805190602001908083835b60208310610af65780518252601f199092019160209182019101610ad7565b5181516020939093036101000a60001901801990911692169190911790526040519201829003822093503392507f641e122cc622920a3bce4840ce4dbc59f7bb5601be24c153c67daabb9134b2569160009150a350565b3360009081526003602052604090205460ff161515610b6b57600080fd5b600036604051808383808284376040519201829003822060018054919650945091925082918491506002600019610100838516150201909116048015610be85780601f10610bc6576101008083540402835291820191610be8565b820191906000526020600020905b815481529060010190602001808311610bd4575b50509150506040518091039020141515610c0157600080fd5b600054610c189060ff16600263ffffffff61132416565b600054610100900460ff1611610c2d57600080fd5b60045460ff161515610c3e57600080fd5b6004805460ff191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a16107fe611339565b6004546101009004600160a060020a031681565b600e5460ff1681565b3360009081526003602052604090205460ff161515610cb457600080fd5b60025460005b81811015610cfb576002805433919083908110610cd357fe5b600091825260209091200154600160a060020a03161415610cf357600080fd5b600101610cba565b5060018054600291811615610100026000190116041515610d1b57600080fd5b6000805460ff61010080830482166001908101909216810261ff0019909316929092178355600280548083018255938190527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace909301805473ffffffffffffffffffffffffffffffffffffffff19163317905560405181549193909283928592818416159092026000190116048015610deb5780601f10610dc9576101008083540402835291820191610deb565b820191906000526020600020905b815481529060010190602001808311610dd7575b505060405190819003812092503391507f1bacfd660758a6eee44b9973ba8e452aad60edbcffc67bbae34e8cb3fa3e52da90600090a350565b60036020526000908152604090205460ff1681565b600b6020526000908152604090205481565b3360009081526003602052604090205460ff161515610e6957600080fd5b600036604051808383808284376040519201829003822060018054919650945091925082918491506002600019610100838516150201909116048015610ee65780601f10610ec4576101008083540402835291820191610ee6565b820191906000526020600020905b815481529060010190602001808311610ed2575b50509150506040518091039020141515610eff57600080fd5b600054610f169060ff16600263ffffffff61132416565b600054610100900460ff1611610f2b57600080fd5b600160a060020a0381161515610f4057600080fd5b600160a060020a03811660009081526003602052604090205460ff16151560011415610f6b57600080fd5b600160a060020a03811660008181526003602090815260408083208054600160ff199182168117909255845490811660ff9182169092011617909255815192835290517f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea269281900390910190a16107d5611339565b3360009081526003602052604090205460ff161515610ffe57600080fd5b60003660405180838380828437604051920182900382206001805491965094509192508291849150600260001961010083851615020190911604801561107b5780601f1061105957610100808354040283529182019161107b565b820191906000526020600020905b815481529060010190602001808311611067575b5050915050604051809103902014151561109457600080fd5b6000546110ab9060ff16600263ffffffff61132416565b600054610100900460ff16116110c057600080fd5b60045460ff16156110d057600080fd5b6004805460ff191660011790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a16107fe611339565b6006805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106695780601f1061063e57610100808354040283529160200191610669565b600280548290811061117757fe5b600091825260209091200154600160a060020a0316905081565b3360009081526003602052604090205460ff1615156111af57600080fd5b60003660405180838380828437604051920182900382206001805491965094509192508291849150600260001961010083851615020190911604801561122c5780601f1061120a57610100808354040283529182019161122c565b820191906000526020600020905b815481529060010190602001808311611218575b5050915050604051809103902014151561124557600080fd5b60005461125c9060ff16600263ffffffff61132416565b600054610100900460ff161161127157600080fd5b600160a060020a038116151561128657600080fd5b600160a060020a03811660009081526003602052604090205460ff16156112ac57600080fd5b336000818152600360209081526040808320805460ff19908116909155600160a060020a038616808552938290208054909116600117905580519384529083019190915280517f5c486528ec3e3f0ea91181cff8116f02bfa350e03b8b6f12e00765adbb5af85c9281900390910190a16107d5611339565b6000818381151561133157fe5b049392505050565b600060010160405180828054600181600116156101000203166002900480156113995780601f10611377576101008083540402835291820191611399565b820191906000526020600020905b815481529060010190602001808311611385575b505060405190819003812092503391507fd3a993c9c64be96d3e5d92cf1dee9b4f3c7d3278ee948819cc8552a9e3c49f5190600090a36000805461ff00191681556040805160208101918290528290526113f69160019190611403565b506107fe60026000611481565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061144457805160ff1916838001178555611471565b82800160010185558215611471579182015b82811115611471578251825591602001919060010190611456565b5061147d92915061149b565b5090565b50805460008255906000526020600020908101906107d591905b6114b591905b8082111561147d57600081556001016114a1565b9056fea165627a7a7230582074c0ae1b4ebeda8934f4a7a9c550893cbc2026406a5ac0b37145815a82bceb6300299465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26000000000000000000000000b5e2d980bb3c9a0300d824fa0db47a92fec5fccf00000000000000000000000096f3e8c4c11fcd0aa7cce9b7c5221ebc26b4ada80000000000000000000000008323b1a64cc2579a5f899bb3277c7b616bde6276000000000000000000000000e2d57239c6785ee9586e94dc5eaa33b6978a6785000000000000000000000000f91ed17cd1f7849f2ff8617b2a38a67e4bfd0791
Deployed Bytecode
0x608060405260043610610131576000357c0100000000000000000000000000000000000000000000000000000000900480635c60da1b116100bd5780637065cb48116100815780637065cb48146105295780638456cb591461055c57806395d89b4114610571578063e794273414610586578063f2fde38b146105b057610131565b80635c60da1b146104545780635f88eade14610485578063632a9a52146104ae578063666e1b39146104c35780636ebc9d6b146104f657610131565b806318160ddd1161010457806318160ddd14610286578063313ce567146102ad57806331d26094146102d857806337558af51461038c5780633f4ba83a1461043f57610131565b806306fdde031461017f5780630900f0101461020957806311c8ccb81461023e578063173825d914610253575b6004546101009004600160a060020a031680151561014e57600080fd5b60405136801561017a5736600083376000803684865af43d806000853e818015610176578185f35b8185fd5b505050005b34801561018b57600080fd5b506101946105e3565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101ce5781810151838201526020016101b6565b50505050905090810190601f1680156101fb5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561021557600080fd5b5061023c6004803603602081101561022c57600080fd5b5035600160a060020a0316610671565b005b34801561024a57600080fd5b5061023c6107d8565b34801561025f57600080fd5b5061023c6004803603602081101561027657600080fd5b5035600160a060020a0316610800565b34801561029257600080fd5b5061029b6109ac565b60408051918252519081900360200190f35b3480156102b957600080fd5b506102c26109b2565b6040805160ff9092168252519081900360200190f35b3480156102e457600080fd5b506102ed6109bb565b604051808560ff1660ff1681526020018460ff1660ff1681526020018360ff1660ff16815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561034e578181015183820152602001610336565b50505050905090810190601f16801561037b5780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b34801561039857600080fd5b5061023c600480360360208110156103af57600080fd5b8101906020810181356401000000008111156103ca57600080fd5b8201836020820111156103dc57600080fd5b803590602001918460018302840111640100000000831117156103fe57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610a61945050505050565b34801561044b57600080fd5b5061023c610b4d565b34801561046057600080fd5b50610469610c79565b60408051600160a060020a039092168252519081900360200190f35b34801561049157600080fd5b5061049a610c8d565b604080519115158252519081900360200190f35b3480156104ba57600080fd5b5061023c610c96565b3480156104cf57600080fd5b5061049a600480360360208110156104e657600080fd5b5035600160a060020a0316610e24565b34801561050257600080fd5b5061029b6004803603602081101561051957600080fd5b5035600160a060020a0316610e39565b34801561053557600080fd5b5061023c6004803603602081101561054c57600080fd5b5035600160a060020a0316610e4b565b34801561056857600080fd5b5061023c610fe0565b34801561057d57600080fd5b5061019461110e565b34801561059257600080fd5b50610469600480360360208110156105a957600080fd5b5035611169565b3480156105bc57600080fd5b5061023c600480360360208110156105d357600080fd5b5035600160a060020a0316611191565b6005805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106695780601f1061063e57610100808354040283529160200191610669565b820191906000526020600020905b81548152906001019060200180831161064c57829003601f168201915b505050505081565b3360009081526003602052604090205460ff16151561068f57600080fd5b60003660405180838380828437604051920182900382206001805491965094509192508291849150600260001961010083851615020190911604801561070c5780601f106106ea57610100808354040283529182019161070c565b820191906000526020600020905b8154815290600101906020018083116106f8575b5050915050604051809103902014151561072557600080fd5b60005461073c9060ff16600263ffffffff61132416565b600054610100900460ff161161075157600080fd5b600454600160a060020a0382811661010090920416141561077157600080fd5b6004805474ffffffffffffffffffffffffffffffffffffffff001916610100600160a060020a038416908102919091179091556040517fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a26107d5611339565b50565b3360009081526003602052604090205460ff1615156107f657600080fd5b6107fe611339565b565b3360009081526003602052604090205460ff16151561081e57600080fd5b60003660405180838380828437604051920182900382206001805491965094509192508291849150600260001961010083851615020190911604801561089b5780601f1061087957610100808354040283529182019161089b565b820191906000526020600020905b815481529060010190602001808311610887575b505091505060405180910390201415156108b457600080fd5b6000546108cb9060ff16600263ffffffff61132416565b600054610100900460ff16116108e057600080fd5b600160a060020a03811615156108f557600080fd5b600160a060020a03811660009081526003602052604090205460ff16151560011461091f57600080fd5b60005460ff620100008204811691161161093857600080fd5b600160a060020a0381166000818152600360209081526040808320805460ff19908116909155835460001960ff8281169190910116911617909255815192835290517ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf9281900390910190a16107d5611339565b60085481565b60075460ff1681565b600080546001805460408051602060026101008587161581026000190190951604601f810182900482028301820190935282825260ff808716979487048116966201000090041694919290830182828015610a575780601f10610a2c57610100808354040283529160200191610a57565b820191906000526020600020905b815481529060010190602001808311610a3a57829003601f168201915b5050505050905084565b3360009081526003602052604090205460ff161515610a7f57600080fd5b600054610100900460ff1615610a9457600080fd5b600180546002918116156101000260001901160415610ab257600080fd5b8051610ac5906001906020840190611403565b50806040518082805190602001908083835b60208310610af65780518252601f199092019160209182019101610ad7565b5181516020939093036101000a60001901801990911692169190911790526040519201829003822093503392507f641e122cc622920a3bce4840ce4dbc59f7bb5601be24c153c67daabb9134b2569160009150a350565b3360009081526003602052604090205460ff161515610b6b57600080fd5b600036604051808383808284376040519201829003822060018054919650945091925082918491506002600019610100838516150201909116048015610be85780601f10610bc6576101008083540402835291820191610be8565b820191906000526020600020905b815481529060010190602001808311610bd4575b50509150506040518091039020141515610c0157600080fd5b600054610c189060ff16600263ffffffff61132416565b600054610100900460ff1611610c2d57600080fd5b60045460ff161515610c3e57600080fd5b6004805460ff191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a16107fe611339565b6004546101009004600160a060020a031681565b600e5460ff1681565b3360009081526003602052604090205460ff161515610cb457600080fd5b60025460005b81811015610cfb576002805433919083908110610cd357fe5b600091825260209091200154600160a060020a03161415610cf357600080fd5b600101610cba565b5060018054600291811615610100026000190116041515610d1b57600080fd5b6000805460ff61010080830482166001908101909216810261ff0019909316929092178355600280548083018255938190527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace909301805473ffffffffffffffffffffffffffffffffffffffff19163317905560405181549193909283928592818416159092026000190116048015610deb5780601f10610dc9576101008083540402835291820191610deb565b820191906000526020600020905b815481529060010190602001808311610dd7575b505060405190819003812092503391507f1bacfd660758a6eee44b9973ba8e452aad60edbcffc67bbae34e8cb3fa3e52da90600090a350565b60036020526000908152604090205460ff1681565b600b6020526000908152604090205481565b3360009081526003602052604090205460ff161515610e6957600080fd5b600036604051808383808284376040519201829003822060018054919650945091925082918491506002600019610100838516150201909116048015610ee65780601f10610ec4576101008083540402835291820191610ee6565b820191906000526020600020905b815481529060010190602001808311610ed2575b50509150506040518091039020141515610eff57600080fd5b600054610f169060ff16600263ffffffff61132416565b600054610100900460ff1611610f2b57600080fd5b600160a060020a0381161515610f4057600080fd5b600160a060020a03811660009081526003602052604090205460ff16151560011415610f6b57600080fd5b600160a060020a03811660008181526003602090815260408083208054600160ff199182168117909255845490811660ff9182169092011617909255815192835290517f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea269281900390910190a16107d5611339565b3360009081526003602052604090205460ff161515610ffe57600080fd5b60003660405180838380828437604051920182900382206001805491965094509192508291849150600260001961010083851615020190911604801561107b5780601f1061105957610100808354040283529182019161107b565b820191906000526020600020905b815481529060010190602001808311611067575b5050915050604051809103902014151561109457600080fd5b6000546110ab9060ff16600263ffffffff61132416565b600054610100900460ff16116110c057600080fd5b60045460ff16156110d057600080fd5b6004805460ff191660011790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a16107fe611339565b6006805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106695780601f1061063e57610100808354040283529160200191610669565b600280548290811061117757fe5b600091825260209091200154600160a060020a0316905081565b3360009081526003602052604090205460ff1615156111af57600080fd5b60003660405180838380828437604051920182900382206001805491965094509192508291849150600260001961010083851615020190911604801561122c5780601f1061120a57610100808354040283529182019161122c565b820191906000526020600020905b815481529060010190602001808311611218575b5050915050604051809103902014151561124557600080fd5b60005461125c9060ff16600263ffffffff61132416565b600054610100900460ff161161127157600080fd5b600160a060020a038116151561128657600080fd5b600160a060020a03811660009081526003602052604090205460ff16156112ac57600080fd5b336000818152600360209081526040808320805460ff19908116909155600160a060020a038616808552938290208054909116600117905580519384529083019190915280517f5c486528ec3e3f0ea91181cff8116f02bfa350e03b8b6f12e00765adbb5af85c9281900390910190a16107d5611339565b6000818381151561133157fe5b049392505050565b600060010160405180828054600181600116156101000203166002900480156113995780601f10611377576101008083540402835291820191611399565b820191906000526020600020905b815481529060010190602001808311611385575b505060405190819003812092503391507fd3a993c9c64be96d3e5d92cf1dee9b4f3c7d3278ee948819cc8552a9e3c49f5190600090a36000805461ff00191681556040805160208101918290528290526113f69160019190611403565b506107fe60026000611481565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061144457805160ff1916838001178555611471565b82800160010185558215611471579182015b82811115611471578251825591602001919060010190611456565b5061147d92915061149b565b5090565b50805460008255906000526020600020908101906107d591905b6114b591905b8082111561147d57600081556001016114a1565b9056fea165627a7a7230582074c0ae1b4ebeda8934f4a7a9c550893cbc2026406a5ac0b37145815a82bceb630029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000b5e2d980bb3c9a0300d824fa0db47a92fec5fccf00000000000000000000000096f3e8c4c11fcd0aa7cce9b7c5221ebc26b4ada80000000000000000000000008323b1a64cc2579a5f899bb3277c7b616bde6276000000000000000000000000e2d57239c6785ee9586e94dc5eaa33b6978a6785000000000000000000000000f91ed17cd1f7849f2ff8617b2a38a67e4bfd0791
-----Decoded View---------------
Arg [0] : _coOwner1 (address): 0xb5e2D980bB3C9A0300d824fa0db47A92fEc5fccf
Arg [1] : _coOwner2 (address): 0x96f3E8c4C11fcd0Aa7CCE9b7C5221EBC26b4Ada8
Arg [2] : _coOwner3 (address): 0x8323B1a64cc2579A5f899BB3277C7B616bDE6276
Arg [3] : _coOwner4 (address): 0xe2D57239c6785ee9586E94Dc5EAa33b6978a6785
Arg [4] : _coOwner5 (address): 0xF91ED17cD1f7849f2Ff8617b2A38a67e4bFD0791
-----Encoded View---------------
5 Constructor Arguments found :
Arg [0] : 000000000000000000000000b5e2d980bb3c9a0300d824fa0db47a92fec5fccf
Arg [1] : 00000000000000000000000096f3e8c4c11fcd0aa7cce9b7c5221ebc26b4ada8
Arg [2] : 0000000000000000000000008323b1a64cc2579a5f899bb3277c7b616bde6276
Arg [3] : 000000000000000000000000e2d57239c6785ee9586e94dc5eaa33b6978a6785
Arg [4] : 000000000000000000000000f91ed17cd1f7849f2ff8617b2a38a67e4bfd0791
Deployed Bytecode Sourcemap
31256:1108:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;31743:14;;;;;-1:-1:-1;;;;;31743:14:0;31776:25;;;31768:34;;;;;;31856:4;31850:11;31884:12;31910:11;;;;32012:12;32009:1;32004:3;31991:34;32110:1;32107;32093:12;32088:3;32077:9;32072:3;32059:53;32142:14;32197:4;32194:1;32189:3;32174:28;32227:6;32253:28;;;;32321:4;32316:3;32309:17;32253:28;32274:4;32269:3;32262:17;31910:11;31877:466;31824:530;;31256:1108;30497:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;30497:18:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;30497:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9633:224;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9633:224:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9633:224:0;-1:-1:-1;;;;;9633:224:0;;:::i;:::-;;5519:63;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5519:63:0;;;:::i;8145:420::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8145:420:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8145:420:0;-1:-1:-1;;;;;8145:420:0;;:::i;30653:26::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;30653:26:0;;;:::i;:::-;;;;;;;;;;;;;;;;30549;;8:9:-1;5:2;;;30:1;27;20:12;5:2;30549:26:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1927:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1927:42:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1927:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4926:415;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4926:415:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4926:415:0;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;4926:415:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;4926:415:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;4926:415:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;4926:415:0;;-1:-1:-1;4926:415:0;;-1:-1:-1;;;;;4926:415:0:i;9257:123::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9257:123:0;;;:::i;9516:29::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9516:29:0;;;:::i;:::-;;;;-1:-1:-1;;;;;9516:29:0;;;;;;;;;;;;;;31019:25;;8:9:-1;5:2;;;30:1;27;20:12;5:2;31019:25:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;6371:651;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6371:651:0;;;:::i;2048:37::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2048:37:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2048:37:0;-1:-1:-1;;;;;2048:37:0;;:::i;30865:49::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;30865:49:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;30865:49:0;-1:-1:-1;;;;;30865:49:0;;:::i;7722:284::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7722:284:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7722:284:0;-1:-1:-1;;;;;7722:284:0;;:::i;9128:121::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9128:121:0;;;:::i;30522:20::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;30522:20:0;;;:::i;1978:23::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1978:23:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1978:23:0;;:::i;7252:336::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7252:336:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7252:336:0;-1:-1:-1;;;;;7252:336:0;;:::i;30497:18::-;;;;;;;;;;;;;;;-1:-1:-1;;30497:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;9633:224::-;4066:10;4060:17;;;;:5;:17;;;;;;;;4052:26;;;;;;;;4482:8;;4472:19;;;;;30:3:-1;22:6;14;1:33;4472:19:0;;45:16:-1;;4472:19:0;;;;;4435:32;4425:43;;4472:19;;-1:-1:-1;4435:32:0;-1:-1:-1;4472:19:0;;-1:-1:-1;4472:19:0;;4435:32;;-1:-1:-1;4425:43:0;-1:-1:-1;;4425:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:66;4416:77;;;;;;;;4600:15;:27;:34;;:27;;4632:1;4600:34;:31;:34;:::i;:::-;4571:15;:26;;;;;;:63;4563:72;;;;;;9724:14;;-1:-1:-1;;;;;9724:26:0;;;:14;;;;;:26;;9716:35;;;;;;9762:14;:25;;-1:-1:-1;;9762:25:0;;-1:-1:-1;;;;;9762:25:0;;;;;;;;;;;;9803:18;;;;-1:-1:-1;;9803:18:0;4654:10;:8;:10::i;:::-;9633:224;:::o;5519:63::-;4066:10;4060:17;;;;:5;:17;;;;;;;;4052:26;;;;;;;;5564:10;:8;:10::i;:::-;5519:63::o;8145:420::-;4066:10;4060:17;;;;:5;:17;;;;;;;;4052:26;;;;;;;;4482:8;;4472:19;;;;;30:3:-1;22:6;14;1:33;4472:19:0;;45:16:-1;;4472:19:0;;;;;4435:32;4425:43;;4472:19;;-1:-1:-1;4435:32:0;-1:-1:-1;4472:19:0;;-1:-1:-1;4472:19:0;;4435:32;;-1:-1:-1;4425:43:0;-1:-1:-1;;4425:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:66;4416:77;;;;;;;;4600:15;:27;:34;;:27;;4632:1;4600:34;:31;:34;:::i;:::-;4571:15;:26;;;;;;:63;4563:72;;;;;;-1:-1:-1;;;;;8240:25:0;;;;8231:36;;;;;;-1:-1:-1;;;;;8287:16:0;;;;;;:5;:16;;;;;;;;:24;;:16;:24;8278:35;;;;;;8363:15;:30;;;;;;;8333:27;;:60;8324:71;;;;;;-1:-1:-1;;;;;8454:16:0;;8473:5;8454:16;;;:5;:16;;;;;;;;:24;;-1:-1:-1;;8454:24:0;;;;;;8489:29;;-1:-1:-1;;8454:24:0;8489:29;;;;;;;;;;;;;;8534:23;;;;;;;;;;;;;;;;;4654:10;:8;:10::i;30653:26::-;;;;:::o;30549:::-;;;;;;:::o;1927:42::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1927:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4926:415::-;4066:10;4060:17;;;;:5;:17;;;;;;;;4052:26;;;;;;;;5060:15;:26;;;;;;:31;5052:40;;;;;;5109:32;:39;;;;;;;;;-1:-1:-1;;5109:39:0;;;:44;5101:53;;;;;;5233:50;;;;:32;;:50;;;;;:::i;:::-;;5317:15;5297:36;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;;;;365:33;;5297:36:0;;;;;;;;;;-1:-1:-1;5305:10:0;;-1:-1:-1;5297:36:0;;-1:-1:-1;;;5297:36:0;4926:415;:::o;9257:123::-;4066:10;4060:17;;;;:5;:17;;;;;;;;4052:26;;;;;;;;4482:8;;4472:19;;;;;30:3:-1;22:6;14;1:33;4472:19:0;;45:16:-1;;4472:19:0;;;;;4435:32;4425:43;;4472:19;;-1:-1:-1;4435:32:0;-1:-1:-1;4472:19:0;;-1:-1:-1;4472:19:0;;4435:32;;-1:-1:-1;4425:43:0;-1:-1:-1;;4425:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:66;4416:77;;;;;;;;4600:15;:27;:34;;:27;;4632:1;4600:34;:31;:34;:::i;:::-;4571:15;:26;;;;;;:63;4563:72;;;;;;8807:6;;;;8799:15;;;;;;;;9333:6;:14;;-1:-1:-1;;9333:14:0;;;9363:9;;;;9342:5;;9363:9;4654:10;:8;:10::i;9516:29::-;;;;;;-1:-1:-1;;;;;9516:29:0;;:::o;31019:25::-;;;;;;:::o;6371:651::-;4066:10;4060:17;;;;:5;:17;;;;;;;;4052:26;;;;;;;;6467:6;:13;6453:11;6517:98;6533:6;6531:1;:8;6517:98;;;6591:6;:9;;6604:10;;6591:6;6598:1;;6591:9;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6591:9:0;:23;;6583:32;;;;;;6541:3;;6517:98;;;-1:-1:-1;6694:32:0;:39;;;;;;;;;-1:-1:-1;;6694:39:0;;;:44;;6685:55;;;;;;6890:15;:28;;;;;;;;;:26;:28;;;;;;;;-1:-1:-1;;6890:28:0;;;;;;;;;6927:6;27:10:-1;;23:18;;;45:23;;6927::0;;;;;;;;;;-1:-1:-1;;6927:23:0;6939:10;6927:23;;;6964:50;;;;6890:26;;6964:50;;;;6890:26;;6964:50;;;;;;;-1:-1:-1;;6964:50:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6964:50:0;;;;;;;;;-1:-1:-1;6969:10:0;;-1:-1:-1;6964:50:0;;;;;4089:1;6371:651::o;2048:37::-;;;;;;;;;;;;;;;:::o;30865:49::-;;;;;;;;;;;;;:::o;7722:284::-;4066:10;4060:17;;;;:5;:17;;;;;;;;4052:26;;;;;;;;4482:8;;4472:19;;;;;30:3:-1;22:6;14;1:33;4472:19:0;;45:16:-1;;4472:19:0;;;;;4435:32;4425:43;;4472:19;;-1:-1:-1;4435:32:0;-1:-1:-1;4472:19:0;;-1:-1:-1;4472:19:0;;4435:32;;-1:-1:-1;4425:43:0;-1:-1:-1;;4425:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:66;4416:77;;;;;;;;4600:15;:27;:34;;:27;;4632:1;4600:34;:31;:34;:::i;:::-;4571:15;:26;;;;;;:63;4563:72;;;;;;-1:-1:-1;;;;;7814:25:0;;;;7805:36;;;;;;-1:-1:-1;;;;;7861:16:0;;;;;;:5;:16;;;;;;;;:24;;:16;:24;;7852:35;;;;;;-1:-1:-1;;;;;7898:16:0;;;;;;:5;:16;;;;;;;;:23;;7917:4;-1:-1:-1;;7898:23:0;;;;;;;;7932:29;;;;;7898:23;7932:29;;;;;;;;;;;7977:21;;;;;;;;;;;;;;;;;4654:10;:8;:10::i;9128:121::-;4066:10;4060:17;;;;:5;:17;;;;;;;;4052:26;;;;;;;;4482:8;;4472:19;;;;;30:3:-1;22:6;14;1:33;4472:19:0;;45:16:-1;;4472:19:0;;;;;4435:32;4425:43;;4472:19;;-1:-1:-1;4435:32:0;-1:-1:-1;4472:19:0;;-1:-1:-1;4472:19:0;;4435:32;;-1:-1:-1;4425:43:0;-1:-1:-1;;4425:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:66;4416:77;;;;;;;;4600:15;:27;:34;;:27;;4632:1;4600:34;:31;:34;:::i;:::-;4571:15;:26;;;;;;:63;4563:72;;;;;;8731:6;;;;8730:7;8722:16;;;;;;9205:6;:13;;-1:-1:-1;;9205:13:0;9214:4;9205:13;;;9234:7;;;;9205:6;;9234:7;4654:10;:8;:10::i;30522:20::-;;;;;;;;;;;;;;;-1:-1:-1;;30522:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1978:23;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1978:23:0;;-1:-1:-1;1978:23:0;:::o;7252:336::-;4066:10;4060:17;;;;:5;:17;;;;;;;;4052:26;;;;;;;;4482:8;;4472:19;;;;;30:3:-1;22:6;14;1:33;4472:19:0;;45:16:-1;;4472:19:0;;;;;4435:32;4425:43;;4472:19;;-1:-1:-1;4435:32:0;-1:-1:-1;4472:19:0;;-1:-1:-1;4472:19:0;;4435:32;;-1:-1:-1;4425:43:0;-1:-1:-1;;4425:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:66;4416:77;;;;;;;;4600:15;:27;:34;;:27;;4632:1;4600:34;:31;:34;:::i;:::-;4571:15;:26;;;;;;:63;4563:72;;;;;;-1:-1:-1;;;;;7353:25:0;;;;7344:36;;;;;;-1:-1:-1;;;;;7427:16:0;;;;;;:5;:16;;;;;;;;:25;7418:36;;;;;;7471:10;7485:5;7465:17;;;:5;:17;;;;;;;;:25;;-1:-1:-1;;7465:25:0;;;;;;-1:-1:-1;;;;;7501:16:0;;;;;;;;;:23;;;;;7465:25;7501:23;;;7540:40;;;;;;;;;;;;;;;;;;;;;;;;4654:10;:8;:10::i;684:277::-;742:7;954:1;950;:5;;;;;;;;;684:277;-1:-1:-1;;;684:277:0:o;5931:211::-;5994:15;:32;;5974:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5974:53:0;;;;;;;;;-1:-1:-1;5982:10:0;;-1:-1:-1;5974:53:0;;;;;6065:1;6036:30;;-1:-1:-1;;6036:30:0;;;6075:37;;;;;;;;;;;;;;;6036:26;;6075:37;;:::i;:::-;-1:-1:-1;6121:13:0;6128:6;;6121:13;:::i;31256:1108::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;31256:1108:0;;;-1:-1:-1;31256:1108:0;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o
Swarm Source
bzzr://74c0ae1b4ebeda8934f4a7a9c550893cbc2026406a5ac0b37145815a82bceb63
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.