lntypes/preimage: add MakePreimage initializer
This commit is contained in:
3 files changed
+16
-16
No files matched your search
+14
-14
@@ -9,8 +9,8 @@ import (
|
||||
// PreimageSize of array used to store preimagees.
|
||||
const PreimageSize = 32
|
||||
|
||||
// Preimage is used in several of the lightning messages and common structures. It
|
||||
// represents a payment preimage.
|
||||
// Preimage is used in several of the lightning messages and common structures.
|
||||
// It represents a payment preimage.
|
||||
type Preimage [PreimageSize]byte
|
||||
|
||||
// String returns the Preimage as a hexadecimal string.
|
||||
@@ -18,35 +18,35 @@ func (p Preimage) String() string {
|
||||
return hex.EncodeToString(p[:])
|
||||
}
|
||||
|
||||
// NewPreimage returns a new Preimage from a byte slice. An error is returned if
|
||||
// the number of bytes passed in is not PreimageSize.
|
||||
func NewPreimage(newPreimage []byte) (*Preimage, error) {
|
||||
// MakePreimage returns a new Preimage from a bytes slice. An error is returned
|
||||
// if the number of bytes passed in is not PreimageSize.
|
||||
func MakePreimage(newPreimage []byte) (Preimage, error) {
|
||||
nhlen := len(newPreimage)
|
||||
if nhlen != PreimageSize {
|
||||
return nil, fmt.Errorf("invalid preimage length of %v, want %v",
|
||||
nhlen, PreimageSize)
|
||||
return Preimage{}, fmt.Errorf("invalid preimage length of %v, "+
|
||||
"want %v", nhlen, PreimageSize)
|
||||
}
|
||||
|
||||
var preimage Preimage
|
||||
copy(preimage[:], newPreimage)
|
||||
|
||||
return &preimage, nil
|
||||
return preimage, nil
|
||||
}
|
||||
|
||||
// NewPreimageFromStr creates a Preimage from a hex preimage string.
|
||||
func NewPreimageFromStr(newPreimage string) (*Preimage, error) {
|
||||
// MakePreimageFromStr creates a Preimage from a hex preimage string.
|
||||
func MakePreimageFromStr(newPreimage string) (Preimage, error) {
|
||||
// Return error if preimage string is of incorrect length.
|
||||
if len(newPreimage) != PreimageSize*2 {
|
||||
return nil, fmt.Errorf("invalid preimage string length of %v, "+
|
||||
"want %v", len(newPreimage), PreimageSize*2)
|
||||
return Preimage{}, fmt.Errorf("invalid preimage string length "+
|
||||
"of %v, want %v", len(newPreimage), PreimageSize*2)
|
||||
}
|
||||
|
||||
preimage, err := hex.DecodeString(newPreimage)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
return Preimage{}, err
|
||||
}
|
||||
|
||||
return NewPreimage(preimage)
|
||||
return MakePreimage(preimage)
|
||||
}
|
||||
|
||||
// Hash returns the sha256 hash of the preimage.
|
||||
|
||||
Reference in new issue
Block a user