utils

package
v0.0.0-...-9e22ca1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 10, 2023 License: GPL-3.0, LGPL-3.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func BigNumEqual

func BigNumEqual(x, y *big.Int) bool

BigNumEqual returns true if x and y are equivalent ie. both nil or both contain the same value.

func BytesToHashSlice

func BytesToHashSlice(b []byte) []common.Hash

BytesToHashSlice packs [b] into a slice of hash values with zero padding to the right if the length of b is not a multiple of 32.

func HashSliceToBytes

func HashSliceToBytes(hashes []common.Hash) []byte

HashSliceToBytes serializes a []common.Hash into a tightly packed byte array.

func IncrOne

func IncrOne(bytes []byte)

IncrOne increments bytes value by one

func IsBlockForked

func IsBlockForked(s, head *big.Int) bool

IsBlockForked returns whether a fork scheduled at block s is active at the given head block. Note: [s] and [head] can be either a block number or a block timestamp.

func IsForkTransition

func IsForkTransition(fork *uint64, parent *uint64, current uint64) bool

IsForkTransition returns true if [fork] activates during the transition from [parent] to [current]. Taking [parent] as a pointer allows for us to pass nil when checking forks that activate during genesis. Note: this works for both block number and timestamp activated forks.

func IsTimestampForked

func IsTimestampForked(s *uint64, head uint64) bool

IsTimestampForked returns whether a fork scheduled at timestamp s is active at the given head timestamp. Whilst this method is the same as isBlockForked, they are explicitly separate for clearer reading.

func NewUint64

func NewUint64(val uint64) *uint64

func TimeToNewUint64

func TimeToNewUint64(time time.Time) *uint64

func Uint64PtrEqual

func Uint64PtrEqual(x, y *uint64) bool

Uint64PtrEqual returns true if x and y pointers are equivalent ie. both nil or both contain the same value.

func Uint64ToTime

func Uint64ToTime(val *uint64) time.Time

Types

type AddressRange

type AddressRange struct {
	Start common.Address
	End   common.Address
}

AddressRange represents a continuous range of addresses

func (*AddressRange) Contains

func (a *AddressRange) Contains(addr common.Address) bool

Contains returns true iff [addr] is contained within the (inclusive) range of addresses defined by [a].

type MeteredCache

type MeteredCache struct {
	*fastcache.Cache
	// contains filtered or unexported fields
}

MeteredCache wraps *fastcache.Cache and periodically pulls stats from it.

func NewMeteredCache

func NewMeteredCache(size int, journal string, namespace string, updateFrequency uint64) *MeteredCache

NewMeteredCache returns a new MeteredCache that will update stats to the provided namespace once per each [updateFrequency] operations. Note: if [updateFrequency] is passed as 0, it will be treated as 1.

func (*MeteredCache) Del

func (mc *MeteredCache) Del(k []byte)

func (*MeteredCache) Get

func (mc *MeteredCache) Get(dst, k []byte) []byte

func (*MeteredCache) GetBig

func (mc *MeteredCache) GetBig(dst, k []byte) []byte

func (*MeteredCache) Has

func (mc *MeteredCache) Has(k []byte) bool

func (*MeteredCache) HasGet

func (mc *MeteredCache) HasGet(dst, k []byte) ([]byte, bool)

func (*MeteredCache) Set

func (mc *MeteredCache) Set(k, v []byte)

func (*MeteredCache) SetBig

func (mc *MeteredCache) SetBig(k, v []byte)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL