ETH Price: $3,128.00 (+0.98%)

Token

Hoard Token (HRD)
 

Overview

Max Total Supply

1,000,000,000 HRD

Holders

81 (0.00%)

Market

Price

$0.00 @ 0.000001 ETH

Onchain Market Cap

$1,710,284.70

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
4,582,729.17 HRD

Value
$7,837.77 ( ~2.5057 Eth) [0.4583%]
0x1dC9B91DE003fd503F25cB5d114cf0fc68F7aFe6
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

Hoard is changing the future of the Gaming Industry. It enables game players and game developers to take advantage of true ownership, virtual exchange and crowdfunding games.


 


# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
HoardToken

Compiler Version
v0.5.8+commit.23d335f2

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2019-05-22
*/

pragma solidity ^0.5.8;


/// @title ERC20 Token Interface
/// @author Hoard Team
/// @notice See https://github.com/ethereum/EIPs/issues/20
contract ERC20Token {

    // PUBLIC INTERFACE

    // /// @dev Returns total amount of tokens
    // /// @notice params -> (uint256 totalSupply)
    // It's implamented as a variable which doesn't override this method. Commented to prevent compilation error.
    // function totalSupply    () constant public returns (uint256);

    /// @dev Returns balance of specified account
    /// @notice params -> (address _owner)
    function balanceOf      (address) view public returns (uint256);

    /// @dev  Transfers tokens from msg.sender to a specified address
    /// @notice params -> (address _to, uint256 _value)
    function transfer       (address, uint256) public returns (bool);

    /// @dev  Allowance mechanism - delegated transfer
    /// @notice params -> (address _from, address _to, uint256 _value)
    function transferFrom   (address, address, uint256) public returns (bool);

    /// @dev  Allowance mechanism - approve delegated transfer
    /// @notice params -> (address _spender, uint256 _value)
    function approve        (address, uint256) public returns (bool);

    /// @dev  Allowance mechanism - set allowance for specified address
    /// @notice params -> (address _owner, address _spender)
    function allowance      (address, address) public view returns (uint256);


    // EVENTS

    event Transfer(address indexed _from, address indexed _to, uint256 _value);
    event Approval(address indexed _owner, address indexed _spender, uint256 _value);

}


/// @title Safe Math
/// @author Open Zeppelin
/// @notice implementation from - https://github.com/OpenZeppelin/zeppelin-solidity/blob/master/contracts/math/SafeMath.sol
library SafeMath {
  function safeMul(uint256 a, uint256 b) internal pure returns (uint256) {
    uint256 c = a * b;
    assert(a == 0 || c / a == b);
    return c;
  }

  function safeDiv(uint256 a, uint256 b) internal pure returns (uint256) {
    // assert(b > 0); // Solidity automatically throws when dividing by 0
    uint256 c = a / b;
    // assert(a == b * c + a % b); // There is no case in which this doesn't hold
    return c;
  }

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

  function safeAdd(uint256 a, uint256 b) internal pure returns (uint256) {
    uint256 c = a + b;
    assert(c >= a);
    return c;
  }
  
  function max256(uint256 a, uint256 b) internal pure returns (uint256) {
    return a >= b ? a : b;
  }

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

}



/// @title Standard ERC20 compliant token
/// @author Hoard Team
/// @notice Original taken from https://github.com/ethereum/EIPs/issues/20
/// @notice SafeMath used as specified by OpenZeppelin
/// @notice Comments and additional approval code from https://github.com/OpenZeppelin/zeppelin-solidity/blob/master/contracts/token
contract StandardToken is ERC20Token {

    using SafeMath for uint256;

    mapping (address => uint256) balances;

    mapping (address => mapping (address => uint256)) allowed;

    uint256 public totalSupply;

   /// @dev transfer token for a specified address
   /// @param _to The address to transfer to.
   /// @param _value The amount to be transferred.
   function transfer(address _to, uint256 _value) public returns (bool) {
        balances[msg.sender] = balances[msg.sender].safeSub(_value);
        balances[_to] = balances[_to].safeAdd(_value);

        emit Transfer(msg.sender, _to, _value);            

        return true;
    }

    /// @dev Transfer tokens from one address to another
    /// @param _from address The address which you want to send tokens from
    /// @param _to address The address which you want to transfer to
    /// @param _value uint256 the amount of tokens to be transferred
    function transferFrom(address _from, address _to, uint256 _value) public returns (bool) {
        uint256 _allowance = allowed[_from][msg.sender];

        // Check is not needed because sub(_allowance, _value) will already throw if this condition is not met
        // require (_value <= _allowance);        if (balances[_from] >= _value && allowed[_from][msg.sender] >= _value && balances[_to] + _value > balances[_to]) {

        balances[_to] = balances[_to].safeAdd(_value);
        balances[_from] = balances[_from].safeSub(_value);
        allowed[_from][msg.sender] = _allowance.safeSub(_value);

        emit Transfer(_from, _to, _value);
            
        return true;
    }

    /// @dev Gets the balance of the specified address.
    /// @param _owner The address to query the the balance of. 
    /// @return An uint256 representing the amount owned by the passed address.
    function balanceOf(address _owner) view public returns (uint256) {
        return balances[_owner];
    }

   /// @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.
   /// @param _spender The address which will spend the funds.
   /// @param _value The amount of tokens to be spent.
   function approve(address _spender, uint256 _value) public returns (bool) {
        // 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
        require((_value == 0) || (allowed[msg.sender][_spender] == 0));
        
        allowed[msg.sender][_spender] = _value;

        emit Approval(msg.sender, _spender, _value);

        return true;
    }

   /// @dev Function to check the amount of tokens that an owner allowed to a spender.
   /// @param _owner address The address which owns the funds.
   /// @param _spender address The address which will spend the funds.
   /// @return A uint256 specifying the amount of tokens still available for the spender.
   function allowance(address _owner, address _spender) view public returns (uint256) {
        return allowed[_owner][_spender];
    }

    /// @notice approve should be called when allowed[_spender] == 0. To increment
    /// allowed value it is better to use this function to avoid 2 calls (and wait until 
    /// the first transaction is mined)
    function increaseApproval (address _spender, uint256 _addedValue) public returns (bool) {
        allowed[msg.sender][_spender] = allowed[msg.sender][_spender].safeAdd(_addedValue);

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

        return true;
    }

    /// @notice approve should be called when allowed[_spender] == 0. To decrement
    /// allowed value it is better to use this function to avoid 2 calls (and wait until 
    /// the first transaction is mined)
    function decreaseApproval (address _spender, uint256 _subtractedValue) public returns (bool) {
        uint256 oldValue = allowed[msg.sender][_spender];
        
        if (_subtractedValue > oldValue) {
            allowed[msg.sender][_spender] = 0;
        } else {
            allowed[msg.sender][_spender] = oldValue - _subtractedValue;
        }

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

        return true;
    }

}


/// @title Migration Agent interface
/// @author Hoard Team
/// @notice Based on GNT implementation - https://github.com/golemfactory/golem-crowdfunding/blob/master/contracts/Token.sol
contract MigrationAgent {

    /// @dev migrates tokens or other "assets" from one contract to another (not yet specified)
    /// @notice parameters -> (address _from, uint _value)
    function migrateFrom(address, uint256) public;
}


/// @title Mintable token interface
/// @author Hoard Team
contract Mintable {

    /// @dev Mint new tokens  
    /// @notice params -> (address _recipient, uint256 _amount)
    function mintTokens         (address, uint256) public;
}


/// @title Migratable entity interface
/// @author Hoard Team
contract Migratable {

    /// @dev Migrates tokens for msg.sender  
    /// @notice params -> (uint256 _value)
    function migrate            (uint256) public;


    // EVENTS

    event Migrate               (address indexed _from, address indexed _to, uint256 _value);
}


