More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 40 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
Value | ||||
---|---|---|---|---|---|---|---|---|---|
Remove Castle Fr... | 5855198 | 2092 days ago | IN | 0 ETH | 0.0003728 | ||||
Remove Castle Fr... | 5855192 | 2092 days ago | IN | 0 ETH | 0.0003434 | ||||
Remove Castle Fr... | 5855143 | 2092 days ago | IN | 0 ETH | 0.0003434 | ||||
Remove Castle Fr... | 5852647 | 2093 days ago | IN | 0 ETH | 0.0003431 | ||||
Remove Castle Fr... | 5852644 | 2093 days ago | IN | 0 ETH | 0.0003434 | ||||
Remove Castle Fr... | 5852641 | 2093 days ago | IN | 0 ETH | 0.0003434 | ||||
Remove Castle Fr... | 5852639 | 2093 days ago | IN | 0 ETH | 0.0003434 | ||||
Remove Castle Fr... | 5852635 | 2093 days ago | IN | 0 ETH | 0.0003434 | ||||
Remove Castle Fr... | 5852629 | 2093 days ago | IN | 0 ETH | 0.0003731 | ||||
Remove Castle Fr... | 5852622 | 2093 days ago | IN | 0 ETH | 0.0003431 | ||||
Remove Castle Fr... | 5852619 | 2093 days ago | IN | 0 ETH | 0.0003434 | ||||
Remove Castle Fr... | 5852614 | 2093 days ago | IN | 0 ETH | 0.0003434 | ||||
Remove Castle Fr... | 5852607 | 2093 days ago | IN | 0 ETH | 0.0003434 | ||||
Remove Castle Fr... | 5852602 | 2093 days ago | IN | 0 ETH | 0.0003434 | ||||
Add Moderator | 5047878 | 2231 days ago | IN | 0 ETH | 0.00109183 | ||||
Add Moderator | 4979986 | 2242 days ago | IN | 0 ETH | 0.00019851 | ||||
Add Moderator | 4964720 | 2245 days ago | IN | 0 ETH | 0.00119109 | ||||
Deduct Trainer B... | 4962056 | 2245 days ago | IN | 0 ETH | 0.00035443 | ||||
Deduct Trainer B... | 4959384 | 2246 days ago | IN | 0 ETH | 0.00035443 | ||||
Deduct Trainer B... | 4953077 | 2247 days ago | IN | 0 ETH | 0.00035443 | ||||
Deduct Trainer B... | 4953054 | 2247 days ago | IN | 0 ETH | 0.00035443 | ||||
Deduct Trainer B... | 4953033 | 2247 days ago | IN | 0 ETH | 0.00035443 | ||||
Deduct Trainer B... | 4953001 | 2247 days ago | IN | 0 ETH | 0.00035443 | ||||
Deduct Trainer B... | 4952982 | 2247 days ago | IN | 0 ETH | 0.00035443 | ||||
Deduct Trainer B... | 4952946 | 2247 days ago | IN | 0 ETH | 0.00035443 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
EtheremonCastleBattle
Compiler Version
v0.4.19+commit.c4cbbb05
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-01-06 */ pragma solidity ^0.4.16; // copyright [email protected] contract SafeMath { /* function assert(bool assertion) internal { */ /* if (!assertion) { */ /* throw; */ /* } */ /* } // assert no longer needed once solidity is on 0.4.10 */ function safeAdd(uint256 x, uint256 y) pure internal returns(uint256) { uint256 z = x + y; assert((z >= x) && (z >= y)); return z; } function safeSubtract(uint256 x, uint256 y) pure internal returns(uint256) { assert(x >= y); uint256 z = x - y; return z; } function safeMult(uint256 x, uint256 y) pure internal returns(uint256) { uint256 z = x * y; assert((x == 0)||(z/x == y)); return z; } } contract BasicAccessControl { address public owner; // address[] public moderators; uint16 public totalModerators = 0; mapping (address => bool) public moderators; bool public isMaintaining = true; function BasicAccessControl() public { owner = msg.sender; } modifier onlyOwner { require(msg.sender == owner); _; } modifier onlyModerators() { require(moderators[msg.sender] == true); _; } modifier isActive { require(!isMaintaining); _; } function ChangeOwner(address _newOwner) onlyOwner public { if (_newOwner != address(0)) { owner = _newOwner; } } function AddModerator(address _newModerator) onlyOwner public { if (moderators[_newModerator] == false) { moderators[_newModerator] = true; totalModerators += 1; } } function RemoveModerator(address _oldModerator) onlyOwner public { if (moderators[_oldModerator] == true) { moderators[_oldModerator] = false; totalModerators -= 1; } } function UpdateMaintaining(bool _isMaintaining) onlyOwner public { isMaintaining = _isMaintaining; } } contract EtheremonEnum { enum ResultCode { SUCCESS, ERROR_CLASS_NOT_FOUND, ERROR_LOW_BALANCE, ERROR_SEND_FAIL, ERROR_NOT_TRAINER, ERROR_NOT_ENOUGH_MONEY, ERROR_INVALID_AMOUNT } enum ArrayType { CLASS_TYPE, STAT_STEP, STAT_START, STAT_BASE, OBJ_SKILL } } contract EtheremonCastleBattle is EtheremonEnum, BasicAccessControl, SafeMath { uint8 constant public NO_BATTLE_LOG = 4; struct CastleData { uint index; // in active castle if > 0 string name; address owner; uint32 totalWin; uint32 totalLose; uint64[6] monsters; // 3 attackers, 3 supporters uint64[4] battleList; uint32 brickNumber; uint createTime; } struct BattleDataLog { uint32 castleId; address attacker; uint32[3] castleExps; // 3 attackers uint64[6] attackerObjIds; uint32[3] attackerExps; uint8[3] randoms; uint8 result; } struct TrainerBattleLog { uint32 lastCastle; uint32 totalWin; uint32 totalLose; uint64[4] battleList; uint32 totalBrick; } mapping(uint64 => BattleDataLog) battles; mapping(address => uint32) trainerCastle; mapping(address => TrainerBattleLog) trannerBattleLog; mapping(uint32 => CastleData) castleData; uint32[] activeCastleList; uint32 public totalCastle = 0; uint64 public totalBattle = 0; // only moderators /* TO AVOID ANY BUGS, WE ALLOW MODERATORS TO HAVE PERMISSION TO ALL THESE FUNCTIONS AND UPDATE THEM IN EARLY BETA STAGE. AFTER THE SYSTEM IS STABLE, WE WILL REMOVE OWNER OF THIS SMART CONTRACT AND ONLY KEEP ONE MODERATOR WHICH IS ETHEREMON BATTLE CONTRACT. HENCE, THE DECENTRALIZED ATTRIBUTION IS GUARANTEED. */ function addCastle(address _trainer, string _name, uint64 _a1, uint64 _a2, uint64 _a3, uint64 _s1, uint64 _s2, uint64 _s3, uint32 _brickNumber) onlyModerators external returns(uint32 currentCastleId){ currentCastleId = trainerCastle[_trainer]; if (currentCastleId > 0) return currentCastleId; totalCastle += 1; currentCastleId = totalCastle; CastleData storage castle = castleData[currentCastleId]; castle.name = _name; castle.owner = _trainer; castle.monsters[0] = _a1; castle.monsters[1] = _a2; castle.monsters[2] = _a3; castle.monsters[3] = _s1; castle.monsters[4] = _s2; castle.monsters[5] = _s3; castle.brickNumber = _brickNumber; castle.createTime = now; castle.index = ++activeCastleList.length; activeCastleList[castle.index-1] = currentCastleId; // mark sender trainerCastle[_trainer] = currentCastleId; } function renameCastle(uint32 _castleId, string _name) onlyModerators external { CastleData storage castle = castleData[_castleId]; castle.name = _name; } function removeCastleFromActive(uint32 _castleId) onlyModerators external { CastleData storage castle = castleData[_castleId]; if (castle.index == 0) return; trainerCastle[castle.owner] = 0; if (castle.index <= activeCastleList.length) { // Move an existing element into the vacated key slot. castleData[activeCastleList[activeCastleList.length-1]].index = castle.index; activeCastleList[castle.index-1] = activeCastleList[activeCastleList.length-1]; activeCastleList.length -= 1; castle.index = 0; } trannerBattleLog[castle.owner].lastCastle = _castleId; } function addBattleLog(uint32 _castleId, address _attacker, uint8 _ran1, uint8 _ran2, uint8 _ran3, uint8 _result, uint32 _castleExp1, uint32 _castleExp2, uint32 _castleExp3) onlyModerators external returns(uint64) { totalBattle += 1; BattleDataLog storage battleLog = battles[totalBattle]; battleLog.castleId = _castleId; battleLog.attacker = _attacker; battleLog.randoms[0] = _ran1; battleLog.randoms[1] = _ran2; battleLog.randoms[2] = _ran3; battleLog.result = _result; battleLog.castleExps[0] = _castleExp1; battleLog.castleExps[1] = _castleExp2; battleLog.castleExps[2] = _castleExp3; // CastleData storage castle = castleData[_castleId]; TrainerBattleLog storage trainerLog = trannerBattleLog[_attacker]; /* CASTLE_WIN = 0 CASTLE_LOSE = 1 CASTLE_DESTROYED= 2 */ if (_result == 0) { // win castle.totalWin += 1; trainerLog.totalLose += 1; } else { castle.totalLose += 1; trainerLog.totalWin += 1; if (_result == 2) { // destroy trainerLog.totalBrick += castle.brickNumber / 2; } } castle.battleList[(castle.totalLose + castle.totalWin - 1)%NO_BATTLE_LOG] = totalBattle; trainerLog.battleList[(trainerLog.totalWin + trainerLog.totalLose - 1)%NO_BATTLE_LOG] = totalBattle; return totalBattle; } function addBattleLogMonsterInfo(uint64 _battleId, uint64 _a1, uint64 _a2, uint64 _a3, uint64 _s1, uint64 _s2, uint64 _s3, uint32 _exp1, uint32 _exp2, uint32 _exp3) onlyModerators external { BattleDataLog storage battleLog = battles[_battleId]; battleLog.attackerObjIds[0] = _a1; battleLog.attackerObjIds[1] = _a2; battleLog.attackerObjIds[2] = _a3; battleLog.attackerObjIds[3] = _s1; battleLog.attackerObjIds[4] = _s2; battleLog.attackerObjIds[5] = _s3; battleLog.attackerExps[0] = _exp1; battleLog.attackerExps[1] = _exp2; battleLog.attackerExps[2] = _exp3; } function deductTrainerBrick(address _trainer, uint32 _deductAmount) onlyModerators external returns(bool){ TrainerBattleLog storage trainerLog = trannerBattleLog[_trainer]; if (trainerLog.totalBrick < _deductAmount) return false; trainerLog.totalBrick -= _deductAmount; return true; } // read access function isCastleActive(uint32 _castleId) constant external returns(bool){ CastleData storage castle = castleData[_castleId]; return (castle.index > 0); } function countActiveCastle() constant external returns(uint) { return activeCastleList.length; } function getActiveCastleId(uint index) constant external returns(uint32) { return activeCastleList[index]; } function getCastleBasicInfo(address _owner) constant external returns(uint32, uint, uint32) { uint32 currentCastleId = trainerCastle[_owner]; if (currentCastleId == 0) return (0, 0, 0); CastleData memory castle = castleData[currentCastleId]; return (currentCastleId, castle.index, castle.brickNumber); } function getCastleBasicInfoById(uint32 _castleId) constant external returns(uint, address, uint32) { CastleData memory castle = castleData[_castleId]; return (castle.index, castle.owner, castle.brickNumber); } function getCastleObjInfo(uint32 _castleId) constant external returns(uint64, uint64, uint64, uint64, uint64, uint64) { CastleData memory castle = castleData[_castleId]; return (castle.monsters[0], castle.monsters[1], castle.monsters[2], castle.monsters[3], castle.monsters[4], castle.monsters[5]); } function getCastleWinLose(uint32 _castleId) constant external returns(uint32, uint32, uint32) { CastleData memory castle = castleData[_castleId]; return (castle.totalWin, castle.totalLose, castle.brickNumber); } function getCastleStats(uint32 _castleId) constant external returns(string, address, uint32, uint32, uint32, uint) { CastleData memory castle = castleData[_castleId]; return (castle.name, castle.owner, castle.brickNumber, castle.totalWin, castle.totalLose, castle.createTime); } function getBattleDataLog(uint64 _battleId) constant external returns(uint32, address, uint8, uint8, uint8, uint8, uint32, uint32, uint32) { BattleDataLog memory battleLog = battles[_battleId]; return (battleLog.castleId, battleLog.attacker, battleLog.result, battleLog.randoms[0], battleLog.randoms[1], battleLog.randoms[2], battleLog.castleExps[0], battleLog.castleExps[1], battleLog.castleExps[2]); } function getBattleAttackerLog(uint64 _battleId) constant external returns(uint64, uint64, uint64, uint64, uint64, uint64, uint32, uint32, uint32) { BattleDataLog memory battleLog = battles[_battleId]; return (battleLog.attackerObjIds[0], battleLog.attackerObjIds[1], battleLog.attackerObjIds[2], battleLog.attackerObjIds[3], battleLog.attackerObjIds[4], battleLog.attackerObjIds[5], battleLog.attackerExps[0], battleLog.attackerExps[1], battleLog.attackerExps[2]); } function getCastleBattleList(uint32 _castleId) constant external returns(uint64, uint64, uint64, uint64) { CastleData storage castle = castleData[_castleId]; return (castle.battleList[0], castle.battleList[1], castle.battleList[2], castle.battleList[3]); } function getTrainerBattleInfo(address _trainer) constant external returns(uint32, uint32, uint32, uint32, uint64, uint64, uint64, uint64) { TrainerBattleLog memory trainerLog = trannerBattleLog[_trainer]; return (trainerLog.totalWin, trainerLog.totalLose, trainerLog.lastCastle, trainerLog.totalBrick, trainerLog.battleList[0], trainerLog.battleList[1], trainerLog.battleList[2], trainerLog.battleList[3]); } function getTrainerBrick(address _trainer) constant external returns(uint32) { return trannerBattleLog[_trainer].totalBrick; } function isOnCastle(uint32 _castleId, uint64 _objId) constant external returns(bool) { CastleData storage castle = castleData[_castleId]; if (castle.index > 0) { for (uint i = 0; i < castle.monsters.length; i++) if (castle.monsters[i] == _objId) return true; return false; } return false; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[{"name":"_castleId","type":"uint32"}],"name":"getCastleObjInfo","outputs":[{"name":"","type":"uint64"},{"name":"","type":"uint64"},{"name":"","type":"uint64"},{"name":"","type":"uint64"},{"name":"","type":"uint64"},{"name":"","type":"uint64"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_castleId","type":"uint32"}],"name":"getCastleBattleList","outputs":[{"name":"","type":"uint64"},{"name":"","type":"uint64"},{"name":"","type":"uint64"},{"name":"","type":"uint64"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"moderators","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_battleId","type":"uint64"}],"name":"getBattleDataLog","outputs":[{"name":"","type":"uint32"},{"name":"","type":"address"},{"name":"","type":"uint8"},{"name":"","type":"uint8"},{"name":"","type":"uint8"},{"name":"","type":"uint8"},{"name":"","type":"uint32"},{"name":"","type":"uint32"},{"name":"","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_battleId","type":"uint64"}],"name":"getBattleAttackerLog","outputs":[{"name":"","type":"uint64"},{"name":"","type":"uint64"},{"name":"","type":"uint64"},{"name":"","type":"uint64"},{"name":"","type":"uint64"},{"name":"","type":"uint64"},{"name":"","type":"uint32"},{"name":"","type":"uint32"},{"name":"","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_castleId","type":"uint32"}],"name":"getCastleStats","outputs":[{"name":"","type":"string"},{"name":"","type":"address"},{"name":"","type":"uint32"},{"name":"","type":"uint32"},{"name":"","type":"uint32"},{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_castleId","type":"uint32"},{"name":"_attacker","type":"address"},{"name":"_ran1","type":"uint8"},{"name":"_ran2","type":"uint8"},{"name":"_ran3","type":"uint8"},{"name":"_result","type":"uint8"},{"name":"_castleExp1","type":"uint32"},{"name":"_castleExp2","type":"uint32"},{"name":"_castleExp3","type":"uint32"}],"name":"addBattleLog","outputs":[{"name":"","type":"uint64"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_trainer","type":"address"}],"name":"getTrainerBrick","outputs":[{"name":"","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_battleId","type":"uint64"},{"name":"_a1","type":"uint64"},{"name":"_a2","type":"uint64"},{"name":"_a3","type":"uint64"},{"name":"_s1","type":"uint64"},{"name":"_s2","type":"uint64"},{"name":"_s3","type":"uint64"},{"name":"_exp1","type":"uint32"},{"name":"_exp2","type":"uint32"},{"name":"_exp3","type":"uint32"}],"name":"addBattleLogMonsterInfo","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalCastle","outputs":[{"name":"","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_trainer","type":"address"}],"name":"getTrainerBattleInfo","outputs":[{"name":"","type":"uint32"},{"name":"","type":"uint32"},{"name":"","type":"uint32"},{"name":"","type":"uint32"},{"name":"","type":"uint64"},{"name":"","type":"uint64"},{"name":"","type":"uint64"},{"name":"","type":"uint64"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_castleId","type":"uint32"}],"name":"removeCastleFromActive","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_castleId","type":"uint32"},{"name":"_name","type":"string"}],"name":"renameCastle","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_isMaintaining","type":"bool"}],"name":"UpdateMaintaining","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalModerators","outputs":[{"name":"","type":"uint16"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_trainer","type":"address"},{"name":"_deductAmount","type":"uint32"}],"name":"deductTrainerBrick","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newModerator","type":"address"}],"name":"AddModerator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_castleId","type":"uint32"}],"name":"isCastleActive","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"index","type":"uint256"}],"name":"getActiveCastleId","outputs":[{"name":"","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalBattle","outputs":[{"name":"","type":"uint64"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_trainer","type":"address"},{"name":"_name","type":"string"},{"name":"_a1","type":"uint64"},{"name":"_a2","type":"uint64"},{"name":"_a3","type":"uint64"},{"name":"_s1","type":"uint64"},{"name":"_s2","type":"uint64"},{"name":"_s3","type":"uint64"},{"name":"_brickNumber","type":"uint32"}],"name":"addCastle","outputs":[{"name":"currentCastleId","type":"uint32"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_oldModerator","type":"address"}],"name":"RemoveModerator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_castleId","type":"uint32"}],"name":"getCastleWinLose","outputs":[{"name":"","type":"uint32"},{"name":"","type":"uint32"},{"name":"","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"countActiveCastle","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_castleId","type":"uint32"},{"name":"_objId","type":"uint64"}],"name":"isOnCastle","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isMaintaining","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"ChangeOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_castleId","type":"uint32"}],"name":"getCastleBasicInfoById","outputs":[{"name":"","type":"uint256"},{"name":"","type":"address"},{"name":"","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"getCastleBasicInfo","outputs":[{"name":"","type":"uint32"},{"name":"","type":"uint256"},{"name":"","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"NO_BATTLE_LOG","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"}]
Contract Creation Code
6060604052600080546002805460ff19166001179055600880546001606060020a0319169055600160a060020a033316600160b060020a0319909116179055612c688061004d6000396000f30060606040526004361061018a5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166301d43945811461018f5780630233fe1b146101f057806314d0f1ba146102425780631a2a2caf146102755780631be527a8146102fc5780631df7013a1461037e5780631f674b5a146104485780632ecfa02c146104bb57806330a80870146104f357806335dfcc921461054f57806338aefbe5146105625780634377c1cf146105dd57806343b37b45146105f957806348ef5aa8146106215780634efb023e146106395780635b188d40146106635780636c81fd6d1461068b57806380af5e20146106aa57806382bba98f146106c65780638da5cb5b146106dc57806399c8268b1461070b578063b5e5a50a1461071e578063b85d62751461077e578063bb583f191461079d578063d7ebf53d146107e7578063dc268db91461080c578063ee4e441614610834578063f285329214610847578063f31dec5a14610866578063f8a74501146108b4578063f9d429ee14610901575b600080fd5b341561019a57600080fd5b6101ab63ffffffff6004351661092a565b6040516001604060020a0396871681529486166020860152928516604080860191909152918516606085015284166080840152921660a082015260c001905180910390f35b34156101fb57600080fd5b61020c63ffffffff60043516610b7e565b6040516001604060020a039485168152928416602084015290831660408084019190915292166060820152608001905180910390f35b341561024d57600080fd5b610261600160a060020a0360043516610bd4565b604051901515815260200160405180910390f35b341561028057600080fd5b6102946001604060020a0360043516610be9565b60405163ffffffff998a168152600160a060020a03909816602089015260ff9687166040808a0191909152958716606089015293861660808801529190941660a086015292851660c085015291841660e0840152921661010082015261012001905180910390f35b341561030757600080fd5b61031b6001604060020a0360043516610e41565b6040516001604060020a03998a168152978916602089015295881660408089019190915294881660608801529287166080870152951660a085015263ffffffff94851660c0850152841660e0840152921661010082015261012001905180910390f35b341561038957600080fd5b61039a63ffffffff60043516611087565b604051600160a060020a038616602082015263ffffffff808616604083015284811660608301528316608082015260a0810182905260c08082528190810188818151815260200191508051906020019080838360005b838110156104085780820151838201526020016103f0565b50505050905090810190601f1680156104355780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390f35b341561045357600080fd5b61049f63ffffffff600435811690600160a060020a03602435169060ff60443581169160643582169160843581169160a4359091169060c43581169060e43581169061010435166112d1565b6040516001604060020a03909116815260200160405180910390f35b34156104c657600080fd5b6104da600160a060020a036004351661177d565b60405163ffffffff909116815260200160405180910390f35b34156104fe57600080fd5b61054d6001604060020a0360043581169060243581169060443581169060643581169060843581169060a43581169060c4351663ffffffff60e4358116906101043581169061012435166117a1565b005b341561055a57600080fd5b6104da6119df565b341561056d57600080fd5b610581600160a060020a03600435166119eb565b60405163ffffffff988916815296881660208801529487166040808801919091529390961660608601526001604060020a039182166080860152811660a085015293841660c0840152921660e082015261010001905180910390f35b34156105e857600080fd5b61054d63ffffffff60043516611b23565b341561060457600080fd5b61054d6004803563ffffffff169060248035908101910135611cc1565b341561062c57600080fd5b61054d6004351515611d16565b341561064457600080fd5b61064c611d44565b60405161ffff909116815260200160405180910390f35b341561066e57600080fd5b610261600160a060020a036004351663ffffffff60243516611d55565b341561069657600080fd5b61054d600160a060020a0360043516611de4565b34156106b557600080fd5b61026163ffffffff60043516611e7d565b34156106d157600080fd5b6104da600435611e96565b34156106e757600080fd5b6106ef611ed4565b604051600160a060020a03909116815260200160405180910390f35b341561071657600080fd5b61049f611ee3565b341561072957600080fd5b6104da60048035600160a060020a031690602480359081019101356044356001604060020a039081169060643581169060843581169060a43581169060c43581169060e435166101043563ffffffff16611efa565b341561078957600080fd5b61054d600160a060020a03600435166121de565b34156107a857600080fd5b6107b963ffffffff60043516612277565b60405163ffffffff938416815291831660208301529091166040808301919091526060909101905180910390f35b34156107f257600080fd5b6107fa61249c565b60405190815260200160405180910390f35b341561081757600080fd5b61026163ffffffff600435166001604060020a03602435166124a3565b341561083f57600080fd5b61026161253f565b341561085257600080fd5b61054d600160a060020a0360043516612548565b341561087157600080fd5b61088263ffffffff6004351661259f565b604051928352600160a060020a03909116602083015263ffffffff166040808301919091526060909101905180910390f35b34156108bf57600080fd5b6108d3600160a060020a03600435166127c1565b60405163ffffffff938416815260208101929092529091166040808301919091526060909101905180910390f35b341561090c57600080fd5b610914612a19565b60405160ff909116815260200160405180910390f35b60008060008060008061093b612a1e565b63ffffffff881660009081526006602052604090819020906101209051908101604052908160008201548152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610a025780601f106109d757610100808354040283529160200191610a02565b820191906000526020600020905b8154815290600101906020018083116109e557829003601f168201915b50505091835250506002820154600160a060020a038116602083015263ffffffff60a060020a8204811660408085019190915260c060020a909204166060830152608090910190600383019060069060c09051908101604052919060c08301826000855b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411610a6657905050505091835250506020016005820160046080604051908101604052919060808301826000855b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411610acf57505050928452505050600682015463ffffffff166020820152600790910154604090910152905060a0810151518160a00151602001518260a00151604001518360a00151606001518460a00151608001518560a0015160a00151949d939c50919a509850965090945092505050565b63ffffffff166000908152600660205260409020600501546001604060020a0380821692680100000000000000008304821692700100000000000000000000000000000000810483169260c060020a9091041690565b60016020526000908152604090205460ff1681565b6000806000806000806000806000610bff612a7d565b6001604060020a038b16600090815260036020526040908190209060e090519081016040908152825463ffffffff811683526401000000009004600160a060020a0316602083015290919080830190600183019060039060609051908101604052919060608301826000855b82829054906101000a900463ffffffff1663ffffffff1681526020019060040190602082600301049283019260010382029150808411610c6b579050505050918352505060200160028201600660c0604051908101604052919060c08301826000855b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411610cce57905050505091835250506020016004820160036060604051908101604052919060608301826000855b82829054906101000a900463ffffffff1663ffffffff1681526020019060040190602082600301049283019260010382029150808411610d3757905050505091835250506020016005820160036060604051908101604052919060608301826000855b825461010083900a900460ff16815260206001928301818104948501949093039092029101808411610d9a575050509284525050506006919091015460ff166020909101529050805181602001518260c001518360a00151518460a00151602001518560a0015160400151866040015151876040015160200151886040015160025b6020020151995099509950995099509950995099509950509193959799909294969850565b6000806000806000806000806000610e57612a7d565b6001604060020a038b16600090815260036020526040908190209060e090519081016040908152825463ffffffff811683526401000000009004600160a060020a0316602083015290919080830190600183019060039060609051908101604052919060608301826000855b82829054906101000a900463ffffffff1663ffffffff1681526020019060040190602082600301049283019260010382029150808411610ec3579050505050918352505060200160028201600660c0604051908101604052919060c08301826000855b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411610f2657905050505091835250506020016004820160036060604051908101604052919060608301826000855b82829054906101000a900463ffffffff1663ffffffff1681526020019060040190602082600301049283019260010382029150808411610f8f57905050505091835250506020016005820160036060604051908101604052919060608301826000855b825461010083900a900460ff16815260206001928301818104948501949093039092029101808411610ff2575050509284525050506006919091015460ff166020909101529050606081015151816060015160200151826060015160400151836060015160600151846060015160800151856060015160a0015186608001515187608001516020015188608001516002610e1c565b61108f612ad3565b600080600080600061109f612a1e565b63ffffffff881660009081526006602052604090819020906101209051908101604052908160008201548152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111665780601f1061113b57610100808354040283529160200191611166565b820191906000526020600020905b81548152906001019060200180831161114957829003601f168201915b50505091835250506002820154600160a060020a038116602083015263ffffffff60a060020a8204811660408085019190915260c060020a909204166060830152608090910190600383019060069060c09051908101604052919060c08301826000855b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116111ca57905050505091835250506020016005820160046080604051908101604052919060808301826000855b82829054906101000a90046001604060020a03166001604060020a03168152602001906008019060208260070104928301926001038202915080841161123357505050928452505050600682015463ffffffff1660208083019190915260079092015460409091015290915081015181604001518260e0015183606001518460800151856101000151949d939c50919a509850965090945092505050565b600160a060020a033316600090815260016020819052604082205482918291829160ff90911615151461130357600080fd5b6001600860048282829054906101000a90046001604060020a03160192506101000a8154816001604060020a0302191690836001604060020a0316021790555060036000600860049054906101000a90046001604060020a03166001604060020a03166001604060020a0316815260200190815260200160002092508c8360000160006101000a81548163ffffffff021916908363ffffffff1602179055508b8360000160046101000a815481600160a060020a030219169083600160a060020a031602179055508a8360050160006003811015156113de57fe5b602091828204019190066101000a81548160ff021916908360ff1602179055508983600501600160038110151561141157fe5b602091828204019190066101000a81548160ff021916908360ff1602179055508883600501600260038110151561144457fe5b6020808204929092018054929091066101000a60ff81810219909316938316029290921790915560068401805460ff1916918a1691909117905560018301805463ffffffff191663ffffffff8981169190911767ffffffff0000000019166401000000009189169190910217815585906002600891828204019190066004026101000a81548163ffffffff021916908363ffffffff160217905550600660008e63ffffffff1663ffffffff1681526020019081526020016000209150600560008d600160a060020a0316600160a060020a0316815260200190815260200160002090508760ff16600014156115a75760028201805463ffffffff60a060020a80830482166001908101831690910277ffffffff000000000000000000000000000000000000000019909316929092179092558254680100000000000000008082048416909201909216026bffffffff000000000000000019909116178155611653565b6002808301805463ffffffff60c060020a8083048216600190810183169091027fffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffffff90931692909217909255835464010000000080820484169092019092160267ffffffff000000001990911617825560ff8916141561165357600682015460029063ffffffff1660028301805463ffffffff1981169390920463ffffffff928316019091169190911790555b60085460028301546401000000009091046001604060020a031690600584019060049060a060020a810463ffffffff90811660c060020a90920481169190910160001901160663ffffffff166004811015156116ab57fe5b600480820490920180546001604060020a0394851660089385900684026101000a90810290860219909116179055548354640100000000918290049093169260018501929160001990820463ffffffff9081166801000000000000000090930481169290920101160663ffffffff1660048110151561172657fe5b600491828204019190066008026101000a8154816001604060020a0302191690836001604060020a03160217905550600860049054906101000a90046001604060020a031693505050509998505050505050505050565b600160a060020a031660009081526005602052604090206002015463ffffffff1690565b600160a060020a033316600090815260016020819052604082205460ff161515146117cb57600080fd5b506001604060020a038a811660009081526003602052604090206002808201805467ffffffffffffffff19168d8516176fffffffffffffffff0000000000000000191668010000000000000000948d169490940293909317835590918991600491828204019190066008026101000a8154816001604060020a0302191690836001604060020a031602179055508681600201600360068110151561186b57fe5b600491828204019190066008026101000a8154816001604060020a0302191690836001604060020a03160217905550858160020160046006811015156118ad57fe5b600491828204019190066008026101000a8154816001604060020a0302191690836001604060020a03160217905550848160020160056006811015156118ef57fe5b600491828204019190066008026101000a8154816001604060020a0302191690836001604060020a031602179055508381600401600060038110151561193157fe5b600891828204019190066004026101000a81548163ffffffff021916908363ffffffff1602179055508281600401600160038110151561196d57fe5b600891828204019190066004026101000a81548163ffffffff021916908363ffffffff160217905550818160040160026003811015156119a957fe5b600891828204019190066004026101000a81548163ffffffff021916908363ffffffff1602179055505050505050505050505050565b60085463ffffffff1681565b6000806000806000806000806119ff612ae5565b600160a060020a038a16600090815260056020526040908190209060a090519081016040908152825463ffffffff80821684526401000000008204811660208501526801000000000000000090910416818301529091906060830190600183019060049060809051908101604052919060808301826000855b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411611a78575050509284525050506002919091015463ffffffff166020918201529091508101518160400151825183608001518460600151518560600151602001518660600151604001518760600151606001519850985098509850985098509850985050919395975091939597565b600160a060020a033316600090815260016020819052604082205460ff16151514611b4d57600080fd5b5063ffffffff8116600090815260066020526040902080541515611b7057611cbd565b6002810154600160a060020a03166000908152600460205260409020805463ffffffff19169055600754815411611c8d578054600780546006916000916000198101908110611bbb57fe5b6000918252602080832060088084049091015492066004026101000a90910463ffffffff168352820192909252604001902055600780546000198101908110611c0057fe5b90600052602060002090600891828204019190066004029054906101000a900463ffffffff1660076001836000015403815481101515611c3c57fe5b90600052602060002090600891828204019190066004026101000a81548163ffffffff021916908363ffffffff1602179055506001600781818054905003915081611c879190612b0f565b50600081555b6002810154600160a060020a03166000908152600560205260409020805463ffffffff191663ffffffff84161790555b5050565b600160a060020a033316600090815260016020819052604082205460ff16151514611ceb57600080fd5b5063ffffffff83166000908152600660205260409020611d0f600182018484612b48565b5050505050565b60005433600160a060020a03908116911614611d3157600080fd5b6002805460ff1916911515919091179055565b60005460a060020a900461ffff1681565b600160a060020a0333166000908152600160208190526040822054829160ff909116151514611d8357600080fd5b50600160a060020a0383166000908152600560205260409020600281015463ffffffff80851691161015611dba5760009150611ddd565b60028101805463ffffffff8082168690031663ffffffff19909116179055600191505b5092915050565b60005433600160a060020a03908116911614611dff57600080fd5b600160a060020a03811660009081526001602052604090205460ff161515611e7a57600160a060020a03811660009081526001602081905260408220805460ff191682179055815461ffff60a060020a80830482169093011690910275ffff0000000000000000000000000000000000000000199091161790555b50565b63ffffffff166000908152600660205260408120541190565b6000600782815481101515611ea757fe5b90600052602060002090600891828204019190066004029054906101000a900463ffffffff169050919050565b600054600160a060020a031681565b60085464010000000090046001604060020a031681565b600160a060020a0333166000908152600160208190526040822054829160ff909116151514611f2857600080fd5b600160a060020a038c1660009081526004602052604081205463ffffffff169250821115611f55576121cf565b50506008805463ffffffff198116600163ffffffff928316810183169190911792839055911660008181526006602052604090209091611f989082018c8c612b48565b506002818101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038f1617905560038201805467ffffffffffffffff19166001604060020a038c8116919091176fffffffffffffffff0000000000000000191668010000000000000000918c16919091021781558891600491828204019190066008026101000a8154816001604060020a0302191690836001604060020a031602179055508581600301600360068110151561204f57fe5b600491828204019190066008026101000a8154816001604060020a0302191690836001604060020a031602179055508481600301600460068110151561209157fe5b600491828204019190066008026101000a8154816001604060020a0302191690836001604060020a03160217905550838160030160056006811015156120d357fe5b600491828204019190066008026101000a8154816001604060020a0302191690836001604060020a03160217905550828160060160006101000a81548163ffffffff021916908363ffffffff1602179055504281600701819055506007805460010190816121419190612b0f565b8082556007805484926000190190811061215757fe5b90600052602060002090600891828204019190066004026101000a81548163ffffffff021916908363ffffffff16021790555081600460008e600160a060020a0316600160a060020a0316815260200190815260200160002060006101000a81548163ffffffff021916908363ffffffff1602179055505b509a9950505050505050505050565b60005433600160a060020a039081169116146121f957600080fd5b600160a060020a03811660009081526001602081905260409091205460ff1615151415611e7a57600160a060020a03166000908152600160205260408120805460ff19169055805475ffff000000000000000000000000000000000000000019811660a060020a9182900461ffff9081166000190116909102179055565b6000806000612284612a1e565b63ffffffff851660009081526006602052604090819020906101209051908101604052908160008201548152602001600182018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561234b5780601f106123205761010080835404028352916020019161234b565b820191906000526020600020905b81548152906001019060200180831161232e57829003601f168201915b50505091835250506002820154600160a060020a038116602083015263ffffffff60a060020a8204811660408085019190915260c060020a909204166060830152608090910190600383019060069060c09051908101604052919060c08301826000855b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116123af57905050505091835250506020016005820160046080604051908101604052919060808301826000855b82829054906101000a90046001604060020a03166001604060020a03168152602001906008019060208260070104928301926001038202915080841161241857505050928452505050600682015463ffffffff1660208201526007909101546040909101529050606081015181608001518260e00151935093509350509193909250565b6007545b90565b63ffffffff821660009081526006602052604081208054829081901115612532575060005b6006811015612529576001604060020a0384166003830182600681106124ea57fe5b600491828204019190066008029054906101000a90046001604060020a03166001604060020a031614156125215760019250612537565b6001016124c8565b60009250612537565b600092505b505092915050565b60025460ff1681565b60005433600160a060020a0390811691161461256357600080fd5b600160a060020a03811615611e7a5760008054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff1990911617905550565b60008060006125ac612a1e565b63ffffffff851660009081526006602052604090819020906101209051908101604052908160008201548152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156126735780601f1061264857610100808354040283529160200191612673565b820191906000526020600020905b81548152906001019060200180831161265657829003601f168201915b50505091835250506002820154600160a060020a038116602083015263ffffffff60a060020a8204811660408085019190915260c060020a909204166060830152608090910190600383019060069060c09051908101604052919060c08301826000855b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116126d757905050505091835250506020016005820160046080604051908101604052919060808301826000855b82829054906101000a90046001604060020a03166001604060020a03168152602001906008019060208260070104928301926001038202915080841161274057505050928452505050600682015463ffffffff1660208201526007909101546040909101529050805181604001518260e00151935093509350509193909250565b6000806000806127cf612a1e565b600160a060020a03861660009081526004602052604090205463ffffffff1691508115156128065760009450849350839250612a10565b63ffffffff821660009081526006602052604090819020906101209051908101604052908160008201548152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156128cd5780601f106128a2576101008083540402835291602001916128cd565b820191906000526020600020905b8154815290600101906020018083116128b057829003601f168201915b50505091835250506002820154600160a060020a038116602083015263ffffffff60a060020a8204811660408085019190915260c060020a909204166060830152608090910190600383019060069060c09051908101604052919060c08301826000855b82829054906101000a90046001604060020a03166001604060020a03168152602001906008019060208260070104928301926001038202915080841161293157905050505091835250506020016005820160046080604051908101604052919060808301826000855b82829054906101000a90046001604060020a03166001604060020a03168152602001906008019060208260070104928301926001038202915080841161299a57505050928452505050600682015463ffffffff16602082015260079091015460409091015290508181518260e001519450945094505b50509193909250565b600481565b6102206040519081016040528060008152602001612a3a612ad3565b8152600060208201819052604082018190526060820152608001612a5c612bc6565b8152602001612a69612bee565b815260006020820181905260409091015290565b6102406040519081016040908152600080835260208301528101612a9f612c08565b8152602001612aac612bc6565b8152602001612ab9612c08565b8152602001612ac6612c08565b8152600060209091015290565b60206040519081016040526000815290565b61010060405190810160409081526000808352602083018190529082015260608101612ac6612bee565b815481835581811511612b43576007016008900481600701600890048360005260206000209182019101612b439190612c22565b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10612b895782800160ff19823516178555612bb6565b82800160010185558215612bb6579182015b82811115612bb6578235825591602001919060010190612b9b565b50612bc2929150612c22565b5090565b60c06040519081016040526006815b600081526000199091019060200181612bd55790505090565b608060405190810160405260008152600360208201612bd5565b606060405190810160405260008152600260208201612bd5565b6124a091905b80821115612bc25760008155600101612c285600a165627a7a72305820ea058df9192d1e77a22676138600e23ccb113d3cb39c6dc906da1d96bbd90bf60029
Deployed Bytecode
0x60606040526004361061018a5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166301d43945811461018f5780630233fe1b146101f057806314d0f1ba146102425780631a2a2caf146102755780631be527a8146102fc5780631df7013a1461037e5780631f674b5a146104485780632ecfa02c146104bb57806330a80870146104f357806335dfcc921461054f57806338aefbe5146105625780634377c1cf146105dd57806343b37b45146105f957806348ef5aa8146106215780634efb023e146106395780635b188d40146106635780636c81fd6d1461068b57806380af5e20146106aa57806382bba98f146106c65780638da5cb5b146106dc57806399c8268b1461070b578063b5e5a50a1461071e578063b85d62751461077e578063bb583f191461079d578063d7ebf53d146107e7578063dc268db91461080c578063ee4e441614610834578063f285329214610847578063f31dec5a14610866578063f8a74501146108b4578063f9d429ee14610901575b600080fd5b341561019a57600080fd5b6101ab63ffffffff6004351661092a565b6040516001604060020a0396871681529486166020860152928516604080860191909152918516606085015284166080840152921660a082015260c001905180910390f35b34156101fb57600080fd5b61020c63ffffffff60043516610b7e565b6040516001604060020a039485168152928416602084015290831660408084019190915292166060820152608001905180910390f35b341561024d57600080fd5b610261600160a060020a0360043516610bd4565b604051901515815260200160405180910390f35b341561028057600080fd5b6102946001604060020a0360043516610be9565b60405163ffffffff998a168152600160a060020a03909816602089015260ff9687166040808a0191909152958716606089015293861660808801529190941660a086015292851660c085015291841660e0840152921661010082015261012001905180910390f35b341561030757600080fd5b61031b6001604060020a0360043516610e41565b6040516001604060020a03998a168152978916602089015295881660408089019190915294881660608801529287166080870152951660a085015263ffffffff94851660c0850152841660e0840152921661010082015261012001905180910390f35b341561038957600080fd5b61039a63ffffffff60043516611087565b604051600160a060020a038616602082015263ffffffff808616604083015284811660608301528316608082015260a0810182905260c08082528190810188818151815260200191508051906020019080838360005b838110156104085780820151838201526020016103f0565b50505050905090810190601f1680156104355780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390f35b341561045357600080fd5b61049f63ffffffff600435811690600160a060020a03602435169060ff60443581169160643582169160843581169160a4359091169060c43581169060e43581169061010435166112d1565b6040516001604060020a03909116815260200160405180910390f35b34156104c657600080fd5b6104da600160a060020a036004351661177d565b60405163ffffffff909116815260200160405180910390f35b34156104fe57600080fd5b61054d6001604060020a0360043581169060243581169060443581169060643581169060843581169060a43581169060c4351663ffffffff60e4358116906101043581169061012435166117a1565b005b341561055a57600080fd5b6104da6119df565b341561056d57600080fd5b610581600160a060020a03600435166119eb565b60405163ffffffff988916815296881660208801529487166040808801919091529390961660608601526001604060020a039182166080860152811660a085015293841660c0840152921660e082015261010001905180910390f35b34156105e857600080fd5b61054d63ffffffff60043516611b23565b341561060457600080fd5b61054d6004803563ffffffff169060248035908101910135611cc1565b341561062c57600080fd5b61054d6004351515611d16565b341561064457600080fd5b61064c611d44565b60405161ffff909116815260200160405180910390f35b341561066e57600080fd5b610261600160a060020a036004351663ffffffff60243516611d55565b341561069657600080fd5b61054d600160a060020a0360043516611de4565b34156106b557600080fd5b61026163ffffffff60043516611e7d565b34156106d157600080fd5b6104da600435611e96565b34156106e757600080fd5b6106ef611ed4565b604051600160a060020a03909116815260200160405180910390f35b341561071657600080fd5b61049f611ee3565b341561072957600080fd5b6104da60048035600160a060020a031690602480359081019101356044356001604060020a039081169060643581169060843581169060a43581169060c43581169060e435166101043563ffffffff16611efa565b341561078957600080fd5b61054d600160a060020a03600435166121de565b34156107a857600080fd5b6107b963ffffffff60043516612277565b60405163ffffffff938416815291831660208301529091166040808301919091526060909101905180910390f35b34156107f257600080fd5b6107fa61249c565b60405190815260200160405180910390f35b341561081757600080fd5b61026163ffffffff600435166001604060020a03602435166124a3565b341561083f57600080fd5b61026161253f565b341561085257600080fd5b61054d600160a060020a0360043516612548565b341561087157600080fd5b61088263ffffffff6004351661259f565b604051928352600160a060020a03909116602083015263ffffffff166040808301919091526060909101905180910390f35b34156108bf57600080fd5b6108d3600160a060020a03600435166127c1565b60405163ffffffff938416815260208101929092529091166040808301919091526060909101905180910390f35b341561090c57600080fd5b610914612a19565b60405160ff909116815260200160405180910390f35b60008060008060008061093b612a1e565b63ffffffff881660009081526006602052604090819020906101209051908101604052908160008201548152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610a025780601f106109d757610100808354040283529160200191610a02565b820191906000526020600020905b8154815290600101906020018083116109e557829003601f168201915b50505091835250506002820154600160a060020a038116602083015263ffffffff60a060020a8204811660408085019190915260c060020a909204166060830152608090910190600383019060069060c09051908101604052919060c08301826000855b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411610a6657905050505091835250506020016005820160046080604051908101604052919060808301826000855b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411610acf57505050928452505050600682015463ffffffff166020820152600790910154604090910152905060a0810151518160a00151602001518260a00151604001518360a00151606001518460a00151608001518560a0015160a00151949d939c50919a509850965090945092505050565b63ffffffff166000908152600660205260409020600501546001604060020a0380821692680100000000000000008304821692700100000000000000000000000000000000810483169260c060020a9091041690565b60016020526000908152604090205460ff1681565b6000806000806000806000806000610bff612a7d565b6001604060020a038b16600090815260036020526040908190209060e090519081016040908152825463ffffffff811683526401000000009004600160a060020a0316602083015290919080830190600183019060039060609051908101604052919060608301826000855b82829054906101000a900463ffffffff1663ffffffff1681526020019060040190602082600301049283019260010382029150808411610c6b579050505050918352505060200160028201600660c0604051908101604052919060c08301826000855b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411610cce57905050505091835250506020016004820160036060604051908101604052919060608301826000855b82829054906101000a900463ffffffff1663ffffffff1681526020019060040190602082600301049283019260010382029150808411610d3757905050505091835250506020016005820160036060604051908101604052919060608301826000855b825461010083900a900460ff16815260206001928301818104948501949093039092029101808411610d9a575050509284525050506006919091015460ff166020909101529050805181602001518260c001518360a00151518460a00151602001518560a0015160400151866040015151876040015160200151886040015160025b6020020151995099509950995099509950995099509950509193959799909294969850565b6000806000806000806000806000610e57612a7d565b6001604060020a038b16600090815260036020526040908190209060e090519081016040908152825463ffffffff811683526401000000009004600160a060020a0316602083015290919080830190600183019060039060609051908101604052919060608301826000855b82829054906101000a900463ffffffff1663ffffffff1681526020019060040190602082600301049283019260010382029150808411610ec3579050505050918352505060200160028201600660c0604051908101604052919060c08301826000855b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411610f2657905050505091835250506020016004820160036060604051908101604052919060608301826000855b82829054906101000a900463ffffffff1663ffffffff1681526020019060040190602082600301049283019260010382029150808411610f8f57905050505091835250506020016005820160036060604051908101604052919060608301826000855b825461010083900a900460ff16815260206001928301818104948501949093039092029101808411610ff2575050509284525050506006919091015460ff166020909101529050606081015151816060015160200151826060015160400151836060015160600151846060015160800151856060015160a0015186608001515187608001516020015188608001516002610e1c565b61108f612ad3565b600080600080600061109f612a1e565b63ffffffff881660009081526006602052604090819020906101209051908101604052908160008201548152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111665780601f1061113b57610100808354040283529160200191611166565b820191906000526020600020905b81548152906001019060200180831161114957829003601f168201915b50505091835250506002820154600160a060020a038116602083015263ffffffff60a060020a8204811660408085019190915260c060020a909204166060830152608090910190600383019060069060c09051908101604052919060c08301826000855b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116111ca57905050505091835250506020016005820160046080604051908101604052919060808301826000855b82829054906101000a90046001604060020a03166001604060020a03168152602001906008019060208260070104928301926001038202915080841161123357505050928452505050600682015463ffffffff1660208083019190915260079092015460409091015290915081015181604001518260e0015183606001518460800151856101000151949d939c50919a509850965090945092505050565b600160a060020a033316600090815260016020819052604082205482918291829160ff90911615151461130357600080fd5b6001600860048282829054906101000a90046001604060020a03160192506101000a8154816001604060020a0302191690836001604060020a0316021790555060036000600860049054906101000a90046001604060020a03166001604060020a03166001604060020a0316815260200190815260200160002092508c8360000160006101000a81548163ffffffff021916908363ffffffff1602179055508b8360000160046101000a815481600160a060020a030219169083600160a060020a031602179055508a8360050160006003811015156113de57fe5b602091828204019190066101000a81548160ff021916908360ff1602179055508983600501600160038110151561141157fe5b602091828204019190066101000a81548160ff021916908360ff1602179055508883600501600260038110151561144457fe5b6020808204929092018054929091066101000a60ff81810219909316938316029290921790915560068401805460ff1916918a1691909117905560018301805463ffffffff191663ffffffff8981169190911767ffffffff0000000019166401000000009189169190910217815585906002600891828204019190066004026101000a81548163ffffffff021916908363ffffffff160217905550600660008e63ffffffff1663ffffffff1681526020019081526020016000209150600560008d600160a060020a0316600160a060020a0316815260200190815260200160002090508760ff16600014156115a75760028201805463ffffffff60a060020a80830482166001908101831690910277ffffffff000000000000000000000000000000000000000019909316929092179092558254680100000000000000008082048416909201909216026bffffffff000000000000000019909116178155611653565b6002808301805463ffffffff60c060020a8083048216600190810183169091027fffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffffff90931692909217909255835464010000000080820484169092019092160267ffffffff000000001990911617825560ff8916141561165357600682015460029063ffffffff1660028301805463ffffffff1981169390920463ffffffff928316019091169190911790555b60085460028301546401000000009091046001604060020a031690600584019060049060a060020a810463ffffffff90811660c060020a90920481169190910160001901160663ffffffff166004811015156116ab57fe5b600480820490920180546001604060020a0394851660089385900684026101000a90810290860219909116179055548354640100000000918290049093169260018501929160001990820463ffffffff9081166801000000000000000090930481169290920101160663ffffffff1660048110151561172657fe5b600491828204019190066008026101000a8154816001604060020a0302191690836001604060020a03160217905550600860049054906101000a90046001604060020a031693505050509998505050505050505050565b600160a060020a031660009081526005602052604090206002015463ffffffff1690565b600160a060020a033316600090815260016020819052604082205460ff161515146117cb57600080fd5b506001604060020a038a811660009081526003602052604090206002808201805467ffffffffffffffff19168d8516176fffffffffffffffff0000000000000000191668010000000000000000948d169490940293909317835590918991600491828204019190066008026101000a8154816001604060020a0302191690836001604060020a031602179055508681600201600360068110151561186b57fe5b600491828204019190066008026101000a8154816001604060020a0302191690836001604060020a03160217905550858160020160046006811015156118ad57fe5b600491828204019190066008026101000a8154816001604060020a0302191690836001604060020a03160217905550848160020160056006811015156118ef57fe5b600491828204019190066008026101000a8154816001604060020a0302191690836001604060020a031602179055508381600401600060038110151561193157fe5b600891828204019190066004026101000a81548163ffffffff021916908363ffffffff1602179055508281600401600160038110151561196d57fe5b600891828204019190066004026101000a81548163ffffffff021916908363ffffffff160217905550818160040160026003811015156119a957fe5b600891828204019190066004026101000a81548163ffffffff021916908363ffffffff1602179055505050505050505050505050565b60085463ffffffff1681565b6000806000806000806000806119ff612ae5565b600160a060020a038a16600090815260056020526040908190209060a090519081016040908152825463ffffffff80821684526401000000008204811660208501526801000000000000000090910416818301529091906060830190600183019060049060809051908101604052919060808301826000855b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411611a78575050509284525050506002919091015463ffffffff166020918201529091508101518160400151825183608001518460600151518560600151602001518660600151604001518760600151606001519850985098509850985098509850985050919395975091939597565b600160a060020a033316600090815260016020819052604082205460ff16151514611b4d57600080fd5b5063ffffffff8116600090815260066020526040902080541515611b7057611cbd565b6002810154600160a060020a03166000908152600460205260409020805463ffffffff19169055600754815411611c8d578054600780546006916000916000198101908110611bbb57fe5b6000918252602080832060088084049091015492066004026101000a90910463ffffffff168352820192909252604001902055600780546000198101908110611c0057fe5b90600052602060002090600891828204019190066004029054906101000a900463ffffffff1660076001836000015403815481101515611c3c57fe5b90600052602060002090600891828204019190066004026101000a81548163ffffffff021916908363ffffffff1602179055506001600781818054905003915081611c879190612b0f565b50600081555b6002810154600160a060020a03166000908152600560205260409020805463ffffffff191663ffffffff84161790555b5050565b600160a060020a033316600090815260016020819052604082205460ff16151514611ceb57600080fd5b5063ffffffff83166000908152600660205260409020611d0f600182018484612b48565b5050505050565b60005433600160a060020a03908116911614611d3157600080fd5b6002805460ff1916911515919091179055565b60005460a060020a900461ffff1681565b600160a060020a0333166000908152600160208190526040822054829160ff909116151514611d8357600080fd5b50600160a060020a0383166000908152600560205260409020600281015463ffffffff80851691161015611dba5760009150611ddd565b60028101805463ffffffff8082168690031663ffffffff19909116179055600191505b5092915050565b60005433600160a060020a03908116911614611dff57600080fd5b600160a060020a03811660009081526001602052604090205460ff161515611e7a57600160a060020a03811660009081526001602081905260408220805460ff191682179055815461ffff60a060020a80830482169093011690910275ffff0000000000000000000000000000000000000000199091161790555b50565b63ffffffff166000908152600660205260408120541190565b6000600782815481101515611ea757fe5b90600052602060002090600891828204019190066004029054906101000a900463ffffffff169050919050565b600054600160a060020a031681565b60085464010000000090046001604060020a031681565b600160a060020a0333166000908152600160208190526040822054829160ff909116151514611f2857600080fd5b600160a060020a038c1660009081526004602052604081205463ffffffff169250821115611f55576121cf565b50506008805463ffffffff198116600163ffffffff928316810183169190911792839055911660008181526006602052604090209091611f989082018c8c612b48565b506002818101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038f1617905560038201805467ffffffffffffffff19166001604060020a038c8116919091176fffffffffffffffff0000000000000000191668010000000000000000918c16919091021781558891600491828204019190066008026101000a8154816001604060020a0302191690836001604060020a031602179055508581600301600360068110151561204f57fe5b600491828204019190066008026101000a8154816001604060020a0302191690836001604060020a031602179055508481600301600460068110151561209157fe5b600491828204019190066008026101000a8154816001604060020a0302191690836001604060020a03160217905550838160030160056006811015156120d357fe5b600491828204019190066008026101000a8154816001604060020a0302191690836001604060020a03160217905550828160060160006101000a81548163ffffffff021916908363ffffffff1602179055504281600701819055506007805460010190816121419190612b0f565b8082556007805484926000190190811061215757fe5b90600052602060002090600891828204019190066004026101000a81548163ffffffff021916908363ffffffff16021790555081600460008e600160a060020a0316600160a060020a0316815260200190815260200160002060006101000a81548163ffffffff021916908363ffffffff1602179055505b509a9950505050505050505050565b60005433600160a060020a039081169116146121f957600080fd5b600160a060020a03811660009081526001602081905260409091205460ff1615151415611e7a57600160a060020a03166000908152600160205260408120805460ff19169055805475ffff000000000000000000000000000000000000000019811660a060020a9182900461ffff9081166000190116909102179055565b6000806000612284612a1e565b63ffffffff851660009081526006602052604090819020906101209051908101604052908160008201548152602001600182018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561234b5780601f106123205761010080835404028352916020019161234b565b820191906000526020600020905b81548152906001019060200180831161232e57829003601f168201915b50505091835250506002820154600160a060020a038116602083015263ffffffff60a060020a8204811660408085019190915260c060020a909204166060830152608090910190600383019060069060c09051908101604052919060c08301826000855b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116123af57905050505091835250506020016005820160046080604051908101604052919060808301826000855b82829054906101000a90046001604060020a03166001604060020a03168152602001906008019060208260070104928301926001038202915080841161241857505050928452505050600682015463ffffffff1660208201526007909101546040909101529050606081015181608001518260e00151935093509350509193909250565b6007545b90565b63ffffffff821660009081526006602052604081208054829081901115612532575060005b6006811015612529576001604060020a0384166003830182600681106124ea57fe5b600491828204019190066008029054906101000a90046001604060020a03166001604060020a031614156125215760019250612537565b6001016124c8565b60009250612537565b600092505b505092915050565b60025460ff1681565b60005433600160a060020a0390811691161461256357600080fd5b600160a060020a03811615611e7a5760008054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff1990911617905550565b60008060006125ac612a1e565b63ffffffff851660009081526006602052604090819020906101209051908101604052908160008201548152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156126735780601f1061264857610100808354040283529160200191612673565b820191906000526020600020905b81548152906001019060200180831161265657829003601f168201915b50505091835250506002820154600160a060020a038116602083015263ffffffff60a060020a8204811660408085019190915260c060020a909204166060830152608090910190600383019060069060c09051908101604052919060c08301826000855b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116126d757905050505091835250506020016005820160046080604051908101604052919060808301826000855b82829054906101000a90046001604060020a03166001604060020a03168152602001906008019060208260070104928301926001038202915080841161274057505050928452505050600682015463ffffffff1660208201526007909101546040909101529050805181604001518260e00151935093509350509193909250565b6000806000806127cf612a1e565b600160a060020a03861660009081526004602052604090205463ffffffff1691508115156128065760009450849350839250612a10565b63ffffffff821660009081526006602052604090819020906101209051908101604052908160008201548152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156128cd5780601f106128a2576101008083540402835291602001916128cd565b820191906000526020600020905b8154815290600101906020018083116128b057829003601f168201915b50505091835250506002820154600160a060020a038116602083015263ffffffff60a060020a8204811660408085019190915260c060020a909204166060830152608090910190600383019060069060c09051908101604052919060c08301826000855b82829054906101000a90046001604060020a03166001604060020a03168152602001906008019060208260070104928301926001038202915080841161293157905050505091835250506020016005820160046080604051908101604052919060808301826000855b82829054906101000a90046001604060020a03166001604060020a03168152602001906008019060208260070104928301926001038202915080841161299a57505050928452505050600682015463ffffffff16602082015260079091015460409091015290508181518260e001519450945094505b50509193909250565b600481565b6102206040519081016040528060008152602001612a3a612ad3565b8152600060208201819052604082018190526060820152608001612a5c612bc6565b8152602001612a69612bee565b815260006020820181905260409091015290565b6102406040519081016040908152600080835260208301528101612a9f612c08565b8152602001612aac612bc6565b8152602001612ab9612c08565b8152602001612ac6612c08565b8152600060209091015290565b60206040519081016040526000815290565b61010060405190810160409081526000808352602083018190529082015260608101612ac6612bee565b815481835581811511612b43576007016008900481600701600890048360005260206000209182019101612b439190612c22565b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10612b895782800160ff19823516178555612bb6565b82800160010185558215612bb6579182015b82811115612bb6578235825591602001919060010190612b9b565b50612bc2929150612c22565b5090565b60c06040519081016040526006815b600081526000199091019060200181612bd55790505090565b608060405190810160405260008152600360208201612bd5565b606060405190810160405260008152600260208201612bd5565b6124a091905b80821115612bc25760008155600101612c285600a165627a7a72305820ea058df9192d1e77a22676138600e23ccb113d3cb39c6dc906da1d96bbd90bf60029
Swarm Source
bzzr://ea058df9192d1e77a22676138600e23ccb113d3cb39c6dc906da1d96bbd90bf6
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 23 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
[ 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.