erigon-pulse/cmd/lightclient/utils/bytes.go

41 lines
701 B
Go
Raw Normal View History

package utils
import (
"encoding/binary"
"encoding/hex"
"github.com/golang/snappy"
)
func Uint32ToBytes4(n uint32) (ret [4]byte) {
binary.BigEndian.PutUint32(ret[:], n)
return
}
func BytesToBytes4(b []byte) (ret [4]byte) {
copy(ret[:], b)
return
}
func BytesToHex(b []byte) string {
return hex.EncodeToString(b)
}
func DecompressSnappy(data []byte) ([]byte, error) {
// Decode the snappy
lenDecoded, err := snappy.DecodedLen(data)
if err != nil {
return nil, err
}
decodedData := make([]byte, lenDecoded)
snappy.Decode(decodedData, data)
return decodedData, nil
}
func Uint64ToLE(i uint64) []byte {
buf := make([]byte, 8)
binary.LittleEndian.PutUint64(buf, i)
return buf
}