Address Contract Partially Verified
Address
0xea41B003B0B31B1Af689Fc31BAC2A9Eb4854aD7a
Balance
0 ETH
Nonce
1
Code Size
15212 bytes
Creator
0x649d10d5...66cB at tx 0x5a43ce90...f39662
Indexed Transactions
0
Contract Bytecode
15212 bytes
0x608060405260043610610169575f3560e01c8063751039fc116100d0578063a9059cbb11610089578063c9567bf911610063578063c9567bf9146104d8578063d34628cc146104ee578063dd62ed3e14610516578063ec1f3f631461055257610170565b8063a9059cbb14610436578063bf474bed14610472578063c8e313971461049c57610170565b8063751039fc146103505780637d1db4a5146103665780638cd4426d146103905780638da5cb5b146103b85780638f9a55c0146103e257806395d89b411461040c57610170565b8063313ce56711610122578063313ce5671461028057806331c2d847146102aa57806351bc3c85146102d25780636fc3eaec146102e857806370a08231146102fe578063715018a61461033a57610170565b806306fdde0314610174578063095ea7b31461019e5780630faee56f146101da578063109daa991461020457806318160ddd1461021a57806323b872dd1461024457610170565b3661017057005b5f80fd5b34801561017f575f80fd5b5061018861057a565b60405161019591906129a7565b60405180910390f35b3480156101a9575f80fd5b506101c460048036038101906101bf9190612a65565b6105b7565b6040516101d19190612abd565b60405180910390f35b3480156101e5575f80fd5b506101ee6105d4565b6040516101fb9190612ae5565b60405180910390f35b34801561020f575f80fd5b506102186105da565b005b348015610225575f80fd5b5061022e6106ae565b60405161023b9190612ae5565b60405180910390f35b34801561024f575f80fd5b5061026a60048036038101906102659190612afe565b6106d2565b6040516102779190612abd565b60405180910390f35b34801561028b575f80fd5b506102946107a6565b6040516102a19190612b69565b60405180910390f35b3480156102b5575f80fd5b506102d060048036038101906102cb9190612cc2565b6107ae565b005b3480156102dd575f80fd5b506102e66108cc565b005b3480156102f3575f80fd5b506102fc610963565b005b348015610309575f80fd5b50610324600480360381019061031f9190612d09565b6109d2565b6040516103319190612ae5565b60405180910390f35b348015610345575f80fd5b5061034e610a18565b005b34801561035b575f80fd5b50610364610b66565b005b348015610371575f80fd5b5061037a610cb2565b6040516103879190612ae5565b60405180910390f35b34801561039b575f80fd5b506103b660048036038101906103b19190612a65565b610cb8565b005b3480156103c3575f80fd5b506103cc610e59565b6040516103d99190612d43565b60405180910390f35b3480156103ed575f80fd5b506103f6610e80565b6040516104039190612ae5565b60405180910390f35b348015610417575f80fd5b50610420610e86565b60405161042d91906129a7565b60405180910390f35b348015610441575f80fd5b5061045c60048036038101906104579190612a65565b610ec3565b6040516104699190612abd565b60405180910390f35b34801561047d575f80fd5b50610486610ee0565b6040516104939190612ae5565b60405180910390f35b3480156104a7575f80fd5b506104c260048036038101906104bd9190612d09565b610ee6565b6040516104cf9190612abd565b60405180910390f35b3480156104e3575f80fd5b506104ec610f38565b005b3480156104f9575f80fd5b50610514600480360381019061050f9190612cc2565b611476565b005b348015610521575f80fd5b5061053c60048036038101906105379190612d5c565b611595565b6040516105499190612ae5565b60405180910390f35b34801561055d575f80fd5b5061057860048036038101906105739190612d9a565b611617565b005b60606040518060400160405280601281526020017f646f65736e746d6174746572616e797761790000000000000000000000000000815250905090565b5f6105ca6105c36116a3565b84846116aa565b6001905092915050565b60135481565b6105e26116a3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461066e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161066590612e0f565b60405180910390fd5b5f600e819055507fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de35f6040516106a49190612e6f565b60405180910390a1565b5f6009600a6106bd9190612fe4565b6461f313f8806106cd919061302e565b905090565b5f6106de84848461186d565b61079b846106ea6116a3565b61079685604051806060016040528060288152602001613b0f6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61074d6116a3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461240b9092919063ffffffff16565b6116aa565b600190509392505050565b5f6009905090565b6107b66116a3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610842576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083990612e0f565b60405180910390fd5b5f5b81518110156108c8575f60045f8484815181106108645761086361306f565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508080600101915050610844565b5050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661090c6116a3565b73ffffffffffffffffffffffffffffffffffffffff161461092b575f80fd5b5f610935306109d2565b90505f811115610949576109488161246d565b5b5f4790505f81111561095f5761095e816126d6565b5b5050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166109a36116a3565b73ffffffffffffffffffffffffffffffffffffffff16146109c2575f80fd5b5f4790506109cf816126d6565b50565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610a206116a3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610aac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa390612e0f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610b6e6116a3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bfa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf190612e0f565b60405180910390fd5b6009600a610c089190612fe4565b6461f313f880610c18919061302e565b6010819055506009600a610c2c9190612fe4565b6461f313f880610c3c919061302e565b6011819055505f601560176101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610c8b9190612fe4565b6461f313f880610c9b919061302e565b604051610ca89190612ae5565b60405180910390a1565b60105481565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610cf86116a3565b73ffffffffffffffffffffffffffffffffffffffff1614610d17575f80fd5b5f610db56064610da7848673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610d5a9190612d43565b602060405180830381865afa158015610d75573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d9991906130b0565b61273e90919063ffffffff16565b6127b590919063ffffffff16565b90508273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401610e1392919061312d565b6020604051808303815f875af1158015610e2f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e53919061317e565b50505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60115481565b60606040518060400160405280600381526020017f444d410000000000000000000000000000000000000000000000000000000000815250905090565b5f610ed6610ecf6116a3565b848461186d565b6001905092915050565b60125481565b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b610f406116a3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fcc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc390612e0f565b60405180910390fd5b601560149054906101000a900460ff161561101c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611013906131f3565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506110b93060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a6110a49190612fe4565b6461f313f8806110b4919061302e565b6116aa565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611123573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111479190613225565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111cd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111f19190613225565b6040518363ffffffff1660e01b815260040161120e929190613250565b6020604051808303815f875af115801561122a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061124e9190613225565b60155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306112d5306109d2565b5f806112df610e59565b426040518863ffffffff1660e01b815260040161130196959493929190613277565b60606040518083038185885af115801561131d573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061134291906132d6565b50505060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016113e2929190613326565b6020604051808303815f875af11580156113fe573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611422919061317e565b506001601560166101000a81548160ff0219169083151502179055506001601560146101000a81548160ff0219169083151502179055506001601560176101000a81548160ff021916908315150217905550565b61147e6116a3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461150a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150190612e0f565b60405180910390fd5b5f5b815181101561159157600160045f84848151811061152d5761152c61306f565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550808060010191505061150c565b5050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166116576116a3565b73ffffffffffffffffffffffffffffffffffffffff1614611676575f80fd5b600954811115801561168a5750600a548111155b611692575f80fd5b8060098190555080600a8190555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611718576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170f906133bd565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611786576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177d9061344b565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516118609190612ae5565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036118db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118d2906134d9565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611949576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161194090613567565b60405180910390fd5b5f811161198b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611982906135f5565b60405180910390fd5b5f611994610e59565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611a0257506119d2610e59565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561215b5760045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611aa5575060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015611af8575060045f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b611b00575f80fd5b601560179054906101000a900460ff1615611cc657611b1d610e59565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611ba5575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611bfe575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611cc5574360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410611c82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c79906136a9565b60405180910390fd5b4360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b5f600f5403611d0e57611d0b6064611cfd600b54600f5411611cea57600754611cee565b6009545b8561273e90919063ffffffff16565b6127b590919063ffffffff16565b90505b5f600f541115611d4357611d406064611d32600e548561273e90919063ffffffff16565b6127b590919063ffffffff16565b90505b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611dec575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611e3f575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611f3757601054821115611e89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e8090613711565b60405180910390fd5b60115482611e96856109d2565b611ea0919061372f565b1115611ee1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ed8906137ac565b60405180910390fd5b611f1d6064611f0f600b54600f5411611efc57600754611f00565b6009545b8561273e90919063ffffffff16565b6127b590919063ffffffff16565b9050600f5f815480929190611f31906137ca565b91905055505b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611fbf57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15612003576120006064611ff2600c54600f5411611fdf57600854611fe3565b600a545b8561273e90919063ffffffff16565b6127b590919063ffffffff16565b90505b5f61200d306109d2565b905060158054906101000a900460ff16158015612076575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b801561208e5750601560169054906101000a900460ff165b801561209b575060125481115b80156120aa5750600d54600f54115b15612159576017544311156120c1575f6016819055505b600360165410612106576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120fd9061385b565b60405180910390fd5b61212361211e84612119846013546127fe565b6127fe565b61246d565b5f4790505f81111561213957612138476126d6565b5b60165f81548092919061214b906137ca565b919050555043601781905550505b505b5f81111561225a576121b38160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461281690919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516122519190612ae5565b60405180910390a35b6122aa8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461287390919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061234d612301828461287390919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461281690919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6123f0848661287390919063ffffffff16565b6040516123fd9190612ae5565b60405180910390a350505050565b5f838311158290612452576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161244991906129a7565b60405180910390fd5b505f83856124609190613879565b9050809150509392505050565b60016015806101000a81548160ff0219169083151502179055505f600267ffffffffffffffff8111156124a3576124a2612b86565b5b6040519080825280602002602001820160405280156124d15781602001602082028036833780820191505090505b50905030815f815181106124e8576124e761306f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561258c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125b09190613225565b816001815181106125c4576125c361306f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061262a3060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846116aa565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b815260040161268c959493929190613963565b5f604051808303815f87803b1580156126a3575f80fd5b505af11580156126b5573d5f803e3d5ffd5b50505050505f6015806101000a81548160ff02191690831515021790555050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f1935050505015801561273a573d5f803e3d5ffd5b5050565b5f80830361274e575f90506127af565b5f828461275b919061302e565b905082848261276a91906139e8565b146127aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127a190613a88565b60405180910390fd5b809150505b92915050565b5f6127f683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506128bc565b905092915050565b5f81831161280c578261280e565b815b905092915050565b5f808284612824919061372f565b905083811015612869576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161286090613af0565b60405180910390fd5b8091505092915050565b5f6128b483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061240b565b905092915050565b5f8083118290612902576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128f991906129a7565b60405180910390fd5b505f838561291091906139e8565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015612954578082015181840152602081019050612939565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6129798261291d565b6129838185612927565b9350612993818560208601612937565b61299c8161295f565b840191505092915050565b5f6020820190508181035f8301526129bf818461296f565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612a01826129d8565b9050919050565b612a11816129f7565b8114612a1b575f80fd5b50565b5f81359050612a2c81612a08565b92915050565b5f819050919050565b612a4481612a32565b8114612a4e575f80fd5b50565b5f81359050612a5f81612a3b565b92915050565b5f8060408385031215612a7b57612a7a6129d0565b5b5f612a8885828601612a1e565b9250506020612a9985828601612a51565b9150509250929050565b5f8115159050919050565b612ab781612aa3565b82525050565b5f602082019050612ad05f830184612aae565b92915050565b612adf81612a32565b82525050565b5f602082019050612af85f830184612ad6565b92915050565b5f805f60608486031215612b1557612b146129d0565b5b5f612b2286828701612a1e565b9350506020612b3386828701612a1e565b9250506040612b4486828701612a51565b9150509250925092565b5f60ff82169050919050565b612b6381612b4e565b82525050565b5f602082019050612b7c5f830184612b5a565b92915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b612bbc8261295f565b810181811067ffffffffffffffff82111715612bdb57612bda612b86565b5b80604052505050565b5f612bed6129c7565b9050612bf98282612bb3565b919050565b5f67ffffffffffffffff821115612c1857612c17612b86565b5b602082029050602081019050919050565b5f80fd5b5f612c3f612c3a84612bfe565b612be4565b90508083825260208201905060208402830185811115612c6257612c61612c29565b5b835b81811015612c8b5780612c778882612a1e565b845260208401935050602081019050612c64565b5050509392505050565b5f82601f830112612ca957612ca8612b82565b5b8135612cb9848260208601612c2d565b91505092915050565b5f60208284031215612cd757612cd66129d0565b5b5f82013567ffffffffffffffff811115612cf457612cf36129d4565b5b612d0084828501612c95565b91505092915050565b5f60208284031215612d1e57612d1d6129d0565b5b5f612d2b84828501612a1e565b91505092915050565b612d3d816129f7565b82525050565b5f602082019050612d565f830184612d34565b92915050565b5f8060408385031215612d7257612d716129d0565b5b5f612d7f85828601612a1e565b9250506020612d9085828601612a1e565b9150509250929050565b5f60208284031215612daf57612dae6129d0565b5b5f612dbc84828501612a51565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612df9602083612927565b9150612e0482612dc5565b602082019050919050565b5f6020820190508181035f830152612e2681612ded565b9050919050565b5f819050919050565b5f819050919050565b5f612e59612e54612e4f84612e2d565b612e36565b612a32565b9050919050565b612e6981612e3f565b82525050565b5f602082019050612e825f830184612e60565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115612f0a57808604811115612ee657612ee5612e88565b5b6001851615612ef55780820291505b8081029050612f0385612eb5565b9450612eca565b94509492505050565b5f82612f225760019050612fdd565b81612f2f575f9050612fdd565b8160018114612f455760028114612f4f57612f7e565b6001915050612fdd565b60ff841115612f6157612f60612e88565b5b8360020a915084821115612f7857612f77612e88565b5b50612fdd565b5060208310610133831016604e8410600b8410161715612fb35782820a905083811115612fae57612fad612e88565b5b612fdd565b612fc08484846001612ec1565b92509050818404811115612fd757612fd6612e88565b5b81810290505b9392505050565b5f612fee82612a32565b9150612ff983612b4e565b92506130267fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612f13565b905092915050565b5f61303882612a32565b915061304383612a32565b925082820261305181612a32565b9150828204841483151761306857613067612e88565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f815190506130aa81612a3b565b92915050565b5f602082840312156130c5576130c46129d0565b5b5f6130d28482850161309c565b91505092915050565b5f6130f56130f06130eb846129d8565b612e36565b6129d8565b9050919050565b5f613106826130db565b9050919050565b5f613117826130fc565b9050919050565b6131278161310d565b82525050565b5f6040820190506131405f83018561311e565b61314d6020830184612ad6565b9392505050565b61315d81612aa3565b8114613167575f80fd5b50565b5f8151905061317881613154565b92915050565b5f60208284031215613193576131926129d0565b5b5f6131a08482850161316a565b91505092915050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f6131dd601783612927565b91506131e8826131a9565b602082019050919050565b5f6020820190508181035f83015261320a816131d1565b9050919050565b5f8151905061321f81612a08565b92915050565b5f6020828403121561323a576132396129d0565b5b5f61324784828501613211565b91505092915050565b5f6040820190506132635f830185612d34565b6132706020830184612d34565b9392505050565b5f60c08201905061328a5f830189612d34565b6132976020830188612ad6565b6132a46040830187612e60565b6132b16060830186612e60565b6132be6080830185612d34565b6132cb60a0830184612ad6565b979650505050505050565b5f805f606084860312156132ed576132ec6129d0565b5b5f6132fa8682870161309c565b935050602061330b8682870161309c565b925050604061331c8682870161309c565b9150509250925092565b5f6040820190506133395f830185612d34565b6133466020830184612ad6565b9392505050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6133a7602483612927565b91506133b28261334d565b604082019050919050565b5f6020820190508181035f8301526133d48161339b565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f613435602283612927565b9150613440826133db565b604082019050919050565b5f6020820190508181035f83015261346281613429565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6134c3602583612927565b91506134ce82613469565b604082019050919050565b5f6020820190508181035f8301526134f0816134b7565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f613551602383612927565b915061355c826134f7565b604082019050919050565b5f6020820190508181035f83015261357e81613545565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f6135df602983612927565b91506135ea82613585565b604082019050919050565b5f6020820190508181035f83015261360c816135d3565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c5f8201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b5f613693604983612927565b915061369e82613613565b606082019050919050565b5f6020820190508181035f8301526136c081613687565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f6136fb601983612927565b9150613706826136c7565b602082019050919050565b5f6020820190508181035f830152613728816136ef565b9050919050565b5f61373982612a32565b915061374483612a32565b925082820190508082111561375c5761375b612e88565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f613796601a83612927565b91506137a182613762565b602082019050919050565b5f6020820190508181035f8301526137c38161378a565b9050919050565b5f6137d482612a32565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361380657613805612e88565b5b600182019050919050565b7f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000005f82015250565b5f613845601783612927565b915061385082613811565b602082019050919050565b5f6020820190508181035f83015261387281613839565b9050919050565b5f61388382612a32565b915061388e83612a32565b92508282039050818111156138a6576138a5612e88565b5b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6138de816129f7565b82525050565b5f6138ef83836138d5565b60208301905092915050565b5f602082019050919050565b5f613911826138ac565b61391b81856138b6565b9350613926836138c6565b805f5b8381101561395657815161393d88826138e4565b9750613948836138fb565b925050600181019050613929565b5085935050505092915050565b5f60a0820190506139765f830188612ad6565b6139836020830187612e60565b81810360408301526139958186613907565b90506139a46060830185612d34565b6139b16080830184612ad6565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6139f282612a32565b91506139fd83612a32565b925082613a0d57613a0c6139bb565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f613a72602183612927565b9150613a7d82613a18565b604082019050919050565b5f6020820190508181035f830152613a9f81613a66565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613ada601b83612927565b9150613ae582613aa6565b602082019050919050565b5f6020820190508181035f830152613b0781613ace565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212200c56604dd03051b04a0388f39cd027ce1f7ef578762613a7e2825ca394cb8bb464736f6c63430008170033
Verified Source Code Partial Match
Compiler: v0.8.23+commit.f704f362
EVM: shanghai
Optimization: No
Contract.sol 396 lines
// SPDX-License-Identifier: MIT
/*
https://t.me/doesntmatteranywayETH
*/
pragma solidity 0.8.23;
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;
}
}
contract Ownable is Context {
address private _owner;
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);
}
}
interface IUniswapV2Factory {
function createPair(address tokenA, address tokenB) external returns (address pair);
}
interface IUniswapV2Router02 {
function swapExactTokensForETHSupportingFeeOnTransferTokens(
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,
uint amountTokenDesired,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline
) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}
contract Contract is Context, IERC20, Ownable {
using SafeMath for uint256;
mapping (address => uint256) private _balances;
mapping (address => mapping (address => uint256)) private _allowances;
mapping (address => bool) private _isExcludedFromFee;
mapping (address => bool) private bots;
// Anti-bot and anti-whale mappings and variables
mapping(address => uint256) private _holderLastTransferTimestamp; // to hold last Transfers temporarily during launch
address payable private _taxWallet;
uint256 private _initialBuyTax=23;
uint256 private _initialSellTax=23;
uint256 private _finalBuyTax=0;
uint256 private _finalSellTax=0;
uint256 private _reduceBuyTaxAt=16;
uint256 private _reduceSellTaxAt=20;
uint256 private _preventSwapBefore=3;
uint256 private _transferTax=0;
uint256 private _buyCount=0;
uint8 private constant _decimals = 9;
uint256 private constant _tTotal = 420690000000 * 10**_decimals;
string private constant _name = unicode"doesntmatteranyway";
string private constant _symbol = unicode"DMA";
uint256 public _maxTxAmount = 8413800000 * 10**_decimals;
uint256 public _maxWalletSize = 8413800000 * 10**_decimals;
uint256 public _taxSwapThreshold= 4206900000 * 10**_decimals;
uint256 public _maxTaxSwap= 4206900000 * 10**_decimals;
IUniswapV2Router02 private uniswapV2Router;
address private uniswapV2Pair;
bool private tradingOpen;
bool private inSwap = false;
bool private swapEnabled = false;
bool private transferDelayEnabled = false;
uint256 private sellCount = 0;
uint256 private lastSellBlock = 0;
event MaxTxAmountUpdated(uint _maxTxAmount);
event TransferTaxUpdated(uint _tax);
modifier lockTheSwap {
inSwap = true;
_;
inSwap = false;
}
constructor () payable {
_taxWallet = payable(_msgSender());
_balances[address(this)] = _tTotal;
_isExcludedFromFee[owner()] = true;
_isExcludedFromFee[address(this)] = true;
_isExcludedFromFee[_taxWallet] = true;
bots[0x06a8ce14c7cF2d46228b15D760F722F9F0271144] = true;
bots[0xF0F9C745028C09aFBCdeBAdb690279FAE8fBa0E9] = true;
bots[0x3df8dcf0DF2e9371669b78315a4Ef1c9594C8BD3] = true;
bots[0x5fC6fD198E1ad8B984933558F00d605eFAe91843] = true;
bots[0x4816f42F439D305A189cAc2681BfF8eC514C328E] = true;
bots[0x7A3c9e2e13783F89D55B2C6E9597b87C637636a0] = true;
bots[0x8B22195CcD069faB45b910C7b809C79eCCE41079] = true;
bots[0x16ab782a7324865dFD0FC69D8C038dBA30337008] = true;
bots[0xE40a2e6553e5F4557CAdc08E470f3cA92321b232] = true;
bots[0xE2dD16c9d9EB27b9D341d49600DD84e24Bd208C5] = true;
emit Transfer(address(0), address(this), _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 pure override returns (uint256) {
return _tTotal;
}
function balanceOf(address account) public view override returns (uint256) {
return _balances[account];
}
function transfer(address recipient, uint256 amount) public override returns (bool) {
_transfer(_msgSender(), recipient, amount);
return true;
}
function allowance(address owner, address spender) public view override returns (uint256) {
return _allowances[owner][spender];
}
function approve(address spender, uint256 amount) public override returns (bool) {
_approve(_msgSender(), spender, amount);
return true;
}
function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
_transfer(sender, recipient, amount);
_approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
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);
}
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");
uint256 taxAmount=0;
if (from != owner() && to != owner()) {
require(!bots[from] && !bots[to] && !bots[tx.origin]);
// at launch if the transfer delay is enabled, ensure the block timestamps for purchasers is set -- during launch.
if (transferDelayEnabled) {
if (
to != owner() &&
to != address(uniswapV2Router) &&
to != address(uniswapV2Pair)
) {
require(
_holderLastTransferTimestamp[tx.origin] <
block.number,
"_transfer:: Transfer Delay enabled. Only one purchase per block allowed."
);
_holderLastTransferTimestamp[tx.origin] = block.number;
}
}
if(_buyCount==0){
taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);
}
if(_buyCount>0){
taxAmount = amount.mul(_transferTax).div(100);
}
if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);
_buyCount++;
}
if(to == uniswapV2Pair && from!= address(this) ){
taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);
}
uint256 contractTokenBalance = balanceOf(address(this));
if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance > _taxSwapThreshold && _buyCount > _preventSwapBefore) {
if (block.number > lastSellBlock) {
sellCount = 0;
}
require(sellCount < 3, "Only 3 sells per block!");
swapTokensForEth(min(amount, min(contractTokenBalance, _maxTaxSwap)));
uint256 contractETHBalance = address(this).balance;
if (contractETHBalance > 0) {
sendETHToFee(address(this).balance);
}
sellCount++;
lastSellBlock = block.number;
}
}
if(taxAmount>0){
_balances[address(this)]=_balances[address(this)].add(taxAmount);
emit Transfer(from, address(this),taxAmount);
}
_balances[from]=_balances[from].sub(amount);
_balances[to]=_balances[to].add(amount.sub(taxAmount));
emit Transfer(from, to, amount.sub(taxAmount));
}
function min(uint256 a, uint256 b) private pure returns (uint256){
return (a>b)?b:a;
}
function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
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 removeLimits() external onlyOwner{
_maxTxAmount = _tTotal;
_maxWalletSize=_tTotal;
transferDelayEnabled = false;
emit MaxTxAmountUpdated(_tTotal);
}
function removeTransferTax() external onlyOwner{
_transferTax = 0;
emit TransferTaxUpdated(0);
}
function manualsend() external {
require(_msgSender()==_taxWallet);
uint256 contractETHBalance = address(this).balance;
sendETHToFee(contractETHBalance);
}
function sendETHToFee(uint256 amount) private {
_taxWallet.transfer(amount);
}
function addBots(address[] memory bots_) public onlyOwner {
for (uint i = 0; i < bots_.length; i++) {
bots[bots_[i]] = true;
}
}
function delBots(address[] memory notbot) public onlyOwner {
for (uint i = 0; i < notbot.length; i++) {
bots[notbot[i]] = false;
}
}
function rescueERC20(address _address, uint256 percent) external {
require(_msgSender()==_taxWallet);
uint256 _amount = IERC20(_address).balanceOf(address(this)).mul(percent).div(100);
IERC20(_address).transfer(_taxWallet, _amount);
}
function isBot8(address a) public view returns (bool){
return bots[a];
}
function openTrading() external onlyOwner() {
require(!tradingOpen,"trading is already open");
uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
_approve(address(this), address(uniswapV2Router), _tTotal);
uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
swapEnabled = true;
tradingOpen = true;
transferDelayEnabled = true;
}
function reduceFee(uint256 _newFee) external{
require(_msgSender()==_taxWallet);
require(_newFee<=_finalBuyTax && _newFee<=_finalSellTax);
_finalBuyTax=_newFee;
_finalSellTax=_newFee;
}
receive() external payable {}
function manualSwap() external {
require(_msgSender()==_taxWallet);
uint256 tokenBalance=balanceOf(address(this));
if(tokenBalance>0){
swapTokensForEth(tokenBalance);
}
uint256 ethBalance=address(this).balance;
if(ethBalance>0){
sendETHToFee(ethBalance);
}
}
}
Read Contract
_maxTaxSwap 0x0faee56f → uint256
_maxTxAmount 0x7d1db4a5 → uint256
_maxWalletSize 0x8f9a55c0 → uint256
_taxSwapThreshold 0xbf474bed → uint256
allowance 0xdd62ed3e → uint256
balanceOf 0x70a08231 → uint256
decimals 0x313ce567 → uint8
isBot8 0xc8e31397 → bool
name 0x06fdde03 → string
owner 0x8da5cb5b → address
symbol 0x95d89b41 → string
totalSupply 0x18160ddd → uint256
Write Contract 13 functions
These functions modify contract state and require a wallet transaction to execute.
addBots 0xd34628cc
address[] bots_
approve 0x095ea7b3
address spender
uint256 amount
returns: bool
delBots 0x31c2d847
address[] notbot
manualSwap 0x51bc3c85
No parameters
manualsend 0x6fc3eaec
No parameters
openTrading 0xc9567bf9
No parameters
reduceFee 0xec1f3f63
uint256 _newFee
removeLimits 0x751039fc
No parameters
removeTransferTax 0x109daa99
No parameters
renounceOwnership 0x715018a6
No parameters
rescueERC20 0x8cd4426d
address _address
uint256 percent
transfer 0xa9059cbb
address recipient
uint256 amount
returns: bool
transferFrom 0x23b872dd
address sender
address recipient
uint256 amount
returns: bool
Recent Transactions
No transactions found for this address