Cryo Explorer Ethereum Mainnet

Address Contract Verified

Address 0xE194CfF868C88743428c165869caab56F9fb459A
Balance 0 ETH
Nonce 1
Code Size 16331 bytes
Indexed Transactions 0
External Etherscan · Sourcify

Contract Bytecode

16331 bytes
0x608060405260043610610275575f3560e01c8063751039fc1161014e578063ae85ade6116100c0578063e6b2603b11610079578063e6b2603b1461094a578063e9fd339414610960578063ea1ce5a81461098a578063f242ab41146109b4578063f2fde38b146109de578063fb0ecfa414610a065761027c565b8063ae85ade614610830578063b94b0aef14610858578063c867d60b14610880578063cc1776d3146108bc578063dd62ed3e146108e6578063df8408fe146109225761027c565b80638b42507f116101125780638b42507f146107125780638da5cb5b1461074e57806395d89b411461077857806395fc8fdf146107a25780639a212943146107ca578063a9059cbb146107f45761027c565b8063751039fc1461066857806375f0a8741461067e5780637d1db4a5146106a8578063807c2d9c146106d25780638a8c523c146106fc5761027c565b80635342acb4116101e75780635e42358c116101ab5780635e42358c14610572578063651a89871461059c5780636ddd1713146105c457806370a08231146105ee578063715018a61461062a578063728d41c9146106405761027c565b80635342acb41461048257806357376198146104be5780635c85974f146104e65780635d098b381461050e5780635da0a467146105365761027c565b806318160ddd1161023957806318160ddd14610364578063230358521461038e57806323b872dd146103b6578063313ce567146103f25780633ecad2711461041c5780634f7041a5146104585761027c565b80630445b6671461028057806306fdde03146102aa5780630758d924146102d4578063095ea7b3146102fe5780631693e8d41461033a5761027c565b3661027c57005b5f80fd5b34801561028b575f80fd5b50610294610a2e565b6040516102a19190613191565b60405180910390f35b3480156102b5575f80fd5b506102be610a34565b6040516102cb9190613234565b60405180910390f35b3480156102df575f80fd5b506102e8610ac4565b6040516102f591906132ce565b60405180910390f35b348015610309575f80fd5b50610324600480360381019061031f9190613354565b610ae9565b60405161033191906133ac565b60405180910390f35b348015610345575f80fd5b5061034e610b06565b60405161035b91906133ac565b60405180910390f35b34801561036f575f80fd5b50610378610b19565b6040516103859190613191565b60405180910390f35b348015610399575f80fd5b506103b460048036038101906103af91906133ef565b610b22565b005b3480156103c1575f80fd5b506103dc60048036038101906103d7919061341a565b610bbb565b6040516103e991906133ac565b60405180910390f35b3480156103fd575f80fd5b50610406610cad565b6040516104139190613485565b60405180910390f35b348015610427575f80fd5b50610442600480360381019061043d919061349e565b610cc2565b60405161044f91906133ac565b60405180910390f35b348015610463575f80fd5b5061046c610cdf565b6040516104799190613191565b60405180910390f35b34801561048d575f80fd5b506104a860048036038101906104a3919061349e565b610ce5565b6040516104b591906133ac565b60405180910390f35b3480156104c9575f80fd5b506104e460048036038101906104df9190613354565b610d02565b005b3480156104f1575f80fd5b5061050c600480360381019061050791906134c9565b610eee565b005b348015610519575f80fd5b50610534600480360381019061052f919061349e565b610f74565b005b348015610541575f80fd5b5061055c6004803603810190610557919061349e565b611033565b60405161056991906133ac565b60405180910390f35b34801561057d575f80fd5b50610586611050565b60405161059391906133ac565b60405180910390f35b3480156105a7575f80fd5b506105c260048036038101906105bd91906134f4565b611063565b005b3480156105cf575f80fd5b506105d8611137565b6040516105e591906133ac565b60405180910390f35b3480156105f9575f80fd5b50610614600480360381019061060f919061349e565b61114a565b6040516106219190613191565b60405180910390f35b348015610635575f80fd5b5061063e611190565b005b34801561064b575f80fd5b50610666600480360381019061066191906134c9565b611217565b005b348015610673575f80fd5b5061067c61129d565b005b348015610689575f80fd5b5061069261134f565b60405161069f9190613541565b60405180910390f35b3480156106b3575f80fd5b506106bc611374565b6040516106c99190613191565b60405180910390f35b3480156106dd575f80fd5b506106e661137a565b6040516106f39190613191565b60405180910390f35b348015610707575f80fd5b50610710611380565b005b34801561071d575f80fd5b506107386004803603810190610733919061349e565b611469565b60405161074591906133ac565b60405180910390f35b348015610759575f80fd5b50610762611486565b60405161076f9190613541565b60405180910390f35b348015610783575f80fd5b5061078c6114ad565b6040516107999190613234565b60405180910390f35b3480156107ad575f80fd5b506107c860048036038101906107c391906135bb565b61153d565b005b3480156107d5575f80fd5b506107de611654565b6040516107eb91906133ac565b60405180910390f35b3480156107ff575f80fd5b5061081a60048036038101906108159190613354565b611667565b60405161082791906133ac565b60405180910390f35b34801561083b575f80fd5b50610856600480360381019061085191906134f4565b611685565b005b348015610863575f80fd5b5061087e60048036038101906108799190613618565b611759565b005b34801561088b575f80fd5b506108a660048036038101906108a1919061349e565b611815565b6040516108b391906133ac565b60405180910390f35b3480156108c7575f80fd5b506108d0611832565b6040516108dd9190613191565b60405180910390f35b3480156108f1575f80fd5b5061090c60048036038101906109079190613668565b611838565b6040516109199190613191565b60405180910390f35b34801561092d575f80fd5b50610948600480360381019061094391906134f4565b6118ba565b005b348015610955575f80fd5b5061095e61198e565b005b34801561096b575f80fd5b50610974611ae9565b60405161098191906133ac565b60405180910390f35b348015610995575f80fd5b5061099e611afc565b6040516109ab91906133ac565b60405180910390f35b3480156109bf575f80fd5b506109c8611b0f565b6040516109d59190613541565b60405180910390f35b3480156109e9575f80fd5b50610a0460048036038101906109ff919061349e565b611b34565b005b348015610a11575f80fd5b50610a2c6004803603810190610a2791906136a6565b611c2a565b005b60105481565b606060018054610a4390613711565b80601f0160208091040260200160405190810160405280929190818152602001828054610a6f90613711565b8015610aba5780601f10610a9157610100808354040283529160200191610aba565b820191905f5260205f20905b815481529060010190602001808311610a9d57829003601f168201915b5050505050905090565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f610afc610af5611cb8565b8484611cbf565b6001905092915050565b601360149054906101000a900460ff1681565b5f600d54905090565b610b2a611cb8565b73ffffffffffffffffffffffffffffffffffffffff16610b48611486565b73ffffffffffffffffffffffffffffffffffffffff1614610b9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b959061378b565b60405180910390fd5b80601360156101000a81548160ff02191690831515021790555050565b5f610bc7848484611e86565b50610ca284610bd4611cb8565b610c9d856040518060400160405280601881526020017f45524332303a204578636565647320616c6c6f77616e6365000000000000000081525060075f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610c54611cb8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546125b99092919063ffffffff16565b611cbf565b600190509392505050565b5f60035f9054906101000a900460ff16905090565b6009602052805f5260405f205f915054906101000a900460ff1681565b60045481565b6008602052805f5260405f205f915054906101000a900460ff1681565b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d88906137f3565b60405180910390fd5b5f8273ffffffffffffffffffffffffffffffffffffffff1660115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683604051602401610ddd929190613811565b6040516020818303038152906040527fa9059cbb000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051610e67919061387c565b5f604051808303815f865af19150503d805f8114610ea0576040519150601f19603f3d011682016040523d82523d5f602084013e610ea5565b606091505b5050905080610ee9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee0906138dc565b60405180910390fd5b505050565b610ef6611cb8565b73ffffffffffffffffffffffffffffffffffffffff16610f14611486565b73ffffffffffffffffffffffffffffffffffffffff1614610f6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f619061378b565b60405180910390fd5b80600e8190555050565b610f7c611cb8565b73ffffffffffffffffffffffffffffffffffffffff16610f9a611486565b73ffffffffffffffffffffffffffffffffffffffff1614610ff0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe79061378b565b60405180910390fd5b8060115f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600c602052805f5260405f205f915054906101000a900460ff1681565b601160169054906101000a900460ff1681565b61106b611cb8565b73ffffffffffffffffffffffffffffffffffffffff16611089611486565b73ffffffffffffffffffffffffffffffffffffffff16146110df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110d69061378b565b60405180910390fd5b80600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b601160149054906101000a900460ff1681565b5f60065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b611198611cb8565b73ffffffffffffffffffffffffffffffffffffffff166111b6611486565b73ffffffffffffffffffffffffffffffffffffffff161461120c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112039061378b565b60405180910390fd5b6112155f61261b565b565b61121f611cb8565b73ffffffffffffffffffffffffffffffffffffffff1661123d611486565b73ffffffffffffffffffffffffffffffffffffffff1614611293576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128a9061378b565b60405180910390fd5b80600f8190555050565b6112a5611cb8565b73ffffffffffffffffffffffffffffffffffffffff166112c3611486565b73ffffffffffffffffffffffffffffffffffffffff1614611319576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113109061378b565b60405180910390fd5b5f601160166101000a81548160ff0219169083151502179055505f601160176101000a81548160ff021916908315150217905550565b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600e5481565b600f5481565b611388611cb8565b73ffffffffffffffffffffffffffffffffffffffff166113a6611486565b73ffffffffffffffffffffffffffffffffffffffff16146113fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f39061378b565b60405180910390fd5b601360149054906101000a900460ff161561144c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144390613944565b60405180910390fd5b6001601360146101000a81548160ff021916908315150217905550565b600b602052805f5260405f205f915054906101000a900460ff1681565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600280546114bc90613711565b80601f01602080910402602001604051908101604052809291908181526020018280546114e890613711565b80156115335780601f1061150a57610100808354040283529160200191611533565b820191905f5260205f20905b81548152906001019060200180831161151657829003601f168201915b5050505050905090565b611545611cb8565b73ffffffffffffffffffffffffffffffffffffffff16611563611486565b73ffffffffffffffffffffffffffffffffffffffff16146115b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115b09061378b565b60405180910390fd5b5f5b8383905081101561164e5781600c5f8686858181106115dd576115dc613962565b5b90506020020160208101906115f2919061349e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806001019150506115bb565b50505050565b601160179054906101000a900460ff1681565b5f61167a611673611cb8565b8484611e86565b506001905092915050565b61168d611cb8565b73ffffffffffffffffffffffffffffffffffffffff166116ab611486565b73ffffffffffffffffffffffffffffffffffffffff1614611701576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116f89061378b565b60405180910390fd5b80600b5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b611761611cb8565b73ffffffffffffffffffffffffffffffffffffffff1661177f611486565b73ffffffffffffffffffffffffffffffffffffffff16146117d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117cc9061378b565b60405180910390fd5b81601160146101000a81548160ff02191690831515021790555080601160156101000a81548160ff02191690831515021790555082601081905550505050565b600a602052805f5260405f205f915054906101000a900460ff1681565b60055481565b5f60075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6118c2611cb8565b73ffffffffffffffffffffffffffffffffffffffff166118e0611486565b73ffffffffffffffffffffffffffffffffffffffff1614611936576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161192d9061378b565b60405180910390fd5b8060085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611a1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a14906137f3565b60405180910390fd5b5f60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1647604051611a63906139b2565b5f6040518083038185875af1925050503d805f8114611a9d576040519150601f19603f3d011682016040523d82523d5f602084013e611aa2565b606091505b5050905080611ae6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611add90613a10565b60405180910390fd5b50565b601160159054906101000a900460ff1681565b601360159054906101000a900460ff1681565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611b3c611cb8565b73ffffffffffffffffffffffffffffffffffffffff16611b5a611486565b73ffffffffffffffffffffffffffffffffffffffff1614611bb0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ba79061378b565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611c1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c1590613a9e565b60405180910390fd5b611c278161261b565b50565b611c32611cb8565b73ffffffffffffffffffffffffffffffffffffffff16611c50611486565b73ffffffffffffffffffffffffffffffffffffffff1614611ca6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c9d9061378b565b60405180910390fd5b81600481905550806005819055505050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611d2f575f6040517fe602df05000000000000000000000000000000000000000000000000000000008152600401611d269190613541565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611d9f575f6040517f94280d62000000000000000000000000000000000000000000000000000000008152600401611d969190613541565b60405180910390fd5b8060075f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611e799190613191565b60405180910390a3505050565b5f8073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611ef7575f6040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401611eee9190613541565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611f67575f6040517fec442f05000000000000000000000000000000000000000000000000000000008152600401611f5e9190613541565b60405180910390fd5b5f8203611fa0576040517f67c8957700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b601360169054906101000a900460ff1615611fc757611fc08484846126dc565b90506125b2565b600c5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156120655750600c5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156120b157601360149054906101000a900460ff166120b0576040517ff27f64e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b5f6120bb3061114a565b90505f60105482101590508080156120e05750601360169054906101000a900460ff16155b8015612133575060095f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b801561214b5750601160149054906101000a900460ff165b801561219e575060085f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156121f1575060085f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612200576121ff826128a6565b5b600b5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615801561229e5750600b5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156122b65750601160169054906101000a900460ff165b1561230157600e54841115612300576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122f790613b06565b60405180910390fd5b5b612388846040518060400160405280601481526020017f496e73756666696369656e742042616c616e636500000000000000000000000081525060065f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546125b99092919063ffffffff16565b60065f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f6123d4878761298c565b6123e8576123e3878787612ae8565b6123ea565b845b9050601160179054906101000a900460ff16801561244f5750600a5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156124b457600f54612472826124648961114a565b612d4390919063ffffffff16565b11156124b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124aa90613b6e565b60405180910390fd5b5b6125048160065f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612d4390919063ffffffff16565b60065f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516125a29190613191565b60405180910390a3600193505050505b9392505050565b5f838311158290612600576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125f79190613234565b60405180910390fd5b505f838561260e9190613bb9565b9050809150509392505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f612764826040518060400160405280601481526020017f496e73756666696369656e742042616c616e636500000000000000000000000081525060065f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546125b99092919063ffffffff16565b60065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506127f58260065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612d4390919063ffffffff16565b60065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516128939190613191565b60405180910390a3600190509392505050565b6001601360166101000a81548160ff021916908315150217905550601160159054906101000a900460ff16156128dc5760105490505b5f4790506128e982612da0565b5f6128fd824761300f90919063ffffffff16565b90505f81111561296d5760115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f1935050505015801561296b573d5f803e3d5ffd5b505b50505f601360166101000a81548160ff02191690831515021790555050565b5f60085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680612a28575060085f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b15612a365760019050612ae2565b60095f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680612ad1575060095f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b15612ade575f9050612ae2565b5f90505b92915050565b5f8060095f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615612b6857612b616064612b536004548661305890919063ffffffff16565b6130cf90919063ffffffff16565b9050612c27565b60095f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615612be657612bdf6064612bd16005548661305890919063ffffffff16565b6130cf90919063ffffffff16565b9050612c26565b601360159054906101000a900460ff1615612c2557612c226064612c1460638661305890919063ffffffff16565b6130cf90919063ffffffff16565b90505b5b5b5f811115612d2657612c7f8160065f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612d4390919063ffffffff16565b60065f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612d1d9190613191565b60405180910390a35b612d39818461300f90919063ffffffff16565b9150509392505050565b5f808284612d519190613bec565b905083811015612d96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d8d90613c69565b60405180910390fd5b8091505092915050565b5f600267ffffffffffffffff811115612dbc57612dbb613c87565b5b604051908082528060200260200182016040528015612dea5781602001602082028036833780820191505090505b50905030815f81518110612e0157612e00613962565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612ea5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ec99190613cc8565b81600181518110612edd57612edc613962565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612f433060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611cbf565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401612fa5959493929190613de3565b5f604051808303815f87803b158015612fbc575f80fd5b505af1158015612fce573d5f803e3d5ffd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051613003929190613e3b565b60405180910390a15050565b5f61305083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506125b9565b905092915050565b5f808303613068575f90506130c9565b5f82846130759190613e69565b90508284826130849190613ed7565b146130c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016130bb90613f77565b60405180910390fd5b809150505b92915050565b5f61311083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613118565b905092915050565b5f808311829061315e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131559190613234565b60405180910390fd5b505f838561316c9190613ed7565b9050809150509392505050565b5f819050919050565b61318b81613179565b82525050565b5f6020820190506131a45f830184613182565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156131e15780820151818401526020810190506131c6565b5f8484015250505050565b5f601f19601f8301169050919050565b5f613206826131aa565b61321081856131b4565b93506132208185602086016131c4565b613229816131ec565b840191505092915050565b5f6020820190508181035f83015261324c81846131fc565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f819050919050565b5f61329661329161328c84613254565b613273565b613254565b9050919050565b5f6132a78261327c565b9050919050565b5f6132b88261329d565b9050919050565b6132c8816132ae565b82525050565b5f6020820190506132e15f8301846132bf565b92915050565b5f80fd5b5f80fd5b5f6132f982613254565b9050919050565b613309816132ef565b8114613313575f80fd5b50565b5f8135905061332481613300565b92915050565b61333381613179565b811461333d575f80fd5b50565b5f8135905061334e8161332a565b92915050565b5f806040838503121561336a576133696132e7565b5b5f61337785828601613316565b925050602061338885828601613340565b9150509250929050565b5f8115159050919050565b6133a681613392565b82525050565b5f6020820190506133bf5f83018461339d565b92915050565b6133ce81613392565b81146133d8575f80fd5b50565b5f813590506133e9816133c5565b92915050565b5f60208284031215613404576134036132e7565b5b5f613411848285016133db565b91505092915050565b5f805f60608486031215613431576134306132e7565b5b5f61343e86828701613316565b935050602061344f86828701613316565b925050604061346086828701613340565b9150509250925092565b5f60ff82169050919050565b61347f8161346a565b82525050565b5f6020820190506134985f830184613476565b92915050565b5f602082840312156134b3576134b26132e7565b5b5f6134c084828501613316565b91505092915050565b5f602082840312156134de576134dd6132e7565b5b5f6134eb84828501613340565b91505092915050565b5f806040838503121561350a576135096132e7565b5b5f61351785828601613316565b9250506020613528858286016133db565b9150509250929050565b61353b816132ef565b82525050565b5f6020820190506135545f830184613532565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f84011261357b5761357a61355a565b5b8235905067ffffffffffffffff8111156135985761359761355e565b5b6020830191508360208202830111156135b4576135b3613562565b5b9250929050565b5f805f604084860312156135d2576135d16132e7565b5b5f84013567ffffffffffffffff8111156135ef576135ee6132eb565b5b6135fb86828701613566565b9350935050602061360e868287016133db565b9150509250925092565b5f805f6060848603121561362f5761362e6132e7565b5b5f61363c86828701613340565b935050602061364d868287016133db565b925050604061365e868287016133db565b9150509250925092565b5f806040838503121561367e5761367d6132e7565b5b5f61368b85828601613316565b925050602061369c85828601613316565b9150509250929050565b5f80604083850312156136bc576136bb6132e7565b5b5f6136c985828601613340565b92505060206136da85828601613340565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061372857607f821691505b60208210810361373b5761373a6136e4565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6137756020836131b4565b915061378082613741565b602082019050919050565b5f6020820190508181035f8301526137a281613769565b9050919050565b7f556e617574686f72697a656400000000000000000000000000000000000000005f82015250565b5f6137dd600c836131b4565b91506137e8826137a9565b602082019050919050565b5f6020820190508181035f83015261380a816137d1565b9050919050565b5f6040820190506138245f830185613532565b6138316020830184613182565b9392505050565b5f81519050919050565b5f81905092915050565b5f61385682613838565b6138608185613842565b93506138708185602086016131c4565b80840191505092915050565b5f613887828461384c565b915081905092915050565b7f546f6b656e207061796d656e74206661696c65640000000000000000000000005f82015250565b5f6138c66014836131b4565b91506138d182613892565b602082019050919050565b5f6020820190508181035f8301526138f3816138ba565b9050919050565b7f547261646520456e61626c6564210000000000000000000000000000000000005f82015250565b5f61392e600e836131b4565b9150613939826138fa565b602082019050919050565b5f6020820190508181035f83015261395b81613922565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b50565b5f61399d5f83613842565b91506139a88261398f565b5f82019050919050565b5f6139bc82613992565b9150819050919050565b7f5472616e73616374696f6e204661696c656421210000000000000000000000005f82015250565b5f6139fa6014836131b4565b9150613a05826139c6565b602082019050919050565b5f6020820190508181035f830152613a27816139ee565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f613a886026836131b4565b9150613a9382613a2e565b604082019050919050565b5f6020820190508181035f830152613ab581613a7c565b9050919050565b7f45786365656473206d61785478416d6f756e74000000000000000000000000005f82015250565b5f613af06013836131b4565b9150613afb82613abc565b602082019050919050565b5f6020820190508181035f830152613b1d81613ae4565b9050919050565b7f457863656564732057616c6c65740000000000000000000000000000000000005f82015250565b5f613b58600e836131b4565b9150613b6382613b24565b602082019050919050565b5f6020820190508181035f830152613b8581613b4c565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f613bc382613179565b9150613bce83613179565b9250828203905081811115613be657613be5613b8c565b5b92915050565b5f613bf682613179565b9150613c0183613179565b9250828201905080821115613c1957613c18613b8c565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613c53601b836131b4565b9150613c5e82613c1f565b602082019050919050565b5f6020820190508181035f830152613c8081613c47565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f81519050613cc281613300565b92915050565b5f60208284031215613cdd57613cdc6132e7565b5b5f613cea84828501613cb4565b91505092915050565b5f819050919050565b5f613d16613d11613d0c84613cf3565b613273565b613179565b9050919050565b613d2681613cfc565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613d5e816132ef565b82525050565b5f613d6f8383613d55565b60208301905092915050565b5f602082019050919050565b5f613d9182613d2c565b613d9b8185613d36565b9350613da683613d46565b805f5b83811015613dd6578151613dbd8882613d64565b9750613dc883613d7b565b925050600181019050613da9565b5085935050505092915050565b5f60a082019050613df65f830188613182565b613e036020830187613d1d565b8181036040830152613e158186613d87565b9050613e246060830185613532565b613e316080830184613182565b9695505050505050565b5f604082019050613e4e5f830185613182565b8181036020830152613e608184613d87565b90509392505050565b5f613e7382613179565b9150613e7e83613179565b9250828202613e8c81613179565b91508282048414831517613ea357613ea2613b8c565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f613ee182613179565b9150613eec83613179565b925082613efc57613efb613eaa565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f613f616021836131b4565b9150613f6c82613f07565b604082019050919050565b5f6020820190508181035f830152613f8e81613f55565b905091905056fea26469706673582212204b4cb0f4fee8e14e00f626e9337ca7cdb138513e8f583c48fe85f4b92c7aaebc64736f6c63430008160033

