Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 543 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Upgrade | 12012044 | 1337 days ago | IN | 0 ETH | 0.00270127 | ||||
Atk Boss | 9703524 | 1693 days ago | IN | 0 ETH | 0.0004112 | ||||
Atk Boss | 9703075 | 1693 days ago | IN | 0 ETH | 0.00062762 | ||||
Atk Boss | 9692736 | 1694 days ago | IN | 0 ETH | 0.00012106 | ||||
Atk Boss | 9646268 | 1701 days ago | IN | 0 ETH | 0.00012106 | ||||
Atk Boss | 9581587 | 1711 days ago | IN | 0 ETH | 0.00012106 | ||||
Atk Boss | 9546225 | 1717 days ago | IN | 0 ETH | 0.00015031 | ||||
Atk Boss | 9524768 | 1720 days ago | IN | 0 ETH | 0.00011152 | ||||
Atk Boss | 9496972 | 1724 days ago | IN | 0 ETH | 0.00016179 | ||||
Atk Boss | 9408857 | 1738 days ago | IN | 0 ETH | 0.00064585 | ||||
Atk Boss | 9396145 | 1740 days ago | IN | 0 ETH | 0.00064587 | ||||
Atk Boss | 9396116 | 1740 days ago | IN | 0 ETH | 0.00038619 | ||||
Atk Boss | 9396095 | 1740 days ago | IN | 0 ETH | 0.00038612 | ||||
Atk Boss | 9396090 | 1740 days ago | IN | 0 ETH | 0.00059636 | ||||
Atk Boss | 9388678 | 1741 days ago | IN | 0 ETH | 0.00018789 | ||||
Atk Boss | 9350476 | 1747 days ago | IN | 0 ETH | 0.0001162 | ||||
Atk Boss | 9350465 | 1747 days ago | IN | 0 ETH | 0.00011089 | ||||
Atk Boss | 9349669 | 1747 days ago | IN | 0 ETH | 0.00012105 | ||||
Atk Boss | 9348670 | 1747 days ago | IN | 0 ETH | 0.00012527 | ||||
Atk Boss | 9345862 | 1748 days ago | IN | 0 ETH | 0.0001312 | ||||
Atk Boss | 9344929 | 1748 days ago | IN | 0 ETH | 0.00006531 | ||||
Atk Boss | 9344913 | 1748 days ago | IN | 0 ETH | 0.00016079 | ||||
Atk Boss | 9243922 | 1763 days ago | IN | 0 ETH | 0.00028691 | ||||
Atk Boss | 9158549 | 1778 days ago | IN | 0 ETH | 0.0002183 | ||||
Atk Boss | 9064169 | 1796 days ago | IN | 0 ETH | 0.00083837 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
12012044 | 1337 days ago | 0.042349 ETH | ||||
9450456 | 1732 days ago | 0.0054063 ETH | ||||
9435514 | 1734 days ago | 0.00011359 ETH | ||||
9408857 | 1738 days ago | 0.00124197 ETH | ||||
9396145 | 1740 days ago | 0.00130733 ETH | ||||
9396116 | 1740 days ago | 0.00137614 ETH | ||||
9396090 | 1740 days ago | 0.00144857 ETH | ||||
9243903 | 1763 days ago | 0.00018999 ETH | ||||
8955462 | 1815 days ago | 0.00126827 ETH | ||||
8281402 | 1921 days ago | 0.00004449 ETH | ||||
8270203 | 1923 days ago | 0.00030979 ETH | ||||
8266426 | 1924 days ago | 0.0000746 ETH | ||||
8245826 | 1927 days ago | 0.01218007 ETH | ||||
8222721 | 1930 days ago | 0.00067731 ETH | ||||
8222562 | 1930 days ago | 0.00138784 ETH | ||||
8208439 | 1933 days ago | 0.0001374 ETH | ||||
8172895 | 1938 days ago | 0.00001837 ETH | ||||
8156801 | 1941 days ago | 0.00255339 ETH | ||||
8096143 | 1950 days ago | 0.00000011 ETH | ||||
8090929 | 1951 days ago | 0.00256836 ETH | ||||
8080682 | 1953 days ago | 0.00284583 ETH | ||||
8080675 | 1953 days ago | 0.00299562 ETH | ||||
8080551 | 1953 days ago | 0 ETH | ||||
8080354 | 1953 days ago | 0.00018257 ETH | ||||
8078603 | 1953 days ago | 0.00315328 ETH |
Loading...
Loading
Contract Self Destruct called at Txn Hash 0x95d7cec304cfc1ad4f902df6a0a866dad4a09ea8942bb9d12b7cd45d6adcebfd
Contract Name:
CryptoBossWannaCry
Compiler Version
v0.4.25+commit.59dbf8f1
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2019-01-15 */ pragma solidity ^0.4.24; /* * CryptoMiningWar - Blockchain-based strategy game * Author: InspiGames * Website: https://cryptominingwar.github.io/ */ 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; } function min(uint256 a, uint256 b) internal pure returns (uint256) { return a < b ? a : b; } } contract PullPayment { using SafeMath for uint256; mapping(address => uint256) public payments; uint256 public totalPayments; /** * @dev Withdraw accumulated balance, called by payee. */ function withdrawPayments() public { address payee = msg.sender; uint256 payment = payments[payee]; require(payment != 0); require(address(this).balance >= payment); totalPayments = totalPayments.sub(payment); payments[payee] = 0; payee.transfer(payment); } /** * @dev Called by the payer to store the sent amount as credit to be pulled. * @param dest The destination address of the funds. * @param amount The amount to transfer. */ function asyncSend(address dest, uint256 amount) internal { payments[dest] = payments[dest].add(amount); totalPayments = totalPayments.add(amount); } } contract CryptoEngineerInterface { uint256 public prizePool = 0; function subVirus(address /*_addr*/, uint256 /*_value*/) public pure {} function claimPrizePool(address /*_addr*/, uint256 /*_value*/) public pure {} function fallback() public payable {} function isEngineerContract() external pure returns(bool) {} } interface CryptoMiningWarInterface { function addCrystal( address /*_addr*/, uint256 /*_value*/ ) external pure; function subCrystal( address /*_addr*/, uint256 /*_value*/ ) external pure; function isMiningWarContract() external pure returns(bool); } interface MiniGameInterface { function isContractMiniGame() external pure returns( bool _isContractMiniGame ); } contract CryptoBossWannaCry is PullPayment{ bool init = false; address public administrator; uint256 public bossRoundNumber; uint256 public BOSS_HP_DEFAULT = 10000000; uint256 public HALF_TIME_ATK_BOSS = 0; // engineer game infomation uint256 constant public VIRUS_MINING_PERIOD = 86400; uint256 public BOSS_DEF_DEFFAULT = 0; CryptoEngineerInterface public Engineer; CryptoMiningWarInterface public MiningWar; // player information mapping(address => PlayerData) public players; // boss information mapping(uint256 => BossData) public bossData; mapping(address => bool) public miniGames; struct PlayerData { uint256 currentBossRoundNumber; uint256 lastBossRoundNumber; uint256 win; uint256 share; uint256 dame; uint256 nextTimeAtk; } struct BossData { uint256 bossRoundNumber; uint256 bossHp; uint256 def; uint256 prizePool; address playerLastAtk; uint256 totalDame; bool ended; } event eventAttackBoss( uint256 bossRoundNumber, address playerAtk, uint256 virusAtk, uint256 dame, uint256 totalDame, uint256 timeAtk, bool isLastHit, uint256 crystalsReward ); event eventEndAtkBoss( uint256 bossRoundNumber, address playerWin, uint256 ethBonus, uint256 bossHp, uint256 prizePool ); modifier disableContract() { require(tx.origin == msg.sender); _; } modifier isAdministrator() { require(msg.sender == administrator); _; } constructor() public { administrator = msg.sender; // set interface contract setMiningWarInterface(0x1b002cd1ba79dfad65e8abfbb3a97826e4960fe5); setEngineerInterface(0xd7afbf5141a7f1d6b0473175f7a6b0a7954ed3d2); } function () public payable { } function isContractMiniGame() public pure returns( bool _isContractMiniGame ) { _isContractMiniGame = true; } function isBossWannaCryContract() public pure returns(bool) { return true; } /** * @dev Main Contract call this function to setup mini game. */ function setupMiniGame( uint256 /*_miningWarRoundNumber*/, uint256 /*_miningWarDeadline*/ ) public { } //@dev use this function in case of bug function upgrade(address addr) public isAdministrator { selfdestruct(addr); } // --------------------------------------------------------------------------------------- // SET INTERFACE CONTRACT // --------------------------------------------------------------------------------------- function setMiningWarInterface(address _addr) public isAdministrator { CryptoMiningWarInterface miningWarInterface = CryptoMiningWarInterface(_addr); require(miningWarInterface.isMiningWarContract() == true); MiningWar = miningWarInterface; } function setEngineerInterface(address _addr) public isAdministrator { CryptoEngineerInterface engineerInterface = CryptoEngineerInterface(_addr); require(engineerInterface.isEngineerContract() == true); Engineer = engineerInterface; } function setContractsMiniGame( address _addr ) public isAdministrator { MiniGameInterface MiniGame = MiniGameInterface( _addr ); if( MiniGame.isContractMiniGame() == false ) { revert(); } miniGames[_addr] = true; } function setBossRoundNumber(uint256 _value) public isAdministrator { bossRoundNumber = _value; } /** * @dev remove mini game contract from main contract * @param _addr mini game contract address */ function removeContractMiniGame(address _addr) public isAdministrator { miniGames[_addr] = false; } function startGame() public isAdministrator { require(init == false); init = true; bossData[bossRoundNumber].ended = true; startNewBoss(); } /** * @dev set defence for boss * @param _value number defence */ function setDefenceBoss(uint256 _value) public isAdministrator { BOSS_DEF_DEFFAULT = _value; } /** * @dev set HP for boss * @param _value number HP default */ function setBossHPDefault(uint256 _value) public isAdministrator { BOSS_HP_DEFAULT = _value; } function setHalfTimeAtkBoss(uint256 _value) public isAdministrator { HALF_TIME_ATK_BOSS = _value; } function startNewBoss() private { require(bossData[bossRoundNumber].ended == true); bossRoundNumber = bossRoundNumber + 1; uint256 bossHp = BOSS_HP_DEFAULT * bossRoundNumber; // claim 5% of current prizePool as rewards. uint256 engineerPrizePool = Engineer.prizePool(); uint256 prizePool = SafeMath.div(SafeMath.mul(engineerPrizePool, 5),100); Engineer.claimPrizePool(address(this), prizePool); bossData[bossRoundNumber] = BossData(bossRoundNumber, bossHp, BOSS_DEF_DEFFAULT, prizePool, 0x0, 0, false); } function endAtkBoss() private { require(bossData[bossRoundNumber].ended == false); require(bossData[bossRoundNumber].totalDame >= bossData[bossRoundNumber].bossHp); BossData storage b = bossData[bossRoundNumber]; b.ended = true; // update eth bonus for player last hit uint256 ethBonus = SafeMath.div( SafeMath.mul(b.prizePool, 5), 100 ); if (b.playerLastAtk != 0x0) { PlayerData storage p = players[b.playerLastAtk]; p.win = p.win + ethBonus; uint256 share = SafeMath.div(SafeMath.mul(SafeMath.mul(b.prizePool, 95), p.dame), SafeMath.mul(b.totalDame, 100)); ethBonus += share; } emit eventEndAtkBoss(bossRoundNumber, b.playerLastAtk, ethBonus, b.bossHp, b.prizePool); startNewBoss(); } /** * @dev player atk the boss * @param _value number virus for this attack boss */ function atkBoss(uint256 _value) public disableContract { require(bossData[bossRoundNumber].ended == false); require(bossData[bossRoundNumber].totalDame < bossData[bossRoundNumber].bossHp); require(players[msg.sender].nextTimeAtk <= now); Engineer.subVirus(msg.sender, _value); uint256 rate = 50 + randomNumber(msg.sender, now, 60); // 50 - 110% uint256 atk = SafeMath.div(SafeMath.mul(_value, rate), 100); updateShareETH(msg.sender); // update dame BossData storage b = bossData[bossRoundNumber]; uint256 currentTotalDame = b.totalDame; uint256 dame = 0; if (atk > b.def) { dame = SafeMath.sub(atk, b.def); } b.totalDame = SafeMath.min(SafeMath.add(currentTotalDame, dame), b.bossHp); b.playerLastAtk = msg.sender; dame = SafeMath.sub(b.totalDame, currentTotalDame); // bonus crystals uint256 crystalsBonus = SafeMath.div(SafeMath.mul(dame, 5), 100); MiningWar.addCrystal(msg.sender, crystalsBonus); // update player PlayerData storage p = players[msg.sender]; p.nextTimeAtk = now + HALF_TIME_ATK_BOSS; if (p.currentBossRoundNumber == bossRoundNumber) { p.dame = SafeMath.add(p.dame, dame); } else { p.currentBossRoundNumber = bossRoundNumber; p.dame = dame; } bool isLastHit; if (b.totalDame >= b.bossHp) { isLastHit = true; endAtkBoss(); } // emit event attack boss emit eventAttackBoss(b.bossRoundNumber, msg.sender, _value, dame, p.dame, now, isLastHit, crystalsBonus); } function updateShareETH(address _addr) private { PlayerData storage p = players[_addr]; if ( bossData[p.currentBossRoundNumber].ended == true && p.lastBossRoundNumber < p.currentBossRoundNumber ) { p.share = SafeMath.add(p.share, calculateShareETH(_addr, p.currentBossRoundNumber)); p.lastBossRoundNumber = p.currentBossRoundNumber; } } /** * @dev calculate share Eth of player */ function calculateShareETH(address _addr, uint256 _bossRoundNumber) public view returns(uint256 _share) { PlayerData memory p = players[_addr]; BossData memory b = bossData[_bossRoundNumber]; if ( p.lastBossRoundNumber >= p.currentBossRoundNumber && p.currentBossRoundNumber != 0 ) { _share = 0; } else { if (b.totalDame == 0) return 0; _share = SafeMath.div(SafeMath.mul(SafeMath.mul(b.prizePool, 95), p.dame), SafeMath.mul(b.totalDame, 100)); // prizePool * 95% * playerDame / totalDame } if (b.ended == false) _share = 0; } function getCurrentReward(address _addr) public view returns(uint256 _currentReward) { PlayerData memory p = players[_addr]; _currentReward = SafeMath.add(p.win, p.share); _currentReward += calculateShareETH(_addr, p.currentBossRoundNumber); } function withdrawReward(address _addr) public { updateShareETH(_addr); PlayerData storage p = players[_addr]; uint256 reward = SafeMath.add(p.share, p.win); if (address(this).balance >= reward && reward > 0) { _addr.transfer(reward); // update player p.win = 0; p.share = 0; } } //-------------------------------------------------------------------------- // INTERNAL FUNCTION //-------------------------------------------------------------------------- function devFee(uint256 _amount) private pure returns(uint256) { return SafeMath.div(SafeMath.mul(_amount, 5), 100); } function randomNumber(address _addr, uint256 randNonce, uint256 _maxNumber) private returns(uint256) { return uint256(keccak256(abi.encodePacked(now, _addr, randNonce))) % _maxNumber; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"totalPayments","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"addr","type":"address"}],"name":"upgrade","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"setHalfTimeAtkBoss","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"BOSS_DEF_DEFFAULT","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"bossData","outputs":[{"name":"bossRoundNumber","type":"uint256"},{"name":"bossHp","type":"uint256"},{"name":"def","type":"uint256"},{"name":"prizePool","type":"uint256"},{"name":"playerLastAtk","type":"address"},{"name":"totalDame","type":"uint256"},{"name":"ended","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isContractMiniGame","outputs":[{"name":"_isContractMiniGame","type":"bool"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"HALF_TIME_ATK_BOSS","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"setDefenceBoss","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_addr","type":"address"}],"name":"getCurrentReward","outputs":[{"name":"_currentReward","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"BOSS_HP_DEFAULT","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"withdrawPayments","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"atkBoss","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_addr","type":"address"},{"name":"_bossRoundNumber","type":"uint256"}],"name":"calculateShareETH","outputs":[{"name":"_share","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"}],"name":"setContractsMiniGame","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"setBossRoundNumber","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"}],"name":"setMiningWarInterface","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"}],"name":"removeContractMiniGame","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"miniGames","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"Engineer","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"}],"name":"withdrawReward","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"name":"setupMiniGame","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"MiningWar","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"setBossHPDefault","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"isBossWannaCryContract","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"bossRoundNumber","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"startGame","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"VIRUS_MINING_PERIOD","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"payments","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"players","outputs":[{"name":"currentBossRoundNumber","type":"uint256"},{"name":"lastBossRoundNumber","type":"uint256"},{"name":"win","type":"uint256"},{"name":"share","type":"uint256"},{"name":"dame","type":"uint256"},{"name":"nextTimeAtk","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"administrator","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"}],"name":"setEngineerInterface","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"bossRoundNumber","type":"uint256"},{"indexed":false,"name":"playerAtk","type":"address"},{"indexed":false,"name":"virusAtk","type":"uint256"},{"indexed":false,"name":"dame","type":"uint256"},{"indexed":false,"name":"totalDame","type":"uint256"},{"indexed":false,"name":"timeAtk","type":"uint256"},{"indexed":false,"name":"isLastHit","type":"bool"},{"indexed":false,"name":"crystalsReward","type":"uint256"}],"name":"eventAttackBoss","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"bossRoundNumber","type":"uint256"},{"indexed":false,"name":"playerWin","type":"address"},{"indexed":false,"name":"ethBonus","type":"uint256"},{"indexed":false,"name":"bossHp","type":"uint256"},{"indexed":false,"name":"prizePool","type":"uint256"}],"name":"eventEndAtkBoss","type":"event"}]
Contract Creation Code
60806040526000600260006101000a81548160ff02191690831515021790555062989680600455600060055560006006553480156200003d57600080fd5b5033600260016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620000ad731b002cd1ba79dfad65e8abfbb3a97826e4960fe5620000e1640100000000026401000000009004565b620000db73d7afbf5141a7f1d6b0473175f7a6b0a7954ed3d26200023d640100000000026401000000009004565b62000399565b6000600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156200014057600080fd5b819050600115158173ffffffffffffffffffffffffffffffffffffffff1663688b5c2b6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015620001ac57600080fd5b505af1158015620001c1573d6000803e3d6000fd5b505050506040513d6020811015620001d857600080fd5b81019080805190602001909291905050501515141515620001f857600080fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b6000600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156200029c57600080fd5b819050600115158173ffffffffffffffffffffffffffffffffffffffff1663b9a59b836040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156200030857600080fd5b505af11580156200031d573d6000803e3d6000fd5b505050506040513d60208110156200033457600080fd5b810190808051906020019092919050505015151415156200035457600080fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b61250480620003a96000396000f30060806040526004361061018a576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680625b44871461018c5780630900f010146101b75780630b3fe32d146101fa578063150228f414610227578063306142c3146102525780633281d576146102ed5780633b5a2a3b1461031c5780633b8678de146103475780634d307e3f1461037457806351ab01b5146103cb5780636103d70b146103f6578063614781f91461040d57806379eb16d41461043a57806384ffcb5d1461049b57806386dd5e03146104de5780638a56b2301461050b5780639ff12bba1461054e578063b239dac614610591578063b4bd7d41146105ec578063b86e321c14610643578063be7ccd7e14610686578063c3f656f1146106bd578063c533799214610714578063c702732914610741578063ccdc309714610770578063d65ab5f21461079b578063e12936d0146107b2578063e2982c21146107dd578063e2eb41ff14610834578063f53d0a8e146108ae578063ffa651b614610905575b005b34801561019857600080fd5b506101a1610948565b6040518082815260200191505060405180910390f35b3480156101c357600080fd5b506101f8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061094e565b005b34801561020657600080fd5b50610225600480360381019080803590602001909291905050506109c3565b005b34801561023357600080fd5b5061023c610a29565b6040518082815260200191505060405180910390f35b34801561025e57600080fd5b5061027d60048036038101908080359060200190929190505050610a2f565b604051808881526020018781526020018681526020018581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018215151515815260200197505050505050505060405180910390f35b3480156102f957600080fd5b50610302610a9e565b604051808215151515815260200191505060405180910390f35b34801561032857600080fd5b50610331610aa7565b6040518082815260200191505060405180910390f35b34801561035357600080fd5b5061037260048036038101908080359060200190929190505050610aad565b005b34801561038057600080fd5b506103b5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b13565b6040518082815260200191505060405180910390f35b3480156103d757600080fd5b506103e0610bd2565b6040518082815260200191505060405180910390f35b34801561040257600080fd5b5061040b610bd8565b005b34801561041957600080fd5b5061043860048036038101908080359060200190929190505050610cff565b005b34801561044657600080fd5b50610485600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061121a565b6040518082815260200191505060405180910390f35b3480156104a757600080fd5b506104dc600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061140f565b005b3480156104ea57600080fd5b506105096004803603810190808035906020019092919050505061157c565b005b34801561051757600080fd5b5061054c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506115e2565b005b34801561055a57600080fd5b5061058f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611739565b005b34801561059d57600080fd5b506105d2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506117f0565b604051808215151515815260200191505060405180910390f35b3480156105f857600080fd5b50610601611810565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561064f57600080fd5b50610684600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611836565b005b34801561069257600080fd5b506106bb6004803603810190808035906020019092919080359060200190929190505050611924565b005b3480156106c957600080fd5b506106d2611928565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561072057600080fd5b5061073f6004803603810190808035906020019092919050505061194e565b005b34801561074d57600080fd5b506107566119b4565b604051808215151515815260200191505060405180910390f35b34801561077c57600080fd5b506107856119bd565b6040518082815260200191505060405180910390f35b3480156107a757600080fd5b506107b06119c3565b005b3480156107be57600080fd5b506107c7611a97565b6040518082815260200191505060405180910390f35b3480156107e957600080fd5b5061081e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a9e565b6040518082815260200191505060405180910390f35b34801561084057600080fd5b50610875600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ab6565b60405180878152602001868152602001858152602001848152602001838152602001828152602001965050505050505060405180910390f35b3480156108ba57600080fd5b506108c3611af2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561091157600080fd5b50610946600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b18565b005b60015481565b600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156109aa57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16ff5b600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610a1f57600080fd5b8060058190555050565b60065481565b600a6020528060005260406000206000915090508060000154908060010154908060020154908060030154908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050154908060060160009054906101000a900460ff16905087565b60006001905090565b60055481565b600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b0957600080fd5b8060068190555050565b6000610b1d61244b565b600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060c0604051908101604052908160008201548152602001600182015481526020016002820154815260200160038201548152602001600482015481526020016005820154815250509050610bb881604001518260600151611c6f565b9150610bc883826000015161121a565b8201915050919050565b60045481565b6000803391506000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060008114151515610c2f57600080fd5b803073ffffffffffffffffffffffffffffffffffffffff163110151515610c5557600080fd5b610c6a81600154611c8d90919063ffffffff16565b60018190555060008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610cfa573d6000803e3d6000fd5b505050565b6000806000806000806000803373ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff16141515610d4557600080fd5b60001515600a6000600354815260200190815260200160002060060160009054906101000a900460ff161515141515610d7d57600080fd5b600a6000600354815260200190815260200160002060010154600a6000600354815260200190815260200160002060050154101515610dbb57600080fd5b42600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206005015411151515610e0c57600080fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663920775d4338b6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015610ed157600080fd5b505af1158015610ee5573d6000803e3d6000fd5b50505050610ef53342603c611ca6565b6032019750610f0e610f078a8a611d8d565b6064611dc8565b9650610f1933611de3565b600a60006003548152602001908152602001600020955085600501549450600093508560020154871115610f5857610f55878760020154611c8d565b93505b610f6f610f658686611c6f565b8760010154611ea2565b8660050181905550338660040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610fc8866005015486611c8d565b9350610fdf610fd8856005611d8d565b6064611dc8565b9250600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f6e212ea33856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b1580156110a657600080fd5b505af11580156110ba573d6000803e3d6000fd5b50505050600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209150600554420182600501819055506003548260000154141561113557611128826004015485611c6f565b826004018190555061114a565b60035482600001819055508382600401819055505b856001015486600501541015156111685760019050611167611ebb565b5b7f578ea18e7d557abb72727be622c8bc8224fc05d071e7df3d8dab335f9550975b8660000154338b87866004015442878a604051808981526020018873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001878152602001868152602001858152602001848152602001831515151581526020018281526020019850505050505050505060405180910390a1505050505050505050565b600061122461244b565b61122c612482565b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060c0604051908101604052908160008201548152602001600182015481526020016002820154815260200160038201548152602001600482015481526020016005820154815250509150600a600085815260200190815260200160002060e06040519081016040529081600082015481526020016001820154815260200160028201548152602001600382015481526020016004820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600582015481526020016006820160009054906101000a900460ff1615151515815250509050816000015182602001511015801561139657506000826000015114155b156113a457600092506113f0565b60008160a0015114156113ba5760009250611407565b6113ed6113d96113cf8360600151605f611d8d565b8460800151611d8d565b6113e88360a001516064611d8d565b611dc8565b92505b600015158160c001511515141561140657600092505b5b505092915050565b6000600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561146d57600080fd5b819050600015158173ffffffffffffffffffffffffffffffffffffffff16633281d5766040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156114d857600080fd5b505af11580156114ec573d6000803e3d6000fd5b505050506040513d602081101561150257600080fd5b81019080805190602001909291905050501515141561152057600080fd5b6001600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156115d857600080fd5b8060038190555050565b6000600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561164057600080fd5b819050600115158173ffffffffffffffffffffffffffffffffffffffff1663688b5c2b6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156116ab57600080fd5b505af11580156116bf573d6000803e3d6000fd5b505050506040513d60208110156116d557600080fd5b810190808051906020019092919050505015151415156116f457600080fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561179557600080fd5b6000600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600b6020528060005260406000206000915054906101000a900460ff1681565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008061184283611de3565b600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020915061189582600301548360020154611c6f565b9050803073ffffffffffffffffffffffffffffffffffffffff1631101580156118be5750600081115b1561191f578273ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611909573d6000803e3d6000fd5b5060008260020181905550600082600301819055505b505050565b5050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156119aa57600080fd5b8060048190555050565b60006001905090565b60035481565b600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611a1f57600080fd5b60001515600260009054906101000a900460ff161515141515611a4157600080fd5b6001600260006101000a81548160ff0219169083151502179055506001600a6000600354815260200190815260200160002060060160006101000a81548160ff021916908315150217905550611a95612139565b565b6201518081565b60006020528060005260406000206000915090505481565b60096020528060005260406000206000915090508060000154908060010154908060020154908060030154908060040154908060050154905086565b600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611b7657600080fd5b819050600115158173ffffffffffffffffffffffffffffffffffffffff1663b9a59b836040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015611be157600080fd5b505af1158015611bf5573d6000803e3d6000fd5b505050506040513d6020811015611c0b57600080fd5b81019080805190602001909291905050501515141515611c2a57600080fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b6000808284019050838110151515611c8357fe5b8091505092915050565b6000828211151515611c9b57fe5b818303905092915050565b600081428585604051602001808481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140182815260200193505050506040516020818303038152906040526040518082805190602001908083835b602083101515611d495780518252602082019150602081019050602083039250611d24565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060019004811515611d8357fe5b0690509392505050565b6000806000841415611da25760009150611dc1565b8284029050828482811515611db357fe5b04141515611dbd57fe5b8091505b5092915050565b6000808284811515611dd657fe5b0490508091505092915050565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060011515600a60008360000154815260200190815260200160002060060160009054906101000a900460ff161515148015611e68575080600001548160010154105b15611e9e57611e888160030154611e8384846000015461121a565b611c6f565b8160030181905550806000015481600101819055505b5050565b6000818310611eb15781611eb3565b825b905092915050565b60008060008060001515600a6000600354815260200190815260200160002060060160009054906101000a900460ff161515141515611ef957600080fd5b600a6000600354815260200190815260200160002060010154600a600060035481526020019081526020016000206005015410151515611f3857600080fd5b600a60006003548152602001908152602001600020935060018460060160006101000a81548160ff021916908315150217905550611f85611f7e85600301546005611d8d565b6064611dc8565b925060008460040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561207a57600960008560040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020915082826002015401826002018190555061207261205e6120548660030154605f611d8d565b8460040154611d8d565b61206d86600501546064611d8d565b611dc8565b905080830192505b7fe59d8825db491fdabdc07d1171098852d7d4c83dd600bb8d877cd86ede263f4c6003548560040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168587600101548860030154604051808681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018381526020018281526020019550505050505060405180910390a1612133612139565b50505050565b600080600060011515600a6000600354815260200190815260200160002060060160009054906101000a900460ff16151514151561217657600080fd5b600160035401600381905550600354600454029250600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663719ce73e6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561221157600080fd5b505af1158015612225573d6000803e3d6000fd5b505050506040513d602081101561223b57600080fd5b8101908080519060200190929190505050915061226361225c836005611d8d565b6064611dc8565b9050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637baf71f930836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b15801561232a57600080fd5b505af115801561233e573d6000803e3d6000fd5b5050505060e06040519081016040528060035481526020018481526020016006548152602001828152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160001515815250600a600060035481526020019081526020016000206000820151816000015560208201518160010155604082015181600201556060820151816003015560808201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060a0820151816005015560c08201518160060160006101000a81548160ff021916908315150217905550905050505050565b60c0604051908101604052806000815260200160008152602001600081526020016000815260200160008152602001600081525090565b60e06040519081016040528060008152602001600081526020016000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160001515815250905600a165627a7a72305820ed454bd6edaae965ccb06584c927daf9d843e53e08c3bcfd73148b68dd887d3d0029
Deployed Bytecode
0x60806040526004361061018a576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680625b44871461018c5780630900f010146101b75780630b3fe32d146101fa578063150228f414610227578063306142c3146102525780633281d576146102ed5780633b5a2a3b1461031c5780633b8678de146103475780634d307e3f1461037457806351ab01b5146103cb5780636103d70b146103f6578063614781f91461040d57806379eb16d41461043a57806384ffcb5d1461049b57806386dd5e03146104de5780638a56b2301461050b5780639ff12bba1461054e578063b239dac614610591578063b4bd7d41146105ec578063b86e321c14610643578063be7ccd7e14610686578063c3f656f1146106bd578063c533799214610714578063c702732914610741578063ccdc309714610770578063d65ab5f21461079b578063e12936d0146107b2578063e2982c21146107dd578063e2eb41ff14610834578063f53d0a8e146108ae578063ffa651b614610905575b005b34801561019857600080fd5b506101a1610948565b6040518082815260200191505060405180910390f35b3480156101c357600080fd5b506101f8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061094e565b005b34801561020657600080fd5b50610225600480360381019080803590602001909291905050506109c3565b005b34801561023357600080fd5b5061023c610a29565b6040518082815260200191505060405180910390f35b34801561025e57600080fd5b5061027d60048036038101908080359060200190929190505050610a2f565b604051808881526020018781526020018681526020018581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018215151515815260200197505050505050505060405180910390f35b3480156102f957600080fd5b50610302610a9e565b604051808215151515815260200191505060405180910390f35b34801561032857600080fd5b50610331610aa7565b6040518082815260200191505060405180910390f35b34801561035357600080fd5b5061037260048036038101908080359060200190929190505050610aad565b005b34801561038057600080fd5b506103b5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b13565b6040518082815260200191505060405180910390f35b3480156103d757600080fd5b506103e0610bd2565b6040518082815260200191505060405180910390f35b34801561040257600080fd5b5061040b610bd8565b005b34801561041957600080fd5b5061043860048036038101908080359060200190929190505050610cff565b005b34801561044657600080fd5b50610485600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061121a565b6040518082815260200191505060405180910390f35b3480156104a757600080fd5b506104dc600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061140f565b005b3480156104ea57600080fd5b506105096004803603810190808035906020019092919050505061157c565b005b34801561051757600080fd5b5061054c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506115e2565b005b34801561055a57600080fd5b5061058f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611739565b005b34801561059d57600080fd5b506105d2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506117f0565b604051808215151515815260200191505060405180910390f35b3480156105f857600080fd5b50610601611810565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561064f57600080fd5b50610684600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611836565b005b34801561069257600080fd5b506106bb6004803603810190808035906020019092919080359060200190929190505050611924565b005b3480156106c957600080fd5b506106d2611928565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561072057600080fd5b5061073f6004803603810190808035906020019092919050505061194e565b005b34801561074d57600080fd5b506107566119b4565b604051808215151515815260200191505060405180910390f35b34801561077c57600080fd5b506107856119bd565b6040518082815260200191505060405180910390f35b3480156107a757600080fd5b506107b06119c3565b005b3480156107be57600080fd5b506107c7611a97565b6040518082815260200191505060405180910390f35b3480156107e957600080fd5b5061081e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a9e565b6040518082815260200191505060405180910390f35b34801561084057600080fd5b50610875600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ab6565b60405180878152602001868152602001858152602001848152602001838152602001828152602001965050505050505060405180910390f35b3480156108ba57600080fd5b506108c3611af2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561091157600080fd5b50610946600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b18565b005b60015481565b600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156109aa57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16ff5b600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610a1f57600080fd5b8060058190555050565b60065481565b600a6020528060005260406000206000915090508060000154908060010154908060020154908060030154908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050154908060060160009054906101000a900460ff16905087565b60006001905090565b60055481565b600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b0957600080fd5b8060068190555050565b6000610b1d61244b565b600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060c0604051908101604052908160008201548152602001600182015481526020016002820154815260200160038201548152602001600482015481526020016005820154815250509050610bb881604001518260600151611c6f565b9150610bc883826000015161121a565b8201915050919050565b60045481565b6000803391506000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060008114151515610c2f57600080fd5b803073ffffffffffffffffffffffffffffffffffffffff163110151515610c5557600080fd5b610c6a81600154611c8d90919063ffffffff16565b60018190555060008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610cfa573d6000803e3d6000fd5b505050565b6000806000806000806000803373ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff16141515610d4557600080fd5b60001515600a6000600354815260200190815260200160002060060160009054906101000a900460ff161515141515610d7d57600080fd5b600a6000600354815260200190815260200160002060010154600a6000600354815260200190815260200160002060050154101515610dbb57600080fd5b42600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206005015411151515610e0c57600080fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663920775d4338b6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015610ed157600080fd5b505af1158015610ee5573d6000803e3d6000fd5b50505050610ef53342603c611ca6565b6032019750610f0e610f078a8a611d8d565b6064611dc8565b9650610f1933611de3565b600a60006003548152602001908152602001600020955085600501549450600093508560020154871115610f5857610f55878760020154611c8d565b93505b610f6f610f658686611c6f565b8760010154611ea2565b8660050181905550338660040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610fc8866005015486611c8d565b9350610fdf610fd8856005611d8d565b6064611dc8565b9250600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f6e212ea33856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b1580156110a657600080fd5b505af11580156110ba573d6000803e3d6000fd5b50505050600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209150600554420182600501819055506003548260000154141561113557611128826004015485611c6f565b826004018190555061114a565b60035482600001819055508382600401819055505b856001015486600501541015156111685760019050611167611ebb565b5b7f578ea18e7d557abb72727be622c8bc8224fc05d071e7df3d8dab335f9550975b8660000154338b87866004015442878a604051808981526020018873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001878152602001868152602001858152602001848152602001831515151581526020018281526020019850505050505050505060405180910390a1505050505050505050565b600061122461244b565b61122c612482565b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060c0604051908101604052908160008201548152602001600182015481526020016002820154815260200160038201548152602001600482015481526020016005820154815250509150600a600085815260200190815260200160002060e06040519081016040529081600082015481526020016001820154815260200160028201548152602001600382015481526020016004820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600582015481526020016006820160009054906101000a900460ff1615151515815250509050816000015182602001511015801561139657506000826000015114155b156113a457600092506113f0565b60008160a0015114156113ba5760009250611407565b6113ed6113d96113cf8360600151605f611d8d565b8460800151611d8d565b6113e88360a001516064611d8d565b611dc8565b92505b600015158160c001511515141561140657600092505b5b505092915050565b6000600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561146d57600080fd5b819050600015158173ffffffffffffffffffffffffffffffffffffffff16633281d5766040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156114d857600080fd5b505af11580156114ec573d6000803e3d6000fd5b505050506040513d602081101561150257600080fd5b81019080805190602001909291905050501515141561152057600080fd5b6001600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156115d857600080fd5b8060038190555050565b6000600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561164057600080fd5b819050600115158173ffffffffffffffffffffffffffffffffffffffff1663688b5c2b6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156116ab57600080fd5b505af11580156116bf573d6000803e3d6000fd5b505050506040513d60208110156116d557600080fd5b810190808051906020019092919050505015151415156116f457600080fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561179557600080fd5b6000600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600b6020528060005260406000206000915054906101000a900460ff1681565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008061184283611de3565b600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020915061189582600301548360020154611c6f565b9050803073ffffffffffffffffffffffffffffffffffffffff1631101580156118be5750600081115b1561191f578273ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611909573d6000803e3d6000fd5b5060008260020181905550600082600301819055505b505050565b5050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156119aa57600080fd5b8060048190555050565b60006001905090565b60035481565b600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611a1f57600080fd5b60001515600260009054906101000a900460ff161515141515611a4157600080fd5b6001600260006101000a81548160ff0219169083151502179055506001600a6000600354815260200190815260200160002060060160006101000a81548160ff021916908315150217905550611a95612139565b565b6201518081565b60006020528060005260406000206000915090505481565b60096020528060005260406000206000915090508060000154908060010154908060020154908060030154908060040154908060050154905086565b600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611b7657600080fd5b819050600115158173ffffffffffffffffffffffffffffffffffffffff1663b9a59b836040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015611be157600080fd5b505af1158015611bf5573d6000803e3d6000fd5b505050506040513d6020811015611c0b57600080fd5b81019080805190602001909291905050501515141515611c2a57600080fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b6000808284019050838110151515611c8357fe5b8091505092915050565b6000828211151515611c9b57fe5b818303905092915050565b600081428585604051602001808481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140182815260200193505050506040516020818303038152906040526040518082805190602001908083835b602083101515611d495780518252602082019150602081019050602083039250611d24565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060019004811515611d8357fe5b0690509392505050565b6000806000841415611da25760009150611dc1565b8284029050828482811515611db357fe5b04141515611dbd57fe5b8091505b5092915050565b6000808284811515611dd657fe5b0490508091505092915050565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060011515600a60008360000154815260200190815260200160002060060160009054906101000a900460ff161515148015611e68575080600001548160010154105b15611e9e57611e888160030154611e8384846000015461121a565b611c6f565b8160030181905550806000015481600101819055505b5050565b6000818310611eb15781611eb3565b825b905092915050565b60008060008060001515600a6000600354815260200190815260200160002060060160009054906101000a900460ff161515141515611ef957600080fd5b600a6000600354815260200190815260200160002060010154600a600060035481526020019081526020016000206005015410151515611f3857600080fd5b600a60006003548152602001908152602001600020935060018460060160006101000a81548160ff021916908315150217905550611f85611f7e85600301546005611d8d565b6064611dc8565b925060008460040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561207a57600960008560040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020915082826002015401826002018190555061207261205e6120548660030154605f611d8d565b8460040154611d8d565b61206d86600501546064611d8d565b611dc8565b905080830192505b7fe59d8825db491fdabdc07d1171098852d7d4c83dd600bb8d877cd86ede263f4c6003548560040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168587600101548860030154604051808681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018381526020018281526020019550505050505060405180910390a1612133612139565b50505050565b600080600060011515600a6000600354815260200190815260200160002060060160009054906101000a900460ff16151514151561217657600080fd5b600160035401600381905550600354600454029250600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663719ce73e6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561221157600080fd5b505af1158015612225573d6000803e3d6000fd5b505050506040513d602081101561223b57600080fd5b8101908080519060200190929190505050915061226361225c836005611d8d565b6064611dc8565b9050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637baf71f930836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b15801561232a57600080fd5b505af115801561233e573d6000803e3d6000fd5b5050505060e06040519081016040528060035481526020018481526020016006548152602001828152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160001515815250600a600060035481526020019081526020016000206000820151816000015560208201518160010155604082015181600201556060820151816003015560808201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060a0820151816005015560c08201518160060160006101000a81548160ff021916908315150217905550905050505050565b60c0604051908101604052806000815260200160008152602001600081526020016000815260200160008152602001600081525090565b60e06040519081016040528060008152602001600081526020016000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160001515815250905600a165627a7a72305820ed454bd6edaae965ccb06584c927daf9d843e53e08c3bcfd73148b68dd887d3d0029
Swarm Source
bzzr://ed454bd6edaae965ccb06584c927daf9d843e53e08c3bcfd73148b68dd887d3d
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.