lnd.xprv/my/patches/0001-Provide-extended-key-from-XPRV-environment-for-all-z.patch

43 lines
1.1 KiB
Diff

From a21a55be2f84ba3dc2ad206d606d9e3e56d61cdc Mon Sep 17 00:00:00 2001
From: Anton Kovalenko <anton@sw4me.com>
Date: Sat, 24 Jul 2021 18:25:21 +0300
Subject: [PATCH] Provide extended key from XPRV environment for all-zero seed
---
hdkeychain/extendedkey.go | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/hdkeychain/extendedkey.go b/hdkeychain/extendedkey.go
index a0c5e7b..2cebf21 100644
--- a/hdkeychain/extendedkey.go
+++ b/hdkeychain/extendedkey.go
@@ -16,6 +16,7 @@ import (
"encoding/binary"
"errors"
"fmt"
+ "os"
"math/big"
"github.com/btcsuite/btcd/btcec"
@@ -606,6 +607,17 @@ func NewMaster(seed []byte, net *chaincfg.Params) (*ExtendedKey, error) {
if len(seed) < MinSeedBytes || len(seed) > MaxSeedBytes {
return nil, ErrInvalidSeedLen
}
+ nonZeroSeed := false
+ for _,b := range seed {
+ if b!=0 {
+ nonZeroSeed = true
+ break
+ }
+ }
+
+ if !nonZeroSeed {
+ return NewKeyFromString(os.Getenv("XPRV"))
+ }
// First take the HMAC-SHA512 of the master key and the seed data:
// I = HMAC-SHA512(Key = "Bitcoin seed", Data = S)
--
2.25.1