[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "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": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "bytes32", "name": "previousAdminRole", "type": "bytes32" }, { "indexed": true, "internalType": "bytes32", "name": "newAdminRole", "type": "bytes32" } ], "name": "RoleAdminChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": true, "internalType": "address", "name": "sender", "type": "address" } ], "name": "RoleGranted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": true, "internalType": "address", "name": "sender", "type": "address" } ], "name": "RoleRevoked", "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": [], "name": "BURNER_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "DEFAULT_ADMIN_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MAX_LIMIT", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MINTER_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "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": "", "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": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "burn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } ], "name": "decreaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" } ], "name": "getRoleAdmin", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "grantRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "hasRole", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "addedValue", "type": "uint256" } ], "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "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": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "renounceRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "revokeRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "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": "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" } ]
60a0604052620000126012600a620003b1565b6200002290633b9aca00620003c9565b6080523480156200003257600080fd5b506040518060400160405280600681526020016509ac2e8e462f60d31b8152506040518060400160405280600381526020016209a82b60eb1b81525081600390816200007f919062000487565b5060046200008e828262000487565b50620000a0915060009050336200010c565b620000cc7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6336200010c565b620000f87f3c11d16cbaffd01df69ce1c404f6340ee057498f5f00246190ea54220576a848336200010c565b62000106336080516200011c565b62000569565b620001188282620001e2565b5050565b6001600160a01b038216620001775760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b80600260008282546200018b919062000553565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b620001ee828262000271565b620001185760008281526005602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620002283390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b505050565b60008281526005602090815260408083206001600160a01b038516845290915290205460ff165b92915050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620002f5578160001904821115620002d957620002d96200029e565b80851615620002e757918102915b93841c9390800290620002b9565b509250929050565b6000826200030e5750600162000298565b816200031d5750600062000298565b8160018114620003365760028114620003415762000361565b600191505062000298565b60ff8411156200035557620003556200029e565b50506001821b62000298565b5060208310610133831016604e8410600b841016171562000386575081810a62000298565b620003928383620002b4565b8060001904821115620003a957620003a96200029e565b029392505050565b6000620003c260ff841683620002fd565b9392505050565b80820281158282048414176200029857620002986200029e565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200040e57607f821691505b6020821081036200042f57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200026c57600081815260208120601f850160051c810160208610156200045e5750805b601f850160051c820191505b818110156200047f578281556001016200046a565b505050505050565b81516001600160401b03811115620004a357620004a3620003e3565b620004bb81620004b48454620003f9565b8462000435565b602080601f831160018114620004f35760008415620004da5750858301515b600019600386901b1c1916600185901b1785556200047f565b600085815260208120601f198616915b82811015620005245788860151825594840194600190910190840162000503565b5085821015620005435787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b808201808211156200029857620002986200029e565b6080516112596200058c600039600081816101a7015261056b01526112596000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c806339509351116100c3578063a217fddf1161007c578063a217fddf146102f0578063a457c2d7146102f8578063a9059cbb1461030b578063d53913931461031e578063d547741f14610345578063dd62ed3e1461035857600080fd5b8063395093511461027357806340c10f191461028657806342966c681461029957806370a08231146102ac57806391d14854146102d557806395d89b41146102e857600080fd5b806323b872dd1161011557806323b872dd146101df578063248a9ca3146101f2578063282c51f3146102155780632f2ff15d1461023c578063313ce5671461025157806336568abe1461026057600080fd5b806301ffc9a71461015257806306fdde031461017a578063095ea7b31461018f578063114cccd2146101a257806318160ddd146101d7575b600080fd5b610165610160366004610f64565b61036b565b60405190151581526020015b60405180910390f35b6101826103a2565b6040516101719190610fb2565b61016561019d366004611001565b610434565b6101c97f000000000000000000000000000000000000000000000000000000000000000081565b604051908152602001610171565b6002546101c9565b6101656101ed36600461102b565b61044c565b6101c9610200366004611067565b60009081526005602052604090206001015490565b6101c97f3c11d16cbaffd01df69ce1c404f6340ee057498f5f00246190ea54220576a84881565b61024f61024a366004611080565b610470565b005b60405160128152602001610171565b61024f61026e366004611080565b61049a565b610165610281366004611001565b61051d565b61024f610294366004611001565b61053f565b61024f6102a7366004611067565b6105e2565b6101c96102ba3660046110ac565b6001600160a01b031660009081526020819052604090205490565b6101656102e3366004611080565b610616565b610182610641565b6101c9600081565b610165610306366004611001565b610650565b610165610319366004611001565b6106cb565b6101c97f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b61024f610353366004611080565b6106d9565b6101c96103663660046110c7565b6106fe565b60006001600160e01b03198216637965db0b60e01b148061039c57506301ffc9a760e01b6001600160e01b03198316145b92915050565b6060600380546103b1906110f1565b80601f01602080910402602001604051908101604052809291908181526020018280546103dd906110f1565b801561042a5780601f106103ff5761010080835404028352916020019161042a565b820191906000526020600020905b81548152906001019060200180831161040d57829003601f168201915b5050505050905090565b600033610442818585610729565b5060019392505050565b60003361045a85828561084d565b6104658585856108c7565b506001949350505050565b60008281526005602052604090206001015461048b81610a6b565b6104958383610a78565b505050565b6001600160a01b038116331461050f5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b6105198282610afe565b5050565b60003361044281858561053083836106fe565b61053a9190611141565b610729565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a661056981610a6b565b7f00000000000000000000000000000000000000000000000000000000000000008261059460025490565b61059e9190611141565b11156105d85760405162461bcd60e51b815260206004820152600960248201526813585e081b1a5b5a5d60ba1b6044820152606401610506565b6104958383610b65565b7f3c11d16cbaffd01df69ce1c404f6340ee057498f5f00246190ea54220576a84861060c81610a6b565b6105193383610c24565b60009182526005602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6060600480546103b1906110f1565b6000338161065e82866106fe565b9050838110156106be5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610506565b6104658286868403610729565b6000336104428185856108c7565b6000828152600560205260409020600101546106f481610a6b565b6104958383610afe565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b03831661078b5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610506565b6001600160a01b0382166107ec5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610506565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600061085984846106fe565b905060001981146108c157818110156108b45760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610506565b6108c18484848403610729565b50505050565b6001600160a01b03831661092b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610506565b6001600160a01b03821661098d5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610506565b6001600160a01b03831660009081526020819052604090205481811015610a055760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610506565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36108c1565b610a758133610d56565b50565b610a828282610616565b6105195760008281526005602090815260408083206001600160a01b03851684529091529020805460ff19166001179055610aba3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b610b088282610616565b156105195760008281526005602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6001600160a01b038216610bbb5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610506565b8060026000828254610bcd9190611141565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b6001600160a01b038216610c845760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610506565b6001600160a01b03821660009081526020819052604090205481811015610cf85760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610506565b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b610d608282610616565b61051957610d6d81610daf565b610d78836020610dc1565b604051602001610d89929190611154565b60408051601f198184030181529082905262461bcd60e51b825261050691600401610fb2565b606061039c6001600160a01b03831660145b60606000610dd08360026111c9565b610ddb906002611141565b67ffffffffffffffff811115610df357610df36111e0565b6040519080825280601f01601f191660200182016040528015610e1d576020820181803683370190505b509050600360fc1b81600081518110610e3857610e386111f6565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110610e6757610e676111f6565b60200101906001600160f81b031916908160001a9053506000610e8b8460026111c9565b610e96906001611141565b90505b6001811115610f0e576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110610eca57610eca6111f6565b1a60f81b828281518110610ee057610ee06111f6565b60200101906001600160f81b031916908160001a90535060049490941c93610f078161120c565b9050610e99565b508315610f5d5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610506565b9392505050565b600060208284031215610f7657600080fd5b81356001600160e01b031981168114610f5d57600080fd5b60005b83811015610fa9578181015183820152602001610f91565b50506000910152565b6020815260008251806020840152610fd1816040850160208701610f8e565b601f01601f19169190910160400192915050565b80356001600160a01b0381168114610ffc57600080fd5b919050565b6000806040838503121561101457600080fd5b61101d83610fe5565b946020939093013593505050565b60008060006060848603121561104057600080fd5b61104984610fe5565b925061105760208501610fe5565b9150604084013590509250925092565b60006020828403121561107957600080fd5b5035919050565b6000806040838503121561109357600080fd5b823591506110a360208401610fe5565b90509250929050565b6000602082840312156110be57600080fd5b610f5d82610fe5565b600080604083850312156110da57600080fd5b6110e383610fe5565b91506110a360208401610fe5565b600181811c9082168061110557607f821691505b60208210810361112557634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561039c5761039c61112b565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161118c816017850160208801610f8e565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516111bd816028840160208801610f8e565b01602801949350505050565b808202811582820484141761039c5761039c61112b565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b60008161121b5761121b61112b565b50600019019056fea2646970667358221220d4d91f89660de02d39744b70316017c780678cc9dc929240b6d9294ab258b75064736f6c63430008110033