Cryo Explorer Ethereum Mainnet

Address Contract Partially Verified

Address 0xE4ab4b3509161fd4Bf815e3B7d364aBA06DDAe52
Balance 0 ETH
Nonce 1
Code Size 20921 bytes
Indexed Transactions 0
External Etherscan · Sourcify

Contract Bytecode

20921 bytes
0x608060405260043610610353575f3560e01c80637bce5a04116101c5578063b62496f5116100f6578063c876d0b911610094578063dd62ed3e1161006e578063dd62ed3e14610c2e578063e2f4560514610c6a578063e6819ba714610c94578063f2fde38b14610cd05761035a565b8063c876d0b914610b9e578063d257b34f14610bc8578063d85ba06314610c045761035a565b8063bbc0c742116100d0578063bbc0c74214610afc578063bd8d821114610b26578063c024666814610b4e578063c48b290714610b765761035a565b8063b62496f514610a70578063b70143c914610aac578063b87f137a14610ad45761035a565b80639a7a23d611610163578063a0d82dc51161013d578063a0d82dc5146109a4578063a457c2d7146109ce578063a72f458614610a0a578063a9059cbb14610a345761035a565b80639a7a23d6146109285780639c3b4fdc146109505780639fccce321461097a5761035a565b8063921369131161019f5780639213691314610884578063924de9b7146108ae57806395d89b41146108d6578063997460f1146109005761035a565b80637bce5a04146108065780638da5cb5b146108305780638ea5220f1461085a5761035a565b80634a62bb651161029f57806362441bf61161023d5780636ddd1713116102175780636ddd17131461076057806370a082311461078a578063715018a6146107c65780637437681e146107dc5761035a565b806362441bf6146106e6578063650c42261461070e5780636a486a8e146107365761035a565b8063531631e811610279578063531631e8146106425780635b34bc411461066c57806361528e271461069457806361fa6254146106be5761035a565b80634a62bb65146105b45780634be3fa9b146105de5780634fbee193146106065761035a565b806327c8f8351161030c57806339509351116102e657806339509351146104e8578063432e95a514610524578063458a68131461054e57806349bd5a5e1461058a5761035a565b806327c8f8351461046a57806330a136ad14610494578063313ce567146104be5761035a565b806302ac81681461035e57806306fdde0314610374578063095ea7b31461039e5780631694505e146103da57806318160ddd1461040457806323b872dd1461042e5761035a565b3661035a57005b5f5ffd5b348015610369575f5ffd5b50610372610cf8565b005b34801561037f575f5ffd5b50610388610dac565b6040516103959190613cbf565b60405180910390f35b3480156103a9575f5ffd5b506103c460048036038101906103bf9190613d7d565b610e3c565b6040516103d19190613dd5565b60405180910390f35b3480156103e5575f5ffd5b506103ee610e59565b6040516103fb9190613e49565b60405180910390f35b34801561040f575f5ffd5b50610418610e7d565b6040516104259190613e71565b60405180910390f35b348015610439575f5ffd5b50610454600480360381019061044f9190613e8a565b610e86565b6040516104619190613dd5565b60405180910390f35b348015610475575f5ffd5b5061047e610f78565b60405161048b9190613ee9565b60405180910390f35b34801561049f575f5ffd5b506104a8610f7e565b6040516104b59190613e71565b60405180910390f35b3480156104c9575f5ffd5b506104d2610f84565b6040516104df9190613f1d565b60405180910390f35b3480156104f3575f5ffd5b5061050e60048036038101906105099190613d7d565b610f8c565b60405161051b9190613dd5565b60405180910390f35b34801561052f575f5ffd5b50610538611033565b6040516105459190613e71565b60405180910390f35b348015610559575f5ffd5b50610574600480360381019061056f9190613f60565b611039565b6040516105819190613dd5565b60405180910390f35b348015610595575f5ffd5b5061059e6110d8565b6040516105ab9190613ee9565b60405180910390f35b3480156105bf575f5ffd5b506105c86110fd565b6040516105d59190613dd5565b60405180910390f35b3480156105e9575f5ffd5b5061060460048036038101906105ff9190613f8b565b61110f565b005b348015610611575f5ffd5b5061062c60048036038101906106279190613fb6565b61121e565b6040516106399190613dd5565b60405180910390f35b34801561064d575f5ffd5b50610656611270565b6040516106639190613dd5565b60405180910390f35b348015610677575f5ffd5b50610692600480360381019061068d9190613fb6565b61130d565b005b34801561069f575f5ffd5b506106a86113e0565b6040516106b59190613e71565b60405180910390f35b3480156106c9575f5ffd5b506106e460048036038101906106df9190613fe1565b6113e6565b005b3480156106f1575f5ffd5b5061070c60048036038101906107079190613fb6565b6114ba565b005b348015610719575f5ffd5b50610734600480360381019061072f919061401f565b61158e565b005b348015610741575f5ffd5b5061074a6116e4565b6040516107579190613e71565b60405180910390f35b34801561076b575f5ffd5b506107746116ea565b6040516107819190613dd5565b60405180910390f35b348015610795575f5ffd5b506107b060048036038101906107ab9190613fb6565b6116fd565b6040516107bd9190613e71565b60405180910390f35b3480156107d1575f5ffd5b506107da611742565b005b3480156107e7575f5ffd5b506107f06117c9565b6040516107fd9190613e71565b60405180910390f35b348015610811575f5ffd5b5061081a6117cf565b6040516108279190613e71565b60405180910390f35b34801561083b575f5ffd5b506108446117d5565b6040516108519190613ee9565b60405180910390f35b348015610865575f5ffd5b5061086e6117fd565b60405161087b9190613ee9565b60405180910390f35b34801561088f575f5ffd5b50610898611822565b6040516108a59190613e71565b60405180910390f35b3480156108b9575f5ffd5b506108d460048036038101906108cf9190613f60565b611828565b005b3480156108e1575f5ffd5b506108ea6118c1565b6040516108f79190613cbf565b60405180910390f35b34801561090b575f5ffd5b5061092660048036038101906109219190613fb6565b611951565b005b348015610933575f5ffd5b5061094e60048036038101906109499190613fe1565b611a8b565b005b34801561095b575f5ffd5b50610964611ba4565b6040516109719190613e71565b60405180910390f35b348015610985575f5ffd5b5061098e611baa565b60405161099b9190613e71565b60405180910390f35b3480156109af575f5ffd5b506109b8611bb0565b6040516109c59190613e71565b60405180910390f35b3480156109d9575f5ffd5b506109f460048036038101906109ef9190613d7d565b611bb6565b604051610a019190613dd5565b60405180910390f35b348015610a15575f5ffd5b50610a1e611c9c565b604051610a2b9190613ee9565b60405180910390f35b348015610a3f575f5ffd5b50610a5a6004803603810190610a559190613d7d565b611cc1565b604051610a679190613dd5565b60405180910390f35b348015610a7b575f5ffd5b50610a966004803603810190610a919190613fb6565b611cde565b604051610aa39190613dd5565b60405180910390f35b348015610ab7575f5ffd5b50610ad26004803603810190610acd9190613f8b565b611cfb565b005b348015610adf575f5ffd5b50610afa6004803603810190610af59190613f8b565b611dbc565b005b348015610b07575f5ffd5b50610b10611ecb565b604051610b1d9190613dd5565b60405180910390f35b348015610b31575f5ffd5b50610b4c6004803603810190610b479190613fb6565b611ede565b005b348015610b59575f5ffd5b50610b746004803603810190610b6f9190613fe1565b612018565b005b348015610b81575f5ffd5b50610b9c6004803603810190610b9791906141c3565b61213a565b005b348015610ba9575f5ffd5b50610bb2612244565b604051610bbf9190613dd5565b60405180910390f35b348015610bd3575f5ffd5b50610bee6004803603810190610be99190613f8b565b612256565b604051610bfb9190613dd5565b60405180910390f35b348015610c0f575f5ffd5b50610c186123aa565b604051610c259190613e71565b60405180910390f35b348015610c39575f5ffd5b50610c546004803603810190610c4f919061420a565b6123b0565b604051610c619190613e71565b60405180910390f35b348015610c75575f5ffd5b50610c7e612432565b604051610c8b9190613e71565b60405180910390f35b348015610c9f575f5ffd5b50610cba6004803603810190610cb59190613fb6565b612438565b604051610cc79190613dd5565b60405180910390f35b348015610cdb575f5ffd5b50610cf66004803603810190610cf19190613fb6565b612455565b005b610d0061254b565b73ffffffffffffffffffffffffffffffffffffffff16610d1e6117d5565b73ffffffffffffffffffffffffffffffffffffffff1614610d74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6b90614292565b60405180910390fd5b6001600c60016101000a81548160ff0219169083151502179055506001600c60026101000a81548160ff021916908315150217905550565b606060038054610dbb906142dd565b80601f0160208091040260200160405190810160405280929190818152602001828054610de7906142dd565b8015610e325780601f10610e0957610100808354040283529160200191610e32565b820191905f5260205f20905b815481529060010190602001808311610e1557829003601f168201915b5050505050905090565b5f610e4f610e4861254b565b8484612552565b6001905092915050565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b5f600254905090565b5f610e92848484612715565b5f60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610ed961254b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015610f58576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f4f9061437d565b60405180910390fd5b610f6c85610f6461254b565b858403612552565b60019150509392505050565b61dead81565b600b5481565b5f6012905090565b5f611029610f9861254b565b848460015f610fa561254b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461102491906143c8565b612552565b6001905092915050565b60175481565b5f61104261254b565b73ffffffffffffffffffffffffffffffffffffffff166110606117d5565b73ffffffffffffffffffffffffffffffffffffffff16146110b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ad90614292565b60405180910390fd5b81600c5f6101000a81548160ff02191690831515021790555060019050919050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c5f9054906101000a900460ff1681565b61111761254b565b73ffffffffffffffffffffffffffffffffffffffff166111356117d5565b73ffffffffffffffffffffffffffffffffffffffff161461118b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118290614292565b60405180910390fd5b670de0b6b3a76400006103e860016111a1610e7d565b6111ab91906143fb565b6111b59190614469565b6111bf9190614469565b811015611201576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f8906144e3565b60405180910390fd5b670de0b6b3a76400008161121591906143fb565b60098190555050565b5f60195f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b5f61127961254b565b73ffffffffffffffffffffffffffffffffffffffff166112976117d5565b73ffffffffffffffffffffffffffffffffffffffff16146112ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e490614292565b60405180910390fd5b5f600e5f6101000a81548160ff0219169083151502179055506001905090565b61131561254b565b73ffffffffffffffffffffffffffffffffffffffff166113336117d5565b73ffffffffffffffffffffffffffffffffffffffff1614611389576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138090614292565b60405180910390fd5b5f60185f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b60155481565b6113ee61254b565b73ffffffffffffffffffffffffffffffffffffffff1661140c6117d5565b73ffffffffffffffffffffffffffffffffffffffff1614611462576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145990614292565b60405180910390fd5b80601a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b6114c261254b565b73ffffffffffffffffffffffffffffffffffffffff166114e06117d5565b73ffffffffffffffffffffffffffffffffffffffff1614611536576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152d90614292565b60405180910390fd5b600160185f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b61159661254b565b73ffffffffffffffffffffffffffffffffffffffff166115b46117d5565b73ffffffffffffffffffffffffffffffffffffffff161461160a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160190614292565b60405180910390fd5b836010819055508260118190555060115460105461162891906143c8565b600f81905550816013819055508060148190555060145460135461164c91906143c8565b601281905550604b600f541115611698576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168f9061454b565b60405180910390fd5b604b60125411156116de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d59061454b565b60405180910390fd5b50505050565b60125481565b600c60029054906101000a900460ff1681565b5f5f5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61174a61254b565b73ffffffffffffffffffffffffffffffffffffffff166117686117d5565b73ffffffffffffffffffffffffffffffffffffffff16146117be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117b590614292565b60405180910390fd5b6117c75f61342e565b565b60095481565b60105481565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60135481565b61183061254b565b73ffffffffffffffffffffffffffffffffffffffff1661184e6117d5565b73ffffffffffffffffffffffffffffffffffffffff16146118a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161189b90614292565b60405180910390fd5b80600c60026101000a81548160ff02191690831515021790555050565b6060600480546118d0906142dd565b80601f01602080910402602001604051908101604052809291908181526020018280546118fc906142dd565b80156119475780601f1061191e57610100808354040283529160200191611947565b820191905f5260205f20905b81548152906001019060200180831161192a57829003601f168201915b5050505050905090565b61195961254b565b73ffffffffffffffffffffffffffffffffffffffff166119776117d5565b73ffffffffffffffffffffffffffffffffffffffff16146119cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119c490614292565b60405180910390fd5b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f455cf943964d06e77e44126ecca5a66b2c9721f4576a31f8693127282c55700f60405160405180910390a38060075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611a9361254b565b73ffffffffffffffffffffffffffffffffffffffff16611ab16117d5565b73ffffffffffffffffffffffffffffffffffffffff1614611b07576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611afe90614292565b60405180910390fd5b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611b96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b8d906145d9565b60405180910390fd5b611ba082826134f1565b5050565b60115481565b60165481565b60145481565b5f5f60015f611bc361254b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015611c7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c7490614667565b60405180910390fd5b611c91611c8861254b565b85858403612552565b600191505092915050565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f611cd4611ccd61254b565b8484612715565b6001905092915050565b601b602052805f5260405f205f915054906101000a900460ff1681565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611d3b61254b565b73ffffffffffffffffffffffffffffffffffffffff1614611d5a575f5ffd5b611d63306116fd565b8111158015611d7157505f81115b611db0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611da7906146cf565b60405180910390fd5b611db98161358f565b50565b611dc461254b565b73ffffffffffffffffffffffffffffffffffffffff16611de26117d5565b73ffffffffffffffffffffffffffffffffffffffff1614611e38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e2f90614292565b60405180910390fd5b670de0b6b3a76400006103e86005611e4e610e7d565b611e5891906143fb565b611e629190614469565b611e6c9190614469565b811015611eae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ea59061475d565b60405180910390fd5b670de0b6b3a764000081611ec291906143fb565b600b8190555050565b600c60019054906101000a900460ff1681565b611ee661254b565b73ffffffffffffffffffffffffffffffffffffffff16611f046117d5565b73ffffffffffffffffffffffffffffffffffffffff1614611f5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f5190614292565b60405180910390fd5b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f90b8024c4923d3873ff5b9fcb43d0360d4b9217fa41225d07ba379993552e74360405160405180910390a38060085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61202061254b565b73ffffffffffffffffffffffffffffffffffffffff1661203e6117d5565b73ffffffffffffffffffffffffffffffffffffffff1614612094576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161208b90614292565b60405180910390fd5b8060195f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df78260405161212e9190613dd5565b60405180910390a25050565b61214261254b565b73ffffffffffffffffffffffffffffffffffffffff166121606117d5565b73ffffffffffffffffffffffffffffffffffffffff16146121b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121ad90614292565b60405180910390fd5b5f5f90505b815181101561224057600160185f8484815181106121dc576121db61477b565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806001019150506121bb565b5050565b600e5f9054906101000a900460ff1681565b5f61225f61254b565b73ffffffffffffffffffffffffffffffffffffffff1661227d6117d5565b73ffffffffffffffffffffffffffffffffffffffff16146122d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122ca90614292565b60405180910390fd5b620186a060016122e1610e7d565b6122eb91906143fb565b6122f59190614469565b821015612337576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161232e90614818565b60405180910390fd5b6103e86005612344610e7d565b61234e91906143fb565b6123589190614469565b82111561239a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612391906148a6565b60405180910390fd5b81600a8190555060019050919050565b600f5481565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b600a5481565b601a602052805f5260405f205f915054906101000a900460ff1681565b61245d61254b565b73ffffffffffffffffffffffffffffffffffffffff1661247b6117d5565b73ffffffffffffffffffffffffffffffffffffffff16146124d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124c890614292565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361253f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161253690614934565b60405180910390fd5b6125488161342e565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036125c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125b7906149c2565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361262e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161262590614a50565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516127089190613e71565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612783576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161277a90614ade565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036127f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127e890614b6c565b60405180910390fd5b60185f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161561287b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161287290614bd4565b60405180910390fd5b60185f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615612905576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128fc90614c3c565b60405180910390fd5b5f810361291c5761291783835f6137c2565b613429565b600c5f9054906101000a900460ff1615612fc4576129386117d5565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156129a657506129766117d5565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156129de57505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612a18575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612a315750600660149054906101000a900460ff16155b15612fc357600c60019054906101000a900460ff16612b255760195f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680612ae5575060195f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b612b24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b1b90614ca4565b60405180910390fd5b5b600e5f9054906101000a900460ff1615612ce957612b416117d5565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015612bc857507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612c21575060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15612ce85743600d5f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410612ca5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c9c90614d58565b60405180910390fd5b43600d5f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b601b5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015612d865750601a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612e2d57600954811115612dd0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612dc790614de6565b60405180910390fd5b600b54612ddc836116fd565b82612de791906143c8565b1115612e28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e1f90614e4e565b60405180910390fd5b612fc2565b601b5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015612eca5750601a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612f1957600954811115612f14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f0b90614edc565b60405180910390fd5b612fc1565b601a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16612fc057600b54612f73836116fd565b82612f7e91906143c8565b1115612fbf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612fb690614e4e565b60405180910390fd5b5b5b5b5b5b5f612fce306116fd565b90505f600a548210159050808015612ff25750600c60029054906101000a900460ff165b801561300b5750600660149054906101000a900460ff16155b801561305e5750601b5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156130b1575060195f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015613104575060195f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561315957601754431115613158576001600660146101000a81548160ff021916908315150217905550613136613a37565b5f600660146101000a81548160ff021916908315150217905550436017819055505b5b5f600660149054906101000a900460ff1615905060195f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680613208575060195f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b15613211575f90505b5f5f9050811561341957601b5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16801561327257505f601254115b1561330a5761329f606461329160125488613c0690919063ffffffff16565b613c1b90919063ffffffff16565b9050601254601454826132b291906143fb565b6132bc9190614469565b60165f8282546132cc91906143c8565b92505081905550601254601354826132e491906143fb565b6132ee9190614469565b60155f8282546132fe91906143c8565b925050819055506133f6565b601b5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16801561336157505f600f54115b156133f55761338e6064613380600f5488613c0690919063ffffffff16565b613c1b90919063ffffffff16565b9050600f54601154826133a191906143fb565b6133ab9190614469565b60165f8282546133bb91906143c8565b92505081905550600f54601054826133d391906143fb565b6133dd9190614469565b60155f8282546133ed91906143c8565b925050819055505b5b5f81111561340a576134098730836137c2565b5b80856134169190614efa565b94505b6134248787876137c2565b505050505b505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b80601b5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b5f600267ffffffffffffffff8111156135ab576135aa614087565b5b6040519080825280602002602001820160405280156135d95781602001602082028036833780820191505090505b50905030815f815181106135f0576135ef61477b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015613693573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906136b79190614f41565b816001815181106136cb576136ca61477b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050613730307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84612552565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b815260040161379195949392919061505c565b5f604051808303815f87803b1580156137a8575f5ffd5b505af11580156137ba573d5f5f3e3d5ffd5b505050505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603613830576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161382790614ade565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361389e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161389590614b6c565b60405180910390fd5b6138a9838383613c30565b5f5f5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508181101561392c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161392390615124565b60405180910390fd5b8181035f5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546139ba91906143c8565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051613a1e9190613e71565b60405180910390a3613a31848484613c35565b50505050565b5f613a41306116fd565b90505f601654601554613a5491906143c8565b90505f5f8303613a6657505050613c04565b6014600a54613a7591906143fb565b831115613a8e576014600a54613a8b91906143fb565b92505b5f479050613a9b8461358f565b5f613aaf8247613c3a90919063ffffffff16565b90505f613ad985613acb60165485613c0690919063ffffffff16565b613c1b90919063ffffffff16565b90505f6015819055505f60168190555060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681604051613b2e9061516f565b5f6040518083038185875af1925050503d805f8114613b68576040519150601f19603f3d011682016040523d82523d5f602084013e613b6d565b606091505b50508094505060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1647604051613bb89061516f565b5f6040518083038185875af1925050503d805f8114613bf2576040519150601f19603f3d011682016040523d82523d5f602084013e613bf7565b606091505b5050809450505050505050505b565b5f8183613c1391906143fb565b905092915050565b5f8183613c289190614469565b905092915050565b505050565b505050565b5f8183613c479190614efa565b905092915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f613c9182613c4f565b613c9b8185613c59565b9350613cab818560208601613c69565b613cb481613c77565b840191505092915050565b5f6020820190508181035f830152613cd78184613c87565b905092915050565b5f604051905090565b5f5ffd5b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f613d1982613cf0565b9050919050565b613d2981613d0f565b8114613d33575f5ffd5b50565b5f81359050613d4481613d20565b92915050565b5f819050919050565b613d5c81613d4a565b8114613d66575f5ffd5b50565b5f81359050613d7781613d53565b92915050565b5f5f60408385031215613d9357613d92613ce8565b5b5f613da085828601613d36565b9250506020613db185828601613d69565b9150509250929050565b5f8115159050919050565b613dcf81613dbb565b82525050565b5f602082019050613de85f830184613dc6565b92915050565b5f819050919050565b5f613e11613e0c613e0784613cf0565b613dee565b613cf0565b9050919050565b5f613e2282613df7565b9050919050565b5f613e3382613e18565b9050919050565b613e4381613e29565b82525050565b5f602082019050613e5c5f830184613e3a565b92915050565b613e6b81613d4a565b82525050565b5f602082019050613e845f830184613e62565b92915050565b5f5f5f60608486031215613ea157613ea0613ce8565b5b5f613eae86828701613d36565b9350506020613ebf86828701613d36565b9250506040613ed086828701613d69565b9150509250925092565b613ee381613d0f565b82525050565b5f602082019050613efc5f830184613eda565b92915050565b5f60ff82169050919050565b613f1781613f02565b82525050565b5f602082019050613f305f830184613f0e565b92915050565b613f3f81613dbb565b8114613f49575f5ffd5b50565b5f81359050613f5a81613f36565b92915050565b5f60208284031215613f7557613f74613ce8565b5b5f613f8284828501613f4c565b91505092915050565b5f60208284031215613fa057613f9f613ce8565b5b5f613fad84828501613d69565b91505092915050565b5f60208284031215613fcb57613fca613ce8565b5b5f613fd884828501613d36565b91505092915050565b5f5f60408385031215613ff757613ff6613ce8565b5b5f61400485828601613d36565b925050602061401585828601613f4c565b9150509250929050565b5f5f5f5f6080858703121561403757614036613ce8565b5b5f61404487828801613d69565b945050602061405587828801613d69565b935050604061406687828801613d69565b925050606061407787828801613d69565b91505092959194509250565b5f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6140bd82613c77565b810181811067ffffffffffffffff821117156140dc576140db614087565b5b80604052505050565b5f6140ee613cdf565b90506140fa82826140b4565b919050565b5f67ffffffffffffffff82111561411957614118614087565b5b602082029050602081019050919050565b5f5ffd5b5f61414061413b846140ff565b6140e5565b905080838252602082019050602084028301858111156141635761416261412a565b5b835b8181101561418c57806141788882613d36565b845260208401935050602081019050614165565b5050509392505050565b5f82601f8301126141aa576141a9614083565b5b81356141ba84826020860161412e565b91505092915050565b5f602082840312156141d8576141d7613ce8565b5b5f82013567ffffffffffffffff8111156141f5576141f4613cec565b5b61420184828501614196565b91505092915050565b5f5f604083850312156142205761421f613ce8565b5b5f61422d85828601613d36565b925050602061423e85828601613d36565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61427c602083613c59565b915061428782614248565b602082019050919050565b5f6020820190508181035f8301526142a981614270565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806142f457607f821691505b602082108103614307576143066142b0565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320615f8201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b5f614367602883613c59565b91506143728261430d565b604082019050919050565b5f6020820190508181035f8301526143948161435b565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6143d282613d4a565b91506143dd83613d4a565b92508282019050808211156143f5576143f461439b565b5b92915050565b5f61440582613d4a565b915061441083613d4a565b925082820261441e81613d4a565b915082820484148315176144355761443461439b565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61447382613d4a565b915061447e83613d4a565b92508261448e5761448d61443c565b5b828204905092915050565b7f43616e6e6f7420736574206d61785478206c6f776572207468616e20302e31255f82015250565b5f6144cd602083613c59565b91506144d882614499565b602082019050919050565b5f6020820190508181035f8301526144fa816144c1565b9050919050565b7f4d757374206b656570206665657320617420373025206f72206c6573730000005f82015250565b5f614535601d83613c59565b915061454082614501565b602082019050919050565b5f6020820190508181035f83015261456281614529565b9050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d205f8201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b5f6145c3603983613c59565b91506145ce82614569565b604082019050919050565b5f6020820190508181035f8301526145f0816145b7565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f614651602583613c59565b915061465c826145f7565b604082019050919050565b5f6020820190508181035f83015261467e81614645565b9050919050565b7f57726f6e6720616d6f756e7400000000000000000000000000000000000000005f82015250565b5f6146b9600c83613c59565b91506146c482614685565b602082019050919050565b5f6020820190508181035f8301526146e6816146ad565b9050919050565b7f43616e6e6f7420736574206d617857616c6c657473206c6f776572207468616e5f8201527f20302e3525000000000000000000000000000000000000000000000000000000602082015250565b5f614747602583613c59565b9150614752826146ed565b604082019050919050565b5f6020820190508181035f8301526147748161473b565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e5f8201527f20302e3030312520746f74616c20737570706c792e0000000000000000000000602082015250565b5f614802603583613c59565b915061480d826147a8565b604082019050919050565b5f6020820190508181035f83015261482f816147f6565b9050919050565b7f5377617020616d6f756e742063616e6e6f7420626520686967686572207468615f8201527f6e20302e352520746f74616c20737570706c792e000000000000000000000000602082015250565b5f614890603483613c59565b915061489b82614836565b604082019050919050565b5f6020820190508181035f8301526148bd81614884565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f61491e602683613c59565b9150614929826148c4565b604082019050919050565b5f6020820190508181035f83015261494b81614912565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6149ac602483613c59565b91506149b782614952565b604082019050919050565b5f6020820190508181035f8301526149d9816149a0565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f614a3a602283613c59565b9150614a45826149e0565b604082019050919050565b5f6020820190508181035f830152614a6781614a2e565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f614ac8602583613c59565b9150614ad382614a6e565b604082019050919050565b5f6020820190508181035f830152614af581614abc565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f614b56602383613c59565b9150614b6182614afc565b604082019050919050565b5f6020820190508181035f830152614b8381614b4a565b9050919050565b7f5b66726f6d5d20626c61636b206c6973740000000000000000000000000000005f82015250565b5f614bbe601183613c59565b9150614bc982614b8a565b602082019050919050565b5f6020820190508181035f830152614beb81614bb2565b9050919050565b7f5b746f5d20626c61636b206c69737400000000000000000000000000000000005f82015250565b5f614c26600f83613c59565b9150614c3182614bf2565b602082019050919050565b5f6020820190508181035f830152614c5381614c1a565b9050919050565b7f54726164696e67206973206e6f74206163746976652e000000000000000000005f82015250565b5f614c8e601683613c59565b9150614c9982614c5a565b602082019050919050565b5f6020820190508181035f830152614cbb81614c82565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c5f8201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b5f614d42604983613c59565b9150614d4d82614cc2565b606082019050919050565b5f6020820190508181035f830152614d6f81614d36565b9050919050565b7f427579207472616e7366657220616d6f756e74206578636565647320746865205f8201527f6d617854782e0000000000000000000000000000000000000000000000000000602082015250565b5f614dd0602683613c59565b9150614ddb82614d76565b604082019050919050565b5f6020820190508181035f830152614dfd81614dc4565b9050919050565b7f4d61782077616c6c6574206578636565646564000000000000000000000000005f82015250565b5f614e38601383613c59565b9150614e4382614e04565b602082019050919050565b5f6020820190508181035f830152614e6581614e2c565b9050919050565b7f53656c6c207472616e7366657220616d6f756e742065786365656473207468655f8201527f206d617854782e00000000000000000000000000000000000000000000000000602082015250565b5f614ec6602783613c59565b9150614ed182614e6c565b604082019050919050565b5f6020820190508181035f830152614ef381614eba565b9050919050565b5f614f0482613d4a565b9150614f0f83613d4a565b9250828203905081811115614f2757614f2661439b565b5b92915050565b5f81519050614f3b81613d20565b92915050565b5f60208284031215614f5657614f55613ce8565b5b5f614f6384828501614f2d565b91505092915050565b5f819050919050565b5f614f8f614f8a614f8584614f6c565b613dee565b613d4a565b9050919050565b614f9f81614f75565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b614fd781613d0f565b82525050565b5f614fe88383614fce565b60208301905092915050565b5f602082019050919050565b5f61500a82614fa5565b6150148185614faf565b935061501f83614fbf565b805f5b8381101561504f5781516150368882614fdd565b975061504183614ff4565b925050600181019050615022565b5085935050505092915050565b5f60a08201905061506f5f830188613e62565b61507c6020830187614f96565b818103604083015261508e8186615000565b905061509d6060830185613eda565b6150aa6080830184613e62565b9695505050505050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f61510e602683613c59565b9150615119826150b4565b604082019050919050565b5f6020820190508181035f83015261513b81615102565b9050919050565b5f81905092915050565b50565b5f61515a5f83615142565b91506151658261514c565b5f82019050919050565b5f6151798261514f565b915081905091905056fea26469706673582212209c8fb8e02b55c3b079154249f507cc6928281cf924d8bb786b744ff6a9e3de4864736f6c634300081e0033

Verified Source Code Partial Match

Compiler: v0.8.30+commit.73712a01 EVM: prague Optimization: No
KARDEX.sol 1040 lines
/** 

Next-generation crypto wallet that seamlessly bridges the gap between digital assets and everyday spending.

Website:  https://kardex.finance
Docs:     https://docs.kardex.finance
X:        https://x.com/KardexWallet
Telegram: https://t.me/Kardex_Wallet

**/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.23;

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

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}

abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );

    constructor() {
        _transferOwnership(_msgSender());
    }

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

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

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

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

    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

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

interface IERC20Metadata is IERC20 {
    function name() external view returns (string memory);

    function symbol() external view returns (string memory);

    function decimals() external view returns (uint8);
}

contract ERC20 is Context, IERC20, IERC20Metadata {
    mapping(address => uint256) private _balances;

    mapping(address => mapping(address => uint256)) private _allowances;

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

    function name() public view virtual override returns (string memory) {
        return _name;
    }

    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }

    function decimals() public view virtual override returns (uint8) {
        return 18;
    }

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

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

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

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

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

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(
            currentAllowance >= amount,
            "ERC20: transfer amount exceeds allowance"
        );
        unchecked {
            _approve(sender, _msgSender(), currentAllowance - amount);
        }

        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue)
        public
        virtual
        returns (bool)
    {
        _approve(
            _msgSender(),
            spender,
            _allowances[_msgSender()][spender] + addedValue
        );
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue)
        public
        virtual
        returns (bool)
    {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(
            currentAllowance >= subtractedValue,
            "ERC20: decreased allowance below zero"
        );
        unchecked {
            _approve(_msgSender(), spender, currentAllowance - subtractedValue);
        }

        return true;
    }

    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        _beforeTokenTransfer(sender, recipient, amount);

        uint256 senderBalance = _balances[sender];
        require(
            senderBalance >= amount,
            "ERC20: transfer amount exceeds balance"
        );
        unchecked {
            _balances[sender] = senderBalance - amount;
        }
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);

        _afterTokenTransfer(sender, recipient, amount);
    }

    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

        _beforeTokenTransfer(address(0), account, amount);

        _totalSupply += amount;
        _balances[account] += amount;
        emit Transfer(address(0), account, amount);

        _afterTokenTransfer(address(0), account, amount);
    }

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

        _beforeTokenTransfer(account, address(0), amount);

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

        _afterTokenTransfer(account, address(0), amount);
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        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 _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}

    function _afterTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
}

library SafeMath {
    function tryAdd(uint256 a, uint256 b)
        internal
        pure
        returns (bool, uint256)
    {
        unchecked {
            uint256 c = a + b;
            if (c < a) return (false, 0);
            return (true, c);
        }
    }

    function trySub(uint256 a, uint256 b)
        internal
        pure
        returns (bool, uint256)
    {
        unchecked {
            if (b > a) return (false, 0);
            return (true, a - b);
        }
    }

    function tryMul(uint256 a, uint256 b)
        internal
        pure
        returns (bool, uint256)
    {
        unchecked {
            if (a == 0) return (true, 0);
            uint256 c = a * b;
            if (c / a != b) return (false, 0);
            return (true, c);
        }
    }

    function tryDiv(uint256 a, uint256 b)
        internal
        pure
        returns (bool, uint256)
    {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a / b);
        }
    }

    function tryMod(uint256 a, uint256 b)
        internal
        pure
        returns (bool, uint256)
    {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a % b);
        }
    }

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        return a + b;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return a - b;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        return a * b;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return a % b;
    }

    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b <= a, errorMessage);
            return a - b;
        }
    }

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

    function mod(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a % b;
        }
    }
}

interface IUniswapV2Factory {
    event PairCreated(
        address indexed token0,
        address indexed token1,
        address pair,
        uint256
    );

