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 UnsafeCastToString(byteSlice []byte) string
- 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.
func UnsafeCastToString ¶ added in v5.2.0
UnsafeCastToString casts a byte slice to a string object without performing a copy. Changes to byteSlice will also modify the contents of the string, so it is the caller's responsibility to ensure that the byte slice will not modified after the string is created.
Types ¶
This section is empty.