Cryo Explorer Ethereum Mainnet

Address Contract Partially Verified

Address 0xcd145189A12CCc3F9c622766fb20D00dc2059eAd
Balance 0.030000 ETH
Nonce 1
Code Size 16646 bytes
Indexed Transactions 0
External Etherscan · Sourcify

Contract Bytecode

16646 bytes
0x60806040526004361061028c5760003560e01c80638da5cb5b1161015a578063b0bc2a2d116100c1578063f097ea1a1161007a578063f097ea1a14610a01578063f14210a614610a2a578063f242ab4114610a53578063f2fde38b14610a7e578063f4b3dbc314610aa7578063fe6f1b0514610ae457610293565b8063b0bc2a2d146108df578063bf56b37114610908578063dd62ed3e14610933578063ea5b9e8514610970578063ec44acf214610999578063ed421429146109c457610293565b80639e281a98116101135780639e281a98146107c1578063a2b8a947146107ea578063a457c2d714610813578063a643c1a014610850578063a7c29b4014610879578063a9059cbb146108a257610293565b80638da5cb5b146106b1578063950eb5d5146106dc57806395d89b411461070557806399b102b5146107305780639a36dfa11461076d5780639b6a27501461079857610293565b8063679a3c59116101fe5780637c6a9a9c116101b75780637c6a9a9c146105b3578063844af78e146105de57806384ea21bc146106095780638756aabd14610646578063879dd3c51461066f5780638a8c523c1461069a57610293565b8063679a3c59146104b5578063681aa362146104de57806370a0823114610509578063715018a61461054657806375f0a8741461055d57806379777b4e1461058857610293565b80631884f1e6116102505780631884f1e61461037f57806323b872dd146103aa5780632d129390146103e7578063313ce56714610410578063395093511461043b5780635342acb41461047857610293565b806306fdde03146102985780630758d924146102c3578063095ea7b3146102ee5780630a2d140c1461032b57806318160ddd1461035457610293565b3661029357005b600080fd5b3480156102a457600080fd5b506102ad610b0f565b6040516102ba9190613327565b60405180910390f35b3480156102cf57600080fd5b506102d8610ba1565b6040516102e591906133c8565b60405180910390f35b3480156102fa57600080fd5b506103156004803603810190610310919061345c565b610bc7565b60405161032291906134b7565b60405180910390f35b34801561033757600080fd5b50610352600480360381019061034d91906134fe565b610be5565b005b34801561036057600080fd5b50610369610c97565b604051610376919061353a565b60405180910390f35b34801561038b57600080fd5b50610394610ca1565b6040516103a1919061353a565b60405180910390f35b3480156103b657600080fd5b506103d160048036038101906103cc9190613555565b610ca7565b6040516103de91906134b7565b60405180910390f35b3480156103f357600080fd5b5061040e600480360381019061040991906135a8565b610d5f565b005b34801561041c57600080fd5b50610425610e4f565b6040516104329190613604565b60405180910390f35b34801561044757600080fd5b50610462600480360381019061045d919061345c565b610e66565b60405161046f91906134b7565b60405180910390f35b34801561048457600080fd5b5061049f600480360381019061049a919061361f565b610f12565b6040516104ac91906134b7565b60405180910390f35b3480156104c157600080fd5b506104dc60048036038101906104d7919061361f565b610f32565b005b3480156104ea57600080fd5b506104f3611011565b604051610500919061353a565b60405180910390f35b34801561051557600080fd5b50610530600480360381019061052b919061361f565b611017565b60405161053d919061353a565b60405180910390f35b34801561055257600080fd5b5061055b611060565b005b34801561056957600080fd5b506105726111b3565b60405161057f919061365b565b60405180910390f35b34801561059457600080fd5b5061059d6111d9565b6040516105aa91906134b7565b60405180910390f35b3480156105bf57600080fd5b506105c86111ec565b6040516105d5919061353a565b60405180910390f35b3480156105ea57600080fd5b506105f36111f2565b604051610600919061353a565b60405180910390f35b34801561061557600080fd5b50610630600480360381019061062b919061361f565b6111f8565b60405161063d91906134b7565b60405180910390f35b34801561065257600080fd5b5061066d60048036038101906106689190613676565b611218565b005b34801561067b57600080fd5b506106846112ca565b60405161069191906134b7565b60405180910390f35b3480156106a657600080fd5b506106af6112dd565b005b3480156106bd57600080fd5b506106c661141c565b6040516106d3919061365b565b60405180910390f35b3480156106e857600080fd5b5061070360048036038101906106fe9190613676565b611445565b005b34801561071157600080fd5b5061071a6114e4565b6040516107279190613327565b60405180910390f35b34801561073c57600080fd5b506107576004803603810190610752919061361f565b611576565b60405161076491906134b7565b60405180910390f35b34801561077957600080fd5b50610782611596565b60405161078f919061353a565b60405180910390f35b3480156107a457600080fd5b506107bf60048036038101906107ba9190613676565b61159c565b005b3480156107cd57600080fd5b506107e860048036038101906107e391906136e1565b61164e565b005b3480156107f657600080fd5b50610811600480360381019061080c9190613676565b611822565b005b34801561081f57600080fd5b5061083a6004803603810190610835919061345c565b6118c1565b60405161084791906134b7565b60405180910390f35b34801561085c57600080fd5b506108776004803603810190610872919061361f565b61196d565b005b34801561088557600080fd5b506108a0600480360381019061089b91906135a8565b611a46565b005b3480156108ae57600080fd5b506108c960048036038101906108c4919061345c565b611b36565b6040516108d691906134b7565b60405180910390f35b3480156108eb57600080fd5b50610906600480360381019061090191906134fe565b611b54565b005b34801561091457600080fd5b5061091d611c06565b60405161092a919061353a565b60405180910390f35b34801561093f57600080fd5b5061095a60048036038101906109559190613721565b611c0c565b604051610967919061353a565b60405180910390f35b34801561097c57600080fd5b50610997600480360381019061099291906135a8565b611c93565b005b3480156109a557600080fd5b506109ae611d83565b6040516109bb91906134b7565b60405180910390f35b3480156109d057600080fd5b506109eb60048036038101906109e69190613676565b611d96565b6040516109f8919061353a565b60405180910390f35b348015610a0d57600080fd5b50610a286004803603810190610a239190613676565b611dbf565b005b348015610a3657600080fd5b50610a516004803603810190610a4c9190613676565b611e71565b005b348015610a5f57600080fd5b50610a68611f93565b604051610a75919061365b565b60405180910390f35b348015610a8a57600080fd5b50610aa56004803603810190610aa0919061361f565b611fb9565b005b348015610ab357600080fd5b50610ace6004803603810190610ac99190613676565b61217a565b604051610adb919061353a565b60405180910390f35b348015610af057600080fd5b50610af96121a3565b604051610b06919061353a565b60405180910390f35b606060018054610b1e90613790565b80601f0160208091040260200160405190810160405280929190818152602001828054610b4a90613790565b8015610b975780601f10610b6c57610100808354040283529160200191610b97565b820191906000526020600020905b815481529060010190602001808311610b7a57829003601f168201915b5050505050905090565b600f60039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610bdb610bd46121a9565b84846121b1565b6001905092915050565b610bed6121a9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c719061380d565b60405180910390fd5b80600f60006101000a81548160ff02191690831515021790555050565b6000600454905090565b600a5481565b6000610cb484848461237a565b610d5484610cc06121a9565b84600660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610d0a6121a9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610d4f919061385c565b6121b1565b600190509392505050565b610d676121a9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610df4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610deb9061380d565b60405180910390fd5b80600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600360009054906101000a900460ff16905090565b6000610f08610e736121a9565b848460066000610e816121a9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f039190613890565b6121b1565b6001905092915050565b60076020528060005260406000206000915054906101000a900460ff1681565b610f3a6121a9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fc7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fbe9061380d565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f1935050505015801561100d573d6000803e3d6000fd5b5050565b600c5481565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6110686121a9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ec9061380d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600f60009054906101000a900460ff1681565b60125481565b60135481565b60096020528060005260406000206000915054906101000a900460ff1681565b6112206121a9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112a49061380d565b60405180910390fd5b670de0b6b3a7640000816112c191906138c4565b600b8190555050565b600f60019054906101000a900460ff1681565b6112e56121a9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611372576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113699061380d565b60405180910390fd5b600f60029054906101000a900460ff16156113c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b990613952565b60405180910390fd5b6001600f60026101000a81548160ff0219169083151502179055506001600f60016101000a81548160ff0219169083151502179055506001600f60006101000a81548160ff02191690831515021790555042600e81905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61144d6121a9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d19061380d565b60405180910390fd5b8060128190555050565b6060600280546114f390613790565b80601f016020809104026020016040519081016040528092919081815260200182805461151f90613790565b801561156c5780601f106115415761010080835404028352916020019161156c565b820191906000526020600020905b81548152906001019060200180831161154f57829003601f168201915b5050505050905090565b60086020528060005260406000206000915054906101000a900460ff1681565b600b5481565b6115a46121a9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611631576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116289061380d565b60405180910390fd5b670de0b6b3a76400008161164591906138c4565b600c8190555050565b6116566121a9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116da9061380d565b60405180910390fd5b808273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161171d919061365b565b602060405180830381865afa15801561173a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061175e9190613987565b101561179f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161179690613a00565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b81526004016117da929190613a20565b6020604051808303816000875af11580156117f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061181d9190613a5e565b505050565b61182a6121a9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146118b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118ae9061380d565b60405180910390fd5b8060138190555050565b60006119636118ce6121a9565b8484600660006118dc6121a9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461195e919061385c565b6121b1565b6001905092915050565b6119756121a9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a02576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119f99061380d565b60405180910390fd5b80601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611a4e6121a9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611adb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ad29061380d565b60405180910390fd5b80600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000611b4a611b436121a9565b848461237a565b6001905092915050565b611b5c6121a9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611be9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611be09061380d565b60405180910390fd5b80600f60016101000a81548160ff02191690831515021790555050565b600e5481565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611c9b6121a9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611d28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d1f9061380d565b60405180910390fd5b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600f60029054906101000a900460ff1681565b600080600d5460125484611daa91906138c4565b611db49190613aba565b905080915050919050565b611dc76121a9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611e54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e4b9061380d565b60405180910390fd5b670de0b6b3a764000081611e6891906138c4565b600a8190555050565b611e796121a9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611f06576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611efd9061380d565b60405180910390fd5b80471015611f49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f4090613a00565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611f8f573d6000803e3d6000fd5b5050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611fc16121a9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461204e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120459061380d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036120bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120b490613b5d565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080600d546013548461218e91906138c4565b6121989190613aba565b905080915050919050565b600d5481565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612220576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161221790613bc9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361228f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161228690613c35565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161236d919061353a565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036123e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123e090613ca1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612458576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161244f90613d0d565b60405180910390fd5b6000811161249b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161249290613d79565b60405180910390fd5b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561253f5750600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561268a57600c54811115612589576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161258090613de5565b60405180910390fd5b600f60029054906101000a900460ff16612689578273ffffffffffffffffffffffffffffffffffffffff16601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415801561264957508173ffffffffffffffffffffffffffffffffffffffff16601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b612688576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161267f90613e51565b60405180910390fd5b5b5b600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661273457600b54816126e884611017565b6126f29190613890565b1115612733576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161272a90613ebd565b60405180910390fd5b5b61273e8383612819565b600060019050600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806127e55750600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806127fd5750600f60019054906101000a900460ff16155b1561280757600090505b61281384848484612a16565b50505050565b600061282430611017565b90506000600a54821015905080801561288b5750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156128a35750600f60009054906101000a900460ff165b801561293457503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156129325750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b155b15612a105761296830600f60039054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600a546121b1565b612996600f60039054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600a54612fba565b60004790506000811115612a0e57601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612a0c573d6000803e3d6000fd5b505b505b50505050565b8373ffffffffffffffffffffffffffffffffffffffff16601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148015612a705750805b15612c2357600080612a8184611d96565b91508184612a8f919061385c565b905083600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612adc919061385c565b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b6a9190613890565b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612c0a919061353a565b60405180910390a3612c1c86836131a0565b5050612fb4565b8273ffffffffffffffffffffffffffffffffffffffff16601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148015612c7d5750805b15612e31576000612c8d8361217a565b905060008184612c9d919061385c565b905083600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612cea919061385c565b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612d789190613890565b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612e18919061353a565b60405180910390a3612e2a86836131a0565b5050612fb3565b81600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e7c919061385c565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f0a9190613890565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612faa919061353a565b60405180910390a35b5b50505050565b60008290506000600267ffffffffffffffff811115612fdc57612fdb613edd565b5b60405190808252806020026020018201604052801561300a5781602001602082028036833780820191505090505b509050308160008151811061302257613021613f0c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508173ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156130a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130cb9190613f50565b816001815181106130df576130de613f0c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508173ffffffffffffffffffffffffffffffffffffffff1663791ac947846000843061012c426131489190613890565b6040518663ffffffff1660e01b8152600401613168959493929190614076565b600060405180830381600087803b15801561318257600080fd5b505af1158015613196573d6000803e3d6000fd5b5050505050505050565b80600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546131eb9190613890565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161328b919061353a565b60405180910390a35050565b600081519050919050565b600082825260208201905092915050565b60005b838110156132d15780820151818401526020810190506132b6565b60008484015250505050565b6000601f19601f8301169050919050565b60006132f982613297565b61330381856132a2565b93506133138185602086016132b3565b61331c816132dd565b840191505092915050565b6000602082019050818103600083015261334181846132ee565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600061338e61338961338484613349565b613369565b613349565b9050919050565b60006133a082613373565b9050919050565b60006133b282613395565b9050919050565b6133c2816133a7565b82525050565b60006020820190506133dd60008301846133b9565b92915050565b600080fd5b60006133f382613349565b9050919050565b613403816133e8565b811461340e57600080fd5b50565b600081359050613420816133fa565b92915050565b6000819050919050565b61343981613426565b811461344457600080fd5b50565b60008135905061345681613430565b92915050565b60008060408385031215613473576134726133e3565b5b600061348185828601613411565b925050602061349285828601613447565b9150509250929050565b60008115159050919050565b6134b18161349c565b82525050565b60006020820190506134cc60008301846134a8565b92915050565b6134db8161349c565b81146134e657600080fd5b50565b6000813590506134f8816134d2565b92915050565b600060208284031215613514576135136133e3565b5b6000613522848285016134e9565b91505092915050565b61353481613426565b82525050565b600060208201905061354f600083018461352b565b92915050565b60008060006060848603121561356e5761356d6133e3565b5b600061357c86828701613411565b935050602061358d86828701613411565b925050604061359e86828701613447565b9150509250925092565b600080604083850312156135bf576135be6133e3565b5b60006135cd85828601613411565b92505060206135de858286016134e9565b9150509250929050565b600060ff82169050919050565b6135fe816135e8565b82525050565b600060208201905061361960008301846135f5565b92915050565b600060208284031215613635576136346133e3565b5b600061364384828501613411565b91505092915050565b613655816133e8565b82525050565b6000602082019050613670600083018461364c565b92915050565b60006020828403121561368c5761368b6133e3565b5b600061369a84828501613447565b91505092915050565b60006136ae826133e8565b9050919050565b6136be816136a3565b81146136c957600080fd5b50565b6000813590506136db816136b5565b92915050565b600080604083850312156136f8576136f76133e3565b5b6000613706858286016136cc565b925050602061371785828601613447565b9150509250929050565b60008060408385031215613738576137376133e3565b5b600061374685828601613411565b925050602061375785828601613411565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806137a857607f821691505b6020821081036137bb576137ba613761565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006137f76020836132a2565b9150613802826137c1565b602082019050919050565b60006020820190508181036000830152613826816137ea565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061386782613426565b915061387283613426565b925082820390508181111561388a5761388961382d565b5b92915050565b600061389b82613426565b91506138a683613426565b92508282019050808211156138be576138bd61382d565b5b92915050565b60006138cf82613426565b91506138da83613426565b92508282026138e881613426565b915082820484148315176138ff576138fe61382d565b5b5092915050565b7f3a20616c726561647920656e61626c6564000000000000000000000000000000600082015250565b600061393c6011836132a2565b915061394782613906565b602082019050919050565b6000602082019050818103600083015261396b8161392f565b9050919050565b60008151905061398181613430565b92915050565b60006020828403121561399d5761399c6133e3565b5b60006139ab84828501613972565b91505092915050565b7f496e76616c696420416d6f756e74000000000000000000000000000000000000600082015250565b60006139ea600e836132a2565b91506139f5826139b4565b602082019050919050565b60006020820190508181036000830152613a19816139dd565b9050919050565b6000604082019050613a35600083018561364c565b613a42602083018461352b565b9392505050565b600081519050613a58816134d2565b92915050565b600060208284031215613a7457613a736133e3565b5b6000613a8284828501613a49565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613ac582613426565b9150613ad083613426565b925082613ae057613adf613a8b565b5b828204905092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613b476026836132a2565b9150613b5282613aeb565b604082019050919050565b60006020820190508181036000830152613b7681613b3a565b9050919050565b7f20617070726f76652066726f6d20746865207a65726f20616464726573730000600082015250565b6000613bb3601e836132a2565b9150613bbe82613b7d565b602082019050919050565b60006020820190508181036000830152613be281613ba6565b9050919050565b7f617070726f766520746f20746865207a65726f20616464726573730000000000600082015250565b6000613c1f601b836132a2565b9150613c2a82613be9565b602082019050919050565b60006020820190508181036000830152613c4e81613c12565b9050919050565b7f7472616e736665722066726f6d20746865207a65726f20616464726573730000600082015250565b6000613c8b601e836132a2565b9150613c9682613c55565b602082019050919050565b60006020820190508181036000830152613cba81613c7e565b9050919050565b7f7472616e7366657220746f20746865207a65726f206164647265737300000000600082015250565b6000613cf7601c836132a2565b9150613d0282613cc1565b602082019050919050565b60006020820190508181036000830152613d2681613cea565b9050919050565b7f416d6f756e74206d7573742062652067726561746572207468616e207a65726f600082015250565b6000613d636020836132a2565b9150613d6e82613d2d565b602082019050919050565b60006020820190508181036000830152613d9281613d56565b9050919050565b7f206d61782074786e206c696d6974206578636565647300000000000000000000600082015250565b6000613dcf6016836132a2565b9150613dda82613d99565b602082019050919050565b60006020820190508181036000830152613dfe81613dc2565b9050919050565b7f3a2074726164696e672069732064697361626c65000000000000000000000000600082015250565b6000613e3b6014836132a2565b9150613e4682613e05565b602082019050919050565b60006020820190508181036000830152613e6a81613e2e565b9050919050565b7f3a206d617820686f6c64206c696d697420657863656564730000000000000000600082015250565b6000613ea76018836132a2565b9150613eb282613e71565b602082019050919050565b60006020820190508181036000830152613ed681613e9a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050613f4a816133fa565b92915050565b600060208284031215613f6657613f656133e3565b5b6000613f7484828501613f3b565b91505092915050565b6000819050919050565b6000613fa2613f9d613f9884613f7d565b613369565b613426565b9050919050565b613fb281613f87565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613fed816133e8565b82525050565b6000613fff8383613fe4565b60208301905092915050565b6000602082019050919050565b600061402382613fb8565b61402d8185613fc3565b935061403883613fd4565b8060005b838110156140695781516140508882613ff3565b975061405b8361400b565b92505060018101905061403c565b5085935050505092915050565b600060a08201905061408b600083018861352b565b6140986020830187613fa9565b81810360408301526140aa8186614018565b90506140b9606083018561364c565b6140c6608083018461352b565b969550505050505056fea2646970667358221220e2ea107bad706fc79bbe92c48f6bd1f6fc68abff00a003cb1170cd3ee2205ab364736f6c63430008120033