    function feeTo() external view returns (address);

    function feeToSetter() external view returns (address);

    function getPair(address tokenA, address tokenB)
        external
        view
        returns (address pair);

    function allPairs(uint256) external view returns (address pair);

    function allPairsLength() external view returns (uint256);

    function createPair(address tokenA, address tokenB)
        external
        returns (address pair);

    function setFeeTo(address) external;

    function setFeeToSetter(address) external;
}

interface IUniswapV2Pair {
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
    event Transfer(address indexed from, address indexed to, uint256 value);

    function name() external pure returns (string memory);

    function symbol() external pure returns (string memory);

    function decimals() external pure returns (uint8);

    function totalSupply() external view returns (uint256);

    function balanceOf(address owner) external view returns (uint256);

    function allowance(address owner, address spender)
        external
        view
        returns (uint256);

    function approve(address spender, uint256 value) external returns (bool);

    function transfer(address to, uint256 value) external returns (bool);

    function transferFrom(
        address from,
        address to,
        uint256 value
    ) external returns (bool);

    function DOMAIN_SEPARATOR() external view returns (bytes32);

    function PERMIT_TYPEHASH() external pure returns (bytes32);

    function nonces(address owner) external view returns (uint256);

    function permit(
        address owner,
        address spender,
        uint256 value,
        uint256 deadline,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external;

    event Mint(address indexed sender, uint256 amount0, uint256 amount1);
    event Burn(
        address indexed sender,
        uint256 amount0,
        uint256 amount1,
        address indexed to
    );
    event Swap(
        address indexed sender,
        uint256 amount0In,
        uint256 amount1In,
        uint256 amount0Out,
        uint256 amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);

    function MINIMUM_LIQUIDITY() external pure returns (uint256);

    function factory() external view returns (address);

    function token0() external view returns (address);

    function token1() external view returns (address);

    function getReserves()
        external
        view
        returns (
            uint112 reserve0,
            uint112 reserve1,
            uint32 blockTimestampLast
        );

    function price0CumulativeLast() external view returns (uint256);

    function price1CumulativeLast() external view returns (uint256);

    function kLast() external view returns (uint256);

    function mint(address to) external returns (uint256 liquidity);

    function burn(address to)
        external
        returns (uint256 amount0, uint256 amount1);

    function swap(
        uint256 amount0Out,
        uint256 amount1Out,
        address to,
        bytes calldata data
    ) external;

    function skim(address to) external;

    function sync() external;

    function initialize(address, address) external;
}

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

