Documentation ¶
Overview ¶
Package common contains various helper functions.
Index ¶
- Constants
- Variables
- func BigMax(x, y *big.Int) *big.Int
- func BigMin(x, y *big.Int) *big.Int
- func BigPow(a, b int) *big.Int
- func BigToBytes(num *big.Int, base int) []byte
- func BitTest(num *big.Int, i int) bool
- func Bytes2Hex(d []byte) string
- func CopyBytes(b []byte) (copiedBytes []byte)
- func CurrencyToString(num *big.Int) string
- func DefaultDataDir() string
- func EmptyAddress(a Address) bool
- func EmptyHash(h Hash) bool
- func EnsurePathAbsoluteOrRelativeTo(Datadir string, filename string) string
- func FirstBitSet(v *big.Int) int
- func FromHex(s string) []byte
- func Hex2Bytes(str string) []byte
- func Hex2BytesFixed(str string, flen int) []byte
- func HomeDir() string
- func IsHex(str string) bool
- func IsHexAddress(s string) bool
- func LeftPadBytes(slice []byte, l int) []byte
- func PP(value []byte) string
- func RightPadBytes(slice []byte, l int) []byte
- func S256(x *big.Int) *big.Int
- func SetClientVersion(version string)
- func ToHex(b []byte) string
- func U256(x *big.Int) *big.Int
- type Address
- func (a Address) Big() *big.Int
- func (a Address) Bytes() []byte
- func (a Address) Hash() Hash
- func (a Address) Hex() string
- func (a Address) IsEmpty() bool
- func (a Address) MarshalJSON() ([]byte, error)
- func (a *Address) Set(other Address)
- func (a *Address) SetBytes(b []byte)
- func (a *Address) SetString(s string)
- func (a Address) Str() string
- func (a *Address) UnmarshalJSON(data []byte) error
- type ClientSessionIdentityT
- type Hash
- func (h Hash) Big() *big.Int
- func (h Hash) Bytes() []byte
- func (h Hash) Generate(rand *rand.Rand, size int) reflect.Value
- func (h Hash) Hex() string
- func (h Hash) IsEmpty() bool
- func (h Hash) MarshalJSON() ([]byte, error)
- func (h *Hash) Set(other Hash)
- func (h *Hash) SetBytes(b []byte)
- func (h *Hash) SetString(s string)
- func (h Hash) Str() string
- func (h *Hash) UnmarshalJSON(input []byte) error
- type StorageSize
- type UnprefixedAddress
- type UnprefixedHash
Constants ¶
const ( DefaultIPCSocket = "webchaind.ipc" // Default (relative) name of the IPC RPC socket DefaultHTTPHost = "localhost" // Default host interface for the HTTP RPC server DefaultHTTPPort = 39573 // Default TCP port for the HTTP RPC server DefaultWSHost = "localhost" // Default host interface for the websocket RPC server DefaultWSPort = 39574 // Default TCP port for the websocket RPC server )
const ( MaxInt8 = 1<<7 - 1 MinInt8 = -1 << 7 MaxInt16 = 1<<15 - 1 MinInt16 = -1 << 15 MaxInt32 = 1<<31 - 1 MinInt32 = -1 << 31 MaxInt64 = 1<<63 - 1 MinInt64 = -1 << 63 MaxUint8 = 1<<8 - 1 MaxUint16 = 1<<16 - 1 MaxUint32 = 1<<32 - 1 MaxUint64 = 1<<64 - 1 )
const ( HashLength = 32 AddressLength = 20 )
Variables ¶
var ( Big0 = big.NewInt(0) Big1 = big.NewInt(1) Big2 = big.NewInt(2) Big3 = big.NewInt(3) BigTrue = Big1 BigFalse = big.NewInt(0) Big32 = big.NewInt(32) Big36 = big.NewInt(36) Big97 = big.NewInt(97) Big98 = big.NewInt(98) Big256 = big.NewInt(0xff) Big257 = big.NewInt(257) MaxBig, _ = new(big.Int).SetString("ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", 16) )
Common big integers often used
var ( Douglas = BigPow(10, 42) Einstein = BigPow(10, 21) Ether = BigPow(10, 18) Finney = BigPow(10, 15) Szabo = BigPow(10, 12) Shannon = BigPow(10, 9) Babbage = BigPow(10, 6) Ada = BigPow(10, 3) Wei = big.NewInt(1) )
The different number of units
var SessionID string // global because we use in mlog fns to inject for all data points
Functions ¶
func BigToBytes ¶
Big to bytes
Returns the bytes of a big integer with the size specified by **base** Attempts to pad the byte array with zeros.
func CurrencyToString ¶
Currency to string Returns a string representing a human readable format
func DefaultDataDir ¶
func DefaultDataDir() string
DefaultDataDir is the default data directory to use for the databases and other persistence requirements.
func EmptyAddress ¶ added in v0.2.0
func FirstBitSet ¶
func Hex2BytesFixed ¶
func IsHexAddress ¶
IsHexAddress verifies whether a string can represent a valid hex-encoded Ethereum address or not.
func LeftPadBytes ¶
func PP ¶
PP Pretty Prints a byte slice in the following format:
hex(value[:4])...(hex[len(value)-4:])
func RightPadBytes ¶
func SetClientVersion ¶
func SetClientVersion(version string)
Types ¶
type Address ¶
type Address [AddressLength]byte
func BigToAddress ¶
func HexToAddress ¶
func StringToAddress ¶
func (Address) MarshalJSON ¶
Serialize given address to JSON
func (*Address) SetBytes ¶
Sets the address to the value of b. If b is larger than len(a) it will panic
func (*Address) UnmarshalJSON ¶
Parse address from raw json data
type ClientSessionIdentityT ¶
type ClientSessionIdentityT struct { Version string `json:"version"` Hostname string `json:"host"` Username string `json:"user"` MachineID string `json:"machineid"` Goos string `json:"goos"` Goarch string `json:"goarch"` Goversion string `json:"goversion"` Pid int `json:"pid"` SessionID string `json:"session"` StartTime time.Time `json:"start"` }
ClientSessionIdentityT holds values describing the client, environment, and session.
func GetClientSessionIdentity ¶
func GetClientSessionIdentity() *ClientSessionIdentityT
GetClientSessionIdentity is the getter fn for a the clientSessionIdentity value.
func (*ClientSessionIdentityT) String ¶
func (s *ClientSessionIdentityT) String() string
String is the stringer fn for ClientSessionIdentityT
type Hash ¶
type Hash [HashLength]byte
func BytesToHash ¶
func (*Hash) UnmarshalJSON ¶
UnmarshalJSON parses a hash in its hex from to a hash.
type StorageSize ¶
type StorageSize float64
func (StorageSize) Int64 ¶
func (self StorageSize) Int64() int64
func (StorageSize) String ¶
func (self StorageSize) String() string
type UnprefixedAddress ¶ added in v0.5.0
type UnprefixedAddress Address
UnprefixedAddress allows marshaling an Address without 0x prefix.
func (UnprefixedAddress) MarshalText ¶ added in v0.5.0
func (a UnprefixedAddress) MarshalText() ([]byte, error)
MarshalText encodes the address as hex.
func (*UnprefixedAddress) UnmarshalText ¶ added in v0.5.0
func (a *UnprefixedAddress) UnmarshalText(input []byte) error
UnmarshalText decodes the address from hex. The 0x prefix is optional.
type UnprefixedHash ¶ added in v0.5.0
type UnprefixedHash Hash
UnprefixedHash allows marshaling a Hash without 0x prefix.
func (UnprefixedHash) Bytes ¶ added in v0.5.0
func (h UnprefixedHash) Bytes() []byte
func (UnprefixedHash) MarshalText ¶ added in v0.5.0
func (h UnprefixedHash) MarshalText() ([]byte, error)
MarshalText encodes the hash as hex.
func (*UnprefixedHash) UnmarshalText ¶ added in v0.5.0
func (h *UnprefixedHash) UnmarshalText(input []byte) error
UnmarshalText decodes the hash from hex. The 0x prefix is optional.