mirror of
https://github.com/lightningnetwork/lnd.git
synced 2025-11-10 06:07:16 +01:00
Merge pull request #10136 from yyforyongyu/use-btcwallet-interface
lnwallet: use btcwallet's new interface
This commit is contained in:
@@ -19,7 +19,6 @@ import (
|
||||
"github.com/btcsuite/btcd/wire"
|
||||
"github.com/btcsuite/btcwallet/chain"
|
||||
"github.com/btcsuite/btcwallet/waddrmgr"
|
||||
"github.com/btcsuite/btcwallet/wallet"
|
||||
base "github.com/btcsuite/btcwallet/wallet"
|
||||
"github.com/btcsuite/btcwallet/wallet/txauthor"
|
||||
"github.com/btcsuite/btcwallet/wallet/txrules"
|
||||
@@ -85,7 +84,7 @@ var (
|
||||
// operate.
|
||||
type BtcWallet struct {
|
||||
// wallet is an active instance of btcwallet.
|
||||
wallet *base.Wallet
|
||||
wallet base.Interface
|
||||
|
||||
chain chain.Interface
|
||||
|
||||
@@ -289,7 +288,7 @@ func (b *BtcWallet) BackEnd() string {
|
||||
|
||||
// InternalWallet returns a pointer to the internal base wallet which is the
|
||||
// core of btcwallet.
|
||||
func (b *BtcWallet) InternalWallet() *base.Wallet {
|
||||
func (b *BtcWallet) InternalWallet() base.Interface {
|
||||
return b.wallet
|
||||
}
|
||||
|
||||
@@ -300,7 +299,7 @@ func (b *BtcWallet) InternalWallet() *base.Wallet {
|
||||
func (b *BtcWallet) Start() error {
|
||||
// Is the wallet (according to its database) currently watch-only
|
||||
// already? If it is, we won't need to convert it later.
|
||||
walletIsWatchOnly := b.wallet.Manager.WatchOnly()
|
||||
walletIsWatchOnly := b.wallet.AddrManager().WatchOnly()
|
||||
|
||||
// If the wallet is watch-only, but we don't expect it to be, then we
|
||||
// are in an unexpected state and cannot continue.
|
||||
@@ -336,7 +335,7 @@ func (b *BtcWallet) Start() error {
|
||||
// created correctly for new wallets. Existing wallets don't
|
||||
// automatically add them, we need to do that manually now.
|
||||
for _, scope := range LndDefaultKeyScopes {
|
||||
_, err := b.wallet.Manager.FetchScopedKeyManager(scope)
|
||||
_, err := b.wallet.AddrManager().FetchScopedKeyManager(scope)
|
||||
if waddrmgr.IsError(err, waddrmgr.ErrScopeNotFound) {
|
||||
// The default scope wasn't found, that probably means
|
||||
// it was added recently and older wallets don't know it
|
||||
@@ -349,7 +348,9 @@ func (b *BtcWallet) Start() error {
|
||||
}
|
||||
}
|
||||
|
||||
scope, err := b.wallet.Manager.FetchScopedKeyManager(b.chainKeyScope)
|
||||
scope, err := b.wallet.AddrManager().FetchScopedKeyManager(
|
||||
b.chainKeyScope,
|
||||
)
|
||||
if err != nil {
|
||||
// If the scope hasn't yet been created (it wouldn't been
|
||||
// loaded by default if it was), then we'll manually create the
|
||||
@@ -981,11 +982,11 @@ func (b *BtcWallet) CreateSimpleTx(inputs fn.Set[wire.OutPoint],
|
||||
}
|
||||
|
||||
// Add the optional inputs to the transaction.
|
||||
optFunc := wallet.WithCustomSelectUtxos(inputs.ToSlice())
|
||||
optFunc := base.WithCustomSelectUtxos(inputs.ToSlice())
|
||||
|
||||
return b.wallet.CreateSimpleTx(
|
||||
nil, defaultAccount, outputs, minConfs, feeSatPerKB,
|
||||
strategy, dryRun, []wallet.TxCreateOption{optFunc}...,
|
||||
strategy, dryRun, []base.TxCreateOption{optFunc}...,
|
||||
)
|
||||
}
|
||||
|
||||
@@ -1292,7 +1293,7 @@ func (b *BtcWallet) GetTransactionDetails(
|
||||
|
||||
// Grab the best block the wallet knows of, we'll use this to calculate
|
||||
// # of confirmations shortly below.
|
||||
bestBlock := b.wallet.Manager.SyncedTo()
|
||||
bestBlock := b.wallet.SyncedTo()
|
||||
currentHeight := bestBlock.Height
|
||||
tx, err := b.wallet.GetTransaction(*txHash)
|
||||
if err != nil {
|
||||
@@ -1482,7 +1483,7 @@ func (b *BtcWallet) ListTransactionDetails(startHeight, endHeight int32,
|
||||
|
||||
// Grab the best block the wallet knows of, we'll use this to calculate
|
||||
// # of confirmations shortly below.
|
||||
bestBlock := b.wallet.Manager.SyncedTo()
|
||||
bestBlock := b.wallet.SyncedTo()
|
||||
currentHeight := bestBlock.Height
|
||||
|
||||
// We'll attempt to find all transactions from start to end height.
|
||||
@@ -1555,7 +1556,7 @@ type txSubscriptionClient struct {
|
||||
confirmed chan *lnwallet.TransactionDetail
|
||||
unconfirmed chan *lnwallet.TransactionDetail
|
||||
|
||||
w *base.Wallet
|
||||
w base.Interface
|
||||
|
||||
wg sync.WaitGroup
|
||||
quit chan struct{}
|
||||
@@ -1598,7 +1599,7 @@ out:
|
||||
select {
|
||||
case txNtfn := <-t.txClient.C:
|
||||
// TODO(roasbeef): handle detached blocks
|
||||
currentHeight := t.w.Manager.SyncedTo().Height
|
||||
currentHeight := t.w.SyncedTo().Height
|
||||
|
||||
// Launch a goroutine to re-package and send
|
||||
// notifications for any newly confirmed transactions.
|
||||
@@ -1654,7 +1655,7 @@ out:
|
||||
//
|
||||
// This is a part of the WalletController interface.
|
||||
func (b *BtcWallet) SubscribeTransactions() (lnwallet.TransactionSubscription, error) {
|
||||
walletClient := b.wallet.NtfnServer.TransactionNotifications()
|
||||
walletClient := b.wallet.NotificationServer().TransactionNotifications()
|
||||
|
||||
txClient := &txSubscriptionClient{
|
||||
txClient: walletClient,
|
||||
@@ -1675,7 +1676,7 @@ func (b *BtcWallet) SubscribeTransactions() (lnwallet.TransactionSubscription, e
|
||||
// This is a part of the WalletController interface.
|
||||
func (b *BtcWallet) IsSynced() (bool, int64, error) {
|
||||
// Grab the best chain state the wallet is currently aware of.
|
||||
syncState := b.wallet.Manager.SyncedTo()
|
||||
syncState := b.wallet.SyncedTo()
|
||||
|
||||
// We'll also extract the current best wallet timestamp so the caller
|
||||
// can get an idea of where we are in the sync timeline.
|
||||
@@ -1753,7 +1754,7 @@ func (b *BtcWallet) GetRecoveryInfo() (bool, float64, error) {
|
||||
}
|
||||
|
||||
// Grab the best chain state the wallet is currently aware of.
|
||||
syncState := b.wallet.Manager.SyncedTo()
|
||||
syncState := b.wallet.SyncedTo()
|
||||
|
||||
// Next, query the chain backend to grab the info about the tip of the
|
||||
// main chain.
|
||||
|
||||
@@ -220,7 +220,7 @@ func TestScriptImport(t *testing.T) {
|
||||
require.Equal(t, firstAddressTaproot, firstDerivedAddr.String())
|
||||
|
||||
scope := waddrmgr.KeyScopeBIP0086
|
||||
_, err = w.InternalWallet().Manager.FetchScopedKeyManager(scope)
|
||||
_, err = w.InternalWallet().AddrManager().FetchScopedKeyManager(scope)
|
||||
require.NoError(t, err)
|
||||
|
||||
// Let's create a taproot script output now. This is a hash lock with a
|
||||
|
||||
Reference in New Issue
Block a user