    function WETH() external pure returns (address);

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint256 amountADesired,
        uint256 amountBDesired,
        uint256 amountAMin,
        uint256 amountBMin,
        address to,
        uint256 deadline
    )
        external
        returns (
            uint256 amountA,
            uint256 amountB,
            uint256 liquidity
        );

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

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

    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external payable;

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

contract KARDEX is ERC20, Ownable {
    using SafeMath for uint256;

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

    bool private swapping;

    address public marketerWallet;
    address public devWallet;

    uint256 public maxTx;
    uint256 public swapTokensAtAmount;
    uint256 public maxWallets;

    bool public limitsInEffect = true;
    bool public tradingActive = false;
    bool public swapEnabled = false;

    // Anti-bot and anti-whale mappings and variables
    mapping(address => uint256) private _holderLastTransferTimestamp;
    bool public transferDelayEnabled = false;

    uint256 public buyTotalFees;
    uint256 public buyMarketingFee;
    uint256 public buyDevFee;

    uint256 public sellTotalFees;
    uint256 public sellMarketingFee;
    uint256 public sellDevFee;

    uint256 public tokensForMarkets;
    uint256 public tokensForDev;

    uint256 public lastSwapBackBlock;


    mapping(address => bool) private _isBlackList;
    mapping(address => bool) private _isExcludedFromFees;
    mapping(address => bool) public _isExcludedmaxTx;

    mapping(address => bool) public automatedMarketMakerPairs;

    event UpdateUniswapV2Router(
        address indexed newAddress,
        address indexed oldAddress
    );

    event ExcludeFromFees(address indexed account, bool isExcluded);

    event SetAutomatedMarketMakerPair(address indexed pair, bool indexed value);

    event marketerWalletUpdated(
        address indexed newWallet,
        address indexed oldevWalletallet
    );

    event devWalletUpdated(
        address indexed newWallet,
        address indexed olDevsWalletallet
    );

    constructor() ERC20("Kardex", unicode"KARDEX") {
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);

        setExcludedFromMaxTX(address(_uniswapV2Router), true);
        uniswapV2Router = _uniswapV2Router;

        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());
        setExcludedFromMaxTX(address(uniswapV2Pair), true);
        _setAutomatedMarketMakerPair(address(uniswapV2Pair), true);

        uint256 _buyMarketingFee = 3;
        uint256 _sellMarketingFee = 3;
        uint256 _buyDevFee = 0;
        uint256 _sellDevFee = 0;

        uint256 totalSupply = 100_000_000 * 1e18;
        

        maxTx = 2_000_000 * 1e18;
        maxWallets = 2_000_000 * 1e18;
        swapTokensAtAmount = (totalSupply * 3) / 10000;

        marketerWallet = address(0x5216CD2923Eca6aAa854846be6A574Db4E55E661);
        devWallet = address(0x5216CD2923Eca6aAa854846be6A574Db4E55E661);

        buyMarketingFee = _buyMarketingFee;
        buyDevFee = _buyDevFee;
        buyTotalFees = buyMarketingFee + buyDevFee;

        sellMarketingFee = _sellMarketingFee;
        sellDevFee = _sellDevFee;
        sellTotalFees = sellMarketingFee + sellDevFee;

        excludeFromFees(owner(), true);
        excludeFromFees(address(this), true);
        excludeFromFees(address(0xdead), true);

        setExcludedFromMaxTX(owner(), true);
        setExcludedFromMaxTX(address(this), true);
        setExcludedFromMaxTX(address(0xdead), true);
        

        _mint(msg.sender, totalSupply);
    }

    receive() external payable {}

    function Launch() external onlyOwner {
        tradingActive = true;
        swapEnabled = true;
    }

    function changeSupplyLimit(bool hasSupplyLimit) external onlyOwner returns (bool) {
        limitsInEffect = hasSupplyLimit;
        return true;
    }

    function stopTransferDelays() external onlyOwner returns (bool) {
        transferDelayEnabled = false;
        return true;
    }

    function updateSwapTokensAtAmount(uint256 newAmount)
        external
        onlyOwner
        returns (bool)
    {
        require(
            newAmount >= (totalSupply() * 1) / 100000,
            "Swap amount cannot be lower than 0.001% total supply."
        );
        require(
            newAmount <= (totalSupply() * 5) / 1000,
            "Swap amount cannot be higher than 0.5% total supply."
        );
        swapTokensAtAmount = newAmount;
        return true;
    }

    function changeMaxTxn(uint256 newNum) external onlyOwner {
        require(
            newNum >= ((totalSupply() * 1) / 1000) / 1e18,
            "Cannot set maxTx lower than 0.1%"
        );
        maxTx = newNum * (10**18);
    }

    function changeMaxWalletSize(uint256 newNum) external onlyOwner {
        require(
            newNum >= ((totalSupply() * 5) / 1000) / 1e18,
            "Cannot set maxWallets lower than 0.5%"
        );
        maxWallets = newNum * (10**18);
    }

    function setExcludedFromMaxTX(address updAds, bool isEx) public onlyOwner {
        _isExcludedmaxTx[updAds] = isEx;
    }

    function updateSwapEnabled(bool enabled) external onlyOwner {
        swapEnabled = enabled;
    }

    function blacklistManyWallets(address[] memory bots_) public onlyOwner {
        for (uint256 i = 0; i < bots_.length; i++) {
            _isBlackList[bots_[i]] = true;
        }
    }

    function blacklistWallet(address addr) external onlyOwner {
        _isBlackList[addr] = true;
    }

    function unblacklistWallet(address addr) external onlyOwner {
        _isBlackList[addr] = false;
    }

    function changeFees(
        uint256 _buyMarketingFee,
        uint256 _buyDevFee,
        uint256 _sellMarketingFee,
        uint256 _sellDevFee
    ) external onlyOwner {
        buyMarketingFee = _buyMarketingFee;
        buyDevFee = _buyDevFee;
        buyTotalFees = buyMarketingFee + buyDevFee;
        sellMarketingFee = _sellMarketingFee;
        sellDevFee = _sellDevFee;
        sellTotalFees = sellMarketingFee + sellDevFee;
        require(buyTotalFees <= 75, "Must keep fees at 70% or less");
        require(sellTotalFees <= 75, "Must keep fees at 70% or less");
    }

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

    function setAutomatedMarketMakerPair(address pair, bool value)
        public
        onlyOwner
    {
        require(
            pair != uniswapV2Pair,
            "The pair cannot be removed from automatedMarketMakerPairs"
        );

        _setAutomatedMarketMakerPair(pair, value);
    }

    function _setAutomatedMarketMakerPair(address pair, bool value) private {
        automatedMarketMakerPairs[pair] = value;

        emit SetAutomatedMarketMakerPair(pair, value);
    }

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

    function changeMktWallet(address newmarketerWallet) external onlyOwner {
        emit marketerWalletUpdated(newmarketerWallet, marketerWallet);
        marketerWallet = newmarketerWallet;
    }

    function changeDevWallet(address newWallet) external onlyOwner {
        emit devWalletUpdated(newWallet, devWallet);
        devWallet = newWallet;
    }

    event flagSniper(address indexed isSniper);

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal override {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(!_isBlackList[from], "[from] black list");
        require(!_isBlackList[to], "[to] black list");

        if (amount == 0) {
            super._transfer(from, to, 0);
            return;
        }

        if (limitsInEffect) {
            if (
                from != owner() &&
                to != owner() &&
                to != address(0) &&
                to != address(0xdead) &&
                !swapping
            ) {
                if (!tradingActive) {
                    require(
                        _isExcludedFromFees[from] || _isExcludedFromFees[to],
                        "Trading is not active."
                    );
                }

                // at launch if the transfer delay is enabled, ensure the block timestamps for purchasers is set -- during launch.
                if (transferDelayEnabled) {
                    if (
                        to != owner() &&
                        to != address(uniswapV2Router) &&
                        to != address(uniswapV2Pair)
                    ) {
                        require(
                            _holderLastTransferTimestamp[tx.origin] <
                                block.number,
                            "_transfer:: Transfer Delay enabled.  Only one purchase per block allowed."
                        );
                        _holderLastTransferTimestamp[tx.origin] = block.number;
                    }
                }

                //when buy
                if (automatedMarketMakerPairs[from] && !_isExcludedmaxTx[to]) {
                    require(
                        amount <= maxTx,
                        "Buy transfer amount exceeds the maxTx."
                    );
                    require(
                        amount + balanceOf(to) <= maxWallets,
                        "Max wallet exceeded"
                    );
                }
                //when sell
                else if (
                    automatedMarketMakerPairs[to] && !_isExcludedmaxTx[from]
                ) {
                    require(
                        amount <= maxTx,
                        "Sell transfer amount exceeds the maxTx."
                    );
                } else if (!_isExcludedmaxTx[to]) {
                    require(
                        amount + balanceOf(to) <= maxWallets,
                        "Max wallet exceeded"
                    );
                }
            }
        }

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

        if (
            canSwap &&
            swapEnabled &&
            !swapping &&
            !automatedMarketMakerPairs[from] &&
            !_isExcludedFromFees[from] &&
            !_isExcludedFromFees[to]
        ) {
            if (block.number > lastSwapBackBlock) {
                swapping = true;

                swapBack();

                swapping = false;

                lastSwapBackBlock = block.number;
            }
        }

        bool takeFee = !swapping;

        // if any account belongs to _isExcludedFromFee account then remove the fee
        if (_isExcludedFromFees[from] || _isExcludedFromFees[to]) {
            takeFee = false;
        }

        uint256 fees = 0;
        // only take fees on buys/sells, do not take on wallet transfers
        if (takeFee) {
            // on sell
            if (automatedMarketMakerPairs[to] && sellTotalFees > 0) {
                fees = amount.mul(sellTotalFees).div(100);
                tokensForDev += (fees * sellDevFee) / sellTotalFees;
                tokensForMarkets += (fees * sellMarketingFee) / sellTotalFees;
            }
            // on buy
            else if (automatedMarketMakerPairs[from] && buyTotalFees > 0) {
                fees = amount.mul(buyTotalFees).div(100);
                tokensForDev += (fees * buyDevFee) / buyTotalFees;
                tokensForMarkets += (fees * buyMarketingFee) / buyTotalFees;
            }

            if (fees > 0) {
                super._transfer(from, address(this), fees);
            }

            amount -= fees;
        }

        super._transfer(from, to, amount);
    }

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

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

    function swapTokensForEth(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();

        _approve(address(this), address(uniswapV2Router), tokenAmount);

        // make the swap
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, // accept any amount of ETH
            path,
            address(this),
            block.timestamp
        );
    }

    function swapBack() private {
        uint256 contractBalance = balanceOf(address(this));
        uint256 totalTokensToSwap = tokensForMarkets + tokensForDev;
        bool success;

        if (contractBalance == 0) {
            return;
        }

        if (contractBalance > swapTokensAtAmount * 20) {
            contractBalance = swapTokensAtAmount * 20;
        }

        uint256 initialETHBalance = address(this).balance;
        swapTokensForEth(contractBalance);

        uint256 ethBalance = address(this).balance.sub(initialETHBalance);
        uint256 ethForDev = ethBalance.mul(tokensForDev).div(totalTokensToSwap);

        tokensForMarkets = 0;
        tokensForDev = 0;

        (success, ) = address(devWallet).call{value: ethForDev}("");
        (success, ) = address(marketerWallet).call{
            value: address(this).balance
        }("");
    }
}

