Address Contract Partially Verified
Address
0xD68a5a17E67122221Be5dC18d89820eebb4D4a75
Balance
0 ETH
Nonce
1
Code Size
12099 bytes
Creator
0x475190F1...7Fcc at tx 0x869fe5a3...580c42
Indexed Transactions
0
Contract Bytecode
12099 bytes
0x60806040526004361061012d575f3560e01c8063751039fc116100aa578063a9059cbb1161006e578063a9059cbb146103a6578063bf474bed146103e2578063c9567bf91461040c578063dd62ed3e14610422578063f5648a4f1461045e578063ffb54a991461047457610134565b8063751039fc146102e85780637d1db4a5146102fe5780638da5cb5b146103285780638f9a55c01461035257806395d89b411461037c57610134565b8063313ce567116100f1578063313ce5671461022e57806351bc3c851461025857806370a082311461026e578063715018a6146102aa57806371f5f01a146102c057610134565b806306fdde0314610138578063095ea7b3146101625780630faee56f1461019e57806318160ddd146101c857806323b872dd146101f257610134565b3661013457005b5f80fd5b348015610143575f80fd5b5061014c61049e565b6040516101599190612056565b60405180910390f35b34801561016d575f80fd5b5061018860048036038101906101839190612107565b6104db565b604051610195919061215f565b60405180910390f35b3480156101a9575f80fd5b506101b26104f8565b6040516101bf9190612187565b60405180910390f35b3480156101d3575f80fd5b506101dc6104fe565b6040516101e99190612187565b60405180910390f35b3480156101fd575f80fd5b50610218600480360381019061021391906121a0565b610521565b604051610225919061215f565b60405180910390f35b348015610239575f80fd5b506102426105f5565b60405161024f919061220b565b60405180910390f35b348015610263575f80fd5b5061026c6105fd565b005b348015610279575f80fd5b50610294600480360381019061028f9190612224565b610694565b6040516102a19190612187565b60405180910390f35b3480156102b5575f80fd5b506102be6106da565b005b3480156102cb575f80fd5b506102e660048036038101906102e1919061224f565b610828565b005b3480156102f3575f80fd5b506102fc6108bc565b005b348015610309575f80fd5b506103126109eb565b60405161031f9190612187565b60405180910390f35b348015610333575f80fd5b5061033c6109f1565b6040516103499190612289565b60405180910390f35b34801561035d575f80fd5b50610366610a18565b6040516103739190612187565b60405180910390f35b348015610387575f80fd5b50610390610a1e565b60405161039d9190612056565b60405180910390f35b3480156103b1575f80fd5b506103cc60048036038101906103c79190612107565b610a5b565b6040516103d9919061215f565b60405180910390f35b3480156103ed575f80fd5b506103f6610a78565b6040516104039190612187565b60405180910390f35b348015610417575f80fd5b50610420610a7e565b005b34801561042d575f80fd5b50610448600480360381019061044391906122a2565b610f9e565b6040516104559190612187565b60405180910390f35b348015610469575f80fd5b50610472611020565b005b34801561047f575f80fd5b50610488611107565b604051610495919061215f565b60405180910390f35b60606040518060400160405280600681526020017f446f676972610000000000000000000000000000000000000000000000000000815250905090565b5f6104ee6104e7611119565b8484611120565b6001905092915050565b60135481565b5f6009600a61050d919061243c565b633b9aca0061051c9190612486565b905090565b5f61052d8484846112e3565b6105ea84610539611119565b6105e585604051806060016040528060288152602001612ee66028913960055f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61059c611119565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611ad29092919063ffffffff16565b611120565b600190509392505050565b5f6009905090565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661063d611119565b73ffffffffffffffffffffffffffffffffffffffff161461065c575f80fd5b5f61066630610694565b90505f81111561067a5761067981611b34565b5b5f4790505f8111156106905761068f81611d9f565b5b5050565b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6106e2611119565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461076e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161076590612511565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610868611119565b73ffffffffffffffffffffffffffffffffffffffff1614610887575f80fd5b5f61089130610694565b90505f606483836108a29190612486565b6108ac919061255c565b90506108b781611b34565b505050565b6108c4611119565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610950576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094790612511565b60405180910390fd5b6009600a61095e919061243c565b633b9aca0061096d9190612486565b6010819055506009600a610981919061243c565b633b9aca006109909190612486565b6011819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a6109c5919061243c565b633b9aca006109d49190612486565b6040516109e19190612187565b60405180910390a1565b60105481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60115481565b60606040518060400160405280600681526020017f444f474952410000000000000000000000000000000000000000000000000000815250905090565b5f610a6e610a67611119565b84846112e3565b6001905092915050565b60125481565b610a86611119565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0990612511565b60405180910390fd5b60075f9054906101000a900460ff1615610b61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b58906125d6565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610bfd3060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610be9919061243c565b633b9aca00610bf89190612486565b611120565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c67573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c8b9190612608565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d11573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d359190612608565b6040518363ffffffff1660e01b8152600401610d52929190612633565b6020604051808303815f875af1158015610d6e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d929190612608565b60025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610e1930610694565b5f80610e236109f1565b426040518863ffffffff1660e01b8152600401610e459695949392919061269c565b60606040518083038185885af1158015610e61573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610e86919061270f565b50505060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610f2692919061275f565b6020604051808303815f875af1158015610f42573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f6691906127b0565b506001600760026101000a81548160ff021916908315150217905550600160075f6101000a81548160ff021916908315150217905550565b5f60055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f4711611062576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105990612825565b60405180910390fd5b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166110a2611119565b73ffffffffffffffffffffffffffffffffffffffff16146110c1575f80fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015611104573d5f803e3d5ffd5b50565b60075f9054906101000a900460ff1681565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361118e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611185906128b3565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f390612941565b60405180910390fd5b8060055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112d69190612187565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611351576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611348906129cf565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b690612a5d565b60405180910390fd5b5f8111611401576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f890612aeb565b60405180910390fd5b5f61140a6109f1565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561147857506114486109f1565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611822576114b960646114ab600c54600f54116114985760085461149c565b600a545b85611e0790919063ffffffff16565b611e7e90919063ffffffff16565b905060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611564575060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156115b7575060065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561167157601054821115611601576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f890612b53565b60405180910390fd5b6011548261160e85610694565b6116189190612b71565b1115611659576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165090612bee565b60405180910390fd5b600f5f81548092919061166b90612c0c565b91905055505b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156116f957503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561173d5761173a606461172c600d54600f54116117195760095461171d565b600b545b85611e0790919063ffffffff16565b611e7e90919063ffffffff16565b90505b5f61174730610694565b9050600760019054906101000a900460ff161580156117b2575060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156117ca5750600760029054906101000a900460ff165b80156117d7575060125481115b80156117e65750600e54600f54115b1561182057611808611803846117fe84601354611ec7565b611ec7565b611b34565b5f4790505f81111561181e5761181d47611d9f565b5b505b505b5f8111156119215761187a8160045f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611edf90919063ffffffff16565b60045f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516119189190612187565b60405180910390a35b6119718260045f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611f3c90919063ffffffff16565b60045f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611a146119c88284611f3c90919063ffffffff16565b60045f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611edf90919063ffffffff16565b60045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611ab78486611f3c90919063ffffffff16565b604051611ac49190612187565b60405180910390a350505050565b5f838311158290611b19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b109190612056565b60405180910390fd5b505f8385611b279190612c53565b9050809150509392505050565b6001600760016101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611b6b57611b6a612c86565b5b604051908082528060200260200182016040528015611b995781602001602082028036833780820191505090505b50905030815f81518110611bb057611baf612cb3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c54573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c789190612608565b81600181518110611c8c57611c8b612cb3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611cf23060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611120565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611d54959493929190612d97565b5f604051808303815f87803b158015611d6b575f80fd5b505af1158015611d7d573d5f803e3d5ffd5b50505050505f600760016101000a81548160ff02191690831515021790555050565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611e03573d5f803e3d5ffd5b5050565b5f808303611e17575f9050611e78565b5f8284611e249190612486565b9050828482611e33919061255c565b14611e73576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e6a90612e5f565b60405180910390fd5b809150505b92915050565b5f611ebf83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611f85565b905092915050565b5f818311611ed55782611ed7565b815b905092915050565b5f808284611eed9190612b71565b905083811015611f32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f2990612ec7565b60405180910390fd5b8091505092915050565b5f611f7d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611ad2565b905092915050565b5f8083118290611fcb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fc29190612056565b60405180910390fd5b505f8385611fd9919061255c565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61202882611fe6565b6120328185611ff0565b9350612042818560208601612000565b61204b8161200e565b840191505092915050565b5f6020820190508181035f83015261206e818461201e565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6120a38261207a565b9050919050565b6120b381612099565b81146120bd575f80fd5b50565b5f813590506120ce816120aa565b92915050565b5f819050919050565b6120e6816120d4565b81146120f0575f80fd5b50565b5f81359050612101816120dd565b92915050565b5f806040838503121561211d5761211c612076565b5b5f61212a858286016120c0565b925050602061213b858286016120f3565b9150509250929050565b5f8115159050919050565b61215981612145565b82525050565b5f6020820190506121725f830184612150565b92915050565b612181816120d4565b82525050565b5f60208201905061219a5f830184612178565b92915050565b5f805f606084860312156121b7576121b6612076565b5b5f6121c4868287016120c0565b93505060206121d5868287016120c0565b92505060406121e6868287016120f3565b9150509250925092565b5f60ff82169050919050565b612205816121f0565b82525050565b5f60208201905061221e5f8301846121fc565b92915050565b5f6020828403121561223957612238612076565b5b5f612246848285016120c0565b91505092915050565b5f6020828403121561226457612263612076565b5b5f612271848285016120f3565b91505092915050565b61228381612099565b82525050565b5f60208201905061229c5f83018461227a565b92915050565b5f80604083850312156122b8576122b7612076565b5b5f6122c5858286016120c0565b92505060206122d6858286016120c0565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156123625780860481111561233e5761233d6122e0565b5b600185161561234d5780820291505b808102905061235b8561230d565b9450612322565b94509492505050565b5f8261237a5760019050612435565b81612387575f9050612435565b816001811461239d57600281146123a7576123d6565b6001915050612435565b60ff8411156123b9576123b86122e0565b5b8360020a9150848211156123d0576123cf6122e0565b5b50612435565b5060208310610133831016604e8410600b841016171561240b5782820a905083811115612406576124056122e0565b5b612435565b6124188484846001612319565b9250905081840481111561242f5761242e6122e0565b5b81810290505b9392505050565b5f612446826120d4565b9150612451836121f0565b925061247e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461236b565b905092915050565b5f612490826120d4565b915061249b836120d4565b92508282026124a9816120d4565b915082820484148315176124c0576124bf6122e0565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6124fb602083611ff0565b9150612506826124c7565b602082019050919050565b5f6020820190508181035f830152612528816124ef565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612566826120d4565b9150612571836120d4565b9250826125815761258061252f565b5b828204905092915050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f6125c0601783611ff0565b91506125cb8261258c565b602082019050919050565b5f6020820190508181035f8301526125ed816125b4565b9050919050565b5f81519050612602816120aa565b92915050565b5f6020828403121561261d5761261c612076565b5b5f61262a848285016125f4565b91505092915050565b5f6040820190506126465f83018561227a565b612653602083018461227a565b9392505050565b5f819050919050565b5f819050919050565b5f61268661268161267c8461265a565b612663565b6120d4565b9050919050565b6126968161266c565b82525050565b5f60c0820190506126af5f83018961227a565b6126bc6020830188612178565b6126c9604083018761268d565b6126d6606083018661268d565b6126e3608083018561227a565b6126f060a0830184612178565b979650505050505050565b5f81519050612709816120dd565b92915050565b5f805f6060848603121561272657612725612076565b5b5f612733868287016126fb565b9350506020612744868287016126fb565b9250506040612755868287016126fb565b9150509250925092565b5f6040820190506127725f83018561227a565b61277f6020830184612178565b9392505050565b61278f81612145565b8114612799575f80fd5b50565b5f815190506127aa81612786565b92915050565b5f602082840312156127c5576127c4612076565b5b5f6127d28482850161279c565b91505092915050565b7f546f6b656e3a206e6f2045544820696e2074686520636f6e74726163740000005f82015250565b5f61280f601d83611ff0565b915061281a826127db565b602082019050919050565b5f6020820190508181035f83015261283c81612803565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61289d602483611ff0565b91506128a882612843565b604082019050919050565b5f6020820190508181035f8301526128ca81612891565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f61292b602283611ff0565b9150612936826128d1565b604082019050919050565b5f6020820190508181035f8301526129588161291f565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6129b9602583611ff0565b91506129c48261295f565b604082019050919050565b5f6020820190508181035f8301526129e6816129ad565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612a47602383611ff0565b9150612a52826129ed565b604082019050919050565b5f6020820190508181035f830152612a7481612a3b565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612ad5602983611ff0565b9150612ae082612a7b565b604082019050919050565b5f6020820190508181035f830152612b0281612ac9565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612b3d601983611ff0565b9150612b4882612b09565b602082019050919050565b5f6020820190508181035f830152612b6a81612b31565b9050919050565b5f612b7b826120d4565b9150612b86836120d4565b9250828201905080821115612b9e57612b9d6122e0565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612bd8601a83611ff0565b9150612be382612ba4565b602082019050919050565b5f6020820190508181035f830152612c0581612bcc565b9050919050565b5f612c16826120d4565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612c4857612c476122e0565b5b600182019050919050565b5f612c5d826120d4565b9150612c68836120d4565b9250828203905081811115612c8057612c7f6122e0565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612d1281612099565b82525050565b5f612d238383612d09565b60208301905092915050565b5f602082019050919050565b5f612d4582612ce0565b612d4f8185612cea565b9350612d5a83612cfa565b805f5b83811015612d8a578151612d718882612d18565b9750612d7c83612d2f565b925050600181019050612d5d565b5085935050505092915050565b5f60a082019050612daa5f830188612178565b612db7602083018761268d565b8181036040830152612dc98186612d3b565b9050612dd8606083018561227a565b612de56080830184612178565b9695505050505050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612e49602183611ff0565b9150612e5482612def565b604082019050919050565b5f6020820190508181035f830152612e7681612e3d565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612eb1601b83611ff0565b9150612ebc82612e7d565b602082019050919050565b5f6020820190508181035f830152612ede81612ea5565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122006b7067ff936a74166e8fdbc573ac2c3863ec56bad948ddc889ccbfb6136eee064736f6c63430008190033
Verified Source Code Partial Match
Compiler: v0.8.25+commit.b61c2a91
EVM: cancun
Optimization: No
Dogira.sol 326 lines
// SPDX-License-Identifier: MIT
/*
WELCOME BACK LOST CHILDREN OF DOGIRA
memes & games can be found at our website: https://dogira.vercel.app
telegram: https://t.me/dogira_eth
x: https://x.com/Dogira_Reborn
*/
pragma solidity ^0.8.16;
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
}
interface IERC20 {
function totalSupply() external view returns (uint256);
function balanceOf(address account) external view returns (uint256);
function transfer(address recipient, uint256 amount) external returns (bool);
function allowance(address owner, address spender) external view returns (uint256);
function approve(address spender, uint256 amount) external returns (bool);
function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed owner, address indexed spender, uint256 value);
}
library SafeMath {
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
require(c >= a, "SafeMath: addition overflow");
return c;
}
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
return sub(a, b, "SafeMath: subtraction overflow");
}
function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b <= a, errorMessage);
uint256 c = a - b;
return c;
}
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
if (a == 0) {
return 0;
}
uint256 c = a * b;
require(c / a == b, "SafeMath: multiplication overflow");
return c;
}
function div(uint256 a, uint256 b) internal pure returns (uint256) {
return div(a, b, "SafeMath: division by zero");
}
function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b > 0, errorMessage);
uint256 c = a / b;
return c;
}
}
contract Ownable is Context {
address private _owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
constructor () {
address msgSender = _msgSender();
_owner = msgSender;
emit OwnershipTransferred(address(0), msgSender);
}
function owner() public view returns (address) {
return _owner;
}
modifier onlyOwner() {
require(_owner == _msgSender(), "Ownable: caller is not the owner");
_;
}
function renounceOwnership() public virtual onlyOwner {
emit OwnershipTransferred(_owner, address(0));
_owner = address(0);
}
}
interface IUniswapV2Factory {
function createPair(address tokenA, address tokenB) external returns (address pair);
}
interface IUniswapV2Router02 {
function swapExactTokensForETHSupportingFeeOnTransferTokens(
uint amountIn,
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external;
function factory() external pure returns (address);
function WETH() external pure returns (address);
function addLiquidityETH(
address token,
uint amountTokenDesired,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline
) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}
contract Dogira is Context, IERC20, Ownable {
using SafeMath for uint256;
IUniswapV2Router02 private uniswapV2Router;
address private uniswapV2Pair;
address payable private _taxWallet;
mapping (address => uint256) private _balances;
mapping (address => mapping (address => uint256)) private _allowances;
mapping (address => bool) private _isExcludedFromFee;
bool public tradingOpen = false;
bool private inSwap = false;
bool private swapEnabled = false;
uint256 private _initialBuyTax=2;
uint256 private _initialSellTax=20;
uint256 private _finalBuyTax=2;
uint256 private _finalSellTax=2;
uint256 private _reduceBuyTaxAt=30;
uint256 private _reduceSellTaxAt=30;
uint256 private _preventSwapBefore=30;
uint256 private _buyCount=0;
uint8 private constant _decimals = 9;
uint256 private constant _tTotal = 1000000000 * 10**_decimals;
string private constant _name = "Dogira";
string private constant _symbol = "DOGIRA";
uint256 public _maxTxAmount = 20000000 * 10**_decimals;
uint256 public _maxWalletSize = 20000000 * 10**_decimals;
uint256 public _taxSwapThreshold= 5000000 * 10**_decimals;
uint256 public _maxTaxSwap= 5000000 * 10**_decimals;
event MaxTxAmountUpdated(uint _maxTxAmount);
modifier lockTheSwap {
inSwap = true;
_;
inSwap = false;
}
constructor () {
_taxWallet = payable(_msgSender());
_balances[_msgSender()] = _tTotal;
_isExcludedFromFee[owner()] = true;
_isExcludedFromFee[address(this)] = true;
_isExcludedFromFee[_taxWallet] = 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 (from != owner() && to != owner()) {
taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);
if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
_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) {
swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap)));
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 {
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 openTrading() external onlyOwner() {
require(!tradingOpen,"trading is already open");
uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
_approve(address(this), address(uniswapV2Router), _tTotal);
uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
swapEnabled = true;
tradingOpen = true;
}
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 manualSwapToken(uint256 percent) external {
require(_msgSender() == _taxWallet);
uint256 contractBalance = balanceOf(address(this));
uint256 swapAmount = contractBalance * percent / 100;
swapTokensForEth(swapAmount);
}
function withdrawStuckETH() external {
require(address(this).balance > 0, "Token: no ETH in the contract");
require(_msgSender() == _taxWallet);
payable(msg.sender).transfer(address(this).balance);
}
receive() external payable {}
}
Read Contract
_maxTaxSwap 0x0faee56f → uint256
_maxTxAmount 0x7d1db4a5 → uint256
_maxWalletSize 0x8f9a55c0 → uint256
_taxSwapThreshold 0xbf474bed → uint256
allowance 0xdd62ed3e → uint256
balanceOf 0x70a08231 → uint256
decimals 0x313ce567 → uint8
name 0x06fdde03 → string
owner 0x8da5cb5b → address
symbol 0x95d89b41 → string
totalSupply 0x18160ddd → uint256
tradingOpen 0xffb54a99 → bool
Write Contract 9 functions
These functions modify contract state and require a wallet transaction to execute.
approve 0x095ea7b3
address spender
uint256 amount
returns: bool
manualSwap 0x51bc3c85
No parameters
manualSwapToken 0x71f5f01a
uint256 percent
openTrading 0xc9567bf9
No parameters
removeLimits 0x751039fc
No parameters
renounceOwnership 0x715018a6
No parameters
transfer 0xa9059cbb
address recipient
uint256 amount
returns: bool
transferFrom 0x23b872dd
address sender
address recipient
uint256 amount
returns: bool
withdrawStuckETH 0xf5648a4f
No parameters
Recent Transactions
No transactions found for this address