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

lightningnetwork / lnd / 12199391122

06 Dec 2024 01:10PM UTC coverage: 49.807% (-9.1%) from 58.933%
12199391122

push

github

web-flow
Merge pull request #9337 from Guayaba221/patch-1

chore: fix typo in ruby.md

100137 of 201051 relevant lines covered (49.81%)

2.07 hits per line

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

41.67
/lntypes/hash.go
1
package lntypes
2

3
import (
4
        "encoding/hex"
5
        "fmt"
6
)
7

8
// HashSize of array used to store hashes.
9
const HashSize = 32
10

11
// ZeroHash is a predefined hash containing all zeroes.
12
var ZeroHash Hash
13

14
// Hash is used in several of the lightning messages and common structures. It
15
// typically represents a payment hash.
16
type Hash [HashSize]byte
17

18
// String returns the Hash as a hexadecimal string.
19
func (hash Hash) String() string {
4✔
20
        return hex.EncodeToString(hash[:])
4✔
21
}
4✔
22

23
// MakeHash returns a new Hash from a byte slice.  An error is returned if
24
// the number of bytes passed in is not HashSize.
25
func MakeHash(newHash []byte) (Hash, error) {
4✔
26
        nhlen := len(newHash)
4✔
27
        if nhlen != HashSize {
4✔
28
                return Hash{}, fmt.Errorf("invalid hash length of %v, want %v",
×
29
                        nhlen, HashSize)
×
30
        }
×
31

32
        var hash Hash
4✔
33
        copy(hash[:], newHash)
4✔
34

4✔
35
        return hash, nil
4✔
36
}
37

38
// MakeHashFromStr creates a Hash from a hex hash string.
39
func MakeHashFromStr(newHash string) (Hash, error) {
×
40
        // Return error if hash string is of incorrect length.
×
41
        if len(newHash) != HashSize*2 {
×
42
                return Hash{}, fmt.Errorf("invalid hash string length of %v, "+
×
43
                        "want %v", len(newHash), HashSize*2)
×
44
        }
×
45

46
        hash, err := hex.DecodeString(newHash)
×
47
        if err != nil {
×
48
                return Hash{}, err
×
49
        }
×
50

51
        return MakeHash(hash)
×
52
}
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