Cryo Explorer Ethereum Mainnet

Address Contract Partially Verified

Address 0xB3314Ab6E8A234C1306b670099b8da45ec5d2B81
Balance 0 ETH
Nonce 1
Code Size 12857 bytes
Indexed Transactions 0
External Etherscan · Sourcify

Contract Bytecode

12857 bytes
0x608060405260043610610143575f3560e01c8063751039fc116100b5578063a9059cbb1161006e578063a9059cbb146103fa578063bc37e1a314610436578063bf474bed1461044c578063c9567bf914610476578063dd62ed3e1461048c578063ec1f3f63146104c85761014a565b8063751039fc146103145780637d1db4a51461032a5780638cd4426d146103545780638da5cb5b1461037c5780638f9a55c0146103a657806395d89b41146103d05761014a565b8063295f545211610107578063295f545214610244578063313ce5671461026c57806351bc3c85146102965780636fc3eaec146102ac57806370a08231146102c2578063715018a6146102fe5761014a565b806306fdde031461014e578063095ea7b3146101785780630faee56f146101b457806318160ddd146101de57806323b872dd146102085761014a565b3661014a57005b5f80fd5b348015610159575f80fd5b506101626104f0565b60405161016f9190612267565b60405180910390f35b348015610183575f80fd5b5061019e60048036038101906101999190612318565b61052d565b6040516101ab9190612370565b60405180910390f35b3480156101bf575f80fd5b506101c861054a565b6040516101d59190612398565b60405180910390f35b3480156101e9575f80fd5b506101f2610550565b6040516101ff9190612398565b60405180910390f35b348015610213575f80fd5b5061022e600480360381019061022991906123b1565b610572565b60405161023b9190612370565b60405180910390f35b34801561024f575f80fd5b5061026a60048036038101906102659190612401565b610646565b005b348015610277575f80fd5b506102806107c7565b60405161028d9190612447565b60405180910390f35b3480156102a1575f80fd5b506102aa6107cf565b005b3480156102b7575f80fd5b506102c0610866565b005b3480156102cd575f80fd5b506102e860048036038101906102e39190612460565b6108d5565b6040516102f59190612398565b60405180910390f35b348015610309575f80fd5b5061031261091b565b005b34801561031f575f80fd5b50610328610a69565b005b348015610335575f80fd5b5061033e610b95565b60405161034b9190612398565b60405180910390f35b34801561035f575f80fd5b5061037a60048036038101906103759190612318565b610b9b565b005b348015610387575f80fd5b50610390610d3c565b60405161039d919061249a565b60405180910390f35b3480156103b1575f80fd5b506103ba610d63565b6040516103c79190612398565b60405180910390f35b3480156103db575f80fd5b506103e4610d69565b6040516103f19190612267565b60405180910390f35b348015610405575f80fd5b50610420600480360381019061041b9190612318565b610da6565b60405161042d9190612370565b60405180910390f35b348015610441575f80fd5b5061044a610dc3565b005b348015610457575f80fd5b50610460610fef565b60405161046d9190612398565b60405180910390f35b348015610481575f80fd5b5061048a610ff5565b005b348015610497575f80fd5b506104b260048036038101906104ad91906124b3565b61112e565b6040516104bf9190612398565b60405180910390f35b3480156104d3575f80fd5b506104ee60048036038101906104e99190612401565b6111b0565b005b60606040518060400160405280600f81526020017f4b65726d6974205468652046726f670000000000000000000000000000000000815250905090565b5f61054061053961123c565b8484611243565b6001905092915050565b60125481565b5f6009600a61055f919061264d565b620f424061056d9190612697565b905090565b5f61057e848484611406565b61063b8461058a61123c565b610636856040518060600160405280602881526020016131dc6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6105ed61123c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611cc99092919063ffffffff16565b611243565b600190509392505050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661068661123c565b73ffffffffffffffffffffffffffffffffffffffff16146106a5575f80fd5b5f6107436064610735843073ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016106e8919061249a565b602060405180830381865afa158015610703573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061072791906126ec565b611d2b90919063ffffffff16565b611da290919063ffffffff16565b90503073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb61dead836040518363ffffffff1660e01b8152600401610782929190612717565b6020604051808303815f875af115801561079e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107c29190612768565b505050565b5f6009905090565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661080f61123c565b73ffffffffffffffffffffffffffffffffffffffff161461082e575f80fd5b5f610838306108d5565b90505f81111561084c5761084b81611deb565b5b5f4790505f8111156108625761086181612056565b5b5050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108a661123c565b73ffffffffffffffffffffffffffffffffffffffff16146108c5575f80fd5b5f4790506108d281612056565b50565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61092361123c565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a6906127dd565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610a7161123c565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610afd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610af4906127dd565b60405180910390fd5b6009600a610b0b919061264d565b620f4240610b199190612697565b600f819055506009600a610b2d919061264d565b620f4240610b3b9190612697565b6010819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610b70919061264d565b620f4240610b7e9190612697565b604051610b8b9190612398565b60405180910390a1565b600f5481565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610bdb61123c565b73ffffffffffffffffffffffffffffffffffffffff1614610bfa575f80fd5b5f610c986064610c8a848673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610c3d919061249a565b602060405180830381865afa158015610c58573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c7c91906126ec565b611d2b90919063ffffffff16565b611da290919063ffffffff16565b90508273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401610cf6929190612856565b6020604051808303815f875af1158015610d12573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d369190612768565b50505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60105481565b60606040518060400160405280600681526020017f4b45524d49540000000000000000000000000000000000000000000000000000815250905090565b5f610db9610db261123c565b8484611406565b6001905092915050565b610dcb61123c565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4e906127dd565b60405180910390fd5b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610ef4929190612717565b6020604051808303815f875af1158015610f10573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f349190612768565b5060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610f7d306108d5565b5f80610f87610d3c565b426040518863ffffffff1660e01b8152600401610fa9969594939291906128b6565b60606040518083038185885af1158015610fc5573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610fea9190612915565b505050565b60115481565b610ffd61123c565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611089576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611080906127dd565b60405180910390fd5b60148054906101000a900460ff16156110d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ce906129af565b60405180910390fd5b6001601460166101000a81548160ff02191690831515021790555060016014806101000a81548160ff02191690831515021790555043600e5f6101000a81548163ffffffff021916908363ffffffff160217905550565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166111f061123c565b73ffffffffffffffffffffffffffffffffffffffff161461120f575f80fd5b600754811115801561122357506008548111155b61122b575f80fd5b806007819055508060088190555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112a890612a3d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361131f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131690612acb565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516113f99190612398565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611474576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146b90612b59565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036114e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d990612be7565b60405180910390fd5b5f8111611524576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151b90612c75565b60405180910390fd5b5f61152d610d3c565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561159b575061156b610d3c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611a19576115dc60646115ce600a54600d54116115bb576005546115bf565b6007545b85611d2b90919063ffffffff16565b611da290919063ffffffff16565b905060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611687575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156116da575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156117f357601460169054906101000a900460ff1661172e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161172590612cdd565b60405180910390fd5b600f54821115611773576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161176a90612d45565b60405180910390fd5b60105482611780856108d5565b61178a9190612d63565b11156117cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c290612de0565b60405180910390fd5b600954600d5410156117db575f90505b600d5f8154809291906117ed90612dfe565b91905055505b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561187b57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156118bf576118bc60646118ae600b54600d541161189b5760065461189f565b6008545b85611d2b90919063ffffffff16565b611da290919063ffffffff16565b90505b5f6118c9306108d5565b9050601460159054906101000a900460ff16158015611934575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b801561194c5750601460169054906101000a900460ff165b8015611959575060115481115b80156119685750600c54600d54115b15611a175760165443111561197f575f6015819055505b6004601554106119c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119bb90612e8f565b60405180910390fd5b6119e16119dc846119d7846012546120be565b6120be565b611deb565b5f4790505f8111156119f7576119f647612056565b5b60155f815480929190611a0990612dfe565b919050555043601681905550505b505b5f811115611b1857611a718160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546120d690919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611b0f9190612398565b60405180910390a35b611b688260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461213390919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611c0b611bbf828461213390919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546120d690919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611cae848661213390919063ffffffff16565b604051611cbb9190612398565b60405180910390a350505050565b5f838311158290611d10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d079190612267565b60405180910390fd5b505f8385611d1e9190612ead565b9050809150509392505050565b5f808303611d3b575f9050611d9c565b5f8284611d489190612697565b9050828482611d579190612f0d565b14611d97576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d8e90612fad565b60405180910390fd5b809150505b92915050565b5f611de383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061217c565b905092915050565b6001601460156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611e2257611e21612fcb565b5b604051908082528060200260200182016040528015611e505781602001602082028036833780820191505090505b50905030815f81518110611e6757611e66612ff8565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f0b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f2f9190613039565b81600181518110611f4357611f42612ff8565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611fa93060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611243565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b815260040161200b95949392919061311b565b5f604051808303815f87803b158015612022575f80fd5b505af1158015612034573d5f803e3d5ffd5b50505050505f601460156101000a81548160ff02191690831515021790555050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f193505050501580156120ba573d5f803e3d5ffd5b5050565b5f8183116120cc57826120ce565b815b905092915050565b5f8082846120e49190612d63565b905083811015612129576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612120906131bd565b60405180910390fd5b8091505092915050565b5f61217483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611cc9565b905092915050565b5f80831182906121c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121b99190612267565b60405180910390fd5b505f83856121d09190612f0d565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156122145780820151818401526020810190506121f9565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612239826121dd565b61224381856121e7565b93506122538185602086016121f7565b61225c8161221f565b840191505092915050565b5f6020820190508181035f83015261227f818461222f565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6122b48261228b565b9050919050565b6122c4816122aa565b81146122ce575f80fd5b50565b5f813590506122df816122bb565b92915050565b5f819050919050565b6122f7816122e5565b8114612301575f80fd5b50565b5f81359050612312816122ee565b92915050565b5f806040838503121561232e5761232d612287565b5b5f61233b858286016122d1565b925050602061234c85828601612304565b9150509250929050565b5f8115159050919050565b61236a81612356565b82525050565b5f6020820190506123835f830184612361565b92915050565b612392816122e5565b82525050565b5f6020820190506123ab5f830184612389565b92915050565b5f805f606084860312156123c8576123c7612287565b5b5f6123d5868287016122d1565b93505060206123e6868287016122d1565b92505060406123f786828701612304565b9150509250925092565b5f6020828403121561241657612415612287565b5b5f61242384828501612304565b91505092915050565b5f60ff82169050919050565b6124418161242c565b82525050565b5f60208201905061245a5f830184612438565b92915050565b5f6020828403121561247557612474612287565b5b5f612482848285016122d1565b91505092915050565b612494816122aa565b82525050565b5f6020820190506124ad5f83018461248b565b92915050565b5f80604083850312156124c9576124c8612287565b5b5f6124d6858286016122d1565b92505060206124e7858286016122d1565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156125735780860481111561254f5761254e6124f1565b5b600185161561255e5780820291505b808102905061256c8561251e565b9450612533565b94509492505050565b5f8261258b5760019050612646565b81612598575f9050612646565b81600181146125ae57600281146125b8576125e7565b6001915050612646565b60ff8411156125ca576125c96124f1565b5b8360020a9150848211156125e1576125e06124f1565b5b50612646565b5060208310610133831016604e8410600b841016171561261c5782820a905083811115612617576126166124f1565b5b612646565b612629848484600161252a565b925090508184048111156126405761263f6124f1565b5b81810290505b9392505050565b5f612657826122e5565b91506126628361242c565b925061268f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461257c565b905092915050565b5f6126a1826122e5565b91506126ac836122e5565b92508282026126ba816122e5565b915082820484148315176126d1576126d06124f1565b5b5092915050565b5f815190506126e6816122ee565b92915050565b5f6020828403121561270157612700612287565b5b5f61270e848285016126d8565b91505092915050565b5f60408201905061272a5f83018561248b565b6127376020830184612389565b9392505050565b61274781612356565b8114612751575f80fd5b50565b5f815190506127628161273e565b92915050565b5f6020828403121561277d5761277c612287565b5b5f61278a84828501612754565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6127c76020836121e7565b91506127d282612793565b602082019050919050565b5f6020820190508181035f8301526127f4816127bb565b9050919050565b5f819050919050565b5f61281e6128196128148461228b565b6127fb565b61228b565b9050919050565b5f61282f82612804565b9050919050565b5f61284082612825565b9050919050565b61285081612836565b82525050565b5f6040820190506128695f830185612847565b6128766020830184612389565b9392505050565b5f819050919050565b5f6128a061289b6128968461287d565b6127fb565b6122e5565b9050919050565b6128b081612886565b82525050565b5f60c0820190506128c95f83018961248b565b6128d66020830188612389565b6128e360408301876128a7565b6128f060608301866128a7565b6128fd608083018561248b565b61290a60a0830184612389565b979650505050505050565b5f805f6060848603121561292c5761292b612287565b5b5f612939868287016126d8565b935050602061294a868287016126d8565b925050604061295b868287016126d8565b9150509250925092565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f6129996017836121e7565b91506129a482612965565b602082019050919050565b5f6020820190508181035f8301526129c68161298d565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612a276024836121e7565b9150612a32826129cd565b604082019050919050565b5f6020820190508181035f830152612a5481612a1b565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612ab56022836121e7565b9150612ac082612a5b565b604082019050919050565b5f6020820190508181035f830152612ae281612aa9565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612b436025836121e7565b9150612b4e82612ae9565b604082019050919050565b5f6020820190508181035f830152612b7081612b37565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612bd16023836121e7565b9150612bdc82612b77565b604082019050919050565b5f6020820190508181035f830152612bfe81612bc5565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612c5f6029836121e7565b9150612c6a82612c05565b604082019050919050565b5f6020820190508181035f830152612c8c81612c53565b9050919050565b7f74726164696e67206973206e6f74206f70656e000000000000000000000000005f82015250565b5f612cc76013836121e7565b9150612cd282612c93565b602082019050919050565b5f6020820190508181035f830152612cf481612cbb565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612d2f6019836121e7565b9150612d3a82612cfb565b602082019050919050565b5f6020820190508181035f830152612d5c81612d23565b9050919050565b5f612d6d826122e5565b9150612d78836122e5565b9250828201905080821115612d9057612d8f6124f1565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612dca601a836121e7565b9150612dd582612d96565b602082019050919050565b5f6020820190508181035f830152612df781612dbe565b9050919050565b5f612e08826122e5565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612e3a57612e396124f1565b5b600182019050919050565b7f4f6e6c7920342073656c6c732070657220626c6f636b210000000000000000005f82015250565b5f612e796017836121e7565b9150612e8482612e45565b602082019050919050565b5f6020820190508181035f830152612ea681612e6d565b9050919050565b5f612eb7826122e5565b9150612ec2836122e5565b9250828203905081811115612eda57612ed96124f1565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612f17826122e5565b9150612f22836122e5565b925082612f3257612f31612ee0565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612f976021836121e7565b9150612fa282612f3d565b604082019050919050565b5f6020820190508181035f830152612fc481612f8b565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050613033816122bb565b92915050565b5f6020828403121561304e5761304d612287565b5b5f61305b84828501613025565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613096816122aa565b82525050565b5f6130a7838361308d565b60208301905092915050565b5f602082019050919050565b5f6130c982613064565b6130d3818561306e565b93506130de8361307e565b805f5b8381101561310e5781516130f5888261309c565b9750613100836130b3565b9250506001810190506130e1565b5085935050505092915050565b5f60a08201905061312e5f830188612389565b61313b60208301876128a7565b818103604083015261314d81866130bf565b905061315c606083018561248b565b6131696080830184612389565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6131a7601b836121e7565b91506131b282613173565b602082019050919050565b5f6020820190508181035f8301526131d48161319b565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220ba264fea70166ec94df07026b09f89db471e4f1439d93244497c527354f243d364736f6c63430008170033

