Cryo Explorer Ethereum Mainnet

Address Contract Partially Verified

Address 0xd482B6345B210Afc1d95291566CE3EAB633fa532
Balance 0 ETH
Nonce 1
Code Size 11365 bytes
Indexed Transactions 0
External Etherscan · Sourcify

Contract Bytecode

11365 bytes
0x608060405260043610610184575f3560e01c8063768dc710116100d0578063bf474bed11610089578063dd62ed3e11610063578063dd62ed3e14610541578063ea2f0b371461057d578063f2fde38b146105a5578063f3597209146105cd5761018b565b8063bf474bed146104c3578063c123c677146104ed578063d621e813146105175761018b565b8063768dc710146103b95780638a8c523c146103f55780638da5cb5b1461040b57806395d89b4114610435578063a9059cbb1461045f578063b62ef5991461049b5761018b565b8063398526b51161013d5780636ba1b359116101175780636ba1b3591461032757806370a082311461033d578063715018a6146103795780637176286d1461038f5761018b565b8063398526b5146102ad57806348f1846d146102d7578063508f6dfb146102ff5761018b565b8063034832bd1461018f57806306fdde03146101b7578063095ea7b3146101e157806318160ddd1461021d57806323b872dd14610247578063313ce567146102835761018b565b3661018b57005b5f80fd5b34801561019a575f80fd5b506101b560048036038101906101b09190611cb0565b6105f7565b005b3480156101c2575f80fd5b506101cb610609565b6040516101d89190611d4b565b60405180910390f35b3480156101ec575f80fd5b5061020760048036038101906102029190611dc5565b610646565b6040516102149190611e1d565b60405180910390f35b348015610228575f80fd5b50610231610663565b60405161023e9190611e45565b60405180910390f35b348015610252575f80fd5b5061026d60048036038101906102689190611e5e565b610685565b60405161027a9190611e1d565b60405180910390f35b34801561028e575f80fd5b50610297610759565b6040516102a49190611ec9565b60405180910390f35b3480156102b8575f80fd5b506102c1610761565b6040516102ce9190611e45565b60405180910390f35b3480156102e2575f80fd5b506102fd60048036038101906102f89190611ee2565b610767565b005b34801561030a575f80fd5b5061032560048036038101906103209190611f20565b610781565b005b348015610332575f80fd5b5061033b6107e1565b005b348015610348575f80fd5b50610363600480360381019061035e9190611f20565b6108db565b6040516103709190611e45565b60405180910390f35b348015610384575f80fd5b5061038d610921565b005b34801561039a575f80fd5b506103a3610934565b6040516103b09190611e45565b60405180910390f35b3480156103c4575f80fd5b506103df60048036038101906103da9190611f20565b61093a565b6040516103ec9190611e1d565b60405180910390f35b348015610400575f80fd5b50610409610957565b005b348015610416575f80fd5b5061041f6109d2565b60405161042c9190611f5a565b60405180910390f35b348015610440575f80fd5b506104496109f9565b6040516104569190611d4b565b60405180910390f35b34801561046a575f80fd5b5061048560048036038101906104809190611dc5565b610a36565b6040516104929190611e1d565b60405180910390f35b3480156104a6575f80fd5b506104c160048036038101906104bc9190611cb0565b610a53565b005b3480156104ce575f80fd5b506104d7610ac1565b6040516104e49190611e45565b60405180910390f35b3480156104f8575f80fd5b50610501610ac7565b60405161050e9190611f93565b60405180910390f35b348015610522575f80fd5b5061052b610aec565b6040516105389190611e1d565b60405180910390f35b34801561054c575f80fd5b5061056760048036038101906105629190611fac565b610aff565b6040516105749190611e45565b60405180910390f35b348015610588575f80fd5b506105a3600480360381019061059e9190611f20565b610b81565b005b3480156105b0575f80fd5b506105cb60048036038101906105c69190611f20565b610be0565b005b3480156105d8575f80fd5b506105e1610c62565b6040516105ee9190611e45565b60405180910390f35b6105ff610c68565b8060048190555050565b60606040518060400160405280600681526020017f4573717569640000000000000000000000000000000000000000000000000000815250905090565b5f610659610652610ce6565b8484610ced565b6001905092915050565b5f6012600a6106729190612146565b62e4e1c06106809190612190565b905090565b5f610691848484610eb0565b61074e8461069d610ce6565b61074985604051806060016040528060288152602001612c086028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610700610ce6565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461164e9092919063ffffffff16565b610ced565b600190509392505050565b5f6012905090565b60065481565b61076f610c68565b81600681905550806007819055505050565b610789610c68565b600160035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b6107e9610c68565b5f471161082b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108229061221b565b60405180910390fd5b5f4790505f3373ffffffffffffffffffffffffffffffffffffffff168260405161085490612266565b5f6040518083038185875af1925050503d805f811461088e576040519150601f19603f3d011682016040523d82523d5f602084013e610893565b606091505b50509050806108d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108ce906122c4565b60405180910390fd5b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610929610c68565b6109325f6116b0565b565b60075481565b6003602052805f5260405f205f915054906101000a900460ff1681565b61095f610c68565b60011515600a60169054906101000a900460ff161515036109b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ac9061232c565b60405180910390fd5b6001600a60166101000a81548160ff021916908315150217905550565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f5155494400000000000000000000000000000000000000000000000000000000815250905090565b5f610a49610a42610ce6565b8484610eb0565b6001905092915050565b610a5b610c68565b610a7660c8610a68610663565b61177190919063ffffffff16565b8111610ab7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aae90612394565b60405180910390fd5b8060088190555050565b60045481565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a60169054906101000a900460ff1681565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610b89610c68565b5f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b610be8610c68565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610c56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4d90612422565b60405180910390fd5b610c5f816116b0565b50565b60085481565b610c70610ce6565b73ffffffffffffffffffffffffffffffffffffffff16610c8e6109d2565b73ffffffffffffffffffffffffffffffffffffffff1614610ce4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cdb9061248a565b60405180910390fd5b565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5290612518565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610dc9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc0906125a6565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610ea39190611e45565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1590612634565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f83906126c2565b60405180910390fd5b5f8111610fce576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc590612750565b60405180910390fd5b5f60035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615801561106d575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561139e57600a60169054906101000a900460ff166110c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b8906127b8565b60405180910390fd5b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461116e5760085482611122856108db565b61112c91906127d6565b111561116d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116490612879565b60405180910390fd5b5b5f600654111561125257600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611221575060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156112515761124e6064611240600654856117ba90919063ffffffff16565b61177190919063ffffffff16565b90505b5b5f60075411156112dc57600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112db576112d860646112ca600754856117ba90919063ffffffff16565b61177190919063ffffffff16565b90505b5b5f6112e6306108db565b9050600a60149054906101000a900460ff161580156113515750600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156113695750600a60159054906101000a900460ff165b8015611376575060045481115b1561139c5761138481611831565b5f4790505f81111561139a5761139947611aa5565b5b505b505b5f81111561149d576113f68160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611b7290919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516114949190611e45565b60405180910390a35b6114ed8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611bcf90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506115906115448284611bcf90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611b7290919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6116338486611bcf90919063ffffffff16565b6040516116409190611e45565b60405180910390a350505050565b5f838311158290611695576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168c9190611d4b565b60405180910390fd5b505f83856116a39190612897565b9050809150509392505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f6117b283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611c18565b905092915050565b5f8083036117ca575f905061182b565b5f82846117d79190612190565b90508284826117e691906128f7565b14611826576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161181d90612997565b60405180910390fd5b809150505b92915050565b6001600a60146101000a81548160ff0219169083151502179055505f810315611a88575f600267ffffffffffffffff8111156118705761186f6129b5565b5b60405190808252806020026020018201604052801561189e5781602001602082028036833780820191505090505b50905030815f815181106118b5576118b46129e2565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611959573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061197d9190612a23565b81600181518110611991576119906129e2565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506119f73060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610ced565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611a59959493929190612b47565b5f604051808303815f87803b158015611a70575f80fd5b505af1158015611a82573d5f803e3d5ffd5b50505050505b5f600a60146101000a81548160ff02191690831515021790555050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682604051611aeb90612266565b5f6040518083038185875af1925050503d805f8114611b25576040519150601f19603f3d011682016040523d82523d5f602084013e611b2a565b606091505b5050905080611b6e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b65906122c4565b60405180910390fd5b5050565b5f808284611b8091906127d6565b905083811015611bc5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bbc90612be9565b60405180910390fd5b8091505092915050565b5f611c1083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061164e565b905092915050565b5f8083118290611c5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c559190611d4b565b60405180910390fd5b505f8385611c6c91906128f7565b9050809150509392505050565b5f80fd5b5f819050919050565b611c8f81611c7d565b8114611c99575f80fd5b50565b5f81359050611caa81611c86565b92915050565b5f60208284031215611cc557611cc4611c79565b5b5f611cd284828501611c9c565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611d1d82611cdb565b611d278185611ce5565b9350611d37818560208601611cf5565b611d4081611d03565b840191505092915050565b5f6020820190508181035f830152611d638184611d13565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611d9482611d6b565b9050919050565b611da481611d8a565b8114611dae575f80fd5b50565b5f81359050611dbf81611d9b565b92915050565b5f8060408385031215611ddb57611dda611c79565b5b5f611de885828601611db1565b9250506020611df985828601611c9c565b9150509250929050565b5f8115159050919050565b611e1781611e03565b82525050565b5f602082019050611e305f830184611e0e565b92915050565b611e3f81611c7d565b82525050565b5f602082019050611e585f830184611e36565b92915050565b5f805f60608486031215611e7557611e74611c79565b5b5f611e8286828701611db1565b9350506020611e9386828701611db1565b9250506040611ea486828701611c9c565b9150509250925092565b5f60ff82169050919050565b611ec381611eae565b82525050565b5f602082019050611edc5f830184611eba565b92915050565b5f8060408385031215611ef857611ef7611c79565b5b5f611f0585828601611c9c565b9250506020611f1685828601611c9c565b9150509250929050565b5f60208284031215611f3557611f34611c79565b5b5f611f4284828501611db1565b91505092915050565b611f5481611d8a565b82525050565b5f602082019050611f6d5f830184611f4b565b92915050565b5f611f7d82611d6b565b9050919050565b611f8d81611f73565b82525050565b5f602082019050611fa65f830184611f84565b92915050565b5f8060408385031215611fc257611fc1611c79565b5b5f611fcf85828601611db1565b9250506020611fe085828601611db1565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561206c5780860481111561204857612047611fea565b5b60018516156120575780820291505b808102905061206585612017565b945061202c565b94509492505050565b5f82612084576001905061213f565b81612091575f905061213f565b81600181146120a757600281146120b1576120e0565b600191505061213f565b60ff8411156120c3576120c2611fea565b5b8360020a9150848211156120da576120d9611fea565b5b5061213f565b5060208310610133831016604e8410600b84101617156121155782820a9050838111156121105761210f611fea565b5b61213f565b6121228484846001612023565b9250905081840481111561213957612138611fea565b5b81810290505b9392505050565b5f61215082611c7d565b915061215b83611eae565b92506121887fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612075565b905092915050565b5f61219a82611c7d565b91506121a583611c7d565b92508282026121b381611c7d565b915082820484148315176121ca576121c9611fea565b5b5092915050565b7f4e6f20737475636b2045746865720000000000000000000000000000000000005f82015250565b5f612205600e83611ce5565b9150612210826121d1565b602082019050919050565b5f6020820190508181035f830152612232816121f9565b9050919050565b5f81905092915050565b50565b5f6122515f83612239565b915061225c82612243565b5f82019050919050565b5f61227082612246565b9150819050919050565b7f43616c6c206661696c65640000000000000000000000000000000000000000005f82015250565b5f6122ae600b83611ce5565b91506122b98261227a565b602082019050919050565b5f6020820190508181035f8301526122db816122a2565b9050919050565b7f547261646520616c726561647920656e61626c656400000000000000000000005f82015250565b5f612316601583611ce5565b9150612321826122e2565b602082019050919050565b5f6020820190508181035f8301526123438161230a565b9050919050565b7f4c696d697420746f6f206c6573730000000000000000000000000000000000005f82015250565b5f61237e600e83611ce5565b91506123898261234a565b602082019050919050565b5f6020820190508181035f8301526123ab81612372565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f61240c602683611ce5565b9150612417826123b2565b604082019050919050565b5f6020820190508181035f83015261243981612400565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612474602083611ce5565b915061247f82612440565b602082019050919050565b5f6020820190508181035f8301526124a181612468565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612502602483611ce5565b915061250d826124a8565b604082019050919050565b5f6020820190508181035f83015261252f816124f6565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612590602283611ce5565b915061259b82612536565b604082019050919050565b5f6020820190508181035f8301526125bd81612584565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f61261e602583611ce5565b9150612629826125c4565b604082019050919050565b5f6020820190508181035f83015261264b81612612565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6126ac602383611ce5565b91506126b782612652565b604082019050919050565b5f6020820190508181035f8301526126d9816126a0565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f61273a602983611ce5565b9150612745826126e0565b604082019050919050565b5f6020820190508181035f8301526127678161272e565b9050919050565b7f54726164696e67206e6f7420656e61626c6564000000000000000000000000005f82015250565b5f6127a2601383611ce5565b91506127ad8261276e565b602082019050919050565b5f6020820190508181035f8301526127cf81612796565b9050919050565b5f6127e082611c7d565b91506127eb83611c7d565b925082820190508082111561280357612802611fea565b5b92915050565b7f43616e7420626520686967686572207468616e205175696420416e74695768615f8201527f6c65204c696d69742e0000000000000000000000000000000000000000000000602082015250565b5f612863602983611ce5565b915061286e82612809565b604082019050919050565b5f6020820190508181035f83015261289081612857565b9050919050565b5f6128a182611c7d565b91506128ac83611c7d565b92508282039050818111156128c4576128c3611fea565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61290182611c7d565b915061290c83611c7d565b92508261291c5761291b6128ca565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612981602183611ce5565b915061298c82612927565b604082019050919050565b5f6020820190508181035f8301526129ae81612975565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050612a1d81611d9b565b92915050565b5f60208284031215612a3857612a37611c79565b5b5f612a4584828501612a0f565b91505092915050565b5f819050919050565b5f819050919050565b5f612a7a612a75612a7084612a4e565b612a57565b611c7d565b9050919050565b612a8a81612a60565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612ac281611d8a565b82525050565b5f612ad38383612ab9565b60208301905092915050565b5f602082019050919050565b5f612af582612a90565b612aff8185612a9a565b9350612b0a83612aaa565b805f5b83811015612b3a578151612b218882612ac8565b9750612b2c83612adf565b925050600181019050612b0d565b5085935050505092915050565b5f60a082019050612b5a5f830188611e36565b612b676020830187612a81565b8181036040830152612b798186612aeb565b9050612b886060830185611f4b565b612b956080830184611e36565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612bd3601b83611ce5565b9150612bde82612b9f565b602082019050919050565b5f6020820190508181035f830152612c0081612bc7565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212209f7f569532244133cf0177ef19e675a5561143e3aad5de2025178674576b82a864736f6c634300081a0033

