removed go hub dependency
This commit is contained in:
parent
e16f6b07b8
commit
ec82486e15
16 changed files with 34 additions and 1644 deletions
2
.github/workflows/main.yml
vendored
2
.github/workflows/main.yml
vendored
|
@ -81,8 +81,6 @@ jobs:
|
||||||
- claims
|
- claims
|
||||||
- takeovers
|
- takeovers
|
||||||
- transactions
|
- transactions
|
||||||
- claims_legacy_search
|
|
||||||
- takeovers_legacy_search
|
|
||||||
- other
|
- other
|
||||||
steps:
|
steps:
|
||||||
- name: Configure sysctl limits
|
- name: Configure sysctl limits
|
||||||
|
|
|
@ -196,61 +196,6 @@ def paginate_list(items: List, page: Optional[int], page_size: Optional[int]):
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
def fix_kwargs_for_hub(**kwargs):
|
|
||||||
repeated_fields = {"media_type", "stream_type", "claim_type"}
|
|
||||||
value_fields = {"tx_nout", "has_source", "is_signature_valid"}
|
|
||||||
opcodes = {'=': 0, '<=': 1, '>=': 2, '<': 3, '>': 4}
|
|
||||||
for key, value in list(kwargs.items()):
|
|
||||||
if value in (None, [], False):
|
|
||||||
kwargs.pop(key)
|
|
||||||
continue
|
|
||||||
if key in REPLACEMENTS:
|
|
||||||
kwargs[REPLACEMENTS[key]] = kwargs.pop(key)
|
|
||||||
key = REPLACEMENTS[key]
|
|
||||||
|
|
||||||
if key == "normalized_name":
|
|
||||||
kwargs[key] = normalize_name(value)
|
|
||||||
if key == "limit_claims_per_channel":
|
|
||||||
value = kwargs.pop("limit_claims_per_channel") or 0
|
|
||||||
if value > 0:
|
|
||||||
kwargs["limit_claims_per_channel"] = value
|
|
||||||
elif key == "invalid_channel_signature":
|
|
||||||
kwargs["is_signature_valid"] = {"value": not kwargs.pop("invalid_channel_signature")}
|
|
||||||
elif key == "has_no_source":
|
|
||||||
kwargs["has_source"] = {"value": not kwargs.pop("has_no_source")}
|
|
||||||
elif key in value_fields:
|
|
||||||
kwargs[key] = {"value": value} if not isinstance(value, dict) else value
|
|
||||||
elif key in repeated_fields and isinstance(value, str):
|
|
||||||
kwargs[key] = [value]
|
|
||||||
elif key in ("claim_id", "channel_id"):
|
|
||||||
kwargs[key] = {"invert": False, "value": [kwargs[key]]}
|
|
||||||
elif key in ("claim_ids", "channel_ids"):
|
|
||||||
kwargs[key[:-1]] = {"invert": False, "value": kwargs.pop(key)}
|
|
||||||
elif key == "not_channel_ids":
|
|
||||||
kwargs["channel_id"] = {"invert": True, "value": kwargs.pop("not_channel_ids")}
|
|
||||||
elif key in MY_RANGE_FIELDS:
|
|
||||||
constraints = []
|
|
||||||
for val in value if isinstance(value, list) else [value]:
|
|
||||||
operator = '='
|
|
||||||
if isinstance(val, str) and val[0] in opcodes:
|
|
||||||
operator_length = 2 if val[:2] in opcodes else 1
|
|
||||||
operator, val = val[:operator_length], val[operator_length:]
|
|
||||||
val = [int(val if key != 'fee_amount' else Decimal(val)*1000)]
|
|
||||||
constraints.append({"op": opcodes[operator], "value": val})
|
|
||||||
kwargs[key] = constraints
|
|
||||||
elif key == 'order_by': # TODO: remove this after removing support for old trending args from the api
|
|
||||||
value = value if isinstance(value, list) else [value]
|
|
||||||
new_value = []
|
|
||||||
for new_v in value:
|
|
||||||
migrated = new_v if new_v not in (
|
|
||||||
'trending_mixed', 'trending_local', 'trending_global', 'trending_group'
|
|
||||||
) else 'trending_score'
|
|
||||||
if migrated not in new_value:
|
|
||||||
new_value.append(migrated)
|
|
||||||
kwargs[key] = new_value
|
|
||||||
return kwargs
|
|
||||||
|
|
||||||
|
|
||||||
DHT_HAS_CONTACTS = "dht_has_contacts"
|
DHT_HAS_CONTACTS = "dht_has_contacts"
|
||||||
|
|
||||||
|
|
||||||
|
@ -2673,42 +2618,27 @@ class Daemon(metaclass=JSONRPCServerType):
|
||||||
|
|
||||||
Returns: {Paginated[Output]}
|
Returns: {Paginated[Output]}
|
||||||
"""
|
"""
|
||||||
if self.ledger.config.get('use_go_hub'):
|
if "claim_ids" in kwargs and not kwargs["claim_ids"]:
|
||||||
host = self.ledger.network.client.server[0]
|
kwargs.pop("claim_ids")
|
||||||
port = "50051"
|
if {'claim_id', 'claim_ids'}.issubset(kwargs):
|
||||||
kwargs['new_sdk_server'] = f"{host}:{port}"
|
raise ConflictingInputValueError('claim_id', 'claim_ids')
|
||||||
if kwargs.get("channel"):
|
if kwargs.pop('valid_channel_signature', False):
|
||||||
channel = kwargs.pop("channel")
|
kwargs['signature_valid'] = 1
|
||||||
channel_obj = (await self.jsonrpc_resolve(channel))[channel]
|
if kwargs.pop('invalid_channel_signature', False):
|
||||||
if isinstance(channel_obj, dict):
|
kwargs['signature_valid'] = 0
|
||||||
# This happens when the channel doesn't exist
|
if 'has_no_source' in kwargs:
|
||||||
kwargs["channel_id"] = ""
|
kwargs['has_source'] = not kwargs.pop('has_no_source')
|
||||||
else:
|
if 'order_by' in kwargs: # TODO: remove this after removing support for old trending args from the api
|
||||||
kwargs["channel_id"] = channel_obj.claim_id
|
value = kwargs.pop('order_by')
|
||||||
kwargs = fix_kwargs_for_hub(**kwargs)
|
value = value if isinstance(value, list) else [value]
|
||||||
else:
|
new_value = []
|
||||||
# Don't do this if using the hub server, it screws everything up
|
for new_v in value:
|
||||||
if "claim_ids" in kwargs and not kwargs["claim_ids"]:
|
migrated = new_v if new_v not in (
|
||||||
kwargs.pop("claim_ids")
|
'trending_mixed', 'trending_local', 'trending_global', 'trending_group'
|
||||||
if {'claim_id', 'claim_ids'}.issubset(kwargs):
|
) else 'trending_score'
|
||||||
raise ConflictingInputValueError('claim_id', 'claim_ids')
|
if migrated not in new_value:
|
||||||
if kwargs.pop('valid_channel_signature', False):
|
new_value.append(migrated)
|
||||||
kwargs['signature_valid'] = 1
|
kwargs['order_by'] = new_value
|
||||||
if kwargs.pop('invalid_channel_signature', False):
|
|
||||||
kwargs['signature_valid'] = 0
|
|
||||||
if 'has_no_source' in kwargs:
|
|
||||||
kwargs['has_source'] = not kwargs.pop('has_no_source')
|
|
||||||
if 'order_by' in kwargs: # TODO: remove this after removing support for old trending args from the api
|
|
||||||
value = kwargs.pop('order_by')
|
|
||||||
value = value if isinstance(value, list) else [value]
|
|
||||||
new_value = []
|
|
||||||
for new_v in value:
|
|
||||||
migrated = new_v if new_v not in (
|
|
||||||
'trending_mixed', 'trending_local', 'trending_global', 'trending_group'
|
|
||||||
) else 'trending_score'
|
|
||||||
if migrated not in new_value:
|
|
||||||
new_value.append(migrated)
|
|
||||||
kwargs['order_by'] = new_value
|
|
||||||
page_num, page_size = abs(kwargs.pop('page', 1)), min(abs(kwargs.pop('page_size', DEFAULT_PAGE_SIZE)), 50)
|
page_num, page_size = abs(kwargs.pop('page', 1)), min(abs(kwargs.pop('page_size', DEFAULT_PAGE_SIZE)), 50)
|
||||||
wallet = self.wallet_manager.get_wallet_or_default(kwargs.pop('wallet_id', None))
|
wallet = self.wallet_manager.get_wallet_or_default(kwargs.pop('wallet_id', None))
|
||||||
kwargs.update({'offset': page_size * (page_num - 1), 'limit': page_size})
|
kwargs.update({'offset': page_size * (page_num - 1), 'limit': page_size})
|
||||||
|
|
|
@ -177,19 +177,6 @@ class Outputs:
|
||||||
outputs.blocked, outputs.blocked_total
|
outputs.blocked, outputs.blocked_total
|
||||||
)
|
)
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_grpc(cls, outputs: OutputsMessage) -> 'Outputs':
|
|
||||||
txs = set()
|
|
||||||
for txo_message in chain(outputs.txos, outputs.extra_txos):
|
|
||||||
if txo_message.WhichOneof('meta') == 'error':
|
|
||||||
continue
|
|
||||||
txs.add((hexlify(txo_message.tx_hash[::-1]).decode(), txo_message.height))
|
|
||||||
return cls(
|
|
||||||
outputs.txos, outputs.extra_txos, txs,
|
|
||||||
outputs.offset, outputs.total,
|
|
||||||
outputs.blocked, outputs.blocked_total
|
|
||||||
)
|
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def to_base64(cls, txo_rows, extra_txo_rows, offset=0, total=None, blocked=None) -> str:
|
def to_base64(cls, txo_rows, extra_txo_rows, offset=0, total=None, blocked=None) -> str:
|
||||||
return base64.b64encode(cls.to_bytes(txo_rows, extra_txo_rows, offset, total, blocked)).decode()
|
return base64.b64encode(cls.to_bytes(txo_rows, extra_txo_rows, offset, total, blocked)).decode()
|
||||||
|
|
|
@ -1,960 +0,0 @@
|
||||||
# -*- coding: utf-8 -*-
|
|
||||||
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
||||||
# source: hub.proto
|
|
||||||
"""Generated protocol buffer code."""
|
|
||||||
from google.protobuf import descriptor as _descriptor
|
|
||||||
from google.protobuf import message as _message
|
|
||||||
from google.protobuf import reflection as _reflection
|
|
||||||
from google.protobuf import symbol_database as _symbol_database
|
|
||||||
# @@protoc_insertion_point(imports)
|
|
||||||
|
|
||||||
_sym_db = _symbol_database.Default()
|
|
||||||
|
|
||||||
|
|
||||||
from . import result_pb2 as result__pb2
|
|
||||||
|
|
||||||
|
|
||||||
DESCRIPTOR = _descriptor.FileDescriptor(
|
|
||||||
name='hub.proto',
|
|
||||||
package='pb',
|
|
||||||
syntax='proto3',
|
|
||||||
serialized_options=b'Z$github.com/lbryio/hub/protobuf/go/pb',
|
|
||||||
create_key=_descriptor._internal_create_key,
|
|
||||||
serialized_pb=b'\n\thub.proto\x12\x02pb\x1a\x0cresult.proto\"\x0e\n\x0c\x45mptyMessage\".\n\rServerMessage\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12\x0c\n\x04port\x18\x02 \x01(\t\"N\n\x0cHelloMessage\x12\x0c\n\x04port\x18\x01 \x01(\t\x12\x0c\n\x04host\x18\x02 \x01(\t\x12\"\n\x07servers\x18\x03 \x03(\x0b\x32\x11.pb.ServerMessage\"0\n\x0fInvertibleField\x12\x0e\n\x06invert\x18\x01 \x01(\x08\x12\r\n\x05value\x18\x02 \x03(\t\"\x1c\n\x0bStringValue\x12\r\n\x05value\x18\x01 \x01(\t\"\x1a\n\tBoolValue\x12\r\n\x05value\x18\x01 \x01(\x08\"\x1c\n\x0bUInt32Value\x12\r\n\x05value\x18\x01 \x01(\r\"j\n\nRangeField\x12\x1d\n\x02op\x18\x01 \x01(\x0e\x32\x11.pb.RangeField.Op\x12\r\n\x05value\x18\x02 \x03(\x05\".\n\x02Op\x12\x06\n\x02\x45Q\x10\x00\x12\x07\n\x03LTE\x10\x01\x12\x07\n\x03GTE\x10\x02\x12\x06\n\x02LT\x10\x03\x12\x06\n\x02GT\x10\x04\"\x8e\x0c\n\rSearchRequest\x12%\n\x08\x63laim_id\x18\x01 \x01(\x0b\x32\x13.pb.InvertibleField\x12\'\n\nchannel_id\x18\x02 \x01(\x0b\x32\x13.pb.InvertibleField\x12\x0c\n\x04text\x18\x03 \x01(\t\x12\r\n\x05limit\x18\x04 \x01(\x05\x12\x10\n\x08order_by\x18\x05 \x03(\t\x12\x0e\n\x06offset\x18\x06 \x01(\r\x12\x16\n\x0eis_controlling\x18\x07 \x01(\x08\x12\x1d\n\x15last_take_over_height\x18\x08 \x01(\t\x12\x12\n\nclaim_name\x18\t \x01(\t\x12\x17\n\x0fnormalized_name\x18\n \x01(\t\x12#\n\x0btx_position\x18\x0b \x03(\x0b\x32\x0e.pb.RangeField\x12\x1e\n\x06\x61mount\x18\x0c \x03(\x0b\x32\x0e.pb.RangeField\x12!\n\ttimestamp\x18\r \x03(\x0b\x32\x0e.pb.RangeField\x12*\n\x12\x63reation_timestamp\x18\x0e \x03(\x0b\x32\x0e.pb.RangeField\x12\x1e\n\x06height\x18\x0f \x03(\x0b\x32\x0e.pb.RangeField\x12\'\n\x0f\x63reation_height\x18\x10 \x03(\x0b\x32\x0e.pb.RangeField\x12)\n\x11\x61\x63tivation_height\x18\x11 \x03(\x0b\x32\x0e.pb.RangeField\x12)\n\x11\x65xpiration_height\x18\x12 \x03(\x0b\x32\x0e.pb.RangeField\x12$\n\x0crelease_time\x18\x13 \x03(\x0b\x32\x0e.pb.RangeField\x12\x11\n\tshort_url\x18\x14 \x01(\t\x12\x15\n\rcanonical_url\x18\x15 \x01(\t\x12\r\n\x05title\x18\x16 \x01(\t\x12\x0e\n\x06\x61uthor\x18\x17 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x18 \x01(\t\x12\x12\n\nclaim_type\x18\x19 \x03(\t\x12$\n\x0crepost_count\x18\x1a \x03(\x0b\x32\x0e.pb.RangeField\x12\x13\n\x0bstream_type\x18\x1b \x03(\t\x12\x12\n\nmedia_type\x18\x1c \x03(\t\x12\"\n\nfee_amount\x18\x1d \x03(\x0b\x32\x0e.pb.RangeField\x12\x14\n\x0c\x66\x65\x65_currency\x18\x1e \x01(\t\x12 \n\x08\x64uration\x18\x1f \x03(\x0b\x32\x0e.pb.RangeField\x12\x19\n\x11reposted_claim_id\x18 \x01(\t\x12#\n\x0b\x63\x65nsor_type\x18! \x03(\x0b\x32\x0e.pb.RangeField\x12\x19\n\x11\x63laims_in_channel\x18\" \x01(\t\x12)\n\x12is_signature_valid\x18$ \x01(\x0b\x32\r.pb.BoolValue\x12(\n\x10\x65\x66\x66\x65\x63tive_amount\x18% \x03(\x0b\x32\x0e.pb.RangeField\x12&\n\x0esupport_amount\x18& \x03(\x0b\x32\x0e.pb.RangeField\x12&\n\x0etrending_score\x18\' \x03(\x0b\x32\x0e.pb.RangeField\x12\r\n\x05tx_id\x18+ \x01(\t\x12 \n\x07tx_nout\x18, \x01(\x0b\x32\x0f.pb.UInt32Value\x12\x11\n\tsignature\x18- \x01(\t\x12\x18\n\x10signature_digest\x18. \x01(\t\x12\x18\n\x10public_key_bytes\x18/ \x01(\t\x12\x15\n\rpublic_key_id\x18\x30 \x01(\t\x12\x10\n\x08\x61ny_tags\x18\x31 \x03(\t\x12\x10\n\x08\x61ll_tags\x18\x32 \x03(\t\x12\x10\n\x08not_tags\x18\x33 \x03(\t\x12\x1d\n\x15has_channel_signature\x18\x34 \x01(\x08\x12!\n\nhas_source\x18\x35 \x01(\x0b\x32\r.pb.BoolValue\x12 \n\x18limit_claims_per_channel\x18\x36 \x01(\x05\x12\x15\n\rany_languages\x18\x37 \x03(\t\x12\x15\n\rall_languages\x18\x38 \x03(\t\x12\x19\n\x11remove_duplicates\x18\x39 \x01(\x08\x12\x11\n\tno_totals\x18: \x01(\x08\x12\x0f\n\x07sd_hash\x18; \x01(\t2\x88\x03\n\x03Hub\x12*\n\x06Search\x12\x11.pb.SearchRequest\x1a\x0b.pb.Outputs\"\x00\x12+\n\x04Ping\x12\x10.pb.EmptyMessage\x1a\x0f.pb.StringValue\"\x00\x12-\n\x05Hello\x12\x10.pb.HelloMessage\x1a\x10.pb.HelloMessage\"\x00\x12/\n\x07\x41\x64\x64Peer\x12\x11.pb.ServerMessage\x1a\x0f.pb.StringValue\"\x00\x12\x35\n\rPeerSubscribe\x12\x11.pb.ServerMessage\x1a\x0f.pb.StringValue\"\x00\x12.\n\x07Version\x12\x10.pb.EmptyMessage\x1a\x0f.pb.StringValue\"\x00\x12/\n\x08\x46\x65\x61tures\x12\x10.pb.EmptyMessage\x1a\x0f.pb.StringValue\"\x00\x12\x30\n\tBroadcast\x12\x10.pb.EmptyMessage\x1a\x0f.pb.UInt32Value\"\x00\x42&Z$github.com/lbryio/hub/protobuf/go/pbb\x06proto3'
|
|
||||||
,
|
|
||||||
dependencies=[result__pb2.DESCRIPTOR,])
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
_RANGEFIELD_OP = _descriptor.EnumDescriptor(
|
|
||||||
name='Op',
|
|
||||||
full_name='pb.RangeField.Op',
|
|
||||||
filename=None,
|
|
||||||
file=DESCRIPTOR,
|
|
||||||
create_key=_descriptor._internal_create_key,
|
|
||||||
values=[
|
|
||||||
_descriptor.EnumValueDescriptor(
|
|
||||||
name='EQ', index=0, number=0,
|
|
||||||
serialized_options=None,
|
|
||||||
type=None,
|
|
||||||
create_key=_descriptor._internal_create_key),
|
|
||||||
_descriptor.EnumValueDescriptor(
|
|
||||||
name='LTE', index=1, number=1,
|
|
||||||
serialized_options=None,
|
|
||||||
type=None,
|
|
||||||
create_key=_descriptor._internal_create_key),
|
|
||||||
_descriptor.EnumValueDescriptor(
|
|
||||||
name='GTE', index=2, number=2,
|
|
||||||
serialized_options=None,
|
|
||||||
type=None,
|
|
||||||
create_key=_descriptor._internal_create_key),
|
|
||||||
_descriptor.EnumValueDescriptor(
|
|
||||||
name='LT', index=3, number=3,
|
|
||||||
serialized_options=None,
|
|
||||||
type=None,
|
|
||||||
create_key=_descriptor._internal_create_key),
|
|
||||||
_descriptor.EnumValueDescriptor(
|
|
||||||
name='GT', index=4, number=4,
|
|
||||||
serialized_options=None,
|
|
||||||
type=None,
|
|
||||||
create_key=_descriptor._internal_create_key),
|
|
||||||
],
|
|
||||||
containing_type=None,
|
|
||||||
serialized_options=None,
|
|
||||||
serialized_start=373,
|
|
||||||
serialized_end=419,
|
|
||||||
)
|
|
||||||
_sym_db.RegisterEnumDescriptor(_RANGEFIELD_OP)
|
|
||||||
|
|
||||||
|
|
||||||
_EMPTYMESSAGE = _descriptor.Descriptor(
|
|
||||||
name='EmptyMessage',
|
|
||||||
full_name='pb.EmptyMessage',
|
|
||||||
filename=None,
|
|
||||||
file=DESCRIPTOR,
|
|
||||||
containing_type=None,
|
|
||||||
create_key=_descriptor._internal_create_key,
|
|
||||||
fields=[
|
|
||||||
],
|
|
||||||
extensions=[
|
|
||||||
],
|
|
||||||
nested_types=[],
|
|
||||||
enum_types=[
|
|
||||||
],
|
|
||||||
serialized_options=None,
|
|
||||||
is_extendable=False,
|
|
||||||
syntax='proto3',
|
|
||||||
extension_ranges=[],
|
|
||||||
oneofs=[
|
|
||||||
],
|
|
||||||
serialized_start=31,
|
|
||||||
serialized_end=45,
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
_SERVERMESSAGE = _descriptor.Descriptor(
|
|
||||||
name='ServerMessage',
|
|
||||||
full_name='pb.ServerMessage',
|
|
||||||
filename=None,
|
|
||||||
file=DESCRIPTOR,
|
|
||||||
containing_type=None,
|
|
||||||
create_key=_descriptor._internal_create_key,
|
|
||||||
fields=[
|
|
||||||
_descriptor.FieldDescriptor(
|
|
||||||
name='address', full_name='pb.ServerMessage.address', index=0,
|
|
||||||
number=1, type=9, cpp_type=9, label=1,
|
|
||||||
has_default_value=False, default_value=b"".decode('utf-8'),
|
|
||||||
message_type=None, enum_type=None, containing_type=None,
|
|
||||||
is_extension=False, extension_scope=None,
|
|
||||||
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
|
|
||||||
_descriptor.FieldDescriptor(
|
|
||||||
name='port', full_name='pb.ServerMessage.port', index=1,
|
|
||||||
number=2, type=9, cpp_type=9, label=1,
|
|
||||||
has_default_value=False, default_value=b"".decode('utf-8'),
|
|
||||||
message_type=None, enum_type=None, containing_type=None,
|
|
||||||
is_extension=False, extension_scope=None,
|
|
||||||
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
|
|
||||||
],
|
|
||||||
extensions=[
|
|
||||||
],
|
|
||||||
nested_types=[],
|
|
||||||
enum_types=[
|
|
||||||
],
|
|
||||||
serialized_options=None,
|
|
||||||
is_extendable=False,
|
|
||||||
syntax='proto3',
|
|
||||||
extension_ranges=[],
|
|
||||||
oneofs=[
|
|
||||||
],
|
|
||||||
serialized_start=47,
|
|
||||||
serialized_end=93,
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
_HELLOMESSAGE = _descriptor.Descriptor(
|
|
||||||
name='HelloMessage',
|
|
||||||
full_name='pb.HelloMessage',
|
|
||||||
filename=None,
|
|
||||||
file=DESCRIPTOR,
|
|
||||||
containing_type=None,
|
|
||||||
create_key=_descriptor._internal_create_key,
|
|
||||||
fields=[
|
|
||||||
_descriptor.FieldDescriptor(
|
|
||||||
name='port', full_name='pb.HelloMessage.port', index=0,
|
|
||||||
number=1, type=9, cpp_type=9, label=1,
|
|
||||||
has_default_value=False, default_value=b"".decode('utf-8'),
|
|
||||||
message_type=None, enum_type=None, containing_type=None,
|
|
||||||
is_extension=False, extension_scope=None,
|
|
||||||
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
|
|
||||||
_descriptor.FieldDescriptor(
|
|
||||||
name='host', full_name='pb.HelloMessage.host', index=1,
|
|
||||||
number=2, type=9, cpp_type=9, label=1,
|
|
||||||
has_default_value=False, default_value=b"".decode('utf-8'),
|
|
||||||
message_type=None, enum_type=None, containing_type=None,
|
|
||||||
is_extension=False, extension_scope=None,
|
|
||||||
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
|
|
||||||
_descriptor.FieldDescriptor(
|
|
||||||
name='servers', full_name='pb.HelloMessage.servers', index=2,
|
|
||||||
number=3, type=11, cpp_type=10, label=3,
|
|
||||||
has_default_value=False, default_value=[],
|
|
||||||
message_type=None, enum_type=None, containing_type=None,
|
|
||||||
is_extension=False, extension_scope=None,
|
|
||||||
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
|
|
||||||
],
|
|
||||||
extensions=[
|
|
||||||
],
|
|
||||||
nested_types=[],
|
|
||||||
enum_types=[
|
|
||||||
],
|
|
||||||
serialized_options=None,
|
|
||||||
is_extendable=False,
|
|
||||||
syntax='proto3',
|
|
||||||
extension_ranges=[],
|
|
||||||
oneofs=[
|
|
||||||
],
|
|
||||||
serialized_start=95,
|
|
||||||
serialized_end=173,
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
_INVERTIBLEFIELD = _descriptor.Descriptor(
|
|
||||||
name='InvertibleField',
|
|
||||||
full_name='pb.InvertibleField',
|
|
||||||
filename=None,
|
|
||||||
file=DESCRIPTOR,
|
|
||||||
containing_type=None,
|
|
||||||
create_key=_descriptor._internal_create_key,
|
|
||||||
fields=[
|
|
||||||
_descriptor.FieldDescriptor(
|
|
||||||
name='invert', full_name='pb.InvertibleField.invert', index=0,
|
|
||||||
number=1, type=8, cpp_type=7, label=1,
|
|
||||||
has_default_value=False, default_value=False,
|
|
||||||
message_type=None, enum_type=None, containing_type=None,
|
|
||||||
is_extension=False, extension_scope=None,
|
|
||||||
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
|
|
||||||
_descriptor.FieldDescriptor(
|
|
||||||
name='value', full_name='pb.InvertibleField.value', index=1,
|
|
||||||
number=2, type=9, cpp_type=9, label=3,
|
|
||||||
has_default_value=False, default_value=[],
|
|
||||||
message_type=None, enum_type=None, containing_type=None,
|
|
||||||
is_extension=False, extension_scope=None,
|
|
||||||
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
|
|
||||||
],
|
|
||||||
extensions=[
|
|
||||||
],
|
|
||||||
nested_types=[],
|
|
||||||
enum_types=[
|
|
||||||
],
|
|
||||||
serialized_options=None,
|
|
||||||
is_extendable=False,
|
|
||||||
syntax='proto3',
|
|
||||||
extension_ranges=[],
|
|
||||||
oneofs=[
|
|
||||||
],
|
|
||||||
serialized_start=175,
|
|
||||||
serialized_end=223,
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
_STRINGVALUE = _descriptor.Descriptor(
|
|
||||||
name='StringValue',
|
|
||||||
full_name='pb.StringValue',
|
|
||||||
filename=None,
|
|
||||||
file=DESCRIPTOR,
|
|
||||||
containing_type=None,
|
|
||||||
create_key=_descriptor._internal_create_key,
|
|
||||||
fields=[
|
|
||||||
_descriptor.FieldDescriptor(
|
|
||||||
name='value', full_name='pb.StringValue.value', index=0,
|
|
||||||
number=1, type=9, cpp_type=9, label=1,
|
|
||||||
has_default_value=False, default_value=b"".decode('utf-8'),
|
|
||||||
message_type=None, enum_type=None, containing_type=None,
|
|
||||||
is_extension=False, extension_scope=None,
|
|
||||||
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
|
|
||||||
],
|
|
||||||
extensions=[
|
|
||||||
],
|
|
||||||
nested_types=[],
|
|
||||||
enum_types=[
|
|
||||||
],
|
|
||||||
serialized_options=None,
|
|
||||||
is_extendable=False,
|
|
||||||
syntax='proto3',
|
|
||||||
extension_ranges=[],
|
|
||||||
oneofs=[
|
|
||||||
],
|
|
||||||
serialized_start=225,
|
|
||||||
serialized_end=253,
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
_BOOLVALUE = _descriptor.Descriptor(
|
|
||||||
name='BoolValue',
|
|
||||||
full_name='pb.BoolValue',
|
|
||||||
filename=None,
|
|
||||||
file=DESCRIPTOR,
|
|
||||||
containing_type=None,
|
|
||||||
create_key=_descriptor._internal_create_key,
|
|
||||||
fields=[
|
|
||||||
_descriptor.FieldDescriptor(
|
|
||||||
name='value', full_name='pb.BoolValue.value', index=0,
|
|
||||||
number=1, type=8, cpp_type=7, label=1,
|
|
||||||
has_default_value=False, default_value=False,
|
|
||||||
message_type=None, enum_type=None, containing_type=None,
|
|
||||||
is_extension=False, extension_scope=None,
|
|
||||||
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
|
|
||||||
],
|
|
||||||
extensions=[
|
|
||||||
],
|
|
||||||
nested_types=[],
|
|
||||||
enum_types=[
|
|
||||||
],
|
|
||||||
serialized_options=None,
|
|
||||||
is_extendable=False,
|
|
||||||
syntax='proto3',
|
|
||||||
extension_ranges=[],
|
|
||||||
oneofs=[
|
|
||||||
],
|
|
||||||
serialized_start=255,
|
|
||||||
serialized_end=281,
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
_UINT32VALUE = _descriptor.Descriptor(
|
|
||||||
name='UInt32Value',
|
|
||||||
full_name='pb.UInt32Value',
|
|
||||||
filename=None,
|
|
||||||
file=DESCRIPTOR,
|
|
||||||
containing_type=None,
|
|
||||||
create_key=_descriptor._internal_create_key,
|
|
||||||
fields=[
|
|
||||||
_descriptor.FieldDescriptor(
|
|
||||||
name='value', full_name='pb.UInt32Value.value', index=0,
|
|
||||||
number=1, type=13, cpp_type=3, label=1,
|
|
||||||
has_default_value=False, default_value=0,
|
|
||||||
message_type=None, enum_type=None, containing_type=None,
|
|
||||||
is_extension=False, extension_scope=None,
|
|
||||||
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
|
|
||||||
],
|
|
||||||
extensions=[
|
|
||||||
],
|
|
||||||
nested_types=[],
|
|
||||||
enum_types=[
|
|
||||||
],
|
|
||||||
serialized_options=None,
|
|
||||||
is_extendable=False,
|
|
||||||
syntax='proto3',
|
|
||||||
extension_ranges=[],
|
|
||||||
oneofs=[
|
|
||||||
],
|
|
||||||
serialized_start=283,
|
|
||||||
serialized_end=311,
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
_RANGEFIELD = _descriptor.Descriptor(
|
|
||||||
name='RangeField',
|
|
||||||
full_name='pb.RangeField',
|
|
||||||
filename=None,
|
|
||||||
file=DESCRIPTOR,
|
|
||||||
containing_type=None,
|
|
||||||
create_key=_descriptor._internal_create_key,
|
|
||||||
fields=[
|
|
||||||
_descriptor.FieldDescriptor(
|
|
||||||
name='op', full_name='pb.RangeField.op', index=0,
|
|
||||||
number=1, type=14, cpp_type=8, label=1,
|
|
||||||
has_default_value=False, default_value=0,
|
|
||||||
message_type=None, enum_type=None, containing_type=None,
|
|
||||||
is_extension=False, extension_scope=None,
|
|
||||||
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
|
|
||||||
_descriptor.FieldDescriptor(
|
|
||||||
name='value', full_name='pb.RangeField.value', index=1,
|
|
||||||
number=2, type=5, cpp_type=1, label=3,
|
|
||||||
has_default_value=False, default_value=[],
|
|
||||||
message_type=None, enum_type=None, containing_type=None,
|
|
||||||
is_extension=False, extension_scope=None,
|
|
||||||
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
|
|
||||||
],
|
|
||||||
extensions=[
|
|
||||||
],
|
|
||||||
nested_types=[],
|
|
||||||
enum_types=[
|
|
||||||
_RANGEFIELD_OP,
|
|
||||||
],
|
|
||||||
serialized_options=None,
|
|
||||||
is_extendable=False,
|
|
||||||
syntax='proto3',
|
|
||||||
extension_ranges=[],
|
|
||||||
oneofs=[
|
|
||||||
],
|
|
||||||
serialized_start=313,
|
|
||||||
serialized_end=419,
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
_SEARCHREQUEST = _descriptor.Descriptor(
|
|
||||||
name='SearchRequest',
|
|
||||||
full_name='pb.SearchRequest',
|
|
||||||
filename=None,
|
|
||||||
file=DESCRIPTOR,
|
|
||||||
containing_type=None,
|
|
||||||
create_key=_descriptor._internal_create_key,
|
|
||||||
fields=[
|
|
||||||
_descriptor.FieldDescriptor(
|
|
||||||
name='claim_id', full_name='pb.SearchRequest.claim_id', index=0,
|
|
||||||
number=1, type=11, cpp_type=10, label=1,
|
|
||||||
has_default_value=False, default_value=None,
|
|
||||||
message_type=None, enum_type=None, containing_type=None,
|
|
||||||
is_extension=False, extension_scope=None,
|
|
||||||
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
|
|
||||||
_descriptor.FieldDescriptor(
|
|
||||||
name='channel_id', full_name='pb.SearchRequest.channel_id', index=1,
|
|
||||||
number=2, type=11, cpp_type=10, label=1,
|
|
||||||
has_default_value=False, default_value=None,
|
|
||||||
message_type=None, enum_type=None, containing_type=None,
|
|
||||||
is_extension=False, extension_scope=None,
|
|
||||||
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
|
|
||||||
_descriptor.FieldDescriptor(
|
|
||||||
name='text', full_name='pb.SearchRequest.text', index=2,
|
|
||||||
number=3, type=9, cpp_type=9, label=1,
|
|
||||||
has_default_value=False, default_value=b"".decode('utf-8'),
|
|
||||||
message_type=None, enum_type=None, containing_type=None,
|
|
||||||
is_extension=False, extension_scope=None,
|
|
||||||
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
|
|
||||||
_descriptor.FieldDescriptor(
|
|
||||||
name='limit', full_name='pb.SearchRequest.limit', index=3,
|
|
||||||
number=4, type=5, cpp_type=1, label=1,
|
|
||||||
has_default_value=False, default_value=0,
|
|
||||||
message_type=None, enum_type=None, containing_type=None,
|
|
||||||
is_extension=False, extension_scope=None,
|
|
||||||
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
|
|
||||||
_descriptor.FieldDescriptor(
|
|
||||||
name='order_by', full_name='pb.SearchRequest.order_by', index=4,
|
|
||||||
number=5, type=9, cpp_type=9, label=3,
|
|
||||||
has_default_value=False, default_value=[],
|
|
||||||
message_type=None, enum_type=None, containing_type=None,
|
|
||||||
is_extension=False, extension_scope=None,
|
|
||||||
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
|
|
||||||
_descriptor.FieldDescriptor(
|
|
||||||
name='offset', full_name='pb.SearchRequest.offset', index=5,
|
|
||||||
number=6, type=13, cpp_type=3, label=1,
|
|
||||||
has_default_value=False, default_value=0,
|
|
||||||
message_type=None, enum_type=None, containing_type=None,
|
|
||||||
is_extension=False, extension_scope=None,
|
|
||||||
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
|
|
||||||
_descriptor.FieldDescriptor(
|
|
||||||
name='is_controlling', full_name='pb.SearchRequest.is_controlling', index=6,
|
|
||||||
number=7, type=8, cpp_type=7, label=1,
|
|
||||||
has_default_value=False, default_value=False,
|
|
||||||
message_type=None, enum_type=None, containing_type=None,
|
|
||||||
is_extension=False, extension_scope=None,
|
|
||||||
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
|
|
||||||
_descriptor.FieldDescriptor(
|
|
||||||
name='last_take_over_height', full_name='pb.SearchRequest.last_take_over_height', index=7,
|
|
||||||
number=8, type=9, cpp_type=9, label=1,
|
|
||||||
has_default_value=False, default_value=b"".decode('utf-8'),
|
|
||||||
message_type=None, enum_type=None, containing_type=None,
|
|
||||||
is_extension=False, extension_scope=None,
|
|
||||||
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
|
|
||||||
_descriptor.FieldDescriptor(
|
|
||||||
name='claim_name', full_name='pb.SearchRequest.claim_name', index=8,
|
|
||||||
number=9, type=9, cpp_type=9, label=1,
|
|
||||||
has_default_value=False, default_value=b"".decode('utf-8'),
|
|
||||||
message_type=None, enum_type=None, containing_type=None,
|
|
||||||
is_extension=False, extension_scope=None,
|
|
||||||
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
|
|
||||||
_descriptor.FieldDescriptor(
|
|
||||||
name='normalized_name', full_name='pb.SearchRequest.normalized_name', index=9,
|
|
||||||
number=10, type=9, cpp_type=9, label=1,
|
|
||||||
has_default_value=False, default_value=b"".decode('utf-8'),
|
|
||||||
message_type=None, enum_type=None, containing_type=None,
|
|
||||||
is_extension=False, extension_scope=None,
|
|
||||||
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
|
|
||||||
_descriptor.FieldDescriptor(
|
|
||||||
name='tx_position', full_name='pb.SearchRequest.tx_position', index=10,
|
|
||||||
number=11, type=11, cpp_type=10, label=3,
|
|
||||||
has_default_value=False, default_value=[],
|
|
||||||
message_type=None, enum_type=None, containing_type=None,
|
|
||||||
is_extension=False, extension_scope=None,
|
|
||||||
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
|
|
||||||
_descriptor.FieldDescriptor(
|
|
||||||
name='amount', full_name='pb.SearchRequest.amount', index=11,
|
|
||||||
number=12, type=11, cpp_type=10, label=3,
|
|
||||||
has_default_value=False, default_value=[],
|
|
||||||
message_type=None, enum_type=None, containing_type=None,
|
|
||||||
is_extension=False, extension_scope=None,
|
|
||||||
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
|
|
||||||
_descriptor.FieldDescriptor(
|
|
||||||
name='timestamp', full_name='pb.SearchRequest.timestamp', index=12,
|
|
||||||
number=13, type=11, cpp_type=10, label=3,
|
|
||||||
has_default_value=False, default_value=[],
|
|
||||||
message_type=None, enum_type=None, containing_type=None,
|
|
||||||
is_extension=False, extension_scope=None,
|
|
||||||
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
|
|
||||||
_descriptor.FieldDescriptor(
|
|
||||||
name='creation_timestamp', full_name='pb.SearchRequest.creation_timestamp', index=13,
|
|
||||||
number=14, type=11, cpp_type=10, label=3,
|
|
||||||
has_default_value=False, default_value=[],
|
|
||||||
message_type=None, enum_type=None, containing_type=None,
|
|
||||||
is_extension=False, extension_scope=None,
|
|
||||||
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
|
|
||||||
_descriptor.FieldDescriptor(
|
|
||||||
name='height', full_name='pb.SearchRequest.height', index=14,
|
|
||||||
number=15, type=11, cpp_type=10, label=3,
|
|
||||||
has_default_value=False, default_value=[],
|
|
||||||
message_type=None, enum_type=None, containing_type=None,
|
|
||||||
is_extension=False, extension_scope=None,
|
|
||||||
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
|
|
||||||
_descriptor.FieldDescriptor(
|
|
||||||
name='creation_height', full_name='pb.SearchRequest.creation_height', index=15,
|
|
||||||
number=16, type=11, cpp_type=10, label=3,
|
|
||||||
has_default_value=False, default_value=[],
|
|
||||||
message_type=None, enum_type=None, containing_type=None,
|
|
||||||
is_extension=False, extension_scope=None,
|
|
||||||
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
|
|
||||||
_descriptor.FieldDescriptor(
|
|
||||||
name='activation_height', full_name='pb.SearchRequest.activation_height', index=16,
|
|
||||||
number=17, type=11, cpp_type=10, label=3,
|
|
||||||
has_default_value=False, default_value=[],
|
|
||||||
message_type=None, enum_type=None, containing_type=None,
|
|
||||||
is_extension=False, extension_scope=None,
|
|
||||||
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
|
|
||||||
_descriptor.FieldDescriptor(
|
|
||||||
name='expiration_height', full_name='pb.SearchRequest.expiration_height', index=17,
|
|
||||||
number=18, type=11, cpp_type=10, label=3,
|
|
||||||
has_default_value=False, default_value=[],
|
|
||||||
message_type=None, enum_type=None, containing_type=None,
|
|
||||||
is_extension=False, extension_scope=None,
|
|
||||||
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
|
|
||||||
_descriptor.FieldDescriptor(
|
|
||||||
name='release_time', full_name='pb.SearchRequest.release_time', index=18,
|
|
||||||
number=19, type=11, cpp_type=10, label=3,
|
|
||||||
has_default_value=False, default_value=[],
|
|
||||||
message_type=None, enum_type=None, containing_type=None,
|
|
||||||
is_extension=False, extension_scope=None,
|
|
||||||
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
|
|
||||||
_descriptor.FieldDescriptor(
|
|
||||||
name='short_url', full_name='pb.SearchRequest.short_url', index=19,
|
|
||||||
number=20, type=9, cpp_type=9, label=1,
|
|
||||||
has_default_value=False, default_value=b"".decode('utf-8'),
|
|
||||||
message_type=None, enum_type=None, containing_type=None,
|
|
||||||
is_extension=False, extension_scope=None,
|
|
||||||
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
|
|
||||||
_descriptor.FieldDescriptor(
|
|
||||||
name='canonical_url', full_name='pb.SearchRequest.canonical_url', index=20,
|
|
||||||
number=21, type=9, cpp_type=9, label=1,
|
|
||||||
has_default_value=False, default_value=b"".decode('utf-8'),
|
|
||||||
message_type=None, enum_type=None, containing_type=None,
|
|
||||||
is_extension=False, extension_scope=None,
|
|
||||||
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
|
|
||||||
_descriptor.FieldDescriptor(
|
|
||||||
name='title', full_name='pb.SearchRequest.title', index=21,
|
|
||||||
number=22, type=9, cpp_type=9, label=1,
|
|
||||||
has_default_value=False, default_value=b"".decode('utf-8'),
|
|
||||||
message_type=None, enum_type=None, containing_type=None,
|
|
||||||
is_extension=False, extension_scope=None,
|
|
||||||
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
|
|
||||||
_descriptor.FieldDescriptor(
|
|
||||||
name='author', full_name='pb.SearchRequest.author', index=22,
|
|
||||||
number=23, type=9, cpp_type=9, label=1,
|
|
||||||
has_default_value=False, default_value=b"".decode('utf-8'),
|
|
||||||
message_type=None, enum_type=None, containing_type=None,
|
|
||||||
is_extension=False, extension_scope=None,
|
|
||||||
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
|
|
||||||
_descriptor.FieldDescriptor(
|
|
||||||
name='description', full_name='pb.SearchRequest.description', index=23,
|
|
||||||
number=24, type=9, cpp_type=9, label=1,
|
|
||||||
has_default_value=False, default_value=b"".decode('utf-8'),
|
|
||||||
message_type=None, enum_type=None, containing_type=None,
|
|
||||||
is_extension=False, extension_scope=None,
|
|
||||||
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
|
|
||||||
_descriptor.FieldDescriptor(
|
|
||||||
name='claim_type', full_name='pb.SearchRequest.claim_type', index=24,
|
|
||||||
number=25, type=9, cpp_type=9, label=3,
|
|
||||||
has_default_value=False, default_value=[],
|
|
||||||
message_type=None, enum_type=None, containing_type=None,
|
|
||||||
is_extension=False, extension_scope=None,
|
|
||||||
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
|
|
||||||
_descriptor.FieldDescriptor(
|
|
||||||
name='repost_count', full_name='pb.SearchRequest.repost_count', index=25,
|
|
||||||
number=26, type=11, cpp_type=10, label=3,
|
|
||||||
has_default_value=False, default_value=[],
|
|
||||||
message_type=None, enum_type=None, containing_type=None,
|
|
||||||
is_extension=False, extension_scope=None,
|
|
||||||
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
|
|
||||||
_descriptor.FieldDescriptor(
|
|
||||||
name='stream_type', full_name='pb.SearchRequest.stream_type', index=26,
|
|
||||||
number=27, type=9, cpp_type=9, label=3,
|
|
||||||
has_default_value=False, default_value=[],
|
|
||||||
message_type=None, enum_type=None, containing_type=None,
|
|
||||||
is_extension=False, extension_scope=None,
|
|
||||||
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
|
|
||||||
_descriptor.FieldDescriptor(
|
|
||||||
name='media_type', full_name='pb.SearchRequest.media_type', index=27,
|
|
||||||
number=28, type=9, cpp_type=9, label=3,
|
|
||||||
has_default_value=False, default_value=[],
|
|
||||||
message_type=None, enum_type=None, containing_type=None,
|
|
||||||
is_extension=False, extension_scope=None,
|
|
||||||
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
|
|
||||||
_descriptor.FieldDescriptor(
|
|
||||||
name='fee_amount', full_name='pb.SearchRequest.fee_amount', index=28,
|
|
||||||
number=29, type=11, cpp_type=10, label=3,
|
|
||||||
has_default_value=False, default_value=[],
|
|
||||||
message_type=None, enum_type=None, containing_type=None,
|
|
||||||
is_extension=False, extension_scope=None,
|
|
||||||
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
|
|
||||||
_descriptor.FieldDescriptor(
|
|
||||||
name='fee_currency', full_name='pb.SearchRequest.fee_currency', index=29,
|
|
||||||
number=30, type=9, cpp_type=9, label=1,
|
|
||||||
has_default_value=False, default_value=b"".decode('utf-8'),
|
|
||||||
message_type=None, enum_type=None, containing_type=None,
|
|
||||||
is_extension=False, extension_scope=None,
|
|
||||||
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
|
|
||||||
_descriptor.FieldDescriptor(
|
|
||||||
name='duration', full_name='pb.SearchRequest.duration', index=30,
|
|
||||||
number=31, type=11, cpp_type=10, label=3,
|
|
||||||
has_default_value=False, default_value=[],
|
|
||||||
message_type=None, enum_type=None, containing_type=None,
|
|
||||||
is_extension=False, extension_scope=None,
|
|
||||||
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
|
|
||||||
_descriptor.FieldDescriptor(
|
|
||||||
name='reposted_claim_id', full_name='pb.SearchRequest.reposted_claim_id', index=31,
|
|
||||||
number=32, type=9, cpp_type=9, label=1,
|
|
||||||
has_default_value=False, default_value=b"".decode('utf-8'),
|
|
||||||
message_type=None, enum_type=None, containing_type=None,
|
|
||||||
is_extension=False, extension_scope=None,
|
|
||||||
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
|
|
||||||
_descriptor.FieldDescriptor(
|
|
||||||
name='censor_type', full_name='pb.SearchRequest.censor_type', index=32,
|
|
||||||
number=33, type=11, cpp_type=10, label=3,
|
|
||||||
has_default_value=False, default_value=[],
|
|
||||||
message_type=None, enum_type=None, containing_type=None,
|
|
||||||
is_extension=False, extension_scope=None,
|
|
||||||
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
|
|
||||||
_descriptor.FieldDescriptor(
|
|
||||||
name='claims_in_channel', full_name='pb.SearchRequest.claims_in_channel', index=33,
|
|
||||||
number=34, type=9, cpp_type=9, label=1,
|
|
||||||
has_default_value=False, default_value=b"".decode('utf-8'),
|
|
||||||
message_type=None, enum_type=None, containing_type=None,
|
|
||||||
is_extension=False, extension_scope=None,
|
|
||||||
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
|
|
||||||
_descriptor.FieldDescriptor(
|
|
||||||
name='is_signature_valid', full_name='pb.SearchRequest.is_signature_valid', index=34,
|
|
||||||
number=36, type=11, cpp_type=10, label=1,
|
|
||||||
has_default_value=False, default_value=None,
|
|
||||||
message_type=None, enum_type=None, containing_type=None,
|
|
||||||
is_extension=False, extension_scope=None,
|
|
||||||
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
|
|
||||||
_descriptor.FieldDescriptor(
|
|
||||||
name='effective_amount', full_name='pb.SearchRequest.effective_amount', index=35,
|
|
||||||
number=37, type=11, cpp_type=10, label=3,
|
|
||||||
has_default_value=False, default_value=[],
|
|
||||||
message_type=None, enum_type=None, containing_type=None,
|
|
||||||
is_extension=False, extension_scope=None,
|
|
||||||
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
|
|
||||||
_descriptor.FieldDescriptor(
|
|
||||||
name='support_amount', full_name='pb.SearchRequest.support_amount', index=36,
|
|
||||||
number=38, type=11, cpp_type=10, label=3,
|
|
||||||
has_default_value=False, default_value=[],
|
|
||||||
message_type=None, enum_type=None, containing_type=None,
|
|
||||||
is_extension=False, extension_scope=None,
|
|
||||||
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
|
|
||||||
_descriptor.FieldDescriptor(
|
|
||||||
name='trending_score', full_name='pb.SearchRequest.trending_score', index=37,
|
|
||||||
number=39, type=11, cpp_type=10, label=3,
|
|
||||||
has_default_value=False, default_value=[],
|
|
||||||
message_type=None, enum_type=None, containing_type=None,
|
|
||||||
is_extension=False, extension_scope=None,
|
|
||||||
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
|
|
||||||
_descriptor.FieldDescriptor(
|
|
||||||
name='tx_id', full_name='pb.SearchRequest.tx_id', index=38,
|
|
||||||
number=43, type=9, cpp_type=9, label=1,
|
|
||||||
has_default_value=False, default_value=b"".decode('utf-8'),
|
|
||||||
message_type=None, enum_type=None, containing_type=None,
|
|
||||||
is_extension=False, extension_scope=None,
|
|
||||||
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
|
|
||||||
_descriptor.FieldDescriptor(
|
|
||||||
name='tx_nout', full_name='pb.SearchRequest.tx_nout', index=39,
|
|
||||||
number=44, type=11, cpp_type=10, label=1,
|
|
||||||
has_default_value=False, default_value=None,
|
|
||||||
message_type=None, enum_type=None, containing_type=None,
|
|
||||||
is_extension=False, extension_scope=None,
|
|
||||||
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
|
|
||||||
_descriptor.FieldDescriptor(
|
|
||||||
name='signature', full_name='pb.SearchRequest.signature', index=40,
|
|
||||||
number=45, type=9, cpp_type=9, label=1,
|
|
||||||
has_default_value=False, default_value=b"".decode('utf-8'),
|
|
||||||
message_type=None, enum_type=None, containing_type=None,
|
|
||||||
is_extension=False, extension_scope=None,
|
|
||||||
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
|
|
||||||
_descriptor.FieldDescriptor(
|
|
||||||
name='signature_digest', full_name='pb.SearchRequest.signature_digest', index=41,
|
|
||||||
number=46, type=9, cpp_type=9, label=1,
|
|
||||||
has_default_value=False, default_value=b"".decode('utf-8'),
|
|
||||||
message_type=None, enum_type=None, containing_type=None,
|
|
||||||
is_extension=False, extension_scope=None,
|
|
||||||
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
|
|
||||||
_descriptor.FieldDescriptor(
|
|
||||||
name='public_key_bytes', full_name='pb.SearchRequest.public_key_bytes', index=42,
|
|
||||||
number=47, type=9, cpp_type=9, label=1,
|
|
||||||
has_default_value=False, default_value=b"".decode('utf-8'),
|
|
||||||
message_type=None, enum_type=None, containing_type=None,
|
|
||||||
is_extension=False, extension_scope=None,
|
|
||||||
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
|
|
||||||
_descriptor.FieldDescriptor(
|
|
||||||
name='public_key_id', full_name='pb.SearchRequest.public_key_id', index=43,
|
|
||||||
number=48, type=9, cpp_type=9, label=1,
|
|
||||||
has_default_value=False, default_value=b"".decode('utf-8'),
|
|
||||||
message_type=None, enum_type=None, containing_type=None,
|
|
||||||
is_extension=False, extension_scope=None,
|
|
||||||
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
|
|
||||||
_descriptor.FieldDescriptor(
|
|
||||||
name='any_tags', full_name='pb.SearchRequest.any_tags', index=44,
|
|
||||||
number=49, type=9, cpp_type=9, label=3,
|
|
||||||
has_default_value=False, default_value=[],
|
|
||||||
message_type=None, enum_type=None, containing_type=None,
|
|
||||||
is_extension=False, extension_scope=None,
|
|
||||||
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
|
|
||||||
_descriptor.FieldDescriptor(
|
|
||||||
name='all_tags', full_name='pb.SearchRequest.all_tags', index=45,
|
|
||||||
number=50, type=9, cpp_type=9, label=3,
|
|
||||||
has_default_value=False, default_value=[],
|
|
||||||
message_type=None, enum_type=None, containing_type=None,
|
|
||||||
is_extension=False, extension_scope=None,
|
|
||||||
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
|
|
||||||
_descriptor.FieldDescriptor(
|
|
||||||
name='not_tags', full_name='pb.SearchRequest.not_tags', index=46,
|
|
||||||
number=51, type=9, cpp_type=9, label=3,
|
|
||||||
has_default_value=False, default_value=[],
|
|
||||||
message_type=None, enum_type=None, containing_type=None,
|
|
||||||
is_extension=False, extension_scope=None,
|
|
||||||
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
|
|
||||||
_descriptor.FieldDescriptor(
|
|
||||||
name='has_channel_signature', full_name='pb.SearchRequest.has_channel_signature', index=47,
|
|
||||||
number=52, type=8, cpp_type=7, label=1,
|
|
||||||
has_default_value=False, default_value=False,
|
|
||||||
message_type=None, enum_type=None, containing_type=None,
|
|
||||||
is_extension=False, extension_scope=None,
|
|
||||||
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
|
|
||||||
_descriptor.FieldDescriptor(
|
|
||||||
name='has_source', full_name='pb.SearchRequest.has_source', index=48,
|
|
||||||
number=53, type=11, cpp_type=10, label=1,
|
|
||||||
has_default_value=False, default_value=None,
|
|
||||||
message_type=None, enum_type=None, containing_type=None,
|
|
||||||
is_extension=False, extension_scope=None,
|
|
||||||
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
|
|
||||||
_descriptor.FieldDescriptor(
|
|
||||||
name='limit_claims_per_channel', full_name='pb.SearchRequest.limit_claims_per_channel', index=49,
|
|
||||||
number=54, type=5, cpp_type=1, label=1,
|
|
||||||
has_default_value=False, default_value=0,
|
|
||||||
message_type=None, enum_type=None, containing_type=None,
|
|
||||||
is_extension=False, extension_scope=None,
|
|
||||||
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
|
|
||||||
_descriptor.FieldDescriptor(
|
|
||||||
name='any_languages', full_name='pb.SearchRequest.any_languages', index=50,
|
|
||||||
number=55, type=9, cpp_type=9, label=3,
|
|
||||||
has_default_value=False, default_value=[],
|
|
||||||
message_type=None, enum_type=None, containing_type=None,
|
|
||||||
is_extension=False, extension_scope=None,
|
|
||||||
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
|
|
||||||
_descriptor.FieldDescriptor(
|
|
||||||
name='all_languages', full_name='pb.SearchRequest.all_languages', index=51,
|
|
||||||
number=56, type=9, cpp_type=9, label=3,
|
|
||||||
has_default_value=False, default_value=[],
|
|
||||||
message_type=None, enum_type=None, containing_type=None,
|
|
||||||
is_extension=False, extension_scope=None,
|
|
||||||
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
|
|
||||||
_descriptor.FieldDescriptor(
|
|
||||||
name='remove_duplicates', full_name='pb.SearchRequest.remove_duplicates', index=52,
|
|
||||||
number=57, type=8, cpp_type=7, label=1,
|
|
||||||
has_default_value=False, default_value=False,
|
|
||||||
message_type=None, enum_type=None, containing_type=None,
|
|
||||||
is_extension=False, extension_scope=None,
|
|
||||||
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
|
|
||||||
_descriptor.FieldDescriptor(
|
|
||||||
name='no_totals', full_name='pb.SearchRequest.no_totals', index=53,
|
|
||||||
number=58, type=8, cpp_type=7, label=1,
|
|
||||||
has_default_value=False, default_value=False,
|
|
||||||
message_type=None, enum_type=None, containing_type=None,
|
|
||||||
is_extension=False, extension_scope=None,
|
|
||||||
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
|
|
||||||
_descriptor.FieldDescriptor(
|
|
||||||
name='sd_hash', full_name='pb.SearchRequest.sd_hash', index=54,
|
|
||||||
number=59, type=9, cpp_type=9, label=1,
|
|
||||||
has_default_value=False, default_value=b"".decode('utf-8'),
|
|
||||||
message_type=None, enum_type=None, containing_type=None,
|
|
||||||
is_extension=False, extension_scope=None,
|
|
||||||
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
|
|
||||||
],
|
|
||||||
extensions=[
|
|
||||||
],
|
|
||||||
nested_types=[],
|
|
||||||
enum_types=[
|
|
||||||
],
|
|
||||||
serialized_options=None,
|
|
||||||
is_extendable=False,
|
|
||||||
syntax='proto3',
|
|
||||||
extension_ranges=[],
|
|
||||||
oneofs=[
|
|
||||||
],
|
|
||||||
serialized_start=422,
|
|
||||||
serialized_end=1972,
|
|
||||||
)
|
|
||||||
|
|
||||||
_HELLOMESSAGE.fields_by_name['servers'].message_type = _SERVERMESSAGE
|
|
||||||
_RANGEFIELD.fields_by_name['op'].enum_type = _RANGEFIELD_OP
|
|
||||||
_RANGEFIELD_OP.containing_type = _RANGEFIELD
|
|
||||||
_SEARCHREQUEST.fields_by_name['claim_id'].message_type = _INVERTIBLEFIELD
|
|
||||||
_SEARCHREQUEST.fields_by_name['channel_id'].message_type = _INVERTIBLEFIELD
|
|
||||||
_SEARCHREQUEST.fields_by_name['tx_position'].message_type = _RANGEFIELD
|
|
||||||
_SEARCHREQUEST.fields_by_name['amount'].message_type = _RANGEFIELD
|
|
||||||
_SEARCHREQUEST.fields_by_name['timestamp'].message_type = _RANGEFIELD
|
|
||||||
_SEARCHREQUEST.fields_by_name['creation_timestamp'].message_type = _RANGEFIELD
|
|
||||||
_SEARCHREQUEST.fields_by_name['height'].message_type = _RANGEFIELD
|
|
||||||
_SEARCHREQUEST.fields_by_name['creation_height'].message_type = _RANGEFIELD
|
|
||||||
_SEARCHREQUEST.fields_by_name['activation_height'].message_type = _RANGEFIELD
|
|
||||||
_SEARCHREQUEST.fields_by_name['expiration_height'].message_type = _RANGEFIELD
|
|
||||||
_SEARCHREQUEST.fields_by_name['release_time'].message_type = _RANGEFIELD
|
|
||||||
_SEARCHREQUEST.fields_by_name['repost_count'].message_type = _RANGEFIELD
|
|
||||||
_SEARCHREQUEST.fields_by_name['fee_amount'].message_type = _RANGEFIELD
|
|
||||||
_SEARCHREQUEST.fields_by_name['duration'].message_type = _RANGEFIELD
|
|
||||||
_SEARCHREQUEST.fields_by_name['censor_type'].message_type = _RANGEFIELD
|
|
||||||
_SEARCHREQUEST.fields_by_name['is_signature_valid'].message_type = _BOOLVALUE
|
|
||||||
_SEARCHREQUEST.fields_by_name['effective_amount'].message_type = _RANGEFIELD
|
|
||||||
_SEARCHREQUEST.fields_by_name['support_amount'].message_type = _RANGEFIELD
|
|
||||||
_SEARCHREQUEST.fields_by_name['trending_score'].message_type = _RANGEFIELD
|
|
||||||
_SEARCHREQUEST.fields_by_name['tx_nout'].message_type = _UINT32VALUE
|
|
||||||
_SEARCHREQUEST.fields_by_name['has_source'].message_type = _BOOLVALUE
|
|
||||||
DESCRIPTOR.message_types_by_name['EmptyMessage'] = _EMPTYMESSAGE
|
|
||||||
DESCRIPTOR.message_types_by_name['ServerMessage'] = _SERVERMESSAGE
|
|
||||||
DESCRIPTOR.message_types_by_name['HelloMessage'] = _HELLOMESSAGE
|
|
||||||
DESCRIPTOR.message_types_by_name['InvertibleField'] = _INVERTIBLEFIELD
|
|
||||||
DESCRIPTOR.message_types_by_name['StringValue'] = _STRINGVALUE
|
|
||||||
DESCRIPTOR.message_types_by_name['BoolValue'] = _BOOLVALUE
|
|
||||||
DESCRIPTOR.message_types_by_name['UInt32Value'] = _UINT32VALUE
|
|
||||||
DESCRIPTOR.message_types_by_name['RangeField'] = _RANGEFIELD
|
|
||||||
DESCRIPTOR.message_types_by_name['SearchRequest'] = _SEARCHREQUEST
|
|
||||||
_sym_db.RegisterFileDescriptor(DESCRIPTOR)
|
|
||||||
|
|
||||||
EmptyMessage = _reflection.GeneratedProtocolMessageType('EmptyMessage', (_message.Message,), {
|
|
||||||
'DESCRIPTOR' : _EMPTYMESSAGE,
|
|
||||||
'__module__' : 'hub_pb2'
|
|
||||||
# @@protoc_insertion_point(class_scope:pb.EmptyMessage)
|
|
||||||
})
|
|
||||||
_sym_db.RegisterMessage(EmptyMessage)
|
|
||||||
|
|
||||||
ServerMessage = _reflection.GeneratedProtocolMessageType('ServerMessage', (_message.Message,), {
|
|
||||||
'DESCRIPTOR' : _SERVERMESSAGE,
|
|
||||||
'__module__' : 'hub_pb2'
|
|
||||||
# @@protoc_insertion_point(class_scope:pb.ServerMessage)
|
|
||||||
})
|
|
||||||
_sym_db.RegisterMessage(ServerMessage)
|
|
||||||
|
|
||||||
HelloMessage = _reflection.GeneratedProtocolMessageType('HelloMessage', (_message.Message,), {
|
|
||||||
'DESCRIPTOR' : _HELLOMESSAGE,
|
|
||||||
'__module__' : 'hub_pb2'
|
|
||||||
# @@protoc_insertion_point(class_scope:pb.HelloMessage)
|
|
||||||
})
|
|
||||||
_sym_db.RegisterMessage(HelloMessage)
|
|
||||||
|
|
||||||
InvertibleField = _reflection.GeneratedProtocolMessageType('InvertibleField', (_message.Message,), {
|
|
||||||
'DESCRIPTOR' : _INVERTIBLEFIELD,
|
|
||||||
'__module__' : 'hub_pb2'
|
|
||||||
# @@protoc_insertion_point(class_scope:pb.InvertibleField)
|
|
||||||
})
|
|
||||||
_sym_db.RegisterMessage(InvertibleField)
|
|
||||||
|
|
||||||
StringValue = _reflection.GeneratedProtocolMessageType('StringValue', (_message.Message,), {
|
|
||||||
'DESCRIPTOR' : _STRINGVALUE,
|
|
||||||
'__module__' : 'hub_pb2'
|
|
||||||
# @@protoc_insertion_point(class_scope:pb.StringValue)
|
|
||||||
})
|
|
||||||
_sym_db.RegisterMessage(StringValue)
|
|
||||||
|
|
||||||
BoolValue = _reflection.GeneratedProtocolMessageType('BoolValue', (_message.Message,), {
|
|
||||||
'DESCRIPTOR' : _BOOLVALUE,
|
|
||||||
'__module__' : 'hub_pb2'
|
|
||||||
# @@protoc_insertion_point(class_scope:pb.BoolValue)
|
|
||||||
})
|
|
||||||
_sym_db.RegisterMessage(BoolValue)
|
|
||||||
|
|
||||||
UInt32Value = _reflection.GeneratedProtocolMessageType('UInt32Value', (_message.Message,), {
|
|
||||||
'DESCRIPTOR' : _UINT32VALUE,
|
|
||||||
'__module__' : 'hub_pb2'
|
|
||||||
# @@protoc_insertion_point(class_scope:pb.UInt32Value)
|
|
||||||
})
|
|
||||||
_sym_db.RegisterMessage(UInt32Value)
|
|
||||||
|
|
||||||
RangeField = _reflection.GeneratedProtocolMessageType('RangeField', (_message.Message,), {
|
|
||||||
'DESCRIPTOR' : _RANGEFIELD,
|
|
||||||
'__module__' : 'hub_pb2'
|
|
||||||
# @@protoc_insertion_point(class_scope:pb.RangeField)
|
|
||||||
})
|
|
||||||
_sym_db.RegisterMessage(RangeField)
|
|
||||||
|
|
||||||
SearchRequest = _reflection.GeneratedProtocolMessageType('SearchRequest', (_message.Message,), {
|
|
||||||
'DESCRIPTOR' : _SEARCHREQUEST,
|
|
||||||
'__module__' : 'hub_pb2'
|
|
||||||
# @@protoc_insertion_point(class_scope:pb.SearchRequest)
|
|
||||||
})
|
|
||||||
_sym_db.RegisterMessage(SearchRequest)
|
|
||||||
|
|
||||||
|
|
||||||
DESCRIPTOR._options = None
|
|
||||||
|
|
||||||
_HUB = _descriptor.ServiceDescriptor(
|
|
||||||
name='Hub',
|
|
||||||
full_name='pb.Hub',
|
|
||||||
file=DESCRIPTOR,
|
|
||||||
index=0,
|
|
||||||
serialized_options=None,
|
|
||||||
create_key=_descriptor._internal_create_key,
|
|
||||||
serialized_start=1975,
|
|
||||||
serialized_end=2367,
|
|
||||||
methods=[
|
|
||||||
_descriptor.MethodDescriptor(
|
|
||||||
name='Search',
|
|
||||||
full_name='pb.Hub.Search',
|
|
||||||
index=0,
|
|
||||||
containing_service=None,
|
|
||||||
input_type=_SEARCHREQUEST,
|
|
||||||
output_type=result__pb2._OUTPUTS,
|
|
||||||
serialized_options=None,
|
|
||||||
create_key=_descriptor._internal_create_key,
|
|
||||||
),
|
|
||||||
_descriptor.MethodDescriptor(
|
|
||||||
name='Ping',
|
|
||||||
full_name='pb.Hub.Ping',
|
|
||||||
index=1,
|
|
||||||
containing_service=None,
|
|
||||||
input_type=_EMPTYMESSAGE,
|
|
||||||
output_type=_STRINGVALUE,
|
|
||||||
serialized_options=None,
|
|
||||||
create_key=_descriptor._internal_create_key,
|
|
||||||
),
|
|
||||||
_descriptor.MethodDescriptor(
|
|
||||||
name='Hello',
|
|
||||||
full_name='pb.Hub.Hello',
|
|
||||||
index=2,
|
|
||||||
containing_service=None,
|
|
||||||
input_type=_HELLOMESSAGE,
|
|
||||||
output_type=_HELLOMESSAGE,
|
|
||||||
serialized_options=None,
|
|
||||||
create_key=_descriptor._internal_create_key,
|
|
||||||
),
|
|
||||||
_descriptor.MethodDescriptor(
|
|
||||||
name='AddPeer',
|
|
||||||
full_name='pb.Hub.AddPeer',
|
|
||||||
index=3,
|
|
||||||
containing_service=None,
|
|
||||||
input_type=_SERVERMESSAGE,
|
|
||||||
output_type=_STRINGVALUE,
|
|
||||||
serialized_options=None,
|
|
||||||
create_key=_descriptor._internal_create_key,
|
|
||||||
),
|
|
||||||
_descriptor.MethodDescriptor(
|
|
||||||
name='PeerSubscribe',
|
|
||||||
full_name='pb.Hub.PeerSubscribe',
|
|
||||||
index=4,
|
|
||||||
containing_service=None,
|
|
||||||
input_type=_SERVERMESSAGE,
|
|
||||||
output_type=_STRINGVALUE,
|
|
||||||
serialized_options=None,
|
|
||||||
create_key=_descriptor._internal_create_key,
|
|
||||||
),
|
|
||||||
_descriptor.MethodDescriptor(
|
|
||||||
name='Version',
|
|
||||||
full_name='pb.Hub.Version',
|
|
||||||
index=5,
|
|
||||||
containing_service=None,
|
|
||||||
input_type=_EMPTYMESSAGE,
|
|
||||||
output_type=_STRINGVALUE,
|
|
||||||
serialized_options=None,
|
|
||||||
create_key=_descriptor._internal_create_key,
|
|
||||||
),
|
|
||||||
_descriptor.MethodDescriptor(
|
|
||||||
name='Features',
|
|
||||||
full_name='pb.Hub.Features',
|
|
||||||
index=6,
|
|
||||||
containing_service=None,
|
|
||||||
input_type=_EMPTYMESSAGE,
|
|
||||||
output_type=_STRINGVALUE,
|
|
||||||
serialized_options=None,
|
|
||||||
create_key=_descriptor._internal_create_key,
|
|
||||||
),
|
|
||||||
_descriptor.MethodDescriptor(
|
|
||||||
name='Broadcast',
|
|
||||||
full_name='pb.Hub.Broadcast',
|
|
||||||
index=7,
|
|
||||||
containing_service=None,
|
|
||||||
input_type=_EMPTYMESSAGE,
|
|
||||||
output_type=_UINT32VALUE,
|
|
||||||
serialized_options=None,
|
|
||||||
create_key=_descriptor._internal_create_key,
|
|
||||||
),
|
|
||||||
])
|
|
||||||
_sym_db.RegisterServiceDescriptor(_HUB)
|
|
||||||
|
|
||||||
DESCRIPTOR.services_by_name['Hub'] = _HUB
|
|
||||||
|
|
||||||
# @@protoc_insertion_point(module_scope)
|
|
|
@ -1,298 +0,0 @@
|
||||||
# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
|
|
||||||
"""Client and server classes corresponding to protobuf-defined services."""
|
|
||||||
import grpc
|
|
||||||
|
|
||||||
from . import hub_pb2 as hub__pb2
|
|
||||||
from . import result_pb2 as result__pb2
|
|
||||||
|
|
||||||
|
|
||||||
class HubStub(object):
|
|
||||||
"""Missing associated documentation comment in .proto file."""
|
|
||||||
|
|
||||||
def __init__(self, channel):
|
|
||||||
"""Constructor.
|
|
||||||
|
|
||||||
Args:
|
|
||||||
channel: A grpc.Channel.
|
|
||||||
"""
|
|
||||||
self.Search = channel.unary_unary(
|
|
||||||
'/pb.Hub/Search',
|
|
||||||
request_serializer=hub__pb2.SearchRequest.SerializeToString,
|
|
||||||
response_deserializer=result__pb2.Outputs.FromString,
|
|
||||||
)
|
|
||||||
self.Ping = channel.unary_unary(
|
|
||||||
'/pb.Hub/Ping',
|
|
||||||
request_serializer=hub__pb2.EmptyMessage.SerializeToString,
|
|
||||||
response_deserializer=hub__pb2.StringValue.FromString,
|
|
||||||
)
|
|
||||||
self.Hello = channel.unary_unary(
|
|
||||||
'/pb.Hub/Hello',
|
|
||||||
request_serializer=hub__pb2.HelloMessage.SerializeToString,
|
|
||||||
response_deserializer=hub__pb2.HelloMessage.FromString,
|
|
||||||
)
|
|
||||||
self.AddPeer = channel.unary_unary(
|
|
||||||
'/pb.Hub/AddPeer',
|
|
||||||
request_serializer=hub__pb2.ServerMessage.SerializeToString,
|
|
||||||
response_deserializer=hub__pb2.StringValue.FromString,
|
|
||||||
)
|
|
||||||
self.PeerSubscribe = channel.unary_unary(
|
|
||||||
'/pb.Hub/PeerSubscribe',
|
|
||||||
request_serializer=hub__pb2.ServerMessage.SerializeToString,
|
|
||||||
response_deserializer=hub__pb2.StringValue.FromString,
|
|
||||||
)
|
|
||||||
self.Version = channel.unary_unary(
|
|
||||||
'/pb.Hub/Version',
|
|
||||||
request_serializer=hub__pb2.EmptyMessage.SerializeToString,
|
|
||||||
response_deserializer=hub__pb2.StringValue.FromString,
|
|
||||||
)
|
|
||||||
self.Features = channel.unary_unary(
|
|
||||||
'/pb.Hub/Features',
|
|
||||||
request_serializer=hub__pb2.EmptyMessage.SerializeToString,
|
|
||||||
response_deserializer=hub__pb2.StringValue.FromString,
|
|
||||||
)
|
|
||||||
self.Broadcast = channel.unary_unary(
|
|
||||||
'/pb.Hub/Broadcast',
|
|
||||||
request_serializer=hub__pb2.EmptyMessage.SerializeToString,
|
|
||||||
response_deserializer=hub__pb2.UInt32Value.FromString,
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
class HubServicer(object):
|
|
||||||
"""Missing associated documentation comment in .proto file."""
|
|
||||||
|
|
||||||
def Search(self, request, context):
|
|
||||||
"""Missing associated documentation comment in .proto file."""
|
|
||||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
||||||
context.set_details('Method not implemented!')
|
|
||||||
raise NotImplementedError('Method not implemented!')
|
|
||||||
|
|
||||||
def Ping(self, request, context):
|
|
||||||
"""Missing associated documentation comment in .proto file."""
|
|
||||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
||||||
context.set_details('Method not implemented!')
|
|
||||||
raise NotImplementedError('Method not implemented!')
|
|
||||||
|
|
||||||
def Hello(self, request, context):
|
|
||||||
"""Missing associated documentation comment in .proto file."""
|
|
||||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
||||||
context.set_details('Method not implemented!')
|
|
||||||
raise NotImplementedError('Method not implemented!')
|
|
||||||
|
|
||||||
def AddPeer(self, request, context):
|
|
||||||
"""Missing associated documentation comment in .proto file."""
|
|
||||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
||||||
context.set_details('Method not implemented!')
|
|
||||||
raise NotImplementedError('Method not implemented!')
|
|
||||||
|
|
||||||
def PeerSubscribe(self, request, context):
|
|
||||||
"""Missing associated documentation comment in .proto file."""
|
|
||||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
||||||
context.set_details('Method not implemented!')
|
|
||||||
raise NotImplementedError('Method not implemented!')
|
|
||||||
|
|
||||||
def Version(self, request, context):
|
|
||||||
"""Missing associated documentation comment in .proto file."""
|
|
||||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
||||||
context.set_details('Method not implemented!')
|
|
||||||
raise NotImplementedError('Method not implemented!')
|
|
||||||
|
|
||||||
def Features(self, request, context):
|
|
||||||
"""Missing associated documentation comment in .proto file."""
|
|
||||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
||||||
context.set_details('Method not implemented!')
|
|
||||||
raise NotImplementedError('Method not implemented!')
|
|
||||||
|
|
||||||
def Broadcast(self, request, context):
|
|
||||||
"""Missing associated documentation comment in .proto file."""
|
|
||||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
||||||
context.set_details('Method not implemented!')
|
|
||||||
raise NotImplementedError('Method not implemented!')
|
|
||||||
|
|
||||||
|
|
||||||
def add_HubServicer_to_server(servicer, server):
|
|
||||||
rpc_method_handlers = {
|
|
||||||
'Search': grpc.unary_unary_rpc_method_handler(
|
|
||||||
servicer.Search,
|
|
||||||
request_deserializer=hub__pb2.SearchRequest.FromString,
|
|
||||||
response_serializer=result__pb2.Outputs.SerializeToString,
|
|
||||||
),
|
|
||||||
'Ping': grpc.unary_unary_rpc_method_handler(
|
|
||||||
servicer.Ping,
|
|
||||||
request_deserializer=hub__pb2.EmptyMessage.FromString,
|
|
||||||
response_serializer=hub__pb2.StringValue.SerializeToString,
|
|
||||||
),
|
|
||||||
'Hello': grpc.unary_unary_rpc_method_handler(
|
|
||||||
servicer.Hello,
|
|
||||||
request_deserializer=hub__pb2.HelloMessage.FromString,
|
|
||||||
response_serializer=hub__pb2.HelloMessage.SerializeToString,
|
|
||||||
),
|
|
||||||
'AddPeer': grpc.unary_unary_rpc_method_handler(
|
|
||||||
servicer.AddPeer,
|
|
||||||
request_deserializer=hub__pb2.ServerMessage.FromString,
|
|
||||||
response_serializer=hub__pb2.StringValue.SerializeToString,
|
|
||||||
),
|
|
||||||
'PeerSubscribe': grpc.unary_unary_rpc_method_handler(
|
|
||||||
servicer.PeerSubscribe,
|
|
||||||
request_deserializer=hub__pb2.ServerMessage.FromString,
|
|
||||||
response_serializer=hub__pb2.StringValue.SerializeToString,
|
|
||||||
),
|
|
||||||
'Version': grpc.unary_unary_rpc_method_handler(
|
|
||||||
servicer.Version,
|
|
||||||
request_deserializer=hub__pb2.EmptyMessage.FromString,
|
|
||||||
response_serializer=hub__pb2.StringValue.SerializeToString,
|
|
||||||
),
|
|
||||||
'Features': grpc.unary_unary_rpc_method_handler(
|
|
||||||
servicer.Features,
|
|
||||||
request_deserializer=hub__pb2.EmptyMessage.FromString,
|
|
||||||
response_serializer=hub__pb2.StringValue.SerializeToString,
|
|
||||||
),
|
|
||||||
'Broadcast': grpc.unary_unary_rpc_method_handler(
|
|
||||||
servicer.Broadcast,
|
|
||||||
request_deserializer=hub__pb2.EmptyMessage.FromString,
|
|
||||||
response_serializer=hub__pb2.UInt32Value.SerializeToString,
|
|
||||||
),
|
|
||||||
}
|
|
||||||
generic_handler = grpc.method_handlers_generic_handler(
|
|
||||||
'pb.Hub', rpc_method_handlers)
|
|
||||||
server.add_generic_rpc_handlers((generic_handler,))
|
|
||||||
|
|
||||||
|
|
||||||
# This class is part of an EXPERIMENTAL API.
|
|
||||||
class Hub(object):
|
|
||||||
"""Missing associated documentation comment in .proto file."""
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def Search(request,
|
|
||||||
target,
|
|
||||||
options=(),
|
|
||||||
channel_credentials=None,
|
|
||||||
call_credentials=None,
|
|
||||||
insecure=False,
|
|
||||||
compression=None,
|
|
||||||
wait_for_ready=None,
|
|
||||||
timeout=None,
|
|
||||||
metadata=None):
|
|
||||||
return grpc.experimental.unary_unary(request, target, '/pb.Hub/Search',
|
|
||||||
hub__pb2.SearchRequest.SerializeToString,
|
|
||||||
result__pb2.Outputs.FromString,
|
|
||||||
options, channel_credentials,
|
|
||||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def Ping(request,
|
|
||||||
target,
|
|
||||||
options=(),
|
|
||||||
channel_credentials=None,
|
|
||||||
call_credentials=None,
|
|
||||||
insecure=False,
|
|
||||||
compression=None,
|
|
||||||
wait_for_ready=None,
|
|
||||||
timeout=None,
|
|
||||||
metadata=None):
|
|
||||||
return grpc.experimental.unary_unary(request, target, '/pb.Hub/Ping',
|
|
||||||
hub__pb2.EmptyMessage.SerializeToString,
|
|
||||||
hub__pb2.StringValue.FromString,
|
|
||||||
options, channel_credentials,
|
|
||||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def Hello(request,
|
|
||||||
target,
|
|
||||||
options=(),
|
|
||||||
channel_credentials=None,
|
|
||||||
call_credentials=None,
|
|
||||||
insecure=False,
|
|
||||||
compression=None,
|
|
||||||
wait_for_ready=None,
|
|
||||||
timeout=None,
|
|
||||||
metadata=None):
|
|
||||||
return grpc.experimental.unary_unary(request, target, '/pb.Hub/Hello',
|
|
||||||
hub__pb2.HelloMessage.SerializeToString,
|
|
||||||
hub__pb2.HelloMessage.FromString,
|
|
||||||
options, channel_credentials,
|
|
||||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def AddPeer(request,
|
|
||||||
target,
|
|
||||||
options=(),
|
|
||||||
channel_credentials=None,
|
|
||||||
call_credentials=None,
|
|
||||||
insecure=False,
|
|
||||||
compression=None,
|
|
||||||
wait_for_ready=None,
|
|
||||||
timeout=None,
|
|
||||||
metadata=None):
|
|
||||||
return grpc.experimental.unary_unary(request, target, '/pb.Hub/AddPeer',
|
|
||||||
hub__pb2.ServerMessage.SerializeToString,
|
|
||||||
hub__pb2.StringValue.FromString,
|
|
||||||
options, channel_credentials,
|
|
||||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def PeerSubscribe(request,
|
|
||||||
target,
|
|
||||||
options=(),
|
|
||||||
channel_credentials=None,
|
|
||||||
call_credentials=None,
|
|
||||||
insecure=False,
|
|
||||||
compression=None,
|
|
||||||
wait_for_ready=None,
|
|
||||||
timeout=None,
|
|
||||||
metadata=None):
|
|
||||||
return grpc.experimental.unary_unary(request, target, '/pb.Hub/PeerSubscribe',
|
|
||||||
hub__pb2.ServerMessage.SerializeToString,
|
|
||||||
hub__pb2.StringValue.FromString,
|
|
||||||
options, channel_credentials,
|
|
||||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def Version(request,
|
|
||||||
target,
|
|
||||||
options=(),
|
|
||||||
channel_credentials=None,
|
|
||||||
call_credentials=None,
|
|
||||||
insecure=False,
|
|
||||||
compression=None,
|
|
||||||
wait_for_ready=None,
|
|
||||||
timeout=None,
|
|
||||||
metadata=None):
|
|
||||||
return grpc.experimental.unary_unary(request, target, '/pb.Hub/Version',
|
|
||||||
hub__pb2.EmptyMessage.SerializeToString,
|
|
||||||
hub__pb2.StringValue.FromString,
|
|
||||||
options, channel_credentials,
|
|
||||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def Features(request,
|
|
||||||
target,
|
|
||||||
options=(),
|
|
||||||
channel_credentials=None,
|
|
||||||
call_credentials=None,
|
|
||||||
insecure=False,
|
|
||||||
compression=None,
|
|
||||||
wait_for_ready=None,
|
|
||||||
timeout=None,
|
|
||||||
metadata=None):
|
|
||||||
return grpc.experimental.unary_unary(request, target, '/pb.Hub/Features',
|
|
||||||
hub__pb2.EmptyMessage.SerializeToString,
|
|
||||||
hub__pb2.StringValue.FromString,
|
|
||||||
options, channel_credentials,
|
|
||||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def Broadcast(request,
|
|
||||||
target,
|
|
||||||
options=(),
|
|
||||||
channel_credentials=None,
|
|
||||||
call_credentials=None,
|
|
||||||
insecure=False,
|
|
||||||
compression=None,
|
|
||||||
wait_for_ready=None,
|
|
||||||
timeout=None,
|
|
||||||
metadata=None):
|
|
||||||
return grpc.experimental.unary_unary(request, target, '/pb.Hub/Broadcast',
|
|
||||||
hub__pb2.EmptyMessage.SerializeToString,
|
|
||||||
hub__pb2.UInt32Value.FromString,
|
|
||||||
options, channel_credentials,
|
|
||||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
|
|
@ -1,4 +0,0 @@
|
||||||
# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
|
|
||||||
"""Client and server classes corresponding to protobuf-defined services."""
|
|
||||||
import grpc
|
|
||||||
|
|
|
@ -19,7 +19,7 @@ from lbry.conf import Config
|
||||||
from lbry.wallet.util import satoshis_to_coins
|
from lbry.wallet.util import satoshis_to_coins
|
||||||
from lbry.wallet.dewies import lbc_to_dewies
|
from lbry.wallet.dewies import lbc_to_dewies
|
||||||
from lbry.wallet.orchstr8 import Conductor
|
from lbry.wallet.orchstr8 import Conductor
|
||||||
from lbry.wallet.orchstr8.node import LBCWalletNode, WalletNode, HubNode
|
from lbry.wallet.orchstr8.node import LBCWalletNode, WalletNode
|
||||||
from lbry.schema.claim import Claim
|
from lbry.schema.claim import Claim
|
||||||
|
|
||||||
from lbry.extras.daemon.daemon import Daemon, jsonrpc_dumps_pretty
|
from lbry.extras.daemon.daemon import Daemon, jsonrpc_dumps_pretty
|
||||||
|
@ -237,7 +237,6 @@ class IntegrationTestCase(AsyncioTestCase):
|
||||||
super().__init__(*args, **kwargs)
|
super().__init__(*args, **kwargs)
|
||||||
self.conductor: Optional[Conductor] = None
|
self.conductor: Optional[Conductor] = None
|
||||||
self.blockchain: Optional[LBCWalletNode] = None
|
self.blockchain: Optional[LBCWalletNode] = None
|
||||||
self.hub: Optional[HubNode] = None
|
|
||||||
self.wallet_node: Optional[WalletNode] = None
|
self.wallet_node: Optional[WalletNode] = None
|
||||||
self.manager: Optional[WalletManager] = None
|
self.manager: Optional[WalletManager] = None
|
||||||
self.ledger: Optional[Ledger] = None
|
self.ledger: Optional[Ledger] = None
|
||||||
|
@ -254,10 +253,7 @@ class IntegrationTestCase(AsyncioTestCase):
|
||||||
self.addCleanup(self.conductor.stop_spv)
|
self.addCleanup(self.conductor.stop_spv)
|
||||||
await self.conductor.start_wallet()
|
await self.conductor.start_wallet()
|
||||||
self.addCleanup(self.conductor.stop_wallet)
|
self.addCleanup(self.conductor.stop_wallet)
|
||||||
await self.conductor.start_hub()
|
|
||||||
self.addCleanup(self.conductor.stop_hub)
|
|
||||||
self.blockchain = self.conductor.lbcwallet_node
|
self.blockchain = self.conductor.lbcwallet_node
|
||||||
self.hub = self.conductor.hub_node
|
|
||||||
self.wallet_node = self.conductor.wallet_node
|
self.wallet_node = self.conductor.wallet_node
|
||||||
self.manager = self.wallet_node.manager
|
self.manager = self.wallet_node.manager
|
||||||
self.ledger = self.wallet_node.ledger
|
self.ledger = self.wallet_node.ledger
|
||||||
|
|
|
@ -780,13 +780,9 @@ class Ledger(metaclass=LedgerRegistry):
|
||||||
include_is_my_output=False,
|
include_is_my_output=False,
|
||||||
include_sent_supports=False,
|
include_sent_supports=False,
|
||||||
include_sent_tips=False,
|
include_sent_tips=False,
|
||||||
include_received_tips=False,
|
include_received_tips=False) -> Tuple[List[Output], dict, int, int]:
|
||||||
hub_server=False) -> Tuple[List[Output], dict, int, int]:
|
|
||||||
encoded_outputs = await query
|
encoded_outputs = await query
|
||||||
if hub_server:
|
outputs = Outputs.from_base64(encoded_outputs or '') # TODO: why is the server returning None?
|
||||||
outputs = Outputs.from_grpc(encoded_outputs)
|
|
||||||
else:
|
|
||||||
outputs = Outputs.from_base64(encoded_outputs or '') # TODO: why is the server returning None?
|
|
||||||
txs: List[Transaction] = []
|
txs: List[Transaction] = []
|
||||||
if len(outputs.txs) > 0:
|
if len(outputs.txs) > 0:
|
||||||
async for tx in self.request_transactions(tuple(outputs.txs), cached=True):
|
async for tx in self.request_transactions(tuple(outputs.txs), cached=True):
|
||||||
|
@ -862,13 +858,10 @@ class Ledger(metaclass=LedgerRegistry):
|
||||||
txo.received_tips = tips
|
txo.received_tips = tips
|
||||||
return txos, blocked, outputs.offset, outputs.total
|
return txos, blocked, outputs.offset, outputs.total
|
||||||
|
|
||||||
async def resolve(self, accounts, urls, new_sdk_server=None, **kwargs):
|
async def resolve(self, accounts, urls, **kwargs):
|
||||||
txos = []
|
txos = []
|
||||||
urls_copy = list(urls)
|
urls_copy = list(urls)
|
||||||
if new_sdk_server:
|
resolve = partial(self.network.retriable_call, self.network.resolve)
|
||||||
resolve = partial(self.network.new_resolve, new_sdk_server)
|
|
||||||
else:
|
|
||||||
resolve = partial(self.network.retriable_call, self.network.resolve)
|
|
||||||
while urls_copy:
|
while urls_copy:
|
||||||
batch, urls_copy = urls_copy[:100], urls_copy[100:]
|
batch, urls_copy = urls_copy[:100], urls_copy[100:]
|
||||||
txos.extend(
|
txos.extend(
|
||||||
|
@ -893,17 +886,14 @@ class Ledger(metaclass=LedgerRegistry):
|
||||||
return await self.network.sum_supports(new_sdk_server, **kwargs)
|
return await self.network.sum_supports(new_sdk_server, **kwargs)
|
||||||
|
|
||||||
async def claim_search(
|
async def claim_search(
|
||||||
self, accounts, include_purchase_receipt=False, include_is_my_output=False,
|
self, accounts,
|
||||||
new_sdk_server=None, **kwargs) -> Tuple[List[Output], dict, int, int]:
|
include_purchase_receipt=False,
|
||||||
if new_sdk_server:
|
include_is_my_output=False,
|
||||||
claim_search = partial(self.network.new_claim_search, new_sdk_server)
|
**kwargs) -> Tuple[List[Output], dict, int, int]:
|
||||||
else:
|
|
||||||
claim_search = self.network.claim_search
|
|
||||||
return await self._inflate_outputs(
|
return await self._inflate_outputs(
|
||||||
claim_search(**kwargs), accounts,
|
self.network.claim_search(**kwargs), accounts,
|
||||||
include_purchase_receipt=include_purchase_receipt,
|
include_purchase_receipt=include_purchase_receipt,
|
||||||
include_is_my_output=include_is_my_output,
|
include_is_my_output=include_is_my_output
|
||||||
hub_server=new_sdk_server is not None
|
|
||||||
)
|
)
|
||||||
|
|
||||||
# async def get_claim_by_claim_id(self, accounts, claim_id, **kwargs) -> Output:
|
# async def get_claim_by_claim_id(self, accounts, claim_id, **kwargs) -> Output:
|
||||||
|
|
|
@ -183,7 +183,6 @@ class WalletManager:
|
||||||
}[config.blockchain_name]
|
}[config.blockchain_name]
|
||||||
|
|
||||||
ledger_config = {
|
ledger_config = {
|
||||||
'use_go_hub': not strtobool(os.environ.get('ENABLE_LEGACY_SEARCH') or 'yes'),
|
|
||||||
'auto_connect': True,
|
'auto_connect': True,
|
||||||
'explicit_servers': [],
|
'explicit_servers': [],
|
||||||
'hub_timeout': config.hub_timeout,
|
'hub_timeout': config.hub_timeout,
|
||||||
|
@ -238,7 +237,6 @@ class WalletManager:
|
||||||
|
|
||||||
async def reset(self):
|
async def reset(self):
|
||||||
self.ledger.config = {
|
self.ledger.config = {
|
||||||
'use_go_hub': not strtobool(os.environ.get('ENABLE_LEGACY_SEARCH') or 'yes'),
|
|
||||||
'auto_connect': True,
|
'auto_connect': True,
|
||||||
'explicit_servers': [],
|
'explicit_servers': [],
|
||||||
'default_servers': Config.lbryum_servers.default,
|
'default_servers': Config.lbryum_servers.default,
|
||||||
|
|
|
@ -7,9 +7,6 @@ from time import perf_counter
|
||||||
from collections import defaultdict
|
from collections import defaultdict
|
||||||
from typing import Dict, Optional, Tuple
|
from typing import Dict, Optional, Tuple
|
||||||
import aiohttp
|
import aiohttp
|
||||||
import grpc
|
|
||||||
from lbry.schema.types.v2 import hub_pb2_grpc
|
|
||||||
from lbry.schema.types.v2.hub_pb2 import SearchRequest
|
|
||||||
|
|
||||||
from lbry import __version__
|
from lbry import __version__
|
||||||
from lbry.utils import resolve_host
|
from lbry.utils import resolve_host
|
||||||
|
@ -393,7 +390,6 @@ class Network:
|
||||||
log.warning("Wallet server call timed out, retrying.")
|
log.warning("Wallet server call timed out, retrying.")
|
||||||
except ConnectionError:
|
except ConnectionError:
|
||||||
log.warning("connection error")
|
log.warning("connection error")
|
||||||
|
|
||||||
raise asyncio.CancelledError() # if we got here, we are shutting down
|
raise asyncio.CancelledError() # if we got here, we are shutting down
|
||||||
|
|
||||||
def _update_remote_height(self, header_args):
|
def _update_remote_height(self, header_args):
|
||||||
|
@ -476,21 +472,6 @@ class Network:
|
||||||
def claim_search(self, session_override=None, **kwargs):
|
def claim_search(self, session_override=None, **kwargs):
|
||||||
return self.rpc('blockchain.claimtrie.search', kwargs, False, session_override)
|
return self.rpc('blockchain.claimtrie.search', kwargs, False, session_override)
|
||||||
|
|
||||||
async def new_resolve(self, server, urls):
|
|
||||||
message = {"method": "resolve", "params": {"urls": urls, "protobuf": True}}
|
|
||||||
async with self.aiohttp_session.post(server, json=message) as r:
|
|
||||||
result = await r.json()
|
|
||||||
return result['result']
|
|
||||||
|
|
||||||
async def new_claim_search(self, server, **kwargs):
|
|
||||||
async with grpc.aio.insecure_channel(server) as channel:
|
|
||||||
stub = hub_pb2_grpc.HubStub(channel)
|
|
||||||
try:
|
|
||||||
response = await stub.Search(SearchRequest(**kwargs))
|
|
||||||
except grpc.aio.AioRpcError as error:
|
|
||||||
raise RPCError(error.code(), error.details())
|
|
||||||
return response
|
|
||||||
|
|
||||||
async def sum_supports(self, server, **kwargs):
|
async def sum_supports(self, server, **kwargs):
|
||||||
message = {"method": "support_sum", "params": kwargs}
|
message = {"method": "support_sum", "params": kwargs}
|
||||||
async with self.aiohttp_session.post(server, json=message) as r:
|
async with self.aiohttp_session.post(server, json=message) as r:
|
||||||
|
|
|
@ -1,5 +1,2 @@
|
||||||
__hub_url__ = (
|
|
||||||
"https://github.com/lbryio/herald/releases/download/v0.2022.01.21.1/hub"
|
|
||||||
)
|
|
||||||
from lbry.wallet.orchstr8.node import Conductor
|
from lbry.wallet.orchstr8.node import Conductor
|
||||||
from lbry.wallet.orchstr8.service import ConductorService
|
from lbry.wallet.orchstr8.service import ConductorService
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
# pylint: disable=import-error
|
# pylint: disable=import-error
|
||||||
import os
|
import os
|
||||||
import signal
|
|
||||||
import json
|
import json
|
||||||
import shutil
|
import shutil
|
||||||
import asyncio
|
import asyncio
|
||||||
|
@ -10,7 +9,6 @@ import logging
|
||||||
import tempfile
|
import tempfile
|
||||||
import subprocess
|
import subprocess
|
||||||
import platform
|
import platform
|
||||||
from distutils.util import strtobool
|
|
||||||
|
|
||||||
from binascii import hexlify
|
from binascii import hexlify
|
||||||
from typing import Type, Optional
|
from typing import Type, Optional
|
||||||
|
@ -21,7 +19,6 @@ from uuid import uuid4
|
||||||
import lbry
|
import lbry
|
||||||
from lbry.wallet import Wallet, Ledger, RegTestLedger, WalletManager, Account, BlockHeightEvent
|
from lbry.wallet import Wallet, Ledger, RegTestLedger, WalletManager, Account, BlockHeightEvent
|
||||||
from lbry.conf import KnownHubsList, Config
|
from lbry.conf import KnownHubsList, Config
|
||||||
from lbry.wallet.orchstr8 import __hub_url__
|
|
||||||
|
|
||||||
log = logging.getLogger(__name__)
|
log = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
@ -62,13 +59,10 @@ class Conductor:
|
||||||
self.wallet_node = WalletNode(
|
self.wallet_node = WalletNode(
|
||||||
self.manager_module, RegTestLedger, default_seed=seed
|
self.manager_module, RegTestLedger, default_seed=seed
|
||||||
)
|
)
|
||||||
self.hub_node = HubNode(__hub_url__, "hub", self.spv_node)
|
|
||||||
|
|
||||||
self.lbcd_started = False
|
self.lbcd_started = False
|
||||||
self.lbcwallet_started = False
|
self.lbcwallet_started = False
|
||||||
self.spv_started = False
|
self.spv_started = False
|
||||||
self.wallet_started = False
|
self.wallet_started = False
|
||||||
self.hub_started = False
|
|
||||||
|
|
||||||
self.log = log.getChild('conductor')
|
self.log = log.getChild('conductor')
|
||||||
|
|
||||||
|
@ -82,17 +76,6 @@ class Conductor:
|
||||||
await self.lbcd_node.stop(cleanup)
|
await self.lbcd_node.stop(cleanup)
|
||||||
self.lbcd_started = False
|
self.lbcd_started = False
|
||||||
|
|
||||||
async def start_hub(self):
|
|
||||||
if not self.hub_started:
|
|
||||||
await self.hub_node.start()
|
|
||||||
await self.lbcwallet_node.running.wait()
|
|
||||||
self.hub_started = True
|
|
||||||
|
|
||||||
async def stop_hub(self, cleanup=True):
|
|
||||||
if self.hub_started:
|
|
||||||
await self.hub_node.stop(cleanup)
|
|
||||||
self.hub_started = False
|
|
||||||
|
|
||||||
async def start_spv(self):
|
async def start_spv(self):
|
||||||
if not self.spv_started:
|
if not self.spv_started:
|
||||||
await self.spv_node.start(self.lbcwallet_node)
|
await self.spv_node.start(self.lbcwallet_node)
|
||||||
|
@ -133,13 +116,11 @@ class Conductor:
|
||||||
await self.start_lbcd()
|
await self.start_lbcd()
|
||||||
await self.start_lbcwallet()
|
await self.start_lbcwallet()
|
||||||
await self.start_spv()
|
await self.start_spv()
|
||||||
await self.start_hub()
|
|
||||||
await self.start_wallet()
|
await self.start_wallet()
|
||||||
|
|
||||||
async def stop(self):
|
async def stop(self):
|
||||||
all_the_stops = [
|
all_the_stops = [
|
||||||
self.stop_wallet,
|
self.stop_wallet,
|
||||||
self.stop_hub,
|
|
||||||
self.stop_spv,
|
self.stop_spv,
|
||||||
self.stop_lbcwallet,
|
self.stop_lbcwallet,
|
||||||
self.stop_lbcd
|
self.stop_lbcd
|
||||||
|
@ -184,7 +165,6 @@ class WalletNode:
|
||||||
self.manager = self.manager_class.from_config({
|
self.manager = self.manager_class.from_config({
|
||||||
'ledgers': {
|
'ledgers': {
|
||||||
self.ledger_class.get_id(): {
|
self.ledger_class.get_id(): {
|
||||||
'use_go_hub': not strtobool(os.environ.get('ENABLE_LEGACY_SEARCH') or 'yes'),
|
|
||||||
'api_port': self.port,
|
'api_port': self.port,
|
||||||
'explicit_servers': [(spv_node.hostname, spv_node.port)],
|
'explicit_servers': [(spv_node.hostname, spv_node.port)],
|
||||||
'default_servers': Config.lbryum_servers.default,
|
'default_servers': Config.lbryum_servers.default,
|
||||||
|
@ -693,139 +673,3 @@ class LBCWalletNode:
|
||||||
|
|
||||||
def get_raw_transaction(self, txid):
|
def get_raw_transaction(self, txid):
|
||||||
return self._cli_cmnd('getrawtransaction', txid, '1')
|
return self._cli_cmnd('getrawtransaction', txid, '1')
|
||||||
|
|
||||||
|
|
||||||
class HubProcess(asyncio.SubprocessProtocol):
|
|
||||||
def __init__(self, ready, stopped):
|
|
||||||
self.ready = ready
|
|
||||||
self.stopped = stopped
|
|
||||||
self.log = log.getChild('hub')
|
|
||||||
self.transport = None
|
|
||||||
|
|
||||||
def pipe_data_received(self, fd, data):
|
|
||||||
self.stopped.clear()
|
|
||||||
self.ready.set()
|
|
||||||
if self.log:
|
|
||||||
self.log.info(data.decode())
|
|
||||||
if b'error' in data.lower():
|
|
||||||
self.ready.set()
|
|
||||||
raise SystemError(data.decode())
|
|
||||||
if b'listening on' in data:
|
|
||||||
self.ready.set()
|
|
||||||
str_lines = str(data.decode()).split("\n")
|
|
||||||
for line in str_lines:
|
|
||||||
if 'releaseTime' in line:
|
|
||||||
print(line)
|
|
||||||
|
|
||||||
def process_exited(self):
|
|
||||||
self.ready.clear()
|
|
||||||
self.stopped.set()
|
|
||||||
|
|
||||||
async def stop(self):
|
|
||||||
t = asyncio.create_task(self.stopped.wait())
|
|
||||||
try:
|
|
||||||
self.transport.send_signal(signal.SIGINT)
|
|
||||||
await asyncio.wait_for(t, 3)
|
|
||||||
# log.warning("stopped go hub")
|
|
||||||
except asyncio.TimeoutError:
|
|
||||||
if not t.done():
|
|
||||||
t.cancel()
|
|
||||||
self.transport.terminate()
|
|
||||||
await self.stopped.wait()
|
|
||||||
log.warning("terminated go hub")
|
|
||||||
|
|
||||||
|
|
||||||
class HubNode:
|
|
||||||
def __init__(self, url, daemon, spv_node):
|
|
||||||
self.spv_node = spv_node
|
|
||||||
self.latest_release_url = url
|
|
||||||
self.project_dir = os.path.dirname(os.path.dirname(__file__))
|
|
||||||
self.bin_dir = os.path.join(self.project_dir, 'bin')
|
|
||||||
self.daemon_bin = os.path.join(self.bin_dir, daemon)
|
|
||||||
self.cli_bin = os.path.join(self.bin_dir, daemon)
|
|
||||||
self.log = log.getChild('hub')
|
|
||||||
self.transport = None
|
|
||||||
self.protocol = None
|
|
||||||
self.hostname = 'localhost'
|
|
||||||
self.rpcport = 50051 # avoid conflict with default rpc port
|
|
||||||
self._stopped = asyncio.Event()
|
|
||||||
self.running = asyncio.Event()
|
|
||||||
|
|
||||||
@property
|
|
||||||
def stopped(self):
|
|
||||||
return not self.running.is_set()
|
|
||||||
|
|
||||||
@property
|
|
||||||
def exists(self):
|
|
||||||
return (
|
|
||||||
os.path.exists(self.cli_bin) and
|
|
||||||
os.path.exists(self.daemon_bin)
|
|
||||||
)
|
|
||||||
|
|
||||||
def download(self):
|
|
||||||
downloaded_file = os.path.join(
|
|
||||||
self.bin_dir,
|
|
||||||
self.latest_release_url[self.latest_release_url.rfind('/')+1:]
|
|
||||||
)
|
|
||||||
|
|
||||||
if not os.path.exists(self.bin_dir):
|
|
||||||
os.mkdir(self.bin_dir)
|
|
||||||
|
|
||||||
if not os.path.exists(downloaded_file):
|
|
||||||
self.log.info('Downloading: %s', self.latest_release_url)
|
|
||||||
with urllib.request.urlopen(self.latest_release_url) as response:
|
|
||||||
with open(downloaded_file, 'wb') as out_file:
|
|
||||||
shutil.copyfileobj(response, out_file)
|
|
||||||
|
|
||||||
self.log.info('Extracting: %s', downloaded_file)
|
|
||||||
|
|
||||||
if downloaded_file.endswith('.zip'):
|
|
||||||
with zipfile.ZipFile(downloaded_file) as dotzip:
|
|
||||||
dotzip.extractall(self.bin_dir)
|
|
||||||
# zipfile bug https://bugs.python.org/issue15795
|
|
||||||
os.chmod(self.cli_bin, 0o755)
|
|
||||||
os.chmod(self.daemon_bin, 0o755)
|
|
||||||
|
|
||||||
elif downloaded_file.endswith('.tar.gz'):
|
|
||||||
with tarfile.open(downloaded_file) as tar:
|
|
||||||
tar.extractall(self.bin_dir)
|
|
||||||
|
|
||||||
os.chmod(self.daemon_bin, 0o755)
|
|
||||||
|
|
||||||
return self.exists
|
|
||||||
|
|
||||||
def ensure(self):
|
|
||||||
return self.exists or self.download()
|
|
||||||
|
|
||||||
async def start(self):
|
|
||||||
assert self.ensure()
|
|
||||||
loop = asyncio.get_event_loop()
|
|
||||||
asyncio.get_child_watcher().attach_loop(loop)
|
|
||||||
command = [
|
|
||||||
self.daemon_bin, 'serve', '--esindex', self.spv_node.index_name + 'claims', '--debug'
|
|
||||||
]
|
|
||||||
self.log.info(' '.join(command))
|
|
||||||
self.protocol = HubProcess(self.running, self._stopped)
|
|
||||||
try:
|
|
||||||
self.transport, _ = await loop.subprocess_exec(
|
|
||||||
lambda: self.protocol, *command
|
|
||||||
)
|
|
||||||
self.protocol.transport = self.transport
|
|
||||||
except Exception as e:
|
|
||||||
log.exception('failed to start go hub', exc_info=e)
|
|
||||||
raise e
|
|
||||||
await self.protocol.ready.wait()
|
|
||||||
|
|
||||||
async def stop(self, cleanup=True):
|
|
||||||
try:
|
|
||||||
if self.protocol:
|
|
||||||
await self.protocol.stop()
|
|
||||||
except Exception as e:
|
|
||||||
log.exception('failed to stop go hub', exc_info=e)
|
|
||||||
raise e
|
|
||||||
finally:
|
|
||||||
if cleanup:
|
|
||||||
self.cleanup()
|
|
||||||
|
|
||||||
def cleanup(self):
|
|
||||||
pass
|
|
||||||
|
|
|
@ -1,46 +0,0 @@
|
||||||
import asyncio
|
|
||||||
from pprint import pprint
|
|
||||||
|
|
||||||
from elasticsearch import AsyncElasticsearch
|
|
||||||
from elasticsearch._async.helpers import async_scan, async_bulk
|
|
||||||
|
|
||||||
DB = {}
|
|
||||||
INDEX = 'claims'
|
|
||||||
|
|
||||||
|
|
||||||
async def generate_support_amounts(client: AsyncElasticsearch):
|
|
||||||
async for doc in async_scan(client):
|
|
||||||
DB[doc['_id']] = doc['_source']['support_amount']
|
|
||||||
if len(DB) > 10:
|
|
||||||
break
|
|
||||||
pprint(DB)
|
|
||||||
|
|
||||||
|
|
||||||
def generate_support_to_trending():
|
|
||||||
for claim_id, amount in DB.items():
|
|
||||||
yield {'doc': {"trending_mixed": amount}, '_id': claim_id, '_index': INDEX, '_op_type': 'update'}
|
|
||||||
|
|
||||||
|
|
||||||
async def write_trending(client: AsyncElasticsearch):
|
|
||||||
await async_bulk(client, generate_support_to_trending())
|
|
||||||
|
|
||||||
|
|
||||||
def get_client(host='localhost', port=9201):
|
|
||||||
hosts = [{'host': host, 'port': port}]
|
|
||||||
return AsyncElasticsearch(hosts, timeout=port)
|
|
||||||
|
|
||||||
|
|
||||||
async def run():
|
|
||||||
client = get_client()
|
|
||||||
await generate_support_amounts(client)
|
|
||||||
await write_trending(client)
|
|
||||||
for claim_id, value in DB.items():
|
|
||||||
if value > 0:
|
|
||||||
break
|
|
||||||
doc = await client.get(INDEX, claim_id)
|
|
||||||
pprint(doc)
|
|
||||||
pprint(DB[claim_id])
|
|
||||||
await client.close()
|
|
||||||
|
|
||||||
|
|
||||||
asyncio.get_event_loop().run_until_complete(run())
|
|
|
@ -9,7 +9,7 @@ omit =
|
||||||
lbry/wallet/orchstr8/
|
lbry/wallet/orchstr8/
|
||||||
.tox/*/lib/python*/site-packages/lbry/wallet/orchstr8/node.py
|
.tox/*/lib/python*/site-packages/lbry/wallet/orchstr8/node.py
|
||||||
|
|
||||||
[cryptography.*,coincurve.*,pbkdf2, libtorrent]
|
[cryptography.*,coincurve.*,pbkdf2,libtorrent]
|
||||||
ignore_missing_imports = True
|
ignore_missing_imports = True
|
||||||
|
|
||||||
[pylint]
|
[pylint]
|
||||||
|
|
14
setup.py
14
setup.py
|
@ -7,12 +7,6 @@ BASE = os.path.dirname(__file__)
|
||||||
with open(os.path.join(BASE, 'README.md'), encoding='utf-8') as fh:
|
with open(os.path.join(BASE, 'README.md'), encoding='utf-8') as fh:
|
||||||
long_description = fh.read()
|
long_description = fh.read()
|
||||||
|
|
||||||
|
|
||||||
ROCKSDB = []
|
|
||||||
if sys.platform.startswith('linux') or sys.platform.startswith('darwin'):
|
|
||||||
ROCKSDB.append('lbry-rocksdb==0.8.2')
|
|
||||||
|
|
||||||
|
|
||||||
setup(
|
setup(
|
||||||
name=__name__,
|
name=__name__,
|
||||||
version=__version__,
|
version=__version__,
|
||||||
|
@ -44,21 +38,15 @@ setup(
|
||||||
'cffi==1.13.2',
|
'cffi==1.13.2',
|
||||||
'cryptography==2.5',
|
'cryptography==2.5',
|
||||||
'protobuf==3.17.2',
|
'protobuf==3.17.2',
|
||||||
'msgpack==0.6.1',
|
|
||||||
'prometheus_client==0.7.1',
|
'prometheus_client==0.7.1',
|
||||||
'ecdsa==0.13.3',
|
'ecdsa==0.13.3',
|
||||||
'pyyaml==5.3.1',
|
'pyyaml==5.3.1',
|
||||||
'docopt==0.6.2',
|
'docopt==0.6.2',
|
||||||
'hachoir==3.1.2',
|
'hachoir==3.1.2',
|
||||||
'multidict==4.6.1',
|
|
||||||
'coincurve==15.0.0',
|
'coincurve==15.0.0',
|
||||||
'pbkdf2==1.3',
|
'pbkdf2==1.3',
|
||||||
'attrs==18.2.0',
|
|
||||||
'pylru==1.1.0',
|
|
||||||
'elasticsearch==7.10.1',
|
|
||||||
'grpcio==1.38.0',
|
|
||||||
'filetype==1.0.9',
|
'filetype==1.0.9',
|
||||||
] + ROCKSDB,
|
],
|
||||||
extras_require={
|
extras_require={
|
||||||
'torrent': ['lbry-libtorrent'],
|
'torrent': ['lbry-libtorrent'],
|
||||||
'lint': [
|
'lint': [
|
||||||
|
|
11
tox.ini
11
tox.ini
|
@ -10,7 +10,6 @@ changedir = {toxinidir}/tests
|
||||||
setenv =
|
setenv =
|
||||||
HOME=/tmp
|
HOME=/tmp
|
||||||
ELASTIC_HOST={env:ELASTIC_HOST:localhost}
|
ELASTIC_HOST={env:ELASTIC_HOST:localhost}
|
||||||
ENABLE_LEGACY_SEARCH=0
|
|
||||||
commands =
|
commands =
|
||||||
orchstr8 download
|
orchstr8 download
|
||||||
blockchain: coverage run -p --source={envsitepackagesdir}/lbry -m unittest discover -vv integration.blockchain {posargs}
|
blockchain: coverage run -p --source={envsitepackagesdir}/lbry -m unittest discover -vv integration.blockchain {posargs}
|
||||||
|
@ -19,13 +18,3 @@ commands =
|
||||||
transactions: coverage run -p --source={envsitepackagesdir}/lbry -m unittest discover -vv integration.transactions {posargs}
|
transactions: coverage run -p --source={envsitepackagesdir}/lbry -m unittest discover -vv integration.transactions {posargs}
|
||||||
datanetwork: coverage run -p --source={envsitepackagesdir}/lbry -m unittest discover -vv integration.datanetwork {posargs}
|
datanetwork: coverage run -p --source={envsitepackagesdir}/lbry -m unittest discover -vv integration.datanetwork {posargs}
|
||||||
other: coverage run -p --source={envsitepackagesdir}/lbry -m unittest discover -vv integration.other {posargs}
|
other: coverage run -p --source={envsitepackagesdir}/lbry -m unittest discover -vv integration.other {posargs}
|
||||||
[testenv:claims_legacy_search]
|
|
||||||
setenv =
|
|
||||||
ENABLE_LEGACY_SEARCH=1
|
|
||||||
commands =
|
|
||||||
coverage run -p --source={envsitepackagesdir}/lbry -m unittest discover -vv integration.claims {posargs}
|
|
||||||
[testenv:takeovers_legacy_search]
|
|
||||||
setenv =
|
|
||||||
ENABLE_LEGACY_SEARCH=1
|
|
||||||
commands =
|
|
||||||
coverage run -p --source={envsitepackagesdir}/lbry -m unittest discover -vv integration.takeovers {posargs}
|
|
||||||
|
|
Loading…
Reference in a new issue