Cryo Explorer Ethereum Mainnet

Address Contract Partially Verified

Address 0xE8B1e79D937c648Ce1fE96e6739ddb2714058a18
Balance 0 ETH
Nonce 1
Code Size 21053 bytes
Indexed Transactions 0
External Etherscan · Sourcify

Contract Bytecode

21053 bytes
0x608060405260043610610249575f3560e01c806373dd858c11610138578063a9059cbb116100b5578063d201b01e11610079578063d201b01e14610808578063d85ba06314610830578063dd62ed3e1461085a578063e2f4560514610896578063e7107947146108c0578063f8b45b05146108e857610250565b8063a9059cbb14610748578063bc205ad314610784578063c408c245146107ac578063c8c8ebe4146107b6578063ca1b9b80146107e057610250565b80638da5cb5b116100fc5780638da5cb5b1461067a5780638e8fc098146106a45780639060fdcf146106ce57806395d89b41146106f65780639a7a23d61461072057610250565b806373dd858c146105ae57806374010ece146105d6578063751039fc146105fe57806385ecafd71461061457806385fb3f631461065057610250565b806342966c68116101c65780636402511e1161018a5780636402511e146104e257806366650dae1461050a5780636a486a8e1461053257806370a082311461055c578063715018a61461059857610250565b806342966c6814610416578063441c00431461043e57806349bd5a5e146104665780634a62bb6514610490578063590ffdce146104ba57610250565b806327a14fc21161020d57806327a14fc21461034a57806330d35dee14610372578063313ce5671461039a5780633c090c46146103c45780633fb0da64146103ec57610250565b806306fdde0314610254578063095ea7b31461027e5780631694505e146102ba57806318160ddd146102e457806323b872dd1461030e57610250565b3661025057005b5f80fd5b34801561025f575f80fd5b50610268610912565b60405161027591906137c9565b60405180910390f35b348015610289575f80fd5b506102a4600480360381019061029f9190613887565b61094f565b6040516102b191906138df565b60405180910390f35b3480156102c5575f80fd5b506102ce610965565b6040516102db9190613953565b60405180910390f35b3480156102ef575f80fd5b506102f861097d565b604051610305919061397b565b60405180910390f35b348015610319575f80fd5b50610334600480360381019061032f9190613994565b610986565b60405161034191906138df565b60405180910390f35b348015610355575f80fd5b50610370600480360381019061036b91906139e4565b610a92565b005b34801561037d575f80fd5b5061039860048036038101906103939190613a39565b610b9a565b005b3480156103a5575f80fd5b506103ae610c2c565b6040516103bb9190613a7f565b60405180910390f35b3480156103cf575f80fd5b506103ea60048036038101906103e59190613ac2565b610c34565b005b3480156103f7575f80fd5b50610400610d88565b60405161040d9190613a7f565b60405180910390f35b348015610421575f80fd5b5061043c600480360381019061043791906139e4565b610d9b565b005b348015610449575f80fd5b50610464600480360381019061045f9190613b12565b610da8565b005b348015610471575f80fd5b5061047a610ece565b6040516104879190613b4c565b60405180910390f35b34801561049b575f80fd5b506104a4610ef2565b6040516104b191906138df565b60405180910390f35b3480156104c5575f80fd5b506104e060048036038101906104db9190613b65565b610f05565b005b3480156104ed575f80fd5b50610508600480360381019061050391906139e4565b610fd2565b005b348015610515575f80fd5b50610530600480360381019061052b9190613b65565b611118565b005b34801561053d575f80fd5b506105466111e5565b6040516105539190613bbf565b60405180910390f35b348015610567575f80fd5b50610582600480360381019061057d9190613b12565b6111f9565b60405161058f919061397b565b60405180910390f35b3480156105a3575f80fd5b506105ac61123f565b005b3480156105b9575f80fd5b506105d460048036038101906105cf9190613b12565b6112f5565b005b3480156105e1575f80fd5b506105fc60048036038101906105f791906139e4565b61141b565b005b348015610609575f80fd5b50610612611523565b005b34801561061f575f80fd5b5061063a60048036038101906106359190613b12565b6115b4565b60405161064791906138df565b60405180910390f35b34801561065b575f80fd5b50610664611606565b6040516106719190613a7f565b60405180910390f35b348015610685575f80fd5b5061068e611619565b60405161069b9190613b4c565b60405180910390f35b3480156106af575f80fd5b506106b8611640565b6040516106c59190613a7f565b60405180910390f35b3480156106d9575f80fd5b506106f460048036038101906106ef9190613b12565b611653565b005b348015610701575f80fd5b5061070a611779565b60405161071791906137c9565b60405180910390f35b34801561072b575f80fd5b5061074660048036038101906107419190613b65565b6117b6565b005b348015610753575f80fd5b5061076e60048036038101906107699190613887565b611911565b60405161077b91906138df565b60405180910390f35b34801561078f575f80fd5b506107aa60048036038101906107a59190613bd8565b611927565b005b6107b4611a27565b005b3480156107c1575f80fd5b506107ca611bc7565b6040516107d7919061397b565b60405180910390f35b3480156107eb575f80fd5b5061080660048036038101906108019190613c40565b611bcd565b005b348015610813575f80fd5b5061082e60048036038101906108299190613b12565b611d0e565b005b34801561083b575f80fd5b50610844611e9d565b6040516108519190613a7f565b60405180910390f35b348015610865575f80fd5b50610880600480360381019061087b9190613bd8565b611eb0565b60405161088d919061397b565b60405180910390f35b3480156108a1575f80fd5b506108aa611f32565b6040516108b7919061397b565b60405180910390f35b3480156108cb575f80fd5b506108e660048036038101906108e19190613e7e565b611f38565b005b3480156108f3575f80fd5b506108fc612247565b604051610909919061397b565b60405180910390f35b60606040518060400160405280600c81526020017f436f6c6f6e697a654d6172730000000000000000000000000000000000000000815250905090565b5f61095b33848461224d565b6001905092915050565b737a250d5630b4cf539739df2c5dacb4c659f2488d81565b5f600154905090565b5f8060095f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610a7b5782811015610a6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6490613f64565b60405180910390fd5b610a7a853385840361224d565b5b610a86858585612410565b60019150509392505050565b3373ffffffffffffffffffffffffffffffffffffffff16610ab1611619565b73ffffffffffffffffffffffffffffffffffffffff1614610b07576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610afe90613fcc565b60405180910390fd5b670de0b6b3a76400006103e86001610b1d61097d565b610b279190614017565b610b319190614085565b610b3b9190614085565b811015610b7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7490614125565b60405180910390fd5b670de0b6b3a764000081610b919190614017565b60038190555050565b3373ffffffffffffffffffffffffffffffffffffffff16610bb9611619565b73ffffffffffffffffffffffffffffffffffffffff1614610c0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0690613fcc565b60405180910390fd5b806007601c6101000a81548160ff02191690831515021790555050565b5f6012905090565b3373ffffffffffffffffffffffffffffffffffffffff16610c53611619565b73ffffffffffffffffffffffffffffffffffffffff1614610ca9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ca090613fcc565b60405180910390fd5b82600760176101000a81548160ff021916908360ff16021790555081600760186101000a81548160ff021916908360ff16021790555080600760196101000a81548160ff021916908360ff1602179055506064600760199054906101000a900460ff16600760189054906101000a900460ff16600760179054906101000a900460ff16610d369190614143565b610d409190614143565b60ff1614610d83576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7a906141e7565b60405180910390fd5b505050565b600760179054906101000a900460ff1681565b610da5338261301c565b50565b3373ffffffffffffffffffffffffffffffffffffffff16610dc7611619565b73ffffffffffffffffffffffffffffffffffffffff1614610e1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1490613fcc565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610e8b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e829061424f565b60405180910390fd5b8060065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b7f0000000000000000000000002f679f848622da6f39f9ad807c7786618d283c7981565b6007601b9054906101000a900460ff1681565b3373ffffffffffffffffffffffffffffffffffffffff16610f24611619565b73ffffffffffffffffffffffffffffffffffffffff1614610f7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7190613fcc565b60405180910390fd5b80600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b3373ffffffffffffffffffffffffffffffffffffffff16610ff1611619565b73ffffffffffffffffffffffffffffffffffffffff1614611047576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103e90613fcc565b60405180910390fd5b620186a0600161105561097d565b61105f9190614017565b6110699190614085565b8110156110ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a2906142dd565b60405180910390fd5b6103e860056110b861097d565b6110c29190614017565b6110cc9190614085565b81111561110e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111059061436b565b60405180910390fd5b8060048190555050565b3373ffffffffffffffffffffffffffffffffffffffff16611137611619565b73ffffffffffffffffffffffffffffffffffffffff161461118d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118490613fcc565b60405180910390fd5b80600b5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b600760159054906101000a900461ffff1681565b5f60085f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b3373ffffffffffffffffffffffffffffffffffffffff1661125e611619565b73ffffffffffffffffffffffffffffffffffffffff16146112b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ab90613fcc565b60405180910390fd5b5f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b3373ffffffffffffffffffffffffffffffffffffffff16611314611619565b73ffffffffffffffffffffffffffffffffffffffff161461136a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136190613fcc565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036113d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113cf9061424f565b60405180910390fd5b8060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b3373ffffffffffffffffffffffffffffffffffffffff1661143a611619565b73ffffffffffffffffffffffffffffffffffffffff1614611490576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148790613fcc565b60405180910390fd5b670de0b6b3a76400006103e860016114a661097d565b6114b09190614017565b6114ba9190614085565b6114c49190614085565b811015611506576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114fd906143f9565b60405180910390fd5b670de0b6b3a76400008161151a9190614017565b60028190555050565b3373ffffffffffffffffffffffffffffffffffffffff16611542611619565b73ffffffffffffffffffffffffffffffffffffffff1614611598576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158f90613fcc565b60405180910390fd5b5f6007601b6101000a81548160ff021916908315150217905550565b5f600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b600760189054906101000a900460ff1681565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600760199054906101000a900460ff1681565b3373ffffffffffffffffffffffffffffffffffffffff16611672611619565b73ffffffffffffffffffffffffffffffffffffffff16146116c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116bf90613fcc565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611736576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161172d9061424f565b60405180910390fd5b8060075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60606040518060400160405280600381526020017f47544d0000000000000000000000000000000000000000000000000000000000815250905090565b3373ffffffffffffffffffffffffffffffffffffffff166117d5611619565b73ffffffffffffffffffffffffffffffffffffffff161461182b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161182290613fcc565b60405180910390fd5b7f0000000000000000000000002f679f848622da6f39f9ad807c7786618d283c7973ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036118b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118b090614461565b60405180910390fd5b80600c5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b5f61191d338484612410565b6001905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16611946611619565b73ffffffffffffffffffffffffffffffffffffffff161461199c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161199390613fcc565b60405180910390fd5b5f8273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016119d69190613b4c565b602060405180830381865afa1580156119f1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a159190614493565b9050611a228383836131d4565b505050565b3373ffffffffffffffffffffffffffffffffffffffff16611a46611619565b73ffffffffffffffffffffffffffffffffffffffff1614611a9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9390613fcc565b60405180910390fd5b6007601c9054906101000a900460ff1615611aec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ae390614508565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663f305d719343060085f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20545f8033426040518863ffffffff1660e01b8152600401611b819695949392919061455f565b60606040518083038185885af1158015611b9d573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611bc291906145be565b505050565b60025481565b3373ffffffffffffffffffffffffffffffffffffffff16611bec611619565b73ffffffffffffffffffffffffffffffffffffffff1614611c42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c3990613fcc565b60405180910390fd5b60c88260ff161115611c89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c809061467e565b60405180910390fd5b6101f48161ffff161115611cd2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cc99061470c565b60405180910390fd5b81600760146101000a81548160ff021916908360ff16021790555080600760156101000a81548161ffff021916908361ffff1602179055505050565b3373ffffffffffffffffffffffffffffffffffffffff16611d2d611619565b73ffffffffffffffffffffffffffffffffffffffff1614611d83576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d7a90613fcc565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611df1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611de890614774565b60405180910390fd5b5f8173ffffffffffffffffffffffffffffffffffffffff1647604051611e16906147bf565b5f6040518083038185875af1925050503d805f8114611e50576040519150601f19603f3d011682016040523d82523d5f602084013e611e55565b606091505b5050905080611e99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e909061481d565b60405180910390fd5b5050565b600760149054906101000a900460ff1681565b5f60095f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60045481565b3373ffffffffffffffffffffffffffffffffffffffff16611f57611619565b73ffffffffffffffffffffffffffffffffffffffff1614611fad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fa490613fcc565b60405180910390fd5b6007601c9054906101000a900460ff1615611ffd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ff490614508565b60405180910390fd5b5f5b82518110156122425781818151811061201b5761201a61483b565b5b602002602001015160085f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410156120a2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612099906148d8565b60405180910390fd5b8181815181106120b5576120b461483b565b5b602002602001015160085f8584815181106120d3576120d261483b565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461212291906148f6565b9250508190555081818151811061213c5761213b61483b565b5b602002602001015160085f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461218f9190614929565b925050819055508281815181106121a9576121a861483b565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8484815181106122125761221161483b565b5b6020026020010151604051612227919061397b565b60405180910390a3808061223a9061495c565b915050611fff565b505050565b60035481565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036122bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122b290614a13565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612329576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161232090614aa1565b60405180910390fd5b8060095f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051612403919061397b565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361247e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161247590614b2f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036124ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124e390614bbd565b60405180910390fd5b5f811161252e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161252590614c4b565b60405180910390fd5b6007601c9054906101000a900460ff161580156125f5575061254e611619565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156125b557503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156125f457506125c4611619565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b15612635576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161262c90614cb3565b60405180910390fd5b6007601b9054906101000a900460ff1615612a2b57612652611619565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156126c05750612690611619565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156126f857505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612732575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561274b57506007601a9054906101000a900460ff16155b15612a2a57600c5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156127ed5750600b5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561289457600254811115612837576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161282e90614d41565b60405180910390fd5b600354612843836111f9565b8261284e91906148f6565b111561288f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161288690614da9565b60405180910390fd5b612a29565b600c5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156129315750600b5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156129805760025481111561297b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161297290614e37565b60405180910390fd5b612a28565b600b5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16612a27576003546129da836111f9565b826129e591906148f6565b1115612a26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a1d90614da9565b60405180910390fd5b5b5b5b5b5b5f600454612a38306111f9565b10159050808015612a5657506007601a9054906101000a900460ff16155b8015612aa95750600c5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015612afc5750600a5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015612b4f5750600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612b925760016007601a6101000a81548160ff021916908315150217905550612b77613323565b5f6007601a6101000a81548160ff0219169083151502179055505b5f6007601a9054906101000a900460ff16159050600a5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680612c415750600a5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b15612c4a575f90505b5f60085f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905083811015612cce576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612cc5906148d8565b60405180910390fd5b5f8215612f1a57600c5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015612d3e57505f600760159054906101000a900461ffff1661ffff16115b15612d77576103e8600760159054906101000a900461ffff1661ffff1686612d669190614017565b612d709190614085565b9050612e12565b600c5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015612dde57505f600760149054906101000a900460ff1660ff16115b15612e11576103e8600760149054906101000a900460ff1660ff1686612e049190614017565b612e0e9190614085565b90505b5b5f811115612f195780850394508060085f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825403925050819055508060085f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055503073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612f10919061397b565b60405180910390a35b5b8460085f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825403925050819055508460085f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8760405161300b919061397b565b60405180910390a350505050505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361308a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161308190614ec5565b60405180910390fd5b5f60085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508181101561310e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161310590614f53565b60405180910390fd5b81810360085f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160015f8282546131639190614929565b925050819055505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516131c7919061397b565b60405180910390a3505050565b5f808473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60e01b8585604051602401613208929190614f71565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516132729190614fd2565b5f604051808303815f865af19150503d805f81146132ab576040519150601f19603f3d011682016040523d82523d5f602084013e6132b0565b606091505b50915091508180156132dd57505f815114806132dc5750808060200190518101906132db9190614ffc565b5b5b61331c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161331390615097565b60405180910390fd5b5050505050565b5f60045490505f60146004546133399190614017565b613342306111f9565b111561335a5760146004546133579190614017565b91505b5f600267ffffffffffffffff81111561337657613375613c82565b5b6040519080825280602002602001820160405280156133a45781602001602082028036833780820191505090505b50905030815f815181106133bb576133ba61483b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28160018151811061341e5761341d61483b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac947845f8430426040518663ffffffff1660e01b81526004016134ad95949392919061516c565b5f604051808303815f87803b1580156134c4575f80fd5b505af11580156134d6573d5f803e3d5ffd5b505050505f4790505f811115613739575f6064600760179054906101000a900460ff1660ff16836135079190614017565b6135119190614085565b90505f6064600760199054906101000a900460ff1660ff16846135349190614017565b61353e9190614085565b90505f81838561354e9190614929565b6135589190614929565b905060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168260405161359f906147bf565b5f6040518083038185875af1925050503d805f81146135d9576040519150601f19603f3d011682016040523d82523d5f602084013e6135de565b606091505b50508096505060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681604051613629906147bf565b5f6040518083038185875af1925050503d805f8114613663576040519150601f19603f3d011682016040523d82523d5f602084013e613668565b606091505b50508096505060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16836040516136b3906147bf565b5f6040518083038185875af1925050503d805f81146136ed576040519150601f19603f3d011682016040523d82523d5f602084013e6136f2565b606091505b5050809650507f93efcf28fbf701a930e0ad258987a2e4f08eb3aa99f9c02029e7ba049f69405f8783858460405161372d94939291906151c4565b60405180910390a15050505b50505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561377657808201518184015260208101905061375b565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61379b8261373f565b6137a58185613749565b93506137b5818560208601613759565b6137be81613781565b840191505092915050565b5f6020820190508181035f8301526137e18184613791565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f613823826137fa565b9050919050565b61383381613819565b811461383d575f80fd5b50565b5f8135905061384e8161382a565b92915050565b5f819050919050565b61386681613854565b8114613870575f80fd5b50565b5f813590506138818161385d565b92915050565b5f806040838503121561389d5761389c6137f2565b5b5f6138aa85828601613840565b92505060206138bb85828601613873565b9150509250929050565b5f8115159050919050565b6138d9816138c5565b82525050565b5f6020820190506138f25f8301846138d0565b92915050565b5f819050919050565b5f61391b613916613911846137fa565b6138f8565b6137fa565b9050919050565b5f61392c82613901565b9050919050565b5f61393d82613922565b9050919050565b61394d81613933565b82525050565b5f6020820190506139665f830184613944565b92915050565b61397581613854565b82525050565b5f60208201905061398e5f83018461396c565b92915050565b5f805f606084860312156139ab576139aa6137f2565b5b5f6139b886828701613840565b93505060206139c986828701613840565b92505060406139da86828701613873565b9150509250925092565b5f602082840312156139f9576139f86137f2565b5b5f613a0684828501613873565b91505092915050565b613a18816138c5565b8114613a22575f80fd5b50565b5f81359050613a3381613a0f565b92915050565b5f60208284031215613a4e57613a4d6137f2565b5b5f613a5b84828501613a25565b91505092915050565b5f60ff82169050919050565b613a7981613a64565b82525050565b5f602082019050613a925f830184613a70565b92915050565b613aa181613a64565b8114613aab575f80fd5b50565b5f81359050613abc81613a98565b92915050565b5f805f60608486031215613ad957613ad86137f2565b5b5f613ae686828701613aae565b9350506020613af786828701613aae565b9250506040613b0886828701613aae565b9150509250925092565b5f60208284031215613b2757613b266137f2565b5b5f613b3484828501613840565b91505092915050565b613b4681613819565b82525050565b5f602082019050613b5f5f830184613b3d565b92915050565b5f8060408385031215613b7b57613b7a6137f2565b5b5f613b8885828601613840565b9250506020613b9985828601613a25565b9150509250929050565b5f61ffff82169050919050565b613bb981613ba3565b82525050565b5f602082019050613bd25f830184613bb0565b92915050565b5f8060408385031215613bee57613bed6137f2565b5b5f613bfb85828601613840565b9250506020613c0c85828601613840565b9150509250929050565b613c1f81613ba3565b8114613c29575f80fd5b50565b5f81359050613c3a81613c16565b92915050565b5f8060408385031215613c5657613c556137f2565b5b5f613c6385828601613aae565b9250506020613c7485828601613c2c565b9150509250929050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b613cb882613781565b810181811067ffffffffffffffff82111715613cd757613cd6613c82565b5b80604052505050565b5f613ce96137e9565b9050613cf58282613caf565b919050565b5f67ffffffffffffffff821115613d1457613d13613c82565b5b602082029050602081019050919050565b5f80fd5b5f613d3b613d3684613cfa565b613ce0565b90508083825260208201905060208402830185811115613d5e57613d5d613d25565b5b835b81811015613d875780613d738882613840565b845260208401935050602081019050613d60565b5050509392505050565b5f82601f830112613da557613da4613c7e565b5b8135613db5848260208601613d29565b91505092915050565b5f67ffffffffffffffff821115613dd857613dd7613c82565b5b602082029050602081019050919050565b5f613dfb613df684613dbe565b613ce0565b90508083825260208201905060208402830185811115613e1e57613e1d613d25565b5b835b81811015613e475780613e338882613873565b845260208401935050602081019050613e20565b5050509392505050565b5f82601f830112613e6557613e64613c7e565b5b8135613e75848260208601613de9565b91505092915050565b5f8060408385031215613e9457613e936137f2565b5b5f83013567ffffffffffffffff811115613eb157613eb06137f6565b5b613ebd85828601613d91565b925050602083013567ffffffffffffffff811115613ede57613edd6137f6565b5b613eea85828601613e51565b9150509250929050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320615f8201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b5f613f4e602883613749565b9150613f5982613ef4565b604082019050919050565b5f6020820190508181035f830152613f7b81613f42565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f613fb6602083613749565b9150613fc182613f82565b602082019050919050565b5f6020820190508181035f830152613fe381613faa565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61402182613854565b915061402c83613854565b925082820261403a81613854565b9150828204841483151761405157614050613fea565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61408f82613854565b915061409a83613854565b9250826140aa576140a9614058565b5b828204905092915050565b7f43616e6e6f7420736574206d61782077616c6c6574206c6f776572207468616e5f8201527f20302e3125000000000000000000000000000000000000000000000000000000602082015250565b5f61410f602583613749565b915061411a826140b5565b604082019050919050565b5f6020820190508181035f83015261413c81614103565b9050919050565b5f61414d82613a64565b915061415883613a64565b9250828201905060ff81111561417157614170613fea565b5b92915050565b7f446973747269627574696f6e206861766520746f20626520657175616c20746f5f8201527f2031303025000000000000000000000000000000000000000000000000000000602082015250565b5f6141d1602583613749565b91506141dc82614177565b604082019050919050565b5f6020820190508181035f8301526141fe816141c5565b9050919050565b7f416464726573732063616e6e6f74206265207a65726f000000000000000000005f82015250565b5f614239601683613749565b915061424482614205565b602082019050919050565b5f6020820190508181035f8301526142668161422d565b9050919050565b7f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e5f8201527f20302e30303125206f662074686520737570706c790000000000000000000000602082015250565b5f6142c7603583613749565b91506142d28261426d565b604082019050919050565b5f6020820190508181035f8301526142f4816142bb565b9050919050565b7f5377617020616d6f756e742063616e6e6f7420626520686967686572207468615f8201527f6e20302e3525206f662074686520737570706c79000000000000000000000000602082015250565b5f614355603483613749565b9150614360826142fb565b604082019050919050565b5f6020820190508181035f83015261438281614349565b9050919050565b7f43616e6e6f7420736574206d6178207472616e73616374696f6e206c6f7765725f8201527f207468616e20302e312500000000000000000000000000000000000000000000602082015250565b5f6143e3602a83613749565b91506143ee82614389565b604082019050919050565b5f6020820190508181035f830152614410816143d7565b9050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665640000000000005f82015250565b5f61444b601a83613749565b915061445682614417565b602082019050919050565b5f6020820190508181035f8301526144788161443f565b9050919050565b5f8151905061448d8161385d565b92915050565b5f602082840312156144a8576144a76137f2565b5b5f6144b58482850161447f565b91505092915050565b7f416c7265616479206c61756e63686564000000000000000000000000000000005f82015250565b5f6144f2601083613749565b91506144fd826144be565b602082019050919050565b5f6020820190508181035f83015261451f816144e6565b9050919050565b5f819050919050565b5f61454961454461453f84614526565b6138f8565b613854565b9050919050565b6145598161452f565b82525050565b5f60c0820190506145725f830189613b3d565b61457f602083018861396c565b61458c6040830187614550565b6145996060830186614550565b6145a66080830185613b3d565b6145b360a083018461396c565b979650505050505050565b5f805f606084860312156145d5576145d46137f2565b5b5f6145e28682870161447f565b93505060206145f38682870161447f565b92505060406146048682870161447f565b9150509250925092565b7f4275792066656573206d757374206265206c657373207468616e206f722065715f8201527f75616c20746f2032302500000000000000000000000000000000000000000000602082015250565b5f614668602a83613749565b91506146738261460e565b604082019050919050565b5f6020820190508181035f8301526146958161465c565b9050919050565b7f53656c6c2066656573206d757374206265206c657373207468616e206f7220655f8201527f7175616c20746f20353025000000000000000000000000000000000000000000602082015250565b5f6146f6602b83613749565b91506147018261469c565b604082019050919050565b5f6020820190508181035f830152614723816146ea565b9050919050565b7f496e76616c6964206164647265737300000000000000000000000000000000005f82015250565b5f61475e600f83613749565b91506147698261472a565b602082019050919050565b5f6020820190508181035f83015261478b81614752565b9050919050565b5f81905092915050565b50565b5f6147aa5f83614792565b91506147b58261479c565b5f82019050919050565b5f6147c98261479f565b9150819050919050565b7f5769746864726177616c206661696c65640000000000000000000000000000005f82015250565b5f614807601183613749565b9150614812826147d3565b602082019050919050565b5f6020820190508181035f830152614834816147fb565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f6148c2602683613749565b91506148cd82614868565b604082019050919050565b5f6020820190508181035f8301526148ef816148b6565b9050919050565b5f61490082613854565b915061490b83613854565b925082820190508082111561492357614922613fea565b5b92915050565b5f61493382613854565b915061493e83613854565b925082820390508181111561495657614955613fea565b5b92915050565b5f61496682613854565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361499857614997613fea565b5b600182019050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6149fd602483613749565b9150614a08826149a3565b604082019050919050565b5f6020820190508181035f830152614a2a816149f1565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f614a8b602283613749565b9150614a9682614a31565b604082019050919050565b5f6020820190508181035f830152614ab881614a7f565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f614b19602583613749565b9150614b2482614abf565b604082019050919050565b5f6020820190508181035f830152614b4681614b0d565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f614ba7602383613749565b9150614bb282614b4d565b604082019050919050565b5f6020820190508181035f830152614bd481614b9b565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f614c35602983613749565b9150614c4082614bdb565b604082019050919050565b5f6020820190508181035f830152614c6281614c29565b9050919050565b7f54726164696e67206e6f7420656e61626c6564000000000000000000000000005f82015250565b5f614c9d601383613749565b9150614ca882614c69565b602082019050919050565b5f6020820190508181035f830152614cca81614c91565b9050919050565b7f427579207472616e7366657220616d6f756e74206578636565647320746865205f8201527f6d61785478000000000000000000000000000000000000000000000000000000602082015250565b5f614d2b602583613749565b9150614d3682614cd1565b604082019050919050565b5f6020820190508181035f830152614d5881614d1f565b9050919050565b7f4d61782077616c6c6574206578636565646564000000000000000000000000005f82015250565b5f614d93601383613749565b9150614d9e82614d5f565b602082019050919050565b5f6020820190508181035f830152614dc081614d87565b9050919050565b7f53656c6c207472616e7366657220616d6f756e742065786365656473207468655f8201527f206d617854780000000000000000000000000000000000000000000000000000602082015250565b5f614e21602683613749565b9150614e2c82614dc7565b604082019050919050565b5f6020820190508181035f830152614e4e81614e15565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f206164647265735f8201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b5f614eaf602183613749565b9150614eba82614e55565b604082019050919050565b5f6020820190508181035f830152614edc81614ea3565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e5f8201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b5f614f3d602283613749565b9150614f4882614ee3565b604082019050919050565b5f6020820190508181035f830152614f6a81614f31565b9050919050565b5f604082019050614f845f830185613b3d565b614f91602083018461396c565b9392505050565b5f81519050919050565b5f614fac82614f98565b614fb68185614792565b9350614fc6818560208601613759565b80840191505092915050565b5f614fdd8284614fa2565b915081905092915050565b5f81519050614ff681613a0f565b92915050565b5f60208284031215615011576150106137f2565b5b5f61501e84828501614fe8565b91505092915050565b7f5472616e7366657248656c7065723a20494e5445524e414c205452414e5346455f8201527f525f4641494c4544000000000000000000000000000000000000000000000000602082015250565b5f615081602883613749565b915061508c82615027565b604082019050919050565b5f6020820190508181035f8301526150ae81615075565b9050919050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6150e781613819565b82525050565b5f6150f883836150de565b60208301905092915050565b5f602082019050919050565b5f61511a826150b5565b61512481856150bf565b935061512f836150cf565b805f5b8381101561515f57815161514688826150ed565b975061515183615104565b925050600181019050615132565b5085935050505092915050565b5f60a08201905061517f5f83018861396c565b61518c6020830187614550565b818103604083015261519e8186615110565b90506151ad6060830185613b3d565b6151ba608083018461396c565b9695505050505050565b5f6080820190506151d75f83018761396c565b6151e4602083018661396c565b6151f1604083018561396c565b6151fe606083018461396c565b9594505050505056fea2646970667358221220819280002afe89eb80881185e2d5adaf6b2ebc9ef34cf63aef74c2f41212084064736f6c63430008150033

