Cryo Explorer Ethereum Mainnet

Address Contract Partially Verified

Address 0x80e9540c204c05Be63cfE44b43302780175b60FF
Balance 0 ETH
Nonce 1
Code Size 10262 bytes
Last Active
Indexed Transactions 400 (10,692,10710,697,488)
Value (indexed) ↓ 1.4500 ETH
Gas Used (indexed) 2,122,034
External Etherscan · Sourcify

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

Recent Transactions

CSV View All 400 Transactions →
|
Hash Method Block Age From/To Value Txn Fee Type
0x558ec795...9c38b3 Fail 0x5fb68f89 10,697,488 IN 0xD368E1bF...eFb1 0.100000 ETH 0.00288156 ETH Legacy
0xd06f9400...eab392 Fail 0x5fb68f89 10,697,488 IN 0xD368E1bF...eFb1 0.100000 ETH 0.00288156 ETH Legacy
0x99c0150e...111e7d Fail 0x5fb68f89 10,697,488 IN 0xD368E1bF...eFb1 0.100000 ETH 0.00288156 ETH Legacy
0x5deeba5b...4f0826 0x410ac0e8 10,696,917 IN 0xAE228Ff8...393A 0.100000 ETH 0.03019309 ETH Legacy
0x5a0564a2...1d7dfe 0x410ac0e8 10,696,760 IN 0x3F46e99F...06f3 0.100000 ETH 0.03185944 ETH Legacy
0xf5bb4a74...fdcdbd 0x410ac0e8 10,695,156 IN 0x7BcDe2E6...3817 0.100000 ETH 0.03027696 ETH Legacy
0xd28cc156...0d3b35 0x5fb68f89 10,695,105 IN 0xe2eE4448...B0D2 0.500000 ETH 0.01266462 ETH Legacy
0xcb169db7...90ed13 0x5fb68f89 10,694,583 IN 0xE222cAb4...BE6f 0.150000 ETH 0.01912360 ETH Legacy
0xe73844da...4a888d 0x410ac0e8 10,692,973 IN 0x008f574a...Eb84 0.100000 ETH 0.02523080 ETH Legacy
0xc4733739...e6ff5f 0x410ac0e8 10,692,107 IN 0xf80194Ba...6a96 0.100000 ETH 0.02883520 ETH Legacy