Verified Source Code Full Match

Compiler: v0.8.22+commit.4fc1097e EVM: shanghai Optimization: No
GoblinCoin.sol 528 lines
/*

Website  : https://goblineth.fun/
Telegram : https://t.me/GoblinCoinPortal
Twitter  : https://x.com/goblincoin_eth0
*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.22;

//GAS OPTIMIZED ERROR MESSAGES
error ERC20InvalidSender(address sender);
error ERC20InvalidReceiver(address receiver);
error ERC20InvalidApprover(address approver);
error ERC20InvalidSpender(address spender);
error ERC20TransferFailed();
error ERC20ZeroTransfer();
error PaymentFailed();


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

abstract contract Ownable is Context {
    address private _owner;

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

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() {
        _setOwner(_msgSender());
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if called by any _account other than the owner.
     */
    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

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

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

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

library SafeMath {

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

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

        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

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

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

interface IDexSwapRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

contract GoblinCoin is Context, IERC20, Ownable {

    using SafeMath for uint256;

    string private _name = "GoblinCoin";
    string private _symbol = "GoblinCoin";
    uint8 private _decimals = 9; 

    uint256 public buyTax;
    uint256 public sellTax;
    
    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) private _allowances;

    mapping (address => bool) public isExcludedFromFee;
    mapping (address => bool) public isMarketPair;
    mapping (address => bool) public isWalletLimitExempt;
    mapping (address => bool) public isTxLimitExempt;
    mapping (address => bool) public isWlAddress;

    uint256 private _totalSupply = 1_000_000_000 * 10**_decimals;

    uint256 public _maxTxAmount =  _totalSupply.mul(2).div(100);     
    uint256 public _walletMax = _totalSupply.mul(2).div(100);        

    uint256 public swapThreshold = _totalSupply.mul(2).div(100);

    address public marketingWallet;

    bool public swapEnabled = true;
    bool public swapbylimit = true;
    bool public EnableTxLimit = true;
    bool public EnableWalletLimit = true;

    IDexSwapRouter public dexRouter;
    address public dexPair;

    bool public tradingEnable; 
    bool public transferSniperProtection;

    bool inSwap;

    modifier swapping() {
        inSwap = true;
        _;
        inSwap = false;
    }
    
    event SwapTokensForETH(
        uint256 amountIn,
        address[] path
    );

    constructor() {

        marketingWallet = msg.sender;

        IDexSwapRouter _dexRouter = IDexSwapRouter(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );

        dexPair = IDexSwapFactory(_dexRouter.factory())
            .createPair(address(this), _dexRouter.WETH());

        dexRouter = _dexRouter;
        
        isExcludedFromFee[address(this)] = true;
        isExcludedFromFee[msg.sender] = true;

        isWalletLimitExempt[msg.sender] = true;
        isWalletLimitExempt[address(this)] = true;
        isWalletLimitExempt[address(0xdead)] = true;
        isWalletLimitExempt[address(dexPair)] = true;

        isWlAddress[address(msg.sender)] = true;
        isWlAddress[address(this)] = true;
        
        isTxLimitExempt[address(0xdead)] = true;
        isTxLimitExempt[msg.sender] = true;
        isTxLimitExempt[address(this)] = true;

        isMarketPair[address(dexPair)] = true;

        buyTax = 50;
        sellTax = 50;
        transferSniperProtection = true;

        _balances[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _totalSupply);
    }


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

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

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

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

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

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

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

    function _approve(address owner, address spender, uint256 amount) private {
        if (owner == address(0)) {
            revert ERC20InvalidApprover(address(0));
        }
        if (spender == address(0)) {
            revert ERC20InvalidSpender(address(0));
        }

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

     //to recieve ETH from Router when swaping
    receive() external payable {}

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

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

    function _transfer(address sender, address recipient, uint256 amount) private returns (bool) {

        if (sender == address(0)) {
            revert ERC20InvalidSender(address(0));
        }
        if (recipient == address(0)) {
            revert ERC20InvalidReceiver(address(0));
        }
        if(amount == 0) {
            revert ERC20ZeroTransfer();
        }
    
        if (inSwap) {
            return _basicTransfer(sender, recipient, amount);
        }
        else {

            if (!isWlAddress[sender] && !isWlAddress[recipient]) {
                if(!tradingEnable) {
                    revert ERC20TransferFailed();
                }
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            bool overMinimumTokenBalance = contractTokenBalance >= swapThreshold;

            if (
                overMinimumTokenBalance && 
                !inSwap && 
                !isMarketPair[sender] && 
                swapEnabled &&
                !isExcludedFromFee[sender] &&
                !isExcludedFromFee[recipient]
                ) {
                swapBack(contractTokenBalance);
            }

            if(!isTxLimitExempt[sender] && !isTxLimitExempt[recipient] && EnableTxLimit) {
                require(amount <= _maxTxAmount, "Exceeds maxTxAmount");
            } 
            
            _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");

            uint256 finalAmount = shouldNotTakeFee(sender,recipient) ? amount : takeFee(sender, recipient, amount);

            if(EnableWalletLimit && !isWalletLimitExempt[recipient]) {
                require(balanceOf(recipient).add(finalAmount) <= _walletMax,"Exceeds Wallet");
            }

            _balances[recipient] = _balances[recipient].add(finalAmount);

            emit Transfer(sender, recipient, finalAmount);
            return true;

        }

    }

    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }
    
    function shouldNotTakeFee(address sender, address recipient) internal view returns (bool) {
        if(isExcludedFromFee[sender] || isExcludedFromFee[recipient]) {
            return true;
        }
        else if (isMarketPair[sender] || isMarketPair[recipient]) {
            return false;
        }
        else {
            return false;
        }
    }


    function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) {
        
        uint feeAmount;

        unchecked {

            if(isMarketPair[sender]) { 
                feeAmount = amount.mul(buyTax).div(100);
            } 
            else if(isMarketPair[recipient]) { 
                feeAmount = amount.mul(sellTax).div(100);
            }
            else if (transferSniperProtection) {
                feeAmount = amount.mul(99).div(100);
            }

            if(feeAmount > 0) {
                _balances[address(this)] = _balances[address(this)].add(feeAmount);
                emit Transfer(sender, address(this), feeAmount);
            }

            return amount.sub(feeAmount);
        }
        
    }


    function swapBack(uint contractBalance) internal swapping {

        if(swapbylimit) contractBalance = swapThreshold;

        uint256 initialBalance = address(this).balance;
        swapTokensForEth(contractBalance);
        uint256 amountReceived = address(this).balance.sub(initialBalance);

        if(amountReceived > 0)
            payable(marketingWallet).transfer(amountReceived);

    }

    function enableTrading() external onlyOwner {
        require(!tradingEnable, "Trade Enabled!");

        tradingEnable = true;
    }

    function swapTokensForEth(uint256 tokenAmount) private {
        // generate the uniswap pair path of token -> weth
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = dexRouter.WETH();

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

        // make the swap
        dexRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, // accept any amount of ETH
            path,
            address(this), // The contract
            block.timestamp
        );
        
        emit SwapTokensForETH(tokenAmount, path);
    }

    function rescueFunds() external { 
        require(msg.sender == marketingWallet,"Unauthorized");
        (bool os,) = payable(marketingWallet).call{value: address(this).balance}("");
        require(os,"Transaction Failed!!");
    }

    function rescueTokens(address _token,uint _amount) external {
        require(msg.sender == marketingWallet,"Unauthorized");
        (bool success, ) = address(_token).call(abi.encodeWithSignature('transfer(address,uint256)',  marketingWallet, _amount));
        require(success, 'Token payment failed');
    }

    function setBuyFee(uint _buySide, uint _sellSide) external onlyOwner {    
        buyTax = _buySide;
        sellTax = _sellSide;
    }

    function removeLimits() external onlyOwner {
        EnableTxLimit = false;
        EnableWalletLimit =  false;
    }

    function transferProtection(bool _status) external onlyOwner {
        transferSniperProtection = _status;
    }

    function updateSetting(address[] calldata _adr, bool _status) external onlyOwner {
        for(uint i = 0; i < _adr.length; i++){
            isWlAddress[_adr[i]] = _status;
        }
    }

    function excludeFromFee(address _adr,bool _status) external onlyOwner {
        isExcludedFromFee[_adr] = _status;
    }

    function excludeWalletLimit(address _adr,bool _status) external onlyOwner {
        isWalletLimitExempt[_adr] = _status;
    }

    function excludeTxLimit(address _adr,bool _status) external onlyOwner {
        isTxLimitExempt[_adr] = _status;
    }

    function setMaxWalletLimit(uint256 newLimit) external onlyOwner() {
        _walletMax = newLimit;
    }

    function setTxLimit(uint256 newLimit) external onlyOwner() {
        _maxTxAmount = newLimit;
    }
    
    function setMarketingWallet(address _newWallet) external onlyOwner {
        marketingWallet = _newWallet; 
    }

    function setSwapBackSettings(uint _threshold, bool _enabled, bool _limited)
        external
        onlyOwner
    {
        swapEnabled = _enabled;
        swapbylimit = _limited;
        swapThreshold = _threshold;
    }



}

