mirror of
https://github.com/lightningnetwork/lnd.git
synced 2026-08-13 12:32:48 +02:00
Migrate all btcd dependencies to the new per-package v2 modules (wire/v2, txscript/v2, chaincfg/v2, chainhash/v2, btcutil/v2, psbt/v2, btcec/v2) introduced by btcd v0.26.0, and pin the tagged ecosystem versions: btcwallet v0.17.0, neutrino v0.18.0 and lightning-onion v1.4.0. The bulk of the import rewrite was produced by the scripted diff from https://github.com/btcsuite/btcd/pull/2547 (followed by 'make rpc'). The address symbols that moved out of btcutil into the new address package are imported as btcaddr where a local "address" variable would otherwise shadow them. The go.mod/go.sum updates and the remaining manual compilation fixes are folded into this single commit so it builds on its own (the migration was previously split into a reproducible scripted-diff plus follow-ups, intended to be squashed on merge).
46 lines
915 B
Go
46 lines
915 B
Go
package input
|
|
|
|
import (
|
|
"encoding/binary"
|
|
"io"
|
|
|
|
"github.com/btcsuite/btcd/wire/v2"
|
|
)
|
|
|
|
// writeTxOut serializes a wire.TxOut struct into the passed io.Writer stream.
|
|
func writeTxOut(w io.Writer, txo *wire.TxOut) error {
|
|
var scratch [8]byte
|
|
|
|
binary.BigEndian.PutUint64(scratch[:], uint64(txo.Value))
|
|
if _, err := w.Write(scratch[:]); err != nil {
|
|
return err
|
|
}
|
|
|
|
if err := wire.WriteVarBytes(w, 0, txo.PkScript); err != nil {
|
|
return err
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// readTxOut deserializes a wire.TxOut struct from the passed io.Reader stream.
|
|
func readTxOut(r io.Reader, txo *wire.TxOut) error {
|
|
var scratch [8]byte
|
|
|
|
if _, err := io.ReadFull(r, scratch[:]); err != nil {
|
|
return err
|
|
}
|
|
value := int64(binary.BigEndian.Uint64(scratch[:]))
|
|
|
|
pkScript, err := wire.ReadVarBytes(r, 0, 80, "pkScript")
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
*txo = wire.TxOut{
|
|
Value: value,
|
|
PkScript: pkScript,
|
|
}
|
|
|
|
return nil
|
|
}
|