ERC-20
Overview
Max Total Supply
299,106.741770709858 GOO
Holders
310
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 12 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
GooToken
Compiler Version
v0.4.25+commit.59dbf8f1
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2019-05-05 */ pragma solidity ^0.4.25; /** * * World War Goo - Competitive Idle Game * * https:/ethergoo.io * */ interface ERC20 { function totalSupply() external constant returns (uint); function balanceOf(address tokenOwner) external constant returns (uint balance); function allowance(address tokenOwner, address spender) external constant returns (uint remaining); function transfer(address to, uint tokens) external returns (bool success); function approve(address spender, uint tokens) external returns (bool success); function approveAndCall(address spender, uint tokens, bytes data) external returns (bool success); function transferFrom(address from, address to, uint tokens) external returns (bool success); event Transfer(address indexed from, address indexed to, uint tokens); event Approval(address indexed tokenOwner, address indexed spender, uint tokens); } interface ApproveAndCallFallBack { function receiveApproval(address from, uint256 tokens, address token, bytes data) external; } contract GooToken is ERC20 { using SafeMath for uint; using SafeMath224 for uint224; string public constant name = "Vials of Goo"; string public constant symbol = "GOO"; uint8 public constant decimals = 12; uint224 public constant MAX_SUPPLY = 21000000 * (10 ** 12); // 21 million (to 12 szabo decimals) mapping(address => UserBalance) balances; mapping(address => mapping(address => uint256)) allowed; mapping(address => uint256) public gooProduction; // Store player's current goo production mapping(address => bool) operator; uint224 private totalGoo; uint256 public teamAllocation; // 10% reserve allocation towards exchange-listing negotiations, game costs, and ongoing community contests/aidrops address public owner; // Minor management of game bool public supplyCapHit; // No more production once we hit MAX_SUPPLY struct UserBalance { uint224 goo; uint32 lastGooSaveTime; } constructor() public { teamAllocation = MAX_SUPPLY / 10; owner = msg.sender; } function totalSupply() external view returns(uint) { return totalGoo; } function transfer(address to, uint256 tokens) external returns (bool) { updatePlayersGooInternal(msg.sender); require(tokens <= MAX_SUPPLY); // Prevent uint224 overflow uint224 amount = uint224(tokens); // Goo is uint224 but must comply to ERC20's uint256 balances[msg.sender].goo = balances[msg.sender].goo.sub(amount); emit Transfer(msg.sender, to, amount); if (to == address(0)) { // Burn totalGoo -= amount; } else { balances[to].goo = balances[to].goo.add(amount); } return true; } function transferFrom(address from, address to, uint256 tokens) external returns (bool) { updatePlayersGooInternal(from); require(tokens <= MAX_SUPPLY); // Prevent uint224 overflow uint224 amount = uint224(tokens); // Goo is uint224 but must comply to ERC20's uint256 allowed[from][msg.sender] = allowed[from][msg.sender].sub(amount); balances[from].goo = balances[from].goo.sub(amount); emit Transfer(from, to, amount); if (to == address(0)) { // Burn totalGoo -= amount; } else { balances[to].goo = balances[to].goo.add(amount); } return true; } function unlockAllocation(uint224 amount, address recipient) external { require(msg.sender == owner); teamAllocation = teamAllocation.sub(amount); // Hard limit totalGoo += amount; balances[recipient].goo = balances[recipient].goo.add(amount); emit Transfer(address(0), recipient, amount); } function setOperator(address gameContract, bool isOperator) external { require(msg.sender == owner); operator[gameContract] = isOperator; } function approve(address spender, uint256 tokens) external returns (bool) { allowed[msg.sender][spender] = tokens; emit Approval(msg.sender, spender, tokens); return true; } function approveAndCall(address spender, uint256 tokens, bytes data) external returns (bool) { allowed[msg.sender][spender] = tokens; emit Approval(msg.sender, spender, tokens); ApproveAndCallFallBack(spender).receiveApproval(msg.sender, tokens, this, data); return true; } function allowance(address tokenOwner, address spender) external view returns (uint256) { return allowed[tokenOwner][spender]; } function recoverAccidentalTokens(address tokenAddress, uint256 tokens) external { require(msg.sender == owner); require(tokenAddress != address(this)); // Not Goo ERC20(tokenAddress).transfer(owner, tokens); } function balanceOf(address player) public constant returns(uint256) { return balances[player].goo + balanceOfUnclaimedGoo(player); } function balanceOfUnclaimedGoo(address player) internal constant returns (uint224 gooGain) { if (supplyCapHit) return; uint32 lastSave = balances[player].lastGooSaveTime; if (lastSave > 0 && lastSave < block.timestamp) { gooGain = uint224(gooProduction[player] * (block.timestamp - lastSave)); } if (totalGoo + gooGain >= MAX_SUPPLY) { gooGain = MAX_SUPPLY - totalGoo; } } function mintGoo(uint224 amount, address player) external { if (supplyCapHit) return; require(operator[msg.sender]); uint224 minted = amount; if (totalGoo.add(amount) >= MAX_SUPPLY) { supplyCapHit = true; minted = MAX_SUPPLY - totalGoo; } balances[player].goo += minted; totalGoo += minted; emit Transfer(address(0), player, minted); } function updatePlayersGoo(address player) external { require(operator[msg.sender]); updatePlayersGooInternal(player); } function updatePlayersGooInternal(address player) internal { uint224 gooGain = balanceOfUnclaimedGoo(player); UserBalance memory balance = balances[player]; if (gooGain > 0) { totalGoo += gooGain; if (!supplyCapHit && totalGoo == MAX_SUPPLY) { supplyCapHit = true; } balance.goo += gooGain; emit Transfer(address(0), player, gooGain); } if (balance.lastGooSaveTime < block.timestamp) { balance.lastGooSaveTime = uint32(block.timestamp); balances[player] = balance; } } function updatePlayersGooFromPurchase(address player, uint224 purchaseCost) external { require(operator[msg.sender]); uint224 unclaimedGoo = balanceOfUnclaimedGoo(player); UserBalance memory balance = balances[player]; balance.lastGooSaveTime = uint32(block.timestamp); if (purchaseCost > unclaimedGoo) { uint224 gooDecrease = purchaseCost - unclaimedGoo; totalGoo -= gooDecrease; balance.goo = balance.goo.sub(gooDecrease); emit Transfer(player, address(0), gooDecrease); } else { uint224 gooGain = unclaimedGoo - purchaseCost; totalGoo += gooGain; balance.goo += gooGain; if (!supplyCapHit && totalGoo == MAX_SUPPLY) { supplyCapHit = true; } emit Transfer(address(0), player, gooGain); } balances[player] = balance; } function increasePlayersGooProduction(address player, uint256 increase) external { require(operator[msg.sender]); gooProduction[player] += increase; } function decreasePlayersGooProduction(address player, uint256 decrease) external { require(operator[msg.sender]); gooProduction[player] -= decrease; } } library SafeMath { /** * @dev Multiplies two numbers, throws on overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; assert(c / a == b); return c; } /** * @dev Integer division of two numbers, truncating the quotient. */ function div(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; } /** * @dev Substracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend). */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { assert(b <= a); return a - b; } /** * @dev Adds two numbers, throws on overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; assert(c >= a); return c; } } library SafeMath224 { /** * @dev Multiplies two numbers, throws on overflow. */ function mul(uint224 a, uint224 b) internal pure returns (uint224) { if (a == 0) { return 0; } uint224 c = a * b; assert(c / a == b); return c; } /** * @dev Integer division of two numbers, truncating the quotient. */ function div(uint224 a, uint224 b) internal pure returns (uint224) { // assert(b > 0); // Solidity automatically throws when dividing by 0 uint224 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } /** * @dev Substracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend). */ function sub(uint224 a, uint224 b) internal pure returns (uint224) { assert(b <= a); return a - b; } /** * @dev Adds two numbers, throws on overflow. */ function add(uint224 a, uint224 b) internal pure returns (uint224) { uint224 c = a + b; assert(c >= a); return c; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":false,"inputs":[{"name":"tokenAddress","type":"address"},{"name":"tokens","type":"uint256"}],"name":"recoverAccidentalTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","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":"tokens","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"supplyCapHit","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"from","type":"address"},{"name":"to","type":"address"},{"name":"tokens","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MAX_SUPPLY","outputs":[{"name":"","type":"uint224"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"gooProduction","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint224"},{"name":"player","type":"address"}],"name":"mintGoo","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"gameContract","type":"address"},{"name":"isOperator","type":"bool"}],"name":"setOperator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"teamAllocation","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"player","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"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":"player","type":"address"},{"name":"increase","type":"uint256"}],"name":"increasePlayersGooProduction","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"tokens","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"player","type":"address"},{"name":"decrease","type":"uint256"}],"name":"decreasePlayersGooProduction","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"player","type":"address"}],"name":"updatePlayersGoo","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"player","type":"address"},{"name":"purchaseCost","type":"uint224"}],"name":"updatePlayersGooFromPurchase","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"tokens","type":"uint256"},{"name":"data","type":"bytes"}],"name":"approveAndCall","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"tokenOwner","type":"address"},{"name":"spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint224"},{"name":"recipient","type":"address"}],"name":"unlockAllocation","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"tokens","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"tokenOwner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"tokens","type":"uint256"}],"name":"Approval","type":"event"}]
Contract Creation Code
608060405234801561001057600080fd5b50671d24b2dfac52000060055560068054600160a060020a031916331790556113698061003e6000396000f3006080604052600436106101195763ffffffff60e060020a60003504166302b45474811461011e57806306fdde0314610144578063095ea7b3146101ce5780630a4bbb681461020657806318160ddd1461021b57806323b872dd14610242578063313ce5671461026c57806332cb6b0c1461029757806333958b30146102c85780634f03f17c146102e9578063558a7297146103165780636816521a1461033c57806370a08231146103515780638da5cb5b1461037257806395d89b41146103a3578063a732f9ac146103b8578063a9059cbb146103dc578063add1dcfa14610400578063b5967e1614610424578063bb002ba814610445578063cae9ca5114610472578063dd62ed3e146104a3578063f7b04ba5146104ca575b600080fd5b34801561012a57600080fd5b50610142600160a060020a03600435166024356104f7565b005b34801561015057600080fd5b506101596105c3565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561019357818101518382015260200161017b565b50505050905090810190601f1680156101c05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101da57600080fd5b506101f2600160a060020a03600435166024356105fa565b604080519115158252519081900360200190f35b34801561021257600080fd5b506101f2610660565b34801561022757600080fd5b50610230610670565b60408051918252519081900360200190f35b34801561024e57600080fd5b506101f2600160a060020a036004358116906024351660443561067f565b34801561027857600080fd5b50610281610831565b6040805160ff9092168252519081900360200190f35b3480156102a357600080fd5b506102ac610836565b60408051600160e060020a039092168252519081900360200190f35b3480156102d457600080fd5b50610230600160a060020a0360043516610843565b3480156102f557600080fd5b50610142600160e060020a0360043516600160a060020a0360243516610855565b34801561032257600080fd5b50610142600160a060020a03600435166024351515610977565b34801561034857600080fd5b506102306109b9565b34801561035d57600080fd5b50610230600160a060020a03600435166109bf565b34801561037e57600080fd5b506103876109fa565b60408051600160a060020a039092168252519081900360200190f35b3480156103af57600080fd5b50610159610a09565b3480156103c457600080fd5b50610142600160a060020a0360043516602435610a40565b3480156103e857600080fd5b506101f2600160a060020a0360043516602435610a80565b34801561040c57600080fd5b50610142600160a060020a0360043516602435610bce565b34801561043057600080fd5b50610142600160a060020a0360043516610c0f565b34801561045157600080fd5b50610142600160a060020a0360043516600160e060020a0360243516610c39565b34801561047e57600080fd5b506101f260048035600160a060020a0316906024803591604435918201910135610e4d565b3480156104af57600080fd5b50610230600160a060020a0360043581169060243516610f65565b3480156104d657600080fd5b50610142600160e060020a0360043516600160a060020a0360243516610f90565b600654600160a060020a0316331461050e57600080fd5b600160a060020a03821630141561052457600080fd5b600654604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a0392831660048201526024810184905290519184169163a9059cbb916044808201926020929091908290030181600087803b15801561059357600080fd5b505af11580156105a7573d6000803e3d6000fd5b505050506040513d60208110156105bd57600080fd5b50505050565b60408051808201909152600c81527f5669616c73206f6620476f6f0000000000000000000000000000000000000000602082015281565b336000818152600160209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b60065460a060020a900460ff1681565b600454600160e060020a031690565b60008061068b85611067565b6801236efcbcbb3400008311156106a157600080fd5b50600160a060020a038416600090815260016020908152604080832033845290915290205482906106e190600160e060020a03831663ffffffff6111f616565b600160a060020a038616600081815260016020908152604080832033845282528083209490945591815290819052205461072a90600160e060020a03168263ffffffff61120816565b600160a060020a03868116600081815260208181526040918290208054600160e060020a031916600160e060020a0396871617905581519486168552905192881693919260008051602061131e8339815191529281900390910190a3600160a060020a03841615156107bd5760048054600160e060020a0380821684900316600160e060020a0319909116179055610826565b600160a060020a0384166000908152602081905260409020546107ef90600160e060020a03168263ffffffff61122016565b600160a060020a03851660009081526020819052604090208054600160e060020a031916600160e060020a03929092169190911790555b506001949350505050565b600c81565b6801236efcbcbb34000081565b60026020526000908152604090205481565b60065460009060a060020a900460ff161561086f57610972565b3360009081526003602052604090205460ff16151561088d57600080fd5b5060045482906801236efcbcbb340000906108b790600160e060020a03168363ffffffff61122016565b600160e060020a03161061090257506006805474ff0000000000000000000000000000000000000000191660a060020a179055600454600160e060020a03166801236efcbcbb340000035b600160a060020a0382166000818152602081815260408083208054600160e060020a0380821688018116600160e060020a0319928316179092556004805480841689018416921691909117905581519086168152905160008051602061131e833981519152929181900390910190a35b505050565b600654600160a060020a0316331461098e57600080fd5b600160a060020a03919091166000908152600360205260409020805460ff1916911515919091179055565b60055481565b60006109ca82611242565b600160a060020a038316600090815260208190526040902054600160e060020a0390811691909101169050919050565b600654600160a060020a031681565b60408051808201909152600381527f474f4f0000000000000000000000000000000000000000000000000000000000602082015281565b3360009081526003602052604090205460ff161515610a5e57600080fd5b600160a060020a03909116600090815260026020526040902080549091019055565b600080610a8c33611067565b6801236efcbcbb340000831115610aa257600080fd5b50336000908152602081905260409020548290610ace90600160e060020a03168263ffffffff61120816565b33600081815260208181526040918290208054600160e060020a031916600160e060020a03958616179055815193851684529051600160a060020a0388169360008051602061131e83398151915292908290030190a3600160a060020a0384161515610b5b5760048054600160e060020a0380821684900316600160e060020a0319909116179055610bc4565b600160a060020a038416600090815260208190526040902054610b8d90600160e060020a03168263ffffffff61122016565b600160a060020a03851660009081526020819052604090208054600160e060020a031916600160e060020a03929092169190911790555b5060019392505050565b3360009081526003602052604090205460ff161515610bec57600080fd5b600160a060020a0390911660009081526002602052604090208054919091039055565b3360009081526003602052604090205460ff161515610c2d57600080fd5b610c3681611067565b50565b6000610c43611306565b33600090815260036020526040812054819060ff161515610c6357600080fd5b610c6c86611242565b600160a060020a03871660009081526020818152604091829020825180840190935254600160e060020a0390811683524263ffffffff169183019190915291955093508085169086161115610d365760048054600160e060020a03198116868803600160e060020a039283168190038316919091179092558451919350610cf4911683611208565b600160e060020a03908116845260408051918416825251600091600160a060020a0389169160008051602061131e8339815191529181900360200190a3610df6565b5060048054600160e060020a03198116868603600160e060020a0392831681018316919091179092558351820116835260065460a060020a900460ff16158015610d935750600454600160e060020a03166801236efcbcbb340000145b15610dbd576006805474ff0000000000000000000000000000000000000000191660a060020a1790555b60408051600160e060020a03831681529051600160a060020a0388169160009160008051602061131e8339815191529181900360200190a35b5050600160a060020a0390931660009081526020818152604090912084518154929095015163ffffffff1660e060020a02600160e060020a03958616600160e060020a031990931692909217909416179092555050565b336000818152600160209081526040808320600160a060020a038916808552908352818420889055815188815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a36040517f8f4ffcb1000000000000000000000000000000000000000000000000000000008152336004820181815260248301879052306044840181905260806064850190815260848501879052600160a060020a038a1694638f4ffcb194938a93928a928a92919060a40184848082843782019150509650505050505050600060405180830381600087803b158015610f4257600080fd5b505af1158015610f56573d6000803e3d6000fd5b50600198975050505050505050565b600160a060020a03918216600090815260016020908152604080832093909416825291909152205490565b600654600160a060020a03163314610fa757600080fd5b600554610fc390600160e060020a03841663ffffffff6111f616565b60055560048054600160e060020a03198116600160e060020a039182168501821617909155600160a060020a03821660009081526020819052604090205461100c911683611220565b600160a060020a0382166000818152602081815260408083208054600160e060020a031916600160e060020a0396871617905580519487168552519293919260008051602061131e8339815191529281900390910190a35050565b6000611071611306565b61107a83611242565b600160a060020a038416600090815260208181526040808320815180830190925254600160e060020a03808216835260e060020a90910463ffffffff169282019290925292945091925090831611156111885760048054600160e060020a03808216850116600160e060020a031990911617905560065460ff60a060020a9091041615801561111c5750600454600160e060020a03166801236efcbcbb340000145b15611146576006805474ff0000000000000000000000000000000000000000191660a060020a1790555b8051600160e060020a039083018116825260408051918416825251600160a060020a0385169160009160008051602061131e8339815191529181900360200190a35b42816020015163ffffffff1610156109725763ffffffff4281166020808401918252600160a060020a0386166000908152908190526040902083518154925190931660e060020a02600160e060020a03938416600160e060020a031990931692909217909216179055505050565b60008282111561120257fe5b50900390565b6000600160e060020a03808416908316111561120257fe5b6000828201600160e060020a03808516908216101561123b57fe5b9392505050565b600654600090819060a060020a900460ff161561125e57611300565b50600160a060020a03821660009081526020819052604081205460e060020a900463ffffffff1690811180156112995750428163ffffffff16105b156112c457600160a060020a03831660009081526002602052604090205463ffffffff821642030291505b6004546801236efcbcbb340000600160e060020a0391821684019091161061130057600454600160e060020a03166801236efcbcbb3400000391505b50919050565b6040805180820190915260008082526020820152905600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a7230582002546b010375af22cef683c3c44e5aff942583d7506e17ddbc79e0483e8085190029
Deployed Bytecode
0x6080604052600436106101195763ffffffff60e060020a60003504166302b45474811461011e57806306fdde0314610144578063095ea7b3146101ce5780630a4bbb681461020657806318160ddd1461021b57806323b872dd14610242578063313ce5671461026c57806332cb6b0c1461029757806333958b30146102c85780634f03f17c146102e9578063558a7297146103165780636816521a1461033c57806370a08231146103515780638da5cb5b1461037257806395d89b41146103a3578063a732f9ac146103b8578063a9059cbb146103dc578063add1dcfa14610400578063b5967e1614610424578063bb002ba814610445578063cae9ca5114610472578063dd62ed3e146104a3578063f7b04ba5146104ca575b600080fd5b34801561012a57600080fd5b50610142600160a060020a03600435166024356104f7565b005b34801561015057600080fd5b506101596105c3565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561019357818101518382015260200161017b565b50505050905090810190601f1680156101c05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101da57600080fd5b506101f2600160a060020a03600435166024356105fa565b604080519115158252519081900360200190f35b34801561021257600080fd5b506101f2610660565b34801561022757600080fd5b50610230610670565b60408051918252519081900360200190f35b34801561024e57600080fd5b506101f2600160a060020a036004358116906024351660443561067f565b34801561027857600080fd5b50610281610831565b6040805160ff9092168252519081900360200190f35b3480156102a357600080fd5b506102ac610836565b60408051600160e060020a039092168252519081900360200190f35b3480156102d457600080fd5b50610230600160a060020a0360043516610843565b3480156102f557600080fd5b50610142600160e060020a0360043516600160a060020a0360243516610855565b34801561032257600080fd5b50610142600160a060020a03600435166024351515610977565b34801561034857600080fd5b506102306109b9565b34801561035d57600080fd5b50610230600160a060020a03600435166109bf565b34801561037e57600080fd5b506103876109fa565b60408051600160a060020a039092168252519081900360200190f35b3480156103af57600080fd5b50610159610a09565b3480156103c457600080fd5b50610142600160a060020a0360043516602435610a40565b3480156103e857600080fd5b506101f2600160a060020a0360043516602435610a80565b34801561040c57600080fd5b50610142600160a060020a0360043516602435610bce565b34801561043057600080fd5b50610142600160a060020a0360043516610c0f565b34801561045157600080fd5b50610142600160a060020a0360043516600160e060020a0360243516610c39565b34801561047e57600080fd5b506101f260048035600160a060020a0316906024803591604435918201910135610e4d565b3480156104af57600080fd5b50610230600160a060020a0360043581169060243516610f65565b3480156104d657600080fd5b50610142600160e060020a0360043516600160a060020a0360243516610f90565b600654600160a060020a0316331461050e57600080fd5b600160a060020a03821630141561052457600080fd5b600654604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a0392831660048201526024810184905290519184169163a9059cbb916044808201926020929091908290030181600087803b15801561059357600080fd5b505af11580156105a7573d6000803e3d6000fd5b505050506040513d60208110156105bd57600080fd5b50505050565b60408051808201909152600c81527f5669616c73206f6620476f6f0000000000000000000000000000000000000000602082015281565b336000818152600160209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b60065460a060020a900460ff1681565b600454600160e060020a031690565b60008061068b85611067565b6801236efcbcbb3400008311156106a157600080fd5b50600160a060020a038416600090815260016020908152604080832033845290915290205482906106e190600160e060020a03831663ffffffff6111f616565b600160a060020a038616600081815260016020908152604080832033845282528083209490945591815290819052205461072a90600160e060020a03168263ffffffff61120816565b600160a060020a03868116600081815260208181526040918290208054600160e060020a031916600160e060020a0396871617905581519486168552905192881693919260008051602061131e8339815191529281900390910190a3600160a060020a03841615156107bd5760048054600160e060020a0380821684900316600160e060020a0319909116179055610826565b600160a060020a0384166000908152602081905260409020546107ef90600160e060020a03168263ffffffff61122016565b600160a060020a03851660009081526020819052604090208054600160e060020a031916600160e060020a03929092169190911790555b506001949350505050565b600c81565b6801236efcbcbb34000081565b60026020526000908152604090205481565b60065460009060a060020a900460ff161561086f57610972565b3360009081526003602052604090205460ff16151561088d57600080fd5b5060045482906801236efcbcbb340000906108b790600160e060020a03168363ffffffff61122016565b600160e060020a03161061090257506006805474ff0000000000000000000000000000000000000000191660a060020a179055600454600160e060020a03166801236efcbcbb340000035b600160a060020a0382166000818152602081815260408083208054600160e060020a0380821688018116600160e060020a0319928316179092556004805480841689018416921691909117905581519086168152905160008051602061131e833981519152929181900390910190a35b505050565b600654600160a060020a0316331461098e57600080fd5b600160a060020a03919091166000908152600360205260409020805460ff1916911515919091179055565b60055481565b60006109ca82611242565b600160a060020a038316600090815260208190526040902054600160e060020a0390811691909101169050919050565b600654600160a060020a031681565b60408051808201909152600381527f474f4f0000000000000000000000000000000000000000000000000000000000602082015281565b3360009081526003602052604090205460ff161515610a5e57600080fd5b600160a060020a03909116600090815260026020526040902080549091019055565b600080610a8c33611067565b6801236efcbcbb340000831115610aa257600080fd5b50336000908152602081905260409020548290610ace90600160e060020a03168263ffffffff61120816565b33600081815260208181526040918290208054600160e060020a031916600160e060020a03958616179055815193851684529051600160a060020a0388169360008051602061131e83398151915292908290030190a3600160a060020a0384161515610b5b5760048054600160e060020a0380821684900316600160e060020a0319909116179055610bc4565b600160a060020a038416600090815260208190526040902054610b8d90600160e060020a03168263ffffffff61122016565b600160a060020a03851660009081526020819052604090208054600160e060020a031916600160e060020a03929092169190911790555b5060019392505050565b3360009081526003602052604090205460ff161515610bec57600080fd5b600160a060020a0390911660009081526002602052604090208054919091039055565b3360009081526003602052604090205460ff161515610c2d57600080fd5b610c3681611067565b50565b6000610c43611306565b33600090815260036020526040812054819060ff161515610c6357600080fd5b610c6c86611242565b600160a060020a03871660009081526020818152604091829020825180840190935254600160e060020a0390811683524263ffffffff169183019190915291955093508085169086161115610d365760048054600160e060020a03198116868803600160e060020a039283168190038316919091179092558451919350610cf4911683611208565b600160e060020a03908116845260408051918416825251600091600160a060020a0389169160008051602061131e8339815191529181900360200190a3610df6565b5060048054600160e060020a03198116868603600160e060020a0392831681018316919091179092558351820116835260065460a060020a900460ff16158015610d935750600454600160e060020a03166801236efcbcbb340000145b15610dbd576006805474ff0000000000000000000000000000000000000000191660a060020a1790555b60408051600160e060020a03831681529051600160a060020a0388169160009160008051602061131e8339815191529181900360200190a35b5050600160a060020a0390931660009081526020818152604090912084518154929095015163ffffffff1660e060020a02600160e060020a03958616600160e060020a031990931692909217909416179092555050565b336000818152600160209081526040808320600160a060020a038916808552908352818420889055815188815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a36040517f8f4ffcb1000000000000000000000000000000000000000000000000000000008152336004820181815260248301879052306044840181905260806064850190815260848501879052600160a060020a038a1694638f4ffcb194938a93928a928a92919060a40184848082843782019150509650505050505050600060405180830381600087803b158015610f4257600080fd5b505af1158015610f56573d6000803e3d6000fd5b50600198975050505050505050565b600160a060020a03918216600090815260016020908152604080832093909416825291909152205490565b600654600160a060020a03163314610fa757600080fd5b600554610fc390600160e060020a03841663ffffffff6111f616565b60055560048054600160e060020a03198116600160e060020a039182168501821617909155600160a060020a03821660009081526020819052604090205461100c911683611220565b600160a060020a0382166000818152602081815260408083208054600160e060020a031916600160e060020a0396871617905580519487168552519293919260008051602061131e8339815191529281900390910190a35050565b6000611071611306565b61107a83611242565b600160a060020a038416600090815260208181526040808320815180830190925254600160e060020a03808216835260e060020a90910463ffffffff169282019290925292945091925090831611156111885760048054600160e060020a03808216850116600160e060020a031990911617905560065460ff60a060020a9091041615801561111c5750600454600160e060020a03166801236efcbcbb340000145b15611146576006805474ff0000000000000000000000000000000000000000191660a060020a1790555b8051600160e060020a039083018116825260408051918416825251600160a060020a0385169160009160008051602061131e8339815191529181900360200190a35b42816020015163ffffffff1610156109725763ffffffff4281166020808401918252600160a060020a0386166000908152908190526040902083518154925190931660e060020a02600160e060020a03938416600160e060020a031990931692909217909216179055505050565b60008282111561120257fe5b50900390565b6000600160e060020a03808416908316111561120257fe5b6000828201600160e060020a03808516908216101561123b57fe5b9392505050565b600654600090819060a060020a900460ff161561125e57611300565b50600160a060020a03821660009081526020819052604081205460e060020a900463ffffffff1690811180156112995750428163ffffffff16105b156112c457600160a060020a03831660009081526002602052604090205463ffffffff821642030291505b6004546801236efcbcbb340000600160e060020a0391821684019091161061130057600454600160e060020a03166801236efcbcbb3400000391505b50919050565b6040805180820190915260008082526020820152905600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a7230582002546b010375af22cef683c3c44e5aff942583d7506e17ddbc79e0483e8085190029
Swarm Source
bzzr://02546b010375af22cef683c3c44e5aff942583d7506e17ddbc79e0483e808519
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.