Deterministic NodeID:
- use_recoverable_channel is a user setting, available
only in standard wallets with a 'segwit' seed_type
- if enabled, 'lightning_xprv' is derived from seed
- otherwise, wallets use the existing 'lightning_privkey2'
Recoverable channels:
- channel recovery data is added funding tx using an OP_RETURN
- recovery data = 4 magic bytes + node id[0:16]
- recovery data is chacha20 encrypted using funding_address as nonce.
(this will allow to fund multiple channels in the same tx)
GUI:
- whether channels are recoverable is shown in wallet info dialog.
- if the wallet can have recoverable channels but has an old node_id,
users are told to close their channels and restore from seed
to have that feature.
This commit is contained in:
@@ -867,6 +867,13 @@ class ChannelDB(SqlDB):
|
||||
with self.lock:
|
||||
return self._policies.copy()
|
||||
|
||||
def get_node_by_prefix(self, prefix):
|
||||
with self.lock:
|
||||
for k in self._addresses.keys():
|
||||
if k.startswith(prefix):
|
||||
return k
|
||||
raise Exception('node not found')
|
||||
|
||||
def to_dict(self) -> dict:
|
||||
""" Generates a graph representation in terms of a dictionary.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user