Contract 0xdf6ef343350780bf8c3410bf062e0c015b1dd671

 

TxHash Block Age From To Value [TxFee]
0x9527bb91a7258a0c36b82c80fa856f0a20c3d1ec20f25d535deda54198ef53e6739982026 mins ago0xeb6d353b957529799b25019232d8fe192fa5efca IN  BlackmoonCryptoToken0 Ether0.000551608
0x7131c08115b3e3d102d86143eb621844bc8095d1876f0511b174e858ac26c1d3739978233 mins ago0xe1caca299fb4ef116096a053f3a9e1bc773c75ef IN  BlackmoonCryptoToken0 Ether0.00096782
0x845347a2434a6f13eaff515fbae2713d49df71fdd4c713d73f99d3f5d282ff0c739970853 mins ago0x23bb4e19767c51afd9bebdd5cb23ced735b97618 IN  BlackmoonCryptoToken0 Ether0.000551608
0xe9f80c67cfdee09c3488ee84991f442c06027e08cec294b43bc05d3729de73d273986914 hrs 48 mins ago0xe1caca299fb4ef116096a053f3a9e1bc773c75ef IN  BlackmoonCryptoToken0 Ether0.00096782
0x46942de72976035ae6413167987bad8ea2bd77476c336cf6044c3547fc0461e173986714 hrs 53 mins ago0x5b83259de5e920022844fd25bf39ba1ff22c3552 IN  BlackmoonCryptoToken0 Ether0.001174905
0xb0f5759581d8e61c122d7104b40ad6905c5879a0bb16e2deebf086e143b8af1e73985395 hrs 24 mins ago0x7059010320d07a47d2ad54db88bb89ea644c3e6f IN  BlackmoonCryptoToken0 Ether0.000551608
0xa689b9cc7358e0bd1857b8e6c9183594dde33998a1696562e7fa59f81bac5d9d73985195 hrs 28 mins ago0x5b83259de5e920022844fd25bf39ba1ff22c3552 IN  BlackmoonCryptoToken0 Ether0.000551608
0x9152f6a79541f4da8dc986faad31358c9451febefbea0cdffb49e80a1f7fce6673985075 hrs 32 mins agoHitBTC 2 IN  BlackmoonCryptoToken0 Ether0.000705519
0xa86c717859436edfa9e43b1e5f65168ddca9d4b97a6b4ecadd65d8edcd4b426c73985075 hrs 32 mins agoHitBTC 2 IN  BlackmoonCryptoToken0 Ether0.000705519
0x710cbd9950e2f58db37e9de942c7c5ce6af920d49c9c07a88ad5f4585911c99e73985045 hrs 32 mins agoHitBTC 3 IN  BlackmoonCryptoToken0 Ether0.0000824083
0x9d468974eec105d39fce6febd905ac4f8e8571f7b1f16e79d871b29a4713400973984305 hrs 49 mins ago0xa8282a3d5c9699a3e5e8d387c8e2f51fc8110389 IN  BlackmoonCryptoToken0 Ether0.00137902
0x8ca284c7a1bc93e055cb27e0a7bd13614d1eb38c7792b1634a0d9f863a1fc0a173984265 hrs 49 mins agoHitBTC 2 IN  BlackmoonCryptoToken0 Ether0.000627143678
0xbbf95df865680c1403ac2d8aa45994d8a580e2cc2785691b8fa810c44d039d5e73984085 hrs 54 mins ago0xe1caca299fb4ef116096a053f3a9e1bc773c75ef IN  BlackmoonCryptoToken0 Ether0.000551608
0xaf22e2e8d19877893cdc3a7edd613eb34084cb71b76cb0355ec2f2069e9cc89873984045 hrs 55 mins agoHitBTC 2 IN  BlackmoonCryptoToken0 Ether0.000689858046
0x91864df36960068188063768263c77cd762d9a52ea10173515e4bb4e4a944ef073984025 hrs 57 mins ago0x5b83259de5e920022844fd25bf39ba1ff22c3552 IN  BlackmoonCryptoToken0 Ether0.000551608
0x519ba8a105bde6938a3da2236ae24164e0289c9521a7131c67d986dbff7af72173983896 hrs agoLiqui.io 2 IN  BlackmoonCryptoToken0 Ether0.000620355
0xe2aa874576fa0893774eb29164e2ee088418b5aec73cf58c2607df950d99302673983786 hrs 2 mins agoHitBTC 2 IN  BlackmoonCryptoToken0 Ether0.000627143678
0xff10c62a150a80390fd80b77b4a78a91bd77eea101b0d7812c1d95da2658980173983776 hrs 2 mins agoHitBTC 3 IN  BlackmoonCryptoToken0 Ether0.0002469753
0xc0c856e01422eb150c312fd373710df4f16a12d1bb78850cf76ed0f5bd1195da73983776 hrs 2 mins agoHitBTC 3 IN  BlackmoonCryptoToken0 Ether0.000253308
0x101e53f85064243fc9a96856764ee1c67fd8bf9f62a7e4a63013e8093347ec7b73980327 hrs 16 mins ago0x4a47d8726a3294d192d60286eeb8bf2af662ecaf IN  BlackmoonCryptoToken0 Ether0.00290346
0x9e2cb4139480aad4fa6ce0eb0461cd32c8cbf6c283378f8fedb404befe68997e73979407 hrs 38 mins ago0xb16a379ec18d4093666f8f38b11a3071c920207d IN  BlackmoonCryptoToken0 Ether0.00290346
0xcf355bc753839ceccedeb1cbb7025eed920c8dbd6f5b4c8bd466ba11cd655d5773978917 hrs 49 mins ago0x9e91f4ff7d190ddbc7c98bfbc7c06a6e2be7c85d IN  BlackmoonCryptoToken0 Ether0.00379962
0x9eb14cbb0cf03bc40ecc01db76a2ebafe89001808aa5243a85d586e1d03d5114739645513 hrs 10 mins ago0x7059010320d07a47d2ad54db88bb89ea644c3e6f IN  BlackmoonCryptoToken0 Ether0.000275804
0x16d3667d7e11eb20996df10b651aafbec4abb11f2b7e2680331c025652b937b1739645213 hrs 11 mins agoHitBTC 2 IN  BlackmoonCryptoToken0 Ether0.000391955
0xd358ba4436fe8958d98c07db3eb3e28e0c7258beb52db000224c7fc699470367739554816 hrs 41 mins ago0x97478dc68617ea605b0643c12541271db9af4367 IN  BlackmoonCryptoToken0 Ether0.000275292
[ Download CSV Export 

Latest 10 internal transactions Internal Transactions as a result of Contract Execution

Parent TxHash Block Age From To Value
0xda7decc5e2e3ceb4352b6743ff1d20eae697ba5ace998496dfe62bcfbe3269f24894796431 days 8 hrs ago0xdf6ef343350780bf8c3410bf062e0c015b1dd6710x8bccd8547cd101ee78c33c41476670cf58fff4110.019 Ether
0xfe4dc3f5904abadbb737c40c0bf192ed1fa770ba9ff453dbd1e11eb7e84035ef4351059525 days 22 hrs ago0xdf6ef343350780bf8c3410bf062e0c015b1dd6710x8bccd8547cd101ee78c33c41476670cf58fff4110.01 Ether
0x2d6ce8a6da2db8afaf0939715a9a6d618b81d2d24188cea58399c3ab6c1753934351050525 days 22 hrs ago0xdf6ef343350780bf8c3410bf062e0c015b1dd6710x8bccd8547cd101ee78c33c41476670cf58fff4110.001 Ether
0xce36c43933dab1527f2b84d66c182258a5e0da698a6cd037e36eb84d7a7ecb354351042525 days 22 hrs ago0xdf6ef343350780bf8c3410bf062e0c015b1dd6710x8bccd8547cd101ee78c33c41476670cf58fff4110.0001 Ether
0x09ccaf5d189d14d499dd3fdc805f5f651943ef8712ff187433204c1443972b004342768528 days 19 hrs ago0xdf6ef343350780bf8c3410bf062e0c015b1dd6710x8bccd8547cd101ee78c33c41476670cf58fff4110.003211 Ether
0x3731a01bb67f3419e8ad917da39db4d0b585ba5e02cbbd9ab40ced11e509c8194319091537 days 2 hrs ago0xdf6ef343350780bf8c3410bf062e0c015b1dd6710x8bccd8547cd101ee78c33c41476670cf58fff4110.01 Ether
0x08592ebc9dd02d141b05f7bf48da9d6e82373cfc1fc1136f2460669c0d0227024311307539 days 18 hrs ago0xdf6ef343350780bf8c3410bf062e0c015b1dd6710x8bccd8547cd101ee78c33c41476670cf58fff4110.0001 Ether
0xbdbbb3f0acfe1abb5e0edeb57daff050d8d80a60eb0339b7e3cd403296eb798a4310969539 days 21 hrs ago0xdf6ef343350780bf8c3410bf062e0c015b1dd6710x8bccd8547cd101ee78c33c41476670cf58fff41110.99 Ether
0xd4372e2dacf63a15d3480f77bc4a7314fb9e5e1afd008db8e1c55b5af99575834299591543 days 18 hrs ago0xdf6ef343350780bf8c3410bf062e0c015b1dd6710x8bccd8547cd101ee78c33c41476670cf58fff4111 Ether
0x1ef7ac5a809e65a2989d93398dcc9f1c97ecec74c42e3d1b44da14d49ad6768e4299528543 days 18 hrs ago0xdf6ef343350780bf8c3410bf062e0c015b1dd6710x8bccd8547cd101ee78c33c41476670cf58fff4110.01 Ether
[ Download CSV Export 

Contract Source Code Verified (Exact Match)

Contract Name:
BMCAssetProxy

Compiler Version
v0.4.15+commit.bbb8e64f

Optimization Enabled:
Yes

Runs (Optimizer):
200

Contract Source Code

pragma solidity ^0.4.11;

contract BMCPlatform {
    mapping(bytes32 => address) public proxies;
    function name(bytes32 _symbol) returns(string);
    function setProxy(address _address, bytes32 _symbol) returns(uint errorCode);
    function isOwner(address _owner, bytes32 _symbol) returns(bool);
    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 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);
}

contract BMCAsset {
    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 {
        throw;
    }
}

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

    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);
}

