Address Contract Partially Verified
Address
0x7CA5af5bA3472AF6049F63c1AbC324475D44EFC1
Balance
0 ETH
Nonce
1
Code Size
20374 bytes
Creator
0x1e78aBEc...3812 at tx 0x99447e7b...3db041
Indexed Transactions
0
Contract Bytecode
20374 bytes
0x6080604052600436106101db5760003560e01c80638a8c523c11610102578063db86159911610095578063ea414b2811610064578063ea414b2814610690578063eb819948146106b9578063f2fde38b146106e4578063ffb54a991461070d576101e2565b8063db861599146105d4578063dbe66ca0146105ff578063dca2a8b61461063c578063dd62ed3e14610653576101e2565b8063c0246668116100d1578063c02466681461052c578063cc18e05a14610555578063cfc06e0b14610580578063d8c6404b146105a9576101e2565b80638a8c523c1461048457806395d89b411461049b578063a4191178146104c6578063a9059cbb146104ef576101e2565b8063388b4f171161017a5780636e34e91d116101495780636e34e91d146103da57806370a08231146103f157806380781cf91461042e578063893d20e814610459576101e2565b8063388b4f1714610322578063672434821461035f5780636b7f8b90146103885780636d1b229d146103b1576101e2565b806318160ddd116101b657806318160ddd146102785780631c939ee9146102a357806323b872dd146102ba578063313ce567146102f7576101e2565b8062fffc9d146101e757806306fdde0314610210578063095ea7b31461023b576101e2565b366101e257005b600080fd5b3480156101f357600080fd5b5061020e600480360381019061020991906139cd565b610738565b005b34801561021c57600080fd5b50610225610982565b6040516102329190613ac4565b60405180910390f35b34801561024757600080fd5b50610262600480360381019061025d9190613b7a565b6109bf565b60405161026f9190613bd5565b60405180910390f35b34801561028457600080fd5b5061028d610ab1565b60405161029a9190613bff565b60405180910390f35b3480156102af57600080fd5b506102b8610ad5565b005b3480156102c657600080fd5b506102e160048036038101906102dc9190613c1a565b610bb7565b6040516102ee9190613bd5565b60405180910390f35b34801561030357600080fd5b5061030c610dc0565b6040516103199190613c89565b60405180910390f35b34801561032e57600080fd5b5061034960048036038101906103449190613ca4565b610dc9565b6040516103569190613bd5565b60405180910390f35b34801561036b57600080fd5b5061038660048036038101906103819190613d8c565b610de9565b005b34801561039457600080fd5b506103af60048036038101906103aa9190613e39565b611241565b005b3480156103bd57600080fd5b506103d860048036038101906103d39190613e66565b6112ec565b005b3480156103e657600080fd5b506103ef6114a0565b005b3480156103fd57600080fd5b5061041860048036038101906104139190613ca4565b611832565b6040516104259190613bff565b60405180910390f35b34801561043a57600080fd5b5061044361187b565b6040516104509190613c89565b60405180910390f35b34801561046557600080fd5b5061046e61188e565b60405161047b9190613ea2565b60405180910390f35b34801561049057600080fd5b506104996118b7565b005b3480156104a757600080fd5b506104b061194f565b6040516104bd9190613ac4565b60405180910390f35b3480156104d257600080fd5b506104ed60048036038101906104e89190613ee9565b61198c565b005b3480156104fb57600080fd5b5061051660048036038101906105119190613b7a565b611aea565b6040516105239190613bd5565b60405180910390f35b34801561053857600080fd5b50610553600480360381019061054e9190613f29565b611b46565b005b34801561056157600080fd5b5061056a611cfd565b6040516105779190613c89565b60405180910390f35b34801561058c57600080fd5b506105a760048036038101906105a29190613f29565b611d10565b005b3480156105b557600080fd5b506105be611ec6565b6040516105cb9190613bd5565b60405180910390f35b3480156105e057600080fd5b506105e9611ed9565b6040516105f69190613bff565b60405180910390f35b34801561060b57600080fd5b5061062660048036038101906106219190613ca4565b611edf565b6040516106339190613bd5565b60405180910390f35b34801561064857600080fd5b50610651611eff565b005b34801561065f57600080fd5b5061067a60048036038101906106759190613f69565b611fe9565b6040516106879190613bff565b60405180910390f35b34801561069c57600080fd5b506106b760048036038101906106b29190613ca4565b612070565b005b3480156106c557600080fd5b506106ce6121d0565b6040516106db9190613bff565b60405180910390f35b3480156106f057600080fd5b5061070b60048036038101906107069190613fe7565b6121d6565b005b34801561071957600080fd5b506107226122de565b60405161072f9190613bd5565b60405180910390f35b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146107c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107bd90614086565b60405180910390fd5b8263ffffffff168463ffffffff166009600a6107e29190614208565b633b9aca006107f19190614253565b6107fb9190614253565b61080591906142c4565b6005819055508063ffffffff168263ffffffff166009600a6108279190614208565b633b9aca006108369190614253565b6108409190614253565b61084a91906142c4565b6006819055506005546006541015610897576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161088e90614341565b60405180910390fd5b6127106009600a6108a89190614208565b633b9aca006108b79190614253565b6108c191906142c4565b60065411610904576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108fb906143ad565b60405180910390fd5b606460026009600a6109169190614208565b633b9aca006109259190614253565b61092f9190614253565b61093991906142c4565b6006541061097c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097390614419565b60405180910390fd5b50505050565b60606040518060400160405280600681526020017f4b6f6e6475780000000000000000000000000000000000000000000000000000815250905090565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610a9f9190613bff565b60405180910390a36001905092915050565b60006009600a610ac19190614208565b633b9aca00610ad09190614253565b905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5a90614086565b60405180910390fd5b600047905060008111610bab576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba290614485565b60405180910390fd5b610bb4816122f1565b50565b6000610bc161235d565b610c00576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf7906144f1565b60405180910390fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610dac5781600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610d2b9190614511565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610db78484846123e2565b90509392505050565b60006009905090565b60096020528060005260406000206000915054906101000a900460ff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e77576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6e90614086565b60405180910390fd5b60fa848490501115610ebe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb590614591565b60405180910390fd5b818190508484905014610f06576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610efd90614623565b60405180910390fd5b6000805b85859050811015610f67576009600a610f239190614208565b848483818110610f3657610f35614643565b5b90506020020135610f479190614253565b82610f529190614672565b91508080610f5f906146a6565b915050610f0a565b5080600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610fea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe190614760565b60405180910390fd5b60005b858590508110156111fd576009600a6110069190614208565b84848381811061101957611018614643565b5b9050602002013561102a9190614253565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546110789190614511565b925050819055506009600a61108d9190614208565b8484838181106110a05761109f614643565b5b905060200201356110b19190614253565b600160008888858181106110c8576110c7614643565b5b90506020020160208101906110dd9190613ca4565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546111269190614672565b925050819055508585828181106111405761113f614643565b5b90506020020160208101906111559190613ca4565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a6111b19190614208565b8787868181106111c4576111c3614643565b5b905060200201356111d59190614253565b6040516111e29190613bff565b60405180910390a380806111f5906146a6565b915050610fed565b507f71cc7095cc35ed4701c217a8efb440732eb0737da67f6548c008ac26fba954648585905082604051611232929190614780565b60405180910390a15050505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146112cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c690614086565b60405180910390fd5b80600860026101000a81548160ff02191690831515021790555050565b60006112f733611832565b90508082111561133c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611333906147f5565b60405180910390fd5b81600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461138b9190614511565b9250508190555081600160008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546113e19190614672565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516114469190613bff565b60405180910390a33373ffffffffffffffffffffffffffffffffffffffff167ffd38818f5291bf0bb3a2a48aadc06ba8757865d1dabd804585338aab3009dcb6836040516114949190613bff565b60405180910390a25050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461152e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152590614086565b60405180910390fd5b600460009054906101000a900460ff161561157e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157590614861565b60405180910390fd5b61158661277a565b6000479050600081116115ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115c5906148cd565b60405180910390fd5b60006115d930611832565b90506000811161161e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161161590614939565b60405180910390fd5b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561168d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116b1919061496e565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561173a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061175e919061496e565b6040518363ffffffff1660e01b815260040161177b92919061499b565b6020604051808303816000875af115801561179a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117be919061496e565b90506001600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061182182612e83565b61182d8284600061306d565b505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600860009054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611945576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161193c90614086565b60405180910390fd5b61194d61314b565b565b60606040518060400160405280600481526020017f4b4e445800000000000000000000000000000000000000000000000000000000815250905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611a1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1190614086565b60405180910390fd5b600560ff168260ff1611158015611a385750600560ff168160ff1611155b611a77576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a6e90614a10565b60405180910390fd5b81600860006101000a81548160ff021916908360ff16021790555080600860016101000a81548160ff021916908360ff1602179055507f1dcee7b4b427ba2551f752d6f3ff03de326f6a4fca7432dda760ccff555f27f38282604051611ade929190614a30565b60405180910390a15050565b6000611af461235d565b611b33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b2a906144f1565b60405180910390fd5b611b3e3384846123e2565b905092915050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611bd4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bcb90614086565b60405180910390fd5b8015611ca2573073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015611c62575060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b611ca1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c9890614acb565b60405180910390fd5b5b80600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600860019054906101000a900460ff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611d9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d9590614086565b60405180910390fd5b80611e6b573073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015611e2b575060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b611e6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e6190614b37565b60405180910390fd5b5b80600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600860029054906101000a900460ff1681565b60065481565b60036020528060005260406000206000915054906101000a900460ff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611f8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f8490614086565b60405180910390fd5b6000611f9830611832565b905060008111611fdd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fd490614ba3565b60405180910390fd5b611fe6816131f0565b50565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146120fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120f590614086565b60405180910390fd5b80600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507ea263b61aab5ebdcff20c4c0c74c2589ea5ab52149abde19eca17ad52217899816040516121c59190613ea2565b60405180910390a150565b60055481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612264576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161225b90614086565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163816040516122d39190614c22565b60405180910390a150565b600460009054906101000a900460ff1681565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612359573d6000803e3d6000fd5b5050565b60008060009050600460009054906101000a900460ff161561238257600190506123db565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff16036123da57600190505b5b8091505090565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158061244c5750600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b61248b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161248290614c89565b60405180910390fd5b600460009054906101000a900460ff161561253557600860029054906101000a900460ff16156124c0576124bf848461340f565b5b600b60149054906101000a900460ff161580156125265750600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15612534576125336136f4565b5b5b60006125428585856137a5565b9050600081846125529190614511565b905083600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461259f9190614511565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600082111561267a5781600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126369190614672565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b80600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126c59190614672565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040516127659190613bff565b60405180910390a36001925050509392505050565b60006009600a61278a9190614208565b6310ab0f3a6127999190614253565b905080600160008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161287e9190613bff565b60405180910390a360006009600a6128969190614208565b630ee6b2806128a59190614253565b90508060016000731d0a105f0ced39b207ae444957cc70483c04c76773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550731d0a105f0ced39b207ae444957cc70483c04c76773ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516129719190613bff565b60405180910390a360006009600a6129899190614208565b630b99ad476129989190614253565b9050806001600073ac5c6fdd4f32977eec56c48978bae86ce08968e073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073ac5c6fdd4f32977eec56c48978bae86ce08968e073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612a649190613bff565b60405180910390a360006009600a612a7c9190614208565b6308f0d180612a8b9190614253565b905080600160007394bacbccee5c16520ab8545c35e89ece7017a34d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507394bacbccee5c16520ab8545c35e89ece7017a34d73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612b579190613bff565b60405180910390a360006009600a612b6f9190614208565b6302a08fb2612b7e9190614253565b9050806001600073cbe59e5967b80ad18764d49c9184e6249afe2d2873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073cbe59e5967b80ad18764d49c9184e6249afe2d2873ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612c4a9190613bff565b60405180910390a360006009600a612c629190614208565b63017e7bee612c719190614253565b905080600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612d159190613bff565b60405180910390a3600081838587898b612d2f9190614672565b612d399190614672565b612d439190614672565b612d4d9190614672565b612d579190614672565b6009600a612d659190614208565b633b9aca00612d749190614253565b612d7e9190614511565b905080600160008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612e239190613bff565b60405180910390a3600073ffffffffffffffffffffffffffffffffffffffff167ffd38818f5291bf0bb3a2a48aadc06ba8757865d1dabd804585338aab3009dcb682604051612e729190613bff565b60405180910390a250505050505050565b80600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561306a577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9257fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040516130619190613bff565b60405180910390a35b50565b6000816130985760008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71984308760008087426040518863ffffffff1660e01b81526004016130ff96959493929190614ce4565b60606040518083038185885af115801561311d573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906131429190614d5a565b50505050505050565b600460009054906101000a900460ff161561319b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161319290614861565b60405180910390fd5b6003600860006101000a81548160ff021916908360ff1602179055506003600860016101000a81548160ff021916908360ff1602179055506001600460006101000a81548160ff021916908315150217905550565b6131f981612e83565b6000600267ffffffffffffffff81111561321657613215614dad565b5b6040519080825280602002602001820160405280156132445781602001602082028036833780820191505090505b509050308160008151811061325c5761325b614643565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015613303573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613327919061496e565b8160018151811061333b5761333a614643565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016133d9959493929190614e9a565b600060405180830381600087803b1580156133f357600080fd5b505af1158015613407573d6000803e3d6000fd5b505050505050565b600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156134b25750600960008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156135815743600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410613538576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161352f90614f40565b60405180910390fd5b43600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506136f0565b600760008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156136245750600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156136ef5743600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054106136aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016136a190614f40565b60405180910390fd5b43600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b5050565b6001600b60146101000a81548160ff021916908315150217905550600061371a30611832565b9050600554811015801561373a5750600460009054906101000a900460ff165b1561378757600654811061374e5760065490505b6009600a61375c9190614208565b8111156137865761376c816131f0565b6000479050600081111561378457613783816122f1565b5b505b5b506000600b60146101000a81548160ff021916908315150217905550565b600080600460009054906101000a900460ff16158061380d5750600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806138615750600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561386f576000905061397c565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156138f2576064600860009054906101000a900460ff1660ff16846138e19190614253565b6138eb91906142c4565b905061397b565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615613975576064600860019054906101000a900460ff1660ff16846139649190614253565b61396e91906142c4565b905061397a565b600090505b5b5b809150509392505050565b600080fd5b600080fd5b600063ffffffff82169050919050565b6139aa81613991565b81146139b557600080fd5b50565b6000813590506139c7816139a1565b92915050565b600080600080608085870312156139e7576139e6613987565b5b60006139f5878288016139b8565b9450506020613a06878288016139b8565b9350506040613a17878288016139b8565b9250506060613a28878288016139b8565b91505092959194509250565b600081519050919050565b600082825260208201905092915050565b60005b83811015613a6e578082015181840152602081019050613a53565b60008484015250505050565b6000601f19601f8301169050919050565b6000613a9682613a34565b613aa08185613a3f565b9350613ab0818560208601613a50565b613ab981613a7a565b840191505092915050565b60006020820190508181036000830152613ade8184613a8b565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613b1182613ae6565b9050919050565b613b2181613b06565b8114613b2c57600080fd5b50565b600081359050613b3e81613b18565b92915050565b6000819050919050565b613b5781613b44565b8114613b6257600080fd5b50565b600081359050613b7481613b4e565b92915050565b60008060408385031215613b9157613b90613987565b5b6000613b9f85828601613b2f565b9250506020613bb085828601613b65565b9150509250929050565b60008115159050919050565b613bcf81613bba565b82525050565b6000602082019050613bea6000830184613bc6565b92915050565b613bf981613b44565b82525050565b6000602082019050613c146000830184613bf0565b92915050565b600080600060608486031215613c3357613c32613987565b5b6000613c4186828701613b2f565b9350506020613c5286828701613b2f565b9250506040613c6386828701613b65565b9150509250925092565b600060ff82169050919050565b613c8381613c6d565b82525050565b6000602082019050613c9e6000830184613c7a565b92915050565b600060208284031215613cba57613cb9613987565b5b6000613cc884828501613b2f565b91505092915050565b600080fd5b600080fd5b600080fd5b60008083601f840112613cf657613cf5613cd1565b5b8235905067ffffffffffffffff811115613d1357613d12613cd6565b5b602083019150836020820283011115613d2f57613d2e613cdb565b5b9250929050565b60008083601f840112613d4c57613d4b613cd1565b5b8235905067ffffffffffffffff811115613d6957613d68613cd6565b5b602083019150836020820283011115613d8557613d84613cdb565b5b9250929050565b60008060008060408587031215613da657613da5613987565b5b600085013567ffffffffffffffff811115613dc457613dc361398c565b5b613dd087828801613ce0565b9450945050602085013567ffffffffffffffff811115613df357613df261398c565b5b613dff87828801613d36565b925092505092959194509250565b613e1681613bba565b8114613e2157600080fd5b50565b600081359050613e3381613e0d565b92915050565b600060208284031215613e4f57613e4e613987565b5b6000613e5d84828501613e24565b91505092915050565b600060208284031215613e7c57613e7b613987565b5b6000613e8a84828501613b65565b91505092915050565b613e9c81613b06565b82525050565b6000602082019050613eb76000830184613e93565b92915050565b613ec681613c6d565b8114613ed157600080fd5b50565b600081359050613ee381613ebd565b92915050565b60008060408385031215613f0057613eff613987565b5b6000613f0e85828601613ed4565b9250506020613f1f85828601613ed4565b9150509250929050565b60008060408385031215613f4057613f3f613987565b5b6000613f4e85828601613b2f565b9250506020613f5f85828601613e24565b9150509250929050565b60008060408385031215613f8057613f7f613987565b5b6000613f8e85828601613b2f565b9250506020613f9f85828601613b2f565b9150509250929050565b6000613fb482613ae6565b9050919050565b613fc481613fa9565b8114613fcf57600080fd5b50565b600081359050613fe181613fbb565b92915050565b600060208284031215613ffd57613ffc613987565b5b600061400b84828501613fd2565b91505092915050565b7f4f6e6c7920636f6e7472616374206f776e65722063616e2063616c6c2074686960008201527f732066756e6374696f6e00000000000000000000000000000000000000000000602082015250565b6000614070602a83613a3f565b915061407b82614014565b604082019050919050565b6000602082019050818103600083015261409f81614063565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111561412c57808604811115614108576141076140a6565b5b60018516156141175780820291505b8081029050614125856140d5565b94506140ec565b94509492505050565b6000826141455760019050614201565b816141535760009050614201565b81600181146141695760028114614173576141a2565b6001915050614201565b60ff841115614185576141846140a6565b5b8360020a91508482111561419c5761419b6140a6565b5b50614201565b5060208310610133831016604e8410600b84101617156141d75782820a9050838111156141d2576141d16140a6565b5b614201565b6141e484848460016140e2565b925090508184048111156141fb576141fa6140a6565b5b81810290505b9392505050565b600061421382613b44565b915061421e83613c6d565b925061424b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484614135565b905092915050565b600061425e82613b44565b915061426983613b44565b925082820261427781613b44565b9150828204841483151761428e5761428d6140a6565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006142cf82613b44565b91506142da83613b44565b9250826142ea576142e9614295565b5b828204905092915050565b7f4d696e4d6178206572726f720000000000000000000000000000000000000000600082015250565b600061432b600c83613a3f565b9150614336826142f5565b602082019050919050565b6000602082019050818103600083015261435a8161431e565b9050919050565b7f5570706572207468726573686f6c6420746f6f206c6f77000000000000000000600082015250565b6000614397601783613a3f565b91506143a282614361565b602082019050919050565b600060208201905081810360008301526143c68161438a565b9050919050565b7f5570706572207468726573686f6c6420746f6f20686967680000000000000000600082015250565b6000614403601883613a3f565b915061440e826143cd565b602082019050919050565b60006020820190508181036000830152614432816143f6565b9050919050565b7f4e6f2045544820696e20636f6e747261637420746f2064697374726962757465600082015250565b600061446f602083613a3f565b915061447a82614439565b602082019050919050565b6000602082019050818103600083015261449e81614462565b9050919050565b7f54726164696e67206e6f74206f70656e00000000000000000000000000000000600082015250565b60006144db601083613a3f565b91506144e6826144a5565b602082019050919050565b6000602082019050818103600083015261450a816144ce565b9050919050565b600061451c82613b44565b915061452783613b44565b925082820390508181111561453f5761453e6140a6565b5b92915050565b7f57616c6c657420636f756e74206f766572203235302028676173207269736b29600082015250565b600061457b602083613a3f565b915061458682614545565b602082019050919050565b600060208201905081810360008301526145aa8161456e565b9050919050565b7f4164647265737320616e6420746f6b656e20616d6f756e74206c697374206d6960008201527f736d616368000000000000000000000000000000000000000000000000000000602082015250565b600061460d602583613a3f565b9150614618826145b1565b604082019050919050565b6000602082019050818103600083015261463c81614600565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061467d82613b44565b915061468883613b44565b92508282019050808211156146a05761469f6140a6565b5b92915050565b60006146b182613b44565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036146e3576146e26140a6565b5b600182019050919050565b7f546f6b656e2062616c616e6365206c6f776572207468616e2061697264726f7060008201527f20746f74616c0000000000000000000000000000000000000000000000000000602082015250565b600061474a602683613a3f565b9150614755826146ee565b604082019050919050565b600060208201905081810360008301526147798161473d565b9050919050565b60006040820190506147956000830185613bf0565b6147a26020830184613bf0565b9392505050565b7f546f6b656e2062616c616e636520746f6f206c6f770000000000000000000000600082015250565b60006147df601583613a3f565b91506147ea826147a9565b602082019050919050565b6000602082019050818103600083015261480e816147d2565b9050919050565b7f74726164696e6720616c7265616479206f70656e000000000000000000000000600082015250565b600061484b601483613a3f565b915061485682614815565b602082019050919050565b6000602082019050818103600083015261487a8161483e565b9050919050565b7f6e6f2065746820696e20636f6e74726163740000000000000000000000000000600082015250565b60006148b7601283613a3f565b91506148c282614881565b602082019050919050565b600060208201905081810360008301526148e6816148aa565b9050919050565b7f6e6f20746f6b656e730000000000000000000000000000000000000000000000600082015250565b6000614923600983613a3f565b915061492e826148ed565b602082019050919050565b6000602082019050818103600083015261495281614916565b9050919050565b60008151905061496881613b18565b92915050565b60006020828403121561498457614983613987565b5b600061499284828501614959565b91505092915050565b60006040820190506149b06000830185613e93565b6149bd6020830184613e93565b9392505050565b7f54617820746f6f20686967680000000000000000000000000000000000000000600082015250565b60006149fa600c83613a3f565b9150614a05826149c4565b602082019050919050565b60006020820190508181036000830152614a29816149ed565b9050919050565b6000604082019050614a456000830185613c7a565b614a526020830184613c7a565b9392505050565b7f43616e6e6f7420656e666f726365206665657320666f7220746869732061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000614ab5602483613a3f565b9150614ac082614a59565b604082019050919050565b60006020820190508181036000830152614ae481614aa8565b9050919050565b7f546869732061646472657373206d757374206265206578636c75646564000000600082015250565b6000614b21601d83613a3f565b9150614b2c82614aeb565b602082019050919050565b60006020820190508181036000830152614b5081614b14565b9050919050565b7f4e6f20746f6b656e730000000000000000000000000000000000000000000000600082015250565b6000614b8d600983613a3f565b9150614b9882614b57565b602082019050919050565b60006020820190508181036000830152614bbc81614b80565b9050919050565b6000819050919050565b6000614be8614be3614bde84613ae6565b614bc3565b613ae6565b9050919050565b6000614bfa82614bcd565b9050919050565b6000614c0c82614bef565b9050919050565b614c1c81614c01565b82525050565b6000602082019050614c376000830184614c13565b92915050565b7f5a65726f2077616c6c65742063616e6e6f7420646f207472616e73666572732e600082015250565b6000614c73602083613a3f565b9150614c7e82614c3d565b602082019050919050565b60006020820190508181036000830152614ca281614c66565b9050919050565b6000819050919050565b6000614cce614cc9614cc484614ca9565b614bc3565b613b44565b9050919050565b614cde81614cb3565b82525050565b600060c082019050614cf96000830189613e93565b614d066020830188613bf0565b614d136040830187614cd5565b614d206060830186614cd5565b614d2d6080830185613e93565b614d3a60a0830184613bf0565b979650505050505050565b600081519050614d5481613b4e565b92915050565b600080600060608486031215614d7357614d72613987565b5b6000614d8186828701614d45565b9350506020614d9286828701614d45565b9250506040614da386828701614d45565b9150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b614e1181613b06565b82525050565b6000614e238383614e08565b60208301905092915050565b6000602082019050919050565b6000614e4782614ddc565b614e518185614de7565b9350614e5c83614df8565b8060005b83811015614e8d578151614e748882614e17565b9750614e7f83614e2f565b925050600181019050614e60565b5085935050505092915050565b600060a082019050614eaf6000830188613bf0565b614ebc6020830187614cd5565b8181036040830152614ece8186614e3c565b9050614edd6060830185613e93565b614eea6080830184613bf0565b9695505050505050565b7f416e7469426f7420747269676765726564000000000000000000000000000000600082015250565b6000614f2a601183613a3f565b9150614f3582614ef4565b602082019050919050565b60006020820190508181036000830152614f5981614f1d565b905091905056fea26469706673582212203c3c8ffef7bd793bc00d1ada03364ff0ae5767f5f188f62119edfe669d71d2c164736f6c63430008110033
Verified Source Code Partial Match
Compiler: v0.8.17+commit.8df45f5f
EVM: london
Optimization: No
KNDX.sol 334 lines
//SPDX-License-Identifier: MIT
pragma solidity 0.8.17;
interface IERC20 {
function totalSupply() external view returns (uint256);
function decimals() external view returns (uint8);
function symbol() external view returns (string memory);
function name() external view returns (string memory);
function getOwner() external view returns (address);
function balanceOf(address account) external view returns (uint256);
function transfer(address recipient, uint256 amount) external returns (bool);
function allowance(address _owner, address spender) external view returns (uint256);
function approve(address spender, uint256 amount) external returns (bool);
function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed owner, address indexed spender, uint256 value);
}
abstract contract Auth {
address internal owner;
constructor(address _owner) { owner = _owner; }
modifier onlyOwner() { require(msg.sender == owner, "Only contract owner can call this function"); _; }
function transferOwnership(address payable newOwner) external onlyOwner { owner = newOwner; emit OwnershipTransferred(newOwner); }
event OwnershipTransferred(address owner);
}
interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); }
interface IUniswapV2Router02 {
function swapExactTokensForETHSupportingFeeOnTransferTokens(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external;
function WETH() external pure returns (address);
function factory() external pure returns (address);
function addLiquidityETH(address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}
contract KNDX is IERC20, Auth {
string constant _name = "Kondux";
string constant _symbol = "KNDX";
uint8 constant _decimals = 9;
uint256 constant _totalSupply = 1_000_000_000 * 10**_decimals;
mapping (address => uint256) _balances;
mapping (address => mapping (address => uint256)) _allowances;
mapping (address => bool) public excludedFromFees;
bool public tradingOpen;
uint256 public taxSwapMin; uint256 public taxSwapMax;
mapping (address => bool) private _isLiqPool;
uint8 constant _maxTaxRate = 5;
uint8 public taxRateBuy; uint8 public taxRateSell;
bool public antiBotEnabled;
mapping (address => bool) public excludedFromAntiBot;
mapping (address => uint256) private _lastSwapBlock;
address payable private taxWallet = payable(0x79BD02b5936FFdC5915cB7Cd58156E3169F4F569);
bool private _inTaxSwap = false;
address private constant _uniswapV2RouterAddress = address(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
IUniswapV2Router02 private _uniswapV2Router;
modifier lockTaxSwap { _inTaxSwap = true; _; _inTaxSwap = false; }
event TokensAirdropped(uint256 totalWallets, uint256 totalTokens);
event TokensBurned(address indexed burnedByWallet, uint256 tokenAmount);
event TaxWalletChanged(address newTaxWallet);
event TaxRateChanged(uint8 newBuyTax, uint8 newSellTax);
constructor () Auth(msg.sender) {
taxSwapMin = _totalSupply * 10 / 10000;
taxSwapMax = _totalSupply * 50 / 10000;
_uniswapV2Router = IUniswapV2Router02(_uniswapV2RouterAddress);
excludedFromFees[_uniswapV2RouterAddress] = true;
excludedFromAntiBot[owner] = true;
excludedFromAntiBot[address(this)] = true;
excludedFromFees[owner] = true;
excludedFromFees[address(this)] = true;
excludedFromFees[taxWallet] = true;
}
receive() external payable {}
function totalSupply() external pure override returns (uint256) { return _totalSupply; }
function decimals() external pure override returns (uint8) { return _decimals; }
function symbol() external pure override returns (string memory) { return _symbol; }
function name() external pure override returns (string memory) { return _name; }
function getOwner() external view override returns (address) { return owner; }
function balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }
function approve(address spender, uint256 amount) public override returns (bool) {
_allowances[msg.sender][spender] = amount;
emit Approval(msg.sender, spender, amount);
return true;
}
function transfer(address recipient, uint256 amount) external override returns (bool) {
require(_checkTradingOpen(), "Trading not open");
return _transferFrom(msg.sender, recipient, amount);
}
function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
require(_checkTradingOpen(), "Trading not open");
if (_allowances[sender][msg.sender] != type(uint256).max){
_allowances[sender][msg.sender] = _allowances[sender][msg.sender] - amount;
}
return _transferFrom(sender, recipient, amount);
}
function _distributeInitialBalances() internal {
//holder airdrops 27.965%, 1556 wallets
uint256 airdropTokensAmount = 279_646_010 * 10**_decimals;
_balances[owner] = airdropTokensAmount;
emit Transfer(address(0), owner, airdropTokensAmount );
// Treasury 25%: 0x1D0A105F0cED39b207AE444957cc70483c04C767
uint256 treasuryAmount = 250_000_000 * 10**_decimals;
_balances[address(0x1D0A105F0cED39b207AE444957cc70483c04C767)] = treasuryAmount;
emit Transfer(address(0), address(0x1D0A105F0cED39b207AE444957cc70483c04C767), treasuryAmount );
// Dev Fund 19.462% : 0xac5c6FDd4F32977eec56C48978bAe86CE08968e0
uint256 devFundAmount = 194_620_743 * 10**_decimals;
_balances[address(0xac5c6FDd4F32977eec56C48978bAe86CE08968e0)] = devFundAmount;
emit Transfer(address(0), address(0xac5c6FDd4F32977eec56C48978bAe86CE08968e0), devFundAmount );
// Rewards pool 15%: 0x94baCbCceE5c16520Ab8545c35e89eCE7017a34D
uint256 rewardsPoolAmount = 150_000_000 * 10**_decimals;
_balances[address(0x94baCbCceE5c16520Ab8545c35e89eCE7017a34D)] = rewardsPoolAmount;
emit Transfer(address(0), address(0x94baCbCceE5c16520Ab8545c35e89eCE7017a34D), rewardsPoolAmount );
// Marketing 44076978.428271124 : 0xCbE59E5967B80Ad18764d49c9184E6249aFe2D28
uint256 marketingAmount = 44_076_978 * 10**_decimals;
_balances[address(0xCbE59E5967B80Ad18764d49c9184E6249aFe2D28)] = marketingAmount;
emit Transfer(address(0), address(0xCbE59E5967B80Ad18764d49c9184E6249aFe2D28), marketingAmount );
//liquidity pool is 2.507%
uint256 liquidityPoolAmount = 25_066_478 * 10**_decimals;
_balances[address(this)] = liquidityPoolAmount;
emit Transfer(address(0), address(this), liquidityPoolAmount );
// Burn amount (diff between total supply and the above, ~ 5.659%
uint256 burnAmount = _totalSupply - (airdropTokensAmount+treasuryAmount+devFundAmount+rewardsPoolAmount+marketingAmount+liquidityPoolAmount);
_balances[address(0)] = burnAmount;
emit Transfer(address(0), address(0), burnAmount );
emit TokensBurned(address(0), burnAmount);
}
function initLP() external onlyOwner {
require(!tradingOpen, "trading already open");
_distributeInitialBalances();
uint256 _contractETHBalance = address(this).balance;
require(_contractETHBalance > 0, "no eth in contract");
uint256 _contractTokenBalance = balanceOf(address(this));
require(_contractTokenBalance > 0, "no tokens");
address _uniLpAddr = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
_isLiqPool[_uniLpAddr] = true;
_approveRouter(_contractTokenBalance);
_addLiquidity(_contractTokenBalance, _contractETHBalance, false);
// _openTrading(); //trading will be open manually through enableTrading() function
}
function _approveRouter(uint256 _tokenAmount) internal {
if ( _allowances[address(this)][_uniswapV2RouterAddress] < _tokenAmount ) {
_allowances[address(this)][_uniswapV2RouterAddress] = type(uint256).max;
emit Approval(address(this), _uniswapV2RouterAddress, type(uint256).max);
}
}
function _addLiquidity(uint256 _tokenAmount, uint256 _ethAmountWei, bool autoburn) internal {
address lpTokenRecipient = address(0);
if ( !autoburn ) { lpTokenRecipient = owner; }
_uniswapV2Router.addLiquidityETH{value: _ethAmountWei} ( address(this), _tokenAmount, 0, 0, lpTokenRecipient, block.timestamp );
}
function enableTrading() external onlyOwner {
_openTrading();
}
function _openTrading() internal {
require(!tradingOpen, "trading already open");
taxRateBuy = 3;
taxRateSell = 3;
tradingOpen = true;
}
function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
require(sender != address(0) || recipient != address(0), "Zero wallet cannot do transfers.");
if ( tradingOpen ) {
if ( antiBotEnabled ) { checkAntiBot(sender, recipient); }
if ( !_inTaxSwap && _isLiqPool[recipient] ) { _swapTaxAndDistributeEth(); }
}
uint256 _taxAmount = _calculateTax(sender, recipient, amount);
uint256 _transferAmount = amount - _taxAmount;
_balances[sender] = _balances[sender] - amount;
if ( _taxAmount > 0 ) { _balances[address(this)] = _balances[address(this)] + _taxAmount; }
_balances[recipient] = _balances[recipient] + _transferAmount;
emit Transfer(sender, recipient, amount);
return true;
}
function _checkTradingOpen() private view returns (bool){
bool checkResult = false;
if ( tradingOpen ) { checkResult = true; }
else if ( tx.origin == owner ) { checkResult = true; }
return checkResult;
}
function _calculateTax(address sender, address recipient, uint256 amount) internal view returns (uint256) {
uint256 taxAmount;
if ( !tradingOpen || excludedFromFees[sender] || excludedFromFees[recipient] ) { taxAmount = 0; }
else if ( _isLiqPool[sender] ) { taxAmount = amount * taxRateBuy / 100; }
else if ( _isLiqPool[recipient] ) { taxAmount = amount * taxRateSell / 100; }
else { taxAmount = 0; }
return taxAmount;
}
function burnTokens(uint256 amount) external {
//burns tokens from the msg.sender's wallet
uint256 _tokensAvailable = balanceOf(msg.sender);
require(amount <= _tokensAvailable, "Token balance too low");
_balances[msg.sender] -= amount;
_balances[address(0)] += amount;
emit Transfer(msg.sender,address(0), amount);
emit TokensBurned(msg.sender, amount);
}
function checkAntiBot(address sender, address recipient) internal {
if ( _isLiqPool[sender] && !excludedFromAntiBot[recipient] ) { //buy transactions
require(_lastSwapBlock[recipient] < block.number, "AntiBot triggered");
_lastSwapBlock[recipient] = block.number;
} else if ( _isLiqPool[recipient] && !excludedFromAntiBot[sender] ) { //sell transactions
require(_lastSwapBlock[sender] < block.number, "AntiBot triggered");
_lastSwapBlock[sender] = block.number;
}
}
function enableAntiBot(bool isEnabled) external onlyOwner {
antiBotEnabled = isEnabled;
}
function excludeFromAntiBot(address wallet, bool isExcluded) external onlyOwner {
if (!isExcluded) { require(wallet != address(this) && wallet != owner, "This address must be excluded" ); }
excludedFromAntiBot[wallet] = isExcluded;
}
function excludeFromFees(address wallet, bool isExcluded) external onlyOwner {
if (isExcluded) { require(wallet != address(this) && wallet != owner, "Cannot enforce fees for this address"); }
excludedFromFees[wallet] = isExcluded;
}
function adjustTaxRate(uint8 newBuyTax, uint8 newSellTax) external onlyOwner {
require(newBuyTax <= _maxTaxRate && newSellTax <= _maxTaxRate, "Tax too high");
//set new tax rate percentage - cannot be higher than the default rate 5%
taxRateBuy = newBuyTax;
taxRateSell = newSellTax;
emit TaxRateChanged(newBuyTax, newSellTax);
}
function setTaxWallet(address newTaxWallet) external onlyOwner {
taxWallet = payable(newTaxWallet);
excludedFromFees[newTaxWallet] = true;
emit TaxWalletChanged(newTaxWallet);
}
function taxSwapSettings(uint32 minValue, uint32 minDivider, uint32 maxValue, uint32 maxDivider) external onlyOwner {
taxSwapMin = _totalSupply * minValue / minDivider;
taxSwapMax = _totalSupply * maxValue / maxDivider;
require(taxSwapMax>=taxSwapMin, "MinMax error");
require(taxSwapMax>_totalSupply / 10000, "Upper threshold too low");
require(taxSwapMax<_totalSupply * 2 / 100, "Upper threshold too high");
}
function _swapTaxAndDistributeEth() private lockTaxSwap {
uint256 _taxTokensAvailable = balanceOf(address(this));
if ( _taxTokensAvailable >= taxSwapMin && tradingOpen ) {
if ( _taxTokensAvailable >= taxSwapMax ) { _taxTokensAvailable = taxSwapMax; }
if ( _taxTokensAvailable > 10**_decimals) {
_swapTaxTokensForEth(_taxTokensAvailable);
uint256 _contractETHBalance = address(this).balance;
if (_contractETHBalance > 0) { _distributeTaxEth(_contractETHBalance); }
}
}
}
function _swapTaxTokensForEth(uint256 _tokenAmount) private {
_approveRouter(_tokenAmount);
address[] memory path = new address[](2);
path[0] = address(this);
path[1] = _uniswapV2Router.WETH();
_uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(_tokenAmount,0,path,address(this),block.timestamp);
}
function _distributeTaxEth(uint256 _amount) private {
taxWallet.transfer(_amount);
}
function taxTokensSwap() external onlyOwner {
uint256 taxTokenBalance = balanceOf(address(this));
require(taxTokenBalance > 0, "No tokens");
_swapTaxTokensForEth(taxTokenBalance);
}
function taxEthSend() external onlyOwner {
uint256 _contractEthBalance = address(this).balance;
require(_contractEthBalance > 0, "No ETH in contract to distribute");
_distributeTaxEth(_contractEthBalance);
}
function airdrop(address[] calldata addresses, uint256[] calldata tokenAmounts) external onlyOwner {
require(addresses.length <= 250,"Wallet count over 250 (gas risk)");
require(addresses.length == tokenAmounts.length,"Address and token amount list mismach");
uint256 airdropTotal = 0;
for(uint i=0; i < addresses.length; i++){
airdropTotal += (tokenAmounts[i] * 10**_decimals);
}
require(_balances[msg.sender] >= airdropTotal, "Token balance lower than airdrop total");
for(uint i=0; i < addresses.length; i++){
_balances[msg.sender] -= (tokenAmounts[i] * 10**_decimals);
_balances[addresses[i]] += (tokenAmounts[i] * 10**_decimals);
emit Transfer(msg.sender, addresses[i], (tokenAmounts[i] * 10**_decimals) );
}
emit TokensAirdropped(addresses.length, airdropTotal);
}
}
Read Contract
allowance 0xdd62ed3e → uint256
antiBotEnabled 0xd8c6404b → bool
balanceOf 0x70a08231 → uint256
decimals 0x313ce567 → uint8
excludedFromAntiBot 0x388b4f17 → bool
excludedFromFees 0xdbe66ca0 → bool
getOwner 0x893d20e8 → address
name 0x06fdde03 → string
symbol 0x95d89b41 → string
taxRateBuy 0x80781cf9 → uint8
taxRateSell 0xcc18e05a → uint8
taxSwapMax 0xdb861599 → uint256
taxSwapMin 0xeb819948 → uint256
totalSupply 0x18160ddd → uint256
tradingOpen 0xffb54a99 → bool
Write Contract 16 functions
These functions modify contract state and require a wallet transaction to execute.
adjustTaxRate 0xa4191178
uint8 newBuyTax
uint8 newSellTax
airdrop 0x67243482
address[] addresses
uint256[] tokenAmounts
approve 0x095ea7b3
address spender
uint256 amount
returns: bool
burnTokens 0x6d1b229d
uint256 amount
enableAntiBot 0x6b7f8b90
bool isEnabled
enableTrading 0x8a8c523c
No parameters
excludeFromAntiBot 0xcfc06e0b
address wallet
bool isExcluded
excludeFromFees 0xc0246668
address wallet
bool isExcluded
initLP 0x6e34e91d
No parameters
setTaxWallet 0xea414b28
address newTaxWallet
taxEthSend 0x1c939ee9
No parameters
taxSwapSettings 0x00fffc9d
uint32 minValue
uint32 minDivider
uint32 maxValue
uint32 maxDivider
taxTokensSwap 0xdca2a8b6
No parameters
transfer 0xa9059cbb
address recipient
uint256 amount
returns: bool
transferFrom 0x23b872dd
address sender
address recipient
uint256 amount
returns: bool
transferOwnership 0xf2fde38b
address newOwner
Token Balances (2)
View Transfers →Recent Transactions
No transactions found for this address