def address_is_valid(address: bytes) -> bool: # Warning: Never pass this validation True for Coinbase Address if not QRLHelper.addressIsValid(address): return False if address[0:1] == b'\x11': return False return True
def ParseAddress(self, request: qrl_pb2.ParseAddressReq, context) -> qrl_pb2.ParseAddressResp: response = qrl_pb2.ParseAddressResp() response.is_valid = QRLHelper.addressIsValid(request.address) descriptor = QRLDescriptor.fromBytes(request.address[:3]) hf_dict = {0: 'SHA2-256', 1: 'SHAKE-128', 2: 'SHAKE-256', 3: 'RESERVED'} ss_dict = {0: 'XMSS', 1: 'XMSS-MT'} af_dict = {0: 'SHA2-256', 1: 'RESERVED', 3: 'RESERVED'} response.desc.hash_function = hf_dict[descriptor.getHashFunction()] response.desc.tree_height = descriptor.getHeight() response.desc.signatures = 2**response.desc.tree_height response.desc.signature_scheme = ss_dict[descriptor.getSignatureType()] response.desc.address_format = af_dict[descriptor.getAddrFormatType()] return response
def address_is_valid(address: bytes) -> bool: if not QRLHelper.addressIsValid(address): return False return True