Verified Source Code Partial Match

Compiler: v0.8.18+commit.87f61d96 EVM: paris Optimization: No
Dinger.sol 515 lines
//https://t.me/dinger_erc

// SPDX-License-Identifier:MIT
pragma solidity ^0.8.18;

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

// Dex Factory contract interface
interface IDexFactory {
    function createPair(
        address tokenA,
        address tokenB
    ) external returns (address pair);
}

// Dex Router contract interface
interface IDexRouter {
    function factory() external pure returns (address);

    function WETH() external pure returns (address);

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

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

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

    function _msgData() internal view virtual returns (bytes memory) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

contract Ownable is Context {
    address private _owner;

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

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

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

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

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = payable(address(0));
    }

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

contract Dinger is Context, IERC20, Ownable {
    string private _name = "Schrodinger";
    string private _symbol = "Dinger";
    uint8 private _decimals = 18;
    uint256 private _totalSupply = 100_100_000_000_000 * 1e18;

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

    mapping(address => bool) public isExcludedFromFee;
    mapping(address => bool) public isExcludedFromMaxTxn;
    mapping(address => bool) public isExcludedFromMaxHolding;

    uint256 public minTokenToSwap = (_totalSupply * 5) / (10000); // this amount will trigger swap and distribute
    uint256 public maxHoldLimit = (_totalSupply * 3) / (100); // this is the max wallet holding limit
    uint256 public maxTxnLimit = (_totalSupply * 10) / (100); // this is the max transaction limit
    uint256 public percentDivider = 100;
    uint256 public launchedAt;

    bool public distributeAndLiquifyStatus; // should be true to turn on to liquidate the pool
    bool public feesStatus; // enable by default
    bool public trading; // once enable can't be disable afterwards

    IDexRouter public dexRouter; // router declaration

    address public dexPair; // pair address declaration
    address public marketingWallet; // marketing address declaration
    address private constant DEAD = address(0xdead);
    address private constant ZERO = address(0);

    uint256 public marketingFeeOnBuying = 15;

    uint256 public marketingFeeOnSelling = 30;

    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiqudity
    );