Read Contract

_isExcludedmaxTx 0xe6819ba7 → bool
allowance 0xdd62ed3e → uint256
automatedMarketMakerPairs 0xb62496f5 → bool
balanceOf 0x70a08231 → uint256
buyDevFee 0x9c3b4fdc → uint256
buyMarketingFee 0x7bce5a04 → uint256
buyTotalFees 0xd85ba063 → uint256
deadAddress 0x27c8f835 → address
decimals 0x313ce567 → uint8
devWallet 0x8ea5220f → address
isExcludedFromFees 0x4fbee193 → bool
lastSwapBackBlock 0x432e95a5 → uint256
limitsInEffect 0x4a62bb65 → bool
marketerWallet 0xa72f4586 → address
maxTx 0x7437681e → uint256
maxWallets 0x30a136ad → uint256
name 0x06fdde03 → string
owner 0x8da5cb5b → address
sellDevFee 0xa0d82dc5 → uint256
sellMarketingFee 0x92136913 → uint256
sellTotalFees 0x6a486a8e → uint256
swapEnabled 0x6ddd1713 → bool
swapTokensAtAmount 0xe2f45605 → uint256
symbol 0x95d89b41 → string
tokensForDev 0x9fccce32 → uint256
tokensForMarkets 0x61528e27 → uint256
totalSupply 0x18160ddd → uint256
tradingActive 0xbbc0c742 → bool
transferDelayEnabled 0xc876d0b9 → bool
uniswapV2Pair 0x49bd5a5e → address
uniswapV2Router 0x1694505e → address

