Contract Overview
Balance: 0 Ether
Ether Value: $0
Transactions: 825 txns
Token Tracker: LevelNet Token (LVL)
Misc:
Address Watch: Add To Watch List
Contract Creator: 0x45072c7ea47cd7d6f391b5934c93e9714b38bcc3at txn 0x64bfda84b3b9d07f509b5316aad72713e980ae1542e1c03881369f56c99a913e
 Latest 25 transactions from a total of 825 transactions
(+1 PendingTxn)

TxHash Age From To Value [TxFee]
0xfe9703c0cc09c9999f3502b2501cd929b9e9e406e704e003b067d76143c25c34(pending)0x71ed75566866f6b34172568b74267e66a4e9fd58  IN  0x9f0577396ede6414394fc97ae222418e8a96ed240 Ether(Pending)
0x81173f2f48a531eb35d1ce93df3bfadd6119cd43eb7d60ebf0fec15cc678014b8 days 17 hrs ago0x248e901f243735d205426c8a738f905028f12548  IN   0x9f0577396ede6414394fc97ae222418e8a96ed240 Ether0.000190484
0x5471a4581e9feaade0e5588efcfcb04d5f1aaf61989198e12cebc747d5e881788 days 17 hrs ago0x752613e62b31bf76c29c4b646f55b8a07a2609ec  IN   0x9f0577396ede6414394fc97ae222418e8a96ed240 Ether0.00019074
0x02b55b5c0cdf0dac5751361870a124caf8ee92a5025b1e707727fd25a45e45118 days 18 hrs ago0xefb60ee4b5afa4d9378cbe7bac2de1e63beb6c21  IN   0x9f0577396ede6414394fc97ae222418e8a96ed240 Ether0.000433456
0xef76d4a53441aa3b563c4752017f14745a33c800748fc71feae56e92be48474546 days 2 hrs ago0xbd9207506dd6df03b7bfdb7b666f556cfb1977fc  IN   0x9f0577396ede6414394fc97ae222418e8a96ed240 Ether0.001409564
0x147e7ce7eae70535b096ccde7a82d25a9819a246925356feb4a8d7e1179b152646 days 2 hrs ago0xbd9207506dd6df03b7bfdb7b666f556cfb1977fc  IN   0x9f0577396ede6414394fc97ae222418e8a96ed240 Ether0.001135732
0x5738ebbcaef8cffe9b6a7c2f80d36a06db9c099721385527d04228e929758fc646 days 3 hrs ago0x4daec6dbf4be47dfad27f954a7f9a45607027c44  IN   0x9f0577396ede6414394fc97ae222418e8a96ed240 Ether0.004445548
0xecfb1d9166181b05456da8eba3b943b9c7991ce19cdf09e3ebb94885016246f346 days 21 hrs ago0x9d07a44e884a7dbf99434ad6953a6c181419ca0d  IN   0x9f0577396ede6414394fc97ae222418e8a96ed240 Ether0.0005415
0x89ada50dfafa2248d543179521fd2adf2421ea1dfbc4676c0d0195a1d24d78a947 days 10 hrs ago0x975d1ed31b98cdd10b70f560efc64790377482d1  IN   0x9f0577396ede6414394fc97ae222418e8a96ed240 Ether0.000324708
0x9b591539bf7522664576aaaf5092b0135bf5dd9128e05c5cab268da88e54398c48 days 2 hrs ago0xa3bfe6a1391b745dcbd084cf21a2f96ad0bf14b6  IN   0x9f0577396ede6414394fc97ae222418e8a96ed240 Ether0.001001385
0x793a3a6c43b47e7bca8dca3b58ba0dd3fb976a4cf9e4294622f473b7733f5ff949 days 18 hrs ago0xa36ce14ef9e04d76800ce2844b1dca31f4235139  IN   0x9f0577396ede6414394fc97ae222418e8a96ed240 Ether0.0022743
0x06c1d68a5c2831bd0d0045dbfad8bb715685571ad6d48c8255fd9513d1ad648a52 days 8 hrs ago0x23e2aa1028c6f584abc9d72ec4e29ad47eff5814  IN   0x9f0577396ede6414394fc97ae222418e8a96ed240 Ether0.000975276
0x8f406113ebd52997cdde84581f5f0d260a30613ddbae95177ac50a94c402f5ac54 days 37 mins ago0xee94f87415834df846ae1eaa445d6a89b9f4a671  IN   0x9f0577396ede6414394fc97ae222418e8a96ed240 Ether0.0009747
0x6ff22dd534bb0273603fc80443d36d625b3336e85a3569a43c2551e0f5265bee54 days 8 hrs ago0xb2028881f9586f8b7fe8b7a7d0cf5fdc3aba053c  IN   0x9f0577396ede6414394fc97ae222418e8a96ed240 Ether0.000706304
0x4ddf2272f686a72977c273f7dff96e2bb998e6dbf45ac4d5e0a20d6fc60f93e255 days 10 hrs ago0x975d1ed31b98cdd10b70f560efc64790377482d1  IN   0x9f0577396ede6414394fc97ae222418e8a96ed240 Ether0.000290679
0x2d4e149cf841336a5790b4ad27e19ff6a0cf728947c30af20265df203ca1184067 days 22 hrs ago0x4d33fdbb650d018bd6fbafe4a68c6168249ac9f4  IN   0x9f0577396ede6414394fc97ae222418e8a96ed240 Ether0.000547752
0x518d46001b8ab4582e6b49048971eeab6d42d9926719ae91c52dd3479b943ed667 days 22 hrs ago0x98fa0aaceffa848f56786856d279019266ba9928  IN   0x9f0577396ede6414394fc97ae222418e8a96ed240 Ether0.001843276
0x10ef964cd920b8b08551777ed97f73491dae637b0dfa858f63cb0e88f173875467 days 22 hrs ago0x98fa0aaceffa848f56786856d279019266ba9928  IN   0x9f0577396ede6414394fc97ae222418e8a96ed240 Ether0.000933844
0x4945402564ce905c496fca66202a4f0373d5f99247a42c8f0fea7e4c7ae4b28d72 days 18 hrs ago0x7aa69108b14484ec692a41576856745506c2cfa4  IN   0x9f0577396ede6414394fc97ae222418e8a96ed240 Ether0.000273876
0x5b83b545a6428dbe20dadff579585b297265a3713610f4edb7cacc64d5ae7bf073 days 7 hrs ago0x364fb86864ae339cd997b23a4171826939173539  IN   0x9f0577396ede6414394fc97ae222418e8a96ed240 Ether0.00054214
0xeb77a6638963b827b1da4bcfbe042be4d2c4c13a7a16c8b6f3fab458c22ee86173 days 8 hrs ago0x325efe4659b99bfdace12a45243c782ab9651009  IN   0x9f0577396ede6414394fc97ae222418e8a96ed240 Ether0.000273876
0x4a83fde1359b467b54258963236e59d10c5c278130f0b1ccf1cd59bc07c58bbe73 days 9 hrs ago0xf5ef0715693b5332b39c0cc2f1f680c987869482  IN   0x9f0577396ede6414394fc97ae222418e8a96ed240 Ether0.000136938
0x877f796ed1699cdb98e59216f7c06091f7377743e6c2d5f761840782ebb57f0e76 days 22 hrs ago0x56cc8cd2d60089aa6871982927ffacc7e32edf2d  IN   0x9f0577396ede6414394fc97ae222418e8a96ed240 Ether0.005037868
0xbac1585e268f436e4da6e55cfd8275f03597bbfa825fc0fb0b14bff261e6447a77 days 13 mins ago0x56cc8cd2d60089aa6871982927ffacc7e32edf2d  IN   0x9f0577396ede6414394fc97ae222418e8a96ed240 Ether0.005038051
0x78dbc6e13dfad8ea6a1293d97055443358c7b301940d089d01c1ab1330d47d8d77 days 1 hr ago0xae707f0fa16a479c65bb5a32968b7c262c23e09d  IN   0x9f0577396ede6414394fc97ae222418e8a96ed240 Ether0.000497881288
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
View All
ParentTxHash Block Age From To Value
Warning: The Compiled Contract might be susceptible to ExpExponentCleanup (medium/high-severity), EventStructWrongData (very low-severity), NestedArrayFunctionCallDecoder (medium-severity) SolidityCompiler Bugs.

