Feature Tip: Add private address tag to any address under My Name Tag !
Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 581 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Break Mentoring | 8832541 | 1840 days ago | IN | 0 ETH | 0.00003106 | ||||
Break Mentoring | 8240656 | 1932 days ago | IN | 0 ETH | 0.00003106 | ||||
Start Lecture | 8202156 | 1938 days ago | IN | 0.009 ETH | 0.0016749 | ||||
Change Level Pri... | 7951576 | 1977 days ago | IN | 0 ETH | 0.00007664 | ||||
Become Mentor | 7935731 | 1980 days ago | IN | 0 ETH | 0.00016802 | ||||
Become Mentor | 7892751 | 1986 days ago | IN | 0 ETH | 0.00087379 | ||||
Start Lecture | 7862967 | 1991 days ago | IN | 0.00138 ETH | 0.000319 | ||||
Start Lecture | 7862966 | 1991 days ago | IN | 0.003 ETH | 0.00251161 | ||||
Start Lecture | 7862953 | 1991 days ago | IN | 0.027 ETH | 0.002373 | ||||
Start Lecture | 7857166 | 1992 days ago | IN | 0.00207 ETH | 0.0019629 | ||||
Become Mentor | 7713516 | 2014 days ago | IN | 0 ETH | 0.00025203 | ||||
Change Level Pri... | 7354767 | 2070 days ago | IN | 0 ETH | 0.00003825 | ||||
Start Lecture | 7354628 | 2070 days ago | IN | 0.001 ETH | 0.00034899 | ||||
Start Lecture | 7354508 | 2070 days ago | IN | 0.001 ETH | 0.00036399 | ||||
Change Level Pri... | 7354500 | 2070 days ago | IN | 0 ETH | 0.00003832 | ||||
Change Level Pri... | 7295502 | 2080 days ago | IN | 0 ETH | 0.00011496 | ||||
Become Mentor | 7270078 | 2084 days ago | IN | 0 ETH | 0.00081346 | ||||
Become Mentor | 7270076 | 2084 days ago | IN | 0 ETH | 0.00126016 | ||||
Change Level Pri... | 7231905 | 2093 days ago | IN | 0 ETH | 0.00022993 | ||||
Change Level Pri... | 7231897 | 2093 days ago | IN | 0 ETH | 0.00026825 | ||||
Change Level Pri... | 7223127 | 2096 days ago | IN | 0 ETH | 0.00019511 | ||||
Change Level Pri... | 7223121 | 2096 days ago | IN | 0 ETH | 0.00019478 | ||||
Become Mentor | 7222132 | 2096 days ago | IN | 0 ETH | 0.00034537 | ||||
Change Level Pri... | 7218083 | 2097 days ago | IN | 0 ETH | 0.00015303 | ||||
Break Mentoring | 7215641 | 2097 days ago | IN | 0 ETH | 0.00011516 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
8202156 | 1938 days ago | 0.000261 ETH | ||||
8202156 | 1938 days ago | 0.008739 ETH | ||||
7862966 | 1991 days ago | 0.000087 ETH | ||||
7862966 | 1991 days ago | 0.002913 ETH | ||||
7862953 | 1991 days ago | 0.000783 ETH | ||||
7862953 | 1991 days ago | 0.026217 ETH | ||||
7857166 | 1992 days ago | 0.00006003 ETH | ||||
7857166 | 1992 days ago | 0.00200997 ETH | ||||
7354628 | 2070 days ago | 0.000029 ETH | ||||
7354628 | 2070 days ago | 0.000971 ETH | ||||
7354508 | 2070 days ago | 0.000029 ETH | ||||
7354508 | 2070 days ago | 0.000971 ETH | ||||
7214382 | 2098 days ago | 0.00000029 ETH | ||||
7214382 | 2098 days ago | 0.00000971 ETH | ||||
7213764 | 2098 days ago | 0.00000058 ETH | ||||
7213764 | 2098 days ago | 0.00001942 ETH | ||||
7213624 | 2098 days ago | 0.00000058 ETH | ||||
7213624 | 2098 days ago | 0.00001942 ETH | ||||
7213183 | 2098 days ago | 0.00000116 ETH | ||||
7213183 | 2098 days ago | 0.00003884 ETH | ||||
7212646 | 2098 days ago | 0.00000261 ETH | ||||
7212646 | 2098 days ago | 0.00008739 ETH | ||||
7212494 | 2098 days ago | 0.00000058 ETH | ||||
7212494 | 2098 days ago | 0.00001942 ETH | ||||
7211434 | 2098 days ago | 0.00000493 ETH |
Loading...
Loading
Contract Name:
Mentoring
Compiler Version
v0.4.25+commit.59dbf8f1
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-12-10 */ pragma solidity ^0.4.24; // File: node_modules/openzeppelin-solidity/contracts/ownership/Ownable.sol /** * @title Ownable * @dev The Ownable contract has an owner address, and provides basic authorization control * functions, this simplifies the implementation of "user permissions". */ contract Ownable { address private _owner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); /** * @dev The Ownable constructor sets the original `owner` of the contract to the sender * account. */ constructor() internal { _owner = msg.sender; emit OwnershipTransferred(address(0), _owner); } /** * @return the address of the owner. */ function owner() public view returns(address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(isOwner()); _; } /** * @return true if `msg.sender` is the owner of the contract. */ function isOwner() public view returns(bool) { return msg.sender == _owner; } /** * @dev Allows the current owner to relinquish control of the contract. * @notice Renouncing to ownership will leave the contract without an owner. * It will not be possible to call the functions with the `onlyOwner` * modifier anymore. */ function renounceOwnership() public onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } /** * @dev Allows the current owner to transfer control of the contract to a newOwner. * @param newOwner The address to transfer ownership to. */ function transferOwnership(address newOwner) public onlyOwner { _transferOwnership(newOwner); } /** * @dev Transfers control of the contract to a newOwner. * @param newOwner The address to transfer ownership to. */ function _transferOwnership(address newOwner) internal { require(newOwner != address(0)); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } // File: node_modules/openzeppelin-solidity/contracts/utils/ReentrancyGuard.sol /** * @title Helps contracts guard against reentrancy attacks. * @author Remco Bloemen <remco@2π.com>, Eenae <[email protected]> * @dev If you mark a function `nonReentrant`, you should also * mark it `external`. */ contract ReentrancyGuard { /// @dev counter to allow mutex lock with only one SSTORE operation uint256 private _guardCounter; constructor() internal { // The counter starts at one to prevent changing it from zero to a non-zero // value, which is a more expensive operation. _guardCounter = 1; } /** * @dev Prevents a contract from calling itself, directly or indirectly. * Calling a `nonReentrant` function from another `nonReentrant` * function is not supported. It is possible to prevent this from happening * by making the `nonReentrant` function external, and make it call a * `private` function that does the actual work. */ modifier nonReentrant() { _guardCounter += 1; uint256 localCounter = _guardCounter; _; require(localCounter == _guardCounter); } } // File: node_modules/openzeppelin-solidity/contracts/math/Safemath.sol /** * @title SafeMath * @dev Math operations with safety checks that revert on error */ library SafeMath { /** * @dev Multiplies two numbers, reverts on overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522 if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b); return c; } /** * @dev Integer division of two numbers truncating the quotient, reverts on division by zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { require(b > 0); // Solidity only automatically asserts when dividing by 0 uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } /** * @dev Subtracts two numbers, reverts on overflow (i.e. if subtrahend is greater than minuend). */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { require(b <= a); uint256 c = a - b; return c; } /** * @dev Adds two numbers, reverts on overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a); return c; } /** * @dev Divides two numbers and returns the remainder (unsigned integer modulo), * reverts when dividing by zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { require(b != 0); return a % b; } } // File: node_modules/openzeppelin-solidity/contracts/token/ERC20/IERC20.sol /** * @title ERC20 interface * @dev see https://github.com/ethereum/EIPs/issues/20 */ interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address who) external view returns (uint256); function allowance(address owner, address spender) external view returns (uint256); function transfer(address to, uint256 value) external returns (bool); function approve(address spender, uint256 value) external returns (bool); function transferFrom(address from, address to, uint256 value) external returns (bool); event Transfer( address indexed from, address indexed to, uint256 value ); event Approval( address indexed owner, address indexed spender, uint256 value ); } // File: lib/CanReclaimToken.sol /** * @title Contracts that should be able to recover tokens * @author SylTi * @dev This allow a contract to recover any ERC20 token received in a contract by transferring the balance to the contract owner. * This will prevent any accidental loss of tokens. */ contract CanReclaimToken is Ownable { /** * @dev Reclaim all ERC20 compatible tokens * @param token ERC20 The address of the token contract */ function reclaimToken(IERC20 token) external onlyOwner { if (address(token) == address(0)) { owner().transfer(address(this).balance); return; } uint256 balance = token.balanceOf(this); token.transfer(owner(), balance); } } // File: contracts/Mentoring.sol interface HEROES { function getLevel(uint256 tokenId) external view returns (uint256); function getGenes(uint256 tokenId) external view returns (uint256); function getRace(uint256 tokenId) external view returns (uint256); function lock(uint256 tokenId, uint256 lockedTo, bool onlyFreeze) external returns (bool); function unlock(uint256 tokenId) external returns (bool); function ownerOf(uint256 tokenId) external view returns (address); function isCallerAgentOf(uint tokenId) external view returns (bool); function addWin(uint256 tokenId, uint winsCount, uint levelUp) external returns (bool); function addLoss(uint256 tokenId, uint256 lossesCount, uint levelDown) external returns (bool); } contract Mentoring is Ownable, ReentrancyGuard, CanReclaimToken { using SafeMath for uint256; event BecomeMentor(uint256 indexed mentorId); event BreakMentoring(uint256 indexed mentorId); event ChangeLevelPrice(uint256 indexed mentorId, uint256 newLevelPrice); event Income(address source, uint256 amount); event StartLecture(uint256 indexed lectureId, uint256 indexed mentorId, uint256 indexed studentId, uint256 mentorLevel, uint256 studentLevel, uint256 levelUp, uint256 levelPrice, uint256 startedAt, uint256 endsAt); // event Withdraw(address to, uint256 amount); struct Lecture { uint256 mentorId; uint256 studentId; uint256 mentorLevel; uint256 studentLevel; uint256 levelUp; uint256 levelPrice; // uint256 cost; uint256 startedAt; uint256 endsAt; } HEROES public heroes; uint256 public fee = 290; //2.9% uint256 public levelUpTime = 20 minutes; mapping(uint256 => uint256) internal prices; Lecture[] internal lectures; /* tokenId => lecture index */ mapping(uint256 => uint256[]) studentToLecture; mapping(uint256 => uint256[]) mentorToLecture; modifier onlyOwnerOf(uint256 _tokenId) { require(heroes.ownerOf(_tokenId) == msg.sender); _; } constructor (HEROES _heroes) public { require(address(_heroes) != address(0)); heroes = _heroes; //fix lectureId issue - add zero lecture lectures.length = 1; } /// @notice The fallback function payable function() external payable { require(msg.value > 0); _flushBalance(); } function _flushBalance() private { uint256 balance = address(this).balance; if (balance > 0) { address(heroes).transfer(balance); emit Income(address(this), balance); } } function _distributePayment(address _account, uint256 _amount) internal { uint256 pcnt = _getPercent(_amount, fee); uint256 amount = _amount.sub(pcnt); _account.transfer(amount); } /** * Set fee */ function setFee(uint256 _fee) external onlyOwner { fee = _fee; } // MENTORING /** * Set the one level up time */ function setLevelUpTime(uint256 _newLevelUpTime) external onlyOwner { levelUpTime = _newLevelUpTime; } function isMentor(uint256 _mentorId) public view returns (bool) { //проверяем установлена ли цена обучения и текущий агент пресонажа =менторство return heroes.isCallerAgentOf(_mentorId); // && prices[_mentorId] != 0; } function inStudying(uint256 _tokenId) public view returns (bool) { return now <= lectures[getLastLectureIdAsStudent(_tokenId)].endsAt; } function inMentoring(uint256 _tokenId) public view returns (bool) { return now <= lectures[getLastLectureIdAsMentor(_tokenId)].endsAt; } function inLecture(uint256 _tokenId) public view returns (bool) { return inMentoring(_tokenId) || inStudying(_tokenId); } /** * Set the character as mentor */ function becomeMentor(uint256 _mentorId, uint256 _levelPrice) external onlyOwnerOf(_mentorId) { require(_levelPrice > 0); require(heroes.lock(_mentorId, 0, false)); prices[_mentorId] = _levelPrice; emit BecomeMentor(_mentorId); emit ChangeLevelPrice(_mentorId, _levelPrice); } /** * Change price */ function changeLevelPrice(uint256 _mentorId, uint256 _levelPrice) external onlyOwnerOf(_mentorId) { require(_levelPrice > 0); require(isMentor(_mentorId)); prices[_mentorId] = _levelPrice; emit ChangeLevelPrice(_mentorId, _levelPrice); } /** * Break mentoring for character */ function breakMentoring(uint256 _mentorId) external onlyOwnerOf(_mentorId) { require(heroes.unlock(_mentorId)); emit BreakMentoring(_mentorId); } function getMentor(uint256 _mentorId) external view returns (uint256 level, uint256 price) { require(isMentor(_mentorId)); return (heroes.getLevel(_mentorId), prices[_mentorId]); } function _calcLevelIncrease(uint256 _mentorLevel, uint256 _studentLevel) internal pure returns (uint256) { if (_mentorLevel < _studentLevel) { return 0; } uint256 levelDiff = _mentorLevel - _studentLevel; return (levelDiff >> 1) + (levelDiff & 1); } /** * calc full cost of study */ function calcCost(uint256 _mentorId, uint256 _studentId) external view returns (uint256) { uint256 levelUp = _calcLevelIncrease(heroes.getLevel(_mentorId), heroes.getLevel(_studentId)); return levelUp.mul(prices[_mentorId]); } function isRaceSuitable(uint256 _mentorId, uint256 _studentId) public view returns (bool) { uint256 mentorRace = heroes.getGenes(_mentorId) & 0xFFFF; uint256 studentRace = heroes.getGenes(_studentId) & 0xFFFF; return (mentorRace == 1 || mentorRace == studentRace); } /** * Start the study */ function startLecture(uint256 _mentorId, uint256 _studentId) external payable onlyOwnerOf(_studentId) { require(isMentor(_mentorId)); // Check race require(isRaceSuitable(_mentorId, _studentId)); uint256 mentorLevel = heroes.getLevel(_mentorId); uint256 studentLevel = heroes.getLevel(_studentId); uint256 levelUp = _calcLevelIncrease(mentorLevel, studentLevel); require(levelUp > 0); // check sum is enough uint256 cost = levelUp.mul(prices[_mentorId]); require(cost == msg.value); Lecture memory lecture = Lecture({ mentorId : _mentorId, studentId : _studentId, mentorLevel: mentorLevel, studentLevel: studentLevel, levelUp: levelUp, levelPrice : prices[_mentorId], startedAt : now, endsAt : now + levelUp.mul(levelUpTime) }); //locking mentor require(heroes.lock(_mentorId, lecture.endsAt, true)); //locking student require(heroes.lock(_studentId, lecture.endsAt, true)); //save lecture //id starts from 1 uint256 lectureId = lectures.push(lecture) - 1; studentToLecture[_studentId].push(lectureId); mentorToLecture[_mentorId].push(lectureId); heroes.addWin(_studentId, 0, levelUp); emit StartLecture( lectureId, _mentorId, _studentId, lecture.mentorLevel, lecture.studentLevel, lecture.levelUp, lecture.levelPrice, lecture.startedAt, lecture.endsAt ); _distributePayment(heroes.ownerOf(_mentorId), cost); _flushBalance(); } function lectureExists(uint256 _lectureId) public view returns (bool) { return (_lectureId > 0 && _lectureId < lectures.length); } function getLecture(uint256 lectureId) external view returns ( uint256 mentorId, uint256 studentId, uint256 mentorLevel, uint256 studentLevel, uint256 levelUp, uint256 levelPrice, uint256 cost, uint256 startedAt, uint256 endsAt) { require(lectureExists(lectureId)); Lecture memory l = lectures[lectureId]; return (l.mentorId, l.studentId, l.mentorLevel, l.studentLevel, l.levelUp, l.levelPrice, l.levelUp.mul(l.levelPrice), l.startedAt, l.endsAt); } function getLastLectureIdAsMentor(uint256 _tokenId) public view returns (uint256) { return mentorToLecture[_tokenId].length > 0 ? mentorToLecture[_tokenId][mentorToLecture[_tokenId].length - 1] : 0; } function getLastLectureIdAsStudent(uint256 _tokenId) public view returns (uint256) { return studentToLecture[_tokenId].length > 0 ? studentToLecture[_tokenId][studentToLecture[_tokenId].length - 1] : 0; } function getLastLecture(uint256 tokenId) external view returns ( uint256 lectureId, uint256 mentorId, uint256 studentId, uint256 mentorLevel, uint256 studentLevel, uint256 levelUp, uint256 levelPrice, uint256 cost, uint256 startedAt, uint256 endsAt) { uint256 mentorLectureId = getLastLectureIdAsMentor(tokenId); uint256 studentLectureId = getLastLectureIdAsStudent(tokenId); lectureId = studentLectureId > mentorLectureId ? studentLectureId : mentorLectureId; require(lectureExists(lectureId)); Lecture storage l = lectures[lectureId]; return (lectureId, l.mentorId, l.studentId, l.mentorLevel, l.studentLevel, l.levelUp, l.levelPrice, l.levelUp.mul(l.levelPrice), l.startedAt, l.endsAt); } //// SERVICE //1% - 100, 10% - 1000 50% - 5000 function _getPercent(uint256 _v, uint256 _p) internal pure returns (uint) { return _v.mul(_p).div(10000); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[{"name":"_mentorId","type":"uint256"}],"name":"isMentor","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_mentorId","type":"uint256"},{"name":"_levelPrice","type":"uint256"}],"name":"changeLevelPrice","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"tokenId","type":"uint256"}],"name":"getLastLecture","outputs":[{"name":"lectureId","type":"uint256"},{"name":"mentorId","type":"uint256"},{"name":"studentId","type":"uint256"},{"name":"mentorLevel","type":"uint256"},{"name":"studentLevel","type":"uint256"},{"name":"levelUp","type":"uint256"},{"name":"levelPrice","type":"uint256"},{"name":"cost","type":"uint256"},{"name":"startedAt","type":"uint256"},{"name":"endsAt","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"token","type":"address"}],"name":"reclaimToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_mentorId","type":"uint256"}],"name":"breakMentoring","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"heroes","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"inStudying","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"getLastLectureIdAsStudent","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_mentorId","type":"uint256"}],"name":"getMentor","outputs":[{"name":"level","type":"uint256"},{"name":"price","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"inLecture","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_fee","type":"uint256"}],"name":"setFee","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"lectureId","type":"uint256"}],"name":"getLecture","outputs":[{"name":"mentorId","type":"uint256"},{"name":"studentId","type":"uint256"},{"name":"mentorLevel","type":"uint256"},{"name":"studentLevel","type":"uint256"},{"name":"levelUp","type":"uint256"},{"name":"levelPrice","type":"uint256"},{"name":"cost","type":"uint256"},{"name":"startedAt","type":"uint256"},{"name":"endsAt","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newLevelUpTime","type":"uint256"}],"name":"setLevelUpTime","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_mentorId","type":"uint256"},{"name":"_levelPrice","type":"uint256"}],"name":"becomeMentor","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_mentorId","type":"uint256"},{"name":"_studentId","type":"uint256"}],"name":"calcCost","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_mentorId","type":"uint256"},{"name":"_studentId","type":"uint256"}],"name":"startLecture","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"levelUpTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"fee","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"inMentoring","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_lectureId","type":"uint256"}],"name":"lectureExists","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_mentorId","type":"uint256"},{"name":"_studentId","type":"uint256"}],"name":"isRaceSuitable","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"getLastLectureIdAsMentor","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_heroes","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"mentorId","type":"uint256"}],"name":"BecomeMentor","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"mentorId","type":"uint256"}],"name":"BreakMentoring","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"mentorId","type":"uint256"},{"indexed":false,"name":"newLevelPrice","type":"uint256"}],"name":"ChangeLevelPrice","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"source","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Income","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"lectureId","type":"uint256"},{"indexed":true,"name":"mentorId","type":"uint256"},{"indexed":true,"name":"studentId","type":"uint256"},{"indexed":false,"name":"mentorLevel","type":"uint256"},{"indexed":false,"name":"studentLevel","type":"uint256"},{"indexed":false,"name":"levelUp","type":"uint256"},{"indexed":false,"name":"levelPrice","type":"uint256"},{"indexed":false,"name":"startedAt","type":"uint256"},{"indexed":false,"name":"endsAt","type":"uint256"}],"name":"StartLecture","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]
Contract Creation Code
60806040526101226003556104b06004553480156200001d57600080fd5b5060405160208062001d19833981016040819052905160008054600160a060020a03191633178082559192600160a060020a0392909216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a360018055600160a060020a03811615156200009457600080fd5b60028054600160a060020a031916600160a060020a0383161790556001620000be600682620000c6565b50506200014e565b815481835581811115620000f557600802816008028360005260206000209182019101620000f59190620000fa565b505050565b6200014b91905b8082111562000147576000808255600182018190556002820181905560038201819055600482018190556005820181905560068201819055600782015560080162000101565b5090565b90565b611bbb806200015e6000396000f3006080604052600436106101535763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630129f2a2811461016a578063075f447b146101965780631331e6b0146101b157806317ffc320146102195780631fede9d91461023a578063230bb9f61461025257806332e38459146102835780633c39f6791461029b5780634e0ca1cf146102c557806353841e12146102f657806369fe0e2d1461030e578063701a487e14610326578063715018a6146103855780637349843c1461039a5780638da5cb5b146103b25780638f32d59b146103c757806399a3b8ed146103dc578063a5a13ddc146103f7578063ae1e033014610412578063cf2ab40914610420578063ddca3f4314610435578063e45af7c51461044a578063ee8b125d14610462578063efdf257a1461047a578063f2fde38b14610495578063f36de3f5146104b6575b6000341161016057600080fd5b6101686104ce565b005b34801561017657600080fd5b50610182600435610553565b604080519115158252519081900360200190f35b3480156101a257600080fd5b506101686004356024356105eb565b3480156101bd57600080fd5b506101c96004356106ec565b604080519a8b5260208b0199909952898901979097526060890195909552608088019390935260a087019190915260c086015260e085015261010084015261012083015251908190036101400190f35b34801561022557600080fd5b50610168600160a060020a03600435166107c1565b34801561024657600080fd5b5061016860043561096f565b34801561025e57600080fd5b50610267610ad0565b60408051600160a060020a039092168252519081900360200190f35b34801561028f57600080fd5b50610182600435610adf565b3480156102a757600080fd5b506102b3600435610b12565b60408051918252519081900360200190f35b3480156102d157600080fd5b506102dd600435610b5e565b6040805192835260208301919091528051918290030190f35b34801561030257600080fd5b50610182600435610c09565b34801561031a57600080fd5b50610168600435610c23565b34801561033257600080fd5b5061033e600435610c3b565b60408051998a5260208a0198909852888801969096526060880194909452608087019290925260a086015260c085015260e084015261010083015251908190036101200190f35b34801561039157600080fd5b50610168610d27565b3480156103a657600080fd5b50610168600435610d91565b3480156103be57600080fd5b50610267610da9565b3480156103d357600080fd5b50610182610db8565b3480156103e857600080fd5b50610168600435602435610dc9565b34801561040357600080fd5b506102b3600435602435610f8c565b6101686004356024356110c0565b34801561042c57600080fd5b506102b36117de565b34801561044157600080fd5b506102b36117e4565b34801561045657600080fd5b506101826004356117ea565b34801561046e57600080fd5b506101826004356117f7565b34801561048657600080fd5b5061018260043560243561180b565b3480156104a157600080fd5b50610168600160a060020a036004351661195c565b3480156104c257600080fd5b506102b3600435611978565b3031600081111561055057600254604051600160a060020a039091169082156108fc029083906000818181858888f19350505050158015610513573d6000803e3d6000fd5b50604080513081526020810183905281517f0d2e009b696be50eaeafa43283c2e91362ec7d038b2af93783ec767d536ad278929181900390910190a15b50565b600254604080517fa16473b1000000000000000000000000000000000000000000000000000000008152600481018490529051600092600160a060020a03169163a16473b191602480830192602092919082900301818787803b1580156105b957600080fd5b505af11580156105cd573d6000803e3d6000fd5b505050506040513d60208110156105e357600080fd5b505192915050565b6002546040805160e160020a6331a9108f02815260048101859052905184923392600160a060020a0390911691636352211e916024808201926020929091908290030181600087803b15801561064057600080fd5b505af1158015610654573d6000803e3d6000fd5b505050506040513d602081101561066a57600080fd5b5051600160a060020a03161461067f57600080fd5b6000821161068c57600080fd5b61069583610553565b15156106a057600080fd5b6000838152600560209081526040918290208490558151848152915185927fd5ff1816fc1e1872c8898e0fbd6de6fe5bded21494bfdd85c466d209b192049792908290030190a2505050565b60008060008060008060008060008060008060006107098e611978565b92506107148e610b12565b91508282116107235782610725565b815b9c506107308d6117f7565b151561073b57600080fd5b600680548e90811061074957fe5b906000526020600020906008020190508c816000015482600101548360020154846003015485600401548660050154610793886005015489600401546119b290919063ffffffff16565b886006015489600701549c509c509c509c509c509c509c509c509c509c505050509193959799509193959799565b60006107cb610db8565b15156107d657600080fd5b600160a060020a038216151561082c576107ee610da9565b604051600160a060020a039190911690303180156108fc02916000818181858888f19350505050158015610826573d6000803e3d6000fd5b5061096b565b604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a038416916370a082319160248083019260209291908290030181600087803b15801561088d57600080fd5b505af11580156108a1573d6000803e3d6000fd5b505050506040513d60208110156108b757600080fd5b50519050600160a060020a03821663a9059cbb6108d2610da9565b836040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b15801561093e57600080fd5b505af1158015610952573d6000803e3d6000fd5b505050506040513d602081101561096857600080fd5b50505b5050565b6002546040805160e160020a6331a9108f02815260048101849052905183923392600160a060020a0390911691636352211e916024808201926020929091908290030181600087803b1580156109c457600080fd5b505af11580156109d8573d6000803e3d6000fd5b505050506040513d60208110156109ee57600080fd5b5051600160a060020a031614610a0357600080fd5b600254604080517f6198e339000000000000000000000000000000000000000000000000000000008152600481018590529051600160a060020a0390921691636198e339916024808201926020929091908290030181600087803b158015610a6a57600080fd5b505af1158015610a7e573d6000803e3d6000fd5b505050506040513d6020811015610a9457600080fd5b50511515610aa157600080fd5b60405182907fe915e5ee020091d04485e69797eefc0680771c43bd87f60de3ca3d4ffcdc03ac90600090a25050565b600254600160a060020a031681565b60006006610aec83610b12565b81548110610af657fe5b9060005260206000209060080201600701544211159050919050565b6000818152600760205260408120548110610b2e576000610b58565b600082815260076020526040902080546000198101908110610b4c57fe5b90600052602060002001545b92915050565b600080610b6a83610553565b1515610b7557600080fd5b6002546040805160e660020a6302192075028152600481018690529051600160a060020a03909216916386481d40916024808201926020929091908290030181600087803b158015610bc657600080fd5b505af1158015610bda573d6000803e3d6000fd5b505050506040513d6020811015610bf057600080fd5b5051600093845260056020526040909320549293915050565b6000610c14826117ea565b80610b585750610b5882610adf565b610c2b610db8565b1515610c3657600080fd5b600355565b6000806000806000806000806000610c51611b49565b610c5a8b6117f7565b1515610c6557600080fd5b600680548c908110610c7357fe5b600091825260209182902060408051610100810182526008909302909101805480845260018201549484018590526002820154928401839052600382015460608501819052600483015460808601819052600584015460a08701819052600685015460c088015260079094015460e08701529496509094939091610cfd828263ffffffff6119b216565b8760c001518860e00151995099509950995099509950995099509950509193959799909294969850565b610d2f610db8565b1515610d3a57600080fd5b60008054604051600160a060020a03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a36000805473ffffffffffffffffffffffffffffffffffffffff19169055565b610d99610db8565b1515610da457600080fd5b600455565b600054600160a060020a031690565b600054600160a060020a0316331490565b6002546040805160e160020a6331a9108f02815260048101859052905184923392600160a060020a0390911691636352211e916024808201926020929091908290030181600087803b158015610e1e57600080fd5b505af1158015610e32573d6000803e3d6000fd5b505050506040513d6020811015610e4857600080fd5b5051600160a060020a031614610e5d57600080fd5b60008211610e6a57600080fd5b600254604080517fda12ffc500000000000000000000000000000000000000000000000000000000815260048101869052600060248201819052604482018190529151600160a060020a039093169263da12ffc592606480840193602093929083900390910190829087803b158015610ee257600080fd5b505af1158015610ef6573d6000803e3d6000fd5b505050506040513d6020811015610f0c57600080fd5b50511515610f1957600080fd5b6000838152600560205260408082208490555184917f0ace9a284cbaf022c3396d879fcfe7ad3843167c19f4493e4edfd186efd48a9691a260408051838152905184917fd5ff1816fc1e1872c8898e0fbd6de6fe5bded21494bfdd85c466d209b1920497919081900360200190a2505050565b6002546040805160e660020a6302192075028152600481018590529051600092839261109392600160a060020a03909216916386481d409160248082019260209290919082900301818887803b158015610fe557600080fd5b505af1158015610ff9573d6000803e3d6000fd5b505050506040513d602081101561100f57600080fd5b50516002546040805160e660020a6302192075028152600481018890529051600160a060020a03909216916386481d40916024808201926020929091908290030181600087803b15801561106257600080fd5b505af1158015611076573d6000803e3d6000fd5b505050506040513d602081101561108c57600080fd5b50516119e7565b6000858152600560205260409020549091506110b690829063ffffffff6119b216565b91505b5092915050565b6000806000806110ce611b49565b6002546040805160e160020a6331a9108f02815260048101899052905160009289923392600160a060020a0390921691636352211e9160248082019260209290919082900301818987803b15801561112557600080fd5b505af1158015611139573d6000803e3d6000fd5b505050506040513d602081101561114f57600080fd5b5051600160a060020a03161461116457600080fd5b61116d89610553565b151561117857600080fd5b611182898961180b565b151561118d57600080fd5b6002546040805160e660020a6302192075028152600481018c90529051600160a060020a03909216916386481d40916024808201926020929091908290030181600087803b1580156111de57600080fd5b505af11580156111f2573d6000803e3d6000fd5b505050506040513d602081101561120857600080fd5b50516002546040805160e660020a6302192075028152600481018c90529051929950600160a060020a03909116916386481d40916024808201926020929091908290030181600087803b15801561125e57600080fd5b505af1158015611272573d6000803e3d6000fd5b505050506040513d602081101561128857600080fd5b5051955061129687876119e7565b9450600085116112a557600080fd5b6000898152600560205260409020546112c590869063ffffffff6119b216565b93503484146112d357600080fd5b610100604051908101604052808a8152602001898152602001888152602001878152602001868152602001600560008c8152602001908152602001600020548152602001428152602001611332600454886119b290919063ffffffff16565b4201905260025460e0820151604080517fda12ffc5000000000000000000000000000000000000000000000000000000008152600481018e905260248101929092526001604483015251929550600160a060020a039091169163da12ffc5916064808201926020929091908290030181600087803b1580156113b357600080fd5b505af11580156113c7573d6000803e3d6000fd5b505050506040513d60208110156113dd57600080fd5b505115156113ea57600080fd5b60025460e0840151604080517fda12ffc5000000000000000000000000000000000000000000000000000000008152600481018c905260248101929092526001604483015251600160a060020a039092169163da12ffc5916064808201926020929091908290030181600087803b15801561146457600080fd5b505af1158015611478573d6000803e3d6000fd5b505050506040513d602081101561148e57600080fd5b5051151561149b57600080fd5b60068054600181810183556000928352855160088084027ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f8101929092556020808901517ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d408401556040808a01517ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d4185015560608a01517ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d4285015560808a01517ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d4385015560a08a01517ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d4485015560c08a01517ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d4585015560e08a01517ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d46909401939093558d86526007815282862080548086018255908752818720018590558e865290815281852080549384018155855280852090920183905560025481517fa69b97d5000000000000000000000000000000000000000000000000000000008152600481018e905260248101869052604481018b90529151939650600160a060020a03169363a69b97d593606480840194939192918390030190829087803b1580156116a657600080fd5b505af11580156116ba573d6000803e3d6000fd5b505050506040513d60208110156116d057600080fd5b505060408084015160608086015160808088015160a0808a015160c0808c015160e08d01518a51998a5260208a0197909752888a0194909452958701529185015283015291518a928c9286927fca8eb43dd243d57b1415a66a4b10fb68e3a605a8028e74e4da07028fd91a7380929181900390910190a46002546040805160e160020a6331a9108f028152600481018c905290516117cb92600160a060020a031691636352211e9160248083019260209291908290030181600087803b15801561179957600080fd5b505af11580156117ad573d6000803e3d6000fd5b505050506040513d60208110156117c357600080fd5b505185611a0d565b6117d36104ce565b505050505050505050565b60045481565b60035481565b60006006610aec83611978565b60008082118015610b585750506006541190565b600254604080517fa2e4b12e00000000000000000000000000000000000000000000000000000000815260048101859052905160009283928392600160a060020a039092169163a2e4b12e9160248082019260209290919082900301818787803b15801561187857600080fd5b505af115801561188c573d6000803e3d6000fd5b505050506040513d60208110156118a257600080fd5b5051600254604080517fa2e4b12e00000000000000000000000000000000000000000000000000000000815260048101889052905161ffff9093169450600160a060020a039091169163a2e4b12e916024808201926020929091908290030181600087803b15801561191357600080fd5b505af1158015611927573d6000803e3d6000fd5b505050506040513d602081101561193d57600080fd5b505161ffff169050600182148061195357508082145b95945050505050565b611964610db8565b151561196f57600080fd5b61055081611a6e565b6000818152600860205260408120548110611994576000610b58565b600082815260086020526040902080546000198101908110610b4c57fe5b6000808315156119c557600091506110b9565b508282028284828115156119d557fe5b04146119e057600080fd5b9392505050565b600080828410156119fb57600091506110b9565b50506001910390811660029091040190565b600080611a1c83600354611aeb565b9150611a2e838363ffffffff611b0f16565b604051909150600160a060020a0385169082156108fc029083906000818181858888f19350505050158015611a67573d6000803e3d6000fd5b5050505050565b600160a060020a0381161515611a8357600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60006119e0612710611b03858563ffffffff6119b216565b9063ffffffff611b2616565b60008083831115611b1f57600080fd5b5050900390565b600080808311611b3557600080fd5b8284811515611b4057fe5b04949350505050565b61010060405190810160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815250905600a165627a7a72305820482a7d2d84cf1716ee8bd3edcd2525b634b315a1496d490556725ec1acf4d0640029000000000000000000000000d2bae9a30a40376d25353773010ffe52dba0d688
Deployed Bytecode
0x6080604052600436106101535763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630129f2a2811461016a578063075f447b146101965780631331e6b0146101b157806317ffc320146102195780631fede9d91461023a578063230bb9f61461025257806332e38459146102835780633c39f6791461029b5780634e0ca1cf146102c557806353841e12146102f657806369fe0e2d1461030e578063701a487e14610326578063715018a6146103855780637349843c1461039a5780638da5cb5b146103b25780638f32d59b146103c757806399a3b8ed146103dc578063a5a13ddc146103f7578063ae1e033014610412578063cf2ab40914610420578063ddca3f4314610435578063e45af7c51461044a578063ee8b125d14610462578063efdf257a1461047a578063f2fde38b14610495578063f36de3f5146104b6575b6000341161016057600080fd5b6101686104ce565b005b34801561017657600080fd5b50610182600435610553565b604080519115158252519081900360200190f35b3480156101a257600080fd5b506101686004356024356105eb565b3480156101bd57600080fd5b506101c96004356106ec565b604080519a8b5260208b0199909952898901979097526060890195909552608088019390935260a087019190915260c086015260e085015261010084015261012083015251908190036101400190f35b34801561022557600080fd5b50610168600160a060020a03600435166107c1565b34801561024657600080fd5b5061016860043561096f565b34801561025e57600080fd5b50610267610ad0565b60408051600160a060020a039092168252519081900360200190f35b34801561028f57600080fd5b50610182600435610adf565b3480156102a757600080fd5b506102b3600435610b12565b60408051918252519081900360200190f35b3480156102d157600080fd5b506102dd600435610b5e565b6040805192835260208301919091528051918290030190f35b34801561030257600080fd5b50610182600435610c09565b34801561031a57600080fd5b50610168600435610c23565b34801561033257600080fd5b5061033e600435610c3b565b60408051998a5260208a0198909852888801969096526060880194909452608087019290925260a086015260c085015260e084015261010083015251908190036101200190f35b34801561039157600080fd5b50610168610d27565b3480156103a657600080fd5b50610168600435610d91565b3480156103be57600080fd5b50610267610da9565b3480156103d357600080fd5b50610182610db8565b3480156103e857600080fd5b50610168600435602435610dc9565b34801561040357600080fd5b506102b3600435602435610f8c565b6101686004356024356110c0565b34801561042c57600080fd5b506102b36117de565b34801561044157600080fd5b506102b36117e4565b34801561045657600080fd5b506101826004356117ea565b34801561046e57600080fd5b506101826004356117f7565b34801561048657600080fd5b5061018260043560243561180b565b3480156104a157600080fd5b50610168600160a060020a036004351661195c565b3480156104c257600080fd5b506102b3600435611978565b3031600081111561055057600254604051600160a060020a039091169082156108fc029083906000818181858888f19350505050158015610513573d6000803e3d6000fd5b50604080513081526020810183905281517f0d2e009b696be50eaeafa43283c2e91362ec7d038b2af93783ec767d536ad278929181900390910190a15b50565b600254604080517fa16473b1000000000000000000000000000000000000000000000000000000008152600481018490529051600092600160a060020a03169163a16473b191602480830192602092919082900301818787803b1580156105b957600080fd5b505af11580156105cd573d6000803e3d6000fd5b505050506040513d60208110156105e357600080fd5b505192915050565b6002546040805160e160020a6331a9108f02815260048101859052905184923392600160a060020a0390911691636352211e916024808201926020929091908290030181600087803b15801561064057600080fd5b505af1158015610654573d6000803e3d6000fd5b505050506040513d602081101561066a57600080fd5b5051600160a060020a03161461067f57600080fd5b6000821161068c57600080fd5b61069583610553565b15156106a057600080fd5b6000838152600560209081526040918290208490558151848152915185927fd5ff1816fc1e1872c8898e0fbd6de6fe5bded21494bfdd85c466d209b192049792908290030190a2505050565b60008060008060008060008060008060008060006107098e611978565b92506107148e610b12565b91508282116107235782610725565b815b9c506107308d6117f7565b151561073b57600080fd5b600680548e90811061074957fe5b906000526020600020906008020190508c816000015482600101548360020154846003015485600401548660050154610793886005015489600401546119b290919063ffffffff16565b886006015489600701549c509c509c509c509c509c509c509c509c509c505050509193959799509193959799565b60006107cb610db8565b15156107d657600080fd5b600160a060020a038216151561082c576107ee610da9565b604051600160a060020a039190911690303180156108fc02916000818181858888f19350505050158015610826573d6000803e3d6000fd5b5061096b565b604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a038416916370a082319160248083019260209291908290030181600087803b15801561088d57600080fd5b505af11580156108a1573d6000803e3d6000fd5b505050506040513d60208110156108b757600080fd5b50519050600160a060020a03821663a9059cbb6108d2610da9565b836040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b15801561093e57600080fd5b505af1158015610952573d6000803e3d6000fd5b505050506040513d602081101561096857600080fd5b50505b5050565b6002546040805160e160020a6331a9108f02815260048101849052905183923392600160a060020a0390911691636352211e916024808201926020929091908290030181600087803b1580156109c457600080fd5b505af11580156109d8573d6000803e3d6000fd5b505050506040513d60208110156109ee57600080fd5b5051600160a060020a031614610a0357600080fd5b600254604080517f6198e339000000000000000000000000000000000000000000000000000000008152600481018590529051600160a060020a0390921691636198e339916024808201926020929091908290030181600087803b158015610a6a57600080fd5b505af1158015610a7e573d6000803e3d6000fd5b505050506040513d6020811015610a9457600080fd5b50511515610aa157600080fd5b60405182907fe915e5ee020091d04485e69797eefc0680771c43bd87f60de3ca3d4ffcdc03ac90600090a25050565b600254600160a060020a031681565b60006006610aec83610b12565b81548110610af657fe5b9060005260206000209060080201600701544211159050919050565b6000818152600760205260408120548110610b2e576000610b58565b600082815260076020526040902080546000198101908110610b4c57fe5b90600052602060002001545b92915050565b600080610b6a83610553565b1515610b7557600080fd5b6002546040805160e660020a6302192075028152600481018690529051600160a060020a03909216916386481d40916024808201926020929091908290030181600087803b158015610bc657600080fd5b505af1158015610bda573d6000803e3d6000fd5b505050506040513d6020811015610bf057600080fd5b5051600093845260056020526040909320549293915050565b6000610c14826117ea565b80610b585750610b5882610adf565b610c2b610db8565b1515610c3657600080fd5b600355565b6000806000806000806000806000610c51611b49565b610c5a8b6117f7565b1515610c6557600080fd5b600680548c908110610c7357fe5b600091825260209182902060408051610100810182526008909302909101805480845260018201549484018590526002820154928401839052600382015460608501819052600483015460808601819052600584015460a08701819052600685015460c088015260079094015460e08701529496509094939091610cfd828263ffffffff6119b216565b8760c001518860e00151995099509950995099509950995099509950509193959799909294969850565b610d2f610db8565b1515610d3a57600080fd5b60008054604051600160a060020a03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a36000805473ffffffffffffffffffffffffffffffffffffffff19169055565b610d99610db8565b1515610da457600080fd5b600455565b600054600160a060020a031690565b600054600160a060020a0316331490565b6002546040805160e160020a6331a9108f02815260048101859052905184923392600160a060020a0390911691636352211e916024808201926020929091908290030181600087803b158015610e1e57600080fd5b505af1158015610e32573d6000803e3d6000fd5b505050506040513d6020811015610e4857600080fd5b5051600160a060020a031614610e5d57600080fd5b60008211610e6a57600080fd5b600254604080517fda12ffc500000000000000000000000000000000000000000000000000000000815260048101869052600060248201819052604482018190529151600160a060020a039093169263da12ffc592606480840193602093929083900390910190829087803b158015610ee257600080fd5b505af1158015610ef6573d6000803e3d6000fd5b505050506040513d6020811015610f0c57600080fd5b50511515610f1957600080fd5b6000838152600560205260408082208490555184917f0ace9a284cbaf022c3396d879fcfe7ad3843167c19f4493e4edfd186efd48a9691a260408051838152905184917fd5ff1816fc1e1872c8898e0fbd6de6fe5bded21494bfdd85c466d209b1920497919081900360200190a2505050565b6002546040805160e660020a6302192075028152600481018590529051600092839261109392600160a060020a03909216916386481d409160248082019260209290919082900301818887803b158015610fe557600080fd5b505af1158015610ff9573d6000803e3d6000fd5b505050506040513d602081101561100f57600080fd5b50516002546040805160e660020a6302192075028152600481018890529051600160a060020a03909216916386481d40916024808201926020929091908290030181600087803b15801561106257600080fd5b505af1158015611076573d6000803e3d6000fd5b505050506040513d602081101561108c57600080fd5b50516119e7565b6000858152600560205260409020549091506110b690829063ffffffff6119b216565b91505b5092915050565b6000806000806110ce611b49565b6002546040805160e160020a6331a9108f02815260048101899052905160009289923392600160a060020a0390921691636352211e9160248082019260209290919082900301818987803b15801561112557600080fd5b505af1158015611139573d6000803e3d6000fd5b505050506040513d602081101561114f57600080fd5b5051600160a060020a03161461116457600080fd5b61116d89610553565b151561117857600080fd5b611182898961180b565b151561118d57600080fd5b6002546040805160e660020a6302192075028152600481018c90529051600160a060020a03909216916386481d40916024808201926020929091908290030181600087803b1580156111de57600080fd5b505af11580156111f2573d6000803e3d6000fd5b505050506040513d602081101561120857600080fd5b50516002546040805160e660020a6302192075028152600481018c90529051929950600160a060020a03909116916386481d40916024808201926020929091908290030181600087803b15801561125e57600080fd5b505af1158015611272573d6000803e3d6000fd5b505050506040513d602081101561128857600080fd5b5051955061129687876119e7565b9450600085116112a557600080fd5b6000898152600560205260409020546112c590869063ffffffff6119b216565b93503484146112d357600080fd5b610100604051908101604052808a8152602001898152602001888152602001878152602001868152602001600560008c8152602001908152602001600020548152602001428152602001611332600454886119b290919063ffffffff16565b4201905260025460e0820151604080517fda12ffc5000000000000000000000000000000000000000000000000000000008152600481018e905260248101929092526001604483015251929550600160a060020a039091169163da12ffc5916064808201926020929091908290030181600087803b1580156113b357600080fd5b505af11580156113c7573d6000803e3d6000fd5b505050506040513d60208110156113dd57600080fd5b505115156113ea57600080fd5b60025460e0840151604080517fda12ffc5000000000000000000000000000000000000000000000000000000008152600481018c905260248101929092526001604483015251600160a060020a039092169163da12ffc5916064808201926020929091908290030181600087803b15801561146457600080fd5b505af1158015611478573d6000803e3d6000fd5b505050506040513d602081101561148e57600080fd5b5051151561149b57600080fd5b60068054600181810183556000928352855160088084027ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f8101929092556020808901517ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d408401556040808a01517ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d4185015560608a01517ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d4285015560808a01517ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d4385015560a08a01517ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d4485015560c08a01517ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d4585015560e08a01517ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d46909401939093558d86526007815282862080548086018255908752818720018590558e865290815281852080549384018155855280852090920183905560025481517fa69b97d5000000000000000000000000000000000000000000000000000000008152600481018e905260248101869052604481018b90529151939650600160a060020a03169363a69b97d593606480840194939192918390030190829087803b1580156116a657600080fd5b505af11580156116ba573d6000803e3d6000fd5b505050506040513d60208110156116d057600080fd5b505060408084015160608086015160808088015160a0808a015160c0808c015160e08d01518a51998a5260208a0197909752888a0194909452958701529185015283015291518a928c9286927fca8eb43dd243d57b1415a66a4b10fb68e3a605a8028e74e4da07028fd91a7380929181900390910190a46002546040805160e160020a6331a9108f028152600481018c905290516117cb92600160a060020a031691636352211e9160248083019260209291908290030181600087803b15801561179957600080fd5b505af11580156117ad573d6000803e3d6000fd5b505050506040513d60208110156117c357600080fd5b505185611a0d565b6117d36104ce565b505050505050505050565b60045481565b60035481565b60006006610aec83611978565b60008082118015610b585750506006541190565b600254604080517fa2e4b12e00000000000000000000000000000000000000000000000000000000815260048101859052905160009283928392600160a060020a039092169163a2e4b12e9160248082019260209290919082900301818787803b15801561187857600080fd5b505af115801561188c573d6000803e3d6000fd5b505050506040513d60208110156118a257600080fd5b5051600254604080517fa2e4b12e00000000000000000000000000000000000000000000000000000000815260048101889052905161ffff9093169450600160a060020a039091169163a2e4b12e916024808201926020929091908290030181600087803b15801561191357600080fd5b505af1158015611927573d6000803e3d6000fd5b505050506040513d602081101561193d57600080fd5b505161ffff169050600182148061195357508082145b95945050505050565b611964610db8565b151561196f57600080fd5b61055081611a6e565b6000818152600860205260408120548110611994576000610b58565b600082815260086020526040902080546000198101908110610b4c57fe5b6000808315156119c557600091506110b9565b508282028284828115156119d557fe5b04146119e057600080fd5b9392505050565b600080828410156119fb57600091506110b9565b50506001910390811660029091040190565b600080611a1c83600354611aeb565b9150611a2e838363ffffffff611b0f16565b604051909150600160a060020a0385169082156108fc029083906000818181858888f19350505050158015611a67573d6000803e3d6000fd5b5050505050565b600160a060020a0381161515611a8357600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60006119e0612710611b03858563ffffffff6119b216565b9063ffffffff611b2616565b60008083831115611b1f57600080fd5b5050900390565b600080808311611b3557600080fd5b8284811515611b4057fe5b04949350505050565b61010060405190810160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815250905600a165627a7a72305820482a7d2d84cf1716ee8bd3edcd2525b634b315a1496d490556725ec1acf4d0640029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000d2bae9a30a40376d25353773010ffe52dba0d688
-----Decoded View---------------
Arg [0] : _heroes (address): 0xd2BaE9A30A40376d25353773010FFe52dBa0D688
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000d2bae9a30a40376d25353773010ffe52dba0d688
Swarm Source
bzzr://482a7d2d84cf1716ee8bd3edcd2525b634b315a1496d490556725ec1acf4d064
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.