Documentation ¶
Overview ¶
Package common contains various helper functions.
Index ¶
- Constants
- Variables
- func AbsolutePath(Datadir string, filename string) string
- func AddressToICAP(a Address) (string, error)
- func AddressToIndirectICAP(a Address, instCode string) (string, error)
- func Big(num string) *big.Int
- func BigCopy(src *big.Int) *big.Int
- func BigD(data []byte) *big.Int
- 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 ByteSliceToInterface(slice [][]byte) (ret []interface{})
- func Bytes2Big(data []byte) *big.Int
- func Bytes2Hex(d []byte) string
- func BytesToBig(data []byte) *big.Int
- func BytesToNumber(b []byte) uint64
- func CopyBytes(b []byte) (copiedBytes []byte)
- func CurrencyToString(num *big.Int) string
- func EmptyHash(h Hash) bool
- func FileExist(filePath string) bool
- func FirstBitSet(v *big.Int) int
- func FormatData(data string) []byte
- func FromHex(s string) []byte
- func HasHexPrefix(str string) bool
- func Hex2Bytes(str string) []byte
- func Hex2BytesFixed(str string, flen int) []byte
- func IsHex(str string) bool
- func IsHexAddress(s string) bool
- func LeftPadBytes(slice []byte, l int) []byte
- func LeftPadString(str string, l int) string
- func LoadJSON(file string, val interface{}) error
- func MakeName(name, version string) string
- func NumberToBytes(num interface{}, bits int) []byte
- func PP(value []byte) string
- func ParseData(data ...interface{}) (ret []byte)
- func PrintDepricationWarning(str string)
- func ReadVarInt(buff []byte) (ret uint64)
- func Report(extra ...interface{})
- func RightPadBytes(slice []byte, l int) []byte
- func RightPadString(str string, l int) string
- func S256(x *big.Int) *big.Int
- func String2Big(num string) *big.Int
- func StringToByteFunc(str string, cb func(str string) []byte) (ret []byte)
- func ToAddress(slice []byte) (addr []byte)
- 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) 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(input []byte) error
- 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) 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 List
- type PrettyDuration
- type StorageSize
Constants ¶
const ( HashLength = 32 AddressLength = 20 )
Variables ¶
var ( Big1 = big.NewInt(1) Big2 = big.NewInt(2) Big3 = big.NewInt(3) Big0 = big.NewInt(0) BigTrue = Big1 BigFalse = Big0 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 = String2Big("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff") )
Common big integers often used
var ( Base36Chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ" ICAPLengthError = errors.New("Invalid ICAP length") ICAPEncodingError = errors.New("Invalid ICAP encoding") ICAPChecksumError = errors.New("Invalid ICAP checksum") ICAPCountryCodeError = errors.New("Invalid ICAP country code") ICAPAssetIdentError = errors.New("Invalid ICAP asset identifier") ICAPInstCodeError = errors.New("Invalid ICAP institution code") ICAPClientIdentError = errors.New("Invalid ICAP client identifier") )
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
Functions ¶
func AbsolutePath ¶
func AddressToICAP ¶ added in v1.3.1
func AddressToIndirectICAP ¶ added in v1.3.1
TODO: integrate with ICAP namereg when it's available
func BigToBytes ¶ added in v0.9.17
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 ByteSliceToInterface ¶ added in v0.9.17
func ByteSliceToInterface(slice [][]byte) (ret []interface{})
func BytesToNumber ¶ added in v0.9.17
Bytes to number
Attempts to cast a byte slice to a unsigned integer
func CurrencyToString ¶ added in v0.9.17
Currency to string Returns a string representing a human readable format
func FirstBitSet ¶ added in v0.9.17
func FormatData ¶ added in v0.9.17
func HasHexPrefix ¶ added in v0.9.17
func Hex2BytesFixed ¶
func IsHexAddress ¶
IsHexAddress verifies whether a string can represent a valid hex-encoded Ethereum address or not.
func LeftPadBytes ¶
func LeftPadString ¶ added in v0.9.17
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 NumberToBytes ¶ added in v0.9.17
Number to bytes
Returns the number in bytes with the specified base
func PP ¶ added in v0.9.30
PP Pretty Prints a byte slice in the following format:
hex(value[:4])...(hex[len(value)-4:])
func PrintDepricationWarning ¶
func PrintDepricationWarning(str string)
PrintDepricationWarning prinst the given string in a box using fmt.Println.
func ReadVarInt ¶ added in v0.9.17
Read variable int
Read a variable length number in big endian byte order
func Report ¶
func Report(extra ...interface{})
Report gives off a warning requesting the user to submit an issue to the github tracker.
func RightPadBytes ¶
func RightPadString ¶ added in v0.9.17
func String2Big ¶ added in v0.9.17
func StringToByteFunc ¶ added in v0.9.17
Types ¶
type Address ¶
type Address [AddressLength]byte
Address represents the 20 byte address of an Ethereum account.
func BigToAddress ¶
func HexToAddress ¶
func ICAPToAddress ¶ added in v1.3.1
func StringToAddress ¶
func (Address) MarshalJSON ¶ added in v1.4.0
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 Hash ¶
type Hash [HashLength]byte
Hash represents the 32 byte Keccak256 hash of arbitrary data.
func BytesToHash ¶
func StringToHash ¶
func (Hash) MarshalJSON ¶ added in v1.4.0
Serialize given hash to JSON
func (*Hash) UnmarshalJSON ¶
UnmarshalJSON parses a hash in its hex from to a hash.
type List ¶ added in v0.9.17
type List struct { Length int // contains filtered or unexported fields }
The list type is an anonymous slice handler which can be used for containing any slice type to use in an environment which does not support slice types (e.g., JavaScript, QML)
func NewList ¶ added in v0.9.17
func NewList(t interface{}) *List
Initialise a new list. Panics if non-slice type is given.
func (*List) Append ¶ added in v0.9.17
func (self *List) Append(v interface{})
Appends value at the end of the slice. Panics when incompatible value is given.
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 StorageSize ¶
type StorageSize float64
func (StorageSize) Int64 ¶ added in v0.9.17
func (self StorageSize) Int64() int64
func (StorageSize) String ¶
func (self StorageSize) String() string
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
Package compiler wraps the Solidity compiler executable (solc).
|
Package compiler wraps the Solidity compiler executable (solc). |
Package hexutil implements hex encoding with 0x prefix.
|
Package hexutil implements hex encoding with 0x prefix. |
package mclock is a wrapper for a monotonic clock source
|
package mclock is a wrapper for a monotonic clock source |