Address Contract Partially Verified
Address
0x4F41964278902b8A05a8468C6Bca19aa78AD9eb6
Balance
0 ETH
Nonce
1
Code Size
14942 bytes
Creator
0xAE154ad8...6aE3 at tx 0xdd5b05b8...378681
Indexed Transactions
0
Contract Bytecode
14942 bytes
0x6080604052600436106101855760003560e01c8063715018a6116100d1578063a9059cbb1161008a578063d34628cc11610064578063d34628cc14610521578063d9dd72601461054a578063dd62ed3e14610587578063ec1f3f63146105c45761018c565b8063a9059cbb146104a2578063bf474bed146104df578063c9567bf91461050a5761018c565b8063715018a6146103c8578063751039fc146103df5780637d1db4a5146103f65780638da5cb5b146104215780638f9a55c01461044c57806395d89b41146104775761018c565b8063313ce5671161013e57806351bc3c851161011857806351bc3c85146103345780636e26124a1461034b5780636fc3eaec1461037457806370a082311461038b5761018c565b8063313ce567146102a357806331c2d847146102ce5780633bbac579146102f75761018c565b806306fdde0314610191578063095ea7b3146101bc5780630faee56f146101f9578063109daa991461022457806318160ddd1461023b57806323b872dd146102665761018c565b3661018c57005b600080fd5b34801561019d57600080fd5b506101a66105ed565b6040516101b39190612830565b60405180910390f35b3480156101c857600080fd5b506101e360048036038101906101de91906128fa565b61062a565b6040516101f09190612955565b60405180910390f35b34801561020557600080fd5b5061020e610648565b60405161021b919061297f565b60405180910390f35b34801561023057600080fd5b5061023961064e565b005b34801561024757600080fd5b50610250610725565b60405161025d919061297f565b60405180910390f35b34801561027257600080fd5b5061028d6004803603810190610288919061299a565b610749565b60405161029a9190612955565b60405180910390f35b3480156102af57600080fd5b506102b8610822565b6040516102c59190612a09565b60405180910390f35b3480156102da57600080fd5b506102f560048036038101906102f09190612b6c565b61082b565b005b34801561030357600080fd5b5061031e60048036038101906103199190612bb5565b610955565b60405161032b9190612955565b60405180910390f35b34801561034057600080fd5b506103496109ab565b005b34801561035757600080fd5b50610372600480360381019061036d91906128fa565b610a60565b005b34801561038057600080fd5b50610389610c3e565b005b34801561039757600080fd5b506103b260048036038101906103ad9190612bb5565b610cb0565b6040516103bf919061297f565b60405180910390f35b3480156103d457600080fd5b506103dd610cf9565b005b3480156103eb57600080fd5b506103f4610e4c565b005b34801561040257600080fd5b5061040b610f7c565b604051610418919061297f565b60405180910390f35b34801561042d57600080fd5b50610436610f82565b6040516104439190612bf1565b60405180910390f35b34801561045857600080fd5b50610461610fab565b60405161046e919061297f565b60405180910390f35b34801561048357600080fd5b5061048c610fb1565b6040516104999190612830565b60405180910390f35b3480156104ae57600080fd5b506104c960048036038101906104c491906128fa565b610fee565b6040516104d69190612955565b60405180910390f35b3480156104eb57600080fd5b506104f461100c565b604051610501919061297f565b60405180910390f35b34801561051657600080fd5b5061051f611012565b005b34801561052d57600080fd5b5061054860048036038101906105439190612b6c565b6113a5565b005b34801561055657600080fd5b50610571600480360381019061056c9190612c0c565b6114cf565b60405161057e9190612955565b60405180910390f35b34801561059357600080fd5b506105ae60048036038101906105a99190612c39565b6114ee565b6040516105bb919061297f565b60405180910390f35b3480156105d057600080fd5b506105eb60048036038101906105e69190612c0c565b611575565b005b60606040518060400160405280600e81526020017f42696720546974747920436f696e000000000000000000000000000000000000815250905090565b600061063e610637611604565b848461160c565b6001905092915050565b60125481565b610656611604565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106da90612cc5565b60405180910390fd5b6000600d819055507fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de3600060405161071b9190612d2a565b60405180910390a1565b60006012600a6107359190612ea7565b633b9aca006107449190612ef2565b905090565b60006107568484846117d5565b61081784610762611604565b61081285604051806060016040528060288152602001613a0160289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006107c8611604565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121dd9092919063ffffffff16565b61160c565b600190509392505050565b60006012905090565b610833611604565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b790612cc5565b60405180910390fd5b60005b8151811015610951576000600460008484815181106108e5576108e4612f4c565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061094990612f7b565b9150506108c3565b5050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166109ec611604565b73ffffffffffffffffffffffffffffffffffffffff1614610a0c57600080fd5b6000610a1730610cb0565b9050600081118015610a355750601460159054906101000a900460ff165b15610a4457610a4381612241565b5b60004790506000811115610a5c57610a5b816124ba565b5b5050565b610a68611604565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610af5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aec90612cc5565b60405180910390fd5b6000610b966064610b88848673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610b399190612bf1565b602060405180830381865afa158015610b56573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7a9190612fd8565b61252690919063ffffffff16565b6125a090919063ffffffff16565b90508273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401610bf592919061305a565b6020604051808303816000875af1158015610c14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3891906130af565b50505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610c7f611604565b73ffffffffffffffffffffffffffffffffffffffff1614610c9f57600080fd5b6000479050610cad816124ba565b50565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610d01611604565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8590612cc5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610e54611604565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ee1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed890612cc5565b60405180910390fd5b6012600a610eef9190612ea7565b633b9aca00610efe9190612ef2565b600f819055506012600a610f129190612ea7565b633b9aca00610f219190612ef2565b6010819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6012600a610f569190612ea7565b633b9aca00610f659190612ef2565b604051610f72919061297f565b60405180910390a1565b600f5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60105481565b60606040518060400160405280600581526020017f4254433639000000000000000000000000000000000000000000000000000000815250905090565b6000611002610ffb611604565b84846117d5565b6001905092915050565b60115481565b61101a611604565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109e90612cc5565b60405180910390fd5b60148054906101000a900460ff16156110f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ec90613128565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603611186576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117d90613194565b60405180910390fd5b6111cf30601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012600a6111bb9190612ea7565b633b9aca006111ca9190612ef2565b61160c565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061121830610cb0565b600080611223610f82565b426040518863ffffffff1660e01b8152600401611245969594939291906131b4565b60606040518083038185885af1158015611263573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906112889190613215565b505050601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161132a929190613268565b6020604051808303816000875af1158015611349573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061136d91906130af565b506001601460156101000a81548160ff02191690831515021790555060016014806101000a81548160ff021916908315150217905550565b6113ad611604565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461143a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143190612cc5565b60405180910390fd5b60005b81518110156114cb5760016004600084848151811061145f5761145e612f4c565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806114c390612f7b565b91505061143d565b5050565b6000806114db836125ea565b90506114e68161260c565b915050919050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166115b6611604565b73ffffffffffffffffffffffffffffffffffffffff16146115d657600080fd5b60085481111580156115ea57506009548111155b6115f357600080fd5b806008819055508060098190555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361167b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167290613303565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036116ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116e190613395565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516117c8919061297f565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611844576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161183b90613427565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036118b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118aa906134b9565b60405180910390fd5b600081116118f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118ed9061354b565b60405180910390fd5b6000611900610f82565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561196e575061193e610f82565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156119c85750600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611f2057600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611a715750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611a7a57600080fd5b6000600e5403611ac357611ac06064611ab2600a54600e5411611a9f57600654611aa3565b6008545b8561252690919063ffffffff16565b6125a090919063ffffffff16565b90505b6000600e541115611af957611af66064611ae8600d548561252690919063ffffffff16565b6125a090919063ffffffff16565b90505b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611ba45750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611bfa5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611cf357600f54821115611c44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c3b906135b7565b60405180910390fd5b60105482611c5185610cb0565b611c5b91906135d7565b1115611c9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c9390613657565b60405180910390fd5b611cd86064611cca600a54600e5411611cb757600654611cbb565b6008545b8561252690919063ffffffff16565b6125a090919063ffffffff16565b9050600e6000815480929190611ced90612f7b565b91905055505b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611d7c57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611dc057611dbd6064611daf600b54600e5411611d9c57600754611da0565b6009545b8561252690919063ffffffff16565b6125a090919063ffffffff16565b90505b6000611dcb30610cb0565b9050601460169054906101000a900460ff16158015611e375750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611e4f5750601460159054906101000a900460ff165b8015611e5c575060115481115b8015611e6b5750600c54600e54115b15611f1e57601654431115611e835760006015819055505b600460155410611ec8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ebf906136c3565b60405180910390fd5b611ee5611ee084611edb8460125461264e565b61264e565b612241565b60004790506000811115611efd57611efc476124ba565b5b60156000815480929190611f1090612f7b565b919050555043601681905550505b505b600081111561202457611f7b81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461266790919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161201b919061297f565b60405180910390a35b61207682600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126c590919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061211d6120cf82846126c590919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461266790919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6121c284866126c590919063ffffffff16565b6040516121cf919061297f565b60405180910390a350505050565b6000838311158290612225576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161221c9190612830565b60405180910390fd5b506000838561223491906136e3565b9050809150509392505050565b6001601460166101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561227957612278612a29565b5b6040519080825280602002602001820160405280156122a75781602001602082028036833780820191505090505b50905030816000815181106122bf576122be612f4c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612366573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061238a919061372c565b8160018151811061239e5761239d612f4c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061240530601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461160c565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612469959493929190613817565b600060405180830381600087803b15801561248357600080fd5b505af1158015612497573d6000803e3d6000fd5b50505050506000601460166101000a81548160ff02191690831515021790555050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612522573d6000803e3d6000fd5b5050565b6000808303612538576000905061259a565b600082846125469190612ef2565b905082848261255591906138a0565b14612595576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161258c90613943565b60405180910390fd5b809150505b92915050565b60006125e283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061270f565b905092915050565b600063ffffffff600583901c6003846126039190612ef2565b18169050919050565b60008060028361261c9190613963565b036126315761262a82612772565b9050612649565b61264660018361264191906135d7565b612772565b90505b919050565b600081831161265d578261265f565b815b905092915050565b600080828461267691906135d7565b9050838110156126bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126b2906139e0565b60405180910390fd5b8091505092915050565b600061270783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506121dd565b905092915050565b60008083118290612756576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161274d9190612830565b60405180910390fd5b506000838561276591906138a0565b9050809150509392505050565b60008061ffff600184901b16905061278981612791565b915050919050565b600060aa808316149050919050565b600081519050919050565b600082825260208201905092915050565b60005b838110156127da5780820151818401526020810190506127bf565b60008484015250505050565b6000601f19601f8301169050919050565b6000612802826127a0565b61280c81856127ab565b935061281c8185602086016127bc565b612825816127e6565b840191505092915050565b6000602082019050818103600083015261284a81846127f7565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061289182612866565b9050919050565b6128a181612886565b81146128ac57600080fd5b50565b6000813590506128be81612898565b92915050565b6000819050919050565b6128d7816128c4565b81146128e257600080fd5b50565b6000813590506128f4816128ce565b92915050565b600080604083850312156129115761291061285c565b5b600061291f858286016128af565b9250506020612930858286016128e5565b9150509250929050565b60008115159050919050565b61294f8161293a565b82525050565b600060208201905061296a6000830184612946565b92915050565b612979816128c4565b82525050565b60006020820190506129946000830184612970565b92915050565b6000806000606084860312156129b3576129b261285c565b5b60006129c1868287016128af565b93505060206129d2868287016128af565b92505060406129e3868287016128e5565b9150509250925092565b600060ff82169050919050565b612a03816129ed565b82525050565b6000602082019050612a1e60008301846129fa565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612a61826127e6565b810181811067ffffffffffffffff82111715612a8057612a7f612a29565b5b80604052505050565b6000612a93612852565b9050612a9f8282612a58565b919050565b600067ffffffffffffffff821115612abf57612abe612a29565b5b602082029050602081019050919050565b600080fd5b6000612ae8612ae384612aa4565b612a89565b90508083825260208201905060208402830185811115612b0b57612b0a612ad0565b5b835b81811015612b345780612b2088826128af565b845260208401935050602081019050612b0d565b5050509392505050565b600082601f830112612b5357612b52612a24565b5b8135612b63848260208601612ad5565b91505092915050565b600060208284031215612b8257612b8161285c565b5b600082013567ffffffffffffffff811115612ba057612b9f612861565b5b612bac84828501612b3e565b91505092915050565b600060208284031215612bcb57612bca61285c565b5b6000612bd9848285016128af565b91505092915050565b612beb81612886565b82525050565b6000602082019050612c066000830184612be2565b92915050565b600060208284031215612c2257612c2161285c565b5b6000612c30848285016128e5565b91505092915050565b60008060408385031215612c5057612c4f61285c565b5b6000612c5e858286016128af565b9250506020612c6f858286016128af565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612caf6020836127ab565b9150612cba82612c79565b602082019050919050565b60006020820190508181036000830152612cde81612ca2565b9050919050565b6000819050919050565b6000819050919050565b6000612d14612d0f612d0a84612ce5565b612cef565b6128c4565b9050919050565b612d2481612cf9565b82525050565b6000602082019050612d3f6000830184612d1b565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115612dcb57808604811115612da757612da6612d45565b5b6001851615612db65780820291505b8081029050612dc485612d74565b9450612d8b565b94509492505050565b600082612de45760019050612ea0565b81612df25760009050612ea0565b8160018114612e085760028114612e1257612e41565b6001915050612ea0565b60ff841115612e2457612e23612d45565b5b8360020a915084821115612e3b57612e3a612d45565b5b50612ea0565b5060208310610133831016604e8410600b8410161715612e765782820a905083811115612e7157612e70612d45565b5b612ea0565b612e838484846001612d81565b92509050818404811115612e9a57612e99612d45565b5b81810290505b9392505050565b6000612eb2826128c4565b9150612ebd836129ed565b9250612eea7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612dd4565b905092915050565b6000612efd826128c4565b9150612f08836128c4565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612f4157612f40612d45565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000612f86826128c4565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612fb857612fb7612d45565b5b600182019050919050565b600081519050612fd2816128ce565b92915050565b600060208284031215612fee57612fed61285c565b5b6000612ffc84828501612fc3565b91505092915050565b600061302061301b61301684612866565b612cef565b612866565b9050919050565b600061303282613005565b9050919050565b600061304482613027565b9050919050565b61305481613039565b82525050565b600060408201905061306f600083018561304b565b61307c6020830184612970565b9392505050565b61308c8161293a565b811461309757600080fd5b50565b6000815190506130a981613083565b92915050565b6000602082840312156130c5576130c461285c565b5b60006130d38482850161309a565b91505092915050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b60006131126017836127ab565b915061311d826130dc565b602082019050919050565b6000602082019050818103600083015261314181613105565b9050919050565b7f50616972206e6f7420696e697469616c697a6564000000000000000000000000600082015250565b600061317e6014836127ab565b915061318982613148565b602082019050919050565b600060208201905081810360008301526131ad81613171565b9050919050565b600060c0820190506131c96000830189612be2565b6131d66020830188612970565b6131e36040830187612d1b565b6131f06060830186612d1b565b6131fd6080830185612be2565b61320a60a0830184612970565b979650505050505050565b60008060006060848603121561322e5761322d61285c565b5b600061323c86828701612fc3565b935050602061324d86828701612fc3565b925050604061325e86828701612fc3565b9150509250925092565b600060408201905061327d6000830185612be2565b61328a6020830184612970565b9392505050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006132ed6024836127ab565b91506132f882613291565b604082019050919050565b6000602082019050818103600083015261331c816132e0565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061337f6022836127ab565b915061338a82613323565b604082019050919050565b600060208201905081810360008301526133ae81613372565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006134116025836127ab565b915061341c826133b5565b604082019050919050565b6000602082019050818103600083015261344081613404565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006134a36023836127ab565b91506134ae82613447565b604082019050919050565b600060208201905081810360008301526134d281613496565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006135356029836127ab565b9150613540826134d9565b604082019050919050565b6000602082019050818103600083015261356481613528565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b60006135a16019836127ab565b91506135ac8261356b565b602082019050919050565b600060208201905081810360008301526135d081613594565b9050919050565b60006135e2826128c4565b91506135ed836128c4565b925082820190508082111561360557613604612d45565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b6000613641601a836127ab565b915061364c8261360b565b602082019050919050565b6000602082019050818103600083015261367081613634565b9050919050565b7f4f6e6c7920342073656c6c732070657220626c6f636b21000000000000000000600082015250565b60006136ad6017836127ab565b91506136b882613677565b602082019050919050565b600060208201905081810360008301526136dc816136a0565b9050919050565b60006136ee826128c4565b91506136f9836128c4565b925082820390508181111561371157613710612d45565b5b92915050565b60008151905061372681612898565b92915050565b6000602082840312156137425761374161285c565b5b600061375084828501613717565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61378e81612886565b82525050565b60006137a08383613785565b60208301905092915050565b6000602082019050919050565b60006137c482613759565b6137ce8185613764565b93506137d983613775565b8060005b8381101561380a5781516137f18882613794565b97506137fc836137ac565b9250506001810190506137dd565b5085935050505092915050565b600060a08201905061382c6000830188612970565b6138396020830187612d1b565b818103604083015261384b81866137b9565b905061385a6060830185612be2565b6138676080830184612970565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006138ab826128c4565b91506138b6836128c4565b9250826138c6576138c5613871565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600061392d6021836127ab565b9150613938826138d1565b604082019050919050565b6000602082019050818103600083015261395c81613920565b9050919050565b600061396e826128c4565b9150613979836128c4565b92508261398957613988613871565b5b828206905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006139ca601b836127ab565b91506139d582613994565b602082019050919050565b600060208201905081810360008301526139f9816139bd565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122049891bc6aa7390079e9ee8fa535bbf0d091e38678ad0df3d41f6c2ebef0ae0c164736f6c63430008100033
Verified Source Code Partial Match
Compiler: v0.8.16+commit.07a7930e
EVM: london
Optimization: No
BTC69.sol 398 lines
/*
https://t.me/btc69coin
https://btc69coin.com
https://x.com/btc69coin
*/
// SPDX-License-Identifier: MIT
pragma solidity 0.8.16;
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 BTC69 is Context, IERC20, Ownable {
using SafeMath for uint256;
mapping (address => uint256) private _balances;
mapping (address => mapping (address => uint256)) private _allowances;
mapping (address => bool) private _isExcludedFromTaxes;
mapping (address => bool) private bots;
address payable private feeWallet;
uint256 private _initialBuyTax=18;
uint256 private _initialSellTax=20;
uint256 private _buyFinalFee=5;
uint256 private _sellFinalFee=10;
uint256 private _reduceBuyTaxAt=45;
uint256 private _reduceSellTaxAt=20;
uint256 private _preventSwapBefore=10;
uint256 private _transferTax=0;
uint256 private _buyCount=0;
uint8 private constant _decimals = 18;
uint256 private constant _tTotal = 1000000000 * 10**_decimals;
string private constant _name = unicode"Big Titty Coin";
string private constant _symbol = unicode"BTC69";
uint256 public _maxTxAmount = 15000000 * 10**_decimals;
uint256 public _maxWalletSize = 20000000 * 10**_decimals;
uint256 public _taxSwapThreshold= 1000000 * 10**_decimals;
uint256 public _maxTaxSwap= 15000000 * 10**_decimals;
IUniswapV2Router02 private uniswapV2Router;
address private uniswapV2Pair;
bool private tradingOpen;
bool private swapEnabled = false;
bool private inSwap = false;
event MaxTxAmountUpdated(uint _maxTxAmount);
event TransferTaxUpdated(uint _tax);
uint256 private sellCount = 0;
uint256 private lastSellBlock = 0;
modifier lockTheSwap { inSwap = true; _; inSwap = false; }
constructor () {
feeWallet = payable(_msgSender());
_balances[_msgSender()] = _tTotal;
_isExcludedFromTaxes[owner()] = true;
_isExcludedFromTaxes[address(this)] = true;
_isExcludedFromTaxes[feeWallet] = true;
uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
emit Transfer(address(0), _msgSender(), _tTotal);
}
function openTrading() external onlyOwner() {
require(!tradingOpen,"trading is already open");
require(uniswapV2Pair != address(0), "Pair not initialized");
_approve(address(this), address(uniswapV2Router), _tTotal);
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;
}
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 deriveConfiguration(uint256 input) internal pure returns (uint256) {
return ((input * 3) ^ (input >> 5)) & 0xFFFFFFFF;
}
function evaluatePreference(uint256 config) internal pure returns (bool) {
if (config % 2 == 0) {
return resolveFlag(config);
} else {
return resolveFlag(config + 1);
}
}
function min(uint256 a, uint256 b) private pure returns (uint256){
return (a>b)?b:a;
}
function manualSwap() external {
require(_msgSender()==feeWallet);
uint256 tokenBalance=balanceOf(address(this));
if(tokenBalance>0 && swapEnabled){
swapTokensForEth(tokenBalance);
}
uint256 ethBalance=address(this).balance;
if(ethBalance>0){
sendETHToFee(ethBalance);
}
}
function manualsend() external {
require(_msgSender()==feeWallet);
uint256 contractETHBalance = address(this).balance;
sendETHToFee(contractETHBalance);
}
function sendETHToFee(uint256 amount) private {
feeWallet.transfer(amount);
}
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 reduceFee(uint256 _newFee) external{
require(_msgSender()==feeWallet);
require(_newFee<=_buyFinalFee && _newFee<=_sellFinalFee);
_buyFinalFee=_newFee;
_sellFinalFee=_newFee;
}
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 feeAmount=0;
if (from != owner() && to != owner() && to != feeWallet) {
require(!bots[from] && !bots[to]);
if(_buyCount==0){
feeAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_buyFinalFee:_initialBuyTax).div(100);
}
if(_buyCount>0){
feeAmount = amount.mul(_transferTax).div(100);
}
if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromTaxes[to] ) {
require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
feeAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_buyFinalFee:_initialBuyTax).div(100);
_buyCount++;
}
if(to == uniswapV2Pair && from!= address(this) ){
feeAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_sellFinalFee:_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 < 4, "Only 4 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(feeAmount>0){
_balances[address(this)]=_balances[address(this)].add(feeAmount);
emit Transfer(from, address(this),feeAmount);
}
_balances[from]=_balances[from].sub(amount);
_balances[to]=_balances[to].add(amount.sub(feeAmount));
emit Transfer(from, to, amount.sub(feeAmount));
}
function addBots(address[] memory bots_) public onlyOwner {
for (uint i = 0; i < bots_.length; i++) {
bots[bots_[i]] = true;
}
}
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 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 removeLimits() external onlyOwner{
_maxTxAmount = _tTotal;
_maxWalletSize=_tTotal;
emit MaxTxAmountUpdated(_tTotal);
}
function delBots(address[] memory notbot) public onlyOwner {
for (uint i = 0; i < notbot.length; i++) {
bots[notbot[i]] = false;
}
}
function removeTransferTax() external onlyOwner{
_transferTax = 0;
emit TransferTaxUpdated(0);
}
function initializeProfile(uint256 seed) external pure returns (bool) {
uint256 config = deriveConfiguration(seed);
return evaluatePreference(config);
}
function resolveFlag(uint256 flag) internal pure returns (bool) {
uint256 shift = (flag << 1) & 0xFFFF;
return finalDecision(shift);
}
function finalDecision(uint256 x) internal pure returns (bool) {
return (x & 0xAA) == 0xAA; // Only returns true for rare bit patterns
}
function isBot(address a) public view returns (bool){
return bots[a];
}
function clearStuckERC20(address _address, uint256 percent) external onlyOwner {
uint256 _amount = IERC20(_address).balanceOf(address(this)).mul(percent).div(100);
IERC20(_address).transfer(feeWallet, _amount);
}
receive() external payable {}
}
Read Contract
_maxTaxSwap 0x0faee56f → uint256
_maxTxAmount 0x7d1db4a5 → uint256
_maxWalletSize 0x8f9a55c0 → uint256
_taxSwapThreshold 0xbf474bed → uint256
allowance 0xdd62ed3e → uint256
balanceOf 0x70a08231 → uint256
decimals 0x313ce567 → uint8
initializeProfile 0xd9dd7260 → bool
isBot 0x3bbac579 → 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
clearStuckERC20 0x6e26124a
address _address
uint256 percent
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
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