Verified Source Code Partial Match

Compiler: v0.8.26+commit.8a97fa7a EVM: cancun Optimization: No
Esquid.sol 359 lines
// SPDX-License-Identifier: MIT
pragma solidity 0.8.26;

/*
Twitter: https://x.com/Esquidity
Telegram: https://t.me/ESQUIDERC
Website: https://esquidescrow.com
*/

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

}

abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() {
        _transferOwnership(_msgSender());
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        _checkOwner();
        _;
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if the sender is not the owner.
     */
    function _checkOwner() internal view virtual {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby disabling any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _transferOwnership(newOwner);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Internal function without access restriction.
     */
    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

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

    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public _isExcludedFromFee;

    uint8 private constant _decimals = 18;
    uint256 private constant _tTotal = 15000000 * 10**_decimals;
    string private constant _name = unicode"Esquid";
    string private constant _symbol = unicode"QUID";
    uint256 public _taxSwapThreshold= 5000 * 10**_decimals;
    address payable public _quidTaxWallet = payable(0xDfbE21E3E274ea73Ee4402EDeC1c3C39503e3E56);

    uint256 public _quidBuyTax = 5;
    uint256 public _quidSellTax = 5;
    uint256 public _quidWhaleLimit = 300000 * 10 ** decimals();

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private inSwap = false;
    bool private swapEnabled = true;

    bool public tradeEnabled = false;

    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); // mainnet router address
       // IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0xD99D1c33F9fC3444f8101754aBC46c52416550D1); //testnet router
        // Create a uniswap pair for this new token
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

        // set the rest of the contract variables
        uniswapV2Router = _uniswapV2Router;

        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_quidTaxWallet] = true;

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

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

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

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

    function totalSupply() public 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 (!_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {

            require(tradeEnabled, "Trading not enabled");

            if(to != uniswapV2Pair){
               require(balanceOf(to) + amount <= _quidWhaleLimit, "Cant be higher than Quid AntiWhale Limit.");
            }

            if(_quidBuyTax > 0) {
            if (from == uniswapV2Pair && to != address(uniswapV2Router)) {
                taxAmount = amount.mul(_quidBuyTax).div(100);
            }
            }

            if(_quidSellTax > 0) {
            if(to == uniswapV2Pair){
                taxAmount = amount.mul(_quidSellTax).div(100);
            }
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        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 {
        if(tokenAmount==0){return;}
        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 sendETHToFee(uint256 amount) private {
       (bool callSuccess, ) = payable(_quidTaxWallet).call{value: amount}("");
        require(callSuccess, "Call failed");
    }

    receive() external payable {}

    function updateQuidAntiWhaleLimit(uint256 _maxLimit) public onlyOwner{
        require(_maxLimit > totalSupply().div(200),"Limit too less");
        _quidWhaleLimit = _maxLimit;
    }

    function removeCloggedEther() public onlyOwner {
        require(address(this).balance > 0, "No stuck Ether");
        uint256 ethBalance = address(this).balance;

        (bool callSuccess, ) = payable(msg.sender).call{value: ethBalance}(
            ""
        );
        require(callSuccess, "Call failed");
    }

    function whiteListFromFee(address wallet) public onlyOwner {
        _isExcludedFromFee[wallet] = true;
    }

    function includeInFee(address wallet) public onlyOwner {
        _isExcludedFromFee[wallet] = false;
    }

    function enableTrading() public onlyOwner {
        require(tradeEnabled != true, "Trade already enabled");
        tradeEnabled = true;
    }

    function updateQuidFees(uint256 _bFee, uint256 _sFee) public onlyOwner {
        _quidBuyTax = _bFee;
        _quidSellTax = _sFee;
    }

    function updateTaxSwapThreshold(uint256 _taxLimit) public onlyOwner{
        _taxSwapThreshold = _taxLimit;
    }

    
    }

Read Contract

_isExcludedFromFee 0x768dc710 → bool
_quidBuyTax 0x398526b5 → uint256
_quidSellTax 0x7176286d → uint256
_quidTaxWallet 0xc123c677 → address
_quidWhaleLimit 0xf3597209 → 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
tradeEnabled 0xd621e813 → bool

Write Contract 12 functions

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

approve 0x095ea7b3
address spender
uint256 amount
returns: bool
enableTrading 0x8a8c523c
No parameters
includeInFee 0xea2f0b37
address wallet
removeCloggedEther 0x6ba1b359
No parameters
renounceOwnership 0x715018a6
No parameters
transfer 0xa9059cbb
address recipient
uint256 amount
returns: bool
transferFrom 0x23b872dd
address sender
address recipient
uint256 amount
returns: bool
transferOwnership 0xf2fde38b
address newOwner
updateQuidAntiWhaleLimit 0xb62ef599
uint256 _maxLimit
updateQuidFees 0x48f1846d
uint256 _bFee
uint256 _sFee
updateTaxSwapThreshold 0x034832bd
uint256 _taxLimit
whiteListFromFee 0x508f6dfb
address wallet

Recent Transactions

No transactions found for this address