Contract Source Code Verified (Exact Match)
Contract Name: CAVAssetProxy
Compiler Text: v0.4.19+commit.c4cbbb05
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

pragma solidity ^0.4.11;

// File: contracts/CAVAssetInterface.sol

contract CAVAsset {
    function __transferWithReference(address _to, uint _value, string _reference, address _sender) returns(bool);
    function __transferFromWithReference(address _from, address _to, uint _value, string _reference, address _sender) returns(bool);
    function __approve(address _spender, uint _value, address _sender) returns(bool);
    function __process(bytes _data, address _sender) payable {
        revert();
    }
}

// File: contracts/CAVPlatformInterface.sol

contract CAVPlatform {
    mapping(bytes32 => address) public proxies;
    function symbols(uint _idx) public constant returns (bytes32);
    function symbolsCount() public constant returns (uint);

    function name(bytes32 _symbol) returns(string);
    function setProxy(address _address, bytes32 _symbol) returns(uint errorCode);
    function isCreated(bytes32 _symbol) constant returns(bool);
    function isOwner(address _owner, bytes32 _symbol) returns(bool);
    function owner(bytes32 _symbol) constant returns(address);
    function totalSupply(bytes32 _symbol) returns(uint);
    function balanceOf(address _holder, bytes32 _symbol) returns(uint);
    function allowance(address _from, address _spender, bytes32 _symbol) returns(uint);
    function baseUnit(bytes32 _symbol) returns(uint8);
    function proxyTransferWithReference(address _to, uint _value, bytes32 _symbol, string _reference, address _sender) returns(uint errorCode);
    function proxyTransferFromWithReference(address _from, address _to, uint _value, bytes32 _symbol, string _reference, address _sender) returns(uint errorCode);
    function proxyApprove(address _spender, uint _value, bytes32 _symbol, address _sender) returns(uint errorCode);
    function issueAsset(bytes32 _symbol, uint _value, string _name, string _description, uint8 _baseUnit, bool _isReissuable) returns(uint errorCode);
    function issueAsset(bytes32 _symbol, uint _value, string _name, string _description, uint8 _baseUnit, bool _isReissuable, address _account) returns(uint errorCode);
    function reissueAsset(bytes32 _symbol, uint _value) returns(uint errorCode);
    function revokeAsset(bytes32 _symbol, uint _value) returns(uint errorCode);
    function isReissuable(bytes32 _symbol) returns(bool);
    function changeOwnership(bytes32 _symbol, address _newOwner) returns(uint errorCode);
    function hasAssetRights(address _owner, bytes32 _symbol) public view returns (bool);
}

// File: contracts/ERC20Interface.sol

contract ERC20Interface {
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed from, address indexed spender, uint256 value);
    string public symbol;

    function decimals() constant returns (uint8);
    function totalSupply() constant returns (uint256 supply);
    function balanceOf(address _owner) constant returns (uint256 balance);
    function transfer(address _to, uint256 _value) returns (bool success);
    function transferFrom(address _from, address _to, uint256 _value) returns (bool success);
    function approve(address _spender, uint256 _value) returns (bool success);
    function allowance(address _owner, address _spender) constant returns (uint256 remaining);
}

// File: contracts/CAVAssetProxy.sol

/**
 * @title CAV Asset Proxy.
 *
 * Proxy implements ERC20 interface and acts as a gateway to a single platform asset.
 * Proxy adds symbol and caller(sender) when forwarding requests to platform.
 * Every request that is made by caller first sent to the specific asset implementation
 * contract, which then calls back to be forwarded onto platform.
 *
 * Calls flow: Caller ->
 *             Proxy.func(...) ->
 *             Asset.__func(..., Caller.address) ->
 *             Proxy.__func(..., Caller.address) ->
 *             Platform.proxyFunc(..., symbol, Caller.address)
 *
 * Asset implementation contract is mutable, but each user have an option to stick with
 * old implementation, through explicit decision made in timely manner, if he doesn't agree
 * with new rules.
 * Each user have a possibility to upgrade to latest asset contract implementation, without the
 * possibility to rollback.
 *
 * Note: all the non constant functions return false instead of throwing in case if state change
 * didn't happen yet.
 */
