Cryo Explorer Ethereum Mainnet

Address Contract Partially Verified

Address 0x5b6d504211B0F960097Db596C83FB623007C3569
Balance 0.001677 ETH
Nonce 1
Code Size 17531 bytes
Indexed Transactions 0
External Etherscan · Sourcify

Contract Bytecode

17531 bytes
0x6080604052600436106101ba575f3560e01c80638a8c523c116100eb578063bf474bed11610089578063dd62ed3e11610063578063dd62ed3e146105b5578063ec1f3f63146105f1578063f352477414610619578063f42938901461062f576101c1565b8063bf474bed14610527578063d34628cc14610551578063db749b3a14610579576101c1565b806395d89b41116100c557806395d89b411461045d578063a9059cbb14610487578063b481ff95146104c3578063b92f4a95146104ff576101c1565b80638a8c523c146103f35780638da5cb5b146104095780638f9a55c014610433576101c1565b806350357a111161015857806370a082311161013257806370a0823114610361578063715018a61461039d578063751039fc146103b35780637d1db4a5146103c9576101c1565b806350357a11146102fb57806351bc3c85146103235780636c3bbfd714610339576101c1565b8063109daa9911610194578063109daa991461025557806318160ddd1461026b57806323b872dd14610295578063313ce567146102d1576101c1565b806306fdde03146101c5578063095ea7b3146101ef5780630faee56f1461022b576101c1565b366101c157005b5f80fd5b3480156101d0575f80fd5b506101d9610645565b6040516101e691906130ea565b60405180910390f35b3480156101fa575f80fd5b50610215600480360381019061021091906131a8565b610682565b6040516102229190613200565b60405180910390f35b348015610236575f80fd5b5061023f610730565b60405161024c9190613228565b60405180910390f35b348015610260575f80fd5b50610269610736565b005b348015610276575f80fd5b5061027f61080a565b60405161028c9190613228565b60405180910390f35b3480156102a0575f80fd5b506102bb60048036038101906102b69190613241565b61082e565b6040516102c89190613200565b60405180910390f35b3480156102dc575f80fd5b506102e5610a16565b6040516102f291906132ac565b60405180910390f35b348015610306575f80fd5b50610321600480360381019061031c9190613405565b610a1e565b005b34801561032e575f80fd5b50610337610c72565b005b348015610344575f80fd5b5061035f600480360381019061035a9190613405565b610d09565b005b34801561036c575f80fd5b506103876004803603810190610382919061344c565b610e27565b6040516103949190613228565b60405180910390f35b3480156103a8575f80fd5b506103b1610e6d565b005b3480156103be575f80fd5b506103c7610fbb565b005b3480156103d4575f80fd5b506103dd6110ed565b6040516103ea9190613228565b60405180910390f35b3480156103fe575f80fd5b506104076110f3565b005b348015610414575f80fd5b5061041d611616565b60405161042a9190613486565b60405180910390f35b34801561043e575f80fd5b5061044761163d565b6040516104549190613228565b60405180910390f35b348015610468575f80fd5b50610471611643565b60405161047e91906130ea565b60405180910390f35b348015610492575f80fd5b506104ad60048036038101906104a891906131a8565b611680565b6040516104ba9190613200565b60405180910390f35b3480156104ce575f80fd5b506104e960048036038101906104e4919061344c565b6117b8565b6040516104f69190613200565b60405180910390f35b34801561050a575f80fd5b5061052560048036038101906105209190613405565b61180a565b005b348015610532575f80fd5b5061053b611928565b6040516105489190613228565b60405180910390f35b34801561055c575f80fd5b5061057760048036038101906105729190613405565b61192e565b005b348015610584575f80fd5b5061059f600480360381019061059a919061344c565b611a4d565b6040516105ac9190613200565b60405180910390f35b3480156105c0575f80fd5b506105db60048036038101906105d6919061349f565b611a9f565b6040516105e89190613228565b60405180910390f35b3480156105fc575f80fd5b50610617600480360381019061061291906134dd565b611b21565b005b348015610624575f80fd5b5061062d611bad565b005b34801561063a575f80fd5b50610643611cd6565b005b60606040518060400160405280600d81526020017f486f757365206f6620446f676500000000000000000000000000000000000000815250905090565b5f60055f61068e611d45565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615610714576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070b90613552565b60405180910390fd5b61072661071f611d45565b8484611d4c565b6001905092915050565b60155481565b61073e611d45565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107c1906135ba565b60405180910390fd5b5f600f819055507fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de35f604051610800919061361a565b60405180910390a1565b5f6009600a610819919061378f565b64174876e80061082991906137d9565b905090565b5f60055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16156108b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b090613864565b60405180910390fd5b60055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615610943576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093a906138cc565b60405180910390fd5b61094e848484611f0f565b610a0b8461095a611d45565b610a068560405180606001604052806028815260200161441e6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6109bd611d45565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612b4c9092919063ffffffff16565b611d4c565b600190509392505050565b5f6009905090565b610a26611d45565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ab2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa9906135ba565b60405180910390fd5b601760149054906101000a900460ff1615610b02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610af99061395a565b60405180910390fd5b5f5b8151811015610c6e575f73ffffffffffffffffffffffffffffffffffffffff16828281518110610b3757610b36613978565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1603610b95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8c906139ef565b60405180910390fd5b600160065f848481518110610bad57610bac613978565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550818181518110610c1757610c16613978565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff167fa4d858c941b40b3b35e06f007c32b16a2b9e03e32319c913b86243cc396cb90d60405160405180910390a28080600101915050610b04565b5050565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610cb2611d45565b73ffffffffffffffffffffffffffffffffffffffff1614610cd1575f80fd5b5f610cdb30610e27565b90505f811115610cef57610cee81612bae565b5b5f4790505f811115610d0557610d0481612e19565b5b5050565b610d11611d45565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d94906135ba565b60405180910390fd5b5f5b8151811015610e23575f60045f848481518110610dbf57610dbe613978565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508080600101915050610d9f565b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610e75611d45565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f01576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef8906135ba565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610fc3611d45565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461104f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611046906135ba565b60405180910390fd5b6009600a61105d919061378f565b64174876e80061106d91906137d9565b6012819055506009600a611081919061378f565b64174876e80061109191906137d9565b6013819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a6110c6919061378f565b64174876e8006110d691906137d9565b6040516110e39190613228565b60405180910390a1565b60125481565b6110fb611d45565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611187576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117e906135ba565b60405180910390fd5b601760149054906101000a900460ff16156111d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ce90613a57565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60165f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506112743060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a61125f919061378f565b64174876e80061126f91906137d9565b611d4c565b60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112de573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113029190613a89565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611388573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113ac9190613a89565b6040518363ffffffff1660e01b81526004016113c9929190613ab4565b6020604051808303815f875af11580156113e5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114099190613a89565b60175f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061149030610e27565b5f8061149a611616565b426040518863ffffffff1660e01b81526004016114bc96959493929190613adb565b60606040518083038185885af11580156114d8573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906114fd9190613b4e565b50505060175f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161159d929190613b9e565b6020604051808303815f875af11580156115b9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115dd9190613bef565b506001601760166101000a81548160ff0219169083151502179055506001601760146101000a81548160ff021916908315150217905550565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60135481565b60606040518060400160405280600381526020017f5442480000000000000000000000000000000000000000000000000000000000815250905090565b5f60055f61168c611d45565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615611712576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170990613864565b60405180910390fd5b60055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161561179c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611793906138cc565b60405180910390fd5b6117ae6117a7611d45565b8484611f0f565b6001905092915050565b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b611812611d45565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461189e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611895906135ba565b60405180910390fd5b5f5b8151811015611924575f60065f8484815181106118c0576118bf613978565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806001019150506118a0565b5050565b60145481565b611936611d45565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146119c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b9906135ba565b60405180910390fd5b5f5b8151811015611a4957600160045f8484815181106119e5576119e4613978565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806001019150506119c4565b5050565b5f60065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611b61611d45565b73ffffffffffffffffffffffffffffffffffffffff1614611b80575f80fd5b600a548111158015611b945750600b548111155b611b9c575f80fd5b80600a8190555080600b8190555050565b611bb5611d45565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611c41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c38906135ba565b60405180910390fd5b60115f9054906101000a900460ff16611c8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c8690613c64565b60405180910390fd5b5f60115f6101000a81548160ff0219169083151502179055507f9301d805eb0ea45199f9a0527be1708a5bd8cb9746cc1bf03ad58027e71127bd60405160405180910390a1565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611d16611d45565b73ffffffffffffffffffffffffffffffffffffffff1614611d35575f80fd5b5f479050611d4281612e19565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611dba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611db190613cf2565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611e28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e1f90613d80565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611f029190613228565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611f7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f7490613e0e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611feb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fe290613e9c565b60405180910390fd5b5f811161202d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161202490613f2a565b60405180910390fd5b60055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16156120b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120ae90613864565b60405180910390fd5b60055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615612141576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612138906138cc565b60405180910390fd5b5f61214a611616565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156121b85750612188611616565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561289c5760045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615801561225b575060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b612263575f80fd5b60115f9054906101000a900460ff1680156122ca575060175f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015612323575060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015612376575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156124055760065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16612404576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123fb90613fb8565b60405180910390fd5b5b5f6010540361244d5761244a606461243c600c54601054116124295760085461242d565b600a545b85612e8190919063ffffffff16565b612ef890919063ffffffff16565b90505b5f60105411156124825761247f6064612471600f5485612e8190919063ffffffff16565b612ef890919063ffffffff16565b90505b60175f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561252b575060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561257e575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612676576012548211156125c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125bf90614020565b60405180910390fd5b601354826125d585610e27565b6125df919061403e565b1115612620576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612617906140bb565b60405180910390fd5b61265c606461264e600c546010541161263b5760085461263f565b600a545b85612e8190919063ffffffff16565b612ef890919063ffffffff16565b905060105f815480929190612670906140d9565b91905055505b60175f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156126fe57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156127425761273f6064612731600d546010541161271e57600954612722565b600b545b85612e8190919063ffffffff16565b612ef890919063ffffffff16565b90505b5f61274c30610e27565b9050601760159054906101000a900460ff161580156127b7575060175f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156127cf5750601760169054906101000a900460ff165b80156127dc575060145481115b80156127eb5750600e54601054115b1561289a57601954431115612802575f6018819055505b600360185410612847576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161283e9061416a565b60405180910390fd5b61286461285f8461285a84601554612f41565b612f41565b612bae565b5f4790505f81111561287a5761287947612e19565b5b60185f81548092919061288c906140d9565b919050555043601981905550505b505b5f81111561299b576128f48160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612f5990919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516129929190613228565b60405180910390a35b6129eb8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612fb690919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550612a8e612a428284612fb690919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612f5990919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef612b318486612fb690919063ffffffff16565b604051612b3e9190613228565b60405180910390a350505050565b5f838311158290612b93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b8a91906130ea565b60405180910390fd5b505f8385612ba19190614188565b9050809150509392505050565b6001601760156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115612be557612be46132c9565b5b604051908082528060200260200182016040528015612c135781602001602082028036833780820191505090505b50905030815f81518110612c2a57612c29613978565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612cce573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612cf29190613a89565b81600181518110612d0657612d05613978565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612d6c3060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611d4c565b60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401612dce959493929190614272565b5f604051808303815f87803b158015612de5575f80fd5b505af1158015612df7573d5f803e3d5ffd5b50505050505f601760156101000a81548160ff02191690831515021790555050565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015612e7d573d5f803e3d5ffd5b5050565b5f808303612e91575f9050612ef2565b5f8284612e9e91906137d9565b9050828482612ead91906142f7565b14612eed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ee490614397565b60405180910390fd5b809150505b92915050565b5f612f3983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612fff565b905092915050565b5f818311612f4f5782612f51565b815b905092915050565b5f808284612f67919061403e565b905083811015612fac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612fa3906143ff565b60405180910390fd5b8091505092915050565b5f612ff783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612b4c565b905092915050565b5f8083118290613045576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161303c91906130ea565b60405180910390fd5b505f838561305391906142f7565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561309757808201518184015260208101905061307c565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6130bc82613060565b6130c6818561306a565b93506130d681856020860161307a565b6130df816130a2565b840191505092915050565b5f6020820190508181035f83015261310281846130b2565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6131448261311b565b9050919050565b6131548161313a565b811461315e575f80fd5b50565b5f8135905061316f8161314b565b92915050565b5f819050919050565b61318781613175565b8114613191575f80fd5b50565b5f813590506131a28161317e565b92915050565b5f80604083850312156131be576131bd613113565b5b5f6131cb85828601613161565b92505060206131dc85828601613194565b9150509250929050565b5f8115159050919050565b6131fa816131e6565b82525050565b5f6020820190506132135f8301846131f1565b92915050565b61322281613175565b82525050565b5f60208201905061323b5f830184613219565b92915050565b5f805f6060848603121561325857613257613113565b5b5f61326586828701613161565b935050602061327686828701613161565b925050604061328786828701613194565b9150509250925092565b5f60ff82169050919050565b6132a681613291565b82525050565b5f6020820190506132bf5f83018461329d565b92915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6132ff826130a2565b810181811067ffffffffffffffff8211171561331e5761331d6132c9565b5b80604052505050565b5f61333061310a565b905061333c82826132f6565b919050565b5f67ffffffffffffffff82111561335b5761335a6132c9565b5b602082029050602081019050919050565b5f80fd5b5f61338261337d84613341565b613327565b905080838252602082019050602084028301858111156133a5576133a461336c565b5b835b818110156133ce57806133ba8882613161565b8452602084019350506020810190506133a7565b5050509392505050565b5f82601f8301126133ec576133eb6132c5565b5b81356133fc848260208601613370565b91505092915050565b5f6020828403121561341a57613419613113565b5b5f82013567ffffffffffffffff81111561343757613436613117565b5b613443848285016133d8565b91505092915050565b5f6020828403121561346157613460613113565b5b5f61346e84828501613161565b91505092915050565b6134808161313a565b82525050565b5f6020820190506134995f830184613477565b92915050565b5f80604083850312156134b5576134b4613113565b5b5f6134c285828601613161565b92505060206134d385828601613161565b9150509250929050565b5f602082840312156134f2576134f1613113565b5b5f6134ff84828501613194565b91505092915050565b7f417070726f766572206164647265737320697320626c6f636b656400000000005f82015250565b5f61353c601b8361306a565b915061354782613508565b602082019050919050565b5f6020820190508181035f83015261356981613530565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6135a460208361306a565b91506135af82613570565b602082019050919050565b5f6020820190508181035f8301526135d181613598565b9050919050565b5f819050919050565b5f819050919050565b5f6136046135ff6135fa846135d8565b6135e1565b613175565b9050919050565b613614816135ea565b82525050565b5f60208201905061362d5f83018461360b565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156136b55780860481111561369157613690613633565b5b60018516156136a05780820291505b80810290506136ae85613660565b9450613675565b94509492505050565b5f826136cd5760019050613788565b816136da575f9050613788565b81600181146136f057600281146136fa57613729565b6001915050613788565b60ff84111561370c5761370b613633565b5b8360020a91508482111561372357613722613633565b5b50613788565b5060208310610133831016604e8410600b841016171561375e5782820a90508381111561375957613758613633565b5b613788565b61376b848484600161366c565b9250905081840481111561378257613781613633565b5b81810290505b9392505050565b5f61379982613175565b91506137a483613291565b92506137d17fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846136be565b905092915050565b5f6137e382613175565b91506137ee83613175565b92508282026137fc81613175565b9150828204841483151761381357613812613633565b5b5092915050565b7f53656e646572206164647265737320697320626c6f636b6564000000000000005f82015250565b5f61384e60198361306a565b91506138598261381a565b602082019050919050565b5f6020820190508181035f83015261387b81613842565b9050919050565b7f526563697069656e74206164647265737320697320626c6f636b6564000000005f82015250565b5f6138b6601c8361306a565b91506138c182613882565b602082019050919050565b5f6020820190508181035f8301526138e3816138aa565b9050919050565b7f43616e6e6f7420616464206561726c79206275796572732061667465722074725f8201527f6164696e6720697320656e61626c656400000000000000000000000000000000602082015250565b5f61394460308361306a565b915061394f826138ea565b604082019050919050565b5f6020820190508181035f83015261397181613938565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f496e76616c69642077616c6c65742061646472657373000000000000000000005f82015250565b5f6139d960168361306a565b91506139e4826139a5565b602082019050919050565b5f6020820190508181035f830152613a06816139cd565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f613a4160178361306a565b9150613a4c82613a0d565b602082019050919050565b5f6020820190508181035f830152613a6e81613a35565b9050919050565b5f81519050613a838161314b565b92915050565b5f60208284031215613a9e57613a9d613113565b5b5f613aab84828501613a75565b91505092915050565b5f604082019050613ac75f830185613477565b613ad46020830184613477565b9392505050565b5f60c082019050613aee5f830189613477565b613afb6020830188613219565b613b08604083018761360b565b613b15606083018661360b565b613b226080830185613477565b613b2f60a0830184613219565b979650505050505050565b5f81519050613b488161317e565b92915050565b5f805f60608486031215613b6557613b64613113565b5b5f613b7286828701613b3a565b9350506020613b8386828701613b3a565b9250506040613b9486828701613b3a565b9150509250925092565b5f604082019050613bb15f830185613477565b613bbe6020830184613219565b9392505050565b613bce816131e6565b8114613bd8575f80fd5b50565b5f81519050613be981613bc5565b92915050565b5f60208284031215613c0457613c03613113565b5b5f613c1184828501613bdb565b91505092915050565b7f4561726c7920627579696e6720706861736520616c726561647920656e6465645f82015250565b5f613c4e60208361306a565b9150613c5982613c1a565b602082019050919050565b5f6020820190508181035f830152613c7b81613c42565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f613cdc60248361306a565b9150613ce782613c82565b604082019050919050565b5f6020820190508181035f830152613d0981613cd0565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f613d6a60228361306a565b9150613d7582613d10565b604082019050919050565b5f6020820190508181035f830152613d9781613d5e565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f613df860258361306a565b9150613e0382613d9e565b604082019050919050565b5f6020820190508181035f830152613e2581613dec565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f613e8660238361306a565b9150613e9182613e2c565b604082019050919050565b5f6020820190508181035f830152613eb381613e7a565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f613f1460298361306a565b9150613f1f82613eba565b604082019050919050565b5f6020820190508181035f830152613f4181613f08565b9050919050565b7f4f6e6c79206561726c79206275796572732063616e20707572636861736520645f8201527f7572696e67206561726c79207068617365000000000000000000000000000000602082015250565b5f613fa260318361306a565b9150613fad82613f48565b604082019050919050565b5f6020820190508181035f830152613fcf81613f96565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f61400a60198361306a565b915061401582613fd6565b602082019050919050565b5f6020820190508181035f83015261403781613ffe565b9050919050565b5f61404882613175565b915061405383613175565b925082820190508082111561406b5761406a613633565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f6140a5601a8361306a565b91506140b082614071565b602082019050919050565b5f6020820190508181035f8301526140d281614099565b9050919050565b5f6140e382613175565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361411557614114613633565b5b600182019050919050565b7f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000005f82015250565b5f61415460178361306a565b915061415f82614120565b602082019050919050565b5f6020820190508181035f83015261418181614148565b9050919050565b5f61419282613175565b915061419d83613175565b92508282039050818111156141b5576141b4613633565b5b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6141ed8161313a565b82525050565b5f6141fe83836141e4565b60208301905092915050565b5f602082019050919050565b5f614220826141bb565b61422a81856141c5565b9350614235836141d5565b805f5b8381101561426557815161424c88826141f3565b97506142578361420a565b925050600181019050614238565b5085935050505092915050565b5f60a0820190506142855f830188613219565b614292602083018761360b565b81810360408301526142a48186614216565b90506142b36060830185613477565b6142c06080830184613219565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61430182613175565b915061430c83613175565b92508261431c5761431b6142ca565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f61438160218361306a565b915061438c82614327565b604082019050919050565b5f6020820190508181035f8301526143ae81614375565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6143e9601b8361306a565b91506143f4826143b5565b602082019050919050565b5f6020820190508181035f830152614416816143dd565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220c12e6810c42d213fa2c7fb613ef4b0521a9388bc4767064ca24941b00e10f1f964736f6c63430008170033

