common

package
v1.3.1 Latest Latest
Warning

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

Go to latest
Published: Feb 13, 2020 License: MIT Imports: 13 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// AddressLength is the expected length of the address
	AddressLength = 20
)

Lengths of addresses in bytes.

View Source
const (
	// HashLength is the expected length of the hash
	HashLength = 32
)

Lengths of hashes in bytes.

Variables

View Source
var Bech32AddressHRP = "one"

Bech32AddressHRP is the human-readable part of the Harmony address used by this process.

Functions

func AddressToBech32

func AddressToBech32(addr ethCommon.Address) (string, error)

AddressToBech32 encodes the given address into bech32 format.

func Bech32ToAddress

func Bech32ToAddress(b32 string) (addr ethCommon.Address, err error)

Bech32ToAddress decodes the given bech32 address.

func BuildBech32Addr

func BuildBech32Addr(hrp string, addr ethCommon.Address) (string, error)

BuildBech32Addr encodes the given human-readable-part string and address into a bech32 address.

func IsBech32Address

func IsBech32Address(s string) bool

IsBech32Address verifies whether a string can represent a valid bech32-encoded Harmony address or not.

func MustAddressToBech32

func MustAddressToBech32(addr ethCommon.Address) string

MustAddressToBech32 encodes the given address into bech32 format. It panics on error.

func MustBech32ToAddress

func MustBech32ToAddress(b32 string) ethCommon.Address

MustBech32ToAddress decodes the given bech32 address. It panics on error.

func MustBuildBech32Addr

func MustBuildBech32Addr(hrp string, addr ethCommon.Address) string

MustBuildBech32Addr encodes the given human-readable-part string and address into a bech32 address. It panics on error.

func ParseAddr

func ParseAddr(s string) ethCommon.Address

ParseAddr parses the given address, either as bech32 or as hex. The result can be 0x00..00 if the passing param is not a correct address.

func ParseBech32Addr

func ParseBech32Addr(b32 string, hrp *string, addr *ethCommon.Address) error

ParseBech32Addr decodes the given bech32 address and populates the given human-readable-part string and address with the decoded result.

Types

type Address

type Address [AddressLength]byte

Address represents the 20 byte address of an Harmony account.

func BigToAddress

func BigToAddress(b *big.Int) Address

BigToAddress returns Address with byte values of b. If b is larger than len(h), b will be cropped from the left.

func BytesToAddress

func BytesToAddress(b []byte) Address

BytesToAddress returns Address with value b. If b is larger than len(h), b will be cropped from the left.

func HexToAddress

func HexToAddress(s string) Address

HexToAddress returns Address with byte values of s. If s is larger than len(h), s will be cropped from the left.

func (Address) Bech32

func (a Address) Bech32() string

Bech32 returns an bip0173-compliant string representation of the address.

func (Address) Big

func (a Address) Big() *big.Int

Big converts an address to a big integer.

func (Address) Bytes

func (a Address) Bytes() []byte

Bytes gets the string representation of the underlying address.

func (Address) Format

func (a Address) Format(s fmt.State, c rune)

Format implements fmt.Formatter, forcing the byte slice to be formatted as is, without going through the stringer interface used for logging.

func (Address) Hash

func (a Address) Hash() Hash

Hash converts an address to a hash by left-padding it with zeros.

func (Address) IsEmpty

func (a Address) IsEmpty() bool

IsEmpty gets whether the address contains all 0 bytes

func (Address) MarshalText

func (a Address) MarshalText() ([]byte, error)

MarshalText returns the hex representation of a.

func (*Address) Scan

func (a *Address) Scan(src interface{}) error

Scan implements Scanner for database/sql.

func (*Address) SetBytes

func (a *Address) SetBytes(b []byte)

SetBytes sets the address to the value of b. If b is larger than len(a) it will panic.

func (Address) String

func (a Address) String() string

String implements fmt.Stringer.

func (*Address) UnmarshalJSON

func (a *Address) UnmarshalJSON(input []byte) error

UnmarshalJSON parses a hash in hex syntax.

func (*Address) UnmarshalText

func (a *Address) UnmarshalText(input []byte) error

UnmarshalText parses a hash in hex syntax.

func (Address) Value

func (a Address) Value() (driver.Value, error)

Value implements valuer for database/sql.

type Hash

type Hash [HashLength]byte

Hash represents the 32 byte Keccak256 hash of arbitrary data.

func BigToHash

func BigToHash(b *big.Int) Hash

BigToHash sets byte representation of b to hash. If b is larger than len(h), b will be cropped from the left.

func BytesToHash

func BytesToHash(b []byte) Hash

BytesToHash sets b to hash. If b is larger than len(h), b will be cropped from the left.

func HexToHash

func HexToHash(s string) Hash

HexToHash sets byte representation of s to hash. If b is larger than len(h), b will be cropped from the left.

func (Hash) Big

func (h Hash) Big() *big.Int

Big converts a hash to a big integer.

func (Hash) Bytes

func (h Hash) Bytes() []byte

Bytes gets the byte representation of the underlying hash.

func (Hash) Format

func (h Hash) Format(s fmt.State, c rune)

Format implements fmt.Formatter, forcing the byte slice to be formatted as is, without going through the stringer interface used for logging.

func (Hash) Generate

func (h Hash) Generate(rand *rand.Rand, size int) reflect.Value

Generate implements testing/quick.Generator.

func (Hash) Hex

func (h Hash) Hex() string

Hex converts a hash to a hex string.

func (Hash) IsEmpty

func (h Hash) IsEmpty() bool

IsEmpty gets whether the hash contains all 0 bytes

func (Hash) MarshalText

func (h Hash) MarshalText() ([]byte, error)

MarshalText returns the hex representation of h.

func (*Hash) Scan

func (h *Hash) Scan(src interface{}) error

Scan implements Scanner for database/sql.

func (*Hash) SetBytes

func (h *Hash) SetBytes(b []byte)

SetBytes sets the hash to the value of b. If b is larger than len(h), b will be cropped from the left.

func (Hash) String

func (h Hash) String() string

String implements the stringer interface and is used also by the logger when doing full logging into a file.

func (Hash) TerminalString

func (h Hash) TerminalString() string

TerminalString implements log.TerminalStringer, formatting a string for console output during logging.

func (*Hash) UnmarshalJSON

func (h *Hash) UnmarshalJSON(input []byte) error

UnmarshalJSON parses a hash in hex syntax.

func (*Hash) UnmarshalText

func (h *Hash) UnmarshalText(input []byte) error

UnmarshalText parses a hash in hex syntax.

func (Hash) Value

func (h Hash) Value() (driver.Value, error)

Value implements valuer for database/sql.

type UnprefixedAddress

type UnprefixedAddress Address

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

type UnprefixedHash Hash

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.

Jump to

Keyboard shortcuts

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