Forkchoice Ethereum Mainnet

Address Contract Partially Verified

Address 0x64d0dbF6b2E613FC290b44C77F963eD268c4F254
Balance 0 ETH
Nonce 1
Code Size 18084 bytes
Indexed Transactions 0
External Etherscan · Sourcify

Contract Bytecode

18084 bytes
0x60806040526004361061021e5760003560e01c806370a082311161012357806395d89b41116100ab578063dd62ed3e1161006f578063dd62ed3e146107a4578063e0f9f6a0146107e1578063ea1644d51461080a578063f2fde38b14610833578063fe72c3c11461085c57610225565b806395d89b41146106c15780639ec350ed146106ec5780639f13157114610715578063a9059cbb1461073e578063c55284901461077b57610225565b80637d1db4a5116100f25780637d1db4a5146105ee578063881dce60146106195780638da5cb5b146106425780638f70ccf71461066d5780638f9a55c01461069657610225565b806370a0823114610546578063715018a61461058357806374010ece1461059a578063790ca413146105c357610225565b806333251a0b116101a65780634bf2c7c9116101755780634bf2c7c9146104895780635d098b38146104b25780636b9cf534146104db5780636d8aa8f8146105065780636fc3eaec1461052f57610225565b806333251a0b146103e357806338eea22d1461040c5780633e3e95981461043557806349bd5a5e1461045e57610225565b806318160ddd116101ed57806318160ddd146102fa57806323b872dd1461032557806327c8f835146103625780632fd689e31461038d578063313ce567146103b857610225565b806306fdde031461022a578063095ea7b3146102555780630f3a325f146102925780631694505e146102cf57610225565b3661022557005b600080fd5b34801561023657600080fd5b5061023f610887565b60405161024c9190613bee565b60405180910390f35b34801561026157600080fd5b5061027c60048036038101906102779190613758565b6108c4565b6040516102899190613bb8565b60405180910390f35b34801561029e57600080fd5b506102b960048036038101906102b4919061366b565b6108e2565b6040516102c69190613bb8565b60405180910390f35b3480156102db57600080fd5b506102e4610938565b6040516102f19190613bd3565b60405180910390f35b34801561030657600080fd5b5061030f61095e565b60405161031c9190613e30565b60405180910390f35b34801561033157600080fd5b5061034c60048036038101906103479190613705565b61096b565b6040516103599190613bb8565b60405180910390f35b34801561036e57600080fd5b50610377610a44565b6040516103849190613b9d565b60405180910390f35b34801561039957600080fd5b506103a2610a4a565b6040516103af9190613e30565b60405180910390f35b3480156103c457600080fd5b506103cd610a50565b6040516103da9190613ea5565b60405180910390f35b3480156103ef57600080fd5b5061040a6004803603810190610405919061366b565b610a59565b005b34801561041857600080fd5b50610433600480360381019061042e91906137f2565b610b9c565b005b34801561044157600080fd5b5061045c6004803603810190610457919061366b565b610c79565b005b34801561046a57600080fd5b50610473610d69565b6040516104809190613b9d565b60405180910390f35b34801561049557600080fd5b506104b060048036038101906104ab91906137c5565b610d8f565b005b3480156104be57600080fd5b506104d960048036038101906104d4919061366b565b610e49565b005b3480156104e757600080fd5b506104f0610f68565b6040516104fd9190613e30565b60405180910390f35b34801561051257600080fd5b5061052d60048036038101906105289190613798565b610f6e565b005b34801561053b57600080fd5b50610544611020565b005b34801561055257600080fd5b5061056d6004803603810190610568919061366b565b611092565b60405161057a9190613e30565b60405180910390f35b34801561058f57600080fd5b506105986110e3565b005b3480156105a657600080fd5b506105c160048036038101906105bc91906137c5565b611236565b005b3480156105cf57600080fd5b506105d861131f565b6040516105e59190613e30565b60405180910390f35b3480156105fa57600080fd5b50610603611325565b6040516106109190613e30565b60405180910390f35b34801561062557600080fd5b50610640600480360381019061063b91906137c5565b61132b565b005b34801561064e57600080fd5b506106576113ef565b6040516106649190613b9d565b60405180910390f35b34801561067957600080fd5b50610694600480360381019061068f9190613798565b611418565b005b3480156106a257600080fd5b506106ab6114d1565b6040516106b89190613e30565b60405180910390f35b3480156106cd57600080fd5b506106d66114d7565b6040516106e39190613bee565b60405180910390f35b3480156106f857600080fd5b50610713600480360381019061070e91906137f2565b611514565b005b34801561072157600080fd5b5061073c60048036038101906107379190613798565b6115f1565b005b34801561074a57600080fd5b5061076560048036038101906107609190613758565b6116a3565b6040516107729190613bb8565b60405180910390f35b34801561078757600080fd5b506107a2600480360381019061079d91906137f2565b6116c1565b005b3480156107b057600080fd5b506107cb60048036038101906107c691906136c5565b61179e565b6040516107d89190613e30565b60405180910390f35b3480156107ed57600080fd5b50610808600480360381019061080391906137c5565b611825565b005b34801561081657600080fd5b50610831600480360381019061082c91906137c5565b6118ec565b005b34801561083f57600080fd5b5061085a6004803603810190610855919061366b565b61199a565b005b34801561086857600080fd5b50610871611b5c565b60405161087e9190613e30565b60405180910390f35b60606040518060400160405280600781526020017f6e455448696e6700000000000000000000000000000000000000000000000000815250905090565b60006108d86108d1611b62565b8484611b6a565b6001905092915050565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600064e8d4a51000905090565b6000610978848484611d35565b610a3984610984611b62565b610a348560405180606001604052806028815260200161464760289139600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006109ea611b62565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612afb9092919063ffffffff16565b611b6a565b600190509392505050565b61dead81565b601d5481565b60006009905090565b610a61611b62565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610aee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae590613d50565b60405180910390fd5b600960008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610b99576000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b50565b610ba4611b62565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c31576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2890613d50565b60405180910390fd5b60008210158015610c43575060018211155b610c4c57600080fd5b60008110158015610c5e575060018111155b610c6757600080fd5b81600d8190555080600f819055505050565b610c81611b62565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d0e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0590613d50565b60405180910390fd5b6001600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610d97611b62565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1b90613d50565b60405180910390fd5b60008110158015610e36575060018111155b610e3f57600080fd5b8060138190555050565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610e8a611b62565b73ffffffffffffffffffffffffffffffffffffffff1614610eaa57600080fd5b80601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160066000601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b601e5481565b610f76611b62565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611003576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ffa90613d50565b60405180910390fd5b80601a60166101000a81548160ff02191690831515021790555050565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611061611b62565b73ffffffffffffffffffffffffffffffffffffffff161461108157600080fd5b600047905061108f81612b5f565b50565b60006110dc600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bcb565b9050919050565b6110eb611b62565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611178576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116f90613d50565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61123e611b62565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c290613d50565b60405180910390fd5b6611c37937e08000811015611315576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130c90613d10565b60405180910390fd5b80601b8190555050565b600a5481565b601b5481565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661136c611b62565b73ffffffffffffffffffffffffffffffffffffffff161461138c57600080fd5b61139530611092565b81111580156113a45750600081115b6113e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113da90613e10565b60405180910390fd5b6113ec81612c39565b50565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b611420611b62565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114a490613d50565b60405180910390fd5b80601a60146101000a81548160ff02191690831515021790555042600a8190555050565b601c5481565b60606040518060400160405280600481526020017f6e45544800000000000000000000000000000000000000000000000000000000815250905090565b61151c611b62565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a090613d50565b60405180910390fd5b600082101580156115bb575060018211155b6115c457600080fd5b600081101580156115d6575060138111155b6115df57600080fd5b81600b8190555080600c819055505050565b6115f9611b62565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611686576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167d90613d50565b60405180910390fd5b80601a60176101000a81548160ff02191690831515021790555050565b60006116b76116b0611b62565b8484611d35565b6001905092915050565b6116c9611b62565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611756576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174d90613d50565b60405180910390fd5b600082101580156117685750600d8211155b61177157600080fd5b600081101580156117835750600d8111155b61178c57600080fd5b81600e81905550806010819055505050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61182d611b62565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146118ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118b190613d50565b60405180910390fd5b600081101580156118cc575060048111155b6118d557600080fd5b610e10816118e39190613f9c565b60188190555050565b6118f4611b62565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611981576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161197890613d50565b60405180910390fd5b601c5481101561199057600080fd5b80601c8190555050565b6119a2611b62565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a2690613d50565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611a9f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9690613c90565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60185481565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611bda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bd190613df0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611c4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4190613cb0565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611d289190613e30565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611da5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d9c90613d90565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611e15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e0c90613c10565b60405180910390fd5b60008111611e58576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e4f90613d70565b60405180910390fd5b600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611ee5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611edc90613dd0565b60405180910390fd5b600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611f72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f6990613dd0565b60405180910390fd5b60096000611f7e611b62565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612006576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ffd90613dd0565b60405180910390fd5b61200e6113ef565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561207c575061204c6113ef565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561269a57601a60149054906101000a900460ff166120d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120c790613c30565b60405180910390fd5b601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614801561217b5750601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156122e8573073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156121e857503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156122425750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561229c5750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156122e757601b548111156122e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122dd90613c70565b60405180910390fd5b5b5b601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156123945750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156123cc57503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612406575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156124d557601c548161241884611092565b6124229190613f15565b10612462576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161245990613db0565b60405180910390fd5b601a60179054906101000a900460ff16156124d4576104b0600a546124879190613f15565b42116124d357601e548111156124d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124c990613cd0565b60405180910390fd5b5b5b5b60006124e030611092565b90506000601d54821190508080156125055750601a60159054906101000a900460ff16155b801561255f5750601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156125775750601a60169054906101000a900460ff165b80156125cd5750600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156126235750600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156126975760008060135411156126685761265c606461264e60135486612ec190919063ffffffff16565b612f3c90919063ffffffff16565b905061266781612f86565b5b61267c81846126779190613ff6565b612c39565b600047905060008111156126945761269347612b5f565b5b50505b50505b600060019050600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806127415750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806127f45750601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156127f35750601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b156128025760009050612ae9565b601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156128ad5750601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561296c5742600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600d54601181905550600e54601281905550600a5442141561296b576001600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b5b601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015612a175750601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15612ae8576000600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414158015612ab8575042601854600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ab59190613f15565b10155b15612ad457600b54601181905550600c54601281905550612ae7565b600f546011819055506010546012819055505b5b5b612af584848484612f96565b50505050565b6000838311158290612b43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b3a9190613bee565b60405180910390fd5b5060008385612b529190613ff6565b9050809150509392505050565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612bc7573d6000803e3d6000fd5b5050565b6000600754821115612c12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c0990613c50565b60405180910390fd5b6000612c1c612fc3565b9050612c318184612f3c90919063ffffffff16565b915050919050565b6001601a60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115612c7157612c70614187565b5b604051908082528060200260200182016040528015612c9f5781602001602082028036833780820191505090505b5090503081600081518110612cb757612cb6614158565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015612d5957600080fd5b505afa158015612d6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d919190613698565b81600181518110612da557612da4614158565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612e0c30601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611b6a565b601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612e70959493929190613e4b565b600060405180830381600087803b158015612e8a57600080fd5b505af1158015612e9e573d6000803e3d6000fd5b50505050506000601a60156101000a81548160ff02191690831515021790555050565b600080831415612ed45760009050612f36565b60008284612ee29190613f9c565b9050828482612ef19190613f6b565b14612f31576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f2890613d30565b60405180910390fd5b809150505b92915050565b6000612f7e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612fee565b905092915050565b612f933061dead83611d35565b50565b80612fa457612fa3613051565b5b612faf8484846130b3565b80612fbd57612fbc61327e565b5b50505050565b6000806000612fd061329b565b91509150612fe78183612f3c90919063ffffffff16565b9250505090565b60008083118290613035576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161302c9190613bee565b60405180910390fd5b50600083856130449190613f6b565b9050809150509392505050565b600060115414801561306557506000601254145b801561307357506000601354145b1561307d576130b1565b6011546014819055506012546015819055506013546016819055506000601181905550600060128190555060006013819055505b565b6000806000806000806130c5876132f1565b95509550955095509550955061312386600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461335990919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506131b885600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546133a390919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061320481613401565b61320e84836134be565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161326b9190613e30565b60405180910390a3505050505050505050565b601454601181905550601554601281905550601654601381905550565b60008060006007549050600064e8d4a5100090506132c964e8d4a51000600754612f3c90919063ffffffff16565b8210156132e45760075464e8d4a510009350935050506132ed565b81819350935050505b9091565b600080600080600080600080600061330e8a6011546012546134f8565b925092509250600061331e612fc3565b905060008060006133318e87878761358e565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061339b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612afb565b905092915050565b60008082846133b29190613f15565b9050838110156133f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016133ee90613cf0565b60405180910390fd5b8091505092915050565b600061340b612fc3565b905060006134228284612ec190919063ffffffff16565b905061347681600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546133a390919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6134d38260075461335990919063ffffffff16565b6007819055506134ee816008546133a390919063ffffffff16565b6008819055505050565b6000806000806135246064613516888a612ec190919063ffffffff16565b612f3c90919063ffffffff16565b9050600061354e6064613540888b612ec190919063ffffffff16565b612f3c90919063ffffffff16565b9050600061357782613569858c61335990919063ffffffff16565b61335990919063ffffffff16565b905080838395509550955050505093509350939050565b6000806000806135a78589612ec190919063ffffffff16565b905060006135be8689612ec190919063ffffffff16565b905060006135d58789612ec190919063ffffffff16565b905060006135fe826135f0858761335990919063ffffffff16565b61335990919063ffffffff16565b9050838184965096509650505050509450945094915050565b60008135905061362681614601565b92915050565b60008151905061363b81614601565b92915050565b60008135905061365081614618565b92915050565b6000813590506136658161462f565b92915050565b600060208284031215613681576136806141b6565b5b600061368f84828501613617565b91505092915050565b6000602082840312156136ae576136ad6141b6565b5b60006136bc8482850161362c565b91505092915050565b600080604083850312156136dc576136db6141b6565b5b60006136ea85828601613617565b92505060206136fb85828601613617565b9150509250929050565b60008060006060848603121561371e5761371d6141b6565b5b600061372c86828701613617565b935050602061373d86828701613617565b925050604061374e86828701613656565b9150509250925092565b6000806040838503121561376f5761376e6141b6565b5b600061377d85828601613617565b925050602061378e85828601613656565b9150509250929050565b6000602082840312156137ae576137ad6141b6565b5b60006137bc84828501613641565b91505092915050565b6000602082840312156137db576137da6141b6565b5b60006137e984828501613656565b91505092915050565b60008060408385031215613809576138086141b6565b5b600061381785828601613656565b925050602061382885828601613656565b9150509250929050565b600061383e838361384a565b60208301905092915050565b6138538161402a565b82525050565b6138628161402a565b82525050565b600061387382613ed0565b61387d8185613ef3565b935061388883613ec0565b8060005b838110156138b95781516138a08882613832565b97506138ab83613ee6565b92505060018101905061388c565b5085935050505092915050565b6138cf8161403c565b82525050565b6138de8161407f565b82525050565b6138ed81614091565b82525050565b60006138fe82613edb565b6139088185613f04565b93506139188185602086016140c7565b613921816141bb565b840191505092915050565b6000613939602383613f04565b9150613944826141cc565b604082019050919050565b600061395c601883613f04565b91506139678261421b565b602082019050919050565b600061397f602a83613f04565b915061398a82614244565b604082019050919050565b60006139a2601c83613f04565b91506139ad82614293565b602082019050919050565b60006139c5602683613f04565b91506139d0826142bc565b604082019050919050565b60006139e8602283613f04565b91506139f38261430b565b604082019050919050565b6000613a0b600f83613f04565b9150613a168261435a565b602082019050919050565b6000613a2e601b83613f04565b9150613a3982614383565b602082019050919050565b6000613a51603483613f04565b9150613a5c826143ac565b604082019050919050565b6000613a74602183613f04565b9150613a7f826143fb565b604082019050919050565b6000613a97602083613f04565b9150613aa28261444a565b602082019050919050565b6000613aba602983613f04565b9150613ac582614473565b604082019050919050565b6000613add602583613f04565b9150613ae8826144c2565b604082019050919050565b6000613b00602383613f04565b9150613b0b82614511565b604082019050919050565b6000613b23600d83613f04565b9150613b2e82614560565b602082019050919050565b6000613b46602483613f04565b9150613b5182614589565b604082019050919050565b6000613b69600c83613f04565b9150613b74826145d8565b602082019050919050565b613b8881614068565b82525050565b613b9781614072565b82525050565b6000602082019050613bb26000830184613859565b92915050565b6000602082019050613bcd60008301846138c6565b92915050565b6000602082019050613be860008301846138d5565b92915050565b60006020820190508181036000830152613c0881846138f3565b905092915050565b60006020820190508181036000830152613c298161392c565b9050919050565b60006020820190508181036000830152613c498161394f565b9050919050565b60006020820190508181036000830152613c6981613972565b9050919050565b60006020820190508181036000830152613c8981613995565b9050919050565b60006020820190508181036000830152613ca9816139b8565b9050919050565b60006020820190508181036000830152613cc9816139db565b9050919050565b60006020820190508181036000830152613ce9816139fe565b9050919050565b60006020820190508181036000830152613d0981613a21565b9050919050565b60006020820190508181036000830152613d2981613a44565b9050919050565b60006020820190508181036000830152613d4981613a67565b9050919050565b60006020820190508181036000830152613d6981613a8a565b9050919050565b60006020820190508181036000830152613d8981613aad565b9050919050565b60006020820190508181036000830152613da981613ad0565b9050919050565b60006020820190508181036000830152613dc981613af3565b9050919050565b60006020820190508181036000830152613de981613b16565b9050919050565b60006020820190508181036000830152613e0981613b39565b9050919050565b60006020820190508181036000830152613e2981613b5c565b9050919050565b6000602082019050613e456000830184613b7f565b92915050565b600060a082019050613e606000830188613b7f565b613e6d60208301876138e4565b8181036040830152613e7f8186613868565b9050613e8e6060830185613859565b613e9b6080830184613b7f565b9695505050505050565b6000602082019050613eba6000830184613b8e565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000613f2082614068565b9150613f2b83614068565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613f6057613f5f6140fa565b5b828201905092915050565b6000613f7682614068565b9150613f8183614068565b925082613f9157613f90614129565b5b828204905092915050565b6000613fa782614068565b9150613fb283614068565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613feb57613fea6140fa565b5b828202905092915050565b600061400182614068565b915061400c83614068565b92508282101561401f5761401e6140fa565b5b828203905092915050565b600061403582614048565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061408a826140a3565b9050919050565b600061409c82614068565b9050919050565b60006140ae826140b5565b9050919050565b60006140c082614048565b9050919050565b60005b838110156140e55780820151818401526020810190506140ca565b838111156140f4576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f54726164696e67206e6f742079657420656e61626c6564210000000000000000600082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e7420746f6f206d7563680000000000000000000000000000000000600082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f4d6178696d756d207472616e73616374696f6e20616d6f756e74206d7573742060008201527f62652067726561746572207468616e20302e3525000000000000000000000000602082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b7f53746f7020736e6970696e672100000000000000000000000000000000000000600082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f57726f6e6720616d6f756e740000000000000000000000000000000000000000600082015250565b61460a8161402a565b811461461557600080fd5b50565b6146218161403c565b811461462c57600080fd5b50565b61463881614068565b811461464357600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220cbe6c1c863f2db038779b6f85de75632d2eefb3a2bc5b581fd336e6a31a7444864736f6c63430008070033