Read Contract

EnableTxLimit 0x5e42358c → bool
EnableWalletLimit 0x9a212943 → bool
_maxTxAmount 0x7d1db4a5 → uint256
_walletMax 0x807c2d9c → uint256
allowance 0xdd62ed3e → uint256
balanceOf 0x70a08231 → uint256
buyTax 0x4f7041a5 → uint256
decimals 0x313ce567 → uint8
dexPair 0xf242ab41 → address
dexRouter 0x0758d924 → address
isExcludedFromFee 0x5342acb4 → bool
isMarketPair 0x3ecad271 → bool
isTxLimitExempt 0x8b42507f → bool
isWalletLimitExempt 0xc867d60b → bool
isWlAddress 0x5da0a467 → bool
marketingWallet 0x75f0a874 → address
name 0x06fdde03 → string
owner 0x8da5cb5b → address
sellTax 0xcc1776d3 → uint256
swapEnabled 0x6ddd1713 → bool
swapThreshold 0x0445b667 → uint256
swapbylimit 0xe9fd3394 → bool
symbol 0x95d89b41 → string
totalSupply 0x18160ddd → uint256
tradingEnable 0x1693e8d4 → bool
transferSniperProtection 0xea1ce5a8 → bool

Write Contract 19 functions

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

approve 0x095ea7b3
address spender
uint256 amount
returns: bool
enableTrading 0x8a8c523c
No parameters
excludeFromFee 0xdf8408fe
address _adr
bool _status
excludeTxLimit 0xae85ade6
address _adr
bool _status
excludeWalletLimit 0x651a8987
address _adr
bool _status
removeLimits 0x751039fc
No parameters
renounceOwnership 0x715018a6
No parameters
rescueFunds 0xe6b2603b
No parameters
rescueTokens 0x57376198
address _token
uint256 _amount
setBuyFee 0xfb0ecfa4
uint256 _buySide
uint256 _sellSide
setMarketingWallet 0x5d098b38
address _newWallet
setMaxWalletLimit 0x728d41c9
uint256 newLimit
setSwapBackSettings 0xb94b0aef
uint256 _threshold
bool _enabled
bool _limited
setTxLimit 0x5c85974f
uint256 newLimit
transfer 0xa9059cbb
address recipient
uint256 amount
returns: bool
transferFrom 0x23b872dd
address sender
address recipient
uint256 amount
returns: bool
transferOwnership 0xf2fde38b
address newOwner
transferProtection 0x23035852
bool _status
updateSetting 0x95fc8fdf
address[] _adr
bool _status

Recent Transactions

No transactions found for this address