Verified Source Code Partial Match

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

/**
 * Kermit The Frog $KERMIT 
 *
 * I'm $KERMIT, the most famous frog to have ever existed. Pepe stole my fame
 * I'm reclaiming it by taking over the Eth blockchain! Only a frog can flip a frog. 
 *
 * I'm $KERMIT the real ETH frog and the $PEPE Killer.
 *
 *
 * TG: https://t.me/KermitEthereum/
 * Website: https://kermittoken.xyz/
 * X: https://x.com/KermitEther/
 *
 */

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  KERMIT 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;
    address payable private _taxWallet;
    string private constant _name = unicode"Kermit The Frog";
    string private constant _symbol = unicode"KERMIT";


    uint256 private _initialBuyTax = 28;
    uint256 private _initialSellTax = 30;
    uint256 private _finalBuyTax = 0;
    uint256 private _finalSellTax = 0;
    uint256 private _afterBuys = 60;
    uint256 private _reduceBuyTaxAt = _afterBuys + 50;
    uint256 private _reduceSellTaxAt = _afterBuys + 70;
    uint256 private _preventSwapBefore = 1;
    uint256 private _buyCount = 0;
    uint32 private _launchBlock;
    uint32 private _launchBuys;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1_000_000 * 10 ** _decimals;
    uint256 public _maxTxAmount = 20_000 * 10 ** _decimals;
    uint256 public _maxWalletSize = 20_000 * 10 ** _decimals;
    uint256 public _taxSwapThreshold = 1_000 * 10 ** _decimals;
    uint256 public _maxTaxSwap = 20_000 * 10 ** _decimals;

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

    constructor() {
        _taxWallet = payable(0xcC8B215959af113d55372f91152D5e0aA9aD8d15);
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;

        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());


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

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

    function symbol() public pure returns (string memory) {
        return _symbol;
    }

    function decimals() public pure returns (uint8) {
        return _decimals;
    }

    function totalSupply() public 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()) {
            taxAmount = amount.mul((_buyCount > _reduceBuyTaxAt) ? _finalBuyTax : _initialBuyTax).div(100);

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to]) {
                require(swapEnabled, "trading is not open");
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                if (_buyCount < _afterBuys) {
                    taxAmount = 0;
                }
                _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 < 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 (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;
        emit MaxTxAmountUpdated(_tTotal);
    }

    function sendETHToFee(uint256 amount) private {
        _taxWallet.transfer(amount);
    }

    function addLP() external onlyOwner {
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        uniswapV2Router.addLiquidityETH{ value: address(this).balance }(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            owner(),
            block.timestamp
        );
    }

    function openTrading() external onlyOwner {
        require(!tradingOpen, "trading is already open");
        swapEnabled = true;
        tradingOpen = true;
        _launchBlock = uint32(block.number);
    }

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

    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 burnClog(uint256 percent) external {
        require(_msgSender() == _taxWallet);
        uint256 _amount = IERC20(address(this)).balanceOf(address(this)).mul(percent).div(100);
        IERC20(address(this)).transfer(0x000000000000000000000000000000000000dEaD, _amount);
    }

    function manualsend() external {
        require(_msgSender() == _taxWallet);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }
}

Read Contract

_maxTaxSwap 0x0faee56f → uint256
_maxTxAmount 0x7d1db4a5 → uint256
_maxWalletSize 0x8f9a55c0 → uint256
_taxSwapThreshold 0xbf474bed → uint256
allowance 0xdd62ed3e → uint256
balanceOf 0x70a08231 → uint256
decimals 0x313ce567 → uint8
name 0x06fdde03 → string
owner 0x8da5cb5b → address
symbol 0x95d89b41 → string
totalSupply 0x18160ddd → uint256

Write Contract 12 functions

These functions modify contract state and require a wallet transaction to execute.

addLP 0xbc37e1a3
No parameters
approve 0x095ea7b3
address spender
uint256 amount
returns: bool
burnClog 0x295f5452
uint256 percent
manualSwap 0x51bc3c85
No parameters
manualsend 0x6fc3eaec
No parameters
openTrading 0xc9567bf9
No parameters
reduceFee 0xec1f3f63
uint256 _newFee
removeLimits 0x751039fc
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