contract CAVAssetProxy is ERC20Interface {

    // Supports CAVPlatform ability to return error codes from methods
    uint constant OK = 1;

    // Assigned platform, immutable.
    CAVPlatform public platform;

    // Assigned symbol, immutable.
    bytes32 public smbl;

    // Assigned name, immutable.
    string public name;

    string public symbol;

    /**
     * Sets platform address, assigns symbol and name.
     *
     * Can be set only once.
     *
     * @param _platform platform contract address.
     * @param _symbol assigned symbol.
     * @param _name assigned name.
     *
     * @return success.
     */
    function init(CAVPlatform _platform, string _symbol, string _name) returns(bool) {
        if (address(platform) != 0x0) {
            return false;
        }
        platform = _platform;
        symbol = _symbol;
        smbl = stringToBytes32(_symbol);
        name = _name;
        return true;
    }

    function stringToBytes32(string memory source) returns (bytes32 result) {
        assembly {
           result := mload(add(source, 32))
        }
    }

    /**
     * Only platform is allowed to call.
     */
    modifier onlyPlatform() {
        if (msg.sender == address(platform)) {
            _;
        }
    }

    /**
     * Only current asset owner is allowed to call.
     */
    modifier onlyAssetOwner() {
        if (platform.isOwner(msg.sender, smbl)) {
            _;
        }
    }

    /**
     * Returns asset implementation contract for current caller.
     *
     * @return asset implementation contract.
     */
    function _getAsset() internal returns(CAVAsset) {
        return CAVAsset(getVersionFor(msg.sender));
    }

    /**
     * Returns asset total supply.
     *
     * @return asset total supply.
     */
    function totalSupply() constant returns(uint) {
        return platform.totalSupply(smbl);
    }

    /**
     * Returns asset balance for a particular holder.
     *
     * @param _owner holder address.
     *
     * @return holder balance.
     */
    function balanceOf(address _owner) constant returns(uint) {
        return platform.balanceOf(_owner, smbl);
    }

    /**
     * Returns asset allowance from one holder to another.
     *
     * @param _from holder that allowed spending.
     * @param _spender holder that is allowed to spend.
     *
     * @return holder to spender allowance.
     */
    function allowance(address _from, address _spender) constant returns(uint) {
        return platform.allowance(_from, _spender, smbl);
    }

    /**
     * Returns asset decimals.
     *
     * @return asset decimals.
     */
    function decimals() constant returns(uint8) {
        return platform.baseUnit(smbl);
    }

    /**
     * Transfers asset balance from the caller to specified receiver.
     *
     * @param _to holder address to give to.
     * @param _value amount to transfer.
     *
     * @return success.
     */
    function transfer(address _to, uint _value) returns(bool) {
        if (_to != 0x0) {
          return _transferWithReference(_to, _value, "");
        }
        else {
            return false;
        }
    }

    /**
     * Transfers asset balance from the caller to specified receiver adding specified comment.
     *
     * @param _to holder address to give to.
     * @param _value amount to transfer.
     * @param _reference transfer comment to be included in a platform's Transfer event.
     *
     * @return success.
     */
    function transferWithReference(address _to, uint _value, string _reference) returns(bool) {
        if (_to != 0x0) {
            return _transferWithReference(_to, _value, _reference);
        }
        else {
            return false;
        }
    }

    /**
     * Resolves asset implementation contract for the caller and forwards there arguments along with
     * the caller address.
     *
     * @return success.
     */
    function _transferWithReference(address _to, uint _value, string _reference) internal returns(bool) {
        return _getAsset().__transferWithReference(_to, _value, _reference, msg.sender);
    }

    /**
     * Performs transfer call on the platform by the name of specified sender.
     *
     * Can only be called by asset implementation contract assigned to sender.
     *
     * @param _to holder address to give to.
     * @param _value amount to transfer.
     * @param _reference transfer comment to be included in a platform's Transfer event.
     * @param _sender initial caller.
     *
     * @return success.
     */
    function __transferWithReference(address _to, uint _value, string _reference, address _sender) onlyAccess(_sender) returns(bool) {
        return platform.proxyTransferWithReference(_to, _value, smbl, _reference, _sender) == OK;
    }

    /**
     * Prforms allowance transfer of asset balance between holders.
     *
     * @param _from holder address to take from.
     * @param _to holder address to give to.
     * @param _value amount to transfer.
     *
     * @return success.
     */
    function transferFrom(address _from, address _to, uint _value) returns(bool) {
        if (_to != 0x0) {
            return _getAsset().__transferFromWithReference(_from, _to, _value, "", msg.sender);
         }
         else {
             return false;
         }
    }

    /**
     * Performs allowance transfer call on the platform by the name of specified sender.
     *
     * Can only be called by asset implementation contract assigned to sender.
     *
     * @param _from holder address to take from.
     * @param _to holder address to give to.
     * @param _value amount to transfer.
     * @param _reference transfer comment to be included in a platform's Transfer event.
     * @param _sender initial caller.
     *
     * @return success.
     */
    function __transferFromWithReference(address _from, address _to, uint _value, string _reference, address _sender) onlyAccess(_sender) returns(bool) {
        return platform.proxyTransferFromWithReference(_from, _to, _value, smbl, _reference, _sender) == OK;
    }

    /**
     * Sets asset spending allowance for a specified spender.
     *
     * @param _spender holder address to set allowance to.
     * @param _value amount to allow.
     *
     * @return success.
     */
    function approve(address _spender, uint _value) returns(bool) {
        if (_spender != 0x0) {
             return _getAsset().__approve(_spender, _value, msg.sender);
        }
        else {
            return false;
        }
    }

    /**
     * Performs allowance setting call on the platform by the name of specified sender.
     *
     * Can only be called by asset implementation contract assigned to sender.
     *
     * @param _spender holder address to set allowance to.
     * @param _value amount to allow.
     * @param _sender initial caller.
     *
     * @return success.
     */
    function __approve(address _spender, uint _value, address _sender) onlyAccess(_sender) returns(bool) {
        return platform.proxyApprove(_spender, _value, smbl, _sender) == OK;
    }

    /**
     * Emits ERC20 Transfer event on this contract.
     *
     * Can only be, and, called by assigned platform when asset transfer happens.
     */
    function emitTransfer(address _from, address _to, uint _value) onlyPlatform() {
        Transfer(_from, _to, _value);
    }

    /**
     * Emits ERC20 Approval event on this contract.
     *
     * Can only be, and, called by assigned platform when asset allowance set happens.
     */
    function emitApprove(address _from, address _spender, uint _value) onlyPlatform() {
        Approval(_from, _spender, _value);
    }

    /**
     * Resolves asset implementation contract for the caller and forwards there transaction data,
     * along with the value. This allows for proxy interface growth.
     */
    function () payable {
        _getAsset().__process.value(msg.value)(msg.data, msg.sender);
    }

    /**
     * Indicates an upgrade freeze-time start, and the next asset implementation contract.
     */
    event UpgradeProposal(address newVersion);

    // Current asset implementation contract address.
    address latestVersion;

    // Proposed next asset implementation contract address.
    address pendingVersion;

    // Upgrade freeze-time start.
    uint pendingVersionTimestamp;

    // Timespan for users to review the new implementation and make decision.
    uint constant UPGRADE_FREEZE_TIME = 3 days;

    // Asset implementation contract address that user decided to stick with.
    // 0x0 means that user uses latest version.
    mapping(address => address) userOptOutVersion;

    /**
     * Only asset implementation contract assigned to sender is allowed to call.
     */
    modifier onlyAccess(address _sender) {
        if (getVersionFor(_sender) == msg.sender) {
            _;
        }
    }

    /**
     * Returns asset implementation contract address assigned to sender.
     *
     * @param _sender sender address.
     *
     * @return asset implementation contract address.
     */
    function getVersionFor(address _sender) constant returns(address) {
        return userOptOutVersion[_sender] == 0 ? latestVersion : userOptOutVersion[_sender];
    }

    /**
     * Returns current asset implementation contract address.
     *
     * @return asset implementation contract address.
     */
    function getLatestVersion() constant returns(address) {
        return latestVersion;
    }

    /**
     * Returns proposed next asset implementation contract address.
     *
     * @return asset implementation contract address.
     */
    function getPendingVersion() constant returns(address) {
        return pendingVersion;
    }

    /**
     * Returns upgrade freeze-time start.
     *
     * @return freeze-time start.
     */
    function getPendingVersionTimestamp() constant returns(uint) {
        return pendingVersionTimestamp;
    }

    /**
     * Propose next asset implementation contract address.
     *
     * Can only be called by current asset owner.
     *
     * Note: freeze-time should not be applied for the initial setup.
     *
     * @param _newVersion asset implementation contract address.
     *
     * @return success.
     */
    function proposeUpgrade(address _newVersion) onlyAssetOwner() returns(bool) {
        // Should not already be in the upgrading process.
        if (pendingVersion != 0x0) {
            return false;
        }
        // New version address should be other than 0x0.
        if (_newVersion == 0x0) {
            return false;
        }
        // Don't apply freeze-time for the initial setup.
        if (latestVersion == 0x0) {
            latestVersion = _newVersion;
            return true;
        }
        pendingVersion = _newVersion;
        pendingVersionTimestamp = now;
        UpgradeProposal(_newVersion);
        return true;
    }

    /**
     * Cancel the pending upgrade process.
     *
     * Can only be called by current asset owner.
     *
     * @return success.
     */
    function purgeUpgrade() onlyAssetOwner() returns(bool) {
        if (pendingVersion == 0x0) {
            return false;
        }
        delete pendingVersion;
        delete pendingVersionTimestamp;
        return true;
    }

    /**
     * Finalize an upgrade process setting new asset implementation contract address.
     *
     * Can only be called after an upgrade freeze-time.
     *
     * @return success.
     */
    function commitUpgrade() returns(bool) {
        if (pendingVersion == 0x0) {
            return false;
        }
        if (pendingVersionTimestamp + UPGRADE_FREEZE_TIME > now) {
            return false;
        }
        latestVersion = pendingVersion;
        delete pendingVersion;
        delete pendingVersionTimestamp;
        return true;
    }

    /**
     * Disagree with proposed upgrade, and stick with current asset implementation
     * until further explicit agreement to upgrade.
     *
     * @return success.
     */
    function optOut() returns(bool) {
        if (userOptOutVersion[msg.sender] != 0x0) {
            return false;
        }
        userOptOutVersion[msg.sender] = latestVersion;
        return true;
    }

    /**
     * Implicitly agree to upgrade to current and future asset implementation upgrades,
     * until further explicit disagreement.
     *
     * @return success.
     */
    function optIn() returns(bool) {
        delete userOptOutVersion[msg.sender];
        return true;
    }
}

    Contract ABI  
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"commitUpgrade","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getLatestVersion","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"emitApprove","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"emitTransfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"platform","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getPendingVersionTimestamp","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"purgeUpgrade","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"optIn","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"},{"name":"_reference","type":"string"},{"name":"_sender","type":"address"}],"name":"__transferWithReference","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"},{"name":"_sender","type":"address"}],"name":"__approve","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":true,"inputs":[],"name":"getPendingVersion","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"},{"name":"_reference","type":"string"}],"name":"transferWithReference","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_platform","type":"address"},{"name":"_symbol","type":"string"},{"name":"_name","type":"string"}],"name":"init","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newVersion","type":"address"}],"name":"proposeUpgrade","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"smbl","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"source","type":"string"}],"name":"stringToBytes32","outputs":[{"name":"result","type":"bytes32"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"optOut","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_from","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"},{"name":"_reference","type":"string"},{"name":"_sender","type":"address"}],"name":"__transferFromWithReference","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_sender","type":"address"}],"name":"getVersionFor","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newVersion","type":"address"}],"name":"UpgradeProposal","type":"event"},{"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":"from","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"}]

  Contract Creation Code Switch To Opcodes View
