Contract 0x6888a16ea9792c15a4dcf2f6c623d055c8ede792

 

TxHash Block Age From To Value [TxFee]
0x6a09577f5319f4d42375387ac086668785d17f5b039566390865b85be3bc7b5372517071 day 5 hrs ago0xa518eb50f76d9f4737ad05b5761cb1b5f08c900e IN  0x6888a16ea9792c15a4dcf2f6c623d055c8ede7920 Ether0.00046563
0x9a405c2266306fddfa9833a86a5669b463a8bc107a829ccaa51baf6a91bd1da272470732 days 7 hrs ago0x2f0fe2890481c73aa1da2fc85a04999a9604a70e IN  0x6888a16ea9792c15a4dcf2f6c623d055c8ede7920 Ether0.000419067
0x21c442bcf38a64412844819bb5c3e6fcd54d00cc544cf8be99664634b62e422872421303 days 11 hrs ago0x5620f5476a0ee4628254f67bb02ad1a29d867465 IN  0x6888a16ea9792c15a4dcf2f6c623d055c8ede7920 Ether0.00152643
0x9a246f3c4f1351404abf30faa62bfd3fcc64d598a56d84cc3564f8badd76376172390854 days 4 hrs ago0xf16f0a13a20b1eed9aef167c2fa6116317a3e165 IN  0x6888a16ea9792c15a4dcf2f6c623d055c8ede7920 Ether0.00037038
0xe8e85bb5efd22439059c61213bf198c370d8dff7a077f219ba9508bd988beb7072390844 days 4 hrs ago0xf16f0a13a20b1eed9aef167c2fa6116317a3e165 IN  0x6888a16ea9792c15a4dcf2f6c623d055c8ede7920 Ether0.00037038
0x9e037464ff194051306915cb4707dae90a207627bb31b4456a3973aa88de473c72381584 days 9 hrs ago0xd37b1c3ee66d964a9c202362821c188ee06c4b35 IN  0x6888a16ea9792c15a4dcf2f6c623d055c8ede7920 Ether0.00089688
0x254eac163168776ced4df331f59a07e2274693614c1cd97a298f9d4b6d05148f72363314 days 20 hrs ago0x7947da6705b0fb7f223a9e54bfaff9fde7ebb155 IN  0x6888a16ea9792c15a4dcf2f6c623d055c8ede7920 Ether0.000784518
0x00acf7daf03b47048b414fd1c98829e098b979a61f00b7dcfda0ccf045b08d5172361494 days 21 hrs ago0x7947da6705b0fb7f223a9e54bfaff9fde7ebb155 IN  0x6888a16ea9792c15a4dcf2f6c623d055c8ede7920 Ether0.000489993
0x9625e222feaeb950c8957f48e6a29765df030587ae1fbf5aabdaa1a454bd020472358584 days 22 hrs ago0xa518eb50f76d9f4737ad05b5761cb1b5f08c900e IN  0x6888a16ea9792c15a4dcf2f6c623d055c8ede7920 Ether0.000651882
0xfbd6a0ea6c29f29a0c0952481ed43c7c7feb2b4bfa9fb3758ee7ba548ec2f38772357894 days 23 hrs agoHitBTC_2 IN  0x6888a16ea9792c15a4dcf2f6c623d055c8ede7920 Ether0.00086704848
0x3bcd0dec0cf5a86bb92c30b69b39499a6e743c9d5efd6a92cdd31ff4abac4d8472357624 days 23 hrs ago0xed1a58a77cc7dae2dfbd207fcd0d457380fb07b5 IN  0x6888a16ea9792c15a4dcf2f6c623d055c8ede7920 Ether0.00074844
0x348d7fdd3a36f65db0d7bdb8634a7a39dbde632d9992dd4f4d2f0d84500c31a672357474 days 23 hrs ago0x0f4155a4344b03f92a37c4010ce039c885d7a1c7 IN  0x6888a16ea9792c15a4dcf2f6c623d055c8ede7920 Ether0.00074844
0x6ed31ff66d0095534470f452852d43d1c10d0e1a7058e1e9f4b2695b7bfdc17772355495 days 28 mins ago0xf16f0a13a20b1eed9aef167c2fa6116317a3e165 IN  0x6888a16ea9792c15a4dcf2f6c623d055c8ede7920 Ether0.00040886404
0x1d097296d9d4a634f86303b6aee5a2ae65e4fd67ef95f5ac11145267577f562172355495 days 28 mins ago0xf16f0a13a20b1eed9aef167c2fa6116317a3e165 IN  0x6888a16ea9792c15a4dcf2f6c623d055c8ede7920 Ether0.000487281187
0xa1d7a6db772dfec0b9e7f9247fad80436d2611face89333b38c971b1fd0828e472337865 days 10 hrs ago0x3a7999d7e4029c3a9e547d3ac396d07dbe4b6240 IN  0x6888a16ea9792c15a4dcf2f6c623d055c8ede7920 Ether0.000326837
0x11925d88a1142217c21f6c2302a776e236de2838be57b3505bbf7d442740cee472337845 days 10 hrs ago0x3a7999d7e4029c3a9e547d3ac396d07dbe4b6240 IN  0x6888a16ea9792c15a4dcf2f6c623d055c8ede7920 Ether0.000214333
0xa111a9133b4a100349eca43054b476476bccabd6485e6f7ba642de55019487b572335305 days 12 hrs ago0x7df02753379dabcfeba0678d0ee84ae84fd0babf IN  0x6888a16ea9792c15a4dcf2f6c623d055c8ede7920 Ether0.00018423
0x6879887121b0a9dee9e3bb69f23c21dc172be4d6e30c58789e5b8c35285ef88c72304556 days 5 hrs ago0xc28b61c207e450db4e82ef07e640094f0167e4b0 IN  0x6888a16ea9792c15a4dcf2f6c623d055c8ede7920 Ether0.000134916
0x2d72fba378886bdf1cff7141cfa4163942f827c1fb896c090caebc8c6046d35572304316 days 5 hrs ago0xbe708d227f6dfa0b8f2698bf543b949dfe4e28fb IN  0x6888a16ea9792c15a4dcf2f6c623d055c8ede7920 Ether0.001164075
0x1ad44242ea9da825e64503aa81f9f87ab7e221c880cf8eba7e88630eafa8775b72286186 days 16 hrs ago0xdb92eacd412836ffe816067b2b3ee2fa0b9d45e6 IN  0x6888a16ea9792c15a4dcf2f6c623d055c8ede7920 Ether0.0011211
0xa1f31ea0e4f6210d6cd02ddb737b8fe2c9a2528e204e4401fc0e431609ffe1a072283136 days 17 hrs ago0x3a7999d7e4029c3a9e547d3ac396d07dbe4b6240 IN  0x6888a16ea9792c15a4dcf2f6c623d055c8ede7920 Ether0.000326837
0xc906c064720b26d8cd11afc8f5da434b03a81b96e76bbb76291c36568405dd1a72283106 days 17 hrs ago0x3a7999d7e4029c3a9e547d3ac396d07dbe4b6240 IN  0x6888a16ea9792c15a4dcf2f6c623d055c8ede7920 Ether0.000214333
0xda21728317d0bd4301d60ead3babf589f80e97b2f11917030924257a6715d6df72283086 days 18 hrs ago0xd5d21b9232ab1e6c7622bf2375f0365bc3a6b10d IN  0x6888a16ea9792c15a4dcf2f6c623d055c8ede7920 Ether0.000280146
0x126fa5b34ae74cce4cf7e100bc64bd634b2172bdbcc955d1618169fd57d0ebb272278366 days 20 hrs ago0x4145a66e15e5693deb63ba2872357be646e33784 IN  0x6888a16ea9792c15a4dcf2f6c623d055c8ede7920 Ether0.00104844
0xcc2bda3dbf944c449d827cef6755dc5b8a8921f367883af470fce7155855798d72251117 days 12 hrs ago0x223ccd859b621a096a1857be5b29ed2a6b83de69 IN  0x6888a16ea9792c15a4dcf2f6c623d055c8ede7920 Ether0.000074588
[ Download CSV Export 

Latest 1 Internal Transaction Internal Transactions as a result of Contract Execution

Parent TxHash Block Age From To Value
0xa6f08a769854a27feb32e1373ca153134a76defccae34eafc5f362bd2e45dfbe4683214444 days 6 hrs ago0xc526560cf6ab1755a457248cb9e8669ec7f4b78c  Contract Creation0 Ether
[ Download CSV Export 
Warning: The compiled contract might be susceptible to ExpExponentCleanup (medium/high-severity), NestedArrayFunctionCallDecoder (medium-severity), ZeroFunctionSelector (very low-severity) Solidity Compiler Bugs.

Contract Source Code Verified (Exact Match)
Contract Name: SigToken
Compiler Version: v0.4.15+commit.bbb8e64f
Optimization Enabled: Yes
Runs (Optimizer):  200


Contract Source Code
pragma solidity ^0.4.15;

/**
  * Math operations with safety checks
  */
library SafeMath {
    function safeMul(uint a, uint b) internal returns (uint) {
        uint c = a * b;
        assert(a == 0 || c / a == b);
        return c;
    }

    function safeDiv(uint a, uint b) internal returns (uint) {
        assert(b > 0);
        uint c = a / b;
        assert(a == b * c + a % b);
        return c;
    }

    function safeSub(uint a, uint b) internal returns (uint) {
        assert(b <= a);
        return a - b;
    }

    function safeAdd(uint a, uint b) internal returns (uint) {
        uint c = a + b;
        assert(c>=a && c>=b);
        return c;
    }

    function max64(uint64 a, uint64 b) internal constant returns (uint64) {
        return a >= b ? a : b;
    }

    function min64(uint64 a, uint64 b) internal constant returns (uint64) {
        return a < b ? a : b;
    }

    function max256(uint256 a, uint256 b) internal constant returns (uint256) {
        return a >= b ? a : b;
    }

    function min256(uint256 a, uint256 b) internal constant returns (uint256) {
        return a < b ? a : b;
    }
}


/*
  * ERC20 interface
  * see https://github.com/ethereum/EIPs/issues/20
  */
contract ERC20 {
    uint public totalSupply;
    function balanceOf(address who) constant returns (uint);
    function allowance(address owner, address spender) constant returns (uint);

    function transfer(address to, uint value) returns (bool ok);
    function transferFrom(address from, address to, uint value) returns (bool ok);
    function approve(address spender, uint value) returns (bool ok);
    event Transfer(address indexed from, address indexed to, uint value);
    event Approval(address indexed owner, address indexed spender, uint value);
}



/**
  * Standard ERC20 token with Short Hand Attack and approve() race condition mitigation.
  *
  * Based on code by FirstBlood:
  * https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol
  */
contract StandardToken is ERC20
{
    using SafeMath for uint;

    mapping(address => uint) balances;
    mapping(address => mapping (address => uint)) allowed;

    // Interface marker
    bool public constant isToken = true;

    /**
      * Fix for the ERC20 short address attack
      *
      * http://vessenes.com/the-erc20-short-address-attack-explained/
      */
    modifier onlyPayloadSize(uint size) {
        require(msg.data.length == size + 4);
        _;
    }

    function transfer(address _to, uint _value)
        onlyPayloadSize(2 * 32)
        returns (bool success)
    {
        balances[msg.sender] = balances[msg.sender].safeSub(_value);
        balances[_to] = balances[_to].safeAdd(_value);

        Transfer(msg.sender, _to, _value);
        return true;
    }

    function transferFrom(address from, address to, uint value)
        returns (bool success)
    {
        uint _allowance = allowed[from][msg.sender];

        // Check is not needed because _allowance.safeSub(value) will throw if this condition is not met
        // if (value > _allowance) throw;

        balances[to] = balances[to].safeAdd(value);
        balances[from] = balances[from].safeSub(value);
        allowed[from][msg.sender] = _allowance.safeSub(value);

        Transfer(from, to, value);
        return true;
    }

    function balanceOf(address account)
        constant
        returns (uint balance)
    {
        return balances[account];
    }

    function approve(address spender, uint value)
        returns (bool success)
    {
        // To change the approve amount you first have to reduce the addresses`
        //  allowance to zero by calling `approve(spender, 0)` if it is not
        //  already 0 to mitigate the race condition described here:
        //  https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
        if ((value != 0) && (allowed[msg.sender][spender] != 0)) throw;

        allowed[msg.sender][spender] = value;

        Approval(msg.sender, spender, value);
        return true;
    }

    function allowance(address account, address spender)
        constant
        returns (uint remaining)
    {
        return allowed[account][spender];
    }
}



/**
  * Upgrade target interface inspired by Lunyr.
  *
  * Upgrade agent transfers tokens to a new contract.
  * Upgrade agent itself can be the token contract, or just a middle man contract doing the heavy lifting.
  */
contract UpgradeTarget
{
    uint public originalSupply;

    /** Interface marker */
    function isUpgradeTarget() public constant returns (bool) {
        return true;
    }

    function upgradeFrom(address _from, uint256 _value) public;
}


/**
  * A token upgrade mechanism where users can opt-in amount of tokens to the next smart contract revision.
  *
  * First envisioned by Golem and Lunyr projects.
  */
contract UpgradeableToken is StandardToken
{
    /** Contract / person who can set the upgrade path. This can be the same as team multisig wallet, as what it is with its default value. */
    address public upgradeMaster;

    /** The next contract where the tokens will be migrated. */
    UpgradeTarget public upgradeTarget;

    /** How many tokens we have upgraded by now. */
    uint256 public totalUpgraded;

    /**
      * Upgrade states.
      *
      * - NotAllowed: The child contract has not reached a condition where the upgrade can bgun
      * - WaitingForAgent: Token allows upgrade, but we don't have a new agent yet
      * - ReadyToUpgrade: The agent is set, but not a single token has been upgraded yet
      * - Upgrading: Upgrade agent is set and the balance holders can upgrade their tokens
      *
      */
    enum UpgradeState {Unknown, NotAllowed, WaitingForAgent, ReadyToUpgrade, Upgrading}

    /**
      * Somebody has upgraded some of his tokens.
      */
    event LogUpgrade(address indexed _from, address indexed _to, uint256 _value);

    /**
      * New upgrade agent available.
      */
    event LogSetUpgradeTarget(address agent);

    /**
      * Do not allow construction without upgrade master set.
      */
    function UpgradeableToken(address _upgradeMaster) {
        upgradeMaster = _upgradeMaster;
    }

    /**
      * Allow the token holder to upgrade some of their tokens to a new contract.
      */
    function upgrade(uint256 value) public {
        UpgradeState state = getUpgradeState();
        require(state == UpgradeState.ReadyToUpgrade || state == UpgradeState.Upgrading);

        // Validate input value.
        require(value > 0);

        balances[msg.sender] = balances[msg.sender].safeSub(value);

        // Take tokens out from circulation
        totalSupply   = totalSupply.safeSub(value);
        totalUpgraded = totalUpgraded.safeAdd(value);

        // Upgrade agent reissues the tokens
        upgradeTarget.upgradeFrom(msg.sender, value);
        LogUpgrade(msg.sender, upgradeTarget, value);
    }

    /**
      * Set an upgrade targget that handles the process of letting users opt-in to the new token contract.
      */
    function setUpgradeTarget(address target) external {
        require(canUpgrade());
        require(target != 0x0);
        require(msg.sender == upgradeMaster); // Only a master can designate the next target
        require(getUpgradeState() != UpgradeState.Upgrading); // Upgrade has already begun

        upgradeTarget = UpgradeTarget(target);

        require(upgradeTarget.isUpgradeTarget()); // Bad interface
        require(upgradeTarget.originalSupply() == totalSupply); // Make sure that token supplies match in source and target

        LogSetUpgradeTarget(upgradeTarget);
    }

    /**
      * Get the state of the token upgrade.
      */
    function getUpgradeState() public constant returns (UpgradeState) {
        if (!canUpgrade()) return UpgradeState.NotAllowed;
        else if (address(upgradeTarget) == 0x00) return UpgradeState.WaitingForAgent;
        else if (totalUpgraded == 0) return UpgradeState.ReadyToUpgrade;
        else return UpgradeState.Upgrading;
    }

    /**
      * Change the upgrade master.
      *
      * This allows us to set a new owner for the upgrade mechanism.
      */
    function setUpgradeMaster(address master) public {
        require(master != 0x0);
        require(msg.sender == upgradeMaster);

        upgradeMaster = master;
    }

    /**
      * Child contract can enable to provide the condition when the upgrade can begun.
      */
    function canUpgrade() public constant returns (bool) {
        return true;
    }
}

contract MintableToken is StandardToken
{
    address public mintMaster;

    event LogMintTokens(address recipient, uint amount, uint newBalance, uint totalSupply);
    event LogUnmintTokens(address hodler, uint amount, uint newBalance, uint totalSupply);
    event LogSetMintMaster(address oldMintMaster, address newMintMaster);

    function MintableToken(address _mintMaster) {
        mintMaster = _mintMaster;
    }

    function setMintMaster(address newMintMaster)
        returns (bool ok)
    {
        require(msg.sender == mintMaster);

        address oldMintMaster = mintMaster;
        mintMaster = newMintMaster;

        LogSetMintMaster(oldMintMaster, mintMaster);
        return true;
    }

    function mintTokens(address recipient, uint amount)
        returns (bool ok)
    {
        require(msg.sender == mintMaster);
        require(amount > 0);

        balances[recipient] = balances[recipient].safeAdd(amount);
        totalSupply = totalSupply.safeAdd(amount);

        LogMintTokens(recipient, amount, balances[recipient], totalSupply);
        Transfer(address(0), recipient, amount);
        return true;
    }

    function unmintTokens(address hodler, uint amount)
        returns (bool ok)
    {
        require(msg.sender == mintMaster);
        require(amount > 0);
        require(balances[hodler] >= amount);

        balances[hodler] = balances[hodler].safeSub(amount);
        totalSupply = totalSupply.safeSub(amount);

        LogUnmintTokens(hodler, amount, balances[hodler], totalSupply);
        Transfer(hodler, address(0), amount);
        return true;
    }
}


contract SigToken is UpgradeableToken, MintableToken
{
    string public name = "Signals";
    string public symbol = "SIG";
    uint8 public decimals = 18;

    address public crowdsaleContract;
    bool public crowdsaleCompleted;

    function SigToken()
        UpgradeableToken(msg.sender)
        MintableToken(msg.sender)
    {
        crowdsaleContract = msg.sender;
        totalSupply = 0; // we mint during the crowdsale, so totalSupply must start at 0
    }

    function transfer(address _to, uint _value)
        returns (bool success)
    {
        require(crowdsaleCompleted);
        return StandardToken.transfer(_to, _value);
    }

    function transferFrom(address from, address to, uint value)
        returns (bool success)
    {
        require(crowdsaleCompleted);
        return StandardToken.transferFrom(from, to, value);
    }

    function approve(address spender, uint value)
        returns (bool success)
    {
        require(crowdsaleCompleted);
        return StandardToken.approve(spender, value);
    }

    // This is called to unlock tokens once the crowdsale (and subsequent audit + legal process) are
    // completed.  We don't want people buying tokens during the sale and then immediately starting
    // to trade them.  See Crowdsale::finalizeCrowdsale().
    function setCrowdsaleCompleted() {
        require(msg.sender == crowdsaleContract);
        require(crowdsaleCompleted == false);

        crowdsaleCompleted = true;
    }

    /**
     * ERC20 approveAndCall extension
     *
     * Approves and then calls the receiving contract
     */
    function approveAndCall(address _spender, uint256 _value, bytes _extraData)
        public
        returns (bool success)
    {
        require(crowdsaleCompleted);

        allowed[msg.sender][_spender] = _value;
        Approval(msg.sender, _spender, _value);

        //call the receiveApproval function on the contract you want to be notified. This crafts the function signature manually so one doesn't have to include a contract in here just for this.
        //receiveApproval(address _from, uint256 _value, address _tokenContract, bytes _extraData)
        //it is assumed when one does this that the call *should* succeed, otherwise one would use vanilla approve instead.
        require(_spender.call(bytes4(bytes32(keccak256("receiveApproval(address,uint256,address,bytes)"))), msg.sender, _value, this, _extraData));
        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":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"crowdsaleCompleted","outputs":[{"name":"","type":"bool"}],"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":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"crowdsaleContract","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"value","type":"uint256"}],"name":"upgrade","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"setCrowdsaleCompleted","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"upgradeMaster","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"getUpgradeState","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"canUpgrade","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"hodler","type":"address"},{"name":"amount","type":"uint256"}],"name":"unmintTokens","outputs":[{"name":"ok","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalUpgraded","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"},{"name":"_extraData","type":"bytes"}],"name":"approveAndCall","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"target","type":"address"}],"name":"setUpgradeTarget","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"newMintMaster","type":"address"}],"name":"setMintMaster","outputs":[{"name":"ok","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"mintMaster","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"},{"name":"spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"isToken","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"recipient","type":"address"},{"name":"amount","type":"uint256"}],"name":"mintTokens","outputs":[{"name":"ok","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"upgradeTarget","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"master","type":"address"}],"name":"setUpgradeMaster","outputs":[],"payable":false,"type":"function"},{"inputs":[],"payable":false,"type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"recipient","type":"address"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"newBalance","type":"uint256"},{"indexed":false,"name":"totalSupply","type":"uint256"}],"name":"LogMintTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"hodler","type":"address"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"newBalance","type":"uint256"},{"indexed":false,"name":"totalSupply","type":"uint256"}],"name":"LogUnmintTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"oldMintMaster","type":"address"},{"indexed":false,"name":"newMintMaster","type":"address"}],"name":"LogSetMintMaster","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"LogUpgrade","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"agent","type":"address"}],"name":"LogSetUpgradeTarget","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":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"}]

