Address Contract Partially Verified
Address
0xb9F443DDefbA7e9c31BfC2b2DB5972aD44dEB66d
Balance
0 ETH
Nonce
1
Code Size
16279 bytes
Creator
0x436Bd0ec...B5A0 at tx 0xa4bd1b0a...a70907
Indexed Transactions
0
Contract Bytecode
16279 bytes
0x60806040526004361061028b575f3560e01c80638da5cb5b11610159578063b0bc2a2d116100c0578063f097ea1a11610079578063f097ea1a146109d6578063f14210a6146109fe578063f242ab4114610a26578063f2fde38b14610a50578063f4b3dbc314610a78578063fe6f1b0514610ab457610292565b8063b0bc2a2d146108ba578063bf56b371146108e2578063dd62ed3e1461090c578063ea5b9e8514610948578063ec44acf214610970578063ed4214291461099a57610292565b80639e281a98116101125780639e281a98146107a2578063a2b8a947146107ca578063a457c2d7146107f2578063a643c1a01461082e578063a7c29b4014610856578063a9059cbb1461087e57610292565b80638da5cb5b14610698578063950eb5d5146106c257806395d89b41146106ea57806399b102b5146107145780639a36dfa1146107505780639b6a27501461077a57610292565b8063679a3c59116101fd5780637c6a9a9c116101b65780637c6a9a9c146105a0578063844af78e146105ca57806384ea21bc146105f45780638756aabd14610630578063879dd3c5146106585780638a8c523c1461068257610292565b8063679a3c59146104a8578063681aa362146104d057806370a08231146104fa578063715018a61461053657806375f0a8741461054c57806379777b4e1461057657610292565b80631884f1e61161024f5780631884f1e61461037857806323b872dd146103a25780632d129390146103de578063313ce5671461040657806339509351146104305780635342acb41461046c57610292565b806306fdde03146102965780630758d924146102c0578063095ea7b3146102ea5780630a2d140c1461032657806318160ddd1461034e57610292565b3661029257005b5f80fd5b3480156102a1575f80fd5b506102aa610ade565b6040516102b7919061323d565b60405180910390f35b3480156102cb575f80fd5b506102d4610b6e565b6040516102e191906132d7565b60405180910390f35b3480156102f5575f80fd5b50610310600480360381019061030b9190613362565b610b94565b60405161031d91906133ba565b60405180910390f35b348015610331575f80fd5b5061034c600480360381019061034791906133fd565b610bb1565b005b348015610359575f80fd5b50610362610c61565b60405161036f9190613437565b60405180910390f35b348015610383575f80fd5b5061038c610c6a565b6040516103999190613437565b60405180910390f35b3480156103ad575f80fd5b506103c860048036038101906103c39190613450565b610c70565b6040516103d591906133ba565b60405180910390f35b3480156103e9575f80fd5b5061040460048036038101906103ff91906134a0565b610d23565b005b348015610411575f80fd5b5061041a610e0f565b60405161042791906134f9565b60405180910390f35b34801561043b575f80fd5b5061045660048036038101906104519190613362565b610e24565b60405161046391906133ba565b60405180910390f35b348015610477575f80fd5b50610492600480360381019061048d9190613512565b610ecb565b60405161049f91906133ba565b60405180910390f35b3480156104b3575f80fd5b506104ce60048036038101906104c99190613512565b610ee8565b005b3480156104db575f80fd5b506104e4610fc3565b6040516104f19190613437565b60405180910390f35b348015610505575f80fd5b50610520600480360381019061051b9190613512565b610fc9565b60405161052d9190613437565b60405180910390f35b348015610541575f80fd5b5061054a61100f565b005b348015610557575f80fd5b5061056061115d565b60405161056d919061354c565b60405180910390f35b348015610581575f80fd5b5061058a611182565b60405161059791906133ba565b60405180910390f35b3480156105ab575f80fd5b506105b4611194565b6040516105c19190613437565b60405180910390f35b3480156105d5575f80fd5b506105de61119a565b6040516105eb9190613437565b60405180910390f35b3480156105ff575f80fd5b5061061a60048036038101906106159190613512565b6111a0565b60405161062791906133ba565b60405180910390f35b34801561063b575f80fd5b5061065660048036038101906106519190613565565b6111bd565b005b348015610663575f80fd5b5061066c61126e565b60405161067991906133ba565b60405180910390f35b34801561068d575f80fd5b50610696611281565b005b3480156106a3575f80fd5b506106ac6113be565b6040516106b9919061354c565b60405180910390f35b3480156106cd575f80fd5b506106e860048036038101906106e39190613565565b6113e5565b005b3480156106f5575f80fd5b506106fe611483565b60405161070b919061323d565b60405180910390f35b34801561071f575f80fd5b5061073a60048036038101906107359190613512565b611513565b60405161074791906133ba565b60405180910390f35b34801561075b575f80fd5b50610764611530565b6040516107719190613437565b60405180910390f35b348015610785575f80fd5b506107a0600480360381019061079b9190613565565b611536565b005b3480156107ad575f80fd5b506107c860048036038101906107c391906135cb565b6115e7565b005b3480156107d5575f80fd5b506107f060048036038101906107eb9190613565565b6117b5565b005b3480156107fd575f80fd5b5061081860048036038101906108139190613362565b611853565b60405161082591906133ba565b60405180910390f35b348015610839575f80fd5b50610854600480360381019061084f9190613512565b6118fa565b005b348015610861575f80fd5b5061087c600480360381019061087791906134a0565b6119d1565b005b348015610889575f80fd5b506108a4600480360381019061089f9190613362565b611abd565b6040516108b191906133ba565b60405180910390f35b3480156108c5575f80fd5b506108e060048036038101906108db91906133fd565b611ada565b005b3480156108ed575f80fd5b506108f6611b8b565b6040516109039190613437565b60405180910390f35b348015610917575f80fd5b50610932600480360381019061092d9190613609565b611b91565b60405161093f9190613437565b60405180910390f35b348015610953575f80fd5b5061096e600480360381019061096991906134a0565b611c13565b005b34801561097b575f80fd5b50610984611cff565b60405161099191906133ba565b60405180910390f35b3480156109a5575f80fd5b506109c060048036038101906109bb9190613565565b611d12565b6040516109cd9190613437565b60405180910390f35b3480156109e1575f80fd5b506109fc60048036038101906109f79190613565565b611d3a565b005b348015610a09575f80fd5b50610a246004803603810190610a1f9190613565565b611deb565b005b348015610a31575f80fd5b50610a3a611f09565b604051610a47919061354c565b60405180910390f35b348015610a5b575f80fd5b50610a766004803603810190610a719190613512565b611f2e565b005b348015610a83575f80fd5b50610a9e6004803603810190610a999190613565565b6120eb565b604051610aab9190613437565b60405180910390f35b348015610abf575f80fd5b50610ac8612113565b604051610ad59190613437565b60405180910390f35b606060018054610aed90613674565b80601f0160208091040260200160405190810160405280929190818152602001828054610b1990613674565b8015610b645780601f10610b3b57610100808354040283529160200191610b64565b820191905f5260205f20905b815481529060010190602001808311610b4757829003601f168201915b5050505050905090565b600f60039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f610ba7610ba0612119565b8484612120565b6001905092915050565b610bb9612119565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3c906136ee565b60405180910390fd5b80600f5f6101000a81548160ff02191690831515021790555050565b5f600454905090565b600a5481565b5f610c7c8484846122e3565b610d1884610c88612119565b8460065f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610ccf612119565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610d139190613739565b612120565b600190509392505050565b610d2b612119565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610db7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dae906136ee565b60405180910390fd5b8060095f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b5f60035f9054906101000a900460ff16905090565b5f610ec1610e30612119565b848460065f610e3d612119565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610ebc919061376c565b612120565b6001905092915050565b6007602052805f5260405f205f915054906101000a900460ff1681565b610ef0612119565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f73906136ee565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610fbf573d5f803e3d5ffd5b5050565b600c5481565b5f60055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b611017612119565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109a906136ee565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600f5f9054906101000a900460ff1681565b60125481565b60135481565b6009602052805f5260405f205f915054906101000a900460ff1681565b6111c5612119565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611251576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611248906136ee565b60405180910390fd5b670de0b6b3a764000081611265919061379f565b600b8190555050565b600f60019054906101000a900460ff1681565b611289612119565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611315576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130c906136ee565b60405180910390fd5b600f60029054906101000a900460ff1615611365576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161135c9061382a565b60405180910390fd5b6001600f60026101000a81548160ff0219169083151502179055506001600f60016101000a81548160ff0219169083151502179055506001600f5f6101000a81548160ff02191690831515021790555042600e81905550565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6113ed612119565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611479576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611470906136ee565b60405180910390fd5b8060128190555050565b60606002805461149290613674565b80601f01602080910402602001604051908101604052809291908181526020018280546114be90613674565b80156115095780601f106114e057610100808354040283529160200191611509565b820191905f5260205f20905b8154815290600101906020018083116114ec57829003601f168201915b5050505050905090565b6008602052805f5260405f205f915054906101000a900460ff1681565b600b5481565b61153e612119565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115c1906136ee565b60405180910390fd5b670de0b6b3a7640000816115de919061379f565b600c8190555050565b6115ef612119565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461167b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611672906136ee565b60405180910390fd5b808273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016116b5919061354c565b602060405180830381865afa1580156116d0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116f4919061385c565b1015611735576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161172c906138d1565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b81526004016117709291906138ef565b6020604051808303815f875af115801561178c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117b0919061392a565b505050565b6117bd612119565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611849576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611840906136ee565b60405180910390fd5b8060138190555050565b5f6118f061185f612119565b848460065f61186c612119565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546118eb9190613739565b612120565b6001905092915050565b611902612119565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461198e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611985906136ee565b60405180910390fd5b8060115f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6119d9612119565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5c906136ee565b60405180910390fd5b8060085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b5f611ad0611ac9612119565b84846122e3565b6001905092915050565b611ae2612119565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611b6e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b65906136ee565b60405180910390fd5b80600f60016101000a81548160ff02191690831515021790555050565b600e5481565b5f60065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b611c1b612119565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611ca7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c9e906136ee565b60405180910390fd5b8060075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b600f60029054906101000a900460ff1681565b5f80600d5460125484611d25919061379f565b611d2f9190613982565b905080915050919050565b611d42612119565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611dce576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dc5906136ee565b60405180910390fd5b670de0b6b3a764000081611de2919061379f565b600a8190555050565b611df3612119565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611e7f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e76906136ee565b60405180910390fd5b80471015611ec2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eb9906138d1565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611f05573d5f803e3d5ffd5b5050565b60105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611f36612119565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611fc2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fb9906136ee565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612030576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161202790613a22565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f80600d54601354846120fe919061379f565b6121089190613982565b905080915050919050565b600d5481565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361218e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161218590613a8a565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036121fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121f390613af2565b60405180910390fd5b8060065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516122d69190613437565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612351576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161234890613b5a565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036123bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123b690613bc2565b60405180910390fd5b5f8111612401576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123f890613c2a565b60405180910390fd5b60085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615801561249f575060085f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156125e857600c548111156124e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124e090613c92565b60405180910390fd5b600f60029054906101000a900460ff166125e7578273ffffffffffffffffffffffffffffffffffffffff1660105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141580156125a757508173ffffffffffffffffffffffffffffffffffffffff1660105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b6125e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125dd90613cfa565b60405180910390fd5b5b5b60095f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1661268f57600b548161264384610fc9565b61264d919061376c565b111561268e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161268590613d62565b60405180910390fd5b5b612699838361276c565b5f6001905060075f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680612739575060075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b806127515750600f60019054906101000a900460ff16155b1561275a575f90505b6127668484848461295e565b50505050565b5f61277630610fc9565b90505f600a5482101590508080156127db575060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156127f25750600f5f9054906101000a900460ff165b801561288257503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015612880575060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b155b15612958576128b630600f60039054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600a54612120565b6128e4600f60039054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600a54612ee5565b5f4790505f8111156129565760115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015612954573d5f803e3d5ffd5b505b505b50505050565b8373ffffffffffffffffffffffffffffffffffffffff1660105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480156129b75750805b15612b61575f806129c784611d12565b915081846129d59190613739565b90508360055f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612a209190613739565b60055f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508060055f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612aaa919061376c565b60055f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612b489190613437565b60405180910390a3612b5a86836130c0565b5050612edf565b8273ffffffffffffffffffffffffffffffffffffffff1660105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148015612bba5750805b15612d64575f612bc9836120eb565b90505f8184612bd89190613739565b90508360055f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612c239190613739565b60055f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508060055f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612cad919061376c565b60055f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612d4b9190613437565b60405180910390a3612d5d86836130c0565b5050612ede565b8160055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612dad9190613739565b60055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612e37919061376c565b60055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612ed59190613437565b60405180910390a35b5b50505050565b5f8290505f600267ffffffffffffffff811115612f0557612f04613d80565b5b604051908082528060200260200182016040528015612f335781602001602082028036833780820191505090505b50905030815f81518110612f4a57612f49613dad565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508173ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612fcd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ff19190613dee565b8160018151811061300557613004613dad565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508173ffffffffffffffffffffffffffffffffffffffff1663791ac947845f843061012c4261306d919061376c565b6040518663ffffffff1660e01b815260040161308d959493929190613f09565b5f604051808303815f87803b1580156130a4575f80fd5b505af11580156130b6573d5f803e3d5ffd5b5050505050505050565b8060055f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054613109919061376c565b60055f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516131a79190613437565b60405180910390a35050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156131ea5780820151818401526020810190506131cf565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61320f826131b3565b61321981856131bd565b93506132298185602086016131cd565b613232816131f5565b840191505092915050565b5f6020820190508181035f8301526132558184613205565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f819050919050565b5f61329f61329a6132958461325d565b61327c565b61325d565b9050919050565b5f6132b082613285565b9050919050565b5f6132c1826132a6565b9050919050565b6132d1816132b7565b82525050565b5f6020820190506132ea5f8301846132c8565b92915050565b5f80fd5b5f6132fe8261325d565b9050919050565b61330e816132f4565b8114613318575f80fd5b50565b5f8135905061332981613305565b92915050565b5f819050919050565b6133418161332f565b811461334b575f80fd5b50565b5f8135905061335c81613338565b92915050565b5f8060408385031215613378576133776132f0565b5b5f6133858582860161331b565b92505060206133968582860161334e565b9150509250929050565b5f8115159050919050565b6133b4816133a0565b82525050565b5f6020820190506133cd5f8301846133ab565b92915050565b6133dc816133a0565b81146133e6575f80fd5b50565b5f813590506133f7816133d3565b92915050565b5f60208284031215613412576134116132f0565b5b5f61341f848285016133e9565b91505092915050565b6134318161332f565b82525050565b5f60208201905061344a5f830184613428565b92915050565b5f805f60608486031215613467576134666132f0565b5b5f6134748682870161331b565b93505060206134858682870161331b565b92505060406134968682870161334e565b9150509250925092565b5f80604083850312156134b6576134b56132f0565b5b5f6134c38582860161331b565b92505060206134d4858286016133e9565b9150509250929050565b5f60ff82169050919050565b6134f3816134de565b82525050565b5f60208201905061350c5f8301846134ea565b92915050565b5f60208284031215613527576135266132f0565b5b5f6135348482850161331b565b91505092915050565b613546816132f4565b82525050565b5f60208201905061355f5f83018461353d565b92915050565b5f6020828403121561357a576135796132f0565b5b5f6135878482850161334e565b91505092915050565b5f61359a826132f4565b9050919050565b6135aa81613590565b81146135b4575f80fd5b50565b5f813590506135c5816135a1565b92915050565b5f80604083850312156135e1576135e06132f0565b5b5f6135ee858286016135b7565b92505060206135ff8582860161334e565b9150509250929050565b5f806040838503121561361f5761361e6132f0565b5b5f61362c8582860161331b565b925050602061363d8582860161331b565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061368b57607f821691505b60208210810361369e5761369d613647565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6136d86020836131bd565b91506136e3826136a4565b602082019050919050565b5f6020820190508181035f830152613705816136cc565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6137438261332f565b915061374e8361332f565b92508282039050818111156137665761376561370c565b5b92915050565b5f6137768261332f565b91506137818361332f565b92508282019050808211156137995761379861370c565b5b92915050565b5f6137a98261332f565b91506137b48361332f565b92508282026137c28161332f565b915082820484148315176137d9576137d861370c565b5b5092915050565b7f3a20616c726561647920656e61626c65640000000000000000000000000000005f82015250565b5f6138146011836131bd565b915061381f826137e0565b602082019050919050565b5f6020820190508181035f83015261384181613808565b9050919050565b5f8151905061385681613338565b92915050565b5f60208284031215613871576138706132f0565b5b5f61387e84828501613848565b91505092915050565b7f496e76616c696420416d6f756e740000000000000000000000000000000000005f82015250565b5f6138bb600e836131bd565b91506138c682613887565b602082019050919050565b5f6020820190508181035f8301526138e8816138af565b9050919050565b5f6040820190506139025f83018561353d565b61390f6020830184613428565b9392505050565b5f81519050613924816133d3565b92915050565b5f6020828403121561393f5761393e6132f0565b5b5f61394c84828501613916565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61398c8261332f565b91506139978361332f565b9250826139a7576139a6613955565b5b828204905092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f613a0c6026836131bd565b9150613a17826139b2565b604082019050919050565b5f6020820190508181035f830152613a3981613a00565b9050919050565b7f20617070726f76652066726f6d20746865207a65726f206164647265737300005f82015250565b5f613a74601e836131bd565b9150613a7f82613a40565b602082019050919050565b5f6020820190508181035f830152613aa181613a68565b9050919050565b7f617070726f766520746f20746865207a65726f206164647265737300000000005f82015250565b5f613adc601b836131bd565b9150613ae782613aa8565b602082019050919050565b5f6020820190508181035f830152613b0981613ad0565b9050919050565b7f7472616e736665722066726f6d20746865207a65726f206164647265737300005f82015250565b5f613b44601e836131bd565b9150613b4f82613b10565b602082019050919050565b5f6020820190508181035f830152613b7181613b38565b9050919050565b7f7472616e7366657220746f20746865207a65726f2061646472657373000000005f82015250565b5f613bac601c836131bd565b9150613bb782613b78565b602082019050919050565b5f6020820190508181035f830152613bd981613ba0565b9050919050565b7f416d6f756e74206d7573742062652067726561746572207468616e207a65726f5f82015250565b5f613c146020836131bd565b9150613c1f82613be0565b602082019050919050565b5f6020820190508181035f830152613c4181613c08565b9050919050565b7f206d61782074786e206c696d69742065786365656473000000000000000000005f82015250565b5f613c7c6016836131bd565b9150613c8782613c48565b602082019050919050565b5f6020820190508181035f830152613ca981613c70565b9050919050565b7f3a2074726164696e672069732064697361626c650000000000000000000000005f82015250565b5f613ce46014836131bd565b9150613cef82613cb0565b602082019050919050565b5f6020820190508181035f830152613d1181613cd8565b9050919050565b7f3a206d617820686f6c64206c696d6974206578636565647300000000000000005f82015250565b5f613d4c6018836131bd565b9150613d5782613d18565b602082019050919050565b5f6020820190508181035f830152613d7981613d40565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050613de881613305565b92915050565b5f60208284031215613e0357613e026132f0565b5b5f613e1084828501613dda565b91505092915050565b5f819050919050565b5f613e3c613e37613e3284613e19565b61327c565b61332f565b9050919050565b613e4c81613e22565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613e84816132f4565b82525050565b5f613e958383613e7b565b60208301905092915050565b5f602082019050919050565b5f613eb782613e52565b613ec18185613e5c565b9350613ecc83613e6c565b805f5b83811015613efc578151613ee38882613e8a565b9750613eee83613ea1565b925050600181019050613ecf565b5085935050505092915050565b5f60a082019050613f1c5f830188613428565b613f296020830187613e43565b8181036040830152613f3b8186613ead565b9050613f4a606083018561353d565b613f576080830184613428565b969550505050505056fea264697066735822122015cdd74c461d7f940d32cbc03b37d252bd969da5ef3a7287d179248652c9176264736f6c63430008150033
Verified Source Code Partial Match
Compiler: v0.8.21+commit.d9974bed
EVM: shanghai
Optimization: No
fknfts.sol 525 lines
/**
Well, believe me, it's crystal clear: NFT's are racist...
.
$FKNFTS
WEBSITE: fknfts.finance
TELEGRAM: https://t.me/FkNfts
TWITTER: https://twitter.com/FKNFTSERC
*/
// 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 fknfts is Context, IERC20, Ownable {
string private _name = unicode"Well, believe me, it's crystal clear: NFT's are racist. You don't believe this, huh? Well, I'm going to explain it to you. First off, the name. The The Bored Ape Yacht Club wants you to believe that ´´NFT´´ stands for Non-fungible token. This name might be an accurate name for the images of apes that are sold, but it also stands for ´´n****r(s) for trade´´ This is absolutely not okay. NFT's have been fully covered on national news and they usual tell you that images of apes are being traded. What they don't tell you, is that those apes usually have big lips, golden chains and rings and contains an awful lot of stereotypes. NFT's use apes as a methaphor for the stereotypical black communty. This can be explained: NFT's were invented on 4chan. 4chan is the breedplace of 99% of evil on the internet. The /pol/ communty, already infamous for it's racism and anti-semitism. created NFT's because they want to insult black people. Using complex trading methods on specific websites on the internet and needing a fast connection to the world wide web they try to exclude as many black people (mainly the African continent). It even goes beyond that. Neo-Nazi artists, like Ben Garisson and StoneToss have recently used this way of trading to sell their art full of hate. They can do this because NFT's are completely anonymous. Republicans and right-wingers say they screenshot NFT's. This is not an harmless joke, they try to demonstrate how 'worthless' NFT's (abbreviation for: N****r(s) for Trade) are. Stop NFT's. Make a hashtag and cancel 'em. Cut off people that trade NFT's. Stop racism.";
string private _symbol = unicode"FKNFTS";
uint8 private _decimals = 18;
uint256 private _totalSupply = 42_690_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);
uint256 public maxHoldLimit = (_totalSupply * 1) / (100);
uint256 public maxTxnLimit = (_totalSupply * 1) / (100);
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 = 30;
uint256 public marketingFeeOnSelling = 30;
event SwapAndLiquify(
uint256 tokensSwapped,
uint256 ethReceived,
uint256 tokensIntoLiqudity
);
constructor() {
_balances[owner()] = _totalSupply;
marketingWallet = address(0x436Bd0ec8727E9cCc4e0DA911ebd2B6b07a5B5A0);
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