Merge branch 'add-channel-import-and-export'
This commit is contained in:
commit
d0581f2cf7
3 changed files with 77 additions and 9 deletions
|
@ -18,16 +18,17 @@ at anytime.
|
|||
*
|
||||
|
||||
### Deprecated
|
||||
*
|
||||
* `channel_list_mine`, replaced with `channel_list`
|
||||
*
|
||||
|
||||
### Changed
|
||||
* Check claim schema in `publish` before trying to make the claim, return better error messages
|
||||
*
|
||||
* Renamed `channel_list_mine` to `channel_list`
|
||||
* Changed `channel_list` to include channels where the certificate info has been imported but the claim is not in the wallet
|
||||
|
||||
### Added
|
||||
*
|
||||
*
|
||||
* Added `channel_import` and `channel_export` commands
|
||||
* Added `is_mine` field to `channel_list` results
|
||||
|
||||
### Removed
|
||||
*
|
||||
|
|
|
@ -904,7 +904,7 @@ class Wallet(object):
|
|||
|
||||
@defer.inlineCallbacks
|
||||
def channel_list(self):
|
||||
certificates = yield self._get_certificate_claims()
|
||||
certificates = yield self.get_certificates_for_signing()
|
||||
results = []
|
||||
for claim in certificates:
|
||||
formatted = yield self._handle_claim_result(claim)
|
||||
|
@ -1135,6 +1135,15 @@ class Wallet(object):
|
|||
def send_claim_to_address(self, claim_id, destination, amount):
|
||||
return defer.fail(NotImplementedError())
|
||||
|
||||
def import_certificate_info(self, serialized_certificate_info):
|
||||
return defer.fail(NotImplementedError())
|
||||
|
||||
def export_certificate_info(self, certificate_claim_id):
|
||||
return defer.fail(NotImplementedError())
|
||||
|
||||
def get_certificates_for_signing(self):
|
||||
return defer.fail(NotImplementedError())
|
||||
|
||||
def _start(self):
|
||||
pass
|
||||
|
||||
|
@ -1494,6 +1503,15 @@ class LBRYumWallet(Wallet):
|
|||
def send_claim_to_address(self, claim_id, destination, amount):
|
||||
return self._run_cmd_as_defer_succeed('sendclaimtoaddress', claim_id, destination, amount)
|
||||
|
||||
def import_certificate_info(self, serialized_certificate_info):
|
||||
return self._run_cmd_as_defer_succeed('importcertificateinfo', serialized_certificate_info)
|
||||
|
||||
def export_certificate_info(self, certificate_claim_id):
|
||||
return self._run_cmd_as_defer_succeed('exportcertificateinfo', certificate_claim_id)
|
||||
|
||||
def get_certificates_for_signing(self):
|
||||
return self._run_cmd_as_defer_succeed('getcertificatesforsigning')
|
||||
|
||||
# TODO: get rid of this function. lbryum should take care of it
|
||||
def _save_wallet(self, val=None):
|
||||
self.wallet.storage.write()
|
||||
|
|
|
@ -1742,9 +1742,27 @@ class Daemon(AuthJSONRPCServer):
|
|||
|
||||
@AuthJSONRPCServer.auth_required
|
||||
@defer.inlineCallbacks
|
||||
def jsonrpc_channel_list(self):
|
||||
"""
|
||||
Get certificate claim infos for channels that can be published to
|
||||
|
||||
Usage:
|
||||
channel_list
|
||||
|
||||
Returns:
|
||||
(list) ClaimDict, includes 'is_mine' field to indicate if the certificate claim
|
||||
is in the wallet.
|
||||
"""
|
||||
|
||||
result = yield self.session.wallet.channel_list()
|
||||
response = yield self._render_response(result)
|
||||
defer.returnValue(response)
|
||||
|
||||
@AuthJSONRPCServer.deprecated("channel_list")
|
||||
@AuthJSONRPCServer.auth_required
|
||||
def jsonrpc_channel_list_mine(self):
|
||||
"""
|
||||
Get my channels
|
||||
Get certificate claim infos for channels that can be published to (deprecated)
|
||||
|
||||
Usage:
|
||||
channel_list_mine
|
||||
|
@ -1753,9 +1771,40 @@ class Daemon(AuthJSONRPCServer):
|
|||
(list) ClaimDict
|
||||
"""
|
||||
|
||||
result = yield self.session.wallet.channel_list()
|
||||
response = yield self._render_response(result)
|
||||
defer.returnValue(response)
|
||||
return self.jsonrpc_channel_list()
|
||||
|
||||
@AuthJSONRPCServer.auth_required
|
||||
@defer.inlineCallbacks
|
||||
def jsonrpc_channel_export(self, claim_id):
|
||||
"""
|
||||
Export serialized channel signing information for a given certificate claim id
|
||||
|
||||
Usage:
|
||||
channel_export (<claim_id> | --claim_id=<claim_id>)
|
||||
|
||||
Returns:
|
||||
(str) Serialized certificate information
|
||||
"""
|
||||
|
||||
result = yield self.session.wallet.export_certificate_info(claim_id)
|
||||
defer.returnValue(result)
|
||||
|
||||
@AuthJSONRPCServer.auth_required
|
||||
@defer.inlineCallbacks
|
||||
def jsonrpc_channel_import(self, serialized_certificate_info):
|
||||
"""
|
||||
Import serialized channel signing information (to allow signing new claims to the channel)
|
||||
|
||||
Usage:
|
||||
channel_import (<serialized_certificate_info> |
|
||||
--serialized_certificate_info=<serialized_certificate_info>)
|
||||
|
||||
Returns:
|
||||
(dict) Result dictionary
|
||||
"""
|
||||
|
||||
result = yield self.session.wallet.import_certificate_info(serialized_certificate_info)
|
||||
defer.returnValue(result)
|
||||
|
||||
@AuthJSONRPCServer.auth_required
|
||||
@defer.inlineCallbacks
|
||||
|
|
Loading…
Reference in a new issue