• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

lightningnetwork / lnd / 13157733617

05 Feb 2025 12:49PM UTC coverage: 57.712% (-1.1%) from 58.82%
13157733617

Pull #9447

github

yyforyongyu
sweep: rename methods for clarity

We now rename "third party" to "unknown" as the inputs can be spent via
an older sweeping tx, a third party (anchor), or a remote party (pin).
In fee bumper we don't have the info to distinguish the above cases, and
leave them to be further handled by the sweeper as it has more context.
Pull Request #9447: sweep: start tracking input spending status in the fee bumper

83 of 87 new or added lines in 2 files covered. (95.4%)

19472 existing lines in 252 files now uncovered.

103634 of 179570 relevant lines covered (57.71%)

24840.31 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

32.08
/keychain/signer.go
1
package keychain
2

3
import (
4
        "github.com/btcsuite/btcd/btcec/v2"
5
        "github.com/btcsuite/btcd/btcec/v2/ecdsa"
6
        "github.com/btcsuite/btcd/chaincfg/chainhash"
7
)
8

9
func NewPubKeyMessageSigner(pubKey *btcec.PublicKey, keyLoc KeyLocator,
UNCOV
10
        signer MessageSignerRing) *PubKeyMessageSigner {
×
UNCOV
11

×
UNCOV
12
        return &PubKeyMessageSigner{
×
UNCOV
13
                pubKey:       pubKey,
×
UNCOV
14
                keyLoc:       keyLoc,
×
UNCOV
15
                digestSigner: signer,
×
UNCOV
16
        }
×
UNCOV
17
}
×
18

19
type PubKeyMessageSigner struct {
20
        pubKey       *btcec.PublicKey
21
        keyLoc       KeyLocator
22
        digestSigner MessageSignerRing
23
}
24

25
func (p *PubKeyMessageSigner) PubKey() *btcec.PublicKey {
×
26
        return p.pubKey
×
27
}
×
28

UNCOV
29
func (p *PubKeyMessageSigner) KeyLocator() KeyLocator {
×
UNCOV
30
        return p.keyLoc
×
UNCOV
31
}
×
32

33
func (p *PubKeyMessageSigner) SignMessage(message []byte,
UNCOV
34
        doubleHash bool) (*ecdsa.Signature, error) {
×
UNCOV
35

×
UNCOV
36
        return p.digestSigner.SignMessage(p.keyLoc, message, doubleHash)
×
UNCOV
37
}
×
38

39
func (p *PubKeyMessageSigner) SignMessageCompact(msg []byte,
UNCOV
40
        doubleHash bool) ([]byte, error) {
×
UNCOV
41

×
UNCOV
42
        return p.digestSigner.SignMessageCompact(p.keyLoc, msg, doubleHash)
×
UNCOV
43
}
×
44

45
func NewPrivKeyMessageSigner(privKey *btcec.PrivateKey,
46
        keyLoc KeyLocator) *PrivKeyMessageSigner {
38✔
47

38✔
48
        return &PrivKeyMessageSigner{
38✔
49
                privKey: privKey,
38✔
50
                keyLoc:  keyLoc,
38✔
51
        }
38✔
52
}
38✔
53

54
type PrivKeyMessageSigner struct {
55
        keyLoc  KeyLocator
56
        privKey *btcec.PrivateKey
57
}
58

59
func (p *PrivKeyMessageSigner) PubKey() *btcec.PublicKey {
×
60
        return p.privKey.PubKey()
×
61
}
×
62

63
func (p *PrivKeyMessageSigner) KeyLocator() KeyLocator {
100✔
64
        return p.keyLoc
100✔
65
}
100✔
66

67
func (p *PrivKeyMessageSigner) SignMessage(msg []byte,
68
        doubleHash bool) (*ecdsa.Signature, error) {
100✔
69

100✔
70
        var digest []byte
100✔
71
        if doubleHash {
200✔
72
                digest = chainhash.DoubleHashB(msg)
100✔
73
        } else {
100✔
74
                digest = chainhash.HashB(msg)
×
75
        }
×
76
        return ecdsa.Sign(p.privKey, digest), nil
100✔
77
}
78

79
func (p *PrivKeyMessageSigner) SignMessageCompact(msg []byte,
80
        doubleHash bool) ([]byte, error) {
×
81

×
82
        var digest []byte
×
83
        if doubleHash {
×
84
                digest = chainhash.DoubleHashB(msg)
×
85
        } else {
×
86
                digest = chainhash.HashB(msg)
×
87
        }
×
88

89
        return ecdsa.SignCompact(p.privKey, digest, true), nil
×
90
}
91

92
var _ SingleKeyMessageSigner = (*PubKeyMessageSigner)(nil)
93
var _ SingleKeyMessageSigner = (*PrivKeyMessageSigner)(nil)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc