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

lightningnetwork / lnd / 11216766535

07 Oct 2024 01:37PM UTC coverage: 57.817% (-1.0%) from 58.817%
11216766535

Pull #9148

github

ProofOfKeags
lnwire: remove kickoff feerate from propose/commit
Pull Request #9148: DynComms [2/n]: lnwire: add authenticated wire messages for Dyn*

571 of 879 new or added lines in 16 files covered. (64.96%)

23253 existing lines in 251 files now uncovered.

99022 of 171268 relevant lines covered (57.82%)

38420.67 hits per line

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

41.67
/macaroons/auth.go
1
package macaroons
2

3
import (
4
        "context"
5
        "encoding/hex"
6

7
        macaroon "gopkg.in/macaroon.v2"
8
)
9

10
// MacaroonCredential wraps a macaroon to implement the
11
// credentials.PerRPCCredentials interface.
12
type MacaroonCredential struct {
13
        *macaroon.Macaroon
14
}
15

16
// RequireTransportSecurity implements the PerRPCCredentials interface.
UNCOV
17
func (m MacaroonCredential) RequireTransportSecurity() bool {
×
UNCOV
18
        return true
×
UNCOV
19
}
×
20

21
// GetRequestMetadata implements the PerRPCCredentials interface. This method
22
// is required in order to pass the wrapped macaroon into the gRPC context.
23
// With this, the macaroon will be available within the request handling scope
24
// of the ultimate gRPC server implementation.
25
func (m MacaroonCredential) GetRequestMetadata(ctx context.Context,
UNCOV
26
        uri ...string) (map[string]string, error) {
×
UNCOV
27

×
UNCOV
28
        macBytes, err := m.MarshalBinary()
×
UNCOV
29
        if err != nil {
×
30
                return nil, err
×
31
        }
×
32

UNCOV
33
        md := make(map[string]string)
×
UNCOV
34
        md["macaroon"] = hex.EncodeToString(macBytes)
×
UNCOV
35
        return md, nil
×
36
}
37

38
// NewMacaroonCredential returns a copy of the passed macaroon wrapped in a
39
// MacaroonCredential struct which implements PerRPCCredentials.
40
func NewMacaroonCredential(m *macaroon.Macaroon) (MacaroonCredential, error) {
1✔
41
        ms := MacaroonCredential{}
1✔
42

1✔
43
        // The macaroon library's Clone() method has a subtle bug that doesn't
1✔
44
        // correctly clone all caveats. We need to use our own, safe clone
1✔
45
        // function instead.
1✔
46
        var err error
1✔
47
        ms.Macaroon, err = SafeCopyMacaroon(m)
1✔
48
        if err != nil {
1✔
49
                return ms, err
×
50
        }
×
51

52
        return ms, nil
1✔
53
}
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