Address Contract Partially Verified
Address
0xbc6E26F7aB01029deee6d1739C8d4400c1886156
Balance
0 ETH
Nonce
1
Code Size
16458 bytes
Creator
0x462a328E...4204 at tx 0xa1d6b3d7...677220
Indexed Transactions
0
Contract Bytecode
16458 bytes
0x608060405260043610610280575f3560e01c806372ac24861161014e578063c16dd4a4116100c0578063e9fd339411610079578063e9fd3394146109a1578063ee828db3146109cb578063f242ab41146109f3578063f2fde38b14610a1d578063f71b9bbf14610a45578063f872858a14610a6d57610287565b8063c16dd4a41461089b578063c867d60b146108c3578063cea9d26f146108ff578063dd62ed3e14610927578063df8408fe14610963578063e6b2603b1461098b57610287565b806395d89b411161011257806395d89b411461077f578063a457c2d7146107a9578063a9059cbb146107e5578063ae85ade614610821578063b94b0aef14610849578063c04a54141461087157610287565b806372ac24861461069d5780637d1db4a5146106c5578063807c2d9c146106ef5780638b42507f146107195780638da5cb5b1461075557610287565b80633ecad271116101f25780635e42358c116101ab5780635e42358c146105a7578063651a8987146105d15780636ddd1713146105f957806370a0823114610623578063715018a61461065f578063728d41c91461067557610287565b80633ecad2711461048f5780634974d88f146104cb57806352f7c988146104f35780635342acb41461051b57806359fac517146105575780635c85974f1461057f57610287565b806318160ddd1161024457806318160ddd1461036f57806323b872dd1461039957806327c8f835146103d55780632b112e49146103ff578063313ce56714610429578063395093511461045357610287565b80630445b6671461028b57806306fdde03146102b55780630758d924146102df5780630930907b14610309578063095ea7b31461033357610287565b3661028757005b5f80fd5b348015610296575f80fd5b5061029f610a97565b6040516102ac9190613261565b60405180910390f35b3480156102c0575f80fd5b506102c9610a9d565b6040516102d69190613304565b60405180910390f35b3480156102ea575f80fd5b506102f3610b2d565b604051610300919061339e565b60405180910390f35b348015610314575f80fd5b5061031d610b53565b60405161032a91906133d7565b60405180910390f35b34801561033e575f80fd5b5061035960048036038101906103549190613448565b610b77565b60405161036691906134a0565b60405180910390f35b34801561037a575f80fd5b50610383610b94565b6040516103909190613261565b60405180910390f35b3480156103a4575f80fd5b506103bf60048036038101906103ba91906134b9565b610b9d565b6040516103cc91906134a0565b60405180910390f35b3480156103e0575f80fd5b506103e9610c8f565b6040516103f691906133d7565b60405180910390f35b34801561040a575f80fd5b50610413610cb3565b6040516104209190613261565b60405180910390f35b348015610434575f80fd5b5061043d610d30565b60405161044a9190613524565b60405180910390f35b34801561045e575f80fd5b5061047960048036038101906104749190613448565b610d45565b60405161048691906134a0565b60405180910390f35b34801561049a575f80fd5b506104b560048036038101906104b0919061353d565b610df3565b6040516104c291906134a0565b60405180910390f35b3480156104d6575f80fd5b506104f160048036038101906104ec9190613592565b610e10565b005b3480156104fe575f80fd5b50610519600480360381019061051491906135bd565b610ea9565b005b348015610526575f80fd5b50610541600480360381019061053c919061353d565b610f37565b60405161054e91906134a0565b60405180910390f35b348015610562575f80fd5b5061057d6004803603810190610578919061353d565b610f54565b005b34801561058a575f80fd5b506105a560048036038101906105a091906135fb565b611014565b005b3480156105b2575f80fd5b506105bb61109a565b6040516105c891906134a0565b60405180910390f35b3480156105dc575f80fd5b506105f760048036038101906105f29190613626565b6110ad565b005b348015610604575f80fd5b5061060d611181565b60405161061a91906134a0565b60405180910390f35b34801561062e575f80fd5b506106496004803603810190610644919061353d565b611193565b6040516106569190613261565b60405180910390f35b34801561066a575f80fd5b506106736111d9565b005b348015610680575f80fd5b5061069b600480360381019061069691906135fb565b611260565b005b3480156106a8575f80fd5b506106c360048036038101906106be919061353d565b6112e6565b005b3480156106d0575f80fd5b506106d96113a5565b6040516106e69190613261565b60405180910390f35b3480156106fa575f80fd5b506107036113ab565b6040516107109190613261565b60405180910390f35b348015610724575f80fd5b5061073f600480360381019061073a919061353d565b6113b1565b60405161074c91906134a0565b60405180910390f35b348015610760575f80fd5b506107696113ce565b60405161077691906133d7565b60405180910390f35b34801561078a575f80fd5b506107936113f5565b6040516107a09190613304565b60405180910390f35b3480156107b4575f80fd5b506107cf60048036038101906107ca9190613448565b611485565b6040516107dc91906134a0565b60405180910390f35b3480156107f0575f80fd5b5061080b60048036038101906108069190613448565b61154d565b60405161081891906134a0565b60405180910390f35b34801561082c575f80fd5b5061084760048036038101906108429190613626565b61156b565b005b348015610854575f80fd5b5061086f600480360381019061086a9190613664565b61163f565b005b34801561087c575f80fd5b506108856116fa565b60405161089291906133d7565b60405180910390f35b3480156108a6575f80fd5b506108c160048036038101906108bc9190613626565b61171f565b005b3480156108ce575f80fd5b506108e960048036038101906108e4919061353d565b61184e565b6040516108f691906134a0565b60405180910390f35b34801561090a575f80fd5b50610925600480360381019061092091906134b9565b61186b565b005b348015610932575f80fd5b5061094d600480360381019061094891906136b4565b611a24565b60405161095a9190613261565b60405180910390f35b34801561096e575f80fd5b5061098960048036038101906109849190613626565b611aa6565b005b348015610996575f80fd5b5061099f611b7a565b005b3480156109ac575f80fd5b506109b5611ca1565b6040516109c291906134a0565b60405180910390f35b3480156109d6575f80fd5b506109f160048036038101906109ec9190613592565b611cb4565b005b3480156109fe575f80fd5b50610a07611d4d565b604051610a1491906133d7565b60405180910390f35b348015610a28575f80fd5b50610a436004803603810190610a3e919061353d565b611d72565b005b348015610a50575f80fd5b50610a6b6004803603810190610a66919061353d565b611e68565b005b348015610a78575f80fd5b50610a81611f27565b604051610a8e91906134a0565b60405180910390f35b60115481565b606060018054610aac9061371f565b80601f0160208091040260200160405190810160405280929190818152602001828054610ad89061371f565b8015610b235780601f10610afa57610100808354040283529160200191610b23565b820191905f5260205f20905b815481529060010190602001808311610b0657829003601f168201915b5050505050905090565b601260049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f610b8a610b83611f3a565b8484611f41565b6001905092915050565b5f600e54905090565b5f610ba9848484612104565b50610c8484610bb6611f3a565b610c7f856040518060400160405280601881526020017f45524332303a204578636565647320616c6c6f77616e6365000000000000000081525060095f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610c36611f3a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546126ac9092919063ffffffff16565b611f41565b600190509392505050565b7f000000000000000000000000000000000000000000000000000000000000dead81565b5f610d2b610ce07f0000000000000000000000000000000000000000000000000000000000000000611193565b610d1d610d0c7f000000000000000000000000000000000000000000000000000000000000dead611193565b600e5461270e90919063ffffffff16565b61270e90919063ffffffff16565b905090565b5f60035f9054906101000a900460ff16905090565b5f610de9610d51611f3a565b84610de48560095f610d61611f3a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461275790919063ffffffff16565b611f41565b6001905092915050565b600b602052805f5260405f205f915054906101000a900460ff1681565b610e18611f3a565b73ffffffffffffffffffffffffffffffffffffffff16610e366113ce565b73ffffffffffffffffffffffffffffffffffffffff1614610e8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8390613799565b60405180910390fd5b80601260036101000a81548160ff02191690831515021790555050565b610eb1611f3a565b73ffffffffffffffffffffffffffffffffffffffff16610ecf6113ce565b73ffffffffffffffffffffffffffffffffffffffff1614610f25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1c90613799565b60405180910390fd5b81600481905550806005819055505050565b600a602052805f5260405f205f915054906101000a900460ff1681565b610f5c611f3a565b73ffffffffffffffffffffffffffffffffffffffff16610f7a6113ce565b73ffffffffffffffffffffffffffffffffffffffff1614610fd0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc790613799565b60405180910390fd5b80601260046101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61101c611f3a565b73ffffffffffffffffffffffffffffffffffffffff1661103a6113ce565b73ffffffffffffffffffffffffffffffffffffffff1614611090576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108790613799565b60405180910390fd5b80600f8190555050565b601260029054906101000a900460ff1681565b6110b5611f3a565b73ffffffffffffffffffffffffffffffffffffffff166110d36113ce565b73ffffffffffffffffffffffffffffffffffffffff1614611129576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112090613799565b60405180910390fd5b80600c5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b60125f9054906101000a900460ff1681565b5f60085f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6111e1611f3a565b73ffffffffffffffffffffffffffffffffffffffff166111ff6113ce565b73ffffffffffffffffffffffffffffffffffffffff1614611255576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124c90613799565b60405180910390fd5b61125e5f6127b4565b565b611268611f3a565b73ffffffffffffffffffffffffffffffffffffffff166112866113ce565b73ffffffffffffffffffffffffffffffffffffffff16146112dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d390613799565b60405180910390fd5b8060108190555050565b6112ee611f3a565b73ffffffffffffffffffffffffffffffffffffffff1661130c6113ce565b73ffffffffffffffffffffffffffffffffffffffff1614611362576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161135990613799565b60405180910390fd5b8060065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600f5481565b60105481565b600d602052805f5260405f205f915054906101000a900460ff1681565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600280546114049061371f565b80601f01602080910402602001604051908101604052809291908181526020018280546114309061371f565b801561147b5780601f106114525761010080835404028352916020019161147b565b820191905f5260205f20905b81548152906001019060200180831161145e57829003601f168201915b5050505050905090565b5f611543611491611f3a565b8461153e85604051806060016040528060258152602001613ff06025913960095f6114ba611f3a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546126ac9092919063ffffffff16565b611f41565b6001905092915050565b5f611560611559611f3a565b8484612104565b506001905092915050565b611573611f3a565b73ffffffffffffffffffffffffffffffffffffffff166115916113ce565b73ffffffffffffffffffffffffffffffffffffffff16146115e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115de90613799565b60405180910390fd5b80600d5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b611647611f3a565b73ffffffffffffffffffffffffffffffffffffffff166116656113ce565b73ffffffffffffffffffffffffffffffffffffffff16146116bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116b290613799565b60405180910390fd5b8160125f6101000a81548160ff02191690831515021790555080601260016101000a81548160ff02191690831515021790555082601181905550505050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611727611f3a565b73ffffffffffffffffffffffffffffffffffffffff166117456113ce565b73ffffffffffffffffffffffffffffffffffffffff161461179b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161179290613799565b60405180910390fd5b80600b5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550801561184a5780600c5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505b5050565b600c602052805f5260405f205f915054906101000a900460ff1681565b611873611f3a565b73ffffffffffffffffffffffffffffffffffffffff166118916113ce565b73ffffffffffffffffffffffffffffffffffffffff16146118e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118de90613799565b60405180910390fd5b5f8373ffffffffffffffffffffffffffffffffffffffff1683836040516024016119129291906137b7565b6040516020818303038152906040527fa9059cbb000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505060405161199c9190613822565b5f604051808303815f865af19150503d805f81146119d5576040519150601f19603f3d011682016040523d82523d5f602084013e6119da565b606091505b5050905080611a1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1590613882565b60405180910390fd5b50505050565b5f60095f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b611aae611f3a565b73ffffffffffffffffffffffffffffffffffffffff16611acc6113ce565b73ffffffffffffffffffffffffffffffffffffffff1614611b22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b1990613799565b60405180910390fd5b80600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b611b82611f3a565b73ffffffffffffffffffffffffffffffffffffffff16611ba06113ce565b73ffffffffffffffffffffffffffffffffffffffff1614611bf6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bed90613799565b60405180910390fd5b5f3373ffffffffffffffffffffffffffffffffffffffff1647604051611c1b906138c3565b5f6040518083038185875af1925050503d805f8114611c55576040519150601f19603f3d011682016040523d82523d5f602084013e611c5a565b606091505b5050905080611c9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c9590613921565b60405180910390fd5b50565b601260019054906101000a900460ff1681565b611cbc611f3a565b73ffffffffffffffffffffffffffffffffffffffff16611cda6113ce565b73ffffffffffffffffffffffffffffffffffffffff1614611d30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d2790613799565b60405180910390fd5b80601260026101000a81548160ff02191690831515021790555050565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611d7a611f3a565b73ffffffffffffffffffffffffffffffffffffffff16611d986113ce565b73ffffffffffffffffffffffffffffffffffffffff1614611dee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611de590613799565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611e5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e53906139af565b60405180910390fd5b611e65816127b4565b50565b611e70611f3a565b73ffffffffffffffffffffffffffffffffffffffff16611e8e6113ce565b73ffffffffffffffffffffffffffffffffffffffff1614611ee4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611edb90613799565b60405180910390fd5b8060135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601260039054906101000a900460ff1681565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611faf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fa690613a3d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361201d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161201490613acb565b60405180910390fd5b8060095f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516120f79190613261565b60405180910390a3505050565b5f8073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361213c575f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612173575f80fd5b5f821161217e575f80fd5b601360149054906101000a900460ff16156121a55761219e848484612875565b90506126a5565b5f6121af30611193565b90505f60115482101590508080156121d45750601360149054906101000a900460ff16155b80156122275750600b5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b801561223e575060125f9054906101000a900460ff165b80156122915750600a5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156122e45750600a5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156122f3576122f282612a3f565b5b600d5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156123915750600d5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156123a95750601260029054906101000a900460ff165b156123f457600f548411156123f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123ea90613b33565b60405180910390fd5b5b61247b846040518060400160405280601481526020017f496e73756666696369656e742042616c616e636500000000000000000000000081525060085f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546126ac9092919063ffffffff16565b60085f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f6124c78787612b41565b6124db576124d6878787612c9d565b6124dd565b845b9050601260039054906101000a900460ff1680156125425750600c5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156125a7576010546125658261255789611193565b61275790919063ffffffff16565b11156125a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161259d90613b9b565b60405180910390fd5b5b6125f78160085f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461275790919063ffffffff16565b60085f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516126959190613261565b60405180910390a3600193505050505b9392505050565b5f8383111582906126f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126ea9190613304565b60405180910390fd5b505f83856127019190613be6565b9050809150509392505050565b5f61274f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506126ac565b905092915050565b5f8082846127659190613c19565b9050838110156127aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127a190613c96565b60405180910390fd5b8091505092915050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f6128fd826040518060400160405280601481526020017f496e73756666696369656e742042616c616e636500000000000000000000000081525060085f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546126ac9092919063ffffffff16565b60085f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061298e8260085f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461275790919063ffffffff16565b60085f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612a2c9190613261565b60405180910390a3600190509392505050565b6001601360146101000a81548160ff021916908315150217905550601260019054906101000a900460ff1615612a755760115490505b5f479050612a8282612eb6565b5f612a96824761270e90919063ffffffff16565b90505f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682604051612ade906138c3565b5f6040518083038185875af1925050503d805f8114612b18576040519150601f19603f3d011682016040523d82523d5f602084013e612b1d565b606091505b505090505050505f601360146101000a81548160ff02191690831515021790555050565b5f600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680612bdd5750600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b15612beb5760019050612c97565b600b5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680612c865750600b5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b15612c93575f9050612c97565b5f90505b92915050565b5f80600b5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615612d1e57612d17600754612d096004548661312890919063ffffffff16565b61319f90919063ffffffff16565b9050612d9a565b600b5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615612d9957612d96600754612d886005548661312890919063ffffffff16565b61319f90919063ffffffff16565b90505b5b5f811115612e9957612df28160085f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461275790919063ffffffff16565b60085f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612e909190613261565b60405180910390a35b612eac818461270e90919063ffffffff16565b9150509392505050565b5f600267ffffffffffffffff811115612ed257612ed1613cb4565b5b604051908082528060200260200182016040528015612f005781602001602082028036833780820191505090505b50905030815f81518110612f1757612f16613ce1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601260049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612fbc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612fe09190613d22565b81600181518110612ff457612ff3613ce1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061305b30601260049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611f41565b601260049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016130be959493929190613e3d565b5f604051808303815f87803b1580156130d5575f80fd5b505af11580156130e7573d5f803e3d5ffd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a7828260405161311c929190613e95565b60405180910390a15050565b5f808303613138575f9050613199565b5f82846131459190613ec3565b90508284826131549190613f31565b14613194576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161318b90613fd1565b60405180910390fd5b809150505b92915050565b5f6131e083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506131e8565b905092915050565b5f808311829061322e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016132259190613304565b60405180910390fd5b505f838561323c9190613f31565b9050809150509392505050565b5f819050919050565b61325b81613249565b82525050565b5f6020820190506132745f830184613252565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156132b1578082015181840152602081019050613296565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6132d68261327a565b6132e08185613284565b93506132f0818560208601613294565b6132f9816132bc565b840191505092915050565b5f6020820190508181035f83015261331c81846132cc565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f819050919050565b5f61336661336161335c84613324565b613343565b613324565b9050919050565b5f6133778261334c565b9050919050565b5f6133888261336d565b9050919050565b6133988161337e565b82525050565b5f6020820190506133b15f83018461338f565b92915050565b5f6133c182613324565b9050919050565b6133d1816133b7565b82525050565b5f6020820190506133ea5f8301846133c8565b92915050565b5f80fd5b6133fd816133b7565b8114613407575f80fd5b50565b5f81359050613418816133f4565b92915050565b61342781613249565b8114613431575f80fd5b50565b5f813590506134428161341e565b92915050565b5f806040838503121561345e5761345d6133f0565b5b5f61346b8582860161340a565b925050602061347c85828601613434565b9150509250929050565b5f8115159050919050565b61349a81613486565b82525050565b5f6020820190506134b35f830184613491565b92915050565b5f805f606084860312156134d0576134cf6133f0565b5b5f6134dd8682870161340a565b93505060206134ee8682870161340a565b92505060406134ff86828701613434565b9150509250925092565b5f60ff82169050919050565b61351e81613509565b82525050565b5f6020820190506135375f830184613515565b92915050565b5f60208284031215613552576135516133f0565b5b5f61355f8482850161340a565b91505092915050565b61357181613486565b811461357b575f80fd5b50565b5f8135905061358c81613568565b92915050565b5f602082840312156135a7576135a66133f0565b5b5f6135b48482850161357e565b91505092915050565b5f80604083850312156135d3576135d26133f0565b5b5f6135e085828601613434565b92505060206135f185828601613434565b9150509250929050565b5f602082840312156136105761360f6133f0565b5b5f61361d84828501613434565b91505092915050565b5f806040838503121561363c5761363b6133f0565b5b5f6136498582860161340a565b925050602061365a8582860161357e565b9150509250929050565b5f805f6060848603121561367b5761367a6133f0565b5b5f61368886828701613434565b93505060206136998682870161357e565b92505060406136aa8682870161357e565b9150509250925092565b5f80604083850312156136ca576136c96133f0565b5b5f6136d78582860161340a565b92505060206136e88582860161340a565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061373657607f821691505b602082108103613749576137486136f2565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f613783602083613284565b915061378e8261374f565b602082019050919050565b5f6020820190508181035f8301526137b081613777565b9050919050565b5f6040820190506137ca5f8301856133c8565b6137d76020830184613252565b9392505050565b5f81519050919050565b5f81905092915050565b5f6137fc826137de565b61380681856137e8565b9350613816818560208601613294565b80840191505092915050565b5f61382d82846137f2565b915081905092915050565b7f546f6b656e207061796d656e74206661696c65640000000000000000000000005f82015250565b5f61386c601483613284565b915061387782613838565b602082019050919050565b5f6020820190508181035f83015261389981613860565b9050919050565b50565b5f6138ae5f836137e8565b91506138b9826138a0565b5f82019050919050565b5f6138cd826138a3565b9150819050919050565b7f5472616e73616374696f6e204661696c656421210000000000000000000000005f82015250565b5f61390b601483613284565b9150613916826138d7565b602082019050919050565b5f6020820190508181035f830152613938816138ff565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f613999602683613284565b91506139a48261393f565b604082019050919050565b5f6020820190508181035f8301526139c68161398d565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f613a27602483613284565b9150613a32826139cd565b604082019050919050565b5f6020820190508181035f830152613a5481613a1b565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f613ab5602283613284565b9150613ac082613a5b565b604082019050919050565b5f6020820190508181035f830152613ae281613aa9565b9050919050565b7f45786365656473206d61785478416d6f756e74000000000000000000000000005f82015250565b5f613b1d601383613284565b9150613b2882613ae9565b602082019050919050565b5f6020820190508181035f830152613b4a81613b11565b9050919050565b7f457863656564732057616c6c65740000000000000000000000000000000000005f82015250565b5f613b85600e83613284565b9150613b9082613b51565b602082019050919050565b5f6020820190508181035f830152613bb281613b79565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f613bf082613249565b9150613bfb83613249565b9250828203905081811115613c1357613c12613bb9565b5b92915050565b5f613c2382613249565b9150613c2e83613249565b9250828201905080821115613c4657613c45613bb9565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613c80601b83613284565b9150613c8b82613c4c565b602082019050919050565b5f6020820190508181035f830152613cad81613c74565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050613d1c816133f4565b92915050565b5f60208284031215613d3757613d366133f0565b5b5f613d4484828501613d0e565b91505092915050565b5f819050919050565b5f613d70613d6b613d6684613d4d565b613343565b613249565b9050919050565b613d8081613d56565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613db8816133b7565b82525050565b5f613dc98383613daf565b60208301905092915050565b5f602082019050919050565b5f613deb82613d86565b613df58185613d90565b9350613e0083613da0565b805f5b83811015613e30578151613e178882613dbe565b9750613e2283613dd5565b925050600181019050613e03565b5085935050505092915050565b5f60a082019050613e505f830188613252565b613e5d6020830187613d77565b8181036040830152613e6f8186613de1565b9050613e7e60608301856133c8565b613e8b6080830184613252565b9695505050505050565b5f604082019050613ea85f830185613252565b8181036020830152613eba8184613de1565b90509392505050565b5f613ecd82613249565b9150613ed883613249565b9250828202613ee681613249565b91508282048414831517613efd57613efc613bb9565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f613f3b82613249565b9150613f4683613249565b925082613f5657613f55613f04565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f613fbb602183613284565b9150613fc682613f61565b604082019050919050565b5f6020820190508181035f830152613fe881613faf565b905091905056fe45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122019e34ae6ad0686f4006e8b525106ed6d0a8ef39a09343d4e3039cafd0af4fd6e64736f6c63430008150033
Verified Source Code Partial Match
Compiler: v0.8.21+commit.d9974bed
EVM: shanghai
Optimization: No
STAR.sol 592 lines
/*
⣴⠖⠒⠶⣦⠤⣤⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⡇⠀⣠⠞⠁⢀⡔⠋⢋⠟⢲⣤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⢿⠞⠁⢀⡴⠋⠀⠀⠀⠀⠉⠀⢟⡷⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⢸⡄⣠⠎⠀⢠⢾⣿⣝⢷⡀⠀⠀⠀⠩⣻⣦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⢿⠃⠀⠀⢾⢺⣿⣿⣯⠇⠀⠀⠀⠀⠁⠞⣳⣤⠤⠤⠤⢤⣄⣀⡀⠀⠀⠀⠀⠀
⠀⠘⣧⠂⠀⠈⠳⠿⠿⠋⣠⣶⣶⣦⡀⠀⠐⡡⢻⣦⠤⠤⠤⠤⠤⠉⣳⡄⠀⠀⠀
⠀⠀⠹⣏⠀⠀⠀⠀⠀⠀⡇⣿⣿⣏⡇⠀⠀⣠⠏⠙⣆⠀⠀⠀⠀⠀⠀⢹⡀⠀⠀
⠀⠀⠀⠙⣖⠴⡂⠀⠀⠀⠙⠯⠿⠞⠁⢀⡞⠁⢠⠾⢿⡆⠀⠀⠀⠀⠀⠘⣇⠀⠀
⠀⠀⠀⠀⠘⢿⣔⡠⢀⠀⠀⠀⠀⠀⡴⢻⡶⣴⣃⠀⢐⡿⠒⠒⠒⢦⡀⠀⢻⠀⠀
⠀⠀⠀⠀⠀⠀⠙⢶⣥⢂⠀⠀⣠⠎⠀⡰⢷⡀⠉⠛⣟⠁⠀⠀⠀⠀⠙⢦⣸⡆⠀
⠀⠀⠀⠀⠀⠀⠀⠀⢿⢻⣦⣞⡁⡠⢊⠀⠀⣷⣄⣀⠹⣗⠶⣄⡀⠀⠀⠈⠻⡇⠀
⠀⠀⠀⠀⠀⠀⠀⠀⢸⠀⡇⠈⠉⠛⠿⢷⡞⠁⠈⢿⠻⣿⠗⣌⠻⣦⡀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⢸⡆⢧⠀⠀⠀⠀⠘⡇⠀⠀⠈⢷⣌⠳⣌⠳⡈⠻⣄⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⢷⢸⡀⠀⠀⠀⠀⠳⣄⠀⠀⠀⠙⠷⣄⡙⠻⠄⠹⣆⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠳⢧⣄⣀⠀⠀⠀⠘⢷⣄⠀⠀⠀⠈⠛⠶⣄⣀⠘⣆⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠉⠙⠓⠒⠒⠛⠃⠀⠀⠀⠀⠀⠀⠉⠛⠾⠆
-> Telegram: https://t.me/StarCoinElon
-> Twitter: https://x.com/StarshipCoinElon
-> Website: http://starcoinelon.com/
*/
// SPDX-License-Identifier:MIT
pragma solidity ^0.8.16;
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
function _msgData() internal view virtual returns (bytes calldata) {
return msg.data;
}
}
interface IERC20 {
function totalSupply() external view returns (uint256);
function balanceOf(address _account) external view returns (uint256);
function transfer(address recipient, uint256 amount)
external
returns (bool);
function allowance(address owner, address spender)
external
view
returns (uint256);
function approve(address spender, uint256 amount) external returns (bool);
function transferFrom(
address sender,
address recipient,
uint256 amount
) external returns (bool);
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(
address indexed owner,
address indexed spender,
uint256 value
);
}
abstract contract Ownable is Context {
address private _owner;
event OwnershipTransferred(
address indexed previousOwner,
address indexed newOwner
);
/**
* @dev Initializes the contract setting the deployer as the initial owner.
*/
constructor() {
_setOwner(_msgSender());
}
/**
* @dev Returns the address of the current owner.
*/
function owner() public view virtual returns (address) {
return _owner;
}
/**
* @dev Throws if called by any _account other than the owner.
*/
modifier onlyOwner() {
require(owner() == _msgSender(), "Ownable: caller is not the owner");
_;
}
function renounceOwnership() public virtual onlyOwner {
_setOwner(address(0));
}
function transferOwnership(address newOwner) public virtual onlyOwner {
require(
newOwner != address(0),
"Ownable: new owner is the zero address"
);
_setOwner(newOwner);
}
function _setOwner(address newOwner) private {
address oldOwner = _owner;
_owner = newOwner;
emit OwnershipTransferred(oldOwner, newOwner);
}
}
library SafeMath {
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
require(c >= a, "SafeMath: addition overflow");
return c;
}
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
return sub(a, b, "SafeMath: subtraction overflow");
}
function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b <= a, errorMessage);
uint256 c = a - b;
return c;
}
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
if (a == 0) {
return 0;
}
uint256 c = a * b;
require(c / a == b, "SafeMath: multiplication overflow");
return c;
}
function div(uint256 a, uint256 b) internal pure returns (uint256) {
return div(a, b, "SafeMath: division by zero");
}
function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b > 0, errorMessage);
uint256 c = a / b;
// assert(a == b * c + a % b); // There is no case in which this doesn't hold
return c;
}
function mod(uint256 a, uint256 b) internal pure returns (uint256) {
return mod(a, b, "SafeMath: modulo by zero");
}
function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b != 0, errorMessage);
return a % b;
}
}
interface IDexSwapFactory {
event PairCreated(address indexed token0, address indexed token1, address pair, uint);
function getPair(address tokenA, address tokenB) external view returns (address pair);
function createPair(address tokenA, address tokenB) external returns (address pair);
}
interface IDexSwapPair {
event Approval(address indexed owner, address indexed spender, uint value);
event Transfer(address indexed from, address indexed to, uint value);
function name() external pure returns (string memory);
function symbol() external pure returns (string memory);
function decimals() external pure returns (uint8);
function totalSupply() external view returns (uint);
function balanceOf(address owner) external view returns (uint);
function allowance(address owner, address spender) external view returns (uint);
function approve(address spender, uint value) external returns (bool);
function transfer(address to, uint value) external returns (bool);
function transferFrom(address from, address to, uint value) external returns (bool);
function DOMAIN_SEPARATOR() external view returns (bytes32);
function PERMIT_TYPEHASH() external pure returns (bytes32);
function nonces(address owner) external view returns (uint);
function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external;
event Burn(address indexed sender, uint amount0, uint amount1, address indexed to);
event Swap(
address indexed sender,
uint amount0In,
uint amount1In,
uint amount0Out,
uint amount1Out,
address indexed to
);
event Sync(uint112 reserve0, uint112 reserve1);
function MINIMUM_LIQUIDITY() external pure returns (uint);
function factory() external view returns (address);
function token0() external view returns (address);
function token1() external view returns (address);
function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
function price0CumulativeLast() external view returns (uint);
function price1CumulativeLast() external view returns (uint);
function kLast() external view returns (uint);
function burn(address to) external returns (uint amount0, uint amount1);
function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external;
function skim(address to) external;
function sync() external;
function initialize(address, address) external;
}
interface IDexSwapRouter {
function factory() external pure returns (address);
function WETH() external pure returns (address);
function addLiquidityETH(
address token,
uint amountTokenDesired,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline
) external payable returns (uint amountToken, uint amountETH, uint liquidity);
function swapExactTokensForETHSupportingFeeOnTransferTokens(
uint amountIn,
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external;
}
contract STAR is Context, IERC20, Ownable {
using SafeMath for uint256;
string private _name = "Starship";
string private _symbol = "STAR";
uint8 private _decimals = 8;
address public immutable deadAddress = 0x000000000000000000000000000000000000dEaD;
address public immutable zeroAddress = 0x0000000000000000000000000000000000000000;
uint _buyTax = 3;
uint _sellTax = 3;
address public developmentWallet = address(0xa70259842Fe1ec1a9F8848F8DDDBF6a3526128BF);
uint256 feedenominator = 100;
mapping (address => uint256) _balances;
mapping (address => mapping (address => uint256)) private _allowances;
mapping (address => bool) public isExcludedFromFee;
mapping (address => bool) public isMarketPair;
mapping (address => bool) public isWalletLimitExempt;
mapping (address => bool) public isTxLimitExempt;
uint256 private _totalSupply = 1_000_000_000 * 10**_decimals;
uint256 public _maxTxAmount = _totalSupply.mul(2).div(100); // 2%
uint256 public _walletMax = _totalSupply.mul(2).div(100); // 2%
uint256 public swapThreshold = 500_000 * 10**_decimals;
bool public swapEnabled = true;
bool public swapbylimit = false;
bool public EnableTxLimit = true;
bool public checkWalletLimit = true;
IDexSwapRouter public dexRouter;
address public dexPair;
bool inSwap;
modifier swapping() {
inSwap = true;
_;
inSwap = false;
}
event SwapTokensForETH(
uint256 amountIn,
address[] path
);
constructor() {
address dev = address(0xe98A559d72ea4ea1a24fb7C1F65cd5D87631690c);
IDexSwapRouter _dexRouter = IDexSwapRouter(
0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
);
dexPair = IDexSwapFactory(_dexRouter.factory())
.createPair(address(this), _dexRouter.WETH());
dexRouter = _dexRouter;
isExcludedFromFee[address(this)] = true;
isExcludedFromFee[dev] = true;
isExcludedFromFee[address(dexRouter)] = true;
isWalletLimitExempt[dev] = true;
isWalletLimitExempt[address(dexRouter)] = true;
isWalletLimitExempt[address(this)] = true;
isWalletLimitExempt[deadAddress] = true;
isWalletLimitExempt[zeroAddress] = true;
isTxLimitExempt[deadAddress] = true;
isTxLimitExempt[zeroAddress] = true;
isTxLimitExempt[dev] = true;
isTxLimitExempt[address(this)] = true;
isTxLimitExempt[address(dexRouter)] = true;
isMarketPair[address(dexPair)] = true;
isWalletLimitExempt[address(dexPair)] = true;
_allowances[address(this)][address(dexPair)] = ~uint256(0);
_allowances[address(this)][address(dexRouter)] = ~uint256(0);
_balances[dev] = _totalSupply;
emit Transfer(address(0), dev, _totalSupply);
}
function name() public view returns (string memory) {
return _name;
}
function symbol() public view returns (string memory) {
return _symbol;
}
function decimals() public view returns (uint8) {
return _decimals;
}
function totalSupply() public view override returns (uint256) {
return _totalSupply;
}
function balanceOf(address account) public view override returns (uint256) {
return _balances[account];
}
function allowance(address owner, address spender) public view override returns (uint256) {
return _allowances[owner][spender];
}
function getCirculatingSupply() public view returns (uint256) {
return _totalSupply.sub(balanceOf(deadAddress)).sub(balanceOf(zeroAddress));
}
function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
_approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));
return true;
}
function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
_approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero"));
return true;
}
function approve(address spender, uint256 amount) public override returns (bool) {
_approve(_msgSender(), spender, amount);
return true;
}
function _approve(address owner, address spender, uint256 amount) private {
require(owner != address(0), "ERC20: approve from the zero address");
require(spender != address(0), "ERC20: approve to the zero address");
_allowances[owner][spender] = amount;
emit Approval(owner, spender, amount);
}
//to recieve ETH from Router when swaping
receive() external payable {}
function transfer(address recipient, uint256 amount) public override returns (bool) {
_transfer(_msgSender(), recipient, amount);
return true;
}
function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
_transfer(sender, recipient, amount);
_approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: Exceeds allowance"));
return true;
}
function _transfer(address sender, address recipient, uint256 amount) private returns (bool) {
require(sender != address(0));
require(recipient != address(0));
require(amount > 0);
if (inSwap) {
return _basicTransfer(sender, recipient, amount);
}
else {
uint256 contractTokenBalance = balanceOf(address(this));
bool overMinimumTokenBalance = contractTokenBalance >= swapThreshold;
if (
overMinimumTokenBalance &&
!inSwap &&
!isMarketPair[sender] &&
swapEnabled &&
!isExcludedFromFee[sender] &&
!isExcludedFromFee[recipient]
) {
swapBack(contractTokenBalance);
}
if(!isTxLimitExempt[sender] && !isTxLimitExempt[recipient] && EnableTxLimit) {
require(amount <= _maxTxAmount, "Exceeds maxTxAmount");
}
_balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
uint256 finalAmount = shouldNotTakeFee(sender,recipient) ? amount : takeFee(sender, recipient, amount);
if(checkWalletLimit && !isWalletLimitExempt[recipient]) {
require(balanceOf(recipient).add(finalAmount) <= _walletMax,"Exceeds Wallet");
}
_balances[recipient] = _balances[recipient].add(finalAmount);
emit Transfer(sender, recipient, finalAmount);
return true;
}
}
function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
_balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
_balances[recipient] = _balances[recipient].add(amount);
emit Transfer(sender, recipient, amount);
return true;
}
function shouldNotTakeFee(address sender, address recipient) internal view returns (bool) {
if(isExcludedFromFee[sender] || isExcludedFromFee[recipient]) {
return true;
}
else if (isMarketPair[sender] || isMarketPair[recipient]) {
return false;
}
else {
return false;
}
}
function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) {
uint feeAmount;
unchecked {
if(isMarketPair[sender]) {
feeAmount = amount.mul(_buyTax).div(feedenominator);
}
else if(isMarketPair[recipient]) {
feeAmount = amount.mul(_sellTax).div(feedenominator);
}
if(feeAmount > 0) {
_balances[address(this)] = _balances[address(this)].add(feeAmount);
emit Transfer(sender, address(this), feeAmount);
}
return amount.sub(feeAmount);
}
}
function swapBack(uint contractBalance) internal swapping {
if(swapbylimit) contractBalance = swapThreshold;
uint256 initialBalance = address(this).balance;
swapTokensForEth(contractBalance);
uint256 amountReceived = address(this).balance.sub(initialBalance);
(bool os,) = payable(developmentWallet).call{value: amountReceived}("");
if(os) {}
}
function swapTokensForEth(uint256 tokenAmount) private {
// generate the uniswap pair path of token -> weth
address[] memory path = new address[](2);
path[0] = address(this);
path[1] = dexRouter.WETH();
_approve(address(this), address(dexRouter), tokenAmount);
// make the swap
dexRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
tokenAmount,
0, // accept any amount of ETH
path,
address(this), // The contract
block.timestamp
);
emit SwapTokensForETH(tokenAmount, path);
}
function rescueFunds() external onlyOwner {
(bool os,) = payable(msg.sender).call{value: address(this).balance}("");
require(os,"Transaction Failed!!");
}
function rescueTokens(address _token,address recipient,uint _amount) external onlyOwner {
(bool success, ) = address(_token).call(abi.encodeWithSignature('transfer(address,uint256)', recipient, _amount));
require(success, 'Token payment failed');
}
function enableTxLimit(bool _status) external onlyOwner {
EnableTxLimit = _status;
}
function enableWalletLimit(bool _status) external onlyOwner {
checkWalletLimit = _status;
}
function excludeFromFee(address _adr,bool _status) external onlyOwner {
isExcludedFromFee[_adr] = _status;
}
function excludeWalletLimit(address _adr,bool _status) external onlyOwner {
isWalletLimitExempt[_adr] = _status;
}
function excludeTxLimit(address _adr,bool _status) external onlyOwner {
isTxLimitExempt[_adr] = _status;
}
function setMaxWalletLimit(uint256 newLimit) external onlyOwner() {
_walletMax = newLimit;
}
function setTxLimit(uint256 newLimit) external onlyOwner() {
_maxTxAmount = newLimit;
}
function setMarketPair(address _pair, bool _status) external onlyOwner {
isMarketPair[_pair] = _status;
if(_status) {
isWalletLimitExempt[_pair] = _status;
}
}
function setDevelopmentWallet(address _addr) external onlyOwner {
developmentWallet = _addr;
}
function setFee(uint _buy, uint _sell) external onlyOwner {
_buyTax = _buy;
_sellTax = _sell;
}
function setSwapBackSettings(uint _threshold, bool _enabled, bool _limited)
external
onlyOwner
{
swapEnabled = _enabled;
swapbylimit = _limited;
swapThreshold = _threshold;
}
function setManualRouter(address _router) external onlyOwner {
dexRouter = IDexSwapRouter(_router);
}
function setManualPair(address _pair) external onlyOwner {
dexPair = _pair;
}
}
Read Contract
EnableTxLimit 0x5e42358c → bool
_maxTxAmount 0x7d1db4a5 → uint256
_walletMax 0x807c2d9c → uint256
allowance 0xdd62ed3e → uint256
balanceOf 0x70a08231 → uint256
checkWalletLimit 0xf872858a → bool
deadAddress 0x27c8f835 → address
decimals 0x313ce567 → uint8
developmentWallet 0xc04a5414 → address
dexPair 0xf242ab41 → address
dexRouter 0x0758d924 → address
getCirculatingSupply 0x2b112e49 → uint256
isExcludedFromFee 0x5342acb4 → bool
isMarketPair 0x3ecad271 → bool
isTxLimitExempt 0x8b42507f → bool
isWalletLimitExempt 0xc867d60b → bool
name 0x06fdde03 → string
owner 0x8da5cb5b → address
swapEnabled 0x6ddd1713 → bool
swapThreshold 0x0445b667 → uint256
swapbylimit 0xe9fd3394 → bool
symbol 0x95d89b41 → string
totalSupply 0x18160ddd → uint256
zeroAddress 0x0930907b → address
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
enableTxLimit 0xee828db3
bool _status
enableWalletLimit 0x4974d88f
bool _status
excludeFromFee 0xdf8408fe
address _adr
bool _status
excludeTxLimit 0xae85ade6
address _adr
bool _status
excludeWalletLimit 0x651a8987
address _adr
bool _status
increaseAllowance 0x39509351
address spender
uint256 addedValue
returns: bool
renounceOwnership 0x715018a6
No parameters
rescueFunds 0xe6b2603b
No parameters
rescueTokens 0xcea9d26f
address _token
address recipient
uint256 _amount
setDevelopmentWallet 0x72ac2486
address _addr
setFee 0x52f7c988
uint256 _buy
uint256 _sell
setManualPair 0xf71b9bbf
address _pair
setManualRouter 0x59fac517
address _router
setMarketPair 0xc16dd4a4
address _pair
bool _status
setMaxWalletLimit 0x728d41c9
uint256 newLimit
setSwapBackSettings 0xb94b0aef
uint256 _threshold
bool _enabled
bool _limited
setTxLimit 0x5c85974f
uint256 newLimit
transfer 0xa9059cbb
address recipient
uint256 amount
returns: bool
transferFrom 0x23b872dd
address sender
address recipient
uint256 amount
returns: bool
transferOwnership 0xf2fde38b
address newOwner
Recent Transactions
No transactions found for this address