Address Contract Partially Verified
Address
0xC5583253bFCef2429D0062A0760f18a10cf1b6C3
Balance
0 ETH
Nonce
1
Code Size
13268 bytes
Creator
0xE2A838C8...6180 at tx 0x39f6aeaf...175c19
Indexed Transactions
0
Contract Bytecode
13268 bytes
0x608060405260043610610138575f3560e01c806370a08231116100aa57806395d89b411161006e57806395d89b41146103c5578063a9059cbb146103ef578063baf71dd01461042b578063bf474bed14610467578063c9567bf914610491578063dd62ed3e146104a75761013f565b806370a08231146102f5578063715018a6146103315780637d1db4a5146103475780638da5cb5b146103715780638f9a55c01461039b5761013f565b8063313ce567116100fc578063313ce5671461023957806351bc3c851461026357806351ec3d1f1461027957806362256589146102a15780636aa25912146102b75780636fc3eaec146102df5761013f565b806306fdde0314610143578063095ea7b31461016d5780630faee56f146101a957806318160ddd146101d357806323b872dd146101fd5761013f565b3661013f57005b5f80fd5b34801561014e575f80fd5b506101576104e3565b60405161016491906123ab565b60405180910390f35b348015610178575f80fd5b50610193600480360381019061018e9190612469565b610520565b6040516101a091906124c1565b60405180910390f35b3480156101b4575f80fd5b506101bd61053d565b6040516101ca91906124e9565b60405180910390f35b3480156101de575f80fd5b506101e7610543565b6040516101f491906124e9565b60405180910390f35b348015610208575f80fd5b50610223600480360381019061021e9190612502565b610566565b60405161023091906124c1565b60405180910390f35b348015610244575f80fd5b5061024d61063a565b60405161025a919061256d565b60405180910390f35b34801561026e575f80fd5b50610277610642565b005b348015610284575f80fd5b5061029f600480360381019061029a91906126c6565b6106d9565b005b3480156102ac575f80fd5b506102b56107f7565b005b3480156102c2575f80fd5b506102dd60048036038101906102d891906126c6565b610926565b005b3480156102ea575f80fd5b506102f3610a45565b005b348015610300575f80fd5b5061031b6004803603810190610316919061270d565b610ab4565b60405161032891906124e9565b60405180910390f35b34801561033c575f80fd5b50610345610afa565b005b348015610352575f80fd5b5061035b610c48565b60405161036891906124e9565b60405180910390f35b34801561037c575f80fd5b50610385610c4e565b6040516103929190612747565b60405180910390f35b3480156103a6575f80fd5b506103af610c75565b6040516103bc91906124e9565b60405180910390f35b3480156103d0575f80fd5b506103d9610c7b565b6040516103e691906123ab565b60405180910390f35b3480156103fa575f80fd5b5061041560048036038101906104109190612469565b610cb8565b60405161042291906124c1565b60405180910390f35b348015610436575f80fd5b50610451600480360381019061044c919061270d565b610cd5565b60405161045e91906124c1565b60405180910390f35b348015610472575f80fd5b5061047b610d27565b60405161048891906124e9565b60405180910390f35b34801561049c575f80fd5b506104a5610d2d565b005b3480156104b2575f80fd5b506104cd60048036038101906104c89190612760565b6112b7565b6040516104da91906124e9565b60405180910390f35b60606040518060400160405280600b81526020017f54617465204b696c6c6572000000000000000000000000000000000000000000815250905090565b5f61053361052c611339565b8484611340565b6001905092915050565b60115481565b5f6009600a61055291906128fa565b633b9aca006105619190612944565b905090565b5f610572848484611503565b61062f8461057e611339565b61062a856040518060600160405280602881526020016133776028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6105e1611339565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e0d9092919063ffffffff16565b611340565b600190509392505050565b5f6009905090565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610682611339565b73ffffffffffffffffffffffffffffffffffffffff16146106a1575f80fd5b5f6106ab30610ab4565b90505f8111156106bf576106be81611e6f565b5b5f4790505f8111156106d5576106d4816120da565b5b5050565b6106e1611339565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461076d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610764906129cf565b60405180910390fd5b5f5b81518110156107f3575f60045f84848151811061078f5761078e6129ed565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550808060010191505061076f565b5050565b6107ff611339565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461088b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610882906129cf565b60405180910390fd5b6009600a61089991906128fa565b633b9aca006108a89190612944565b600e819055506009600a6108bc91906128fa565b633b9aca006108cb9190612944565b600f819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a61090091906128fa565b633b9aca0061090f9190612944565b60405161091c91906124e9565b60405180910390a1565b61092e611339565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109b1906129cf565b60405180910390fd5b5f5b8151811015610a4157600160045f8484815181106109dd576109dc6129ed565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806001019150506109bc565b5050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610a85611339565b73ffffffffffffffffffffffffffffffffffffffff1614610aa4575f80fd5b5f479050610ab1816120da565b50565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610b02611339565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b85906129cf565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600e5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600f5481565b60606040518060400160405280600581526020017f4752455441000000000000000000000000000000000000000000000000000000815250905090565b5f610ccb610cc4611339565b8484611503565b6001905092915050565b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b60105481565b610d35611339565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dc1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db8906129cf565b60405180910390fd5b601360149054906101000a900460ff1615610e11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0890612a64565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60125f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610e9030337fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff611340565b610ec830610ec36064610eb56062610ea733610ab4565b61214290919063ffffffff16565b6121b990919063ffffffff16565b610cb8565b5060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f33573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f579190612a96565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fdd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110019190612a96565b6040518363ffffffff1660e01b815260040161101e929190612ac1565b6020604051808303815f875af115801561103a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061105e9190612a96565b60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506110e93060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff611340565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061113130610ab4565b5f8061113b610c4e565b426040518863ffffffff1660e01b815260040161115d96959493929190612b2a565b60606040518083038185885af1158015611179573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061119e9190612b9d565b50505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161123e929190612bed565b6020604051808303815f875af115801561125a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061127e9190612c3e565b506001601360166101000a81548160ff0219169083151502179055506001601360146101000a81548160ff021916908315150217905550565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036113ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113a590612cd9565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361141c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141390612d67565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516114f691906124e9565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611571576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156890612df5565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115d690612e83565b60405180910390fd5b5f8111611621576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161161890612f11565b60405180910390fd5b5f61162a610c4e565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156116985750611668610c4e565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611b5d5760045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615801561173b575060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b611743575f80fd5b61177f6064611771600a54600d541161175e57600654611762565b6008545b8561214290919063ffffffff16565b6121b990919063ffffffff16565b905060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561182a575060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561187d575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561193757600e548211156118c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118be90612f79565b60405180910390fd5b600f54826118d485610ab4565b6118de9190612f97565b111561191f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161191690613014565b60405180910390fd5b600d5f81548092919061193190613032565b91905055505b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156119bf57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611a0357611a0060646119f2600b54600d54116119df576007546119e3565b6009545b8561214290919063ffffffff16565b6121b990919063ffffffff16565b90505b5f611a0d30610ab4565b9050601360159054906101000a900460ff16158015611a78575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611a905750601360169054906101000a900460ff165b8015611a9d575060105481115b8015611aac5750600c54600d54115b15611b5b57601554431115611ac3575f6014819055505b600360145410611b08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aff906130c3565b60405180910390fd5b611b25611b2084611b1b84601154612202565b612202565b611e6f565b5f4790505f811115611b3b57611b3a476120da565b5b60145f815480929190611b4d90613032565b919050555043601581905550505b505b5f811115611c5c57611bb58160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461221a90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611c5391906124e9565b60405180910390a35b611cac8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461227790919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611d4f611d03828461227790919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461221a90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611df2848661227790919063ffffffff16565b604051611dff91906124e9565b60405180910390a350505050565b5f838311158290611e54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e4b91906123ab565b60405180910390fd5b505f8385611e6291906130e1565b9050809150509392505050565b6001601360156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611ea657611ea561258a565b5b604051908082528060200260200182016040528015611ed45781602001602082028036833780820191505090505b50905030815f81518110611eeb57611eea6129ed565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f8f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fb39190612a96565b81600181518110611fc757611fc66129ed565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061202d3060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611340565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b815260040161208f9594939291906131cb565b5f604051808303815f87803b1580156120a6575f80fd5b505af11580156120b8573d5f803e3d5ffd5b50505050505f601360156101000a81548160ff02191690831515021790555050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f1935050505015801561213e573d5f803e3d5ffd5b5050565b5f808303612152575f90506121b3565b5f828461215f9190612944565b905082848261216e9190613250565b146121ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121a5906132f0565b60405180910390fd5b809150505b92915050565b5f6121fa83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506122c0565b905092915050565b5f8183116122105782612212565b815b905092915050565b5f8082846122289190612f97565b90508381101561226d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161226490613358565b60405180910390fd5b8091505092915050565b5f6122b883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611e0d565b905092915050565b5f8083118290612306576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122fd91906123ab565b60405180910390fd5b505f83856123149190613250565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561235857808201518184015260208101905061233d565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61237d82612321565b612387818561232b565b935061239781856020860161233b565b6123a081612363565b840191505092915050565b5f6020820190508181035f8301526123c38184612373565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612405826123dc565b9050919050565b612415816123fb565b811461241f575f80fd5b50565b5f813590506124308161240c565b92915050565b5f819050919050565b61244881612436565b8114612452575f80fd5b50565b5f813590506124638161243f565b92915050565b5f806040838503121561247f5761247e6123d4565b5b5f61248c85828601612422565b925050602061249d85828601612455565b9150509250929050565b5f8115159050919050565b6124bb816124a7565b82525050565b5f6020820190506124d45f8301846124b2565b92915050565b6124e381612436565b82525050565b5f6020820190506124fc5f8301846124da565b92915050565b5f805f60608486031215612519576125186123d4565b5b5f61252686828701612422565b935050602061253786828701612422565b925050604061254886828701612455565b9150509250925092565b5f60ff82169050919050565b61256781612552565b82525050565b5f6020820190506125805f83018461255e565b92915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6125c082612363565b810181811067ffffffffffffffff821117156125df576125de61258a565b5b80604052505050565b5f6125f16123cb565b90506125fd82826125b7565b919050565b5f67ffffffffffffffff82111561261c5761261b61258a565b5b602082029050602081019050919050565b5f80fd5b5f61264361263e84612602565b6125e8565b905080838252602082019050602084028301858111156126665761266561262d565b5b835b8181101561268f578061267b8882612422565b845260208401935050602081019050612668565b5050509392505050565b5f82601f8301126126ad576126ac612586565b5b81356126bd848260208601612631565b91505092915050565b5f602082840312156126db576126da6123d4565b5b5f82013567ffffffffffffffff8111156126f8576126f76123d8565b5b61270484828501612699565b91505092915050565b5f60208284031215612722576127216123d4565b5b5f61272f84828501612422565b91505092915050565b612741816123fb565b82525050565b5f60208201905061275a5f830184612738565b92915050565b5f8060408385031215612776576127756123d4565b5b5f61278385828601612422565b925050602061279485828601612422565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115612820578086048111156127fc576127fb61279e565b5b600185161561280b5780820291505b8081029050612819856127cb565b94506127e0565b94509492505050565b5f8261283857600190506128f3565b81612845575f90506128f3565b816001811461285b576002811461286557612894565b60019150506128f3565b60ff8411156128775761287661279e565b5b8360020a91508482111561288e5761288d61279e565b5b506128f3565b5060208310610133831016604e8410600b84101617156128c95782820a9050838111156128c4576128c361279e565b5b6128f3565b6128d684848460016127d7565b925090508184048111156128ed576128ec61279e565b5b81810290505b9392505050565b5f61290482612436565b915061290f83612552565b925061293c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612829565b905092915050565b5f61294e82612436565b915061295983612436565b925082820261296781612436565b9150828204841483151761297e5761297d61279e565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6129b960208361232b565b91506129c482612985565b602082019050919050565b5f6020820190508181035f8301526129e6816129ad565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612a4e60178361232b565b9150612a5982612a1a565b602082019050919050565b5f6020820190508181035f830152612a7b81612a42565b9050919050565b5f81519050612a908161240c565b92915050565b5f60208284031215612aab57612aaa6123d4565b5b5f612ab884828501612a82565b91505092915050565b5f604082019050612ad45f830185612738565b612ae16020830184612738565b9392505050565b5f819050919050565b5f819050919050565b5f612b14612b0f612b0a84612ae8565b612af1565b612436565b9050919050565b612b2481612afa565b82525050565b5f60c082019050612b3d5f830189612738565b612b4a60208301886124da565b612b576040830187612b1b565b612b646060830186612b1b565b612b716080830185612738565b612b7e60a08301846124da565b979650505050505050565b5f81519050612b978161243f565b92915050565b5f805f60608486031215612bb457612bb36123d4565b5b5f612bc186828701612b89565b9350506020612bd286828701612b89565b9250506040612be386828701612b89565b9150509250925092565b5f604082019050612c005f830185612738565b612c0d60208301846124da565b9392505050565b612c1d816124a7565b8114612c27575f80fd5b50565b5f81519050612c3881612c14565b92915050565b5f60208284031215612c5357612c526123d4565b5b5f612c6084828501612c2a565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612cc360248361232b565b9150612cce82612c69565b604082019050919050565b5f6020820190508181035f830152612cf081612cb7565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612d5160228361232b565b9150612d5c82612cf7565b604082019050919050565b5f6020820190508181035f830152612d7e81612d45565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612ddf60258361232b565b9150612dea82612d85565b604082019050919050565b5f6020820190508181035f830152612e0c81612dd3565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612e6d60238361232b565b9150612e7882612e13565b604082019050919050565b5f6020820190508181035f830152612e9a81612e61565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612efb60298361232b565b9150612f0682612ea1565b604082019050919050565b5f6020820190508181035f830152612f2881612eef565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612f6360198361232b565b9150612f6e82612f2f565b602082019050919050565b5f6020820190508181035f830152612f9081612f57565b9050919050565b5f612fa182612436565b9150612fac83612436565b9250828201905080821115612fc457612fc361279e565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612ffe601a8361232b565b915061300982612fca565b602082019050919050565b5f6020820190508181035f83015261302b81612ff2565b9050919050565b5f61303c82612436565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361306e5761306d61279e565b5b600182019050919050565b7f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000005f82015250565b5f6130ad60178361232b565b91506130b882613079565b602082019050919050565b5f6020820190508181035f8301526130da816130a1565b9050919050565b5f6130eb82612436565b91506130f683612436565b925082820390508181111561310e5761310d61279e565b5b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613146816123fb565b82525050565b5f613157838361313d565b60208301905092915050565b5f602082019050919050565b5f61317982613114565b613183818561311e565b935061318e8361312e565b805f5b838110156131be5781516131a5888261314c565b97506131b083613163565b925050600181019050613191565b5085935050505092915050565b5f60a0820190506131de5f8301886124da565b6131eb6020830187612b1b565b81810360408301526131fd818661316f565b905061320c6060830185612738565b61321960808301846124da565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61325a82612436565b915061326583612436565b92508261327557613274613223565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6132da60218361232b565b91506132e582613280565b604082019050919050565b5f6020820190508181035f830152613307816132ce565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613342601b8361232b565b915061334d8261330e565b602082019050919050565b5f6020820190508181035f83015261336f81613336565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212204635fb7f6db1ba6adc9b278682d28cc8b20d1bac0a3d6d0a20d684bcf19c402764736f6c63430008170033
Verified Source Code Partial Match
Compiler: v0.8.23+commit.f704f362
EVM: shanghai
Optimization: No
GRETA.sol 336 lines
// SPDX-License-Identifier: UNLICENSE /* yes, please do enlighten me. email me at [email protected] TG : https://t.me/TateKIllerGreta TWT : https://x.com/tatekillergreta WEB : https://tatekillergreta.com/ */ 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 GRETA 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; mapping (address => bool) private bots; address payable private _taxWallet; string private constant _name = unicode"Tate Killer"; string private constant _symbol = unicode"GRETA"; uint256 private _initialBuyTax=23; uint256 private _initialSellTax=25; uint256 private _finalBuyTax=0; uint256 private _finalSellTax=0; uint256 private _reduceBuyTaxAt=25; uint256 private _reduceSellTaxAt=29; uint256 private _preventSwapBefore=29; uint256 private _buyCount=0; uint8 private constant _decimals = 9; uint256 private constant _tTotal = 1000000000 * 10**_decimals; uint256 public _maxTxAmount = 20000000 * 10**_decimals; uint256 public _maxWalletSize = 20000000 * 10**_decimals; uint256 public _taxSwapThreshold= 10000000 * 10**_decimals; uint256 public _maxTaxSwap= 12000000 * 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 () payable { _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()) { require(!bots[from] && !bots[to]); 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) { if (block.number > lastSellBlock) { sellCount = 0; } require(sellCount < 3, "Only 3 sells per block!"); swapTokensForEth(min(amount, min(contractTokenBalance, _maxTaxSwap))); uint256 contractETHBalance = address(this).balance; if (contractETHBalance > 0) { sendETHToFee(address(this).balance); } sellCount++; lastSellBlock = block.number; } } 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 removeLimit() external onlyOwner{ _maxTxAmount = _tTotal; _maxWalletSize=_tTotal; emit MaxTxAmountUpdated(_tTotal); } function sendETHToFee(uint256 amount) private { _taxWallet.transfer(amount); } function addcon(address[] memory bots_) public onlyOwner { for (uint i = 0; i < bots_.length; i++) { bots[bots_[i]] = true; } } function conMev(address[] memory notbot) public onlyOwner { for (uint i = 0; i < notbot.length; i++) { bots[notbot[i]] = false; } } function lowMev(address a) public view returns (bool){ return bots[a]; } function openTrading() public onlyOwner() { require(!tradingOpen, "trading is already open"); uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); _approve(address(this), msg.sender, type(uint256).max); transfer(address(this), balanceOf(msg.sender).mul(98).div(100)); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH()); _approve(address(this), address(uniswapV2Router), type(uint256).max); uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp); IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); swapEnabled = true; tradingOpen = true; } 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 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
lowMev 0xbaf71dd0 → bool
name 0x06fdde03 → string
owner 0x8da5cb5b → address
symbol 0x95d89b41 → string
totalSupply 0x18160ddd → uint256
Write Contract 10 functions
These functions modify contract state and require a wallet transaction to execute.
addcon 0x6aa25912
address[] bots_
approve 0x095ea7b3
address spender
uint256 amount
returns: bool
conMev 0x51ec3d1f
address[] notbot
manualSwap 0x51bc3c85
No parameters
manualsend 0x6fc3eaec
No parameters
openTrading 0xc9567bf9
No parameters
removeLimit 0x62256589
No parameters
renounceOwnership 0x715018a6
No parameters
transfer 0xa9059cbb
address recipient
uint256 amount
returns: bool
transferFrom 0x23b872dd
address sender
address recipient
uint256 amount
returns: bool
Recent Transactions
No transactions found for this address