Overview
Max Total Supply
2,703,356.078531578490692183 LUN
Holders
9,274 (0.00%)
Market
Price
$0.01 @ 0.000004 ETH
Onchain Market Cap
$36,185.88
Circulating Supply Market Cap
$36,186.00
Other Info
Token Contract (WITH 18 Decimals)
Balance
26,349.80925023 LUNValue
$352.71 ( ~0.101434537823643 Eth) [0.9747%]Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
LunyrToken
Compiler Version
v0.4.8+commit.60cc1668
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2017-03-29 */ pragma solidity ^0.4.8; // accepted from zeppelin-solidity https://github.com/OpenZeppelin/zeppelin-solidity /* * 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); } // accepted from zeppelin-solidity https://github.com/OpenZeppelin/zeppelin-solidity /** * Math operations with safety checks */ contract 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; } function assert(bool assertion) internal { if (!assertion) { throw; } } } /// @title Multisignature wallet - Allows multiple parties to agree on transactions before execution. /// @author Stefan George - <[email protected]> contract MultiSigWallet { // flag to determine if address is for a real contract or not bool public isMultiSigWallet = false; uint constant public MAX_OWNER_COUNT = 50; event Confirmation(address indexed sender, uint indexed transactionId); event Revocation(address indexed sender, uint indexed transactionId); event Submission(uint indexed transactionId); event Execution(uint indexed transactionId); event ExecutionFailure(uint indexed transactionId); event Deposit(address indexed sender, uint value); event OwnerAddition(address indexed owner); event OwnerRemoval(address indexed owner); event RequirementChange(uint required); mapping (uint => Transaction) public transactions; mapping (uint => mapping (address => bool)) public confirmations; mapping (address => bool) public isOwner; address[] public owners; uint public required; uint public transactionCount; struct Transaction { address destination; uint value; bytes data; bool executed; } modifier onlyWallet() { if (msg.sender != address(this)) throw; _; } modifier ownerDoesNotExist(address owner) { if (isOwner[owner]) throw; _; } modifier ownerExists(address owner) { if (!isOwner[owner]) throw; _; } modifier transactionExists(uint transactionId) { if (transactions[transactionId].destination == 0) throw; _; } modifier confirmed(uint transactionId, address owner) { if (!confirmations[transactionId][owner]) throw; _; } modifier notConfirmed(uint transactionId, address owner) { if (confirmations[transactionId][owner]) throw; _; } modifier notExecuted(uint transactionId) { if (transactions[transactionId].executed) throw; _; } modifier notNull(address _address) { if (_address == 0) throw; _; } modifier validRequirement(uint ownerCount, uint _required) { if (ownerCount > MAX_OWNER_COUNT) throw; if (_required > ownerCount) throw; if (_required == 0) throw; if (ownerCount == 0) throw; _; } /// @dev Fallback function allows to deposit ether. function() payable { if (msg.value > 0) Deposit(msg.sender, msg.value); } /* * Public functions */ /// @dev Contract constructor sets initial owners and required number of confirmations. /// @param _owners List of initial owners. /// @param _required Number of required confirmations. function MultiSigWallet(address[] _owners, uint _required) public validRequirement(_owners.length, _required) { for (uint i=0; i<_owners.length; i++) { if (isOwner[_owners[i]] || _owners[i] == 0) throw; isOwner[_owners[i]] = true; } isMultiSigWallet = true; owners = _owners; required = _required; } /// @dev Allows to add a new owner. Transaction has to be sent by wallet. /// @param owner Address of new owner. function addOwner(address owner) public onlyWallet ownerDoesNotExist(owner) notNull(owner) validRequirement(owners.length + 1, required) { isOwner[owner] = true; owners.push(owner); OwnerAddition(owner); } /// @dev Allows to remove an owner. Transaction has to be sent by wallet. /// @param owner Address of owner. function removeOwner(address owner) public onlyWallet ownerExists(owner) { isOwner[owner] = false; for (uint i=0; i<owners.length - 1; i++) if (owners[i] == owner) { owners[i] = owners[owners.length - 1]; break; } owners.length -= 1; if (required > owners.length) changeRequirement(owners.length); OwnerRemoval(owner); } /// @dev Allows to replace an owner with a new owner. Transaction has to be sent by wallet. /// @param owner Address of owner to be replaced. /// @param newOwner Address of new owner. /// @param index the indx of the owner to be replaced function replaceOwnerIndexed(address owner, address newOwner, uint index) public onlyWallet ownerExists(owner) ownerDoesNotExist(newOwner) { if (owners[index] != owner) throw; owners[index] = newOwner; isOwner[owner] = false; isOwner[newOwner] = true; OwnerRemoval(owner); OwnerAddition(newOwner); } /// @dev Allows to change the number of required confirmations. Transaction has to be sent by wallet. /// @param _required Number of required confirmations. function changeRequirement(uint _required) public onlyWallet validRequirement(owners.length, _required) { required = _required; RequirementChange(_required); } /// @dev Allows an owner to submit and confirm a transaction. /// @param destination Transaction target address. /// @param value Transaction ether value. /// @param data Transaction data payload. /// @return Returns transaction ID. function submitTransaction(address destination, uint value, bytes data) public returns (uint transactionId) { transactionId = addTransaction(destination, value, data); confirmTransaction(transactionId); } /// @dev Allows an owner to confirm a transaction. /// @param transactionId Transaction ID. function confirmTransaction(uint transactionId) public ownerExists(msg.sender) transactionExists(transactionId) notConfirmed(transactionId, msg.sender) { confirmations[transactionId][msg.sender] = true; Confirmation(msg.sender, transactionId); executeTransaction(transactionId); } /// @dev Allows an owner to revoke a confirmation for a transaction. /// @param transactionId Transaction ID. function revokeConfirmation(uint transactionId) public ownerExists(msg.sender) confirmed(transactionId, msg.sender) notExecuted(transactionId) { confirmations[transactionId][msg.sender] = false; Revocation(msg.sender, transactionId); } /// @dev Returns the confirmation status of a transaction. /// @param transactionId Transaction ID. /// @return Confirmation status. function isConfirmed(uint transactionId) public constant returns (bool) { uint count = 0; for (uint i=0; i<owners.length; i++) { if (confirmations[transactionId][owners[i]]) count += 1; if (count == required) return true; } } /* * Internal functions */ /// @dev Allows anyone to execute a confirmed transaction. /// @param transactionId Transaction ID. function executeTransaction(uint transactionId) internal notExecuted(transactionId) { if (isConfirmed(transactionId)) { Transaction tx = transactions[transactionId]; tx.executed = true; if (tx.destination.call.value(tx.value)(tx.data)) Execution(transactionId); else { ExecutionFailure(transactionId); tx.executed = false; } } } /// @dev Adds a new transaction to the transaction mapping, if transaction does not exist yet. /// @param destination Transaction target address. /// @param value Transaction ether value. /// @param data Transaction data payload. /// @return Returns transaction ID. function addTransaction(address destination, uint value, bytes data) internal notNull(destination) returns (uint transactionId) { transactionId = transactionCount; transactions[transactionId] = Transaction({ destination: destination, value: value, data: data, executed: false }); transactionCount += 1; Submission(transactionId); } /* * Web3 call functions */ /// @dev Returns number of confirmations of a transaction. /// @param transactionId Transaction ID. /// @return Number of confirmations. function getConfirmationCount(uint transactionId) public constant returns (uint count) { for (uint i=0; i<owners.length; i++) if (confirmations[transactionId][owners[i]]) count += 1; } /// @dev Returns total number of transactions after filers are applied. /// @param pending Include pending transactions. /// @param executed Include executed transactions. /// @return Total number of transactions after filters are applied. function getTransactionCount(bool pending, bool executed) public constant returns (uint count) { for (uint i=0; i<transactionCount; i++) if ((pending && !transactions[i].executed) || (executed && transactions[i].executed)) count += 1; } /// @dev Returns list of owners. /// @return List of owner addresses. function getOwners() public constant returns (address[]) { return owners; } /// @dev Returns array with owner addresses, which confirmed transaction. /// @param transactionId Transaction ID. /// @return Returns array of owner addresses. function getConfirmations(uint transactionId) public constant returns (address[] _confirmations) { address[] memory confirmationsTemp = new address[](owners.length); uint count = 0; uint i; for (i=0; i<owners.length; i++) if (confirmations[transactionId][owners[i]]) { confirmationsTemp[count] = owners[i]; count += 1; } _confirmations = new address[](count); for (i=0; i<count; i++) _confirmations[i] = confirmationsTemp[i]; } /// @dev Returns list of transaction IDs in defined range. /// @param from Index start position of transaction array. /// @param to Index end position of transaction array. /// @param pending Include pending transactions. /// @param executed Include executed transactions. /// @return Returns array of transaction IDs. function getTransactionIds(uint from, uint to, bool pending, bool executed) public constant returns (uint[] _transactionIds) { uint[] memory transactionIdsTemp = new uint[](transactionCount); uint count = 0; uint i; for (i=0; i<transactionCount; i++) if ((pending && !transactions[i].executed) || (executed && transactions[i].executed)) { transactionIdsTemp[count] = i; count += 1; } _transactionIds = new uint[](to - from); for (i=from; i<to; i++) _transactionIds[i - from] = transactionIdsTemp[i]; } } contract NewToken is ERC20 {} contract UpgradeAgent is SafeMath { address public owner; bool public isUpgradeAgent; NewToken public newToken; uint256 public originalSupply; // the original total supply of old tokens bool public upgradeHasBegun; function upgradeFrom(address _from, uint256 _value) public; } /// @title Time-locked vault of tokens allocated to Lunyr after 180 days contract LUNVault is SafeMath { // flag to determine if address is for a real contract or not bool public isLUNVault = false; LunyrToken lunyrToken; address lunyrMultisig; uint256 unlockedAtBlockNumber; //uint256 public constant numBlocksLocked = 1110857; // smaller lock for testing uint256 public constant numBlocksLocked = 1110857; /// @notice Constructor function sets the Lunyr Multisig address and /// total number of locked tokens to transfer function LUNVault(address _lunyrMultisig) internal { if (_lunyrMultisig == 0x0) throw; lunyrToken = LunyrToken(msg.sender); lunyrMultisig = _lunyrMultisig; isLUNVault = true; unlockedAtBlockNumber = safeAdd(block.number, numBlocksLocked); // 180 days of blocks later } /// @notice Transfer locked tokens to Lunyr's multisig wallet function unlock() external { // Wait your turn! if (block.number < unlockedAtBlockNumber) throw; // Will fail if allocation (and therefore toTransfer) is 0. if (!lunyrToken.transfer(lunyrMultisig, lunyrToken.balanceOf(this))) throw; } // disallow payment this is for LUN not ether function () { throw; } } /// @title Lunyr crowdsale contract contract LunyrToken is SafeMath, ERC20 { // flag to determine if address is for a real contract or not bool public isLunyrToken = false; // State machine enum State{PreFunding, Funding, Success, Failure} // Token information string public constant name = "Lunyr Token"; string public constant symbol = "LUN"; uint256 public constant decimals = 18; // decimal places uint256 public constant crowdfundPercentOfTotal = 78; uint256 public constant vaultPercentOfTotal = 15; uint256 public constant lunyrPercentOfTotal = 7; uint256 public constant hundredPercent = 100; mapping (address => uint256) balances; mapping (address => mapping (address => uint256)) allowed; // Upgrade information address public upgradeMaster; UpgradeAgent public upgradeAgent; uint256 public totalUpgraded; // Crowdsale information bool public finalizedCrowdfunding = false; uint256 public fundingStartBlock; // crowdsale start block uint256 public fundingEndBlock; // crowdsale end block uint256 public constant tokensPerEther = 44; // LUN:ETH exchange rate uint256 public constant tokenCreationMax = safeMul(250000 ether, tokensPerEther); uint256 public constant tokenCreationMin = safeMul(25000 ether, tokensPerEther); // for testing on testnet //uint256 public constant tokenCreationMax = safeMul(10 ether, tokensPerEther); //uint256 public constant tokenCreationMin = safeMul(3 ether, tokensPerEther); address public lunyrMultisig; LUNVault public timeVault; // Lunyr's time-locked vault event Upgrade(address indexed _from, address indexed _to, uint256 _value); event Refund(address indexed _from, uint256 _value); event UpgradeFinalized(address sender, address upgradeAgent); event UpgradeAgentSet(address agent); // For mainnet, startBlock = 3445888, endBlock = 3618688 function LunyrToken(address _lunyrMultisig, address _upgradeMaster, uint256 _fundingStartBlock, uint256 _fundingEndBlock) { if (_lunyrMultisig == 0) throw; if (_upgradeMaster == 0) throw; if (_fundingStartBlock <= block.number) throw; if (_fundingEndBlock <= _fundingStartBlock) throw; isLunyrToken = true; upgradeMaster = _upgradeMaster; fundingStartBlock = _fundingStartBlock; fundingEndBlock = _fundingEndBlock; timeVault = new LUNVault(_lunyrMultisig); if (!timeVault.isLUNVault()) throw; lunyrMultisig = _lunyrMultisig; if (!MultiSigWallet(lunyrMultisig).isMultiSigWallet()) throw; } function balanceOf(address who) constant returns (uint) { return balances[who]; } /// @notice Transfer `value` LUN tokens from sender's account /// `msg.sender` to provided account address `to`. /// @notice This function is disabled during the funding. /// @dev Required state: Success /// @param to The address of the recipient /// @param value The number of LUN to transfer /// @return Whether the transfer was successful or not function transfer(address to, uint256 value) returns (bool ok) { if (getState() != State.Success) throw; // Abort if crowdfunding was not a success. if (to == 0x0) throw; if (to == address(upgradeAgent)) throw; //if (to == address(upgradeAgent.newToken())) throw; uint256 senderBalance = balances[msg.sender]; if (senderBalance >= value && value > 0) { senderBalance = safeSub(senderBalance, value); balances[msg.sender] = senderBalance; balances[to] = safeAdd(balances[to], value); Transfer(msg.sender, to, value); return true; } return false; } /// @notice Transfer `value` LUN tokens from sender 'from' /// to provided account address `to`. /// @notice This function is disabled during the funding. /// @dev Required state: Success /// @param from The address of the sender /// @param to The address of the recipient /// @param value The number of LUN to transfer /// @return Whether the transfer was successful or not function transferFrom(address from, address to, uint value) returns (bool ok) { if (getState() != State.Success) throw; // Abort if not in Success state. if (to == 0x0) throw; if (to == address(upgradeAgent)) throw; //if (to == address(upgradeAgent.newToken())) throw; if (balances[from] >= value && allowed[from][msg.sender] >= value) { balances[to] = safeAdd(balances[to], value); balances[from] = safeSub(balances[from], value); allowed[from][msg.sender] = safeSub(allowed[from][msg.sender], value); Transfer(from, to, value); return true; } else { return false; } } /// @notice `msg.sender` approves `spender` to spend `value` tokens /// @param spender The address of the account able to transfer the tokens /// @param value The amount of wei to be approved for transfer /// @return Whether the approval was successful or not function approve(address spender, uint256 value) returns (bool ok) { if (getState() != State.Success) throw; // Abort if not in Success state. allowed[msg.sender][spender] = value; Approval(msg.sender, spender, value); return true; } /// @param owner The address of the account owning tokens /// @param spender The address of the account able to transfer the tokens /// @return Amount of remaining tokens allowed to spent function allowance(address owner, address spender) constant returns (uint) { return allowed[owner][spender]; } // Token upgrade functionality /// @notice Upgrade tokens to the new token contract. /// @dev Required state: Success /// @param value The number of tokens to upgrade function upgrade(uint256 value) external { if (getState() != State.Success) throw; // Abort if not in Success state. if (upgradeAgent.owner() == 0x0) throw; // need a real upgradeAgent address // Validate input value. if (value == 0) throw; if (value > balances[msg.sender]) throw; // update the balances here first before calling out (reentrancy) balances[msg.sender] = safeSub(balances[msg.sender], value); totalSupply = safeSub(totalSupply, value); totalUpgraded = safeAdd(totalUpgraded, value); upgradeAgent.upgradeFrom(msg.sender, value); Upgrade(msg.sender, upgradeAgent, value); } /// @notice Set address of upgrade target contract and enable upgrade /// process. /// @dev Required state: Success /// @param agent The address of the UpgradeAgent contract function setUpgradeAgent(address agent) external { if (getState() != State.Success) throw; // Abort if not in Success state. if (agent == 0x0) throw; // don't set agent to nothing if (msg.sender != upgradeMaster) throw; // Only a master can designate the next agent if (address(upgradeAgent) != 0x0 && upgradeAgent.upgradeHasBegun()) throw; // Don't change the upgrade agent upgradeAgent = UpgradeAgent(agent); // upgradeAgent must be created and linked to LunyrToken after crowdfunding is over if (upgradeAgent.originalSupply() != totalSupply) throw; UpgradeAgentSet(upgradeAgent); } /// @notice Set address of upgrade target contract and enable upgrade /// process. /// @dev Required state: Success /// @param master The address that will manage upgrades, not the upgradeAgent contract address function setUpgradeMaster(address master) external { if (getState() != State.Success) throw; // Abort if not in Success state. if (master == 0x0) throw; if (msg.sender != upgradeMaster) throw; // Only a master can designate the next master upgradeMaster = master; } function setMultiSigWallet(address newWallet) external { if (msg.sender != lunyrMultisig) throw; MultiSigWallet wallet = MultiSigWallet(newWallet); if (!wallet.isMultiSigWallet()) throw; lunyrMultisig = newWallet; } // Crowdfunding: // don't just send ether to the contract expecting to get tokens function() { throw; } /// @notice Create tokens when funding is active. /// @dev Required state: Funding /// @dev State transition: -> Funding Success (only if cap reached) function create() payable external { // Abort if not in Funding Active state. // The checks are split (instead of using or operator) because it is // cheaper this way. if (getState() != State.Funding) throw; // Do not allow creating 0 or more than the cap tokens. if (msg.value == 0) throw; // multiply by exchange rate to get newly created token amount uint256 createdTokens = safeMul(msg.value, tokensPerEther); // we are creating tokens, so increase the totalSupply totalSupply = safeAdd(totalSupply, createdTokens); // don't go over the limit! if (totalSupply > tokenCreationMax) throw; // Assign new tokens to the sender balances[msg.sender] = safeAdd(balances[msg.sender], createdTokens); // Log token creation event Transfer(0, msg.sender, createdTokens); } /// @notice Finalize crowdfunding /// @dev If cap was reached or crowdfunding has ended then: /// create LUN for the Lunyr Multisig and developer, /// transfer ETH to the Lunyr Multisig address. /// @dev Required state: Success function finalizeCrowdfunding() external { // Abort if not in Funding Success state. if (getState() != State.Success) throw; // don't finalize unless we won if (finalizedCrowdfunding) throw; // can't finalize twice (so sneaky!) // prevent more creation of tokens finalizedCrowdfunding = true; // Endowment: 15% of total goes to vault, timelocked for 6 months // uint256 vaultTokens = safeDiv(safeMul(totalSupply, vaultPercentOfTotal), hundredPercent); uint256 vaultTokens = safeDiv(safeMul(totalSupply, vaultPercentOfTotal), crowdfundPercentOfTotal); balances[timeVault] = safeAdd(balances[timeVault], vaultTokens); Transfer(0, timeVault, vaultTokens); // Endowment: 7% of total goes to lunyr for marketing and bug bounty uint256 lunyrTokens = safeDiv(safeMul(totalSupply, lunyrPercentOfTotal), crowdfundPercentOfTotal); balances[lunyrMultisig] = safeAdd(balances[lunyrMultisig], lunyrTokens); Transfer(0, lunyrMultisig, lunyrTokens); totalSupply = safeAdd(safeAdd(totalSupply, vaultTokens), lunyrTokens); // Transfer ETH to the Lunyr Multisig address. if (!lunyrMultisig.send(this.balance)) throw; } /// @notice Get back the ether sent during the funding in case the funding /// has not reached the minimum level. /// @dev Required state: Failure function refund() external { // Abort if not in Funding Failure state. if (getState() != State.Failure) throw; uint256 lunValue = balances[msg.sender]; if (lunValue == 0) throw; balances[msg.sender] = 0; totalSupply = safeSub(totalSupply, lunValue); uint256 ethValue = safeDiv(lunValue, tokensPerEther); // lunValue % tokensPerEther == 0 Refund(msg.sender, ethValue); if (!msg.sender.send(ethValue)) throw; } /// @notice This manages the crowdfunding state machine /// We make it a function and do not assign the result to a variable /// So there is no chance of the variable being stale function getState() public constant returns (State){ // once we reach success, lock in the state if (finalizedCrowdfunding) return State.Success; if (block.number < fundingStartBlock) return State.PreFunding; else if (block.number <= fundingEndBlock && totalSupply < tokenCreationMax) return State.Funding; else if (totalSupply >= tokenCreationMin) return State.Success; else return State.Failure; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"vaultPercentOfTotal","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"value","type":"uint256"}],"name":"approve","outputs":[{"name":"ok","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"getState","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"crowdfundPercentOfTotal","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"finalizeCrowdfunding","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"tokenCreationMax","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":"ok","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"lunyrPercentOfTotal","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"value","type":"uint256"}],"name":"upgrade","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"refund","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"upgradeAgent","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"upgradeMaster","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"finalizedCrowdfunding","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"who","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"hundredPercent","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"isLunyrToken","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"lunyrMultisig","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"fundingEndBlock","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transfer","outputs":[{"name":"ok","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"tokenCreationMin","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalUpgraded","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"fundingStartBlock","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"agent","type":"address"}],"name":"setUpgradeAgent","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"},{"name":"spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"create","outputs":[],"payable":true,"type":"function"},{"constant":false,"inputs":[{"name":"newWallet","type":"address"}],"name":"setMultiSigWallet","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"timeVault","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"tokensPerEther","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"master","type":"address"}],"name":"setUpgradeMaster","outputs":[],"payable":false,"type":"function"},{"inputs":[{"name":"_lunyrMultisig","type":"address"},{"name":"_upgradeMaster","type":"address"},{"name":"_fundingStartBlock","type":"uint256"},{"name":"_fundingEndBlock","type":"uint256"}],"payable":false,"type":"constructor"},{"payable":false,"type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Upgrade","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Refund","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"sender","type":"address"},{"indexed":false,"name":"upgradeAgent","type":"address"}],"name":"UpgradeFinalized","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"agent","type":"address"}],"name":"UpgradeAgentSet","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
60606040526000600160006101000a81548160ff0219169083151502179055506000600760006101000a81548160ff02191690831515021790555034620000005760405160808062002b9a833981016040528080519060200190919080519060200190919080519060200190919080519060200190919050505b60008473ffffffffffffffffffffffffffffffffffffffff1614156200009f5762000000565b60008373ffffffffffffffffffffffffffffffffffffffff161415620000c55762000000565b4382111515620000d55762000000565b8181111515620000e55762000000565b6001600160006101000a81548160ff02191690831515021790555082600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160088190555080600981905550836040516104bb80620026df833901808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050604051809103906000f080156200000057600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663437f5b656000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401809050602060405180830381600087803b15620000005760325a03f1156200000057505050604051805190501515620002935762000000565b83600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634c3a6ae06000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401809050602060405180830381600087803b15620000005760325a03f1156200000057505050604051805190501515620003825762000000565b5b505050505b61234780620003986000396000f3006060604052361561019f576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146101b157806308e496ea14610247578063095ea7b31461026a57806318160ddd146102be5780631865c57d146102e15780631afaa8bf1461030f5780631ed692c0146103325780631f97c00e1461034157806323b872dd146103645780632e4c4a9f146103d7578063313ce567146103fa57806345977d031461041d578063590e1ae31461043a5780635de4ccb014610449578063600440cb1461049857806368f67330146104e757806370a082311461050e5780638a9cb361146105555780638cc5cde2146105785780638e73d42c1461059f57806391b43d13146105ee57806395d89b4114610611578063a9059cbb146106a7578063c039daf6146106fb578063c752ff621461071e578063d648a64714610741578063d7e7088a14610764578063dd62ed3e14610797578063efc81a8c146107fd578063f03b0c0b14610807578063f4660ff51461083a578063f856d60514610889578063ffeb7d75146108ac575b34610000576101af5b610000565b565b005b34610000576101be6108df565b604051808060200182810382528381815181526020019150805190602001908083836000831461020d575b80518252602083111561020d576020820191506020810190506020830392506101e9565b505050905090810190601f1680156102395780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3461000057610254610919565b6040518082815260200191505060405180910390f35b34610000576102a4600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061091e565b604051808215151515815260200191505060405180910390f35b34610000576102cb610a37565b6040518082815260200191505060405180910390f35b34610000576102ee610a3d565b6040518082600381116100005760ff16815260200191505060405180910390f35b346100005761031c610adc565b6040518082815260200191505060405180910390f35b346100005761033f610ae1565b005b346100005761034e610e92565b6040518082815260200191505060405180910390f35b34610000576103bd600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610eaa565b604051808215151515815260200191505060405180910390f35b34610000576103e46112be565b6040518082815260200191505060405180910390f35b34610000576104076112c3565b6040518082815260200191505060405180910390f35b346100005761043860048080359060200190919050506112c8565b005b3461000057610447611610565b005b3461000057610456611784565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34610000576104a56117aa565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34610000576104f46117d0565b604051808215151515815260200191505060405180910390f35b346100005761053f600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506117e3565b6040518082815260200191505060405180910390f35b346100005761056261182d565b6040518082815260200191505060405180910390f35b3461000057610585611832565b604051808215151515815260200191505060405180910390f35b34610000576105ac611845565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34610000576105fb61186b565b6040518082815260200191505060405180910390f35b346100005761061e611871565b604051808060200182810382528381815181526020019150805190602001908083836000831461066d575b80518252602083111561066d57602082019150602081019050602083039250610649565b505050905090810190601f1680156106995780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34610000576106e1600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506118ab565b604051808215151515815260200191505060405180910390f35b3461000057610708611b01565b6040518082815260200191505060405180910390f35b346100005761072b611b19565b6040518082815260200191505060405180910390f35b346100005761074e611b1f565b6040518082815260200191505060405180910390f35b3461000057610795600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611b25565b005b34610000576107e7600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611e31565b6040518082815260200191505060405180910390f35b610805611eb9565b005b3461000057610838600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612011565b005b3461000057610847612140565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3461000057610896612166565b6040518082815260200191505060405180910390f35b34610000576108dd600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061216b565b005b604060405190810160405280600b81526020017f4c756e797220546f6b656e00000000000000000000000000000000000000000081525081565b600f81565b600060026003811161000057610932610a3d565b600381116100005714151561094657610000565b81600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a3600190505b92915050565b60005481565b6000600760009054906101000a900460ff1615610a5d5760029050610ad9565b600854431015610a705760009050610ad9565b6009544311158015610a975750610a926934f086f3b33b68400000602c612256565b600054105b15610aa55760019050610ad9565b610aba69054b40b1f852bda00000602c612256565b600054101515610acd5760029050610ad9565b60039050610ad9565b5b5b5b90565b604e81565b6000600060026003811161000057610af7610a3d565b6003811161000057141515610b0b57610000565b600760009054906101000a900460ff1615610b2557610000565b6001600760006101000a81548160ff021916908315150217905550610b57610b50600054600f612256565b604e612288565b9150610bc460026000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054836122c5565b60026000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3610cb2610cab6000546007612256565b604e612288565b9050610d1f60026000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054826122c5565b60026000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3610e0b610e05600054846122c5565b826122c5565b600081905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051809050600060405180830381858888f193505050501515610e8d57610000565b5b5050565b610ea76934f086f3b33b68400000602c612256565b81565b600060026003811161000057610ebe610a3d565b6003811161000057141515610ed257610000565b60008373ffffffffffffffffffffffffffffffffffffffff161415610ef657610000565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610f5157610000565b81600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015801561101c575081600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b156112ad5761106a600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054836122c5565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506110f6600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054836122f1565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506111bf600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054836122f1565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190506112b7565b600090506112b7565b5b9392505050565b600781565b601281565b600260038111610000576112da610a3d565b60038111610000571415156112ee57610000565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401809050602060405180830381600087803b156100005760325a03f115610000575050506040518051905073ffffffffffffffffffffffffffffffffffffffff1614156113b057610000565b60008114156113be57610000565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481111561140a57610000565b611453600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054826122f1565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506114a2600054826122f1565b6000819055506114b4600654826122c5565b600681905550600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663753e88e533836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b156100005760325a03f11561000057505050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f7e5c344a8141a805725cb476f76c6953b842222b967edd1f78ddb6e8b3f397ac836040518082815260200191505060405180910390a35b50565b6000600060036003811161000057611626610a3d565b600381116100005714151561163a57610000565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549150600082141561168a57610000565b6000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506116db600054836122f1565b6000819055506116ec82602c612288565b90503373ffffffffffffffffffffffffffffffffffffffff167fbb28353e4598c3b9199101a66e0989549b659a59a54d2c27fbb183f1932c8e6d826040518082815260200191505060405180910390a23373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051809050600060405180830381858888f19350505050151561177f57610000565b5b5050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600760009054906101000a900460ff1681565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b919050565b606481565b600160009054906101000a900460ff1681565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60095481565b604060405190810160405280600381526020017f4c554e000000000000000000000000000000000000000000000000000000000081525081565b60006000600260038111610000576118c1610a3d565b60038111610000571415156118d557610000565b60008473ffffffffffffffffffffffffffffffffffffffff1614156118f957610000565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561195457610000565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101580156119a65750600083115b15611af5576119b581846122f1565b905080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a44600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054846122c5565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a360019150611afa565b600091505b5092915050565b611b1669054b40b1f852bda00000602c612256565b81565b60065481565b60085481565b60026003811161000057611b37610a3d565b6003811161000057141515611b4b57610000565b60008173ffffffffffffffffffffffffffffffffffffffff161415611b6f57610000565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611bcb57610000565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614158015611caf5750600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637529b1d96000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401809050602060405180830381600087803b156100005760325a03f11561000057505050604051805190505b15611cb957610000565b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600054600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634b2ba0dd6000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401809050602060405180830381600087803b156100005760325a03f1156100005750505060405180519050141515611da857610000565b7f7845d5aa74cc410e35571258d954f23b82276e160fe8c188fa80566580f279cc600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15b50565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b92915050565b600060016003811161000057611ecd610a3d565b6003811161000057141515611ee157610000565b6000341415611eef57610000565b611efa34602c612256565b9050611f08600054826122c5565b600081905550611f236934f086f3b33b68400000602c612256565b6000541115611f3157610000565b611f7a600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054826122c5565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35b50565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561206f57610000565b8190508073ffffffffffffffffffffffffffffffffffffffff16634c3a6ae06000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401809050602060405180830381600087803b156100005760325a03f115610000575050506040518051905015156120fa57610000565b81600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b602c81565b6002600381116100005761217d610a3d565b600381116100005714151561219157610000565b60008173ffffffffffffffffffffffffffffffffffffffff1614156121b557610000565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561221157610000565b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b60006000828402905061227d6000851480612278575083858381156100005704145b61230b565b8091505b5092915050565b600060006122986000841161230b565b82848115610000570490506122ba83858115610000570682850201851461230b565b8091505b5092915050565b6000600082840190506122e68482101580156122e15750838210155b61230b565b8091505b5092915050565b60006122ff8383111561230b565b81830390505b92915050565b80151561231757610000565b5b505600a165627a7a723058207b6fb3ff6e14170866a3f37ce121d48dacc92a81b125d224f8dbe19b55290f24002960606040526000600060006101000a81548160ff02191690831515021790555034610000576040516020806104bb833981016040528080519060200190919050505b60008173ffffffffffffffffffffffffffffffffffffffff16141561006557610000565b33600060016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600060006101000a81548160ff021916908315150217905550610122436210f34961012f640100000000026102c6176401000000009004565b6002819055505b5061017e565b60006000828401905061016384821015801561014b5750838210155b61016e640100000000026102f2176401000000009004565b8091505b5092915050565b80151561017a57610000565b5b50565b61032e8061018d6000396000f30060606040523615610055576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063437f5b65146100675780634e724f0f1461008e578063a69df4b5146100b1575b34610000576100655b610000565b565b005b34610000576100746100c0565b604051808215151515815260200191505060405180910390f35b346100005761009b6100d3565b6040518082815260200191505060405180910390f35b34610000576100be6100da565b005b600060009054906101000a900460ff1681565b6210f34981565b6002544310156100e957610000565b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b156100005760325a03f11561000057505050604051805190506000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b156100005760325a03f115610000575050506040518051905015156102c357610000565b5b565b6000600082840190506102e78482101580156102e25750838210155b6102f2565b8091505b5092915050565b8015156102fe57610000565b5b505600a165627a7a72305820559b1c66bc91160e531d05ea0b34b5cf1969408d1ba4f5a5eaa1866bfe2ef5f2002900000000000000000000000083c54a35e72ae07c46fc8f8f172a13ba19ac3bed00000000000000000000000083c54a35e72ae07c46fc8f8f172a13ba19ac3bed00000000000000000000000000000000000000000000000000000000003480780000000000000000000000000000000000000000000000000000000000372378
Deployed Bytecode
0x6060604052361561019f576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146101b157806308e496ea14610247578063095ea7b31461026a57806318160ddd146102be5780631865c57d146102e15780631afaa8bf1461030f5780631ed692c0146103325780631f97c00e1461034157806323b872dd146103645780632e4c4a9f146103d7578063313ce567146103fa57806345977d031461041d578063590e1ae31461043a5780635de4ccb014610449578063600440cb1461049857806368f67330146104e757806370a082311461050e5780638a9cb361146105555780638cc5cde2146105785780638e73d42c1461059f57806391b43d13146105ee57806395d89b4114610611578063a9059cbb146106a7578063c039daf6146106fb578063c752ff621461071e578063d648a64714610741578063d7e7088a14610764578063dd62ed3e14610797578063efc81a8c146107fd578063f03b0c0b14610807578063f4660ff51461083a578063f856d60514610889578063ffeb7d75146108ac575b34610000576101af5b610000565b565b005b34610000576101be6108df565b604051808060200182810382528381815181526020019150805190602001908083836000831461020d575b80518252602083111561020d576020820191506020810190506020830392506101e9565b505050905090810190601f1680156102395780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3461000057610254610919565b6040518082815260200191505060405180910390f35b34610000576102a4600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061091e565b604051808215151515815260200191505060405180910390f35b34610000576102cb610a37565b6040518082815260200191505060405180910390f35b34610000576102ee610a3d565b6040518082600381116100005760ff16815260200191505060405180910390f35b346100005761031c610adc565b6040518082815260200191505060405180910390f35b346100005761033f610ae1565b005b346100005761034e610e92565b6040518082815260200191505060405180910390f35b34610000576103bd600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610eaa565b604051808215151515815260200191505060405180910390f35b34610000576103e46112be565b6040518082815260200191505060405180910390f35b34610000576104076112c3565b6040518082815260200191505060405180910390f35b346100005761043860048080359060200190919050506112c8565b005b3461000057610447611610565b005b3461000057610456611784565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34610000576104a56117aa565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34610000576104f46117d0565b604051808215151515815260200191505060405180910390f35b346100005761053f600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506117e3565b6040518082815260200191505060405180910390f35b346100005761056261182d565b6040518082815260200191505060405180910390f35b3461000057610585611832565b604051808215151515815260200191505060405180910390f35b34610000576105ac611845565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34610000576105fb61186b565b6040518082815260200191505060405180910390f35b346100005761061e611871565b604051808060200182810382528381815181526020019150805190602001908083836000831461066d575b80518252602083111561066d57602082019150602081019050602083039250610649565b505050905090810190601f1680156106995780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34610000576106e1600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506118ab565b604051808215151515815260200191505060405180910390f35b3461000057610708611b01565b6040518082815260200191505060405180910390f35b346100005761072b611b19565b6040518082815260200191505060405180910390f35b346100005761074e611b1f565b6040518082815260200191505060405180910390f35b3461000057610795600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611b25565b005b34610000576107e7600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611e31565b6040518082815260200191505060405180910390f35b610805611eb9565b005b3461000057610838600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612011565b005b3461000057610847612140565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3461000057610896612166565b6040518082815260200191505060405180910390f35b34610000576108dd600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061216b565b005b604060405190810160405280600b81526020017f4c756e797220546f6b656e00000000000000000000000000000000000000000081525081565b600f81565b600060026003811161000057610932610a3d565b600381116100005714151561094657610000565b81600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a3600190505b92915050565b60005481565b6000600760009054906101000a900460ff1615610a5d5760029050610ad9565b600854431015610a705760009050610ad9565b6009544311158015610a975750610a926934f086f3b33b68400000602c612256565b600054105b15610aa55760019050610ad9565b610aba69054b40b1f852bda00000602c612256565b600054101515610acd5760029050610ad9565b60039050610ad9565b5b5b5b90565b604e81565b6000600060026003811161000057610af7610a3d565b6003811161000057141515610b0b57610000565b600760009054906101000a900460ff1615610b2557610000565b6001600760006101000a81548160ff021916908315150217905550610b57610b50600054600f612256565b604e612288565b9150610bc460026000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054836122c5565b60026000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3610cb2610cab6000546007612256565b604e612288565b9050610d1f60026000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054826122c5565b60026000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3610e0b610e05600054846122c5565b826122c5565b600081905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051809050600060405180830381858888f193505050501515610e8d57610000565b5b5050565b610ea76934f086f3b33b68400000602c612256565b81565b600060026003811161000057610ebe610a3d565b6003811161000057141515610ed257610000565b60008373ffffffffffffffffffffffffffffffffffffffff161415610ef657610000565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610f5157610000565b81600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015801561101c575081600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b156112ad5761106a600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054836122c5565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506110f6600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054836122f1565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506111bf600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054836122f1565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190506112b7565b600090506112b7565b5b9392505050565b600781565b601281565b600260038111610000576112da610a3d565b60038111610000571415156112ee57610000565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401809050602060405180830381600087803b156100005760325a03f115610000575050506040518051905073ffffffffffffffffffffffffffffffffffffffff1614156113b057610000565b60008114156113be57610000565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481111561140a57610000565b611453600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054826122f1565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506114a2600054826122f1565b6000819055506114b4600654826122c5565b600681905550600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663753e88e533836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b156100005760325a03f11561000057505050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f7e5c344a8141a805725cb476f76c6953b842222b967edd1f78ddb6e8b3f397ac836040518082815260200191505060405180910390a35b50565b6000600060036003811161000057611626610a3d565b600381116100005714151561163a57610000565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549150600082141561168a57610000565b6000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506116db600054836122f1565b6000819055506116ec82602c612288565b90503373ffffffffffffffffffffffffffffffffffffffff167fbb28353e4598c3b9199101a66e0989549b659a59a54d2c27fbb183f1932c8e6d826040518082815260200191505060405180910390a23373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051809050600060405180830381858888f19350505050151561177f57610000565b5b5050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600760009054906101000a900460ff1681565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b919050565b606481565b600160009054906101000a900460ff1681565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60095481565b604060405190810160405280600381526020017f4c554e000000000000000000000000000000000000000000000000000000000081525081565b60006000600260038111610000576118c1610a3d565b60038111610000571415156118d557610000565b60008473ffffffffffffffffffffffffffffffffffffffff1614156118f957610000565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561195457610000565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101580156119a65750600083115b15611af5576119b581846122f1565b905080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a44600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054846122c5565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a360019150611afa565b600091505b5092915050565b611b1669054b40b1f852bda00000602c612256565b81565b60065481565b60085481565b60026003811161000057611b37610a3d565b6003811161000057141515611b4b57610000565b60008173ffffffffffffffffffffffffffffffffffffffff161415611b6f57610000565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611bcb57610000565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614158015611caf5750600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637529b1d96000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401809050602060405180830381600087803b156100005760325a03f11561000057505050604051805190505b15611cb957610000565b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600054600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634b2ba0dd6000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401809050602060405180830381600087803b156100005760325a03f1156100005750505060405180519050141515611da857610000565b7f7845d5aa74cc410e35571258d954f23b82276e160fe8c188fa80566580f279cc600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15b50565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b92915050565b600060016003811161000057611ecd610a3d565b6003811161000057141515611ee157610000565b6000341415611eef57610000565b611efa34602c612256565b9050611f08600054826122c5565b600081905550611f236934f086f3b33b68400000602c612256565b6000541115611f3157610000565b611f7a600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054826122c5565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35b50565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561206f57610000565b8190508073ffffffffffffffffffffffffffffffffffffffff16634c3a6ae06000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401809050602060405180830381600087803b156100005760325a03f115610000575050506040518051905015156120fa57610000565b81600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b602c81565b6002600381116100005761217d610a3d565b600381116100005714151561219157610000565b60008173ffffffffffffffffffffffffffffffffffffffff1614156121b557610000565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561221157610000565b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b60006000828402905061227d6000851480612278575083858381156100005704145b61230b565b8091505b5092915050565b600060006122986000841161230b565b82848115610000570490506122ba83858115610000570682850201851461230b565b8091505b5092915050565b6000600082840190506122e68482101580156122e15750838210155b61230b565b8091505b5092915050565b60006122ff8383111561230b565b81830390505b92915050565b80151561231757610000565b5b505600a165627a7a723058207b6fb3ff6e14170866a3f37ce121d48dacc92a81b125d224f8dbe19b55290f240029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000083c54a35e72ae07c46fc8f8f172a13ba19ac3bed00000000000000000000000083c54a35e72ae07c46fc8f8f172a13ba19ac3bed00000000000000000000000000000000000000000000000000000000003480780000000000000000000000000000000000000000000000000000000000372378
-----Decoded View---------------
Arg [0] : _lunyrMultisig (address): 0x83C54a35e72aE07c46fc8F8F172A13BA19aC3Bed
Arg [1] : _upgradeMaster (address): 0x83C54a35e72aE07c46fc8F8F172A13BA19aC3Bed
Arg [2] : _fundingStartBlock (uint256): 3440760
Arg [3] : _fundingEndBlock (uint256): 3613560
-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 00000000000000000000000083c54a35e72ae07c46fc8f8f172a13ba19ac3bed
Arg [1] : 00000000000000000000000083c54a35e72ae07c46fc8f8f172a13ba19ac3bed
Arg [2] : 0000000000000000000000000000000000000000000000000000000000348078
Arg [3] : 0000000000000000000000000000000000000000000000000000000000372378
Swarm Source
bzzr://559b1c66bc91160e531d05ea0b34b5cf1969408d1ba4f5a5eaa1866bfe2ef5f2
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.