Skip to content

Commit 9c2b85c

Browse files
committed
multi: move lnd specific code to own package
1 parent 937db7b commit 9c2b85c

15 files changed

+46
-41
lines changed

.golangci.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ linters:
2121
- gosec
2222
- funlen
2323
- maligned
24+
- interfacer
2425

2526
issues:
2627
exclude-rules:

cmd/chantools/chanbackup.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@ package main
33
import (
44
"bytes"
55
"fmt"
6-
"github.com/guggero/chantools/btc"
7-
"github.com/lightningnetwork/lnd/chanbackup"
8-
"github.com/lightningnetwork/lnd/keychain"
96
"path"
107

118
"github.com/btcsuite/btcutil/hdkeychain"
9+
"github.com/guggero/chantools/lnd"
10+
"github.com/lightningnetwork/lnd/chanbackup"
1211
"github.com/lightningnetwork/lnd/channeldb"
12+
"github.com/lightningnetwork/lnd/keychain"
1313
)
1414

1515
type chanBackupCommand struct {
@@ -55,7 +55,7 @@ func (c *chanBackupCommand) Execute(_ []string) error {
5555
return fmt.Errorf("error opening rescue DB: %v", err)
5656
}
5757
multiFile := chanbackup.NewMultiFile(c.MultiFile)
58-
keyRing := &btc.HDKeyRing{
58+
keyRing := &lnd.HDKeyRing{
5959
ExtendedKey: extendedKey,
6060
ChainParams: chainParams,
6161
}
@@ -70,7 +70,7 @@ func createChannelBackup(db *channeldb.DB, multiFile *chanbackup.MultiFile,
7070
return fmt.Errorf("error extracting channel backup: %v", err)
7171
}
7272
multi := &chanbackup.Multi{
73-
Version: chanbackup.DefaultMultiVersion,
73+
Version: chanbackup.DefaultMultiVersion,
7474
StaticBackups: singles,
7575
}
7676
var b bytes.Buffer

cmd/chantools/compactdb.go

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,9 @@ func (c *compactDBCommand) compact(dst, src *bbolt.DB) error {
6565
if err != nil {
6666
return err
6767
}
68-
defer tx.Rollback()
68+
defer func() {
69+
_ = tx.Rollback()
70+
}()
6971

7072
if err := c.walk(src, func(keys [][]byte, k, v []byte, seq uint64) error {
7173
// On each key/value, check if we have exceeded tx size.
@@ -166,9 +168,9 @@ func (c *compactDBCommand) walkBucket(b *bbolt.Bucket, keypath [][]byte,
166168
if v == nil {
167169
bkt := b.Bucket(k)
168170
if bkt == nil {
169-
log.Warnf("Could not read bucket '%s' (full " +
170-
"path '%s') database is likely " +
171-
"corrupted. Continuing anyway but " +
171+
log.Warnf("Could not read bucket '%s' (full "+
172+
"path '%s') database is likely "+
173+
"corrupted. Continuing anyway but "+
172174
"skipping corrupt bucket.", k, keypath)
173175
return nil
174176
}

cmd/chantools/derivekey.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import (
55

66
"github.com/btcsuite/btcutil"
77
"github.com/btcsuite/btcutil/hdkeychain"
8-
"github.com/guggero/chantools/btc"
8+
"github.com/guggero/chantools/lnd"
99
)
1010

1111
type deriveKeyCommand struct {
@@ -41,11 +41,11 @@ func deriveKey(extendedKey *hdkeychain.ExtendedKey, path string,
4141
neuter bool) error {
4242

4343
fmt.Printf("Deriving path %s for network %s.\n", path, chainParams.Name)
44-
parsedPath, err := btc.ParsePath(path)
44+
parsedPath, err := lnd.ParsePath(path)
4545
if err != nil {
4646
return fmt.Errorf("could not parse derivation path: %v", err)
4747
}
48-
derivedKey, err := btc.DeriveChildren(extendedKey, parsedPath)
48+
derivedKey, err := lnd.DeriveChildren(extendedKey, parsedPath)
4949
if err != nil {
5050
return fmt.Errorf("could not derive children: %v", err)
5151
}

cmd/chantools/dumpbackup.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ import (
55

66
"github.com/btcsuite/btcutil/hdkeychain"
77
"github.com/davecgh/go-spew/spew"
8-
"github.com/guggero/chantools/btc"
98
"github.com/guggero/chantools/dump"
9+
"github.com/guggero/chantools/lnd"
1010
"github.com/lightningnetwork/lnd/chanbackup"
1111
"github.com/lightningnetwork/lnd/keychain"
1212
)
@@ -41,7 +41,7 @@ func (c *dumpBackupCommand) Execute(_ []string) error {
4141
return fmt.Errorf("backup file is required")
4242
}
4343
multiFile := chanbackup.NewMultiFile(c.MultiFile)
44-
keyRing := &btc.HDKeyRing{
44+
keyRing := &lnd.HDKeyRing{
4545
ExtendedKey: extendedKey,
4646
ChainParams: chainParams,
4747
}

cmd/chantools/filterbackup.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import (
77
"time"
88

99
"github.com/btcsuite/btcutil/hdkeychain"
10-
"github.com/guggero/chantools/btc"
10+
"github.com/guggero/chantools/lnd"
1111
"github.com/lightningnetwork/lnd/chanbackup"
1212
"github.com/lightningnetwork/lnd/keychain"
1313
)
@@ -46,7 +46,7 @@ func (c *filterBackupCommand) Execute(_ []string) error {
4646
return fmt.Errorf("backup file is required")
4747
}
4848
multiFile := chanbackup.NewMultiFile(c.MultiFile)
49-
keyRing := &btc.HDKeyRing{
49+
keyRing := &lnd.HDKeyRing{
5050
ExtendedKey: extendedKey,
5151
ChainParams: chainParams,
5252
}

cmd/chantools/fixoldbackup.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import (
66
"time"
77

88
"github.com/btcsuite/btcutil/hdkeychain"
9-
"github.com/guggero/chantools/btc"
9+
"github.com/guggero/chantools/lnd"
1010
"github.com/lightningnetwork/lnd/chanbackup"
1111
"github.com/lightningnetwork/lnd/keychain"
1212
)
@@ -40,15 +40,15 @@ func (c *fixOldBackupCommand) Execute(_ []string) error {
4040
return fmt.Errorf("backup file is required")
4141
}
4242
multiFile := chanbackup.NewMultiFile(c.MultiFile)
43-
keyRing := &btc.HDKeyRing{
43+
keyRing := &lnd.HDKeyRing{
4444
ExtendedKey: extendedKey,
4545
ChainParams: chainParams,
4646
}
4747
return fixOldChannelBackup(multiFile, keyRing)
4848
}
4949

5050
func fixOldChannelBackup(multiFile *chanbackup.MultiFile,
51-
ring *btc.HDKeyRing) error {
51+
ring *lnd.HDKeyRing) error {
5252

5353
multi, err := multiFile.ExtractMulti(ring)
5454
if err != nil {

cmd/chantools/forceclose.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import (
1414
"github.com/btcsuite/btcutil/hdkeychain"
1515
"github.com/guggero/chantools/btc"
1616
"github.com/guggero/chantools/dataformat"
17+
"github.com/guggero/chantools/lnd"
1718
"github.com/lightningnetwork/lnd/channeldb"
1819
"github.com/lightningnetwork/lnd/input"
1920
)
@@ -49,7 +50,7 @@ func (c *forceCloseCommand) Execute(_ []string) error {
4950
return fmt.Errorf("rescue DB is required")
5051
}
5152
db, err := channeldb.Open(
52-
path.Dir(c.ChannelDB),channeldb.OptionSetSyncFreelist(true),
53+
path.Dir(c.ChannelDB), channeldb.OptionSetSyncFreelist(true),
5354
channeldb.OptionReadOnly(true),
5455
)
5556
if err != nil {
@@ -73,7 +74,7 @@ func forceCloseChannels(extendedKey *hdkeychain.ExtendedKey,
7374
return err
7475
}
7576
api := &btc.ExplorerAPI{BaseURL: cfg.APIURL}
76-
signer := &btc.Signer{
77+
signer := &lnd.Signer{
7778
ExtendedKey: extendedKey,
7879
ChainParams: chainParams,
7980
}
@@ -103,7 +104,7 @@ func forceCloseChannels(extendedKey *hdkeychain.ExtendedKey,
103104
}
104105

105106
// Create signed transaction.
106-
lc := &btc.LightningChannel{
107+
lc := &lnd.LightningChannel{
107108
LocalChanCfg: channel.LocalChanCfg,
108109
RemoteChanCfg: channel.RemoteChanCfg,
109110
ChannelState: channel,

cmd/chantools/genimportscript.go

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import (
77
"github.com/btcsuite/btcd/chaincfg"
88
"github.com/btcsuite/btcutil"
99
"github.com/btcsuite/btcutil/hdkeychain"
10-
"github.com/guggero/chantools/btc"
10+
"github.com/guggero/chantools/lnd"
1111
)
1212

1313
const (
@@ -84,10 +84,10 @@ func (c *genImportScriptCommand) Execute(_ []string) error {
8484

8585
// External branch first (m/84'/<coinType>'/0'/0/x).
8686
for i := uint32(0); i < c.RecoveryWindow; i++ {
87-
derivedKey, err := btc.DeriveChildren(extendedKey, []uint32{
88-
btc.HardenedKeyStart + uint32(84),
89-
btc.HardenedKeyStart + chainParams.HDCoinType,
90-
btc.HardenedKeyStart + uint32(0),
87+
derivedKey, err := lnd.DeriveChildren(extendedKey, []uint32{
88+
lnd.HardenedKeyStart + uint32(84),
89+
lnd.HardenedKeyStart + chainParams.HDCoinType,
90+
lnd.HardenedKeyStart + uint32(0),
9191
0,
9292
i,
9393
})
@@ -102,10 +102,10 @@ func (c *genImportScriptCommand) Execute(_ []string) error {
102102

103103
// Now the internal branch (m/84'/<coinType>'/0'/1/x).
104104
for i := uint32(0); i < c.RecoveryWindow; i++ {
105-
derivedKey, err := btc.DeriveChildren(extendedKey, []uint32{
106-
btc.HardenedKeyStart + uint32(84),
107-
btc.HardenedKeyStart + chainParams.HDCoinType,
108-
btc.HardenedKeyStart + uint32(0),
105+
derivedKey, err := lnd.DeriveChildren(extendedKey, []uint32{
106+
lnd.HardenedKeyStart + uint32(84),
107+
lnd.HardenedKeyStart + chainParams.HDCoinType,
108+
lnd.HardenedKeyStart + uint32(0),
109109
1,
110110
i,
111111
})

cmd/chantools/rescueclosed.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ import (
1212
"github.com/btcsuite/btcd/btcec"
1313
"github.com/btcsuite/btcutil"
1414
"github.com/btcsuite/btcutil/hdkeychain"
15-
"github.com/guggero/chantools/btc"
1615
"github.com/guggero/chantools/dataformat"
16+
"github.com/guggero/chantools/lnd"
1717
"github.com/lightningnetwork/lnd/channeldb"
1818
"github.com/lightningnetwork/lnd/input"
1919
"github.com/lightningnetwork/lnd/keychain"
@@ -197,10 +197,10 @@ func fillCache(extendedKey *hdkeychain.ExtendedKey) error {
197197
cache = make([]*cacheEntry, cacheSize)
198198

199199
for i := 0; i < cacheSize; i++ {
200-
key, err := btc.DeriveChildren(extendedKey, []uint32{
201-
btc.HardenedKeyStart + uint32(keychain.BIP0043Purpose),
202-
btc.HardenedKeyStart + chainParams.HDCoinType,
203-
btc.HardenedKeyStart +
200+
key, err := lnd.DeriveChildren(extendedKey, []uint32{
201+
lnd.HardenedKeyStart + uint32(keychain.BIP0043Purpose),
202+
lnd.HardenedKeyStart + chainParams.HDCoinType,
203+
lnd.HardenedKeyStart +
204204
uint32(keychain.KeyFamilyPaymentBase),
205205
0,
206206
uint32(i),

0 commit comments

Comments
 (0)