merkle: remove go-wire dep by copying EncodeByteSlice

This commit is contained in:
Ethan Buchman
2018-02-03 01:29:39 -05:00
parent 1d7fc78ea1
commit d6d97889f2
5 changed files with 34 additions and 17 deletions

View File

@ -1,5 +1,10 @@
package merkle
import (
"encoding/binary"
"io"
)
type Tree interface {
Size() (size int)
Height() (height int8)
@ -21,3 +26,22 @@ type Tree interface {
type Hasher interface {
Hash() []byte
}
//-----------------------------------------------------------------------
// NOTE: these are duplicated from go-wire so we dont need go-wire as a dep
func encodeByteSlice(w io.Writer, bz []byte) (err error) {
err = encodeVarint(w, int64(len(bz)))
if err != nil {
return
}
_, err = w.Write(bz)
return
}
func encodeVarint(w io.Writer, i int64) (err error) {
var buf [10]byte
n := binary.PutVarint(buf[:], i)
_, err = w.Write(buf[0:n])
return
}