Verified Source Code Partial Match

Compiler: v0.8.7+commit.e28d00a7 EVM: london Optimization: No
nETHing.sol 660 lines
/**
*/
//             
//                Poor people have it. Rich people need it. If you eat it you die. What is it?
//
//                  
//                                      ***        nETHing       ***        
//    
// Telegram | https://t.me/nETHingERC20
//
// Twitter | https://twitter.com/nethingerc20
//
//
// SPDX-License-Identifier: Unlicensed

pragma solidity 0.8.7;

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}

interface IERC20 {
    function totalSupply() external view returns (uint256);

    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
    );
}

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;
    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );

    constructor() {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    function owner() public view returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
    
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
    
}

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) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        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) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
}

interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB)
        external
        returns (address pair);
}

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );
}

contract nETHing is Context, IERC20, Ownable {
    
    using SafeMath for uint256;

    string private constant _name = "nETHing";
    string private constant _symbol = "nETH";
    uint8 private constant _decimals = 9;

    mapping(address => uint256) private _rOwned;
    mapping(address => uint256) private _tOwned;
    mapping (address => uint256) private _buyMap;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 1e3 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    mapping(address => bool) private _isSniper;
    uint256 public launchTime;

    uint256 private _redisFeeJeets = 0;
    uint256 private _taxFeeJeets = 10;

    uint256 private _redisFeeOnBuy = 0;
    uint256 private _taxFeeOnBuy = 0;
    
    uint256 private _redisFeeOnSell = 0;
    uint256 private _taxFeeOnSell = 0;
    
    uint256 private _redisFee = _redisFeeOnSell;
    uint256 private _taxFee = _taxFeeOnSell;
    uint256 private _burnFee = 0;
    
    uint256 private _previousredisFee = _redisFee;
    uint256 private _previoustaxFee = _taxFee;
    uint256 private _previousburnFee = _burnFee;
    
    address payable private _marketingAddress = payable(0x8E2d12d6c442e69F5E9ba408C3eB89AE3DafB75D);
    address public constant deadAddress = 0x000000000000000000000000000000000000dEaD;

    uint256 public timeJeets = 30 minutes;
    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
    
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = true;
    bool private isMaxBuyActivated = true;
    
    uint256 public _maxTxAmount = 3e1 * 10**9; //3%
    uint256 public _maxWalletSize = 5e1 * 10**9; //5%
    uint256 public _swapTokensAtAmount = 1e0 * 10**9;
    uint256 public _minimumBuyAmount = 3e1 * 10**9 ; //3%

    event MaxTxAmountUpdated(uint256 _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor() {
        
        _rOwned[_msgSender()] = _rTotal;
        
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_marketingAddress] = true;
        _isExcludedFromFee[deadAddress] = true;
        
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

    function name() public pure returns (string memory) {
        return _name;
    }

    function symbol() public pure returns (string memory) {
        return _symbol;
    }

    function decimals() public pure returns (uint8) {
        return _decimals;
    }

    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return tokenFromReflection(_rOwned[account]);
    }

    function transfer(address recipient, uint256 amount)
        public
        override
        returns (bool)
    {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function allowance(address owner, address spender)
        public
        view
        override
        returns (uint256)
    {
        return _allowances[owner][spender];
    }

    function approve(address spender, uint256 amount)
        public
        override
        returns (bool)
    {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            _msgSender(),
            _allowances[sender][_msgSender()].sub(
                amount,
                "ERC20: transfer amount exceeds allowance"
            )
        );
        return true;
    }

    function tokenFromReflection(uint256 rAmount)
        private
        view
        returns (uint256)
    {
        require(
            rAmount <= _rTotal,
            "Amount must be less than total reflections"
        );
        uint256 currentRate = _getRate();
        return rAmount.div(currentRate);
    }

    function removeAllFee() private {
        if (_redisFee == 0 && _taxFee == 0 && _burnFee == 0) return;
    
        _previousredisFee = _redisFee;
        _previoustaxFee = _taxFee;
        _previousburnFee = _burnFee;
        
        _redisFee = 0;
        _taxFee = 0;
        _burnFee = 0;
    }

    function restoreAllFee() private {
        _redisFee = _previousredisFee;
        _taxFee = _previoustaxFee;
        _burnFee = _previousburnFee;
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        require(!_isSniper[to], 'Stop sniping!');
        require(!_isSniper[from], 'Stop sniping!');
        require(!_isSniper[_msgSender()], 'Stop sniping!');

        if (from != owner() && to != owner()) {
            
            if (!tradingOpen) {
                revert("Trading not yet enabled!");
            }
            
            if (to == uniswapV2Pair && from != address(uniswapV2Router)) {
                if (to != address(this) && from != address(this) && to != _marketingAddress && from != _marketingAddress) {
                    require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit");
                }
            }

            if (to != uniswapV2Pair && to != _marketingAddress && to != address(this) && to != deadAddress) {
                require(balanceOf(to) + amount < _maxWalletSize, "TOKEN: Balance exceeds wallet size!");
                if (isMaxBuyActivated) {
                    if (block.timestamp <= launchTime + 20 minutes) {
                        require(amount <= _minimumBuyAmount, "Amount too much");
                    }
                }
            }
            
            uint256 contractTokenBalance = balanceOf(address(this));
            bool canSwap = contractTokenBalance > _swapTokensAtAmount;
            
            if (canSwap && !inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
                uint256 burntAmount = 0;
                if (_burnFee > 0) {
                    burntAmount = contractTokenBalance.mul(_burnFee).div(10**2);
                    burnTokens(burntAmount);
                }
                swapTokensForEth(contractTokenBalance - burntAmount);
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }
        
        bool takeFee = true;

        if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) {
            takeFee = false;
        } else {
            
            if(from == uniswapV2Pair && to != address(uniswapV2Router)) {
                    _buyMap[to] = block.timestamp;
                    _redisFee = _redisFeeOnBuy;
                    _taxFee = _taxFeeOnBuy;
                    if (block.timestamp == launchTime) {
                        _isSniper[to] = true;
                    }
            }
    
            if (to == uniswapV2Pair && from != address(uniswapV2Router)) {
                if (_buyMap[from] != 0 && (_buyMap[from] + timeJeets >= block.timestamp)) {
                    _redisFee = _redisFeeJeets;
                    _taxFee = _taxFeeJeets;
                } else {
                    _redisFee = _redisFeeOnSell;
                    _taxFee = _taxFeeOnSell;
                }
            }
        }

        _tokenTransfer(from, to, amount, takeFee);
    }

    function burnTokens(uint256 burntAmount) private {
        _transfer(address(this), deadAddress, burntAmount);
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function sendETHToFee(uint256 amount) private {
        _marketingAddress.transfer(amount);
    }

    function setTrading(bool _tradingOpen) public onlyOwner {
        tradingOpen = _tradingOpen;
        launchTime = block.timestamp;
    }

    function setMarketingWallet(address marketingAddress) external {
        require(_msgSender() == _marketingAddress);
        _marketingAddress = payable(marketingAddress);
        _isExcludedFromFee[_marketingAddress] = true;
    }

    function setIsMaxBuyActivated(bool _isMaxBuyActivated) public onlyOwner {
        isMaxBuyActivated = _isMaxBuyActivated;
    }

    function manualswap(uint256 amount) external {
        require(_msgSender() == _marketingAddress);
        require(amount <= balanceOf(address(this)) && amount > 0, "Wrong amount");
        swapTokensForEth(amount);
    }

    function addSniper(address sniper) external onlyOwner {
        _isSniper[sniper] = true;
    }

    function removeSniper(address sniper) external onlyOwner {
        if (_isSniper[sniper]) {
            _isSniper[sniper] = false;
        }
    }

    function isSniper(address sniper) external view returns (bool){
        return _isSniper[sniper];
    }

    function manualsend() external {
        require(_msgSender() == _marketingAddress);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }

    function _tokenTransfer(
        address sender,
        address recipient,
        uint256 amount,
        bool takeFee
    ) private {
        if (!takeFee) removeAllFee();
        _transferStandard(sender, recipient, amount);
        if (!takeFee) restoreAllFee();
    }

    function _transferStandard(
        address sender,
        address recipient,
        uint256 tAmount
    ) private {
        (
            uint256 rAmount,
            uint256 rTransferAmount,
            uint256 rFee,
            uint256 tTransferAmount,
            uint256 tFee,
            uint256 tTeam
        ) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate = _getRate();
        uint256 rTeam = tTeam.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }

    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }

    receive() external payable {}

    function _getValues(uint256 tAmount)
        private
        view
        returns (
            uint256,
            uint256,
            uint256,
            uint256,
            uint256,
            uint256
        )
    {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) =
            _getTValues(tAmount, _redisFee, _taxFee);
        uint256 currentRate = _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) =
            _getRValues(tAmount, tFee, tTeam, currentRate);
        
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }

    function _getTValues(
        uint256 tAmount,
        uint256 redisFee,
        uint256 taxFee
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 tFee = tAmount.mul(redisFee).div(100);
        uint256 tTeam = tAmount.mul(taxFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);

        return (tTransferAmount, tFee, tTeam);
    }

    function _getRValues(
        uint256 tAmount,
        uint256 tFee,
        uint256 tTeam,
        uint256 currentRate
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);

        return (rAmount, rTransferAmount, rFee);
    }

    function _getRate() private view returns (uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();

        return rSupply.div(tSupply);
    }

    function _getCurrentSupply() private view returns (uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
    
        return (rSupply, tSupply);
    }

    function toggleSwap(bool _swapEnabled) public onlyOwner {
        swapEnabled = _swapEnabled;
    }
    
    function setMaxTxnAmount(uint256 maxTxAmount) external onlyOwner {
        require(maxTxAmount >= 5e6 * 10**9, "Maximum transaction amount must be greater than 0.5%");
        _maxTxAmount = maxTxAmount;
    }
    
    function setMaxWalletSize(uint256 maxWalletSize) external onlyOwner {
        require(maxWalletSize >= _maxWalletSize);
        _maxWalletSize = maxWalletSize;
    }

    // USUAL TAXES CANNOT BE RAISED MORE THAN 15%
    function setTaxFee(uint256 amountBuy, uint256 amountSell) external onlyOwner {
        require(amountBuy >= 0 && amountBuy <= 13);
        require(amountSell >= 0 && amountSell <= 13);
        _taxFeeOnBuy = amountBuy;
        _taxFeeOnSell = amountSell;
    }

    function setRefFee(uint256 amountRefBuy, uint256 amountRefSell) external onlyOwner {
        require(amountRefBuy >= 0 && amountRefBuy <= 1);
        require(amountRefSell >= 0 && amountRefSell <= 1);
        _redisFeeOnBuy = amountRefBuy;
        _redisFeeOnSell = amountRefSell;
    }

    function setBurnFee(uint256 amount) external onlyOwner {
        require(amount >= 0 && amount <= 1);
        _burnFee = amount;
    }

    // FAST SELL TAXES CANNOT BE RAISED MORE THAN 20% and 4 hours
    function setJeetsFee(uint256 amountRedisJeets, uint256 amountTaxJeets) external onlyOwner {
        require(amountRedisJeets >= 0 && amountRedisJeets <= 1);
        require(amountTaxJeets >= 0 && amountTaxJeets <= 19);
        _redisFeeJeets = amountRedisJeets;
        _taxFeeJeets = amountTaxJeets;
    }

    function setTimeJeets(uint256 hoursTime) external onlyOwner {
        require(hoursTime >= 0 && hoursTime <= 4);
        timeJeets = hoursTime * 1 hours;
    }

}