/// @title Standard ERC20 compliant token
/// @author Hoard Team
contract ExtendedStandardToken is StandardToken, Migratable, Mintable {

    address public migrationAgent;
    uint256 public totalMigrated;


    // MODIFIERS

    modifier migrationAgentSet {
        require(migrationAgent != address(0));
        _;
    }

    modifier migrationAgentNotSet {
        require(migrationAgent == address(0));
        _;
    }

    /// @dev Internal constructor to prevent bare instances of this contract
    constructor () internal {
    }

    // MIGRATION LOGIC

    /// @dev Migrates tokens for msg.sender and burns them
    /// @param _value amount of tokens to migrate
    function migrate            (uint256 _value) public {

        // Validate input value
        require(_value > 0);
    
        //require(_value <= balances[msg.sender]);
        //not necessary as safeSub throws in case the above condition does not hold
    
        balances[msg.sender] = balances[msg.sender].safeSub(_value);
        totalSupply = totalSupply.safeSub(_value);
        totalMigrated = totalMigrated.safeAdd(_value);

        MigrationAgent(migrationAgent).migrateFrom(msg.sender, _value);

        emit Migrate(msg.sender, migrationAgent, _value);
    }


    // MINTING LOGIC

    /// @dev Mints additional tokens
    /// @param _recipient owner of new tokens 
    /// @param _amount amount of tokens to mint
    function mintTokens         (address _recipient, uint256 _amount) public {
        require(_amount > 0);

        balances[_recipient] = balances[_recipient].safeAdd(_amount);
        totalSupply = totalSupply.safeAdd(_amount);

        // Log token creation event
        emit Transfer(address(0), msg.sender, _amount);
    }


    // CONTROL LOGIC

    /// @dev Sets address of a new migration agent
    /// @param _address address of new migration agent 
    function setMigrationAgent  (address _address) public {
        migrationAgent = _address; 
    }

}



/// @title Hoard Token (HRD) - crowdfunding code for Hoard token
/// @author Hoard Team
/// @notice Based on MLN implementation - https://github.com/melonproject/melon/blob/master/contracts/tokens/MelonToken.sol
/// @notice Based on GNT implementation - https://github.com/golemfactory/golem-crowdfunding/blob/master/contracts/Token.sol
contract HoardToken is ExtendedStandardToken {

    // Token description fields
    string public constant name = "Hoard Token";
    string public constant symbol = "HRD";
    uint256 public constant decimals = 18;  // 18 decimal places, the same as ETH

    // contract supervision variables
    address public creator;
    address public hoard;
    address public migrationMaster;


    // MODIFIERS

    modifier onlyCreator {
        require(msg.sender == creator);
        _;
    }

    modifier onlyHoard {
        require(msg.sender == hoard);
        _;
    }

    modifier onlyMigrationMaster {
        require(msg.sender == migrationMaster);
        _;
    }

    // CONSTRUCTION

    /// @param _hoard Hoard multisig contract
    /// @param _migrationMaster migration master
    constructor (address _hoard, address _migrationMaster) public {
        require(_hoard != address(0));
        require(_migrationMaster != address(0));

        creator = msg.sender;
        hoard = _hoard;
        migrationMaster = _migrationMaster;
    }


    // BASE CLASS IMPLEMENTATION

    /// @notice ExtendedStandardToken is StandardToken
    function transfer               (address _to, uint256 _value) public
        returns (bool) 
    {
        return super.transfer(_to, _value);
    }


    /// @notice ExtendedStandardToken is StandardToken
    function transferFrom           (address _from, address _to, uint256 _value) public 
        returns (bool)
    {
        return super.transferFrom(_from, _to, _value);
    }


    /// @notice ExtendedStandardToken is Migratable
    function migrate                (uint256 _value) public migrationAgentSet {
        super.migrate(_value);    
    }

    /// @notice ExtendedStandardToken
    function setMigrationAgent      (address _address) public onlyMigrationMaster migrationAgentNotSet {
        require(_address != address(0));

        super.setMigrationAgent(_address);
    }

    /// @notice ExtendedStandardToken is Mintable
    function mintTokens             (address _recipient, uint256 _amount) public onlyCreator {
        super.mintTokens(_recipient, _amount);
    }

    // CONTROL LOGIC

    /// @dev changes Hoard multisig address to another one
    function changeHoardAddress     (address _address) onlyHoard external { hoard = _address; }

    /// @dev changes migration master address to another one
    function changeMigrationMaster  (address _address) onlyHoard external { migrationMaster = _address; }

}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"creator","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"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":true,"inputs":[],"name":"totalSupply","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":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"migrate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"}],"name":"changeMigrationMaster","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"migrationMaster","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","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":"_address","type":"address"}],"name":"setMigrationAgent","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"}],"name":"changeHoardAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"migrationAgent","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalMigrated","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"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":true,"inputs":[],"name":"hoard","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_recipient","type":"address"},{"name":"_amount","type":"uint256"}],"name":"mintTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_hoard","type":"address"},{"name":"_migrationMaster","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Migrate","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"}]

