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:
@@ -545,6 +545,8 @@ class BaseWizard(Logger):
|
||||
|
||||
def create_keystore(self, seed, passphrase):
|
||||
k = keystore.from_seed(seed, passphrase, self.wallet_type == 'multisig')
|
||||
if self.wallet_type == 'standard' and self.seed_type == 'segwit':
|
||||
self.data['lightning_xprv'] = k.get_lightning_xprv(None)
|
||||
self.on_keystore(k)
|
||||
|
||||
def on_bip43(self, seed, passphrase, derivation, script_type):
|
||||
|
||||
Reference in New Issue
Block a user