    constructor() {
        _balances[owner()] = _totalSupply;
        marketingWallet = address(0x2A52E0a891746cB17AEF13E743d3F2444e43E28c);

        dexRouter = IDexRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        isExcludedFromFee[address(dexRouter)] = true;
        isExcludedFromMaxTxn[address(dexRouter)] = true;
        isExcludedFromMaxHolding[address(dexRouter)] = true;

        dexPair = IDexFactory(dexRouter.factory()).createPair(
            address(this),
            dexRouter.WETH()
        );
        isExcludedFromMaxHolding[dexPair] = true;

        //exclude owner and this contract from fee
        isExcludedFromFee[owner()] = true;
        isExcludedFromFee[address(this)] = true;

        //exclude owner and this contract from max Txn
        isExcludedFromMaxTxn[owner()] = true;
        isExcludedFromMaxTxn[address(this)] = true;

        //exclude owner and this contract from max hold limit
        isExcludedFromMaxHolding[owner()] = true;
        isExcludedFromMaxHolding[address(this)] = true;
        isExcludedFromMaxHolding[marketingWallet] = true;

        emit Transfer(address(0), owner(), _totalSupply);
    }

    //to receive ETH from dexRouter when swapping
    receive() external payable {}

    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 transfer(
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

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

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

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            _msgSender(),
            _allowances[sender][_msgSender()] - 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) {
        _approve(
            _msgSender(),
            spender,
            _allowances[_msgSender()][spender] - subtractedValue
        );
        return true;
    }