6060604052341561000f57600080fd5b6116138061001e6000396000f3006060604052600436106101505763ffffffff60e060020a60003504166306fdde0381146101e2578063095ea7b31461026c5780630ba12c83146102a25780630e6d1de9146102b557806318160ddd146102e4578063233850891461030957806323b872dd1461033357806323de66511461035b578063313ce567146103835780634bde38c8146103ac5780634bfaf2e8146103bf5780634dfe950d146103d25780635b48684e146103e55780636a630ee7146103f857806370a08231146104685780637b7054c81461048757806395d89b41146104b0578063a883fb90146104c3578063a9059cbb146104d6578063ac35caee146104f8578063b2b45df51461055d578063c915fc93146105fe578063cb4e75bb1461061d578063cfb5192814610630578063d4eec5a614610681578063dd62ed3e14610694578063ec698a28146106b9578063fe8beb7114610730575b61015861074f565b600160a060020a031663f2d6e0ab346000363360405160e060020a63ffffffff8716028152600160a060020a03821660248201526040600482019081526044820184905290819060640185858082843782019150509450505050506000604051808303818588803b15156101cb57600080fd5b6125ee5a03f115156101dc57600080fd5b50505050005b34156101ed57600080fd5b6101f5610760565b60405160208082528190810183818151815260200191508051906020019080838360005b83811015610231578082015183820152602001610219565b50505050905090810190601f16801561025e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561027757600080fd5b61028e600160a060020a03600435166024356107fe565b604051901515815260200160405180910390f35b34156102ad57600080fd5b61028e6108ab565b34156102c057600080fd5b6102c861090f565b604051600160a060020a03909116815260200160405180910390f35b34156102ef57600080fd5b6102f761091e565b60405190815260200160405180910390f35b341561031457600080fd5b610331600160a060020a0360043581169060243516604435610994565b005b341561033e57600080fd5b61028e600160a060020a03600435811690602435166044356109f8565b341561036657600080fd5b610331600160a060020a0360043581169060243516604435610abd565b341561038e57600080fd5b610396610b20565b60405160ff909116815260200160405180910390f35b34156103b757600080fd5b6102c8610b77565b34156103ca57600080fd5b6102f7610b86565b34156103dd57600080fd5b61028e610b8c565b34156103f057600080fd5b61028e610c47565b341561040357600080fd5b61028e60048035600160a060020a03169060248035919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965050509235600160a060020a03169250610c72915050565b341561047357600080fd5b6102f7600160a060020a0360043516610dae565b341561049257600080fd5b61028e600160a060020a036004358116906024359060443516610e36565b34156104bb57600080fd5b6101f5610eff565b34156104ce57600080fd5b6102c8610f6a565b34156104e157600080fd5b61028e600160a060020a0360043516602435610f79565b341561050357600080fd5b61028e60048035600160a060020a03169060248035919060649060443590810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650610faa95505050505050565b341561056857600080fd5b61028e60048035600160a060020a03169060446024803590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650610fcd95505050505050565b341561060957600080fd5b61028e600160a060020a0360043516611042565b341561062857600080fd5b6102f7611192565b341561063b57600080fd5b6102f760046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965061119895505050505050565b341561068c57600080fd5b61028e6111a5565b341561069f57600080fd5b6102f7600160a060020a0360043581169060243516611205565b34156106c457600080fd5b61028e600160a060020a036004803582169160248035909116916044359160849060643590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965050509235600160a060020a0316925061129a915050565b341561073b57600080fd5b6102c8600160a060020a03600435166113e2565b600061075a336113e2565b90505b90565b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156107f65780601f106107cb576101008083540402835291602001916107f6565b820191906000526020600020905b8154815290600101906020018083116107d957829003601f168201915b505050505081565b6000600160a060020a038316156108a15761081761074f565b600160a060020a0316637b7054c884843360006040516020015260405160e060020a63ffffffff8616028152600160a060020a03938416600482015260248101929092529091166044820152606401602060405180830381600087803b151561087f57600080fd5b6102c65a03f1151561089057600080fd5b5050506040518051905090506108a5565b5060005b92915050565b600654600090600160a060020a031615156108c85750600061075d565b426203f4806007540111156108df5750600061075d565b506006805460058054600160a060020a0319908116600160a060020a038416179091551690556000600755600190565b600554600160a060020a031690565b600154600254600091600160a060020a03169063b524abcf90836040516020015260405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b151561097557600080fd5b6102c65a03f1151561098657600080fd5b505050604051805191505090565b60015433600160a060020a03908116911614156109f35781600160a060020a031683600160a060020a03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405190815260200160405180910390a35b505050565b6000600160a060020a03831615610ab257610a1161074f565b600160a060020a031663ec698a288585853360006040516020015260405160e060020a63ffffffff8716028152600160a060020a03948516600482015292841660248401526044830191909152909116608482015260a06064820152600060a482015260e401602060405180830381600087803b1515610a9057600080fd5b6102c65a03f11515610aa157600080fd5b505050604051805190509050610ab6565b5060005b9392505050565b60015433600160a060020a03908116911614156109f35781600160a060020a031683600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405190815260200160405180910390a3505050565b600154600254600091600160a060020a03169063dc86e6f090836040516020015260405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b151561097557600080fd5b600154600160a060020a031681565b60075490565b600154600254600091600160a060020a03169063e96b462a903390846040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610bf257600080fd5b6102c65a03f11515610c0357600080fd5b505050604051805190501561075d57600654600160a060020a03161515610c2c5750600061075d565b5060068054600160a060020a03191690556000600755600190565b600160a060020a03331660009081526008602052604090208054600160a060020a0319169055600190565b60008133600160a060020a0316610c88826113e2565b600160a060020a03161415610da55760018054600254600160a060020a03909116906357a96dd09089908990898960006040516020015260405160e060020a63ffffffff8816028152600160a060020a03808716600483019081526024830187905260448301869052908316608483015260a060648301908152909160a40184818151815260200191508051906020019080838360005b83811015610d37578082015183820152602001610d1f565b50505050905090810190601f168015610d645780820380516001836020036101000a031916815260200191505b509650505050505050602060405180830381600087803b1515610d8657600080fd5b6102c65a03f11515610d9757600080fd5b505050604051805190501491505b50949350505050565b600154600254600091600160a060020a031690634d30b6be908490846040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610e1457600080fd5b6102c65a03f11515610e2557600080fd5b50505060405180519150505b919050565b60008133600160a060020a0316610e4c826113e2565b600160a060020a03161415610ef75760018054600254600160a060020a03909116906314712e2f90889088908860006040516020015260405160e060020a63ffffffff8716028152600160a060020a039485166004820152602481019390935260448301919091529091166064820152608401602060405180830381600087803b1515610ed857600080fd5b6102c65a03f11515610ee957600080fd5b505050604051805190501491505b509392505050565b60048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156107f65780601f106107cb576101008083540402835291602001916107f6565b600654600160a060020a031690565b6000600160a060020a038316156108a157610fa38383602060405190810160405260008152611435565b90506108a5565b6000600160a060020a03841615610ab257610fc6848484611435565b9050610ab6565b600154600090600160a060020a031615610fe957506000610ab6565b60018054600160a060020a031916600160a060020a038616179055600483805161101792916020019061154f565b5061102183611198565b600255600382805161103792916020019061154f565b506001949350505050565b600154600254600091600160a060020a03169063e96b462a903390846040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156110a857600080fd5b6102c65a03f115156110b957600080fd5b5050506040518051905015610e3157600654600160a060020a0316156110e157506000610e31565b600160a060020a03821615156110f957506000610e31565b600554600160a060020a0316151561112e575060058054600160a060020a031916600160a060020a0383161790556001610e31565b60068054600160a060020a031916600160a060020a038416179055426007557faf574319215a31df9b528258f1bdeef2b12b169dc85ff443a49373248c77493a82604051600160a060020a03909116815260200160405180910390a1506001919050565b60025481565b6000602082015192915050565b600160a060020a03338116600090815260086020526040812054909116156111cf5750600061075d565b5060055433600160a060020a0390811660009081526008602052604090208054600160a060020a03191691909216179055600190565b600154600254600091600160a060020a031690631c8d5d389085908590856040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b151561127957600080fd5b6102c65a03f1151561128a57600080fd5b5050506040518051949350505050565b60008133600160a060020a03166112b0826113e2565b600160a060020a031614156113d85760018054600254600160a060020a039091169063161ff662908a908a908a908a8a60006040516020015260405160e060020a63ffffffff8916028152600160a060020a03808816600483019081528782166024840152604483018790526064830186905290831660a483015260c060848301908152909160c40184818151815260200191508051906020019080838360005b83811015611369578082015183820152602001611351565b50505050905090810190601f1680156113965780820380516001836020036101000a031916815260200191505b50975050505050505050602060405180830381600087803b15156113b957600080fd5b6102c65a03f115156113ca57600080fd5b505050604051805190501491505b5095945050505050565b600160a060020a038082166000908152600860205260408120549091161561142457600160a060020a03808316600090815260086020526040902054166108a5565b5050600554600160a060020a031690565b600061143f61074f565b600160a060020a0316636a630ee7858585336000604051602001526040518563ffffffff1660e060020a0281526004018085600160a060020a0316600160a060020a031681526020018481526020018060200183600160a060020a0316600160a060020a03168152602001828103825284818151815260200191508051906020019080838360005b838110156114df5780820151838201526020016114c7565b50505050905090810190601f16801561150c5780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b151561152d57600080fd5b6102c65a03f1151561153e57600080fd5b505050604051805195945050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061159057805160ff19168380011785556115bd565b828001600101855582156115bd579182015b828111156115bd5782518255916020019190600101906115a2565b506115c99291506115cd565b5090565b61075d91905b808211156115c957600081556001016115d35600a165627a7a72305820e966c6b7e83477a817f78d9a4d31adb992bb8162de7f4daa7dbd710557ecb72a0029

   Swarm Source:
bzzr://e966c6b7e83477a817f78d9a4d31adb992bb8162de7f4daa7dbd710557ecb72a

 

View All
Block Age transaction Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.