/**
 * @title BMC 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 BMCAssetProxy is ERC20 {

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

    // Assigned platform, immutable.
    BMCPlatform public bmcPlatform;

    // 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 _bmcPlatform platform contract address.
     * @param _symbol assigned symbol.
     * @param _name assigned name.
     *
     * @return success.
     */
    function init(BMCPlatform _bmcPlatform, string _symbol, string _name) returns(bool) {
        if (address(bmcPlatform) != 0x0) {
            return false;
        }
        bmcPlatform = _bmcPlatform;
        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 onlyBMCPlatform() {
        if (msg.sender == address(bmcPlatform)) {
            _;
        }
    }

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

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

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

    /**
     * Returns asset balance for a particular holder.
     *
     * @param _owner holder address.
     *
     * @return holder balance.
     */
    function balanceOf(address _owner) constant returns(uint) {
        return bmcPlatform.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 bmcPlatform.allowance(_from, _spender, smbl);
    }

    /**
     * Returns asset decimals.
     *
     * @return asset decimals.
     */
    function decimals() constant returns(uint8) {
        return bmcPlatform.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 bmcPlatform.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 bmcPlatform.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 bmcPlatform.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) onlyBMCPlatform() {
        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) onlyBMCPlatform() {
        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,"type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"commitUpgrade","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"getLatestVersion","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"emitApprove","outputs":[],"payable":false,"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,"type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"emitTransfer","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"bmcPlatform","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"getPendingVersionTimestamp","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"purgeUpgrade","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"optIn","outputs":[{"name":"","type":"bool"}],"payable":false,"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,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"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,"type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"getPendingVersion","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"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,"type":"function"},{"constant":false,"inputs":[{"name":"_bmcPlatform","type":"address"},{"name":"_symbol","type":"string"},{"name":"_name","type":"string"}],"name":"init","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_newVersion","type":"address"}],"name":"proposeUpgrade","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"smbl","outputs":[{"name":"","type":"bytes32"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"source","type":"string"}],"name":"stringToBytes32","outputs":[{"name":"result","type":"bytes32"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"optOut","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_from","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"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,"type":"function"},{"constant":true,"inputs":[{"name":"_sender","type":"address"}],"name":"getVersionFor","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"payable":true,"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

6060604052341561000f57600080fd5b5b6118cf8061001f6000396000f3006060604052361561014e5763ffffffff60e060020a60003504166306fdde0381146101e2578063095ea7b31461026d5780630ba12c83146102a35780630e6d1de9146102ca57806318160ddd146102f9578063233850891461031e57806323b872dd1461034857806323de6651146103845780632d596330146103ae578063313ce567146103dd5780634bfaf2e8146104065780634dfe950d1461042b5780635b48684e146104525780636a630ee71461047957806370a08231146104fd5780637b7054c81461052e57806395d89b411461056b578063a883fb90146105f6578063a9059cbb14610625578063ac35caee1461065b578063b2b45df5146106d4578063c915fc9314610789578063cb4e75bb146107bc578063cfb51928146107e1578063d4eec5a614610844578063dd62ed3e1461086b578063ec698a28146108a2578063fe8beb711461092d575b5b610157610968565b600160a060020a031663f2d6e0ab346000363360405160e060020a63ffffffff8716028152600160a060020a03821660248201526040600482019081526044820184905290819060640185858082843782019150509450505050506000604051808303818588803b15156101ca57600080fd5b6125ee5a03f115156101db57600080fd5b505050505b005b34156101ed57600080fd5b6101f5610979565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156102325780820151818401525b602001610219565b50505050905090810190601f16801561025f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561027857600080fd5b61028f600160a060020a0360043516602435610a17565b604051901515815260200160405180910390f35b34156102ae57600080fd5b61028f610ac5565b604051901515815260200160405180910390f35b34156102d557600080fd5b6102dd610b2a565b604051600160a060020a03909116815260200160405180910390f35b341561030457600080fd5b61030c610b3a565b60405190815260200160405180910390f35b341561032957600080fd5b6101e0600160a060020a0360043581169060243516604435610bb1565b005b341561035357600080fd5b61028f600160a060020a0360043581169060243516604435610c17565b604051901515815260200160405180910390f35b341561038f57600080fd5b6101e0600160a060020a0360043581169060243516604435610cdd565b005b34156103b957600080fd5b6102dd610d43565b604051600160a060020a03909116815260200160405180910390f35b34156103e857600080fd5b6103f0610d52565b60405160ff909116815260200160405180910390f35b341561041157600080fd5b61030c610dc9565b60405190815260200160405180910390f35b341561043657600080fd5b61028f610dd0565b604051901515815260200160405180910390f35b341561045d57600080fd5b61028f610e8e565b604051901515815260200160405180910390f35b341561048457600080fd5b61028f60048035600160a060020a03169060248035919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965050509235600160a060020a03169250610eba915050565b604051901515815260200160405180910390f35b341561050857600080fd5b61030c600160a060020a0360043516610ff9565b60405190815260200160405180910390f35b341561053957600080fd5b61028f600160a060020a036004358116906024359060443516611081565b604051901515815260200160405180910390f35b341561057657600080fd5b6101f561114c565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156102325780820151818401525b602001610219565b50505050905090810190601f16801561025f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561060157600080fd5b6102dd6111ea565b604051600160a060020a03909116815260200160405180910390f35b341561063057600080fd5b61028f600160a060020a03600435166024356111fa565b604051901515815260200160405180910390f35b341561066657600080fd5b61028f60048035600160a060020a03169060248035919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965061123a95505050505050565b604051901515815260200160405180910390f35b34156106df57600080fd5b61028f60048035600160a060020a03169060446024803590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284375094965061126d95505050505050565b604051901515815260200160405180910390f35b341561079457600080fd5b61028f600160a060020a03600435166112e4565b604051901515815260200160405180910390f35b34156107c757600080fd5b61030c611437565b60405190815260200160405180910390f35b34156107ec57600080fd5b61030c60046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965061143d95505050505050565b60405190815260200160405180910390f35b341561084f57600080fd5b61028f61144c565b604051901515815260200160405180910390f35b341561087657600080fd5b61030c600160a060020a03600435811690602435166114ad565b60405190815260200160405180910390f35b34156108ad57600080fd5b61028f600160a060020a036004803582169160248035909116916044359160849060643590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965050509235600160a060020a03169250611544915050565b604051901515815260200160405180910390f35b341561093857600080fd5b6102dd600160a060020a036004351661168f565b604051600160a060020a03909116815260200160405180910390f35b60006109733361168f565b90505b90565b60038054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610a0f5780601f106109e457610100808354040283529160200191610a0f565b820191906000526020600020905b8154815290600101906020018083116109f257829003601f168201915b505050505081565b6000600160a060020a03831615610aba57610a30610968565b600160a060020a0316637b7054c884843360006040516020015260405160e060020a63ffffffff8616028152600160a060020a03938416600482015260248101929092529091166044820152606401602060405180830381600087803b1515610a9857600080fd5b6102c65a03f11515610aa957600080fd5b505050604051805190509050610abe565b5060005b5b92915050565b600654600090600160a060020a03161515610ae257506000610976565b426203f480600754011115610af957506000610976565b506006805460058054600160a060020a0319908116600160a060020a03841617909155169055600060075560015b90565b600554600160a060020a03165b90565b600154600254600091600160a060020a03169063b524abcf90836040516020015260405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b1515610b9157600080fd5b6102c65a03f11515610ba257600080fd5b50505060405180519150505b90565b60015433600160a060020a0390811691161415610c105781600160a060020a031683600160a060020a03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405190815260200160405180910390a35b5b5b505050565b6000600160a060020a03831615610cd157610c30610968565b600160a060020a031663ec698a288585853360006040516020015260405160e060020a63ffffffff8716028152600160a060020a03948516600482015292841660248401526044830191909152909116608482015260a06064820152600060a482015260e401602060405180830381600087803b1515610caf57600080fd5b6102c65a03f11515610cc057600080fd5b505050604051805190509050610cd5565b5060005b5b9392505050565b60015433600160a060020a0390811691161415610c105781600160a060020a031683600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405190815260200160405180910390a35b5b5b505050565b600154600160a060020a031681565b600154600254600091600160a060020a03169063dc86e6f090836040516020015260405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b1515610b9157600080fd5b6102c65a03f11515610ba257600080fd5b50505060405180519150505b90565b6007545b90565b600154600254600091600160a060020a03169063e96b462a903390846040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610e3657600080fd5b6102c65a03f11515610e4757600080fd5b505050604051805190501561097657600654600160a060020a03161515610e7057506000610976565b5060068054600160a060020a0319169055600060075560015b5b5b90565b600160a060020a03331660009081526008602052604090208054600160a060020a031916905560015b90565b60008133600160a060020a0316610ed08261168f565b600160a060020a03161415610fee5760018054600254600160a060020a03909116906357a96dd09089908990898960006040516020015260405160e060020a63ffffffff8816028152600160a060020a03808716600483019081526024830187905260448301869052908316608483015260a060648301908152909160a40184818151815260200191508051906020019080838360005b83811015610f805780820151818401525b602001610f67565b50505050905090810190601f168015610fad5780820380516001836020036101000a031916815260200191505b509650505050505050602060405180830381600087803b1515610fcf57600080fd5b6102c65a03f11515610fe057600080fd5b505050604051805190501491505b5b5b50949350505050565b600154600254600091600160a060020a031690634d30b6be908490846040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561105f57600080fd5b6102c65a03f1151561107057600080fd5b50505060405180519150505b919050565b60008133600160a060020a03166110978261168f565b600160a060020a031614156111425760018054600254600160a060020a03909116906314712e2f90889088908860006040516020015260405160e060020a63ffffffff8716028152600160a060020a039485166004820152602481019390935260448301919091529091166064820152608401602060405180830381600087803b151561112357600080fd5b6102c65a03f1151561113457600080fd5b505050604051805190501491505b5b5b509392505050565b60048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610a0f5780601f106109e457610100808354040283529160200191610a0f565b820191906000526020600020905b8154815290600101906020018083116109f257829003601f168201915b505050505081565b600654600160a060020a03165b90565b6000600160a060020a03831615610aba5761122483836020604051908101604052600081526116e6565b9050610abe565b506000610abe565b5b92915050565b6000600160a060020a03841615610cd1576112568484846116e6565b9050610cd5565b506000610cd5565b5b9392505050565b600154600090600160a060020a03161561128957506000610cd5565b60018054600160a060020a031916600160a060020a03861617905560048380516112b7929160200190611803565b506112c18361143d565b60025560038280516112d7929160200190611803565b50600190505b9392505050565b600154600254600091600160a060020a03169063e96b462a903390846040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561134a57600080fd5b6102c65a03f1151561135b57600080fd5b505050604051805190501561107c57600654600160a060020a0316156113835750600061107c565b600160a060020a038216151561139b5750600061107c565b600554600160a060020a031615156113d0575060058054600160a060020a031916600160a060020a038316179055600161107c565b60068054600160a060020a031916600160a060020a038416179055426007557faf574319215a31df9b528258f1bdeef2b12b169dc85ff443a49373248c77493a82604051600160a060020a03909116815260200160405180910390a15060015b5b5b919050565b60025481565b6000602082015190505b919050565b600160a060020a033381166000908152600860205260408120549091161561147657506000610976565b5060055433600160a060020a0390811660009081526008602052604090208054600160a060020a0319169190921617905560015b90565b600154600254600091600160a060020a031690631c8d5d389085908590856040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b151561152157600080fd5b6102c65a03f1151561153257600080fd5b50505060405180519150505b92915050565b60008133600160a060020a031661155a8261168f565b600160a060020a031614156116835760018054600254600160a060020a039091169063161ff662908a908a908a908a8a60006040516020015260405160e060020a63ffffffff8916028152600160a060020a03808816600483019081528782166024840152604483018790526064830186905290831660a483015260c060848301908152909160c40184818151815260200191508051906020019080838360005b838110156116145780820151818401525b6020016115fb565b50505050905090810190601f1680156116415780820380516001836020036101000a031916815260200191505b50975050505050505050602060405180830381600087803b151561166457600080fd5b6102c65a03f1151561167557600080fd5b505050604051805190501491505b5b5b5095945050505050565b600160a060020a03808216600090815260086020526040812054909116156116d157600160a060020a03808316600090815260086020526040902054166116de565b600554600160a060020a03165b90505b919050565b60006116f0610968565b600160a060020a0316636a630ee7858585336000604051602001526040518563ffffffff1660e060020a0281526004018085600160a060020a0316600160a060020a031681526020018481526020018060200183600160a060020a0316600160a060020a03168152602001828103825284818151815260200191508051906020019080838360005b838110156117915780820151818401525b602001611778565b50505050905090810190601f1680156117be5780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b15156117df57600080fd5b6102c65a03f115156117f057600080fd5b50505060405180519150505b9392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061184457805160ff1916838001178555611871565b82800160010185558215611871579182015b82811115611871578251825591602001919060010190611856565b5b5061187e929150611882565b5090565b61097691905b8082111561187e5760008155600101611888565b5090565b905600a165627a7a7230582096e8503227963f665ff5657bef2f0c19059b97428546c5fa910cf9fc0b6fcab50029

Swarm Source

bzzr://96e8503227963f665ff5657bef2f0c19059b97428546c5fa910cf9fc0b6fcab5
Block Age Transaction Difficulty GasUsed Reward
Block Age Uncle Number Difficulty GasUsed Reward
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.