Write Contract 24 functions

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

Launch 0x02ac8168
No parameters
approve 0x095ea7b3
address spender
uint256 amount
returns: bool
blacklistManyWallets 0xc48b2907
address[] bots_
blacklistWallet 0x62441bf6
address addr
changeDevWallet 0xbd8d8211
address newWallet
changeFees 0x650c4226
uint256 _buyMarketingFee
uint256 _buyDevFee
uint256 _sellMarketingFee
uint256 _sellDevFee
changeMaxTxn 0x4be3fa9b
uint256 newNum
changeMaxWalletSize 0xb87f137a
uint256 newNum
changeMktWallet 0x997460f1
address newmarketerWallet
changeSupplyLimit 0x458a6813
bool hasSupplyLimit
returns: bool
decreaseAllowance 0xa457c2d7
address spender
uint256 subtractedValue
returns: bool
excludeFromFees 0xc0246668
address account
bool excluded
increaseAllowance 0x39509351
address spender
uint256 addedValue
returns: bool
manualSwap 0xb70143c9
uint256 amount
renounceOwnership 0x715018a6
No parameters
setAutomatedMarketMakerPair 0x9a7a23d6
address pair
bool value
setExcludedFromMaxTX 0x61fa6254
address updAds
bool isEx
stopTransferDelays 0x531631e8
No parameters
returns: bool
transfer 0xa9059cbb
address recipient
uint256 amount
returns: bool
transferFrom 0x23b872dd
address sender
address recipient
uint256 amount
returns: bool
transferOwnership 0xf2fde38b
address newOwner
unblacklistWallet 0x5b34bc41
address addr
updateSwapEnabled 0x924de9b7
bool enabled
updateSwapTokensAtAmount 0xd257b34f
uint256 newAmount
returns: bool

Recent Transactions

No transactions found for this address