Contract Creation Code
60606040526040805190810160405260078082527f5369676e616c730000000000000000000000000000000000000000000000000060208301529080516200004c9291602001906200011a565b5060408051908101604052600381527f534947000000000000000000000000000000000000000000000000000000000060208201526008908051620000969291602001906200011a565b506009805460ff191660121790553415620000b057600080fd5b5b335b335b60038054600160a060020a031916600160a060020a0383161790555b5060068054600160a060020a031916600160a060020a0383161790555b506009805461010060a860020a03191661010033600160a060020a031602179055600080555b620001c4565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200015d57805160ff19168380011785556200018d565b828001600101855582156200018d579182015b828111156200018d57825182559160200191906001019062000170565b5b506200019c929150620001a0565b5090565b620001c191905b808211156200019c5760008155600101620001a7565b5090565b90565b61156380620001d46000396000f300606060405236156101385763ffffffff60e060020a60003504166306fdde03811461013d578063095ea7b3146101c85780631088f03f146101fe57806318160ddd1461022557806323b872dd1461024a578063313ce5671461028657806331616395146102af57806345977d03146102de5780635afd7627146102f6578063600440cb1461030b57806370a082311461033a5780638444b3911461036b57806395d89b41146103a25780639738968c1461042d578063a9059cbb14610454578063af9afe731461048a578063c752ff62146104c0578063cae9ca51146104e5578063cd3265a31461055e578063ce5c073d1461057f578063d991c58f146105b2578063dd62ed3e146105e1578063eefa597b14610618578063f0dda65c1461063f578063fe537a8214610675578063ffeb7d75146106a4575b600080fd5b341561014857600080fd5b6101506106c5565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561018d5780820151818401525b602001610174565b50505050905090810190601f1680156101ba5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101d357600080fd5b6101ea600160a060020a0360043516602435610763565b604051901515815260200160405180910390f35b341561020957600080fd5b6101ea610791565b604051901515815260200160405180910390f35b341561023057600080fd5b6102386107a1565b60405190815260200160405180910390f35b341561025557600080fd5b6101ea600160a060020a03600435811690602435166044356107a7565b604051901515815260200160405180910390f35b341561029157600080fd5b6102996107d7565b60405160ff909116815260200160405180910390f35b34156102ba57600080fd5b6102c26107e0565b604051600160a060020a03909116815260200160405180910390f35b34156102e957600080fd5b6102f46004356107f4565b005b341561030157600080fd5b6102f4610961565b005b341561031657600080fd5b6102c26109c0565b604051600160a060020a03909116815260200160405180910390f35b341561034557600080fd5b610238600160a060020a03600435166109cf565b60405190815260200160405180910390f35b341561037657600080fd5b61037e6109ee565b6040518082600481111561038e57fe5b60ff16815260200191505060405180910390f35b34156103ad57600080fd5b610150610a3b565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561018d5780820151818401525b602001610174565b50505050905090810190601f1680156101ba5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561043857600080fd5b6101ea610ad9565b604051901515815260200160405180910390f35b341561045f57600080fd5b6101ea600160a060020a0360043516602435610adf565b604051901515815260200160405180910390f35b341561049557600080fd5b6101ea600160a060020a0360043516602435610b0d565b604051901515815260200160405180910390f35b34156104cb57600080fd5b610238610c6a565b60405190815260200160405180910390f35b34156104f057600080fd5b6101ea60048035600160a060020a03169060248035919060649060443590810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650610c7095505050505050565b604051901515815260200160405180910390f35b341561056957600080fd5b6102f4600160a060020a0360043516610e2a565b005b341561058a57600080fd5b6101ea600160a060020a0360043516610fe3565b604051901515815260200160405180910390f35b34156105bd57600080fd5b6102c2611087565b604051600160a060020a03909116815260200160405180910390f35b34156105ec57600080fd5b610238600160a060020a0360043581169060243516611096565b60405190815260200160405180910390f35b341561062357600080fd5b6101ea6110c3565b604051901515815260200160405180910390f35b341561064a57600080fd5b6101ea600160a060020a03600435166024356110c8565b604051901515815260200160405180910390f35b341561068057600080fd5b6102c26111ff565b604051600160a060020a03909116815260200160405180910390f35b34156106af57600080fd5b6102f4600160a060020a036004351661120e565b005b60078054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561075b5780601f106107305761010080835404028352916020019161075b565b820191906000526020600020905b81548152906001019060200180831161073e57829003601f168201915b505050505081565b60095460009060a860020a900460ff16151561077e57600080fd5b610788838361126a565b90505b92915050565b60095460a860020a900460ff1681565b60005481565b60095460009060a860020a900460ff1615156107c257600080fd5b6107cd848484611313565b90505b9392505050565b60095460ff1681565b6009546101009004600160a060020a031681565b60006107fe6109ee565b905060035b81600481111561080f57fe5b1480610827575060045b81600481111561082557fe5b145b151561083257600080fd5b6000821161083f57600080fd5b600160a060020a033316600090815260016020526040902054610868908363ffffffff61141616565b600160a060020a03331660009081526001602052604081209190915554610895908363ffffffff61141616565b6000556005546108ab908363ffffffff61142d16565b600555600454600160a060020a031663753e88e5338460405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b151561090457600080fd5b6102c65a03f1151561091557600080fd5b5050600454600160a060020a03908116915033167f947637ad74c8018986ee33595c626316230f52029a0129e84fc7212b7b2c75028460405190815260200160405180910390a35b5050565b60095433600160a060020a03908116610100909204161461098157600080fd5b60095460a860020a900460ff161561099857600080fd5b6009805475ff000000000000000000000000000000000000000000191660a860020a1790555b565b600354600160a060020a031681565b600160a060020a0381166000908152600160205260409020545b919050565b60006109f8610ad9565b1515610a0657506001610a35565b600454600160a060020a03161515610a2057506002610a35565b6005541515610a3157506003610a35565b5060045b5b5b5b90565b60088054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561075b5780601f106107305761010080835404028352916020019161075b565b820191906000526020600020905b81548152906001019060200180831161073e57829003601f168201915b505050505081565b60015b90565b60095460009060a860020a900460ff161515610afa57600080fd5b6107888383611455565b90505b92915050565b60065460009033600160a060020a03908116911614610b2b57600080fd5b60008211610b3857600080fd5b600160a060020a03831660009081526001602052604090205482901015610b5e57600080fd5b600160a060020a038316600090815260016020526040902054610b87908363ffffffff61141616565b600160a060020a03841660009081526001602052604081209190915554610bb4908363ffffffff61141616565b6000818155600160a060020a03851681526001602052604090819020547f2e0eddecfc49c6167981c028aca887d76127461e2b5a26b11d4aa0511e40d60192869286929190518085600160a060020a0316600160a060020a0316815260200184815260200183815260200182815260200194505050505060405180910390a16000600160a060020a0384166000805160206115188339815191528460405190815260200160405180910390a35060015b92915050565b60055481565b60095460009060a860020a900460ff161515610c8b57600080fd5b600160a060020a03338116600081815260026020908152604080832094891680845294909152908190208690557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259086905190815260200160405180910390a383600160a060020a03166040517f72656365697665417070726f76616c28616464726573732c75696e743235362c81527f616464726573732c6279746573290000000000000000000000000000000000006020820152602e01604051809103902060e060020a9004338530866040518563ffffffff1660e060020a0281526004018085600160a060020a0316600160a060020a0316815260200184815260200183600160a060020a0316600160a060020a03168152602001828051906020019080838360005b83811015610dca5780820151818401525b602001610db1565b50505050905090810190601f168015610df75780820380516001836020036101000a031916815260200191505b5094505050505060006040518083038160008761646e5a03f1925050501515610e1f57600080fd5b5060015b9392505050565b610e32610ad9565b1515610e3d57600080fd5b600160a060020a0381161515610e5257600080fd5b60035433600160a060020a03908116911614610e6d57600080fd5b60045b610e786109ee565b6004811115610e8357fe5b1415610e8e57600080fd5b6004805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03838116919091179182905516633b6b367e6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610ef957600080fd5b6102c65a03f11515610f0a57600080fd5b505050604051805190501515610f1f57600080fd5b600080546004549091600160a060020a0390911690634b2ba0dd90604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610f6f57600080fd5b6102c65a03f11515610f8057600080fd5b50505060405180519050141515610f9657600080fd5b6004547f85efc013e6a48528d2ea6e2365572f6db3ff28b9b911968161eaf0fd46d494e890600160a060020a0316604051600160a060020a03909116815260200160405180910390a15b50565b600654600090819033600160a060020a0390811691161461100357600080fd5b5060068054600160a060020a0384811673ffffffffffffffffffffffffffffffffffffffff1983161792839055908116917f85634ebba9e270a25e5845ccc5f7819479f4edb51c85d57452434114c70dedca91839116604051600160a060020a039283168152911660208201526040908101905180910390a1600191505b50919050565b600654600160a060020a031681565b600160a060020a038083166000908152600260209081526040808320938516835292905220545b92915050565b600181565b60065460009033600160a060020a039081169116146110e657600080fd5b600082116110f357600080fd5b600160a060020a03831660009081526001602052604090205461111c908363ffffffff61142d16565b600160a060020a03841660009081526001602052604081209190915554611149908363ffffffff61142d16565b6000818155600160a060020a03851681526001602052604090819020547f5f502ab3f45e75f9f14918f5f5e2680d15cf6823e37114077e4488f5c3a6070992869286929190518085600160a060020a0316600160a060020a0316815260200184815260200183815260200182815260200194505050505060405180910390a1600160a060020a03831660006000805160206115188339815191528460405190815260200160405180910390a35060015b92915050565b600454600160a060020a031681565b600160a060020a038116151561122357600080fd5b60035433600160a060020a0390811691161461123e57600080fd5b6003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b50565b6000811580159061129f5750600160a060020a0333811660009081526002602090815260408083209387168352929052205415155b156112a957600080fd5b600160a060020a03338116600081815260026020908152604080832094881680845294909152908190208590557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b600160a060020a03808416600090815260026020908152604080832033851684528252808320549386168352600190915281205490919061135a908463ffffffff61142d16565b600160a060020a03808616600090815260016020526040808220939093559087168152205461138f908463ffffffff61141616565b600160a060020a0386166000908152600160205260409020556113b8818463ffffffff61141616565b600160a060020a03808716600081815260026020908152604080832033861684529091529081902093909355908616916000805160206115188339815191529086905190815260200160405180910390a3600191505b509392505050565b60008282111561142257fe5b508082035b92915050565b60008282018381108015906114425750828110155b151561144a57fe5b8091505b5092915050565b600060403660441461146657600080fd5b600160a060020a03331660009081526001602052604090205461148f908463ffffffff61141616565b600160a060020a0333811660009081526001602052604080822093909355908616815220546114c4908463ffffffff61142d16565b600160a060020a0380861660008181526001602052604090819020939093559133909116906000805160206115188339815191529086905190815260200160405180910390a3600191505b5b50929150505600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a723058209274d12d9b0929dc0a25eeacfea489154f63da31679a78aa71d557aa42fee3880029


   Swarm Source:
bzzr://9274d12d9b0929dc0a25eeacfea489154f63da31679a78aa71d557aa42fee388
Block Age transaction Difficulty GasUsed Reward
Block Age Uncle Number Difficulty GasUsed Reward
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.