[ { "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": "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": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "stateMutability": "payable", "type": "fallback" }, { "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": [], "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": [], "name": "denominator", "outputs": [ { "internalType": "uint24", "name": "", "type": "uint24" } ], "stateMutability": "pure", "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": [], "name": "info", "outputs": [ { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "string", "name": "symbol", "type": "string" }, { "internalType": "uint8", "name": "decimals", "type": "uint8" }, { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "uint256", "name": "totalSupply", "type": "uint256" }, { "internalType": "string", "name": "version", "type": "string" } ], "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": [], "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" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "version", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "pure", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
60c060405234801561000f575f80fd5b5060408051808201909152601081526f26bc90283932b9b0b632902a37b5b2b760811b60208201526004906100449082610237565b5060408051808201909152600381526213541560ea1b602082015260059061006c9082610237565b50601260a0526b033b2e3c9fd0803ce800000060025561009f732d8250e6767ee656fbfb7e5c63c89706220dd8636100ca565b6100c0732d8250e6767ee656fbfb7e5c63c89706220dd863620186a061011b565b60016080526102f6565b600380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b60805115610127575f80fd5b5f61013f6002548362ffffff1661019560201b60201c565b6001600160a01b0384165f8181526020818152604080832085905551848152939450919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b620186a091020490565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806101c757607f821691505b6020821081036101e557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561023257805f5260205f20601f840160051c810160208510156102105750805b601f840160051c820191505b8181101561022f575f815560010161021c565b50505b505050565b81516001600160401b038111156102505761025061019f565b6102648161025e84546101b3565b846101eb565b602080601f831160018114610297575f84156102805750858301515b5f19600386901b1c1916600185901b1785556102ee565b5f85815260208120601f198616915b828110156102c5578886015182559484019460019091019084016102a6565b50858210156102e257878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a051610b6261031b5f395f81816101a7015261043201525f5050610b625ff3fe6080604052600436106100f5575f3560e01c806370a082311161008e57806396ce07951161006057806396ce0795146102c6578063a457c2d7146102e2578063a9059cbb14610301578063dd62ed3e14610320578063f2fde38b1461033f57005b806370a0823114610243578063715018a6146102775780638da5cb5b1461028b57806395d89b41146102b257005b8063313ce567116100c7578063313ce56714610194578063370158ea146101d157806339509351146101f757806354fd4d501461021657005b806306fdde03146100fe578063095ea7b31461012857806318160ddd1461015757806323b872dd1461017557005b366100fc57005b005b348015610109575f80fd5b5061011261035e565b60405161011f91906109b1565b60405180910390f35b348015610133575f80fd5b506101476101423660046109e5565b6103ee565b604051901515815260200161011f565b348015610162575f80fd5b506002545b60405190815260200161011f565b348015610180575f80fd5b5061014761018f366004610a0d565b610403565b34801561019f575f80fd5b5060405160ff7f000000000000000000000000000000000000000000000000000000000000000016815260200161011f565b3480156101dc575f80fd5b506101e5610424565b60405161011f96959493929190610a46565b348015610202575f80fd5b506101476102113660046109e5565b6105af565b348015610221575f80fd5b50604080518082019091526005815264312e302e3360d81b6020820152610112565b34801561024e575f80fd5b5061016761025d366004610aaa565b6001600160a01b03165f9081526020819052604090205490565b348015610282575f80fd5b506100fc6105c6565b348015610296575f80fd5b506003546040516001600160a01b03909116815260200161011f565b3480156102bd575f80fd5b5061011261061f565b3480156102d1575f80fd5b506040516103e8815260200161011f565b3480156102ed575f80fd5b506101476102fc3660046109e5565b61062e565b34801561030c575f80fd5b5061014761031b3660046109e5565b61068e565b34801561032b575f80fd5b5061016761033a366004610ac3565b61069a565b34801561034a575f80fd5b506100fc610359366004610aaa565b6106c4565b60606004805461036d90610af4565b80601f016020809104026020016040519081016040528092919081815260200182805461039990610af4565b80156103e45780601f106103bb576101008083540402835291602001916103e4565b820191905f5260205f20905b8154815290600101906020018083116103c757829003601f168201915b5050505050905090565b5f6103fa33848461072b565b50600192915050565b5f61040f84338461078c565b61041a8484846107f5565b5060019392505050565b6060805f805f6060600460057f000000000000000000000000000000000000000000000000000000000000000060035f9054906101000a90046001600160a01b031660025460405180604001604052806005815260200164312e302e3360d81b81525085805461049390610af4565b80601f01602080910402602001604051908101604052809291908181526020018280546104bf90610af4565b801561050a5780601f106104e15761010080835404028352916020019161050a565b820191905f5260205f20905b8154815290600101906020018083116104ed57829003601f168201915b5050505050955084805461051d90610af4565b80601f016020809104026020016040519081016040528092919081815260200182805461054990610af4565b80156105945780601f1061056b57610100808354040283529160200191610594565b820191905f5260205f20905b81548152906001019060200180831161057757829003601f168201915b50505050509450955095509550955095509550909192939495565b5f6103fa3384846105c0338861069a565b0161072b565b6003546001600160a01b031633146106145760405162461bcd60e51b815260206004820152600c60248201526b155b985d5d1a1bdc9a5e995960a21b60448201526064015b60405180910390fd5b61061d5f610932565b565b60606005805461036d90610af4565b5f8061063a338561069a565b9050828110156106815760405162461bcd60e51b81526020600482015260126024820152714e6567617469766520616c6c6f77616e636560701b604482015260640161060b565b61041a338585840361072b565b5f6103fa3384846107f5565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b6003546001600160a01b0316331461070d5760405162461bcd60e51b815260206004820152600c60248201526b155b985d5d1a1bdc9a5e995960a21b604482015260640161060b565b6001600160a01b03811661071f575f80fd5b61072881610932565b50565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b5f610797848461069a565b9050818110156107e25760405162461bcd60e51b8152602060048201526016602482015275496e73756666696369656e7420616c6c6f77616e636560501b604482015260640161060b565b6107ef848484840361072b565b50505050565b6001600160a01b0383161580159061081557506001600160a01b03821615155b6108615760405162461bcd60e51b815260206004820152601d60248201527f5472616e736665722066726f6d2f746f207a65726f2061646472657373000000604482015260640161060b565b6001600160a01b0383165f908152602081905260409020548111156108ba5760405162461bcd60e51b815260206004820152600f60248201526e457863656564732062616c616e636560881b604482015260640161060b565b80156108ed576001600160a01b038084165f90815260208190526040808220805485900390559184168152208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161077f91815260200190565b600380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6109c36020830184610983565b9392505050565b80356001600160a01b03811681146109e0575f80fd5b919050565b5f80604083850312156109f6575f80fd5b6109ff836109ca565b946020939093013593505050565b5f805f60608486031215610a1f575f80fd5b610a28846109ca565b9250610a36602085016109ca565b9150604084013590509250925092565b60c081525f610a5860c0830189610983565b8281036020840152610a6a8189610983565b60ff881660408501526001600160a01b03871660608501526080840186905283810360a08501529050610a9d8185610983565b9998505050505050505050565b5f60208284031215610aba575f80fd5b6109c3826109ca565b5f8060408385031215610ad4575f80fd5b610add836109ca565b9150610aeb602084016109ca565b90509250929050565b600181811c90821680610b0857607f821691505b602082108103610b2657634e487b7160e01b5f52602260045260245ffd5b5091905056fea26469706673582212209188457c154f61e2f7204b4f760916409bf49207943316498ae75586045cb1e464736f6c63430008190033