Verified Source Code Partial Match

Compiler: v0.8.21+commit.d9974bed EVM: shanghai Optimization: No
ColonizeMars.sol 398 lines
/**
 *Submitted for verification at Etherscan.io on 2023-12-21
*/

/**
    $GTM - #ColonizeMars 
    Website: https://colonizemars.space/
    Twitter: https://twitter.com/ColonizeMars_ 
    Telegram:  https://t.me/GatewayToMars_Portal
    ELK
**/

// SPDX-License-Identifier: MIT
pragma solidity 0.8.21;
pragma experimental ABIEncoderV2;

abstract contract Ownable {
    address private _owner;

    constructor() {
        _owner = msg.sender;
    }

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

    modifier onlyOwner() {
        require(owner() == msg.sender, "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        _owner = address(0);
    }
}

library SafeERC20 {
    function safeTransfer(address token, address to, uint256 value) internal {
        (bool success, bytes memory data) = token.call(abi.encodeWithSelector(IERC20.transfer.selector, to, value));
        require(success && (data.length == 0 || abi.decode(data, (bool))), 'TransferHelper: INTERNAL TRANSFER_FAILED');
    }
}

interface IERC20 {
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external;
}

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

interface IUniswapV2Router02 {
    function factory() external pure returns (address);

    function WETH() external pure returns (address);

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

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

contract ColonizeMars is Ownable {
    string private constant _name = unicode"ColonizeMars";
    string private constant _symbol = unicode"GTM";
    uint256 private _totalSupply = 100_000_000 * 1e18;

    uint256 public maxTransactionAmount = 2_000_000 * 1e18;
    uint256 public maxWallet = 2_000_000 * 1e18;
    uint256 public swapTokensAtAmount = (_totalSupply * 2) / 10000;

    address private liqWallet = 0xfd09621Ec472B56e7a1f13014954A511237A92D7;
    address private moonWallet = 0xB62a8184c2b35757df3082011C9AE5E52773A309;
    address private technologyWallet = 0x86f7e2C90773C38145ef58Af5fefD254F5597e77;

    address private constant WETH = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2;
    
    uint8 public buyTotalFees = 50;
    uint16 public sellTotalFees = 300;

    uint8 public liqFee = 20;
    uint8 public moonFee = 40;
    uint8 public technologyFee = 40;    

    bool private swapping;
    bool public limitsInEffect = true;
    bool private launched;

    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFees;
    mapping(address => bool) private _isExcludedMaxTransactionAmount;
    mapping(address => bool) private automatedMarketMakerPairs;

    event SwapAndLiquify(uint256 tokensSwapped, uint256 teamETH, uint256 liqETH, uint256 TreasuryETH);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);

    IUniswapV2Router02 public constant uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
    address public immutable uniswapV2Pair;

    constructor() {
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), WETH);
        automatedMarketMakerPairs[uniswapV2Pair] = true;

        setExcludedFromFees(owner(), true);
        setExcludedFromFees(address(this), true);
        setExcludedFromFees(address(0xdead), true);
        setExcludedFromFees(moonWallet, true);
        setExcludedFromFees(liqWallet, true);
        setExcludedFromFees(technologyWallet, true);

        setExcludedFromMaxTransaction(owner(), true);
        setExcludedFromMaxTransaction(address(uniswapV2Router), true);
        setExcludedFromMaxTransaction(address(this), true);
        setExcludedFromMaxTransaction(address(0xdead), true);
        setExcludedFromMaxTransaction(address(uniswapV2Pair), true);
        setExcludedFromMaxTransaction(moonWallet, true);
        setExcludedFromMaxTransaction(liqWallet, true);
        setExcludedFromMaxTransaction(technologyWallet, true);

        _balances[msg.sender] = 100_000_000 * 1e18;
        emit Transfer(address(0), msg.sender, _balances[msg.sender]);

        _approve(address(this), address(uniswapV2Router), type(uint256).max);
    }

    receive() external payable {}

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

    function totalSupply() public view returns (uint256) {
        return _totalSupply;
    }

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

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

    function approve(address spender, uint256 amount) external returns (bool) {
        _approve(msg.sender, spender, amount);
        return true;
    }

    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 recipient, uint256 amount) external returns (bool) {
        _transfer(msg.sender, recipient, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool) {
        uint256 currentAllowance = _allowances[sender][msg.sender];
        if (currentAllowance != type(uint256).max) {
            require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
            unchecked {
                _approve(sender, msg.sender, currentAllowance - amount);
            }
        }

        _transfer(sender, recipient, amount);

        return true;
    }

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

        if (!launched && (from != owner() && from != address(this) && to != owner())) {
            revert("Trading not enabled");
        }

        if (limitsInEffect) {
            if (from != owner() && to != owner() && to != address(0) && to != address(0xdead) && !swapping) {
                if (automatedMarketMakerPairs[from] && !_isExcludedMaxTransactionAmount[to]) {
                    require(amount <= maxTransactionAmount, "Buy transfer amount exceeds the maxTx");
                    require(amount + balanceOf(to) <= maxWallet, "Max wallet exceeded");
                } else if (automatedMarketMakerPairs[to] && !_isExcludedMaxTransactionAmount[from]) {
                    require(amount <= maxTransactionAmount,"Sell transfer amount exceeds the maxTx");
                } else if (!_isExcludedMaxTransactionAmount[to]) {
                    require(amount + balanceOf(to) <= maxWallet, "Max wallet exceeded");
                }
            }
        }

        bool canSwap = balanceOf(address(this)) >= swapTokensAtAmount;

        if (canSwap && !swapping && !automatedMarketMakerPairs[from] && !_isExcludedFromFees[from] && !_isExcludedFromFees[to]) {
            swapping = true;
            swapBack();
            swapping = false;
        }

        bool takeFee = !swapping;

        if (_isExcludedFromFees[from] || _isExcludedFromFees[to]) {
            takeFee = false;
        }

        uint256 senderBalance = _balances[from];
        require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");

        uint256 fees = 0;
        if (takeFee) {
            if (automatedMarketMakerPairs[to] && sellTotalFees > 0) {
                fees = (amount * sellTotalFees) / 1000;
            } else if (automatedMarketMakerPairs[from] && buyTotalFees > 0) {
                fees = (amount * buyTotalFees) / 1000;
            }

            if (fees > 0) {
                unchecked {
                    amount = amount - fees;
                    _balances[from] -= fees;
                    _balances[address(this)] += fees;
                }
                emit Transfer(from, address(this), fees);
            }
        }
        unchecked {
            _balances[from] -= amount;
            _balances[to] += amount;
        }
        emit Transfer(from, to, amount);
    }

    function burn(uint256 value) external {
        _burn(msg.sender, value);
    }

    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");

        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        unchecked {
            _balances[account] = accountBalance - amount;
        }
        _totalSupply -= amount;

        emit Transfer(account, address(0), amount);
    }

    function removeLimits() external onlyOwner {
        limitsInEffect = false;
    }

    function setDistributionFees(uint8 _liqFee, uint8 _moonFee, uint8 _technologyFee) external onlyOwner {
        liqFee = _liqFee;
        moonFee = _moonFee;
        technologyFee = _technologyFee;
        require((liqFee + moonFee + technologyFee) == 100, "Distribution have to be equal to 100%");
    }

    function setFees(uint8 _buyTotalFees, uint16 _sellTotalFees) external onlyOwner {
        require(_buyTotalFees <= 200, "Buy fees must be less than or equal to 20%");
        require(_sellTotalFees <= 500, "Sell fees must be less than or equal to 50%");
        buyTotalFees = _buyTotalFees;
        sellTotalFees = _sellTotalFees;
    }

    function setExcludedFromFees(address account, bool excluded) public onlyOwner {
        _isExcludedFromFees[account] = excluded;
    }

    function setExcludedFromMaxTransaction(address account, bool excluded) public onlyOwner {
        _isExcludedMaxTransactionAmount[account] = excluded;
    }

    function airdropWallets(address[] memory addresses, uint256[] memory amounts) external onlyOwner {
        require(!launched, "Already launched");
        for (uint256 i = 0; i < addresses.length; i++) {
            require(_balances[msg.sender] >= amounts[i], "ERC20: transfer amount exceeds balance");
            _balances[addresses[i]] += amounts[i];
            _balances[msg.sender] -= amounts[i];
            emit Transfer(msg.sender, addresses[i], amounts[i]);
        }
    }

    function openTrade(bool status) external onlyOwner {
        launched = status;
    }

    function beginTrading() external payable onlyOwner {
        require(!launched, "Already launched");
        uniswapV2Router.addLiquidityETH{value: msg.value}(
            address(this),
            _balances[address(this)],
            0,
            0,
            msg.sender,
            block.timestamp
        );
    }

    function setAutomatedMarketMakerPair(address pair, bool value) external onlyOwner {
        require(pair != uniswapV2Pair, "The pair cannot be removed");
        automatedMarketMakerPairs[pair] = value;
    }

    function setSwapAtAmount(uint256 newSwapAmount) external onlyOwner {
        require(newSwapAmount >= (totalSupply() * 1) / 100000, "Swap amount cannot be lower than 0.001% of the supply");
        require(newSwapAmount <= (totalSupply() * 5) / 1000, "Swap amount cannot be higher than 0.5% of the supply");
        swapTokensAtAmount = newSwapAmount;
    }

    function setMaxTxnAmount(uint256 newMaxTx) external onlyOwner {
        require(newMaxTx >= ((totalSupply() * 1) / 1000) / 1e18, "Cannot set max transaction lower than 0.1%");
        maxTransactionAmount = newMaxTx * (10**18);
    }

    function setMaxWalletAmount(uint256 newMaxWallet) external onlyOwner {
        require(newMaxWallet >= ((totalSupply() * 1) / 1000) / 1e18, "Cannot set max wallet lower than 0.1%");
        maxWallet = newMaxWallet * (10**18);
    }

    function updateLiqWallet(address newAddress) external onlyOwner {
        require(newAddress != address(0), "Address cannot be zero");
        liqWallet = newAddress;
    }

    function updateMoonWallet(address newAddress) external onlyOwner {
        require(newAddress != address(0), "Address cannot be zero");
        moonWallet = newAddress;
    }

    function updateTechnologyWallet(address newAddress) external onlyOwner {
        require(newAddress != address(0), "Address cannot be zero");
        technologyWallet = newAddress;
    }

    function excludedFromFee(address account) public view returns (bool) {
        return _isExcludedFromFees[account];
    }

    function withdrawStuckToken(address token, address to) external onlyOwner {
        uint256 _contractBalance = IERC20(token).balanceOf(address(this));
        SafeERC20.safeTransfer(token, to, _contractBalance); // Use safeTransfer
    }

    function withdrawStuckETH(address addr) external onlyOwner {
        require(addr != address(0), "Invalid address");

        (bool success, ) = addr.call{value: address(this).balance}("");
        require(success, "Withdrawal failed");
    }

    function swapBack() private {
        uint256 swapThreshold = swapTokensAtAmount;
        bool success;

        if (balanceOf(address(this)) > swapTokensAtAmount * 20) {
            swapThreshold = swapTokensAtAmount * 20;
        }

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = WETH;

        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(swapThreshold, 0, path, address(this), block.timestamp);

        uint256 ethBalance = address(this).balance;
        if (ethBalance > 0) {
            uint256 ethForLiq = (ethBalance * liqFee) / 100;
            uint256 ethForTechnology = (ethBalance * technologyFee) / 100;
            uint256 ethForMoonFund = ethBalance - ethForLiq - ethForTechnology;

            (success, ) = address(technologyWallet).call{value: ethForTechnology}("");
            (success, ) = address(moonWallet).call{value: ethForMoonFund}("");
            (success, ) = address(liqWallet).call{value: ethForLiq}("");

            emit SwapAndLiquify(swapThreshold, ethForTechnology, ethForLiq, ethForMoonFund);
        }
    }
}

