lnwire: all hashes within the protocol are now 32-bytes

We now enforce that the site of all revocation pre-images+hashes (used
for HTLC’s) are now 32-bytes.

Additionally, all payment pre-images are now required to be 32-bytes
not he wire. There also exists a Script level enforcement of the
payment pre-image size at a lower level.

This commit serves to unify the sizes of all hashes/pre-images across
the codebase.
This commit is contained in:
Olaoluwa Osuntokun
2016-06-30 11:53:11 -07:00
parent fd02c1c1aa
commit bba9b665ef
10 changed files with 29 additions and 23 deletions

View File

@@ -169,7 +169,7 @@ func writeElement(w io.Writer, element interface{}) error {
if _, err := w.Write(e[:]); err != nil {
return err
}
case [][20]byte:
case [][32]byte:
// First write out the number of elements in the slice.
sliceSize := len(e)
if err := writeElement(w, uint16(sliceSize)); err != nil {
@@ -182,7 +182,7 @@ func writeElement(w io.Writer, element interface{}) error {
return err
}
}
case [20]byte:
case [32]byte:
// TODO(roasbeef): should be factor out to caller logic...
if _, err := w.Write(e[:]); err != nil {
return err
@@ -408,7 +408,7 @@ func readElement(r io.Reader, element interface{}) error {
return err
}
*e = sig
case *[][20]byte:
case *[][32]byte:
// How many to read
var sliceSize uint16
err = readElement(r, &sliceSize)
@@ -416,10 +416,10 @@ func readElement(r io.Reader, element interface{}) error {
return err
}
data := make([][20]byte, 0, sliceSize)
data := make([][32]byte, 0, sliceSize)
// Append the actual
for i := uint16(0); i < sliceSize; i++ {
var element [20]byte
var element [32]byte
err = readElement(r, &element)
if err != nil {
return err
@@ -427,7 +427,7 @@ func readElement(r io.Reader, element interface{}) error {
data = append(data, element)
}
*e = data
case *[20]byte:
case *[32]byte:
if _, err = io.ReadFull(r, e[:]); err != nil {
return err
}