608060405234801561001057600080fd5b50604051604080610ce98339810180604052604081101561003057600080fd5b5080516020909101516001600160a01b03821661004c57600080fd5b6001600160a01b03811661005f57600080fd5b600580546001600160a01b03199081163317909155600680546001600160a01b0394851690831617905560078054929093169116179055610c44806100a56000396000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c806370a08231116100b857806395d89b411161007c57806395d89b4114610370578063a9059cbb14610378578063c3f97d4a146103a4578063d73dd623146103ac578063dd62ed3e146103d8578063f0dda65c1461040657610137565b806370a08231146102ee57806375e2ff65146103145780637d8890ca1461033a5780638328dbcd1461036057806395a0f5eb1461036857610137565b8063313ce567116100ff578063313ce5671461026d578063454b0608146102755780635efe96e01461029457806366188463146102ba578063676d2e62146102e657610137565b806302d05d3f1461013c57806306fdde0314610160578063095ea7b3146101dd57806318160ddd1461021d57806323b872dd14610237575b600080fd5b610144610432565b604080516001600160a01b039092168252519081900360200190f35b610168610441565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101a257818101518382015260200161018a565b50505050905090810190601f1680156101cf5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610209600480360360408110156101f357600080fd5b506001600160a01b03813516906020013561046b565b604080519115158252519081900360200190f35b61022561050b565b60408051918252519081900360200190f35b6102096004803603606081101561024d57600080fd5b506001600160a01b03813581169160208101359091169060400135610511565b610225610526565b6102926004803603602081101561028b57600080fd5b503561052b565b005b610292600480360360208110156102aa57600080fd5b50356001600160a01b031661054c565b610209600480360360408110156102d057600080fd5b506001600160a01b038135169060200135610585565b610144610669565b6102256004803603602081101561030457600080fd5b50356001600160a01b0316610678565b6102926004803603602081101561032a57600080fd5b50356001600160a01b0316610693565b6102926004803603602081101561035057600080fd5b50356001600160a01b03166106dc565b610144610715565b610225610724565b61016861072a565b6102096004803603604081101561038e57600080fd5b506001600160a01b03813516906020013561074c565b61014461075f565b610209600480360360408110156103c257600080fd5b506001600160a01b03813516906020013561076e565b610225600480360360408110156103ee57600080fd5b506001600160a01b0381358116916020013516610807565b6102926004803603604081101561041c57600080fd5b506001600160a01b038135169060200135610832565b6005546001600160a01b031681565b6040518060400160405280600b8152602001600160a91b6a2437b0b932102a37b5b2b70281525081565b600081158061049b57503360009081526001602090815260408083206001600160a01b0387168452909152902054155b6104a457600080fd5b3360008181526001602090815260408083206001600160a01b03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b60025481565b600061051e848484610857565b949350505050565b601281565b6003546001600160a01b031661054057600080fd5b61054981610965565b50565b6006546001600160a01b0316331461056357600080fd5b600780546001600160a01b0319166001600160a01b0392909216919091179055565b3360009081526001602090815260408083206001600160a01b0386168452909152812054808311156105da573360009081526001602090815260408083206001600160a01b0388168452909152812055610603565b3360009081526001602090815260408083206001600160a01b0388168452909152902083820390555b3360008181526001602090815260408083206001600160a01b0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b6007546001600160a01b031681565b6001600160a01b031660009081526020819052604090205490565b6007546001600160a01b031633146106aa57600080fd5b6003546001600160a01b0316156106c057600080fd5b6001600160a01b0381166106d357600080fd5b61054981610a86565b6006546001600160a01b031633146106f357600080fd5b600680546001600160a01b0319166001600160a01b0392909216919091179055565b6003546001600160a01b031681565b60045481565b604051806040016040528060038152602001600160ea1b621214910281525081565b60006107588383610aa8565b9392505050565b6006546001600160a01b031681565b3360009081526001602090815260408083206001600160a01b03861684529091528120546107a2908363ffffffff610b5616565b3360008181526001602090815260408083206001600160a01b0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6005546001600160a01b0316331461084957600080fd5b6108538282610b65565b5050565b6001600160a01b03808416600090815260016020908152604080832033845282528083205493861683529082905281205490919061089b908463ffffffff610b5616565b6001600160a01b0380861660009081526020819052604080822093909355908716815220546108d0908463ffffffff610c0616565b6001600160a01b0386166000908152602081905260409020556108f9818463ffffffff610c0616565b6001600160a01b03808716600081815260016020908152604080832033845282529182902094909455805187815290519288169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a3506001949350505050565b6000811161097257600080fd5b33600090815260208190526040902054610992908263ffffffff610c0616565b336000908152602081905260409020556002546109b5908263ffffffff610c0616565b6002556004546109cb908263ffffffff610b5616565b600490815560035460408051600160e01b637a3130e3028152339381019390935260248301849052516001600160a01b0390911691637a3130e391604480830192600092919082900301818387803b158015610a2657600080fd5b505af1158015610a3a573d6000803e3d6000fd5b50506003546040805185815290516001600160a01b0390921693503392507f18df02dcc52b9c494f391df09661519c0069bd8540141946280399408205ca1a919081900360200190a350565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b33600090815260208190526040812054610ac8908363ffffffff610c0616565b33600090815260208190526040808220929092556001600160a01b03851681522054610afa908363ffffffff610b5616565b6001600160a01b038416600081815260208181526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b60008282018381101561075857fe5b60008111610b7257600080fd5b6001600160a01b038216600090815260208190526040902054610b9b908263ffffffff610b5616565b6001600160a01b038316600090815260208190526040902055600254610bc7908263ffffffff610b5616565b60025560408051828152905133916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b600082821115610c1257fe5b5090039056fea165627a7a72305820773aa0e6bb1a136488e3a52befd47cf69ae3e4674aeaf6b20f9d5f520dca97fc0029000000000000000000000000c14f6e197f8116e5ee3dd5d6049635ba6d7060df000000000000000000000000c14f6e197f8116e5ee3dd5d6049635ba6d7060df

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101375760003560e01c806370a08231116100b857806395d89b411161007c57806395d89b4114610370578063a9059cbb14610378578063c3f97d4a146103a4578063d73dd623146103ac578063dd62ed3e146103d8578063f0dda65c1461040657610137565b806370a08231146102ee57806375e2ff65146103145780637d8890ca1461033a5780638328dbcd1461036057806395a0f5eb1461036857610137565b8063313ce567116100ff578063313ce5671461026d578063454b0608146102755780635efe96e01461029457806366188463146102ba578063676d2e62146102e657610137565b806302d05d3f1461013c57806306fdde0314610160578063095ea7b3146101dd57806318160ddd1461021d57806323b872dd14610237575b600080fd5b610144610432565b604080516001600160a01b039092168252519081900360200190f35b610168610441565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101a257818101518382015260200161018a565b50505050905090810190601f1680156101cf5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610209600480360360408110156101f357600080fd5b506001600160a01b03813516906020013561046b565b604080519115158252519081900360200190f35b61022561050b565b60408051918252519081900360200190f35b6102096004803603606081101561024d57600080fd5b506001600160a01b03813581169160208101359091169060400135610511565b610225610526565b6102926004803603602081101561028b57600080fd5b503561052b565b005b610292600480360360208110156102aa57600080fd5b50356001600160a01b031661054c565b610209600480360360408110156102d057600080fd5b506001600160a01b038135169060200135610585565b610144610669565b6102256004803603602081101561030457600080fd5b50356001600160a01b0316610678565b6102926004803603602081101561032a57600080fd5b50356001600160a01b0316610693565b6102926004803603602081101561035057600080fd5b50356001600160a01b03166106dc565b610144610715565b610225610724565b61016861072a565b6102096004803603604081101561038e57600080fd5b506001600160a01b03813516906020013561074c565b61014461075f565b610209600480360360408110156103c257600080fd5b506001600160a01b03813516906020013561076e565b610225600480360360408110156103ee57600080fd5b506001600160a01b0381358116916020013516610807565b6102926004803603604081101561041c57600080fd5b506001600160a01b038135169060200135610832565b6005546001600160a01b031681565b6040518060400160405280600b8152602001600160a91b6a2437b0b932102a37b5b2b70281525081565b600081158061049b57503360009081526001602090815260408083206001600160a01b0387168452909152902054155b6104a457600080fd5b3360008181526001602090815260408083206001600160a01b03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b60025481565b600061051e848484610857565b949350505050565b601281565b6003546001600160a01b031661054057600080fd5b61054981610965565b50565b6006546001600160a01b0316331461056357600080fd5b600780546001600160a01b0319166001600160a01b0392909216919091179055565b3360009081526001602090815260408083206001600160a01b0386168452909152812054808311156105da573360009081526001602090815260408083206001600160a01b0388168452909152812055610603565b3360009081526001602090815260408083206001600160a01b0388168452909152902083820390555b3360008181526001602090815260408083206001600160a01b0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b6007546001600160a01b031681565b6001600160a01b031660009081526020819052604090205490565b6007546001600160a01b031633146106aa57600080fd5b6003546001600160a01b0316156106c057600080fd5b6001600160a01b0381166106d357600080fd5b61054981610a86565b6006546001600160a01b031633146106f357600080fd5b600680546001600160a01b0319166001600160a01b0392909216919091179055565b6003546001600160a01b031681565b60045481565b604051806040016040528060038152602001600160ea1b621214910281525081565b60006107588383610aa8565b9392505050565b6006546001600160a01b031681565b3360009081526001602090815260408083206001600160a01b03861684529091528120546107a2908363ffffffff610b5616565b3360008181526001602090815260408083206001600160a01b0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6005546001600160a01b0316331461084957600080fd5b6108538282610b65565b5050565b6001600160a01b03808416600090815260016020908152604080832033845282528083205493861683529082905281205490919061089b908463ffffffff610b5616565b6001600160a01b0380861660009081526020819052604080822093909355908716815220546108d0908463ffffffff610c0616565b6001600160a01b0386166000908152602081905260409020556108f9818463ffffffff610c0616565b6001600160a01b03808716600081815260016020908152604080832033845282529182902094909455805187815290519288169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a3506001949350505050565b6000811161097257600080fd5b33600090815260208190526040902054610992908263ffffffff610c0616565b336000908152602081905260409020556002546109b5908263ffffffff610c0616565b6002556004546109cb908263ffffffff610b5616565b600490815560035460408051600160e01b637a3130e3028152339381019390935260248301849052516001600160a01b0390911691637a3130e391604480830192600092919082900301818387803b158015610a2657600080fd5b505af1158015610a3a573d6000803e3d6000fd5b50506003546040805185815290516001600160a01b0390921693503392507f18df02dcc52b9c494f391df09661519c0069bd8540141946280399408205ca1a919081900360200190a350565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b33600090815260208190526040812054610ac8908363ffffffff610c0616565b33600090815260208190526040808220929092556001600160a01b03851681522054610afa908363ffffffff610b5616565b6001600160a01b038416600081815260208181526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b60008282018381101561075857fe5b60008111610b7257600080fd5b6001600160a01b038216600090815260208190526040902054610b9b908263ffffffff610b5616565b6001600160a01b038316600090815260208190526040902055600254610bc7908263ffffffff610b5616565b60025560408051828152905133916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b600082821115610c1257fe5b5090039056fea165627a7a72305820773aa0e6bb1a136488e3a52befd47cf69ae3e4674aeaf6b20f9d5f520dca97fc0029

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