Read Contract

allowance 0xdd62ed3e → uint256
balanceOf 0x70a08231 → uint256
buyTotalFees 0xd85ba063 → uint8
decimals 0x313ce567 → uint8
excludedFromFee 0x85ecafd7 → bool
limitsInEffect 0x4a62bb65 → bool
liqFee 0x3fb0da64 → uint8
maxTransactionAmount 0xc8c8ebe4 → uint256
maxWallet 0xf8b45b05 → uint256
moonFee 0x85fb3f63 → uint8
name 0x06fdde03 → string
owner 0x8da5cb5b → address
sellTotalFees 0x6a486a8e → uint16
swapTokensAtAmount 0xe2f45605 → uint256
symbol 0x95d89b41 → string
technologyFee 0x8e8fc098 → uint8
totalSupply 0x18160ddd → uint256
uniswapV2Pair 0x49bd5a5e → address
uniswapV2Router 0x1694505e → address

Write Contract 22 functions

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

airdropWallets 0xe7107947
address[] addresses
uint256[] amounts
approve 0x095ea7b3
address spender
uint256 amount
returns: bool
beginTrading 0xc408c245
No parameters
burn 0x42966c68
uint256 value
openTrade 0x30d35dee
bool status
removeLimits 0x751039fc
No parameters
renounceOwnership 0x715018a6
No parameters
setAutomatedMarketMakerPair 0x9a7a23d6
address pair
bool value
setDistributionFees 0x3c090c46
uint8 _liqFee
uint8 _moonFee
uint8 _technologyFee
setExcludedFromFees 0x590ffdce
address account
bool excluded
setExcludedFromMaxTransaction 0x66650dae
address account
bool excluded
setFees 0xca1b9b80
uint8 _buyTotalFees
uint16 _sellTotalFees
setMaxTxnAmount 0x74010ece
uint256 newMaxTx
setMaxWalletAmount 0x27a14fc2
uint256 newMaxWallet
setSwapAtAmount 0x6402511e
uint256 newSwapAmount
transfer 0xa9059cbb
address recipient
uint256 amount
returns: bool
transferFrom 0x23b872dd
address sender
address recipient
uint256 amount
returns: bool
updateLiqWallet 0x73dd858c
address newAddress
updateMoonWallet 0x441c0043
address newAddress
updateTechnologyWallet 0x9060fdcf
address newAddress
withdrawStuckETH 0xd201b01e
address addr
withdrawStuckToken 0xbc205ad3
address token
address to

Recent Transactions

No transactions found for this address