[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "AllowanceOverflow", "type": "error" }, { "inputs": [], "name": "AllowanceUnderflow", "type": "error" }, { "inputs": [], "name": "AlreadyInitialized", "type": "error" }, { "inputs": [], "name": "InsufficientAllowance", "type": "error" }, { "inputs": [], "name": "InsufficientBalance", "type": "error" }, { "inputs": [], "name": "InvalidPermit", "type": "error" }, { "inputs": [], "name": "NewOwnerIsZeroAddress", "type": "error" }, { "inputs": [], "name": "NoHandoverRequest", "type": "error" }, { "inputs": [], "name": "PermitExpired", "type": "error" }, { "inputs": [], "name": "TotalSupplyOverflow", "type": "error" }, { "inputs": [], "name": "Unauthorized", "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": "amount", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "pendingOwner", "type": "address" } ], "name": "OwnershipHandoverCanceled", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "pendingOwner", "type": "address" } ], "name": "OwnershipHandoverRequested", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "oldOwner", "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": "Transfer", "type": "event" }, { "inputs": [], "name": "DOMAIN_SEPARATOR", "outputs": [ { "internalType": "bytes32", "name": "result", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "result", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "result", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "burn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "cancelOwnershipHandover", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "pendingOwner", "type": "address" } ], "name": "completeOwnershipHandover", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "mint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "nonces", "outputs": [ { "internalType": "uint256", "name": "result", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "result", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "pendingOwner", "type": "address" } ], "name": "ownershipHandoverExpiresAt", "outputs": [ { "internalType": "uint256", "name": "result", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" }, { "internalType": "uint256", "name": "deadline", "type": "uint256" }, { "internalType": "uint8", "name": "v", "type": "uint8" }, { "internalType": "bytes32", "name": "r", "type": "bytes32" }, { "internalType": "bytes32", "name": "s", "type": "bytes32" } ], "name": "permit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "requestOwnershipHandover", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "newName", "type": "string" } ], "name": "setName", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "newSymbol", "type": "string" } ], "name": "setSymbol", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "enabled", "type": "bool" } ], "name": "setTransfer", "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": "result", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "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": "amount", "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": "payable", "type": "function" } ]
60c0604052600b60809081526a20b9b43134b29026b7b7b760a91b60a0526000906200002c908262000202565b50604080518082019091526005815264415350494560d81b602082015260019062000058908262000202565b506002805460ff191660011790553480156200007357600080fd5b506200007f336200009d565b62000097336b015bfc9298de952e2f400000620000d9565b620002ce565b6001600160a01b0316638b78c6d8198190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b6805345cdf77eb68f44c5481810181811015620000fe5763e5cfe9576000526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52816000526020600c208181540181555080602052600c5160601c60007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a35050565b505050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200018957607f821691505b602082108103620001aa57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200015957600081815260208120601f850160051c81016020861015620001d95750805b601f850160051c820191505b81811015620001fa57828155600101620001e5565b505050505050565b81516001600160401b038111156200021e576200021e6200015e565b62000236816200022f845462000174565b84620001b0565b602080601f8311600181146200026e5760008415620002555750858301515b600019600386901b1c1916600185901b178555620001fa565b600085815260208120601f198616915b828110156200029f578886015182559484019460019091019084016200027e565b5085821015620002be5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610f8980620002de6000396000f3fe60806040526004361061014b5760003560e01c806395d89b41116100b6578063c47f00271161006f578063c47f002714610384578063d505accf146103a4578063dd62ed3e146103c4578063f04e283e146103fa578063f2fde38b1461040d578063fee81cf41461042057600080fd5b806395d89b41146102cf5780639dc29fac146102e4578063a0712d6814610304578063a296b32314610324578063a9059cbb14610344578063b84c82461461036457600080fd5b80633644e515116101085780633644e5151461021857806354d1f13d1461022d57806370a0823114610235578063715018a6146102685780637ecebe00146102705780638da5cb5b146102a357600080fd5b806306fdde0314610150578063095ea7b31461017b57806318160ddd146101ab57806323b872dd146101d257806325692962146101f2578063313ce567146101fc575b600080fd5b34801561015c57600080fd5b50610165610453565b6040516101729190610b58565b60405180910390f35b34801561018757600080fd5b5061019b610196366004610bc2565b6104e5565b6040519015158152602001610172565b3480156101b757600080fd5b506805345cdf77eb68f44c545b604051908152602001610172565b3480156101de57600080fd5b5061019b6101ed366004610bec565b610538565b6101fa61055d565b005b34801561020857600080fd5b5060405160128152602001610172565b34801561022457600080fd5b506101c46105ad565b6101fa61062a565b34801561024157600080fd5b506101c4610250366004610c28565b6387a211a2600c908152600091909152602090205490565b6101fa610666565b34801561027c57600080fd5b506101c461028b366004610c28565b6338377508600c908152600091909152602090205490565b3480156102af57600080fd5b50638b78c6d819546040516001600160a01b039091168152602001610172565b3480156102db57600080fd5b5061016561067a565b3480156102f057600080fd5b506101fa6102ff366004610bc2565b610689565b34801561031057600080fd5b506101fa61031f366004610c43565b61069f565b34801561033057600080fd5b506101fa61033f366004610c5c565b6106c0565b34801561035057600080fd5b5061019b61035f366004610bc2565b6106db565b34801561037057600080fd5b506101fa61037f366004610c94565b6106fe565b34801561039057600080fd5b506101fa61039f366004610c94565b610712565b3480156103b057600080fd5b506101fa6103bf366004610d45565b610726565b3480156103d057600080fd5b506101c46103df366004610db8565b602052637f5e9f20600c908152600091909152603490205490565b6101fa610408366004610c28565b6108af565b6101fa61041b366004610c28565b6108ec565b34801561042c57600080fd5b506101c461043b366004610c28565b63389a75e1600c908152600091909152602090205490565b60606000805461046290610deb565b80601f016020809104026020016040519081016040528092919081815260200182805461048e90610deb565b80156104db5780601f106104b0576101008083540402835291602001916104db565b820191906000526020600020905b8154815290600101906020018083116104be57829003601f168201915b5050505050905090565b600082602052637f5e9f20600c5233600052816034600c205581600052602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60025460009060ff1661054a57600080fd5b610555848484610913565b949350505050565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b6000806105b8610453565b8051906020012090506040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81528160208201527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604082015246606082015230608082015260a081209250505090565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b61066e6109bf565b61067860006109da565b565b60606001805461046290610deb565b6106916109bf565b61069b8282610a18565b5050565b6106a76109bf565b6106bd6106b7638b78c6d8195490565b82610a7d565b50565b6106c86109bf565b6002805460ff1916911515919091179055565b60025460009060ff166106ed57600080fd5b6106f78383610aea565b9392505050565b6107066109bf565b600161069b8282610e73565b61071a6109bf565b600061069b8282610e73565b6000610730610453565b8051906020012090508442111561074f57631a15a3cc6000526004601cfd5b6040518860601b60601c98508760601b60601c975065383775081901600e52886000526020600c2080547f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83528360208401527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604084015246606084015230608084015260a08320602e527f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528a60208401528960408401528860608401528060808401528760a084015260c08320604e526042602c206000528660ff1660205285604052846060526020806080600060015afa8b3d511461085b5763ddafbaef6000526004601cfd5b0190556303faf4f960a51b88176040526034602c2087905587897f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925602060608501a360405250506000606052505050505050565b6108b76109bf565b63389a75e1600c52806000526020600c2080544211156108df57636f5e88186000526004601cfd5b600090556106bd816109da565b6108f46109bf565b8060601b61090a57637448fbae6000526004601cfd5b6106bd816109da565b60008360601b33602052637f5e9f208117600c526034600c2080546001810115610953578085111561094d576313be252b6000526004601cfd5b84810382555b50506387a211a28117600c526020600c2080548085111561097c5763f4d678b86000526004601cfd5b84810382555050836000526020600c208381540181555082602052600c5160601c8160601c600080516020610f34833981519152602080a3505060019392505050565b638b78c6d819543314610678576382b429006000526004601cfd5b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b6387a211a2600c52816000526020600c20805480831115610a415763f4d678b86000526004601cfd5b82900390556805345cdf77eb68f44c8054829003905560008181526001600160a01b038316600080516020610f34833981519152602083a35050565b6805345cdf77eb68f44c5481810181811015610aa15763e5cfe9576000526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52816000526020600c208181540181555080602052600c5160601c6000600080516020610f34833981519152602080a35050565b60006387a211a2600c52336000526020600c20805480841115610b155763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c33600080516020610f34833981519152602080a350600192915050565b505050565b600060208083528351808285015260005b81811015610b8557858101830151858201604001528201610b69565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610bbd57600080fd5b919050565b60008060408385031215610bd557600080fd5b610bde83610ba6565b946020939093013593505050565b600080600060608486031215610c0157600080fd5b610c0a84610ba6565b9250610c1860208501610ba6565b9150604084013590509250925092565b600060208284031215610c3a57600080fd5b6106f782610ba6565b600060208284031215610c5557600080fd5b5035919050565b600060208284031215610c6e57600080fd5b813580151581146106f757600080fd5b634e487b7160e01b600052604160045260246000fd5b600060208284031215610ca657600080fd5b813567ffffffffffffffff80821115610cbe57600080fd5b818401915084601f830112610cd257600080fd5b813581811115610ce457610ce4610c7e565b604051601f8201601f19908116603f01168101908382118183101715610d0c57610d0c610c7e565b81604052828152876020848701011115610d2557600080fd5b826020860160208301376000928101602001929092525095945050505050565b600080600080600080600060e0888a031215610d6057600080fd5b610d6988610ba6565b9650610d7760208901610ba6565b95506040880135945060608801359350608088013560ff81168114610d9b57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610dcb57600080fd5b610dd483610ba6565b9150610de260208401610ba6565b90509250929050565b600181811c90821680610dff57607f821691505b602082108103610e1f57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115610b5357600081815260208120601f850160051c81016020861015610e4c5750805b601f850160051c820191505b81811015610e6b57828155600101610e58565b505050505050565b815167ffffffffffffffff811115610e8d57610e8d610c7e565b610ea181610e9b8454610deb565b84610e25565b602080601f831160018114610ed65760008415610ebe5750858301515b600019600386901b1c1916600185901b178555610e6b565b600085815260208120601f198616915b82811015610f0557888601518255948401946001909101908401610ee6565b5085821015610f235787850151600019600388901b60f8161c191681555b5050505050600190811b0190555056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212201be1f11e6797e05ae33c94f4d7245eb928cbb2260f7c2b3de646de403efffce764736f6c63430008150033