[ { "inputs": [ { "internalType": "address", "name": "initialOwner", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "allowance", "type": "uint256" }, { "internalType": "uint256", "name": "needed", "type": "uint256" } ], "name": "ERC20InsufficientAllowance", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "uint256", "name": "balance", "type": "uint256" }, { "internalType": "uint256", "name": "needed", "type": "uint256" } ], "name": "ERC20InsufficientBalance", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "approver", "type": "address" } ], "name": "ERC20InvalidApprover", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "receiver", "type": "address" } ], "name": "ERC20InvalidReceiver", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" } ], "name": "ERC20InvalidSender", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" } ], "name": "ERC20InvalidSpender", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "OwnableInvalidOwner", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "OwnableUnauthorizedAccount", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "TokensBurned", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" } ], "name": "Remove", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "sendNull", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
608060405234801562000010575f80fd5b5060405162002010380380620020108339818101604052810190620000369190620006ed565b806040518060400160405280600d81526020017f434f524749204f4e2041564158000000000000000000000000000000000000008152506040518060400160405280600581526020017f434f5247490000000000000000000000000000000000000000000000000000008152508160039081620000b4919062000981565b508060049081620000c6919062000981565b5050505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036200013c575f6040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260040162000133919062000a76565b60405180910390fd5b6200014d81620001a760201b60201c565b506200018f81620001636200026a60201b60201c565b600a62000171919062000c1a565b6433bc26ee0062000183919062000c6a565b6200027260201b60201c565b620001a081620002fc60201b60201c565b5062000d55565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f6012905090565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620002e5575f6040517fec442f05000000000000000000000000000000000000000000000000000000008152600401620002dc919062000a76565b60405180910390fd5b620002f85f83836200039360201b60201c565b5050565b6200030c620005b760201b60201c565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036200037f575f6040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260040162000376919062000a76565b60405180910390fd5b6200039081620001a760201b60201c565b50565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603620003e7578060025f828254620003da919062000cb4565b92505081905550620004b8565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508181101562000473578381836040517fe450d38c0000000000000000000000000000000000000000000000000000000081526004016200046a9392919062000cff565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000501578060025f82825403925050819055506200054b565b805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620005aa919062000d3a565b60405180910390a3505050565b620005c76200065960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16620005ed6200066060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16146200065757620006196200065960201b60201c565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016200064e919062000a76565b60405180910390fd5b565b5f33905090565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620006b7826200068c565b9050919050565b620006c981620006ab565b8114620006d4575f80fd5b50565b5f81519050620006e781620006be565b92915050565b5f6020828403121562000705576200070462000688565b5b5f6200071484828501620006d7565b91505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200079957607f821691505b602082108103620007af57620007ae62000754565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620008137fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620007d6565b6200081f8683620007d6565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f62000869620008636200085d8462000837565b62000840565b62000837565b9050919050565b5f819050919050565b620008848362000849565b6200089c620008938262000870565b848454620007e2565b825550505050565b5f90565b620008b2620008a4565b620008bf81848462000879565b505050565b5b81811015620008e657620008da5f82620008a8565b600181019050620008c5565b5050565b601f8211156200093557620008ff81620007b5565b6200090a84620007c7565b810160208510156200091a578190505b620009326200092985620007c7565b830182620008c4565b50505b505050565b5f82821c905092915050565b5f620009575f19846008026200093a565b1980831691505092915050565b5f62000971838362000946565b9150826002028217905092915050565b6200098c826200071d565b67ffffffffffffffff811115620009a857620009a762000727565b5b620009b4825462000781565b620009c1828285620008ea565b5f60209050601f831160018114620009f7575f8415620009e2578287015190505b620009ee858262000964565b86555062000a5d565b601f19841662000a0786620007b5565b5f5b8281101562000a305784890151825560018201915060208501945060208101905062000a09565b8683101562000a50578489015162000a4c601f89168262000946565b8355505b6001600288020188555050505b505050505050565b62000a7081620006ab565b82525050565b5f60208201905062000a8b5f83018462000a65565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111562000b1b5780860481111562000af35762000af262000a91565b5b600185161562000b035780820291505b808102905062000b138562000abe565b945062000ad3565b94509492505050565b5f8262000b35576001905062000c07565b8162000b44575f905062000c07565b816001811462000b5d576002811462000b685762000b9e565b600191505062000c07565b60ff84111562000b7d5762000b7c62000a91565b5b8360020a91508482111562000b975762000b9662000a91565b5b5062000c07565b5060208310610133831016604e8410600b841016171562000bd85782820a90508381111562000bd25762000bd162000a91565b5b62000c07565b62000be7848484600162000aca565b9250905081840481111562000c015762000c0062000a91565b5b81810290505b9392505050565b5f60ff82169050919050565b5f62000c268262000837565b915062000c338362000c0e565b925062000c627fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000b24565b905092915050565b5f62000c768262000837565b915062000c838362000837565b925082820262000c938162000837565b9150828204841483151762000cad5762000cac62000a91565b5b5092915050565b5f62000cc08262000837565b915062000ccd8362000837565b925082820190508082111562000ce85762000ce762000a91565b5b92915050565b62000cf98162000837565b82525050565b5f60608201905062000d145f83018662000a65565b62000d23602083018562000cee565b62000d32604083018462000cee565b949350505050565b5f60208201905062000d4f5f83018462000cee565b92915050565b6112ad8062000d635f395ff3fe608060405234801561000f575f80fd5b50600436106100e8575f3560e01c8063715018a61161008a578063a9059cbb11610064578063a9059cbb14610238578063dd62ed3e14610268578063df0aeeae14610298578063f2fde38b146102b4576100e8565b8063715018a6146101f25780638da5cb5b146101fc57806395d89b411461021a576100e8565b806318160ddd116100c657806318160ddd1461015657806323b872dd14610174578063313ce567146101a457806370a08231146101c2576100e8565b806306fdde03146100ec578063086388421461010a578063095ea7b314610126575b5f80fd5b6100f46102d0565b6040516101019190610ebe565b60405180910390f35b610124600480360381019061011f9190610f6f565b610360565b005b610140600480360381019061013b9190610f6f565b610376565b60405161014d9190610fc7565b60405180910390f35b61015e610398565b60405161016b9190610fef565b60405180910390f35b61018e60048036038101906101899190611008565b6103a1565b60405161019b9190610fc7565b60405180910390f35b6101ac6103cf565b6040516101b99190611073565b60405180910390f35b6101dc60048036038101906101d7919061108c565b6103d7565b6040516101e99190610fef565b60405180910390f35b6101fa61041c565b005b61020461042f565b60405161021191906110c6565b60405180910390f35b610222610457565b60405161022f9190610ebe565b60405180910390f35b610252600480360381019061024d9190610f6f565b6104e7565b60405161025f9190610fc7565b60405180910390f35b610282600480360381019061027d91906110df565b610509565b60405161028f9190610fef565b60405180910390f35b6102b260048036038101906102ad91906110df565b61058b565b005b6102ce60048036038101906102c9919061108c565b610656565b005b6060600380546102df9061114a565b80601f016020809104026020016040519081016040528092919081815260200182805461030b9061114a565b80156103565780601f1061032d57610100808354040283529160200191610356565b820191905f5260205f20905b81548152906001019060200180831161033957829003601f168201915b5050505050905090565b6103686106da565b6103728282610761565b5050565b5f8061038061076f565b905061038d818585610776565b600191505092915050565b5f600254905090565b5f806103ab61076f565b90506103b8858285610788565b6103c385858561081a565b60019150509392505050565b5f6012905090565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6104246106da565b61042d5f61090a565b565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546104669061114a565b80601f01602080910402602001604051908101604052809291908181526020018280546104929061114a565b80156104dd5780601f106104b4576101008083540402835291602001916104dd565b820191905f5260205f20905b8154815290600101906020018083116104c057829003601f168201915b5050505050905090565b5f806104f161076f565b90506104fe81858561081a565b600191505092915050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6105936106da565b5f61059d836103d7565b90505f81116105e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d8906111c4565b60405180910390fd5b6105ec83838361081a565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f857ac1c9e97cc66ecae5f524c9c611463ae748b85af3ca454a5ec4d7d341924d836040516106499190610fef565b60405180910390a3505050565b61065e6106da565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036106ce575f6040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016106c591906110c6565b60405180910390fd5b6106d78161090a565b50565b6106e261076f565b73ffffffffffffffffffffffffffffffffffffffff1661070061042f565b73ffffffffffffffffffffffffffffffffffffffff161461075f5761072361076f565b6040517f118cdaa700000000000000000000000000000000000000000000000000000000815260040161075691906110c6565b60405180910390fd5b565b61076b82826109cd565b5050565b5f33905090565b6107838383836001610a4c565b505050565b5f6107938484610509565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146108145781811015610805578281836040517ffb8f41b20000000000000000000000000000000000000000000000000000000081526004016107fc939291906111e2565b60405180910390fd5b61081384848484035f610a4c565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361088a575f6040517f96c6fd1e00000000000000000000000000000000000000000000000000000000815260040161088191906110c6565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036108fa575f6040517fec442f050000000000000000000000000000000000000000000000000000000081526004016108f191906110c6565b60405180910390fd5b610905838383610c1b565b505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610a3d575f6040517fec442f05000000000000000000000000000000000000000000000000000000008152600401610a3491906110c6565b60405180910390fd5b610a485f8383610c1b565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610abc575f6040517fe602df05000000000000000000000000000000000000000000000000000000008152600401610ab391906110c6565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610b2c575f6040517f94280d62000000000000000000000000000000000000000000000000000000008152600401610b2391906110c6565b60405180910390fd5b8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508015610c15578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610c0c9190610fef565b60405180910390a35b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610c6b578060025f828254610c5f9190611244565b92505081905550610d39565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015610cf4578381836040517fe450d38c000000000000000000000000000000000000000000000000000000008152600401610ceb939291906111e2565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d80578060025f8282540392505081905550610dca565b805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610e279190610fef565b60405180910390a3505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015610e6b578082015181840152602081019050610e50565b5f8484015250505050565b5f601f19601f8301169050919050565b5f610e9082610e34565b610e9a8185610e3e565b9350610eaa818560208601610e4e565b610eb381610e76565b840191505092915050565b5f6020820190508181035f830152610ed68184610e86565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610f0b82610ee2565b9050919050565b610f1b81610f01565b8114610f25575f80fd5b50565b5f81359050610f3681610f12565b92915050565b5f819050919050565b610f4e81610f3c565b8114610f58575f80fd5b50565b5f81359050610f6981610f45565b92915050565b5f8060408385031215610f8557610f84610ede565b5b5f610f9285828601610f28565b9250506020610fa385828601610f5b565b9150509250929050565b5f8115159050919050565b610fc181610fad565b82525050565b5f602082019050610fda5f830184610fb8565b92915050565b610fe981610f3c565b82525050565b5f6020820190506110025f830184610fe0565b92915050565b5f805f6060848603121561101f5761101e610ede565b5b5f61102c86828701610f28565b935050602061103d86828701610f28565b925050604061104e86828701610f5b565b9150509250925092565b5f60ff82169050919050565b61106d81611058565b82525050565b5f6020820190506110865f830184611064565b92915050565b5f602082840312156110a1576110a0610ede565b5b5f6110ae84828501610f28565b91505092915050565b6110c081610f01565b82525050565b5f6020820190506110d95f8301846110b7565b92915050565b5f80604083850312156110f5576110f4610ede565b5b5f61110285828601610f28565b925050602061111385828601610f28565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061116157607f821691505b6020821081036111745761117361111d565b5b50919050565b7f4e6f20746f6b656e7320746f207472616e7366657200000000000000000000005f82015250565b5f6111ae601583610e3e565b91506111b98261117a565b602082019050919050565b5f6020820190508181035f8301526111db816111a2565b9050919050565b5f6060820190506111f55f8301866110b7565b6112026020830185610fe0565b61120f6040830184610fe0565b949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61124e82610f3c565b915061125983610f3c565b925082820190508082111561127157611270611217565b5b9291505056fea2646970667358221220ca31cde00ce999ab31858cd6b684532ccae2a72fb0bfc700b233042817d8a54664736f6c63430008140033000000000000000000000000118b764c41c6d19eaa7451da2e13cbf4d7c2e479