Address Contract Partially Verified
Address
0xcbB3B5cb208B6A579dcf09ba53e7ECBECe690E95
Balance
0 ETH
Nonce
1
Code Size
12523 bytes
Creator
0xD1446cAf...08CF at tx 0x243c1486...552481
Indexed Transactions
0
Contract Bytecode
12523 bytes
0x608060405234801561001057600080fd5b506004361061032b5760003560e01c80637cb04a21116101b2578063cac06522116100f9578063f25f4b56116100a2578063fcb53d361161007c578063fcb53d36146105e8578063fd1fb605146105f0578063fe354cd314610603578063ff3829eb146106165761032b565b8063f25f4b56146105ba578063f2fde38b146105c2578063f7d97577146105d55761032b565b8063de560cca116100d3578063de560cca14610597578063e085c9521461059f578063f0fde113146105a75761032b565b8063cac0652214610572578063d88e71e014610587578063dd9697281461058f5761032b565b80638fc1ea1e1161015b578063a0cbadb311610135578063a0cbadb31461054f578063ad82c25414610557578063b553207e1461056a5761032b565b80638fc1ea1e1461051657806392929a09146105295780639b9c97591461053c5761032b565b80638bdb1e4f1161018c5780638bdb1e4f146104f35780638da5cb5b146105065780638f73918e1461050e5761032b565b80637cb04a21146104ba5780637e320f7f146104cd57806388045588146104e05761032b565b806339e38f41116102765780635b65b9ab1161021f578063673cd98e116101f9578063673cd98e146104a257806371f4f3fb146104aa578063767eb6c7146104b25761032b565b80635b65b9ab146104625780635de9a1371461047557806365ab44771461049a5761032b565b80634e71d92d116102505780634e71d92d1461043f5780634fa77a48146104475780635a6da1e91461045a5761032b565b806339e38f411461041c57806340912990146104245780634a9fefc71461042c5761032b565b8063265243b6116102d85780632e5e8334116102b25780632e5e8334146103e157806336d8a893146103e9578063384c9aef146104095761032b565b8063265243b6146103b35780632866ed21146103c65780632afcf480146103ce5761032b565b8063179eb7fc11610309578063179eb7fc146103835780631fe9483f146103985780631fed13f2146103ab5761032b565b8063027dcbe6146103305780630985f7081461034e5780630b6bedec1461036e575b600080fd5b610338610629565b6040516103459190612f60565b60405180910390f35b61036161035c366004612276565b61062f565b6040516103459190612dc3565b6103766107d5565b6040516103459190612bec565b610396610391366004612463565b6107e4565b005b6103966103a6366004612445565b610845565b610338610894565b6103616103c13660046121da565b61089a565b6103616109d0565b6103616103dc366004612445565b6109de565b610338610d51565b6103fc6103f736600461217a565b610d57565b6040516103459190612cf7565b610396610417366004612445565b610df8565b610338610e27565b610338610e2d565b61037661043a36600461217a565b610e33565b610361610e7a565b61036161045536600461217a565b611518565b6103386116a1565b610396610470366004612493565b6116a7565b61048861048336600461217a565b611701565b60405161034596959493929190612f6e565b610338611738565b61033861173e565b610361611744565b61033861174d565b6103966104c8366004612445565b611753565b6103966104db3660046124e0565b611782565b6103966104ee366004612445565b6117c3565b6103966105013660046121a0565b6117f2565b610376611873565b610338611882565b610396610524366004612409565b611888565b610396610537366004612409565b6118c5565b61033861054a36600461217a565b611909565b6103386119ee565b610396610565366004612445565b6119f4565b610338611a23565b61057a611a29565b6040516103459190612dd1565b610338611a38565b610338611a3e565b610338611a44565b610338611a4a565b6103966105b53660046121a0565b611a50565b610376611b77565b6103966105d036600461217a565b611b86565b6103966105e3366004612463565b611bf8565b610338611c59565b6103966105fe3660046121a0565b611c5f565b6103616106113660046122d5565b611d33565b61037661062436600461217a565b611ef7565b60175481565b6001546000906001600160a01b031633146106655760405162461bcd60e51b815260040161065c90612e10565b60405180910390fd5b81518351146106865760405162461bcd60e51b815260040161065c90612e60565b60005b8251811015610791576000600360008684815181106106a457fe5b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000209050806000018483815181106106de57fe5b6020908102919091018101518254600181018455600093845291832090910180546001600160a01b0319166001600160a01b039092169190911790558451600490829087908690811061072d57fe5b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020905085838151811061076357fe5b602090810291909101015181546001600160a01b0319166001600160a01b0390911617905550600101610689565b507f9dbeb05a6254e135c9083ae0658fc2bb9b12fa2507454a145f9a3e032a65979b83836040516107c3929190612d08565b60405180910390a15060015b92915050565b6007546001600160a01b031681565b6001546001600160a01b0316331461080e5760405162461bcd60e51b815260040161065c90612e10565b60008211801561081e5750600081115b61083a5760405162461bcd60e51b815260040161065c90612eb0565b600a91909155600b55565b6001546001600160a01b0316331461086f5760405162461bcd60e51b815260040161065c90612e10565b6000811161088f5760405162461bcd60e51b815260040161065c90612ec0565b600d55565b600c5481565b6001546000906001600160a01b031633146108c75760405162461bcd60e51b815260040161065c90612e10565b6001600160a01b0388166108ed5760405162461bcd60e51b815260040161065c90612f30565b6040518060c0016040528088815260200187815260200186815260200185815260200184815260200183815250600260008a6001600160a01b03166001600160a01b03168152602001908152602001600020600082015181600001556020820151816001015560408201518160020155606082015181600301556080820151816004015560a082015181600501559050507f1d258f449ca00d720f3d00f10cd38a6e2fbae3ff5b1b8b206acb2272c9640275888888888888886040516109b99796959493929190612c8f565b60405180910390a15060015b979650505050505050565b601854610100900460ff1681565b60185460009060ff161515600114610a085760405162461bcd60e51b815260040161065c90612ea0565b60008211610a285760405162461bcd60e51b815260040161065c90612df0565b6000610a506064610a44600c5486611f1290919063ffffffff16565b9063ffffffff611f5316565b6000546005546040516323b872dd60e01b81529293506001600160a01b03918216926323b872dd92610a8b9233929116908690600401612c15565b602060405180830381600087803b158015610aa557600080fd5b505af1158015610ab9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610add9190810190612427565b506000546040516323b872dd60e01b81526001600160a01b03909116906323b872dd90610b14903390309086890390600401612c15565b602060405180830381600087803b158015610b2e57600080fd5b505af1158015610b42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b669190810190612427565b50336000908152600260205260408120600381015490919015610bc157610bb562015180610a448460050154610ba9866003015442611f9590919063ffffffff16565b9063ffffffff611f1216565b60028301805490910190555b8154610bd1576010805460010190555b601654610be590869063ffffffff611f1216565b82540180835542600384015560028301546001840154601454600093610c3e9392610c329290918391610c2690606490610a4490849063ffffffff611f1216565b9063ffffffff611fd716565b9063ffffffff611f9516565b9050600d54811015610c5457600a549150610c5a565b600b5491505b42620151808302016004840155610c77818363ffffffff611f5316565b6005840155601654610c9090879063ffffffff611f1216565b600f80549091019055601180548701905533600090815260046020526040902080546001600160a01b031615610d0557610ce06064610a44601554610ba96016548c611f1290919063ffffffff16565b81546001600160a01b0316600090815260026020819052604090912001805490910190555b7f3eb0f553d9ec38e0ff3a72db450f9d6f5e372e70e824a3195a09ead1c01fb8763388601654604051610d3a93929190612c58565b60405180910390a16001955050505050505b919050565b600b5481565b60606001600160a01b038216610d7f5760405162461bcd60e51b815260040161065c90612e90565b6001600160a01b0382166000908152600360209081526040918290208054835181840281018401909452808452909291839190830182828015610deb57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610dcd575b5050505050915050919050565b6001546001600160a01b03163314610e225760405162461bcd60e51b815260040161065c90612e10565b601455565b60085481565b60105481565b60006001600160a01b038216610e5b5760405162461bcd60e51b815260040161065c90612f00565b506001600160a01b039081166000908152600460205260409020541690565b60185460009060ff610100909104161515600114610eaa5760405162461bcd60e51b815260040161065c90612f50565b336000908152600260205260409020600581015415801590610ed0575060008160030154115b610eec5760405162461bcd60e51b815260040161065c90612ee0565b60028101548154601454600091610f1591610c2690606490610a4490849063ffffffff611f1216565b6001840154909150808211610f3c5760405162461bcd60e51b815260040161065c90612f20565b6000610f6462015180610a448760050154610ba9896003015442611f9590919063ffffffff16565b4260038701556000600287015593840193905083610f945760405162461bcd60e51b815260040161065c90612e80565b600185015460009081908190870186811061120b57601754610fc090610a44898963ffffffff611f9516565b9350868960010181905550610fe56064610a4460065487611f1290919063ffffffff16565b92506110016064610a4460085487611f1290919063ffffffff16565b895460018b0154919350600091111561103a575060085460065460095403036110356064610a44878463ffffffff611f1216565b840193505b83156110ca5760005460055460405163a9059cbb60e01b81526001600160a01b039283169263a9059cbb92611076929116908890600401612c81565b602060405180830381600087803b15801561109057600080fd5b505af11580156110a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506110c89190810190612427565b505b821561115a5760005460075460405163a9059cbb60e01b81526001600160a01b039283169263a9059cbb92611106929116908790600401612c81565b602060405180830381600087803b15801561112057600080fd5b505af1158015611134573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506111589190810190612427565b505b6000546001600160a01b031663a9059cbb3361118086610c328a8a63ffffffff611f9516565b6040518363ffffffff1660e01b815260040161119d929190612c3d565b602060405180830381600087803b1580156111b757600080fd5b505af11580156111cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506111ef9190810190612427565b5050600060058a0181905560038a0181905560048a01556114a6565b60175461121f90899063ffffffff611f5316565b60018a0180548a01905560065490945061124790606490610a4490879063ffffffff611f1216565b92506112636064610a4460085487611f1290919063ffffffff16565b895460018b0154919350600091111561129c575060085460065460095403036112976064610a44878463ffffffff611f1216565b840193505b831561132c5760005460055460405163a9059cbb60e01b81526001600160a01b039283169263a9059cbb926112d8929116908890600401612c81565b602060405180830381600087803b1580156112f257600080fd5b505af1158015611306573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061132a9190810190612427565b505b82156113bc5760005460075460405163a9059cbb60e01b81526001600160a01b039283169263a9059cbb92611368929116908790600401612c81565b602060405180830381600087803b15801561138257600080fd5b505af1158015611396573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506113ba9190810190612427565b505b6000546001600160a01b031663a9059cbb336113e286610c328a8a63ffffffff611f9516565b6040518363ffffffff1660e01b81526004016113ff929190612c3d565b602060405180830381600087803b15801561141957600080fd5b505af115801561142d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506114519190810190612427565b506000611464898463ffffffff611f9516565b600d5490915060009082101561147d5750600a54611482565b50600b545b611492828263ffffffff611f5316565b60058d01556201518002420160048c015550505b60138054850190556017546114c290859063ffffffff611f1216565b6012805490910190556017546040517f4343fc0436cb075772fdb7e28d5380cc610e5334add5537e2d2b2946b8e2836f916115009133918891612c58565b60405180910390a16001995050505050505050505090565b60006001600160a01b0382166115405760405162461bcd60e51b815260040161065c90612f00565b6001600160a01b03808316600090815260046020526040902080549091161561157b5760405162461bcd60e51b815260040161065c90612f40565b336000908152600260208190526040909120600e5491810154600182015482546014549394936115c79392610c32929091839190610c2690606490610a4490849063ffffffff611f1216565b10156115e55760405162461bcd60e51b815260040161065c90612e00565b6001600160a01b038416600090815260026020526040902080541561161c5760405162461bcd60e51b815260040161065c90612e70565b33600081815260036020908152604080832080546001810182558185528385200180546001600160a01b038c166001600160a01b0319918216811790925590855260049093529281902080549092168417825551919290917f119ef486614f5f4e5c2be21ea6eaf1a60375d930dbc6fa4cba7989bcfbe0ec8591610d3a918a90612bfa565b60145481565b6001546001600160a01b031633146116d15760405162461bcd60e51b815260040161065c90612e10565b8183018110156116f35760405162461bcd60e51b815260040161065c90612ef0565b600692909255600855600955565b6002602081905260009182526040909120805460018201549282015460038301546004840154600590940154929493919290919086565b600e5481565b60115481565b60185460ff1681565b600d5481565b6001546001600160a01b0316331461177d5760405162461bcd60e51b815260040161065c90612e10565b601555565b6001546001600160a01b031633146117ac5760405162461bcd60e51b815260040161065c90612e10565b600f94909455601092909255601155601255601355565b6001546001600160a01b031633146117ed5760405162461bcd60e51b815260040161065c90612e10565b600c55565b6001546001600160a01b0316331461181c5760405162461bcd60e51b815260040161065c90612e10565b6001600160a01b0381166118425760405162461bcd60e51b815260040161065c90612f00565b6001600160a01b03908116600090815260046020526040902080546001600160a01b03191692909116919091179055565b6001546001600160a01b031681565b60095481565b6001546001600160a01b031633146118b25760405162461bcd60e51b815260040161065c90612e10565b6018805460ff1916911515919091179055565b6001546001600160a01b031633146118ef5760405162461bcd60e51b815260040161065c90612e10565b601880549115156101000261ff0019909216919091179055565b60006001600160a01b0382166119315760405162461bcd60e51b815260040161065c90612f30565b6001600160a01b03821660009081526002602052604090208054611959576000915050610d4c565b6002810154815460145460009161198291610c2690606490610a4490849063ffffffff611f1216565b600184015490915080821161199e576000945050505050610d4c565b60006119c662015180610a448760050154610ba9896003015442611f9590919063ffffffff16565b9050808401935082828501106119e3575090039250610d4c915050565b509195945050505050565b60125481565b6001546001600160a01b03163314611a1e5760405162461bcd60e51b815260040161065c90612e10565b600e55565b600a5481565b6000546001600160a01b031681565b60155481565b60165481565b600f5481565b60135481565b6001546001600160a01b03163314611a7a5760405162461bcd60e51b815260040161065c90612e10565b6001600160a01b0382166000908152600360205260408120905b8154811015611b7157826001600160a01b0316828281548110611ab357fe5b6000918252602090912001546001600160a01b03161415611b6957815482906000198101908110611ae057fe5b9060005260206000200160009054906101000a90046001600160a01b0316828281548110611b0a57fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555081805480611b4257fe5b600082815260209020810160001990810180546001600160a01b0319169055019055611b71565b600101611a94565b50505050565b6005546001600160a01b031681565b6001546001600160a01b03163314611bb05760405162461bcd60e51b815260040161065c90612e10565b6001600160a01b038116611bd65760405162461bcd60e51b815260040161065c90612e20565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6001546001600160a01b03163314611c225760405162461bcd60e51b815260040161065c90612e10565b600082118015611c325750600081115b611c4e5760405162461bcd60e51b815260040161065c90612f10565b601691909155601755565b60065481565b6001546001600160a01b03163314611c895760405162461bcd60e51b815260040161065c90612e10565b6001600160a01b03821615801590611ca957506001600160a01b03811615155b611cc55760405162461bcd60e51b815260040161065c90612e30565b600580546001600160a01b038085166001600160a01b03199283161790925560078054928416929091169190911790556040517f9f4f5dce3c4d197b5d7496cb96e25f0a89809167195964b0daa3ef5fed63c00a90611d279084908490612c73565b60405180910390a15050565b6001546000906001600160a01b03163314611d605760405162461bcd60e51b815260040161065c90612e10565b86518851148015611d72575085518851145b8015611d7f575084518851145b8015611d8c575083518851145b8015611d99575082518851145b8015611da6575081518851145b611dc25760405162461bcd60e51b815260040161065c90612e40565b60005b8851811015611ebb576000600260008b8481518110611de057fe5b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000209050888281518110611e1657fe5b60200260200101518160000181905550878281518110611e3257fe5b60200260200101518160010181905550868281518110611e4e57fe5b60200260200101518160020181905550858281518110611e6a57fe5b60200260200101518160030181905550848281518110611e8657fe5b60200260200101518160040181905550838281518110611ea257fe5b6020908102919091010151600590910155600101611dc5565b507ff4a5e17d0336eb9b912ed5de3d810d3957d3b48b09452a5ccd34885369167807888888888888886040516109b99796959493929190612d2d565b6004602052600090815260409020546001600160a01b031681565b600082611f21575060006107cf565b82820282848281611f2e57fe5b0414611f4c5760405162461bcd60e51b815260040161065c90612ed0565b9392505050565b6000611f4c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611ffc565b6000611f4c83836040518060400160405280601f81526020017f536166654d6174683a207375627472616374696f6e20756e646572666c6f7700815250612033565b600082820183811015611f4c5760405162461bcd60e51b815260040161065c90612e50565b6000818361201d5760405162461bcd60e51b815260040161065c9190612ddf565b50600083858161202957fe5b0495945050505050565b600081848411156120575760405162461bcd60e51b815260040161065c9190612ddf565b505050900390565b80356107cf8161307f565b600082601f83011261207b57600080fd5b813561208e61208982612fe4565b612fbd565b915081818352602084019350602081019050838560208402820111156120b357600080fd5b60005b838110156120df57816120c9888261205f565b84525060209283019291909101906001016120b6565b5050505092915050565b600082601f8301126120fa57600080fd5b813561210861208982612fe4565b9150818183526020840193506020810190508385602084028201111561212d57600080fd5b60005b838110156120df5781612143888261216f565b8452506020928301929190910190600101612130565b80356107cf81613096565b80516107cf81613096565b80356107cf8161309f565b60006020828403121561218c57600080fd5b6000612198848461205f565b949350505050565b600080604083850312156121b357600080fd5b60006121bf858561205f565b92505060206121d08582860161205f565b9150509250929050565b600080600080600080600060e0888a0312156121f557600080fd5b60006122018a8a61205f565b97505060206122128a828b0161216f565b96505060406122238a828b0161216f565b95505060606122348a828b0161216f565b94505060806122458a828b0161216f565b93505060a06122568a828b0161216f565b92505060c06122678a828b0161216f565b91505092959891949750929550565b6000806040838503121561228957600080fd5b823567ffffffffffffffff8111156122a057600080fd5b6122ac8582860161206a565b925050602083013567ffffffffffffffff8111156122c957600080fd5b6121d08582860161206a565b600080600080600080600060e0888a0312156122f057600080fd5b873567ffffffffffffffff81111561230757600080fd5b6123138a828b0161206a565b975050602088013567ffffffffffffffff81111561233057600080fd5b61233c8a828b016120e9565b965050604088013567ffffffffffffffff81111561235957600080fd5b6123658a828b016120e9565b955050606088013567ffffffffffffffff81111561238257600080fd5b61238e8a828b016120e9565b945050608088013567ffffffffffffffff8111156123ab57600080fd5b6123b78a828b016120e9565b93505060a088013567ffffffffffffffff8111156123d457600080fd5b6123e08a828b016120e9565b92505060c088013567ffffffffffffffff8111156123fd57600080fd5b6122678a828b016120e9565b60006020828403121561241b57600080fd5b60006121988484612159565b60006020828403121561243957600080fd5b60006121988484612164565b60006020828403121561245757600080fd5b6000612198848461216f565b6000806040838503121561247657600080fd5b6000612482858561216f565b92505060206121d08582860161216f565b6000806000606084860312156124a857600080fd5b60006124b4868661216f565b93505060206124c58682870161216f565b92505060406124d68682870161216f565b9150509250925092565b600080600080600060a086880312156124f857600080fd5b6000612504888861216f565b95505060206125158882890161216f565b94505060406125268882890161216f565b93505060606125378882890161216f565b92505060806125488882890161216f565b9150509295509295909350565b60006125618383612584565b505060200190565b60006125618383612be3565b61257e81613037565b82525050565b61257e81613018565b60006125988261300b565b6125a2818561300f565b93506125ad83613005565b8060005b838110156125db5781516125c58882612555565b97506125d083613005565b9250506001016125b1565b509495945050505050565b60006125f18261300b565b6125fb818561300f565b935061260683613005565b8060005b838110156125db57815161261e8882612569565b975061262983613005565b92505060010161260a565b61257e81613023565b61257e8161303e565b60006126518261300b565b61265b818561300f565b935061266b818560208601613049565b61267481613075565b9093019392505050565b600061268b600f8361300f565b6e24b73b30b634b21030b6b7bab73a1760891b815260200192915050565b60006126b660278361300f565b7f526566657272657220686173206e6f20726566657272616c207175616c69666981526631b0ba34b7b71760c91b602082015260400192915050565b60006126ff60228361300f565b7f4f6e6c79206f776e65722063616e2063616c6c20746869732066756e6374696f815261371760f11b602082015260400192915050565b600061274360188361300f565b7f4e6577206f776e65722063616e6e6f74206265203078302e0000000000000000815260200192915050565b600061277c600f8361300f565b6e496e76616c6964206164647265737360881b815260200192915050565b60006127a760298361300f565b7f546865206c656e677468206f662074686520617272617973206d757374206265815268207468652073616d6560b81b602082015260400192915050565b60006127f2601b8361300f565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b600061282b602d8361300f565b7f546865206c656e677468206f66207468652074776f20617272617973206d757381526c74206265207468652073616d6560981b602082015260400192915050565b600061287a60188361300f565b7f54686973206163636f756e7420686164207374616b6564210000000000000000815260200192915050565b60006128b360158361300f565b7f4e6f20696e74657265737420746f20636c61696d2e0000000000000000000000815260200192915050565b60006128ec601e8361300f565b7f7265666572726572416464726573732063616e6e6f74206265203078302e0000815260200192915050565b600061292560128361300f565b714e6f20696e7665737420616c6c6f7765642160701b815260200192915050565b6000612953601d8361300f565b7f646179732073686f756c642062652067726561746572207468616e2030000000815260200192915050565b600061298c601e8361300f565b7f6c6576656c2073686f756c642062652067726561746572207468616e20300000815260200192915050565b60006129c560218361300f565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000612a0860118361300f565b702737903637b1b5b2b21030b6b7bab73a1760791b815260200192915050565b6000612a35603b8361300f565b7f5f66656532206d7573742062652067726561746572207468616e20746865207381527f756d206f66207468652066697273742074776f206e756d626572730000000000602082015260400192915050565b6000612a94601d8361300f565b7f696e7669746565416464726573732063616e6e6f74206265203078302e000000815260200192915050565b6000612acd60168361300f565b7f5072696365206d75737420626520706f73697469766500000000000000000000815260200192915050565b6000612b0660298361300f565b7f416c6c20696e766573746d656e74732068617665206265656e2066756c6c79208152683bb4ba34323930bbb760b91b602082015260400192915050565b6000612b5160148361300f565b7f5f757365722063616e6e6f74206265203078302e000000000000000000000000815260200192915050565b6000612b8a601e8361300f565b7f54686973206163636f756e7420686164206265656e20696e7669746564210000815260200192915050565b6000612bc360118361300f565b704e6f20636c61696d20616c6c6f7765642160781b815260200192915050565b61257e81613034565b602081016107cf8284612584565b60408101612c088285612575565b611f4c6020830184612584565b60608101612c238286612575565b612c306020830185612584565b6121986040830184612be3565b60408101612c4b8285612575565b611f4c6020830184612be3565b60608101612c668286612575565b612c306020830185612be3565b60408101612c088285612584565b60408101612c4b8285612584565b60e08101612c9d828a612584565b612caa6020830189612be3565b612cb76040830188612be3565b612cc46060830187612be3565b612cd16080830186612be3565b612cde60a0830185612be3565b612ceb60c0830184612be3565b98975050505050505050565b60208082528101611f4c818461258d565b60408082528101612d19818561258d565b90508181036020830152612198818461258d565b60e08082528101612d3e818a61258d565b90508181036020830152612d5281896125e6565b90508181036040830152612d6681886125e6565b90508181036060830152612d7a81876125e6565b90508181036080830152612d8e81866125e6565b905081810360a0830152612da281856125e6565b905081810360c0830152612db681846125e6565b9998505050505050505050565b602081016107cf8284612634565b602081016107cf828461263d565b60208082528101611f4c8184612646565b602080825281016107cf8161267e565b602080825281016107cf816126a9565b602080825281016107cf816126f2565b602080825281016107cf81612736565b602080825281016107cf8161276f565b602080825281016107cf8161279a565b602080825281016107cf816127e5565b602080825281016107cf8161281e565b602080825281016107cf8161286d565b602080825281016107cf816128a6565b602080825281016107cf816128df565b602080825281016107cf81612918565b602080825281016107cf81612946565b602080825281016107cf8161297f565b602080825281016107cf816129b8565b602080825281016107cf816129fb565b602080825281016107cf81612a28565b602080825281016107cf81612a87565b602080825281016107cf81612ac0565b602080825281016107cf81612af9565b602080825281016107cf81612b44565b602080825281016107cf81612b7d565b602080825281016107cf81612bb6565b602081016107cf8284612be3565b60c08101612f7c8289612be3565b612f896020830188612be3565b612f966040830187612be3565b612fa36060830186612be3565b612fb06080830185612be3565b6109c560a0830184612be3565b60405181810167ffffffffffffffff81118282101715612fdc57600080fd5b604052919050565b600067ffffffffffffffff821115612ffb57600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b60006107cf82613028565b151590565b6001600160a01b031690565b90565b60006107cf825b60006107cf82613018565b60005b8381101561306457818101518382015260200161304c565b83811115611b715750506000910152565b601f01601f191690565b61308881613018565b811461309357600080fd5b50565b61308881613023565b6130888161303456fea365627a7a723158200f6631b5a51ec713c0bb2be84c50c5df39084d10d1ae99a2eef778c6312e75fe6c6578706572696d656e74616cf564736f6c63430005100040
Verified Source Code Partial Match
Compiler: v0.5.16+commit.9c3226ce
EVM: istanbul
Optimization: Yes (300 runs)
EsgSHIPV3Pro.sol 378 lines
pragma solidity >=0.5.16;
pragma experimental ABIEncoderV2;
import "./EIP20Interface.sol";
import "./SafeMath.sol";
contract EsgSHIPV3Pro{
using SafeMath for uint256;
EIP20Interface public esg;
address public owner;
event SetInvitee(address referrerAddress, address inviteeAddress);
event SetInviteeByOwner(address[] referrerAddress, address[] inviteeAddress);
event EsgInvest(address account, uint256 amount, uint256 price);
event EsgInvestByOwner(address[] account, uint256[] values, uint256[] withdraws, uint256[] bonuss, uint256[] lastTimes, uint256[] endTimes, uint256[] releaseRates);
event EsgClaimed(address account, uint256 amount, uint256 price);
event EsgChangeLockInfo(address _user, uint256 _value, uint256 _withdraw, uint256 _bonus, uint256 _lastTime, uint256 _endTime, uint256 _releaseRate);
event FeeWalletChanged(address feewallet, address miniwallet);
struct Lock {
uint256 value;
uint256 withdraw;
uint256 bonus;
uint256 lastTime;
uint256 endTime;
uint256 releaseRate;
}
mapping(address => Lock) public locks;
modifier onlyOwner() {
require(msg.sender == owner, "Only owner can call this function.");
_;
}
struct Referrer {
address[] invitees;
}
mapping (address => Referrer) internal inviteeslist;
struct User {
address referrer_addr;
}
mapping (address => User) public referreraddr;
address public feeWallet = 0xaAc08D7CF5e7D9b0418e841d1E68cb5a2904A08C;
uint256 public fee_rate = 5;
address public miniWallet = 0x22656e9DeeCD1fC1D9380b1D5db11522c6139899;
uint256 public mini_rate = 10;
uint256 public fee_rate2 = 15;
uint256 public invest_days1 = 350;
uint256 public invest_days2 = 300;
uint256 public invest_rate = 10;
uint256 public first_level = 20000 * 1e24;
uint256 public referralThreshold = 1000 * 1e24;
uint256 public total_deposited;
uint256 public total_user;
uint256 public total_amount;
uint256 public total_extracted;
uint256 public total_claim_amount;
uint256 public lockRates = 100;
uint256 public staticRewardRate = 10;
uint256 public invest_price = 511000;
uint256 public claim_price = 511000;
bool public investEnabled;
bool public claimEnabled;
constructor(address esgAddress) public {
owner = msg.sender;
investEnabled = true;
claimEnabled = true;
esg = EIP20Interface(esgAddress);
}
function setPrice(uint256 investPrice, uint256 claimPrice) onlyOwner public {
require(investPrice > 0 && claimPrice > 0, "Price must be positive");
invest_price = investPrice;
claim_price = claimPrice;
}
function setFee(uint256 _fee, uint256 _minifee, uint256 _fee2) onlyOwner public {
require(_fee2 >= _fee + _minifee, "_fee2 must be greater than the sum of the first two numbers");
fee_rate = _fee;
mini_rate = _minifee;
fee_rate2 = _fee2;
}
function setFeeWallets(address _feewallet, address _miniwallet) onlyOwner public {
require(_feewallet != address(0) && _miniwallet != address(0), "Invalid address");
feeWallet = _feewallet;
miniWallet = _miniwallet;
emit FeeWalletChanged(_feewallet, _miniwallet);
}
function setInvestRate(uint256 _rate) onlyOwner public {
invest_rate = _rate;
}
function setTotalNum(uint256 _deposited, uint256 _user, uint256 _amount, uint256 _extracted, uint256 _claimnum) onlyOwner public {
total_deposited = _deposited;
total_user = _user;
total_amount = _amount;
total_extracted = _extracted;
total_claim_amount = _claimnum;
}
function setInvestEnabled(bool _investEnabled) onlyOwner public {
investEnabled = _investEnabled;
}
function setClaimEnabled(bool _claimEnabled) onlyOwner public {
claimEnabled = _claimEnabled;
}
function setInvestDays(uint256 days1, uint256 days2) onlyOwner public {
require(days1 > 0 && days2 > 0, "days should be greater than 0");
invest_days1 = days1;
invest_days2 = days2;
}
function setInvestLevels(uint256 level) onlyOwner public {
require(level > 0, "level should be greater than 0");
first_level = level;
}
function setLockRates(uint256 _lockRates) onlyOwner public {
lockRates = _lockRates;
}
function setReferralThreshold(uint256 _referralThreshold) onlyOwner public {
referralThreshold = _referralThreshold;
}
function setStaticRewardRate(uint256 _staticRewardRate) onlyOwner public {
staticRewardRate = _staticRewardRate;
}
function setInvitee(address inviteeAddress) public returns (bool) {
require(inviteeAddress != address(0), "inviteeAddress cannot be 0x0.");
User storage user = referreraddr[inviteeAddress];
require(user.referrer_addr == address(0), "This account had been invited!");
Lock storage lock = locks[msg.sender];
require(lock.value.mul(lockRates).div(100).add(lock.value).sub(lock.withdraw).sub(lock.bonus) >= referralThreshold, "Referrer has no referral qualification.");
Lock storage inviteeLocks = locks[inviteeAddress];
require(inviteeLocks.value == 0, "This account had staked!");
Referrer storage referrer = inviteeslist[msg.sender];
referrer.invitees.push(inviteeAddress);
User storage _user = referreraddr[inviteeAddress];
_user.referrer_addr = msg.sender;
emit SetInvitee(msg.sender, inviteeAddress);
return true;
}
function setInviteeByOwner(address[] memory referrerAddress, address[] memory inviteeAddress) public onlyOwner returns (bool) {
require(referrerAddress.length == inviteeAddress.length, "The length of the two arrays must be the same");
for (uint256 i = 0; i < inviteeAddress.length; i++) {
Referrer storage referrer = inviteeslist[referrerAddress[i]];
referrer.invitees.push(inviteeAddress[i]);
User storage _user = referreraddr[inviteeAddress[i]];
_user.referrer_addr = referrerAddress[i];
}
emit SetInviteeByOwner(referrerAddress, inviteeAddress);
return true;
}
function removeInvitee(address referrer, address invitee) public onlyOwner {
address[] storage invitees = inviteeslist[referrer].invitees;
for (uint i = 0; i < invitees.length; i++) {
if (invitees[i] == invitee) {
invitees[i] = invitees[invitees.length - 1];
invitees.pop();
break;
}
}
}
function changeReferrerAddr(address referrer, address invitee) public onlyOwner {
require(invitee != address(0), "inviteeAddress cannot be 0x0.");
User storage _user = referreraddr[invitee];
_user.referrer_addr = referrer;
}
function getInviteelist(address referrerAddress) public view returns (address[] memory) {
require(referrerAddress != address(0), "referrerAddress cannot be 0x0.");
Referrer storage referrer = inviteeslist[referrerAddress];
return referrer.invitees;
}
function getReferrer(address inviteeAddress) public view returns (address) {
require(inviteeAddress != address(0), "inviteeAddress cannot be 0x0.");
User storage user = referreraddr[inviteeAddress];
return user.referrer_addr;
}
function invest(uint256 _amount) public returns (bool) {
require(investEnabled == true, "No invest allowed!");
require(_amount > 0, "Invalid amount.");
uint256 fee_amount = _amount.mul(invest_rate).div(100);
esg.transferFrom(msg.sender, feeWallet, fee_amount);
esg.transferFrom(msg.sender, address(this), _amount - fee_amount);
Lock storage user_locks = locks[msg.sender];
uint256 invest_days = 0;
if(user_locks.lastTime > 0){
user_locks.bonus += block.timestamp.sub(user_locks.lastTime).mul(user_locks.releaseRate).div(86400);
}
if(user_locks.value == 0){
total_user = total_user + 1;
}
user_locks.value += _amount.mul(invest_price);
user_locks.lastTime = block.timestamp;
uint256 deposit = user_locks.value.mul(lockRates).div(100).add(user_locks.value).sub(user_locks.withdraw).sub(user_locks.bonus);
if(deposit < first_level){
invest_days = invest_days1;
}else{
invest_days = invest_days2;
}
user_locks.endTime = block.timestamp + (invest_days * 86400);
user_locks.releaseRate = deposit.div(invest_days);
total_deposited += _amount.mul(invest_price);
total_amount += _amount;
User storage user = referreraddr[msg.sender];
if(user.referrer_addr != address(0)){
locks[user.referrer_addr].bonus += _amount.mul(invest_price).mul(staticRewardRate).div(100);
}
emit EsgInvest(msg.sender, _amount, invest_price);
return true;
}
function investByOwner(address[] memory investAddress, uint256[] memory _value, uint256[] memory _withdraw, uint256[] memory _bonus, uint256[] memory _lastTime, uint256[] memory _endTime, uint256[] memory _releaseRate) public onlyOwner returns (bool) {
require(investAddress.length == _value.length && investAddress.length == _withdraw.length && investAddress.length == _bonus.length && investAddress.length == _lastTime.length && investAddress.length == _endTime.length && investAddress.length == _releaseRate.length, "The length of the arrays must be the same");
for (uint256 i = 0; i < investAddress.length; i++) {
Lock storage user_locks = locks[investAddress[i]];
user_locks.value = _value[i];
user_locks.withdraw = _withdraw[i];
user_locks.bonus = _bonus[i];
user_locks.lastTime = _lastTime[i];
user_locks.endTime = _endTime[i];
user_locks.releaseRate = _releaseRate[i];
}
emit EsgInvestByOwner(investAddress, _value, _withdraw, _bonus, _lastTime, _endTime, _releaseRate);
return true;
}
function claim() public returns (bool) {
require(claimEnabled == true, "No claim allowed!");
Lock storage userLocks = locks[msg.sender];
require(userLocks.releaseRate > 0 && userLocks.lastTime > 0, "No locked amount.");
uint256 totalInterest = userLocks.bonus;
uint256 userDeposit = userLocks.value.mul(lockRates).div(100).add(userLocks.value);
uint256 userWithdraw = userLocks.withdraw;
require(userDeposit > userWithdraw, "All investments have been fully withdrawn");
uint256 interest = (block.timestamp.sub(userLocks.lastTime)).mul(userLocks.releaseRate).div(86400);
totalInterest += interest;
userLocks.lastTime = block.timestamp;
userLocks.bonus = 0;
require(totalInterest > 0, "No interest to claim.");
uint256 transfer_amount = 0;
uint256 feeAmount = 0;
uint256 miniAmount = 0;
uint256 total_withdraw = userLocks.withdraw + totalInterest;
if(total_withdraw >= userDeposit){
transfer_amount = (userDeposit.sub(userWithdraw)).div(claim_price);
userLocks.withdraw = userDeposit;
feeAmount = transfer_amount.mul(fee_rate).div(100);
miniAmount = transfer_amount.mul(mini_rate).div(100);
uint256 fee = 0;
if(userLocks.withdraw > userLocks.value){
fee = fee_rate2 - fee_rate - mini_rate;
feeAmount += transfer_amount.mul(fee).div(100);
}
if(feeAmount > 0){
esg.transfer(feeWallet, feeAmount);
}
if(miniAmount > 0){
esg.transfer(miniWallet, miniAmount);
}
esg.transfer(msg.sender, transfer_amount.sub(feeAmount).sub(miniAmount));
userLocks.releaseRate = 0;
userLocks.lastTime = 0;
userLocks.endTime = 0;
}else{
transfer_amount = totalInterest.div(claim_price);
userLocks.withdraw += totalInterest;
feeAmount = transfer_amount.mul(fee_rate).div(100);
miniAmount = transfer_amount.mul(mini_rate).div(100);
uint256 fee = 0;
if(userLocks.withdraw > userLocks.value){
fee = fee_rate2 - fee_rate - mini_rate;
feeAmount += transfer_amount.mul(fee).div(100);
}
if(feeAmount > 0){
esg.transfer(feeWallet, feeAmount);
}
if(miniAmount > 0){
esg.transfer(miniWallet, miniAmount);
}
esg.transfer(msg.sender, transfer_amount.sub(feeAmount).sub(miniAmount));
uint256 deposit = userDeposit.sub(total_withdraw);
uint256 invest_days = 0;
if(deposit < first_level){
invest_days = invest_days1;
}else{
invest_days = invest_days2;
}
userLocks.releaseRate = deposit.div(invest_days);
userLocks.endTime = block.timestamp + (invest_days * 86400);
}
total_claim_amount += transfer_amount;
total_extracted += transfer_amount.mul(claim_price);
emit EsgClaimed (msg.sender, transfer_amount, claim_price);
return true;
}
function getUnclaimValue(address _user) public view returns (uint256) {
require(_user != address(0), "_user cannot be 0x0.");
Lock storage userLocks = locks[_user];
if(userLocks.value == 0){
return 0;
}
uint256 totalInterest = userLocks.bonus;
uint256 userDeposit = userLocks.value.mul(lockRates).div(100).add(userLocks.value);
uint256 userWithdraw = userLocks.withdraw;
if(userDeposit <= userWithdraw){
return 0;
}
uint256 interest = (block.timestamp.sub(userLocks.lastTime)).mul(userLocks.releaseRate).div(86400);
totalInterest += interest;
if(totalInterest + userWithdraw >= userDeposit){
return userDeposit - userWithdraw;
}
return totalInterest;
}
function changeLockInfo(address _user, uint256 _value, uint256 _withdraw, uint256 _bonus, uint256 _lastTime, uint256 _endTime, uint256 _releaseRate) public onlyOwner returns (bool) {
require(_user != address(0), "_user cannot be 0x0.");
locks[_user] = Lock(_value, _withdraw, _bonus, _lastTime, _endTime, _releaseRate);
emit EsgChangeLockInfo(_user, _value, _withdraw, _bonus, _lastTime, _endTime, _releaseRate);
return true;
}
function transferOwnership(address newOwner) public onlyOwner {
require(newOwner != address(0), "New owner cannot be 0x0.");
owner = newOwner;
}
}
SafeMath.sol 221 lines
pragma solidity ^0.5.16;
// From https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/math/Math.sol
// Subject to the MIT license.
/**
* @dev Wrappers over Solidity's arithmetic operations with added overflow
* checks.
*
* Arithmetic operations in Solidity wrap on overflow. This can easily result
* in bugs, because programmers usually assume that an overflow raises an
* error, which is the standard behavior in high level programming languages.
* `SafeMath` restores this intuition by reverting the transaction when an
* operation overflows.
*
* Using this library instead of the unchecked operations eliminates an entire
* class of bugs, so it's recommended to use it always.
*/
library SafeMath {
/**
* @dev Returns the addition of two unsigned integers, reverting on overflow.
*
* Counterpart to Solidity's `+` operator.
*
* Requirements:
* - Addition cannot overflow.
*/
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
require(c >= a, "SafeMath: addition overflow");
return c;
}
/**
* @dev Returns the addition of two unsigned integers, reverting with custom message on overflow.
*
* Counterpart to Solidity's `+` operator.
*
* Requirements:
* - Addition cannot overflow.
*/
function add(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
uint256 c = a + b;
require(c >= a, errorMessage);
return c;
}
/**
* @dev Returns the subtraction of two unsigned integers, reverting on underflow (when the result is negative).
*
* Counterpart to Solidity's `-` operator.
*
* Requirements:
* - Subtraction cannot underflow.
*/
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
return sub(a, b, "SafeMath: subtraction underflow");
}
/**
* @dev Returns the subtraction of two unsigned integers, reverting with custom message on underflow (when the result is negative).
*
* Counterpart to Solidity's `-` operator.
*
* Requirements:
* - Subtraction cannot underflow.
*/
function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b <= a, errorMessage);
uint256 c = a - b;
return c;
}
/**
* @dev Returns the multiplication of two unsigned integers, reverting on overflow.
*
* Counterpart to Solidity's `*` operator.
*
* Requirements:
* - Multiplication cannot overflow.
*/
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
// Gas optimization: this is cheaper than requiring 'a' not being zero, but the
// benefit is lost if 'b' is also tested.
// See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
if (a == 0) {
return 0;
}
uint256 c = a * b;
require(c / a == b, "SafeMath: multiplication overflow");
return c;
}
/**
* @dev Returns the multiplication of two unsigned integers, reverting on overflow.
*
* Counterpart to Solidity's `*` operator.
*
* Requirements:
* - Multiplication cannot overflow.
*/
function mul(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
// Gas optimization: this is cheaper than requiring 'a' not being zero, but the
// benefit is lost if 'b' is also tested.
// See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
if (a == 0) {
return 0;
}
uint256 c = a * b;
require(c / a == b, errorMessage);
return c;
}
/**
* @dev Returns the integer division of two unsigned integers.
* Reverts on division by zero. The result is rounded towards zero.
*
* Counterpart to Solidity's `/` operator. Note: this function uses a
* `revert` opcode (which leaves remaining gas untouched) while Solidity
* uses an invalid opcode to revert (consuming all remaining gas).
*
* Requirements:
* - The divisor cannot be zero.
*/
function div(uint256 a, uint256 b) internal pure returns (uint256) {
return div(a, b, "SafeMath: division by zero");
}
/**
* @dev Returns the integer division of two unsigned integers.
* Reverts with custom message on division by zero. The result is rounded towards zero.
*
* Counterpart to Solidity's `/` operator. Note: this function uses a
* `revert` opcode (which leaves remaining gas untouched) while Solidity
* uses an invalid opcode to revert (consuming all remaining gas).
*
* Requirements:
* - The divisor cannot be zero.
*/
function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
// Solidity only automatically asserts when dividing by 0
require(b > 0, errorMessage);
uint256 c = a / b;
// assert(a == b * c + a % b); // There is no case in which this doesn't hold
return c;
}
/**
* @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
* Reverts when dividing by zero.
*
* Counterpart to Solidity's `%` operator. This function uses a `revert`
* opcode (which leaves remaining gas untouched) while Solidity uses an
* invalid opcode to revert (consuming all remaining gas).
*
* Requirements:
* - The divisor cannot be zero.
*/
function mod(uint256 a, uint256 b) internal pure returns (uint256) {
return mod(a, b, "SafeMath: modulo by zero");
}
/**
* @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
* Reverts with custom message when dividing by zero.
*
* Counterpart to Solidity's `%` operator. This function uses a `revert`
* opcode (which leaves remaining gas untouched) while Solidity uses an
* invalid opcode to revert (consuming all remaining gas).
*
* Requirements:
* - The divisor cannot be zero.
*/
function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b != 0, errorMessage);
return a % b;
}
/**
* @dev gives square root of given x.
*/
function sqrt(uint256 x) internal pure returns(uint256 y) {
uint256 z = ((add(x, 1)) / 2);
y = x;
while (z < y) {
y = z;
z = ((add((x / z), z)) / 2);
}
}
/**
* @dev gives square. multiplies x by x
*/
function sq(uint256 x) internal pure returns(uint256) {
return (mul(x, x));
}
/**
* @dev x to the power of y
*/
function pwr(uint256 x, uint256 y) internal pure returns(uint256) {
if (x == 0)
return (0);
else if (y == 0)
return (1);
else {
uint256 z = x;
for (uint256 i = 1; i < y; i++)
z = mul(z, x);
return (z);
}
}
}
EIP20Interface.sol 62 lines
pragma solidity ^0.5.16;
/**
* @title ERC 20 Token Standard Interface
* https://eips.ethereum.org/EIPS/eip-20
*/
interface EIP20Interface {
function name() external view returns (string memory);
function symbol() external view returns (string memory);
function decimals() external view returns (uint8);
/**
* @notice Get the total number of tokens in circulation
* @return The supply of tokens
*/
function totalSupply() external view returns (uint256);
/**
* @notice Gets the balance of the specified address
* @param owner The address from which the balance will be retrieved
* @return The balance
*/
function balanceOf(address owner) external view returns (uint256 balance);
/**
* @notice Transfer `amount` tokens from `msg.sender` to `dst`
* @param dst The address of the destination account
* @param amount The number of tokens to transfer
* @return Whether or not the transfer succeeded
*/
function transfer(address dst, uint256 amount) external returns (bool success);
/**
* @notice Transfer `amount` tokens from `src` to `dst`
* @param src The address of the source account
* @param dst The address of the destination account
* @param amount The number of tokens to transfer
* @return Whether or not the transfer succeeded
*/
function transferFrom(address src, address dst, uint256 amount) external returns (bool success);
/**
* @notice Approve `spender` to transfer up to `amount` from `src`
* @dev This will overwrite the approval amount for `spender`
* and is subject to issues noted [here](https://eips.ethereum.org/EIPS/eip-20#approve)
* @param spender The address of the account which may transfer tokens
* @param amount The number of tokens that are approved (-1 means infinite)
* @return Whether or not the approval succeeded
*/
function approve(address spender, uint256 amount) external returns (bool success);
/**
* @notice Get the current allowance from `owner` for `spender`
* @param owner The address of the account which owns the tokens to be spent
* @param spender The address of the account which may transfer tokens
* @return The number of tokens allowed to be spent (-1 means infinite)
*/
function allowance(address owner, address spender) external view returns (uint256 remaining);
event Transfer(address indexed from, address indexed to, uint256 amount);
event Approval(address indexed owner, address indexed spender, uint256 amount);
}
Read Contract
claimEnabled 0x2866ed21 → bool
claim_price 0x027dcbe6 → uint256
esg 0xcac06522 → address
feeWallet 0xf25f4b56 → address
fee_rate 0xfcb53d36 → uint256
fee_rate2 0x8f73918e → uint256
first_level 0x767eb6c7 → uint256
getInviteelist 0x36d8a893 → address[]
getReferrer 0x4a9fefc7 → address
getUnclaimValue 0x9b9c9759 → uint256
investEnabled 0x71f4f3fb → bool
invest_days1 0xb553207e → uint256
invest_days2 0x2e5e8334 → uint256
invest_price 0xdd969728 → uint256
invest_rate 0x1fed13f2 → uint256
lockRates 0x5a6da1e9 → uint256
locks 0x5de9a137 → uint256, uint256, uint256, uint256, uint256, uint256
miniWallet 0x0b6bedec → address
mini_rate 0x39e38f41 → uint256
owner 0x8da5cb5b → address
referralThreshold 0x65ab4477 → uint256
referreraddr 0xff3829eb → address
staticRewardRate 0xd88e71e0 → uint256
total_amount 0x673cd98e → uint256
total_claim_amount 0xe085c952 → uint256
total_deposited 0xde560cca → uint256
total_extracted 0xa0cbadb3 → uint256
total_user 0x40912990 → uint256
Write Contract 21 functions
These functions modify contract state and require a wallet transaction to execute.
changeLockInfo 0x265243b6
address _user
uint256 _value
uint256 _withdraw
uint256 _bonus
uint256 _lastTime
uint256 _endTime
uint256 _releaseRate
returns: bool
changeReferrerAddr 0x8bdb1e4f
address referrer
address invitee
claim 0x4e71d92d
No parameters
returns: bool
invest 0x2afcf480
uint256 _amount
returns: bool
investByOwner 0xfe354cd3
address[] investAddress
uint256[] _value
uint256[] _withdraw
uint256[] _bonus
uint256[] _lastTime
uint256[] _endTime
uint256[] _releaseRate
returns: bool
removeInvitee 0xf0fde113
address referrer
address invitee
setClaimEnabled 0x92929a09
bool _claimEnabled
setFee 0x5b65b9ab
uint256 _fee
uint256 _minifee
uint256 _fee2
setFeeWallets 0xfd1fb605
address _feewallet
address _miniwallet
setInvestDays 0x179eb7fc
uint256 days1
uint256 days2
setInvestEnabled 0x8fc1ea1e
bool _investEnabled
setInvestLevels 0x1fe9483f
uint256 level
setInvestRate 0x88045588
uint256 _rate
setInvitee 0x4fa77a48
address inviteeAddress
returns: bool
setInviteeByOwner 0x0985f708
address[] referrerAddress
address[] inviteeAddress
returns: bool
setLockRates 0x384c9aef
uint256 _lockRates
setPrice 0xf7d97577
uint256 investPrice
uint256 claimPrice
setReferralThreshold 0xad82c254
uint256 _referralThreshold
setStaticRewardRate 0x7cb04a21
uint256 _staticRewardRate
setTotalNum 0x7e320f7f
uint256 _deposited
uint256 _user
uint256 _amount
uint256 _extracted
uint256 _claimnum
transferOwnership 0xf2fde38b
address newOwner
Recent Transactions
No transactions found for this address