    function includeOrExcludeFromFee(
        address account,
        bool value
    ) external onlyOwner {
        isExcludedFromFee[account] = value;
    }

    function includeOrExcludeFromMaxTxn(
        address account,
        bool value
    ) external onlyOwner {
        isExcludedFromMaxTxn[account] = value;
    }

    function includeOrExcludeFromMaxHolding(
        address account,
        bool value
    ) external onlyOwner {
        isExcludedFromMaxHolding[account] = value;
    }

    function setMinTokenToSwap(uint256 _amount) external onlyOwner {
        minTokenToSwap = _amount * 1e18;
    }

    function setMaxHoldLimit(uint256 _amount) external onlyOwner {
        maxHoldLimit = _amount * 1e18;
    }

    function setMaxTxnLimit(uint256 _amount) external onlyOwner {
        maxTxnLimit = _amount * 1e18;
    }

    function setBuyFeePercent(uint256 _marketingFee) external onlyOwner {
        marketingFeeOnBuying = _marketingFee;
    }

    function setSellFeePercent(uint256 _marketingFee) external onlyOwner {
        marketingFeeOnSelling = _marketingFee;
    }

    function setDistributionStatus(bool _value) public onlyOwner {
        distributeAndLiquifyStatus = _value;
    }

    function enableOrDisableFees(bool _value) external onlyOwner {
        feesStatus = _value;
    }

