Address Contract Partially Verified
Address
0x6f90aE14B6aC7188b307DaBd43b4EE9700aAFeF7
Balance
0 ETH
Nonce
1
Code Size
17448 bytes
Creator
0xE986675f...Ca8C at tx 0x70a5565d...b95f90
Indexed Transactions
Index loading...
Contract Bytecode
17448 bytes
0x6080604052600436106102465760003560e01c806365e0c1c211610139578063a6f9dae1116100b6578063d0febe4c1161007a578063d0febe4c14610dff578063dd62ed3e14610e21578063e93a359414610ea6578063ee3d170614610ed1578063f0dda65c14610f3a578063f775898d14610fad57610246565b8063a6f9dae114610c18578063a87430ba14610c81578063a9059cbb14610cf8578063b882438314610d6b578063b918161114610d9657610246565b8063938ba2b2116100fd578063938ba2b214610ab057806395d89b4114610adb578063a06484be14610b6b578063a35e735d14610bbe578063a38eb62214610be957610246565b806365e0c1c2146108fb57806369a0bd3a1461097657806370a08231146109c9578063789770f414610a2e5780638f84aa0914610a5957610246565b80631d988891116101c75780633fc929de1161018b5780633fc929de1461071057806347b5dd541461076757806356b61aae146107925780635ba92f971461080d5780635c6581651461087657610246565b80631d9888911461056557806323b872dd1461059057806327e235e314610623578063313ce567146106885780633382ddab146106b957610246565b8063085710111161020e57806308571011146103df578063095ea7b31461044b5780630bc6c96e146104be5780631329e86e146104d557806318160ddd1461053a57610246565b806303f1e22014610251578063069cf2981461027c57806306fdde03146102d15780630766096e1461036157806307973ccf146103b4575b61024e61100a565b50005b34801561025d57600080fd5b506102666114a2565b6040518082815260200191505060405180910390f35b34801561028857600080fd5b506102b76004803603602081101561029f57600080fd5b810190808035151590602001909291905050506114a8565b604051808215151515815260200191505060405180910390f35b3480156102dd57600080fd5b506102e6611590565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561032657808201518184015260208101905061030b565b50505050905090810190601f1680156103535780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561036d57600080fd5b5061039a6004803603602081101561038457600080fd5b810190808035906020019092919050505061162e565b604051808215151515815260200191505060405180910390f35b3480156103c057600080fd5b506103c9611703565b6040518082815260200191505060405180910390f35b3480156103eb57600080fd5b506103f4611709565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561043757808201518184015260208101905061041c565b505050509050019250505060405180910390f35b34801561045757600080fd5b506104a46004803603604081101561046e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611797565b604051808215151515815260200191505060405180910390f35b3480156104ca57600080fd5b506104d36119a1565b005b3480156104e157600080fd5b50610524600480360360208110156104f857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611acf565b6040518082815260200191505060405180910390f35b34801561054657600080fd5b5061054f611bc0565b6040518082815260200191505060405180910390f35b34801561057157600080fd5b5061057a611bca565b6040518082815260200191505060405180910390f35b34801561059c57600080fd5b50610609600480360360608110156105b357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611bd0565b604051808215151515815260200191505060405180910390f35b34801561062f57600080fd5b506106726004803603602081101561064657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612335565b6040518082815260200191505060405180910390f35b34801561069457600080fd5b5061069d61234d565b604051808260ff1660ff16815260200191505060405180910390f35b3480156106c557600080fd5b506106ce612360565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561071c57600080fd5b50610725612386565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561077357600080fd5b5061077c6123ac565b6040518082815260200191505060405180910390f35b34801561079e57600080fd5b506107cb600480360360208110156107b557600080fd5b81019080803590602001909291905050506123b2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561081957600080fd5b5061085c6004803603602081101561083057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506123ee565b604051808215151515815260200191505060405180910390f35b34801561088257600080fd5b506108e56004803603604081101561089957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506125a0565b6040518082815260200191505060405180910390f35b34801561090757600080fd5b5061095c600480360360a081101561091e57600080fd5b8101908080359060200190929190803590602001909291908035906020019092919080359060200190929190803590602001909291905050506125c5565b604051808215151515815260200191505060405180910390f35b34801561098257600080fd5b506109af6004803603602081101561099957600080fd5b8101908080359060200190929190505050612908565b604051808215151515815260200191505060405180910390f35b3480156109d557600080fd5b50610a18600480360360208110156109ec57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506129dd565b6040518082815260200191505060405180910390f35b348015610a3a57600080fd5b50610a43612a26565b6040518082815260200191505060405180910390f35b348015610a6557600080fd5b50610a6e612a2c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610abc57600080fd5b50610ac5612a52565b6040518082815260200191505060405180910390f35b348015610ae757600080fd5b50610af0612a58565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610b30578082015181840152602081019050610b15565b50505050905090810190601f168015610b5d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610b7757600080fd5b50610ba460048036036020811015610b8e57600080fd5b8101908080359060200190929190505050612af6565b604051808215151515815260200191505060405180910390f35b348015610bca57600080fd5b50610bd3612dd4565b6040518082815260200191505060405180910390f35b348015610bf557600080fd5b50610bfe612dda565b604051808215151515815260200191505060405180910390f35b348015610c2457600080fd5b50610c6760048036036020811015610c3b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612ded565b604051808215151515815260200191505060405180910390f35b348015610c8d57600080fd5b50610cd060048036036020811015610ca457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612f9f565b6040518084151515158152602001838152602001828152602001935050505060405180910390f35b348015610d0457600080fd5b50610d5160048036036040811015610d1b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612fd6565b604051808215151515815260200191505060405180910390f35b348015610d7757600080fd5b50610d80613676565b6040518082815260200191505060405180910390f35b348015610da257600080fd5b50610de560048036036020811015610db957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061367c565b604051808215151515815260200191505060405180910390f35b610e0761100a565b604051808215151515815260200191505060405180910390f35b348015610e2d57600080fd5b50610e9060048036036040811015610e4457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061369c565b6040518082815260200191505060405180910390f35b348015610eb257600080fd5b50610ebb613723565b6040518082815260200191505060405180910390f35b348015610edd57600080fd5b50610f2060048036036020811015610ef457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613729565b604051808215151515815260200191505060405180910390f35b348015610f4657600080fd5b50610f9360048036036040811015610f5d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506138db565b604051808215151515815260200191505060405180910390f35b348015610fb957600080fd5b5061100860048036036040811015610fd057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050613c45565b005b6000801515600e60009054906101000a900460ff16151514611094576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f546f6b656e206275792063757272656e746c7920756e617661696c61626c652e81525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415611137576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f496e76616c69642061646472657373000000000000000000000000000000000081525060200191505060405180910390fd5b600034116111ad576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f496e76616c696420616d6f756e7400000000000000000000000000000000000081525060200191505060405180910390fd5b6000670de0b6b3a76400003410156111ef576111e86008546111da60095434613dd790919063ffffffff16565b613e5d90919063ffffffff16565b905061131b565b670de0b6b3a76400003411801561120e5750674563918244f400003411155b156112435761123c60085461122e600a5434613dd790919063ffffffff16565b613e5d90919063ffffffff16565b905061131a565b674563918244f4000034118015611262575067d02ab486cedc00003411155b1561129757611290600854611282600b5434613dd790919063ffffffff16565b613e5d90919063ffffffff16565b9050611319565b67d02ab486cedc0000341180156112b757506801a055690d9db800003411155b156112ec576112e56008546112d7600c5434613dd790919063ffffffff16565b613e5d90919063ffffffff16565b9050611318565b611315600854611307600d5434613dd790919063ffffffff16565b613e5d90919063ffffffff16565b90505b5b5b5b61133081600354613eec90919063ffffffff16565b60038190555061138881600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613eec90919063ffffffff16565b600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050158015611433573d6000803e3d6000fd5b503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3600191505090565b600a5481565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461156d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4f776e65722061646472657373206f6e6c79000000000000000000000000000081525060200191505060405180910390fd5b81600e60006101000a81548160ff02191690831515021790555060019050919050565b60008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156116265780601f106115fb57610100808354040283529160200191611626565b820191906000526020600020905b81548152906001019060200180831161160957829003601f168201915b505050505081565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146116f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4f776e65722061646472657373206f6e6c79000000000000000000000000000081525060200191505060405180910390fd5b8160128190555060019050919050565b60115481565b6060601580548060200260200160405190810160405280929190818152602001828054801561178d57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311611743575b5050505050905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561183b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f4e756c6c2061646472657373000000000000000000000000000000000000000081525060200191505060405180910390fd5b600082116118b1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600d8152602001807f496e76616c69642076616c75650000000000000000000000000000000000000081525060200191505060405180910390fd5b81601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611a64576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4f776e65722061646472657373206f6e6c79000000000000000000000000000081525060200191505060405180910390fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015611acc573d6000803e3d6000fd5b50565b6000601360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff1615611bb657611b2e6143af565b601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060600160405290816000820160009054906101000a900460ff161515151581526020016001820154815260200160028201548152505090508060400151915050611bbb565b600090505b919050565b6000600354905090565b600b5481565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415611c74576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f496e76616c69642066726f6d206164647265737300000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611d17576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f496e76616c696420746f2061646472657373000000000000000000000000000081525060200191505060405180910390fd5b600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115611dcc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f496e76616c69642062616c616e6365000000000000000000000000000000000081525060200191505060405180910390fd5b601060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115611ebe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c696420616c6c6f77616e636500000000000000000000000000000081525060200191505060405180910390fd5b611f1082600f60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613f7490919063ffffffff16565b600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000611f8b68056bc75e2d63100000611f7d670de0b6b3a764000086613dd790919063ffffffff16565b613e5d90919063ffffffff16565b90506000611fa28285613f7490919063ffffffff16565b905061201882600f6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613eec90919063ffffffff16565b600f6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506120cf81600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613eec90919063ffffffff16565b600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506121a184601060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613f7490919063ffffffff16565b601060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061223682600454613eec90919063ffffffff16565b6004819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001925050509392505050565b600f6020528060005260406000206000915090505481565b600260009054906101000a900460ff1681565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60045481565b601581815481106123bf57fe5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146124b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4f776e65722061646472657373206f6e6c79000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612556576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f496e76616c69642041646472657373000000000000000000000000000000000081525060200191505060405180910390fd5b81600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b6010602052816000526040600020602052806000526040600020600091509150505481565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461268a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4f776e65722061646472657373206f6e6c79000000000000000000000000000081525060200191505060405180910390fd5b60008611612700576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f496e76616c69642062726f6e7a65207061636b2072617465000000000000000081525060200191505060405180910390fd5b60008511612776576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f496e76616c69642073696c766572207061636b2072617465000000000000000081525060200191505060405180910390fd5b600084116127ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f496e76616c696420676f6c64207061636b20726174650000000000000000000081525060200191505060405180910390fd5b60008311612862576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f496e76616c696420706c6174696e756d207061636b207261746500000000000081525060200191505060405180910390fd5b600082116128d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f496e76616c6964206469616d6f6e64207061636b20726174650000000000000081525060200191505060405180910390fd5b8560098190555084600a8190555083600b8190555082600c8190555081600d819055506001905095945050505050565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146129cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4f776e65722061646472657373206f6e6c79000000000000000000000000000081525060200191505060405180910390fd5b8160088190555060019050919050565b6000600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60085481565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c5481565b60018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015612aee5780601f10612ac357610100808354040283529160200191612aee565b820191906000526020600020905b815481529060010190602001808311612ad157829003601f168201915b505050505081565b600080612b14670de0b6b3a764000084613dd790919063ffffffff16565b9050600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115612bcb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f496e73756666696369656e742062616c616e636500000000000000000000000081525060200191505060405180910390fd5b612c1d81600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613f7490919063ffffffff16565b600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612cd481600f6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613eec90919063ffffffff16565b600f6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3612dca3384613ffd565b6001915050919050565b600d5481565b600e60009054906101000a900460ff1681565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612eb2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4f776e65722061646472657373206f6e6c79000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612f55576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f496e76616c69642041646472657373000000000000000000000000000000000081525060200191505060405180910390fd5b81600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b60136020528060005260406000206000915090508060000160009054906101000a900460ff16908060010154908060020154905083565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561307a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f496e76616c69642061646472657373000000000000000000000000000000000081525060200191505060405180910390fd5b600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111561312f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f496e73756666696369656e742062616c616e636500000000000000000000000081525060200191505060405180910390fd5b61318182600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613f7490919063ffffffff16565b600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156133a35761328e82600f6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613eec90919063ffffffff16565b600f6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a361339e33613399670de0b6b3a764000085613e5d90919063ffffffff16565b613ffd565b61366c565b60006133db68056bc75e2d631000006133cd670de0b6b3a764000086613dd790919063ffffffff16565b613e5d90919063ffffffff16565b905060006133f28285613f7490919063ffffffff16565b905061346882600f6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613eec90919063ffffffff16565b600f6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061351f81600f60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613eec90919063ffffffff16565b600f60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061357782600454613eec90919063ffffffff16565b6004819055508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a350505b6001905092915050565b60125481565b60146020528060005260406000206000915054906101000a900460ff1681565b6000601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60095481565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146137ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4f776e65722061646472657373206f6e6c79000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415613891576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f496e76616c69642041646472657373000000000000000000000000000000000081525060200191505060405180910390fd5b81600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b600060011515601460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515146139a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f53656e646572206d75737420626520617574686f72697a65642e00000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415613a46576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f496e76616c69642061646472657373000000000000000000000000000000000081525060200191505060405180910390fd5b6000613a63670de0b6b3a764000084613dd790919063ffffffff16565b1015613ad7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f496e76616c696420616d6f756e7400000000000000000000000000000000000081525060200191505060405180910390fd5b613b06613af5670de0b6b3a764000084613dd790919063ffffffff16565b600354613eec90919063ffffffff16565b600381905550613b78613b2a670de0b6b3a764000084613dd790919063ffffffff16565b600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613eec90919063ffffffff16565b600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef613c26670de0b6b3a764000086613dd790919063ffffffff16565b6040518082815260200191505060405180910390a36001905092915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614613d08576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4f776e65722061646472657373206f6e6c79000000000000000000000000000081525060200191505060405180910390fd5b80601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600115158115151415613dd35760158290806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505b5050565b600080831415613dea5760009050613e57565b6000828402905082848281613dfb57fe5b0414613e52576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806143d36021913960400191505060405180910390fd5b809150505b92915050565b6000808211613ed4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525060200191505060405180910390fd5b6000828481613edf57fe5b0490508091505092915050565b600080828401905083811015613f6a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a204164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600082821115613fec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f536166654d6174683a205375627472616374696f6e206f766572666c6f77000081525060200191505060405180910390fd5b600082840390508091505092915050565b60008111614073576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f416d6f756e742063616e206e6f74206265207a65726f0000000000000000000081525060200191505060405180910390fd5b601360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff16614188576140cf6143af565b4281602001818152505060125482024201816040018181525050600181600001901515908115158152505080601360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548160ff0219169083151502179055506020820151816001015560408201518160020155905050600160116000828254019250508190555050614193565b6141928282614197565b5b5050565b601360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff16614259576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5573657220646f6573206e6f742065786973747300000000000000000000000081525060200191505060405180910390fd5b6142616143af565b6000601360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206002015490506000428211156142c0576012548402820190506142ca565b6012548402420190505b6001836000019015159081151581525050601360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101548360200181815250508083604001818152505082601360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548160ff02191690831515021790555060208201518160010155604082015181600201559050505050505050565b60405180606001604052806000151581526020016000815260200160008152509056fe536166654d6174683a204d756c7469706c69636174696f6e206f766572666c6f77a265627a7a723158202cdc47688f3fb7195e4efd6ad5acd9deb346bb9de86ec6dc161f1bbf9927269b64736f6c63430005110032
Verified Source Code Partial Match
Compiler: v0.5.17+commit.d19bba13
EVM: istanbul
Optimization: No
ThinkBlockLearning.sol 437 lines
pragma solidity 0.5.17;
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) {
// Solidity only automatically asserts when divide by 0
require(b > 0, "SafeMath: division by zero");
uint256 c = a / b;
return c;
}
function mod(uint256 a, uint256 b) internal pure returns (uint256) {
require(b != 0, "SafeMath: Modulo by zero");
return a % b;
}
}
interface ERC20 {
function transferFrom(address _from, address _to, uint256 value) external returns (bool);
function approve(address _spender, uint256 _value) external returns (bool);
function transfer(address _to, uint256 _value) external returns(bool);
function allowance(address _owner, address _spender) external view returns (uint256);
function totalSupply() external view returns (uint256);
function balanceOf(address _account) external view returns (uint256);
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed owner, address indexed spender, uint256 value);
}
contract ThinkBlockLearning is ERC20 {
using SafeMath for uint256;
// Token Variables
string public name;
string public symbol;
uint8 public decimals;
uint256 private tokenSupply;
uint256 public burnedTokens;
address public tokenBurnAddress;
address public tokenReceivingAddress;
address payable public ownerAddress;
uint256 public ethToToken;
uint256 public bronzePack;
uint256 public silverPack;
uint256 public goldPack;
uint256 public platinumPack;
uint256 public diamondPack;
bool public pauseBuy;
mapping (address => uint256) public balances;
mapping (address => mapping (address => uint256)) public allowed;
// User Variables & Struct
uint256 public userCount;
uint256 public tokenToTime;
struct Users_Details {
bool isExist;
uint256 register_on;
uint256 access_expiry;
}
mapping (address => Users_Details) public users;
mapping(address => bool) public authorized;
address[] public allAuthorized;
modifier onlyAuth() {
require(authorized[msg.sender] == true, "Sender must be authorized.");
_;
}
// ------------------------------------------------------------------------
// Default Constructor
// ------------------------------------------------------------------------
constructor (address _tokenBurnAddress, address _tokenReceivingAddress) public {
name = 'ThinkBlock Learning';
symbol = 'TBL';
decimals = 18;
tokenBurnAddress = _tokenBurnAddress;
tokenReceivingAddress = _tokenReceivingAddress;
ownerAddress = msg.sender;
tokenToTime = 60;
ethToToken = 0.0001 ether;
bronzePack = 1 ether;
silverPack = 1.03 ether;
goldPack = 1.05 ether;
platinumPack = 1.09 ether;
diamondPack = 1.12 ether;
pauseBuy = false;
userCount = 0;
authorized[msg.sender] = true;
allAuthorized.push(msg.sender);
}
// ------------------------------------------------------------------------
// Owner only access modifier
// ------------------------------------------------------------------------
modifier onlyOwner() {
require(msg.sender == ownerAddress, "Owner address only");
_;
}
// ------------------------------------------------------------------------
// Token total supply
// ------------------------------------------------------------------------
function totalSupply() public view returns (uint256) {
return tokenSupply;
}
// ------------------------------------------------------------------------
// Get the token balance for account tokenOwner
// ------------------------------------------------------------------------
function balanceOf(address _account) public view returns (uint256) {
return balances[_account];
}
// ------------------------------------------------------------------------
// Returns the amount of tokens approved by the owner that can be
// transferred to the spender's account
// ------------------------------------------------------------------------
function allowance(address _owner, address _spender) public view returns (uint256) {
return allowed[_owner][_spender];
}
// ------------------------------------------------------------------------
// Allow user to subscribe/extend access expiry through contract
// ------------------------------------------------------------------------
function subscribeViaToken(uint256 _value) public returns (bool) {
uint256 sentValue = _value.mul(1 ether);
require(sentValue <= balances[msg.sender], "Insufficient balance");
balances[msg.sender] = balances[msg.sender].sub(sentValue);
balances[tokenReceivingAddress] = balances[tokenReceivingAddress].add(sentValue);
emit Transfer(msg.sender, tokenReceivingAddress, sentValue);
// To add new user or extend access expiry
checkAndRegisterUser (msg.sender, _value);
return true;
}
// ------------------------------------------------------------------------
// Transfer the balance from token owner's account to another account
// - Owner's account must have sufficient balance to transfer
// - 0 value transfers are allowed
// ------------------------------------------------------------------------
function transfer(address _to, uint256 _value) public returns (bool) {
require(_to != address(0), "Invalid address");
require(_value <= balances[msg.sender], "Insufficient balance");
balances[msg.sender] = balances[msg.sender].sub(_value);
// To add new user or extend access expiry
if (_to == tokenReceivingAddress) {
balances[tokenReceivingAddress] = balances[tokenReceivingAddress].add(_value);
emit Transfer(msg.sender, tokenReceivingAddress, _value);
// To add new user or extend access expiry
checkAndRegisterUser (msg.sender, _value.div(10**18));
}
else {
uint256 burnFee = (_value.mul(1 ether)).div(10**20);
uint256 balanceFee = _value.sub(burnFee);
balances[tokenBurnAddress] = balances[tokenBurnAddress].add(burnFee);
balances[_to] = balances[_to].add(balanceFee);
burnedTokens = burnedTokens.add(burnFee);
emit Transfer(msg.sender, _to, balanceFee);
emit Transfer(msg.sender, tokenBurnAddress, burnFee);
}
return true;
}
// ------------------------------------------------------------------------
// Transfer tokens from the from one account to another account
//
// The calling account must already have sufficient tokens approve(...)-d
// for spending from the from account and
// - From account must have sufficient balance to transfer
// - Spender must have sufficient allowance to transfer
// - 0 value transfers are allowed
// ------------------------------------------------------------------------
function transferFrom(address _from, address _to, uint256 _value) public returns (bool) {
require(_from != address(0), "Invalid from address");
require(_to != address(0), "Invalid to address");
require(_value <= balances[_from], "Invalid balance");
require(_value <= allowed[_from][msg.sender], "Invalid allowance");
balances[_from] = balances[_from].sub(_value);
uint256 burnFee = (_value.mul(1 ether)).div(10**20);
uint256 balanceFee = _value.sub(burnFee);
balances[tokenBurnAddress] = balances[tokenBurnAddress].add(burnFee);
balances[msg.sender] = balances[msg.sender].add(balanceFee);
allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);
burnedTokens = burnedTokens.add(burnFee);
emit Transfer(_from, _to, balanceFee);
emit Transfer(_from, tokenBurnAddress, burnFee);
return true;
}
// ------------------------------------------------------------------------
// Token owner can approve for spender to transferFrom(...) tokens
// from the token owner's account
//
// https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20-token-standard.md
// recommends that there are no checks for the approval double-spend attack
// as this should be implemented in user interfaces
// ------------------------------------------------------------------------
function approve(address _spender, uint256 _value) public returns (bool) {
require(_spender != address(0), "Null address");
require(_value > 0, "Invalid value");
allowed[msg.sender][_spender] = _value;
emit Approval(msg.sender, _spender, _value);
return true;
}
// ------------------------------------------------------------------------
// Mint new tokens
// ------------------------------------------------------------------------
function mintTokens (address _receiver, uint256 _amount) public onlyAuth returns (bool) {
require(_receiver != address(0), "Invalid address");
require(_amount.mul(10**18) >= 0, "Invalid amount");
tokenSupply = tokenSupply.add(_amount.mul(10**18));
balances[_receiver] = balances[_receiver].add(_amount.mul(10**18));
emit Transfer(address(0), _receiver, _amount.mul(10**18));
return true;
}
// ------------------------------------------------------------------------
// Bulk buy tokens via ETH
// ------------------------------------------------------------------------
function buyTokens () public payable returns (bool) {
require(pauseBuy == false,'Token buy currently unavailable.');
require(msg.sender != address(0), "Invalid address");
require(msg.value > 0, "Invalid amount");
uint256 tokensToBuy;
if (msg.value < 1 ether) {
tokensToBuy = msg.value.mul(bronzePack).div(ethToToken);
}
else if (msg.value > 1 ether && msg.value <= 5 ether) {
tokensToBuy = msg.value.mul(silverPack).div(ethToToken);
}
else if (msg.value > 5 ether && msg.value <= 15 ether) {
tokensToBuy = msg.value.mul(goldPack).div(ethToToken);
}
else if (msg.value > 15 ether && msg.value <= 30 ether) {
tokensToBuy = msg.value.mul(platinumPack).div(ethToToken);
}
else {
tokensToBuy = msg.value.mul(diamondPack).div(ethToToken);
}
tokenSupply = tokenSupply.add(tokensToBuy);
balances[msg.sender] = balances[msg.sender].add(tokensToBuy);
ownerAddress.transfer(msg.value);
emit Transfer(address(0), msg.sender, tokensToBuy);
return true;
}
// ------------------------------------------------------------------------
// Register a new user
// ------------------------------------------------------------------------
function checkAndRegisterUser (address _account, uint256 _amount) private {
require(_amount > 0, 'Amount can not be zero');
if (!users[_account].isExist) {
//Create temp instance of User struct
Users_Details memory user;
user.register_on = now;
user.access_expiry = now + (_amount * tokenToTime);
user.isExist = true;
users[_account] = user;
userCount += 1;
}
else {
// Extend access expiry
extendUserAccess(_account, _amount);
}
}
// ------------------------------------------------------------------------
// Check user access expiry
// ------------------------------------------------------------------------
function getUserAccessExpiry (address _account) public view returns(uint256) {
//require(users[_account].isExist,'User does not exists');
if (users[_account].isExist) {
// Create temp instance of User struct
Users_Details memory user;
user = users[_account];
return user.access_expiry;
}
else {
return 0;
}
}
// ------------------------------------------------------------------------
// Extend user access expiry
// ------------------------------------------------------------------------
function extendUserAccess (address _account, uint256 _amount) private {
require(users[_account].isExist,'User does not exists');
// Create temp instance of User struct
Users_Details memory user;
uint256 currentExpiry = users[_account].access_expiry;
uint256 extendedExpiry;
if (currentExpiry > now) {
extendedExpiry = currentExpiry + (_amount * tokenToTime);
}
else {
extendedExpiry = now + (_amount * tokenToTime);
}
user.isExist = true;
user.register_on = users[_account].register_on;
user.access_expiry = extendedExpiry;
users[_account] = user;
}
// ------------------------------------------------------------------------
// To change contract owner
// ------------------------------------------------------------------------
function changeOwner(address payable _newOwnerAddress) public onlyOwner returns (bool) {
require(_newOwnerAddress != address(0), "Invalid Address");
ownerAddress = _newOwnerAddress;
return true;
}
// ------------------------------------------------------------------------
// Resume/Pause Token Buy
// ------------------------------------------------------------------------
function startStopBuy (bool _status) public onlyOwner returns (bool) {
pauseBuy = _status;
return true;
}
// ------------------------------------------------------------------------
// To change token receiving address
// ------------------------------------------------------------------------
function changeTokenRecAdd(address payable _tokenReceivingAddress) public onlyOwner returns (bool) {
require(_tokenReceivingAddress != address(0), "Invalid Address");
tokenReceivingAddress = _tokenReceivingAddress;
return true;
}
// ------------------------------------------------------------------------
// To change token burn address
// ------------------------------------------------------------------------
function changeBurnAddress (address _tokenBurnAddress) public onlyOwner returns (bool) {
require(_tokenBurnAddress != address(0), "Invalid Address");
tokenBurnAddress = _tokenBurnAddress;
return true;
}
// ------------------------------------------------------------------------
// Change ETH to VLT Rates
// ------------------------------------------------------------------------
function changePackRates (uint256 _bronzePack, uint256 _silverPack, uint256 _goldPack, uint256 _platinumPack, uint256 _diamondPack) public onlyOwner returns (bool) {
require(_bronzePack > 0, 'Invalid bronze pack rate');
require(_silverPack > 0, 'Invalid silver pack rate');
require(_goldPack > 0, 'Invalid gold pack rate');
require(_platinumPack > 0, 'Invalid platinum pack rate');
require(_diamondPack > 0, 'Invalid diamond pack rate');
bronzePack = _bronzePack;
silverPack = _silverPack;
goldPack = _goldPack;
platinumPack = _platinumPack;
diamondPack = _diamondPack;
return true;
}
// ------------------------------------------------------------------------
// Change Token to Sec
// ------------------------------------------------------------------------
function changeTokenToTime(uint256 _tokenToTime) public onlyOwner returns (bool) {
tokenToTime = _tokenToTime;
return true;
}
// ------------------------------------------------------------------------
// Change ETH to Token
// ------------------------------------------------------------------------
function changeEthToToken(uint256 _ethToToken) public onlyOwner returns (bool) {
ethToToken = _ethToToken;
return true;
}
// ------------------------------------------------------------------------
// FailSafe function
// ------------------------------------------------------------------------
function failSafe() public onlyOwner {
ownerAddress.transfer(address(this).balance);
}
// ------------------------------------------------------------------------
// Change Authorized address
// ------------------------------------------------------------------------
function changeAuth(address _newowner, bool status) onlyOwner public {
authorized[_newowner] = status;
if(status == true)
allAuthorized.push(_newowner);
}
// ------------------------------------------------------------------------
// Get Authorized address
// ------------------------------------------------------------------------
function getAuth() public view returns(address[] memory) {
return allAuthorized;
}
// ------------------------------------------------------------------------
//Fallback function
// ------------------------------------------------------------------------
function () payable external {
buyTokens();
}
}
Read Contract
allAuthorized 0x56b61aae → address
allowance 0xdd62ed3e → uint256
allowed 0x5c658165 → uint256
authorized 0xb9181611 → bool
balanceOf 0x70a08231 → uint256
balances 0x27e235e3 → uint256
bronzePack 0xe93a3594 → uint256
burnedTokens 0x47b5dd54 → uint256
decimals 0x313ce567 → uint8
diamondPack 0xa35e735d → uint256
ethToToken 0x789770f4 → uint256
getAuth 0x08571011 → address[]
getUserAccessExpiry 0x1329e86e → uint256
goldPack 0x1d988891 → uint256
name 0x06fdde03 → string
ownerAddress 0x8f84aa09 → address
pauseBuy 0xa38eb622 → bool
platinumPack 0x938ba2b2 → uint256
silverPack 0x03f1e220 → uint256
symbol 0x95d89b41 → string
tokenBurnAddress 0x3382ddab → address
tokenReceivingAddress 0x3fc929de → address
tokenToTime 0xb8824383 → uint256
totalSupply 0x18160ddd → uint256
userCount 0x07973ccf → uint256
users 0xa87430ba → bool, uint256, uint256
Write Contract 15 functions
These functions modify contract state and require a wallet transaction to execute.
approve 0x095ea7b3
address _spender
uint256 _value
returns: bool
buyTokens 0xd0febe4c
No parameters
returns: bool
changeAuth 0xf775898d
address _newowner
bool status
changeBurnAddress 0xee3d1706
address _tokenBurnAddress
returns: bool
changeEthToToken 0x69a0bd3a
uint256 _ethToToken
returns: bool
changeOwner 0xa6f9dae1
address _newOwnerAddress
returns: bool
changePackRates 0x65e0c1c2
uint256 _bronzePack
uint256 _silverPack
uint256 _goldPack
uint256 _platinumPack
uint256 _diamondPack
returns: bool
changeTokenRecAdd 0x5ba92f97
address _tokenReceivingAddress
returns: bool
changeTokenToTime 0x0766096e
uint256 _tokenToTime
returns: bool
failSafe 0x0bc6c96e
No parameters
mintTokens 0xf0dda65c
address _receiver
uint256 _amount
returns: bool
startStopBuy 0x069cf298
bool _status
returns: bool
subscribeViaToken 0xa06484be
uint256 _value
returns: bool
transfer 0xa9059cbb
address _to
uint256 _value
returns: bool
transferFrom 0x23b872dd
address _from
address _to
uint256 _value
returns: bool
Recent Transactions
Transaction index is loading. Only unfinalized transactions are shown while the index starts up.