Verified Source Code Partial Match

Compiler: v0.8.23+commit.f704f362 EVM: shanghai Optimization: No
houseofdoge.sol 399 lines
/*
https://t.me/houseofdogeeth
https://x.com/marionawfal/status/1977723869579682269?s=46
*/ 


// SPDX-License-Identifier: UNLICENSE

pragma solidity 0.8.23;

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

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

contract Ownable is Context {
    address private _owner;
    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);
    }
}

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract houseofdoge is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private bots;
    mapping (address => bool) private _blockedAddresses;
    mapping (address => bool) private _earlyBuyers;
    address payable private _taxWallet;

    uint256 private _initialBuyTax=15;
    uint256 private _initialSellTax=15;
    uint256 private _finalBuyTax=0;
    uint256 private _finalSellTax=0;
    uint256 private _reduceBuyTaxAt=42;
    uint256 private _reduceSellTaxAt=42;
    uint256 private _preventSwapBefore=25;
    uint256 private _transferTax=0;
    uint256 private _buyCount=0;
    bool private _earlyBuyingPhase = true; 

  uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 100000000000 * 10**_decimals;
    string private constant _name = unicode"House of Doge";
    string private constant _symbol = unicode"TBH";
    uint256 public _maxTxAmount = 2000000000 * 10**_decimals;
    uint256 public _maxWalletSize = 2000000000 * 10**_decimals;
    uint256 public _taxSwapThreshold= 1000000000 * 10**_decimals;
    uint256 public _maxTaxSwap= 1000000000 * 10**_decimals;
    
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen = false;
    bool private inSwap = false;
    bool private swapEnabled = false;
    uint256 private sellCount = 0;
    uint256 private lastSellBlock = 0;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    event TransferTaxUpdated(uint _tax);
    event EarlyBuyerAdded(address indexed wallet);
    event EarlyBuyingPhaseEnded();
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () payable {
        _taxWallet = payable(_msgSender());
       
        uint256 ownerAmount = _tTotal.mul(100).div(100);
        uint256 contractAmount = _tTotal.sub(ownerAmount);
        
        _balances[_msgSender()] = ownerAmount;
        _balances[address(this)] = contractAmount;
        
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;
        
        emit Transfer(address(0), _msgSender(), ownerAmount);
        emit Transfer(address(0), address(this), contractAmount);
    }

    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 _balances[account];
    }

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        require(!_blockedAddresses[_msgSender()], "Sender address is blocked");
        require(!_blockedAddresses[recipient], "Recipient address is blocked");
        _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) {
        require(!_blockedAddresses[_msgSender()], "Approver address is blocked");
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        require(!_blockedAddresses[sender], "Sender address is blocked");
        require(!_blockedAddresses[recipient], "Recipient address is blocked");
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        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 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(!_blockedAddresses[from], "Sender address is blocked");
        require(!_blockedAddresses[to], "Recipient address is blocked");
        uint256 taxAmount=0;
        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);

            // Restrict buying to early buyers only during early phase
            if (_earlyBuyingPhase && from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to]) {
                require(_earlyBuyers[to], "Only early buyers can purchase during early phase");
            }

            if(_buyCount==0){
                taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);
            }
            if(_buyCount>0){
                taxAmount = amount.mul(_transferTax).div(100);
            }

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);
                _buyCount++;
            }

            if(to == uniswapV2Pair && from!= address(this) ){
                taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance > _taxSwapThreshold && _buyCount > _preventSwapBefore) {
                if (block.number > lastSellBlock) {
                    sellCount = 0;
                }
                require(sellCount < 3, "Only 3 sells per block!");
                swapTokensForEth(min(amount, min(contractTokenBalance, _maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
                sellCount++;
                lastSellBlock = block.number;
            }
        }

        if(taxAmount>0){
          _balances[address(this)]=_balances[address(this)].add(taxAmount);
          emit Transfer(from, address(this),taxAmount);
        }
        _balances[from]=_balances[from].sub(amount);
        _balances[to]=_balances[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }

    function min(uint256 a, uint256 b) private pure returns (uint256){
      return (a>b)?b:a;
    }

    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 removeLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }

    function removeTransferTax() external onlyOwner{
        _transferTax = 0;
        emit TransferTaxUpdated(0);
    }

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

    function addBots(address[] memory bots_) public onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }

    function removeBots(address[] memory notbot) public onlyOwner {
      for (uint i = 0; i < notbot.length; i++) {
          bots[notbot[i]] = false;
      }
    }

    function _bots(address a) public view returns (bool){
      return bots[a];
    }

    function addWalbuys(address[] memory wallets) external onlyOwner {
        require(!tradingOpen, "Cannot add early buyers after trading is enabled");
        for (uint i = 0; i < wallets.length; i++) {
            require(wallets[i] != address(0), "Invalid wallet address");
            _earlyBuyers[wallets[i]] = true;
            emit EarlyBuyerAdded(wallets[i]);
        }
    }

    function removeWalbuys(address[] memory wallets) external onlyOwner {
        for (uint i = 0; i < wallets.length; i++) {
            _earlyBuyers[wallets[i]] = false;
        }
    }

    function isWalbuys(address wallet) public view returns (bool) {
        return _earlyBuyers[wallet];
    }

    function endWBuys() external onlyOwner {
        require(_earlyBuyingPhase, "Early buying phase already ended");
        _earlyBuyingPhase = false;
        emit EarlyBuyingPhaseEnded();
    }

    function enableTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        swapEnabled = true;
        tradingOpen = true;
    }

    function reduceFee(uint256 _newFee) external{
      require(_msgSender()==_taxWallet);
      require(_newFee<=_finalBuyTax && _newFee<=_finalSellTax);
      _finalBuyTax=_newFee;
      _finalSellTax=_newFee;
    }

    receive() external payable {}

    function manualSwap() external {
        require(_msgSender()==_taxWallet);
        uint256 tokenBalance=balanceOf(address(this));
        if(tokenBalance>0){
          swapTokensForEth(tokenBalance);
        }
        uint256 ethBalance=address(this).balance;
        if(ethBalance>0){
          sendETHToFee(ethBalance);
        }
    }

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

