Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
EtheremonAdventureHandler
Compiler Version
v0.4.24+commit.e67f0147
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2018-10-25
*/
pragma solidity ^0.4.23;
contract BasicAccessControl {
address public owner;
// address[] public moderators;
uint16 public totalModerators = 0;
mapping (address => bool) public moderators;
bool public isMaintaining = false;
constructor() public {
owner = msg.sender;
}
modifier onlyOwner {
require(msg.sender == owner);
_;
}
modifier onlyModerators() {
require(msg.sender == owner || 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 EtheremonDataBase is EtheremonEnum {
// read
function getMonsterObj(uint64 _objId) constant public returns(uint64 objId, uint32 classId, address trainer, uint32 exp, uint32 createIndex, uint32 lastClaimIndex, uint createTime);
function getElementInArrayType(ArrayType _type, uint64 _id, uint _index) constant public returns(uint8);
// write
function increaseMonsterExp(uint64 _objId, uint32 amount) public;
function updateIndexOfArrayType(ArrayType _type, uint64 _id, uint _index, uint8 _value) public returns(uint);
function addMonsterIdMapping(address _trainer, uint64 _monsterId) public;
}
interface EtheremonMonsterNFTInterface {
function triggerTransferEvent(address _from, address _to, uint _tokenId) external;
}
contract EtheremonAdventureHandler is BasicAccessControl, EtheremonEnum {
uint8 constant public STAT_MAX_VALUE = 32;
uint8 constant public LEVEL_MAX_VALUE = 254;
struct MonsterObjAcc {
uint64 monsterId;
uint32 classId;
address trainer;
string name;
uint32 exp;
uint32 createIndex;
uint32 lastClaimIndex;
uint createTime;
}
// address
address public dataContract;
address public monsterNFT;
mapping(uint8 => uint32) public levelExps;
uint public levelItemClass = 200;
uint public expItemClass = 201;
uint public rebornItemClass = 500;
uint[] public rebornMonsterIds = [26359, 38315, 25480, 38313, 23402, 25241, 38307, 23473, 25236, 38472, 25445, 38430, 27113];
function setContract(address _dataContract, address _monsterNFT) onlyModerators public {
dataContract = _dataContract;
monsterNFT = _monsterNFT;
}
function setConfig(uint _levelItemClass, uint _expItemClass, uint _rebornItemClass) onlyModerators public {
levelItemClass = _levelItemClass;
expItemClass = _expItemClass;
rebornItemClass = _rebornItemClass;
}
function genLevelExp() onlyModerators external {
uint8 level = 1;
uint32 requirement = 100;
uint32 sum = requirement;
while(level <= 100) {
levelExps[level] = sum;
level += 1;
requirement = (requirement * 11) / 10 + 5;
sum += requirement;
}
}
function handleSingleItem(address _sender, uint _classId, uint _value, uint _target, uint _param) onlyModerators public {
// check ownership of _target
EtheremonDataBase data = EtheremonDataBase(dataContract);
MonsterObjAcc memory obj;
if (_classId == rebornItemClass) {
if (rebornMonsterIds.length == 0) revert();
_param = getRandom(_sender, block.number-1) % rebornMonsterIds.length;
_target = rebornMonsterIds[_param];
// remove monsterId
rebornMonsterIds[_param] = rebornMonsterIds[rebornMonsterIds.length-1];
delete rebornMonsterIds[rebornMonsterIds.length-1];
rebornMonsterIds.length--;
// transfer target to sender
data.addMonsterIdMapping(_sender, uint64(_target));
EtheremonMonsterNFTInterface(monsterNFT).triggerTransferEvent(address(0), _sender, uint64(_target));
return;
}
(obj.monsterId, obj.classId, obj.trainer, obj.exp, obj.createIndex, obj.lastClaimIndex, obj.createTime) = data.getMonsterObj(uint64(_target));
if (obj.monsterId != _target || obj.trainer != _sender) revert();
if (_classId == expItemClass) {
// exp item
data.increaseMonsterExp(obj.monsterId, uint32(_value));
} else if (_classId == levelItemClass) {
// level item
uint8 currentLevel = getLevel(obj.exp);
currentLevel += uint8(_value);
if (levelExps[currentLevel-1] < obj.exp || currentLevel > LEVEL_MAX_VALUE)
revert();
data.increaseMonsterExp(obj.monsterId, levelExps[currentLevel-1] - obj.exp);
} else {
revert();
}
}
function handleMultipleItems(address _sender, uint _classId1, uint _classId2, uint _classId3, uint _target, uint _param) onlyModerators public {
EtheremonDataBase data = EtheremonDataBase(dataContract);
MonsterObjAcc memory obj;
(obj.monsterId, obj.classId, obj.trainer, obj.exp, obj.createIndex, obj.lastClaimIndex, obj.createTime) = data.getMonsterObj(uint64(_target));
if (obj.monsterId != _target || obj.trainer != _sender) revert();
uint index = 0;
if (_classId1 == 300 && _classId2 == 301 && _classId3 == 302) {
//health shards
index = 0;
} else if (_classId1 == 310 && _classId2 == 311 && _classId3 == 312) {
// primary attack shards
index = 1;
} else if (_classId1 == 320 && _classId2 == 321 && _classId3 == 322) {
// primary defense shards
index = 2;
} else if (_classId1 == 330 && _classId2 == 331 && _classId3 == 332) {
// secondary attack shards
index = 3;
} else if (_classId1 == 340 && _classId2 == 341 && _classId3 == 342) {
// secondary defense shards
index = 4;
} else if (_classId1 == 350 && _classId2 == 351 && _classId3 == 352) {
// speed shards
index = 5;
}
uint8 currentValue = data.getElementInArrayType(ArrayType.STAT_BASE, obj.monsterId, index);
if (currentValue + 1 >= LEVEL_MAX_VALUE)
revert();
data.updateIndexOfArrayType(ArrayType.STAT_BASE, obj.monsterId, index, currentValue + 1);
}
// public method
function getRandom(address _player, uint _block) view public returns(uint) {
return uint(keccak256(abi.encodePacked(blockhash(_block), _player)));
}
function getLevel(uint32 exp) view public returns (uint8) {
uint8 minIndex = 1;
uint8 maxIndex = 100;
uint8 currentIndex;
while (minIndex < maxIndex) {
currentIndex = (minIndex + maxIndex) / 2;
if (exp < levelExps[currentIndex])
maxIndex = currentIndex;
else
minIndex = currentIndex + 1;
}
return minIndex;
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"constant":true,"inputs":[],"name":"expItemClass","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"dataContract","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_levelItemClass","type":"uint256"},{"name":"_expItemClass","type":"uint256"},{"name":"_rebornItemClass","type":"uint256"}],"name":"setConfig","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"moderators","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_sender","type":"address"},{"name":"_classId","type":"uint256"},{"name":"_value","type":"uint256"},{"name":"_target","type":"uint256"},{"name":"_param","type":"uint256"}],"name":"handleSingleItem","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"rebornItemClass","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_dataContract","type":"address"},{"name":"_monsterNFT","type":"address"}],"name":"setContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"LEVEL_MAX_VALUE","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"genLevelExp","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":"_sender","type":"address"},{"name":"_classId1","type":"uint256"},{"name":"_classId2","type":"uint256"},{"name":"_classId3","type":"uint256"},{"name":"_target","type":"uint256"},{"name":"_param","type":"uint256"}],"name":"handleMultipleItems","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"monsterNFT","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newModerator","type":"address"}],"name":"AddModerator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"rebornMonsterIds","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint8"}],"name":"levelExps","outputs":[{"name":"","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_player","type":"address"},{"name":"_block","type":"uint256"}],"name":"getRandom","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"STAT_MAX_VALUE","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"exp","type":"uint32"}],"name":"getLevel","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_oldModerator","type":"address"}],"name":"RemoveModerator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"levelItemClass","outputs":[{"name":"","type":"uint256"}],"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"}]Contract Creation Code
6000805460a060020a61ffff02191690556002805460ff1916905560c860055560c96006556101f46007556102206040526166f760809081526195ab60a05261638860c0526195a960e052615b6a61010052616299610120526195a361014052615bb161016052616294610180526196486101a0526163656101c05261961e6101e0526169e96102005261009790600890600d6100af565b5060008054600160a060020a0319163317905561011d565b8280548282559060005260206000209081019282156100f0579160200282015b828111156100f0578251829061ffff169055916020019190600101906100cf565b506100fc929150610100565b5090565b61011a91905b808211156100fc5760008155600101610106565b90565b6113198061012c6000396000f30060806040526004361061013d5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630c9b016c81146101425780630d66881814610169578063129ee21a1461019a57806314d0f1ba146101ba5780631b44a5ef146101ef5780631c5996551461021c5780632bf6e0a514610231578063326a7d771461025857806333ced3211461028357806348ef5aa8146102985780634efb023e146102b25780635477e571146102de578063678a10131461030e5780636c81fd6d1461032357806375081fe71461034457806378b475a81461035c57806385df2a78146103905780638da5cb5b146103b4578063aec1ee7b146103c9578063b2cad9b7146103de578063b85d6275146103fc578063dd3210181461041d578063ee4e441614610432578063f285329214610447575b600080fd5b34801561014e57600080fd5b50610157610468565b60408051918252519081900360200190f35b34801561017557600080fd5b5061017e61046e565b60408051600160a060020a039092168252519081900360200190f35b3480156101a657600080fd5b506101b8600435602435604435610482565b005b3480156101c657600080fd5b506101db600160a060020a03600435166104c9565b604080519115158252519081900360200190f35b3480156101fb57600080fd5b506101b8600160a060020a03600435166024356044356064356084356104de565b34801561022857600080fd5b506101576109d0565b34801561023d57600080fd5b506101b8600160a060020a03600435811690602435166109d6565b34801561026457600080fd5b5061026d610a61565b6040805160ff9092168252519081900360200190f35b34801561028f57600080fd5b506101b8610a66565b3480156102a457600080fd5b506101b86004351515610b07565b3480156102be57600080fd5b506102c7610b31565b6040805161ffff9092168252519081900360200190f35b3480156102ea57600080fd5b506101b8600160a060020a036004351660243560443560643560843560a435610b53565b34801561031a57600080fd5b5061017e610f5e565b34801561032f57600080fd5b506101b8600160a060020a0360043516610f6d565b34801561035057600080fd5b50610157600435611013565b34801561036857600080fd5b5061037760ff60043516611032565b6040805163ffffffff9092168252519081900360200190f35b34801561039c57600080fd5b50610157600160a060020a036004351660243561104a565b3480156103c057600080fd5b5061017e6110eb565b3480156103d557600080fd5b5061026d6110fa565b3480156103ea57600080fd5b5061026d63ffffffff600435166110ff565b34801561040857600080fd5b506101b8600160a060020a0360043516611162565b34801561042957600080fd5b50610157611208565b34801561043e57600080fd5b506101db61120e565b34801561045357600080fd5b506101b8600160a060020a0360043516611217565b60065481565b6002546101009004600160a060020a031681565b600054600160a060020a03163314806104b057503360009081526001602081905260409091205460ff161515145b15156104bb57600080fd5b600592909255600655600755565b60016020526000908152604090205460ff1681565b60006104e861126a565b60008054600160a060020a031633148061051757503360009081526001602081905260409091205460ff161515145b151561052257600080fd5b600260019054906101000a9004600160a060020a0316925060075487141561071d57600854151561055257600080fd5b60085461056389600019430161104a565b81151561056c57fe5b06935060088481548110151561057e57fe5b600091825260209091200154600880549196509060001981019081106105a057fe5b90600052602060002001546008858154811015156105ba57fe5b6000918252602090912001556008805460001981019081106105d857fe5b600091825260208220015560088054906105f69060001983016112ad565b50604080517f9248019e000000000000000000000000000000000000000000000000000000008152600160a060020a038a8116600483015267ffffffffffffffff88166024830152915191851691639248019e9160448082019260009290919082900301818387803b15801561066b57600080fd5b505af115801561067f573d6000803e3d6000fd5b5050600354604080517fc463b008000000000000000000000000000000000000000000000000000000008152600060048201819052600160a060020a038e8116602484015267ffffffffffffffff8c166044840152925192909316945063c463b0089350606480820193929182900301818387803b15801561070057600080fd5b505af1158015610714573d6000803e3d6000fd5b505050506109c6565b604080517f0720246000000000000000000000000000000000000000000000000000000000815267ffffffffffffffff871660048201529051600160a060020a0385169163072024609160248083019260e09291908290030181600087803b15801561078857600080fd5b505af115801561079c573d6000803e3d6000fd5b505050506040513d60e08110156107b257600080fd5b508051602080830151604080850151606086015160808088015160a0808a015160c09a8b015160e08e015263ffffffff9081169a8d019a909a52908916908b015290871690890152600160a060020a031690870152929092169184019190915267ffffffffffffffff1680835285141580610843575087600160a060020a03168260400151600160a060020a031614155b1561084d57600080fd5b6006548714156108cf578151604080517f5643a71100000000000000000000000000000000000000000000000000000000815267ffffffffffffffff909216600483015263ffffffff8816602483015251600160a060020a03851691635643a71191604480830192600092919082900301818387803b15801561070057600080fd5b60055487141561013d576108e682608001516110ff565b6080830151908701600019810160ff1660009081526004602052604090205490925063ffffffff91821691161080610921575060fe60ff8216115b1561092b57600080fd5b8151608083015160ff60001984011660009081526004602081905260408083205481517f5643a71100000000000000000000000000000000000000000000000000000000815267ffffffffffffffff9096169286019290925263ffffffff918216939093031660248401529051600160a060020a03861692635643a71192604480830193919282900301818387803b15801561070057600080fd5b5050505050505050565b60075481565b600054600160a060020a0316331480610a0457503360009081526001602081905260409091205460ff161515145b1515610a0f57600080fd5b6002805474ffffffffffffffffffffffffffffffffffffffff001916610100600160a060020a03948516021790556003805473ffffffffffffffffffffffffffffffffffffffff191691909216179055565b60fe81565b6000805481908190600160a060020a0316331480610a9957503360009081526001602081905260409091205460ff161515145b1515610aa457600080fd5b506001915060649050805b606460ff841611610b025760ff83166000908152600460205260409020805463ffffffff191663ffffffff83811691909117909155600190930192600a90600b8402160460050191508181019050610aaf565b505050565b600054600160a060020a03163314610b1e57600080fd5b6002805460ff1916911515919091179055565b60005474010000000000000000000000000000000000000000900461ffff1681565b6000610b5d61126a565b600080548190600160a060020a0316331480610b8e57503360009081526001602081905260409091205460ff161515145b1515610b9957600080fd5b600254604080517f0720246000000000000000000000000000000000000000000000000000000000815267ffffffffffffffff891660048201529051610100909204600160a060020a03169550859163072024609160248082019260e0929091908290030181600087803b158015610c1057600080fd5b505af1158015610c24573d6000803e3d6000fd5b505050506040513d60e0811015610c3a57600080fd5b508051602080830151604080850151606086015160808088015160a0808a015160c09a8b015160e08f015263ffffffff9081169a8e019a909a52908916908c0152908716908a0152600160a060020a031690880152929092169185019190915267ffffffffffffffff1680845286141580610ccb575089600160a060020a03168360400151600160a060020a031614155b15610cd557600080fd5b600091508861012c148015610ceb57508761012d145b8015610cf857508661012e145b15610d065760009150610de3565b88610136148015610d18575087610137145b8015610d25575086610138145b15610d335760019150610de3565b88610140148015610d45575087610141145b8015610d52575086610142145b15610d605760029150610de3565b8861014a148015610d7257508761014b145b8015610d7f57508661014c145b15610d8d5760039150610de3565b88610154148015610d9f575087610155145b8015610dac575086610156145b15610dba5760049150610de3565b8861015e148015610dcc57508761015f145b8015610dd9575086610160145b15610de357600591505b8251604080517f62b21ad70000000000000000000000000000000000000000000000000000000081526003600482015267ffffffffffffffff90921660248301526044820184905251600160a060020a038616916362b21ad79160648083019260209291908290030181600087803b158015610e5e57600080fd5b505af1158015610e72573d6000803e3d6000fd5b505050506040513d6020811015610e8857600080fd5b5051905060fe6001820160ff1610610e9f57600080fd5b8251604080517f321d2a4f0000000000000000000000000000000000000000000000000000000081526003600482015267ffffffffffffffff90921660248301526044820184905260ff6001840116606483015251600160a060020a0386169163321d2a4f9160848083019260209291908290030181600087803b158015610f2657600080fd5b505af1158015610f3a573d6000803e3d6000fd5b505050506040513d6020811015610f5057600080fd5b505050505050505050505050565b600354600160a060020a031681565b600054600160a060020a03163314610f8457600080fd5b600160a060020a03811660009081526001602052604090205460ff16151561101057600160a060020a03811660009081526001602081905260408220805460ff191682179055815461ffff7401000000000000000000000000000000000000000080830482169093011690910275ffff0000000000000000000000000000000000000000199091161790555b50565b600880548290811061102157fe5b600091825260209091200154905081565b60046020526000908152604090205463ffffffff1681565b6040805182406020808301919091526c01000000000000000000000000600160a060020a0386160282840152825160348184030181526054909201928390528151600093918291908401908083835b602083106110b85780518252601f199092019160209182019101611099565b5181516020939093036101000a600019018019909116921691909117905260405192018290039091209695505050505050565b600054600160a060020a031681565b602081565b600060016064825b8160ff168360ff16101561115957600260ff848401160460ff811660009081526004602052604090205490915063ffffffff908116908616101561114d57809150611154565b8060010192505b611107565b50909392505050565b600054600160a060020a0316331461117957600080fd5b600160a060020a03811660009081526001602081905260409091205460ff161515141561101057600160a060020a03166000908152600160205260408120805460ff19169055805475ffff0000000000000000000000000000000000000000198116740100000000000000000000000000000000000000009182900461ffff9081166000190116909102179055565b60055481565b60025460ff1681565b600054600160a060020a0316331461122e57600080fd5b600160a060020a038116156110105760008054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff1990911617905550565b60408051610100810182526000808252602082018190529181018290526060808201526080810182905260a0810182905260c0810182905260e081019190915290565b815481835581811115610b0257600083815260209020610b029181019083016112ea91905b808211156112e657600081556001016112d2565b5090565b905600a165627a7a72305820f2d7721fd252354c73fb8c49bdd57ee68b178dc046c8abbfd8fcf9c2f3820ba70029
Deployed Bytecode
0x60806040526004361061013d5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630c9b016c81146101425780630d66881814610169578063129ee21a1461019a57806314d0f1ba146101ba5780631b44a5ef146101ef5780631c5996551461021c5780632bf6e0a514610231578063326a7d771461025857806333ced3211461028357806348ef5aa8146102985780634efb023e146102b25780635477e571146102de578063678a10131461030e5780636c81fd6d1461032357806375081fe71461034457806378b475a81461035c57806385df2a78146103905780638da5cb5b146103b4578063aec1ee7b146103c9578063b2cad9b7146103de578063b85d6275146103fc578063dd3210181461041d578063ee4e441614610432578063f285329214610447575b600080fd5b34801561014e57600080fd5b50610157610468565b60408051918252519081900360200190f35b34801561017557600080fd5b5061017e61046e565b60408051600160a060020a039092168252519081900360200190f35b3480156101a657600080fd5b506101b8600435602435604435610482565b005b3480156101c657600080fd5b506101db600160a060020a03600435166104c9565b604080519115158252519081900360200190f35b3480156101fb57600080fd5b506101b8600160a060020a03600435166024356044356064356084356104de565b34801561022857600080fd5b506101576109d0565b34801561023d57600080fd5b506101b8600160a060020a03600435811690602435166109d6565b34801561026457600080fd5b5061026d610a61565b6040805160ff9092168252519081900360200190f35b34801561028f57600080fd5b506101b8610a66565b3480156102a457600080fd5b506101b86004351515610b07565b3480156102be57600080fd5b506102c7610b31565b6040805161ffff9092168252519081900360200190f35b3480156102ea57600080fd5b506101b8600160a060020a036004351660243560443560643560843560a435610b53565b34801561031a57600080fd5b5061017e610f5e565b34801561032f57600080fd5b506101b8600160a060020a0360043516610f6d565b34801561035057600080fd5b50610157600435611013565b34801561036857600080fd5b5061037760ff60043516611032565b6040805163ffffffff9092168252519081900360200190f35b34801561039c57600080fd5b50610157600160a060020a036004351660243561104a565b3480156103c057600080fd5b5061017e6110eb565b3480156103d557600080fd5b5061026d6110fa565b3480156103ea57600080fd5b5061026d63ffffffff600435166110ff565b34801561040857600080fd5b506101b8600160a060020a0360043516611162565b34801561042957600080fd5b50610157611208565b34801561043e57600080fd5b506101db61120e565b34801561045357600080fd5b506101b8600160a060020a0360043516611217565b60065481565b6002546101009004600160a060020a031681565b600054600160a060020a03163314806104b057503360009081526001602081905260409091205460ff161515145b15156104bb57600080fd5b600592909255600655600755565b60016020526000908152604090205460ff1681565b60006104e861126a565b60008054600160a060020a031633148061051757503360009081526001602081905260409091205460ff161515145b151561052257600080fd5b600260019054906101000a9004600160a060020a0316925060075487141561071d57600854151561055257600080fd5b60085461056389600019430161104a565b81151561056c57fe5b06935060088481548110151561057e57fe5b600091825260209091200154600880549196509060001981019081106105a057fe5b90600052602060002001546008858154811015156105ba57fe5b6000918252602090912001556008805460001981019081106105d857fe5b600091825260208220015560088054906105f69060001983016112ad565b50604080517f9248019e000000000000000000000000000000000000000000000000000000008152600160a060020a038a8116600483015267ffffffffffffffff88166024830152915191851691639248019e9160448082019260009290919082900301818387803b15801561066b57600080fd5b505af115801561067f573d6000803e3d6000fd5b5050600354604080517fc463b008000000000000000000000000000000000000000000000000000000008152600060048201819052600160a060020a038e8116602484015267ffffffffffffffff8c166044840152925192909316945063c463b0089350606480820193929182900301818387803b15801561070057600080fd5b505af1158015610714573d6000803e3d6000fd5b505050506109c6565b604080517f0720246000000000000000000000000000000000000000000000000000000000815267ffffffffffffffff871660048201529051600160a060020a0385169163072024609160248083019260e09291908290030181600087803b15801561078857600080fd5b505af115801561079c573d6000803e3d6000fd5b505050506040513d60e08110156107b257600080fd5b508051602080830151604080850151606086015160808088015160a0808a015160c09a8b015160e08e015263ffffffff9081169a8d019a909a52908916908b015290871690890152600160a060020a031690870152929092169184019190915267ffffffffffffffff1680835285141580610843575087600160a060020a03168260400151600160a060020a031614155b1561084d57600080fd5b6006548714156108cf578151604080517f5643a71100000000000000000000000000000000000000000000000000000000815267ffffffffffffffff909216600483015263ffffffff8816602483015251600160a060020a03851691635643a71191604480830192600092919082900301818387803b15801561070057600080fd5b60055487141561013d576108e682608001516110ff565b6080830151908701600019810160ff1660009081526004602052604090205490925063ffffffff91821691161080610921575060fe60ff8216115b1561092b57600080fd5b8151608083015160ff60001984011660009081526004602081905260408083205481517f5643a71100000000000000000000000000000000000000000000000000000000815267ffffffffffffffff9096169286019290925263ffffffff918216939093031660248401529051600160a060020a03861692635643a71192604480830193919282900301818387803b15801561070057600080fd5b5050505050505050565b60075481565b600054600160a060020a0316331480610a0457503360009081526001602081905260409091205460ff161515145b1515610a0f57600080fd5b6002805474ffffffffffffffffffffffffffffffffffffffff001916610100600160a060020a03948516021790556003805473ffffffffffffffffffffffffffffffffffffffff191691909216179055565b60fe81565b6000805481908190600160a060020a0316331480610a9957503360009081526001602081905260409091205460ff161515145b1515610aa457600080fd5b506001915060649050805b606460ff841611610b025760ff83166000908152600460205260409020805463ffffffff191663ffffffff83811691909117909155600190930192600a90600b8402160460050191508181019050610aaf565b505050565b600054600160a060020a03163314610b1e57600080fd5b6002805460ff1916911515919091179055565b60005474010000000000000000000000000000000000000000900461ffff1681565b6000610b5d61126a565b600080548190600160a060020a0316331480610b8e57503360009081526001602081905260409091205460ff161515145b1515610b9957600080fd5b600254604080517f0720246000000000000000000000000000000000000000000000000000000000815267ffffffffffffffff891660048201529051610100909204600160a060020a03169550859163072024609160248082019260e0929091908290030181600087803b158015610c1057600080fd5b505af1158015610c24573d6000803e3d6000fd5b505050506040513d60e0811015610c3a57600080fd5b508051602080830151604080850151606086015160808088015160a0808a015160c09a8b015160e08f015263ffffffff9081169a8e019a909a52908916908c0152908716908a0152600160a060020a031690880152929092169185019190915267ffffffffffffffff1680845286141580610ccb575089600160a060020a03168360400151600160a060020a031614155b15610cd557600080fd5b600091508861012c148015610ceb57508761012d145b8015610cf857508661012e145b15610d065760009150610de3565b88610136148015610d18575087610137145b8015610d25575086610138145b15610d335760019150610de3565b88610140148015610d45575087610141145b8015610d52575086610142145b15610d605760029150610de3565b8861014a148015610d7257508761014b145b8015610d7f57508661014c145b15610d8d5760039150610de3565b88610154148015610d9f575087610155145b8015610dac575086610156145b15610dba5760049150610de3565b8861015e148015610dcc57508761015f145b8015610dd9575086610160145b15610de357600591505b8251604080517f62b21ad70000000000000000000000000000000000000000000000000000000081526003600482015267ffffffffffffffff90921660248301526044820184905251600160a060020a038616916362b21ad79160648083019260209291908290030181600087803b158015610e5e57600080fd5b505af1158015610e72573d6000803e3d6000fd5b505050506040513d6020811015610e8857600080fd5b5051905060fe6001820160ff1610610e9f57600080fd5b8251604080517f321d2a4f0000000000000000000000000000000000000000000000000000000081526003600482015267ffffffffffffffff90921660248301526044820184905260ff6001840116606483015251600160a060020a0386169163321d2a4f9160848083019260209291908290030181600087803b158015610f2657600080fd5b505af1158015610f3a573d6000803e3d6000fd5b505050506040513d6020811015610f5057600080fd5b505050505050505050505050565b600354600160a060020a031681565b600054600160a060020a03163314610f8457600080fd5b600160a060020a03811660009081526001602052604090205460ff16151561101057600160a060020a03811660009081526001602081905260408220805460ff191682179055815461ffff7401000000000000000000000000000000000000000080830482169093011690910275ffff0000000000000000000000000000000000000000199091161790555b50565b600880548290811061102157fe5b600091825260209091200154905081565b60046020526000908152604090205463ffffffff1681565b6040805182406020808301919091526c01000000000000000000000000600160a060020a0386160282840152825160348184030181526054909201928390528151600093918291908401908083835b602083106110b85780518252601f199092019160209182019101611099565b5181516020939093036101000a600019018019909116921691909117905260405192018290039091209695505050505050565b600054600160a060020a031681565b602081565b600060016064825b8160ff168360ff16101561115957600260ff848401160460ff811660009081526004602052604090205490915063ffffffff908116908616101561114d57809150611154565b8060010192505b611107565b50909392505050565b600054600160a060020a0316331461117957600080fd5b600160a060020a03811660009081526001602081905260409091205460ff161515141561101057600160a060020a03166000908152600160205260408120805460ff19169055805475ffff0000000000000000000000000000000000000000198116740100000000000000000000000000000000000000009182900461ffff9081166000190116909102179055565b60055481565b60025460ff1681565b600054600160a060020a0316331461122e57600080fd5b600160a060020a038116156110105760008054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff1990911617905550565b60408051610100810182526000808252602082018190529181018290526060808201526080810182905260a0810182905260c0810182905260e081019190915290565b815481835581811115610b0257600083815260209020610b029181019083016112ea91905b808211156112e657600081556001016112d2565b5090565b905600a165627a7a72305820f2d7721fd252354c73fb8c49bdd57ee68b178dc046c8abbfd8fcf9c2f3820ba70029
Swarm Source
bzzr://f2d7721fd252354c73fb8c49bdd57ee68b178dc046c8abbfd8fcf9c2f3820ba7
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
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.