Address Contract Partially Verified
Address
0x5a3e6A77ba2f983eC0d371ea3B475F8Bc0811AD5
Balance
0 ETH
Nonce
1
Code Size
13271 bytes
Creator
0x0000BA9F...c4Bb at tx 0x3f1bb322...1f2256
Indexed Transactions
1 (24,440,504 โ 24,440,504)
Gas Used (indexed)
63,606
Contract Bytecode
13271 bytes
0x6080604052600436106101395760003560e01c8063751039fc116100ab57806395d89b411161006f57806395d89b41146103c5578063a9059cbb146103f0578063d34628cc1461042d578063dd62ed3e14610456578063ec1f3f6314610493578063f4293890146104bc57610140565b8063751039fc146103165780637d1db4a51461032d5780638a8c523c146103585780638da5cb5b1461036f5780638f9a55c01461039a57610140565b806331c2d847116100fd57806331c2d8471461024057806334376f3b14610269578063503dfc4d1461029457806351bc3c85146102ab57806370a08231146102c2578063715018a6146102ff57610140565b806306fdde0314610145578063095ea7b31461017057806318160ddd146101ad57806323b872dd146101d8578063313ce5671461021557610140565b3661014057005b600080fd5b34801561015157600080fd5b5061015a6104d3565b6040516101679190612346565b60405180910390f35b34801561017c57600080fd5b5061019760048036038101906101929190612410565b6104f3565b6040516101a4919061246b565b60405180910390f35b3480156101b957600080fd5b506101c2610511565b6040516101cf9190612495565b60405180910390f35b3480156101e457600080fd5b506101ff60048036038101906101fa91906124b0565b610535565b60405161020c919061246b565b60405180910390f35b34801561022157600080fd5b5061022a61060e565b604051610237919061251f565b60405180910390f35b34801561024c57600080fd5b5061026760048036038101906102629190612682565b610617565b005b34801561027557600080fd5b5061027e610741565b60405161028b9190612495565b60405180910390f35b3480156102a057600080fd5b506102a9610747565b005b3480156102b757600080fd5b506102c0610831565b005b3480156102ce57600080fd5b506102e960048036038101906102e491906126cb565b6108a5565b6040516102f69190612495565b60405180910390f35b34801561030b57600080fd5b506103146108ee565b005b34801561032257600080fd5b5061032b610a41565b005b34801561033957600080fd5b50610342610b71565b60405161034f9190612495565b60405180910390f35b34801561036457600080fd5b5061036d610b77565b005b34801561037b57600080fd5b506103846110af565b6040516103919190612707565b60405180910390f35b3480156103a657600080fd5b506103af6110d8565b6040516103bc9190612495565b60405180910390f35b3480156103d157600080fd5b506103da6110de565b6040516103e79190612346565b60405180910390f35b3480156103fc57600080fd5b5061041760048036038101906104129190612410565b61111b565b604051610424919061246b565b60405180910390f35b34801561043957600080fd5b50610454600480360381019061044f9190612682565b611139565b005b34801561046257600080fd5b5061047d60048036038101906104789190612722565b611263565b60405161048a9190612495565b60405180910390f35b34801561049f57600080fd5b506104ba60048036038101906104b59190612762565b6112ea565b005b3480156104c857600080fd5b506104d1611362565b005b606060405180606001604052806021815260200161335960219139905090565b60006105076105006113ce565b84846113d6565b6001905092915050565b60006009600a61052191906128f1565b633b9aca00610530919061293c565b905090565b600061054284848461159f565b6106038461054e6113ce565b6105fe8560405180606001604052806028815260200161337a60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006105b46113ce565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d9e9092919063ffffffff16565b6113d6565b600190509392505050565b60006009905090565b61061f6113ce565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106a3906129ca565b60405180910390fd5b60005b815181101561073d576000600460008484815181106106d1576106d06129ea565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061073590612a19565b9150506106af565b5050565b600d5481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166107886113ce565b73ffffffffffffffffffffffffffffffffffffffff16146107a857600080fd5b3073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb336107ce306108a5565b6040518363ffffffff1660e01b81526004016107eb929190612a61565b6020604051808303816000875af115801561080a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061082e9190612ab6565b50565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108726113ce565b73ffffffffffffffffffffffffffffffffffffffff161461089257600080fd5b6108a361089e306108a5565b611e02565b565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6108f66113ce565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610983576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097a906129ca565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610a496113ce565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ad6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610acd906129ca565b60405180910390fd5b6009600a610ae491906128f1565b633b9aca00610af3919061293c565b600b819055506009600a610b0791906128f1565b633b9aca00610b16919061293c565b600c819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610b4b91906128f1565b633b9aca00610b5a919061293c565b604051610b679190612495565b60405180910390a1565b600b5481565b610b7f6113ce565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c03906129ca565b60405180910390fd5b600f60149054906101000a900460ff1615610c5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5390612b2f565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610cfa30600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610ce691906128f1565b633b9aca00610cf5919061293c565b6113d6565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d67573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d8b9190612b64565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e389190612b64565b6040518363ffffffff1660e01b8152600401610e55929190612b91565b6020604051808303816000875af1158015610e74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e989190612b64565b600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610f21306108a5565b600080610f2c6110af565b426040518863ffffffff1660e01b8152600401610f4e96959493929190612bff565b60606040518083038185885af1158015610f6c573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610f919190612c75565b5050506001600f60166101000a81548160ff0219169083151502179055506001600f60146101000a81548160ff021916908315150217905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611069929190612a61565b6020604051808303816000875af1158015611088573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ac9190612ab6565b50565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600c5481565b60606040518060400160405280600381526020017f3078300000000000000000000000000000000000000000000000000000000000815250905090565b600061112f6111286113ce565b848461159f565b6001905092915050565b6111416113ce565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c5906129ca565b60405180910390fd5b60005b815181101561125f576001600460008484815181106111f3576111f26129ea565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061125790612a19565b9150506111d1565b5050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661132b6113ce565b73ffffffffffffffffffffffffffffffffffffffff161461134b57600080fd5b6006811061135857600080fd5b8060078190555050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166113a36113ce565b73ffffffffffffffffffffffffffffffffffffffff16146113c357600080fd5b6113cc4761207b565b565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611445576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143c90612d3a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036114b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ab90612dcc565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516115929190612495565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361160e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160590612e5e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361167d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167490612ef0565b60405180910390fd5b600081116116c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116b790612f82565b60405180910390fd5b60006116ca6110af565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561173857506117086110af565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611ae157600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156117e15750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6117ea57600080fd5b600f60159054906101000a900460ff1661183d5761183a606461182c600854600a54116118195760065461181d565b6007545b856120e790919063ffffffff16565b61216190919063ffffffff16565b90505b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156118e85750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561193e5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156119f957600b54821115611988576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161197f90612fee565b60405180910390fd5b600c5482611995856108a5565b61199f919061300e565b11156119e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119d79061308e565b60405180910390fd5b600a60008154809291906119f390612a19565b91905055505b6000611a04306108a5565b9050600f60159054906101000a900460ff16158015611a715750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611a895750600f60169054906101000a900460ff165b8015611a965750600d5481115b8015611aa55750600954600a54115b15611adf57611ac583600d5411611abe57600d54611ac0565b835b611e02565b60004790506000811115611add57611adc4761207b565b5b505b505b611b3382600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121ab90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611bda611b8c82846121ab90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121f590919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611c7f84866121ab90919063ffffffff16565b604051611c8c9190612495565b60405180910390a36000811115611d9857611cef81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121f590919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611d8f9190612495565b60405180910390a35b50505050565b6000838311158290611de6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ddd9190612346565b60405180910390fd5b5060008385611df591906130ae565b9050809150509392505050565b6001600f60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611e3a57611e3961253f565b5b604051908082528060200260200182016040528015611e685781602001602082028036833780820191505090505b5090503081600081518110611e8057611e7f6129ea565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f4b9190612b64565b81600181518110611f5f57611f5e6129ea565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611fc630600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846113d6565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161202a9594939291906131a0565b600060405180830381600087803b15801561204457600080fd5b505af1158015612058573d6000803e3d6000fd5b50505050506000600f60156101000a81548160ff02191690831515021790555050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156120e3573d6000803e3d6000fd5b5050565b60008083036120f9576000905061215b565b60008284612107919061293c565b90508284826121169190613229565b14612156576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161214d906132cc565b60405180910390fd5b809150505b92915050565b60006121a383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612253565b905092915050565b60006121ed83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611d9e565b905092915050565b6000808284612204919061300e565b905083811015612249576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161224090613338565b60405180910390fd5b8091505092915050565b6000808311829061229a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122919190612346565b60405180910390fd5b50600083856122a99190613229565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156122f05780820151818401526020810190506122d5565b60008484015250505050565b6000601f19601f8301169050919050565b6000612318826122b6565b61232281856122c1565b93506123328185602086016122d2565b61233b816122fc565b840191505092915050565b60006020820190508181036000830152612360818461230d565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006123a78261237c565b9050919050565b6123b78161239c565b81146123c257600080fd5b50565b6000813590506123d4816123ae565b92915050565b6000819050919050565b6123ed816123da565b81146123f857600080fd5b50565b60008135905061240a816123e4565b92915050565b6000806040838503121561242757612426612372565b5b6000612435858286016123c5565b9250506020612446858286016123fb565b9150509250929050565b60008115159050919050565b61246581612450565b82525050565b6000602082019050612480600083018461245c565b92915050565b61248f816123da565b82525050565b60006020820190506124aa6000830184612486565b92915050565b6000806000606084860312156124c9576124c8612372565b5b60006124d7868287016123c5565b93505060206124e8868287016123c5565b92505060406124f9868287016123fb565b9150509250925092565b600060ff82169050919050565b61251981612503565b82525050565b60006020820190506125346000830184612510565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612577826122fc565b810181811067ffffffffffffffff821117156125965761259561253f565b5b80604052505050565b60006125a9612368565b90506125b5828261256e565b919050565b600067ffffffffffffffff8211156125d5576125d461253f565b5b602082029050602081019050919050565b600080fd5b60006125fe6125f9846125ba565b61259f565b90508083825260208201905060208402830185811115612621576126206125e6565b5b835b8181101561264a578061263688826123c5565b845260208401935050602081019050612623565b5050509392505050565b600082601f8301126126695761266861253a565b5b81356126798482602086016125eb565b91505092915050565b60006020828403121561269857612697612372565b5b600082013567ffffffffffffffff8111156126b6576126b5612377565b5b6126c284828501612654565b91505092915050565b6000602082840312156126e1576126e0612372565b5b60006126ef848285016123c5565b91505092915050565b6127018161239c565b82525050565b600060208201905061271c60008301846126f8565b92915050565b6000806040838503121561273957612738612372565b5b6000612747858286016123c5565b9250506020612758858286016123c5565b9150509250929050565b60006020828403121561277857612777612372565b5b6000612786848285016123fb565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115612815578086048111156127f1576127f061278f565b5b60018516156128005780820291505b808102905061280e856127be565b94506127d5565b94509492505050565b60008261282e57600190506128ea565b8161283c57600090506128ea565b8160018114612852576002811461285c5761288b565b60019150506128ea565b60ff84111561286e5761286d61278f565b5b8360020a9150848211156128855761288461278f565b5b506128ea565b5060208310610133831016604e8410600b84101617156128c05782820a9050838111156128bb576128ba61278f565b5b6128ea565b6128cd84848460016127cb565b925090508184048111156128e4576128e361278f565b5b81810290505b9392505050565b60006128fc826123da565b915061290783612503565b92506129347fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461281e565b905092915050565b6000612947826123da565b9150612952836123da565b9250828202612960816123da565b915082820484148315176129775761297661278f565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006129b46020836122c1565b91506129bf8261297e565b602082019050919050565b600060208201905081810360008301526129e3816129a7565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000612a24826123da565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612a5657612a5561278f565b5b600182019050919050565b6000604082019050612a7660008301856126f8565b612a836020830184612486565b9392505050565b612a9381612450565b8114612a9e57600080fd5b50565b600081519050612ab081612a8a565b92915050565b600060208284031215612acc57612acb612372565b5b6000612ada84828501612aa1565b91505092915050565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612b196017836122c1565b9150612b2482612ae3565b602082019050919050565b60006020820190508181036000830152612b4881612b0c565b9050919050565b600081519050612b5e816123ae565b92915050565b600060208284031215612b7a57612b79612372565b5b6000612b8884828501612b4f565b91505092915050565b6000604082019050612ba660008301856126f8565b612bb360208301846126f8565b9392505050565b6000819050919050565b6000819050919050565b6000612be9612be4612bdf84612bba565b612bc4565b6123da565b9050919050565b612bf981612bce565b82525050565b600060c082019050612c1460008301896126f8565b612c216020830188612486565b612c2e6040830187612bf0565b612c3b6060830186612bf0565b612c4860808301856126f8565b612c5560a0830184612486565b979650505050505050565b600081519050612c6f816123e4565b92915050565b600080600060608486031215612c8e57612c8d612372565b5b6000612c9c86828701612c60565b9350506020612cad86828701612c60565b9250506040612cbe86828701612c60565b9150509250925092565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612d246024836122c1565b9150612d2f82612cc8565b604082019050919050565b60006020820190508181036000830152612d5381612d17565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612db66022836122c1565b9150612dc182612d5a565b604082019050919050565b60006020820190508181036000830152612de581612da9565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612e486025836122c1565b9150612e5382612dec565b604082019050919050565b60006020820190508181036000830152612e7781612e3b565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612eda6023836122c1565b9150612ee582612e7e565b604082019050919050565b60006020820190508181036000830152612f0981612ecd565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612f6c6029836122c1565b9150612f7782612f10565b604082019050919050565b60006020820190508181036000830152612f9b81612f5f565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b6000612fd86019836122c1565b9150612fe382612fa2565b602082019050919050565b6000602082019050818103600083015261300781612fcb565b9050919050565b6000613019826123da565b9150613024836123da565b925082820190508082111561303c5761303b61278f565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b6000613078601a836122c1565b915061308382613042565b602082019050919050565b600060208201905081810360008301526130a78161306b565b9050919050565b60006130b9826123da565b91506130c4836123da565b92508282039050818111156130dc576130db61278f565b5b92915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6131178161239c565b82525050565b6000613129838361310e565b60208301905092915050565b6000602082019050919050565b600061314d826130e2565b61315781856130ed565b9350613162836130fe565b8060005b8381101561319357815161317a888261311d565b975061318583613135565b925050600181019050613166565b5085935050505092915050565b600060a0820190506131b56000830188612486565b6131c26020830187612bf0565b81810360408301526131d48186613142565b90506131e360608301856126f8565b6131f06080830184612486565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613234826123da565b915061323f836123da565b92508261324f5761324e6131fa565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006132b66021836122c1565b91506132c18261325a565b604082019050919050565b600060208201905081810360008301526132e5816132a9565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613322601b836122c1565b915061332d826132ec565b602082019050919050565b6000602082019050818103600083015261335181613315565b905091905056fe3078302e61693a20414920536d61727420436f6e74726163742041756469746f7245524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122045632bcaceac7875ef2881f22d45cd3e436b1eef8fab68eb74339bf535c098dc64736f6c63430008110033
Verified Source Code Partial Match
Compiler: v0.8.17+commit.8df45f5f
EVM: london
Optimization: No
OxO.sol 338 lines
/**
(((((((( .(((("/((( (((((, .((((/ /((((((( *((((((((
,/((((((((( .(((("//(((/* (((((((, (((((((/ ./((((((((( /((((((((((*
(((((( ((((** ((((((. *(((((( .((((( /((((
(((/(( (((((* .##### ,##(( ,(/((( ./"/"/
(((((( (((((/ *#####(( .((((/ .////(
(((((( (((((* ,((####( .((((( ./((/(
(((((( (((((* ,((((###/ ./(((( .((((/
(((((( (((/(* "//(((((/(#(/ .(###( .((((/
*((((( (((((/ *####...*"/### .(#### ./((((
(((((/ ###((/ (####. (###( ,((#(( (((#(
"/((######( ((#######/*, (((##( . . *#(((( .,(((((((#( ,((##((((((*
(######( (#######( (#(#(* .((((( ((((((## *(#((##((*
๐ฐ๐ ๐ฐ๐ธ-๐๐๐ ๐๐๐๐ ๐๐๐๐๐๐๐๐ข ๐๐๐๐๐ ๐ฒ๐๐๐๐๐๐๐ ๐ฐ๐๐๐๐๐๐ ๐๐๐๐ ๐๐๐๐ ๐ฐ๐ธ ๐๐ ๐๐๐๐๐ข๐ฃ๐ ๐๐๐ ๐๐๐๐๐ ๐๐๐๐๐
๐๐๐๐๐๐๐๐ ๐๐๐๐, ๐๐๐๐๐ ๐๐๐๐๐๐ ๐๐๐ ๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐, ๐๐๐ ๐๐๐๐๐๐๐๐ ๐๐๐๐๐๐๐๐ ๐๐๐๐๐๐๐ ๐๐๐
๐๐๐๐๐๐ ๐๐๐ ๐๐๐๐๐-๐๐๐๐ ๐๐๐๐๐ ๐๐๐๐๐๐๐๐๐.
> https://0x0.ai
> https://t.me/Portal0x0
> https://twitter.com/0x0audits
> https://medium.com/@privacy0x0
*/
// SPDX-License-Identifier: MIT
pragma solidity 0.8.17;
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 OxO 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;
uint256 private _initialTax=25;
uint256 private _finalTax=15;
uint256 private _reduceTaxAt=60;
uint256 private _preventSwapBefore=30;
uint256 private _buyCount=0;
uint8 private constant _decimals = 9;
uint256 private constant _tTotal = 1000000000 * 10**_decimals;
string private constant _name = unicode"0x0.ai: AI Smart Contract Auditor";
string private constant _symbol = unicode"0x0";
uint256 public _maxTxAmount = 20000000 * 10**_decimals;
uint256 public _maxWalletSize = 20000000 * 10**_decimals;
uint256 public _taxSwap = 10000000 * 10**_decimals;
IUniswapV2Router02 private uniswapV2Router;
address private uniswapV2Pair;
bool private tradingOpen;
bool private inSwap = false;
bool private swapEnabled = false;
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()) {
require(!bots[from] && !bots[to]);
if(!inSwap){
taxAmount = amount.mul((_buyCount>_reduceTaxAt)?_finalTax:_initialTax).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++;
}
uint256 contractTokenBalance = balanceOf(address(this));
if (!inSwap && from != uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwap && _buyCount>_preventSwapBefore) {
swapTokensForEth(_taxSwap>amount?amount:_taxSwap);
uint256 contractETHBalance = address(this).balance;
if(contractETHBalance > 0) {
sendETHToFee(address(this).balance);
}
}
}
_balances[from]=_balances[from].sub(amount);
_balances[to]=_balances[to].add(amount.sub(taxAmount));
emit Transfer(from, to, amount.sub(taxAmount));
if(taxAmount>0){
_balances[address(this)]=_balances[address(this)].add(taxAmount);
emit Transfer(from, address(this),taxAmount);
}
}
function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
address[] memory path = new address[](2);
path[0] = address(this);
path[1] = uniswapV2Router.WETH();
_approve(address(this), address(uniswapV2Router), tokenAmount);
uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
tokenAmount,
0,
path,
address(this),
block.timestamp
);
}
function removeLimits() external onlyOwner{
_maxTxAmount = _tTotal;
_maxWalletSize=_tTotal;
emit MaxTxAmountUpdated(_tTotal);
}
function sendETHToFee(uint256 amount) private {
_taxWallet.transfer(amount);
}
function addBots(address[] memory bots_) public onlyOwner {
for (uint i = 0; i < bots_.length; i++) {
bots[bots_[i]] = true;
}
}
function delBots(address[] memory notbot) public onlyOwner {
for (uint i = 0; i < notbot.length; i++) {
bots[notbot[i]] = false;
}
}
function enableTrading() 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);
swapEnabled = true;
tradingOpen = true;
IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
}
function reduceFee(uint256 _newFee) external{
require(_msgSender()==_taxWallet);
require(_newFee<6);
_finalTax=_newFee;
}
receive() external payable {}
function manualSwap() external {
require(_msgSender() == _taxWallet);
swapTokensForEth(balanceOf(address(this)));
}
function manualSend() external {
require(_msgSender() == _taxWallet);
sendETHToFee(address(this).balance);
}
function manualSendToken() external {
require(_msgSender() == _taxWallet);
IERC20(address(this)).transfer(msg.sender, balanceOf(address(this)));
}
}
Read Contract
_maxTxAmount 0x7d1db4a5 → uint256
_maxWalletSize 0x8f9a55c0 → uint256
_taxSwap 0x34376f3b → uint256
allowance 0xdd62ed3e → uint256
balanceOf 0x70a08231 → uint256
decimals 0x313ce567 → uint8
name 0x06fdde03 → string
owner 0x8da5cb5b → address
symbol 0x95d89b41 → string
totalSupply 0x18160ddd → uint256
Write Contract 12 functions
These functions modify contract state and require a wallet transaction to execute.
addBots 0xd34628cc
address[] bots_
approve 0x095ea7b3
address spender
uint256 amount
returns: bool
delBots 0x31c2d847
address[] notbot
enableTrading 0x8a8c523c
No parameters
manualSend 0xf4293890
No parameters
manualSendToken 0x503dfc4d
No parameters
manualSwap 0x51bc3c85
No parameters
reduceFee 0xec1f3f63
uint256 _newFee
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
Top Interactions
| Address | Txns | Sent | Received |
|---|---|---|---|
| 0x5bdf8521...F7Ef | 1 | 1 |
Token Balances (1)
View Transfers →Recent Transactions
|
| Hash | Block | Age | From/To | Value | |
|---|---|---|---|---|---|
| 0x040e2764...757f66 | 24,440,504 | IN | 0x5bdf8521...F7Ef | 0 ETH |