    function updateAddresses(address _marketingWallet) external onlyOwner {
        marketingWallet = _marketingWallet;
    }

    function enableTrading() external onlyOwner {
        require(!trading, ": already enabled");

        trading = true;
        feesStatus = true;
        distributeAndLiquifyStatus = true;
        launchedAt = block.timestamp;
    }

    function removeStuckEth(address _receiver) public onlyOwner {
        payable(_receiver).transfer(address(this).balance);
    }

    function totalBuyFeePerTx(uint256 amount) public view returns (uint256) {
        uint256 fee = (amount * marketingFeeOnBuying) / (percentDivider);
        return fee;
    }

    function totalSellFeePerTx(uint256 amount) public view returns (uint256) {
        uint256 fee = (amount * marketingFeeOnSelling) / (percentDivider);
        return fee;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), " approve from the zero address");
        require(spender != address(0), "approve to the zero address");

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

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "transfer from the zero address");
        require(to != address(0), "transfer to the zero address");
        require(amount > 0, "Amount must be greater than zero");
        if (!isExcludedFromMaxTxn[from] && !isExcludedFromMaxTxn[to]) {
            require(amount <= maxTxnLimit, " max txn limit exceeds");

            // trading disable till launch
            if (!trading) {
                require(
                    dexPair != from && dexPair != to,
                    ": trading is disable"
                );
            }
        }

        if (!isExcludedFromMaxHolding[to]) {
            require(
                (balanceOf(to) + amount) <= maxHoldLimit,
                ": max hold limit exceeds"
            );
        }

        // swap and liquify
        distributeAndLiquify(from, to);

        //indicates if fee should be deducted from transfer
        bool takeFee = true;

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

        //transfer amount, it will take tax, burn, liquidity fee
        _tokenTransfer(from, to, amount, takeFee);
    }

    //this method is responsible for taking all fees, if takeFee is true
    function _tokenTransfer(
        address sender,
        address recipient,
        uint256 amount,
        bool takeFee
    ) private {
        if (dexPair == sender && takeFee) {
            uint256 allFee;
            uint256 tTransferAmount;
            allFee = totalBuyFeePerTx(amount);
            tTransferAmount = amount - allFee;

            _balances[sender] = _balances[sender] - amount;
            _balances[recipient] = _balances[recipient] + tTransferAmount;
            emit Transfer(sender, recipient, tTransferAmount);

            takeTokenFee(sender, allFee);
        } else if (dexPair == recipient && takeFee) {
            uint256 allFee = totalSellFeePerTx(amount);
            uint256 tTransferAmount = amount - allFee;
            _balances[sender] = _balances[sender] - amount;
            _balances[recipient] = _balances[recipient] + tTransferAmount;
            emit Transfer(sender, recipient, tTransferAmount);

            takeTokenFee(sender, allFee);
        } else {
            _balances[sender] = _balances[sender] - amount;
            _balances[recipient] = _balances[recipient] + (amount);
            emit Transfer(sender, recipient, amount);
        }
    }

    function takeTokenFee(address sender, uint256 amount) private {
        _balances[address(this)] = _balances[address(this)] + (amount);

        emit Transfer(sender, address(this), amount);
    }

    // to withdarw ETH from contract
    function withdrawETH(uint256 _amount) external onlyOwner {
        require(address(this).balance >= _amount, "Invalid Amount");
        payable(msg.sender).transfer(_amount);
    }

    // to withdraw ERC20 tokens from contract
    function withdrawToken(IERC20 _token, uint256 _amount) external onlyOwner {
        require(_token.balanceOf(address(this)) >= _amount, "Invalid Amount");
        _token.transfer(msg.sender, _amount);
    }

    function distributeAndLiquify(address from, address to) private {
        uint256 contractTokenBalance = balanceOf(address(this));

        bool shouldSell = contractTokenBalance >= minTokenToSwap;

        if (
            shouldSell &&
            from != dexPair &&
            distributeAndLiquifyStatus &&
            !(from == address(this) && to == dexPair) // swap 1 time
        ) {
            // approve contract
            _approve(address(this), address(dexRouter), minTokenToSwap);

            // now is to lock into liquidty pool
            Utils.swapTokensForEth(address(dexRouter), minTokenToSwap);
            uint256 ethForMarketing = address(this).balance;

            // sending Eth to Marketing wallet
            if (ethForMarketing > 0)
                payable(marketingWallet).transfer(ethForMarketing);
        }
    }
}

