Documentation ¶
Overview ¶
Package bytesutil defines helper methods for converting integers to byte slices.
Index ¶
- func BigIntToLittleEndianBytes(bigInt *big.Int) []byte
- func Bytes1(x uint64) []byte
- func Bytes2(x uint64) []byte
- func Bytes3(x uint64) []byte
- func Bytes32(x uint64) []byte
- func Bytes4(x uint64) []byte
- func Bytes8(x uint64) []byte
- func BytesToEpochBigEndian(b []byte) primitives.Epoch
- func BytesToSlotBigEndian(b []byte) primitives.Slot
- func BytesToUint64BigEndian(b []byte) uint64
- func ClearBit(b []byte, i int) []byte
- func DecodeHexWithLength(s string, length int) ([]byte, error)
- func DecodeHexWithMaxLength(s string, maxLength int) ([]byte, error)
- func EpochToBytesBigEndian(i primitives.Epoch) []byte
- func EpochToBytesLittleEndian(i primitives.Epoch) []byte
- func FromBool(x bool) byte
- func FromBytes2(x []byte) uint16
- func FromBytes4(x []byte) uint64
- func FromBytes48(x [48]byte) []byte
- func FromBytes48Array(x [][48]byte) [][]byte
- func FromBytes8(x []byte) uint64
- func HighestBitIndex(b []byte) (int, error)
- func HighestBitIndexAt(b []byte, index int) (int, error)
- func IsHex(b []byte) bool
- func IsRoot(root []byte) bool
- func IsValidRoot(root []byte) bool
- func LittleEndianBytesToBigInt(bytes []byte) *big.Int
- func MakeEmptyBitlists(i int) []byte
- func PadTo(b []byte, size int) []byte
- func ReverseByteOrder(input []byte) []byte
- func ReverseBytes32Slice(arr [][32]byte) [][32]byte
- func SafeCopy2d32Bytes(ary [][32]byte) [][32]byte
- func SafeCopy2dBytes(ary [][]byte) [][]byte
- func SafeCopy2dHexUtilBytes(ary []hexutil.Bytes) [][]byte
- func SafeCopyBytes(cp []byte) []byte
- func SafeCopyRootAtIndex(input [][]byte, idx uint64) ([]byte, error)
- func SetBit(b []byte, i int) []byte
- func SlotToBytesBigEndian(i primitives.Slot) []byte
- func ToBool(x byte) bool
- func ToBytes(x uint64, length int) []byte
- func ToBytes20(x []byte) [20]byte
- func ToBytes32(x []byte) [32]byte
- func ToBytes4(x []byte) [4]byte
- func ToBytes48(x []byte) [48]byte
- func ToBytes48Array(x [][]byte) [][48]byte
- func ToBytes64(x []byte) [64]byte
- func ToBytes96(x []byte) [96]byte
- func ToLowInt64(x []byte) int64
- func Trunc(x []byte) []byte
- func Uint256ToSSZBytes(num string) ([]byte, error)
- func Uint32ToBytes4(i uint32) [4]byte
- func Uint64ToBytesBigEndian(i uint64) []byte
- func Uint64ToBytesLittleEndian(i uint64) []byte
- func Uint64ToBytesLittleEndian32(i uint64) []byte
- func ZeroRoot(root []byte) bool
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func BigIntToLittleEndianBytes ¶
BigIntToLittleEndianBytes takes a big integer and returns its bytes stored as little-endian
func Bytes32 ¶
Bytes32 returns integer x to bytes in little-endian format, x.to_bytes(32, 'little').
func BytesToEpochBigEndian ¶
func BytesToEpochBigEndian(b []byte) primitives.Epoch
BytesToEpochBigEndian conversion.
func BytesToSlotBigEndian ¶
func BytesToSlotBigEndian(b []byte) primitives.Slot
BytesToSlotBigEndian conversion.
func BytesToUint64BigEndian ¶
BytesToUint64BigEndian conversion. Returns 0 if empty bytes or byte slice with length less than 8.
func ClearBit ¶
ClearBit clears the index `i` of bitlist `b`. Returns the original bitlist if the index `i` is out of range.
func DecodeHexWithLength ¶
DecodeHexWithLength takes a string and a length in bytes, and validates whether the string is a hex and has the correct length.
func DecodeHexWithMaxLength ¶
DecodeHexWithMaxLength takes a string and a length in bytes, and validates whether the string is a hex and has the correct length.
func EpochToBytesBigEndian ¶
func EpochToBytesBigEndian(i primitives.Epoch) []byte
EpochToBytesBigEndian conversion.
func EpochToBytesLittleEndian ¶
func EpochToBytesLittleEndian(i primitives.Epoch) []byte
EpochToBytesLittleEndian conversion.
func FromBool ¶
FromBool is a convenience method for converting a bool to a byte. This method will use the first bit to generate the returned value.
func FromBytes2 ¶
FromBytes2 returns an integer which is stored in the little-endian format(2, 'little') from a byte array.
func FromBytes4 ¶
FromBytes4 returns an integer which is stored in the little-endian format(4, 'little') from a byte array.
func FromBytes48 ¶
FromBytes48 is a convenience method for converting a fixed-size byte array to a byte slice.
func FromBytes48Array ¶
FromBytes48Array is a convenience method for converting an array of fixed-size byte arrays to an array of byte slices.
func FromBytes8 ¶
FromBytes8 returns an integer which is stored in the little-endian format(8, 'little') from a byte array.
func HighestBitIndex ¶
HighestBitIndex returns the index of the highest bit set from bitlist `b`.
func HighestBitIndexAt ¶
HighestBitIndexAt returns the index of the highest bit set from bitlist `b` that is at `index` (inclusive).
func IsValidRoot ¶
IsValidRoot checks whether the byte array is a valid root.
func LittleEndianBytesToBigInt ¶
LittleEndianBytesToBigInt takes bytes of a number stored as little-endian and returns a big integer
func MakeEmptyBitlists ¶
MakeEmptyBitlists returns an empty bitlist with input size `i`.
func PadTo ¶
PadTo pads a byte slice to the given size. If the byte slice is larger than the given size, the original slice is returned.
func ReverseByteOrder ¶
ReverseByteOrder Switch the endianness of a byte slice by reversing its order. This function does not modify the actual input bytes.
func ReverseBytes32Slice ¶
ReverseBytes32Slice will reverse the provided slice's order.
func SafeCopy2d32Bytes ¶
SafeCopy2d32Bytes will copy and return a non-nil 2d byte slice, otherwise it returns nil.
func SafeCopy2dBytes ¶
SafeCopy2dBytes will copy and return a non-nil 2d byte slice, otherwise it returns nil.
func SafeCopy2dHexUtilBytes ¶
SafeCopy2dHexUtilBytes will copy and return a non-nil 2d hex util byte slice, otherwise it returns nil.
func SafeCopyBytes ¶
SafeCopyBytes will copy and return a non-nil byte slice, otherwise it returns nil.
func SafeCopyRootAtIndex ¶
SafeCopyRootAtIndex takes a copy of an 32-byte slice in a slice of byte slices. Returns error if index out of range.
func SetBit ¶
SetBit sets the index `i` of bitlist `b` to 1. It grows and returns a longer bitlist with 1 set if index `i` is out of range.
func SlotToBytesBigEndian ¶
func SlotToBytesBigEndian(i primitives.Slot) []byte
SlotToBytesBigEndian conversion.
func ToBool ¶
ToBool is a convenience method for converting a byte to a bool. This method will use the first bit of the 0 byte to generate the returned value.
func ToBytes ¶
ToBytes returns integer x to bytes in little-endian format at the specified length. Spec defines similar method uint_to_bytes(n: uint) -> bytes, which is equivalent to ToBytes(n, 8).
func ToBytes20 ¶
ToBytes20 is a convenience method for converting a byte slice to a fix sized 20 byte array. This method will truncate the input if it is larger than 20 bytes.
func ToBytes32 ¶
ToBytes32 is a convenience method for converting a byte slice to a fix sized 32 byte array. This method will truncate the input if it is larger than 32 bytes.
func ToBytes4 ¶
ToBytes4 is a convenience method for converting a byte slice to a fix sized 4 byte array. This method will truncate the input if it is larger than 4 bytes.
func ToBytes48 ¶
ToBytes48 is a convenience method for converting a byte slice to a fix sized 48 byte array. This method will truncate the input if it is larger than 48 bytes.
func ToBytes48Array ¶
ToBytes48Array is a convenience method for converting an array of byte slices to an array of fixed-sized byte arrays.
func ToBytes64 ¶
ToBytes64 is a convenience method for converting a byte slice to a fix sized 64 byte array. This method will truncate the input if it is larger than 64 bytes.
func ToBytes96 ¶
ToBytes96 is a convenience method for converting a byte slice to a fix sized 96 byte array. This method will truncate the input if it is larger than 96 bytes.
func ToLowInt64 ¶
ToLowInt64 returns the lowest 8 bytes interpreted as little endian.
func Uint256ToSSZBytes ¶
Uint256ToSSZBytes takes a string representation of uint256 and returns its bytes stored as little-endian
func Uint32ToBytes4 ¶
Uint32ToBytes4 is a convenience method for converting uint32 to a fix sized 4 byte array in big endian order. Returns 4 byte array.
func Uint64ToBytesBigEndian ¶
Uint64ToBytesBigEndian conversion.
func Uint64ToBytesLittleEndian ¶
Uint64ToBytesLittleEndian conversion.
func Uint64ToBytesLittleEndian32 ¶
Uint64ToBytesLittleEndian32 conversion of a uint64 to a fix sized 32 byte array in little endian order. Returns 32 byte array.
Types ¶
This section is empty.