More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 25,973 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Launch Ship On M... | 7151943 | 2158 days ago | IN | 0 ETH | 0.00001391 | ||||
Launch Ship On M... | 7028792 | 2181 days ago | IN | 0 ETH | 0.00001391 | ||||
Launch Ship On M... | 6898480 | 2203 days ago | IN | 0 ETH | 0.00004561 | ||||
Pause | 6844264 | 2212 days ago | IN | 0 ETH | 0.0008694 | ||||
Withdraw Collect... | 6837958 | 2213 days ago | IN | 0 ETH | 0.00557853 | ||||
Withdraw Collect... | 6833074 | 2214 days ago | IN | 0 ETH | 0.00087463 | ||||
Claim Ore Only F... | 6833071 | 2214 days ago | IN | 0 ETH | 0.00033426 | ||||
Claim Ore Only F... | 6833069 | 2214 days ago | IN | 0 ETH | 0.00030231 | ||||
Claim Ore Only F... | 6833060 | 2214 days ago | IN | 0 ETH | 0.00030212 | ||||
Withdraw Collect... | 6827856 | 2215 days ago | IN | 0 ETH | 0.00036924 | ||||
Unpause | 6827848 | 2215 days ago | IN | 0 ETH | 0.0002816 | ||||
Withdraw Collect... | 6827310 | 2215 days ago | IN | 0 ETH | 0.00036924 | ||||
Pause | 6826113 | 2215 days ago | IN | 0 ETH | 0.00087537 | ||||
Withdraw Collect... | 6821122 | 2216 days ago | IN | 0 ETH | 0.00099204 | ||||
Withdraw Collect... | 6820441 | 2216 days ago | IN | 0 ETH | 0.0051793 | ||||
Claim Ore Only F... | 6819783 | 2216 days ago | IN | 0 ETH | 0.00088331 | ||||
Withdraw Collect... | 6819782 | 2216 days ago | IN | 0 ETH | 0.00044307 | ||||
Claim Ore Only F... | 6819777 | 2216 days ago | IN | 0 ETH | 0.00101211 | ||||
Launch Ship On M... | 6819730 | 2216 days ago | IN | 0 ETH | 0.00129069 | ||||
Launch Ship On M... | 6818703 | 2216 days ago | IN | 0 ETH | 0.00079068 | ||||
Launch Ship On M... | 6818703 | 2216 days ago | IN | 0 ETH | 0.00079046 | ||||
Launch Ship On M... | 6816665 | 2217 days ago | IN | 0 ETH | 0.00107558 | ||||
Withdraw Collect... | 6815612 | 2217 days ago | IN | 0 ETH | 0.00072886 | ||||
Launch Ship On M... | 6815609 | 2217 days ago | IN | 0 ETH | 0.00112633 | ||||
Withdraw Collect... | 6814837 | 2217 days ago | IN | 0 ETH | 0.00018462 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
MEAManager
Compiler Version
v0.4.21+commit.dfe3193c
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-05-11 */ pragma solidity ^0.4.19; /// @title Interface for contracts conforming to ERC-721: Non-Fungible Tokens /// @author Dieter Shirley <[email protected]> (https://github.com/dete) contract CSCERC721 { // Required methods function balanceOf(address _owner) public view returns (uint256 balance) { return 0; } function ownerOf(uint256 _tokenId) public view returns (address owner) { return;} function getCollectibleDetails(uint256 _assetId) external view returns(uint256 assetId, uint256 sequenceId, uint256 collectibleType, uint256 collectibleClass, bool isRedeemed, address owner) { assetId = 0; sequenceId = 0; collectibleType = 0; collectibleClass = 0; owner = 0; isRedeemed = false; } function tokensOfOwner(address _owner) external view returns(uint256[] ownerTokens) { return; } } contract CSCFactoryERC721 { function ownerOf(uint256 _tokenId) public view returns (address owner) { return;} function getCollectibleDetails(uint256 _tokenId) external view returns(uint256 assetId, uint256 sequenceId, uint256 collectibleType, uint256 collectibleClass, bytes32 collectibleName, bool isRedeemed, address owner) { assetId = 0; sequenceId = 0; collectibleType = 0; collectibleClass = 0; owner = 0; collectibleName = 0x0; isRedeemed = false; } function tokensOfOwner(address _owner) external view returns(uint256[] ownerTokens) { return; } } contract ERC20 { function balanceOf(address who) public view returns (uint256); function transfer(address to, uint256 value) public returns (bool); } contract CSCResourceFactory { mapping(uint16 => address) public resourceIdToAddress; } contract MEAHiddenLogic { function getTotalTonsClaimed() external view returns(uint32) { return; } function getTotalSupply() external view returns(uint32) { return; } function getStarTotalSupply(uint8 _starId) external view returns(uint32) { return; } function getReturnTime(uint256 _assetId) external view returns(uint256 time) { return; } //uint256 iron, uint256 quartz, uint256 nickel, uint256 cobalt, uint256 silver, uint256 titanium, uint256 lucinite, uint256 gold, uint256 cosmethyst, uint256 allurum, uint256 platinum, uint256 trilite function setResourceForStar(uint8[5] _resourceTypes, uint16[5] _resourcePer, uint32[5] _resourceAmounts) public returns(uint8 starId) { } /// @dev Method to fetch collected ore details function getAssetCollectedOreBallances(uint256 _assetID) external view returns(uint256 iron, uint256 quartz, uint256 nickel, uint256 cobalt, uint256 silver, uint256 titanium, uint256 lucinite, uint256 gold, uint256 cosmethyst, uint256 allurum, uint256 platinum, uint256 trilite); function getAssetCollectedOreBallancesArray(uint256 _assetID) external view returns(uint256[12] ores); function emptyShipCargo(uint32 _assetId) external; /// @dev For creating CSC Collectible function startMEAMission(uint256 _assetId, uint256 oreMax, uint8 starId, uint256 _travelTime) public returns(uint256); } /* Controls state and access rights for contract functions * @title Operational Control * @author Fazri Zubair & Farhan Khwaja (Lucid Sight, Inc.) * Inspired and adapted from contract created by OpenZeppelin * Ref: https://github.com/OpenZeppelin/zeppelin-solidity/ */ contract OperationalControl { // Facilitates access & control for the game. // Roles: // -The Managers (Primary/Secondary): Has universal control of all elements (No ability to withdraw) // -The Banker: The Bank can withdraw funds and adjust fees / prices. // -otherManagers: Contracts that need access to functions for gameplay /// @dev Emited when contract is upgraded event ContractUpgrade(address newContract); /// @dev Emited when other manager is set event OtherManagerUpdated(address otherManager, uint256 state); // The addresses of the accounts (or contracts) that can execute actions within each roles. address public managerPrimary; address public managerSecondary; address public bankManager; // Contracts that require access for gameplay mapping(address => uint8) public otherManagers; // @dev Keeps track whether the contract is paused. When that is true, most actions are blocked bool public paused = false; // @dev Keeps track whether the contract erroredOut. When that is true, most actions are blocked & refund can be claimed bool public error = false; /// @dev Operation modifiers for limiting access modifier onlyManager() { require(msg.sender == managerPrimary || msg.sender == managerSecondary); _; } modifier onlyBanker() { require(msg.sender == bankManager); _; } modifier onlyOtherManagers() { require(otherManagers[msg.sender] == 1); _; } modifier anyOperator() { require( msg.sender == managerPrimary || msg.sender == managerSecondary || msg.sender == bankManager || otherManagers[msg.sender] == 1 ); _; } /// @dev Assigns a new address to act as the Other Manager. (State = 1 is active, 0 is disabled) function setOtherManager(address _newOp, uint8 _state) external onlyManager { require(_newOp != address(0)); otherManagers[_newOp] = _state; OtherManagerUpdated(_newOp,_state); } /// @dev Assigns a new address to act as the Primary Manager. function setPrimaryManager(address _newGM) external onlyManager { require(_newGM != address(0)); managerPrimary = _newGM; } /// @dev Assigns a new address to act as the Secondary Manager. function setSecondaryManager(address _newGM) external onlyManager { require(_newGM != address(0)); managerSecondary = _newGM; } /// @dev Assigns a new address to act as the Banker. function setBanker(address _newBK) external onlyManager { require(_newBK != address(0)); bankManager = _newBK; } /*** Pausable functionality adapted from OpenZeppelin ***/ /// @dev Modifier to allow actions only when the contract IS NOT paused modifier whenNotPaused() { require(!paused); _; } /// @dev Modifier to allow actions only when the contract IS paused modifier whenPaused { require(paused); _; } /// @dev Modifier to allow actions only when the contract has Error modifier whenError { require(error); _; } /// @dev Called by any Operator role to pause the contract. /// Used only if a bug or exploit is discovered (Here to limit losses / damage) function pause() external onlyManager whenNotPaused { paused = true; } /// @dev Unpauses the smart contract. Can only be called by the Game Master /// @notice This is public rather than external so it can be called by derived contracts. function unpause() public onlyManager whenPaused { // can't unpause if contract was upgraded paused = false; } /// @dev Unpauses the smart contract. Can only be called by the Game Master /// @notice This is public rather than external so it can be called by derived contracts. function hasError() public onlyManager whenPaused { error = true; } /// @dev Unpauses the smart contract. Can only be called by the Game Master /// @notice This is public rather than external so it can be called by derived contracts. function noError() public onlyManager whenPaused { error = false; } } contract MEAManager is OperationalControl { /*** EVENTS ***/ /*** CONSTANTS ***/ uint256 public constant REAPER_INTREPID = 3; uint256 public constant REAPER_INTREPID_EXTRACTION_BASE = 10; // tons per hour of mining uint256 public constant REAPER_INTREPID_FTL_SPEED = 900; // Seconds to travel 1 light year uint256 public constant REAPER_INTREPID_MAX_CARGO = 320; uint256 public constant PHOENIX_CORSAIR = 2; uint256 public constant PHOENIX_CORSAIR_EXTRACTION_BASE = 40; // tons per hour of mining uint256 public constant PHOENIX_CORSAIR_FTL_SPEED = 1440; // Seconds to travel 1 light year uint256 public constant PHOENIX_CORSAIR_MAX_CARGO = 1500; uint256 public constant VULCAN_PROMETHEUS = 1; uint256 public constant VULCAN_PROMETHEUS_EXTRACTION_BASE = 300; // tons per hour of mining uint256 public constant VULCAN_PROMETHEUS_FTL_SPEED = 2057; // Seconds to travel 1 light year uint256 public constant VULCAN_PROMETHEUS_MAX_CARGO = 6000; uint256 public constant SIGMA = 4; uint256 public constant SIGMA_EXTRACTION_BASE = 150; // tons per hour of mining uint256 public constant SIGMA_FTL_SPEED = 4235; // Seconds to travel 1 light year uint256 public constant SIGMA_MAX_CARGO = 15000; uint256 public constant HAYATO = 5; uint256 public constant HAYATO_EXTRACTION_BASE = 150; // tons per hour of mining uint256 public constant HAYATO_FTL_SPEED = 360; // Seconds to travel 1 light year uint256 public constant HAYATO_MAX_CARGO = 1500; uint256 public constant CPGPEREGRINE = 6; uint256 public constant CPGPEREGRINE_EXTRACTION_BASE = 150; // tons per hour of mining uint256 public constant CPGPEREGRINE_FTL_SPEED = 720; // Seconds to travel 1 light year uint256 public constant CPGPEREGRINE_MAX_CARGO = 4000; uint256 public constant TACTICALCRUISER = 7; uint256 public constant TACTICALCRUISER_EXTRACTION_BASE = 150; // tons per hour of mining uint256 public constant TACTICALCRUISER_FTL_SPEED = 720; // Seconds to travel 1 light year uint256 public constant TACTICALCRUISER_MAX_CARGO = 1000; uint256 public constant OTHERCRUISER = 8; uint256 public constant OTHERCRUISER_EXTRACTION_BASE = 100; // tons per hour of mining uint256 public constant OTHERCRUISER_FTL_SPEED = 720; // Seconds to travel 1 light year uint256 public constant OTHERCRUISER_MAX_CARGO = 1500; uint256 public constant VULCAN_POD = 9; uint256 public constant VULCAN_POD_EXTRACTION_BASE = 1; // tons per hour of mining uint256 public constant VULCAN_POD_FTL_SPEED = 2000; // Seconds to travel 1 light year uint256 public constant VULCAN_POD_MAX_CARGO = 75; //For Devs to Travel Around uint256 public constant DEVCLASS = 99; uint256 public constant DEVCLASS_EXTRACTION_BASE = 50; // tons per hour of mining uint256 public constant DEVCLASS_FTL_SPEED = 10; // Seconds to travel 1 light year uint256 public constant DEVCLASS_MAX_CARGO = 500; /// @notice Name and symbol of the non fungible token, as defined in ERC721. string public constant NAME = "MEAGameManager"; /*** Mappings ***/ /// @dev assetID to ore type to qty collected mapping(uint32 => mapping(uint8 => uint32)) public collectedOreAssetMapping; /// @dev owner address to ore type to qty collected mapping(address => mapping(uint8 => uint32)) public collectedOreBalanceMapping; /// @dev owner address to ore type to qty collected mapping(address => mapping(uint8 => uint32)) public distributedOreBalanceMapping; /// @dev assetID to number of MEA trips it has completed mapping(uint32 => uint32) public assetIdNumberOfTripsMapping; /// @dev assetID to ore type to qty collected mapping(uint8 => uint16) public starLightyearDistanceMapping; /// @dev assetID to last star visited mapping(uint32 => uint8) public assetIdToStarVisitedMapping; /// @dev assetID to last star visited mapping(uint16 => address) public resourceERC20Address; /// @dev assetID to Start Time of Current Trip mapping(uint32 => uint32) public assetIdCurrentTripStartTimeMapping; /*** Variables ***/ uint256 public miningTimePerTrip = 3600; // 3600 for 1 hour 10 uint256 public aimeIncreasePerTrip = 2500; // 25.00 address cscERC721Address; address cscFactoryERC721Address; address hiddenLogicAddress; function MEAManager() public { require(msg.sender != address(0)); paused = true; managerPrimary = msg.sender; managerSecondary = msg.sender; bankManager = msg.sender; cscERC721Address = address(0xe4f5e0d5c033f517a943602df942e794a06bc123); cscFactoryERC721Address = address(0xcc9a66acf8574141b0e025202dd57649765a4be7); } /*** Management Functions ***/ /// @dev Set HiddenLogic function setHiddenLogic(address _hiddenLogicAddress) public onlyManager { hiddenLogicAddress = _hiddenLogicAddress; } /// @dev Set HiddenLogic function setResourceERC20Address(uint16 _resId, address _reourceAddress) public onlyManager { resourceERC20Address[_resId] = _reourceAddress; } /// @dev Set HiddenLogic function setAllResourceERC20Addresses(address _master) public onlyManager { CSCResourceFactory factory = CSCResourceFactory(_master); for(uint8 i = 0; i < 12; i++) { resourceERC20Address[i] = factory.resourceIdToAddress(i); } } /// @dev Set CSCErc721 Contract function setCSCERC721(address _cscERC721Address) public onlyManager { cscERC721Address = _cscERC721Address; } /// @dev Set CSCFactoryErc721 Contract function setCSCFactoryERC721(address _cscFactoryERC721Address) public onlyManager { cscFactoryERC721Address = _cscFactoryERC721Address; } /// @dev Set / Modify Lightyear Distance 3.456 ly = 3456 function setStarDistance(uint8 _starId, uint16 _lightyearsInThousands) public anyOperator { starLightyearDistanceMapping[_starId] = _lightyearsInThousands; } /// @dev Set / Modify MEA Game Attributes function setMEAAttributes(uint256 _aime, uint256 _miningTime) public onlyManager { aimeIncreasePerTrip = _aime; miningTimePerTrip = _miningTime; } /// @dev Withdraw Remaining Resource Tokens function reclaimResourceDeposits(address _withdrawAddress) public onlyManager { require(_withdrawAddress != address(0)); for(uint8 ii = 0; ii < 12; ii++) { if(resourceERC20Address[ii] != 0) { ERC20 resCont = ERC20(resourceERC20Address[ii]); uint256 bal = resCont.balanceOf(this); resCont.transfer(_withdrawAddress, bal); } } } /*** Public Functions ***/ /// @dev Get Current Cargo Hold of AssetId (item names) function getAssetIdCargo(uint32 _assetId) public view returns(uint256 iron, uint256 quartz, uint256 nickel, uint256 cobalt, uint256 silver, uint256 titanium, uint256 lucinite, uint256 gold, uint256 cosmethyst, uint256 allurum, uint256 platinum, uint256 trilite) { uint256[12] memory _ores = getAssetIdCargoArray(_assetId); iron = _ores[0]; quartz = _ores[1]; nickel = _ores[2]; cobalt = _ores[3]; silver = _ores[4]; titanium = _ores[5]; lucinite = _ores[6]; gold = _ores[7]; cosmethyst = _ores[8]; allurum = _ores[9]; platinum = _ores[10]; trilite = _ores[11]; } // function getAllShipStats(uint32[] _shipIds) public view returns(uint32[] results) { // //loop all results // for(uint i = 0; i < _shipIds.length; i++) { // results[]]; // } // } /// @dev Get Current Cargo Hold of AssetId (array) function getAssetIdCargoArray (uint32 _assetId) public view returns(uint256[12]) { MEAHiddenLogic logic = MEAHiddenLogic(hiddenLogicAddress); return logic.getAssetCollectedOreBallancesArray(_assetId); } /// @dev Get AssetId Trip Completed Time function getAssetIdTripCompletedTime(uint256 _assetId) external view returns(uint256 time) { MEAHiddenLogic logic = MEAHiddenLogic(hiddenLogicAddress); return logic.getReturnTime(uint32(_assetId)); } /// @dev Get AssetId Trip Completed Time function getAssetIdTripStartTime(uint256 _assetId) external view returns(uint256 time) { return assetIdCurrentTripStartTimeMapping[uint32(_assetId)]; } function getLastStarOfAssetId(uint32 _assetId) public view returns(uint8 starId){ return assetIdToStarVisitedMapping[_assetId]; } /// @dev Get Resource Address function getResourceERC20Address(uint16 _resId) public view returns(address resourceContract) { return resourceERC20Address[_resId]; } /// @dev Get Time function getMEATime() external view returns(uint256 time) { return now; } /// @dev Method to fetch processed ore details function getCollectedOreBalances(address _owner) external view returns(uint256 iron, uint256 quartz, uint256 nickel, uint256 cobalt, uint256 silver, uint256 titanium, uint256 lucinite, uint256 gold, uint256 cosmethyst, uint256 allurum, uint256 platinum, uint256 trilite) { iron = collectedOreBalanceMapping[_owner][0]; quartz = collectedOreBalanceMapping[_owner][1]; nickel = collectedOreBalanceMapping[_owner][2]; cobalt = collectedOreBalanceMapping[_owner][3]; silver = collectedOreBalanceMapping[_owner][4]; titanium = collectedOreBalanceMapping[_owner][5]; lucinite = collectedOreBalanceMapping[_owner][6]; gold = collectedOreBalanceMapping[_owner][7]; cosmethyst = collectedOreBalanceMapping[_owner][8]; allurum = collectedOreBalanceMapping[_owner][9]; platinum = collectedOreBalanceMapping[_owner][10]; trilite = collectedOreBalanceMapping[_owner][11]; } /// @dev Method to fetch processed ore details function getDistributedOreBalances(address _owner) external view returns(uint256 iron, uint256 quartz, uint256 nickel, uint256 cobalt, uint256 silver, uint256 titanium, uint256 lucinite, uint256 gold, uint256 cosmethyst, uint256 allurum, uint256 platinum, uint256 trilite) { iron = distributedOreBalanceMapping[_owner][0]; quartz = distributedOreBalanceMapping[_owner][1]; nickel = distributedOreBalanceMapping[_owner][2]; cobalt = distributedOreBalanceMapping[_owner][3]; silver = distributedOreBalanceMapping[_owner][4]; titanium = distributedOreBalanceMapping[_owner][5]; lucinite = distributedOreBalanceMapping[_owner][6]; gold = distributedOreBalanceMapping[_owner][7]; cosmethyst = distributedOreBalanceMapping[_owner][8]; allurum = distributedOreBalanceMapping[_owner][9]; platinum = distributedOreBalanceMapping[_owner][10]; trilite = distributedOreBalanceMapping[_owner][11]; } function withdrawCollectedResources() public { for(uint8 ii = 0; ii < 12; ii++) { require(resourceERC20Address[ii] != address(0)); uint32 oreOutstanding = collectedOreBalanceMapping[msg.sender][ii] - distributedOreBalanceMapping[msg.sender][ii]; if(oreOutstanding > 0) { ERC20 resCont = ERC20(resourceERC20Address[ii]); distributedOreBalanceMapping[msg.sender][ii] += oreOutstanding; resCont.transfer(msg.sender, oreOutstanding); } } } //Gets star distance in thousandths of ly function getStarDistanceInLyThousandths(uint8 _starId) public view returns (uint32 total) { return starLightyearDistanceMapping[_starId]; } //Gets total resources already claimed by commanders function totalMEATonsClaimed() public view returns (uint32 total) { MEAHiddenLogic logic = MEAHiddenLogic(hiddenLogicAddress); return logic.getTotalTonsClaimed(); } //Gets total seeded supply commanders function totalMEATonsSupply() public view returns (uint32 total) { MEAHiddenLogic logic = MEAHiddenLogic(hiddenLogicAddress); return logic.getTotalSupply(); } function totalStarSupplyRemaining(uint8 _starId) external view returns(uint32) { MEAHiddenLogic logic = MEAHiddenLogic(hiddenLogicAddress); return logic.getStarTotalSupply(_starId); } function claimOreOnlyFromAssetId(uint256 _assetId) { uint256 collectibleClass = 0; address shipOwner; (collectibleClass, shipOwner) = _getShipInfo(_assetId); require(shipOwner == msg.sender); _claimOreAndClear(uint32(_assetId), 0); } /// @dev For creating CSC Collectible function launchShipOnMEA(uint256 _assetId, uint8 starId) public whenNotPaused returns(uint256) { MEAHiddenLogic logic = MEAHiddenLogic(hiddenLogicAddress); uint256 collectibleClass = 0; address shipOwner; (collectibleClass, shipOwner) = _getShipInfo(_assetId); //Check if the ship owner is sender require(shipOwner == msg.sender); //Check if ship is back at earth require(now > logic.getReturnTime(_assetId)); //Claims ore and clears _claimOreAndClear(uint32(_assetId), starId); //Get Asset Stats uint tripCount = assetIdNumberOfTripsMapping[uint32(_assetId)]; uint starTripDist = starLightyearDistanceMapping[starId]; uint256 oreMax = 5; uint256 tripSeconds = 10; if(collectibleClass == REAPER_INTREPID) { oreMax = REAPER_INTREPID_EXTRACTION_BASE + (REAPER_INTREPID_EXTRACTION_BASE * tripCount * aimeIncreasePerTrip / 10000); tripSeconds = REAPER_INTREPID_FTL_SPEED * starTripDist / 1000; // 4LPH - 900 seconds per light year if(oreMax > REAPER_INTREPID_MAX_CARGO) oreMax = REAPER_INTREPID_MAX_CARGO; } else if(collectibleClass == PHOENIX_CORSAIR) { oreMax = PHOENIX_CORSAIR_EXTRACTION_BASE + (PHOENIX_CORSAIR_EXTRACTION_BASE * tripCount * aimeIncreasePerTrip / 10000); tripSeconds = PHOENIX_CORSAIR_FTL_SPEED * starTripDist / 1000; // 2.5LPH - 1440 seconds per light year if(oreMax > PHOENIX_CORSAIR_MAX_CARGO) oreMax = PHOENIX_CORSAIR_MAX_CARGO; } else if(collectibleClass == VULCAN_PROMETHEUS) { oreMax = VULCAN_PROMETHEUS_EXTRACTION_BASE + (VULCAN_PROMETHEUS_EXTRACTION_BASE * tripCount * aimeIncreasePerTrip / 10000); tripSeconds = VULCAN_PROMETHEUS_FTL_SPEED * starTripDist / 1000; // 1.75LPH - 2057 seconds per light year if(oreMax > VULCAN_PROMETHEUS_MAX_CARGO) oreMax = VULCAN_PROMETHEUS_MAX_CARGO; } else if(collectibleClass == SIGMA) { oreMax = SIGMA_EXTRACTION_BASE + (SIGMA_EXTRACTION_BASE * tripCount * aimeIncreasePerTrip / 10000); tripSeconds = SIGMA_FTL_SPEED * starTripDist / 1000; // 0.85LPH - 4235 seconds per light year if(oreMax > SIGMA_MAX_CARGO) oreMax = SIGMA_MAX_CARGO; } else if(collectibleClass == HAYATO) { //Hayato oreMax = HAYATO_EXTRACTION_BASE + (HAYATO_EXTRACTION_BASE * tripCount * aimeIncreasePerTrip / 10000); tripSeconds = HAYATO_FTL_SPEED * starTripDist / 1000; // 10LPH - 360 seconds per light year if(oreMax > HAYATO_MAX_CARGO) oreMax = HAYATO_MAX_CARGO; } else if(collectibleClass == CPGPEREGRINE) { //CPG Peregrine oreMax = CPGPEREGRINE_EXTRACTION_BASE + (CPGPEREGRINE_EXTRACTION_BASE * tripCount * aimeIncreasePerTrip / 10000); tripSeconds = CPGPEREGRINE_FTL_SPEED * starTripDist / 1000; // 5LPH -720 seconds per light year if(oreMax > CPGPEREGRINE_MAX_CARGO) oreMax = CPGPEREGRINE_MAX_CARGO; } else if(collectibleClass == TACTICALCRUISER) { //TACTICA CRUISER Ships oreMax = TACTICALCRUISER_EXTRACTION_BASE + (TACTICALCRUISER_EXTRACTION_BASE * tripCount * aimeIncreasePerTrip / 10000); tripSeconds = TACTICALCRUISER_FTL_SPEED * starTripDist / 1000; if(oreMax > TACTICALCRUISER_MAX_CARGO) oreMax = TACTICALCRUISER_MAX_CARGO; } else if(collectibleClass == VULCAN_POD) { //TACTICA CRUISER Ships oreMax = VULCAN_POD_EXTRACTION_BASE + (VULCAN_POD_EXTRACTION_BASE * tripCount * aimeIncreasePerTrip / 10000); tripSeconds = VULCAN_POD_FTL_SPEED * starTripDist / 1000; if(oreMax > VULCAN_POD_MAX_CARGO) oreMax = VULCAN_POD_MAX_CARGO; } else if(collectibleClass >= DEVCLASS) { //Dev Ships oreMax = DEVCLASS_EXTRACTION_BASE + (DEVCLASS_EXTRACTION_BASE * tripCount * aimeIncreasePerTrip / 10000); tripSeconds = DEVCLASS_FTL_SPEED * starTripDist / 1000; if(oreMax > DEVCLASS_MAX_CARGO) oreMax = DEVCLASS_MAX_CARGO; } else { if(collectibleClass >= OTHERCRUISER) { //Support Other Promo Ships oreMax = OTHERCRUISER_EXTRACTION_BASE + (OTHERCRUISER_EXTRACTION_BASE * tripCount * aimeIncreasePerTrip / 10000); tripSeconds = OTHERCRUISER_FTL_SPEED * starTripDist / 1000; if(oreMax > OTHERCRUISER_MAX_CARGO) oreMax = OTHERCRUISER_MAX_CARGO; } } //Make Round Trip + Mining tripSeconds = ((tripSeconds * 2) + miningTimePerTrip); //3600 for an hour - 0 for testing *************************** //calculate travel time uint256 returnTime = logic.startMEAMission(_assetId, oreMax, starId, tripSeconds); //Confirm trip if(returnTime > 0) { assetIdNumberOfTripsMapping[uint32(_assetId)] += 1; assetIdToStarVisitedMapping[uint32(_assetId)] = starId; assetIdCurrentTripStartTimeMapping[uint32(_assetId)] = uint32(now); } return returnTime; } /*** PRIVATE FUNCTIONS ***/ /// @dev Safety check on _to address to prevent against an unexpected 0x0 default. function _addressNotNull(address _to) internal pure returns (bool) { return _to != address(0); } /// @dev Claims and clears cargo -- ONLY INTERNAL function _claimOreAndClear (uint32 _assetId, uint8 _starId) internal { MEAHiddenLogic logic = MEAHiddenLogic(hiddenLogicAddress); uint256[12] memory _ores = logic.getAssetCollectedOreBallancesArray(_assetId); bool hasItems = false; for(uint8 i = 0; i < 12; i++) { if(_ores[i] > 0) { collectedOreBalanceMapping[msg.sender][i] += uint32(_ores[i]); hasItems = true; } } //Doesn't Let you Travel to empty stars but lets you collect if(hasItems == false && _starId > 0) { require(logic.getStarTotalSupply(_starId) > 0); } logic.emptyShipCargo(_assetId); } function _getShipInfo(uint256 _assetId) internal view returns (uint256 collectibleClass, address owner) { uint256 nulldata; bool nullbool; uint256 collectibleType; if(_assetId <= 3000) { CSCERC721 shipData = CSCERC721(cscERC721Address); (nulldata, nulldata, collectibleType, collectibleClass, nullbool, owner) = shipData.getCollectibleDetails(_assetId); } else { bytes32 nullstring; CSCFactoryERC721 shipFData = CSCFactoryERC721(cscFactoryERC721Address); (nulldata, nulldata, collectibleType, collectibleClass, nullstring, nullbool, owner) = shipFData.getCollectibleDetails(_assetId); } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[{"name":"","type":"uint16"}],"name":"resourceERC20Address","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"SIGMA_EXTRACTION_BASE","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_assetId","type":"uint256"}],"name":"claimOreOnlyFromAssetId","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"VULCAN_POD","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"CPGPEREGRINE","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint8"}],"name":"distributedOreBalanceMapping","outputs":[{"name":"","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"DEVCLASS_EXTRACTION_BASE","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"HAYATO_MAX_CARGO","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_aime","type":"uint256"},{"name":"_miningTime","type":"uint256"}],"name":"setMEAAttributes","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalMEATonsClaimed","outputs":[{"name":"total","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_assetId","type":"uint32"}],"name":"getAssetIdCargo","outputs":[{"name":"iron","type":"uint256"},{"name":"quartz","type":"uint256"},{"name":"nickel","type":"uint256"},{"name":"cobalt","type":"uint256"},{"name":"silver","type":"uint256"},{"name":"titanium","type":"uint256"},{"name":"lucinite","type":"uint256"},{"name":"gold","type":"uint256"},{"name":"cosmethyst","type":"uint256"},{"name":"allurum","type":"uint256"},{"name":"platinum","type":"uint256"},{"name":"trilite","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"otherManagers","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"PHOENIX_CORSAIR_EXTRACTION_BASE","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_assetId","type":"uint256"}],"name":"getAssetIdTripCompletedTime","outputs":[{"name":"time","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_starId","type":"uint8"},{"name":"_lightyearsInThousands","type":"uint16"}],"name":"setStarDistance","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"DEVCLASS_FTL_SPEED","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"TACTICALCRUISER","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint32"}],"name":"assetIdToStarVisitedMapping","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"miningTimePerTrip","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint8"}],"name":"collectedOreBalanceMapping","outputs":[{"name":"","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"withdrawCollectedResources","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"HAYATO","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint8"}],"name":"starLightyearDistanceMapping","outputs":[{"name":"","type":"uint16"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"VULCAN_POD_EXTRACTION_BASE","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"REAPER_INTREPID_MAX_CARGO","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_assetId","type":"uint32"}],"name":"getAssetIdCargoArray","outputs":[{"name":"","type":"uint256[12]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_assetId","type":"uint256"},{"name":"starId","type":"uint8"}],"name":"launchShipOnMEA","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"VULCAN_PROMETHEUS","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"PHOENIX_CORSAIR","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"OTHERCRUISER_FTL_SPEED","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getMEATime","outputs":[{"name":"time","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"TACTICALCRUISER_EXTRACTION_BASE","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"VULCAN_POD_MAX_CARGO","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_starId","type":"uint8"}],"name":"totalStarSupplyRemaining","outputs":[{"name":"","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"HAYATO_FTL_SPEED","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint32"}],"name":"assetIdCurrentTripStartTimeMapping","outputs":[{"name":"","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint32"},{"name":"","type":"uint8"}],"name":"collectedOreAssetMapping","outputs":[{"name":"","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"DEVCLASS_MAX_CARGO","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"DEVCLASS","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"PHOENIX_CORSAIR_FTL_SPEED","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"REAPER_INTREPID_FTL_SPEED","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"HAYATO_EXTRACTION_BASE","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"SIGMA_FTL_SPEED","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newGM","type":"address"}],"name":"setSecondaryManager","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"SIGMA","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"noError","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"PHOENIX_CORSAIR_MAX_CARGO","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"VULCAN_PROMETHEUS_EXTRACTION_BASE","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"VULCAN_POD_FTL_SPEED","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"OTHERCRUISER_EXTRACTION_BASE","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"TACTICALCRUISER_MAX_CARGO","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"getCollectedOreBalances","outputs":[{"name":"iron","type":"uint256"},{"name":"quartz","type":"uint256"},{"name":"nickel","type":"uint256"},{"name":"cobalt","type":"uint256"},{"name":"silver","type":"uint256"},{"name":"titanium","type":"uint256"},{"name":"lucinite","type":"uint256"},{"name":"gold","type":"uint256"},{"name":"cosmethyst","type":"uint256"},{"name":"allurum","type":"uint256"},{"name":"platinum","type":"uint256"},{"name":"trilite","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_hiddenLogicAddress","type":"address"}],"name":"setHiddenLogic","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_cscERC721Address","type":"address"}],"name":"setCSCERC721","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"OTHERCRUISER_MAX_CARGO","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"REAPER_INTREPID_EXTRACTION_BASE","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"NAME","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"aimeIncreasePerTrip","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"VULCAN_PROMETHEUS_FTL_SPEED","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"hasError","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_assetId","type":"uint256"}],"name":"getAssetIdTripStartTime","outputs":[{"name":"time","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"managerPrimary","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newOp","type":"address"},{"name":"_state","type":"uint8"}],"name":"setOtherManager","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"CPGPEREGRINE_FTL_SPEED","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_assetId","type":"uint32"}],"name":"getLastStarOfAssetId","outputs":[{"name":"starId","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"CPGPEREGRINE_EXTRACTION_BASE","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newGM","type":"address"}],"name":"setPrimaryManager","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"error","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_starId","type":"uint8"}],"name":"getStarDistanceInLyThousandths","outputs":[{"name":"total","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"SIGMA_MAX_CARGO","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"getDistributedOreBalances","outputs":[{"name":"iron","type":"uint256"},{"name":"quartz","type":"uint256"},{"name":"nickel","type":"uint256"},{"name":"cobalt","type":"uint256"},{"name":"silver","type":"uint256"},{"name":"titanium","type":"uint256"},{"name":"lucinite","type":"uint256"},{"name":"gold","type":"uint256"},{"name":"cosmethyst","type":"uint256"},{"name":"allurum","type":"uint256"},{"name":"platinum","type":"uint256"},{"name":"trilite","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_withdrawAddress","type":"address"}],"name":"reclaimResourceDeposits","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"CPGPEREGRINE_MAX_CARGO","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint32"}],"name":"assetIdNumberOfTripsMapping","outputs":[{"name":"","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"REAPER_INTREPID","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"bankManager","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"OTHERCRUISER","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_resId","type":"uint16"}],"name":"getResourceERC20Address","outputs":[{"name":"resourceContract","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"managerSecondary","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newBK","type":"address"}],"name":"setBanker","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"VULCAN_PROMETHEUS_MAX_CARGO","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_master","type":"address"}],"name":"setAllResourceERC20Addresses","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_resId","type":"uint16"},{"name":"_reourceAddress","type":"address"}],"name":"setResourceERC20Address","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalMEATonsSupply","outputs":[{"name":"total","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_cscFactoryERC721Address","type":"address"}],"name":"setCSCFactoryERC721","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"TACTICALCRUISER_FTL_SPEED","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newContract","type":"address"}],"name":"ContractUpgrade","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"otherManager","type":"address"},{"indexed":false,"name":"state","type":"uint256"}],"name":"OtherManagerUpdated","type":"event"}]
Contract Creation Code
60606040526004805461ffff19169055610e10600d556109c4600e55341561002657600080fd5b33600160a060020a0316151561003b57600080fd5b6004805460ff1916600190811790915560008054600160a060020a033316600160a060020a031991821681179092558254811682179092556002805483169091179055600f8054821673e4f5e0d5c033f517a943602df942e794a06bc1231790556010805490911673cc9a66acf8574141b0e025202dd57649765a4be7179055612503806100ca6000396000f3006060604052600436106103ed5763ffffffff60e060020a60003504166254da0681146103f25780625b7ce81461042857806301c543c21461044d578063079095ae1461046557806308b40dc6146104785780630c9e078c1461048b5780630d5302c4146104c957806316e3cad0146104dc5780631b672154146104ef5780631da98538146105085780631f0fd9051461051b57806323d7af241461059c578063252bb9c3146105d157806328d905e5146105e457806329760657146105fa5780632d94d41e1461061a5780632fa8591e1461062d578063317b7fa41461064057806335a236591461065c57806337a9f8351461066f5780633d944953146106945780633df95fc9146106a75780633f4ba83a146106ba5780634542d45f146106cd5780634a5baa1b146106fd5780634cbfbf4714610710578063503e11de14610723578063515f25ae14610778578063574356b4146106fd578063577f7133146107945780635a95edd9146107a75780635ba83c0d146107ba5780635c975abb146107cd5780635d5d4fab14610428578063627992c7146107f45780636339be39146108075780636596217b1461082057806365e4d640146108335780636a514e131461084f5780636a7dabb9146108715780636b489028146108845780636b88719a1461089757806374d33745146108aa5780637a8f7be614610428578063816d199c146108bd578063825bdb74146108d05780638456cb59146108ef578063860bb34a146109025780638a53f230146109155780638e694807146104dc578063936fddcb14610928578063942802e71461093b578063954704971461094e5780639678fb8814610961578063993254421461097457806399a17344146109935780639d29255b146109b2578063a1857f4a146104dc578063a3358ae41461061a578063a3f4df7e146109d1578063a6fdedef14610a5b578063a7ee323e14610a6e578063ad5e46cb14610a81578063af58957214610a94578063b777cad714610aaa578063bb1d45fc14610abd578063bb86d8fe146107a7578063bfaad84b14610ae2578063c0615f0914610428578063c0619c7014610afe578063c79f8b6214610b1d578063c9c22deb14610b30578063ccb50a2914610b49578063cd423c9914610b5c578063d237b43f14610b7b578063d25f1c3514610b9a578063e1d4bbcc14610bad578063e6824b0d14610bc9578063e9e2990e14610bdc578063ecd59d9b14610bef578063eddd2d3914610c02578063ee70f39214610c1c578063f1ff732b14610c2f578063f232524414610c4e578063f49b728e14610c61578063f54dd97414610c80578063f6a8401314610ca6578063fe9bb2da14610cb9578063fedb6dfd146107a7575b600080fd5b34156103fd57600080fd5b61040c61ffff60043516610cd8565b604051600160a060020a03909116815260200160405180910390f35b341561043357600080fd5b61043b610cf3565b60405190815260200160405180910390f35b341561045857600080fd5b610463600435610cf8565b005b341561047057600080fd5b61043b610d32565b341561048357600080fd5b61043b610d37565b341561049657600080fd5b6104b0600160a060020a036004351660ff60243516610d3c565b60405163ffffffff909116815260200160405180910390f35b34156104d457600080fd5b61043b610d5f565b34156104e757600080fd5b61043b610d64565b34156104fa57600080fd5b610463600435602435610d6a565b341561051357600080fd5b6104b0610dab565b341561052657600080fd5b61053763ffffffff60043516610e0a565b6040519b8c5260208c019a909a526040808c019990995260608b019790975260808a019590955260a089019390935260c088019190915260e0870152610100860152610120850152610140840152610160830191909152610180909101905180910390f35b34156105a757600080fd5b6105bb600160a060020a0360043516610e94565b60405160ff909116815260200160405180910390f35b34156105dc57600080fd5b61043b610ea9565b34156105ef57600080fd5b61043b600435610eae565b341561060557600080fd5b61046360ff6004351661ffff60243516610f1f565b341561062557600080fd5b61043b610fbd565b341561063857600080fd5b61043b610fc2565b341561064b57600080fd5b6105bb63ffffffff60043516610fc7565b341561066757600080fd5b61043b610fdc565b341561067a57600080fd5b6104b0600160a060020a036004351660ff60243516610fe2565b341561069f57600080fd5b610463611005565b34156106b257600080fd5b61043b611157565b34156106c557600080fd5b61046361115c565b34156106d857600080fd5b6106e660ff600435166111af565b60405161ffff909116815260200160405180910390f35b341561070857600080fd5b61043b6111c5565b341561071b57600080fd5b61043b6111ca565b341561072e57600080fd5b61073f63ffffffff600435166111d0565b604051808261018080838360005b8381101561076557808201518382015260200161074d565b5050505090500191505060405180910390f35b341561078357600080fd5b61043b60043560ff6024351661124c565b341561079f57600080fd5b61043b6116e8565b34156107b257600080fd5b61043b6116ed565b34156107c557600080fd5b61043b6116f3565b34156107d857600080fd5b6107e06116f7565b604051901515815260200160405180910390f35b34156107ff57600080fd5b61043b611700565b341561081257600080fd5b6104b060ff60043516611705565b341561082b57600080fd5b61043b611753565b341561083e57600080fd5b6104b063ffffffff60043516611759565b341561085a57600080fd5b6104b063ffffffff6004351660ff60243516611771565b341561087c57600080fd5b61043b611794565b341561088f57600080fd5b61043b61179a565b34156108a257600080fd5b61043b61179f565b34156108b557600080fd5b61043b6117a5565b34156108c857600080fd5b61043b6117ab565b34156108db57600080fd5b610463600160a060020a03600435166117b1565b34156108fa57600080fd5b61046361181e565b341561090d57600080fd5b61043b611873565b341561092057600080fd5b610463611878565b341561093357600080fd5b61043b6118cc565b341561094657600080fd5b61043b6118d2565b341561095957600080fd5b61043b6118d8565b341561096c57600080fd5b61043b6118dd565b341561097f57600080fd5b610537600160a060020a03600435166118e3565b341561099e57600080fd5b610463600160a060020a0360043516611995565b34156109bd57600080fd5b610463600160a060020a03600435166119ed565b34156109dc57600080fd5b6109e4611a45565b60405160208082528190810183818151815260200191508051906020019080838360005b83811015610a20578082015183820152602001610a08565b50505050905090810190601f168015610a4d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3415610a6657600080fd5b61043b611a7c565b3415610a7957600080fd5b61043b611a82565b3415610a8c57600080fd5b610463611a88565b3415610a9f57600080fd5b61043b600435611ae0565b3415610ab557600080fd5b61040c611afb565b3415610ac857600080fd5b610463600160a060020a036004351660ff60243516611b0a565b3415610aed57600080fd5b6105bb63ffffffff60043516611bc8565b3415610b0957600080fd5b610463600160a060020a0360043516611be3565b3415610b2857600080fd5b6107e0611c50565b3415610b3b57600080fd5b6104b060ff60043516611c5e565b3415610b5457600080fd5b61043b611c77565b3415610b6757600080fd5b610537600160a060020a0360043516611c7d565b3415610b8657600080fd5b610463600160a060020a0360043516611d2e565b3415610ba557600080fd5b61043b611eab565b3415610bb857600080fd5b6104b063ffffffff60043516611eb1565b3415610bd457600080fd5b61043b611ec9565b3415610be757600080fd5b61040c611ece565b3415610bfa57600080fd5b61043b611edd565b3415610c0d57600080fd5b61040c61ffff60043516611ee2565b3415610c2757600080fd5b61040c611f01565b3415610c3a57600080fd5b610463600160a060020a0360043516611f10565b3415610c5957600080fd5b61043b611f7d565b3415610c6c57600080fd5b610463600160a060020a0360043516611f83565b3415610c8b57600080fd5b61046361ffff60043516600160a060020a0360243516612065565b3415610cb157600080fd5b6104b06120cf565b3415610cc457600080fd5b610463600160a060020a0360043516612112565b600b60205260009081526040902054600160a060020a031681565b609681565b600080610d048361216a565b909250905033600160a060020a0390811690821614610d2257600080fd5b610d2d8360006122b3565b505050565b600981565b600681565b600760209081526000928352604080842090915290825290205463ffffffff1681565b603281565b6105dc81565b60005433600160a060020a0390811691161480610d95575060015433600160a060020a039081169116145b1515610da057600080fd5b600e91909155600d55565b601154600090600160a060020a03168063542aee376040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610dee57600080fd5b5af11515610dfb57600080fd5b50505060405180519250505090565b600080600080600080600080600080600080610e246124af565b610e2d8e6111d0565b905080519c5060208101519b5060408101519a50606081015199506080810151985060a0810151975060c0810151965060e0810151955061010081015194506101208101519350610140810151925061016081015191505091939597999b5091939597999b565b60036020526000908152604090205460ff1681565b602881565b601154600090600160a060020a031680638ede1817846040518263ffffffff1660e060020a028152600401808263ffffffff168152602001915050602060405180830381600087803b1515610f0257600080fd5b5af11515610f0f57600080fd5b5050506040518051949350505050565b60005433600160a060020a0390811691161480610f4a575060015433600160a060020a039081169116145b80610f63575060025433600160a060020a039081169116145b80610f895750600160a060020a03331660009081526003602052604090205460ff166001145b1515610f9457600080fd5b60ff919091166000908152600960205260409020805461ffff191661ffff909216919091179055565b600a81565b600781565b600a6020526000908152604090205460ff1681565b600d5481565b600660209081526000928352604080842090915290825290205463ffffffff1681565b600080805b600c8360ff161015610d2d5760ff83166000908152600b6020526040902054600160a060020a0316151561103d57600080fd5b600160a060020a033316600081815260076020908152604080832060ff8816808552908352818420549484526006835281842090845290915281205463ffffffff928316908316039350908316111561114c575060ff82166000818152600b602090815260408083205433600160a060020a038181168652600785528386209686529590935292819020805463ffffffff80821688011663ffffffff199091161790559290911691829163a9059cbb9185905163ffffffff84811660e060020a028252600160a060020a0393909316600482015291166024820152604401602060405180830381600087803b151561113457600080fd5b5af1151561114157600080fd5b505050604051805150505b60019092019161100a565b600581565b60005433600160a060020a0390811691161480611187575060015433600160a060020a039081169116145b151561119257600080fd5b60045460ff1615156111a357600080fd5b6004805460ff19169055565b60096020526000908152604090205461ffff1681565b600181565b61014081565b6111d86124af565b601154600160a060020a031680637f9c8974846040518263ffffffff1660e060020a028152600401808263ffffffff16815260200191505061018060405180830381600087803b151561122a57600080fd5b5af1151561123757600080fd5b50505060405161018081016040529392505050565b6000806000806000806000806000600460009054906101000a900460ff1615151561127657600080fd5b601154600160a060020a03169750600096506112918b61216a565b909750955033600160a060020a03908116908716146112af57600080fd5b87600160a060020a0316638ede18178c60405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b15156112f557600080fd5b5af1151561130257600080fd5b50505060405180514211905061131757600080fd5b6113218b8b6122b3565b63ffffffff808c1660009081526008602090815260408083205460ff8f1684526009909252909120549116955061ffff16935060059250600a9150600387141561139757600e54612710908602600a0204600a0192506103e861038485020491506101408311156113925761014092505b611586565b60028714156113d257600e546127109086026028020460280192506103e86105a085025b0491506105dc831115611392576105dc9250611586565b600187141561140e57600e5461271090860261012c020461012c0192506103e86108098502049150611770831115611392576117709250611586565b600487141561144857600e546127109086026096020460960192506103e861108b8502049150613a9883111561139257613a989250611586565b600587141561147057600e546127109086026096020460960192506103e861016885026113bb565b60068714156114aa57600e546127109086026096020460960192506103e86102d08502049150610fa083111561139257610fa09250611586565b60078714156114e457600e546127109086026096020460960192506103e86102d085020491506103e8831115611392576103e89250611586565b600987141561151957600e546127109086020460010192506103e86107d08502049150604b83111561139257604b9250611586565b6063871061155157600e546127109086026032020460320192506103e8600a85020491506101f4831115611392576101f49250611586565b6008871061158657600e546127109086026064020460640192506103e86102d085020491506105dc831115611586576105dc92505b600d548260020201915087600160a060020a0316634d15642a8c858d8660405160e060020a63ffffffff87160281526004810194909452602484019290925260ff1660448301526064820152608401602060405180830381600087803b15156115ee57600080fd5b5af115156115fb57600080fd5b505050604051805191505060008111156116da576001600860008d63ffffffff1663ffffffff16815260200190815260200160002060008282829054906101000a900463ffffffff160192506101000a81548163ffffffff021916908363ffffffff16021790555089600a60008d63ffffffff1663ffffffff16815260200190815260200160002060006101000a81548160ff021916908360ff16021790555042600c60008d63ffffffff1663ffffffff16815260200190815260200160002060006101000a81548163ffffffff021916908363ffffffff1602179055505b9a9950505050505050505050565b600281565b6102d081565b4290565b60045460ff1681565b604b81565b601154600090600160a060020a0316806351cfa44b8460405160e060020a63ffffffff841602815260ff9091166004820152602401602060405180830381600087803b1515610f0257600080fd5b61016881565b600c6020526000908152604090205463ffffffff1681565b600560209081526000928352604080842090915290825290205463ffffffff1681565b6101f481565b606381565b6105a081565b61038481565b61108b81565b60005433600160a060020a03908116911614806117dc575060015433600160a060020a039081169116145b15156117e757600080fd5b600160a060020a03811615156117fc57600080fd5b60018054600160a060020a031916600160a060020a0392909216919091179055565b60005433600160a060020a0390811691161480611849575060015433600160a060020a039081169116145b151561185457600080fd5b60045460ff161561186457600080fd5b6004805460ff19166001179055565b600481565b60005433600160a060020a03908116911614806118a3575060015433600160a060020a039081169116145b15156118ae57600080fd5b60045460ff1615156118bf57600080fd5b6004805461ff0019169055565b61012c81565b6107d081565b606481565b6103e881565b600160a060020a03166000908152600660208181526040808420848052909152808320546001845281842054600285528285205460038652838620546004875284872054600588528588205496885285882054600789528689205460088a52878a205460098b52888b2054600a8c52898c2054600b8d5299909b205463ffffffff9889169c9789169b9689169a9589169994891698958616979386169692861695918216949282169392821692911690565b60005433600160a060020a03908116911614806119c0575060015433600160a060020a039081169116145b15156119cb57600080fd5b60118054600160a060020a031916600160a060020a0392909216919091179055565b60005433600160a060020a0390811691161480611a18575060015433600160a060020a039081169116145b1515611a2357600080fd5b600f8054600160a060020a031916600160a060020a0392909216919091179055565b60408051908101604052600e81527f4d454147616d654d616e61676572000000000000000000000000000000000000602082015281565b600e5481565b61080981565b60005433600160a060020a0390811691161480611ab3575060015433600160a060020a039081169116145b1515611abe57600080fd5b60045460ff161515611acf57600080fd5b6004805461ff001916610100179055565b63ffffffff9081166000908152600c60205260409020541690565b600054600160a060020a031681565b60005433600160a060020a0390811691161480611b35575060015433600160a060020a039081169116145b1515611b4057600080fd5b600160a060020a0382161515611b5557600080fd5b600160a060020a03821660009081526003602052604090819020805460ff191660ff84161790557fe0546fbe1658c19d0abce113642b889606be7291a861e29191abaaf95ae05bb2908390839051600160a060020a03909216825260ff1660208201526040908101905180910390a15050565b63ffffffff166000908152600a602052604090205460ff1690565b60005433600160a060020a0390811691161480611c0e575060015433600160a060020a039081169116145b1515611c1957600080fd5b600160a060020a0381161515611c2e57600080fd5b60008054600160a060020a031916600160a060020a0392909216919091179055565b600454610100900460ff1681565b60ff1660009081526009602052604090205461ffff1690565b613a9881565b600160a060020a03166000908152600760208181526040808420848052909152808320546001845281842054600285528285205460038652838620546004875284872054600588528588205460068952868920549789528689205460088a52878a205460098b52888b2054600a8c52898c2054600b8d5299909b205463ffffffff9889169c9789169b9689169a95891699948916989384169795841696928416959184169492841693928316921690565b600080548190819033600160a060020a0390811691161480611d5e575060015433600160a060020a039081169116145b1515611d6957600080fd5b600160a060020a0384161515611d7e57600080fd5b600092505b600c8360ff161015611ea55760ff83166000908152600b6020526040902054600160a060020a031615611e9a5760ff83166000908152600b60205260409081902054600160a060020a0316925082906370a082319030905160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515611e1657600080fd5b5af11515611e2357600080fd5b5050506040518051915050600160a060020a03821663a9059cbb858360405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515611e8257600080fd5b5af11515611e8f57600080fd5b505050604051805150505b600190920191611d83565b50505050565b610fa081565b60086020526000908152604090205463ffffffff1681565b600381565b600254600160a060020a031681565b600881565b61ffff166000908152600b6020526040902054600160a060020a031690565b600154600160a060020a031681565b60005433600160a060020a0390811691161480611f3b575060015433600160a060020a039081169116145b1515611f4657600080fd5b600160a060020a0381161515611f5b57600080fd5b60028054600160a060020a031916600160a060020a0392909216919091179055565b61177081565b60008054819033600160a060020a0390811691161480611fb1575060015433600160a060020a039081169116145b1515611fbc57600080fd5b5081905060005b600c8160ff161015610d2d5781600160a060020a031663ce8808ea8260405160e060020a63ffffffff841602815260ff9091166004820152602401602060405180830381600087803b151561201757600080fd5b5af1151561202457600080fd5b505050604051805160ff83166000908152600b602052604090208054600160a060020a031916600160a060020a039290921691909117905550600101611fc3565b60005433600160a060020a0390811691161480612090575060015433600160a060020a039081169116145b151561209b57600080fd5b61ffff919091166000908152600b602052604090208054600160a060020a031916600160a060020a03909216919091179055565b601154600090600160a060020a03168063c4e41b226040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610dee57600080fd5b60005433600160a060020a039081169116148061213d575060015433600160a060020a039081169116145b151561214857600080fd5b60108054600160a060020a031916600160a060020a0392909216919091179055565b600080808080808080610bb8891161221057600f54600160a060020a03169250826370994b318a60405160e060020a63ffffffff8416028152600481019190915260240160c060405180830381600087803b15156121c757600080fd5b5af115156121d457600080fd5b5050506040518051906020018051906020018051906020018051906020018051906020018051929d50919b5093995092975095506122a8915050565b50601054600160a060020a0316806370994b318a60405160e060020a63ffffffff8416028152600481019190915260240160e060405180830381600087803b151561225a57600080fd5b5af1151561226757600080fd5b5050506040518051906020018051906020018051906020018051906020018051906020018051906020018051939e50929c50949a5093985090965091935050505b505050505050915091565b60006122bd6124af565b601154600160a060020a0316915060008083637f9c8974876040518263ffffffff1660e060020a028152600401808263ffffffff16815260200191505061018060405180830381600087803b151561231457600080fd5b5af1151561232157600080fd5b5050506040518061018001604052925060009150600090505b600c8160ff1610156123c65760008360ff8316600c811061235757fe5b602002015111156123be578260ff8216600c811061237157fe5b602002015133600160a060020a0316600090815260066020908152604080832060ff861684529091529020805463ffffffff19811663ffffffff9182169390930116919091179055600191505b60010161233a565b811580156123d7575060008560ff16115b1561244f57600084600160a060020a03166351cfa44b8760405160e060020a63ffffffff841602815260ff9091166004820152602401602060405180830381600087803b151561242657600080fd5b5af1151561243357600080fd5b5050506040518051905063ffffffff1611151561244f57600080fd5b83600160a060020a03166385dc67218760405163ffffffff83811660e060020a028252919091166004820152602401600060405180830381600087803b151561249757600080fd5b5af115156124a457600080fd5b505050505050505050565b610180604051908101604052600c815b60008152602001906001900390816124bf57905050905600a165627a7a72305820e8bf8afd92792b16a1813929b3b842caf5a96539d40fdb1a7de9b55dd40b03610029
Deployed Bytecode
0x6060604052600436106103ed5763ffffffff60e060020a60003504166254da0681146103f25780625b7ce81461042857806301c543c21461044d578063079095ae1461046557806308b40dc6146104785780630c9e078c1461048b5780630d5302c4146104c957806316e3cad0146104dc5780631b672154146104ef5780631da98538146105085780631f0fd9051461051b57806323d7af241461059c578063252bb9c3146105d157806328d905e5146105e457806329760657146105fa5780632d94d41e1461061a5780632fa8591e1461062d578063317b7fa41461064057806335a236591461065c57806337a9f8351461066f5780633d944953146106945780633df95fc9146106a75780633f4ba83a146106ba5780634542d45f146106cd5780634a5baa1b146106fd5780634cbfbf4714610710578063503e11de14610723578063515f25ae14610778578063574356b4146106fd578063577f7133146107945780635a95edd9146107a75780635ba83c0d146107ba5780635c975abb146107cd5780635d5d4fab14610428578063627992c7146107f45780636339be39146108075780636596217b1461082057806365e4d640146108335780636a514e131461084f5780636a7dabb9146108715780636b489028146108845780636b88719a1461089757806374d33745146108aa5780637a8f7be614610428578063816d199c146108bd578063825bdb74146108d05780638456cb59146108ef578063860bb34a146109025780638a53f230146109155780638e694807146104dc578063936fddcb14610928578063942802e71461093b578063954704971461094e5780639678fb8814610961578063993254421461097457806399a17344146109935780639d29255b146109b2578063a1857f4a146104dc578063a3358ae41461061a578063a3f4df7e146109d1578063a6fdedef14610a5b578063a7ee323e14610a6e578063ad5e46cb14610a81578063af58957214610a94578063b777cad714610aaa578063bb1d45fc14610abd578063bb86d8fe146107a7578063bfaad84b14610ae2578063c0615f0914610428578063c0619c7014610afe578063c79f8b6214610b1d578063c9c22deb14610b30578063ccb50a2914610b49578063cd423c9914610b5c578063d237b43f14610b7b578063d25f1c3514610b9a578063e1d4bbcc14610bad578063e6824b0d14610bc9578063e9e2990e14610bdc578063ecd59d9b14610bef578063eddd2d3914610c02578063ee70f39214610c1c578063f1ff732b14610c2f578063f232524414610c4e578063f49b728e14610c61578063f54dd97414610c80578063f6a8401314610ca6578063fe9bb2da14610cb9578063fedb6dfd146107a7575b600080fd5b34156103fd57600080fd5b61040c61ffff60043516610cd8565b604051600160a060020a03909116815260200160405180910390f35b341561043357600080fd5b61043b610cf3565b60405190815260200160405180910390f35b341561045857600080fd5b610463600435610cf8565b005b341561047057600080fd5b61043b610d32565b341561048357600080fd5b61043b610d37565b341561049657600080fd5b6104b0600160a060020a036004351660ff60243516610d3c565b60405163ffffffff909116815260200160405180910390f35b34156104d457600080fd5b61043b610d5f565b34156104e757600080fd5b61043b610d64565b34156104fa57600080fd5b610463600435602435610d6a565b341561051357600080fd5b6104b0610dab565b341561052657600080fd5b61053763ffffffff60043516610e0a565b6040519b8c5260208c019a909a526040808c019990995260608b019790975260808a019590955260a089019390935260c088019190915260e0870152610100860152610120850152610140840152610160830191909152610180909101905180910390f35b34156105a757600080fd5b6105bb600160a060020a0360043516610e94565b60405160ff909116815260200160405180910390f35b34156105dc57600080fd5b61043b610ea9565b34156105ef57600080fd5b61043b600435610eae565b341561060557600080fd5b61046360ff6004351661ffff60243516610f1f565b341561062557600080fd5b61043b610fbd565b341561063857600080fd5b61043b610fc2565b341561064b57600080fd5b6105bb63ffffffff60043516610fc7565b341561066757600080fd5b61043b610fdc565b341561067a57600080fd5b6104b0600160a060020a036004351660ff60243516610fe2565b341561069f57600080fd5b610463611005565b34156106b257600080fd5b61043b611157565b34156106c557600080fd5b61046361115c565b34156106d857600080fd5b6106e660ff600435166111af565b60405161ffff909116815260200160405180910390f35b341561070857600080fd5b61043b6111c5565b341561071b57600080fd5b61043b6111ca565b341561072e57600080fd5b61073f63ffffffff600435166111d0565b604051808261018080838360005b8381101561076557808201518382015260200161074d565b5050505090500191505060405180910390f35b341561078357600080fd5b61043b60043560ff6024351661124c565b341561079f57600080fd5b61043b6116e8565b34156107b257600080fd5b61043b6116ed565b34156107c557600080fd5b61043b6116f3565b34156107d857600080fd5b6107e06116f7565b604051901515815260200160405180910390f35b34156107ff57600080fd5b61043b611700565b341561081257600080fd5b6104b060ff60043516611705565b341561082b57600080fd5b61043b611753565b341561083e57600080fd5b6104b063ffffffff60043516611759565b341561085a57600080fd5b6104b063ffffffff6004351660ff60243516611771565b341561087c57600080fd5b61043b611794565b341561088f57600080fd5b61043b61179a565b34156108a257600080fd5b61043b61179f565b34156108b557600080fd5b61043b6117a5565b34156108c857600080fd5b61043b6117ab565b34156108db57600080fd5b610463600160a060020a03600435166117b1565b34156108fa57600080fd5b61046361181e565b341561090d57600080fd5b61043b611873565b341561092057600080fd5b610463611878565b341561093357600080fd5b61043b6118cc565b341561094657600080fd5b61043b6118d2565b341561095957600080fd5b61043b6118d8565b341561096c57600080fd5b61043b6118dd565b341561097f57600080fd5b610537600160a060020a03600435166118e3565b341561099e57600080fd5b610463600160a060020a0360043516611995565b34156109bd57600080fd5b610463600160a060020a03600435166119ed565b34156109dc57600080fd5b6109e4611a45565b60405160208082528190810183818151815260200191508051906020019080838360005b83811015610a20578082015183820152602001610a08565b50505050905090810190601f168015610a4d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3415610a6657600080fd5b61043b611a7c565b3415610a7957600080fd5b61043b611a82565b3415610a8c57600080fd5b610463611a88565b3415610a9f57600080fd5b61043b600435611ae0565b3415610ab557600080fd5b61040c611afb565b3415610ac857600080fd5b610463600160a060020a036004351660ff60243516611b0a565b3415610aed57600080fd5b6105bb63ffffffff60043516611bc8565b3415610b0957600080fd5b610463600160a060020a0360043516611be3565b3415610b2857600080fd5b6107e0611c50565b3415610b3b57600080fd5b6104b060ff60043516611c5e565b3415610b5457600080fd5b61043b611c77565b3415610b6757600080fd5b610537600160a060020a0360043516611c7d565b3415610b8657600080fd5b610463600160a060020a0360043516611d2e565b3415610ba557600080fd5b61043b611eab565b3415610bb857600080fd5b6104b063ffffffff60043516611eb1565b3415610bd457600080fd5b61043b611ec9565b3415610be757600080fd5b61040c611ece565b3415610bfa57600080fd5b61043b611edd565b3415610c0d57600080fd5b61040c61ffff60043516611ee2565b3415610c2757600080fd5b61040c611f01565b3415610c3a57600080fd5b610463600160a060020a0360043516611f10565b3415610c5957600080fd5b61043b611f7d565b3415610c6c57600080fd5b610463600160a060020a0360043516611f83565b3415610c8b57600080fd5b61046361ffff60043516600160a060020a0360243516612065565b3415610cb157600080fd5b6104b06120cf565b3415610cc457600080fd5b610463600160a060020a0360043516612112565b600b60205260009081526040902054600160a060020a031681565b609681565b600080610d048361216a565b909250905033600160a060020a0390811690821614610d2257600080fd5b610d2d8360006122b3565b505050565b600981565b600681565b600760209081526000928352604080842090915290825290205463ffffffff1681565b603281565b6105dc81565b60005433600160a060020a0390811691161480610d95575060015433600160a060020a039081169116145b1515610da057600080fd5b600e91909155600d55565b601154600090600160a060020a03168063542aee376040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610dee57600080fd5b5af11515610dfb57600080fd5b50505060405180519250505090565b600080600080600080600080600080600080610e246124af565b610e2d8e6111d0565b905080519c5060208101519b5060408101519a50606081015199506080810151985060a0810151975060c0810151965060e0810151955061010081015194506101208101519350610140810151925061016081015191505091939597999b5091939597999b565b60036020526000908152604090205460ff1681565b602881565b601154600090600160a060020a031680638ede1817846040518263ffffffff1660e060020a028152600401808263ffffffff168152602001915050602060405180830381600087803b1515610f0257600080fd5b5af11515610f0f57600080fd5b5050506040518051949350505050565b60005433600160a060020a0390811691161480610f4a575060015433600160a060020a039081169116145b80610f63575060025433600160a060020a039081169116145b80610f895750600160a060020a03331660009081526003602052604090205460ff166001145b1515610f9457600080fd5b60ff919091166000908152600960205260409020805461ffff191661ffff909216919091179055565b600a81565b600781565b600a6020526000908152604090205460ff1681565b600d5481565b600660209081526000928352604080842090915290825290205463ffffffff1681565b600080805b600c8360ff161015610d2d5760ff83166000908152600b6020526040902054600160a060020a0316151561103d57600080fd5b600160a060020a033316600081815260076020908152604080832060ff8816808552908352818420549484526006835281842090845290915281205463ffffffff928316908316039350908316111561114c575060ff82166000818152600b602090815260408083205433600160a060020a038181168652600785528386209686529590935292819020805463ffffffff80821688011663ffffffff199091161790559290911691829163a9059cbb9185905163ffffffff84811660e060020a028252600160a060020a0393909316600482015291166024820152604401602060405180830381600087803b151561113457600080fd5b5af1151561114157600080fd5b505050604051805150505b60019092019161100a565b600581565b60005433600160a060020a0390811691161480611187575060015433600160a060020a039081169116145b151561119257600080fd5b60045460ff1615156111a357600080fd5b6004805460ff19169055565b60096020526000908152604090205461ffff1681565b600181565b61014081565b6111d86124af565b601154600160a060020a031680637f9c8974846040518263ffffffff1660e060020a028152600401808263ffffffff16815260200191505061018060405180830381600087803b151561122a57600080fd5b5af1151561123757600080fd5b50505060405161018081016040529392505050565b6000806000806000806000806000600460009054906101000a900460ff1615151561127657600080fd5b601154600160a060020a03169750600096506112918b61216a565b909750955033600160a060020a03908116908716146112af57600080fd5b87600160a060020a0316638ede18178c60405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b15156112f557600080fd5b5af1151561130257600080fd5b50505060405180514211905061131757600080fd5b6113218b8b6122b3565b63ffffffff808c1660009081526008602090815260408083205460ff8f1684526009909252909120549116955061ffff16935060059250600a9150600387141561139757600e54612710908602600a0204600a0192506103e861038485020491506101408311156113925761014092505b611586565b60028714156113d257600e546127109086026028020460280192506103e86105a085025b0491506105dc831115611392576105dc9250611586565b600187141561140e57600e5461271090860261012c020461012c0192506103e86108098502049150611770831115611392576117709250611586565b600487141561144857600e546127109086026096020460960192506103e861108b8502049150613a9883111561139257613a989250611586565b600587141561147057600e546127109086026096020460960192506103e861016885026113bb565b60068714156114aa57600e546127109086026096020460960192506103e86102d08502049150610fa083111561139257610fa09250611586565b60078714156114e457600e546127109086026096020460960192506103e86102d085020491506103e8831115611392576103e89250611586565b600987141561151957600e546127109086020460010192506103e86107d08502049150604b83111561139257604b9250611586565b6063871061155157600e546127109086026032020460320192506103e8600a85020491506101f4831115611392576101f49250611586565b6008871061158657600e546127109086026064020460640192506103e86102d085020491506105dc831115611586576105dc92505b600d548260020201915087600160a060020a0316634d15642a8c858d8660405160e060020a63ffffffff87160281526004810194909452602484019290925260ff1660448301526064820152608401602060405180830381600087803b15156115ee57600080fd5b5af115156115fb57600080fd5b505050604051805191505060008111156116da576001600860008d63ffffffff1663ffffffff16815260200190815260200160002060008282829054906101000a900463ffffffff160192506101000a81548163ffffffff021916908363ffffffff16021790555089600a60008d63ffffffff1663ffffffff16815260200190815260200160002060006101000a81548160ff021916908360ff16021790555042600c60008d63ffffffff1663ffffffff16815260200190815260200160002060006101000a81548163ffffffff021916908363ffffffff1602179055505b9a9950505050505050505050565b600281565b6102d081565b4290565b60045460ff1681565b604b81565b601154600090600160a060020a0316806351cfa44b8460405160e060020a63ffffffff841602815260ff9091166004820152602401602060405180830381600087803b1515610f0257600080fd5b61016881565b600c6020526000908152604090205463ffffffff1681565b600560209081526000928352604080842090915290825290205463ffffffff1681565b6101f481565b606381565b6105a081565b61038481565b61108b81565b60005433600160a060020a03908116911614806117dc575060015433600160a060020a039081169116145b15156117e757600080fd5b600160a060020a03811615156117fc57600080fd5b60018054600160a060020a031916600160a060020a0392909216919091179055565b60005433600160a060020a0390811691161480611849575060015433600160a060020a039081169116145b151561185457600080fd5b60045460ff161561186457600080fd5b6004805460ff19166001179055565b600481565b60005433600160a060020a03908116911614806118a3575060015433600160a060020a039081169116145b15156118ae57600080fd5b60045460ff1615156118bf57600080fd5b6004805461ff0019169055565b61012c81565b6107d081565b606481565b6103e881565b600160a060020a03166000908152600660208181526040808420848052909152808320546001845281842054600285528285205460038652838620546004875284872054600588528588205496885285882054600789528689205460088a52878a205460098b52888b2054600a8c52898c2054600b8d5299909b205463ffffffff9889169c9789169b9689169a9589169994891698958616979386169692861695918216949282169392821692911690565b60005433600160a060020a03908116911614806119c0575060015433600160a060020a039081169116145b15156119cb57600080fd5b60118054600160a060020a031916600160a060020a0392909216919091179055565b60005433600160a060020a0390811691161480611a18575060015433600160a060020a039081169116145b1515611a2357600080fd5b600f8054600160a060020a031916600160a060020a0392909216919091179055565b60408051908101604052600e81527f4d454147616d654d616e61676572000000000000000000000000000000000000602082015281565b600e5481565b61080981565b60005433600160a060020a0390811691161480611ab3575060015433600160a060020a039081169116145b1515611abe57600080fd5b60045460ff161515611acf57600080fd5b6004805461ff001916610100179055565b63ffffffff9081166000908152600c60205260409020541690565b600054600160a060020a031681565b60005433600160a060020a0390811691161480611b35575060015433600160a060020a039081169116145b1515611b4057600080fd5b600160a060020a0382161515611b5557600080fd5b600160a060020a03821660009081526003602052604090819020805460ff191660ff84161790557fe0546fbe1658c19d0abce113642b889606be7291a861e29191abaaf95ae05bb2908390839051600160a060020a03909216825260ff1660208201526040908101905180910390a15050565b63ffffffff166000908152600a602052604090205460ff1690565b60005433600160a060020a0390811691161480611c0e575060015433600160a060020a039081169116145b1515611c1957600080fd5b600160a060020a0381161515611c2e57600080fd5b60008054600160a060020a031916600160a060020a0392909216919091179055565b600454610100900460ff1681565b60ff1660009081526009602052604090205461ffff1690565b613a9881565b600160a060020a03166000908152600760208181526040808420848052909152808320546001845281842054600285528285205460038652838620546004875284872054600588528588205460068952868920549789528689205460088a52878a205460098b52888b2054600a8c52898c2054600b8d5299909b205463ffffffff9889169c9789169b9689169a95891699948916989384169795841696928416959184169492841693928316921690565b600080548190819033600160a060020a0390811691161480611d5e575060015433600160a060020a039081169116145b1515611d6957600080fd5b600160a060020a0384161515611d7e57600080fd5b600092505b600c8360ff161015611ea55760ff83166000908152600b6020526040902054600160a060020a031615611e9a5760ff83166000908152600b60205260409081902054600160a060020a0316925082906370a082319030905160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515611e1657600080fd5b5af11515611e2357600080fd5b5050506040518051915050600160a060020a03821663a9059cbb858360405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515611e8257600080fd5b5af11515611e8f57600080fd5b505050604051805150505b600190920191611d83565b50505050565b610fa081565b60086020526000908152604090205463ffffffff1681565b600381565b600254600160a060020a031681565b600881565b61ffff166000908152600b6020526040902054600160a060020a031690565b600154600160a060020a031681565b60005433600160a060020a0390811691161480611f3b575060015433600160a060020a039081169116145b1515611f4657600080fd5b600160a060020a0381161515611f5b57600080fd5b60028054600160a060020a031916600160a060020a0392909216919091179055565b61177081565b60008054819033600160a060020a0390811691161480611fb1575060015433600160a060020a039081169116145b1515611fbc57600080fd5b5081905060005b600c8160ff161015610d2d5781600160a060020a031663ce8808ea8260405160e060020a63ffffffff841602815260ff9091166004820152602401602060405180830381600087803b151561201757600080fd5b5af1151561202457600080fd5b505050604051805160ff83166000908152600b602052604090208054600160a060020a031916600160a060020a039290921691909117905550600101611fc3565b60005433600160a060020a0390811691161480612090575060015433600160a060020a039081169116145b151561209b57600080fd5b61ffff919091166000908152600b602052604090208054600160a060020a031916600160a060020a03909216919091179055565b601154600090600160a060020a03168063c4e41b226040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610dee57600080fd5b60005433600160a060020a039081169116148061213d575060015433600160a060020a039081169116145b151561214857600080fd5b60108054600160a060020a031916600160a060020a0392909216919091179055565b600080808080808080610bb8891161221057600f54600160a060020a03169250826370994b318a60405160e060020a63ffffffff8416028152600481019190915260240160c060405180830381600087803b15156121c757600080fd5b5af115156121d457600080fd5b5050506040518051906020018051906020018051906020018051906020018051906020018051929d50919b5093995092975095506122a8915050565b50601054600160a060020a0316806370994b318a60405160e060020a63ffffffff8416028152600481019190915260240160e060405180830381600087803b151561225a57600080fd5b5af1151561226757600080fd5b5050506040518051906020018051906020018051906020018051906020018051906020018051906020018051939e50929c50949a5093985090965091935050505b505050505050915091565b60006122bd6124af565b601154600160a060020a0316915060008083637f9c8974876040518263ffffffff1660e060020a028152600401808263ffffffff16815260200191505061018060405180830381600087803b151561231457600080fd5b5af1151561232157600080fd5b5050506040518061018001604052925060009150600090505b600c8160ff1610156123c65760008360ff8316600c811061235757fe5b602002015111156123be578260ff8216600c811061237157fe5b602002015133600160a060020a0316600090815260066020908152604080832060ff861684529091529020805463ffffffff19811663ffffffff9182169390930116919091179055600191505b60010161233a565b811580156123d7575060008560ff16115b1561244f57600084600160a060020a03166351cfa44b8760405160e060020a63ffffffff841602815260ff9091166004820152602401602060405180830381600087803b151561242657600080fd5b5af1151561243357600080fd5b5050506040518051905063ffffffff1611151561244f57600080fd5b83600160a060020a03166385dc67218760405163ffffffff83811660e060020a028252919091166004820152602401600060405180830381600087803b151561249757600080fd5b5af115156124a457600080fd5b505050505050505050565b610180604051908101604052600c815b60008152602001906001900390816124bf57905050905600a165627a7a72305820e8bf8afd92792b16a1813929b3b842caf5a96539d40fdb1a7de9b55dd40b03610029
Swarm Source
bzzr://e8bf8afd92792b16a1813929b3b842caf5a96539d40fdb1a7de9b55dd40b0361
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ 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.