ERC-20
Overview
Max Total Supply
155,000.25 RSP
Holders
235
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
RockScissorPaper
Compiler Version
v0.4.19+commit.c4cbbb05
Optimization Enabled:
Yes with 500 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-04-09 */ // ___ _ ___ _ // | _ ) _ _ __| | __ _ __ __ ___ | _ \ ___ ___ | |_ // | _ \ | || | / _` | / _` | \ V / (_-< | _/ / -_) (_-< | _| // |___/ \_,_| \__,_| \__,_| \_/ /__/ |_| \___| /__/ \__| // Buda vs Pest // the most ridiculous Rock-Scissor-Paper game on Ethereum // Copyright 2018 www.budapestgame.com pragma solidity ^0.4.18; // File: contracts-raw/Ownable.sol contract Ownable { address public owner; event OwnershipTransferred (address indexed prevOwner, address indexed newOwner); function Ownable () public { owner = msg.sender; } modifier onlyOwner () { require (msg.sender == owner); _; } function transferOwnership (address newOwner) public onlyOwner { require (newOwner != address (0)); OwnershipTransferred (owner, newOwner); owner = newOwner; } } // File: contracts-raw/SafeMath.sol /** * @title SafeMath * @dev Math operations with safety checks that throw on error */ library SafeMath { function add (uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; assert (c >= a); return c; } function sub (uint256 a, uint256 b) internal pure returns (uint256) { assert (b <= a); return a - b; } 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; } // Solidty automatically throws // 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; // } } // File: contracts-raw/StandardToken.sol // ERC20 is ERC20Basic // ERC20 standard contract ERC20 { // Basic function totalSupply () public view returns (uint256); function balanceOf (address tokenOwner) public view returns (uint256); function transfer (address to, uint256 amount) public returns (bool); event Transfer (address indexed from, address indexed to, uint256 amount); // Additional function allowance (address tokenOwner, address spender) public view returns (uint256); function approve (address spender, uint256 amount) public returns (bool); function transferFrom (address from, address to, uint256 amount) public returns (bool); event Approval (address indexed tokenOwner, address indexed spender, uint256 amount); } // BasicToken is ERC20Basic contract StandardToken is ERC20 { using SafeMath for uint256; // Basic uint256 _tokenTotal; mapping (address => uint256) _tokenBalances; function totalSupply () public view returns (uint256) { return _tokenTotal; } function balanceOf (address tokenOwner) public view returns (uint256) { return _tokenBalances[tokenOwner]; } function _transfer (address to, uint256 amount) internal { // SafeMath.sub will throw if there is not enough balance. // SafeMath.add will throw if overflows _tokenBalances[msg.sender] = _tokenBalances[msg.sender].sub (amount); _tokenBalances[to] = _tokenBalances[to].add (amount); Transfer (msg.sender, to, amount); } function transfer (address to, uint256 amount) public returns (bool) { require (to != address (0)); require (amount <= _tokenBalances[msg.sender]); // should not be necessary, but double checks _transfer (to, amount); return true; } // Additional mapping (address => mapping (address => uint256)) internal _tokenAllowance; function allowance (address tokenOwner, address spender) public view returns (uint256) { return _tokenAllowance[tokenOwner][spender]; } function approve (address spender, uint256 amount) public returns (bool) { _tokenAllowance[msg.sender][spender] = amount; Approval (msg.sender, spender, amount); return true; } function _transferFrom (address from, address to, uint256 amount) internal { // SafeMath.sub will throw if there is not enough balance. // SafeMath.add will throw if overflows _tokenBalances[from] = _tokenBalances[from].sub (amount); _tokenBalances[to] = _tokenBalances[to].add (amount); Transfer (from, to, amount); } function transferFrom (address from, address to, uint256 amount) public returns (bool) { require (to != address (0)); require (amount <= _tokenBalances[from]); require (amount <= _tokenAllowance[from][msg.sender]); _transferFrom (from, to, amount); _tokenAllowance[from][msg.sender] = _tokenAllowance[from][msg.sender].sub (amount); return true; } } // File: contracts-raw/RockScissorPaper.sol // ___ _ ___ _ // | _ ) _ _ __| | __ _ __ __ ___ | _ \ ___ ___ | |_ // | _ \ | || | / _` | / _` | \ V / (_-< | _/ / -_) (_-< | _| // |___/ \_,_| \__,_| \__,_| \_/ /__/ |_| \___| /__/ \__| // Buda vs Pest // the most ridiculous Rock-Scissor-Paper game on Ethereum // Copyright 2018 www.budapestgame.com pragma solidity ^0.4.18; contract RSPScienceInterface { function isRSPScience() public pure returns (bool); function calcPoseBits (uint256 sek, uint256 posesek0, uint256 posesek1) public pure returns (uint256); } contract RockScissorPaper is StandardToken, Ownable { using SafeMath for uint256; string public name = 'RockScissorPaper'; string public symbol = 'RSP'; uint8 public decimals = 18; uint8 public version = 7; // uint256 public initialAmount = 5 * 10**uint(decimals+6); RSPScienceInterface public rspScience; function _setRSPScienceAddress (address addr) internal { RSPScienceInterface candidate = RSPScienceInterface (addr); require (candidate.isRSPScience ()); rspScience = candidate; } function setRSPScienceAddress (address addr) public onlyOwner { _setRSPScienceAddress (addr); } // Constructor is not called multiple times, fortunately function RockScissorPaper (address addr) public { // Onwer should be set up and become msg.sender // During test, mint owner some amount // During deployment, onwer himself has to buy tokens to be fair // _mint (msg.sender, initialAmount); if (addr != address(0)) { _setRSPScienceAddress (addr); } } function () public payable { revert (); } mapping (address => uint256) public weiInvested; mapping (address => uint256) public weiRefunded; mapping (address => address) public referrals; mapping (address => uint256) public nRefs; mapping (address => uint256) public weiFromRefs; event TokenInvest (address indexed purchaser, uint256 nWeis, uint256 nTokens, address referral); event TokenRefund (address indexed purchaser, uint256 nWeis, uint256 nTokens); // Buying and selling incur minting and burning function _mint (address tokenOwner, uint256 amount) internal { _tokenTotal = _tokenTotal.add (amount); _tokenBalances[tokenOwner] += amount; // no need to require, overflow already checked above // Just emit a Transfer Event Transfer (address (0), tokenOwner, amount); } function _burn (address tokenOwner, uint256 amount) internal { _tokenBalances[tokenOwner] = _tokenBalances[tokenOwner].sub (amount); _tokenTotal -= amount; // no need to require, underflow already checked above // Just emit a Transfer Event Transfer (tokenOwner, address (0), amount); } // Only owner is allowed to do this function mint (uint256 amount) onlyOwner public { _mint (msg.sender, amount); } function buyTokens (address referral) public payable { // minimum buys: 1 token uint256 amount = msg.value.mul (5000); require (amount >= 1 * 10**uint(decimals)); // _processPurchase, _deliverTokens using Minting _mint (msg.sender, amount); if ( referrals[msg.sender] == address(0) && referral != msg.sender ) { if (referral == address(0)) { referral = owner; } referrals[msg.sender] = referral; nRefs[referral] += 1; } // Fund logs weiInvested[msg.sender] += msg.value; TokenInvest (msg.sender, msg.value, amount, referral); } function sellTokens (uint256 amount) public { _burn (msg.sender, amount); // uint256 nWeis = amount/rate * 0.9; uint256 nWeis = amount / 5000; // gameBalance -= nWeis; // Fund logs weiRefunded[msg.sender] += nWeis; TokenRefund (msg.sender, nWeis, amount); msg.sender.transfer (nWeis); } // Gamings struct GameRSP { address creator; uint256 creatorPose; // uint256 uint256 nTokens; address player; uint256 playerPose; uint256 sek; uint256 posebits; } GameRSP[] games; // mapping (address => uint256) public lastGameId; function totalGames () public view returns (uint256) { return games.length; } function gameInfo (uint256 gameId) public view returns (address, uint256, uint256, address, uint256, uint256, uint256) { GameRSP storage game = games[gameId]; return ( game.creator, game.creatorPose, game.nTokens, game.player, game.playerPose, game.sek, game.posebits ); } uint8 public ownerCut = 5; // 5 percent uint8 public referralCut = 5; // 5 percent function changeFeeCut (uint8 ownCut, uint8 refCut) onlyOwner public { ownerCut = ownCut; referralCut = refCut; } event GameCreated (address indexed creator, uint256 gameId, uint256 pose); event GamePlayed (address indexed player, uint256 gameId, uint256 pose); event GameSolved (address indexed solver, uint256 gameId, uint256 posebits, address referral, uint256 solverFee); function createGame (uint256 amount, uint256 pose) public { // Will check tokenBalance of sender in transfer () // require (_tokenBalances[msg.sender] >= amount && amount >= 100 * 10**uint(decimals)); require (_tokenBalances[msg.sender] >= amount); // We set 1 as the minimal token required, but 100 tokens probably is the minimum viable require (amount >= 1 * 10**uint(decimals)); // escrew tokens; _transfer (this, amount); GameRSP memory game = GameRSP ({ creator: msg.sender, creatorPose: pose, nTokens: amount, player: address (0), playerPose: 0, sek: 0, posebits: 0 }); uint256 gameId = games.push (game) - 1; // lastGameId[msg.sender] = gameId; // Todo: Last GameId // Let's be absolutely sure array don't hit its limits require (gameId == uint256(uint32(gameId))); GameCreated (msg.sender, gameId, pose); } function playGame (uint256 gameId, uint256 pose) public { GameRSP storage game = games[gameId]; require (msg.sender != game.creator); require (game.player == address (0)); uint256 nTokens = game.nTokens; // Will check tokenBalance of sender in transfer () require (_tokenBalances[msg.sender] >= nTokens); // escrew tokens; _transfer (this, nTokens); game.player = msg.sender; game.playerPose = pose; GamePlayed (msg.sender, gameId, pose); } // Convenience functions function buyAndCreateGame (uint256 amount, uint256 pose, address referral) public payable { buyTokens (referral); createGame (amount, pose); } function buyAndPlayGame (uint256 gameId, uint256 pose, address referral) public payable { buyTokens (referral); playGame (gameId, pose); } // Bounty to eththrowaway4 function _solveGame (uint256 gameId, uint256 sek, uint256 solFee) internal { GameRSP storage game = games[gameId]; require (game.player != address (0)); uint256 nTokens = game.nTokens; require (_tokenBalances[this] >= nTokens * 2); uint256 ownerFee = nTokens * 2 * ownerCut / 100; uint256 referralFee = nTokens * 2 * referralCut / 100; uint256 winnerPrize = nTokens * 2 - ownerFee - referralFee - solFee; uint256 drawPrize = nTokens - solFee/2; require (game.sek == 0 && sek != 0); game.sek = sek; address referral; // Let's start solving the game uint256 posebits = rspScience.calcPoseBits (sek, game.creatorPose, game.playerPose); // RK, SC, PA, RK, SC, PA // 1, 2, 4, 8, 16, 32 if ((posebits % 9) == 0) { // 9, 18 or 36 require (drawPrize >= 0); // draw (we don't take any fees - fair enough?) _transferFrom (this, game.creator, drawPrize); _transferFrom (this, game.player, drawPrize); } else if ((posebits % 17) == 0 || posebits == 12) { // 12, 17, or 34 require (winnerPrize >= 0); referral = referrals[game.creator]; if (referral == address(0)) { referral = owner; } // creator wins _transferFrom (this, game.creator, winnerPrize); _transferFrom (this, referral, referralFee); _transferFrom (this, owner, ownerFee); weiFromRefs[referral] += referralFee; } else if ((posebits % 10) == 0 || posebits == 33) { // 10, 20, or 33 require (winnerPrize >= 0); referral = referrals[game.player]; if (referral == address(0)) { referral = owner; } // player wins _transferFrom (this, game.player, winnerPrize); _transferFrom (this, referral, referralFee); _transferFrom (this, owner, ownerFee); weiFromRefs[referral] += referralFee; } if (solFee > 0) { _transferFrom (this, msg.sender, solFee); } game.posebits = posebits; GameSolved (msg.sender, gameId, game.posebits, referral, solFee); } // Anyone could call this to claim the prize (an pay gas himself) function solveGame (uint256 gameId, uint256 sek) public { _solveGame (gameId, sek, 0); } // Or the game could be automatically solved a few moments later by the owner, // charging a 'solverFee' function autoSolveGame (uint256 gameId, uint256 sek, uint256 solFee) onlyOwner public { _solveGame (gameId, sek, solFee); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"weiRefunded","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"amount","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"},{"name":"pose","type":"uint256"},{"name":"referral","type":"address"}],"name":"buyAndCreateGame","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"from","type":"address"},{"name":"to","type":"address"},{"name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalGames","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"gameId","type":"uint256"},{"name":"pose","type":"uint256"}],"name":"playGame","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"nRefs","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"version","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"},{"name":"pose","type":"uint256"}],"name":"createGame","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"sellTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"addr","type":"address"}],"name":"setRSPScienceAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"ownCut","type":"uint8"},{"name":"refCut","type":"uint8"}],"name":"changeFeeCut","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"tokenOwner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ownerCut","outputs":[{"name":"","type":"uint8"}],"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":true,"inputs":[{"name":"","type":"address"}],"name":"weiInvested","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"referrals","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"mint","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"gameId","type":"uint256"}],"name":"gameInfo","outputs":[{"name":"","type":"address"},{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"address"},{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"referralCut","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"gameId","type":"uint256"},{"name":"sek","type":"uint256"},{"name":"solFee","type":"uint256"}],"name":"autoSolveGame","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"rspScience","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"weiFromRefs","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"gameId","type":"uint256"},{"name":"pose","type":"uint256"},{"name":"referral","type":"address"}],"name":"buyAndPlayGame","outputs":[],"payable":true,"stateMutability":"payable","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":"referral","type":"address"}],"name":"buyTokens","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"gameId","type":"uint256"},{"name":"sek","type":"uint256"}],"name":"solveGame","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"addr","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"purchaser","type":"address"},{"indexed":false,"name":"nWeis","type":"uint256"},{"indexed":false,"name":"nTokens","type":"uint256"},{"indexed":false,"name":"referral","type":"address"}],"name":"TokenInvest","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"purchaser","type":"address"},{"indexed":false,"name":"nWeis","type":"uint256"},{"indexed":false,"name":"nTokens","type":"uint256"}],"name":"TokenRefund","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"creator","type":"address"},{"indexed":false,"name":"gameId","type":"uint256"},{"indexed":false,"name":"pose","type":"uint256"}],"name":"GameCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"player","type":"address"},{"indexed":false,"name":"gameId","type":"uint256"},{"indexed":false,"name":"pose","type":"uint256"}],"name":"GamePlayed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"solver","type":"address"},{"indexed":false,"name":"gameId","type":"uint256"},{"indexed":false,"name":"posebits","type":"uint256"},{"indexed":false,"name":"referral","type":"address"},{"indexed":false,"name":"solverFee","type":"uint256"}],"name":"GameSolved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"prevOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"tokenOwner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Approval","type":"event"}]
Contract Creation Code
606060405260408051908101604052601081527f526f636b53636973736f72506170657200000000000000000000000000000000602082015260049080516200004d929160200190620001e9565b5060408051908101604052600381527f52535000000000000000000000000000000000000000000000000000000000006020820152600590805162000097929160200190620001e9565b506006805461070061ff001960ff19928316601217811691909117909255600d805461050092166005179092161790553415620000d357600080fd5b60405160208062001b5c8339810160405280805160038054600160a060020a03191633600160a060020a039081169190911790915590925082161590506200012e576200012e816401000000006200127d6200013582021704565b506200028e565b80600160a060020a03811663cb4c8ee46000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15156200019657600080fd5b6102c65a03f11515620001a857600080fd5b505050604051805190501515620001be57600080fd5b60068054600160a060020a0390921662010000026201000060b060020a031990921691909117905550565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200022c57805160ff19168380011785556200025c565b828001600101855582156200025c579182015b828111156200025c5782518255916020019190600101906200023f565b506200026a9291506200026e565b5090565b6200028b91905b808211156200026a576000815560010162000275565b90565b6118be806200029e6000396000f3006060604052600436106101a05763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146101a55780630714a4071461022f578063095ea7b31461026057806318160ddd14610296578063188d0aae146102a957806323b872dd146102c55780632c4e591b146102ed578063313ce5671461030057806334825a23146103295780633bc93f5a1461034257806354fd4d501461036157806360104cef146103745780636c11bcd31461038d5780636f32b2ac146103a3578063704dd019146103c257806370a08231146103e157806383b5ff8b146104005780638da5cb5b1461041357806395d89b411461044257806395e16aa9146104555780639ca423b314610474578063a0712d6814610493578063a6f81668146104a9578063a9059cbb14610509578063a91abdcb1461052b578063ae8b9d7b1461053e578063b2d138d21461055a578063bb7e791a1461056d578063c27382d91461058c578063dd62ed3e146105a6578063ec8ac4d8146105cb578063f2fde38b146105df578063fb282f92146105fe575b600080fd5b34156101b057600080fd5b6101b8610617565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101f45780820151838201526020016101dc565b50505050905090810190601f1680156102215780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561023a57600080fd5b61024e600160a060020a03600435166106b5565b60405190815260200160405180910390f35b341561026b57600080fd5b610282600160a060020a03600435166024356106c7565b604051901515815260200160405180910390f35b34156102a157600080fd5b61024e610733565b6102c3600435602435600160a060020a036044351661073a565b005b34156102d057600080fd5b610282600160a060020a0360043581169060243516604435610752565b34156102f857600080fd5b61024e610834565b341561030b57600080fd5b61031361083a565b60405160ff909116815260200160405180910390f35b341561033457600080fd5b6102c3600435602435610843565b341561034d57600080fd5b61024e600160a060020a0360043516610945565b341561036c57600080fd5b610313610957565b341561037f57600080fd5b6102c3600435602435610965565b341561039857600080fd5b6102c3600435610b15565b34156103ae57600080fd5b6102c3600160a060020a0360043516610bbb565b34156103cd57600080fd5b6102c360ff60043581169060243516610be2565b34156103ec57600080fd5b61024e600160a060020a0360043516610c22565b341561040b57600080fd5b610313610c3d565b341561041e57600080fd5b610426610c46565b604051600160a060020a03909116815260200160405180910390f35b341561044d57600080fd5b6101b8610c55565b341561046057600080fd5b61024e600160a060020a0360043516610cc0565b341561047f57600080fd5b610426600160a060020a0360043516610cd2565b341561049e57600080fd5b6102c3600435610ced565b34156104b457600080fd5b6104bf600435610d12565b604051600160a060020a0397881681526020810196909652604080870195909552929095166060850152608084015260a083019390935260c082019290925260e001905180910390f35b341561051457600080fd5b610282600160a060020a0360043516602435610d8a565b341561053657600080fd5b610313610dd9565b341561054957600080fd5b6102c3600435602435604435610de7565b341561056557600080fd5b610426610e0d565b341561057857600080fd5b61024e600160a060020a0360043516610e22565b6102c3600435602435600160a060020a0360443516610e34565b34156105b157600080fd5b61024e600160a060020a0360043581169060243516610e47565b6102c3600160a060020a0360043516610e72565b34156105ea57600080fd5b6102c3600160a060020a0360043516610fcb565b341561060957600080fd5b6102c3600435602435611066565b60048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106ad5780601f10610682576101008083540402835291602001916106ad565b820191906000526020600020905b81548152906001019060200180831161069057829003601f168201915b505050505081565b60086020526000908152604090205481565b600160a060020a03338116600081815260026020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b6000545b90565b61074381610e72565b61074d8383610965565b505050565b6000600160a060020a038316151561076957600080fd5b600160a060020a03841660009081526001602052604090205482111561078e57600080fd5b600160a060020a03808516600090815260026020908152604080832033909416835292905220548211156107c157600080fd5b6107cc848484611072565b600160a060020a0380851660009081526002602090815260408083203390941683529290522054610803908363ffffffff61112c16565b600160a060020a03808616600090815260026020908152604080832033909416835292905220555060019392505050565b600c5490565b60065460ff1681565b600080600c8481548110151561085557fe5b60009182526020909120600790910201805490925033600160a060020a039081169116141561088357600080fd5b6003820154600160a060020a03161561089b57600080fd5b506002810154600160a060020a033316600090815260016020526040902054819010156108c757600080fd5b6108d1308261113e565b60038201805473ffffffffffffffffffffffffffffffffffffffff191633600160a060020a0316908117909155600483018490557f24b31e1dbf1732a12bb700d3d77e5fb96ff3b693374d9fa15ccbc03f42715076858560405191825260208201526040908101905180910390a250505050565b600a6020526000908152604090205481565b600654610100900460ff1681565b61096d6117b8565b600160a060020a0333166000908152600160205260408120548490101561099357600080fd5b60065460ff16600a0a8410156109a857600080fd5b6109b2308561113e565b60e06040519081016040528033600160a060020a031681526020018481526020018581526020016000600160a060020a031681526020016000815260200160008152602001600081525091506001600c8054806001018281610a149190611808565b600092835260209092208591600702018151815473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03919091161781556020820151816001015560408201518160020155606082015160038201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790556080820151816004015560a0820151816005015560c08201516006909101555003905063ffffffff81168114610acb57600080fd5b33600160a060020a03167f27bd49aa3baf4aa9d565998bd41f40d6ff8cb737a8b4935d9ead830220fb73bc828560405191825260208201526040908101905180910390a250505050565b6000610b2133836111f8565b5033600160a060020a0316600081815260086020526040908190208054611388850490810190915591907f47bc8b296a721ead4262b15df1a3123f2c4eed6afa70823038a3c34d60d478f290839085905191825260208201526040908101905180910390a2600160a060020a03331681156108fc0282604051600060405180830381858888f193505050501515610bb757600080fd5b5050565b60035433600160a060020a03908116911614610bd657600080fd5b610bdf8161127d565b50565b60035433600160a060020a03908116911614610bfd57600080fd5b600d805460ff9283166101000261ff00199490931660ff199091161792909216179055565b600160a060020a031660009081526001602052604090205490565b600d5460ff1681565b600354600160a060020a031681565b60058054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106ad5780601f10610682576101008083540402835291602001916106ad565b60076020526000908152604090205481565b600960205260009081526040902054600160a060020a031681565b60035433600160a060020a03908116911614610d0857600080fd5b610bdf338261133b565b600080600080600080600080600c89815481101515610d2d57fe5b600091825260209091206007909102018054600182015460028301546003840154600485015460058601546006870154600160a060020a039687169f50949d50929b50931698509196509094509250905050919395979092949650565b6000600160a060020a0383161515610da157600080fd5b600160a060020a033316600090815260016020526040902054821115610dc657600080fd5b610dd0838361113e565b50600192915050565b600d54610100900460ff1681565b60035433600160a060020a03908116911614610e0257600080fd5b61074d8383836113aa565b600654620100009004600160a060020a031681565b600b6020526000908152604090205481565b610e3d81610e72565b61074d8383610843565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b6000610e863461138863ffffffff61177316565b60065490915060ff16600a0a811015610e9e57600080fd5b610ea8338261133b565b600160a060020a0333811660009081526009602052604090205416158015610ee2575033600160a060020a031682600160a060020a031614155b15610f5457600160a060020a0382161515610f0657600354600160a060020a031691505b600160a060020a033381166000908152600960209081526040808320805494871673ffffffffffffffffffffffffffffffffffffffff1990951685179055928252600a905220805460010190555b600160a060020a033316600081815260076020526040908190208054349081019091557ff9d280e51917e2a2843caebb7e3365656911aa5b307986d48ff5c66958997c169184908690519283526020830191909152600160a060020a03166040808301919091526060909101905180910390a25050565b60035433600160a060020a03908116911614610fe657600080fd5b600160a060020a0381161515610ffb57600080fd5b600354600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b610bb7828260006113aa565b600160a060020a03831660009081526001602052604090205461109b908263ffffffff61112c16565b600160a060020a0380851660009081526001602052604080822093909355908416815220546110d0908263ffffffff6117a916565b600160a060020a03808416600081815260016020526040908190209390935591908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9084905190815260200160405180910390a3505050565b60008282111561113857fe5b50900390565b600160a060020a033316600090815260016020526040902054611167908263ffffffff61112c16565b600160a060020a03338116600090815260016020526040808220939093559084168152205461119c908263ffffffff6117a916565b600160a060020a0380841660008181526001602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9084905190815260200160405180910390a35050565b600160a060020a038216600090815260016020526040902054611221908263ffffffff61112c16565b600160a060020a0383166000818152600160205260408082209390935580548490038155917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9084905190815260200160405180910390a35050565b80600160a060020a03811663cb4c8ee46000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15156112dd57600080fd5b6102c65a03f115156112ee57600080fd5b50505060405180519050151561130357600080fd5b60068054600160a060020a03909216620100000275ffffffffffffffffffffffffffffffffffffffff00001990921691909117905550565b60005461134e908263ffffffff6117a916565b6000908155600160a060020a038316808252600160205260408083208054850190559091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9084905190815260200160405180910390a35050565b600080600080600080600080600c8b8154811015156113c557fe5b600091825260209091206007909102016003810154909850600160a060020a031615156113f157600080fd5b600280890154600160a060020a03301660009081526001602052604090205490985090880290101561142257600080fd5b600d54606460ff8083168a026002908102839004995061010090930416890282020495508781028790038690038a900394508904870392508760050154600014801561146d57508915155b151561147857600080fd5b600588018a9055600654600189015460048a015462010000909204600160a060020a031691639cda5a12918d916000604051602001526040517c010000000000000000000000000000000000000000000000000000000063ffffffff8616028152600481019390935260248301919091526044820152606401602060405180830381600087803b151561150a57600080fd5b6102c65a03f1151561151b57600080fd5b505050604051805191505060098106151561157457600083101561153e57600080fd5b8754611555903090600160a060020a031685611072565b600388015461156f903090600160a060020a031685611072565b6116e0565b601181061580611584575080600c145b1561162957600084101561159757600080fd5b8754600160a060020a039081166000908152600960205260409020541691508115156115cc57600354600160a060020a031691505b87546115e3903090600160a060020a031686611072565b6115ee308387611072565b600354611606903090600160a060020a031688611072565b600160a060020a0382166000908152600b602052604090208054860190556116e0565b600a810615806116395750806021145b156116e057600084101561164c57600080fd5b6003880154600160a060020a0390811660009081526009602052604090205416915081151561168457600354600160a060020a031691505b600388015461169e903090600160a060020a031686611072565b6116a9308387611072565b6003546116c1903090600160a060020a031688611072565b600160a060020a0382166000908152600b602052604090208054860190555b60008911156116f4576116f430338b611072565b60068801819055600160a060020a0333167f48fc50c127b4354a02f63db205d57cea3f2d3bbbabc3cf6c9c848ac0f46784078c83858d6040518085815260200184815260200183600160a060020a0316600160a060020a0316815260200182815260200194505050505060405180910390a25050505050505050505050565b60008083151561178657600091506117a2565b5082820282848281151561179657fe5b041461179e57fe5b8091505b5092915050565b60008282018381101561179e57fe5b60e0604051908101604052806000600160a060020a0316815260200160008152602001600081526020016000600160a060020a031681526020016000815260200160008152602001600081525090565b81548183558181151161074d5760008381526020902061074d916107379160079182028101918502015b8082111561188e57805473ffffffffffffffffffffffffffffffffffffffff1990811682556000600183018190556002830181905560038301805490921690915560048201819055600582018190556006820155600701611832565b50905600a165627a7a72305820e0598a17e3bd6cac1a1b55f1d71c1feb1699bed5706e8c7acc69b11fbb8470e800290000000000000000000000009f0215d233d2fb3aa936ea4874ed733f95ef1dfe
Deployed Bytecode
0x6060604052600436106101a05763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146101a55780630714a4071461022f578063095ea7b31461026057806318160ddd14610296578063188d0aae146102a957806323b872dd146102c55780632c4e591b146102ed578063313ce5671461030057806334825a23146103295780633bc93f5a1461034257806354fd4d501461036157806360104cef146103745780636c11bcd31461038d5780636f32b2ac146103a3578063704dd019146103c257806370a08231146103e157806383b5ff8b146104005780638da5cb5b1461041357806395d89b411461044257806395e16aa9146104555780639ca423b314610474578063a0712d6814610493578063a6f81668146104a9578063a9059cbb14610509578063a91abdcb1461052b578063ae8b9d7b1461053e578063b2d138d21461055a578063bb7e791a1461056d578063c27382d91461058c578063dd62ed3e146105a6578063ec8ac4d8146105cb578063f2fde38b146105df578063fb282f92146105fe575b600080fd5b34156101b057600080fd5b6101b8610617565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101f45780820151838201526020016101dc565b50505050905090810190601f1680156102215780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561023a57600080fd5b61024e600160a060020a03600435166106b5565b60405190815260200160405180910390f35b341561026b57600080fd5b610282600160a060020a03600435166024356106c7565b604051901515815260200160405180910390f35b34156102a157600080fd5b61024e610733565b6102c3600435602435600160a060020a036044351661073a565b005b34156102d057600080fd5b610282600160a060020a0360043581169060243516604435610752565b34156102f857600080fd5b61024e610834565b341561030b57600080fd5b61031361083a565b60405160ff909116815260200160405180910390f35b341561033457600080fd5b6102c3600435602435610843565b341561034d57600080fd5b61024e600160a060020a0360043516610945565b341561036c57600080fd5b610313610957565b341561037f57600080fd5b6102c3600435602435610965565b341561039857600080fd5b6102c3600435610b15565b34156103ae57600080fd5b6102c3600160a060020a0360043516610bbb565b34156103cd57600080fd5b6102c360ff60043581169060243516610be2565b34156103ec57600080fd5b61024e600160a060020a0360043516610c22565b341561040b57600080fd5b610313610c3d565b341561041e57600080fd5b610426610c46565b604051600160a060020a03909116815260200160405180910390f35b341561044d57600080fd5b6101b8610c55565b341561046057600080fd5b61024e600160a060020a0360043516610cc0565b341561047f57600080fd5b610426600160a060020a0360043516610cd2565b341561049e57600080fd5b6102c3600435610ced565b34156104b457600080fd5b6104bf600435610d12565b604051600160a060020a0397881681526020810196909652604080870195909552929095166060850152608084015260a083019390935260c082019290925260e001905180910390f35b341561051457600080fd5b610282600160a060020a0360043516602435610d8a565b341561053657600080fd5b610313610dd9565b341561054957600080fd5b6102c3600435602435604435610de7565b341561056557600080fd5b610426610e0d565b341561057857600080fd5b61024e600160a060020a0360043516610e22565b6102c3600435602435600160a060020a0360443516610e34565b34156105b157600080fd5b61024e600160a060020a0360043581169060243516610e47565b6102c3600160a060020a0360043516610e72565b34156105ea57600080fd5b6102c3600160a060020a0360043516610fcb565b341561060957600080fd5b6102c3600435602435611066565b60048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106ad5780601f10610682576101008083540402835291602001916106ad565b820191906000526020600020905b81548152906001019060200180831161069057829003601f168201915b505050505081565b60086020526000908152604090205481565b600160a060020a03338116600081815260026020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b6000545b90565b61074381610e72565b61074d8383610965565b505050565b6000600160a060020a038316151561076957600080fd5b600160a060020a03841660009081526001602052604090205482111561078e57600080fd5b600160a060020a03808516600090815260026020908152604080832033909416835292905220548211156107c157600080fd5b6107cc848484611072565b600160a060020a0380851660009081526002602090815260408083203390941683529290522054610803908363ffffffff61112c16565b600160a060020a03808616600090815260026020908152604080832033909416835292905220555060019392505050565b600c5490565b60065460ff1681565b600080600c8481548110151561085557fe5b60009182526020909120600790910201805490925033600160a060020a039081169116141561088357600080fd5b6003820154600160a060020a03161561089b57600080fd5b506002810154600160a060020a033316600090815260016020526040902054819010156108c757600080fd5b6108d1308261113e565b60038201805473ffffffffffffffffffffffffffffffffffffffff191633600160a060020a0316908117909155600483018490557f24b31e1dbf1732a12bb700d3d77e5fb96ff3b693374d9fa15ccbc03f42715076858560405191825260208201526040908101905180910390a250505050565b600a6020526000908152604090205481565b600654610100900460ff1681565b61096d6117b8565b600160a060020a0333166000908152600160205260408120548490101561099357600080fd5b60065460ff16600a0a8410156109a857600080fd5b6109b2308561113e565b60e06040519081016040528033600160a060020a031681526020018481526020018581526020016000600160a060020a031681526020016000815260200160008152602001600081525091506001600c8054806001018281610a149190611808565b600092835260209092208591600702018151815473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03919091161781556020820151816001015560408201518160020155606082015160038201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790556080820151816004015560a0820151816005015560c08201516006909101555003905063ffffffff81168114610acb57600080fd5b33600160a060020a03167f27bd49aa3baf4aa9d565998bd41f40d6ff8cb737a8b4935d9ead830220fb73bc828560405191825260208201526040908101905180910390a250505050565b6000610b2133836111f8565b5033600160a060020a0316600081815260086020526040908190208054611388850490810190915591907f47bc8b296a721ead4262b15df1a3123f2c4eed6afa70823038a3c34d60d478f290839085905191825260208201526040908101905180910390a2600160a060020a03331681156108fc0282604051600060405180830381858888f193505050501515610bb757600080fd5b5050565b60035433600160a060020a03908116911614610bd657600080fd5b610bdf8161127d565b50565b60035433600160a060020a03908116911614610bfd57600080fd5b600d805460ff9283166101000261ff00199490931660ff199091161792909216179055565b600160a060020a031660009081526001602052604090205490565b600d5460ff1681565b600354600160a060020a031681565b60058054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106ad5780601f10610682576101008083540402835291602001916106ad565b60076020526000908152604090205481565b600960205260009081526040902054600160a060020a031681565b60035433600160a060020a03908116911614610d0857600080fd5b610bdf338261133b565b600080600080600080600080600c89815481101515610d2d57fe5b600091825260209091206007909102018054600182015460028301546003840154600485015460058601546006870154600160a060020a039687169f50949d50929b50931698509196509094509250905050919395979092949650565b6000600160a060020a0383161515610da157600080fd5b600160a060020a033316600090815260016020526040902054821115610dc657600080fd5b610dd0838361113e565b50600192915050565b600d54610100900460ff1681565b60035433600160a060020a03908116911614610e0257600080fd5b61074d8383836113aa565b600654620100009004600160a060020a031681565b600b6020526000908152604090205481565b610e3d81610e72565b61074d8383610843565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b6000610e863461138863ffffffff61177316565b60065490915060ff16600a0a811015610e9e57600080fd5b610ea8338261133b565b600160a060020a0333811660009081526009602052604090205416158015610ee2575033600160a060020a031682600160a060020a031614155b15610f5457600160a060020a0382161515610f0657600354600160a060020a031691505b600160a060020a033381166000908152600960209081526040808320805494871673ffffffffffffffffffffffffffffffffffffffff1990951685179055928252600a905220805460010190555b600160a060020a033316600081815260076020526040908190208054349081019091557ff9d280e51917e2a2843caebb7e3365656911aa5b307986d48ff5c66958997c169184908690519283526020830191909152600160a060020a03166040808301919091526060909101905180910390a25050565b60035433600160a060020a03908116911614610fe657600080fd5b600160a060020a0381161515610ffb57600080fd5b600354600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b610bb7828260006113aa565b600160a060020a03831660009081526001602052604090205461109b908263ffffffff61112c16565b600160a060020a0380851660009081526001602052604080822093909355908416815220546110d0908263ffffffff6117a916565b600160a060020a03808416600081815260016020526040908190209390935591908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9084905190815260200160405180910390a3505050565b60008282111561113857fe5b50900390565b600160a060020a033316600090815260016020526040902054611167908263ffffffff61112c16565b600160a060020a03338116600090815260016020526040808220939093559084168152205461119c908263ffffffff6117a916565b600160a060020a0380841660008181526001602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9084905190815260200160405180910390a35050565b600160a060020a038216600090815260016020526040902054611221908263ffffffff61112c16565b600160a060020a0383166000818152600160205260408082209390935580548490038155917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9084905190815260200160405180910390a35050565b80600160a060020a03811663cb4c8ee46000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15156112dd57600080fd5b6102c65a03f115156112ee57600080fd5b50505060405180519050151561130357600080fd5b60068054600160a060020a03909216620100000275ffffffffffffffffffffffffffffffffffffffff00001990921691909117905550565b60005461134e908263ffffffff6117a916565b6000908155600160a060020a038316808252600160205260408083208054850190559091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9084905190815260200160405180910390a35050565b600080600080600080600080600c8b8154811015156113c557fe5b600091825260209091206007909102016003810154909850600160a060020a031615156113f157600080fd5b600280890154600160a060020a03301660009081526001602052604090205490985090880290101561142257600080fd5b600d54606460ff8083168a026002908102839004995061010090930416890282020495508781028790038690038a900394508904870392508760050154600014801561146d57508915155b151561147857600080fd5b600588018a9055600654600189015460048a015462010000909204600160a060020a031691639cda5a12918d916000604051602001526040517c010000000000000000000000000000000000000000000000000000000063ffffffff8616028152600481019390935260248301919091526044820152606401602060405180830381600087803b151561150a57600080fd5b6102c65a03f1151561151b57600080fd5b505050604051805191505060098106151561157457600083101561153e57600080fd5b8754611555903090600160a060020a031685611072565b600388015461156f903090600160a060020a031685611072565b6116e0565b601181061580611584575080600c145b1561162957600084101561159757600080fd5b8754600160a060020a039081166000908152600960205260409020541691508115156115cc57600354600160a060020a031691505b87546115e3903090600160a060020a031686611072565b6115ee308387611072565b600354611606903090600160a060020a031688611072565b600160a060020a0382166000908152600b602052604090208054860190556116e0565b600a810615806116395750806021145b156116e057600084101561164c57600080fd5b6003880154600160a060020a0390811660009081526009602052604090205416915081151561168457600354600160a060020a031691505b600388015461169e903090600160a060020a031686611072565b6116a9308387611072565b6003546116c1903090600160a060020a031688611072565b600160a060020a0382166000908152600b602052604090208054860190555b60008911156116f4576116f430338b611072565b60068801819055600160a060020a0333167f48fc50c127b4354a02f63db205d57cea3f2d3bbbabc3cf6c9c848ac0f46784078c83858d6040518085815260200184815260200183600160a060020a0316600160a060020a0316815260200182815260200194505050505060405180910390a25050505050505050505050565b60008083151561178657600091506117a2565b5082820282848281151561179657fe5b041461179e57fe5b8091505b5092915050565b60008282018381101561179e57fe5b60e0604051908101604052806000600160a060020a0316815260200160008152602001600081526020016000600160a060020a031681526020016000815260200160008152602001600081525090565b81548183558181151161074d5760008381526020902061074d916107379160079182028101918502015b8082111561188e57805473ffffffffffffffffffffffffffffffffffffffff1990811682556000600183018190556002830181905560038301805490921690915560048201819055600582018190556006820155600701611832565b50905600a165627a7a72305820e0598a17e3bd6cac1a1b55f1d71c1feb1699bed5706e8c7acc69b11fbb8470e80029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000009f0215d233d2fb3aa936ea4874ed733f95ef1dfe
-----Decoded View---------------
Arg [0] : addr (address): 0x9f0215d233d2fB3aA936eA4874Ed733F95ef1dfE
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000009f0215d233d2fb3aa936ea4874ed733f95ef1dfe
Swarm Source
bzzr://e0598a17e3bd6cac1a1b55f1d71c1feb1699bed5706e8c7acc69b11fbb8470e8
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.