ETH Price: $3,631.45 (-1.46%)
 

Overview

Max Total Supply

10 MKN

Holders

6

Market

Volume (24H)

N/A

Min Price (24H)

N/A

Max Price (24H)

N/A

Other Info

Filtered by Token Holder
og.scottrepreneur.eth
Balance
1 MKN
0x68d36DcBDD7Bbf206e27134F28103abE7cf972df
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# 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:
Mokens

Compiler Version
v0.4.24+commit.e67f0147

Optimization Enabled:
Yes with 999 runs

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

pragma solidity 0.4.24;
pragma experimental "v0.5.0";
/******************************************************************************\
*..................................Mokens......................................*
*.....................General purpose cryptocollectibles.......................*
*..............................................................................*
/******************************************************************************/

/******************************************************************************\
* Author: Nick Mudge, [email protected]
* Copyright (c) 2018
* Mokens
*
* The Mokens contract is a proxy contract that delegates all functionality
* to delegate contracts. This design enables new functionality and improvements
* to be added to the Mokens contract over time.
*
* Changes to the Mokens contract are transparent and visible. To make changes
* easier to monitor the ContractUpdated event is emitted any time a function is
* added, removed or updated. The ContractUpdated event exists in the
* MokenUpdates delegate contract
*
* The source code for all delegate contracts used by the Mokens contract can be
* found online and inspected.
*
* The Mokens contract is reflective or self inspecting. It contains functions
* for inspecting what delegate contracts it has and what functions they have.
* Specifically, the QueryMokenDelegates delegate contract contains functions for
* querying delegate contracts and functions.
*
*    Here are some of the other delegate contracts:
*
*  - MokenERC721: Implements the ERC721 standard for mokens.
*  - MokenERC721Batch: Implements batch transfers and approvals.
*  - MokenERC998ERC721TopDown: Implements ERC998 composable functionality.
*  - MokenERC998ERC20TopDown: Implements ERC998 composable functionality.
*  - MokenERC998ERC721BottomUp: Implements ERC998 composable functionality.
*  - MokenMinting: Implements moken minting functionality.
*  - MokenEras: Implements moken era functionality.
*  - QueryMokenData: Implements functions to query info about mokens.
/******************************************************************************/
///////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////
contract Storage0 {
    // funcId => delegate contract
    mapping(bytes4 => address) internal delegates;
}

contract Mokens is Storage0 {
    constructor(address mokenUpdates) public {
        //0x584fc325 == "initializeMokensContract()"
        bytes memory calldata = abi.encodeWithSelector(0x584fc325,mokenUpdates);
        assembly {
            let callSuccess := delegatecall(gas, mokenUpdates, add(calldata, 0x20), mload(calldata), 0, 0)
            let size := returndatasize
            returndatacopy(calldata, 0, size)
            if eq(callSuccess,0) {revert(calldata, size)}
        }
    }
    function() external payable {
        address delegate = delegates[msg.sig];
        require(delegate != address(0), "Mokens function does not exist.");
        assembly {
            let ptr := mload(0x40)
            calldatacopy(ptr, 0, calldatasize)
            let result := delegatecall(gas, delegate, 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

Contract ABI

[{"inputs":[{"name":"mokenUpdates","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"}]

608060405234801561001057600080fd5b506040516020806101b48339810160408181529151600160a060020a038116602480840191909152835180840390910181526044909201909252602081018051600160e060020a03167f584fc325000000000000000000000000000000000000000000000000000000001781528151600091829190855af43d806000843e811515610099578083fd5b50505050610108806100ac6000396000f30060806040908152600080357fffffffff000000000000000000000000000000000000000000000000000000001681526020819052205473ffffffffffffffffffffffffffffffffffffffff1680151560b857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4d6f6b656e732066756e6374696f6e20646f6573206e6f742065786973742e00604482015290519081900360640190fd5b60405136600082376000803683855af43d806000843e81801560d8578184f35b8184fd00a165627a7a723058200d676fe24465ebffd9ae847e1e6afc3873cc97c2c844d6f91445b6135115a79c00290000000000000000000000009ff18ed77eab4117b2a25ac21c375d9e88cf9a2f

Deployed Bytecode

0x60806040908152600080357fffffffff000000000000000000000000000000000000000000000000000000001681526020819052205473ffffffffffffffffffffffffffffffffffffffff1680151560b857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4d6f6b656e732066756e6374696f6e20646f6573206e6f742065786973742e00604482015290519081900360640190fd5b60405136600082376000803683855af43d806000843e81801560d8578184f35b8184fd00a165627a7a723058200d676fe24465ebffd9ae847e1e6afc3873cc97c2c844d6f91445b6135115a79c0029

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

0000000000000000000000009ff18ed77eab4117b2a25ac21c375d9e88cf9a2f

-----Decoded View---------------
Arg [0] : mokenUpdates (address): 0x9ff18eD77eaB4117b2A25ac21C375D9e88Cf9a2f

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000009ff18ed77eab4117b2a25ac21c375d9e88cf9a2f


Swarm Source

bzzr://0d676fe24465ebffd9ae847e1e6afc3873cc97c2c844d6f91445b6135115a79c
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.