From b330c35282ffb1d860abe7d2ba0b13e6f23f0b70 Mon Sep 17 00:00:00 2001 From: Victor Shyba Date: Thu, 3 Sep 2020 12:17:40 -0300 Subject: [PATCH 01/21] remove duplicated kwargs from parser.py --- lbry/service/parser.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lbry/service/parser.py b/lbry/service/parser.py index 228f9885f..a78a7b58f 100644 --- a/lbry/service/parser.py +++ b/lbry/service/parser.py @@ -146,6 +146,7 @@ def parse_method(method, expanders: dict) -> dict: 'returns': None } src = inspect.getsource(method) + known_names = set() for tokens in produce_argument_tokens(src): if tokens[0].string == '**': tokens.pop(0) @@ -156,12 +157,17 @@ def parse_method(method, expanders: dict) -> dict: for expander_name in expander_names.split('_and_'): if expander_name not in expanders: raise Exception(f"Expander '{expander_name}' not found, used by {d['name']}.") - d['arguments'].extend(expanders[expander_name]) - d['kwargs'].extend(expanders[expander_name]) + for expanded in expanders[expander_name]: + if expanded['name'] in known_names: + continue + d['arguments'].append(expanded) + d['kwargs'].append(expanded) + known_names.add(expanded['name']) else: arg = parse_argument(tokens, d['name']) if arg: d['arguments'].append(arg) + known_names.add(arg['name']) d['returns'] = parse_return(produce_return_tokens(src)) return d From 7304d24dfdb3fcc96493ecf676635e9e7111ef7c Mon Sep 17 00:00:00 2001 From: Victor Shyba Date: Thu, 3 Sep 2020 12:31:16 -0300 Subject: [PATCH 02/21] dont break lines on -- to avoid docopt parsing issues --- lbry/service/parser.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lbry/service/parser.py b/lbry/service/parser.py index a78a7b58f..9f30db0d0 100644 --- a/lbry/service/parser.py +++ b/lbry/service/parser.py @@ -215,6 +215,12 @@ def generate_options(method, indent) -> List[str]: text += f" [default: {arg['default']}]" wrapped = textwrap.wrap(text, LINE_WIDTH-len(left)) lines = [f"{left}{wrapped.pop(0)}"] + # dont break on -- or docopt will parse as a new option + for line_number, line in enumerate(wrapped): + if line.strip().startswith('--'): + wrapped[line_number-1] += ' ' + line.strip() + wrapped[line_number] = '' + continue for line in wrapped: lines.append(f"{' '*len(left)} {line}") options.extend(lines) From 382facf264c89be5d974ef3eabd750fbf222fc42 Mon Sep 17 00:00:00 2001 From: Victor Shyba Date: Thu, 3 Sep 2020 15:54:35 -0300 Subject: [PATCH 03/21] test for duplicated kwargs --- tests/unit/service/test_parser.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/tests/unit/service/test_parser.py b/tests/unit/service/test_parser.py index 45267ee2c..6fcfcb87e 100644 --- a/tests/unit/service/test_parser.py +++ b/tests/unit/service/test_parser.py @@ -33,6 +33,11 @@ class FakeAPI: def thing_update(self, value1: str) -> Wallet: # updated wallet """update command doc""" + def thing_search( + self, + **claim_filter_and_signed_filter_and_stream_filter_and_pagination_kwargs): + """search command doc""" + def thing_delete(self, value1: str, **tx_and_pagination_kwargs) -> Wallet: # deleted thing """ delete command doc @@ -60,6 +65,11 @@ class FakeAPI: class TestParser(TestCase): maxDiff = None + def test_parse_does_not_duplicate_arguments(self): + parsed = parse_method(FakeAPI.thing_search, get_expanders()) + names = [arg['name'] for arg in parsed['arguments']] + self.assertEqual(len(names), len(set(names))) + def test_parse_method(self): expanders = get_expanders() self.assertEqual( From c498619ccae5809406f97703e924a4f4e5a90410 Mon Sep 17 00:00:00 2001 From: Victor Shyba Date: Thu, 3 Sep 2020 16:02:59 -0300 Subject: [PATCH 04/21] test using a new expander explicitly --- tests/unit/service/test_parser.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/tests/unit/service/test_parser.py b/tests/unit/service/test_parser.py index 6fcfcb87e..e75d45302 100644 --- a/tests/unit/service/test_parser.py +++ b/tests/unit/service/test_parser.py @@ -1,12 +1,22 @@ from unittest import TestCase from textwrap import dedent -from lbry.service.api import Paginated, Wallet +from lbry.service.api import Paginated, Wallet, expander from lbry.service.parser import ( parse_method, get_expanders, get_api_definitions, generate_options ) +@expander +def test_kwargs(somevalue=1): + pass + + +@expander +def another_test_kwargs(somevalue=2, repeated=3): + pass + + class FakeAPI: THING_DOC = "thing doc" @@ -35,7 +45,7 @@ class FakeAPI: def thing_search( self, - **claim_filter_and_signed_filter_and_stream_filter_and_pagination_kwargs): + **test_and_another_test_kwargs): """search command doc""" def thing_delete(self, value1: str, **tx_and_pagination_kwargs) -> Wallet: # deleted thing From e436ae7edd7033b3b1fdeeb62f5a9b869cae07ed Mon Sep 17 00:00:00 2001 From: Victor Shyba Date: Thu, 3 Sep 2020 17:13:10 -0300 Subject: [PATCH 05/21] test for wrong linebreaks and improve fix --- lbry/service/parser.py | 8 +++--- tests/unit/service/test_parser.py | 42 ++++++++++++++++++++++++++++--- 2 files changed, 42 insertions(+), 8 deletions(-) diff --git a/lbry/service/parser.py b/lbry/service/parser.py index 9f30db0d0..5b8247e03 100644 --- a/lbry/service/parser.py +++ b/lbry/service/parser.py @@ -218,11 +218,9 @@ def generate_options(method, indent) -> List[str]: # dont break on -- or docopt will parse as a new option for line_number, line in enumerate(wrapped): if line.strip().startswith('--'): - wrapped[line_number-1] += ' ' + line.strip() - wrapped[line_number] = '' - continue - for line in wrapped: - lines.append(f"{' '*len(left)} {line}") + lines[-1] = lines[-1] + ' ' + line.strip() + else: + lines.append(f"{' ' * len(left)} {line}") options.extend(lines) return options diff --git a/tests/unit/service/test_parser.py b/tests/unit/service/test_parser.py index e75d45302..50268542f 100644 --- a/tests/unit/service/test_parser.py +++ b/tests/unit/service/test_parser.py @@ -13,7 +13,12 @@ def test_kwargs(somevalue=1): @expander -def another_test_kwargs(somevalue=2, repeated=3): +def another_test_kwargs( + somevalue=1, + repeated=2, + bad_description=3, # using linebreaks makes docopt very very --angry + angry=4 +): pass @@ -45,8 +50,15 @@ class FakeAPI: def thing_search( self, - **test_and_another_test_kwargs): - """search command doc""" + query='a', + **test_and_another_test_kwargs) -> Wallet: + """ + search command doc + + Usage: + thing search [--query=] + {kwargs} + """ def thing_delete(self, value1: str, **tx_and_pagination_kwargs) -> Wallet: # deleted thing """ @@ -287,3 +299,27 @@ class TestGenerator(TestCase): (str) cheese foo bar""") ) + + def test_parse_does_not_break_with_two_dashes(self): + # breaking with two dashes breaks docopt parsing + definitions = get_api_definitions(FakeAPI) + self.assertEqual(definitions['commands']['thing_search']['help'], """search command doc + +Usage: + thing search [--query=] + [--somevalue=] [--repeated=] + [--bad_description=] [--angry=] + +Options: + --query= : (str) [default: 'a'] + --somevalue= : (int) [default: 1] + --repeated= : (int) [default: 2] + --bad_description= : (int) using linebreaks makes docopt very very --angry [default: 3] + --angry= : (int) [default: 4] + +Returns: + (Wallet) + { + "id": "wallet_id", + "name": "optional wallet name" + }""") From 10ad4ed8d18957b1e3249100db2569e601d0a3d0 Mon Sep 17 00:00:00 2001 From: Victor Shyba Date: Thu, 3 Sep 2020 17:13:55 -0300 Subject: [PATCH 06/21] update metadata.py --- lbry/service/metadata.py | 507 ++++++++++++++---------------- tests/unit/service/test_parser.py | 2 +- 2 files changed, 239 insertions(+), 270 deletions(-) diff --git a/lbry/service/metadata.py b/lbry/service/metadata.py index bfecd6a71..07693063c 100644 --- a/lbry/service/metadata.py +++ b/lbry/service/metadata.py @@ -1631,7 +1631,7 @@ interface = { ], "group": "channel", "cli": "channel create", - "help": "Create a new channel by generating a channel private key and establishing an '@' prefixed claim.\n\nUsage:\n channel create () ( | --bid=) [--allow_duplicate_name]\n [--email=] [--website_url=]\n [--cover_url=] [--featured=...] [--title=]\n [--description=<description>] [--thumbnail_url=<thumbnail_url>]\n [--tag=<tag>...] [--language=<language>...] [--location=<location>...]\n [--account_id=<account_id>] [--claim_address=<claim_address>]\n [--channel_id=<channel_id>] [--channel_name=<channel_name>]\n [--wallet_id=<wallet_id>] [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --name=<name> : (str) name of the channel prefixed with '@'\n --bid=<bid> : (str) amount to back the channel\n --allow_duplicate_name : (bool) create new channel even if one\n already exists with given name\n --email=<email> : (str) email of channel owner\n --website_url=<website_url> : (str) website url\n --cover_url=<cover_url> : (str) url to cover image\n --featured=<featured> : (str, list) claim_id(s) of featured content\n in channel\n --title=<title> : (str)\n --description=<description> : (str)\n --thumbnail_url=<thumbnail_url> : (str) url to thumbnail image\n --tag=<tag> : (str, list)\n --language=<language> : (str, list) languages used by the channel,\n using RFC 5646 format, eg: for English\n `--language=en` for Spanish (Spain)\n `--language=es-ES` for Spanish (Mexican)\n `--language=es-MX` for Chinese (Simplified)\n `--language=zh-Hans` for Chinese\n (Traditional) `--language=zh-Hant`\n --location=<location> : (str, list) locations of the channel,\n consisting of 2 letter `country` code and a\n `state`, `city` and a postal `code` along\n with a `latitude` and `longitude`. for JSON\n RPC: pass a dictionary with aforementioned\n attributes as keys, eg: ... \"locations\":\n [{'country': 'US', 'state': 'NH'}] ... for\n command line: pass a colon delimited list\n with values in the following order: \"COUNTR\n Y:STATE:CITY:CODE:LATITUDE:LONGITUDE\"\n making sure to include colon for blank\n values, for example to provide only the\n city: ... --locations=\"::Manchester\" with\n all values set: ... --locations=\"US:NH:Manc\n hester:03101:42.990605:-71.460989\"\n optionally, you can just pass the\n \"LATITUDE:LONGITUDE\": ...\n --locations=\"42.990605:-71.460989\" finally,\n you can also pass JSON string of dictionary\n on the command line as you would via JSON\n RPC ... --locations=\"{'country': 'US',\n 'state': 'NH'}\"\n --account_id=<account_id> : (str) account to hold the claim\n --claim_address=<claim_address> : (str) specific address where the claim is\n held, if not specified it will be\n determined automatically from the account\n --channel_id=<channel_id> : (str) claim id of the publishing channel\n --channel_name=<channel_name> : (str) name of publishing channel\n --wallet_id=<wallet_id> : (str) restrict operation to specific wallet\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) new channel transaction\n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" + "help": "Create a new channel by generating a channel private key and establishing an '@' prefixed claim.\n\nUsage:\n channel create (<name>) (<bid> | --bid=<bid>) [--allow_duplicate_name]\n [--email=<email>] [--website_url=<website_url>]\n [--cover_url=<cover_url>] [--featured=<featured>...] [--title=<title>]\n [--description=<description>] [--thumbnail_url=<thumbnail_url>]\n [--tag=<tag>...] [--language=<language>...] [--location=<location>...]\n [--account_id=<account_id>] [--claim_address=<claim_address>]\n [--channel_id=<channel_id>] [--channel_name=<channel_name>]\n [--wallet_id=<wallet_id>] [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --name=<name> : (str) name of the channel prefixed with '@'\n --bid=<bid> : (str) amount to back the channel\n --allow_duplicate_name : (bool) create new channel even if one\n already exists with given name\n --email=<email> : (str) email of channel owner\n --website_url=<website_url> : (str) website url\n --cover_url=<cover_url> : (str) url to cover image\n --featured=<featured> : (str, list) claim_id(s) of featured content\n in channel\n --title=<title> : (str)\n --description=<description> : (str)\n --thumbnail_url=<thumbnail_url> : (str) url to thumbnail image\n --tag=<tag> : (str, list)\n --language=<language> : (str, list) languages used by the channel,\n using RFC 5646 format, eg: for English\n `--language=en` for Spanish (Spain)\n `--language=es-ES` for Spanish (Mexican)\n `--language=es-MX` for Chinese (Simplified)\n `--language=zh-Hans` for Chinese\n (Traditional) `--language=zh-Hant`\n --location=<location> : (str, list) locations of the channel,\n consisting of 2 letter `country` code and a\n `state`, `city` and a postal `code` along\n with a `latitude` and `longitude`. for JSON\n RPC: pass a dictionary with aforementioned\n attributes as keys, eg: ... \"locations\":\n [{'country': 'US', 'state': 'NH'}] ... for\n command line: pass a colon delimited list\n with values in the following order: \"COUNTR\n Y:STATE:CITY:CODE:LATITUDE:LONGITUDE\"\n making sure to include colon for blank\n values, for example to provide only the\n city: ... --locations=\"::Manchester\" with\n all values set: ... --locations=\"US:NH:Manc\n hester:03101:42.990605:-71.460989\"\n optionally, you can just pass the\n \"LATITUDE:LONGITUDE\": ... --locations=\"42.990605:-71.460989\" finally,\n you can also pass JSON string of dictionary\n on the command line as you would via JSON\n RPC ... --locations=\"{'country': 'US',\n 'state': 'NH'}\"\n --account_id=<account_id> : (str) account to hold the claim\n --claim_address=<claim_address> : (str) specific address where the claim is\n held, if not specified it will be\n determined automatically from the account\n --channel_id=<channel_id> : (str) claim id of the publishing channel\n --channel_name=<channel_name> : (str) name of publishing channel\n --wallet_id=<wallet_id> : (str) restrict operation to specific wallet\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) new channel transaction\n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" }, "channel_export": { "name": "export", @@ -2619,7 +2619,7 @@ interface = { ], "group": "channel", "cli": "channel update", - "help": "Update an existing channel claim.\n\nUsage:\n channel update (<claim_id> | --claim_id=<claim_id>) [<bid> | --bid=<bid>]\n [--new_signing_key] [--clear_featured]\n [--new_signing_key] [--clear_featured] [--email=<email>]\n [--website_url=<website_url>] [--cover_url=<cover_url>]\n [--featured=<featured>...] [--title=<title>]\n [--description=<description>] [--thumbnail_url=<thumbnail_url>]\n [--tag=<tag>...] [--language=<language>...] [--location=<location>...]\n [--account_id=<account_id>] [--claim_address=<claim_address>]\n [--channel_id=<channel_id>] [--channel_name=<channel_name>] [--replace]\n [--clear_tags] [--clear_languages] [--clear_locations]\n [--wallet_id=<wallet_id>] [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --claim_id=<claim_id> : (str) claim_id of the channel to update\n --bid=<bid> : (str) update amount backing the channel\n --new_signing_key : (bool) generate a new signing key, will\n invalidate all previous publishes\n --clear_featured : (bool) clear existing featured content\n (prior to adding new ones)\n --email=<email> : (str) email of channel owner\n --website_url=<website_url> : (str) website url\n --cover_url=<cover_url> : (str) url to cover image\n --featured=<featured> : (str, list) claim_id(s) of featured content\n in channel\n --title=<title> : (str)\n --description=<description> : (str)\n --thumbnail_url=<thumbnail_url> : (str) url to thumbnail image\n --tag=<tag> : (str, list)\n --language=<language> : (str, list) languages used by the channel,\n using RFC 5646 format, eg: for English\n `--language=en` for Spanish (Spain)\n `--language=es-ES` for Spanish (Mexican)\n `--language=es-MX` for Chinese (Simplified)\n `--language=zh-Hans` for Chinese\n (Traditional) `--language=zh-Hant`\n --location=<location> : (str, list) locations of the channel,\n consisting of 2 letter `country` code and a\n `state`, `city` and a postal `code` along\n with a `latitude` and `longitude`. for JSON\n RPC: pass a dictionary with aforementioned\n attributes as keys, eg: ... \"locations\":\n [{'country': 'US', 'state': 'NH'}] ... for\n command line: pass a colon delimited list\n with values in the following order: \"COUNTR\n Y:STATE:CITY:CODE:LATITUDE:LONGITUDE\"\n making sure to include colon for blank\n values, for example to provide only the\n city: ... --locations=\"::Manchester\" with\n all values set: ... --locations=\"US:NH:Manc\n hester:03101:42.990605:-71.460989\"\n optionally, you can just pass the\n \"LATITUDE:LONGITUDE\": ...\n --locations=\"42.990605:-71.460989\" finally,\n you can also pass JSON string of dictionary\n on the command line as you would via JSON\n RPC ... --locations=\"{'country': 'US',\n 'state': 'NH'}\"\n --account_id=<account_id> : (str) account to hold the claim\n --claim_address=<claim_address> : (str) specific address where the claim is\n held, if not specified it will be\n determined automatically from the account\n --channel_id=<channel_id> : (str) claim id of the publishing channel\n --channel_name=<channel_name> : (str) name of publishing channel\n --replace : (bool) instead of modifying specific values\n on the claim, this will clear all existing\n values and only save passed in values,\n useful for form submissions where all\n values are always set\n --clear_tags : (bool) clear existing tags (prior to adding\n new ones)\n --clear_languages : (bool) clear existing languages (prior to\n adding new ones)\n --clear_locations : (bool) clear existing locations (prior to\n adding new ones)\n --wallet_id=<wallet_id> : (str) restrict operation to specific wallet\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) transaction updating the channel\n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" + "help": "Update an existing channel claim.\n\nUsage:\n channel update (<claim_id> | --claim_id=<claim_id>) [<bid> | --bid=<bid>]\n [--new_signing_key] [--clear_featured]\n [--new_signing_key] [--clear_featured] [--email=<email>]\n [--website_url=<website_url>] [--cover_url=<cover_url>]\n [--featured=<featured>...] [--title=<title>]\n [--description=<description>] [--thumbnail_url=<thumbnail_url>]\n [--tag=<tag>...] [--language=<language>...] [--location=<location>...]\n [--account_id=<account_id>] [--claim_address=<claim_address>]\n [--channel_id=<channel_id>] [--channel_name=<channel_name>] [--replace]\n [--clear_tags] [--clear_languages] [--clear_locations]\n [--wallet_id=<wallet_id>] [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --claim_id=<claim_id> : (str) claim_id of the channel to update\n --bid=<bid> : (str) update amount backing the channel\n --new_signing_key : (bool) generate a new signing key, will\n invalidate all previous publishes\n --clear_featured : (bool) clear existing featured content\n (prior to adding new ones)\n --email=<email> : (str) email of channel owner\n --website_url=<website_url> : (str) website url\n --cover_url=<cover_url> : (str) url to cover image\n --featured=<featured> : (str, list) claim_id(s) of featured content\n in channel\n --title=<title> : (str)\n --description=<description> : (str)\n --thumbnail_url=<thumbnail_url> : (str) url to thumbnail image\n --tag=<tag> : (str, list)\n --language=<language> : (str, list) languages used by the channel,\n using RFC 5646 format, eg: for English\n `--language=en` for Spanish (Spain)\n `--language=es-ES` for Spanish (Mexican)\n `--language=es-MX` for Chinese (Simplified)\n `--language=zh-Hans` for Chinese\n (Traditional) `--language=zh-Hant`\n --location=<location> : (str, list) locations of the channel,\n consisting of 2 letter `country` code and a\n `state`, `city` and a postal `code` along\n with a `latitude` and `longitude`. for JSON\n RPC: pass a dictionary with aforementioned\n attributes as keys, eg: ... \"locations\":\n [{'country': 'US', 'state': 'NH'}] ... for\n command line: pass a colon delimited list\n with values in the following order: \"COUNTR\n Y:STATE:CITY:CODE:LATITUDE:LONGITUDE\"\n making sure to include colon for blank\n values, for example to provide only the\n city: ... --locations=\"::Manchester\" with\n all values set: ... --locations=\"US:NH:Manc\n hester:03101:42.990605:-71.460989\"\n optionally, you can just pass the\n \"LATITUDE:LONGITUDE\": ... --locations=\"42.990605:-71.460989\" finally,\n you can also pass JSON string of dictionary\n on the command line as you would via JSON\n RPC ... --locations=\"{'country': 'US',\n 'state': 'NH'}\"\n --account_id=<account_id> : (str) account to hold the claim\n --claim_address=<claim_address> : (str) specific address where the claim is\n held, if not specified it will be\n determined automatically from the account\n --channel_id=<channel_id> : (str) claim id of the publishing channel\n --channel_name=<channel_name> : (str) name of publishing channel\n --replace : (bool) instead of modifying specific values\n on the claim, this will clear all existing\n values and only save passed in values,\n useful for form submissions where all\n values are always set\n --clear_tags : (bool) clear existing tags (prior to adding\n new ones)\n --clear_languages : (bool) clear existing languages (prior to\n adding new ones)\n --clear_locations : (bool) clear existing locations (prior to\n adding new ones)\n --wallet_id=<wallet_id> : (str) restrict operation to specific wallet\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) transaction updating the channel\n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" }, "claim_list": { "name": "list", @@ -2913,62 +2913,6 @@ interface = { ], "type": "int" }, - { - "name": "channel", - "desc": [ - "signed by this channel (argument is", - "a URL which automatically gets resolved),", - "see --channel_id if you need to filter by", - "multiple channels at the same time,", - "includes results with invalid signatures,", - "use in conjunction with --valid_channel_signature" - ], - "type": "str" - }, - { - "name": "channel_id", - "desc": [ - "signed by any of these channels including invalid signatures,", - "implies --has_channel_signature,", - "use in conjunction with --valid_channel_signature" - ], - "type": "str, list" - }, - { - "name": "not_channel_id", - "desc": [ - "exclude everything signed by any of these channels" - ], - "type": "str, list" - }, - { - "name": "has_channel_signature", - "desc": [ - "results with a channel signature (valid or invalid)" - ], - "default": False, - "type": "bool" - }, - { - "name": "valid_channel_signature", - "desc": [ - "results with a valid channel signature or no signature,", - "use in conjunction with --has_channel_signature to", - "only get results with valid signatures" - ], - "default": False, - "type": "bool" - }, - { - "name": "invalid_channel_signature", - "desc": [ - "results with invalid channel signature or no signature,", - "use in conjunction with --has_channel_signature to", - "only get results with invalid signatures" - ], - "default": False, - "type": "bool" - }, { "name": "page", "desc": [ @@ -3266,62 +3210,6 @@ interface = { ], "type": "int" }, - { - "name": "channel", - "desc": [ - "signed by this channel (argument is", - "a URL which automatically gets resolved),", - "see --channel_id if you need to filter by", - "multiple channels at the same time,", - "includes results with invalid signatures,", - "use in conjunction with --valid_channel_signature" - ], - "type": "str" - }, - { - "name": "channel_id", - "desc": [ - "signed by any of these channels including invalid signatures,", - "implies --has_channel_signature,", - "use in conjunction with --valid_channel_signature" - ], - "type": "str, list" - }, - { - "name": "not_channel_id", - "desc": [ - "exclude everything signed by any of these channels" - ], - "type": "str, list" - }, - { - "name": "has_channel_signature", - "desc": [ - "results with a channel signature (valid or invalid)" - ], - "default": False, - "type": "bool" - }, - { - "name": "valid_channel_signature", - "desc": [ - "results with a valid channel signature or no signature,", - "use in conjunction with --has_channel_signature to", - "only get results with valid signatures" - ], - "default": False, - "type": "bool" - }, - { - "name": "invalid_channel_signature", - "desc": [ - "results with invalid channel signature or no signature,", - "use in conjunction with --has_channel_signature to", - "only get results with invalid signatures" - ], - "default": False, - "type": "bool" - }, { "name": "page", "desc": [ @@ -3347,7 +3235,7 @@ interface = { ], "group": "claim", "cli": "claim list", - "help": "List my stream and channel claims.\n\nUsage:\n claim list [--account_id=<account_id>] [--wallet_id=<wallet_id>]\n [--is_spent] [--resolve] [--include_received_tips]\n [--name=<name>...] [--claim_id=<claim_id>...] [--text=<text>]\n [--txid=<txid>] [--nout=<nout>] [--height=<height>]\n [--timestamp=<timestamp>] [--creation_height=<creation_height>]\n [--creation_timestamp=<creation_timestamp>] [--amount=<amount>]\n [--any_tag=<any_tag>...] [--all_tag=<all_tag>...] [--not_tag=<not_tag>...]\n [--any_language=<any_language>...] [--all_language=<all_language>...]\n [--not_language=<not_language>...] [--any_location=<any_location>...]\n [--all_location=<all_location>...] [--not_location=<not_location>...]\n [--release_time=<release_time>] [--channel=<channel>]\n [--channel_id=<channel_id>...] [--not_channel_id=<not_channel_id>...]\n [--has_channel_signature] [--valid_channel_signature]\n [--invalid_channel_signature] [--stream_type=<stream_type>...]\n [--media_type=<media_type>...] [--fee_currency=<fee_currency>]\n [--fee_amount=<fee_amount>] [--duration=<duration>] [--channel=<channel>]\n [--channel_id=<channel_id>...] [--not_channel_id=<not_channel_id>...]\n [--has_channel_signature] [--valid_channel_signature]\n [--invalid_channel_signature] [--page=<page>] [--page_size=<page_size>]\n [--include_total]\n\nOptions:\n --claim_type=<claim_type> : (str) claim type: channel, stream,\n repost, collection\n --account_id=<account_id> : (str) restrict operation to specific\n account, otherwise all accounts in wallet\n --wallet_id=<wallet_id> : (str) restrict operation to specific\n wallet\n --is_spent : (bool) shows previous claim updates and\n abandons\n --resolve : (bool) resolves each claim to provide\n additional metadata\n --include_received_tips : (bool) calculate the amount of tips\n recieved for claim outputs\n --name=<name> : (str, list) claim name (normalized)\n --claim_id=<claim_id> : (str, list) full or partial claim id\n --text=<text> : (str) full text search\n --txid=<txid> : (str) transaction id\n --nout=<nout> : (int) position in the transaction\n --height=<height> : (int) last updated block height (supports\n equality constraints)\n --timestamp=<timestamp> : (int) last updated timestamp (supports\n equality constraints)\n --creation_height=<creation_height> : (int) created at block height (supports\n equality constraints)\n --creation_timestamp=<creation_timestamp> : (int) created at timestamp (supports\n equality constraints)\n --amount=<amount> : (str) claim amount (supports equality\n constraints)\n --any_tag=<any_tag> : (str, list) containing any of the tags\n --all_tag=<all_tag> : (str, list) containing every tag\n --not_tag=<not_tag> : (str, list) not containing any of these\n tags\n --any_language=<any_language> : (str, list) containing any of the\n languages\n --all_language=<all_language> : (str, list) containing every language\n --not_language=<not_language> : (str, list) not containing any of these\n languages\n --any_location=<any_location> : (str, list) containing any of the\n locations\n --all_location=<all_location> : (str, list) containing every location\n --not_location=<not_location> : (str, list) not containing any of these\n locations\n --release_time=<release_time> : (int) limit to claims self-described as\n having been released to the public on or\n after this UTC timestamp, when claim does\n not provide a release time the publish\n time is used instead (supports equality\n constraints)\n --channel=<channel> : (str) signed by this channel (argument is\n a URL which automatically gets resolved),\n see --channel_id if you need to filter by\n multiple channels at the same time,\n includes results with invalid signatures,\n use in conjunction with\n --valid_channel_signature\n --channel_id=<channel_id> : (str, list) signed by any of these\n channels including invalid signatures,\n implies --has_channel_signature, use in\n conjunction with\n --valid_channel_signature\n --not_channel_id=<not_channel_id> : (str, list) exclude everything signed by\n any of these channels\n --has_channel_signature : (bool) results with a channel signature\n (valid or invalid)\n --valid_channel_signature : (bool) results with a valid channel\n signature or no signature, use in\n conjunction with --has_channel_signature\n to only get results with valid signatures\n --invalid_channel_signature : (bool) results with invalid channel\n signature or no signature, use in\n conjunction with --has_channel_signature\n to only get results with invalid\n signatures\n --stream_type=<stream_type> : (str, list) filter by 'video', 'image',\n 'document', etc\n --media_type=<media_type> : (str, list) filter by 'video/mp4',\n 'image/png', etc\n --fee_currency=<fee_currency> : (str) specify fee currency# LBC, BTC, USD\n --fee_amount=<fee_amount> : (str) content download fee (supports\n equality constraints)\n --duration=<duration> : (int) duration of video or audio in\n seconds (supports equality constraints)\n --channel=<channel> : (str) signed by this channel (argument is\n a URL which automatically gets resolved),\n see --channel_id if you need to filter by\n multiple channels at the same time,\n includes results with invalid signatures,\n use in conjunction with\n --valid_channel_signature\n --channel_id=<channel_id> : (str, list) signed by any of these\n channels including invalid signatures,\n implies --has_channel_signature, use in\n conjunction with\n --valid_channel_signature\n --not_channel_id=<not_channel_id> : (str, list) exclude everything signed by\n any of these channels\n --has_channel_signature : (bool) results with a channel signature\n (valid or invalid)\n --valid_channel_signature : (bool) results with a valid channel\n signature or no signature, use in\n conjunction with --has_channel_signature\n to only get results with valid signatures\n --invalid_channel_signature : (bool) results with invalid channel\n signature or no signature, use in\n conjunction with --has_channel_signature\n to only get results with invalid\n signatures\n --page=<page> : (int) page to return for paginating\n --page_size=<page_size> : (int) number of items on page for\n pagination\n --include_total : (bool) calculate total number of items\n and pages\n\nReturns:\n (Paginated[Output]) streams and channels in wallet\n {\n \"page\": \"Page number of the current items.\",\n \"page_size\": \"Number of items to show on a page.\",\n \"total_pages\": \"Total number of pages.\",\n \"total_items\": \"Total number of items.\",\n \"items\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ]\n }" + "help": "List my stream and channel claims.\n\nUsage:\n claim list [--account_id=<account_id>] [--wallet_id=<wallet_id>]\n [--is_spent] [--resolve] [--include_received_tips]\n [--name=<name>...] [--claim_id=<claim_id>...] [--text=<text>]\n [--txid=<txid>] [--nout=<nout>] [--height=<height>]\n [--timestamp=<timestamp>] [--creation_height=<creation_height>]\n [--creation_timestamp=<creation_timestamp>] [--amount=<amount>]\n [--any_tag=<any_tag>...] [--all_tag=<all_tag>...] [--not_tag=<not_tag>...]\n [--any_language=<any_language>...] [--all_language=<all_language>...]\n [--not_language=<not_language>...] [--any_location=<any_location>...]\n [--all_location=<all_location>...] [--not_location=<not_location>...]\n [--release_time=<release_time>] [--channel=<channel>]\n [--channel_id=<channel_id>...] [--not_channel_id=<not_channel_id>...]\n [--has_channel_signature] [--valid_channel_signature]\n [--invalid_channel_signature] [--stream_type=<stream_type>...]\n [--media_type=<media_type>...] [--fee_currency=<fee_currency>]\n [--fee_amount=<fee_amount>] [--duration=<duration>] [--page=<page>]\n [--page_size=<page_size>] [--include_total]\n\nOptions:\n --claim_type=<claim_type> : (str) claim type: channel, stream,\n repost, collection\n --account_id=<account_id> : (str) restrict operation to specific\n account, otherwise all accounts in wallet\n --wallet_id=<wallet_id> : (str) restrict operation to specific\n wallet\n --is_spent : (bool) shows previous claim updates and\n abandons\n --resolve : (bool) resolves each claim to provide\n additional metadata\n --include_received_tips : (bool) calculate the amount of tips\n recieved for claim outputs\n --name=<name> : (str, list) claim name (normalized)\n --claim_id=<claim_id> : (str, list) full or partial claim id\n --text=<text> : (str) full text search\n --txid=<txid> : (str) transaction id\n --nout=<nout> : (int) position in the transaction\n --height=<height> : (int) last updated block height (supports\n equality constraints)\n --timestamp=<timestamp> : (int) last updated timestamp (supports\n equality constraints)\n --creation_height=<creation_height> : (int) created at block height (supports\n equality constraints)\n --creation_timestamp=<creation_timestamp> : (int) created at timestamp (supports\n equality constraints)\n --amount=<amount> : (str) claim amount (supports equality\n constraints)\n --any_tag=<any_tag> : (str, list) containing any of the tags\n --all_tag=<all_tag> : (str, list) containing every tag\n --not_tag=<not_tag> : (str, list) not containing any of these\n tags\n --any_language=<any_language> : (str, list) containing any of the\n languages\n --all_language=<all_language> : (str, list) containing every language\n --not_language=<not_language> : (str, list) not containing any of these\n languages\n --any_location=<any_location> : (str, list) containing any of the\n locations\n --all_location=<all_location> : (str, list) containing every location\n --not_location=<not_location> : (str, list) not containing any of these\n locations\n --release_time=<release_time> : (int) limit to claims self-described as\n having been released to the public on or\n after this UTC timestamp, when claim does\n not provide a release time the publish\n time is used instead (supports equality\n constraints)\n --channel=<channel> : (str) signed by this channel (argument is\n a URL which automatically gets resolved),\n see --channel_id if you need to filter by\n multiple channels at the same time,\n includes results with invalid signatures,\n use in conjunction with --valid_channel_signature\n --channel_id=<channel_id> : (str, list) signed by any of these\n channels including invalid signatures,\n implies --has_channel_signature, use in\n conjunction with --valid_channel_signature\n --not_channel_id=<not_channel_id> : (str, list) exclude everything signed by\n any of these channels\n --has_channel_signature : (bool) results with a channel signature\n (valid or invalid)\n --valid_channel_signature : (bool) results with a valid channel\n signature or no signature, use in\n conjunction with --has_channel_signature\n to only get results with valid signatures\n --invalid_channel_signature : (bool) results with invalid channel\n signature or no signature, use in\n conjunction with --has_channel_signature\n to only get results with invalid\n signatures\n --stream_type=<stream_type> : (str, list) filter by 'video', 'image',\n 'document', etc\n --media_type=<media_type> : (str, list) filter by 'video/mp4',\n 'image/png', etc\n --fee_currency=<fee_currency> : (str) specify fee currency# LBC, BTC, USD\n --fee_amount=<fee_amount> : (str) content download fee (supports\n equality constraints)\n --duration=<duration> : (int) duration of video or audio in\n seconds (supports equality constraints)\n --page=<page> : (int) page to return for paginating\n --page_size=<page_size> : (int) number of items on page for\n pagination\n --include_total : (bool) calculate total number of items\n and pages\n\nReturns:\n (Paginated[Output]) streams and channels in wallet\n {\n \"page\": \"Page number of the current items.\",\n \"page_size\": \"Number of items to show on a page.\",\n \"total_pages\": \"Total number of pages.\",\n \"total_items\": \"Total number of items.\",\n \"items\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ]\n }" }, "claim_search": { "name": "search", @@ -3369,7 +3257,8 @@ interface = { " [--trending_global=<trending_global]", " [--reposted_claim_id=<reposted_claim_id>] [--reposted=<reposted>]", " [--claim_type=<claim_type>] [--order_by=<order_by>...]", - " [--wallet_id=<wallet_id>] [--include_purchase_receipt] [--include_is_my_output]" + " [--wallet_id=<wallet_id>] [--include_purchase_receipt] [--include_is_my_output]", + " [--protobuf]" ], "kwargs": 17 }, @@ -3514,6 +3403,14 @@ interface = { ], "type": "str, list" }, + { + "name": "protobuf", + "desc": [ + "protobuf encoded result" + ], + "default": False, + "type": "bool" + }, { "name": "name", "desc": [ @@ -3748,62 +3645,6 @@ interface = { ], "type": "int" }, - { - "name": "channel", - "desc": [ - "signed by this channel (argument is", - "a URL which automatically gets resolved),", - "see --channel_id if you need to filter by", - "multiple channels at the same time,", - "includes results with invalid signatures,", - "use in conjunction with --valid_channel_signature" - ], - "type": "str" - }, - { - "name": "channel_id", - "desc": [ - "signed by any of these channels including invalid signatures,", - "implies --has_channel_signature,", - "use in conjunction with --valid_channel_signature" - ], - "type": "str, list" - }, - { - "name": "not_channel_id", - "desc": [ - "exclude everything signed by any of these channels" - ], - "type": "str, list" - }, - { - "name": "has_channel_signature", - "desc": [ - "results with a channel signature (valid or invalid)" - ], - "default": False, - "type": "bool" - }, - { - "name": "valid_channel_signature", - "desc": [ - "results with a valid channel signature or no signature,", - "use in conjunction with --has_channel_signature to", - "only get results with valid signatures" - ], - "default": False, - "type": "bool" - }, - { - "name": "invalid_channel_signature", - "desc": [ - "results with invalid channel signature or no signature,", - "use in conjunction with --has_channel_signature to", - "only get results with invalid signatures" - ], - "default": False, - "type": "bool" - }, { "name": "page", "desc": [ @@ -4101,62 +3942,6 @@ interface = { ], "type": "int" }, - { - "name": "channel", - "desc": [ - "signed by this channel (argument is", - "a URL which automatically gets resolved),", - "see --channel_id if you need to filter by", - "multiple channels at the same time,", - "includes results with invalid signatures,", - "use in conjunction with --valid_channel_signature" - ], - "type": "str" - }, - { - "name": "channel_id", - "desc": [ - "signed by any of these channels including invalid signatures,", - "implies --has_channel_signature,", - "use in conjunction with --valid_channel_signature" - ], - "type": "str, list" - }, - { - "name": "not_channel_id", - "desc": [ - "exclude everything signed by any of these channels" - ], - "type": "str, list" - }, - { - "name": "has_channel_signature", - "desc": [ - "results with a channel signature (valid or invalid)" - ], - "default": False, - "type": "bool" - }, - { - "name": "valid_channel_signature", - "desc": [ - "results with a valid channel signature or no signature,", - "use in conjunction with --has_channel_signature to", - "only get results with valid signatures" - ], - "default": False, - "type": "bool" - }, - { - "name": "invalid_channel_signature", - "desc": [ - "results with invalid channel signature or no signature,", - "use in conjunction with --has_channel_signature to", - "only get results with invalid signatures" - ], - "default": False, - "type": "bool" - }, { "name": "page", "desc": [ @@ -4182,7 +3967,7 @@ interface = { ], "group": "claim", "cli": "claim search", - "help": "Search for stream and channel claims on the blockchain.\nArguments marked with \"supports equality constraints\" allow prepending the\nvalue with an equality constraint such as '>', '>=', '<' and '<='\neg. --height=\">400000\" would limit results to only claims above 400k block height.\n\nUsage:\n claim search\n [--is_controlling] [--public_key_id=<public_key_id>]\n [--creation_height=<creation_height>]\n [--activation_height=<activation_height>] [--expiration_height=<expiration_height>]\n [--effective_amount=<effective_amount>]\n [--support_amount=<support_amount>] [--trending_group=<trending_group>]\n [--trending_mixed=<trending_mixed>] [--trending_local=<trending_local>]\n [--trending_global=<trending_global]\n [--reposted_claim_id=<reposted_claim_id>] [--reposted=<reposted>]\n [--claim_type=<claim_type>] [--order_by=<order_by>...]\n [--wallet_id=<wallet_id>] [--include_purchase_receipt] [--include_is_my_output]\n [--name=<name>...] [--claim_id=<claim_id>...] [--text=<text>]\n [--txid=<txid>] [--nout=<nout>] [--height=<height>]\n [--timestamp=<timestamp>] [--creation_height=<creation_height>]\n [--creation_timestamp=<creation_timestamp>] [--amount=<amount>]\n [--any_tag=<any_tag>...] [--all_tag=<all_tag>...]\n [--not_tag=<not_tag>...] [--any_language=<any_language>...]\n [--all_language=<all_language>...] [--not_language=<not_language>...]\n [--any_location=<any_location>...] [--all_location=<all_location>...]\n [--not_location=<not_location>...] [--release_time=<release_time>]\n [--channel=<channel>] [--channel_id=<channel_id>...]\n [--not_channel_id=<not_channel_id>...] [--has_channel_signature]\n [--valid_channel_signature] [--invalid_channel_signature]\n [--stream_type=<stream_type>...] [--media_type=<media_type>...]\n [--fee_currency=<fee_currency>] [--fee_amount=<fee_amount>]\n [--duration=<duration>] [--channel=<channel>]\n [--channel_id=<channel_id>...] [--not_channel_id=<not_channel_id>...]\n [--has_channel_signature] [--valid_channel_signature]\n [--invalid_channel_signature] [--page=<page>] [--page_size=<page_size>]\n [--include_total]\n\nOptions:\n --wallet_id=<wallet_id> : (str) wallet to check for claim purchase\n reciepts\n --claim_type=<claim_type> : (str) claim type: channel, stream,\n repost, collection\n --include_purchase_receipt : (bool) lookup and include a receipt if\n this wallet has purchased the claim\n --include_is_my_output : (bool) lookup and include a boolean\n indicating if claim being resolved is\n yours\n --is_controlling : (bool) winning claims of their respective\n name\n --activation_height=<activation_height> : (int) height at which claim starts\n competing for name (supports equality\n constraints)\n --expiration_height=<expiration_height> : (int) height at which claim will expire\n (supports equality constraints)\n --support_amount=<support_amount> : (str) limit by supports and tips received\n (supports equality constraints)\n --effective_amount=<effective_amount> : (str) limit by total value (initial claim\n value plus all tips and supports\n received), this amount is blank until\n claim has reached activation height\n (supports equality constraints)\n --trending_group=<trending_group> : (int) group numbers 1 through 4\n representing the trending groups of the\n content: 4 means content is trending\n globally and independently, 3 means\n content is not trending globally but is\n trending independently (locally), 2 means\n it is trending globally but not\n independently and 1 means it's not\n trending globally or locally (supports\n equality constraints)\n --trending_mixed=<trending_mixed> : (int) trending amount taken from the\n global or local value depending on the\n trending group: 4 - global value, 3 -\n local value, 2 - global value, 1 - local\n value (supports equality constraints)\n --trending_local=<trending_local> : (int) trending value calculated relative\n only to the individual contents past\n history (supports equality constraints)\n --trending_global=<trending_global> : (int) trending value calculated relative\n to all trending content globally\n (supports equality constraints)\n --public_key_id=<public_key_id> : (str) only return channels having this\n public key id, this is the same key as\n used in the wallet file to map channel\n certificate private keys:\n {'public_key_id': 'private key'}\n --reposted_claim_id=<reposted_claim_id> : (str) all reposts of the specified\n original claim id\n --reposted=<reposted> : (int) claims reposted this many times\n (supports equality constraints)\n --order_by=<order_by> : (str, list) field to order by, default is\n descending order, to do an ascending\n order prepend ^ to the field name, eg.\n '^amount' available fields: 'name',\n 'height', 'release_time', 'publish_time',\n 'amount', 'effective_amount',\n 'support_amount', 'trending_group',\n 'trending_mixed', 'trending_local',\n 'trending_global', 'activation_height'\n --name=<name> : (str, list) claim name (normalized)\n --claim_id=<claim_id> : (str, list) full or partial claim id\n --text=<text> : (str) full text search\n --txid=<txid> : (str) transaction id\n --nout=<nout> : (int) position in the transaction\n --height=<height> : (int) last updated block height (supports\n equality constraints)\n --timestamp=<timestamp> : (int) last updated timestamp (supports\n equality constraints)\n --creation_height=<creation_height> : (int) created at block height (supports\n equality constraints)\n --creation_timestamp=<creation_timestamp> : (int) created at timestamp (supports\n equality constraints)\n --amount=<amount> : (str) claim amount (supports equality\n constraints)\n --any_tag=<any_tag> : (str, list) containing any of the tags\n --all_tag=<all_tag> : (str, list) containing every tag\n --not_tag=<not_tag> : (str, list) not containing any of these\n tags\n --any_language=<any_language> : (str, list) containing any of the\n languages\n --all_language=<all_language> : (str, list) containing every language\n --not_language=<not_language> : (str, list) not containing any of these\n languages\n --any_location=<any_location> : (str, list) containing any of the\n locations\n --all_location=<all_location> : (str, list) containing every location\n --not_location=<not_location> : (str, list) not containing any of these\n locations\n --release_time=<release_time> : (int) limit to claims self-described as\n having been released to the public on or\n after this UTC timestamp, when claim does\n not provide a release time the publish\n time is used instead (supports equality\n constraints)\n --channel=<channel> : (str) signed by this channel (argument is\n a URL which automatically gets resolved),\n see --channel_id if you need to filter by\n multiple channels at the same time,\n includes results with invalid signatures,\n use in conjunction with\n --valid_channel_signature\n --channel_id=<channel_id> : (str, list) signed by any of these\n channels including invalid signatures,\n implies --has_channel_signature, use in\n conjunction with\n --valid_channel_signature\n --not_channel_id=<not_channel_id> : (str, list) exclude everything signed by\n any of these channels\n --has_channel_signature : (bool) results with a channel signature\n (valid or invalid)\n --valid_channel_signature : (bool) results with a valid channel\n signature or no signature, use in\n conjunction with --has_channel_signature\n to only get results with valid signatures\n --invalid_channel_signature : (bool) results with invalid channel\n signature or no signature, use in\n conjunction with --has_channel_signature\n to only get results with invalid\n signatures\n --stream_type=<stream_type> : (str, list) filter by 'video', 'image',\n 'document', etc\n --media_type=<media_type> : (str, list) filter by 'video/mp4',\n 'image/png', etc\n --fee_currency=<fee_currency> : (str) specify fee currency# LBC, BTC, USD\n --fee_amount=<fee_amount> : (str) content download fee (supports\n equality constraints)\n --duration=<duration> : (int) duration of video or audio in\n seconds (supports equality constraints)\n --channel=<channel> : (str) signed by this channel (argument is\n a URL which automatically gets resolved),\n see --channel_id if you need to filter by\n multiple channels at the same time,\n includes results with invalid signatures,\n use in conjunction with\n --valid_channel_signature\n --channel_id=<channel_id> : (str, list) signed by any of these\n channels including invalid signatures,\n implies --has_channel_signature, use in\n conjunction with\n --valid_channel_signature\n --not_channel_id=<not_channel_id> : (str, list) exclude everything signed by\n any of these channels\n --has_channel_signature : (bool) results with a channel signature\n (valid or invalid)\n --valid_channel_signature : (bool) results with a valid channel\n signature or no signature, use in\n conjunction with --has_channel_signature\n to only get results with valid signatures\n --invalid_channel_signature : (bool) results with invalid channel\n signature or no signature, use in\n conjunction with --has_channel_signature\n to only get results with invalid\n signatures\n --page=<page> : (int) page to return for paginating\n --page_size=<page_size> : (int) number of items on page for\n pagination\n --include_total : (bool) calculate total number of items\n and pages\n\nReturns:\n (Paginated[Output]) search results\n {\n \"page\": \"Page number of the current items.\",\n \"page_size\": \"Number of items to show on a page.\",\n \"total_pages\": \"Total number of pages.\",\n \"total_items\": \"Total number of items.\",\n \"items\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ]\n }" + "help": "Search for stream and channel claims on the blockchain.\nArguments marked with \"supports equality constraints\" allow prepending the\nvalue with an equality constraint such as '>', '>=', '<' and '<='\neg. --height=\">400000\" would limit results to only claims above 400k block height.\n\nUsage:\n claim search\n [--is_controlling] [--public_key_id=<public_key_id>]\n [--creation_height=<creation_height>]\n [--activation_height=<activation_height>] [--expiration_height=<expiration_height>]\n [--effective_amount=<effective_amount>]\n [--support_amount=<support_amount>] [--trending_group=<trending_group>]\n [--trending_mixed=<trending_mixed>] [--trending_local=<trending_local>]\n [--trending_global=<trending_global]\n [--reposted_claim_id=<reposted_claim_id>] [--reposted=<reposted>]\n [--claim_type=<claim_type>] [--order_by=<order_by>...]\n [--wallet_id=<wallet_id>] [--include_purchase_receipt] [--include_is_my_output]\n [--protobuf]\n [--name=<name>...] [--claim_id=<claim_id>...] [--text=<text>]\n [--txid=<txid>] [--nout=<nout>] [--height=<height>]\n [--timestamp=<timestamp>] [--creation_height=<creation_height>]\n [--creation_timestamp=<creation_timestamp>] [--amount=<amount>]\n [--any_tag=<any_tag>...] [--all_tag=<all_tag>...]\n [--not_tag=<not_tag>...] [--any_language=<any_language>...]\n [--all_language=<all_language>...] [--not_language=<not_language>...]\n [--any_location=<any_location>...] [--all_location=<all_location>...]\n [--not_location=<not_location>...] [--release_time=<release_time>]\n [--channel=<channel>] [--channel_id=<channel_id>...]\n [--not_channel_id=<not_channel_id>...] [--has_channel_signature]\n [--valid_channel_signature] [--invalid_channel_signature]\n [--stream_type=<stream_type>...] [--media_type=<media_type>...]\n [--fee_currency=<fee_currency>] [--fee_amount=<fee_amount>]\n [--duration=<duration>] [--page=<page>] [--page_size=<page_size>]\n [--include_total]\n\nOptions:\n --wallet_id=<wallet_id> : (str) wallet to check for claim purchase\n reciepts\n --claim_type=<claim_type> : (str) claim type: channel, stream,\n repost, collection\n --include_purchase_receipt : (bool) lookup and include a receipt if\n this wallet has purchased the claim\n --include_is_my_output : (bool) lookup and include a boolean\n indicating if claim being resolved is\n yours\n --is_controlling : (bool) winning claims of their respective\n name\n --activation_height=<activation_height> : (int) height at which claim starts\n competing for name (supports equality\n constraints)\n --expiration_height=<expiration_height> : (int) height at which claim will expire\n (supports equality constraints)\n --support_amount=<support_amount> : (str) limit by supports and tips received\n (supports equality constraints)\n --effective_amount=<effective_amount> : (str) limit by total value (initial claim\n value plus all tips and supports\n received), this amount is blank until\n claim has reached activation height\n (supports equality constraints)\n --trending_group=<trending_group> : (int) group numbers 1 through 4\n representing the trending groups of the\n content: 4 means content is trending\n globally and independently, 3 means\n content is not trending globally but is\n trending independently (locally), 2 means\n it is trending globally but not\n independently and 1 means it's not\n trending globally or locally (supports\n equality constraints)\n --trending_mixed=<trending_mixed> : (int) trending amount taken from the\n global or local value depending on the\n trending group: 4 - global value, 3 -\n local value, 2 - global value, 1 - local\n value (supports equality constraints)\n --trending_local=<trending_local> : (int) trending value calculated relative\n only to the individual contents past\n history (supports equality constraints)\n --trending_global=<trending_global> : (int) trending value calculated relative\n to all trending content globally\n (supports equality constraints)\n --public_key_id=<public_key_id> : (str) only return channels having this\n public key id, this is the same key as\n used in the wallet file to map channel\n certificate private keys:\n {'public_key_id': 'private key'}\n --reposted_claim_id=<reposted_claim_id> : (str) all reposts of the specified\n original claim id\n --reposted=<reposted> : (int) claims reposted this many times\n (supports equality constraints)\n --order_by=<order_by> : (str, list) field to order by, default is\n descending order, to do an ascending\n order prepend ^ to the field name, eg.\n '^amount' available fields: 'name',\n 'height', 'release_time', 'publish_time',\n 'amount', 'effective_amount',\n 'support_amount', 'trending_group',\n 'trending_mixed', 'trending_local',\n 'trending_global', 'activation_height'\n --protobuf : (bool) protobuf encoded result\n --name=<name> : (str, list) claim name (normalized)\n --claim_id=<claim_id> : (str, list) full or partial claim id\n --text=<text> : (str) full text search\n --txid=<txid> : (str) transaction id\n --nout=<nout> : (int) position in the transaction\n --height=<height> : (int) last updated block height (supports\n equality constraints)\n --timestamp=<timestamp> : (int) last updated timestamp (supports\n equality constraints)\n --creation_height=<creation_height> : (int) created at block height (supports\n equality constraints)\n --creation_timestamp=<creation_timestamp> : (int) created at timestamp (supports\n equality constraints)\n --amount=<amount> : (str) claim amount (supports equality\n constraints)\n --any_tag=<any_tag> : (str, list) containing any of the tags\n --all_tag=<all_tag> : (str, list) containing every tag\n --not_tag=<not_tag> : (str, list) not containing any of these\n tags\n --any_language=<any_language> : (str, list) containing any of the\n languages\n --all_language=<all_language> : (str, list) containing every language\n --not_language=<not_language> : (str, list) not containing any of these\n languages\n --any_location=<any_location> : (str, list) containing any of the\n locations\n --all_location=<all_location> : (str, list) containing every location\n --not_location=<not_location> : (str, list) not containing any of these\n locations\n --release_time=<release_time> : (int) limit to claims self-described as\n having been released to the public on or\n after this UTC timestamp, when claim does\n not provide a release time the publish\n time is used instead (supports equality\n constraints)\n --channel=<channel> : (str) signed by this channel (argument is\n a URL which automatically gets resolved),\n see --channel_id if you need to filter by\n multiple channels at the same time,\n includes results with invalid signatures,\n use in conjunction with --valid_channel_signature\n --channel_id=<channel_id> : (str, list) signed by any of these\n channels including invalid signatures,\n implies --has_channel_signature, use in\n conjunction with --valid_channel_signature\n --not_channel_id=<not_channel_id> : (str, list) exclude everything signed by\n any of these channels\n --has_channel_signature : (bool) results with a channel signature\n (valid or invalid)\n --valid_channel_signature : (bool) results with a valid channel\n signature or no signature, use in\n conjunction with --has_channel_signature\n to only get results with valid signatures\n --invalid_channel_signature : (bool) results with invalid channel\n signature or no signature, use in\n conjunction with --has_channel_signature\n to only get results with invalid\n signatures\n --stream_type=<stream_type> : (str, list) filter by 'video', 'image',\n 'document', etc\n --media_type=<media_type> : (str, list) filter by 'video/mp4',\n 'image/png', etc\n --fee_currency=<fee_currency> : (str) specify fee currency# LBC, BTC, USD\n --fee_amount=<fee_amount> : (str) content download fee (supports\n equality constraints)\n --duration=<duration> : (int) duration of video or audio in\n seconds (supports equality constraints)\n --page=<page> : (int) page to return for paginating\n --page_size=<page_size> : (int) number of items on page for\n pagination\n --include_total : (bool) calculate total number of items\n and pages\n\nReturns:\n (Paginated[Output]) search results\n {\n \"page\": \"Page number of the current items.\",\n \"page_size\": \"Number of items to show on a page.\",\n \"total_pages\": \"Total number of pages.\",\n \"total_items\": \"Total number of items.\",\n \"items\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ]\n }" }, "collection_abandon": { "name": "abandon", @@ -4724,7 +4509,7 @@ interface = { ], "group": "collection", "cli": "collection create", - "help": "Create a new collection.\n\nUsage:\n collection create (<name> | --name=<name>) (<bid> | --bid=<bid>)\n (<claims>... | --claims=<claims>...) [--allow_duplicate_name]\n [--title=<title>] [--description=<description>]\n [--thumbnail_url=<thumbnail_url>] [--tag=<tag>...]\n [--language=<language>...] [--location=<location>...]\n [--account_id=<account_id>] [--claim_address=<claim_address>]\n [--channel_id=<channel_id>] [--channel_name=<channel_name>]\n [--wallet_id=<wallet_id>] [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --name=<name> : (str) name for the stream (can only consist\n of a-z A-Z 0-9 and -(dash))\n --bid=<bid> : (str) amount to back the content\n --claims=<claims> : (str, list) claim ids to be included in the\n collection\n --allow_duplicate_name : (bool) create new collection even if one\n already exists with given name\n --title=<title> : (str)\n --description=<description> : (str)\n --thumbnail_url=<thumbnail_url> : (str) url to thumbnail image\n --tag=<tag> : (str, list)\n --language=<language> : (str, list) languages used by the channel,\n using RFC 5646 format, eg: for English\n `--language=en` for Spanish (Spain)\n `--language=es-ES` for Spanish (Mexican)\n `--language=es-MX` for Chinese (Simplified)\n `--language=zh-Hans` for Chinese\n (Traditional) `--language=zh-Hant`\n --location=<location> : (str, list) locations of the channel,\n consisting of 2 letter `country` code and a\n `state`, `city` and a postal `code` along\n with a `latitude` and `longitude`. for JSON\n RPC: pass a dictionary with aforementioned\n attributes as keys, eg: ... \"locations\":\n [{'country': 'US', 'state': 'NH'}] ... for\n command line: pass a colon delimited list\n with values in the following order: \"COUNTR\n Y:STATE:CITY:CODE:LATITUDE:LONGITUDE\"\n making sure to include colon for blank\n values, for example to provide only the\n city: ... --locations=\"::Manchester\" with\n all values set: ... --locations=\"US:NH:Manc\n hester:03101:42.990605:-71.460989\"\n optionally, you can just pass the\n \"LATITUDE:LONGITUDE\": ...\n --locations=\"42.990605:-71.460989\" finally,\n you can also pass JSON string of dictionary\n on the command line as you would via JSON\n RPC ... --locations=\"{'country': 'US',\n 'state': 'NH'}\"\n --account_id=<account_id> : (str) account to hold the claim\n --claim_address=<claim_address> : (str) specific address where the claim is\n held, if not specified it will be\n determined automatically from the account\n --channel_id=<channel_id> : (str) claim id of the publishing channel\n --channel_name=<channel_name> : (str) name of publishing channel\n --wallet_id=<wallet_id> : (str) restrict operation to specific wallet\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) \n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" + "help": "Create a new collection.\n\nUsage:\n collection create (<name> | --name=<name>) (<bid> | --bid=<bid>)\n (<claims>... | --claims=<claims>...) [--allow_duplicate_name]\n [--title=<title>] [--description=<description>]\n [--thumbnail_url=<thumbnail_url>] [--tag=<tag>...]\n [--language=<language>...] [--location=<location>...]\n [--account_id=<account_id>] [--claim_address=<claim_address>]\n [--channel_id=<channel_id>] [--channel_name=<channel_name>]\n [--wallet_id=<wallet_id>] [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --name=<name> : (str) name for the stream (can only consist\n of a-z A-Z 0-9 and -(dash))\n --bid=<bid> : (str) amount to back the content\n --claims=<claims> : (str, list) claim ids to be included in the\n collection\n --allow_duplicate_name : (bool) create new collection even if one\n already exists with given name\n --title=<title> : (str)\n --description=<description> : (str)\n --thumbnail_url=<thumbnail_url> : (str) url to thumbnail image\n --tag=<tag> : (str, list)\n --language=<language> : (str, list) languages used by the channel,\n using RFC 5646 format, eg: for English\n `--language=en` for Spanish (Spain)\n `--language=es-ES` for Spanish (Mexican)\n `--language=es-MX` for Chinese (Simplified)\n `--language=zh-Hans` for Chinese\n (Traditional) `--language=zh-Hant`\n --location=<location> : (str, list) locations of the channel,\n consisting of 2 letter `country` code and a\n `state`, `city` and a postal `code` along\n with a `latitude` and `longitude`. for JSON\n RPC: pass a dictionary with aforementioned\n attributes as keys, eg: ... \"locations\":\n [{'country': 'US', 'state': 'NH'}] ... for\n command line: pass a colon delimited list\n with values in the following order: \"COUNTR\n Y:STATE:CITY:CODE:LATITUDE:LONGITUDE\"\n making sure to include colon for blank\n values, for example to provide only the\n city: ... --locations=\"::Manchester\" with\n all values set: ... --locations=\"US:NH:Manc\n hester:03101:42.990605:-71.460989\"\n optionally, you can just pass the\n \"LATITUDE:LONGITUDE\": ... --locations=\"42.990605:-71.460989\" finally,\n you can also pass JSON string of dictionary\n on the command line as you would via JSON\n RPC ... --locations=\"{'country': 'US',\n 'state': 'NH'}\"\n --account_id=<account_id> : (str) account to hold the claim\n --claim_address=<claim_address> : (str) specific address where the claim is\n held, if not specified it will be\n determined automatically from the account\n --channel_id=<channel_id> : (str) claim id of the publishing channel\n --channel_name=<channel_name> : (str) name of publishing channel\n --wallet_id=<wallet_id> : (str) restrict operation to specific wallet\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) \n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" }, "collection_list": { "name": "list", @@ -5675,7 +5460,7 @@ interface = { ], "group": "collection", "cli": "collection update", - "help": "Update an existing collection claim.\n\nUsage:\n collection update (<claim_id> | --claim_id=<claim_id>) [--bid=<bid>]\n [--claims=<claims>...] [--clear_claims]\n [--title=<title>] [--description=<description>]\n [--thumbnail_url=<thumbnail_url>] [--tag=<tag>...]\n [--language=<language>...] [--location=<location>...]\n [--account_id=<account_id>] [--claim_address=<claim_address>]\n [--replace] [--clear_tags] [--clear_languages] [--clear_locations]\n [--channel_id=<channel_id>] [--channel_name=<channel_name>]\n [--wallet_id=<wallet_id>] [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --claim_id=<claim_id> : (str) claim_id of the collection to update\n --bid=<bid> : (str) amount to back the collection\n --claims=<claims> : (str, list) claim ids to be included in the\n collection\n --clear_claims : (bool) clear existing claims (prior to\n adding new ones)\n --title=<title> : (str)\n --description=<description> : (str)\n --thumbnail_url=<thumbnail_url> : (str) url to thumbnail image\n --tag=<tag> : (str, list)\n --language=<language> : (str, list) languages used by the channel,\n using RFC 5646 format, eg: for English\n `--language=en` for Spanish (Spain)\n `--language=es-ES` for Spanish (Mexican)\n `--language=es-MX` for Chinese (Simplified)\n `--language=zh-Hans` for Chinese\n (Traditional) `--language=zh-Hant`\n --location=<location> : (str, list) locations of the channel,\n consisting of 2 letter `country` code and a\n `state`, `city` and a postal `code` along\n with a `latitude` and `longitude`. for JSON\n RPC: pass a dictionary with aforementioned\n attributes as keys, eg: ... \"locations\":\n [{'country': 'US', 'state': 'NH'}] ... for\n command line: pass a colon delimited list\n with values in the following order: \"COUNTR\n Y:STATE:CITY:CODE:LATITUDE:LONGITUDE\"\n making sure to include colon for blank\n values, for example to provide only the\n city: ... --locations=\"::Manchester\" with\n all values set: ... --locations=\"US:NH:Manc\n hester:03101:42.990605:-71.460989\"\n optionally, you can just pass the\n \"LATITUDE:LONGITUDE\": ...\n --locations=\"42.990605:-71.460989\" finally,\n you can also pass JSON string of dictionary\n on the command line as you would via JSON\n RPC ... --locations=\"{'country': 'US',\n 'state': 'NH'}\"\n --account_id=<account_id> : (str) account to hold the claim\n --claim_address=<claim_address> : (str) specific address where the claim is\n held, if not specified it will be\n determined automatically from the account\n --replace : (bool) instead of modifying specific values\n on the claim, this will clear all existing\n values and only save passed in values,\n useful for form submissions where all\n values are always set\n --clear_tags : (bool) clear existing tags (prior to adding\n new ones)\n --clear_languages : (bool) clear existing languages (prior to\n adding new ones)\n --clear_locations : (bool) clear existing locations (prior to\n adding new ones)\n --channel_id=<channel_id> : (str) claim id of the publishing channel\n --channel_name=<channel_name> : (str) name of publishing channel\n --wallet_id=<wallet_id> : (str) restrict operation to specific wallet\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) updated collection transaction\n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" + "help": "Update an existing collection claim.\n\nUsage:\n collection update (<claim_id> | --claim_id=<claim_id>) [--bid=<bid>]\n [--claims=<claims>...] [--clear_claims]\n [--title=<title>] [--description=<description>]\n [--thumbnail_url=<thumbnail_url>] [--tag=<tag>...]\n [--language=<language>...] [--location=<location>...]\n [--account_id=<account_id>] [--claim_address=<claim_address>]\n [--replace] [--clear_tags] [--clear_languages] [--clear_locations]\n [--channel_id=<channel_id>] [--channel_name=<channel_name>]\n [--wallet_id=<wallet_id>] [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --claim_id=<claim_id> : (str) claim_id of the collection to update\n --bid=<bid> : (str) amount to back the collection\n --claims=<claims> : (str, list) claim ids to be included in the\n collection\n --clear_claims : (bool) clear existing claims (prior to\n adding new ones)\n --title=<title> : (str)\n --description=<description> : (str)\n --thumbnail_url=<thumbnail_url> : (str) url to thumbnail image\n --tag=<tag> : (str, list)\n --language=<language> : (str, list) languages used by the channel,\n using RFC 5646 format, eg: for English\n `--language=en` for Spanish (Spain)\n `--language=es-ES` for Spanish (Mexican)\n `--language=es-MX` for Chinese (Simplified)\n `--language=zh-Hans` for Chinese\n (Traditional) `--language=zh-Hant`\n --location=<location> : (str, list) locations of the channel,\n consisting of 2 letter `country` code and a\n `state`, `city` and a postal `code` along\n with a `latitude` and `longitude`. for JSON\n RPC: pass a dictionary with aforementioned\n attributes as keys, eg: ... \"locations\":\n [{'country': 'US', 'state': 'NH'}] ... for\n command line: pass a colon delimited list\n with values in the following order: \"COUNTR\n Y:STATE:CITY:CODE:LATITUDE:LONGITUDE\"\n making sure to include colon for blank\n values, for example to provide only the\n city: ... --locations=\"::Manchester\" with\n all values set: ... --locations=\"US:NH:Manc\n hester:03101:42.990605:-71.460989\"\n optionally, you can just pass the\n \"LATITUDE:LONGITUDE\": ... --locations=\"42.990605:-71.460989\" finally,\n you can also pass JSON string of dictionary\n on the command line as you would via JSON\n RPC ... --locations=\"{'country': 'US',\n 'state': 'NH'}\"\n --account_id=<account_id> : (str) account to hold the claim\n --claim_address=<claim_address> : (str) specific address where the claim is\n held, if not specified it will be\n determined automatically from the account\n --replace : (bool) instead of modifying specific values\n on the claim, this will clear all existing\n values and only save passed in values,\n useful for form submissions where all\n values are always set\n --clear_tags : (bool) clear existing tags (prior to adding\n new ones)\n --clear_languages : (bool) clear existing languages (prior to\n adding new ones)\n --clear_locations : (bool) clear existing locations (prior to\n adding new ones)\n --channel_id=<channel_id> : (str) claim id of the publishing channel\n --channel_name=<channel_name> : (str) name of publishing channel\n --wallet_id=<wallet_id> : (str) restrict operation to specific wallet\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) updated collection transaction\n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" }, "comment_abandon": { "name": "abandon", @@ -8235,7 +8020,7 @@ interface = { } ], "cli": "publish", - "help": "Create or replace a stream claim at a given name (use 'stream create/update' for more control).\n\nUsage:\n publish (<name> | --name=<name>) [--bid=<bid>]\n [--clear_fee] [--clear_channel] [--file_path=<file_path>] [--validate_file]\n [--optimize_file] [--fee_currency=<fee_currency>] [--fee_amount=<fee_amount>]\n [--fee_address=<fee_address>] [--author=<author>] [--license=<license>]\n [--license_url=<license_url>] [--release_time=<release_time>]\n [--width=<width>] [--height=<height>] [--duration=<duration>]\n [--title=<title>] [--description=<description>]\n [--thumbnail_url=<thumbnail_url>] [--tag=<tag>...] [--language=<language>...]\n [--location=<location>...] [--account_id=<account_id>]\n [--claim_address=<claim_address>] [--channel_id=<channel_id>]\n [--channel_name=<channel_name>] [--replace] [--clear_tags] [--clear_languages]\n [--clear_locations] [--wallet_id=<wallet_id>]\n [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --name=<name> : (str) name for the content (can only\n consist of a-z A-Z 0-9 and -(dash))\n --bid=<bid> : (str) amount to back the stream\n --clear_fee : (bool) clear fee\n --clear_channel : (bool) clear channel signature\n --file_path=<file_path> : (str) path to file to be associated with\n name.\n --validate_file : (bool) validate that the video container\n and encodings match common web browser\n support or that optimization succeeds if\n specified. FFmpeg is required\n --optimize_file : (bool) transcode the video & audio if\n necessary to ensure common web browser\n support. FFmpeg is required\n --fee_currency=<fee_currency> : (str) specify fee currency\n --fee_amount=<fee_amount> : (str) content download fee\n --fee_address=<fee_address> : (str) address where to send fee payments,\n will use the claim holding address by\n default\n --author=<author> : (str) author of the publication. The usage\n for this field is not the same as for\n channels. The author field is used to\n credit an author who is not the publisher\n and is not represented by the channel. For\n example, a pdf file of 'The Odyssey' has an\n author of 'Homer' but may by published to a\n channel such as '@classics', or to no\n channel at all\n --license=<license> : (str) publication license\n --license_url=<license_url> : (str) publication license url\n --release_time=<release_time> : (int) original public release of content,\n seconds since UNIX epoch\n --width=<width> : (int) image/video width, automatically\n calculated from media file\n --height=<height> : (int) image/video height, automatically\n calculated from media file\n --duration=<duration> : (int) audio/video duration in seconds,\n automatically calculated\n --title=<title> : (str)\n --description=<description> : (str)\n --thumbnail_url=<thumbnail_url> : (str) url to thumbnail image\n --tag=<tag> : (str, list)\n --language=<language> : (str, list) languages used by the channel,\n using RFC 5646 format, eg: for English\n `--language=en` for Spanish (Spain)\n `--language=es-ES` for Spanish (Mexican)\n `--language=es-MX` for Chinese (Simplified)\n `--language=zh-Hans` for Chinese\n (Traditional) `--language=zh-Hant`\n --location=<location> : (str, list) locations of the channel,\n consisting of 2 letter `country` code and a\n `state`, `city` and a postal `code` along\n with a `latitude` and `longitude`. for JSON\n RPC: pass a dictionary with aforementioned\n attributes as keys, eg: ... \"locations\":\n [{'country': 'US', 'state': 'NH'}] ... for\n command line: pass a colon delimited list\n with values in the following order: \"COUNTR\n Y:STATE:CITY:CODE:LATITUDE:LONGITUDE\"\n making sure to include colon for blank\n values, for example to provide only the\n city: ... --locations=\"::Manchester\" with\n all values set: ... --locations=\"US:NH:Manc\n hester:03101:42.990605:-71.460989\"\n optionally, you can just pass the\n \"LATITUDE:LONGITUDE\": ...\n --locations=\"42.990605:-71.460989\" finally,\n you can also pass JSON string of dictionary\n on the command line as you would via JSON\n RPC ... --locations=\"{'country': 'US',\n 'state': 'NH'}\"\n --account_id=<account_id> : (str) account to hold the claim\n --claim_address=<claim_address> : (str) specific address where the claim is\n held, if not specified it will be\n determined automatically from the account\n --channel_id=<channel_id> : (str) claim id of the publishing channel\n --channel_name=<channel_name> : (str) name of publishing channel\n --replace : (bool) instead of modifying specific values\n on the claim, this will clear all existing\n values and only save passed in values,\n useful for form submissions where all\n values are always set\n --clear_tags : (bool) clear existing tags (prior to adding\n new ones)\n --clear_languages : (bool) clear existing languages (prior to\n adding new ones)\n --clear_locations : (bool) clear existing locations (prior to\n adding new ones)\n --wallet_id=<wallet_id> : (str) restrict operation to specific wallet\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) transaction for the published claim\n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" + "help": "Create or replace a stream claim at a given name (use 'stream create/update' for more control).\n\nUsage:\n publish (<name> | --name=<name>) [--bid=<bid>]\n [--clear_fee] [--clear_channel] [--file_path=<file_path>] [--validate_file]\n [--optimize_file] [--fee_currency=<fee_currency>] [--fee_amount=<fee_amount>]\n [--fee_address=<fee_address>] [--author=<author>] [--license=<license>]\n [--license_url=<license_url>] [--release_time=<release_time>]\n [--width=<width>] [--height=<height>] [--duration=<duration>]\n [--title=<title>] [--description=<description>]\n [--thumbnail_url=<thumbnail_url>] [--tag=<tag>...] [--language=<language>...]\n [--location=<location>...] [--account_id=<account_id>]\n [--claim_address=<claim_address>] [--channel_id=<channel_id>]\n [--channel_name=<channel_name>] [--replace] [--clear_tags] [--clear_languages]\n [--clear_locations] [--wallet_id=<wallet_id>]\n [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --name=<name> : (str) name for the content (can only\n consist of a-z A-Z 0-9 and -(dash))\n --bid=<bid> : (str) amount to back the stream\n --clear_fee : (bool) clear fee\n --clear_channel : (bool) clear channel signature\n --file_path=<file_path> : (str) path to file to be associated with\n name.\n --validate_file : (bool) validate that the video container\n and encodings match common web browser\n support or that optimization succeeds if\n specified. FFmpeg is required\n --optimize_file : (bool) transcode the video & audio if\n necessary to ensure common web browser\n support. FFmpeg is required\n --fee_currency=<fee_currency> : (str) specify fee currency\n --fee_amount=<fee_amount> : (str) content download fee\n --fee_address=<fee_address> : (str) address where to send fee payments,\n will use the claim holding address by\n default\n --author=<author> : (str) author of the publication. The usage\n for this field is not the same as for\n channels. The author field is used to\n credit an author who is not the publisher\n and is not represented by the channel. For\n example, a pdf file of 'The Odyssey' has an\n author of 'Homer' but may by published to a\n channel such as '@classics', or to no\n channel at all\n --license=<license> : (str) publication license\n --license_url=<license_url> : (str) publication license url\n --release_time=<release_time> : (int) original public release of content,\n seconds since UNIX epoch\n --width=<width> : (int) image/video width, automatically\n calculated from media file\n --height=<height> : (int) image/video height, automatically\n calculated from media file\n --duration=<duration> : (int) audio/video duration in seconds,\n automatically calculated\n --title=<title> : (str)\n --description=<description> : (str)\n --thumbnail_url=<thumbnail_url> : (str) url to thumbnail image\n --tag=<tag> : (str, list)\n --language=<language> : (str, list) languages used by the channel,\n using RFC 5646 format, eg: for English\n `--language=en` for Spanish (Spain)\n `--language=es-ES` for Spanish (Mexican)\n `--language=es-MX` for Chinese (Simplified)\n `--language=zh-Hans` for Chinese\n (Traditional) `--language=zh-Hant`\n --location=<location> : (str, list) locations of the channel,\n consisting of 2 letter `country` code and a\n `state`, `city` and a postal `code` along\n with a `latitude` and `longitude`. for JSON\n RPC: pass a dictionary with aforementioned\n attributes as keys, eg: ... \"locations\":\n [{'country': 'US', 'state': 'NH'}] ... for\n command line: pass a colon delimited list\n with values in the following order: \"COUNTR\n Y:STATE:CITY:CODE:LATITUDE:LONGITUDE\"\n making sure to include colon for blank\n values, for example to provide only the\n city: ... --locations=\"::Manchester\" with\n all values set: ... --locations=\"US:NH:Manc\n hester:03101:42.990605:-71.460989\"\n optionally, you can just pass the\n \"LATITUDE:LONGITUDE\": ... --locations=\"42.990605:-71.460989\" finally,\n you can also pass JSON string of dictionary\n on the command line as you would via JSON\n RPC ... --locations=\"{'country': 'US',\n 'state': 'NH'}\"\n --account_id=<account_id> : (str) account to hold the claim\n --claim_address=<claim_address> : (str) specific address where the claim is\n held, if not specified it will be\n determined automatically from the account\n --channel_id=<channel_id> : (str) claim id of the publishing channel\n --channel_name=<channel_name> : (str) name of publishing channel\n --replace : (bool) instead of modifying specific values\n on the claim, this will clear all existing\n values and only save passed in values,\n useful for form submissions where all\n values are always set\n --clear_tags : (bool) clear existing tags (prior to adding\n new ones)\n --clear_languages : (bool) clear existing languages (prior to\n adding new ones)\n --clear_locations : (bool) clear existing locations (prior to\n adding new ones)\n --wallet_id=<wallet_id> : (str) restrict operation to specific wallet\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) transaction for the published claim\n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" }, "purchase_create": { "name": "create", @@ -8549,7 +8334,8 @@ interface = { " [--include_is_my_output]", " [--include_sent_supports]", " [--include_sent_tips]", - " [--include_received_tips]" + " [--include_received_tips]", + " [--protobuf]" ], "returns": [ " '<url>': {", @@ -8663,6 +8449,14 @@ interface = { ], "default": False, "type": "bool" + }, + { + "name": "protobuf", + "desc": [ + "protobuf encoded result" + ], + "default": False, + "type": "bool" } ], "returns": { @@ -8672,7 +8466,7 @@ interface = { "type": "dict" }, "cli": "resolve", - "help": "Get the claim that a URL refers to.\n\nUsage:\n resolve <urls>... [--wallet_id=<wallet_id>]\n [--include_purchase_receipt]\n [--include_is_my_output]\n [--include_sent_supports]\n [--include_sent_tips]\n [--include_received_tips]\n\nOptions:\n --urls=<urls> : (str, list) one or more urls to resolve\n --wallet_id=<wallet_id> : (str) wallet to check for claim purchase reciepts\n --include_purchase_receipt : (bool) lookup and include a receipt if this wallet has\n purchased the claim being resolved\n --include_is_my_output : (bool) lookup and include a boolean indicating if claim\n being resolved is yours\n --include_sent_supports : (bool) lookup and sum the total amount of supports\n you've made to this claim\n --include_sent_tips : (bool) lookup and sum the total amount of tips you've\n made to this claim\n --include_received_tips : (bool) lookup and sum the total amount of tips you've\n received to this claim\n\nReturns:\n (dict) resolve results, keyed by url\n '<url>': {\n If a resolution error occurs:\n 'error': Error message\n If the url resolves to a channel or a claim in a channel:\n 'certificate': {\n 'address': (str) claim address,\n 'amount': (float) claim amount,\n 'effective_amount': (float) claim amount including supports,\n 'claim_id': (str) claim id,\n 'claim_sequence': (int) claim sequence number (or -1 if unknown),\n 'decoded_claim': (bool) whether or not the claim value was decoded,\n 'height': (int) claim height,\n 'confirmations': (int) claim depth,\n 'timestamp': (int) timestamp of the block that included this claim tx,\n 'has_signature': (bool) included if decoded_claim\n 'name': (str) claim name,\n 'permanent_url': (str) permanent url of the certificate claim,\n 'supports: (list) list of supports [{'txid': (str) txid,\n 'nout': (int) nout,\n 'amount': (float) amount}],\n 'txid': (str) claim txid,\n 'nout': (str) claim nout,\n 'signature_is_valid': (bool), included if has_signature,\n 'value': ClaimDict if decoded, otherwise hex string\n }\n If the url resolves to a channel:\n 'claims_in_channel': (int) number of claims in the channel,\n If the url resolves to a claim:\n 'claim': {\n 'address': (str) claim address,\n 'amount': (float) claim amount,\n 'effective_amount': (float) claim amount including supports,\n 'claim_id': (str) claim id,\n 'claim_sequence': (int) claim sequence number (or -1 if unknown),\n 'decoded_claim': (bool) whether or not the claim value was decoded,\n 'height': (int) claim height,\n 'depth': (int) claim depth,\n 'has_signature': (bool) included if decoded_claim\n 'name': (str) claim name,\n 'permanent_url': (str) permanent url of the claim,\n 'channel_name': (str) channel name if claim is in a channel\n 'supports: (list) list of supports [{'txid': (str) txid,\n 'nout': (int) nout,\n 'amount': (float) amount}]\n 'txid': (str) claim txid,\n 'nout': (str) claim nout,\n 'signature_is_valid': (bool), included if has_signature,\n 'value': ClaimDict if decoded, otherwise hex string\n }\n }" + "help": "Get the claim that a URL refers to.\n\nUsage:\n resolve <urls>... [--wallet_id=<wallet_id>]\n [--include_purchase_receipt]\n [--include_is_my_output]\n [--include_sent_supports]\n [--include_sent_tips]\n [--include_received_tips]\n [--protobuf]\n\nOptions:\n --urls=<urls> : (str, list) one or more urls to resolve\n --wallet_id=<wallet_id> : (str) wallet to check for claim purchase reciepts\n --include_purchase_receipt : (bool) lookup and include a receipt if this wallet has\n purchased the claim being resolved\n --include_is_my_output : (bool) lookup and include a boolean indicating if claim\n being resolved is yours\n --include_sent_supports : (bool) lookup and sum the total amount of supports\n you've made to this claim\n --include_sent_tips : (bool) lookup and sum the total amount of tips you've\n made to this claim\n --include_received_tips : (bool) lookup and sum the total amount of tips you've\n received to this claim\n --protobuf : (bool) protobuf encoded result\n\nReturns:\n (dict) resolve results, keyed by url\n '<url>': {\n If a resolution error occurs:\n 'error': Error message\n If the url resolves to a channel or a claim in a channel:\n 'certificate': {\n 'address': (str) claim address,\n 'amount': (float) claim amount,\n 'effective_amount': (float) claim amount including supports,\n 'claim_id': (str) claim id,\n 'claim_sequence': (int) claim sequence number (or -1 if unknown),\n 'decoded_claim': (bool) whether or not the claim value was decoded,\n 'height': (int) claim height,\n 'confirmations': (int) claim depth,\n 'timestamp': (int) timestamp of the block that included this claim tx,\n 'has_signature': (bool) included if decoded_claim\n 'name': (str) claim name,\n 'permanent_url': (str) permanent url of the certificate claim,\n 'supports: (list) list of supports [{'txid': (str) txid,\n 'nout': (int) nout,\n 'amount': (float) amount}],\n 'txid': (str) claim txid,\n 'nout': (str) claim nout,\n 'signature_is_valid': (bool), included if has_signature,\n 'value': ClaimDict if decoded, otherwise hex string\n }\n If the url resolves to a channel:\n 'claims_in_channel': (int) number of claims in the channel,\n If the url resolves to a claim:\n 'claim': {\n 'address': (str) claim address,\n 'amount': (float) claim amount,\n 'effective_amount': (float) claim amount including supports,\n 'claim_id': (str) claim id,\n 'claim_sequence': (int) claim sequence number (or -1 if unknown),\n 'decoded_claim': (bool) whether or not the claim value was decoded,\n 'height': (int) claim height,\n 'depth': (int) claim depth,\n 'has_signature': (bool) included if decoded_claim\n 'name': (str) claim name,\n 'permanent_url': (str) permanent url of the claim,\n 'channel_name': (str) channel name if claim is in a channel\n 'supports: (list) list of supports [{'txid': (str) txid,\n 'nout': (int) nout,\n 'amount': (float) amount}]\n 'txid': (str) claim txid,\n 'nout': (str) claim nout,\n 'signature_is_valid': (bool), included if has_signature,\n 'value': ClaimDict if decoded, otherwise hex string\n }\n }" }, "routing_table_get": { "name": "routing_table_get", @@ -9656,7 +9450,7 @@ interface = { ], "group": "stream", "cli": "stream create", - "help": "Make a new stream claim and announce the associated file to lbrynet.\n\nUsage:\n stream create (<name> | --name=<name>) (<bid> | --bid=<bid>) [--allow_duplicate_name]\n [--file_path=<file_path>] [--validate_file] [--optimize_file]\n [--fee_currency=<fee_currency>] [--fee_amount=<fee_amount>]\n [--fee_address=<fee_address>] [--author=<author>] [--license=<license>]\n [--license_url=<license_url>] [--release_time=<release_time>]\n [--width=<width>] [--height=<height>] [--duration=<duration>]\n [--title=<title>] [--description=<description>]\n [--thumbnail_url=<thumbnail_url>] [--tag=<tag>...]\n [--language=<language>...] [--location=<location>...]\n [--account_id=<account_id>] [--claim_address=<claim_address>]\n [--channel_id=<channel_id>] [--channel_name=<channel_name>]\n [--wallet_id=<wallet_id>] [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --name=<name> : (str) name for the stream (can only consist\n of a-z A-Z 0-9 and -(dash))\n --bid=<bid> : (str) amount to back the content\n --allow_duplicate_name : (bool) create new stream even if one\n already exists with given name\n --file_path=<file_path> : (str) path to file to be associated with\n name.\n --validate_file : (bool) validate that the video container\n and encodings match common web browser\n support or that optimization succeeds if\n specified. FFmpeg is required\n --optimize_file : (bool) transcode the video & audio if\n necessary to ensure common web browser\n support. FFmpeg is required\n --fee_currency=<fee_currency> : (str) specify fee currency\n --fee_amount=<fee_amount> : (str) content download fee\n --fee_address=<fee_address> : (str) address where to send fee payments,\n will use the claim holding address by\n default\n --author=<author> : (str) author of the publication. The usage\n for this field is not the same as for\n channels. The author field is used to\n credit an author who is not the publisher\n and is not represented by the channel. For\n example, a pdf file of 'The Odyssey' has an\n author of 'Homer' but may by published to a\n channel such as '@classics', or to no\n channel at all\n --license=<license> : (str) publication license\n --license_url=<license_url> : (str) publication license url\n --release_time=<release_time> : (int) original public release of content,\n seconds since UNIX epoch\n --width=<width> : (int) image/video width, automatically\n calculated from media file\n --height=<height> : (int) image/video height, automatically\n calculated from media file\n --duration=<duration> : (int) audio/video duration in seconds,\n automatically calculated\n --title=<title> : (str)\n --description=<description> : (str)\n --thumbnail_url=<thumbnail_url> : (str) url to thumbnail image\n --tag=<tag> : (str, list)\n --language=<language> : (str, list) languages used by the channel,\n using RFC 5646 format, eg: for English\n `--language=en` for Spanish (Spain)\n `--language=es-ES` for Spanish (Mexican)\n `--language=es-MX` for Chinese (Simplified)\n `--language=zh-Hans` for Chinese\n (Traditional) `--language=zh-Hant`\n --location=<location> : (str, list) locations of the channel,\n consisting of 2 letter `country` code and a\n `state`, `city` and a postal `code` along\n with a `latitude` and `longitude`. for JSON\n RPC: pass a dictionary with aforementioned\n attributes as keys, eg: ... \"locations\":\n [{'country': 'US', 'state': 'NH'}] ... for\n command line: pass a colon delimited list\n with values in the following order: \"COUNTR\n Y:STATE:CITY:CODE:LATITUDE:LONGITUDE\"\n making sure to include colon for blank\n values, for example to provide only the\n city: ... --locations=\"::Manchester\" with\n all values set: ... --locations=\"US:NH:Manc\n hester:03101:42.990605:-71.460989\"\n optionally, you can just pass the\n \"LATITUDE:LONGITUDE\": ...\n --locations=\"42.990605:-71.460989\" finally,\n you can also pass JSON string of dictionary\n on the command line as you would via JSON\n RPC ... --locations=\"{'country': 'US',\n 'state': 'NH'}\"\n --account_id=<account_id> : (str) account to hold the claim\n --claim_address=<claim_address> : (str) specific address where the claim is\n held, if not specified it will be\n determined automatically from the account\n --channel_id=<channel_id> : (str) claim id of the publishing channel\n --channel_name=<channel_name> : (str) name of publishing channel\n --wallet_id=<wallet_id> : (str) restrict operation to specific wallet\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) \n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" + "help": "Make a new stream claim and announce the associated file to lbrynet.\n\nUsage:\n stream create (<name> | --name=<name>) (<bid> | --bid=<bid>) [--allow_duplicate_name]\n [--file_path=<file_path>] [--validate_file] [--optimize_file]\n [--fee_currency=<fee_currency>] [--fee_amount=<fee_amount>]\n [--fee_address=<fee_address>] [--author=<author>] [--license=<license>]\n [--license_url=<license_url>] [--release_time=<release_time>]\n [--width=<width>] [--height=<height>] [--duration=<duration>]\n [--title=<title>] [--description=<description>]\n [--thumbnail_url=<thumbnail_url>] [--tag=<tag>...]\n [--language=<language>...] [--location=<location>...]\n [--account_id=<account_id>] [--claim_address=<claim_address>]\n [--channel_id=<channel_id>] [--channel_name=<channel_name>]\n [--wallet_id=<wallet_id>] [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --name=<name> : (str) name for the stream (can only consist\n of a-z A-Z 0-9 and -(dash))\n --bid=<bid> : (str) amount to back the content\n --allow_duplicate_name : (bool) create new stream even if one\n already exists with given name\n --file_path=<file_path> : (str) path to file to be associated with\n name.\n --validate_file : (bool) validate that the video container\n and encodings match common web browser\n support or that optimization succeeds if\n specified. FFmpeg is required\n --optimize_file : (bool) transcode the video & audio if\n necessary to ensure common web browser\n support. FFmpeg is required\n --fee_currency=<fee_currency> : (str) specify fee currency\n --fee_amount=<fee_amount> : (str) content download fee\n --fee_address=<fee_address> : (str) address where to send fee payments,\n will use the claim holding address by\n default\n --author=<author> : (str) author of the publication. The usage\n for this field is not the same as for\n channels. The author field is used to\n credit an author who is not the publisher\n and is not represented by the channel. For\n example, a pdf file of 'The Odyssey' has an\n author of 'Homer' but may by published to a\n channel such as '@classics', or to no\n channel at all\n --license=<license> : (str) publication license\n --license_url=<license_url> : (str) publication license url\n --release_time=<release_time> : (int) original public release of content,\n seconds since UNIX epoch\n --width=<width> : (int) image/video width, automatically\n calculated from media file\n --height=<height> : (int) image/video height, automatically\n calculated from media file\n --duration=<duration> : (int) audio/video duration in seconds,\n automatically calculated\n --title=<title> : (str)\n --description=<description> : (str)\n --thumbnail_url=<thumbnail_url> : (str) url to thumbnail image\n --tag=<tag> : (str, list)\n --language=<language> : (str, list) languages used by the channel,\n using RFC 5646 format, eg: for English\n `--language=en` for Spanish (Spain)\n `--language=es-ES` for Spanish (Mexican)\n `--language=es-MX` for Chinese (Simplified)\n `--language=zh-Hans` for Chinese\n (Traditional) `--language=zh-Hant`\n --location=<location> : (str, list) locations of the channel,\n consisting of 2 letter `country` code and a\n `state`, `city` and a postal `code` along\n with a `latitude` and `longitude`. for JSON\n RPC: pass a dictionary with aforementioned\n attributes as keys, eg: ... \"locations\":\n [{'country': 'US', 'state': 'NH'}] ... for\n command line: pass a colon delimited list\n with values in the following order: \"COUNTR\n Y:STATE:CITY:CODE:LATITUDE:LONGITUDE\"\n making sure to include colon for blank\n values, for example to provide only the\n city: ... --locations=\"::Manchester\" with\n all values set: ... --locations=\"US:NH:Manc\n hester:03101:42.990605:-71.460989\"\n optionally, you can just pass the\n \"LATITUDE:LONGITUDE\": ... --locations=\"42.990605:-71.460989\" finally,\n you can also pass JSON string of dictionary\n on the command line as you would via JSON\n RPC ... --locations=\"{'country': 'US',\n 'state': 'NH'}\"\n --account_id=<account_id> : (str) account to hold the claim\n --claim_address=<claim_address> : (str) specific address where the claim is\n held, if not specified it will be\n determined automatically from the account\n --channel_id=<channel_id> : (str) claim id of the publishing channel\n --channel_name=<channel_name> : (str) name of publishing channel\n --wallet_id=<wallet_id> : (str) restrict operation to specific wallet\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) \n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" }, "stream_list": { "name": "list", @@ -10920,7 +10714,7 @@ interface = { ], "group": "stream", "cli": "stream update", - "help": "Update an existing stream claim and if a new file is provided announce it to lbrynet.\n\nUsage:\n stream update (<claim_id> | --claim_id=<claim_id>) [--bid=<bid>]\n [--clear_fee] [--clear_channel] [--file_path=<file_path>]\n [--validate_file] [--optimize_file] [--fee_currency=<fee_currency>]\n [--fee_amount=<fee_amount>] [--fee_address=<fee_address>]\n [--author=<author>] [--license=<license>] [--license_url=<license_url>]\n [--release_time=<release_time>] [--width=<width>] [--height=<height>]\n [--duration=<duration>] [--title=<title>] [--description=<description>]\n [--thumbnail_url=<thumbnail_url>] [--tag=<tag>...]\n [--language=<language>...] [--location=<location>...]\n [--account_id=<account_id>] [--claim_address=<claim_address>]\n [--channel_id=<channel_id>] [--channel_name=<channel_name>] [--replace]\n [--clear_tags] [--clear_languages] [--clear_locations]\n [--wallet_id=<wallet_id>] [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --claim_id=<claim_id> : (str) claim_id of the stream to update\n --bid=<bid> : (str) update amount backing the stream\n --clear_fee : (bool) clear fee\n --clear_channel : (bool) clear channel signature\n --file_path=<file_path> : (str) path to file to be associated with\n name.\n --validate_file : (bool) validate that the video container\n and encodings match common web browser\n support or that optimization succeeds if\n specified. FFmpeg is required\n --optimize_file : (bool) transcode the video & audio if\n necessary to ensure common web browser\n support. FFmpeg is required\n --fee_currency=<fee_currency> : (str) specify fee currency\n --fee_amount=<fee_amount> : (str) content download fee\n --fee_address=<fee_address> : (str) address where to send fee payments,\n will use the claim holding address by\n default\n --author=<author> : (str) author of the publication. The usage\n for this field is not the same as for\n channels. The author field is used to\n credit an author who is not the publisher\n and is not represented by the channel. For\n example, a pdf file of 'The Odyssey' has an\n author of 'Homer' but may by published to a\n channel such as '@classics', or to no\n channel at all\n --license=<license> : (str) publication license\n --license_url=<license_url> : (str) publication license url\n --release_time=<release_time> : (int) original public release of content,\n seconds since UNIX epoch\n --width=<width> : (int) image/video width, automatically\n calculated from media file\n --height=<height> : (int) image/video height, automatically\n calculated from media file\n --duration=<duration> : (int) audio/video duration in seconds,\n automatically calculated\n --title=<title> : (str)\n --description=<description> : (str)\n --thumbnail_url=<thumbnail_url> : (str) url to thumbnail image\n --tag=<tag> : (str, list)\n --language=<language> : (str, list) languages used by the channel,\n using RFC 5646 format, eg: for English\n `--language=en` for Spanish (Spain)\n `--language=es-ES` for Spanish (Mexican)\n `--language=es-MX` for Chinese (Simplified)\n `--language=zh-Hans` for Chinese\n (Traditional) `--language=zh-Hant`\n --location=<location> : (str, list) locations of the channel,\n consisting of 2 letter `country` code and a\n `state`, `city` and a postal `code` along\n with a `latitude` and `longitude`. for JSON\n RPC: pass a dictionary with aforementioned\n attributes as keys, eg: ... \"locations\":\n [{'country': 'US', 'state': 'NH'}] ... for\n command line: pass a colon delimited list\n with values in the following order: \"COUNTR\n Y:STATE:CITY:CODE:LATITUDE:LONGITUDE\"\n making sure to include colon for blank\n values, for example to provide only the\n city: ... --locations=\"::Manchester\" with\n all values set: ... --locations=\"US:NH:Manc\n hester:03101:42.990605:-71.460989\"\n optionally, you can just pass the\n \"LATITUDE:LONGITUDE\": ...\n --locations=\"42.990605:-71.460989\" finally,\n you can also pass JSON string of dictionary\n on the command line as you would via JSON\n RPC ... --locations=\"{'country': 'US',\n 'state': 'NH'}\"\n --account_id=<account_id> : (str) account to hold the claim\n --claim_address=<claim_address> : (str) specific address where the claim is\n held, if not specified it will be\n determined automatically from the account\n --channel_id=<channel_id> : (str) claim id of the publishing channel\n --channel_name=<channel_name> : (str) name of publishing channel\n --replace : (bool) instead of modifying specific values\n on the claim, this will clear all existing\n values and only save passed in values,\n useful for form submissions where all\n values are always set\n --clear_tags : (bool) clear existing tags (prior to adding\n new ones)\n --clear_languages : (bool) clear existing languages (prior to\n adding new ones)\n --clear_locations : (bool) clear existing locations (prior to\n adding new ones)\n --wallet_id=<wallet_id> : (str) restrict operation to specific wallet\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) stream update transaction\n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" + "help": "Update an existing stream claim and if a new file is provided announce it to lbrynet.\n\nUsage:\n stream update (<claim_id> | --claim_id=<claim_id>) [--bid=<bid>]\n [--clear_fee] [--clear_channel] [--file_path=<file_path>]\n [--validate_file] [--optimize_file] [--fee_currency=<fee_currency>]\n [--fee_amount=<fee_amount>] [--fee_address=<fee_address>]\n [--author=<author>] [--license=<license>] [--license_url=<license_url>]\n [--release_time=<release_time>] [--width=<width>] [--height=<height>]\n [--duration=<duration>] [--title=<title>] [--description=<description>]\n [--thumbnail_url=<thumbnail_url>] [--tag=<tag>...]\n [--language=<language>...] [--location=<location>...]\n [--account_id=<account_id>] [--claim_address=<claim_address>]\n [--channel_id=<channel_id>] [--channel_name=<channel_name>] [--replace]\n [--clear_tags] [--clear_languages] [--clear_locations]\n [--wallet_id=<wallet_id>] [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --claim_id=<claim_id> : (str) claim_id of the stream to update\n --bid=<bid> : (str) update amount backing the stream\n --clear_fee : (bool) clear fee\n --clear_channel : (bool) clear channel signature\n --file_path=<file_path> : (str) path to file to be associated with\n name.\n --validate_file : (bool) validate that the video container\n and encodings match common web browser\n support or that optimization succeeds if\n specified. FFmpeg is required\n --optimize_file : (bool) transcode the video & audio if\n necessary to ensure common web browser\n support. FFmpeg is required\n --fee_currency=<fee_currency> : (str) specify fee currency\n --fee_amount=<fee_amount> : (str) content download fee\n --fee_address=<fee_address> : (str) address where to send fee payments,\n will use the claim holding address by\n default\n --author=<author> : (str) author of the publication. The usage\n for this field is not the same as for\n channels. The author field is used to\n credit an author who is not the publisher\n and is not represented by the channel. For\n example, a pdf file of 'The Odyssey' has an\n author of 'Homer' but may by published to a\n channel such as '@classics', or to no\n channel at all\n --license=<license> : (str) publication license\n --license_url=<license_url> : (str) publication license url\n --release_time=<release_time> : (int) original public release of content,\n seconds since UNIX epoch\n --width=<width> : (int) image/video width, automatically\n calculated from media file\n --height=<height> : (int) image/video height, automatically\n calculated from media file\n --duration=<duration> : (int) audio/video duration in seconds,\n automatically calculated\n --title=<title> : (str)\n --description=<description> : (str)\n --thumbnail_url=<thumbnail_url> : (str) url to thumbnail image\n --tag=<tag> : (str, list)\n --language=<language> : (str, list) languages used by the channel,\n using RFC 5646 format, eg: for English\n `--language=en` for Spanish (Spain)\n `--language=es-ES` for Spanish (Mexican)\n `--language=es-MX` for Chinese (Simplified)\n `--language=zh-Hans` for Chinese\n (Traditional) `--language=zh-Hant`\n --location=<location> : (str, list) locations of the channel,\n consisting of 2 letter `country` code and a\n `state`, `city` and a postal `code` along\n with a `latitude` and `longitude`. for JSON\n RPC: pass a dictionary with aforementioned\n attributes as keys, eg: ... \"locations\":\n [{'country': 'US', 'state': 'NH'}] ... for\n command line: pass a colon delimited list\n with values in the following order: \"COUNTR\n Y:STATE:CITY:CODE:LATITUDE:LONGITUDE\"\n making sure to include colon for blank\n values, for example to provide only the\n city: ... --locations=\"::Manchester\" with\n all values set: ... --locations=\"US:NH:Manc\n hester:03101:42.990605:-71.460989\"\n optionally, you can just pass the\n \"LATITUDE:LONGITUDE\": ... --locations=\"42.990605:-71.460989\" finally,\n you can also pass JSON string of dictionary\n on the command line as you would via JSON\n RPC ... --locations=\"{'country': 'US',\n 'state': 'NH'}\"\n --account_id=<account_id> : (str) account to hold the claim\n --claim_address=<claim_address> : (str) specific address where the claim is\n held, if not specified it will be\n determined automatically from the account\n --channel_id=<channel_id> : (str) claim id of the publishing channel\n --channel_name=<channel_name> : (str) name of publishing channel\n --replace : (bool) instead of modifying specific values\n on the claim, this will clear all existing\n values and only save passed in values,\n useful for form submissions where all\n values are always set\n --clear_tags : (bool) clear existing tags (prior to adding\n new ones)\n --clear_languages : (bool) clear existing languages (prior to\n adding new ones)\n --clear_locations : (bool) clear existing locations (prior to\n adding new ones)\n --wallet_id=<wallet_id> : (str) restrict operation to specific wallet\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) stream update transaction\n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" }, "support_abandon": { "name": "abandon", @@ -11454,6 +11248,209 @@ interface = { "cli": "support list", "help": "List staked supports and sent/received tips.\n\nUsage:\n support list [<account_id> | --account_id=<account_id>] [--wallet_id=<wallet_id>]\n [--name=<name>...] [--claim_id=<claim_id>...]\n [--received | --sent | --staked] [--is_spent]\n [--page=<page>] [--page_size=<page_size>] [--include_total]\n\nOptions:\n --account_id=<account_id> : (str) restrict operation to specific account\n --wallet_id=<wallet_id> : (str) restrict operation to specific wallet\n --name=<name> : (str, list) support for specific claim name(s)\n --claim_id=<claim_id> : (str, list) support for specific claim id(s)\n --received : (bool) only show received (tips)\n --sent : (bool) only show sent (tips)\n --staked : (bool) only show my staked supports\n --is_spent : (bool) show abandoned supports\n --page=<page> : (int) page to return for paginating\n --page_size=<page_size> : (int) number of items on page for pagination\n --include_total : (bool) calculate total number of items and pages\n\nReturns:\n (Paginated[Output]) \n {\n \"page\": \"Page number of the current items.\",\n \"page_size\": \"Number of items to show on a page.\",\n \"total_pages\": \"Total number of pages.\",\n \"total_items\": \"Total number of items.\",\n \"items\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ]\n }" }, + "support_search": { + "name": "search", + "desc": { + "text": [ + "Search for supports on the blockchain.", + "Arguments marked with \"supports equality constraints\" allow prepending the", + "value with an equality constraint such as '>', '>=', '<' and '<='", + "eg. --height=\">400000\" would limit results to only supports above 400k block height." + ], + "usage": [ + " support search [--wallet_id=<wallet_id>] [--order_by=<order_by>...]" + ], + "kwargs": 19 + }, + "arguments": [ + { + "name": "wallet_id", + "desc": [ + "wallet to check if support is owned by user" + ], + "type": "str" + }, + { + "name": "order_by", + "desc": [ + "field to order by" + ], + "type": "str, list" + }, + { + "name": "claim_id", + "desc": [ + "full claim id" + ], + "type": "str, list" + }, + { + "name": "txid", + "desc": [ + "transaction id" + ], + "type": "str" + }, + { + "name": "nout", + "desc": [ + "position in the transaction" + ], + "type": "int" + }, + { + "name": "height", + "desc": [ + "last updated block height (supports equality constraints)" + ], + "type": "int" + }, + { + "name": "timestamp", + "desc": [ + "last updated timestamp (supports equality constraints)" + ], + "type": "int" + }, + { + "name": "amount", + "desc": [ + "claim amount (supports equality constraints)" + ], + "type": "str" + }, + { + "name": "page", + "desc": [ + "page to return for paginating" + ], + "type": "int" + }, + { + "name": "page_size", + "desc": [ + "number of items on page for pagination" + ], + "type": "int" + }, + { + "name": "include_total", + "desc": [ + "calculate total number of items and pages" + ], + "default": False, + "type": "bool" + } + ], + "returns": { + "desc": [ + "search results" + ], + "type": "Paginated[Output]", + "json": { + "page": "Page number of the current items.", + "page_size": "Number of items to show on a page.", + "total_pages": "Total number of pages.", + "total_items": "Total number of items.", + "items": [ + { + "txid": "hash of transaction in hex", + "nout": "position in the transaction", + "height": "block where transaction was recorded", + "amount": "value of the txo as a decimal", + "address": "address of who can spend the txo", + "confirmations": "number of confirmed blocks", + "is_change": "payment to change address, only available when it can be determined", + "is_received": "true if txo was sent from external account to this account", + "is_spent": "true if txo is spent", + "is_mine": "payment to one of your accounts, only available when it can be determined", + "type": "one of 'claim', 'support' or 'purchase'", + "name": "when type is 'claim' or 'support', this is the claim name", + "claim_id": "when type is 'claim', 'support' or 'purchase', this is the claim id", + "claim_op": "when type is 'claim', this determines if it is 'create' or 'update'", + "value": "when type is 'claim' or 'support' with payload, this is the decoded protobuf payload", + "value_type": "determines the type of the 'value' field: 'channel', 'stream', etc", + "protobuf": "hex encoded raw protobuf version of 'value' field", + "permanent_url": "when type is 'claim' or 'support', this is the long permanent claim URL", + "claim": "for purchase outputs only, metadata of purchased claim", + "reposted_claim": "for repost claims only, metadata of claim being reposted", + "signing_channel": "for signed claims only, metadata of signing channel", + "is_channel_signature_valid": "for signed claims only, whether signature is valid", + "purchase_receipt": "metadata for the purchase transaction associated with this claim" + } + ] + } + }, + "kwargs": [ + { + "name": "claim_id", + "desc": [ + "full claim id" + ], + "type": "str, list" + }, + { + "name": "txid", + "desc": [ + "transaction id" + ], + "type": "str" + }, + { + "name": "nout", + "desc": [ + "position in the transaction" + ], + "type": "int" + }, + { + "name": "height", + "desc": [ + "last updated block height (supports equality constraints)" + ], + "type": "int" + }, + { + "name": "timestamp", + "desc": [ + "last updated timestamp (supports equality constraints)" + ], + "type": "int" + }, + { + "name": "amount", + "desc": [ + "claim amount (supports equality constraints)" + ], + "type": "str" + }, + { + "name": "page", + "desc": [ + "page to return for paginating" + ], + "type": "int" + }, + { + "name": "page_size", + "desc": [ + "number of items on page for pagination" + ], + "type": "int" + }, + { + "name": "include_total", + "desc": [ + "calculate total number of items and pages" + ], + "default": False, + "type": "bool" + } + ], + "group": "support", + "cli": "support search", + "help": "Search for supports on the blockchain.\nArguments marked with \"supports equality constraints\" allow prepending the\nvalue with an equality constraint such as '>', '>=', '<' and '<='\neg. --height=\">400000\" would limit results to only supports above 400k block height.\n\nUsage:\n support search [--wallet_id=<wallet_id>] [--order_by=<order_by>...]\n [--claim_id=<claim_id>...] [--txid=<txid>] [--nout=<nout>]\n [--height=<height>] [--timestamp=<timestamp>] [--amount=<amount>]\n [--page=<page>] [--page_size=<page_size>] [--include_total]\n\nOptions:\n --wallet_id=<wallet_id> : (str) wallet to check if support is owned by user\n --order_by=<order_by> : (str, list) field to order by\n --claim_id=<claim_id> : (str, list) full claim id\n --txid=<txid> : (str) transaction id\n --nout=<nout> : (int) position in the transaction\n --height=<height> : (int) last updated block height (supports equality\n constraints)\n --timestamp=<timestamp> : (int) last updated timestamp (supports equality\n constraints)\n --amount=<amount> : (str) claim amount (supports equality constraints)\n --page=<page> : (int) page to return for paginating\n --page_size=<page_size> : (int) number of items on page for pagination\n --include_total : (bool) calculate total number of items and pages\n\nReturns:\n (Paginated[Output]) search results\n {\n \"page\": \"Page number of the current items.\",\n \"page_size\": \"Number of items to show on a page.\",\n \"total_pages\": \"Total number of pages.\",\n \"total_items\": \"Total number of items.\",\n \"items\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ]\n }" + }, "sync_apply": { "name": "apply", "desc": { @@ -12128,7 +12125,7 @@ interface = { ], "group": "txo", "cli": "txo list", - "help": "List my transaction outputs.\n\nUsage:\n txo list [--include_received_tips] [--resolve] [--order_by]\n [--type=<type>...] [--txid=<txid>...] [--claim_id=<claim_id>...]\n [--channel_id=<channel_id>...] [--name=<name>...] [--is_spent]\n [--is_not_spent] [--is_my_input_or_output] [--is_my_output]\n [--is_not_my_output] [--is_my_input] [--is_not_my_input]\n [--exclude_internal_transfers] [--account_id=<account_id>...]\n [--wallet_id=<wallet_id>] [--page=<page>] [--page_size=<page_size>]\n [--include_total]\n\nOptions:\n --include_received_tips : (bool) calculate the amount of tips recieved for claim\n outputs\n --resolve : (bool) resolves each claim to provide additional\n metadata\n --order_by=<order_by> : (str) field to order by: 'name', 'height', 'amount'\n and 'none'\n --type=<type> : (str, list) claim type: stream, channel, support,\n purchase, collection, repost, other\n --txid=<txid> : (str, list) transaction id of outputs\n --claim_id=<claim_id> : (str, list) claim id\n --channel_id=<channel_id> : (str, list) claims in this channel\n --name=<name> : (str, list) claim name\n --is_spent : (bool) only show spent txos\n --is_not_spent : (bool) only show not spent txos\n --is_my_input_or_output : (bool) txos which have your inputs or your outputs, if\n using this flag the other related flags are ignored\n (--is_my_output, --is_my_input, etc)\n --is_my_output : (bool) show outputs controlled by you\n --is_not_my_output : (bool) show outputs not controlled by you\n --is_my_input : (bool) show outputs created by you\n --is_not_my_input : (bool) show outputs not created by you\n --exclude_internal_transfers : (bool) excludes any outputs that are exactly this\n combination: \"--is_my_input --is_my_output\n --type=other\" this allows to exclude \"change\"\n payments, this flag can be used in combination with\n any of the other flags\n --account_id=<account_id> : (str, list) id(s) of the account(s) to query\n --wallet_id=<wallet_id> : (str) restrict results to specific wallet\n --page=<page> : (int) page to return for paginating\n --page_size=<page_size> : (int) number of items on page for pagination\n --include_total : (bool) calculate total number of items and pages\n\nReturns:\n (Paginated[Output]) \n {\n \"page\": \"Page number of the current items.\",\n \"page_size\": \"Number of items to show on a page.\",\n \"total_pages\": \"Total number of pages.\",\n \"total_items\": \"Total number of items.\",\n \"items\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ]\n }" + "help": "List my transaction outputs.\n\nUsage:\n txo list [--include_received_tips] [--resolve] [--order_by]\n [--type=<type>...] [--txid=<txid>...] [--claim_id=<claim_id>...]\n [--channel_id=<channel_id>...] [--name=<name>...] [--is_spent]\n [--is_not_spent] [--is_my_input_or_output] [--is_my_output]\n [--is_not_my_output] [--is_my_input] [--is_not_my_input]\n [--exclude_internal_transfers] [--account_id=<account_id>...]\n [--wallet_id=<wallet_id>] [--page=<page>] [--page_size=<page_size>]\n [--include_total]\n\nOptions:\n --include_received_tips : (bool) calculate the amount of tips recieved for claim\n outputs\n --resolve : (bool) resolves each claim to provide additional\n metadata\n --order_by=<order_by> : (str) field to order by: 'name', 'height', 'amount'\n and 'none'\n --type=<type> : (str, list) claim type: stream, channel, support,\n purchase, collection, repost, other\n --txid=<txid> : (str, list) transaction id of outputs\n --claim_id=<claim_id> : (str, list) claim id\n --channel_id=<channel_id> : (str, list) claims in this channel\n --name=<name> : (str, list) claim name\n --is_spent : (bool) only show spent txos\n --is_not_spent : (bool) only show not spent txos\n --is_my_input_or_output : (bool) txos which have your inputs or your outputs, if\n using this flag the other related flags are ignored\n (--is_my_output, --is_my_input, etc)\n --is_my_output : (bool) show outputs controlled by you\n --is_not_my_output : (bool) show outputs not controlled by you\n --is_my_input : (bool) show outputs created by you\n --is_not_my_input : (bool) show outputs not created by you\n --exclude_internal_transfers : (bool) excludes any outputs that are exactly this\n combination: \"--is_my_input --is_my_output --type=other\" this allows to exclude \"change\"\n payments, this flag can be used in combination with\n any of the other flags\n --account_id=<account_id> : (str, list) id(s) of the account(s) to query\n --wallet_id=<wallet_id> : (str) restrict results to specific wallet\n --page=<page> : (int) page to return for paginating\n --page_size=<page_size> : (int) number of items on page for pagination\n --include_total : (bool) calculate total number of items and pages\n\nReturns:\n (Paginated[Output]) \n {\n \"page\": \"Page number of the current items.\",\n \"page_size\": \"Number of items to show on a page.\",\n \"total_pages\": \"Total number of pages.\",\n \"total_items\": \"Total number of items.\",\n \"items\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ]\n }" }, "txo_plot": { "name": "plot", @@ -12463,7 +12460,7 @@ interface = { ], "group": "txo", "cli": "txo plot", - "help": "Plot transaction output sum over days.\n\nUsage:\n txo_plot [--days_back=<days_back> |\n [--start_day=<start_day> [--days_after=<days_after> | --end_day=<end_day>]]\n ]\n [--type=<type>...] [--txid=<txid>...] [--claim_id=<claim_id>...]\n [--channel_id=<channel_id>...] [--name=<name>...] [--is_spent]\n [--is_not_spent] [--is_my_input_or_output] [--is_my_output]\n [--is_not_my_output] [--is_my_input] [--is_not_my_input]\n [--exclude_internal_transfers] [--account_id=<account_id>...]\n [--wallet_id=<wallet_id>] [--page=<page>] [--page_size=<page_size>]\n [--include_total]\n\nOptions:\n --days_back=<days_back> : (int) number of days back from today (not compatible\n with --start_day, --days_after, --end_day) [default:\n 0]\n --start_day=<start_day> : (str) start on specific date (YYYY-MM-DD) (instead of\n --days_back)\n --days_after=<days_after> : (int) end number of days after --start_day (instead of\n --end_day)\n --end_day=<end_day> : (str) end on specific date (YYYY-MM-DD) (instead of\n --days_after)\n --type=<type> : (str, list) claim type: stream, channel, support,\n purchase, collection, repost, other\n --txid=<txid> : (str, list) transaction id of outputs\n --claim_id=<claim_id> : (str, list) claim id\n --channel_id=<channel_id> : (str, list) claims in this channel\n --name=<name> : (str, list) claim name\n --is_spent : (bool) only show spent txos\n --is_not_spent : (bool) only show not spent txos\n --is_my_input_or_output : (bool) txos which have your inputs or your outputs, if\n using this flag the other related flags are ignored\n (--is_my_output, --is_my_input, etc)\n --is_my_output : (bool) show outputs controlled by you\n --is_not_my_output : (bool) show outputs not controlled by you\n --is_my_input : (bool) show outputs created by you\n --is_not_my_input : (bool) show outputs not created by you\n --exclude_internal_transfers : (bool) excludes any outputs that are exactly this\n combination: \"--is_my_input --is_my_output\n --type=other\" this allows to exclude \"change\"\n payments, this flag can be used in combination with\n any of the other flags\n --account_id=<account_id> : (str, list) id(s) of the account(s) to query\n --wallet_id=<wallet_id> : (str) restrict results to specific wallet\n --page=<page> : (int) page to return for paginating\n --page_size=<page_size> : (int) number of items on page for pagination\n --include_total : (bool) calculate total number of items and pages\n\nReturns:\n (List) " + "help": "Plot transaction output sum over days.\n\nUsage:\n txo_plot [--days_back=<days_back> |\n [--start_day=<start_day> [--days_after=<days_after> | --end_day=<end_day>]]\n ]\n [--type=<type>...] [--txid=<txid>...] [--claim_id=<claim_id>...]\n [--channel_id=<channel_id>...] [--name=<name>...] [--is_spent]\n [--is_not_spent] [--is_my_input_or_output] [--is_my_output]\n [--is_not_my_output] [--is_my_input] [--is_not_my_input]\n [--exclude_internal_transfers] [--account_id=<account_id>...]\n [--wallet_id=<wallet_id>] [--page=<page>] [--page_size=<page_size>]\n [--include_total]\n\nOptions:\n --days_back=<days_back> : (int) number of days back from today (not compatible\n with --start_day, --days_after, --end_day) [default:\n 0]\n --start_day=<start_day> : (str) start on specific date (YYYY-MM-DD) (instead of --days_back)\n --days_after=<days_after> : (int) end number of days after --start_day (instead of --end_day)\n --end_day=<end_day> : (str) end on specific date (YYYY-MM-DD) (instead of --days_after)\n --type=<type> : (str, list) claim type: stream, channel, support,\n purchase, collection, repost, other\n --txid=<txid> : (str, list) transaction id of outputs\n --claim_id=<claim_id> : (str, list) claim id\n --channel_id=<channel_id> : (str, list) claims in this channel\n --name=<name> : (str, list) claim name\n --is_spent : (bool) only show spent txos\n --is_not_spent : (bool) only show not spent txos\n --is_my_input_or_output : (bool) txos which have your inputs or your outputs, if\n using this flag the other related flags are ignored\n (--is_my_output, --is_my_input, etc)\n --is_my_output : (bool) show outputs controlled by you\n --is_not_my_output : (bool) show outputs not controlled by you\n --is_my_input : (bool) show outputs created by you\n --is_not_my_input : (bool) show outputs not created by you\n --exclude_internal_transfers : (bool) excludes any outputs that are exactly this\n combination: \"--is_my_input --is_my_output --type=other\" this allows to exclude \"change\"\n payments, this flag can be used in combination with\n any of the other flags\n --account_id=<account_id> : (str, list) id(s) of the account(s) to query\n --wallet_id=<wallet_id> : (str) restrict results to specific wallet\n --page=<page> : (int) page to return for paginating\n --page_size=<page_size> : (int) number of items on page for pagination\n --include_total : (bool) calculate total number of items and pages\n\nReturns:\n (List) " }, "txo_spend": { "name": "spend", @@ -12611,13 +12608,6 @@ interface = { ], "type": "str" }, - { - "name": "wallet_id", - "desc": [ - "restrict operation to specific wallet" - ], - "type": "str" - }, { "name": "change_account_id", "desc": [ @@ -12772,13 +12762,6 @@ interface = { ], "type": "str" }, - { - "name": "wallet_id", - "desc": [ - "restrict operation to specific wallet" - ], - "type": "str" - }, { "name": "change_account_id", "desc": [ @@ -12812,7 +12795,7 @@ interface = { ], "group": "txo", "cli": "txo spend", - "help": "Spend transaction outputs, batching into multiple transactions as necessary.\n\nUsage:\n txo spend [--batch_size=<batch_size>] [--include_full_tx]\n [--type=<type>...] [--txid=<txid>...] [--claim_id=<claim_id>...]\n [--channel_id=<channel_id>...] [--name=<name>...] [--is_spent]\n [--is_not_spent] [--is_my_input_or_output] [--is_my_output]\n [--is_not_my_output] [--is_my_input] [--is_not_my_input]\n [--exclude_internal_transfers] [--account_id=<account_id>...]\n [--wallet_id=<wallet_id>] [--wallet_id=<wallet_id>]\n [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --batch_size=<batch_size> : (int) number of txos to spend per\n transactions [default: 500]\n --include_full_tx : (bool) include entire tx in output and not\n just the txid\n --type=<type> : (str, list) claim type: stream, channel,\n support, purchase, collection, repost,\n other\n --txid=<txid> : (str, list) transaction id of outputs\n --claim_id=<claim_id> : (str, list) claim id\n --channel_id=<channel_id> : (str, list) claims in this channel\n --name=<name> : (str, list) claim name\n --is_spent : (bool) only show spent txos\n --is_not_spent : (bool) only show not spent txos\n --is_my_input_or_output : (bool) txos which have your inputs or your\n outputs, if using this flag the other\n related flags are ignored (--is_my_output,\n --is_my_input, etc)\n --is_my_output : (bool) show outputs controlled by you\n --is_not_my_output : (bool) show outputs not controlled by you\n --is_my_input : (bool) show outputs created by you\n --is_not_my_input : (bool) show outputs not created by you\n --exclude_internal_transfers : (bool) excludes any outputs that are\n exactly this combination: \"--is_my_input\n --is_my_output --type=other\" this allows to\n exclude \"change\" payments, this flag can be\n used in combination with any of the other\n flags\n --account_id=<account_id> : (str, list) id(s) of the account(s) to\n query\n --wallet_id=<wallet_id> : (str) restrict results to specific wallet\n --wallet_id=<wallet_id> : (str) restrict operation to specific wallet\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (List[Transaction]) " + "help": "Spend transaction outputs, batching into multiple transactions as necessary.\n\nUsage:\n txo spend [--batch_size=<batch_size>] [--include_full_tx]\n [--type=<type>...] [--txid=<txid>...] [--claim_id=<claim_id>...]\n [--channel_id=<channel_id>...] [--name=<name>...] [--is_spent]\n [--is_not_spent] [--is_my_input_or_output] [--is_my_output]\n [--is_not_my_output] [--is_my_input] [--is_not_my_input]\n [--exclude_internal_transfers] [--account_id=<account_id>...]\n [--wallet_id=<wallet_id>] [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --batch_size=<batch_size> : (int) number of txos to spend per\n transactions [default: 500]\n --include_full_tx : (bool) include entire tx in output and not\n just the txid\n --type=<type> : (str, list) claim type: stream, channel,\n support, purchase, collection, repost,\n other\n --txid=<txid> : (str, list) transaction id of outputs\n --claim_id=<claim_id> : (str, list) claim id\n --channel_id=<channel_id> : (str, list) claims in this channel\n --name=<name> : (str, list) claim name\n --is_spent : (bool) only show spent txos\n --is_not_spent : (bool) only show not spent txos\n --is_my_input_or_output : (bool) txos which have your inputs or your\n outputs, if using this flag the other\n related flags are ignored (--is_my_output, --is_my_input, etc)\n --is_my_output : (bool) show outputs controlled by you\n --is_not_my_output : (bool) show outputs not controlled by you\n --is_my_input : (bool) show outputs created by you\n --is_not_my_input : (bool) show outputs not created by you\n --exclude_internal_transfers : (bool) excludes any outputs that are\n exactly this combination: \"--is_my_input --is_my_output --type=other\" this allows to\n exclude \"change\" payments, this flag can be\n used in combination with any of the other\n flags\n --account_id=<account_id> : (str, list) id(s) of the account(s) to\n query\n --wallet_id=<wallet_id> : (str) restrict results to specific wallet\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (List[Transaction]) " }, "txo_sum": { "name": "sum", @@ -12944,13 +12927,6 @@ interface = { ], "type": "str" }, - { - "name": "wallet_id", - "desc": [ - "restrict operation to specific wallet" - ], - "type": "str" - }, { "name": "change_account_id", "desc": [ @@ -13107,13 +13083,6 @@ interface = { ], "type": "str" }, - { - "name": "wallet_id", - "desc": [ - "restrict operation to specific wallet" - ], - "type": "str" - }, { "name": "change_account_id", "desc": [ @@ -13147,7 +13116,7 @@ interface = { ], "group": "txo", "cli": "txo sum", - "help": "Sum of transaction outputs.\n\nUsage:\n txo sum\n [--type=<type>...] [--txid=<txid>...] [--claim_id=<claim_id>...]\n [--channel_id=<channel_id>...] [--name=<name>...] [--is_spent]\n [--is_not_spent] [--is_my_input_or_output] [--is_my_output]\n [--is_not_my_output] [--is_my_input] [--is_not_my_input]\n [--exclude_internal_transfers] [--account_id=<account_id>...]\n [--wallet_id=<wallet_id>] [--wallet_id=<wallet_id>]\n [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --type=<type> : (str, list) claim type: stream, channel,\n support, purchase, collection, repost,\n other\n --txid=<txid> : (str, list) transaction id of outputs\n --claim_id=<claim_id> : (str, list) claim id\n --channel_id=<channel_id> : (str, list) claims in this channel\n --name=<name> : (str, list) claim name\n --is_spent : (bool) only show spent txos\n --is_not_spent : (bool) only show not spent txos\n --is_my_input_or_output : (bool) txos which have your inputs or your\n outputs, if using this flag the other\n related flags are ignored (--is_my_output,\n --is_my_input, etc)\n --is_my_output : (bool) show outputs controlled by you\n --is_not_my_output : (bool) show outputs not controlled by you\n --is_my_input : (bool) show outputs created by you\n --is_not_my_input : (bool) show outputs not created by you\n --exclude_internal_transfers : (bool) excludes any outputs that are\n exactly this combination: \"--is_my_input\n --is_my_output --type=other\" this allows to\n exclude \"change\" payments, this flag can be\n used in combination with any of the other\n flags\n --account_id=<account_id> : (str, list) id(s) of the account(s) to\n query\n --wallet_id=<wallet_id> : (str) restrict results to specific wallet\n --wallet_id=<wallet_id> : (str) restrict operation to specific wallet\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (int) sum of filtered outputs" + "help": "Sum of transaction outputs.\n\nUsage:\n txo sum\n [--type=<type>...] [--txid=<txid>...] [--claim_id=<claim_id>...]\n [--channel_id=<channel_id>...] [--name=<name>...] [--is_spent]\n [--is_not_spent] [--is_my_input_or_output] [--is_my_output]\n [--is_not_my_output] [--is_my_input] [--is_not_my_input]\n [--exclude_internal_transfers] [--account_id=<account_id>...]\n [--wallet_id=<wallet_id>] [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --type=<type> : (str, list) claim type: stream, channel,\n support, purchase, collection, repost,\n other\n --txid=<txid> : (str, list) transaction id of outputs\n --claim_id=<claim_id> : (str, list) claim id\n --channel_id=<channel_id> : (str, list) claims in this channel\n --name=<name> : (str, list) claim name\n --is_spent : (bool) only show spent txos\n --is_not_spent : (bool) only show not spent txos\n --is_my_input_or_output : (bool) txos which have your inputs or your\n outputs, if using this flag the other\n related flags are ignored (--is_my_output, --is_my_input, etc)\n --is_my_output : (bool) show outputs controlled by you\n --is_not_my_output : (bool) show outputs not controlled by you\n --is_my_input : (bool) show outputs created by you\n --is_not_my_input : (bool) show outputs not created by you\n --exclude_internal_transfers : (bool) excludes any outputs that are\n exactly this combination: \"--is_my_input --is_my_output --type=other\" this allows to\n exclude \"change\" payments, this flag can be\n used in combination with any of the other\n flags\n --account_id=<account_id> : (str, list) id(s) of the account(s) to\n query\n --wallet_id=<wallet_id> : (str) restrict results to specific wallet\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (int) sum of filtered outputs" }, "utxo_list": { "name": "list", @@ -13485,7 +13454,7 @@ interface = { ], "group": "utxo", "cli": "utxo list", - "help": "List unspent transaction outputs\n\nUsage:\n utxo_list\n [--type=<type>...] [--txid=<txid>...] [--claim_id=<claim_id>...]\n [--channel_id=<channel_id>...] [--name=<name>...] [--is_spent]\n [--is_not_spent] [--is_my_input_or_output] [--is_my_output]\n [--is_not_my_output] [--is_my_input] [--is_not_my_input]\n [--exclude_internal_transfers] [--account_id=<account_id>...]\n [--wallet_id=<wallet_id>] [--page=<page>] [--page_size=<page_size>]\n [--include_total]\n\nOptions:\n --type=<type> : (str, list) claim type: stream, channel, support,\n purchase, collection, repost, other\n --txid=<txid> : (str, list) transaction id of outputs\n --claim_id=<claim_id> : (str, list) claim id\n --channel_id=<channel_id> : (str, list) claims in this channel\n --name=<name> : (str, list) claim name\n --is_spent : (bool) only show spent txos\n --is_not_spent : (bool) only show not spent txos\n --is_my_input_or_output : (bool) txos which have your inputs or your outputs, if\n using this flag the other related flags are ignored\n (--is_my_output, --is_my_input, etc)\n --is_my_output : (bool) show outputs controlled by you\n --is_not_my_output : (bool) show outputs not controlled by you\n --is_my_input : (bool) show outputs created by you\n --is_not_my_input : (bool) show outputs not created by you\n --exclude_internal_transfers : (bool) excludes any outputs that are exactly this\n combination: \"--is_my_input --is_my_output\n --type=other\" this allows to exclude \"change\"\n payments, this flag can be used in combination with\n any of the other flags\n --account_id=<account_id> : (str, list) id(s) of the account(s) to query\n --wallet_id=<wallet_id> : (str) restrict results to specific wallet\n --page=<page> : (int) page to return for paginating\n --page_size=<page_size> : (int) number of items on page for pagination\n --include_total : (bool) calculate total number of items and pages\n\nReturns:\n (Paginated[Output]) unspent outputs\n {\n \"page\": \"Page number of the current items.\",\n \"page_size\": \"Number of items to show on a page.\",\n \"total_pages\": \"Total number of pages.\",\n \"total_items\": \"Total number of items.\",\n \"items\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ]\n }" + "help": "List unspent transaction outputs\n\nUsage:\n utxo_list\n [--type=<type>...] [--txid=<txid>...] [--claim_id=<claim_id>...]\n [--channel_id=<channel_id>...] [--name=<name>...] [--is_spent]\n [--is_not_spent] [--is_my_input_or_output] [--is_my_output]\n [--is_not_my_output] [--is_my_input] [--is_not_my_input]\n [--exclude_internal_transfers] [--account_id=<account_id>...]\n [--wallet_id=<wallet_id>] [--page=<page>] [--page_size=<page_size>]\n [--include_total]\n\nOptions:\n --type=<type> : (str, list) claim type: stream, channel, support,\n purchase, collection, repost, other\n --txid=<txid> : (str, list) transaction id of outputs\n --claim_id=<claim_id> : (str, list) claim id\n --channel_id=<channel_id> : (str, list) claims in this channel\n --name=<name> : (str, list) claim name\n --is_spent : (bool) only show spent txos\n --is_not_spent : (bool) only show not spent txos\n --is_my_input_or_output : (bool) txos which have your inputs or your outputs, if\n using this flag the other related flags are ignored\n (--is_my_output, --is_my_input, etc)\n --is_my_output : (bool) show outputs controlled by you\n --is_not_my_output : (bool) show outputs not controlled by you\n --is_my_input : (bool) show outputs created by you\n --is_not_my_input : (bool) show outputs not created by you\n --exclude_internal_transfers : (bool) excludes any outputs that are exactly this\n combination: \"--is_my_input --is_my_output --type=other\" this allows to exclude \"change\"\n payments, this flag can be used in combination with\n any of the other flags\n --account_id=<account_id> : (str, list) id(s) of the account(s) to query\n --wallet_id=<wallet_id> : (str) restrict results to specific wallet\n --page=<page> : (int) page to return for paginating\n --page_size=<page_size> : (int) number of items on page for pagination\n --include_total : (bool) calculate total number of items and pages\n\nReturns:\n (Paginated[Output]) unspent outputs\n {\n \"page\": \"Page number of the current items.\",\n \"page_size\": \"Number of items to show on a page.\",\n \"total_pages\": \"Total number of pages.\",\n \"total_items\": \"Total number of items.\",\n \"items\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ]\n }" }, "utxo_release": { "name": "release", diff --git a/tests/unit/service/test_parser.py b/tests/unit/service/test_parser.py index 50268542f..3806dbc6a 100644 --- a/tests/unit/service/test_parser.py +++ b/tests/unit/service/test_parser.py @@ -318,7 +318,7 @@ Options: --angry=<angry> : (int) [default: 4] Returns: - (Wallet) + (Wallet) { "id": "wallet_id", "name": "optional wallet name" From c981c767b9cc3f7a3c901e4fda5e432e6d747166 Mon Sep 17 00:00:00 2001 From: Victor Shyba <victor.shyba@gmail.com> Date: Fri, 4 Sep 2020 00:35:38 -0300 Subject: [PATCH 07/21] raise instead of implicit deduplication of arguments --- lbry/service/parser.py | 2 +- tests/unit/service/test_parser.py | 40 ++++++++++++++++--------------- 2 files changed, 22 insertions(+), 20 deletions(-) diff --git a/lbry/service/parser.py b/lbry/service/parser.py index 5b8247e03..f7f9561b3 100644 --- a/lbry/service/parser.py +++ b/lbry/service/parser.py @@ -159,7 +159,7 @@ def parse_method(method, expanders: dict) -> dict: raise Exception(f"Expander '{expander_name}' not found, used by {d['name']}.") for expanded in expanders[expander_name]: if expanded['name'] in known_names: - continue + raise Exception(f"Expander '{expander_name}' argument repeated: {expanded['name']}.") d['arguments'].append(expanded) d['kwargs'].append(expanded) known_names.add(expanded['name']) diff --git a/tests/unit/service/test_parser.py b/tests/unit/service/test_parser.py index 3806dbc6a..5507e3b60 100644 --- a/tests/unit/service/test_parser.py +++ b/tests/unit/service/test_parser.py @@ -14,10 +14,10 @@ def test_kwargs(somevalue=1): @expander def another_test_kwargs( - somevalue=1, - repeated=2, - bad_description=3, # using linebreaks makes docopt very very --angry - angry=4 + somevalue=1, + repeated=2, + bad_description=3, # using linebreaks makes docopt very very --angry + angry=4 ): pass @@ -48,18 +48,6 @@ class FakeAPI: def thing_update(self, value1: str) -> Wallet: # updated wallet """update command doc""" - def thing_search( - self, - query='a', - **test_and_another_test_kwargs) -> Wallet: - """ - search command doc - - Usage: - thing search [--query=<query>] - {kwargs} - """ - def thing_delete(self, value1: str, **tx_and_pagination_kwargs) -> Wallet: # deleted thing """ delete command doc @@ -84,13 +72,27 @@ class FakeAPI: """ +class BadAPI(FakeAPI): + def thing_search( + self, + query='a', + **test_and_another_test_kwargs) -> Wallet: + """ + search command doc + + Usage: + thing search [--query=<query>] + {kwargs} + """ + + class TestParser(TestCase): maxDiff = None def test_parse_does_not_duplicate_arguments(self): - parsed = parse_method(FakeAPI.thing_search, get_expanders()) - names = [arg['name'] for arg in parsed['arguments']] - self.assertEqual(len(names), len(set(names))) + with self.assertRaises(Exception) as exc: + parse_method(BadAPI.thing_search, get_expanders()) + self.assertEqual(exc.exception.args[0], "Expander 'another_test' argument repeated: thing_search.") def test_parse_method(self): expanders = get_expanders() From 42b7f8ff714b41603c309cb82e33025f4b519d8c Mon Sep 17 00:00:00 2001 From: Victor Shyba <victor.shyba@gmail.com> Date: Fri, 4 Sep 2020 00:42:52 -0300 Subject: [PATCH 08/21] raise when -- ends up in a continuation line instead of auto fixing --- lbry/service/parser.py | 5 ++-- tests/unit/service/test_parser.py | 38 +++++++++++-------------------- 2 files changed, 15 insertions(+), 28 deletions(-) diff --git a/lbry/service/parser.py b/lbry/service/parser.py index f7f9561b3..a904c86f2 100644 --- a/lbry/service/parser.py +++ b/lbry/service/parser.py @@ -218,9 +218,8 @@ def generate_options(method, indent) -> List[str]: # dont break on -- or docopt will parse as a new option for line_number, line in enumerate(wrapped): if line.strip().startswith('--'): - lines[-1] = lines[-1] + ' ' + line.strip() - else: - lines.append(f"{' ' * len(left)} {line}") + raise Exception(f"Continuation line starts with -- on {method['cli']}: \"{line.strip()}\"") + lines.append(f"{' ' * len(left)} {line}") options.extend(lines) return options diff --git a/tests/unit/service/test_parser.py b/tests/unit/service/test_parser.py index 5507e3b60..7e5db9242 100644 --- a/tests/unit/service/test_parser.py +++ b/tests/unit/service/test_parser.py @@ -45,6 +45,9 @@ class FakeAPI: ) -> Paginated[Wallet]: # list of wallets """list command doc""" + def thing_save(self, **another_test_kwargs): + """save command doc""" + def thing_update(self, value1: str) -> Wallet: # updated wallet """update command doc""" @@ -89,11 +92,20 @@ class BadAPI(FakeAPI): class TestParser(TestCase): maxDiff = None - def test_parse_does_not_duplicate_arguments(self): + def test_parse_does_not_allow_duplicate_arguments(self): with self.assertRaises(Exception) as exc: parse_method(BadAPI.thing_search, get_expanders()) self.assertEqual(exc.exception.args[0], "Expander 'another_test' argument repeated: thing_search.") + def test_parse_does_not_allow_line_break_with_two_dashes(self): + # breaking with two dashes breaks docopt parsing + with self.assertRaises(Exception) as exc: + get_api_definitions(FakeAPI) + self.assertEqual( + exc.exception.args[0], + "Continuation line starts with -- on thing save: \"--angry [default: 3]\"" + ) + def test_parse_method(self): expanders = get_expanders() self.assertEqual( @@ -301,27 +313,3 @@ class TestGenerator(TestCase): (str) cheese foo bar""") ) - - def test_parse_does_not_break_with_two_dashes(self): - # breaking with two dashes breaks docopt parsing - definitions = get_api_definitions(FakeAPI) - self.assertEqual(definitions['commands']['thing_search']['help'], """search command doc - -Usage: - thing search [--query=<query>] - [--somevalue=<somevalue>] [--repeated=<repeated>] - [--bad_description=<bad_description>] [--angry=<angry>] - -Options: - --query=<query> : (str) [default: 'a'] - --somevalue=<somevalue> : (int) [default: 1] - --repeated=<repeated> : (int) [default: 2] - --bad_description=<bad_description> : (int) using linebreaks makes docopt very very --angry [default: 3] - --angry=<angry> : (int) [default: 4] - -Returns: - (Wallet) - { - "id": "wallet_id", - "name": "optional wallet name" - }""") From 60c333c6e2993eaaf792b8d48109693a31273864 Mon Sep 17 00:00:00 2001 From: Victor Shyba <victor.shyba@gmail.com> Date: Fri, 4 Sep 2020 00:58:08 -0300 Subject: [PATCH 09/21] stream filter already have signed filter --- lbry/service/api.py | 6 +++--- lbry/service/parser.py | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lbry/service/api.py b/lbry/service/api.py index 2b0bcdb27..730672872 100644 --- a/lbry/service/api.py +++ b/lbry/service/api.py @@ -1548,7 +1548,7 @@ class API: is_spent=False, # shows previous claim updates and abandons resolve=False, # resolves each claim to provide additional metadata include_received_tips=False, # calculate the amount of tips recieved for claim outputs - **claim_filter_and_signed_filter_and_stream_filter_and_pagination_kwargs + **claim_filter_and_stream_filter_and_pagination_kwargs ) -> Paginated[Output]: # streams and channels in wallet """ List my stream and channel claims. @@ -1603,7 +1603,7 @@ class API: # 'support_amount', 'trending_group', 'trending_mixed', 'trending_local', # 'trending_global', 'activation_height' protobuf=False, # protobuf encoded result - **claim_filter_and_signed_filter_and_stream_filter_and_pagination_kwargs + **claim_filter_and_stream_filter_and_pagination_kwargs ) -> Paginated[Output]: # search results """ Search for stream and channel claims on the blockchain. @@ -1629,7 +1629,7 @@ class API: """ claim_filter_dict, kwargs = pop_kwargs('claim_filter', claim_filter_kwargs( - **claim_filter_and_signed_filter_and_stream_filter_and_pagination_kwargs + **claim_filter_and_stream_filter_and_pagination_kwargs )) pagination, kwargs = pop_kwargs('pagination', pagination_kwargs(**kwargs)) wallet = self.wallets.get_or_default(wallet_id) diff --git a/lbry/service/parser.py b/lbry/service/parser.py index a904c86f2..70e1e6071 100644 --- a/lbry/service/parser.py +++ b/lbry/service/parser.py @@ -216,7 +216,7 @@ def generate_options(method, indent) -> List[str]: wrapped = textwrap.wrap(text, LINE_WIDTH-len(left)) lines = [f"{left}{wrapped.pop(0)}"] # dont break on -- or docopt will parse as a new option - for line_number, line in enumerate(wrapped): + for line in wrapped: if line.strip().startswith('--'): raise Exception(f"Continuation line starts with -- on {method['cli']}: \"{line.strip()}\"") lines.append(f"{' ' * len(left)} {line}") From f775b0ed5571189c36aecc34ef3357a855872969 Mon Sep 17 00:00:00 2001 From: Victor Shyba <victor.shyba@gmail.com> Date: Fri, 4 Sep 2020 01:20:27 -0300 Subject: [PATCH 10/21] fix all comments with line breaks starting with -- --- lbry/service/api.py | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/lbry/service/api.py b/lbry/service/api.py index 730672872..ff25e9010 100644 --- a/lbry/service/api.py +++ b/lbry/service/api.py @@ -119,7 +119,6 @@ def pagination_kwargs( @expander def tx_kwargs( - wallet_id: str = None, # restrict operation to specific wallet change_account_id: str = None, # account to send excess change (LBC) fund_account_id: StrOrList = None, # accounts to fund the transaction preview=False, # do not broadcast the transaction @@ -154,14 +153,14 @@ def claim_kwargs( # "COUNTRY:STATE:CITY:CODE:LATITUDE:LONGITUDE" # making sure to include colon for blank values, for # example to provide only the city: - # ... --locations="::Manchester" + # ...--locations="::Manchester" # with all values set: - # ... --locations="US:NH:Manchester:03101:42.990605:-71.460989" + # ...--locations="US:NH:Manchester:03101:42.990605:-71.460989" # optionally, you can just pass the "LATITUDE:LONGITUDE": - # ... --locations="42.990605:-71.460989" + # ...--locations="42.990605:-71.460989" # finally, you can also pass JSON string of dictionary # on the command line as you would via JSON RPC - # ... --locations="{'country': 'US', 'state': 'NH'}" + # ...--locations="{'country': 'US', 'state': 'NH'}" account_id: str = None, # account to hold the claim claim_address: str = None, # specific address where the claim is held, if not specified # it will be determined automatically from the account @@ -293,10 +292,10 @@ def signed_filter_kwargs( # see --channel_id if you need to filter by # multiple channels at the same time, # includes results with invalid signatures, - # use in conjunction with --valid_channel_signature + # use in conjunction with "--valid_channel_signature" channel_id: StrOrList = None, # signed by any of these channels including invalid signatures, # implies --has_channel_signature, - # use in conjunction with --valid_channel_signature + # use in conjunction with "--valid_channel_signature" not_channel_id: StrOrList = None, # exclude everything signed by any of these channels has_channel_signature=False, # results with a channel signature (valid or invalid) valid_channel_signature=False, # results with a valid channel signature or no signature, @@ -352,17 +351,16 @@ def txo_filter_kwargs( is_not_spent=False, # only show not spent txos is_my_input_or_output=False, # txos which have your inputs or your outputs, # if using this flag the other related flags - # are ignored (--is_my_output, --is_my_input, etc) + # are ignored. ("--is_my_output", "--is_my_input", etc) is_my_output=False, # show outputs controlled by you is_not_my_output=False, # show outputs not controlled by you is_my_input=False, # show outputs created by you is_not_my_input=False, # show outputs not created by you exclude_internal_transfers=False, # excludes any outputs that are exactly this combination: - # "--is_my_input --is_my_output --type=other" + # "--is_my_input" + "--is_my_output" + "--type=other" # this allows to exclude "change" payments, this # flag can be used in combination with any of the other flags account_id: StrOrList = None, # id(s) of the account(s) to query - wallet_id: str = None, # restrict results to specific wallet ): pass @@ -2789,6 +2787,7 @@ class API: self, batch_size=500, # number of txos to spend per transactions include_full_tx=False, # include entire tx in output and not just the txid + wallet_id: str = None, # restrict results to specific wallet **txo_filter_and_tx_kwargs ) -> List[Transaction]: """ @@ -2839,9 +2838,9 @@ class API: self, days_back=0, # number of days back from today # (not compatible with --start_day, --days_after, --end_day) - start_day: str = None, # start on specific date (YYYY-MM-DD) (instead of --days_back) - days_after: int = None, # end number of days after --start_day (instead of --end_day) - end_day: str = None, # end on specific date (YYYY-MM-DD) (instead of --days_after) + start_day: str = None, # start on specific date (format: YYYY-MM-DD) (instead of --days_back) + days_after: int = None, # end number of days after --start_day (instead of using --end_day) + end_day: str = None, # end on specific date (format: YYYY-MM-DD) (instead of --days_after) **txo_filter_and_pagination_kwargs ) -> List: """ From d89b07461528356bba12320595e7efe64de1e5a5 Mon Sep 17 00:00:00 2001 From: Victor Shyba <victor.shyba@gmail.com> Date: Fri, 4 Sep 2020 01:20:39 -0300 Subject: [PATCH 11/21] bump metadata.py --- lbry/service/metadata.py | 785 +++++++++++++-------------------------- 1 file changed, 256 insertions(+), 529 deletions(-) diff --git a/lbry/service/metadata.py b/lbry/service/metadata.py index 07693063c..199830432 100644 --- a/lbry/service/metadata.py +++ b/lbry/service/metadata.py @@ -1082,13 +1082,6 @@ interface = { ], "type": "str" }, - { - "name": "wallet_id", - "desc": [ - "restrict operation to specific wallet" - ], - "type": "str" - }, { "name": "change_account_id", "desc": [ @@ -1194,13 +1187,6 @@ interface = { ], "type": "str" }, - { - "name": "wallet_id", - "desc": [ - "restrict operation to specific wallet" - ], - "type": "str" - }, { "name": "change_account_id", "desc": [ @@ -1234,7 +1220,7 @@ interface = { ], "group": "channel", "cli": "channel abandon", - "help": "Abandon one of my channel claims.\n\nUsage:\n channel abandon\n [--claim_id=<claim_id>] [--txid=<txid>] [--nout=<nout>]\n [--account_id=<account_id>] [--wallet_id=<wallet_id>]\n [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --claim_id=<claim_id> : (str) claim_id of the claim to abandon\n --txid=<txid> : (str) txid of the claim to abandon\n --nout=<nout> : (int) nout of the claim to abandon\n [default: 0]\n --account_id=<account_id> : (str) restrict operation to specific\n account, otherwise all accounts in wallet\n --wallet_id=<wallet_id> : (str) restrict operation to specific wallet\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) transaction abandoning the channel\n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" + "help": "Abandon one of my channel claims.\n\nUsage:\n channel abandon\n [--claim_id=<claim_id>] [--txid=<txid>] [--nout=<nout>]\n [--account_id=<account_id>] [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --claim_id=<claim_id> : (str) claim_id of the claim to abandon\n --txid=<txid> : (str) txid of the claim to abandon\n --nout=<nout> : (int) nout of the claim to abandon\n [default: 0]\n --account_id=<account_id> : (str) restrict operation to specific\n account, otherwise all accounts in wallet\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) transaction abandoning the channel\n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" }, "channel_create": { "name": "create", @@ -1349,14 +1335,14 @@ interface = { "\"COUNTRY:STATE:CITY:CODE:LATITUDE:LONGITUDE\"", "making sure to include colon for blank values, for", "example to provide only the city:", - "... --locations=\"::Manchester\"", + "...--locations=\"::Manchester\"", "with all values set:", - "... --locations=\"US:NH:Manchester:03101:42.990605:-71.460989\"", + "...--locations=\"US:NH:Manchester:03101:42.990605:-71.460989\"", "optionally, you can just pass the \"LATITUDE:LONGITUDE\":", - "... --locations=\"42.990605:-71.460989\"", + "...--locations=\"42.990605:-71.460989\"", "finally, you can also pass JSON string of dictionary", "on the command line as you would via JSON RPC", - "... --locations=\"{'country': 'US', 'state': 'NH'}\"" + "...--locations=\"{'country': 'US', 'state': 'NH'}\"" ], "type": "str, list" }, @@ -1389,13 +1375,6 @@ interface = { ], "type": "str" }, - { - "name": "wallet_id", - "desc": [ - "restrict operation to specific wallet" - ], - "type": "str" - }, { "name": "change_account_id", "desc": [ @@ -1551,14 +1530,14 @@ interface = { "\"COUNTRY:STATE:CITY:CODE:LATITUDE:LONGITUDE\"", "making sure to include colon for blank values, for", "example to provide only the city:", - "... --locations=\"::Manchester\"", + "...--locations=\"::Manchester\"", "with all values set:", - "... --locations=\"US:NH:Manchester:03101:42.990605:-71.460989\"", + "...--locations=\"US:NH:Manchester:03101:42.990605:-71.460989\"", "optionally, you can just pass the \"LATITUDE:LONGITUDE\":", - "... --locations=\"42.990605:-71.460989\"", + "...--locations=\"42.990605:-71.460989\"", "finally, you can also pass JSON string of dictionary", "on the command line as you would via JSON RPC", - "... --locations=\"{'country': 'US', 'state': 'NH'}\"" + "...--locations=\"{'country': 'US', 'state': 'NH'}\"" ], "type": "str, list" }, @@ -1591,13 +1570,6 @@ interface = { ], "type": "str" }, - { - "name": "wallet_id", - "desc": [ - "restrict operation to specific wallet" - ], - "type": "str" - }, { "name": "change_account_id", "desc": [ @@ -1631,7 +1603,7 @@ interface = { ], "group": "channel", "cli": "channel create", - "help": "Create a new channel by generating a channel private key and establishing an '@' prefixed claim.\n\nUsage:\n channel create (<name>) (<bid> | --bid=<bid>) [--allow_duplicate_name]\n [--email=<email>] [--website_url=<website_url>]\n [--cover_url=<cover_url>] [--featured=<featured>...] [--title=<title>]\n [--description=<description>] [--thumbnail_url=<thumbnail_url>]\n [--tag=<tag>...] [--language=<language>...] [--location=<location>...]\n [--account_id=<account_id>] [--claim_address=<claim_address>]\n [--channel_id=<channel_id>] [--channel_name=<channel_name>]\n [--wallet_id=<wallet_id>] [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --name=<name> : (str) name of the channel prefixed with '@'\n --bid=<bid> : (str) amount to back the channel\n --allow_duplicate_name : (bool) create new channel even if one\n already exists with given name\n --email=<email> : (str) email of channel owner\n --website_url=<website_url> : (str) website url\n --cover_url=<cover_url> : (str) url to cover image\n --featured=<featured> : (str, list) claim_id(s) of featured content\n in channel\n --title=<title> : (str)\n --description=<description> : (str)\n --thumbnail_url=<thumbnail_url> : (str) url to thumbnail image\n --tag=<tag> : (str, list)\n --language=<language> : (str, list) languages used by the channel,\n using RFC 5646 format, eg: for English\n `--language=en` for Spanish (Spain)\n `--language=es-ES` for Spanish (Mexican)\n `--language=es-MX` for Chinese (Simplified)\n `--language=zh-Hans` for Chinese\n (Traditional) `--language=zh-Hant`\n --location=<location> : (str, list) locations of the channel,\n consisting of 2 letter `country` code and a\n `state`, `city` and a postal `code` along\n with a `latitude` and `longitude`. for JSON\n RPC: pass a dictionary with aforementioned\n attributes as keys, eg: ... \"locations\":\n [{'country': 'US', 'state': 'NH'}] ... for\n command line: pass a colon delimited list\n with values in the following order: \"COUNTR\n Y:STATE:CITY:CODE:LATITUDE:LONGITUDE\"\n making sure to include colon for blank\n values, for example to provide only the\n city: ... --locations=\"::Manchester\" with\n all values set: ... --locations=\"US:NH:Manc\n hester:03101:42.990605:-71.460989\"\n optionally, you can just pass the\n \"LATITUDE:LONGITUDE\": ... --locations=\"42.990605:-71.460989\" finally,\n you can also pass JSON string of dictionary\n on the command line as you would via JSON\n RPC ... --locations=\"{'country': 'US',\n 'state': 'NH'}\"\n --account_id=<account_id> : (str) account to hold the claim\n --claim_address=<claim_address> : (str) specific address where the claim is\n held, if not specified it will be\n determined automatically from the account\n --channel_id=<channel_id> : (str) claim id of the publishing channel\n --channel_name=<channel_name> : (str) name of publishing channel\n --wallet_id=<wallet_id> : (str) restrict operation to specific wallet\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) new channel transaction\n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" + "help": "Create a new channel by generating a channel private key and establishing an '@' prefixed claim.\n\nUsage:\n channel create (<name>) (<bid> | --bid=<bid>) [--allow_duplicate_name]\n [--email=<email>] [--website_url=<website_url>]\n [--cover_url=<cover_url>] [--featured=<featured>...] [--title=<title>]\n [--description=<description>] [--thumbnail_url=<thumbnail_url>]\n [--tag=<tag>...] [--language=<language>...] [--location=<location>...]\n [--account_id=<account_id>] [--claim_address=<claim_address>]\n [--channel_id=<channel_id>] [--channel_name=<channel_name>]\n [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --name=<name> : (str) name of the channel prefixed with '@'\n --bid=<bid> : (str) amount to back the channel\n --allow_duplicate_name : (bool) create new channel even if one\n already exists with given name\n --email=<email> : (str) email of channel owner\n --website_url=<website_url> : (str) website url\n --cover_url=<cover_url> : (str) url to cover image\n --featured=<featured> : (str, list) claim_id(s) of featured content\n in channel\n --title=<title> : (str)\n --description=<description> : (str)\n --thumbnail_url=<thumbnail_url> : (str) url to thumbnail image\n --tag=<tag> : (str, list)\n --language=<language> : (str, list) languages used by the channel,\n using RFC 5646 format, eg: for English\n `--language=en` for Spanish (Spain)\n `--language=es-ES` for Spanish (Mexican)\n `--language=es-MX` for Chinese (Simplified)\n `--language=zh-Hans` for Chinese\n (Traditional) `--language=zh-Hant`\n --location=<location> : (str, list) locations of the channel,\n consisting of 2 letter `country` code and a\n `state`, `city` and a postal `code` along\n with a `latitude` and `longitude`. for JSON\n RPC: pass a dictionary with aforementioned\n attributes as keys, eg: ... \"locations\":\n [{'country': 'US', 'state': 'NH'}] ... for\n command line: pass a colon delimited list\n with values in the following order:\n \"COUNTRY:STATE:CITY:CODE:LATITUDE:LONGITUDE\"\n making sure to include colon for blank\n values, for example to provide only the\n city: ...--locations=\"::Manchester\" with\n all values set: ...--\n locations=\"US:NH:Manchester:03101:42.990605:-71.460989\"\n optionally, you can just pass the\n \"LATITUDE:LONGITUDE\": ...--\n locations=\"42.990605:-71.460989\" finally,\n you can also pass JSON string of dictionary\n on the command line as you would via JSON\n RPC ...--locations=\"{'country': 'US',\n 'state': 'NH'}\"\n --account_id=<account_id> : (str) account to hold the claim\n --claim_address=<claim_address> : (str) specific address where the claim is\n held, if not specified it will be\n determined automatically from the account\n --channel_id=<channel_id> : (str) claim id of the publishing channel\n --channel_name=<channel_name> : (str) name of publishing channel\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) new channel transaction\n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" }, "channel_export": { "name": "export", @@ -2251,14 +2223,14 @@ interface = { "\"COUNTRY:STATE:CITY:CODE:LATITUDE:LONGITUDE\"", "making sure to include colon for blank values, for", "example to provide only the city:", - "... --locations=\"::Manchester\"", + "...--locations=\"::Manchester\"", "with all values set:", - "... --locations=\"US:NH:Manchester:03101:42.990605:-71.460989\"", + "...--locations=\"US:NH:Manchester:03101:42.990605:-71.460989\"", "optionally, you can just pass the \"LATITUDE:LONGITUDE\":", - "... --locations=\"42.990605:-71.460989\"", + "...--locations=\"42.990605:-71.460989\"", "finally, you can also pass JSON string of dictionary", "on the command line as you would via JSON RPC", - "... --locations=\"{'country': 'US', 'state': 'NH'}\"" + "...--locations=\"{'country': 'US', 'state': 'NH'}\"" ], "type": "str, list" }, @@ -2326,13 +2298,6 @@ interface = { "default": False, "type": "bool" }, - { - "name": "wallet_id", - "desc": [ - "restrict operation to specific wallet" - ], - "type": "str" - }, { "name": "change_account_id", "desc": [ @@ -2504,14 +2469,14 @@ interface = { "\"COUNTRY:STATE:CITY:CODE:LATITUDE:LONGITUDE\"", "making sure to include colon for blank values, for", "example to provide only the city:", - "... --locations=\"::Manchester\"", + "...--locations=\"::Manchester\"", "with all values set:", - "... --locations=\"US:NH:Manchester:03101:42.990605:-71.460989\"", + "...--locations=\"US:NH:Manchester:03101:42.990605:-71.460989\"", "optionally, you can just pass the \"LATITUDE:LONGITUDE\":", - "... --locations=\"42.990605:-71.460989\"", + "...--locations=\"42.990605:-71.460989\"", "finally, you can also pass JSON string of dictionary", "on the command line as you would via JSON RPC", - "... --locations=\"{'country': 'US', 'state': 'NH'}\"" + "...--locations=\"{'country': 'US', 'state': 'NH'}\"" ], "type": "str, list" }, @@ -2579,13 +2544,6 @@ interface = { "default": False, "type": "bool" }, - { - "name": "wallet_id", - "desc": [ - "restrict operation to specific wallet" - ], - "type": "str" - }, { "name": "change_account_id", "desc": [ @@ -2619,7 +2577,7 @@ interface = { ], "group": "channel", "cli": "channel update", - "help": "Update an existing channel claim.\n\nUsage:\n channel update (<claim_id> | --claim_id=<claim_id>) [<bid> | --bid=<bid>]\n [--new_signing_key] [--clear_featured]\n [--new_signing_key] [--clear_featured] [--email=<email>]\n [--website_url=<website_url>] [--cover_url=<cover_url>]\n [--featured=<featured>...] [--title=<title>]\n [--description=<description>] [--thumbnail_url=<thumbnail_url>]\n [--tag=<tag>...] [--language=<language>...] [--location=<location>...]\n [--account_id=<account_id>] [--claim_address=<claim_address>]\n [--channel_id=<channel_id>] [--channel_name=<channel_name>] [--replace]\n [--clear_tags] [--clear_languages] [--clear_locations]\n [--wallet_id=<wallet_id>] [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --claim_id=<claim_id> : (str) claim_id of the channel to update\n --bid=<bid> : (str) update amount backing the channel\n --new_signing_key : (bool) generate a new signing key, will\n invalidate all previous publishes\n --clear_featured : (bool) clear existing featured content\n (prior to adding new ones)\n --email=<email> : (str) email of channel owner\n --website_url=<website_url> : (str) website url\n --cover_url=<cover_url> : (str) url to cover image\n --featured=<featured> : (str, list) claim_id(s) of featured content\n in channel\n --title=<title> : (str)\n --description=<description> : (str)\n --thumbnail_url=<thumbnail_url> : (str) url to thumbnail image\n --tag=<tag> : (str, list)\n --language=<language> : (str, list) languages used by the channel,\n using RFC 5646 format, eg: for English\n `--language=en` for Spanish (Spain)\n `--language=es-ES` for Spanish (Mexican)\n `--language=es-MX` for Chinese (Simplified)\n `--language=zh-Hans` for Chinese\n (Traditional) `--language=zh-Hant`\n --location=<location> : (str, list) locations of the channel,\n consisting of 2 letter `country` code and a\n `state`, `city` and a postal `code` along\n with a `latitude` and `longitude`. for JSON\n RPC: pass a dictionary with aforementioned\n attributes as keys, eg: ... \"locations\":\n [{'country': 'US', 'state': 'NH'}] ... for\n command line: pass a colon delimited list\n with values in the following order: \"COUNTR\n Y:STATE:CITY:CODE:LATITUDE:LONGITUDE\"\n making sure to include colon for blank\n values, for example to provide only the\n city: ... --locations=\"::Manchester\" with\n all values set: ... --locations=\"US:NH:Manc\n hester:03101:42.990605:-71.460989\"\n optionally, you can just pass the\n \"LATITUDE:LONGITUDE\": ... --locations=\"42.990605:-71.460989\" finally,\n you can also pass JSON string of dictionary\n on the command line as you would via JSON\n RPC ... --locations=\"{'country': 'US',\n 'state': 'NH'}\"\n --account_id=<account_id> : (str) account to hold the claim\n --claim_address=<claim_address> : (str) specific address where the claim is\n held, if not specified it will be\n determined automatically from the account\n --channel_id=<channel_id> : (str) claim id of the publishing channel\n --channel_name=<channel_name> : (str) name of publishing channel\n --replace : (bool) instead of modifying specific values\n on the claim, this will clear all existing\n values and only save passed in values,\n useful for form submissions where all\n values are always set\n --clear_tags : (bool) clear existing tags (prior to adding\n new ones)\n --clear_languages : (bool) clear existing languages (prior to\n adding new ones)\n --clear_locations : (bool) clear existing locations (prior to\n adding new ones)\n --wallet_id=<wallet_id> : (str) restrict operation to specific wallet\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) transaction updating the channel\n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" + "help": "Update an existing channel claim.\n\nUsage:\n channel update (<claim_id> | --claim_id=<claim_id>) [<bid> | --bid=<bid>]\n [--new_signing_key] [--clear_featured]\n [--new_signing_key] [--clear_featured] [--email=<email>]\n [--website_url=<website_url>] [--cover_url=<cover_url>]\n [--featured=<featured>...] [--title=<title>]\n [--description=<description>] [--thumbnail_url=<thumbnail_url>]\n [--tag=<tag>...] [--language=<language>...] [--location=<location>...]\n [--account_id=<account_id>] [--claim_address=<claim_address>]\n [--channel_id=<channel_id>] [--channel_name=<channel_name>] [--replace]\n [--clear_tags] [--clear_languages] [--clear_locations]\n [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --claim_id=<claim_id> : (str) claim_id of the channel to update\n --bid=<bid> : (str) update amount backing the channel\n --new_signing_key : (bool) generate a new signing key, will\n invalidate all previous publishes\n --clear_featured : (bool) clear existing featured content\n (prior to adding new ones)\n --email=<email> : (str) email of channel owner\n --website_url=<website_url> : (str) website url\n --cover_url=<cover_url> : (str) url to cover image\n --featured=<featured> : (str, list) claim_id(s) of featured content\n in channel\n --title=<title> : (str)\n --description=<description> : (str)\n --thumbnail_url=<thumbnail_url> : (str) url to thumbnail image\n --tag=<tag> : (str, list)\n --language=<language> : (str, list) languages used by the channel,\n using RFC 5646 format, eg: for English\n `--language=en` for Spanish (Spain)\n `--language=es-ES` for Spanish (Mexican)\n `--language=es-MX` for Chinese (Simplified)\n `--language=zh-Hans` for Chinese\n (Traditional) `--language=zh-Hant`\n --location=<location> : (str, list) locations of the channel,\n consisting of 2 letter `country` code and a\n `state`, `city` and a postal `code` along\n with a `latitude` and `longitude`. for JSON\n RPC: pass a dictionary with aforementioned\n attributes as keys, eg: ... \"locations\":\n [{'country': 'US', 'state': 'NH'}] ... for\n command line: pass a colon delimited list\n with values in the following order:\n \"COUNTRY:STATE:CITY:CODE:LATITUDE:LONGITUDE\"\n making sure to include colon for blank\n values, for example to provide only the\n city: ...--locations=\"::Manchester\" with\n all values set: ...--\n locations=\"US:NH:Manchester:03101:42.990605:-71.460989\"\n optionally, you can just pass the\n \"LATITUDE:LONGITUDE\": ...--\n locations=\"42.990605:-71.460989\" finally,\n you can also pass JSON string of dictionary\n on the command line as you would via JSON\n RPC ...--locations=\"{'country': 'US',\n 'state': 'NH'}\"\n --account_id=<account_id> : (str) account to hold the claim\n --claim_address=<claim_address> : (str) specific address where the claim is\n held, if not specified it will be\n determined automatically from the account\n --channel_id=<channel_id> : (str) claim id of the publishing channel\n --channel_name=<channel_name> : (str) name of publishing channel\n --replace : (bool) instead of modifying specific values\n on the claim, this will clear all existing\n values and only save passed in values,\n useful for form submissions where all\n values are always set\n --clear_tags : (bool) clear existing tags (prior to adding\n new ones)\n --clear_languages : (bool) clear existing languages (prior to\n adding new ones)\n --clear_locations : (bool) clear existing locations (prior to\n adding new ones)\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) transaction updating the channel\n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" }, "claim_list": { "name": "list", @@ -2822,6 +2780,41 @@ interface = { ], "type": "int" }, + { + "name": "stream_type", + "desc": [ + "filter by 'video', 'image', 'document', etc" + ], + "type": "str, list" + }, + { + "name": "media_type", + "desc": [ + "filter by 'video/mp4', 'image/png', etc" + ], + "type": "str, list" + }, + { + "name": "fee_currency", + "desc": [ + "specify fee currency# LBC, BTC, USD" + ], + "type": "str" + }, + { + "name": "fee_amount", + "desc": [ + "content download fee (supports equality constraints)" + ], + "type": "str" + }, + { + "name": "duration", + "desc": [ + "duration of video or audio in seconds (supports equality constraints)" + ], + "type": "int" + }, { "name": "channel", "desc": [ @@ -2830,7 +2823,7 @@ interface = { "see --channel_id if you need to filter by", "multiple channels at the same time,", "includes results with invalid signatures,", - "use in conjunction with --valid_channel_signature" + "use in conjunction with \"--valid_channel_signature\"" ], "type": "str" }, @@ -2839,7 +2832,7 @@ interface = { "desc": [ "signed by any of these channels including invalid signatures,", "implies --has_channel_signature,", - "use in conjunction with --valid_channel_signature" + "use in conjunction with \"--valid_channel_signature\"" ], "type": "str, list" }, @@ -2878,41 +2871,6 @@ interface = { "default": False, "type": "bool" }, - { - "name": "stream_type", - "desc": [ - "filter by 'video', 'image', 'document', etc" - ], - "type": "str, list" - }, - { - "name": "media_type", - "desc": [ - "filter by 'video/mp4', 'image/png', etc" - ], - "type": "str, list" - }, - { - "name": "fee_currency", - "desc": [ - "specify fee currency# LBC, BTC, USD" - ], - "type": "str" - }, - { - "name": "fee_amount", - "desc": [ - "content download fee (supports equality constraints)" - ], - "type": "str" - }, - { - "name": "duration", - "desc": [ - "duration of video or audio in seconds (supports equality constraints)" - ], - "type": "int" - }, { "name": "page", "desc": [ @@ -3119,6 +3077,41 @@ interface = { ], "type": "int" }, + { + "name": "stream_type", + "desc": [ + "filter by 'video', 'image', 'document', etc" + ], + "type": "str, list" + }, + { + "name": "media_type", + "desc": [ + "filter by 'video/mp4', 'image/png', etc" + ], + "type": "str, list" + }, + { + "name": "fee_currency", + "desc": [ + "specify fee currency# LBC, BTC, USD" + ], + "type": "str" + }, + { + "name": "fee_amount", + "desc": [ + "content download fee (supports equality constraints)" + ], + "type": "str" + }, + { + "name": "duration", + "desc": [ + "duration of video or audio in seconds (supports equality constraints)" + ], + "type": "int" + }, { "name": "channel", "desc": [ @@ -3127,7 +3120,7 @@ interface = { "see --channel_id if you need to filter by", "multiple channels at the same time,", "includes results with invalid signatures,", - "use in conjunction with --valid_channel_signature" + "use in conjunction with \"--valid_channel_signature\"" ], "type": "str" }, @@ -3136,7 +3129,7 @@ interface = { "desc": [ "signed by any of these channels including invalid signatures,", "implies --has_channel_signature,", - "use in conjunction with --valid_channel_signature" + "use in conjunction with \"--valid_channel_signature\"" ], "type": "str, list" }, @@ -3175,41 +3168,6 @@ interface = { "default": False, "type": "bool" }, - { - "name": "stream_type", - "desc": [ - "filter by 'video', 'image', 'document', etc" - ], - "type": "str, list" - }, - { - "name": "media_type", - "desc": [ - "filter by 'video/mp4', 'image/png', etc" - ], - "type": "str, list" - }, - { - "name": "fee_currency", - "desc": [ - "specify fee currency# LBC, BTC, USD" - ], - "type": "str" - }, - { - "name": "fee_amount", - "desc": [ - "content download fee (supports equality constraints)" - ], - "type": "str" - }, - { - "name": "duration", - "desc": [ - "duration of video or audio in seconds (supports equality constraints)" - ], - "type": "int" - }, { "name": "page", "desc": [ @@ -3235,7 +3193,7 @@ interface = { ], "group": "claim", "cli": "claim list", - "help": "List my stream and channel claims.\n\nUsage:\n claim list [--account_id=<account_id>] [--wallet_id=<wallet_id>]\n [--is_spent] [--resolve] [--include_received_tips]\n [--name=<name>...] [--claim_id=<claim_id>...] [--text=<text>]\n [--txid=<txid>] [--nout=<nout>] [--height=<height>]\n [--timestamp=<timestamp>] [--creation_height=<creation_height>]\n [--creation_timestamp=<creation_timestamp>] [--amount=<amount>]\n [--any_tag=<any_tag>...] [--all_tag=<all_tag>...] [--not_tag=<not_tag>...]\n [--any_language=<any_language>...] [--all_language=<all_language>...]\n [--not_language=<not_language>...] [--any_location=<any_location>...]\n [--all_location=<all_location>...] [--not_location=<not_location>...]\n [--release_time=<release_time>] [--channel=<channel>]\n [--channel_id=<channel_id>...] [--not_channel_id=<not_channel_id>...]\n [--has_channel_signature] [--valid_channel_signature]\n [--invalid_channel_signature] [--stream_type=<stream_type>...]\n [--media_type=<media_type>...] [--fee_currency=<fee_currency>]\n [--fee_amount=<fee_amount>] [--duration=<duration>] [--page=<page>]\n [--page_size=<page_size>] [--include_total]\n\nOptions:\n --claim_type=<claim_type> : (str) claim type: channel, stream,\n repost, collection\n --account_id=<account_id> : (str) restrict operation to specific\n account, otherwise all accounts in wallet\n --wallet_id=<wallet_id> : (str) restrict operation to specific\n wallet\n --is_spent : (bool) shows previous claim updates and\n abandons\n --resolve : (bool) resolves each claim to provide\n additional metadata\n --include_received_tips : (bool) calculate the amount of tips\n recieved for claim outputs\n --name=<name> : (str, list) claim name (normalized)\n --claim_id=<claim_id> : (str, list) full or partial claim id\n --text=<text> : (str) full text search\n --txid=<txid> : (str) transaction id\n --nout=<nout> : (int) position in the transaction\n --height=<height> : (int) last updated block height (supports\n equality constraints)\n --timestamp=<timestamp> : (int) last updated timestamp (supports\n equality constraints)\n --creation_height=<creation_height> : (int) created at block height (supports\n equality constraints)\n --creation_timestamp=<creation_timestamp> : (int) created at timestamp (supports\n equality constraints)\n --amount=<amount> : (str) claim amount (supports equality\n constraints)\n --any_tag=<any_tag> : (str, list) containing any of the tags\n --all_tag=<all_tag> : (str, list) containing every tag\n --not_tag=<not_tag> : (str, list) not containing any of these\n tags\n --any_language=<any_language> : (str, list) containing any of the\n languages\n --all_language=<all_language> : (str, list) containing every language\n --not_language=<not_language> : (str, list) not containing any of these\n languages\n --any_location=<any_location> : (str, list) containing any of the\n locations\n --all_location=<all_location> : (str, list) containing every location\n --not_location=<not_location> : (str, list) not containing any of these\n locations\n --release_time=<release_time> : (int) limit to claims self-described as\n having been released to the public on or\n after this UTC timestamp, when claim does\n not provide a release time the publish\n time is used instead (supports equality\n constraints)\n --channel=<channel> : (str) signed by this channel (argument is\n a URL which automatically gets resolved),\n see --channel_id if you need to filter by\n multiple channels at the same time,\n includes results with invalid signatures,\n use in conjunction with --valid_channel_signature\n --channel_id=<channel_id> : (str, list) signed by any of these\n channels including invalid signatures,\n implies --has_channel_signature, use in\n conjunction with --valid_channel_signature\n --not_channel_id=<not_channel_id> : (str, list) exclude everything signed by\n any of these channels\n --has_channel_signature : (bool) results with a channel signature\n (valid or invalid)\n --valid_channel_signature : (bool) results with a valid channel\n signature or no signature, use in\n conjunction with --has_channel_signature\n to only get results with valid signatures\n --invalid_channel_signature : (bool) results with invalid channel\n signature or no signature, use in\n conjunction with --has_channel_signature\n to only get results with invalid\n signatures\n --stream_type=<stream_type> : (str, list) filter by 'video', 'image',\n 'document', etc\n --media_type=<media_type> : (str, list) filter by 'video/mp4',\n 'image/png', etc\n --fee_currency=<fee_currency> : (str) specify fee currency# LBC, BTC, USD\n --fee_amount=<fee_amount> : (str) content download fee (supports\n equality constraints)\n --duration=<duration> : (int) duration of video or audio in\n seconds (supports equality constraints)\n --page=<page> : (int) page to return for paginating\n --page_size=<page_size> : (int) number of items on page for\n pagination\n --include_total : (bool) calculate total number of items\n and pages\n\nReturns:\n (Paginated[Output]) streams and channels in wallet\n {\n \"page\": \"Page number of the current items.\",\n \"page_size\": \"Number of items to show on a page.\",\n \"total_pages\": \"Total number of pages.\",\n \"total_items\": \"Total number of items.\",\n \"items\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ]\n }" + "help": "List my stream and channel claims.\n\nUsage:\n claim list [--account_id=<account_id>] [--wallet_id=<wallet_id>]\n [--is_spent] [--resolve] [--include_received_tips]\n [--name=<name>...] [--claim_id=<claim_id>...] [--text=<text>]\n [--txid=<txid>] [--nout=<nout>] [--height=<height>]\n [--timestamp=<timestamp>] [--creation_height=<creation_height>]\n [--creation_timestamp=<creation_timestamp>] [--amount=<amount>]\n [--any_tag=<any_tag>...] [--all_tag=<all_tag>...] [--not_tag=<not_tag>...]\n [--any_language=<any_language>...] [--all_language=<all_language>...]\n [--not_language=<not_language>...] [--any_location=<any_location>...]\n [--all_location=<all_location>...] [--not_location=<not_location>...]\n [--release_time=<release_time>] [--stream_type=<stream_type>...]\n [--media_type=<media_type>...] [--fee_currency=<fee_currency>]\n [--fee_amount=<fee_amount>] [--duration=<duration>] [--channel=<channel>]\n [--channel_id=<channel_id>...] [--not_channel_id=<not_channel_id>...]\n [--has_channel_signature] [--valid_channel_signature]\n [--invalid_channel_signature] [--page=<page>] [--page_size=<page_size>]\n [--include_total]\n\nOptions:\n --claim_type=<claim_type> : (str) claim type: channel, stream,\n repost, collection\n --account_id=<account_id> : (str) restrict operation to specific\n account, otherwise all accounts in wallet\n --wallet_id=<wallet_id> : (str) restrict operation to specific\n wallet\n --is_spent : (bool) shows previous claim updates and\n abandons\n --resolve : (bool) resolves each claim to provide\n additional metadata\n --include_received_tips : (bool) calculate the amount of tips\n recieved for claim outputs\n --name=<name> : (str, list) claim name (normalized)\n --claim_id=<claim_id> : (str, list) full or partial claim id\n --text=<text> : (str) full text search\n --txid=<txid> : (str) transaction id\n --nout=<nout> : (int) position in the transaction\n --height=<height> : (int) last updated block height (supports\n equality constraints)\n --timestamp=<timestamp> : (int) last updated timestamp (supports\n equality constraints)\n --creation_height=<creation_height> : (int) created at block height (supports\n equality constraints)\n --creation_timestamp=<creation_timestamp> : (int) created at timestamp (supports\n equality constraints)\n --amount=<amount> : (str) claim amount (supports equality\n constraints)\n --any_tag=<any_tag> : (str, list) containing any of the tags\n --all_tag=<all_tag> : (str, list) containing every tag\n --not_tag=<not_tag> : (str, list) not containing any of these\n tags\n --any_language=<any_language> : (str, list) containing any of the\n languages\n --all_language=<all_language> : (str, list) containing every language\n --not_language=<not_language> : (str, list) not containing any of these\n languages\n --any_location=<any_location> : (str, list) containing any of the\n locations\n --all_location=<all_location> : (str, list) containing every location\n --not_location=<not_location> : (str, list) not containing any of these\n locations\n --release_time=<release_time> : (int) limit to claims self-described as\n having been released to the public on or\n after this UTC timestamp, when claim does\n not provide a release time the publish\n time is used instead (supports equality\n constraints)\n --stream_type=<stream_type> : (str, list) filter by 'video', 'image',\n 'document', etc\n --media_type=<media_type> : (str, list) filter by 'video/mp4',\n 'image/png', etc\n --fee_currency=<fee_currency> : (str) specify fee currency# LBC, BTC, USD\n --fee_amount=<fee_amount> : (str) content download fee (supports\n equality constraints)\n --duration=<duration> : (int) duration of video or audio in\n seconds (supports equality constraints)\n --channel=<channel> : (str) signed by this channel (argument is\n a URL which automatically gets resolved),\n see --channel_id if you need to filter by\n multiple channels at the same time,\n includes results with invalid signatures,\n use in conjunction with \"--\n valid_channel_signature\"\n --channel_id=<channel_id> : (str, list) signed by any of these\n channels including invalid signatures,\n implies --has_channel_signature, use in\n conjunction with \"--\n valid_channel_signature\"\n --not_channel_id=<not_channel_id> : (str, list) exclude everything signed by\n any of these channels\n --has_channel_signature : (bool) results with a channel signature\n (valid or invalid)\n --valid_channel_signature : (bool) results with a valid channel\n signature or no signature, use in\n conjunction with --has_channel_signature\n to only get results with valid signatures\n --invalid_channel_signature : (bool) results with invalid channel\n signature or no signature, use in\n conjunction with --has_channel_signature\n to only get results with invalid\n signatures\n --page=<page> : (int) page to return for paginating\n --page_size=<page_size> : (int) number of items on page for\n pagination\n --include_total : (bool) calculate total number of items\n and pages\n\nReturns:\n (Paginated[Output]) streams and channels in wallet\n {\n \"page\": \"Page number of the current items.\",\n \"page_size\": \"Number of items to show on a page.\",\n \"total_pages\": \"Total number of pages.\",\n \"total_items\": \"Total number of items.\",\n \"items\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ]\n }" }, "claim_search": { "name": "search", @@ -3554,6 +3512,41 @@ interface = { ], "type": "int" }, + { + "name": "stream_type", + "desc": [ + "filter by 'video', 'image', 'document', etc" + ], + "type": "str, list" + }, + { + "name": "media_type", + "desc": [ + "filter by 'video/mp4', 'image/png', etc" + ], + "type": "str, list" + }, + { + "name": "fee_currency", + "desc": [ + "specify fee currency# LBC, BTC, USD" + ], + "type": "str" + }, + { + "name": "fee_amount", + "desc": [ + "content download fee (supports equality constraints)" + ], + "type": "str" + }, + { + "name": "duration", + "desc": [ + "duration of video or audio in seconds (supports equality constraints)" + ], + "type": "int" + }, { "name": "channel", "desc": [ @@ -3562,7 +3555,7 @@ interface = { "see --channel_id if you need to filter by", "multiple channels at the same time,", "includes results with invalid signatures,", - "use in conjunction with --valid_channel_signature" + "use in conjunction with \"--valid_channel_signature\"" ], "type": "str" }, @@ -3571,7 +3564,7 @@ interface = { "desc": [ "signed by any of these channels including invalid signatures,", "implies --has_channel_signature,", - "use in conjunction with --valid_channel_signature" + "use in conjunction with \"--valid_channel_signature\"" ], "type": "str, list" }, @@ -3610,41 +3603,6 @@ interface = { "default": False, "type": "bool" }, - { - "name": "stream_type", - "desc": [ - "filter by 'video', 'image', 'document', etc" - ], - "type": "str, list" - }, - { - "name": "media_type", - "desc": [ - "filter by 'video/mp4', 'image/png', etc" - ], - "type": "str, list" - }, - { - "name": "fee_currency", - "desc": [ - "specify fee currency# LBC, BTC, USD" - ], - "type": "str" - }, - { - "name": "fee_amount", - "desc": [ - "content download fee (supports equality constraints)" - ], - "type": "str" - }, - { - "name": "duration", - "desc": [ - "duration of video or audio in seconds (supports equality constraints)" - ], - "type": "int" - }, { "name": "page", "desc": [ @@ -3851,6 +3809,41 @@ interface = { ], "type": "int" }, + { + "name": "stream_type", + "desc": [ + "filter by 'video', 'image', 'document', etc" + ], + "type": "str, list" + }, + { + "name": "media_type", + "desc": [ + "filter by 'video/mp4', 'image/png', etc" + ], + "type": "str, list" + }, + { + "name": "fee_currency", + "desc": [ + "specify fee currency# LBC, BTC, USD" + ], + "type": "str" + }, + { + "name": "fee_amount", + "desc": [ + "content download fee (supports equality constraints)" + ], + "type": "str" + }, + { + "name": "duration", + "desc": [ + "duration of video or audio in seconds (supports equality constraints)" + ], + "type": "int" + }, { "name": "channel", "desc": [ @@ -3859,7 +3852,7 @@ interface = { "see --channel_id if you need to filter by", "multiple channels at the same time,", "includes results with invalid signatures,", - "use in conjunction with --valid_channel_signature" + "use in conjunction with \"--valid_channel_signature\"" ], "type": "str" }, @@ -3868,7 +3861,7 @@ interface = { "desc": [ "signed by any of these channels including invalid signatures,", "implies --has_channel_signature,", - "use in conjunction with --valid_channel_signature" + "use in conjunction with \"--valid_channel_signature\"" ], "type": "str, list" }, @@ -3907,41 +3900,6 @@ interface = { "default": False, "type": "bool" }, - { - "name": "stream_type", - "desc": [ - "filter by 'video', 'image', 'document', etc" - ], - "type": "str, list" - }, - { - "name": "media_type", - "desc": [ - "filter by 'video/mp4', 'image/png', etc" - ], - "type": "str, list" - }, - { - "name": "fee_currency", - "desc": [ - "specify fee currency# LBC, BTC, USD" - ], - "type": "str" - }, - { - "name": "fee_amount", - "desc": [ - "content download fee (supports equality constraints)" - ], - "type": "str" - }, - { - "name": "duration", - "desc": [ - "duration of video or audio in seconds (supports equality constraints)" - ], - "type": "int" - }, { "name": "page", "desc": [ @@ -3967,7 +3925,7 @@ interface = { ], "group": "claim", "cli": "claim search", - "help": "Search for stream and channel claims on the blockchain.\nArguments marked with \"supports equality constraints\" allow prepending the\nvalue with an equality constraint such as '>', '>=', '<' and '<='\neg. --height=\">400000\" would limit results to only claims above 400k block height.\n\nUsage:\n claim search\n [--is_controlling] [--public_key_id=<public_key_id>]\n [--creation_height=<creation_height>]\n [--activation_height=<activation_height>] [--expiration_height=<expiration_height>]\n [--effective_amount=<effective_amount>]\n [--support_amount=<support_amount>] [--trending_group=<trending_group>]\n [--trending_mixed=<trending_mixed>] [--trending_local=<trending_local>]\n [--trending_global=<trending_global]\n [--reposted_claim_id=<reposted_claim_id>] [--reposted=<reposted>]\n [--claim_type=<claim_type>] [--order_by=<order_by>...]\n [--wallet_id=<wallet_id>] [--include_purchase_receipt] [--include_is_my_output]\n [--protobuf]\n [--name=<name>...] [--claim_id=<claim_id>...] [--text=<text>]\n [--txid=<txid>] [--nout=<nout>] [--height=<height>]\n [--timestamp=<timestamp>] [--creation_height=<creation_height>]\n [--creation_timestamp=<creation_timestamp>] [--amount=<amount>]\n [--any_tag=<any_tag>...] [--all_tag=<all_tag>...]\n [--not_tag=<not_tag>...] [--any_language=<any_language>...]\n [--all_language=<all_language>...] [--not_language=<not_language>...]\n [--any_location=<any_location>...] [--all_location=<all_location>...]\n [--not_location=<not_location>...] [--release_time=<release_time>]\n [--channel=<channel>] [--channel_id=<channel_id>...]\n [--not_channel_id=<not_channel_id>...] [--has_channel_signature]\n [--valid_channel_signature] [--invalid_channel_signature]\n [--stream_type=<stream_type>...] [--media_type=<media_type>...]\n [--fee_currency=<fee_currency>] [--fee_amount=<fee_amount>]\n [--duration=<duration>] [--page=<page>] [--page_size=<page_size>]\n [--include_total]\n\nOptions:\n --wallet_id=<wallet_id> : (str) wallet to check for claim purchase\n reciepts\n --claim_type=<claim_type> : (str) claim type: channel, stream,\n repost, collection\n --include_purchase_receipt : (bool) lookup and include a receipt if\n this wallet has purchased the claim\n --include_is_my_output : (bool) lookup and include a boolean\n indicating if claim being resolved is\n yours\n --is_controlling : (bool) winning claims of their respective\n name\n --activation_height=<activation_height> : (int) height at which claim starts\n competing for name (supports equality\n constraints)\n --expiration_height=<expiration_height> : (int) height at which claim will expire\n (supports equality constraints)\n --support_amount=<support_amount> : (str) limit by supports and tips received\n (supports equality constraints)\n --effective_amount=<effective_amount> : (str) limit by total value (initial claim\n value plus all tips and supports\n received), this amount is blank until\n claim has reached activation height\n (supports equality constraints)\n --trending_group=<trending_group> : (int) group numbers 1 through 4\n representing the trending groups of the\n content: 4 means content is trending\n globally and independently, 3 means\n content is not trending globally but is\n trending independently (locally), 2 means\n it is trending globally but not\n independently and 1 means it's not\n trending globally or locally (supports\n equality constraints)\n --trending_mixed=<trending_mixed> : (int) trending amount taken from the\n global or local value depending on the\n trending group: 4 - global value, 3 -\n local value, 2 - global value, 1 - local\n value (supports equality constraints)\n --trending_local=<trending_local> : (int) trending value calculated relative\n only to the individual contents past\n history (supports equality constraints)\n --trending_global=<trending_global> : (int) trending value calculated relative\n to all trending content globally\n (supports equality constraints)\n --public_key_id=<public_key_id> : (str) only return channels having this\n public key id, this is the same key as\n used in the wallet file to map channel\n certificate private keys:\n {'public_key_id': 'private key'}\n --reposted_claim_id=<reposted_claim_id> : (str) all reposts of the specified\n original claim id\n --reposted=<reposted> : (int) claims reposted this many times\n (supports equality constraints)\n --order_by=<order_by> : (str, list) field to order by, default is\n descending order, to do an ascending\n order prepend ^ to the field name, eg.\n '^amount' available fields: 'name',\n 'height', 'release_time', 'publish_time',\n 'amount', 'effective_amount',\n 'support_amount', 'trending_group',\n 'trending_mixed', 'trending_local',\n 'trending_global', 'activation_height'\n --protobuf : (bool) protobuf encoded result\n --name=<name> : (str, list) claim name (normalized)\n --claim_id=<claim_id> : (str, list) full or partial claim id\n --text=<text> : (str) full text search\n --txid=<txid> : (str) transaction id\n --nout=<nout> : (int) position in the transaction\n --height=<height> : (int) last updated block height (supports\n equality constraints)\n --timestamp=<timestamp> : (int) last updated timestamp (supports\n equality constraints)\n --creation_height=<creation_height> : (int) created at block height (supports\n equality constraints)\n --creation_timestamp=<creation_timestamp> : (int) created at timestamp (supports\n equality constraints)\n --amount=<amount> : (str) claim amount (supports equality\n constraints)\n --any_tag=<any_tag> : (str, list) containing any of the tags\n --all_tag=<all_tag> : (str, list) containing every tag\n --not_tag=<not_tag> : (str, list) not containing any of these\n tags\n --any_language=<any_language> : (str, list) containing any of the\n languages\n --all_language=<all_language> : (str, list) containing every language\n --not_language=<not_language> : (str, list) not containing any of these\n languages\n --any_location=<any_location> : (str, list) containing any of the\n locations\n --all_location=<all_location> : (str, list) containing every location\n --not_location=<not_location> : (str, list) not containing any of these\n locations\n --release_time=<release_time> : (int) limit to claims self-described as\n having been released to the public on or\n after this UTC timestamp, when claim does\n not provide a release time the publish\n time is used instead (supports equality\n constraints)\n --channel=<channel> : (str) signed by this channel (argument is\n a URL which automatically gets resolved),\n see --channel_id if you need to filter by\n multiple channels at the same time,\n includes results with invalid signatures,\n use in conjunction with --valid_channel_signature\n --channel_id=<channel_id> : (str, list) signed by any of these\n channels including invalid signatures,\n implies --has_channel_signature, use in\n conjunction with --valid_channel_signature\n --not_channel_id=<not_channel_id> : (str, list) exclude everything signed by\n any of these channels\n --has_channel_signature : (bool) results with a channel signature\n (valid or invalid)\n --valid_channel_signature : (bool) results with a valid channel\n signature or no signature, use in\n conjunction with --has_channel_signature\n to only get results with valid signatures\n --invalid_channel_signature : (bool) results with invalid channel\n signature or no signature, use in\n conjunction with --has_channel_signature\n to only get results with invalid\n signatures\n --stream_type=<stream_type> : (str, list) filter by 'video', 'image',\n 'document', etc\n --media_type=<media_type> : (str, list) filter by 'video/mp4',\n 'image/png', etc\n --fee_currency=<fee_currency> : (str) specify fee currency# LBC, BTC, USD\n --fee_amount=<fee_amount> : (str) content download fee (supports\n equality constraints)\n --duration=<duration> : (int) duration of video or audio in\n seconds (supports equality constraints)\n --page=<page> : (int) page to return for paginating\n --page_size=<page_size> : (int) number of items on page for\n pagination\n --include_total : (bool) calculate total number of items\n and pages\n\nReturns:\n (Paginated[Output]) search results\n {\n \"page\": \"Page number of the current items.\",\n \"page_size\": \"Number of items to show on a page.\",\n \"total_pages\": \"Total number of pages.\",\n \"total_items\": \"Total number of items.\",\n \"items\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ]\n }" + "help": "Search for stream and channel claims on the blockchain.\nArguments marked with \"supports equality constraints\" allow prepending the\nvalue with an equality constraint such as '>', '>=', '<' and '<='\neg. --height=\">400000\" would limit results to only claims above 400k block height.\n\nUsage:\n claim search\n [--is_controlling] [--public_key_id=<public_key_id>]\n [--creation_height=<creation_height>]\n [--activation_height=<activation_height>] [--expiration_height=<expiration_height>]\n [--effective_amount=<effective_amount>]\n [--support_amount=<support_amount>] [--trending_group=<trending_group>]\n [--trending_mixed=<trending_mixed>] [--trending_local=<trending_local>]\n [--trending_global=<trending_global]\n [--reposted_claim_id=<reposted_claim_id>] [--reposted=<reposted>]\n [--claim_type=<claim_type>] [--order_by=<order_by>...]\n [--wallet_id=<wallet_id>] [--include_purchase_receipt] [--include_is_my_output]\n [--protobuf]\n [--name=<name>...] [--claim_id=<claim_id>...] [--text=<text>]\n [--txid=<txid>] [--nout=<nout>] [--height=<height>]\n [--timestamp=<timestamp>] [--creation_height=<creation_height>]\n [--creation_timestamp=<creation_timestamp>] [--amount=<amount>]\n [--any_tag=<any_tag>...] [--all_tag=<all_tag>...]\n [--not_tag=<not_tag>...] [--any_language=<any_language>...]\n [--all_language=<all_language>...] [--not_language=<not_language>...]\n [--any_location=<any_location>...] [--all_location=<all_location>...]\n [--not_location=<not_location>...] [--release_time=<release_time>]\n [--stream_type=<stream_type>...] [--media_type=<media_type>...]\n [--fee_currency=<fee_currency>] [--fee_amount=<fee_amount>]\n [--duration=<duration>] [--channel=<channel>]\n [--channel_id=<channel_id>...] [--not_channel_id=<not_channel_id>...]\n [--has_channel_signature] [--valid_channel_signature]\n [--invalid_channel_signature] [--page=<page>] [--page_size=<page_size>]\n [--include_total]\n\nOptions:\n --wallet_id=<wallet_id> : (str) wallet to check for claim purchase\n reciepts\n --claim_type=<claim_type> : (str) claim type: channel, stream,\n repost, collection\n --include_purchase_receipt : (bool) lookup and include a receipt if\n this wallet has purchased the claim\n --include_is_my_output : (bool) lookup and include a boolean\n indicating if claim being resolved is\n yours\n --is_controlling : (bool) winning claims of their respective\n name\n --activation_height=<activation_height> : (int) height at which claim starts\n competing for name (supports equality\n constraints)\n --expiration_height=<expiration_height> : (int) height at which claim will expire\n (supports equality constraints)\n --support_amount=<support_amount> : (str) limit by supports and tips received\n (supports equality constraints)\n --effective_amount=<effective_amount> : (str) limit by total value (initial claim\n value plus all tips and supports\n received), this amount is blank until\n claim has reached activation height\n (supports equality constraints)\n --trending_group=<trending_group> : (int) group numbers 1 through 4\n representing the trending groups of the\n content: 4 means content is trending\n globally and independently, 3 means\n content is not trending globally but is\n trending independently (locally), 2 means\n it is trending globally but not\n independently and 1 means it's not\n trending globally or locally (supports\n equality constraints)\n --trending_mixed=<trending_mixed> : (int) trending amount taken from the\n global or local value depending on the\n trending group: 4 - global value, 3 -\n local value, 2 - global value, 1 - local\n value (supports equality constraints)\n --trending_local=<trending_local> : (int) trending value calculated relative\n only to the individual contents past\n history (supports equality constraints)\n --trending_global=<trending_global> : (int) trending value calculated relative\n to all trending content globally\n (supports equality constraints)\n --public_key_id=<public_key_id> : (str) only return channels having this\n public key id, this is the same key as\n used in the wallet file to map channel\n certificate private keys:\n {'public_key_id': 'private key'}\n --reposted_claim_id=<reposted_claim_id> : (str) all reposts of the specified\n original claim id\n --reposted=<reposted> : (int) claims reposted this many times\n (supports equality constraints)\n --order_by=<order_by> : (str, list) field to order by, default is\n descending order, to do an ascending\n order prepend ^ to the field name, eg.\n '^amount' available fields: 'name',\n 'height', 'release_time', 'publish_time',\n 'amount', 'effective_amount',\n 'support_amount', 'trending_group',\n 'trending_mixed', 'trending_local',\n 'trending_global', 'activation_height'\n --protobuf : (bool) protobuf encoded result\n --name=<name> : (str, list) claim name (normalized)\n --claim_id=<claim_id> : (str, list) full or partial claim id\n --text=<text> : (str) full text search\n --txid=<txid> : (str) transaction id\n --nout=<nout> : (int) position in the transaction\n --height=<height> : (int) last updated block height (supports\n equality constraints)\n --timestamp=<timestamp> : (int) last updated timestamp (supports\n equality constraints)\n --creation_height=<creation_height> : (int) created at block height (supports\n equality constraints)\n --creation_timestamp=<creation_timestamp> : (int) created at timestamp (supports\n equality constraints)\n --amount=<amount> : (str) claim amount (supports equality\n constraints)\n --any_tag=<any_tag> : (str, list) containing any of the tags\n --all_tag=<all_tag> : (str, list) containing every tag\n --not_tag=<not_tag> : (str, list) not containing any of these\n tags\n --any_language=<any_language> : (str, list) containing any of the\n languages\n --all_language=<all_language> : (str, list) containing every language\n --not_language=<not_language> : (str, list) not containing any of these\n languages\n --any_location=<any_location> : (str, list) containing any of the\n locations\n --all_location=<all_location> : (str, list) containing every location\n --not_location=<not_location> : (str, list) not containing any of these\n locations\n --release_time=<release_time> : (int) limit to claims self-described as\n having been released to the public on or\n after this UTC timestamp, when claim does\n not provide a release time the publish\n time is used instead (supports equality\n constraints)\n --stream_type=<stream_type> : (str, list) filter by 'video', 'image',\n 'document', etc\n --media_type=<media_type> : (str, list) filter by 'video/mp4',\n 'image/png', etc\n --fee_currency=<fee_currency> : (str) specify fee currency# LBC, BTC, USD\n --fee_amount=<fee_amount> : (str) content download fee (supports\n equality constraints)\n --duration=<duration> : (int) duration of video or audio in\n seconds (supports equality constraints)\n --channel=<channel> : (str) signed by this channel (argument is\n a URL which automatically gets resolved),\n see --channel_id if you need to filter by\n multiple channels at the same time,\n includes results with invalid signatures,\n use in conjunction with \"--\n valid_channel_signature\"\n --channel_id=<channel_id> : (str, list) signed by any of these\n channels including invalid signatures,\n implies --has_channel_signature, use in\n conjunction with \"--\n valid_channel_signature\"\n --not_channel_id=<not_channel_id> : (str, list) exclude everything signed by\n any of these channels\n --has_channel_signature : (bool) results with a channel signature\n (valid or invalid)\n --valid_channel_signature : (bool) results with a valid channel\n signature or no signature, use in\n conjunction with --has_channel_signature\n to only get results with valid signatures\n --invalid_channel_signature : (bool) results with invalid channel\n signature or no signature, use in\n conjunction with --has_channel_signature\n to only get results with invalid\n signatures\n --page=<page> : (int) page to return for paginating\n --page_size=<page_size> : (int) number of items on page for\n pagination\n --include_total : (bool) calculate total number of items\n and pages\n\nReturns:\n (Paginated[Output]) search results\n {\n \"page\": \"Page number of the current items.\",\n \"page_size\": \"Number of items to show on a page.\",\n \"total_pages\": \"Total number of pages.\",\n \"total_items\": \"Total number of items.\",\n \"items\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ]\n }" }, "collection_abandon": { "name": "abandon", @@ -4010,13 +3968,6 @@ interface = { ], "type": "str" }, - { - "name": "wallet_id", - "desc": [ - "restrict operation to specific wallet" - ], - "type": "str" - }, { "name": "change_account_id", "desc": [ @@ -4122,13 +4073,6 @@ interface = { ], "type": "str" }, - { - "name": "wallet_id", - "desc": [ - "restrict operation to specific wallet" - ], - "type": "str" - }, { "name": "change_account_id", "desc": [ @@ -4162,7 +4106,7 @@ interface = { ], "group": "collection", "cli": "collection abandon", - "help": "Abandon one of my collection claims.\n\nUsage:\n collection abandon\n [--claim_id=<claim_id>] [--txid=<txid>] [--nout=<nout>]\n [--account_id=<account_id>] [--wallet_id=<wallet_id>]\n [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --claim_id=<claim_id> : (str) claim_id of the claim to abandon\n --txid=<txid> : (str) txid of the claim to abandon\n --nout=<nout> : (int) nout of the claim to abandon\n [default: 0]\n --account_id=<account_id> : (str) restrict operation to specific\n account, otherwise all accounts in wallet\n --wallet_id=<wallet_id> : (str) restrict operation to specific wallet\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) transaction abandoning the collection\n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" + "help": "Abandon one of my collection claims.\n\nUsage:\n collection abandon\n [--claim_id=<claim_id>] [--txid=<txid>] [--nout=<nout>]\n [--account_id=<account_id>]\n [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --claim_id=<claim_id> : (str) claim_id of the claim to abandon\n --txid=<txid> : (str) txid of the claim to abandon\n --nout=<nout> : (int) nout of the claim to abandon\n [default: 0]\n --account_id=<account_id> : (str) restrict operation to specific\n account, otherwise all accounts in wallet\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) transaction abandoning the collection\n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" }, "collection_create": { "name": "create", @@ -4257,14 +4201,14 @@ interface = { "\"COUNTRY:STATE:CITY:CODE:LATITUDE:LONGITUDE\"", "making sure to include colon for blank values, for", "example to provide only the city:", - "... --locations=\"::Manchester\"", + "...--locations=\"::Manchester\"", "with all values set:", - "... --locations=\"US:NH:Manchester:03101:42.990605:-71.460989\"", + "...--locations=\"US:NH:Manchester:03101:42.990605:-71.460989\"", "optionally, you can just pass the \"LATITUDE:LONGITUDE\":", - "... --locations=\"42.990605:-71.460989\"", + "...--locations=\"42.990605:-71.460989\"", "finally, you can also pass JSON string of dictionary", "on the command line as you would via JSON RPC", - "... --locations=\"{'country': 'US', 'state': 'NH'}\"" + "...--locations=\"{'country': 'US', 'state': 'NH'}\"" ], "type": "str, list" }, @@ -4297,13 +4241,6 @@ interface = { ], "type": "str" }, - { - "name": "wallet_id", - "desc": [ - "restrict operation to specific wallet" - ], - "type": "str" - }, { "name": "change_account_id", "desc": [ @@ -4429,14 +4366,14 @@ interface = { "\"COUNTRY:STATE:CITY:CODE:LATITUDE:LONGITUDE\"", "making sure to include colon for blank values, for", "example to provide only the city:", - "... --locations=\"::Manchester\"", + "...--locations=\"::Manchester\"", "with all values set:", - "... --locations=\"US:NH:Manchester:03101:42.990605:-71.460989\"", + "...--locations=\"US:NH:Manchester:03101:42.990605:-71.460989\"", "optionally, you can just pass the \"LATITUDE:LONGITUDE\":", - "... --locations=\"42.990605:-71.460989\"", + "...--locations=\"42.990605:-71.460989\"", "finally, you can also pass JSON string of dictionary", "on the command line as you would via JSON RPC", - "... --locations=\"{'country': 'US', 'state': 'NH'}\"" + "...--locations=\"{'country': 'US', 'state': 'NH'}\"" ], "type": "str, list" }, @@ -4469,13 +4406,6 @@ interface = { ], "type": "str" }, - { - "name": "wallet_id", - "desc": [ - "restrict operation to specific wallet" - ], - "type": "str" - }, { "name": "change_account_id", "desc": [ @@ -4509,7 +4439,7 @@ interface = { ], "group": "collection", "cli": "collection create", - "help": "Create a new collection.\n\nUsage:\n collection create (<name> | --name=<name>) (<bid> | --bid=<bid>)\n (<claims>... | --claims=<claims>...) [--allow_duplicate_name]\n [--title=<title>] [--description=<description>]\n [--thumbnail_url=<thumbnail_url>] [--tag=<tag>...]\n [--language=<language>...] [--location=<location>...]\n [--account_id=<account_id>] [--claim_address=<claim_address>]\n [--channel_id=<channel_id>] [--channel_name=<channel_name>]\n [--wallet_id=<wallet_id>] [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --name=<name> : (str) name for the stream (can only consist\n of a-z A-Z 0-9 and -(dash))\n --bid=<bid> : (str) amount to back the content\n --claims=<claims> : (str, list) claim ids to be included in the\n collection\n --allow_duplicate_name : (bool) create new collection even if one\n already exists with given name\n --title=<title> : (str)\n --description=<description> : (str)\n --thumbnail_url=<thumbnail_url> : (str) url to thumbnail image\n --tag=<tag> : (str, list)\n --language=<language> : (str, list) languages used by the channel,\n using RFC 5646 format, eg: for English\n `--language=en` for Spanish (Spain)\n `--language=es-ES` for Spanish (Mexican)\n `--language=es-MX` for Chinese (Simplified)\n `--language=zh-Hans` for Chinese\n (Traditional) `--language=zh-Hant`\n --location=<location> : (str, list) locations of the channel,\n consisting of 2 letter `country` code and a\n `state`, `city` and a postal `code` along\n with a `latitude` and `longitude`. for JSON\n RPC: pass a dictionary with aforementioned\n attributes as keys, eg: ... \"locations\":\n [{'country': 'US', 'state': 'NH'}] ... for\n command line: pass a colon delimited list\n with values in the following order: \"COUNTR\n Y:STATE:CITY:CODE:LATITUDE:LONGITUDE\"\n making sure to include colon for blank\n values, for example to provide only the\n city: ... --locations=\"::Manchester\" with\n all values set: ... --locations=\"US:NH:Manc\n hester:03101:42.990605:-71.460989\"\n optionally, you can just pass the\n \"LATITUDE:LONGITUDE\": ... --locations=\"42.990605:-71.460989\" finally,\n you can also pass JSON string of dictionary\n on the command line as you would via JSON\n RPC ... --locations=\"{'country': 'US',\n 'state': 'NH'}\"\n --account_id=<account_id> : (str) account to hold the claim\n --claim_address=<claim_address> : (str) specific address where the claim is\n held, if not specified it will be\n determined automatically from the account\n --channel_id=<channel_id> : (str) claim id of the publishing channel\n --channel_name=<channel_name> : (str) name of publishing channel\n --wallet_id=<wallet_id> : (str) restrict operation to specific wallet\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) \n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" + "help": "Create a new collection.\n\nUsage:\n collection create (<name> | --name=<name>) (<bid> | --bid=<bid>)\n (<claims>... | --claims=<claims>...) [--allow_duplicate_name]\n [--title=<title>] [--description=<description>]\n [--thumbnail_url=<thumbnail_url>] [--tag=<tag>...]\n [--language=<language>...] [--location=<location>...]\n [--account_id=<account_id>] [--claim_address=<claim_address>]\n [--channel_id=<channel_id>] [--channel_name=<channel_name>]\n [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --name=<name> : (str) name for the stream (can only consist\n of a-z A-Z 0-9 and -(dash))\n --bid=<bid> : (str) amount to back the content\n --claims=<claims> : (str, list) claim ids to be included in the\n collection\n --allow_duplicate_name : (bool) create new collection even if one\n already exists with given name\n --title=<title> : (str)\n --description=<description> : (str)\n --thumbnail_url=<thumbnail_url> : (str) url to thumbnail image\n --tag=<tag> : (str, list)\n --language=<language> : (str, list) languages used by the channel,\n using RFC 5646 format, eg: for English\n `--language=en` for Spanish (Spain)\n `--language=es-ES` for Spanish (Mexican)\n `--language=es-MX` for Chinese (Simplified)\n `--language=zh-Hans` for Chinese\n (Traditional) `--language=zh-Hant`\n --location=<location> : (str, list) locations of the channel,\n consisting of 2 letter `country` code and a\n `state`, `city` and a postal `code` along\n with a `latitude` and `longitude`. for JSON\n RPC: pass a dictionary with aforementioned\n attributes as keys, eg: ... \"locations\":\n [{'country': 'US', 'state': 'NH'}] ... for\n command line: pass a colon delimited list\n with values in the following order:\n \"COUNTRY:STATE:CITY:CODE:LATITUDE:LONGITUDE\"\n making sure to include colon for blank\n values, for example to provide only the\n city: ...--locations=\"::Manchester\" with\n all values set: ...--\n locations=\"US:NH:Manchester:03101:42.990605:-71.460989\"\n optionally, you can just pass the\n \"LATITUDE:LONGITUDE\": ...--\n locations=\"42.990605:-71.460989\" finally,\n you can also pass JSON string of dictionary\n on the command line as you would via JSON\n RPC ...--locations=\"{'country': 'US',\n 'state': 'NH'}\"\n --account_id=<account_id> : (str) account to hold the claim\n --claim_address=<claim_address> : (str) specific address where the claim is\n held, if not specified it will be\n determined automatically from the account\n --channel_id=<channel_id> : (str) claim id of the publishing channel\n --channel_name=<channel_name> : (str) name of publishing channel\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) \n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" }, "collection_list": { "name": "list", @@ -5136,14 +5066,14 @@ interface = { "\"COUNTRY:STATE:CITY:CODE:LATITUDE:LONGITUDE\"", "making sure to include colon for blank values, for", "example to provide only the city:", - "... --locations=\"::Manchester\"", + "...--locations=\"::Manchester\"", "with all values set:", - "... --locations=\"US:NH:Manchester:03101:42.990605:-71.460989\"", + "...--locations=\"US:NH:Manchester:03101:42.990605:-71.460989\"", "optionally, you can just pass the \"LATITUDE:LONGITUDE\":", - "... --locations=\"42.990605:-71.460989\"", + "...--locations=\"42.990605:-71.460989\"", "finally, you can also pass JSON string of dictionary", "on the command line as you would via JSON RPC", - "... --locations=\"{'country': 'US', 'state': 'NH'}\"" + "...--locations=\"{'country': 'US', 'state': 'NH'}\"" ], "type": "str, list" }, @@ -5211,13 +5141,6 @@ interface = { ], "type": "str" }, - { - "name": "wallet_id", - "desc": [ - "restrict operation to specific wallet" - ], - "type": "str" - }, { "name": "change_account_id", "desc": [ @@ -5345,14 +5268,14 @@ interface = { "\"COUNTRY:STATE:CITY:CODE:LATITUDE:LONGITUDE\"", "making sure to include colon for blank values, for", "example to provide only the city:", - "... --locations=\"::Manchester\"", + "...--locations=\"::Manchester\"", "with all values set:", - "... --locations=\"US:NH:Manchester:03101:42.990605:-71.460989\"", + "...--locations=\"US:NH:Manchester:03101:42.990605:-71.460989\"", "optionally, you can just pass the \"LATITUDE:LONGITUDE\":", - "... --locations=\"42.990605:-71.460989\"", + "...--locations=\"42.990605:-71.460989\"", "finally, you can also pass JSON string of dictionary", "on the command line as you would via JSON RPC", - "... --locations=\"{'country': 'US', 'state': 'NH'}\"" + "...--locations=\"{'country': 'US', 'state': 'NH'}\"" ], "type": "str, list" }, @@ -5420,13 +5343,6 @@ interface = { ], "type": "str" }, - { - "name": "wallet_id", - "desc": [ - "restrict operation to specific wallet" - ], - "type": "str" - }, { "name": "change_account_id", "desc": [ @@ -5460,7 +5376,7 @@ interface = { ], "group": "collection", "cli": "collection update", - "help": "Update an existing collection claim.\n\nUsage:\n collection update (<claim_id> | --claim_id=<claim_id>) [--bid=<bid>]\n [--claims=<claims>...] [--clear_claims]\n [--title=<title>] [--description=<description>]\n [--thumbnail_url=<thumbnail_url>] [--tag=<tag>...]\n [--language=<language>...] [--location=<location>...]\n [--account_id=<account_id>] [--claim_address=<claim_address>]\n [--replace] [--clear_tags] [--clear_languages] [--clear_locations]\n [--channel_id=<channel_id>] [--channel_name=<channel_name>]\n [--wallet_id=<wallet_id>] [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --claim_id=<claim_id> : (str) claim_id of the collection to update\n --bid=<bid> : (str) amount to back the collection\n --claims=<claims> : (str, list) claim ids to be included in the\n collection\n --clear_claims : (bool) clear existing claims (prior to\n adding new ones)\n --title=<title> : (str)\n --description=<description> : (str)\n --thumbnail_url=<thumbnail_url> : (str) url to thumbnail image\n --tag=<tag> : (str, list)\n --language=<language> : (str, list) languages used by the channel,\n using RFC 5646 format, eg: for English\n `--language=en` for Spanish (Spain)\n `--language=es-ES` for Spanish (Mexican)\n `--language=es-MX` for Chinese (Simplified)\n `--language=zh-Hans` for Chinese\n (Traditional) `--language=zh-Hant`\n --location=<location> : (str, list) locations of the channel,\n consisting of 2 letter `country` code and a\n `state`, `city` and a postal `code` along\n with a `latitude` and `longitude`. for JSON\n RPC: pass a dictionary with aforementioned\n attributes as keys, eg: ... \"locations\":\n [{'country': 'US', 'state': 'NH'}] ... for\n command line: pass a colon delimited list\n with values in the following order: \"COUNTR\n Y:STATE:CITY:CODE:LATITUDE:LONGITUDE\"\n making sure to include colon for blank\n values, for example to provide only the\n city: ... --locations=\"::Manchester\" with\n all values set: ... --locations=\"US:NH:Manc\n hester:03101:42.990605:-71.460989\"\n optionally, you can just pass the\n \"LATITUDE:LONGITUDE\": ... --locations=\"42.990605:-71.460989\" finally,\n you can also pass JSON string of dictionary\n on the command line as you would via JSON\n RPC ... --locations=\"{'country': 'US',\n 'state': 'NH'}\"\n --account_id=<account_id> : (str) account to hold the claim\n --claim_address=<claim_address> : (str) specific address where the claim is\n held, if not specified it will be\n determined automatically from the account\n --replace : (bool) instead of modifying specific values\n on the claim, this will clear all existing\n values and only save passed in values,\n useful for form submissions where all\n values are always set\n --clear_tags : (bool) clear existing tags (prior to adding\n new ones)\n --clear_languages : (bool) clear existing languages (prior to\n adding new ones)\n --clear_locations : (bool) clear existing locations (prior to\n adding new ones)\n --channel_id=<channel_id> : (str) claim id of the publishing channel\n --channel_name=<channel_name> : (str) name of publishing channel\n --wallet_id=<wallet_id> : (str) restrict operation to specific wallet\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) updated collection transaction\n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" + "help": "Update an existing collection claim.\n\nUsage:\n collection update (<claim_id> | --claim_id=<claim_id>) [--bid=<bid>]\n [--claims=<claims>...] [--clear_claims]\n [--title=<title>] [--description=<description>]\n [--thumbnail_url=<thumbnail_url>] [--tag=<tag>...]\n [--language=<language>...] [--location=<location>...]\n [--account_id=<account_id>] [--claim_address=<claim_address>]\n [--replace] [--clear_tags] [--clear_languages] [--clear_locations]\n [--channel_id=<channel_id>] [--channel_name=<channel_name>]\n [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --claim_id=<claim_id> : (str) claim_id of the collection to update\n --bid=<bid> : (str) amount to back the collection\n --claims=<claims> : (str, list) claim ids to be included in the\n collection\n --clear_claims : (bool) clear existing claims (prior to\n adding new ones)\n --title=<title> : (str)\n --description=<description> : (str)\n --thumbnail_url=<thumbnail_url> : (str) url to thumbnail image\n --tag=<tag> : (str, list)\n --language=<language> : (str, list) languages used by the channel,\n using RFC 5646 format, eg: for English\n `--language=en` for Spanish (Spain)\n `--language=es-ES` for Spanish (Mexican)\n `--language=es-MX` for Chinese (Simplified)\n `--language=zh-Hans` for Chinese\n (Traditional) `--language=zh-Hant`\n --location=<location> : (str, list) locations of the channel,\n consisting of 2 letter `country` code and a\n `state`, `city` and a postal `code` along\n with a `latitude` and `longitude`. for JSON\n RPC: pass a dictionary with aforementioned\n attributes as keys, eg: ... \"locations\":\n [{'country': 'US', 'state': 'NH'}] ... for\n command line: pass a colon delimited list\n with values in the following order:\n \"COUNTRY:STATE:CITY:CODE:LATITUDE:LONGITUDE\"\n making sure to include colon for blank\n values, for example to provide only the\n city: ...--locations=\"::Manchester\" with\n all values set: ...--\n locations=\"US:NH:Manchester:03101:42.990605:-71.460989\"\n optionally, you can just pass the\n \"LATITUDE:LONGITUDE\": ...--\n locations=\"42.990605:-71.460989\" finally,\n you can also pass JSON string of dictionary\n on the command line as you would via JSON\n RPC ...--locations=\"{'country': 'US',\n 'state': 'NH'}\"\n --account_id=<account_id> : (str) account to hold the claim\n --claim_address=<claim_address> : (str) specific address where the claim is\n held, if not specified it will be\n determined automatically from the account\n --replace : (bool) instead of modifying specific values\n on the claim, this will clear all existing\n values and only save passed in values,\n useful for form submissions where all\n values are always set\n --clear_tags : (bool) clear existing tags (prior to adding\n new ones)\n --clear_languages : (bool) clear existing languages (prior to\n adding new ones)\n --clear_locations : (bool) clear existing locations (prior to\n adding new ones)\n --channel_id=<channel_id> : (str) claim id of the publishing channel\n --channel_name=<channel_name> : (str) name of publishing channel\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) updated collection transaction\n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" }, "comment_abandon": { "name": "abandon", @@ -7580,14 +7496,14 @@ interface = { "\"COUNTRY:STATE:CITY:CODE:LATITUDE:LONGITUDE\"", "making sure to include colon for blank values, for", "example to provide only the city:", - "... --locations=\"::Manchester\"", + "...--locations=\"::Manchester\"", "with all values set:", - "... --locations=\"US:NH:Manchester:03101:42.990605:-71.460989\"", + "...--locations=\"US:NH:Manchester:03101:42.990605:-71.460989\"", "optionally, you can just pass the \"LATITUDE:LONGITUDE\":", - "... --locations=\"42.990605:-71.460989\"", + "...--locations=\"42.990605:-71.460989\"", "finally, you can also pass JSON string of dictionary", "on the command line as you would via JSON RPC", - "... --locations=\"{'country': 'US', 'state': 'NH'}\"" + "...--locations=\"{'country': 'US', 'state': 'NH'}\"" ], "type": "str, list" }, @@ -7655,13 +7571,6 @@ interface = { "default": False, "type": "bool" }, - { - "name": "wallet_id", - "desc": [ - "restrict operation to specific wallet" - ], - "type": "str" - }, { "name": "change_account_id", "desc": [ @@ -7906,14 +7815,14 @@ interface = { "\"COUNTRY:STATE:CITY:CODE:LATITUDE:LONGITUDE\"", "making sure to include colon for blank values, for", "example to provide only the city:", - "... --locations=\"::Manchester\"", + "...--locations=\"::Manchester\"", "with all values set:", - "... --locations=\"US:NH:Manchester:03101:42.990605:-71.460989\"", + "...--locations=\"US:NH:Manchester:03101:42.990605:-71.460989\"", "optionally, you can just pass the \"LATITUDE:LONGITUDE\":", - "... --locations=\"42.990605:-71.460989\"", + "...--locations=\"42.990605:-71.460989\"", "finally, you can also pass JSON string of dictionary", "on the command line as you would via JSON RPC", - "... --locations=\"{'country': 'US', 'state': 'NH'}\"" + "...--locations=\"{'country': 'US', 'state': 'NH'}\"" ], "type": "str, list" }, @@ -7981,13 +7890,6 @@ interface = { "default": False, "type": "bool" }, - { - "name": "wallet_id", - "desc": [ - "restrict operation to specific wallet" - ], - "type": "str" - }, { "name": "change_account_id", "desc": [ @@ -8020,7 +7922,7 @@ interface = { } ], "cli": "publish", - "help": "Create or replace a stream claim at a given name (use 'stream create/update' for more control).\n\nUsage:\n publish (<name> | --name=<name>) [--bid=<bid>]\n [--clear_fee] [--clear_channel] [--file_path=<file_path>] [--validate_file]\n [--optimize_file] [--fee_currency=<fee_currency>] [--fee_amount=<fee_amount>]\n [--fee_address=<fee_address>] [--author=<author>] [--license=<license>]\n [--license_url=<license_url>] [--release_time=<release_time>]\n [--width=<width>] [--height=<height>] [--duration=<duration>]\n [--title=<title>] [--description=<description>]\n [--thumbnail_url=<thumbnail_url>] [--tag=<tag>...] [--language=<language>...]\n [--location=<location>...] [--account_id=<account_id>]\n [--claim_address=<claim_address>] [--channel_id=<channel_id>]\n [--channel_name=<channel_name>] [--replace] [--clear_tags] [--clear_languages]\n [--clear_locations] [--wallet_id=<wallet_id>]\n [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --name=<name> : (str) name for the content (can only\n consist of a-z A-Z 0-9 and -(dash))\n --bid=<bid> : (str) amount to back the stream\n --clear_fee : (bool) clear fee\n --clear_channel : (bool) clear channel signature\n --file_path=<file_path> : (str) path to file to be associated with\n name.\n --validate_file : (bool) validate that the video container\n and encodings match common web browser\n support or that optimization succeeds if\n specified. FFmpeg is required\n --optimize_file : (bool) transcode the video & audio if\n necessary to ensure common web browser\n support. FFmpeg is required\n --fee_currency=<fee_currency> : (str) specify fee currency\n --fee_amount=<fee_amount> : (str) content download fee\n --fee_address=<fee_address> : (str) address where to send fee payments,\n will use the claim holding address by\n default\n --author=<author> : (str) author of the publication. The usage\n for this field is not the same as for\n channels. The author field is used to\n credit an author who is not the publisher\n and is not represented by the channel. For\n example, a pdf file of 'The Odyssey' has an\n author of 'Homer' but may by published to a\n channel such as '@classics', or to no\n channel at all\n --license=<license> : (str) publication license\n --license_url=<license_url> : (str) publication license url\n --release_time=<release_time> : (int) original public release of content,\n seconds since UNIX epoch\n --width=<width> : (int) image/video width, automatically\n calculated from media file\n --height=<height> : (int) image/video height, automatically\n calculated from media file\n --duration=<duration> : (int) audio/video duration in seconds,\n automatically calculated\n --title=<title> : (str)\n --description=<description> : (str)\n --thumbnail_url=<thumbnail_url> : (str) url to thumbnail image\n --tag=<tag> : (str, list)\n --language=<language> : (str, list) languages used by the channel,\n using RFC 5646 format, eg: for English\n `--language=en` for Spanish (Spain)\n `--language=es-ES` for Spanish (Mexican)\n `--language=es-MX` for Chinese (Simplified)\n `--language=zh-Hans` for Chinese\n (Traditional) `--language=zh-Hant`\n --location=<location> : (str, list) locations of the channel,\n consisting of 2 letter `country` code and a\n `state`, `city` and a postal `code` along\n with a `latitude` and `longitude`. for JSON\n RPC: pass a dictionary with aforementioned\n attributes as keys, eg: ... \"locations\":\n [{'country': 'US', 'state': 'NH'}] ... for\n command line: pass a colon delimited list\n with values in the following order: \"COUNTR\n Y:STATE:CITY:CODE:LATITUDE:LONGITUDE\"\n making sure to include colon for blank\n values, for example to provide only the\n city: ... --locations=\"::Manchester\" with\n all values set: ... --locations=\"US:NH:Manc\n hester:03101:42.990605:-71.460989\"\n optionally, you can just pass the\n \"LATITUDE:LONGITUDE\": ... --locations=\"42.990605:-71.460989\" finally,\n you can also pass JSON string of dictionary\n on the command line as you would via JSON\n RPC ... --locations=\"{'country': 'US',\n 'state': 'NH'}\"\n --account_id=<account_id> : (str) account to hold the claim\n --claim_address=<claim_address> : (str) specific address where the claim is\n held, if not specified it will be\n determined automatically from the account\n --channel_id=<channel_id> : (str) claim id of the publishing channel\n --channel_name=<channel_name> : (str) name of publishing channel\n --replace : (bool) instead of modifying specific values\n on the claim, this will clear all existing\n values and only save passed in values,\n useful for form submissions where all\n values are always set\n --clear_tags : (bool) clear existing tags (prior to adding\n new ones)\n --clear_languages : (bool) clear existing languages (prior to\n adding new ones)\n --clear_locations : (bool) clear existing locations (prior to\n adding new ones)\n --wallet_id=<wallet_id> : (str) restrict operation to specific wallet\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) transaction for the published claim\n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" + "help": "Create or replace a stream claim at a given name (use 'stream create/update' for more control).\n\nUsage:\n publish (<name> | --name=<name>) [--bid=<bid>]\n [--clear_fee] [--clear_channel] [--file_path=<file_path>] [--validate_file]\n [--optimize_file] [--fee_currency=<fee_currency>] [--fee_amount=<fee_amount>]\n [--fee_address=<fee_address>] [--author=<author>] [--license=<license>]\n [--license_url=<license_url>] [--release_time=<release_time>]\n [--width=<width>] [--height=<height>] [--duration=<duration>]\n [--title=<title>] [--description=<description>]\n [--thumbnail_url=<thumbnail_url>] [--tag=<tag>...] [--language=<language>...]\n [--location=<location>...] [--account_id=<account_id>]\n [--claim_address=<claim_address>] [--channel_id=<channel_id>]\n [--channel_name=<channel_name>] [--replace] [--clear_tags] [--clear_languages]\n [--clear_locations] [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --name=<name> : (str) name for the content (can only\n consist of a-z A-Z 0-9 and -(dash))\n --bid=<bid> : (str) amount to back the stream\n --clear_fee : (bool) clear fee\n --clear_channel : (bool) clear channel signature\n --file_path=<file_path> : (str) path to file to be associated with\n name.\n --validate_file : (bool) validate that the video container\n and encodings match common web browser\n support or that optimization succeeds if\n specified. FFmpeg is required\n --optimize_file : (bool) transcode the video & audio if\n necessary to ensure common web browser\n support. FFmpeg is required\n --fee_currency=<fee_currency> : (str) specify fee currency\n --fee_amount=<fee_amount> : (str) content download fee\n --fee_address=<fee_address> : (str) address where to send fee payments,\n will use the claim holding address by\n default\n --author=<author> : (str) author of the publication. The usage\n for this field is not the same as for\n channels. The author field is used to\n credit an author who is not the publisher\n and is not represented by the channel. For\n example, a pdf file of 'The Odyssey' has an\n author of 'Homer' but may by published to a\n channel such as '@classics', or to no\n channel at all\n --license=<license> : (str) publication license\n --license_url=<license_url> : (str) publication license url\n --release_time=<release_time> : (int) original public release of content,\n seconds since UNIX epoch\n --width=<width> : (int) image/video width, automatically\n calculated from media file\n --height=<height> : (int) image/video height, automatically\n calculated from media file\n --duration=<duration> : (int) audio/video duration in seconds,\n automatically calculated\n --title=<title> : (str)\n --description=<description> : (str)\n --thumbnail_url=<thumbnail_url> : (str) url to thumbnail image\n --tag=<tag> : (str, list)\n --language=<language> : (str, list) languages used by the channel,\n using RFC 5646 format, eg: for English\n `--language=en` for Spanish (Spain)\n `--language=es-ES` for Spanish (Mexican)\n `--language=es-MX` for Chinese (Simplified)\n `--language=zh-Hans` for Chinese\n (Traditional) `--language=zh-Hant`\n --location=<location> : (str, list) locations of the channel,\n consisting of 2 letter `country` code and a\n `state`, `city` and a postal `code` along\n with a `latitude` and `longitude`. for JSON\n RPC: pass a dictionary with aforementioned\n attributes as keys, eg: ... \"locations\":\n [{'country': 'US', 'state': 'NH'}] ... for\n command line: pass a colon delimited list\n with values in the following order:\n \"COUNTRY:STATE:CITY:CODE:LATITUDE:LONGITUDE\"\n making sure to include colon for blank\n values, for example to provide only the\n city: ...--locations=\"::Manchester\" with\n all values set: ...--\n locations=\"US:NH:Manchester:03101:42.990605:-71.460989\"\n optionally, you can just pass the\n \"LATITUDE:LONGITUDE\": ...--\n locations=\"42.990605:-71.460989\" finally,\n you can also pass JSON string of dictionary\n on the command line as you would via JSON\n RPC ...--locations=\"{'country': 'US',\n 'state': 'NH'}\"\n --account_id=<account_id> : (str) account to hold the claim\n --claim_address=<claim_address> : (str) specific address where the claim is\n held, if not specified it will be\n determined automatically from the account\n --channel_id=<channel_id> : (str) claim id of the publishing channel\n --channel_name=<channel_name> : (str) name of publishing channel\n --replace : (bool) instead of modifying specific values\n on the claim, this will clear all existing\n values and only save passed in values,\n useful for form submissions where all\n values are always set\n --clear_tags : (bool) clear existing tags (prior to adding\n new ones)\n --clear_languages : (bool) clear existing languages (prior to\n adding new ones)\n --clear_locations : (bool) clear existing locations (prior to\n adding new ones)\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) transaction for the published claim\n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" }, "purchase_create": { "name": "create", @@ -8065,13 +7967,6 @@ interface = { "default": False, "type": "bool" }, - { - "name": "wallet_id", - "desc": [ - "restrict operation to specific wallet" - ], - "type": "str" - }, { "name": "change_account_id", "desc": [ @@ -8148,13 +8043,6 @@ interface = { } }, "kwargs": [ - { - "name": "wallet_id", - "desc": [ - "restrict operation to specific wallet" - ], - "type": "str" - }, { "name": "change_account_id", "desc": [ @@ -8188,7 +8076,7 @@ interface = { ], "group": "purchase", "cli": "purchase create", - "help": "Purchase a claim.\n\nUsage:\n purchase create (--claim_id=<claim_id> | --url=<url>)\n [--allow_duplicate_purchase] [--override_max_key_fee]\n [--wallet_id=<wallet_id>] [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --claim_id=<claim_id> : (str) claim id of claim to purchase\n --url=<url> : (str) lookup claim to purchase by url\n --allow_duplicate_purchase : (bool) allow purchasing claim_id you\n already own\n --override_max_key_fee : (bool) ignore max key fee for this purchase\n --wallet_id=<wallet_id> : (str) restrict operation to specific wallet\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) purchase transaction\n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" + "help": "Purchase a claim.\n\nUsage:\n purchase create (--claim_id=<claim_id> | --url=<url>)\n [--allow_duplicate_purchase] [--override_max_key_fee]\n [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --claim_id=<claim_id> : (str) claim id of claim to purchase\n --url=<url> : (str) lookup claim to purchase by url\n --allow_duplicate_purchase : (bool) allow purchasing claim_id you\n already own\n --override_max_key_fee : (bool) ignore max key fee for this purchase\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) purchase transaction\n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" }, "purchase_list": { "name": "list", @@ -8728,13 +8616,6 @@ interface = { ], "type": "str" }, - { - "name": "wallet_id", - "desc": [ - "restrict operation to specific wallet" - ], - "type": "str" - }, { "name": "change_account_id", "desc": [ @@ -8840,13 +8721,6 @@ interface = { ], "type": "str" }, - { - "name": "wallet_id", - "desc": [ - "restrict operation to specific wallet" - ], - "type": "str" - }, { "name": "change_account_id", "desc": [ @@ -8880,7 +8754,7 @@ interface = { ], "group": "stream", "cli": "stream abandon", - "help": "Abandon one of my stream claims.\n\nUsage:\n stream abandon\n [--claim_id=<claim_id>] [--txid=<txid>] [--nout=<nout>]\n [--account_id=<account_id>] [--wallet_id=<wallet_id>]\n [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --claim_id=<claim_id> : (str) claim_id of the claim to abandon\n --txid=<txid> : (str) txid of the claim to abandon\n --nout=<nout> : (int) nout of the claim to abandon\n [default: 0]\n --account_id=<account_id> : (str) restrict operation to specific\n account, otherwise all accounts in wallet\n --wallet_id=<wallet_id> : (str) restrict operation to specific wallet\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) transaction abandoning the stream\n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" + "help": "Abandon one of my stream claims.\n\nUsage:\n stream abandon\n [--claim_id=<claim_id>] [--txid=<txid>] [--nout=<nout>]\n [--account_id=<account_id>] [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --claim_id=<claim_id> : (str) claim_id of the claim to abandon\n --txid=<txid> : (str) txid of the claim to abandon\n --nout=<nout> : (int) nout of the claim to abandon\n [default: 0]\n --account_id=<account_id> : (str) restrict operation to specific\n account, otherwise all accounts in wallet\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) transaction abandoning the stream\n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" }, "stream_cost_estimate": { "name": "cost_estimate", @@ -9097,14 +8971,14 @@ interface = { "\"COUNTRY:STATE:CITY:CODE:LATITUDE:LONGITUDE\"", "making sure to include colon for blank values, for", "example to provide only the city:", - "... --locations=\"::Manchester\"", + "...--locations=\"::Manchester\"", "with all values set:", - "... --locations=\"US:NH:Manchester:03101:42.990605:-71.460989\"", + "...--locations=\"US:NH:Manchester:03101:42.990605:-71.460989\"", "optionally, you can just pass the \"LATITUDE:LONGITUDE\":", - "... --locations=\"42.990605:-71.460989\"", + "...--locations=\"42.990605:-71.460989\"", "finally, you can also pass JSON string of dictionary", "on the command line as you would via JSON RPC", - "... --locations=\"{'country': 'US', 'state': 'NH'}\"" + "...--locations=\"{'country': 'US', 'state': 'NH'}\"" ], "type": "str, list" }, @@ -9137,13 +9011,6 @@ interface = { ], "type": "str" }, - { - "name": "wallet_id", - "desc": [ - "restrict operation to specific wallet" - ], - "type": "str" - }, { "name": "change_account_id", "desc": [ @@ -9370,14 +9237,14 @@ interface = { "\"COUNTRY:STATE:CITY:CODE:LATITUDE:LONGITUDE\"", "making sure to include colon for blank values, for", "example to provide only the city:", - "... --locations=\"::Manchester\"", + "...--locations=\"::Manchester\"", "with all values set:", - "... --locations=\"US:NH:Manchester:03101:42.990605:-71.460989\"", + "...--locations=\"US:NH:Manchester:03101:42.990605:-71.460989\"", "optionally, you can just pass the \"LATITUDE:LONGITUDE\":", - "... --locations=\"42.990605:-71.460989\"", + "...--locations=\"42.990605:-71.460989\"", "finally, you can also pass JSON string of dictionary", "on the command line as you would via JSON RPC", - "... --locations=\"{'country': 'US', 'state': 'NH'}\"" + "...--locations=\"{'country': 'US', 'state': 'NH'}\"" ], "type": "str, list" }, @@ -9410,13 +9277,6 @@ interface = { ], "type": "str" }, - { - "name": "wallet_id", - "desc": [ - "restrict operation to specific wallet" - ], - "type": "str" - }, { "name": "change_account_id", "desc": [ @@ -9450,7 +9310,7 @@ interface = { ], "group": "stream", "cli": "stream create", - "help": "Make a new stream claim and announce the associated file to lbrynet.\n\nUsage:\n stream create (<name> | --name=<name>) (<bid> | --bid=<bid>) [--allow_duplicate_name]\n [--file_path=<file_path>] [--validate_file] [--optimize_file]\n [--fee_currency=<fee_currency>] [--fee_amount=<fee_amount>]\n [--fee_address=<fee_address>] [--author=<author>] [--license=<license>]\n [--license_url=<license_url>] [--release_time=<release_time>]\n [--width=<width>] [--height=<height>] [--duration=<duration>]\n [--title=<title>] [--description=<description>]\n [--thumbnail_url=<thumbnail_url>] [--tag=<tag>...]\n [--language=<language>...] [--location=<location>...]\n [--account_id=<account_id>] [--claim_address=<claim_address>]\n [--channel_id=<channel_id>] [--channel_name=<channel_name>]\n [--wallet_id=<wallet_id>] [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --name=<name> : (str) name for the stream (can only consist\n of a-z A-Z 0-9 and -(dash))\n --bid=<bid> : (str) amount to back the content\n --allow_duplicate_name : (bool) create new stream even if one\n already exists with given name\n --file_path=<file_path> : (str) path to file to be associated with\n name.\n --validate_file : (bool) validate that the video container\n and encodings match common web browser\n support or that optimization succeeds if\n specified. FFmpeg is required\n --optimize_file : (bool) transcode the video & audio if\n necessary to ensure common web browser\n support. FFmpeg is required\n --fee_currency=<fee_currency> : (str) specify fee currency\n --fee_amount=<fee_amount> : (str) content download fee\n --fee_address=<fee_address> : (str) address where to send fee payments,\n will use the claim holding address by\n default\n --author=<author> : (str) author of the publication. The usage\n for this field is not the same as for\n channels. The author field is used to\n credit an author who is not the publisher\n and is not represented by the channel. For\n example, a pdf file of 'The Odyssey' has an\n author of 'Homer' but may by published to a\n channel such as '@classics', or to no\n channel at all\n --license=<license> : (str) publication license\n --license_url=<license_url> : (str) publication license url\n --release_time=<release_time> : (int) original public release of content,\n seconds since UNIX epoch\n --width=<width> : (int) image/video width, automatically\n calculated from media file\n --height=<height> : (int) image/video height, automatically\n calculated from media file\n --duration=<duration> : (int) audio/video duration in seconds,\n automatically calculated\n --title=<title> : (str)\n --description=<description> : (str)\n --thumbnail_url=<thumbnail_url> : (str) url to thumbnail image\n --tag=<tag> : (str, list)\n --language=<language> : (str, list) languages used by the channel,\n using RFC 5646 format, eg: for English\n `--language=en` for Spanish (Spain)\n `--language=es-ES` for Spanish (Mexican)\n `--language=es-MX` for Chinese (Simplified)\n `--language=zh-Hans` for Chinese\n (Traditional) `--language=zh-Hant`\n --location=<location> : (str, list) locations of the channel,\n consisting of 2 letter `country` code and a\n `state`, `city` and a postal `code` along\n with a `latitude` and `longitude`. for JSON\n RPC: pass a dictionary with aforementioned\n attributes as keys, eg: ... \"locations\":\n [{'country': 'US', 'state': 'NH'}] ... for\n command line: pass a colon delimited list\n with values in the following order: \"COUNTR\n Y:STATE:CITY:CODE:LATITUDE:LONGITUDE\"\n making sure to include colon for blank\n values, for example to provide only the\n city: ... --locations=\"::Manchester\" with\n all values set: ... --locations=\"US:NH:Manc\n hester:03101:42.990605:-71.460989\"\n optionally, you can just pass the\n \"LATITUDE:LONGITUDE\": ... --locations=\"42.990605:-71.460989\" finally,\n you can also pass JSON string of dictionary\n on the command line as you would via JSON\n RPC ... --locations=\"{'country': 'US',\n 'state': 'NH'}\"\n --account_id=<account_id> : (str) account to hold the claim\n --claim_address=<claim_address> : (str) specific address where the claim is\n held, if not specified it will be\n determined automatically from the account\n --channel_id=<channel_id> : (str) claim id of the publishing channel\n --channel_name=<channel_name> : (str) name of publishing channel\n --wallet_id=<wallet_id> : (str) restrict operation to specific wallet\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) \n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" + "help": "Make a new stream claim and announce the associated file to lbrynet.\n\nUsage:\n stream create (<name> | --name=<name>) (<bid> | --bid=<bid>) [--allow_duplicate_name]\n [--file_path=<file_path>] [--validate_file] [--optimize_file]\n [--fee_currency=<fee_currency>] [--fee_amount=<fee_amount>]\n [--fee_address=<fee_address>] [--author=<author>] [--license=<license>]\n [--license_url=<license_url>] [--release_time=<release_time>]\n [--width=<width>] [--height=<height>] [--duration=<duration>]\n [--title=<title>] [--description=<description>]\n [--thumbnail_url=<thumbnail_url>] [--tag=<tag>...]\n [--language=<language>...] [--location=<location>...]\n [--account_id=<account_id>] [--claim_address=<claim_address>]\n [--channel_id=<channel_id>] [--channel_name=<channel_name>]\n [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --name=<name> : (str) name for the stream (can only consist\n of a-z A-Z 0-9 and -(dash))\n --bid=<bid> : (str) amount to back the content\n --allow_duplicate_name : (bool) create new stream even if one\n already exists with given name\n --file_path=<file_path> : (str) path to file to be associated with\n name.\n --validate_file : (bool) validate that the video container\n and encodings match common web browser\n support or that optimization succeeds if\n specified. FFmpeg is required\n --optimize_file : (bool) transcode the video & audio if\n necessary to ensure common web browser\n support. FFmpeg is required\n --fee_currency=<fee_currency> : (str) specify fee currency\n --fee_amount=<fee_amount> : (str) content download fee\n --fee_address=<fee_address> : (str) address where to send fee payments,\n will use the claim holding address by\n default\n --author=<author> : (str) author of the publication. The usage\n for this field is not the same as for\n channels. The author field is used to\n credit an author who is not the publisher\n and is not represented by the channel. For\n example, a pdf file of 'The Odyssey' has an\n author of 'Homer' but may by published to a\n channel such as '@classics', or to no\n channel at all\n --license=<license> : (str) publication license\n --license_url=<license_url> : (str) publication license url\n --release_time=<release_time> : (int) original public release of content,\n seconds since UNIX epoch\n --width=<width> : (int) image/video width, automatically\n calculated from media file\n --height=<height> : (int) image/video height, automatically\n calculated from media file\n --duration=<duration> : (int) audio/video duration in seconds,\n automatically calculated\n --title=<title> : (str)\n --description=<description> : (str)\n --thumbnail_url=<thumbnail_url> : (str) url to thumbnail image\n --tag=<tag> : (str, list)\n --language=<language> : (str, list) languages used by the channel,\n using RFC 5646 format, eg: for English\n `--language=en` for Spanish (Spain)\n `--language=es-ES` for Spanish (Mexican)\n `--language=es-MX` for Chinese (Simplified)\n `--language=zh-Hans` for Chinese\n (Traditional) `--language=zh-Hant`\n --location=<location> : (str, list) locations of the channel,\n consisting of 2 letter `country` code and a\n `state`, `city` and a postal `code` along\n with a `latitude` and `longitude`. for JSON\n RPC: pass a dictionary with aforementioned\n attributes as keys, eg: ... \"locations\":\n [{'country': 'US', 'state': 'NH'}] ... for\n command line: pass a colon delimited list\n with values in the following order:\n \"COUNTRY:STATE:CITY:CODE:LATITUDE:LONGITUDE\"\n making sure to include colon for blank\n values, for example to provide only the\n city: ...--locations=\"::Manchester\" with\n all values set: ...--\n locations=\"US:NH:Manchester:03101:42.990605:-71.460989\"\n optionally, you can just pass the\n \"LATITUDE:LONGITUDE\": ...--\n locations=\"42.990605:-71.460989\" finally,\n you can also pass JSON string of dictionary\n on the command line as you would via JSON\n RPC ...--locations=\"{'country': 'US',\n 'state': 'NH'}\"\n --account_id=<account_id> : (str) account to hold the claim\n --claim_address=<claim_address> : (str) specific address where the claim is\n held, if not specified it will be\n determined automatically from the account\n --channel_id=<channel_id> : (str) claim id of the publishing channel\n --channel_name=<channel_name> : (str) name of publishing channel\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) \n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" }, "stream_list": { "name": "list", @@ -9940,13 +9800,6 @@ interface = { ], "type": "str" }, - { - "name": "wallet_id", - "desc": [ - "restrict operation to specific wallet" - ], - "type": "str" - }, { "name": "change_account_id", "desc": [ @@ -10037,13 +9890,6 @@ interface = { ], "type": "str" }, - { - "name": "wallet_id", - "desc": [ - "restrict operation to specific wallet" - ], - "type": "str" - }, { "name": "change_account_id", "desc": [ @@ -10077,7 +9923,7 @@ interface = { ], "group": "stream", "cli": "stream repost", - "help": "Creates a claim that references an existing stream by its claim id.\n\nUsage:\n stream repost (<name> | --name=<name>) (<bid> | --bid=<bid>) (<claim_id> | --claim_id=<claim_id>)\n [--allow_duplicate_name] [--account_id=<account_id>] [--claim_address=<claim_address>]\n [--channel_id=<channel_id>] [--channel_name=<channel_name>]\n [--wallet_id=<wallet_id>] [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --name=<name> : (str) name of the repost (can only consist\n of a-z A-Z 0-9 and -(dash))\n --bid=<bid> : (str) amount to back the repost\n --claim_id=<claim_id> : (str) id of the claim being reposted\n --allow_duplicate_name : (bool) create new repost even if one\n already exists with given name\n --account_id=<account_id> : (str) account to hold the repost\n --claim_address=<claim_address> : (str) specific address where the repost is\n held, if not specified it will be\n determined automatically from the account\n --channel_id=<channel_id> : (str) claim id of the publishing channel\n --channel_name=<channel_name> : (str) name of publishing channel\n --wallet_id=<wallet_id> : (str) restrict operation to specific wallet\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) transaction for the repost\n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" + "help": "Creates a claim that references an existing stream by its claim id.\n\nUsage:\n stream repost (<name> | --name=<name>) (<bid> | --bid=<bid>) (<claim_id> | --claim_id=<claim_id>)\n [--allow_duplicate_name] [--account_id=<account_id>] [--claim_address=<claim_address>]\n [--channel_id=<channel_id>] [--channel_name=<channel_name>]\n [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --name=<name> : (str) name of the repost (can only consist\n of a-z A-Z 0-9 and -(dash))\n --bid=<bid> : (str) amount to back the repost\n --claim_id=<claim_id> : (str) id of the claim being reposted\n --allow_duplicate_name : (bool) create new repost even if one\n already exists with given name\n --account_id=<account_id> : (str) account to hold the repost\n --claim_address=<claim_address> : (str) specific address where the repost is\n held, if not specified it will be\n determined automatically from the account\n --channel_id=<channel_id> : (str) claim id of the publishing channel\n --channel_name=<channel_name> : (str) name of publishing channel\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) transaction for the repost\n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" }, "stream_update": { "name": "update", @@ -10273,14 +10119,14 @@ interface = { "\"COUNTRY:STATE:CITY:CODE:LATITUDE:LONGITUDE\"", "making sure to include colon for blank values, for", "example to provide only the city:", - "... --locations=\"::Manchester\"", + "...--locations=\"::Manchester\"", "with all values set:", - "... --locations=\"US:NH:Manchester:03101:42.990605:-71.460989\"", + "...--locations=\"US:NH:Manchester:03101:42.990605:-71.460989\"", "optionally, you can just pass the \"LATITUDE:LONGITUDE\":", - "... --locations=\"42.990605:-71.460989\"", + "...--locations=\"42.990605:-71.460989\"", "finally, you can also pass JSON string of dictionary", "on the command line as you would via JSON RPC", - "... --locations=\"{'country': 'US', 'state': 'NH'}\"" + "...--locations=\"{'country': 'US', 'state': 'NH'}\"" ], "type": "str, list" }, @@ -10348,13 +10194,6 @@ interface = { "default": False, "type": "bool" }, - { - "name": "wallet_id", - "desc": [ - "restrict operation to specific wallet" - ], - "type": "str" - }, { "name": "change_account_id", "desc": [ @@ -10599,14 +10438,14 @@ interface = { "\"COUNTRY:STATE:CITY:CODE:LATITUDE:LONGITUDE\"", "making sure to include colon for blank values, for", "example to provide only the city:", - "... --locations=\"::Manchester\"", + "...--locations=\"::Manchester\"", "with all values set:", - "... --locations=\"US:NH:Manchester:03101:42.990605:-71.460989\"", + "...--locations=\"US:NH:Manchester:03101:42.990605:-71.460989\"", "optionally, you can just pass the \"LATITUDE:LONGITUDE\":", - "... --locations=\"42.990605:-71.460989\"", + "...--locations=\"42.990605:-71.460989\"", "finally, you can also pass JSON string of dictionary", "on the command line as you would via JSON RPC", - "... --locations=\"{'country': 'US', 'state': 'NH'}\"" + "...--locations=\"{'country': 'US', 'state': 'NH'}\"" ], "type": "str, list" }, @@ -10674,13 +10513,6 @@ interface = { "default": False, "type": "bool" }, - { - "name": "wallet_id", - "desc": [ - "restrict operation to specific wallet" - ], - "type": "str" - }, { "name": "change_account_id", "desc": [ @@ -10714,7 +10546,7 @@ interface = { ], "group": "stream", "cli": "stream update", - "help": "Update an existing stream claim and if a new file is provided announce it to lbrynet.\n\nUsage:\n stream update (<claim_id> | --claim_id=<claim_id>) [--bid=<bid>]\n [--clear_fee] [--clear_channel] [--file_path=<file_path>]\n [--validate_file] [--optimize_file] [--fee_currency=<fee_currency>]\n [--fee_amount=<fee_amount>] [--fee_address=<fee_address>]\n [--author=<author>] [--license=<license>] [--license_url=<license_url>]\n [--release_time=<release_time>] [--width=<width>] [--height=<height>]\n [--duration=<duration>] [--title=<title>] [--description=<description>]\n [--thumbnail_url=<thumbnail_url>] [--tag=<tag>...]\n [--language=<language>...] [--location=<location>...]\n [--account_id=<account_id>] [--claim_address=<claim_address>]\n [--channel_id=<channel_id>] [--channel_name=<channel_name>] [--replace]\n [--clear_tags] [--clear_languages] [--clear_locations]\n [--wallet_id=<wallet_id>] [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --claim_id=<claim_id> : (str) claim_id of the stream to update\n --bid=<bid> : (str) update amount backing the stream\n --clear_fee : (bool) clear fee\n --clear_channel : (bool) clear channel signature\n --file_path=<file_path> : (str) path to file to be associated with\n name.\n --validate_file : (bool) validate that the video container\n and encodings match common web browser\n support or that optimization succeeds if\n specified. FFmpeg is required\n --optimize_file : (bool) transcode the video & audio if\n necessary to ensure common web browser\n support. FFmpeg is required\n --fee_currency=<fee_currency> : (str) specify fee currency\n --fee_amount=<fee_amount> : (str) content download fee\n --fee_address=<fee_address> : (str) address where to send fee payments,\n will use the claim holding address by\n default\n --author=<author> : (str) author of the publication. The usage\n for this field is not the same as for\n channels. The author field is used to\n credit an author who is not the publisher\n and is not represented by the channel. For\n example, a pdf file of 'The Odyssey' has an\n author of 'Homer' but may by published to a\n channel such as '@classics', or to no\n channel at all\n --license=<license> : (str) publication license\n --license_url=<license_url> : (str) publication license url\n --release_time=<release_time> : (int) original public release of content,\n seconds since UNIX epoch\n --width=<width> : (int) image/video width, automatically\n calculated from media file\n --height=<height> : (int) image/video height, automatically\n calculated from media file\n --duration=<duration> : (int) audio/video duration in seconds,\n automatically calculated\n --title=<title> : (str)\n --description=<description> : (str)\n --thumbnail_url=<thumbnail_url> : (str) url to thumbnail image\n --tag=<tag> : (str, list)\n --language=<language> : (str, list) languages used by the channel,\n using RFC 5646 format, eg: for English\n `--language=en` for Spanish (Spain)\n `--language=es-ES` for Spanish (Mexican)\n `--language=es-MX` for Chinese (Simplified)\n `--language=zh-Hans` for Chinese\n (Traditional) `--language=zh-Hant`\n --location=<location> : (str, list) locations of the channel,\n consisting of 2 letter `country` code and a\n `state`, `city` and a postal `code` along\n with a `latitude` and `longitude`. for JSON\n RPC: pass a dictionary with aforementioned\n attributes as keys, eg: ... \"locations\":\n [{'country': 'US', 'state': 'NH'}] ... for\n command line: pass a colon delimited list\n with values in the following order: \"COUNTR\n Y:STATE:CITY:CODE:LATITUDE:LONGITUDE\"\n making sure to include colon for blank\n values, for example to provide only the\n city: ... --locations=\"::Manchester\" with\n all values set: ... --locations=\"US:NH:Manc\n hester:03101:42.990605:-71.460989\"\n optionally, you can just pass the\n \"LATITUDE:LONGITUDE\": ... --locations=\"42.990605:-71.460989\" finally,\n you can also pass JSON string of dictionary\n on the command line as you would via JSON\n RPC ... --locations=\"{'country': 'US',\n 'state': 'NH'}\"\n --account_id=<account_id> : (str) account to hold the claim\n --claim_address=<claim_address> : (str) specific address where the claim is\n held, if not specified it will be\n determined automatically from the account\n --channel_id=<channel_id> : (str) claim id of the publishing channel\n --channel_name=<channel_name> : (str) name of publishing channel\n --replace : (bool) instead of modifying specific values\n on the claim, this will clear all existing\n values and only save passed in values,\n useful for form submissions where all\n values are always set\n --clear_tags : (bool) clear existing tags (prior to adding\n new ones)\n --clear_languages : (bool) clear existing languages (prior to\n adding new ones)\n --clear_locations : (bool) clear existing locations (prior to\n adding new ones)\n --wallet_id=<wallet_id> : (str) restrict operation to specific wallet\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) stream update transaction\n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" + "help": "Update an existing stream claim and if a new file is provided announce it to lbrynet.\n\nUsage:\n stream update (<claim_id> | --claim_id=<claim_id>) [--bid=<bid>]\n [--clear_fee] [--clear_channel] [--file_path=<file_path>]\n [--validate_file] [--optimize_file] [--fee_currency=<fee_currency>]\n [--fee_amount=<fee_amount>] [--fee_address=<fee_address>]\n [--author=<author>] [--license=<license>] [--license_url=<license_url>]\n [--release_time=<release_time>] [--width=<width>] [--height=<height>]\n [--duration=<duration>] [--title=<title>] [--description=<description>]\n [--thumbnail_url=<thumbnail_url>] [--tag=<tag>...]\n [--language=<language>...] [--location=<location>...]\n [--account_id=<account_id>] [--claim_address=<claim_address>]\n [--channel_id=<channel_id>] [--channel_name=<channel_name>] [--replace]\n [--clear_tags] [--clear_languages] [--clear_locations]\n [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --claim_id=<claim_id> : (str) claim_id of the stream to update\n --bid=<bid> : (str) update amount backing the stream\n --clear_fee : (bool) clear fee\n --clear_channel : (bool) clear channel signature\n --file_path=<file_path> : (str) path to file to be associated with\n name.\n --validate_file : (bool) validate that the video container\n and encodings match common web browser\n support or that optimization succeeds if\n specified. FFmpeg is required\n --optimize_file : (bool) transcode the video & audio if\n necessary to ensure common web browser\n support. FFmpeg is required\n --fee_currency=<fee_currency> : (str) specify fee currency\n --fee_amount=<fee_amount> : (str) content download fee\n --fee_address=<fee_address> : (str) address where to send fee payments,\n will use the claim holding address by\n default\n --author=<author> : (str) author of the publication. The usage\n for this field is not the same as for\n channels. The author field is used to\n credit an author who is not the publisher\n and is not represented by the channel. For\n example, a pdf file of 'The Odyssey' has an\n author of 'Homer' but may by published to a\n channel such as '@classics', or to no\n channel at all\n --license=<license> : (str) publication license\n --license_url=<license_url> : (str) publication license url\n --release_time=<release_time> : (int) original public release of content,\n seconds since UNIX epoch\n --width=<width> : (int) image/video width, automatically\n calculated from media file\n --height=<height> : (int) image/video height, automatically\n calculated from media file\n --duration=<duration> : (int) audio/video duration in seconds,\n automatically calculated\n --title=<title> : (str)\n --description=<description> : (str)\n --thumbnail_url=<thumbnail_url> : (str) url to thumbnail image\n --tag=<tag> : (str, list)\n --language=<language> : (str, list) languages used by the channel,\n using RFC 5646 format, eg: for English\n `--language=en` for Spanish (Spain)\n `--language=es-ES` for Spanish (Mexican)\n `--language=es-MX` for Chinese (Simplified)\n `--language=zh-Hans` for Chinese\n (Traditional) `--language=zh-Hant`\n --location=<location> : (str, list) locations of the channel,\n consisting of 2 letter `country` code and a\n `state`, `city` and a postal `code` along\n with a `latitude` and `longitude`. for JSON\n RPC: pass a dictionary with aforementioned\n attributes as keys, eg: ... \"locations\":\n [{'country': 'US', 'state': 'NH'}] ... for\n command line: pass a colon delimited list\n with values in the following order:\n \"COUNTRY:STATE:CITY:CODE:LATITUDE:LONGITUDE\"\n making sure to include colon for blank\n values, for example to provide only the\n city: ...--locations=\"::Manchester\" with\n all values set: ...--\n locations=\"US:NH:Manchester:03101:42.990605:-71.460989\"\n optionally, you can just pass the\n \"LATITUDE:LONGITUDE\": ...--\n locations=\"42.990605:-71.460989\" finally,\n you can also pass JSON string of dictionary\n on the command line as you would via JSON\n RPC ...--locations=\"{'country': 'US',\n 'state': 'NH'}\"\n --account_id=<account_id> : (str) account to hold the claim\n --claim_address=<claim_address> : (str) specific address where the claim is\n held, if not specified it will be\n determined automatically from the account\n --channel_id=<channel_id> : (str) claim id of the publishing channel\n --channel_name=<channel_name> : (str) name of publishing channel\n --replace : (bool) instead of modifying specific values\n on the claim, this will clear all existing\n values and only save passed in values,\n useful for form submissions where all\n values are always set\n --clear_tags : (bool) clear existing tags (prior to adding\n new ones)\n --clear_languages : (bool) clear existing languages (prior to\n adding new ones)\n --clear_locations : (bool) clear existing locations (prior to\n adding new ones)\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) stream update transaction\n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" }, "support_abandon": { "name": "abandon", @@ -10765,13 +10597,6 @@ interface = { ], "type": "str" }, - { - "name": "wallet_id", - "desc": [ - "restrict operation to specific wallet" - ], - "type": "str" - }, { "name": "change_account_id", "desc": [ @@ -10877,13 +10702,6 @@ interface = { ], "type": "str" }, - { - "name": "wallet_id", - "desc": [ - "restrict operation to specific wallet" - ], - "type": "str" - }, { "name": "change_account_id", "desc": [ @@ -10917,7 +10735,7 @@ interface = { ], "group": "support", "cli": "support abandon", - "help": "Abandon supports, including tips, of a specific claim, optionally\nkeeping some amount as supports.\n\nUsage:\n support abandon [--keep=<keep>]\n [--claim_id=<claim_id>] [--txid=<txid>] [--nout=<nout>]\n [--account_id=<account_id>] [--wallet_id=<wallet_id>]\n [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --keep=<keep> : (str) amount of lbc to keep as support\n --claim_id=<claim_id> : (str) claim_id of the claim to abandon\n --txid=<txid> : (str) txid of the claim to abandon\n --nout=<nout> : (int) nout of the claim to abandon\n [default: 0]\n --account_id=<account_id> : (str) restrict operation to specific\n account, otherwise all accounts in wallet\n --wallet_id=<wallet_id> : (str) restrict operation to specific wallet\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) transaction abandoning the supports\n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" + "help": "Abandon supports, including tips, of a specific claim, optionally\nkeeping some amount as supports.\n\nUsage:\n support abandon [--keep=<keep>]\n [--claim_id=<claim_id>] [--txid=<txid>] [--nout=<nout>]\n [--account_id=<account_id>] [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --keep=<keep> : (str) amount of lbc to keep as support\n --claim_id=<claim_id> : (str) claim_id of the claim to abandon\n --txid=<txid> : (str) txid of the claim to abandon\n --nout=<nout> : (int) nout of the claim to abandon\n [default: 0]\n --account_id=<account_id> : (str) restrict operation to specific\n account, otherwise all accounts in wallet\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) transaction abandoning the supports\n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" }, "support_create": { "name": "create", @@ -10961,13 +10779,6 @@ interface = { ], "type": "str" }, - { - "name": "wallet_id", - "desc": [ - "restrict operation to specific wallet" - ], - "type": "str" - }, { "name": "change_account_id", "desc": [ @@ -11044,13 +10855,6 @@ interface = { } }, "kwargs": [ - { - "name": "wallet_id", - "desc": [ - "restrict operation to specific wallet" - ], - "type": "str" - }, { "name": "change_account_id", "desc": [ @@ -11084,7 +10888,7 @@ interface = { ], "group": "support", "cli": "support create", - "help": "Create a support or a tip for name claim.\n\nUsage:\n support create (<claim_id> | --claim_id=<claim_id>) (<amount> | --amount=<amount>)\n [--tip] [--account_id=<account_id>]\n [--wallet_id=<wallet_id>] [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --claim_id=<claim_id> : (str) claim_id of the claim to support\n --amount=<amount> : (str) amount of support\n --tip : (bool) send support to claim owner\n --account_id=<account_id> : (str) account to use for holding the\n support\n --wallet_id=<wallet_id> : (str) restrict operation to specific wallet\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) new support transaction\n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" + "help": "Create a support or a tip for name claim.\n\nUsage:\n support create (<claim_id> | --claim_id=<claim_id>) (<amount> | --amount=<amount>)\n [--tip] [--account_id=<account_id>]\n [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --claim_id=<claim_id> : (str) claim_id of the claim to support\n --amount=<amount> : (str) amount of support\n --tip : (bool) send support to claim owner\n --account_id=<account_id> : (str) account to use for holding the\n support\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) new support transaction\n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" }, "support_list": { "name": "list", @@ -11859,7 +11663,7 @@ interface = { "desc": [ "txos which have your inputs or your outputs,", "if using this flag the other related flags", - "are ignored (--is_my_output, --is_my_input, etc)" + "are ignored. (\"--is_my_output\", \"--is_my_input\", etc)" ], "default": False, "type": "bool" @@ -11900,7 +11704,7 @@ interface = { "name": "exclude_internal_transfers", "desc": [ "excludes any outputs that are exactly this combination:", - "\"--is_my_input --is_my_output --type=other\"", + "\"--is_my_input\" + \"--is_my_output\" + \"--type=other\"", "this allows to exclude \"change\" payments, this", "flag can be used in combination with any of the other flags" ], @@ -11914,13 +11718,6 @@ interface = { ], "type": "str, list" }, - { - "name": "wallet_id", - "desc": [ - "restrict results to specific wallet" - ], - "type": "str" - }, { "name": "page", "desc": [ @@ -12038,7 +11835,7 @@ interface = { "desc": [ "txos which have your inputs or your outputs,", "if using this flag the other related flags", - "are ignored (--is_my_output, --is_my_input, etc)" + "are ignored. (\"--is_my_output\", \"--is_my_input\", etc)" ], "default": False, "type": "bool" @@ -12079,7 +11876,7 @@ interface = { "name": "exclude_internal_transfers", "desc": [ "excludes any outputs that are exactly this combination:", - "\"--is_my_input --is_my_output --type=other\"", + "\"--is_my_input\" + \"--is_my_output\" + \"--type=other\"", "this allows to exclude \"change\" payments, this", "flag can be used in combination with any of the other flags" ], @@ -12093,13 +11890,6 @@ interface = { ], "type": "str, list" }, - { - "name": "wallet_id", - "desc": [ - "restrict results to specific wallet" - ], - "type": "str" - }, { "name": "page", "desc": [ @@ -12125,7 +11915,7 @@ interface = { ], "group": "txo", "cli": "txo list", - "help": "List my transaction outputs.\n\nUsage:\n txo list [--include_received_tips] [--resolve] [--order_by]\n [--type=<type>...] [--txid=<txid>...] [--claim_id=<claim_id>...]\n [--channel_id=<channel_id>...] [--name=<name>...] [--is_spent]\n [--is_not_spent] [--is_my_input_or_output] [--is_my_output]\n [--is_not_my_output] [--is_my_input] [--is_not_my_input]\n [--exclude_internal_transfers] [--account_id=<account_id>...]\n [--wallet_id=<wallet_id>] [--page=<page>] [--page_size=<page_size>]\n [--include_total]\n\nOptions:\n --include_received_tips : (bool) calculate the amount of tips recieved for claim\n outputs\n --resolve : (bool) resolves each claim to provide additional\n metadata\n --order_by=<order_by> : (str) field to order by: 'name', 'height', 'amount'\n and 'none'\n --type=<type> : (str, list) claim type: stream, channel, support,\n purchase, collection, repost, other\n --txid=<txid> : (str, list) transaction id of outputs\n --claim_id=<claim_id> : (str, list) claim id\n --channel_id=<channel_id> : (str, list) claims in this channel\n --name=<name> : (str, list) claim name\n --is_spent : (bool) only show spent txos\n --is_not_spent : (bool) only show not spent txos\n --is_my_input_or_output : (bool) txos which have your inputs or your outputs, if\n using this flag the other related flags are ignored\n (--is_my_output, --is_my_input, etc)\n --is_my_output : (bool) show outputs controlled by you\n --is_not_my_output : (bool) show outputs not controlled by you\n --is_my_input : (bool) show outputs created by you\n --is_not_my_input : (bool) show outputs not created by you\n --exclude_internal_transfers : (bool) excludes any outputs that are exactly this\n combination: \"--is_my_input --is_my_output --type=other\" this allows to exclude \"change\"\n payments, this flag can be used in combination with\n any of the other flags\n --account_id=<account_id> : (str, list) id(s) of the account(s) to query\n --wallet_id=<wallet_id> : (str) restrict results to specific wallet\n --page=<page> : (int) page to return for paginating\n --page_size=<page_size> : (int) number of items on page for pagination\n --include_total : (bool) calculate total number of items and pages\n\nReturns:\n (Paginated[Output]) \n {\n \"page\": \"Page number of the current items.\",\n \"page_size\": \"Number of items to show on a page.\",\n \"total_pages\": \"Total number of pages.\",\n \"total_items\": \"Total number of items.\",\n \"items\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ]\n }" + "help": "List my transaction outputs.\n\nUsage:\n txo list [--include_received_tips] [--resolve] [--order_by]\n [--type=<type>...] [--txid=<txid>...] [--claim_id=<claim_id>...]\n [--channel_id=<channel_id>...] [--name=<name>...] [--is_spent]\n [--is_not_spent] [--is_my_input_or_output] [--is_my_output]\n [--is_not_my_output] [--is_my_input] [--is_not_my_input]\n [--exclude_internal_transfers] [--account_id=<account_id>...] [--page=<page>]\n [--page_size=<page_size>] [--include_total]\n\nOptions:\n --include_received_tips : (bool) calculate the amount of tips recieved for claim\n outputs\n --resolve : (bool) resolves each claim to provide additional\n metadata\n --order_by=<order_by> : (str) field to order by: 'name', 'height', 'amount'\n and 'none'\n --type=<type> : (str, list) claim type: stream, channel, support,\n purchase, collection, repost, other\n --txid=<txid> : (str, list) transaction id of outputs\n --claim_id=<claim_id> : (str, list) claim id\n --channel_id=<channel_id> : (str, list) claims in this channel\n --name=<name> : (str, list) claim name\n --is_spent : (bool) only show spent txos\n --is_not_spent : (bool) only show not spent txos\n --is_my_input_or_output : (bool) txos which have your inputs or your outputs, if\n using this flag the other related flags are ignored.\n (\"--is_my_output\", \"--is_my_input\", etc)\n --is_my_output : (bool) show outputs controlled by you\n --is_not_my_output : (bool) show outputs not controlled by you\n --is_my_input : (bool) show outputs created by you\n --is_not_my_input : (bool) show outputs not created by you\n --exclude_internal_transfers : (bool) excludes any outputs that are exactly this\n combination: \"--is_my_input\" + \"--is_my_output\" + \"--\n type=other\" this allows to exclude \"change\" payments,\n this flag can be used in combination with any of the\n other flags\n --account_id=<account_id> : (str, list) id(s) of the account(s) to query\n --page=<page> : (int) page to return for paginating\n --page_size=<page_size> : (int) number of items on page for pagination\n --include_total : (bool) calculate total number of items and pages\n\nReturns:\n (Paginated[Output]) \n {\n \"page\": \"Page number of the current items.\",\n \"page_size\": \"Number of items to show on a page.\",\n \"total_pages\": \"Total number of pages.\",\n \"total_items\": \"Total number of items.\",\n \"items\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ]\n }" }, "txo_plot": { "name": "plot", @@ -12153,21 +11943,21 @@ interface = { { "name": "start_day", "desc": [ - "start on specific date (YYYY-MM-DD) (instead of --days_back)" + "start on specific date (format: YYYY-MM-DD) (instead of --days_back)" ], "type": "str" }, { "name": "days_after", "desc": [ - "end number of days after --start_day (instead of --end_day)" + "end number of days after --start_day (instead of using --end_day)" ], "type": "int" }, { "name": "end_day", "desc": [ - "end on specific date (YYYY-MM-DD) (instead of --days_after)" + "end on specific date (format: YYYY-MM-DD) (instead of --days_after)" ], "type": "str" }, @@ -12227,7 +12017,7 @@ interface = { "desc": [ "txos which have your inputs or your outputs,", "if using this flag the other related flags", - "are ignored (--is_my_output, --is_my_input, etc)" + "are ignored. (\"--is_my_output\", \"--is_my_input\", etc)" ], "default": False, "type": "bool" @@ -12268,7 +12058,7 @@ interface = { "name": "exclude_internal_transfers", "desc": [ "excludes any outputs that are exactly this combination:", - "\"--is_my_input --is_my_output --type=other\"", + "\"--is_my_input\" + \"--is_my_output\" + \"--type=other\"", "this allows to exclude \"change\" payments, this", "flag can be used in combination with any of the other flags" ], @@ -12282,13 +12072,6 @@ interface = { ], "type": "str, list" }, - { - "name": "wallet_id", - "desc": [ - "restrict results to specific wallet" - ], - "type": "str" - }, { "name": "page", "desc": [ @@ -12373,7 +12156,7 @@ interface = { "desc": [ "txos which have your inputs or your outputs,", "if using this flag the other related flags", - "are ignored (--is_my_output, --is_my_input, etc)" + "are ignored. (\"--is_my_output\", \"--is_my_input\", etc)" ], "default": False, "type": "bool" @@ -12414,7 +12197,7 @@ interface = { "name": "exclude_internal_transfers", "desc": [ "excludes any outputs that are exactly this combination:", - "\"--is_my_input --is_my_output --type=other\"", + "\"--is_my_input\" + \"--is_my_output\" + \"--type=other\"", "this allows to exclude \"change\" payments, this", "flag can be used in combination with any of the other flags" ], @@ -12428,13 +12211,6 @@ interface = { ], "type": "str, list" }, - { - "name": "wallet_id", - "desc": [ - "restrict results to specific wallet" - ], - "type": "str" - }, { "name": "page", "desc": [ @@ -12460,7 +12236,7 @@ interface = { ], "group": "txo", "cli": "txo plot", - "help": "Plot transaction output sum over days.\n\nUsage:\n txo_plot [--days_back=<days_back> |\n [--start_day=<start_day> [--days_after=<days_after> | --end_day=<end_day>]]\n ]\n [--type=<type>...] [--txid=<txid>...] [--claim_id=<claim_id>...]\n [--channel_id=<channel_id>...] [--name=<name>...] [--is_spent]\n [--is_not_spent] [--is_my_input_or_output] [--is_my_output]\n [--is_not_my_output] [--is_my_input] [--is_not_my_input]\n [--exclude_internal_transfers] [--account_id=<account_id>...]\n [--wallet_id=<wallet_id>] [--page=<page>] [--page_size=<page_size>]\n [--include_total]\n\nOptions:\n --days_back=<days_back> : (int) number of days back from today (not compatible\n with --start_day, --days_after, --end_day) [default:\n 0]\n --start_day=<start_day> : (str) start on specific date (YYYY-MM-DD) (instead of --days_back)\n --days_after=<days_after> : (int) end number of days after --start_day (instead of --end_day)\n --end_day=<end_day> : (str) end on specific date (YYYY-MM-DD) (instead of --days_after)\n --type=<type> : (str, list) claim type: stream, channel, support,\n purchase, collection, repost, other\n --txid=<txid> : (str, list) transaction id of outputs\n --claim_id=<claim_id> : (str, list) claim id\n --channel_id=<channel_id> : (str, list) claims in this channel\n --name=<name> : (str, list) claim name\n --is_spent : (bool) only show spent txos\n --is_not_spent : (bool) only show not spent txos\n --is_my_input_or_output : (bool) txos which have your inputs or your outputs, if\n using this flag the other related flags are ignored\n (--is_my_output, --is_my_input, etc)\n --is_my_output : (bool) show outputs controlled by you\n --is_not_my_output : (bool) show outputs not controlled by you\n --is_my_input : (bool) show outputs created by you\n --is_not_my_input : (bool) show outputs not created by you\n --exclude_internal_transfers : (bool) excludes any outputs that are exactly this\n combination: \"--is_my_input --is_my_output --type=other\" this allows to exclude \"change\"\n payments, this flag can be used in combination with\n any of the other flags\n --account_id=<account_id> : (str, list) id(s) of the account(s) to query\n --wallet_id=<wallet_id> : (str) restrict results to specific wallet\n --page=<page> : (int) page to return for paginating\n --page_size=<page_size> : (int) number of items on page for pagination\n --include_total : (bool) calculate total number of items and pages\n\nReturns:\n (List) " + "help": "Plot transaction output sum over days.\n\nUsage:\n txo_plot [--days_back=<days_back> |\n [--start_day=<start_day> [--days_after=<days_after> | --end_day=<end_day>]]\n ]\n [--type=<type>...] [--txid=<txid>...] [--claim_id=<claim_id>...]\n [--channel_id=<channel_id>...] [--name=<name>...] [--is_spent]\n [--is_not_spent] [--is_my_input_or_output] [--is_my_output]\n [--is_not_my_output] [--is_my_input] [--is_not_my_input]\n [--exclude_internal_transfers] [--account_id=<account_id>...] [--page=<page>]\n [--page_size=<page_size>] [--include_total]\n\nOptions:\n --days_back=<days_back> : (int) number of days back from today (not compatible\n with --start_day, --days_after, --end_day) [default:\n 0]\n --start_day=<start_day> : (str) start on specific date (format: YYYY-MM-DD)\n (instead of --days_back)\n --days_after=<days_after> : (int) end number of days after --start_day (instead of\n using --end_day)\n --end_day=<end_day> : (str) end on specific date (format: YYYY-MM-DD)\n (instead of --days_after)\n --type=<type> : (str, list) claim type: stream, channel, support,\n purchase, collection, repost, other\n --txid=<txid> : (str, list) transaction id of outputs\n --claim_id=<claim_id> : (str, list) claim id\n --channel_id=<channel_id> : (str, list) claims in this channel\n --name=<name> : (str, list) claim name\n --is_spent : (bool) only show spent txos\n --is_not_spent : (bool) only show not spent txos\n --is_my_input_or_output : (bool) txos which have your inputs or your outputs, if\n using this flag the other related flags are ignored.\n (\"--is_my_output\", \"--is_my_input\", etc)\n --is_my_output : (bool) show outputs controlled by you\n --is_not_my_output : (bool) show outputs not controlled by you\n --is_my_input : (bool) show outputs created by you\n --is_not_my_input : (bool) show outputs not created by you\n --exclude_internal_transfers : (bool) excludes any outputs that are exactly this\n combination: \"--is_my_input\" + \"--is_my_output\" + \"--\n type=other\" this allows to exclude \"change\" payments,\n this flag can be used in combination with any of the\n other flags\n --account_id=<account_id> : (str, list) id(s) of the account(s) to query\n --page=<page> : (int) page to return for paginating\n --page_size=<page_size> : (int) number of items on page for pagination\n --include_total : (bool) calculate total number of items and pages\n\nReturns:\n (List) " }, "txo_spend": { "name": "spend", @@ -12490,6 +12266,13 @@ interface = { "default": False, "type": "bool" }, + { + "name": "wallet_id", + "desc": [ + "restrict results to specific wallet" + ], + "type": "str" + }, { "name": "type", "desc": [ @@ -12546,7 +12329,7 @@ interface = { "desc": [ "txos which have your inputs or your outputs,", "if using this flag the other related flags", - "are ignored (--is_my_output, --is_my_input, etc)" + "are ignored. (\"--is_my_output\", \"--is_my_input\", etc)" ], "default": False, "type": "bool" @@ -12587,7 +12370,7 @@ interface = { "name": "exclude_internal_transfers", "desc": [ "excludes any outputs that are exactly this combination:", - "\"--is_my_input --is_my_output --type=other\"", + "\"--is_my_input\" + \"--is_my_output\" + \"--type=other\"", "this allows to exclude \"change\" payments, this", "flag can be used in combination with any of the other flags" ], @@ -12601,13 +12384,6 @@ interface = { ], "type": "str, list" }, - { - "name": "wallet_id", - "desc": [ - "restrict results to specific wallet" - ], - "type": "str" - }, { "name": "change_account_id", "desc": [ @@ -12700,7 +12476,7 @@ interface = { "desc": [ "txos which have your inputs or your outputs,", "if using this flag the other related flags", - "are ignored (--is_my_output, --is_my_input, etc)" + "are ignored. (\"--is_my_output\", \"--is_my_input\", etc)" ], "default": False, "type": "bool" @@ -12741,7 +12517,7 @@ interface = { "name": "exclude_internal_transfers", "desc": [ "excludes any outputs that are exactly this combination:", - "\"--is_my_input --is_my_output --type=other\"", + "\"--is_my_input\" + \"--is_my_output\" + \"--type=other\"", "this allows to exclude \"change\" payments, this", "flag can be used in combination with any of the other flags" ], @@ -12755,13 +12531,6 @@ interface = { ], "type": "str, list" }, - { - "name": "wallet_id", - "desc": [ - "restrict results to specific wallet" - ], - "type": "str" - }, { "name": "change_account_id", "desc": [ @@ -12795,7 +12564,7 @@ interface = { ], "group": "txo", "cli": "txo spend", - "help": "Spend transaction outputs, batching into multiple transactions as necessary.\n\nUsage:\n txo spend [--batch_size=<batch_size>] [--include_full_tx]\n [--type=<type>...] [--txid=<txid>...] [--claim_id=<claim_id>...]\n [--channel_id=<channel_id>...] [--name=<name>...] [--is_spent]\n [--is_not_spent] [--is_my_input_or_output] [--is_my_output]\n [--is_not_my_output] [--is_my_input] [--is_not_my_input]\n [--exclude_internal_transfers] [--account_id=<account_id>...]\n [--wallet_id=<wallet_id>] [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --batch_size=<batch_size> : (int) number of txos to spend per\n transactions [default: 500]\n --include_full_tx : (bool) include entire tx in output and not\n just the txid\n --type=<type> : (str, list) claim type: stream, channel,\n support, purchase, collection, repost,\n other\n --txid=<txid> : (str, list) transaction id of outputs\n --claim_id=<claim_id> : (str, list) claim id\n --channel_id=<channel_id> : (str, list) claims in this channel\n --name=<name> : (str, list) claim name\n --is_spent : (bool) only show spent txos\n --is_not_spent : (bool) only show not spent txos\n --is_my_input_or_output : (bool) txos which have your inputs or your\n outputs, if using this flag the other\n related flags are ignored (--is_my_output, --is_my_input, etc)\n --is_my_output : (bool) show outputs controlled by you\n --is_not_my_output : (bool) show outputs not controlled by you\n --is_my_input : (bool) show outputs created by you\n --is_not_my_input : (bool) show outputs not created by you\n --exclude_internal_transfers : (bool) excludes any outputs that are\n exactly this combination: \"--is_my_input --is_my_output --type=other\" this allows to\n exclude \"change\" payments, this flag can be\n used in combination with any of the other\n flags\n --account_id=<account_id> : (str, list) id(s) of the account(s) to\n query\n --wallet_id=<wallet_id> : (str) restrict results to specific wallet\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (List[Transaction]) " + "help": "Spend transaction outputs, batching into multiple transactions as necessary.\n\nUsage:\n txo spend [--batch_size=<batch_size>] [--include_full_tx]\n [--type=<type>...] [--txid=<txid>...] [--claim_id=<claim_id>...]\n [--channel_id=<channel_id>...] [--name=<name>...] [--is_spent]\n [--is_not_spent] [--is_my_input_or_output] [--is_my_output]\n [--is_not_my_output] [--is_my_input] [--is_not_my_input]\n [--exclude_internal_transfers] [--account_id=<account_id>...]\n [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --batch_size=<batch_size> : (int) number of txos to spend per\n transactions [default: 500]\n --include_full_tx : (bool) include entire tx in output and not\n just the txid\n --wallet_id=<wallet_id> : (str) restrict results to specific wallet\n --type=<type> : (str, list) claim type: stream, channel,\n support, purchase, collection, repost,\n other\n --txid=<txid> : (str, list) transaction id of outputs\n --claim_id=<claim_id> : (str, list) claim id\n --channel_id=<channel_id> : (str, list) claims in this channel\n --name=<name> : (str, list) claim name\n --is_spent : (bool) only show spent txos\n --is_not_spent : (bool) only show not spent txos\n --is_my_input_or_output : (bool) txos which have your inputs or your\n outputs, if using this flag the other\n related flags are ignored. (\"--\n is_my_output\", \"--is_my_input\", etc)\n --is_my_output : (bool) show outputs controlled by you\n --is_not_my_output : (bool) show outputs not controlled by you\n --is_my_input : (bool) show outputs created by you\n --is_not_my_input : (bool) show outputs not created by you\n --exclude_internal_transfers : (bool) excludes any outputs that are\n exactly this combination: \"--is_my_input\" +\n \"--is_my_output\" + \"--type=other\" this\n allows to exclude \"change\" payments, this\n flag can be used in combination with any of\n the other flags\n --account_id=<account_id> : (str, list) id(s) of the account(s) to\n query\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (List[Transaction]) " }, "txo_sum": { "name": "sum", @@ -12865,7 +12634,7 @@ interface = { "desc": [ "txos which have your inputs or your outputs,", "if using this flag the other related flags", - "are ignored (--is_my_output, --is_my_input, etc)" + "are ignored. (\"--is_my_output\", \"--is_my_input\", etc)" ], "default": False, "type": "bool" @@ -12906,7 +12675,7 @@ interface = { "name": "exclude_internal_transfers", "desc": [ "excludes any outputs that are exactly this combination:", - "\"--is_my_input --is_my_output --type=other\"", + "\"--is_my_input\" + \"--is_my_output\" + \"--type=other\"", "this allows to exclude \"change\" payments, this", "flag can be used in combination with any of the other flags" ], @@ -12920,13 +12689,6 @@ interface = { ], "type": "str, list" }, - { - "name": "wallet_id", - "desc": [ - "restrict results to specific wallet" - ], - "type": "str" - }, { "name": "change_account_id", "desc": [ @@ -13021,7 +12783,7 @@ interface = { "desc": [ "txos which have your inputs or your outputs,", "if using this flag the other related flags", - "are ignored (--is_my_output, --is_my_input, etc)" + "are ignored. (\"--is_my_output\", \"--is_my_input\", etc)" ], "default": False, "type": "bool" @@ -13062,7 +12824,7 @@ interface = { "name": "exclude_internal_transfers", "desc": [ "excludes any outputs that are exactly this combination:", - "\"--is_my_input --is_my_output --type=other\"", + "\"--is_my_input\" + \"--is_my_output\" + \"--type=other\"", "this allows to exclude \"change\" payments, this", "flag can be used in combination with any of the other flags" ], @@ -13076,13 +12838,6 @@ interface = { ], "type": "str, list" }, - { - "name": "wallet_id", - "desc": [ - "restrict results to specific wallet" - ], - "type": "str" - }, { "name": "change_account_id", "desc": [ @@ -13116,7 +12871,7 @@ interface = { ], "group": "txo", "cli": "txo sum", - "help": "Sum of transaction outputs.\n\nUsage:\n txo sum\n [--type=<type>...] [--txid=<txid>...] [--claim_id=<claim_id>...]\n [--channel_id=<channel_id>...] [--name=<name>...] [--is_spent]\n [--is_not_spent] [--is_my_input_or_output] [--is_my_output]\n [--is_not_my_output] [--is_my_input] [--is_not_my_input]\n [--exclude_internal_transfers] [--account_id=<account_id>...]\n [--wallet_id=<wallet_id>] [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --type=<type> : (str, list) claim type: stream, channel,\n support, purchase, collection, repost,\n other\n --txid=<txid> : (str, list) transaction id of outputs\n --claim_id=<claim_id> : (str, list) claim id\n --channel_id=<channel_id> : (str, list) claims in this channel\n --name=<name> : (str, list) claim name\n --is_spent : (bool) only show spent txos\n --is_not_spent : (bool) only show not spent txos\n --is_my_input_or_output : (bool) txos which have your inputs or your\n outputs, if using this flag the other\n related flags are ignored (--is_my_output, --is_my_input, etc)\n --is_my_output : (bool) show outputs controlled by you\n --is_not_my_output : (bool) show outputs not controlled by you\n --is_my_input : (bool) show outputs created by you\n --is_not_my_input : (bool) show outputs not created by you\n --exclude_internal_transfers : (bool) excludes any outputs that are\n exactly this combination: \"--is_my_input --is_my_output --type=other\" this allows to\n exclude \"change\" payments, this flag can be\n used in combination with any of the other\n flags\n --account_id=<account_id> : (str, list) id(s) of the account(s) to\n query\n --wallet_id=<wallet_id> : (str) restrict results to specific wallet\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (int) sum of filtered outputs" + "help": "Sum of transaction outputs.\n\nUsage:\n txo sum\n [--type=<type>...] [--txid=<txid>...] [--claim_id=<claim_id>...]\n [--channel_id=<channel_id>...] [--name=<name>...] [--is_spent]\n [--is_not_spent] [--is_my_input_or_output] [--is_my_output]\n [--is_not_my_output] [--is_my_input] [--is_not_my_input]\n [--exclude_internal_transfers] [--account_id=<account_id>...]\n [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --type=<type> : (str, list) claim type: stream, channel,\n support, purchase, collection, repost,\n other\n --txid=<txid> : (str, list) transaction id of outputs\n --claim_id=<claim_id> : (str, list) claim id\n --channel_id=<channel_id> : (str, list) claims in this channel\n --name=<name> : (str, list) claim name\n --is_spent : (bool) only show spent txos\n --is_not_spent : (bool) only show not spent txos\n --is_my_input_or_output : (bool) txos which have your inputs or your\n outputs, if using this flag the other\n related flags are ignored. (\"--\n is_my_output\", \"--is_my_input\", etc)\n --is_my_output : (bool) show outputs controlled by you\n --is_not_my_output : (bool) show outputs not controlled by you\n --is_my_input : (bool) show outputs created by you\n --is_not_my_input : (bool) show outputs not created by you\n --exclude_internal_transfers : (bool) excludes any outputs that are\n exactly this combination: \"--is_my_input\" +\n \"--is_my_output\" + \"--type=other\" this\n allows to exclude \"change\" payments, this\n flag can be used in combination with any of\n the other flags\n --account_id=<account_id> : (str, list) id(s) of the account(s) to\n query\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (int) sum of filtered outputs" }, "utxo_list": { "name": "list", @@ -13186,7 +12941,7 @@ interface = { "desc": [ "txos which have your inputs or your outputs,", "if using this flag the other related flags", - "are ignored (--is_my_output, --is_my_input, etc)" + "are ignored. (\"--is_my_output\", \"--is_my_input\", etc)" ], "default": False, "type": "bool" @@ -13227,7 +12982,7 @@ interface = { "name": "exclude_internal_transfers", "desc": [ "excludes any outputs that are exactly this combination:", - "\"--is_my_input --is_my_output --type=other\"", + "\"--is_my_input\" + \"--is_my_output\" + \"--type=other\"", "this allows to exclude \"change\" payments, this", "flag can be used in combination with any of the other flags" ], @@ -13241,13 +12996,6 @@ interface = { ], "type": "str, list" }, - { - "name": "wallet_id", - "desc": [ - "restrict results to specific wallet" - ], - "type": "str" - }, { "name": "page", "desc": [ @@ -13367,7 +13115,7 @@ interface = { "desc": [ "txos which have your inputs or your outputs,", "if using this flag the other related flags", - "are ignored (--is_my_output, --is_my_input, etc)" + "are ignored. (\"--is_my_output\", \"--is_my_input\", etc)" ], "default": False, "type": "bool" @@ -13408,7 +13156,7 @@ interface = { "name": "exclude_internal_transfers", "desc": [ "excludes any outputs that are exactly this combination:", - "\"--is_my_input --is_my_output --type=other\"", + "\"--is_my_input\" + \"--is_my_output\" + \"--type=other\"", "this allows to exclude \"change\" payments, this", "flag can be used in combination with any of the other flags" ], @@ -13422,13 +13170,6 @@ interface = { ], "type": "str, list" }, - { - "name": "wallet_id", - "desc": [ - "restrict results to specific wallet" - ], - "type": "str" - }, { "name": "page", "desc": [ @@ -13454,7 +13195,7 @@ interface = { ], "group": "utxo", "cli": "utxo list", - "help": "List unspent transaction outputs\n\nUsage:\n utxo_list\n [--type=<type>...] [--txid=<txid>...] [--claim_id=<claim_id>...]\n [--channel_id=<channel_id>...] [--name=<name>...] [--is_spent]\n [--is_not_spent] [--is_my_input_or_output] [--is_my_output]\n [--is_not_my_output] [--is_my_input] [--is_not_my_input]\n [--exclude_internal_transfers] [--account_id=<account_id>...]\n [--wallet_id=<wallet_id>] [--page=<page>] [--page_size=<page_size>]\n [--include_total]\n\nOptions:\n --type=<type> : (str, list) claim type: stream, channel, support,\n purchase, collection, repost, other\n --txid=<txid> : (str, list) transaction id of outputs\n --claim_id=<claim_id> : (str, list) claim id\n --channel_id=<channel_id> : (str, list) claims in this channel\n --name=<name> : (str, list) claim name\n --is_spent : (bool) only show spent txos\n --is_not_spent : (bool) only show not spent txos\n --is_my_input_or_output : (bool) txos which have your inputs or your outputs, if\n using this flag the other related flags are ignored\n (--is_my_output, --is_my_input, etc)\n --is_my_output : (bool) show outputs controlled by you\n --is_not_my_output : (bool) show outputs not controlled by you\n --is_my_input : (bool) show outputs created by you\n --is_not_my_input : (bool) show outputs not created by you\n --exclude_internal_transfers : (bool) excludes any outputs that are exactly this\n combination: \"--is_my_input --is_my_output --type=other\" this allows to exclude \"change\"\n payments, this flag can be used in combination with\n any of the other flags\n --account_id=<account_id> : (str, list) id(s) of the account(s) to query\n --wallet_id=<wallet_id> : (str) restrict results to specific wallet\n --page=<page> : (int) page to return for paginating\n --page_size=<page_size> : (int) number of items on page for pagination\n --include_total : (bool) calculate total number of items and pages\n\nReturns:\n (Paginated[Output]) unspent outputs\n {\n \"page\": \"Page number of the current items.\",\n \"page_size\": \"Number of items to show on a page.\",\n \"total_pages\": \"Total number of pages.\",\n \"total_items\": \"Total number of items.\",\n \"items\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ]\n }" + "help": "List unspent transaction outputs\n\nUsage:\n utxo_list\n [--type=<type>...] [--txid=<txid>...] [--claim_id=<claim_id>...]\n [--channel_id=<channel_id>...] [--name=<name>...] [--is_spent]\n [--is_not_spent] [--is_my_input_or_output] [--is_my_output]\n [--is_not_my_output] [--is_my_input] [--is_not_my_input]\n [--exclude_internal_transfers] [--account_id=<account_id>...]\n [--page=<page>] [--page_size=<page_size>] [--include_total]\n\nOptions:\n --type=<type> : (str, list) claim type: stream, channel, support,\n purchase, collection, repost, other\n --txid=<txid> : (str, list) transaction id of outputs\n --claim_id=<claim_id> : (str, list) claim id\n --channel_id=<channel_id> : (str, list) claims in this channel\n --name=<name> : (str, list) claim name\n --is_spent : (bool) only show spent txos\n --is_not_spent : (bool) only show not spent txos\n --is_my_input_or_output : (bool) txos which have your inputs or your outputs, if\n using this flag the other related flags are ignored.\n (\"--is_my_output\", \"--is_my_input\", etc)\n --is_my_output : (bool) show outputs controlled by you\n --is_not_my_output : (bool) show outputs not controlled by you\n --is_my_input : (bool) show outputs created by you\n --is_not_my_input : (bool) show outputs not created by you\n --exclude_internal_transfers : (bool) excludes any outputs that are exactly this\n combination: \"--is_my_input\" + \"--is_my_output\" + \"--\n type=other\" this allows to exclude \"change\" payments,\n this flag can be used in combination with any of the\n other flags\n --account_id=<account_id> : (str, list) id(s) of the account(s) to query\n --page=<page> : (int) page to return for paginating\n --page_size=<page_size> : (int) number of items on page for pagination\n --include_total : (bool) calculate total number of items and pages\n\nReturns:\n (Paginated[Output]) unspent outputs\n {\n \"page\": \"Page number of the current items.\",\n \"page_size\": \"Number of items to show on a page.\",\n \"total_pages\": \"Total number of pages.\",\n \"total_items\": \"Total number of items.\",\n \"items\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ]\n }" }, "utxo_release": { "name": "release", @@ -13904,13 +13645,6 @@ interface = { ], "type": "str, list" }, - { - "name": "wallet_id", - "desc": [ - "restrict operation to specific wallet" - ], - "type": "str" - }, { "name": "change_account_id", "desc": [ @@ -13985,13 +13719,6 @@ interface = { } }, "kwargs": [ - { - "name": "wallet_id", - "desc": [ - "restrict operation to specific wallet" - ], - "type": "str" - }, { "name": "change_account_id", "desc": [ @@ -14025,7 +13752,7 @@ interface = { ], "group": "wallet", "cli": "wallet send", - "help": "Send the same number of credits to multiple addresses using all accounts in wallet to\nfund the transaction and the default account to receive any change.\n\nUsage:\n wallet send <amount> <addresses>...\n [--wallet_id=<wallet_id>] [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --amount=<amount> : (str) amount to send to each address\n --addresses=<addresses> : (str, list) addresses to send amounts to\n --wallet_id=<wallet_id> : (str) restrict operation to specific wallet\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) \n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" + "help": "Send the same number of credits to multiple addresses using all accounts in wallet to\nfund the transaction and the default account to receive any change.\n\nUsage:\n wallet send <amount> <addresses>...\n [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --amount=<amount> : (str) amount to send to each address\n --addresses=<addresses> : (str, list) addresses to send amounts to\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) \n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" }, "wallet_status": { "name": "status", From 8c525b6dfcd046992ba68ca0a73120c8333da6e7 Mon Sep 17 00:00:00 2001 From: Victor Shyba <victor.shyba@gmail.com> Date: Fri, 4 Sep 2020 01:25:56 -0300 Subject: [PATCH 12/21] fix tests --- tests/unit/service/test_parser.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/tests/unit/service/test_parser.py b/tests/unit/service/test_parser.py index 7e5db9242..90c873dac 100644 --- a/tests/unit/service/test_parser.py +++ b/tests/unit/service/test_parser.py @@ -45,9 +45,6 @@ class FakeAPI: ) -> Paginated[Wallet]: # list of wallets """list command doc""" - def thing_save(self, **another_test_kwargs): - """save command doc""" - def thing_update(self, value1: str) -> Wallet: # updated wallet """update command doc""" @@ -89,18 +86,23 @@ class BadAPI(FakeAPI): """ +class BadContinuationAPI(FakeAPI): + def thing_save(self, **another_test_kwargs): + """save command doc""" + + class TestParser(TestCase): maxDiff = None def test_parse_does_not_allow_duplicate_arguments(self): with self.assertRaises(Exception) as exc: parse_method(BadAPI.thing_search, get_expanders()) - self.assertEqual(exc.exception.args[0], "Expander 'another_test' argument repeated: thing_search.") + self.assertEqual(exc.exception.args[0], "Expander 'another_test' argument repeated: somevalue.") def test_parse_does_not_allow_line_break_with_two_dashes(self): # breaking with two dashes breaks docopt parsing with self.assertRaises(Exception) as exc: - get_api_definitions(FakeAPI) + get_api_definitions(BadContinuationAPI) self.assertEqual( exc.exception.args[0], "Continuation line starts with -- on thing save: \"--angry [default: 3]\"" @@ -241,13 +243,12 @@ class TestGenerator(TestCase): Usage: thing delete <value1> - [--wallet_id=<wallet_id>] [--change_account_id=<change_account_id>] + [--change_account_id=<change_account_id>] [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait] [--page=<page>] [--page_size=<page_size>] [--include_total] Options: --value1=<value1> : (str) - --wallet_id=<wallet_id> : (str) restrict operation to specific wallet --change_account_id=<change_account_id> : (str) account to send excess change (LBC) --fund_account_id=<fund_account_id> : (str, list) accounts to fund the transaction From c3884352dbdb51cc5fd074554d8acc0626803d66 Mon Sep 17 00:00:00 2001 From: Victor Shyba <victor.shyba@gmail.com> Date: Fri, 4 Sep 2020 01:29:25 -0300 Subject: [PATCH 13/21] improve error messages --- lbry/service/parser.py | 7 +++++-- tests/unit/service/test_parser.py | 5 ++++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/lbry/service/parser.py b/lbry/service/parser.py index 70e1e6071..c37cf5db6 100644 --- a/lbry/service/parser.py +++ b/lbry/service/parser.py @@ -159,7 +159,9 @@ def parse_method(method, expanders: dict) -> dict: raise Exception(f"Expander '{expander_name}' not found, used by {d['name']}.") for expanded in expanders[expander_name]: if expanded['name'] in known_names: - raise Exception(f"Expander '{expander_name}' argument repeated: {expanded['name']}.") + raise Exception( + f"Expander '{expander_name}' argument repeated '{expanded['name']}' used by {d['name']}." + ) d['arguments'].append(expanded) d['kwargs'].append(expanded) known_names.add(expanded['name']) @@ -213,11 +215,12 @@ def generate_options(method, indent) -> List[str]: if 'default' in arg: if arg['type'] != 'bool': text += f" [default: {arg['default']}]" - wrapped = textwrap.wrap(text, LINE_WIDTH-len(left)) + wrapped = textwrap.wrap(text, LINE_WIDTH-len(left), break_long_words=False) lines = [f"{left}{wrapped.pop(0)}"] # dont break on -- or docopt will parse as a new option for line in wrapped: if line.strip().startswith('--'): + print(f"Full text before continuation error: \"{text}\"") raise Exception(f"Continuation line starts with -- on {method['cli']}: \"{line.strip()}\"") lines.append(f"{' ' * len(left)} {line}") options.extend(lines) diff --git a/tests/unit/service/test_parser.py b/tests/unit/service/test_parser.py index 90c873dac..38a35063a 100644 --- a/tests/unit/service/test_parser.py +++ b/tests/unit/service/test_parser.py @@ -97,7 +97,10 @@ class TestParser(TestCase): def test_parse_does_not_allow_duplicate_arguments(self): with self.assertRaises(Exception) as exc: parse_method(BadAPI.thing_search, get_expanders()) - self.assertEqual(exc.exception.args[0], "Expander 'another_test' argument repeated: somevalue.") + self.assertEqual( + exc.exception.args[0], + "Expander 'another_test' argument repeated 'somevalue' used by thing_search." + ) def test_parse_does_not_allow_line_break_with_two_dashes(self): # breaking with two dashes breaks docopt parsing From 0f63103db53319405fc722f98b671459935bd34c Mon Sep 17 00:00:00 2001 From: Victor Shyba <victor.shyba@gmail.com> Date: Fri, 4 Sep 2020 01:36:49 -0300 Subject: [PATCH 14/21] fix wallet_id parameter --- lbry/service/api.py | 5 +++-- lbry/service/metadata.py | 9 ++++++++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/lbry/service/api.py b/lbry/service/api.py index ff25e9010..b6a9cfe7c 100644 --- a/lbry/service/api.py +++ b/lbry/service/api.py @@ -1669,6 +1669,7 @@ class API: name: str, # name of the channel prefixed with '@' bid: str, # amount to back the channel allow_duplicate_name=False, # create new channel even if one already exists with given name + wallet_id: str = None, # restrict operation to specific wallet **channel_and_tx_kwargs ) -> Transaction: # new channel transaction """ @@ -1683,7 +1684,7 @@ class API: tx_dict, kwargs = pop_kwargs('tx', tx_kwargs(**kwargs)) assert_consumed_kwargs(kwargs) self.ledger.valid_channel_name_or_error(name) - wallet = self.wallets.get_or_default_for_spending(tx_dict.pop('wallet_id')) + wallet = self.wallets.get_or_default_for_spending(wallet_id) amount = self.ledger.get_dewies_or_error('bid', bid, positive_value=True) holding_account = wallet.accounts.get_or_default(channel_dict.pop('account_id')) funding_accounts = wallet.accounts.get_or_all(tx_dict.pop('fund_account_id')) @@ -2760,8 +2761,8 @@ class API: """ txo_dict, kwargs = pop_kwargs('txo_filter', txo_filter_kwargs(**txo_filter_and_pagination_kwargs)) pagination, kwargs = pop_kwargs('pagination', pagination_kwargs(**kwargs)) + wallet = self.wallets.get_or_default(kwargs.pop('wallet_id')) assert_consumed_kwargs(kwargs) - wallet = self.wallets.get_or_default(txo_dict.pop('wallet_id')) accounts = wallet.accounts.get_or_all(txo_dict.pop('account_id')) constraints = { 'resolve': resolve, diff --git a/lbry/service/metadata.py b/lbry/service/metadata.py index 199830432..0e4a26e67 100644 --- a/lbry/service/metadata.py +++ b/lbry/service/metadata.py @@ -1256,6 +1256,13 @@ interface = { "default": False, "type": "bool" }, + { + "name": "wallet_id", + "desc": [ + "restrict operation to specific wallet" + ], + "type": "str" + }, { "name": "email", "desc": [ @@ -1603,7 +1610,7 @@ interface = { ], "group": "channel", "cli": "channel create", - "help": "Create a new channel by generating a channel private key and establishing an '@' prefixed claim.\n\nUsage:\n channel create (<name>) (<bid> | --bid=<bid>) [--allow_duplicate_name]\n [--email=<email>] [--website_url=<website_url>]\n [--cover_url=<cover_url>] [--featured=<featured>...] [--title=<title>]\n [--description=<description>] [--thumbnail_url=<thumbnail_url>]\n [--tag=<tag>...] [--language=<language>...] [--location=<location>...]\n [--account_id=<account_id>] [--claim_address=<claim_address>]\n [--channel_id=<channel_id>] [--channel_name=<channel_name>]\n [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --name=<name> : (str) name of the channel prefixed with '@'\n --bid=<bid> : (str) amount to back the channel\n --allow_duplicate_name : (bool) create new channel even if one\n already exists with given name\n --email=<email> : (str) email of channel owner\n --website_url=<website_url> : (str) website url\n --cover_url=<cover_url> : (str) url to cover image\n --featured=<featured> : (str, list) claim_id(s) of featured content\n in channel\n --title=<title> : (str)\n --description=<description> : (str)\n --thumbnail_url=<thumbnail_url> : (str) url to thumbnail image\n --tag=<tag> : (str, list)\n --language=<language> : (str, list) languages used by the channel,\n using RFC 5646 format, eg: for English\n `--language=en` for Spanish (Spain)\n `--language=es-ES` for Spanish (Mexican)\n `--language=es-MX` for Chinese (Simplified)\n `--language=zh-Hans` for Chinese\n (Traditional) `--language=zh-Hant`\n --location=<location> : (str, list) locations of the channel,\n consisting of 2 letter `country` code and a\n `state`, `city` and a postal `code` along\n with a `latitude` and `longitude`. for JSON\n RPC: pass a dictionary with aforementioned\n attributes as keys, eg: ... \"locations\":\n [{'country': 'US', 'state': 'NH'}] ... for\n command line: pass a colon delimited list\n with values in the following order:\n \"COUNTRY:STATE:CITY:CODE:LATITUDE:LONGITUDE\"\n making sure to include colon for blank\n values, for example to provide only the\n city: ...--locations=\"::Manchester\" with\n all values set: ...--\n locations=\"US:NH:Manchester:03101:42.990605:-71.460989\"\n optionally, you can just pass the\n \"LATITUDE:LONGITUDE\": ...--\n locations=\"42.990605:-71.460989\" finally,\n you can also pass JSON string of dictionary\n on the command line as you would via JSON\n RPC ...--locations=\"{'country': 'US',\n 'state': 'NH'}\"\n --account_id=<account_id> : (str) account to hold the claim\n --claim_address=<claim_address> : (str) specific address where the claim is\n held, if not specified it will be\n determined automatically from the account\n --channel_id=<channel_id> : (str) claim id of the publishing channel\n --channel_name=<channel_name> : (str) name of publishing channel\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) new channel transaction\n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" + "help": "Create a new channel by generating a channel private key and establishing an '@' prefixed claim.\n\nUsage:\n channel create (<name>) (<bid> | --bid=<bid>) [--allow_duplicate_name]\n [--email=<email>] [--website_url=<website_url>]\n [--cover_url=<cover_url>] [--featured=<featured>...] [--title=<title>]\n [--description=<description>] [--thumbnail_url=<thumbnail_url>]\n [--tag=<tag>...] [--language=<language>...] [--location=<location>...]\n [--account_id=<account_id>] [--claim_address=<claim_address>]\n [--channel_id=<channel_id>] [--channel_name=<channel_name>]\n [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --name=<name> : (str) name of the channel prefixed with '@'\n --bid=<bid> : (str) amount to back the channel\n --allow_duplicate_name : (bool) create new channel even if one\n already exists with given name\n --wallet_id=<wallet_id> : (str) restrict operation to specific wallet\n --email=<email> : (str) email of channel owner\n --website_url=<website_url> : (str) website url\n --cover_url=<cover_url> : (str) url to cover image\n --featured=<featured> : (str, list) claim_id(s) of featured content\n in channel\n --title=<title> : (str)\n --description=<description> : (str)\n --thumbnail_url=<thumbnail_url> : (str) url to thumbnail image\n --tag=<tag> : (str, list)\n --language=<language> : (str, list) languages used by the channel,\n using RFC 5646 format, eg: for English\n `--language=en` for Spanish (Spain)\n `--language=es-ES` for Spanish (Mexican)\n `--language=es-MX` for Chinese (Simplified)\n `--language=zh-Hans` for Chinese\n (Traditional) `--language=zh-Hant`\n --location=<location> : (str, list) locations of the channel,\n consisting of 2 letter `country` code and a\n `state`, `city` and a postal `code` along\n with a `latitude` and `longitude`. for JSON\n RPC: pass a dictionary with aforementioned\n attributes as keys, eg: ... \"locations\":\n [{'country': 'US', 'state': 'NH'}] ... for\n command line: pass a colon delimited list\n with values in the following order:\n \"COUNTRY:STATE:CITY:CODE:LATITUDE:LONGITUDE\"\n making sure to include colon for blank\n values, for example to provide only the\n city: ...--locations=\"::Manchester\" with\n all values set: ...--\n locations=\"US:NH:Manchester:03101:42.990605:-71.460989\"\n optionally, you can just pass the\n \"LATITUDE:LONGITUDE\": ...--\n locations=\"42.990605:-71.460989\" finally,\n you can also pass JSON string of dictionary\n on the command line as you would via JSON\n RPC ...--locations=\"{'country': 'US',\n 'state': 'NH'}\"\n --account_id=<account_id> : (str) account to hold the claim\n --claim_address=<claim_address> : (str) specific address where the claim is\n held, if not specified it will be\n determined automatically from the account\n --channel_id=<channel_id> : (str) claim id of the publishing channel\n --channel_name=<channel_name> : (str) name of publishing channel\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) new channel transaction\n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" }, "channel_export": { "name": "export", From b4ee07162dd3f91e2a53ae317849b51f51c097eb Mon Sep 17 00:00:00 2001 From: Lex Berezhny <lex@damoti.com> Date: Fri, 4 Sep 2020 10:17:45 -0400 Subject: [PATCH 15/21] made doc parsing error more helpful --- lbry/service/parser.py | 15 ++++--- tests/unit/service/test_parser.py | 67 ++++++++++++++----------------- 2 files changed, 41 insertions(+), 41 deletions(-) diff --git a/lbry/service/parser.py b/lbry/service/parser.py index c37cf5db6..d92ab7655 100644 --- a/lbry/service/parser.py +++ b/lbry/service/parser.py @@ -160,7 +160,9 @@ def parse_method(method, expanders: dict) -> dict: for expanded in expanders[expander_name]: if expanded['name'] in known_names: raise Exception( - f"Expander '{expander_name}' argument repeated '{expanded['name']}' used by {d['name']}." + f"Duplicate argument '{expanded['name']}' in '{d['name']}'. " + f"Expander '{expander_name}' is attempting to add an argument which is " + f"already defined in the '{d['name']}' command (possibly by another expander)." ) d['arguments'].append(expanded) d['kwargs'].append(expanded) @@ -217,12 +219,15 @@ def generate_options(method, indent) -> List[str]: text += f" [default: {arg['default']}]" wrapped = textwrap.wrap(text, LINE_WIDTH-len(left), break_long_words=False) lines = [f"{left}{wrapped.pop(0)}"] - # dont break on -- or docopt will parse as a new option for line in wrapped: if line.strip().startswith('--'): - print(f"Full text before continuation error: \"{text}\"") - raise Exception(f"Continuation line starts with -- on {method['cli']}: \"{line.strip()}\"") - lines.append(f"{' ' * len(left)} {line}") + raise Exception( + f"Word wrapping the description for argument '{arg['name']}' in method " + f"'{method['method'].__name__}' resulted in a line which starts with '--' and this will " + f"break docopt. Try wrapping the '--' in quotes. Instead of --foo do \"--foo\". " + f"Line which caused this issue is:\n{line.strip()}" + ) + lines.append(f"{' '*len(left)} {line}") options.extend(lines) return options diff --git a/tests/unit/service/test_parser.py b/tests/unit/service/test_parser.py index 38a35063a..82254561c 100644 --- a/tests/unit/service/test_parser.py +++ b/tests/unit/service/test_parser.py @@ -7,21 +7,6 @@ from lbry.service.parser import ( ) -@expander -def test_kwargs(somevalue=1): - pass - - -@expander -def another_test_kwargs( - somevalue=1, - repeated=2, - bad_description=3, # using linebreaks makes docopt very very --angry - angry=4 -): - pass - - class FakeAPI: THING_DOC = "thing doc" @@ -72,23 +57,29 @@ class FakeAPI: """ -class BadAPI(FakeAPI): - def thing_search( - self, - query='a', - **test_and_another_test_kwargs) -> Wallet: - """ - search command doc - - Usage: - thing search [--query=<query>] - {kwargs} - """ +@expander +def test_kwargs( + somevalue=1 +): + pass -class BadContinuationAPI(FakeAPI): - def thing_save(self, **another_test_kwargs): - """save command doc""" +@expander +def another_test_kwargs( + somevalue=1, + bad_description=3, # using linebreaks makes docopt very very --angry +): + pass + + +class CommandWithRepeatedArgs(FakeAPI): + def thing_bad(self, **test_and_another_test_kwargs) -> Wallet: + """bad thing""" + + +class CommandWithDoubleDashAtLineStart(FakeAPI): + def thing_bad(self, **another_test_kwargs): + """bad thing""" class TestParser(TestCase): @@ -96,19 +87,23 @@ class TestParser(TestCase): def test_parse_does_not_allow_duplicate_arguments(self): with self.assertRaises(Exception) as exc: - parse_method(BadAPI.thing_search, get_expanders()) + parse_method(CommandWithRepeatedArgs.thing_bad, get_expanders()) self.assertEqual( exc.exception.args[0], - "Expander 'another_test' argument repeated 'somevalue' used by thing_search." + "Duplicate argument 'somevalue' in 'thing_bad'. " + "Expander 'another_test' is attempting to add an argument which is already defined " + "in the 'thing_bad' command (possibly by another expander)." ) - def test_parse_does_not_allow_line_break_with_two_dashes(self): - # breaking with two dashes breaks docopt parsing + def test_parse_does_not_allow_two_dashes_at_start_of_line(self): with self.assertRaises(Exception) as exc: - get_api_definitions(BadContinuationAPI) + get_api_definitions(CommandWithDoubleDashAtLineStart) self.assertEqual( exc.exception.args[0], - "Continuation line starts with -- on thing save: \"--angry [default: 3]\"" + "Word wrapping the description for argument 'bad_description' in method 'thing_bad' " + "resulted in a line which starts with '--' and this will break docopt. Try wrapping " + "the '--' in quotes. Instead of --foo do \"--foo\". Line which caused this issue is:" + "\n--angry [default: 3]" ) def test_parse_method(self): From 33e266a0f472041695055e5aef0280b1bc998990 Mon Sep 17 00:00:00 2001 From: Lex Berezhny <lex@damoti.com> Date: Fri, 4 Sep 2020 10:57:11 -0400 Subject: [PATCH 16/21] unit test to make sure all generated help can be parsed by docopt --- tests/unit/service/test_parser.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/tests/unit/service/test_parser.py b/tests/unit/service/test_parser.py index 82254561c..d2b688cfa 100644 --- a/tests/unit/service/test_parser.py +++ b/tests/unit/service/test_parser.py @@ -1,6 +1,9 @@ -from unittest import TestCase +from unittest import TestCase, mock from textwrap import dedent -from lbry.service.api import Paginated, Wallet, expander + +from docopt import docopt, DocoptExit + +from lbry.service.api import API, Paginated, Wallet, expander from lbry.service.parser import ( parse_method, get_expanders, get_api_definitions, generate_options @@ -194,6 +197,14 @@ class TestParser(TestCase): class TestGenerator(TestCase): maxDiff = None + def test_generated_api_works_in_docopt(self): + from lbry.service.metadata import interface + for command in interface["commands"].values(): + with mock.patch('sys.exit') as exit: + with self.assertRaises(DocoptExit): + docopt(command["help"], ["--help"]) + self.assertTrue(exit.called) + def test_generate_options(self): expanders = get_expanders() self.assertEqual( From aa6d78b5159afad3cf4d6f20a53fa55ba769532b Mon Sep 17 00:00:00 2001 From: Victor Shyba <victor.shyba@gmail.com> Date: Fri, 4 Sep 2020 15:09:28 -0300 Subject: [PATCH 17/21] fix definitions, bump metadata --- lbry/service/api.py | 4 ++-- lbry/service/metadata.py | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/lbry/service/api.py b/lbry/service/api.py index b6a9cfe7c..119a9eaf4 100644 --- a/lbry/service/api.py +++ b/lbry/service/api.py @@ -612,7 +612,7 @@ class API: get <uri> [<file_name> | --file_name=<file_name>] [<download_directory> | --download_directory=<download_directory>] [<timeout> | --timeout=<timeout>] - [--save_file=<save_file>] [--wallet_id=<wallet_id>] + [--save_file] [--wallet_id=<wallet_id>] """ return await self.service.get( @@ -2755,7 +2755,7 @@ class API: List my transaction outputs. Usage: - txo list [--include_received_tips] [--resolve] [--order_by] + txo list [--include_received_tips] [--resolve] [--order_by=<order_by>] {kwargs} """ diff --git a/lbry/service/metadata.py b/lbry/service/metadata.py index 0e4a26e67..466d8eb35 100644 --- a/lbry/service/metadata.py +++ b/lbry/service/metadata.py @@ -7045,7 +7045,7 @@ interface = { " get <uri> [<file_name> | --file_name=<file_name>]", " [<download_directory> | --download_directory=<download_directory>]", " [<timeout> | --timeout=<timeout>]", - " [--save_file=<save_file>] [--wallet_id=<wallet_id>]" + " [--save_file] [--wallet_id=<wallet_id>]" ] }, "arguments": [ @@ -7127,7 +7127,7 @@ interface = { } }, "cli": "get", - "help": "Download stream from a LBRY name.\n\nUsage:\n get <uri> [<file_name> | --file_name=<file_name>]\n [<download_directory> | --download_directory=<download_directory>]\n [<timeout> | --timeout=<timeout>]\n [--save_file=<save_file>] [--wallet_id=<wallet_id>]\n\nOptions:\n --uri=<uri> : (str) uri of the content to download\n --file_name=<file_name> : (str) specified name for the downloaded\n file, overrides the stream file name\n --download_directory=<download_directory> : (str) full path to the directory to\n download into\n --timeout=<timeout> : (int) download timeout in number of\n seconds\n --save_file : (bool) save the file to the downloads\n directory\n --wallet_id=<wallet_id> : (str) wallet to check for claim purchase\n reciepts\n\nReturns:\n (ManagedStream) \n {\n \"streaming_url\": \"(str) url to stream the file using range requests\",\n \"completed\": \"(bool) true if download is completed\",\n \"file_name\": \"(str) name of file\",\n \"download_directory\": \"(str) download directory\",\n \"points_paid\": \"(float) credit paid to download file\",\n \"stopped\": \"(bool) true if download is stopped\",\n \"stream_hash\": \"(str) stream hash of file\",\n \"stream_name\": \"(str) stream name\",\n \"suggested_file_name\": \"(str) suggested file name\",\n \"sd_hash\": \"(str) sd hash of file\",\n \"download_path\": \"(str) download path of file\",\n \"mime_type\": \"(str) mime type of file\",\n \"key\": \"(str) key attached to file\",\n \"total_bytes_lower_bound\": \"(int) lower bound file size in bytes\",\n \"total_bytes\": \"(int) file upper bound size in bytes\",\n \"written_bytes\": \"(int) written size in bytes\",\n \"blobs_completed\": \"(int) number of fully downloaded blobs\",\n \"blobs_in_stream\": \"(int) total blobs on stream\",\n \"blobs_remaining\": \"(int) total blobs remaining to download\",\n \"status\": \"(str) downloader status\",\n \"claim_id\": \"(str) None if claim is not found else the claim id\",\n \"txid\": \"(str) None if claim is not found else the transaction id\",\n \"nout\": \"(int) None if claim is not found else the transaction output index\",\n \"outpoint\": \"(str) None if claim is not found else the tx and output\",\n \"metadata\": \"(dict) None if claim is not found else the claim metadata\",\n \"channel_claim_id\": \"(str) None if claim is not found or not signed\",\n \"channel_name\": \"(str) None if claim is not found or not signed\",\n \"claim_name\": \"(str) None if claim is not found else the claim name\"\n }" + "help": "Download stream from a LBRY name.\n\nUsage:\n get <uri> [<file_name> | --file_name=<file_name>]\n [<download_directory> | --download_directory=<download_directory>]\n [<timeout> | --timeout=<timeout>]\n [--save_file] [--wallet_id=<wallet_id>]\n\nOptions:\n --uri=<uri> : (str) uri of the content to download\n --file_name=<file_name> : (str) specified name for the downloaded\n file, overrides the stream file name\n --download_directory=<download_directory> : (str) full path to the directory to\n download into\n --timeout=<timeout> : (int) download timeout in number of\n seconds\n --save_file : (bool) save the file to the downloads\n directory\n --wallet_id=<wallet_id> : (str) wallet to check for claim purchase\n reciepts\n\nReturns:\n (ManagedStream) \n {\n \"streaming_url\": \"(str) url to stream the file using range requests\",\n \"completed\": \"(bool) true if download is completed\",\n \"file_name\": \"(str) name of file\",\n \"download_directory\": \"(str) download directory\",\n \"points_paid\": \"(float) credit paid to download file\",\n \"stopped\": \"(bool) true if download is stopped\",\n \"stream_hash\": \"(str) stream hash of file\",\n \"stream_name\": \"(str) stream name\",\n \"suggested_file_name\": \"(str) suggested file name\",\n \"sd_hash\": \"(str) sd hash of file\",\n \"download_path\": \"(str) download path of file\",\n \"mime_type\": \"(str) mime type of file\",\n \"key\": \"(str) key attached to file\",\n \"total_bytes_lower_bound\": \"(int) lower bound file size in bytes\",\n \"total_bytes\": \"(int) file upper bound size in bytes\",\n \"written_bytes\": \"(int) written size in bytes\",\n \"blobs_completed\": \"(int) number of fully downloaded blobs\",\n \"blobs_in_stream\": \"(int) total blobs on stream\",\n \"blobs_remaining\": \"(int) total blobs remaining to download\",\n \"status\": \"(str) downloader status\",\n \"claim_id\": \"(str) None if claim is not found else the claim id\",\n \"txid\": \"(str) None if claim is not found else the transaction id\",\n \"nout\": \"(int) None if claim is not found else the transaction output index\",\n \"outpoint\": \"(str) None if claim is not found else the tx and output\",\n \"metadata\": \"(dict) None if claim is not found else the claim metadata\",\n \"channel_claim_id\": \"(str) None if claim is not found or not signed\",\n \"channel_name\": \"(str) None if claim is not found or not signed\",\n \"claim_name\": \"(str) None if claim is not found else the claim name\"\n }" }, "peer_list": { "name": "list", @@ -11586,7 +11586,7 @@ interface = { "List my transaction outputs." ], "usage": [ - " txo list [--include_received_tips] [--resolve] [--order_by]" + " txo list [--include_received_tips] [--resolve] [--order_by=<order_by>]" ], "kwargs": 13 }, @@ -11922,7 +11922,7 @@ interface = { ], "group": "txo", "cli": "txo list", - "help": "List my transaction outputs.\n\nUsage:\n txo list [--include_received_tips] [--resolve] [--order_by]\n [--type=<type>...] [--txid=<txid>...] [--claim_id=<claim_id>...]\n [--channel_id=<channel_id>...] [--name=<name>...] [--is_spent]\n [--is_not_spent] [--is_my_input_or_output] [--is_my_output]\n [--is_not_my_output] [--is_my_input] [--is_not_my_input]\n [--exclude_internal_transfers] [--account_id=<account_id>...] [--page=<page>]\n [--page_size=<page_size>] [--include_total]\n\nOptions:\n --include_received_tips : (bool) calculate the amount of tips recieved for claim\n outputs\n --resolve : (bool) resolves each claim to provide additional\n metadata\n --order_by=<order_by> : (str) field to order by: 'name', 'height', 'amount'\n and 'none'\n --type=<type> : (str, list) claim type: stream, channel, support,\n purchase, collection, repost, other\n --txid=<txid> : (str, list) transaction id of outputs\n --claim_id=<claim_id> : (str, list) claim id\n --channel_id=<channel_id> : (str, list) claims in this channel\n --name=<name> : (str, list) claim name\n --is_spent : (bool) only show spent txos\n --is_not_spent : (bool) only show not spent txos\n --is_my_input_or_output : (bool) txos which have your inputs or your outputs, if\n using this flag the other related flags are ignored.\n (\"--is_my_output\", \"--is_my_input\", etc)\n --is_my_output : (bool) show outputs controlled by you\n --is_not_my_output : (bool) show outputs not controlled by you\n --is_my_input : (bool) show outputs created by you\n --is_not_my_input : (bool) show outputs not created by you\n --exclude_internal_transfers : (bool) excludes any outputs that are exactly this\n combination: \"--is_my_input\" + \"--is_my_output\" + \"--\n type=other\" this allows to exclude \"change\" payments,\n this flag can be used in combination with any of the\n other flags\n --account_id=<account_id> : (str, list) id(s) of the account(s) to query\n --page=<page> : (int) page to return for paginating\n --page_size=<page_size> : (int) number of items on page for pagination\n --include_total : (bool) calculate total number of items and pages\n\nReturns:\n (Paginated[Output]) \n {\n \"page\": \"Page number of the current items.\",\n \"page_size\": \"Number of items to show on a page.\",\n \"total_pages\": \"Total number of pages.\",\n \"total_items\": \"Total number of items.\",\n \"items\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ]\n }" + "help": "List my transaction outputs.\n\nUsage:\n txo list [--include_received_tips] [--resolve] [--order_by=<order_by>]\n [--type=<type>...] [--txid=<txid>...] [--claim_id=<claim_id>...]\n [--channel_id=<channel_id>...] [--name=<name>...] [--is_spent]\n [--is_not_spent] [--is_my_input_or_output] [--is_my_output]\n [--is_not_my_output] [--is_my_input] [--is_not_my_input]\n [--exclude_internal_transfers] [--account_id=<account_id>...] [--page=<page>]\n [--page_size=<page_size>] [--include_total]\n\nOptions:\n --include_received_tips : (bool) calculate the amount of tips recieved for claim\n outputs\n --resolve : (bool) resolves each claim to provide additional\n metadata\n --order_by=<order_by> : (str) field to order by: 'name', 'height', 'amount'\n and 'none'\n --type=<type> : (str, list) claim type: stream, channel, support,\n purchase, collection, repost, other\n --txid=<txid> : (str, list) transaction id of outputs\n --claim_id=<claim_id> : (str, list) claim id\n --channel_id=<channel_id> : (str, list) claims in this channel\n --name=<name> : (str, list) claim name\n --is_spent : (bool) only show spent txos\n --is_not_spent : (bool) only show not spent txos\n --is_my_input_or_output : (bool) txos which have your inputs or your outputs, if\n using this flag the other related flags are ignored.\n (\"--is_my_output\", \"--is_my_input\", etc)\n --is_my_output : (bool) show outputs controlled by you\n --is_not_my_output : (bool) show outputs not controlled by you\n --is_my_input : (bool) show outputs created by you\n --is_not_my_input : (bool) show outputs not created by you\n --exclude_internal_transfers : (bool) excludes any outputs that are exactly this\n combination: \"--is_my_input\" + \"--is_my_output\" + \"--\n type=other\" this allows to exclude \"change\" payments,\n this flag can be used in combination with any of the\n other flags\n --account_id=<account_id> : (str, list) id(s) of the account(s) to query\n --page=<page> : (int) page to return for paginating\n --page_size=<page_size> : (int) number of items on page for pagination\n --include_total : (bool) calculate total number of items and pages\n\nReturns:\n (Paginated[Output]) \n {\n \"page\": \"Page number of the current items.\",\n \"page_size\": \"Number of items to show on a page.\",\n \"total_pages\": \"Total number of pages.\",\n \"total_items\": \"Total number of items.\",\n \"items\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ]\n }" }, "txo_plot": { "name": "plot", From c5fd9643f196649cb6b38628aa36c523046f4d99 Mon Sep 17 00:00:00 2001 From: Lex Berezhny <lex@damoti.com> Date: Fri, 4 Sep 2020 15:36:18 -0400 Subject: [PATCH 18/21] tx_kwargs expander should have wallet_id --- lbry/service/api.py | 20 +- lbry/service/metadata.py | 434 +++++++++++++++++++++++++++------------ 2 files changed, 317 insertions(+), 137 deletions(-) diff --git a/lbry/service/api.py b/lbry/service/api.py index 119a9eaf4..7115661c2 100644 --- a/lbry/service/api.py +++ b/lbry/service/api.py @@ -119,6 +119,7 @@ def pagination_kwargs( @expander def tx_kwargs( + wallet_id: str = None, # restrict operation to specific wallet change_account_id: str = None, # account to send excess change (LBC) fund_account_id: StrOrList = None, # accounts to fund the transaction preview=False, # do not broadcast the transaction @@ -361,6 +362,7 @@ def txo_filter_kwargs( # this allows to exclude "change" payments, this # flag can be used in combination with any of the other flags account_id: StrOrList = None, # id(s) of the account(s) to query + wallet_id: str = None, # restrict results to specific wallet ): pass @@ -1669,7 +1671,6 @@ class API: name: str, # name of the channel prefixed with '@' bid: str, # amount to back the channel allow_duplicate_name=False, # create new channel even if one already exists with given name - wallet_id: str = None, # restrict operation to specific wallet **channel_and_tx_kwargs ) -> Transaction: # new channel transaction """ @@ -1684,7 +1685,7 @@ class API: tx_dict, kwargs = pop_kwargs('tx', tx_kwargs(**kwargs)) assert_consumed_kwargs(kwargs) self.ledger.valid_channel_name_or_error(name) - wallet = self.wallets.get_or_default_for_spending(wallet_id) + wallet = self.wallets.get_or_default_for_spending(tx_dict.pop('wallet_id')) amount = self.ledger.get_dewies_or_error('bid', bid, positive_value=True) holding_account = wallet.accounts.get_or_default(channel_dict.pop('account_id')) funding_accounts = wallet.accounts.get_or_all(tx_dict.pop('fund_account_id')) @@ -2785,11 +2786,14 @@ class API: ) async def txo_spend( - self, - batch_size=500, # number of txos to spend per transactions - include_full_tx=False, # include entire tx in output and not just the txid - wallet_id: str = None, # restrict results to specific wallet - **txo_filter_and_tx_kwargs + self, + batch_size=500, # number of txos to spend per transactions + include_full_tx=False, # include entire tx in output and not just the txid + change_account_id: str = None, # account to send excess change (LBC) + fund_account_id: StrOrList = None, # accounts to fund the transaction + preview=False, # do not broadcast the transaction + no_wait=False, # do not wait for mempool confirmation + **txo_filter_kwargs ) -> List[Transaction]: """ Spend transaction outputs, batching into multiple transactions as necessary. @@ -2820,7 +2824,7 @@ class API: return txs return [{'txid': tx.id} for tx in txs] - async def txo_sum(self, **txo_filter_and_tx_kwargs) -> int: # sum of filtered outputs + async def txo_sum(self, **txo_filter_kwargs) -> int: # sum of filtered outputs """ Sum of transaction outputs. diff --git a/lbry/service/metadata.py b/lbry/service/metadata.py index 466d8eb35..191cc1db4 100644 --- a/lbry/service/metadata.py +++ b/lbry/service/metadata.py @@ -1082,6 +1082,13 @@ interface = { ], "type": "str" }, + { + "name": "wallet_id", + "desc": [ + "restrict operation to specific wallet" + ], + "type": "str" + }, { "name": "change_account_id", "desc": [ @@ -1187,6 +1194,13 @@ interface = { ], "type": "str" }, + { + "name": "wallet_id", + "desc": [ + "restrict operation to specific wallet" + ], + "type": "str" + }, { "name": "change_account_id", "desc": [ @@ -1220,7 +1234,7 @@ interface = { ], "group": "channel", "cli": "channel abandon", - "help": "Abandon one of my channel claims.\n\nUsage:\n channel abandon\n [--claim_id=<claim_id>] [--txid=<txid>] [--nout=<nout>]\n [--account_id=<account_id>] [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --claim_id=<claim_id> : (str) claim_id of the claim to abandon\n --txid=<txid> : (str) txid of the claim to abandon\n --nout=<nout> : (int) nout of the claim to abandon\n [default: 0]\n --account_id=<account_id> : (str) restrict operation to specific\n account, otherwise all accounts in wallet\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) transaction abandoning the channel\n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" + "help": "Abandon one of my channel claims.\n\nUsage:\n channel abandon\n [--claim_id=<claim_id>] [--txid=<txid>] [--nout=<nout>]\n [--account_id=<account_id>] [--wallet_id=<wallet_id>]\n [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --claim_id=<claim_id> : (str) claim_id of the claim to abandon\n --txid=<txid> : (str) txid of the claim to abandon\n --nout=<nout> : (int) nout of the claim to abandon\n [default: 0]\n --account_id=<account_id> : (str) restrict operation to specific\n account, otherwise all accounts in wallet\n --wallet_id=<wallet_id> : (str) restrict operation to specific wallet\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) transaction abandoning the channel\n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" }, "channel_create": { "name": "create", @@ -1256,13 +1270,6 @@ interface = { "default": False, "type": "bool" }, - { - "name": "wallet_id", - "desc": [ - "restrict operation to specific wallet" - ], - "type": "str" - }, { "name": "email", "desc": [ @@ -1382,6 +1389,13 @@ interface = { ], "type": "str" }, + { + "name": "wallet_id", + "desc": [ + "restrict operation to specific wallet" + ], + "type": "str" + }, { "name": "change_account_id", "desc": [ @@ -1577,6 +1591,13 @@ interface = { ], "type": "str" }, + { + "name": "wallet_id", + "desc": [ + "restrict operation to specific wallet" + ], + "type": "str" + }, { "name": "change_account_id", "desc": [ @@ -1610,7 +1631,7 @@ interface = { ], "group": "channel", "cli": "channel create", - "help": "Create a new channel by generating a channel private key and establishing an '@' prefixed claim.\n\nUsage:\n channel create (<name>) (<bid> | --bid=<bid>) [--allow_duplicate_name]\n [--email=<email>] [--website_url=<website_url>]\n [--cover_url=<cover_url>] [--featured=<featured>...] [--title=<title>]\n [--description=<description>] [--thumbnail_url=<thumbnail_url>]\n [--tag=<tag>...] [--language=<language>...] [--location=<location>...]\n [--account_id=<account_id>] [--claim_address=<claim_address>]\n [--channel_id=<channel_id>] [--channel_name=<channel_name>]\n [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --name=<name> : (str) name of the channel prefixed with '@'\n --bid=<bid> : (str) amount to back the channel\n --allow_duplicate_name : (bool) create new channel even if one\n already exists with given name\n --wallet_id=<wallet_id> : (str) restrict operation to specific wallet\n --email=<email> : (str) email of channel owner\n --website_url=<website_url> : (str) website url\n --cover_url=<cover_url> : (str) url to cover image\n --featured=<featured> : (str, list) claim_id(s) of featured content\n in channel\n --title=<title> : (str)\n --description=<description> : (str)\n --thumbnail_url=<thumbnail_url> : (str) url to thumbnail image\n --tag=<tag> : (str, list)\n --language=<language> : (str, list) languages used by the channel,\n using RFC 5646 format, eg: for English\n `--language=en` for Spanish (Spain)\n `--language=es-ES` for Spanish (Mexican)\n `--language=es-MX` for Chinese (Simplified)\n `--language=zh-Hans` for Chinese\n (Traditional) `--language=zh-Hant`\n --location=<location> : (str, list) locations of the channel,\n consisting of 2 letter `country` code and a\n `state`, `city` and a postal `code` along\n with a `latitude` and `longitude`. for JSON\n RPC: pass a dictionary with aforementioned\n attributes as keys, eg: ... \"locations\":\n [{'country': 'US', 'state': 'NH'}] ... for\n command line: pass a colon delimited list\n with values in the following order:\n \"COUNTRY:STATE:CITY:CODE:LATITUDE:LONGITUDE\"\n making sure to include colon for blank\n values, for example to provide only the\n city: ...--locations=\"::Manchester\" with\n all values set: ...--\n locations=\"US:NH:Manchester:03101:42.990605:-71.460989\"\n optionally, you can just pass the\n \"LATITUDE:LONGITUDE\": ...--\n locations=\"42.990605:-71.460989\" finally,\n you can also pass JSON string of dictionary\n on the command line as you would via JSON\n RPC ...--locations=\"{'country': 'US',\n 'state': 'NH'}\"\n --account_id=<account_id> : (str) account to hold the claim\n --claim_address=<claim_address> : (str) specific address where the claim is\n held, if not specified it will be\n determined automatically from the account\n --channel_id=<channel_id> : (str) claim id of the publishing channel\n --channel_name=<channel_name> : (str) name of publishing channel\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) new channel transaction\n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" + "help": "Create a new channel by generating a channel private key and establishing an '@' prefixed claim.\n\nUsage:\n channel create (<name>) (<bid> | --bid=<bid>) [--allow_duplicate_name]\n [--email=<email>] [--website_url=<website_url>]\n [--cover_url=<cover_url>] [--featured=<featured>...] [--title=<title>]\n [--description=<description>] [--thumbnail_url=<thumbnail_url>]\n [--tag=<tag>...] [--language=<language>...] [--location=<location>...]\n [--account_id=<account_id>] [--claim_address=<claim_address>]\n [--channel_id=<channel_id>] [--channel_name=<channel_name>]\n [--wallet_id=<wallet_id>] [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --name=<name> : (str) name of the channel prefixed with '@'\n --bid=<bid> : (str) amount to back the channel\n --allow_duplicate_name : (bool) create new channel even if one\n already exists with given name\n --email=<email> : (str) email of channel owner\n --website_url=<website_url> : (str) website url\n --cover_url=<cover_url> : (str) url to cover image\n --featured=<featured> : (str, list) claim_id(s) of featured content\n in channel\n --title=<title> : (str)\n --description=<description> : (str)\n --thumbnail_url=<thumbnail_url> : (str) url to thumbnail image\n --tag=<tag> : (str, list)\n --language=<language> : (str, list) languages used by the channel,\n using RFC 5646 format, eg: for English\n `--language=en` for Spanish (Spain)\n `--language=es-ES` for Spanish (Mexican)\n `--language=es-MX` for Chinese (Simplified)\n `--language=zh-Hans` for Chinese\n (Traditional) `--language=zh-Hant`\n --location=<location> : (str, list) locations of the channel,\n consisting of 2 letter `country` code and a\n `state`, `city` and a postal `code` along\n with a `latitude` and `longitude`. for JSON\n RPC: pass a dictionary with aforementioned\n attributes as keys, eg: ... \"locations\":\n [{'country': 'US', 'state': 'NH'}] ... for\n command line: pass a colon delimited list\n with values in the following order:\n \"COUNTRY:STATE:CITY:CODE:LATITUDE:LONGITUDE\"\n making sure to include colon for blank\n values, for example to provide only the\n city: ...--locations=\"::Manchester\" with\n all values set: ...--\n locations=\"US:NH:Manchester:03101:42.990605:-71.460989\"\n optionally, you can just pass the\n \"LATITUDE:LONGITUDE\": ...--\n locations=\"42.990605:-71.460989\" finally,\n you can also pass JSON string of dictionary\n on the command line as you would via JSON\n RPC ...--locations=\"{'country': 'US',\n 'state': 'NH'}\"\n --account_id=<account_id> : (str) account to hold the claim\n --claim_address=<claim_address> : (str) specific address where the claim is\n held, if not specified it will be\n determined automatically from the account\n --channel_id=<channel_id> : (str) claim id of the publishing channel\n --channel_name=<channel_name> : (str) name of publishing channel\n --wallet_id=<wallet_id> : (str) restrict operation to specific wallet\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) new channel transaction\n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" }, "channel_export": { "name": "export", @@ -2305,6 +2326,13 @@ interface = { "default": False, "type": "bool" }, + { + "name": "wallet_id", + "desc": [ + "restrict operation to specific wallet" + ], + "type": "str" + }, { "name": "change_account_id", "desc": [ @@ -2551,6 +2579,13 @@ interface = { "default": False, "type": "bool" }, + { + "name": "wallet_id", + "desc": [ + "restrict operation to specific wallet" + ], + "type": "str" + }, { "name": "change_account_id", "desc": [ @@ -2584,7 +2619,7 @@ interface = { ], "group": "channel", "cli": "channel update", - "help": "Update an existing channel claim.\n\nUsage:\n channel update (<claim_id> | --claim_id=<claim_id>) [<bid> | --bid=<bid>]\n [--new_signing_key] [--clear_featured]\n [--new_signing_key] [--clear_featured] [--email=<email>]\n [--website_url=<website_url>] [--cover_url=<cover_url>]\n [--featured=<featured>...] [--title=<title>]\n [--description=<description>] [--thumbnail_url=<thumbnail_url>]\n [--tag=<tag>...] [--language=<language>...] [--location=<location>...]\n [--account_id=<account_id>] [--claim_address=<claim_address>]\n [--channel_id=<channel_id>] [--channel_name=<channel_name>] [--replace]\n [--clear_tags] [--clear_languages] [--clear_locations]\n [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --claim_id=<claim_id> : (str) claim_id of the channel to update\n --bid=<bid> : (str) update amount backing the channel\n --new_signing_key : (bool) generate a new signing key, will\n invalidate all previous publishes\n --clear_featured : (bool) clear existing featured content\n (prior to adding new ones)\n --email=<email> : (str) email of channel owner\n --website_url=<website_url> : (str) website url\n --cover_url=<cover_url> : (str) url to cover image\n --featured=<featured> : (str, list) claim_id(s) of featured content\n in channel\n --title=<title> : (str)\n --description=<description> : (str)\n --thumbnail_url=<thumbnail_url> : (str) url to thumbnail image\n --tag=<tag> : (str, list)\n --language=<language> : (str, list) languages used by the channel,\n using RFC 5646 format, eg: for English\n `--language=en` for Spanish (Spain)\n `--language=es-ES` for Spanish (Mexican)\n `--language=es-MX` for Chinese (Simplified)\n `--language=zh-Hans` for Chinese\n (Traditional) `--language=zh-Hant`\n --location=<location> : (str, list) locations of the channel,\n consisting of 2 letter `country` code and a\n `state`, `city` and a postal `code` along\n with a `latitude` and `longitude`. for JSON\n RPC: pass a dictionary with aforementioned\n attributes as keys, eg: ... \"locations\":\n [{'country': 'US', 'state': 'NH'}] ... for\n command line: pass a colon delimited list\n with values in the following order:\n \"COUNTRY:STATE:CITY:CODE:LATITUDE:LONGITUDE\"\n making sure to include colon for blank\n values, for example to provide only the\n city: ...--locations=\"::Manchester\" with\n all values set: ...--\n locations=\"US:NH:Manchester:03101:42.990605:-71.460989\"\n optionally, you can just pass the\n \"LATITUDE:LONGITUDE\": ...--\n locations=\"42.990605:-71.460989\" finally,\n you can also pass JSON string of dictionary\n on the command line as you would via JSON\n RPC ...--locations=\"{'country': 'US',\n 'state': 'NH'}\"\n --account_id=<account_id> : (str) account to hold the claim\n --claim_address=<claim_address> : (str) specific address where the claim is\n held, if not specified it will be\n determined automatically from the account\n --channel_id=<channel_id> : (str) claim id of the publishing channel\n --channel_name=<channel_name> : (str) name of publishing channel\n --replace : (bool) instead of modifying specific values\n on the claim, this will clear all existing\n values and only save passed in values,\n useful for form submissions where all\n values are always set\n --clear_tags : (bool) clear existing tags (prior to adding\n new ones)\n --clear_languages : (bool) clear existing languages (prior to\n adding new ones)\n --clear_locations : (bool) clear existing locations (prior to\n adding new ones)\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) transaction updating the channel\n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" + "help": "Update an existing channel claim.\n\nUsage:\n channel update (<claim_id> | --claim_id=<claim_id>) [<bid> | --bid=<bid>]\n [--new_signing_key] [--clear_featured]\n [--new_signing_key] [--clear_featured] [--email=<email>]\n [--website_url=<website_url>] [--cover_url=<cover_url>]\n [--featured=<featured>...] [--title=<title>]\n [--description=<description>] [--thumbnail_url=<thumbnail_url>]\n [--tag=<tag>...] [--language=<language>...] [--location=<location>...]\n [--account_id=<account_id>] [--claim_address=<claim_address>]\n [--channel_id=<channel_id>] [--channel_name=<channel_name>] [--replace]\n [--clear_tags] [--clear_languages] [--clear_locations]\n [--wallet_id=<wallet_id>] [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --claim_id=<claim_id> : (str) claim_id of the channel to update\n --bid=<bid> : (str) update amount backing the channel\n --new_signing_key : (bool) generate a new signing key, will\n invalidate all previous publishes\n --clear_featured : (bool) clear existing featured content\n (prior to adding new ones)\n --email=<email> : (str) email of channel owner\n --website_url=<website_url> : (str) website url\n --cover_url=<cover_url> : (str) url to cover image\n --featured=<featured> : (str, list) claim_id(s) of featured content\n in channel\n --title=<title> : (str)\n --description=<description> : (str)\n --thumbnail_url=<thumbnail_url> : (str) url to thumbnail image\n --tag=<tag> : (str, list)\n --language=<language> : (str, list) languages used by the channel,\n using RFC 5646 format, eg: for English\n `--language=en` for Spanish (Spain)\n `--language=es-ES` for Spanish (Mexican)\n `--language=es-MX` for Chinese (Simplified)\n `--language=zh-Hans` for Chinese\n (Traditional) `--language=zh-Hant`\n --location=<location> : (str, list) locations of the channel,\n consisting of 2 letter `country` code and a\n `state`, `city` and a postal `code` along\n with a `latitude` and `longitude`. for JSON\n RPC: pass a dictionary with aforementioned\n attributes as keys, eg: ... \"locations\":\n [{'country': 'US', 'state': 'NH'}] ... for\n command line: pass a colon delimited list\n with values in the following order:\n \"COUNTRY:STATE:CITY:CODE:LATITUDE:LONGITUDE\"\n making sure to include colon for blank\n values, for example to provide only the\n city: ...--locations=\"::Manchester\" with\n all values set: ...--\n locations=\"US:NH:Manchester:03101:42.990605:-71.460989\"\n optionally, you can just pass the\n \"LATITUDE:LONGITUDE\": ...--\n locations=\"42.990605:-71.460989\" finally,\n you can also pass JSON string of dictionary\n on the command line as you would via JSON\n RPC ...--locations=\"{'country': 'US',\n 'state': 'NH'}\"\n --account_id=<account_id> : (str) account to hold the claim\n --claim_address=<claim_address> : (str) specific address where the claim is\n held, if not specified it will be\n determined automatically from the account\n --channel_id=<channel_id> : (str) claim id of the publishing channel\n --channel_name=<channel_name> : (str) name of publishing channel\n --replace : (bool) instead of modifying specific values\n on the claim, this will clear all existing\n values and only save passed in values,\n useful for form submissions where all\n values are always set\n --clear_tags : (bool) clear existing tags (prior to adding\n new ones)\n --clear_languages : (bool) clear existing languages (prior to\n adding new ones)\n --clear_locations : (bool) clear existing locations (prior to\n adding new ones)\n --wallet_id=<wallet_id> : (str) restrict operation to specific wallet\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) transaction updating the channel\n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" }, "claim_list": { "name": "list", @@ -3975,6 +4010,13 @@ interface = { ], "type": "str" }, + { + "name": "wallet_id", + "desc": [ + "restrict operation to specific wallet" + ], + "type": "str" + }, { "name": "change_account_id", "desc": [ @@ -4080,6 +4122,13 @@ interface = { ], "type": "str" }, + { + "name": "wallet_id", + "desc": [ + "restrict operation to specific wallet" + ], + "type": "str" + }, { "name": "change_account_id", "desc": [ @@ -4113,7 +4162,7 @@ interface = { ], "group": "collection", "cli": "collection abandon", - "help": "Abandon one of my collection claims.\n\nUsage:\n collection abandon\n [--claim_id=<claim_id>] [--txid=<txid>] [--nout=<nout>]\n [--account_id=<account_id>]\n [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --claim_id=<claim_id> : (str) claim_id of the claim to abandon\n --txid=<txid> : (str) txid of the claim to abandon\n --nout=<nout> : (int) nout of the claim to abandon\n [default: 0]\n --account_id=<account_id> : (str) restrict operation to specific\n account, otherwise all accounts in wallet\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) transaction abandoning the collection\n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" + "help": "Abandon one of my collection claims.\n\nUsage:\n collection abandon\n [--claim_id=<claim_id>] [--txid=<txid>] [--nout=<nout>]\n [--account_id=<account_id>] [--wallet_id=<wallet_id>]\n [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --claim_id=<claim_id> : (str) claim_id of the claim to abandon\n --txid=<txid> : (str) txid of the claim to abandon\n --nout=<nout> : (int) nout of the claim to abandon\n [default: 0]\n --account_id=<account_id> : (str) restrict operation to specific\n account, otherwise all accounts in wallet\n --wallet_id=<wallet_id> : (str) restrict operation to specific wallet\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) transaction abandoning the collection\n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" }, "collection_create": { "name": "create", @@ -4248,6 +4297,13 @@ interface = { ], "type": "str" }, + { + "name": "wallet_id", + "desc": [ + "restrict operation to specific wallet" + ], + "type": "str" + }, { "name": "change_account_id", "desc": [ @@ -4413,6 +4469,13 @@ interface = { ], "type": "str" }, + { + "name": "wallet_id", + "desc": [ + "restrict operation to specific wallet" + ], + "type": "str" + }, { "name": "change_account_id", "desc": [ @@ -4446,7 +4509,7 @@ interface = { ], "group": "collection", "cli": "collection create", - "help": "Create a new collection.\n\nUsage:\n collection create (<name> | --name=<name>) (<bid> | --bid=<bid>)\n (<claims>... | --claims=<claims>...) [--allow_duplicate_name]\n [--title=<title>] [--description=<description>]\n [--thumbnail_url=<thumbnail_url>] [--tag=<tag>...]\n [--language=<language>...] [--location=<location>...]\n [--account_id=<account_id>] [--claim_address=<claim_address>]\n [--channel_id=<channel_id>] [--channel_name=<channel_name>]\n [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --name=<name> : (str) name for the stream (can only consist\n of a-z A-Z 0-9 and -(dash))\n --bid=<bid> : (str) amount to back the content\n --claims=<claims> : (str, list) claim ids to be included in the\n collection\n --allow_duplicate_name : (bool) create new collection even if one\n already exists with given name\n --title=<title> : (str)\n --description=<description> : (str)\n --thumbnail_url=<thumbnail_url> : (str) url to thumbnail image\n --tag=<tag> : (str, list)\n --language=<language> : (str, list) languages used by the channel,\n using RFC 5646 format, eg: for English\n `--language=en` for Spanish (Spain)\n `--language=es-ES` for Spanish (Mexican)\n `--language=es-MX` for Chinese (Simplified)\n `--language=zh-Hans` for Chinese\n (Traditional) `--language=zh-Hant`\n --location=<location> : (str, list) locations of the channel,\n consisting of 2 letter `country` code and a\n `state`, `city` and a postal `code` along\n with a `latitude` and `longitude`. for JSON\n RPC: pass a dictionary with aforementioned\n attributes as keys, eg: ... \"locations\":\n [{'country': 'US', 'state': 'NH'}] ... for\n command line: pass a colon delimited list\n with values in the following order:\n \"COUNTRY:STATE:CITY:CODE:LATITUDE:LONGITUDE\"\n making sure to include colon for blank\n values, for example to provide only the\n city: ...--locations=\"::Manchester\" with\n all values set: ...--\n locations=\"US:NH:Manchester:03101:42.990605:-71.460989\"\n optionally, you can just pass the\n \"LATITUDE:LONGITUDE\": ...--\n locations=\"42.990605:-71.460989\" finally,\n you can also pass JSON string of dictionary\n on the command line as you would via JSON\n RPC ...--locations=\"{'country': 'US',\n 'state': 'NH'}\"\n --account_id=<account_id> : (str) account to hold the claim\n --claim_address=<claim_address> : (str) specific address where the claim is\n held, if not specified it will be\n determined automatically from the account\n --channel_id=<channel_id> : (str) claim id of the publishing channel\n --channel_name=<channel_name> : (str) name of publishing channel\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) \n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" + "help": "Create a new collection.\n\nUsage:\n collection create (<name> | --name=<name>) (<bid> | --bid=<bid>)\n (<claims>... | --claims=<claims>...) [--allow_duplicate_name]\n [--title=<title>] [--description=<description>]\n [--thumbnail_url=<thumbnail_url>] [--tag=<tag>...]\n [--language=<language>...] [--location=<location>...]\n [--account_id=<account_id>] [--claim_address=<claim_address>]\n [--channel_id=<channel_id>] [--channel_name=<channel_name>]\n [--wallet_id=<wallet_id>] [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --name=<name> : (str) name for the stream (can only consist\n of a-z A-Z 0-9 and -(dash))\n --bid=<bid> : (str) amount to back the content\n --claims=<claims> : (str, list) claim ids to be included in the\n collection\n --allow_duplicate_name : (bool) create new collection even if one\n already exists with given name\n --title=<title> : (str)\n --description=<description> : (str)\n --thumbnail_url=<thumbnail_url> : (str) url to thumbnail image\n --tag=<tag> : (str, list)\n --language=<language> : (str, list) languages used by the channel,\n using RFC 5646 format, eg: for English\n `--language=en` for Spanish (Spain)\n `--language=es-ES` for Spanish (Mexican)\n `--language=es-MX` for Chinese (Simplified)\n `--language=zh-Hans` for Chinese\n (Traditional) `--language=zh-Hant`\n --location=<location> : (str, list) locations of the channel,\n consisting of 2 letter `country` code and a\n `state`, `city` and a postal `code` along\n with a `latitude` and `longitude`. for JSON\n RPC: pass a dictionary with aforementioned\n attributes as keys, eg: ... \"locations\":\n [{'country': 'US', 'state': 'NH'}] ... for\n command line: pass a colon delimited list\n with values in the following order:\n \"COUNTRY:STATE:CITY:CODE:LATITUDE:LONGITUDE\"\n making sure to include colon for blank\n values, for example to provide only the\n city: ...--locations=\"::Manchester\" with\n all values set: ...--\n locations=\"US:NH:Manchester:03101:42.990605:-71.460989\"\n optionally, you can just pass the\n \"LATITUDE:LONGITUDE\": ...--\n locations=\"42.990605:-71.460989\" finally,\n you can also pass JSON string of dictionary\n on the command line as you would via JSON\n RPC ...--locations=\"{'country': 'US',\n 'state': 'NH'}\"\n --account_id=<account_id> : (str) account to hold the claim\n --claim_address=<claim_address> : (str) specific address where the claim is\n held, if not specified it will be\n determined automatically from the account\n --channel_id=<channel_id> : (str) claim id of the publishing channel\n --channel_name=<channel_name> : (str) name of publishing channel\n --wallet_id=<wallet_id> : (str) restrict operation to specific wallet\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) \n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" }, "collection_list": { "name": "list", @@ -5148,6 +5211,13 @@ interface = { ], "type": "str" }, + { + "name": "wallet_id", + "desc": [ + "restrict operation to specific wallet" + ], + "type": "str" + }, { "name": "change_account_id", "desc": [ @@ -5350,6 +5420,13 @@ interface = { ], "type": "str" }, + { + "name": "wallet_id", + "desc": [ + "restrict operation to specific wallet" + ], + "type": "str" + }, { "name": "change_account_id", "desc": [ @@ -5383,7 +5460,7 @@ interface = { ], "group": "collection", "cli": "collection update", - "help": "Update an existing collection claim.\n\nUsage:\n collection update (<claim_id> | --claim_id=<claim_id>) [--bid=<bid>]\n [--claims=<claims>...] [--clear_claims]\n [--title=<title>] [--description=<description>]\n [--thumbnail_url=<thumbnail_url>] [--tag=<tag>...]\n [--language=<language>...] [--location=<location>...]\n [--account_id=<account_id>] [--claim_address=<claim_address>]\n [--replace] [--clear_tags] [--clear_languages] [--clear_locations]\n [--channel_id=<channel_id>] [--channel_name=<channel_name>]\n [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --claim_id=<claim_id> : (str) claim_id of the collection to update\n --bid=<bid> : (str) amount to back the collection\n --claims=<claims> : (str, list) claim ids to be included in the\n collection\n --clear_claims : (bool) clear existing claims (prior to\n adding new ones)\n --title=<title> : (str)\n --description=<description> : (str)\n --thumbnail_url=<thumbnail_url> : (str) url to thumbnail image\n --tag=<tag> : (str, list)\n --language=<language> : (str, list) languages used by the channel,\n using RFC 5646 format, eg: for English\n `--language=en` for Spanish (Spain)\n `--language=es-ES` for Spanish (Mexican)\n `--language=es-MX` for Chinese (Simplified)\n `--language=zh-Hans` for Chinese\n (Traditional) `--language=zh-Hant`\n --location=<location> : (str, list) locations of the channel,\n consisting of 2 letter `country` code and a\n `state`, `city` and a postal `code` along\n with a `latitude` and `longitude`. for JSON\n RPC: pass a dictionary with aforementioned\n attributes as keys, eg: ... \"locations\":\n [{'country': 'US', 'state': 'NH'}] ... for\n command line: pass a colon delimited list\n with values in the following order:\n \"COUNTRY:STATE:CITY:CODE:LATITUDE:LONGITUDE\"\n making sure to include colon for blank\n values, for example to provide only the\n city: ...--locations=\"::Manchester\" with\n all values set: ...--\n locations=\"US:NH:Manchester:03101:42.990605:-71.460989\"\n optionally, you can just pass the\n \"LATITUDE:LONGITUDE\": ...--\n locations=\"42.990605:-71.460989\" finally,\n you can also pass JSON string of dictionary\n on the command line as you would via JSON\n RPC ...--locations=\"{'country': 'US',\n 'state': 'NH'}\"\n --account_id=<account_id> : (str) account to hold the claim\n --claim_address=<claim_address> : (str) specific address where the claim is\n held, if not specified it will be\n determined automatically from the account\n --replace : (bool) instead of modifying specific values\n on the claim, this will clear all existing\n values and only save passed in values,\n useful for form submissions where all\n values are always set\n --clear_tags : (bool) clear existing tags (prior to adding\n new ones)\n --clear_languages : (bool) clear existing languages (prior to\n adding new ones)\n --clear_locations : (bool) clear existing locations (prior to\n adding new ones)\n --channel_id=<channel_id> : (str) claim id of the publishing channel\n --channel_name=<channel_name> : (str) name of publishing channel\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) updated collection transaction\n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" + "help": "Update an existing collection claim.\n\nUsage:\n collection update (<claim_id> | --claim_id=<claim_id>) [--bid=<bid>]\n [--claims=<claims>...] [--clear_claims]\n [--title=<title>] [--description=<description>]\n [--thumbnail_url=<thumbnail_url>] [--tag=<tag>...]\n [--language=<language>...] [--location=<location>...]\n [--account_id=<account_id>] [--claim_address=<claim_address>]\n [--replace] [--clear_tags] [--clear_languages] [--clear_locations]\n [--channel_id=<channel_id>] [--channel_name=<channel_name>]\n [--wallet_id=<wallet_id>] [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --claim_id=<claim_id> : (str) claim_id of the collection to update\n --bid=<bid> : (str) amount to back the collection\n --claims=<claims> : (str, list) claim ids to be included in the\n collection\n --clear_claims : (bool) clear existing claims (prior to\n adding new ones)\n --title=<title> : (str)\n --description=<description> : (str)\n --thumbnail_url=<thumbnail_url> : (str) url to thumbnail image\n --tag=<tag> : (str, list)\n --language=<language> : (str, list) languages used by the channel,\n using RFC 5646 format, eg: for English\n `--language=en` for Spanish (Spain)\n `--language=es-ES` for Spanish (Mexican)\n `--language=es-MX` for Chinese (Simplified)\n `--language=zh-Hans` for Chinese\n (Traditional) `--language=zh-Hant`\n --location=<location> : (str, list) locations of the channel,\n consisting of 2 letter `country` code and a\n `state`, `city` and a postal `code` along\n with a `latitude` and `longitude`. for JSON\n RPC: pass a dictionary with aforementioned\n attributes as keys, eg: ... \"locations\":\n [{'country': 'US', 'state': 'NH'}] ... for\n command line: pass a colon delimited list\n with values in the following order:\n \"COUNTRY:STATE:CITY:CODE:LATITUDE:LONGITUDE\"\n making sure to include colon for blank\n values, for example to provide only the\n city: ...--locations=\"::Manchester\" with\n all values set: ...--\n locations=\"US:NH:Manchester:03101:42.990605:-71.460989\"\n optionally, you can just pass the\n \"LATITUDE:LONGITUDE\": ...--\n locations=\"42.990605:-71.460989\" finally,\n you can also pass JSON string of dictionary\n on the command line as you would via JSON\n RPC ...--locations=\"{'country': 'US',\n 'state': 'NH'}\"\n --account_id=<account_id> : (str) account to hold the claim\n --claim_address=<claim_address> : (str) specific address where the claim is\n held, if not specified it will be\n determined automatically from the account\n --replace : (bool) instead of modifying specific values\n on the claim, this will clear all existing\n values and only save passed in values,\n useful for form submissions where all\n values are always set\n --clear_tags : (bool) clear existing tags (prior to adding\n new ones)\n --clear_languages : (bool) clear existing languages (prior to\n adding new ones)\n --clear_locations : (bool) clear existing locations (prior to\n adding new ones)\n --channel_id=<channel_id> : (str) claim id of the publishing channel\n --channel_name=<channel_name> : (str) name of publishing channel\n --wallet_id=<wallet_id> : (str) restrict operation to specific wallet\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) updated collection transaction\n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" }, "comment_abandon": { "name": "abandon", @@ -7578,6 +7655,13 @@ interface = { "default": False, "type": "bool" }, + { + "name": "wallet_id", + "desc": [ + "restrict operation to specific wallet" + ], + "type": "str" + }, { "name": "change_account_id", "desc": [ @@ -7897,6 +7981,13 @@ interface = { "default": False, "type": "bool" }, + { + "name": "wallet_id", + "desc": [ + "restrict operation to specific wallet" + ], + "type": "str" + }, { "name": "change_account_id", "desc": [ @@ -7929,7 +8020,7 @@ interface = { } ], "cli": "publish", - "help": "Create or replace a stream claim at a given name (use 'stream create/update' for more control).\n\nUsage:\n publish (<name> | --name=<name>) [--bid=<bid>]\n [--clear_fee] [--clear_channel] [--file_path=<file_path>] [--validate_file]\n [--optimize_file] [--fee_currency=<fee_currency>] [--fee_amount=<fee_amount>]\n [--fee_address=<fee_address>] [--author=<author>] [--license=<license>]\n [--license_url=<license_url>] [--release_time=<release_time>]\n [--width=<width>] [--height=<height>] [--duration=<duration>]\n [--title=<title>] [--description=<description>]\n [--thumbnail_url=<thumbnail_url>] [--tag=<tag>...] [--language=<language>...]\n [--location=<location>...] [--account_id=<account_id>]\n [--claim_address=<claim_address>] [--channel_id=<channel_id>]\n [--channel_name=<channel_name>] [--replace] [--clear_tags] [--clear_languages]\n [--clear_locations] [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --name=<name> : (str) name for the content (can only\n consist of a-z A-Z 0-9 and -(dash))\n --bid=<bid> : (str) amount to back the stream\n --clear_fee : (bool) clear fee\n --clear_channel : (bool) clear channel signature\n --file_path=<file_path> : (str) path to file to be associated with\n name.\n --validate_file : (bool) validate that the video container\n and encodings match common web browser\n support or that optimization succeeds if\n specified. FFmpeg is required\n --optimize_file : (bool) transcode the video & audio if\n necessary to ensure common web browser\n support. FFmpeg is required\n --fee_currency=<fee_currency> : (str) specify fee currency\n --fee_amount=<fee_amount> : (str) content download fee\n --fee_address=<fee_address> : (str) address where to send fee payments,\n will use the claim holding address by\n default\n --author=<author> : (str) author of the publication. The usage\n for this field is not the same as for\n channels. The author field is used to\n credit an author who is not the publisher\n and is not represented by the channel. For\n example, a pdf file of 'The Odyssey' has an\n author of 'Homer' but may by published to a\n channel such as '@classics', or to no\n channel at all\n --license=<license> : (str) publication license\n --license_url=<license_url> : (str) publication license url\n --release_time=<release_time> : (int) original public release of content,\n seconds since UNIX epoch\n --width=<width> : (int) image/video width, automatically\n calculated from media file\n --height=<height> : (int) image/video height, automatically\n calculated from media file\n --duration=<duration> : (int) audio/video duration in seconds,\n automatically calculated\n --title=<title> : (str)\n --description=<description> : (str)\n --thumbnail_url=<thumbnail_url> : (str) url to thumbnail image\n --tag=<tag> : (str, list)\n --language=<language> : (str, list) languages used by the channel,\n using RFC 5646 format, eg: for English\n `--language=en` for Spanish (Spain)\n `--language=es-ES` for Spanish (Mexican)\n `--language=es-MX` for Chinese (Simplified)\n `--language=zh-Hans` for Chinese\n (Traditional) `--language=zh-Hant`\n --location=<location> : (str, list) locations of the channel,\n consisting of 2 letter `country` code and a\n `state`, `city` and a postal `code` along\n with a `latitude` and `longitude`. for JSON\n RPC: pass a dictionary with aforementioned\n attributes as keys, eg: ... \"locations\":\n [{'country': 'US', 'state': 'NH'}] ... for\n command line: pass a colon delimited list\n with values in the following order:\n \"COUNTRY:STATE:CITY:CODE:LATITUDE:LONGITUDE\"\n making sure to include colon for blank\n values, for example to provide only the\n city: ...--locations=\"::Manchester\" with\n all values set: ...--\n locations=\"US:NH:Manchester:03101:42.990605:-71.460989\"\n optionally, you can just pass the\n \"LATITUDE:LONGITUDE\": ...--\n locations=\"42.990605:-71.460989\" finally,\n you can also pass JSON string of dictionary\n on the command line as you would via JSON\n RPC ...--locations=\"{'country': 'US',\n 'state': 'NH'}\"\n --account_id=<account_id> : (str) account to hold the claim\n --claim_address=<claim_address> : (str) specific address where the claim is\n held, if not specified it will be\n determined automatically from the account\n --channel_id=<channel_id> : (str) claim id of the publishing channel\n --channel_name=<channel_name> : (str) name of publishing channel\n --replace : (bool) instead of modifying specific values\n on the claim, this will clear all existing\n values and only save passed in values,\n useful for form submissions where all\n values are always set\n --clear_tags : (bool) clear existing tags (prior to adding\n new ones)\n --clear_languages : (bool) clear existing languages (prior to\n adding new ones)\n --clear_locations : (bool) clear existing locations (prior to\n adding new ones)\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) transaction for the published claim\n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" + "help": "Create or replace a stream claim at a given name (use 'stream create/update' for more control).\n\nUsage:\n publish (<name> | --name=<name>) [--bid=<bid>]\n [--clear_fee] [--clear_channel] [--file_path=<file_path>] [--validate_file]\n [--optimize_file] [--fee_currency=<fee_currency>] [--fee_amount=<fee_amount>]\n [--fee_address=<fee_address>] [--author=<author>] [--license=<license>]\n [--license_url=<license_url>] [--release_time=<release_time>]\n [--width=<width>] [--height=<height>] [--duration=<duration>]\n [--title=<title>] [--description=<description>]\n [--thumbnail_url=<thumbnail_url>] [--tag=<tag>...] [--language=<language>...]\n [--location=<location>...] [--account_id=<account_id>]\n [--claim_address=<claim_address>] [--channel_id=<channel_id>]\n [--channel_name=<channel_name>] [--replace] [--clear_tags] [--clear_languages]\n [--clear_locations] [--wallet_id=<wallet_id>]\n [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --name=<name> : (str) name for the content (can only\n consist of a-z A-Z 0-9 and -(dash))\n --bid=<bid> : (str) amount to back the stream\n --clear_fee : (bool) clear fee\n --clear_channel : (bool) clear channel signature\n --file_path=<file_path> : (str) path to file to be associated with\n name.\n --validate_file : (bool) validate that the video container\n and encodings match common web browser\n support or that optimization succeeds if\n specified. FFmpeg is required\n --optimize_file : (bool) transcode the video & audio if\n necessary to ensure common web browser\n support. FFmpeg is required\n --fee_currency=<fee_currency> : (str) specify fee currency\n --fee_amount=<fee_amount> : (str) content download fee\n --fee_address=<fee_address> : (str) address where to send fee payments,\n will use the claim holding address by\n default\n --author=<author> : (str) author of the publication. The usage\n for this field is not the same as for\n channels. The author field is used to\n credit an author who is not the publisher\n and is not represented by the channel. For\n example, a pdf file of 'The Odyssey' has an\n author of 'Homer' but may by published to a\n channel such as '@classics', or to no\n channel at all\n --license=<license> : (str) publication license\n --license_url=<license_url> : (str) publication license url\n --release_time=<release_time> : (int) original public release of content,\n seconds since UNIX epoch\n --width=<width> : (int) image/video width, automatically\n calculated from media file\n --height=<height> : (int) image/video height, automatically\n calculated from media file\n --duration=<duration> : (int) audio/video duration in seconds,\n automatically calculated\n --title=<title> : (str)\n --description=<description> : (str)\n --thumbnail_url=<thumbnail_url> : (str) url to thumbnail image\n --tag=<tag> : (str, list)\n --language=<language> : (str, list) languages used by the channel,\n using RFC 5646 format, eg: for English\n `--language=en` for Spanish (Spain)\n `--language=es-ES` for Spanish (Mexican)\n `--language=es-MX` for Chinese (Simplified)\n `--language=zh-Hans` for Chinese\n (Traditional) `--language=zh-Hant`\n --location=<location> : (str, list) locations of the channel,\n consisting of 2 letter `country` code and a\n `state`, `city` and a postal `code` along\n with a `latitude` and `longitude`. for JSON\n RPC: pass a dictionary with aforementioned\n attributes as keys, eg: ... \"locations\":\n [{'country': 'US', 'state': 'NH'}] ... for\n command line: pass a colon delimited list\n with values in the following order:\n \"COUNTRY:STATE:CITY:CODE:LATITUDE:LONGITUDE\"\n making sure to include colon for blank\n values, for example to provide only the\n city: ...--locations=\"::Manchester\" with\n all values set: ...--\n locations=\"US:NH:Manchester:03101:42.990605:-71.460989\"\n optionally, you can just pass the\n \"LATITUDE:LONGITUDE\": ...--\n locations=\"42.990605:-71.460989\" finally,\n you can also pass JSON string of dictionary\n on the command line as you would via JSON\n RPC ...--locations=\"{'country': 'US',\n 'state': 'NH'}\"\n --account_id=<account_id> : (str) account to hold the claim\n --claim_address=<claim_address> : (str) specific address where the claim is\n held, if not specified it will be\n determined automatically from the account\n --channel_id=<channel_id> : (str) claim id of the publishing channel\n --channel_name=<channel_name> : (str) name of publishing channel\n --replace : (bool) instead of modifying specific values\n on the claim, this will clear all existing\n values and only save passed in values,\n useful for form submissions where all\n values are always set\n --clear_tags : (bool) clear existing tags (prior to adding\n new ones)\n --clear_languages : (bool) clear existing languages (prior to\n adding new ones)\n --clear_locations : (bool) clear existing locations (prior to\n adding new ones)\n --wallet_id=<wallet_id> : (str) restrict operation to specific wallet\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) transaction for the published claim\n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" }, "purchase_create": { "name": "create", @@ -7974,6 +8065,13 @@ interface = { "default": False, "type": "bool" }, + { + "name": "wallet_id", + "desc": [ + "restrict operation to specific wallet" + ], + "type": "str" + }, { "name": "change_account_id", "desc": [ @@ -8050,6 +8148,13 @@ interface = { } }, "kwargs": [ + { + "name": "wallet_id", + "desc": [ + "restrict operation to specific wallet" + ], + "type": "str" + }, { "name": "change_account_id", "desc": [ @@ -8083,7 +8188,7 @@ interface = { ], "group": "purchase", "cli": "purchase create", - "help": "Purchase a claim.\n\nUsage:\n purchase create (--claim_id=<claim_id> | --url=<url>)\n [--allow_duplicate_purchase] [--override_max_key_fee]\n [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --claim_id=<claim_id> : (str) claim id of claim to purchase\n --url=<url> : (str) lookup claim to purchase by url\n --allow_duplicate_purchase : (bool) allow purchasing claim_id you\n already own\n --override_max_key_fee : (bool) ignore max key fee for this purchase\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) purchase transaction\n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" + "help": "Purchase a claim.\n\nUsage:\n purchase create (--claim_id=<claim_id> | --url=<url>)\n [--allow_duplicate_purchase] [--override_max_key_fee]\n [--wallet_id=<wallet_id>] [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --claim_id=<claim_id> : (str) claim id of claim to purchase\n --url=<url> : (str) lookup claim to purchase by url\n --allow_duplicate_purchase : (bool) allow purchasing claim_id you\n already own\n --override_max_key_fee : (bool) ignore max key fee for this purchase\n --wallet_id=<wallet_id> : (str) restrict operation to specific wallet\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) purchase transaction\n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" }, "purchase_list": { "name": "list", @@ -8623,6 +8728,13 @@ interface = { ], "type": "str" }, + { + "name": "wallet_id", + "desc": [ + "restrict operation to specific wallet" + ], + "type": "str" + }, { "name": "change_account_id", "desc": [ @@ -8728,6 +8840,13 @@ interface = { ], "type": "str" }, + { + "name": "wallet_id", + "desc": [ + "restrict operation to specific wallet" + ], + "type": "str" + }, { "name": "change_account_id", "desc": [ @@ -8761,7 +8880,7 @@ interface = { ], "group": "stream", "cli": "stream abandon", - "help": "Abandon one of my stream claims.\n\nUsage:\n stream abandon\n [--claim_id=<claim_id>] [--txid=<txid>] [--nout=<nout>]\n [--account_id=<account_id>] [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --claim_id=<claim_id> : (str) claim_id of the claim to abandon\n --txid=<txid> : (str) txid of the claim to abandon\n --nout=<nout> : (int) nout of the claim to abandon\n [default: 0]\n --account_id=<account_id> : (str) restrict operation to specific\n account, otherwise all accounts in wallet\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) transaction abandoning the stream\n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" + "help": "Abandon one of my stream claims.\n\nUsage:\n stream abandon\n [--claim_id=<claim_id>] [--txid=<txid>] [--nout=<nout>]\n [--account_id=<account_id>] [--wallet_id=<wallet_id>]\n [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --claim_id=<claim_id> : (str) claim_id of the claim to abandon\n --txid=<txid> : (str) txid of the claim to abandon\n --nout=<nout> : (int) nout of the claim to abandon\n [default: 0]\n --account_id=<account_id> : (str) restrict operation to specific\n account, otherwise all accounts in wallet\n --wallet_id=<wallet_id> : (str) restrict operation to specific wallet\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) transaction abandoning the stream\n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" }, "stream_cost_estimate": { "name": "cost_estimate", @@ -9018,6 +9137,13 @@ interface = { ], "type": "str" }, + { + "name": "wallet_id", + "desc": [ + "restrict operation to specific wallet" + ], + "type": "str" + }, { "name": "change_account_id", "desc": [ @@ -9284,6 +9410,13 @@ interface = { ], "type": "str" }, + { + "name": "wallet_id", + "desc": [ + "restrict operation to specific wallet" + ], + "type": "str" + }, { "name": "change_account_id", "desc": [ @@ -9317,7 +9450,7 @@ interface = { ], "group": "stream", "cli": "stream create", - "help": "Make a new stream claim and announce the associated file to lbrynet.\n\nUsage:\n stream create (<name> | --name=<name>) (<bid> | --bid=<bid>) [--allow_duplicate_name]\n [--file_path=<file_path>] [--validate_file] [--optimize_file]\n [--fee_currency=<fee_currency>] [--fee_amount=<fee_amount>]\n [--fee_address=<fee_address>] [--author=<author>] [--license=<license>]\n [--license_url=<license_url>] [--release_time=<release_time>]\n [--width=<width>] [--height=<height>] [--duration=<duration>]\n [--title=<title>] [--description=<description>]\n [--thumbnail_url=<thumbnail_url>] [--tag=<tag>...]\n [--language=<language>...] [--location=<location>...]\n [--account_id=<account_id>] [--claim_address=<claim_address>]\n [--channel_id=<channel_id>] [--channel_name=<channel_name>]\n [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --name=<name> : (str) name for the stream (can only consist\n of a-z A-Z 0-9 and -(dash))\n --bid=<bid> : (str) amount to back the content\n --allow_duplicate_name : (bool) create new stream even if one\n already exists with given name\n --file_path=<file_path> : (str) path to file to be associated with\n name.\n --validate_file : (bool) validate that the video container\n and encodings match common web browser\n support or that optimization succeeds if\n specified. FFmpeg is required\n --optimize_file : (bool) transcode the video & audio if\n necessary to ensure common web browser\n support. FFmpeg is required\n --fee_currency=<fee_currency> : (str) specify fee currency\n --fee_amount=<fee_amount> : (str) content download fee\n --fee_address=<fee_address> : (str) address where to send fee payments,\n will use the claim holding address by\n default\n --author=<author> : (str) author of the publication. The usage\n for this field is not the same as for\n channels. The author field is used to\n credit an author who is not the publisher\n and is not represented by the channel. For\n example, a pdf file of 'The Odyssey' has an\n author of 'Homer' but may by published to a\n channel such as '@classics', or to no\n channel at all\n --license=<license> : (str) publication license\n --license_url=<license_url> : (str) publication license url\n --release_time=<release_time> : (int) original public release of content,\n seconds since UNIX epoch\n --width=<width> : (int) image/video width, automatically\n calculated from media file\n --height=<height> : (int) image/video height, automatically\n calculated from media file\n --duration=<duration> : (int) audio/video duration in seconds,\n automatically calculated\n --title=<title> : (str)\n --description=<description> : (str)\n --thumbnail_url=<thumbnail_url> : (str) url to thumbnail image\n --tag=<tag> : (str, list)\n --language=<language> : (str, list) languages used by the channel,\n using RFC 5646 format, eg: for English\n `--language=en` for Spanish (Spain)\n `--language=es-ES` for Spanish (Mexican)\n `--language=es-MX` for Chinese (Simplified)\n `--language=zh-Hans` for Chinese\n (Traditional) `--language=zh-Hant`\n --location=<location> : (str, list) locations of the channel,\n consisting of 2 letter `country` code and a\n `state`, `city` and a postal `code` along\n with a `latitude` and `longitude`. for JSON\n RPC: pass a dictionary with aforementioned\n attributes as keys, eg: ... \"locations\":\n [{'country': 'US', 'state': 'NH'}] ... for\n command line: pass a colon delimited list\n with values in the following order:\n \"COUNTRY:STATE:CITY:CODE:LATITUDE:LONGITUDE\"\n making sure to include colon for blank\n values, for example to provide only the\n city: ...--locations=\"::Manchester\" with\n all values set: ...--\n locations=\"US:NH:Manchester:03101:42.990605:-71.460989\"\n optionally, you can just pass the\n \"LATITUDE:LONGITUDE\": ...--\n locations=\"42.990605:-71.460989\" finally,\n you can also pass JSON string of dictionary\n on the command line as you would via JSON\n RPC ...--locations=\"{'country': 'US',\n 'state': 'NH'}\"\n --account_id=<account_id> : (str) account to hold the claim\n --claim_address=<claim_address> : (str) specific address where the claim is\n held, if not specified it will be\n determined automatically from the account\n --channel_id=<channel_id> : (str) claim id of the publishing channel\n --channel_name=<channel_name> : (str) name of publishing channel\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) \n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" + "help": "Make a new stream claim and announce the associated file to lbrynet.\n\nUsage:\n stream create (<name> | --name=<name>) (<bid> | --bid=<bid>) [--allow_duplicate_name]\n [--file_path=<file_path>] [--validate_file] [--optimize_file]\n [--fee_currency=<fee_currency>] [--fee_amount=<fee_amount>]\n [--fee_address=<fee_address>] [--author=<author>] [--license=<license>]\n [--license_url=<license_url>] [--release_time=<release_time>]\n [--width=<width>] [--height=<height>] [--duration=<duration>]\n [--title=<title>] [--description=<description>]\n [--thumbnail_url=<thumbnail_url>] [--tag=<tag>...]\n [--language=<language>...] [--location=<location>...]\n [--account_id=<account_id>] [--claim_address=<claim_address>]\n [--channel_id=<channel_id>] [--channel_name=<channel_name>]\n [--wallet_id=<wallet_id>] [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --name=<name> : (str) name for the stream (can only consist\n of a-z A-Z 0-9 and -(dash))\n --bid=<bid> : (str) amount to back the content\n --allow_duplicate_name : (bool) create new stream even if one\n already exists with given name\n --file_path=<file_path> : (str) path to file to be associated with\n name.\n --validate_file : (bool) validate that the video container\n and encodings match common web browser\n support or that optimization succeeds if\n specified. FFmpeg is required\n --optimize_file : (bool) transcode the video & audio if\n necessary to ensure common web browser\n support. FFmpeg is required\n --fee_currency=<fee_currency> : (str) specify fee currency\n --fee_amount=<fee_amount> : (str) content download fee\n --fee_address=<fee_address> : (str) address where to send fee payments,\n will use the claim holding address by\n default\n --author=<author> : (str) author of the publication. The usage\n for this field is not the same as for\n channels. The author field is used to\n credit an author who is not the publisher\n and is not represented by the channel. For\n example, a pdf file of 'The Odyssey' has an\n author of 'Homer' but may by published to a\n channel such as '@classics', or to no\n channel at all\n --license=<license> : (str) publication license\n --license_url=<license_url> : (str) publication license url\n --release_time=<release_time> : (int) original public release of content,\n seconds since UNIX epoch\n --width=<width> : (int) image/video width, automatically\n calculated from media file\n --height=<height> : (int) image/video height, automatically\n calculated from media file\n --duration=<duration> : (int) audio/video duration in seconds,\n automatically calculated\n --title=<title> : (str)\n --description=<description> : (str)\n --thumbnail_url=<thumbnail_url> : (str) url to thumbnail image\n --tag=<tag> : (str, list)\n --language=<language> : (str, list) languages used by the channel,\n using RFC 5646 format, eg: for English\n `--language=en` for Spanish (Spain)\n `--language=es-ES` for Spanish (Mexican)\n `--language=es-MX` for Chinese (Simplified)\n `--language=zh-Hans` for Chinese\n (Traditional) `--language=zh-Hant`\n --location=<location> : (str, list) locations of the channel,\n consisting of 2 letter `country` code and a\n `state`, `city` and a postal `code` along\n with a `latitude` and `longitude`. for JSON\n RPC: pass a dictionary with aforementioned\n attributes as keys, eg: ... \"locations\":\n [{'country': 'US', 'state': 'NH'}] ... for\n command line: pass a colon delimited list\n with values in the following order:\n \"COUNTRY:STATE:CITY:CODE:LATITUDE:LONGITUDE\"\n making sure to include colon for blank\n values, for example to provide only the\n city: ...--locations=\"::Manchester\" with\n all values set: ...--\n locations=\"US:NH:Manchester:03101:42.990605:-71.460989\"\n optionally, you can just pass the\n \"LATITUDE:LONGITUDE\": ...--\n locations=\"42.990605:-71.460989\" finally,\n you can also pass JSON string of dictionary\n on the command line as you would via JSON\n RPC ...--locations=\"{'country': 'US',\n 'state': 'NH'}\"\n --account_id=<account_id> : (str) account to hold the claim\n --claim_address=<claim_address> : (str) specific address where the claim is\n held, if not specified it will be\n determined automatically from the account\n --channel_id=<channel_id> : (str) claim id of the publishing channel\n --channel_name=<channel_name> : (str) name of publishing channel\n --wallet_id=<wallet_id> : (str) restrict operation to specific wallet\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) \n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" }, "stream_list": { "name": "list", @@ -9807,6 +9940,13 @@ interface = { ], "type": "str" }, + { + "name": "wallet_id", + "desc": [ + "restrict operation to specific wallet" + ], + "type": "str" + }, { "name": "change_account_id", "desc": [ @@ -9897,6 +10037,13 @@ interface = { ], "type": "str" }, + { + "name": "wallet_id", + "desc": [ + "restrict operation to specific wallet" + ], + "type": "str" + }, { "name": "change_account_id", "desc": [ @@ -9930,7 +10077,7 @@ interface = { ], "group": "stream", "cli": "stream repost", - "help": "Creates a claim that references an existing stream by its claim id.\n\nUsage:\n stream repost (<name> | --name=<name>) (<bid> | --bid=<bid>) (<claim_id> | --claim_id=<claim_id>)\n [--allow_duplicate_name] [--account_id=<account_id>] [--claim_address=<claim_address>]\n [--channel_id=<channel_id>] [--channel_name=<channel_name>]\n [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --name=<name> : (str) name of the repost (can only consist\n of a-z A-Z 0-9 and -(dash))\n --bid=<bid> : (str) amount to back the repost\n --claim_id=<claim_id> : (str) id of the claim being reposted\n --allow_duplicate_name : (bool) create new repost even if one\n already exists with given name\n --account_id=<account_id> : (str) account to hold the repost\n --claim_address=<claim_address> : (str) specific address where the repost is\n held, if not specified it will be\n determined automatically from the account\n --channel_id=<channel_id> : (str) claim id of the publishing channel\n --channel_name=<channel_name> : (str) name of publishing channel\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) transaction for the repost\n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" + "help": "Creates a claim that references an existing stream by its claim id.\n\nUsage:\n stream repost (<name> | --name=<name>) (<bid> | --bid=<bid>) (<claim_id> | --claim_id=<claim_id>)\n [--allow_duplicate_name] [--account_id=<account_id>] [--claim_address=<claim_address>]\n [--channel_id=<channel_id>] [--channel_name=<channel_name>]\n [--wallet_id=<wallet_id>] [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --name=<name> : (str) name of the repost (can only consist\n of a-z A-Z 0-9 and -(dash))\n --bid=<bid> : (str) amount to back the repost\n --claim_id=<claim_id> : (str) id of the claim being reposted\n --allow_duplicate_name : (bool) create new repost even if one\n already exists with given name\n --account_id=<account_id> : (str) account to hold the repost\n --claim_address=<claim_address> : (str) specific address where the repost is\n held, if not specified it will be\n determined automatically from the account\n --channel_id=<channel_id> : (str) claim id of the publishing channel\n --channel_name=<channel_name> : (str) name of publishing channel\n --wallet_id=<wallet_id> : (str) restrict operation to specific wallet\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) transaction for the repost\n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" }, "stream_update": { "name": "update", @@ -10201,6 +10348,13 @@ interface = { "default": False, "type": "bool" }, + { + "name": "wallet_id", + "desc": [ + "restrict operation to specific wallet" + ], + "type": "str" + }, { "name": "change_account_id", "desc": [ @@ -10520,6 +10674,13 @@ interface = { "default": False, "type": "bool" }, + { + "name": "wallet_id", + "desc": [ + "restrict operation to specific wallet" + ], + "type": "str" + }, { "name": "change_account_id", "desc": [ @@ -10553,7 +10714,7 @@ interface = { ], "group": "stream", "cli": "stream update", - "help": "Update an existing stream claim and if a new file is provided announce it to lbrynet.\n\nUsage:\n stream update (<claim_id> | --claim_id=<claim_id>) [--bid=<bid>]\n [--clear_fee] [--clear_channel] [--file_path=<file_path>]\n [--validate_file] [--optimize_file] [--fee_currency=<fee_currency>]\n [--fee_amount=<fee_amount>] [--fee_address=<fee_address>]\n [--author=<author>] [--license=<license>] [--license_url=<license_url>]\n [--release_time=<release_time>] [--width=<width>] [--height=<height>]\n [--duration=<duration>] [--title=<title>] [--description=<description>]\n [--thumbnail_url=<thumbnail_url>] [--tag=<tag>...]\n [--language=<language>...] [--location=<location>...]\n [--account_id=<account_id>] [--claim_address=<claim_address>]\n [--channel_id=<channel_id>] [--channel_name=<channel_name>] [--replace]\n [--clear_tags] [--clear_languages] [--clear_locations]\n [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --claim_id=<claim_id> : (str) claim_id of the stream to update\n --bid=<bid> : (str) update amount backing the stream\n --clear_fee : (bool) clear fee\n --clear_channel : (bool) clear channel signature\n --file_path=<file_path> : (str) path to file to be associated with\n name.\n --validate_file : (bool) validate that the video container\n and encodings match common web browser\n support or that optimization succeeds if\n specified. FFmpeg is required\n --optimize_file : (bool) transcode the video & audio if\n necessary to ensure common web browser\n support. FFmpeg is required\n --fee_currency=<fee_currency> : (str) specify fee currency\n --fee_amount=<fee_amount> : (str) content download fee\n --fee_address=<fee_address> : (str) address where to send fee payments,\n will use the claim holding address by\n default\n --author=<author> : (str) author of the publication. The usage\n for this field is not the same as for\n channels. The author field is used to\n credit an author who is not the publisher\n and is not represented by the channel. For\n example, a pdf file of 'The Odyssey' has an\n author of 'Homer' but may by published to a\n channel such as '@classics', or to no\n channel at all\n --license=<license> : (str) publication license\n --license_url=<license_url> : (str) publication license url\n --release_time=<release_time> : (int) original public release of content,\n seconds since UNIX epoch\n --width=<width> : (int) image/video width, automatically\n calculated from media file\n --height=<height> : (int) image/video height, automatically\n calculated from media file\n --duration=<duration> : (int) audio/video duration in seconds,\n automatically calculated\n --title=<title> : (str)\n --description=<description> : (str)\n --thumbnail_url=<thumbnail_url> : (str) url to thumbnail image\n --tag=<tag> : (str, list)\n --language=<language> : (str, list) languages used by the channel,\n using RFC 5646 format, eg: for English\n `--language=en` for Spanish (Spain)\n `--language=es-ES` for Spanish (Mexican)\n `--language=es-MX` for Chinese (Simplified)\n `--language=zh-Hans` for Chinese\n (Traditional) `--language=zh-Hant`\n --location=<location> : (str, list) locations of the channel,\n consisting of 2 letter `country` code and a\n `state`, `city` and a postal `code` along\n with a `latitude` and `longitude`. for JSON\n RPC: pass a dictionary with aforementioned\n attributes as keys, eg: ... \"locations\":\n [{'country': 'US', 'state': 'NH'}] ... for\n command line: pass a colon delimited list\n with values in the following order:\n \"COUNTRY:STATE:CITY:CODE:LATITUDE:LONGITUDE\"\n making sure to include colon for blank\n values, for example to provide only the\n city: ...--locations=\"::Manchester\" with\n all values set: ...--\n locations=\"US:NH:Manchester:03101:42.990605:-71.460989\"\n optionally, you can just pass the\n \"LATITUDE:LONGITUDE\": ...--\n locations=\"42.990605:-71.460989\" finally,\n you can also pass JSON string of dictionary\n on the command line as you would via JSON\n RPC ...--locations=\"{'country': 'US',\n 'state': 'NH'}\"\n --account_id=<account_id> : (str) account to hold the claim\n --claim_address=<claim_address> : (str) specific address where the claim is\n held, if not specified it will be\n determined automatically from the account\n --channel_id=<channel_id> : (str) claim id of the publishing channel\n --channel_name=<channel_name> : (str) name of publishing channel\n --replace : (bool) instead of modifying specific values\n on the claim, this will clear all existing\n values and only save passed in values,\n useful for form submissions where all\n values are always set\n --clear_tags : (bool) clear existing tags (prior to adding\n new ones)\n --clear_languages : (bool) clear existing languages (prior to\n adding new ones)\n --clear_locations : (bool) clear existing locations (prior to\n adding new ones)\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) stream update transaction\n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" + "help": "Update an existing stream claim and if a new file is provided announce it to lbrynet.\n\nUsage:\n stream update (<claim_id> | --claim_id=<claim_id>) [--bid=<bid>]\n [--clear_fee] [--clear_channel] [--file_path=<file_path>]\n [--validate_file] [--optimize_file] [--fee_currency=<fee_currency>]\n [--fee_amount=<fee_amount>] [--fee_address=<fee_address>]\n [--author=<author>] [--license=<license>] [--license_url=<license_url>]\n [--release_time=<release_time>] [--width=<width>] [--height=<height>]\n [--duration=<duration>] [--title=<title>] [--description=<description>]\n [--thumbnail_url=<thumbnail_url>] [--tag=<tag>...]\n [--language=<language>...] [--location=<location>...]\n [--account_id=<account_id>] [--claim_address=<claim_address>]\n [--channel_id=<channel_id>] [--channel_name=<channel_name>] [--replace]\n [--clear_tags] [--clear_languages] [--clear_locations]\n [--wallet_id=<wallet_id>] [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --claim_id=<claim_id> : (str) claim_id of the stream to update\n --bid=<bid> : (str) update amount backing the stream\n --clear_fee : (bool) clear fee\n --clear_channel : (bool) clear channel signature\n --file_path=<file_path> : (str) path to file to be associated with\n name.\n --validate_file : (bool) validate that the video container\n and encodings match common web browser\n support or that optimization succeeds if\n specified. FFmpeg is required\n --optimize_file : (bool) transcode the video & audio if\n necessary to ensure common web browser\n support. FFmpeg is required\n --fee_currency=<fee_currency> : (str) specify fee currency\n --fee_amount=<fee_amount> : (str) content download fee\n --fee_address=<fee_address> : (str) address where to send fee payments,\n will use the claim holding address by\n default\n --author=<author> : (str) author of the publication. The usage\n for this field is not the same as for\n channels. The author field is used to\n credit an author who is not the publisher\n and is not represented by the channel. For\n example, a pdf file of 'The Odyssey' has an\n author of 'Homer' but may by published to a\n channel such as '@classics', or to no\n channel at all\n --license=<license> : (str) publication license\n --license_url=<license_url> : (str) publication license url\n --release_time=<release_time> : (int) original public release of content,\n seconds since UNIX epoch\n --width=<width> : (int) image/video width, automatically\n calculated from media file\n --height=<height> : (int) image/video height, automatically\n calculated from media file\n --duration=<duration> : (int) audio/video duration in seconds,\n automatically calculated\n --title=<title> : (str)\n --description=<description> : (str)\n --thumbnail_url=<thumbnail_url> : (str) url to thumbnail image\n --tag=<tag> : (str, list)\n --language=<language> : (str, list) languages used by the channel,\n using RFC 5646 format, eg: for English\n `--language=en` for Spanish (Spain)\n `--language=es-ES` for Spanish (Mexican)\n `--language=es-MX` for Chinese (Simplified)\n `--language=zh-Hans` for Chinese\n (Traditional) `--language=zh-Hant`\n --location=<location> : (str, list) locations of the channel,\n consisting of 2 letter `country` code and a\n `state`, `city` and a postal `code` along\n with a `latitude` and `longitude`. for JSON\n RPC: pass a dictionary with aforementioned\n attributes as keys, eg: ... \"locations\":\n [{'country': 'US', 'state': 'NH'}] ... for\n command line: pass a colon delimited list\n with values in the following order:\n \"COUNTRY:STATE:CITY:CODE:LATITUDE:LONGITUDE\"\n making sure to include colon for blank\n values, for example to provide only the\n city: ...--locations=\"::Manchester\" with\n all values set: ...--\n locations=\"US:NH:Manchester:03101:42.990605:-71.460989\"\n optionally, you can just pass the\n \"LATITUDE:LONGITUDE\": ...--\n locations=\"42.990605:-71.460989\" finally,\n you can also pass JSON string of dictionary\n on the command line as you would via JSON\n RPC ...--locations=\"{'country': 'US',\n 'state': 'NH'}\"\n --account_id=<account_id> : (str) account to hold the claim\n --claim_address=<claim_address> : (str) specific address where the claim is\n held, if not specified it will be\n determined automatically from the account\n --channel_id=<channel_id> : (str) claim id of the publishing channel\n --channel_name=<channel_name> : (str) name of publishing channel\n --replace : (bool) instead of modifying specific values\n on the claim, this will clear all existing\n values and only save passed in values,\n useful for form submissions where all\n values are always set\n --clear_tags : (bool) clear existing tags (prior to adding\n new ones)\n --clear_languages : (bool) clear existing languages (prior to\n adding new ones)\n --clear_locations : (bool) clear existing locations (prior to\n adding new ones)\n --wallet_id=<wallet_id> : (str) restrict operation to specific wallet\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) stream update transaction\n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" }, "support_abandon": { "name": "abandon", @@ -10604,6 +10765,13 @@ interface = { ], "type": "str" }, + { + "name": "wallet_id", + "desc": [ + "restrict operation to specific wallet" + ], + "type": "str" + }, { "name": "change_account_id", "desc": [ @@ -10709,6 +10877,13 @@ interface = { ], "type": "str" }, + { + "name": "wallet_id", + "desc": [ + "restrict operation to specific wallet" + ], + "type": "str" + }, { "name": "change_account_id", "desc": [ @@ -10742,7 +10917,7 @@ interface = { ], "group": "support", "cli": "support abandon", - "help": "Abandon supports, including tips, of a specific claim, optionally\nkeeping some amount as supports.\n\nUsage:\n support abandon [--keep=<keep>]\n [--claim_id=<claim_id>] [--txid=<txid>] [--nout=<nout>]\n [--account_id=<account_id>] [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --keep=<keep> : (str) amount of lbc to keep as support\n --claim_id=<claim_id> : (str) claim_id of the claim to abandon\n --txid=<txid> : (str) txid of the claim to abandon\n --nout=<nout> : (int) nout of the claim to abandon\n [default: 0]\n --account_id=<account_id> : (str) restrict operation to specific\n account, otherwise all accounts in wallet\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) transaction abandoning the supports\n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" + "help": "Abandon supports, including tips, of a specific claim, optionally\nkeeping some amount as supports.\n\nUsage:\n support abandon [--keep=<keep>]\n [--claim_id=<claim_id>] [--txid=<txid>] [--nout=<nout>]\n [--account_id=<account_id>] [--wallet_id=<wallet_id>]\n [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --keep=<keep> : (str) amount of lbc to keep as support\n --claim_id=<claim_id> : (str) claim_id of the claim to abandon\n --txid=<txid> : (str) txid of the claim to abandon\n --nout=<nout> : (int) nout of the claim to abandon\n [default: 0]\n --account_id=<account_id> : (str) restrict operation to specific\n account, otherwise all accounts in wallet\n --wallet_id=<wallet_id> : (str) restrict operation to specific wallet\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) transaction abandoning the supports\n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" }, "support_create": { "name": "create", @@ -10786,6 +10961,13 @@ interface = { ], "type": "str" }, + { + "name": "wallet_id", + "desc": [ + "restrict operation to specific wallet" + ], + "type": "str" + }, { "name": "change_account_id", "desc": [ @@ -10862,6 +11044,13 @@ interface = { } }, "kwargs": [ + { + "name": "wallet_id", + "desc": [ + "restrict operation to specific wallet" + ], + "type": "str" + }, { "name": "change_account_id", "desc": [ @@ -10895,7 +11084,7 @@ interface = { ], "group": "support", "cli": "support create", - "help": "Create a support or a tip for name claim.\n\nUsage:\n support create (<claim_id> | --claim_id=<claim_id>) (<amount> | --amount=<amount>)\n [--tip] [--account_id=<account_id>]\n [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --claim_id=<claim_id> : (str) claim_id of the claim to support\n --amount=<amount> : (str) amount of support\n --tip : (bool) send support to claim owner\n --account_id=<account_id> : (str) account to use for holding the\n support\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) new support transaction\n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" + "help": "Create a support or a tip for name claim.\n\nUsage:\n support create (<claim_id> | --claim_id=<claim_id>) (<amount> | --amount=<amount>)\n [--tip] [--account_id=<account_id>]\n [--wallet_id=<wallet_id>] [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --claim_id=<claim_id> : (str) claim_id of the claim to support\n --amount=<amount> : (str) amount of support\n --tip : (bool) send support to claim owner\n --account_id=<account_id> : (str) account to use for holding the\n support\n --wallet_id=<wallet_id> : (str) restrict operation to specific wallet\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) new support transaction\n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" }, "support_list": { "name": "list", @@ -11725,6 +11914,13 @@ interface = { ], "type": "str, list" }, + { + "name": "wallet_id", + "desc": [ + "restrict results to specific wallet" + ], + "type": "str" + }, { "name": "page", "desc": [ @@ -11897,6 +12093,13 @@ interface = { ], "type": "str, list" }, + { + "name": "wallet_id", + "desc": [ + "restrict results to specific wallet" + ], + "type": "str" + }, { "name": "page", "desc": [ @@ -11922,7 +12125,7 @@ interface = { ], "group": "txo", "cli": "txo list", - "help": "List my transaction outputs.\n\nUsage:\n txo list [--include_received_tips] [--resolve] [--order_by=<order_by>]\n [--type=<type>...] [--txid=<txid>...] [--claim_id=<claim_id>...]\n [--channel_id=<channel_id>...] [--name=<name>...] [--is_spent]\n [--is_not_spent] [--is_my_input_or_output] [--is_my_output]\n [--is_not_my_output] [--is_my_input] [--is_not_my_input]\n [--exclude_internal_transfers] [--account_id=<account_id>...] [--page=<page>]\n [--page_size=<page_size>] [--include_total]\n\nOptions:\n --include_received_tips : (bool) calculate the amount of tips recieved for claim\n outputs\n --resolve : (bool) resolves each claim to provide additional\n metadata\n --order_by=<order_by> : (str) field to order by: 'name', 'height', 'amount'\n and 'none'\n --type=<type> : (str, list) claim type: stream, channel, support,\n purchase, collection, repost, other\n --txid=<txid> : (str, list) transaction id of outputs\n --claim_id=<claim_id> : (str, list) claim id\n --channel_id=<channel_id> : (str, list) claims in this channel\n --name=<name> : (str, list) claim name\n --is_spent : (bool) only show spent txos\n --is_not_spent : (bool) only show not spent txos\n --is_my_input_or_output : (bool) txos which have your inputs or your outputs, if\n using this flag the other related flags are ignored.\n (\"--is_my_output\", \"--is_my_input\", etc)\n --is_my_output : (bool) show outputs controlled by you\n --is_not_my_output : (bool) show outputs not controlled by you\n --is_my_input : (bool) show outputs created by you\n --is_not_my_input : (bool) show outputs not created by you\n --exclude_internal_transfers : (bool) excludes any outputs that are exactly this\n combination: \"--is_my_input\" + \"--is_my_output\" + \"--\n type=other\" this allows to exclude \"change\" payments,\n this flag can be used in combination with any of the\n other flags\n --account_id=<account_id> : (str, list) id(s) of the account(s) to query\n --page=<page> : (int) page to return for paginating\n --page_size=<page_size> : (int) number of items on page for pagination\n --include_total : (bool) calculate total number of items and pages\n\nReturns:\n (Paginated[Output]) \n {\n \"page\": \"Page number of the current items.\",\n \"page_size\": \"Number of items to show on a page.\",\n \"total_pages\": \"Total number of pages.\",\n \"total_items\": \"Total number of items.\",\n \"items\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ]\n }" + "help": "List my transaction outputs.\n\nUsage:\n txo list [--include_received_tips] [--resolve] [--order_by=<order_by>]\n [--type=<type>...] [--txid=<txid>...] [--claim_id=<claim_id>...]\n [--channel_id=<channel_id>...] [--name=<name>...] [--is_spent]\n [--is_not_spent] [--is_my_input_or_output] [--is_my_output]\n [--is_not_my_output] [--is_my_input] [--is_not_my_input]\n [--exclude_internal_transfers] [--account_id=<account_id>...]\n [--wallet_id=<wallet_id>] [--page=<page>] [--page_size=<page_size>]\n [--include_total]\n\nOptions:\n --include_received_tips : (bool) calculate the amount of tips recieved for claim\n outputs\n --resolve : (bool) resolves each claim to provide additional\n metadata\n --order_by=<order_by> : (str) field to order by: 'name', 'height', 'amount'\n and 'none'\n --type=<type> : (str, list) claim type: stream, channel, support,\n purchase, collection, repost, other\n --txid=<txid> : (str, list) transaction id of outputs\n --claim_id=<claim_id> : (str, list) claim id\n --channel_id=<channel_id> : (str, list) claims in this channel\n --name=<name> : (str, list) claim name\n --is_spent : (bool) only show spent txos\n --is_not_spent : (bool) only show not spent txos\n --is_my_input_or_output : (bool) txos which have your inputs or your outputs, if\n using this flag the other related flags are ignored.\n (\"--is_my_output\", \"--is_my_input\", etc)\n --is_my_output : (bool) show outputs controlled by you\n --is_not_my_output : (bool) show outputs not controlled by you\n --is_my_input : (bool) show outputs created by you\n --is_not_my_input : (bool) show outputs not created by you\n --exclude_internal_transfers : (bool) excludes any outputs that are exactly this\n combination: \"--is_my_input\" + \"--is_my_output\" + \"--\n type=other\" this allows to exclude \"change\" payments,\n this flag can be used in combination with any of the\n other flags\n --account_id=<account_id> : (str, list) id(s) of the account(s) to query\n --wallet_id=<wallet_id> : (str) restrict results to specific wallet\n --page=<page> : (int) page to return for paginating\n --page_size=<page_size> : (int) number of items on page for pagination\n --include_total : (bool) calculate total number of items and pages\n\nReturns:\n (Paginated[Output]) \n {\n \"page\": \"Page number of the current items.\",\n \"page_size\": \"Number of items to show on a page.\",\n \"total_pages\": \"Total number of pages.\",\n \"total_items\": \"Total number of items.\",\n \"items\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ]\n }" }, "txo_plot": { "name": "plot", @@ -12079,6 +12282,13 @@ interface = { ], "type": "str, list" }, + { + "name": "wallet_id", + "desc": [ + "restrict results to specific wallet" + ], + "type": "str" + }, { "name": "page", "desc": [ @@ -12218,6 +12428,13 @@ interface = { ], "type": "str, list" }, + { + "name": "wallet_id", + "desc": [ + "restrict results to specific wallet" + ], + "type": "str" + }, { "name": "page", "desc": [ @@ -12243,7 +12460,7 @@ interface = { ], "group": "txo", "cli": "txo plot", - "help": "Plot transaction output sum over days.\n\nUsage:\n txo_plot [--days_back=<days_back> |\n [--start_day=<start_day> [--days_after=<days_after> | --end_day=<end_day>]]\n ]\n [--type=<type>...] [--txid=<txid>...] [--claim_id=<claim_id>...]\n [--channel_id=<channel_id>...] [--name=<name>...] [--is_spent]\n [--is_not_spent] [--is_my_input_or_output] [--is_my_output]\n [--is_not_my_output] [--is_my_input] [--is_not_my_input]\n [--exclude_internal_transfers] [--account_id=<account_id>...] [--page=<page>]\n [--page_size=<page_size>] [--include_total]\n\nOptions:\n --days_back=<days_back> : (int) number of days back from today (not compatible\n with --start_day, --days_after, --end_day) [default:\n 0]\n --start_day=<start_day> : (str) start on specific date (format: YYYY-MM-DD)\n (instead of --days_back)\n --days_after=<days_after> : (int) end number of days after --start_day (instead of\n using --end_day)\n --end_day=<end_day> : (str) end on specific date (format: YYYY-MM-DD)\n (instead of --days_after)\n --type=<type> : (str, list) claim type: stream, channel, support,\n purchase, collection, repost, other\n --txid=<txid> : (str, list) transaction id of outputs\n --claim_id=<claim_id> : (str, list) claim id\n --channel_id=<channel_id> : (str, list) claims in this channel\n --name=<name> : (str, list) claim name\n --is_spent : (bool) only show spent txos\n --is_not_spent : (bool) only show not spent txos\n --is_my_input_or_output : (bool) txos which have your inputs or your outputs, if\n using this flag the other related flags are ignored.\n (\"--is_my_output\", \"--is_my_input\", etc)\n --is_my_output : (bool) show outputs controlled by you\n --is_not_my_output : (bool) show outputs not controlled by you\n --is_my_input : (bool) show outputs created by you\n --is_not_my_input : (bool) show outputs not created by you\n --exclude_internal_transfers : (bool) excludes any outputs that are exactly this\n combination: \"--is_my_input\" + \"--is_my_output\" + \"--\n type=other\" this allows to exclude \"change\" payments,\n this flag can be used in combination with any of the\n other flags\n --account_id=<account_id> : (str, list) id(s) of the account(s) to query\n --page=<page> : (int) page to return for paginating\n --page_size=<page_size> : (int) number of items on page for pagination\n --include_total : (bool) calculate total number of items and pages\n\nReturns:\n (List) " + "help": "Plot transaction output sum over days.\n\nUsage:\n txo_plot [--days_back=<days_back> |\n [--start_day=<start_day> [--days_after=<days_after> | --end_day=<end_day>]]\n ]\n [--type=<type>...] [--txid=<txid>...] [--claim_id=<claim_id>...]\n [--channel_id=<channel_id>...] [--name=<name>...] [--is_spent]\n [--is_not_spent] [--is_my_input_or_output] [--is_my_output]\n [--is_not_my_output] [--is_my_input] [--is_not_my_input]\n [--exclude_internal_transfers] [--account_id=<account_id>...]\n [--wallet_id=<wallet_id>] [--page=<page>] [--page_size=<page_size>]\n [--include_total]\n\nOptions:\n --days_back=<days_back> : (int) number of days back from today (not compatible\n with --start_day, --days_after, --end_day) [default:\n 0]\n --start_day=<start_day> : (str) start on specific date (format: YYYY-MM-DD)\n (instead of --days_back)\n --days_after=<days_after> : (int) end number of days after --start_day (instead of\n using --end_day)\n --end_day=<end_day> : (str) end on specific date (format: YYYY-MM-DD)\n (instead of --days_after)\n --type=<type> : (str, list) claim type: stream, channel, support,\n purchase, collection, repost, other\n --txid=<txid> : (str, list) transaction id of outputs\n --claim_id=<claim_id> : (str, list) claim id\n --channel_id=<channel_id> : (str, list) claims in this channel\n --name=<name> : (str, list) claim name\n --is_spent : (bool) only show spent txos\n --is_not_spent : (bool) only show not spent txos\n --is_my_input_or_output : (bool) txos which have your inputs or your outputs, if\n using this flag the other related flags are ignored.\n (\"--is_my_output\", \"--is_my_input\", etc)\n --is_my_output : (bool) show outputs controlled by you\n --is_not_my_output : (bool) show outputs not controlled by you\n --is_my_input : (bool) show outputs created by you\n --is_not_my_input : (bool) show outputs not created by you\n --exclude_internal_transfers : (bool) excludes any outputs that are exactly this\n combination: \"--is_my_input\" + \"--is_my_output\" + \"--\n type=other\" this allows to exclude \"change\" payments,\n this flag can be used in combination with any of the\n other flags\n --account_id=<account_id> : (str, list) id(s) of the account(s) to query\n --wallet_id=<wallet_id> : (str) restrict results to specific wallet\n --page=<page> : (int) page to return for paginating\n --page_size=<page_size> : (int) number of items on page for pagination\n --include_total : (bool) calculate total number of items and pages\n\nReturns:\n (List) " }, "txo_spend": { "name": "spend", @@ -12274,12 +12491,35 @@ interface = { "type": "bool" }, { - "name": "wallet_id", + "name": "change_account_id", "desc": [ - "restrict results to specific wallet" + "account to send excess change (LBC)" ], "type": "str" }, + { + "name": "fund_account_id", + "desc": [ + "accounts to fund the transaction" + ], + "type": "str, list" + }, + { + "name": "preview", + "desc": [ + "do not broadcast the transaction" + ], + "default": False, + "type": "bool" + }, + { + "name": "no_wait", + "desc": [ + "do not wait for mempool confirmation" + ], + "default": False, + "type": "bool" + }, { "name": "type", "desc": [ @@ -12392,34 +12632,11 @@ interface = { "type": "str, list" }, { - "name": "change_account_id", + "name": "wallet_id", "desc": [ - "account to send excess change (LBC)" + "restrict results to specific wallet" ], "type": "str" - }, - { - "name": "fund_account_id", - "desc": [ - "accounts to fund the transaction" - ], - "type": "str, list" - }, - { - "name": "preview", - "desc": [ - "do not broadcast the transaction" - ], - "default": False, - "type": "bool" - }, - { - "name": "no_wait", - "desc": [ - "do not wait for mempool confirmation" - ], - "default": False, - "type": "bool" } ], "returns": { @@ -12539,39 +12756,16 @@ interface = { "type": "str, list" }, { - "name": "change_account_id", + "name": "wallet_id", "desc": [ - "account to send excess change (LBC)" + "restrict results to specific wallet" ], "type": "str" - }, - { - "name": "fund_account_id", - "desc": [ - "accounts to fund the transaction" - ], - "type": "str, list" - }, - { - "name": "preview", - "desc": [ - "do not broadcast the transaction" - ], - "default": False, - "type": "bool" - }, - { - "name": "no_wait", - "desc": [ - "do not wait for mempool confirmation" - ], - "default": False, - "type": "bool" } ], "group": "txo", "cli": "txo spend", - "help": "Spend transaction outputs, batching into multiple transactions as necessary.\n\nUsage:\n txo spend [--batch_size=<batch_size>] [--include_full_tx]\n [--type=<type>...] [--txid=<txid>...] [--claim_id=<claim_id>...]\n [--channel_id=<channel_id>...] [--name=<name>...] [--is_spent]\n [--is_not_spent] [--is_my_input_or_output] [--is_my_output]\n [--is_not_my_output] [--is_my_input] [--is_not_my_input]\n [--exclude_internal_transfers] [--account_id=<account_id>...]\n [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --batch_size=<batch_size> : (int) number of txos to spend per\n transactions [default: 500]\n --include_full_tx : (bool) include entire tx in output and not\n just the txid\n --wallet_id=<wallet_id> : (str) restrict results to specific wallet\n --type=<type> : (str, list) claim type: stream, channel,\n support, purchase, collection, repost,\n other\n --txid=<txid> : (str, list) transaction id of outputs\n --claim_id=<claim_id> : (str, list) claim id\n --channel_id=<channel_id> : (str, list) claims in this channel\n --name=<name> : (str, list) claim name\n --is_spent : (bool) only show spent txos\n --is_not_spent : (bool) only show not spent txos\n --is_my_input_or_output : (bool) txos which have your inputs or your\n outputs, if using this flag the other\n related flags are ignored. (\"--\n is_my_output\", \"--is_my_input\", etc)\n --is_my_output : (bool) show outputs controlled by you\n --is_not_my_output : (bool) show outputs not controlled by you\n --is_my_input : (bool) show outputs created by you\n --is_not_my_input : (bool) show outputs not created by you\n --exclude_internal_transfers : (bool) excludes any outputs that are\n exactly this combination: \"--is_my_input\" +\n \"--is_my_output\" + \"--type=other\" this\n allows to exclude \"change\" payments, this\n flag can be used in combination with any of\n the other flags\n --account_id=<account_id> : (str, list) id(s) of the account(s) to\n query\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (List[Transaction]) " + "help": "Spend transaction outputs, batching into multiple transactions as necessary.\n\nUsage:\n txo spend [--batch_size=<batch_size>] [--include_full_tx]\n [--type=<type>...] [--txid=<txid>...] [--claim_id=<claim_id>...]\n [--channel_id=<channel_id>...] [--name=<name>...] [--is_spent]\n [--is_not_spent] [--is_my_input_or_output] [--is_my_output]\n [--is_not_my_output] [--is_my_input] [--is_not_my_input]\n [--exclude_internal_transfers] [--account_id=<account_id>...]\n [--wallet_id=<wallet_id>]\n\nOptions:\n --batch_size=<batch_size> : (int) number of txos to spend per\n transactions [default: 500]\n --include_full_tx : (bool) include entire tx in output and not\n just the txid\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n --type=<type> : (str, list) claim type: stream, channel,\n support, purchase, collection, repost,\n other\n --txid=<txid> : (str, list) transaction id of outputs\n --claim_id=<claim_id> : (str, list) claim id\n --channel_id=<channel_id> : (str, list) claims in this channel\n --name=<name> : (str, list) claim name\n --is_spent : (bool) only show spent txos\n --is_not_spent : (bool) only show not spent txos\n --is_my_input_or_output : (bool) txos which have your inputs or your\n outputs, if using this flag the other\n related flags are ignored. (\"--\n is_my_output\", \"--is_my_input\", etc)\n --is_my_output : (bool) show outputs controlled by you\n --is_not_my_output : (bool) show outputs not controlled by you\n --is_my_input : (bool) show outputs created by you\n --is_not_my_input : (bool) show outputs not created by you\n --exclude_internal_transfers : (bool) excludes any outputs that are\n exactly this combination: \"--is_my_input\" +\n \"--is_my_output\" + \"--type=other\" this\n allows to exclude \"change\" payments, this\n flag can be used in combination with any of\n the other flags\n --account_id=<account_id> : (str, list) id(s) of the account(s) to\n query\n --wallet_id=<wallet_id> : (str) restrict results to specific wallet\n\nReturns:\n (List[Transaction]) " }, "txo_sum": { "name": "sum", @@ -12697,34 +12891,11 @@ interface = { "type": "str, list" }, { - "name": "change_account_id", + "name": "wallet_id", "desc": [ - "account to send excess change (LBC)" + "restrict results to specific wallet" ], "type": "str" - }, - { - "name": "fund_account_id", - "desc": [ - "accounts to fund the transaction" - ], - "type": "str, list" - }, - { - "name": "preview", - "desc": [ - "do not broadcast the transaction" - ], - "default": False, - "type": "bool" - }, - { - "name": "no_wait", - "desc": [ - "do not wait for mempool confirmation" - ], - "default": False, - "type": "bool" } ], "returns": { @@ -12846,39 +13017,16 @@ interface = { "type": "str, list" }, { - "name": "change_account_id", + "name": "wallet_id", "desc": [ - "account to send excess change (LBC)" + "restrict results to specific wallet" ], "type": "str" - }, - { - "name": "fund_account_id", - "desc": [ - "accounts to fund the transaction" - ], - "type": "str, list" - }, - { - "name": "preview", - "desc": [ - "do not broadcast the transaction" - ], - "default": False, - "type": "bool" - }, - { - "name": "no_wait", - "desc": [ - "do not wait for mempool confirmation" - ], - "default": False, - "type": "bool" } ], "group": "txo", "cli": "txo sum", - "help": "Sum of transaction outputs.\n\nUsage:\n txo sum\n [--type=<type>...] [--txid=<txid>...] [--claim_id=<claim_id>...]\n [--channel_id=<channel_id>...] [--name=<name>...] [--is_spent]\n [--is_not_spent] [--is_my_input_or_output] [--is_my_output]\n [--is_not_my_output] [--is_my_input] [--is_not_my_input]\n [--exclude_internal_transfers] [--account_id=<account_id>...]\n [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --type=<type> : (str, list) claim type: stream, channel,\n support, purchase, collection, repost,\n other\n --txid=<txid> : (str, list) transaction id of outputs\n --claim_id=<claim_id> : (str, list) claim id\n --channel_id=<channel_id> : (str, list) claims in this channel\n --name=<name> : (str, list) claim name\n --is_spent : (bool) only show spent txos\n --is_not_spent : (bool) only show not spent txos\n --is_my_input_or_output : (bool) txos which have your inputs or your\n outputs, if using this flag the other\n related flags are ignored. (\"--\n is_my_output\", \"--is_my_input\", etc)\n --is_my_output : (bool) show outputs controlled by you\n --is_not_my_output : (bool) show outputs not controlled by you\n --is_my_input : (bool) show outputs created by you\n --is_not_my_input : (bool) show outputs not created by you\n --exclude_internal_transfers : (bool) excludes any outputs that are\n exactly this combination: \"--is_my_input\" +\n \"--is_my_output\" + \"--type=other\" this\n allows to exclude \"change\" payments, this\n flag can be used in combination with any of\n the other flags\n --account_id=<account_id> : (str, list) id(s) of the account(s) to\n query\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (int) sum of filtered outputs" + "help": "Sum of transaction outputs.\n\nUsage:\n txo sum\n [--type=<type>...] [--txid=<txid>...] [--claim_id=<claim_id>...]\n [--channel_id=<channel_id>...] [--name=<name>...] [--is_spent]\n [--is_not_spent] [--is_my_input_or_output] [--is_my_output]\n [--is_not_my_output] [--is_my_input] [--is_not_my_input]\n [--exclude_internal_transfers] [--account_id=<account_id>...]\n [--wallet_id=<wallet_id>]\n\nOptions:\n --type=<type> : (str, list) claim type: stream, channel, support,\n purchase, collection, repost, other\n --txid=<txid> : (str, list) transaction id of outputs\n --claim_id=<claim_id> : (str, list) claim id\n --channel_id=<channel_id> : (str, list) claims in this channel\n --name=<name> : (str, list) claim name\n --is_spent : (bool) only show spent txos\n --is_not_spent : (bool) only show not spent txos\n --is_my_input_or_output : (bool) txos which have your inputs or your outputs, if\n using this flag the other related flags are ignored.\n (\"--is_my_output\", \"--is_my_input\", etc)\n --is_my_output : (bool) show outputs controlled by you\n --is_not_my_output : (bool) show outputs not controlled by you\n --is_my_input : (bool) show outputs created by you\n --is_not_my_input : (bool) show outputs not created by you\n --exclude_internal_transfers : (bool) excludes any outputs that are exactly this\n combination: \"--is_my_input\" + \"--is_my_output\" + \"--\n type=other\" this allows to exclude \"change\" payments,\n this flag can be used in combination with any of the\n other flags\n --account_id=<account_id> : (str, list) id(s) of the account(s) to query\n --wallet_id=<wallet_id> : (str) restrict results to specific wallet\n\nReturns:\n (int) sum of filtered outputs" }, "utxo_list": { "name": "list", @@ -13003,6 +13151,13 @@ interface = { ], "type": "str, list" }, + { + "name": "wallet_id", + "desc": [ + "restrict results to specific wallet" + ], + "type": "str" + }, { "name": "page", "desc": [ @@ -13177,6 +13332,13 @@ interface = { ], "type": "str, list" }, + { + "name": "wallet_id", + "desc": [ + "restrict results to specific wallet" + ], + "type": "str" + }, { "name": "page", "desc": [ @@ -13202,7 +13364,7 @@ interface = { ], "group": "utxo", "cli": "utxo list", - "help": "List unspent transaction outputs\n\nUsage:\n utxo_list\n [--type=<type>...] [--txid=<txid>...] [--claim_id=<claim_id>...]\n [--channel_id=<channel_id>...] [--name=<name>...] [--is_spent]\n [--is_not_spent] [--is_my_input_or_output] [--is_my_output]\n [--is_not_my_output] [--is_my_input] [--is_not_my_input]\n [--exclude_internal_transfers] [--account_id=<account_id>...]\n [--page=<page>] [--page_size=<page_size>] [--include_total]\n\nOptions:\n --type=<type> : (str, list) claim type: stream, channel, support,\n purchase, collection, repost, other\n --txid=<txid> : (str, list) transaction id of outputs\n --claim_id=<claim_id> : (str, list) claim id\n --channel_id=<channel_id> : (str, list) claims in this channel\n --name=<name> : (str, list) claim name\n --is_spent : (bool) only show spent txos\n --is_not_spent : (bool) only show not spent txos\n --is_my_input_or_output : (bool) txos which have your inputs or your outputs, if\n using this flag the other related flags are ignored.\n (\"--is_my_output\", \"--is_my_input\", etc)\n --is_my_output : (bool) show outputs controlled by you\n --is_not_my_output : (bool) show outputs not controlled by you\n --is_my_input : (bool) show outputs created by you\n --is_not_my_input : (bool) show outputs not created by you\n --exclude_internal_transfers : (bool) excludes any outputs that are exactly this\n combination: \"--is_my_input\" + \"--is_my_output\" + \"--\n type=other\" this allows to exclude \"change\" payments,\n this flag can be used in combination with any of the\n other flags\n --account_id=<account_id> : (str, list) id(s) of the account(s) to query\n --page=<page> : (int) page to return for paginating\n --page_size=<page_size> : (int) number of items on page for pagination\n --include_total : (bool) calculate total number of items and pages\n\nReturns:\n (Paginated[Output]) unspent outputs\n {\n \"page\": \"Page number of the current items.\",\n \"page_size\": \"Number of items to show on a page.\",\n \"total_pages\": \"Total number of pages.\",\n \"total_items\": \"Total number of items.\",\n \"items\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ]\n }" + "help": "List unspent transaction outputs\n\nUsage:\n utxo_list\n [--type=<type>...] [--txid=<txid>...] [--claim_id=<claim_id>...]\n [--channel_id=<channel_id>...] [--name=<name>...] [--is_spent]\n [--is_not_spent] [--is_my_input_or_output] [--is_my_output]\n [--is_not_my_output] [--is_my_input] [--is_not_my_input]\n [--exclude_internal_transfers] [--account_id=<account_id>...]\n [--wallet_id=<wallet_id>] [--page=<page>] [--page_size=<page_size>]\n [--include_total]\n\nOptions:\n --type=<type> : (str, list) claim type: stream, channel, support,\n purchase, collection, repost, other\n --txid=<txid> : (str, list) transaction id of outputs\n --claim_id=<claim_id> : (str, list) claim id\n --channel_id=<channel_id> : (str, list) claims in this channel\n --name=<name> : (str, list) claim name\n --is_spent : (bool) only show spent txos\n --is_not_spent : (bool) only show not spent txos\n --is_my_input_or_output : (bool) txos which have your inputs or your outputs, if\n using this flag the other related flags are ignored.\n (\"--is_my_output\", \"--is_my_input\", etc)\n --is_my_output : (bool) show outputs controlled by you\n --is_not_my_output : (bool) show outputs not controlled by you\n --is_my_input : (bool) show outputs created by you\n --is_not_my_input : (bool) show outputs not created by you\n --exclude_internal_transfers : (bool) excludes any outputs that are exactly this\n combination: \"--is_my_input\" + \"--is_my_output\" + \"--\n type=other\" this allows to exclude \"change\" payments,\n this flag can be used in combination with any of the\n other flags\n --account_id=<account_id> : (str, list) id(s) of the account(s) to query\n --wallet_id=<wallet_id> : (str) restrict results to specific wallet\n --page=<page> : (int) page to return for paginating\n --page_size=<page_size> : (int) number of items on page for pagination\n --include_total : (bool) calculate total number of items and pages\n\nReturns:\n (Paginated[Output]) unspent outputs\n {\n \"page\": \"Page number of the current items.\",\n \"page_size\": \"Number of items to show on a page.\",\n \"total_pages\": \"Total number of pages.\",\n \"total_items\": \"Total number of items.\",\n \"items\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ]\n }" }, "utxo_release": { "name": "release", @@ -13652,6 +13814,13 @@ interface = { ], "type": "str, list" }, + { + "name": "wallet_id", + "desc": [ + "restrict operation to specific wallet" + ], + "type": "str" + }, { "name": "change_account_id", "desc": [ @@ -13726,6 +13895,13 @@ interface = { } }, "kwargs": [ + { + "name": "wallet_id", + "desc": [ + "restrict operation to specific wallet" + ], + "type": "str" + }, { "name": "change_account_id", "desc": [ @@ -13759,7 +13935,7 @@ interface = { ], "group": "wallet", "cli": "wallet send", - "help": "Send the same number of credits to multiple addresses using all accounts in wallet to\nfund the transaction and the default account to receive any change.\n\nUsage:\n wallet send <amount> <addresses>...\n [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --amount=<amount> : (str) amount to send to each address\n --addresses=<addresses> : (str, list) addresses to send amounts to\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) \n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" + "help": "Send the same number of credits to multiple addresses using all accounts in wallet to\nfund the transaction and the default account to receive any change.\n\nUsage:\n wallet send <amount> <addresses>...\n [--wallet_id=<wallet_id>] [--change_account_id=<change_account_id>]\n [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait]\n\nOptions:\n --amount=<amount> : (str) amount to send to each address\n --addresses=<addresses> : (str, list) addresses to send amounts to\n --wallet_id=<wallet_id> : (str) restrict operation to specific wallet\n --change_account_id=<change_account_id> : (str) account to send excess change (LBC)\n --fund_account_id=<fund_account_id> : (str, list) accounts to fund the\n transaction\n --preview : (bool) do not broadcast the transaction\n --no_wait : (bool) do not wait for mempool confirmation\n\nReturns:\n (Transaction) \n {\n \"txid\": \"hash of transaction in hex\",\n \"height\": \"block where transaction was recorded\",\n \"inputs\": [\n \"spent outputs...\"\n ],\n \"outputs\": [\n {\n \"txid\": \"hash of transaction in hex\",\n \"nout\": \"position in the transaction\",\n \"height\": \"block where transaction was recorded\",\n \"amount\": \"value of the txo as a decimal\",\n \"address\": \"address of who can spend the txo\",\n \"confirmations\": \"number of confirmed blocks\",\n \"is_change\": \"payment to change address, only available when it can be determined\",\n \"is_received\": \"true if txo was sent from external account to this account\",\n \"is_spent\": \"true if txo is spent\",\n \"is_mine\": \"payment to one of your accounts, only available when it can be determined\",\n \"type\": \"one of 'claim', 'support' or 'purchase'\",\n \"name\": \"when type is 'claim' or 'support', this is the claim name\",\n \"claim_id\": \"when type is 'claim', 'support' or 'purchase', this is the claim id\",\n \"claim_op\": \"when type is 'claim', this determines if it is 'create' or 'update'\",\n \"value\": \"when type is 'claim' or 'support' with payload, this is the decoded protobuf payload\",\n \"value_type\": \"determines the type of the 'value' field: 'channel', 'stream', etc\",\n \"protobuf\": \"hex encoded raw protobuf version of 'value' field\",\n \"permanent_url\": \"when type is 'claim' or 'support', this is the long permanent claim URL\",\n \"claim\": \"for purchase outputs only, metadata of purchased claim\",\n \"reposted_claim\": \"for repost claims only, metadata of claim being reposted\",\n \"signing_channel\": \"for signed claims only, metadata of signing channel\",\n \"is_channel_signature_valid\": \"for signed claims only, whether signature is valid\",\n \"purchase_receipt\": \"metadata for the purchase transaction associated with this claim\"\n }\n ],\n \"total_input\": \"sum of inputs as a decimal\",\n \"total_output\": \"sum of outputs, sans fee, as a decimal\",\n \"total_fee\": \"fee amount\",\n \"hex\": \"entire transaction encoded in hex\"\n }" }, "wallet_status": { "name": "status", From 6484894b361e25271417b75a238e635074a50b47 Mon Sep 17 00:00:00 2001 From: Lex Berezhny <lex@damoti.com> Date: Fri, 4 Sep 2020 15:37:45 -0400 Subject: [PATCH 19/21] reduce diff --- lbry/service/api.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lbry/service/api.py b/lbry/service/api.py index 7115661c2..56c4b3d26 100644 --- a/lbry/service/api.py +++ b/lbry/service/api.py @@ -2762,8 +2762,8 @@ class API: """ txo_dict, kwargs = pop_kwargs('txo_filter', txo_filter_kwargs(**txo_filter_and_pagination_kwargs)) pagination, kwargs = pop_kwargs('pagination', pagination_kwargs(**kwargs)) - wallet = self.wallets.get_or_default(kwargs.pop('wallet_id')) assert_consumed_kwargs(kwargs) + wallet = self.wallets.get_or_default(kwargs.pop('wallet_id')) accounts = wallet.accounts.get_or_all(txo_dict.pop('account_id')) constraints = { 'resolve': resolve, From 28413742cc01157c8eb5bc62cf6fd6f2912d62ab Mon Sep 17 00:00:00 2001 From: Lex Berezhny <lex@damoti.com> Date: Fri, 4 Sep 2020 15:38:31 -0400 Subject: [PATCH 20/21] reduce diff 2 --- lbry/service/api.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lbry/service/api.py b/lbry/service/api.py index 56c4b3d26..263768a60 100644 --- a/lbry/service/api.py +++ b/lbry/service/api.py @@ -2763,7 +2763,7 @@ class API: txo_dict, kwargs = pop_kwargs('txo_filter', txo_filter_kwargs(**txo_filter_and_pagination_kwargs)) pagination, kwargs = pop_kwargs('pagination', pagination_kwargs(**kwargs)) assert_consumed_kwargs(kwargs) - wallet = self.wallets.get_or_default(kwargs.pop('wallet_id')) + wallet = self.wallets.get_or_default(txo_dict.pop('wallet_id')) accounts = wallet.accounts.get_or_all(txo_dict.pop('account_id')) constraints = { 'resolve': resolve, From 2f56f7f0e04af0d75d73d18567eb77bfd87f1ccf Mon Sep 17 00:00:00 2001 From: Lex Berezhny <lex@damoti.com> Date: Fri, 4 Sep 2020 15:40:59 -0400 Subject: [PATCH 21/21] fix test --- tests/unit/service/test_parser.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/unit/service/test_parser.py b/tests/unit/service/test_parser.py index d2b688cfa..00804d7f7 100644 --- a/tests/unit/service/test_parser.py +++ b/tests/unit/service/test_parser.py @@ -252,12 +252,13 @@ class TestGenerator(TestCase): Usage: thing delete <value1> - [--change_account_id=<change_account_id>] + [--wallet_id=<wallet_id>] [--change_account_id=<change_account_id>] [--fund_account_id=<fund_account_id>...] [--preview] [--no_wait] [--page=<page>] [--page_size=<page_size>] [--include_total] Options: --value1=<value1> : (str) + --wallet_id=<wallet_id> : (str) restrict operation to specific wallet --change_account_id=<change_account_id> : (str) account to send excess change (LBC) --fund_account_id=<fund_account_id> : (str, list) accounts to fund the transaction