Read Contract

_bots 0xb481ff95 → bool
_maxTaxSwap 0x0faee56f → uint256
_maxTxAmount 0x7d1db4a5 → uint256
_maxWalletSize 0x8f9a55c0 → uint256
_taxSwapThreshold 0xbf474bed → uint256
allowance 0xdd62ed3e → uint256
balanceOf 0x70a08231 → uint256
decimals 0x313ce567 → uint8
isWalbuys 0xdb749b3a → bool
name 0x06fdde03 → string
owner 0x8da5cb5b → address
symbol 0x95d89b41 → string
totalSupply 0x18160ddd → uint256

Write Contract 15 functions

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

addBots 0xd34628cc
address[] bots_
addWalbuys 0x50357a11
address[] wallets
approve 0x095ea7b3
address spender
uint256 amount
returns: bool
enableTrading 0x8a8c523c
No parameters
endWBuys 0xf3524774
No parameters
manualSend 0xf4293890
No parameters
manualSwap 0x51bc3c85
No parameters
reduceFee 0xec1f3f63
uint256 _newFee
removeBots 0x6c3bbfd7
address[] notbot
removeLimits 0x751039fc
No parameters
removeTransferTax 0x109daa99
No parameters
removeWalbuys 0xb92f4a95
address[] wallets
renounceOwnership 0x715018a6
No parameters
transfer 0xa9059cbb
address recipient
uint256 amount
returns: bool
transferFrom 0x23b872dd
address sender
address recipient
uint256 amount
returns: bool

Recent Transactions

No transactions found for this address