erigon-pulse/cmd/lightclient/utils/bytes.go
Giulio rebuffo 59df60a2c1
Added proper Message Id for Consensus Gossip subscription (#5584)
* first prototype

* Added Proper Message ID to gossip

* ops

* ops

* lint why?

* u kidding?

* just why

* maybe

Co-authored-by: giuliorebuffo <giuliorebuffo@system76-pc.localdomain>
2022-09-30 23:53:54 +02:00

41 lines
701 B
Go

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
}