Documentation ¶
Overview ¶
Package common contains various helper functions.
Index ¶
- Constants
- func Bytes2Hex(d []byte) string
- func FromHex(s string) []byte
- func KeyCmp(key1, key2 []byte) (int, bool)
- func LeftPadBytes(slice []byte, l int) []byte
- func LoadJSON(file string, val interface{}) error
- func MakeName(name, version string) string
- func PrintDepricationWarning(str string)
- func RandomizeDuration(in time.Duration) time.Duration
- func Report(extra ...interface{})
- func RightPadBytes(slice []byte, l int) []byte
- func TrimLeftZeroes(s []byte) []byte
- func TrimRightZeroes(s []byte) []byte
- type Addresses
- type Hashes
- type MixedcaseAddress
- func (ma *MixedcaseAddress) Address() libcommon.Address
- func (ma *MixedcaseAddress) MarshalJSON() ([]byte, error)
- func (ma *MixedcaseAddress) Original() string
- func (ma *MixedcaseAddress) String() string
- func (ma *MixedcaseAddress) UnmarshalJSON(input []byte) error
- func (ma *MixedcaseAddress) ValidChecksum() bool
- type PrettyAge
- type PrettyDuration
- type StorageBucketWriteStats
- type StorageCounter
- type StorageKey
- type StorageKeys
- type StorageSize
- type Tuples
- type UnprefixedAddress
- type UnprefixedHash
Constants ¶
const ( // BlockNumberLength length of uint64 big endian BlockNumberLength = 8 // IncarnationLength length of uint64 for contract incarnations IncarnationLength = 8 )
Lengths of hashes and addresses in bytes.
const StorageKeyLen = 2*length.Hash + IncarnationLength
Variables ¶
This section is empty.
Functions ¶
func FromHex ¶
FromHex returns the bytes represented by the hexadecimal string s. s may be prefixed with "0x".
func LeftPadBytes ¶
LeftPadBytes zero-pads slice to the left up to length l.
func MakeName ¶
MakeName creates a node name that follows the ethereum convention for such names. It adds the operation system name and Go runtime version the name.
func PrintDepricationWarning ¶
func PrintDepricationWarning(str string)
PrintDepricationWarning prinst the given string in a box using fmt.Println.
func RandomizeDuration ¶
RandomizeDuration - periodic parallel actions may interfere and resonance. Use this func to add small randomness to period
func Report ¶
func Report(extra ...interface{})
Report gives off a warning requesting the user to submit an issue to the github tracker.
func RightPadBytes ¶
RightPadBytes zero-pads slice to the right up to length l.
func TrimLeftZeroes ¶
TrimLeftZeroes returns a subslice of s without leading zeroes
func TrimRightZeroes ¶
TrimRightZeroes returns a subslice of s without trailing zeroes
Types ¶
type MixedcaseAddress ¶
type MixedcaseAddress struct {
// contains filtered or unexported fields
}
MixedcaseAddress retains the original string, which may or may not be correctly checksummed
func NewMixedcaseAddress ¶
func NewMixedcaseAddress(addr libcommon.Address) MixedcaseAddress
NewMixedcaseAddress constructor (mainly for testing)
func NewMixedcaseAddressFromString ¶
func NewMixedcaseAddressFromString(hexaddr string) (*MixedcaseAddress, error)
NewMixedcaseAddressFromString is mainly meant for unit-testing
func (*MixedcaseAddress) Address ¶
func (ma *MixedcaseAddress) Address() libcommon.Address
Address returns the address
func (*MixedcaseAddress) MarshalJSON ¶
func (ma *MixedcaseAddress) MarshalJSON() ([]byte, error)
MarshalJSON marshals the original value
func (*MixedcaseAddress) Original ¶
func (ma *MixedcaseAddress) Original() string
Original returns the mixed-case input string
func (*MixedcaseAddress) String ¶
func (ma *MixedcaseAddress) String() string
String implements fmt.Stringer
func (*MixedcaseAddress) UnmarshalJSON ¶
func (ma *MixedcaseAddress) UnmarshalJSON(input []byte) error
UnmarshalJSON parses MixedcaseAddress
func (*MixedcaseAddress) ValidChecksum ¶
func (ma *MixedcaseAddress) ValidChecksum() bool
ValidChecksum returns true if the address has valid checksum
type PrettyAge ¶
PrettyAge is a pretty printed version of a time.Duration value that rounds the values up to a single most significant unit, days/weeks/years included.
type PrettyDuration ¶
PrettyDuration is a pretty printed version of a time.Duration value that cuts the unnecessary precision off from the formatted textual representation.
func (PrettyDuration) String ¶
func (d PrettyDuration) String() string
String implements the Stringer interface, allowing pretty printing of duration values rounded to three decimals.
type StorageBucketWriteStats ¶
type StorageBucketWriteStats struct { KeyN StorageCounter // total number of keys KeyBytesN StorageSize // total number of bytes owned by keys ValueBytesN StorageSize // total number of bytes owned by values TotalPut StorageCounter TotalDelete StorageCounter TotalBytesPut StorageSize TotalBytesDelete StorageSize }
type StorageCounter ¶
type StorageCounter float64
Counter
func (StorageCounter) MarshalJSON ¶
func (s StorageCounter) MarshalJSON() ([]byte, error)
func (StorageCounter) String ¶
func (s StorageCounter) String() string
String implements the stringer interface.
type StorageKey ¶
type StorageKey [StorageKeyLen]byte
StorageKey is representation of address of a contract storage item It consists of two parts, each of which are 32-byte hashes: 1. Hash of the contract's address 2. Hash of the item's key
type StorageKeys ¶
type StorageKeys []StorageKey
StorageKeys is a slice of StorageKey, implementing sort.Interface
func (StorageKeys) Len ¶
func (keys StorageKeys) Len() int
func (StorageKeys) Less ¶
func (keys StorageKeys) Less(i, j int) bool
func (StorageKeys) Swap ¶
func (keys StorageKeys) Swap(i, j int)
type StorageSize ¶
type StorageSize float64
StorageSize is a wrapper around a float value that supports user friendly formatting.
func (StorageSize) MarshalJSON ¶
func (s StorageSize) MarshalJSON() ([]byte, error)
func (StorageSize) String ¶
func (s StorageSize) String() string
String implements the stringer interface.
func (StorageSize) TerminalString ¶
func (s StorageSize) TerminalString() string
TerminalString implements log.TerminalStringer, formatting a string for console output during logging.
type Tuples ¶
type Tuples struct { Values [][]byte SortBy int Length int // contains filtered or unexported fields }
Tuples, eg [(index, bucket, key, value)]
type UnprefixedAddress ¶
UnprefixedAddress allows marshaling an Address without 0x prefix.
func (UnprefixedAddress) MarshalText ¶
func (a UnprefixedAddress) MarshalText() ([]byte, error)
MarshalText encodes the address as hex.
func (*UnprefixedAddress) UnmarshalText ¶
func (a *UnprefixedAddress) UnmarshalText(input []byte) error
UnmarshalText decodes the address from hex. The 0x prefix is optional.
type UnprefixedHash ¶
UnprefixedHash allows marshaling a Hash without 0x prefix.
func (UnprefixedHash) MarshalText ¶
func (h UnprefixedHash) MarshalText() ([]byte, error)
MarshalText encodes the hash as hex.
func (*UnprefixedHash) UnmarshalText ¶
func (h *UnprefixedHash) UnmarshalText(input []byte) error
UnmarshalText decodes the hash from hex. The 0x prefix is optional.
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
Package bitutil implements fast bitwise operations.
|
Package bitutil implements fast bitwise operations. |
Package compiler wraps the Solidity and Vyper compiler executables (solc; vyper).
|
Package compiler wraps the Solidity and Vyper compiler executables (solc; vyper). |
Package math provides integer math utilities.
|
Package math provides integer math utilities. |
Package mclock is a wrapper for a monotonic clock source
|
Package mclock is a wrapper for a monotonic clock source |
Package prque implements a priority queue data structure supporting arbitrary value types and int64 priorities.
|
Package prque implements a priority queue data structure supporting arbitrary value types and int64 priorities. |