// Library for swapping on Dex
library Utils {
    function swapTokensForEth(
        address routerAddress,
        uint256 tokenAmount
    ) internal {
        IDexRouter dexRouter = IDexRouter(routerAddress);

        // generate the Dex pair path of token -> weth
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = dexRouter.WETH();

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

    function addLiquidity(
        address routerAddress,
        address owner,
        uint256 tokenAmount,
        uint256 ethAmount
    ) internal {
        IDexRouter dexRouter = IDexRouter(routerAddress);

        // add the liquidity
        dexRouter.addLiquidityETH{value: ethAmount}(
            address(this),
            tokenAmount,
            0, // slippage is unavoidable
            0, // slippage is unavoidable
            owner,
            block.timestamp + 300
        );
    }
}

Read Contract

allowance 0xdd62ed3e → uint256
balanceOf 0x70a08231 → uint256
decimals 0x313ce567 → uint8
dexPair 0xf242ab41 → address
dexRouter 0x0758d924 → address
distributeAndLiquifyStatus 0x79777b4e → bool
feesStatus 0x879dd3c5 → bool
isExcludedFromFee 0x5342acb4 → bool
isExcludedFromMaxHolding 0x84ea21bc → bool
isExcludedFromMaxTxn 0x99b102b5 → bool
launchedAt 0xbf56b371 → uint256
marketingFeeOnBuying 0x7c6a9a9c → uint256
marketingFeeOnSelling 0x844af78e → uint256
marketingWallet 0x75f0a874 → address
maxHoldLimit 0x9a36dfa1 → uint256
maxTxnLimit 0x681aa362 → uint256
minTokenToSwap 0x1884f1e6 → uint256
name 0x06fdde03 → string
owner 0x8da5cb5b → address
percentDivider 0xfe6f1b05 → uint256
symbol 0x95d89b41 → string
totalBuyFeePerTx 0xed421429 → uint256
totalSellFeePerTx 0xf4b3dbc3 → uint256
totalSupply 0x18160ddd → uint256
trading 0xec44acf2 → bool

Write Contract 22 functions

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

approve 0x095ea7b3
address spender
uint256 amount
returns: bool
decreaseAllowance 0xa457c2d7
address spender
uint256 subtractedValue
returns: bool
enableOrDisableFees 0xb0bc2a2d
bool _value
enableTrading 0x8a8c523c
No parameters
includeOrExcludeFromFee 0xea5b9e85
address account
bool value
includeOrExcludeFromMaxHolding 0x2d129390
address account
bool value
includeOrExcludeFromMaxTxn 0xa7c29b40
address account
bool value
increaseAllowance 0x39509351
address spender
uint256 addedValue
returns: bool
removeStuckEth 0x679a3c59
address _receiver
renounceOwnership 0x715018a6
No parameters
setBuyFeePercent 0x950eb5d5
uint256 _marketingFee
setDistributionStatus 0x0a2d140c
bool _value
setMaxHoldLimit 0x8756aabd
uint256 _amount
setMaxTxnLimit 0x9b6a2750
uint256 _amount
setMinTokenToSwap 0xf097ea1a
uint256 _amount
setSellFeePercent 0xa2b8a947
uint256 _marketingFee
transfer 0xa9059cbb
address recipient
uint256 amount
returns: bool
transferFrom 0x23b872dd
address sender
address recipient
uint256 amount
returns: bool
transferOwnership 0xf2fde38b
address newOwner
updateAddresses 0xa643c1a0
address _marketingWallet
withdrawETH 0xf14210a6
uint256 _amount
withdrawToken 0x9e281a98
address _token
uint256 _amount

Recent Transactions

No transactions found for this address