Address Contract Partially Verified
Address
0x80e9540c204c05Be63cfE44b43302780175b60FF
Balance
0 ETH
Nonce
1
Code Size
10262 bytes
Creator
0x629dBB4e...5575 at tx 0xfbdc5b37...137801
Last Active
Indexed Transactions
400 (10,692,107 → 10,697,488)
Value (indexed)
↓ 1.4500 ETH
Gas Used (indexed)
2,122,034
Contract Bytecode
10262 bytes
0x60806040526004361061019c5760003560e01c80638e9fa0bc116100ec578063b4d45b7e1161008a578063d921d92711610064578063d921d92714610631578063e00dd1611461065b578063e10e354b14610670578063e7a891b9146106a95761019c565b8063b4d45b7e146105b9578063d2840073146105e3578063d4ffca751461061c5761019c565b8063a0be06f9116100c6578063a0be06f914610503578063a478656b14610518578063a87430ba14610544578063ab5b8b7e146105a45761019c565b80638e9fa0bc146104af5780638f84aa09146104c45780639f4216e8146104d95761019c565b80634a4baa8f116101595780636cad3fb0116101335780636cad3fb0146103f857806379378e30146104225780637ad3def21461044c57806382367b2d1461047f5761019c565b80634a4baa8f1461031157806352fd9f13146103945780635fb68f89146103cd5761019c565b8063132c8c9b146101df5780631e97ec941461022e5780631ec932ff1461025557806336c38fd7146102885780633e89340f146102bb578063410ac0e8146102e4575b6040805162461bcd60e51b815260206004820152601360248201527224b73b30b634b2102a3930b739b0b1ba34b7b760691b604482015290519081900360640190fd5b3480156101eb57600080fd5b506102126004803603602081101561020257600080fd5b50356001600160a01b03166106be565b604080516001600160a01b039092168252519081900360200190f35b34801561023a57600080fd5b506102436109e3565b60408051918252519081900360200190f35b34801561026157600080fd5b506102436004803603602081101561027857600080fd5b50356001600160a01b0316610a3c565b34801561029457600080fd5b50610243600480360360208110156102ab57600080fd5b50356001600160a01b0316610a4e565b3480156102c757600080fd5b506102d0610a60565b604080519115158252519081900360200190f35b61030f600480360360a08110156102fa57600080fd5b5080359060208101906080013560ff16610a69565b005b34801561031d57600080fd5b506103446004803603602081101561033457600080fd5b50356001600160a01b0316610e81565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610380578181015183820152602001610368565b505050509050019250505060405180910390f35b3480156103a057600080fd5b506102d0600480360360408110156103b757600080fd5b506001600160a01b038135169060200135610efa565b61030f600480360360a08110156103e357600080fd5b5080359060208101906080013560ff1661102b565b34801561040457600080fd5b506102d06004803603602081101561041b57600080fd5b5035611418565b34801561042e57600080fd5b506102436004803603602081101561044557600080fd5b5035611476565b34801561045857600080fd5b506102d06004803603602081101561046f57600080fd5b50356001600160a01b0316611488565b34801561048b57600080fd5b506102d0600480360360408110156104a257600080fd5b5080359060200135611551565b3480156104bb57600080fd5b506102436115bc565b3480156104d057600080fd5b506102126115c2565b3480156104e557600080fd5b50610212600480360360208110156104fc57600080fd5b50356115d1565b34801561050f57600080fd5b506102436115ec565b34801561052457600080fd5b506102d06004803603602081101561053b57600080fd5b503515156115f2565b34801561055057600080fd5b506105776004803603602081101561056757600080fd5b50356001600160a01b031661165a565b60408051951515865260208601949094528484019290925260608401526080830152519081900360a00190f35b3480156105b057600080fd5b5061030f61168d565b3480156105c557600080fd5b5061030f600480360360208110156105dc57600080fd5b503561174b565b3480156105ef57600080fd5b506102436004803603604081101561060657600080fd5b506001600160a01b038135169060200135611c34565b34801561062857600080fd5b50610212611c60565b34801561063d57600080fd5b506102d06004803603602081101561065457600080fd5b5035611c6f565b34801561066757600080fd5b50610243611cca565b34801561067c57600080fd5b506102436004803603604081101561069357600080fd5b506001600160a01b038135169060200135611cd0565b3480156106b557600080fd5b50610243611ced565b6007546001600160a01b0382166000908152600a6020526040812060050154909111156106ec5750806109de565b6040805160fe808252611fe0820190925260609160208201611fc0803883395050506001600160a01b0384166000908152600a6020526040812060050180549293509161073557fe5b600091825260208220015482516001600160a01b0390911691839161075657fe5b6001600160a01b039283166020918202929092018101919091529084166000908152600a909152604090206005018054600190811061079157fe5b9060005260206000200160009054906101000a90046001600160a01b0316816001815181106107bc57fe5b6001600160a01b039092166020928302919091019091015260006001815b60fe81101561099257600754600a60008684815181106107f657fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060050180549050141561096b57607e81101561096657600a600085838151811061084457fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060050160008154811061087b57fe5b9060005260206000200160009054906101000a90046001600160a01b03168482600101600202815181106108ab57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050600a60008583815181106108db57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060050160018154811061091257fe5b9060005260206000200160009054906101000a90046001600160a01b031684826001016002026001018151811061094557fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505b61098a565b6000915083818151811061097b57fe5b60200260200101519250610992565b6001016107da565b5080156109d9576040805162461bcd60e51b815260206004820152601060248201526f273790233932b2902932b332b93932b960811b604482015290519081900360640190fd5b509150505b919050565b60008060015b6004548111610a35576000818152600b60209081526040808320546001600160a01b03168352600a909152902060040154610a2b90839063ffffffff611cf316565b91506001016109e9565b5090505b90565b600e6020526000908152604090205481565b600d6020526000908152604090205481565b60085460ff1681565b60085460ff1615610ab3576040805162461bcd60e51b815260206004820152600f60248201526e10dbdb9d1c9858dd08131bd8dad959608a1b604482015290519081900360640190fd5b336000908152600a602052604090205460ff1615610b05576040805162461bcd60e51b815260206004820152600a602482015269155cd95c88195e1a5cdd60b21b604482015290519081900360640190fd5b600083118015610b1757506004548311155b610b60576040805162461bcd60e51b8152602060048201526015602482015274125b98dbdc9c9958dd081c9959995c9c995c881259605a1b604482015290519081900360640190fd5b600160005260096020527f92e85d02570a8092d09a6e3a57665bc3815a2699a4074001bf1ccabf660f5a36543414610bd1576040805162461bcd60e51b815260206004820152600f60248201526e496e636f72726563742056616c756560881b604482015290519081900360640190fd5b6007546000848152600b60209081526040808320546001600160a01b03168352600a90915290206005015410610c4d576000838152600b6020526040812054600a9190610c26906001600160a01b03166106be565b6001600160a01b03166001600160a01b031681526020019081526020016000206001015492505b610c556126e1565b506004805460019081018083556040805160c0810182528381526020808201938452818301898152606083018681526000608085018181528651828152808601885260a08701908152338352600a8652969091208551815460ff1916901515178155965197870197909755905160028601555160038501559351948301949094555180518493610cec926005850192910190612719565b50506004546000908152600b6020526040902080546001600160a01b0319163317905550600654610d2490429063ffffffff611cf316565b336000818152600a6020818152604080842060018086526006909101835281852096909655898452600b8252808420546001600160a01b03168452918152818320600501805480870182559084528184200180546001600160a01b03191685179055838352600d8152818320839055600e815290822042905560035484835260099091527f92e85d02570a8092d09a6e3a57665bc3815a2699a4074001bf1ccabf660f5a3654610e2a94929391610dfc9168056bc75e2d6310000091610df0919063ffffffff611d5416565b9063ffffffff611dad16565b6040805160608181019092529089906003908390839080828437600092019190915250899150349050611e17565b6000848152600b602090815260409182902054825142815292516001600160a01b039091169233927f788c06d2405ae89dd3f0528d38be7691289474d72176408bc2c2406dc5e342f192918290030190a350505050565b6001600160a01b0381166000908152600a6020908152604091829020600501805483518184028101840190945280845260609392830182828015610eee57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610ed0575b50505050509050919050565b6002546000906001600160a01b03163314610f50576040805162461bcd60e51b81526020600482015260116024820152701bdb9b1e4813dddb995c8815d85b1b195d607a1b604482015290519081900360640190fd5b6001600160a01b038316610f9d576040805162461bcd60e51b815260206004820152600f60248201526e496e76616c6964204164647265737360881b604482015290519081900360640190fd5b81471015610fe9576040805162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b604482015290519081900360640190fd5b6040516001600160a01b0384169083156108fc029084906000818181858888f1935050505015801561101f573d6000803e3d6000fd5b50600190505b92915050565b60085460ff1615611075576040805162461bcd60e51b815260206004820152600f60248201526e10dbdb9d1c9858dd08131bd8dad959608a1b604482015290519081900360640190fd5b336000908152600a602052604090205460ff166110ca576040805162461bcd60e51b815260206004820152600e60248201526d155cd95c881b9bdd08195e1a5cdd60921b604482015290519081900360640190fd5b6000831180156110db5750600c8311155b61111e576040805162461bcd60e51b815260206004820152600f60248201526e125b98dbdc9c9958dd081b195d995b608a1b604482015290519081900360640190fd5b826001141561120057600160005260096020527f92e85d02570a8092d09a6e3a57665bc3815a2699a4074001bf1ccabf660f5a36543414611198576040805162461bcd60e51b815260206004820152600f60248201526e496e636f72726563742056616c756560881b604482015290519081900360640190fd5b60068054336000908152600a6020908152604080832060018452909401905291909120546111cb9163ffffffff611cf316565b336000818152600a60208181526040808420600180865260068201845291852096909655939092529052600390910155611363565b6000838152600960205260409020543414611254576040805162461bcd60e51b815260206004820152600f60248201526e496e636f72726563742056616c756560881b604482015290519081900360640190fd5b336000908152600a6020526040902060030183905560001983015b80156112e957336000908152600a602090815260408083208484526006019091529020544211156112e0576040805162461bcd60e51b8152602060048201526016602482015275109d5e481d1a19481c1c995d9a5bdd5cc81b195d995b60521b604482015290519081900360640190fd5b6000190161126f565b50336000908152600a602090815260408083208684526006019091529020546113395760068054336000908152600a60209081526040808320888452909401905291909120429091019055611363565b60068054336000908152600a60209081526040808320888452909401905291909120805490910190555b336000818152600d6020908152604080832083905560035487845260099092528220546113da93879290916113ac9168056bc75e2d6310000091610df09163ffffffff611d5416565b6040805160608181019092529088906003908390839080828437600092019190915250889150349050611e17565b60408051848152426020820152815133927f9ea70f0eb33d898c3336ecf2c0e3cf1c0195c13ad3fbcb34447777dbfd5ff2d0928290030190a2505050565b6002546000906001600160a01b0316331461146d576040805162461bcd60e51b815260206004820152601060248201526f1bdb9b1e4813dddb995c95d85b1b195d60821b604482015290519081900360640190fd5b50600355600190565b60096020526000908152604090205481565b6002546000906001600160a01b031633146114d9576040805162461bcd60e51b815260206004820152600c60248201526b24b73b30b634b2102ab9b2b960a11b604482015290519081900360640190fd5b6001600160a01b03821661152c576040805162461bcd60e51b8152602060048201526015602482015274496e76616c696420546f6b656e204164647265737360581b604482015290519081900360640190fd5b50600080546001600160a01b0383166001600160a01b03199091161790556001919050565b6002546000906001600160a01b031633146115a6576040805162461bcd60e51b815260206004820152601060248201526f1bdb9b1e4813dddb995c95d85b1b195d60821b604482015290519081900360640190fd5b5060009182526009602052604090912055600190565b60055481565b6002546001600160a01b031681565b600b602052600090815260409020546001600160a01b031681565b60035481565b6002546000906001600160a01b03163314611643576040805162461bcd60e51b815260206004820152600c60248201526b24b73b30b634b2102ab9b2b960a11b604482015290519081900360640190fd5b506008805460ff1916911515919091179055600190565b600a602052600090815260409020805460018201546002830154600384015460049094015460ff90931693919290919085565b6001546001600160a01b03166116ea576040805162461bcd60e51b815260206004820152601960248201527f496e697469616c697a6520616c726561647920636c6f73656400000000000000604482015290519081900360640190fd5b6002546001600160a01b03163314611739576040805162461bcd60e51b815260206004820152600d60248201526c1058d8d95cdcc819195b9a5959609a1b604482015290519081900360640190fd5b600180546001600160a01b0319169055565b6001546001600160a01b031661179c576040805162461bcd60e51b8152602060048201526011602482015270125b9a5d1a585b1a5e994818db1bdcd959607a1b604482015290519081900360640190fd5b6002546001600160a01b031633146117eb576040805162461bcd60e51b815260206004820152600d60248201526c1058d8d95cdcc819195b9a5959609a1b604482015290519081900360640190fd5b60005b818111611c30576117fd6126e1565b600154600554604080516313e842dd60e31b81526004810192909252516000926001600160a01b031691639f4216e8916024808301926020929190829003018186803b15801561184c57600080fd5b505afa158015611860573d6000803e3d6000fd5b505050506040513d602081101561187657600080fd5b50516001546040805163543a185d60e11b81526001600160a01b038085166004830152915193945091169163a87430ba9160248082019260a092909190829003018186803b1580156118c757600080fd5b505afa1580156118db573d6000803e3d6000fd5b505050506040513d60a08110156118f157600080fd5b508051602080830151604080850151606080870151608097880151978a019790975288019590955286810185905286830191909152911515855260015482516313e842dd60e31b8152600481019490945291516000936001600160a01b0390931692639f4216e8926024808301939192829003018186803b15801561197557600080fd5b505afa158015611989573d6000803e3d6000fd5b505050506040513d602081101561199f57600080fd5b5051835190915015611c05576001600160a01b0382166000908152600a602052604090205460ff16611bf7576001600160a01b038083166000818152600a60208181526040808420805460ff19166001908117825560058054838301558b840151600284015560608c0151600384015560808c015160049093019290925581548652600b845282862080546001600160a01b031990811689179091559789168087529484528286209091018054918201815585528285200180549096168517909555838352600e81529184902042908190558451908152935190937f788c06d2405ae89dd3f0528d38be7691289474d72176408bc2c2406dc5e342f192908290030190a360015b600c8111611bf5576001546040805163d284007360e01b81526001600160a01b038681166004830152602482018590529151919092169163d2840073916044808301926020929190829003018186803b158015611b0257600080fd5b505afa158015611b16573d6000803e3d6000fd5b505050506040513d6020811015611b2c57600080fd5b50516001600160a01b038085166000818152600a6020908152604080832087845260060182529182902094909455600154815163e10e354b60e01b8152600481019390935260248301869052905192169263e10e354b92604480840193829003018186803b158015611b9d57600080fd5b505afa158015611bb1573d6000803e3d6000fd5b505050506040513d6020811015611bc757600080fd5b50516001600160a01b0384166000908152600c60209081526040808320858452909152902055600101611aa6565b505b600580546001019055611c25565b600554611c1990600163ffffffff61268416565b60045550611c30915050565b5050506001016117ee565b5050565b6001600160a01b03919091166000908152600a6020908152604080832093835260069093019052205490565b6001546001600160a01b031681565b6002546000906001600160a01b03163314611cc1576040805162461bcd60e51b815260206004820152600d60248201526c1058d8d95cdcc811195b9a5959609a1b604482015290519081900360640190fd5b50600555600190565b60045481565b600c60209081526000928352604080842090915290825290205481565b60065481565b600082820183811015611d4d576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600082611d6357506000611025565b82820282848281611d7057fe5b0414611d4d5760405162461bcd60e51b81526004018080602001828103825260218152602001806127c16021913960400191505060405180910390fd5b6000808211611e03576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481611e0e57fe5b04949350505050565b611e1f61277e565b8761219d578660011480611e335750866007145b15611e81576001600160a01b038087166000908152600a60209081526040808320600201548352600b9091528120549091169082905b6001600160a01b039092166020929092020152612198565b8660021480611e905750866008145b15611f24576001600160a01b038681166000908152600a60208181526040808420600201548452600b8083529084205490941690850152818460015b60200201516001600160a01b03166001600160a01b0316815260200190815260200160002060020154815260200190815260200160002060009054906101000a90046001600160a01b031681600060068110611e6957fe5b8660031480611f335750866009145b15611f93576001600160a01b038681166000908152600a602081815260408084206002908101548552600b808452828620548716888501819052865284845282862082015486529283905281852054909516908601529282908590611ecc565b8660041480611fa2575086600a145b1561201e576001600160a01b038681166000908152600a602081815260408084206002908101548552600b80845282862054871688850181905286528484528286208201548652808452828620548716888401819052865284845282862090910154855291829052832054909316606085015281846003611ecc565b866005148061202d575086600b145b156120c6576001600160a01b038681166000908152600a602081815260408084206002908101548552600b808452828620548716888501819052865284845282862082015486528084528286205487168884018190528652848452828620820154865280845282862054871660608901819052865284845282862090910154855291829052832054909316608085015281846004611ecc565b86600614806120d5575086600c145b15612198576001600160a01b038681166000908152600a602081815260408084206002908101548552600b80845282862054871688850181905286528484528286208201548652808452828620548716888401819052865284845282862082015486528084528286205487166060890181905286528484528286208201548652808452828620548716608089018190528652848452828620820154865280845282862054871660a089018190528652938352818520015484529190529020541681525b6121d4565b87600114156121d4576001600160a01b038681166000908152600a60209081526040808320600201548352600b9091529020541681525b80516001600160a01b03166000908152600a602052604090205460ff1661222d576001600052600b6020527f72c6bfb7988af3a1efa6568f02a999bc52252641c659d85961ca3d372b57d5cf546001600160a01b031681525b336000908152600d6020526040902054600c1161227c576001600052600b6020527f72c6bfb7988af3a1efa6568f02a999bc52252641c659d85961ca3d372b57d5cf546001600160a01b031681525b80516001600160a01b03166000908152600a602090815260408083208a845260060190915290205442116125975760006122cf662386f26fc10000610df085670de0b6b3a764000063ffffffff611d5416565b825160008a8152600960205260409020549192506001600160a01b0316906108fc90612301908963ffffffff61268416565b6040518115909202916000818181858888f19350505050801561234957506002546040516001600160a01b039091169087156108fc029088906000818181858888f193505050505b80156124125750600080546040516330b996bb60e21b81523360048201818152602483018690526001600160a01b039093169363c2e65aec93919286928b928b926044019084906060908190849084905b838110156123b257818101518382015260200161239a565b505050509050018260ff1660ff168152602001945050505050602060405180830381600087803b1580156123e557600080fd5b505af11580156123f9573d6000803e3d6000fd5b505050506040513d602081101561240f57600080fd5b50515b612459576040805162461bcd60e51b81526020600482015260136024820152725472616e73616374696f6e204661696c75726560681b604482015290519081900360640190fd5b60008881526009602090815260408083205485516001600160a01b03168452600a909252909120600401546124939163ffffffff611cf316565b82516001600160a01b039081166000908152600a60209081526040808320600401949094558b8252600981528382205486519093168252600c81528382208c8352905291909120546124ea9163ffffffff611cf316565b82516001600160a01b039081166000908152600c602090815260408083208d8452825280832094909455855133808452600a8352858420600190810154895187168652878620909101548f86526009855294879020548751918252938101949094528386018e90526060840192909252426080840152935193909216927fcbdd750391a1e2f2af2073139d4b9cd7c6ff2ad06bfbb8f67084ebe4e157bcbd9181900360a00190a35061267a565b336000908152600d6020526040902054600c111561267a57336000908152600d60205260409020546125d090600163ffffffff611cf316565b336000818152600d60209081526040808320949094558451600a825284832060019081015487516001600160a01b039081168652878620909201548e86526009855294879020548751918252938101949094528386018d9052606084019290925242608084015293519316927f9f6beab2fd063736ecf6eb99e9e09cb267a7d96d15c910db489f9b460122a18e9181900360a00190a3805161267a90600190899088888888611e17565b5050505050505050565b6000828211156126db576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6040518060c0016040528060001515815260200160008152602001600081526020016000815260200160008152602001606081525090565b82805482825590600052602060002090810192821561276e579160200282015b8281111561276e57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190612739565b5061277a92915061279c565b5090565b6040518060c001604052806006906020820280388339509192915050565b610a3991905b8082111561277a5780546001600160a01b03191681556001016127a256fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a265627a7a72315820d21bc9db433ed61f1ef40b4561cc3e35dbb36bba5c498cd0a0f13d8af04996e264736f6c634300050e0032
Verified Source Code Partial Match
Compiler: v0.5.14+commit.01f1aaa4
EVM: istanbul
Optimization: Yes (200 runs)
OpenAlexalO.sol 410 lines
/**
*
* Updated OpenAlexa v1.2 (Fixed)
* URL: https://openalexa.io
*
*/
pragma solidity 0.5.14;
library SafeMath {
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
require(c >= a, "SafeMath: addition overflow");
return c;
}
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
require(b <= a, "SafeMath: subtraction overflow");
uint256 c = a - b;
return c;
}
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
if (a == 0) {
return 0;
}
uint256 c = a * b;
require(c / a == b, "SafeMath: multiplication overflow");
return c;
}
function div(uint256 a, uint256 b) internal pure returns (uint256) {
require(b > 0, "SafeMath: division by zero");
uint256 c = a / b;
return c;
}
}
contract ERC20 {
function mint(address reciever, uint256 value, bytes32[3] memory _mrs, uint8 _v) public returns(bool);
function transfer(address to, uint256 value) public returns(bool);
}
contract OpenAlexalO {
using SafeMath for uint256;
struct UserStruct {
bool isExist;
uint id;
uint referrerID;
uint currentLevel;
uint totalEarningEth;
address[] referral;
mapping(uint => uint) levelExpired;
}
ERC20 Token;
OpenAlexalO public oldAlexa;
address public ownerAddress;
uint public adminFee = 16 ether;
uint public currentId = 0;
uint public oldAlexaId = 1;
uint public PERIOD_LENGTH = 60 days;
uint referrer1Limit = 2;
bool public lockStatus;
mapping (uint => uint) public LEVEL_PRICE;
mapping (address => UserStruct) public users;
mapping (uint => address) public userList;
mapping (address => mapping (uint => uint)) public EarnedEth;
mapping (address => uint) public loopCheck;
mapping (address => uint) public createdDate;
event regLevelEvent(address indexed UserAddress, address indexed ReferrerAddress, uint Time);
event buyLevelEvent(address indexed UserAddress, uint Levelno, uint Time);
event getMoneyForLevelEvent(address indexed UserAddress, uint UserId, address indexed ReferrerAddress, uint ReferrerId, uint Levelno, uint LevelPrice, uint Time);
event lostMoneyForLevelEvent(address indexed UserAddress, uint UserId, address indexed ReferrerAddress, uint ReferrerId, uint Levelno, uint LevelPrice, uint Time);
constructor() public {
ownerAddress = msg.sender;
Token = ERC20(0x1788430620960F9a70e3DC14202a3A35ddE1A316);
oldAlexa = OpenAlexalO(0xaB3FB81f8660788997CFD379f7A87e9527F1301b);
LEVEL_PRICE[1] = 0.03 ether;
LEVEL_PRICE[2] = 0.05 ether;
LEVEL_PRICE[3] = 0.1 ether;
LEVEL_PRICE[4] = 0.5 ether;
LEVEL_PRICE[5] = 1 ether;
LEVEL_PRICE[6] = 3 ether;
LEVEL_PRICE[7] = 7 ether;
LEVEL_PRICE[8] = 12 ether;
LEVEL_PRICE[9] = 15 ether;
LEVEL_PRICE[10] = 25 ether;
LEVEL_PRICE[11] = 30 ether;
LEVEL_PRICE[12] = 39 ether;
}
/**
* @dev User registration
*/
function regUser(uint _referrerID, bytes32[3] calldata _mrs, uint8 _v) external payable {
require(lockStatus == false, "Contract Locked");
require(users[msg.sender].isExist == false, "User exist");
require(_referrerID > 0 && _referrerID <= currentId, "Incorrect referrer Id");
require(msg.value == LEVEL_PRICE[1], "Incorrect Value");
if (users[userList[_referrerID]].referral.length >= referrer1Limit)
_referrerID = users[findFreeReferrer(userList[_referrerID])].id;
UserStruct memory userStruct;
currentId++;
userStruct = UserStruct({
isExist: true,
id: currentId,
referrerID: _referrerID,
currentLevel: 1,
totalEarningEth:0,
referral: new address[](0)
});
users[msg.sender] = userStruct;
userList[currentId] = msg.sender;
users[msg.sender].levelExpired[1] = now.add(PERIOD_LENGTH);
users[userList[_referrerID]].referral.push(msg.sender);
loopCheck[msg.sender] = 0;
createdDate[msg.sender] = now;
payForLevel(0, 1, msg.sender, ((LEVEL_PRICE[1].mul(adminFee)).div(10**20)), _mrs, _v, msg.value);
emit regLevelEvent(msg.sender, userList[_referrerID], now);
}
/**
* @dev To buy the next level by User
*/
function buyLevel(uint256 _level, bytes32[3] calldata _mrs, uint8 _v) external payable {
require(lockStatus == false, "Contract Locked");
require(users[msg.sender].isExist, "User not exist");
require(_level > 0 && _level <= 12, "Incorrect level");
if (_level == 1) {
require(msg.value == LEVEL_PRICE[1], "Incorrect Value");
users[msg.sender].levelExpired[1] = users[msg.sender].levelExpired[1].add(PERIOD_LENGTH);
users[msg.sender].currentLevel = 1;
} else {
require(msg.value == LEVEL_PRICE[_level], "Incorrect Value");
users[msg.sender].currentLevel = _level;
for (uint i = _level - 1; i > 0; i--)
require(users[msg.sender].levelExpired[i] >= 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;
}
loopCheck[msg.sender] = 0;
payForLevel(0, _level, msg.sender, ((LEVEL_PRICE[_level].mul(adminFee)).div(10**20)), _mrs, _v, msg.value);
emit buyLevelEvent(msg.sender, _level, now);
}
/**
* @dev Internal function for payment
*/
function payForLevel(uint _flag, uint _level, address _userAddress, uint _adminPrice, bytes32[3] memory _mrs, uint8 _v, uint256 _amt) internal {
address[6] memory referer;
if (_flag == 0) {
if (_level == 1 || _level == 7) {
referer[0] = userList[users[_userAddress].referrerID];
} else if (_level == 2 || _level == 8) {
referer[1] = userList[users[_userAddress].referrerID];
referer[0] = userList[users[referer[1]].referrerID];
} else if (_level == 3 || _level == 9) {
referer[1] = userList[users[_userAddress].referrerID];
referer[2] = userList[users[referer[1]].referrerID];
referer[0] = userList[users[referer[2]].referrerID];
} else if (_level == 4 || _level == 10) {
referer[1] = userList[users[_userAddress].referrerID];
referer[2] = userList[users[referer[1]].referrerID];
referer[3] = userList[users[referer[2]].referrerID];
referer[0] = userList[users[referer[3]].referrerID];
} else if (_level == 5 || _level == 11) {
referer[1] = userList[users[_userAddress].referrerID];
referer[2] = userList[users[referer[1]].referrerID];
referer[3] = userList[users[referer[2]].referrerID];
referer[4] = userList[users[referer[3]].referrerID];
referer[0] = userList[users[referer[4]].referrerID];
} else if (_level == 6 || _level == 12) {
referer[1] = userList[users[_userAddress].referrerID];
referer[2] = userList[users[referer[1]].referrerID];
referer[3] = userList[users[referer[2]].referrerID];
referer[4] = userList[users[referer[3]].referrerID];
referer[5] = userList[users[referer[4]].referrerID];
referer[0] = userList[users[referer[5]].referrerID];
}
} else if (_flag == 1) {
referer[0] = userList[users[_userAddress].referrerID];
}
if (!users[referer[0]].isExist) referer[0] = userList[1];
if (loopCheck[msg.sender] >= 12) {
referer[0] = userList[1];
}
if (users[referer[0]].levelExpired[_level] >= now) {
uint256 tobeminted = ((_amt).mul(10**18)).div(0.01 ether);
// transactions
require((address(uint160(referer[0])).send(LEVEL_PRICE[_level].sub(_adminPrice))) &&
(address(uint160(ownerAddress)).send(_adminPrice)) &&
Token.mint(msg.sender, tobeminted, _mrs, _v), "Transaction Failure");
users[referer[0]].totalEarningEth = users[referer[0]].totalEarningEth.add(LEVEL_PRICE[_level]);
EarnedEth[referer[0]][_level] = EarnedEth[referer[0]][_level].add(LEVEL_PRICE[_level]);
emit getMoneyForLevelEvent(msg.sender, users[msg.sender].id, referer[0], users[referer[0]].id, _level, LEVEL_PRICE[_level], now);
} else {
if (loopCheck[msg.sender] < 12) {
loopCheck[msg.sender] = loopCheck[msg.sender].add(1);
emit lostMoneyForLevelEvent(msg.sender, users[msg.sender].id, referer[0], users[referer[0]].id, _level, LEVEL_PRICE[_level],now);
payForLevel(1, _level, referer[0], _adminPrice, _mrs, _v, _amt);
}
}
}
/**
* @dev Update old contract data
*/
function oldAlexaSync(uint limit) public {
require(address(oldAlexa) != address(0), "Initialize closed");
require(msg.sender == ownerAddress, "Access denied");
for (uint i = 0; i <= limit; i++) {
UserStruct memory olduser;
address oldusers = oldAlexa.userList(oldAlexaId);
(olduser.isExist,
olduser.id,
olduser.referrerID,
olduser.currentLevel,
olduser.totalEarningEth) = oldAlexa.users(oldusers);
address ref = oldAlexa.userList(olduser.referrerID);
if (olduser.isExist) {
if (!users[oldusers].isExist) {
users[oldusers].isExist = true;
users[oldusers].id = oldAlexaId;
users[oldusers].referrerID = olduser.referrerID;
users[oldusers].currentLevel = olduser.currentLevel;
users[oldusers].totalEarningEth = olduser.totalEarningEth;
userList[oldAlexaId] = oldusers;
users[ref].referral.push(oldusers);
createdDate[oldusers] = now;
emit regLevelEvent(oldusers, ref, now);
for (uint j = 1; j <= 12; j++) {
users[oldusers].levelExpired[j] = oldAlexa.viewUserLevelExpired(oldusers, j);
EarnedEth[oldusers][j] = oldAlexa.EarnedEth(oldusers, j);
}
}
oldAlexaId++;
} else {
currentId = oldAlexaId.sub(1);
break;
}
}
}
/**
* @dev Update old contract data
*/
function setOldAlexaID(uint _id) public returns(bool) {
require(ownerAddress == msg.sender, "Access Denied");
oldAlexaId = _id;
return true;
}
/**
* @dev Close old contract interaction
*/
function oldAlexaSyncClosed() external {
require(address(oldAlexa) != address(0), "Initialize already closed");
require(msg.sender == ownerAddress, "Access denied");
oldAlexa = OpenAlexalO(0);
}
/**
* @dev Contract balance withdraw
*/
function failSafe(address payable _toUser, uint _amount) public returns (bool) {
require(msg.sender == ownerAddress, "only Owner Wallet");
require(_toUser != address(0), "Invalid Address");
require(address(this).balance >= _amount, "Insufficient balance");
(_toUser).transfer(_amount);
return true;
}
/**
* @dev Update admin fee percentage
*/
function updateFeePercentage(uint256 _adminFee) public returns (bool) {
require(msg.sender == ownerAddress, "only OwnerWallet");
adminFee = _adminFee;
return true;
}
/**
* @dev Update level price
*/
function updatePrice(uint _level, uint _price) public returns (bool) {
require(msg.sender == ownerAddress, "only OwnerWallet");
LEVEL_PRICE[_level] = _price;
return true;
}
/**
* @dev Update contract status
*/
function contractLock(bool _lockStatus) public returns (bool) {
require(msg.sender == ownerAddress, "Invalid User");
lockStatus = _lockStatus;
return true;
}
/**
* @dev Update token contract
*/
function updateToken(address _newToken) public returns (bool) {
require(msg.sender == ownerAddress, "Invalid User");
require(_newToken != address(0), "Invalid Token Address");
Token = ERC20(_newToken);
return true;
}
/**
* @dev View free Referrer Address
*/
function findFreeReferrer(address _userAddress) public view returns (address) {
if (users[_userAddress].referral.length < referrer1Limit)
return _userAddress;
address[] memory referrals = new address[](254);
referrals[0] = users[_userAddress].referral[0];
referrals[1] = users[_userAddress].referral[1];
address freeReferrer;
bool noFreeReferrer = true;
for (uint i = 0; i < 254; i++) {
if (users[referrals[i]].referral.length == referrer1Limit) {
if (i < 126) {
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;
}
/**
* @dev Total earned ETH
*/
function getTotalEarnedEther() public view returns (uint) {
uint totalEth;
for (uint i = 1; i <= currentId; i++) {
totalEth = totalEth.add(users[userList[i]].totalEarningEth);
}
return totalEth;
}
/**
* @dev View referrals
*/
function viewUserReferral(address _userAddress) external view returns (address[] memory) {
return users[_userAddress].referral;
}
/**
* @dev View level expired time
*/
function viewUserLevelExpired(address _userAddress,uint _level) external view returns (uint) {
return users[_userAddress].levelExpired[_level];
}
// fallback
function () external payable {
revert("Invalid Transaction");
}
}
Read Contract
EarnedEth 0xe10e354b → uint256
LEVEL_PRICE 0x79378e30 → uint256
PERIOD_LENGTH 0xe7a891b9 → uint256
adminFee 0xa0be06f9 → uint256
createdDate 0x1ec932ff → uint256
currentId 0xe00dd161 → uint256
findFreeReferrer 0x132c8c9b → address
getTotalEarnedEther 0x1e97ec94 → uint256
lockStatus 0x3e89340f → bool
loopCheck 0x36c38fd7 → uint256
oldAlexa 0xd4ffca75 → address
oldAlexaId 0x8e9fa0bc → uint256
ownerAddress 0x8f84aa09 → address
userList 0x9f4216e8 → address
users 0xa87430ba → bool, uint256, uint256, uint256, uint256
viewUserLevelExpired 0xd2840073 → uint256
viewUserReferral 0x4a4baa8f → address[]
Write Contract 10 functions
These functions modify contract state and require a wallet transaction to execute.
buyLevel 0x5fb68f89
uint256 _level
bytes32[3] _mrs
uint8 _v
contractLock 0xa478656b
bool _lockStatus
returns: bool
failSafe 0x52fd9f13
address _toUser
uint256 _amount
returns: bool
oldAlexaSync 0xb4d45b7e
uint256 limit
oldAlexaSyncClosed 0xab5b8b7e
No parameters
regUser 0x410ac0e8
uint256 _referrerID
bytes32[3] _mrs
uint8 _v
setOldAlexaID 0xd921d927
uint256 _id
returns: bool
updateFeePercentage 0x6cad3fb0
uint256 _adminFee
returns: bool
updatePrice 0x82367b2d
uint256 _level
uint256 _price
returns: bool
updateToken 0x7ad3def2
address _newToken
returns: bool
Top Interactions
| Address | Txns | Sent | Received |
|---|---|---|---|
| 0xD368E1bF...eFb1 | 3 | 3 | |
| 0x3F46e99F...06f3 | 1 | 1 | |
| 0xAE228Ff8...393A | 1 | 1 | |
| 0x008f574a...Eb84 | 1 | 1 | |
| 0xf80194Ba...6a96 | 1 | 1 | |
| 0xe2eE4448...B0D2 | 1 | 1 | |
| 0xE222cAb4...BE6f | 1 | 1 | |
| 0x7BcDe2E6...3817 | 1 | 1 |
Recent Transactions
|
| Hash | Block | Age | From/To | Value | |
|---|---|---|---|---|---|
| 0x558ec795...9c38b3 Fail | 10,697,488 | IN | 0xD368E1bF...eFb1 | 0.100000 ETH | |
| 0xd06f9400...eab392 Fail | 10,697,488 | IN | 0xD368E1bF...eFb1 | 0.100000 ETH | |
| 0x99c0150e...111e7d Fail | 10,697,488 | IN | 0xD368E1bF...eFb1 | 0.100000 ETH | |
| 0x5deeba5b...4f0826 | 10,696,917 | IN | 0xAE228Ff8...393A | 0.100000 ETH | |
| 0x5a0564a2...1d7dfe | 10,696,760 | IN | 0x3F46e99F...06f3 | 0.100000 ETH | |
| 0xf5bb4a74...fdcdbd | 10,695,156 | IN | 0x7BcDe2E6...3817 | 0.100000 ETH | |
| 0xd28cc156...0d3b35 | 10,695,105 | IN | 0xe2eE4448...B0D2 | 0.500000 ETH | |
| 0xcb169db7...90ed13 | 10,694,583 | IN | 0xE222cAb4...BE6f | 0.150000 ETH | |
| 0xe73844da...4a888d | 10,692,973 | IN | 0x008f574a...Eb84 | 0.100000 ETH | |
| 0xc4733739...e6ff5f | 10,692,107 | IN | 0xf80194Ba...6a96 | 0.100000 ETH |