000000000000000000000000c14f6e197f8116e5ee3dd5d6049635ba6d7060df000000000000000000000000c14f6e197f8116e5ee3dd5d6049635ba6d7060df

-----Decoded View---------------
Arg [0] : _hoard (address): 0xC14f6E197f8116E5ee3Dd5d6049635Ba6d7060dF
Arg [1] : _migrationMaster (address): 0xC14f6E197f8116E5ee3Dd5d6049635Ba6d7060dF

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000c14f6e197f8116e5ee3dd5d6049635ba6d7060df
Arg [1] : 000000000000000000000000c14f6e197f8116e5ee3dd5d6049635ba6d7060df


Deployed Bytecode Sourcemap

11039:2571:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11039:2571:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11344:22;;;:::i;:::-;;;;-1:-1:-1;;;;;11344:22:0;;;;;;;;;;;;;;11126:43;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;11126:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5336:601;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;5336:601:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;3328:26;;;:::i;:::-;;;;;;;;;;;;;;;;12446:178;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;12446:178:0;;;;;;;;;;;;;;;;;:::i;11220:37::-;;;:::i;12687:118::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;12687:118:0;;:::i;:::-;;13504:101;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;13504:101:0;-1:-1:-1;;;;;13504:101:0;;:::i;7133:468::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;7133:468:0;;;;;;;;:::i;11400:30::-;;;:::i;4997:107::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4997:107:0;-1:-1:-1;;;;;4997:107:0;;:::i;12852:195::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;12852:195:0;-1:-1:-1;;;;;12852:195:0;;:::i;13343:91::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;13343:91:0;-1:-1:-1;;;;;13343:91:0;;:::i;8793:29::-;;;:::i;8829:28::-;;;:::i;11176:37::-;;;:::i;12228:152::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;12228:152:0;;;;;;;;:::i;11373:20::-;;;:::i;6617:292::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;6617:292:0;;;;;;;;:::i;6259:134::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;6259:134:0;;;;;;;;;;:::i;13106:145::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;13106:145:0;;;;;;;;:::i;11344:22::-;;;-1:-1:-1;;;;;11344:22:0;;:::o;11126:43::-;;;;;;;;;;;;;;-1:-1:-1;;;;;11126:43:0;;;;:::o;5336:601::-;5403:4;5737:11;;;5736:53;;-1:-1:-1;5762:10:0;5754:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;5754:29:0;;;;;;;;;;:34;5736:53;5728:62;;;;;;5819:10;5811:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;5811:29:0;;;;;;;;;;;;:38;;;5867;;;;;;;5811:29;;5819:10;5867:38;;;;;;;;;;;-1:-1:-1;5925:4:0;5336:601;;;;:::o;3328:26::-;;;;:::o;12446:178::-;12549:4;12578:38;12597:5;12604:3;12609:6;12578:18;:38::i;:::-;12571:45;12446:178;-1:-1:-1;;;;12446:178:0:o;11220:37::-;11255:2;11220:37;:::o;12687:118::-;8934:14;;-1:-1:-1;;;;;8934:14:0;8926:37;;;;;;12772:21;12786:6;12772:13;:21::i;:::-;12687:118;:::o;13504:101::-;11603:5;;-1:-1:-1;;;;;11603:5:0;11589:10;:19;11581:28;;;;;;13576:15;:26;;-1:-1:-1;;;;;;13576:26:0;-1:-1:-1;;;;;13576:26:0;;;;;;;;;;13504:101::o;7133:468::-;7264:10;7220:4;7256:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;7256:29:0;;;;;;;;;;7310:27;;;7306:185;;;7362:10;7386:1;7354:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;7354:29:0;;;;;;;;;:33;7306:185;;;7428:10;7420:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;7420:29:0;;;;;;;;;7452:27;;;7420:59;;7306:185;7517:10;7539:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;7508:61:0;;7539:29;;;;;;;;;;;7508:61;;;;;;;;;7517:10;7508:61;;;;;;;;;;;-1:-1:-1;7589:4:0;;7133:468;-1:-1:-1;;;7133:468:0:o;11400:30::-;;;-1:-1:-1;;;;;11400:30:0;;:::o;4997:107::-;-1:-1:-1;;;;;5080:16:0;5053:7;5080:16;;;;;;;;;;;;4997:107::o;12852:195::-;11699:15;;-1:-1:-1;;;;;11699:15:0;11685:10;:29;11677:38;;;;;;9040:14;;-1:-1:-1;;;;;9040:14:0;:28;9032:37;;;;;;-1:-1:-1;;;;;12970:22:0;;12962:31;;;;;;13006:33;13030:8;13006:23;:33::i;13343:91::-;11603:5;;-1:-1:-1;;;;;11603:5:0;11589:10;:19;11581:28;;;;;;13415:5;:16;;-1:-1:-1;;;;;;13415:16:0;-1:-1:-1;;;;;13415:16:0;;;;;;;;;;13343:91::o;8793:29::-;;;-1:-1:-1;;;;;8793:29:0;;:::o;8829:28::-;;;;:::o;11176:37::-;;;;;;;;;;;;;;-1:-1:-1;;;;;11176:37:0;;;;:::o;12228:152::-;12315:4;12345:27;12360:3;12365:6;12345:14;:27::i;:::-;12338:34;12228:152;-1:-1:-1;;;12228:152:0:o;11373:20::-;;;-1:-1:-1;;;;;11373:20:0;;:::o;6617:292::-;6756:10;6699:4;6748:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;6748:29:0;;;;;;;;;;:50;;6786:11;6748:50;:37;:50;:::i;:::-;6724:10;6716:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;6716:29:0;;;;;;;;;;;;:82;;;6816:61;;;;;;6716:29;;6816:61;;;;;;;;;;;-1:-1:-1;6897:4:0;6617:292;;;;:::o;6259:134::-;-1:-1:-1;;;;;6360:15:0;;;6333:7;6360:15;;;:7;:15;;;;;;;;:25;;;;;;;;;;;;;6259:134::o;13106:145::-;11515:7;;-1:-1:-1;;;;;11515:7:0;11501:10;:21;11493:30;;;;;;13206:37;13223:10;13235:7;13206:16;:37::i;:::-;13106:145;;:::o;4086:700::-;-1:-1:-1;;;;;4206:14:0;;;4168:4;4206:14;;;:7;:14;;;;;;;;4221:10;4206:26;;;;;;;;4541:13;;;;;;;;;;;;4168:4;;4206:26;4541:29;;4563:6;4541:29;:21;:29;:::i;:::-;-1:-1:-1;;;;;4525:13:0;;;:8;:13;;;;;;;;;;;:45;;;;4599:15;;;;;;;:31;;4623:6;4599:31;:23;:31;:::i;:::-;-1:-1:-1;;;;;4581:15:0;;:8;:15;;;;;;;;;;:49;4670:26;:10;4689:6;4670:26;:18;:26;:::i;:::-;-1:-1:-1;;;;;4641:14:0;;;;;;;:7;:14;;;;;;;;4656:10;4641:26;;;;;;;;:55;;;;4714:28;;;;;;;;;;;4641:14;;4714:28;;;;;;;;;;;-1:-1:-1;4774:4:0;;4086:700;-1:-1:-1;;;;4086:700:0:o;9352:588::-;9467:1;9458:6;:10;9450:19;;;;;;9661:10;9652:8;:20;;;;;;;;;;;:36;;9681:6;9652:36;:28;:36;:::i;:::-;9638:10;9629:8;:20;;;;;;;;;;:59;9713:11;;:27;;9733:6;9713:27;:19;:27;:::i;:::-;9699:11;:41;9767:13;;:29;;9789:6;9767:29;:21;:29;:::i;:::-;9751:13;:45;;;9824:14;;9809:62;;;-1:-1:-1;;;;;9809:62:0;;9852:10;9809:62;;;;;;;;;;;;;;-1:-1:-1;;;;;9824:14:0;;;;9809:42;;:62;;;;;9824:14;;9809:62;;;;;;;9824:14;;9809:62;;;5:2:-1;;;;30:1;27;20:12;5:2;9809:62:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;9909:14:0;;9889:43;;;;;;;;-1:-1:-1;;;;;9909:14:0;;;;-1:-1:-1;9897:10:0;;-1:-1:-1;9889:43:0;;;;;;;;;;9352:588;:::o;10586:99::-;10651:14;:25;;-1:-1:-1;;;;;;10651:25:0;-1:-1:-1;;;;;10651:25:0;;;;;;;;;;10586:99::o;3513:290::-;3625:10;3576:4;3616:20;;;;;;;;;;;:36;;3645:6;3616:36;:28;:36;:::i;:::-;3602:10;3593:8;:20;;;;;;;;;;;:59;;;;-1:-1:-1;;;;;3679:13:0;;;;;;:29;;3701:6;3679:29;:21;:29;:::i;:::-;-1:-1:-1;;;;;3663:13:0;;:8;:13;;;;;;;;;;;;:45;;;;3726:33;;;;;;;3663:13;;3735:10;;3726:33;;;;;;;;;;-1:-1:-1;3791:4:0;3513:290;;;;:::o;2431:137::-;2493:7;2521:5;;;2540:6;;;;2533:14;;;10109:334;10211:1;10201:7;:11;10193:20;;;;;;-1:-1:-1;;;;;10249:20:0;;:8;:20;;;;;;;;;;;:37;;10278:7;10249:37;:28;:37;:::i;:::-;-1:-1:-1;;;;;10226:20:0;;:8;:20;;;;;;;;;;:60;10311:11;;:28;;10331:7;10311:28;:19;:28;:::i;:::-;10297:11;:42;10394:41;;;;;;;;10415:10;;10411:1;;10394:41;;;;;;;;;10109:334;;:::o;2308:117::-;2370:7;2398:1;2393;:6;;2386:14;;;;-1:-1:-1;2414:5:0;;;2308:117::o

Swarm Source

bzzr://773aa0e6bb1a136488e3a52befd47cf69ae3e4674aeaf6b20f9d5f520dca97fc
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.