Address Contract Partially Verified
Address
0xa7705BA697C1AFE0429be6BCf8192aF1BA8768A9
Balance
0 ETH
Nonce
1
Code Size
7559 bytes
Creator
0xfEC7ED91...134A at tx 0x966cff44...6458ef
Indexed Transactions
0 (1 on-chain, 1.2% indexed)
Contract Bytecode
7559 bytes
0x6080604052600436106100e85760003560e01c8063a4bb170d1161008a578063f2fde38b11610059578063f2fde38b1461068d578063f6838a72146106c0578063fc0c546a146106dd578063fc4333cd146106f2576100e8565b8063a4bb170d146105ac578063a87430ba146105c1578063d284007314610621578063eedc966a1461065a576100e8565b806379378e30116100c657806379378e30146105145780638853b53e146105505780639335dcb71461056d5780639f4216e814610582576100e8565b8063132c8c9b14610414578063412664ae146104635780634a4baa8f14610491575b6001600090815260096020527f92e85d02570a8092d09a6e3a57665bc3815a2699a4074001bf1ccabf660f5a3654341415610125575060016102cb565b600260005260096020527f6cde3cea4b3a3fb2488b2808bae7556f4a405e50f65e1794383bc026131b13c354341415610160575060026102cb565b600360005260096020527fc575c31fea594a6eb97c8e9d3f9caee4c16218c6ef37e923234c0fe9014a61e75434141561019b575060036102cb565b600460005260096020527f8dc18c4ccfd75f5c815b63770fa542fd953e8fef7e0e44bbdd4913470ce7e9cb543414156101d6575060046102cb565b600560005260096020527f74b05292d1d4b2b48b65261b07099d24244bcb069f138d9a6bfdcf776becac4c54341415610211575060056102cb565b600660005260096020527fbb6daa0c283751197dfdc76590680f9005e97d6f23870deb1164ab60b28b9f5f5434141561024c575060066102cb565b600760005260096020527fae6299332bcd708cd60e3a8defa55de28078a50a4cf2b3de3a546253240ff9e154341415610287575060076102cb565b6040805162461bcd60e51b8152602060048201526014602482015273125b98dbdc9c9958dd0815985b1d59481cd95b9960621b604482015290519081900360640190fd5b336000908152600a602052604090205460ff16156102f1576102ec81610707565b610411565b80600114156103da57600080905060006103416000368080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506109e792505050565b6001600160a01b0381166000908152600a602052604090205490915060ff1615610388576001600160a01b0381166000908152600a602052604090206001015491506103ca565b6040805162461bcd60e51b815260206004820152601260248201527124b731b7b93932b1ba103932b332b93932b960711b604482015290519081900360640190fd5b6103d3826109ee565b5050610411565b60405162461bcd60e51b8152600401808060200182810382526029815260200180611cc16029913960400191505060405180910390fd5b50005b34801561042057600080fd5b506104476004803603602081101561043757600080fd5b50356001600160a01b0316610d15565b604080516001600160a01b039092168252519081900360200190f35b61048f6004803603604081101561047957600080fd5b506001600160a01b03813516906020013561103a565b005b34801561049d57600080fd5b506104c4600480360360208110156104b457600080fd5b50356001600160a01b03166111c7565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156105005781810151838201526020016104e8565b505050509050019250505060405180910390f35b34801561052057600080fd5b5061053e6004803603602081101561053757600080fd5b5035611240565b60408051918252519081900360200190f35b61048f6004803603602081101561056657600080fd5b50356109ee565b34801561057957600080fd5b50610447611252565b34801561058e57600080fd5b50610447600480360360208110156105a557600080fd5b5035611261565b3480156105b857600080fd5b5061053e61127c565b3480156105cd57600080fd5b506105f4600480360360208110156105e457600080fd5b50356001600160a01b0316611282565b60408051951515865260208601949094528484019290925260608401526080830152519081900360a00190f35b34801561062d57600080fd5b5061053e6004803603604081101561064457600080fd5b506001600160a01b0381351690602001356112b5565b34801561066657600080fd5b5061053e6004803603602081101561067d57600080fd5b50356001600160a01b03166112e1565b34801561069957600080fd5b5061048f600480360360208110156106b057600080fd5b50356001600160a01b0316611364565b61048f600480360360208110156106d657600080fd5b5035610707565b3480156106e957600080fd5b506104476113cf565b3480156106fe57600080fd5b5061053e6113de565b336000908152600a602052604090205460ff1661075c576040805162461bcd60e51b815260206004820152600e60248201526d155cd95c881b9bdd08195e1a5cdd60921b604482015290519081900360640190fd5b60008111801561076d575060048111155b6107b0576040805162461bcd60e51b815260206004820152600f60248201526e125b98dbdc9c9958dd081b195d995b608a1b604482015290519081900360640190fd5b806001141561085757600160005260096020527f92e85d02570a8092d09a6e3a57665bc3815a2699a4074001bf1ccabf660f5a3654341461082a576040805162461bcd60e51b815260206004820152600f60248201526e496e636f72726563742056616c756560881b604482015290519081900360640190fd5b600654336000908152600a60209081526040808320600184526004019091529020805490910190556109a1565b60008181526009602052604090205434146108ab576040805162461bcd60e51b815260206004820152600f60248201526e496e636f72726563742056616c756560881b604482015290519081900360640190fd5b60001981015b801561092b57336000908152600a60209081526040808320848452600401909152902054421115610922576040805162461bcd60e51b8152602060048201526016602482015275109d5e481d1a19481c1c995d9a5bdd5cc81b195d995b60521b604482015290519081900360640190fd5b600019016108b1565b50336000908152600a6020908152604080832084845260040190915290205461097957600654336000908152600a6020908152604080832085845260040190915290204290910190556109a1565b600654336000908152600a602090815260408083208584526004019091529020805490910190555b6109ab8133611469565b60408051828152426020820152815133927f9ea70f0eb33d898c3336ecf2c0e3cf1c0195c13ad3fbcb34447777dbfd5ff2d0928290030190a250565b6014015190565b336000908152600a602052604090205460ff1615610a40576040805162461bcd60e51b815260206004820152600a602482015269155cd95c88195e1a5cdd60b21b604482015290519081900360640190fd5b600081118015610a525750600c548111155b610a9b576040805162461bcd60e51b8152602060048201526015602482015274125b98dbdc9c9958dd081c9959995c9c995c881259605a1b604482015290519081900360640190fd5b600160005260096020527f92e85d02570a8092d09a6e3a57665bc3815a2699a4074001bf1ccabf660f5a36543414610b0c576040805162461bcd60e51b815260206004820152600f60248201526e496e636f72726563742056616c756560881b604482015290519081900360640190fd5b6005546000828152600b60209081526040808320546001600160a01b03168352600a90915290206003015410610b88576000818152600b6020526040812054600a9190610b61906001600160a01b0316610d15565b6001600160a01b03166001600160a01b031681526020019081526020016000206001015490505b610b90611bfc565b50600c80546001908101918290556040805160c0810182528281526020808201948552818301868152835160008082528184018652606085019182526080850181905260a08501819052338152600a8452949094208351815460ff19169015151781559551948601949094559251600285015590518051919384939092610c1d9260038501920190611c34565b506080820151600582015560a090910151600691820155600c546000908152600b602081815260408084208054336001600160a01b031991821681179092559554818652600a80855283872060018089526004909101865284882042909301909255898752948452828620546001600160a01b0316865293835290842060030180548085018255908552919093200180549093168217909255610cc09190611469565b6000828152600b602090815260409182902054825142815292516001600160a01b039091169233927f788c06d2405ae89dd3f0528d38be7691289474d72176408bc2c2406dc5e342f192918290030190a35050565b6005546001600160a01b0382166000908152600a602052604081206003015490911115610d43575080611035565b60408051607e808252610fe0820190925260609160208201610fc0803883395050506001600160a01b0384166000908152600a60205260408120600301805492935091610d8c57fe5b600091825260208220015482516001600160a01b03909116918391610dad57fe5b6001600160a01b039283166020918202929092018101919091529084166000908152600a9091526040902060030180546001908110610de857fe5b9060005260206000200160009054906101000a90046001600160a01b031681600181518110610e1357fe5b6001600160a01b039092166020928302919091019091015260006001815b607e811015610fe957600554600a6000868481518110610e4d57fe5b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020600301805490501415610fc257603e811015610fbd57600a6000858381518110610e9b57fe5b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020600301600081548110610ed257fe5b9060005260206000200160009054906101000a90046001600160a01b0316848260010160020281518110610f0257fe5b60200260200101906001600160a01b031690816001600160a01b031681525050600a6000858381518110610f3257fe5b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020600301600181548110610f6957fe5b9060005260206000200160009054906101000a90046001600160a01b0316848260010160020260010181518110610f9c57fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505b610fe1565b60009150838181518110610fd257fe5b60200260200101519250610fe9565b600101610e31565b508015611030576040805162461bcd60e51b815260206004820152601060248201526f273790233932b2902932b332b93932b960811b604482015290519081900360640190fd5b509150505b919050565b6000546001600160a01b031633146110835760405162461bcd60e51b8152600401808060200182810382526029815260200180611cea6029913960400191505060405180910390fd5b600254604080516370a0823160e01b8152306004820152905183926001600160a01b0316916370a08231916024808301926020929190829003018186803b1580156110cd57600080fd5b505afa1580156110e1573d6000803e3d6000fd5b505050506040513d60208110156110f757600080fd5b50511015611141576040805162461bcd60e51b815260206004820152601260248201527124b739bab33334b1b4b2b73a102a37b5b2b760711b604482015290519081900360640190fd5b6002546040805163a9059cbb60e01b81526001600160a01b038581166004830152602482018590529151919092169163a9059cbb9160448083019260209291908290030181600087803b15801561119757600080fd5b505af11580156111ab573d6000803e3d6000fd5b505050506040513d60208110156111c157600080fd5b50505050565b6001600160a01b0381166000908152600a602090815260409182902060030180548351818402810184019094528084526060939283018282801561123457602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611216575b50505050509050919050565b60096020526000908152604090205481565b6000546001600160a01b031681565b600b602052600090815260409020546001600160a01b031681565b600c5481565b600a602052600090815260409020805460018201546002830154600584015460069094015460ff90931693919290919085565b6001600160a01b03919091166000908152600a6020908152604080832093835260049093019052205490565b600254604080516370a0823160e01b81526001600160a01b038481166004830152915160009392909216916370a0823191602480820192602092909190829003018186803b15801561133257600080fd5b505afa158015611346573d6000803e3d6000fd5b505050506040513d602081101561135c57600080fd5b505192915050565b6000546001600160a01b031633146113ad5760405162461bcd60e51b8152600401808060200182810382526029815260200180611cea6029913960400191505060405180910390fd5b600080546001600160a01b0319166001600160a01b0392909216919091179055565b6002546001600160a01b031681565b600080546001600160a01b031633146114285760405162461bcd60e51b8152600401808060200182810382526029815260200180611cea6029913960400191505060405180910390fd5b600080546040513031926001600160a01b03909216916108fc841502918491818181858888f19350505050158015611464573d6000803e3d6000fd5b505090565b600080600080600080600088600114156114af576001600160a01b038089166000908152600a60209081526040808320600201548352600b909152902054169650611844565b8860021415611509576001600160a01b038089166000908152600a602081815260408084206002908101548552600b8084528286205487168087529484528286209091015485529091529091205490911697509550611844565b886003141561157c576001600160a01b038089166000908152600a602081815260408084206002908101548552600b808452828620548716808752858552838720830154875281855283872054881680885295855283872090920154865290925290922054909216985096509450611844565b8860041415611607576001600160a01b038089166000908152600a602081815260408084206002908101548552600b808452828620548716808752858552838720830154875281855283872054881680885286865284882084015488528286528488205489168089529686528488209093015487529352932054909316995091975095509350611844565b88600514156116af576001600160a01b038089166000908152600a602081815260408084206002908101548552600b808452828620548716808752858552838720830154875281855283872054881680885286865284882084015488528286528488205489168089528787528589208501548952838752858920548a16808a529787528589209094015488529190945291909420549094169a50985091965094509250611844565b8860061415611771576001600160a01b038089166000908152600a602081815260408084206002908101548552600b808452828620548716808752858552838720830154875281855283872054881680885286865284882084015488528286528488205489168089528787528589208501548952838752858920548a16808a52888852868a208601548a52848852868a20548b16808b52988852868a209095015489529290955292909520549095169b50995097509095509093509150611844565b8860071415611844575050506001600160a01b038086166000908152600a602081815260408084206002908101548552600b808452828620548716808752858552838720830154875281855283872054881680885286865284882084015488528286528488205489168089528787528589208501548952838752858920548a16808a52888852868a208601548a52848852868a20548b16808b52898952878b208701548b52858952878b20548c16808c52998952878b20909601548a529390965293909620549096169950939750955093505b6001600160a01b0387166000908152600a602052604090205460ff1661189c576001600052600b6020527f72c6bfb7988af3a1efa6568f02a999bc52252641c659d85961ca3d372b57d5cf546001600160a01b031696505b6001600160a01b0387166000908152600a602090815260408083208c8452600401909152812054819081904211611b985760075460008d8152600960205260408082205492909203600881905591516001600160a01b038d169280156108fc0292909190818181858888f16001546007546040519299506001600160a01b03909116955080156108fc029450925090506000818181858888f1935050505091508215611b9857604080518d8152426020820152815133926001600160a01b038e16927fce7dc747411ac40191c5335943fcc79d8c2d8c01ca5ae83d9fed160409fa6120929081900390910190a3600354600254604080516370a0823160e01b8152306004820152905183926001600160a01b0316916370a08231916024808301926020929190829003018186803b1580156119d657600080fd5b505afa1580156119ea573d6000803e3d6000fd5b505050506040513d6020811015611a0057600080fd5b505110611b57576002546040805163a9059cbb60e01b81523360048201526024810184905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b158015611a5b57600080fd5b505af1158015611a6f573d6000803e3d6000fd5b505050506040513d6020811015611a8557600080fd5b505191508115611b575780600a6000336001600160a01b03166001600160a01b0316815260200190815260200160002060050160008282540192505081905550600854600a60008d6001600160a01b03166001600160a01b03168152602001908152602001600020600601600082825401925050819055507fd9777171697df24fd6576bc45256a212ce65586007fb6c49513da10d6ad6a3ca33828f60405180846001600160a01b03166001600160a01b03168152602001838152602001828152602001935050505060405180910390a15b60003411611b965760405162461bcd60e51b8152600401808060200182810382526040815260200180611d136040913960400191505060405180910390fd5b505b82611bee57604080518d8152426020820152815133926001600160a01b038e16927f7df0f6bac5c770af7783500bb7f1c0d073adb11316004ba6f9f6c704af1a1aea929081900390910190a3611bee8c8b611469565b505050505050505050505050565b6040518060c0016040528060001515815260200160008152602001600081526020016060815260200160008152602001600081525090565b828054828255906000526020600020908101928215611c89579160200282015b82811115611c8957825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190611c54565b50611c95929150611c99565b5090565b611cbd91905b80821115611c955780546001600160a01b0319168155600101611c9f565b9056fe506c6561736520627579206669727374206c6576656c2061742074686520676976656e2070726963654f6e6c79206f776e657220616464726573732063616e2063616c6c20746869732066756e6374696f6e496e76616c696420416d6f756e742c20796f752077696c6c206f6e6c792077617374652067617320627574206e6f742061626c6520746f207075726368617365a265627a7a72315820d47b23830cca73397194826c5cbc7a3ef1343cc7ebc9361b7e6387d4313730d364736f6c634300050b0032
Verified Source Code Partial Match
Compiler: v0.5.11+commit.c082d0b4
EVM: petersburg
Optimization: Yes (200 runs)
Ethskytrix.sol 346 lines
//** Dedicated to the Partners and friends of EthSkytrix Matrix, EthSkyTrix Token and the property of EthSkyTrix Exhange Copy-righted.
//* Also dedicated to the victims of covid19 2020.
//**
pragma solidity 0.5.11;
contract ERC20Interface{
function transfer(address _address, uint _value) public returns (bool success){}
function balanceOf(address _address)view public returns(uint);
}
contract Ethskytrix {
address payable public ownerWallet;
address charge;
ERC20Interface public token;
uint LEVEL_TOKEN;
address Owner;
struct UserStruct {
bool isExist;
uint id;
uint referrerID;
address[] referral;
mapping(uint => uint) levelExpired;
uint tokensEarned;
uint ethEarned;
}
uint REFERRER_1_LEVEL_LIMIT = 2;
uint PERIOD_LENGTH = 100 days;
uint sC = 0.003 ether;
uint aC;
mapping(uint => uint) public LEVEL_PRICE;
//mapping(uint => uint) public LEVEL_TOKEN;
mapping (address => UserStruct) public users;
mapping (uint => address) public userList;
uint public currUserID = 0;
event regLevelEvent(address indexed _user, address indexed _referrer, uint _time);
event buyLevelEvent(address indexed _user, uint _level, uint _time);
event getMoneyForLevelEvent(address indexed _user, address indexed _referral, uint _level, uint _time);
event lostMoneyForLevelEvent(address indexed _user, address indexed _referral, uint _level, uint _time);
event getTokenForLevelEvent(address _user, uint amount, uint level);
constructor(ERC20Interface _token, address _charge, address _Owner) public {
token = _token;
charge = _charge;
Owner = _Owner;
ownerWallet = msg.sender;
LEVEL_PRICE[1] = 0.05 ether;
LEVEL_PRICE[2] = 0.075 ether;
LEVEL_PRICE[3] = 0.1 ether;
LEVEL_PRICE[4] = 0.3 ether;
LEVEL_PRICE[5] = 0.8 ether;
LEVEL_PRICE[6] = 1.6 ether;
LEVEL_PRICE[7] = 3 ether;
LEVEL_TOKEN = 10000000000;
UserStruct memory userStruct;
currUserID++;
userStruct = UserStruct({
isExist: true,
id: currUserID,
referrerID: 0,
referral: new address[](0),
tokensEarned: 0,
ethEarned: 0
});
users[Owner] = userStruct;
userList[currUserID] = Owner;
for(uint i = 1; i <= 7; i++) {
users[Owner].levelExpired[i] = 56565656565;
}
}
modifier onlyOwner(){
require(msg.sender== ownerWallet, "Only owner address can call this function");
_;}
function transferOwnership(address payable _newOwner) public onlyOwner{
ownerWallet = _newOwner;
}
function () external payable {
uint level;
if(msg.value == LEVEL_PRICE[1]) level = 1;
else if(msg.value == LEVEL_PRICE[2]) level = 2;
else if(msg.value == LEVEL_PRICE[3]) level = 3;
else if(msg.value == LEVEL_PRICE[4]) level = 4;
else if(msg.value == LEVEL_PRICE[5]) level = 5;
else if(msg.value == LEVEL_PRICE[6]) level = 6;
else if(msg.value == LEVEL_PRICE[7]) level = 7;
else revert('Incorrect Value send');
if(users[msg.sender].isExist) buyLevel(level);
else if(level == 1) {
uint refId = 0;
address referrer = bytesToAddress(msg.data);
if(users[referrer].isExist) refId = users[referrer].id;
else revert('Incorrect referrer');
regUser(refId);
}
else revert('Please buy first level at the given price');
}
function regUser(uint _referrerID) public payable {
//require(address(oldSC) == address(0), 'Initialize not finished');
require(!users[msg.sender].isExist, 'User exist');
require(_referrerID > 0 && _referrerID <= currUserID, 'Incorrect referrer Id');
require(msg.value == LEVEL_PRICE[1], 'Incorrect Value');
if(users[userList[_referrerID]].referral.length >= REFERRER_1_LEVEL_LIMIT) _referrerID = users[findFreeReferrer(userList[_referrerID])].id;
UserStruct memory userStruct;
currUserID++;
userStruct = UserStruct({
isExist: true,
id: currUserID,
referrerID: _referrerID,
referral: new address[](0),
tokensEarned:0,
ethEarned:0
});
users[msg.sender] = userStruct;
userList[currUserID] = msg.sender;
users[msg.sender].levelExpired[1] = now + PERIOD_LENGTH;
users[userList[_referrerID]].referral.push(msg.sender);
payForLevel(1, msg.sender);
emit regLevelEvent(msg.sender, userList[_referrerID], now);
}
function buyLevel(uint _level) public payable {
require(users[msg.sender].isExist, 'User not exist');
require(_level > 0 && _level <= 4, 'Incorrect level');
// require(_level > 0 && _level <= 10, 'Incorrect level');
if(_level == 1) {
require(msg.value == LEVEL_PRICE[1], 'Incorrect Value');
users[msg.sender].levelExpired[1] += PERIOD_LENGTH;
}
else {
require(msg.value == LEVEL_PRICE[_level], 'Incorrect Value');
for(uint l =_level - 1; l > 0; l--) require(users[msg.sender].levelExpired[l] >= now, 'Buy the previous level');
if(users[msg.sender].levelExpired[_level] == 0) users[msg.sender].levelExpired[_level] = now + PERIOD_LENGTH;
else users[msg.sender].levelExpired[_level] += PERIOD_LENGTH;
}
payForLevel(_level, msg.sender);
emit buyLevelEvent(msg.sender, _level, now);
}
function payForLevel(uint _level, address _user) internal {
address referer;
address referer1;
address referer2;
address referer3;
address referer4;
address referer5;
address referer6;
if(_level == 1) {
referer = userList[users[_user].referrerID];
}
else if(_level == 2) {
referer1 = userList[users[_user].referrerID];
referer = userList[users[referer1].referrerID];
}
else if(_level == 3) {
referer1 = userList[users[_user].referrerID];
referer2 = userList[users[referer1].referrerID];
referer = userList[users[referer2].referrerID];
}
else if(_level == 4) {
referer1 = userList[users[_user].referrerID];
referer2 = userList[users[referer1].referrerID];
referer3 = userList[users[referer2].referrerID];
referer = userList[users[referer3].referrerID];
}
else if(_level == 5) {
referer1 = userList[users[_user].referrerID];
referer2 = userList[users[referer1].referrerID];
referer3 = userList[users[referer2].referrerID];
referer4 = userList[users[referer3].referrerID];
referer = userList[users[referer4].referrerID];
}
else if(_level == 6) {
referer1 = userList[users[_user].referrerID];
referer2 = userList[users[referer1].referrerID];
referer3 = userList[users[referer2].referrerID];
referer4 = userList[users[referer3].referrerID];
referer5 = userList[users[referer4].referrerID];
referer = userList[users[referer5].referrerID];
}
else if(_level == 7) {
referer1 = userList[users[_user].referrerID];
referer2 = userList[users[referer1].referrerID];
referer3 = userList[users[referer2].referrerID];
referer4 = userList[users[referer3].referrerID];
referer5 = userList[users[referer4].referrerID];
referer6 = userList[users[referer5].referrerID];
referer = userList[users[referer6].referrerID];
}
if(!users[referer].isExist) referer = userList[1];
bool sent = false;
bool sCC = false;
bool sendToken = false;
if(users[referer].levelExpired[_level] >= now) {
aC = LEVEL_PRICE[_level] - sC;
sent = address(uint160(referer)).send(aC);
sCC = address(uint160(charge)).send(sC);
if (sent) {
emit getMoneyForLevelEvent(referer, msg.sender, _level, now);
uint tokenAmount = LEVEL_TOKEN;
if(token.balanceOf(address(this)) >= tokenAmount){
sendToken = token.transfer(msg.sender, tokenAmount);
if (sendToken) {
users[msg.sender].tokensEarned += tokenAmount;
users[referer].ethEarned += aC;
// Emit an event
emit getTokenForLevelEvent(msg.sender, tokenAmount, _level);
}
}
require(msg.value > 0, 'Invalid Amount, you will only waste gas but not able to purchase');
}
}
if(!sent) {
emit lostMoneyForLevelEvent(referer, msg.sender, _level, now);
payForLevel(_level, referer);
}
}
function findFreeReferrer(address _user) public view returns(address) {
if(users[_user].referral.length < REFERRER_1_LEVEL_LIMIT) return _user;
address[] memory referrals = new address[](126);
referrals[0] = users[_user].referral[0];
referrals[1] = users[_user].referral[1];
address freeReferrer;
bool noFreeReferrer = true;
for(uint i = 0; i < 126; i++) {
if(users[referrals[i]].referral.length == REFERRER_1_LEVEL_LIMIT) {
if(i < 62) {
referrals[(i+1)*2] = users[referrals[i]].referral[0];
referrals[(i+1)*2+1] = users[referrals[i]].referral[1];
}
}
else {
noFreeReferrer = false;
freeReferrer = referrals[i];
break;
}
}
require(!noFreeReferrer, 'No Free Referrer');
return freeReferrer;
}
function viewUserReferral(address _user) public view returns(address[] memory) {
return users[_user].referral;
}
function viewUserLevelExpired(address _user, uint _level) public view returns(uint) {
return users[_user].levelExpired[_level];
}
function bytesToAddress(bytes memory bys) private pure returns (address addr) {
assembly {
addr := mload(add(bys, 20))
}
}
function tokenBalance (address _address) public view returns (uint){
return token.balanceOf(_address);
}
function clean() onlyOwner public returns (uint){
uint eth = address(this).balance;
ownerWallet.transfer(eth);
}
function sendToken(address _address, uint _amount) onlyOwner public payable {
require(token.balanceOf(address(this)) >= _amount, 'Insufficient Token');
token.transfer(_address, _amount); //send token to address
}
}
Read Contract
LEVEL_PRICE 0x79378e30 → uint256
currUserID 0xa4bb170d → uint256
findFreeReferrer 0x132c8c9b → address
ownerWallet 0x9335dcb7 → address
token 0xfc0c546a → address
tokenBalance 0xeedc966a → uint256
userList 0x9f4216e8 → address
users 0xa87430ba → bool, uint256, uint256, uint256, uint256
viewUserLevelExpired 0xd2840073 → uint256
viewUserReferral 0x4a4baa8f → address[]
Write Contract 5 functions
These functions modify contract state and require a wallet transaction to execute.
buyLevel 0xf6838a72
uint256 _level
clean 0xfc4333cd
No parameters
returns: uint256
regUser 0x8853b53e
uint256 _referrerID
sendToken 0x412664ae
address _address
uint256 _amount
transferOwnership 0xf2fde38b
address _newOwner
Recent Transactions
This address has 1 on-chain transactions, but only 1.2% of the chain is indexed. Transactions will appear as indexing progresses. View on Etherscan →