Read Contract

_maxTxAmount 0x7d1db4a5 → uint256
_maxWalletSize 0x8f9a55c0 → uint256
_minimumBuyAmount 0x6b9cf534 → uint256
_swapTokensAtAmount 0x2fd689e3 → uint256
allowance 0xdd62ed3e → uint256
balanceOf 0x70a08231 → uint256
deadAddress 0x27c8f835 → address
decimals 0x313ce567 → uint8
isSniper 0x0f3a325f → bool
launchTime 0x790ca413 → uint256
name 0x06fdde03 → string
owner 0x8da5cb5b → address
symbol 0x95d89b41 → string
timeJeets 0xfe72c3c1 → uint256
totalSupply 0x18160ddd → uint256
uniswapV2Pair 0x49bd5a5e → address
uniswapV2Router 0x1694505e → address

Write Contract 20 functions

These functions modify contract state and require a wallet transaction to execute.

addSniper 0x3e3e9598
address sniper
approve 0x095ea7b3
address spender
uint256 amount
returns: bool
manualsend 0x6fc3eaec
No parameters
manualswap 0x881dce60
uint256 amount
removeSniper 0x33251a0b
address sniper
renounceOwnership 0x715018a6
No parameters
setBurnFee 0x4bf2c7c9
uint256 amount
setIsMaxBuyActivated 0x9f131571
bool _isMaxBuyActivated
setJeetsFee 0x9ec350ed
uint256 amountRedisJeets
uint256 amountTaxJeets
setMarketingWallet 0x5d098b38
address marketingAddress
setMaxTxnAmount 0x74010ece
uint256 maxTxAmount
setMaxWalletSize 0xea1644d5
uint256 maxWalletSize
setRefFee 0x38eea22d
uint256 amountRefBuy
uint256 amountRefSell
setTaxFee 0xc5528490
uint256 amountBuy
uint256 amountSell
setTimeJeets 0xe0f9f6a0
uint256 hoursTime
setTrading 0x8f70ccf7
bool _tradingOpen
toggleSwap 0x6d8aa8f8
bool _swapEnabled
transfer 0xa9059cbb
address recipient
uint256 amount
returns: bool
transferFrom 0x23b872dd
address sender
address recipient
uint256 amount
returns: bool
transferOwnership 0xf2fde38b
address newOwner

Recent Transactions

No transactions found for this address