common

package
v0.9.4 Latest Latest
Warning

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

Go to latest
Published: Jan 29, 2021 License: Apache-2.0 Imports: 17 Imported by: 14

Documentation

Index

Constants

View Source
const (
	AddressIDBytes = 20
	AddressBytes   = AddressIDBytes + 1
)
View Source
const (
	TypeAddress = iota + codec.TypeCustom
	TypeInt
)
View Source
const PrefixLen = 4

Variables

View Source
var (
	ErrUnknown         = errors.ErrUnknown
	ErrIllegalArgument = errors.ErrIllegalArgument
	ErrInvalidState    = errors.ErrInvalidState
	ErrUnsupported     = errors.ErrUnsupported
	ErrNotFound        = errors.ErrNotFound
)
View Source
var HexIntZero = &hexIntZero
View Source
var TypeCodec = &typeCodec{}

Functions

func AddressEqual added in v0.9.4

func AddressEqual(a, b module.Address) bool

func AnyForJSON added in v0.9.4

func AnyForJSON(o interface{}) (interface{}, error)

func BlockInfoEqual added in v0.9.4

func BlockInfoEqual(bi1 module.BlockInfo, bi2 module.BlockInfo) bool

func BytesToAddress added in v0.9.4

func BytesToAddress(b []byte) (module.Address, error)

func CompactJSON added in v0.9.4

func CompactJSON(js []byte) ([]byte, error)

func Compress

func Compress(bs []byte) []byte

func ConsensusInfoEqual added in v0.9.4

func ConsensusInfoEqual(csi1, csi2 module.ConsensusInfo) bool

func DecodeAny

func DecodeAny(o *codec.TypedObj) (interface{}, error)

func DecodeAnyForJSON

func DecodeAnyForJSON(o *codec.TypedObj) (interface{}, error)

func DecodeAsString

func DecodeAsString(o *codec.TypedObj, s string) string

func Decompress

func Decompress(bs []byte) []byte

func EncodeAny

func EncodeAny(obj interface{}) (*codec.TypedObj, error)

func HexPre

func HexPre(bs []byte) string

HexPre returns hexadecimal string of prefix of byte slice bs.

func MarshalAny

func MarshalAny(c codec.Codec, obj interface{}) ([]byte, error)

func MustDecodeAny

func MustDecodeAny(o *codec.TypedObj) interface{}

func MustEncodeAny

func MustEncodeAny(obj interface{}) *codec.TypedObj

func NewBlockInfo

func NewBlockInfo(height, timestamp int64) module.BlockInfo

func NewConsensusInfo added in v0.9.4

func NewConsensusInfo(
	proposer module.Address,
	voters module.ValidatorList,
	voted []bool,
) module.ConsensusInfo

func StrLeft

func StrLeft(n int, s string) string

func UnixMicroFromTime

func UnixMicroFromTime(t time.Time) int64

func UnmarshalAny

func UnmarshalAny(c codec.Codec, bs []byte) (interface{}, error)

func ValidatorListEqual added in v0.9.4

func ValidatorListEqual(vl1, vl2 module.ValidatorList) bool

Types

type Address

type Address [AddressBytes]byte

func AddressToPtr added in v0.9.3

func AddressToPtr(addr module.Address) *Address

func MustNewAddress added in v0.9.4

func MustNewAddress(b []byte) *Address

func NewAccountAddress

func NewAccountAddress(b []byte) *Address

func NewAccountAddressFromPublicKey

func NewAccountAddressFromPublicKey(pubKey *crypto.PublicKey) *Address

func NewAddress

func NewAddress(b []byte) (*Address, error)

func NewAddressFromString

func NewAddressFromString(s string) *Address

func NewAddressWithTypeAndID added in v0.9.4

func NewAddressWithTypeAndID(isContract bool, id []byte) *Address

func NewContractAddress

func NewContractAddress(b []byte) *Address

func (*Address) Bytes

func (a *Address) Bytes() []byte

func (*Address) Equal

func (a *Address) Equal(a2 module.Address) bool

func (*Address) ID

func (a *Address) ID() []byte

BytesPart returns part of address without type prefix.

func (*Address) IsContract

func (a *Address) IsContract() bool

func (Address) MarshalJSON

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

func (*Address) RLPDecodeSelf

func (a *Address) RLPDecodeSelf(d codec.Decoder) error

func (*Address) RLPEncodeSelf

func (a *Address) RLPEncodeSelf(e codec.Encoder) error

func (*Address) Set added in v0.9.3

func (a *Address) Set(address module.Address) *Address

func (*Address) SetBytes

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

func (*Address) SetString

func (a *Address) SetString(s string) error

func (*Address) SetTypeAndID

func (a *Address) SetTypeAndID(ic bool, id []byte)

func (*Address) String

func (a *Address) String() string

func (*Address) UnmarshalJSON

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

type AutoCallLocker

type AutoCallLocker struct {
	// contains filtered or unexported fields
}

func LockForAutoCall

func LockForAutoCall(locker sync.Locker) *AutoCallLocker

func (*AutoCallLocker) CallAfterUnlock

func (m *AutoCallLocker) CallAfterUnlock(f func())

CallAfterUnlock schedules to call f after next unlock. This function shall be called while lock is acquired.

func (*AutoCallLocker) CallBeforeUnlock

func (m *AutoCallLocker) CallBeforeUnlock(f func())

CallBeforeUnlock schedules to call f before next unlock. This function shall be called while lock is acquired.

func (*AutoCallLocker) Unlock

func (m *AutoCallLocker) Unlock()

Unlock calls scheduled functions and releases lock.

type AutoUnlock

type AutoUnlock struct {
	// contains filtered or unexported fields
}

func Lock

func Lock(l sync.Locker) AutoUnlock

Lock lock the locker and return handle for unlock to be used for deferred unlock.

func (*AutoUnlock) Unlock

func (l *AutoUnlock) Unlock()

type Clock

type Clock interface {
	Now() time.Time
	AfterFunc(d time.Duration, f func()) Timer
	NewTimer(d time.Duration) Timer
	Sleep(d time.Duration)
}

type GoTimeClock

type GoTimeClock struct {
}

func (*GoTimeClock) AfterFunc

func (cl *GoTimeClock) AfterFunc(d time.Duration, f func()) Timer

func (*GoTimeClock) NewTimer

func (cl *GoTimeClock) NewTimer(d time.Duration) Timer

func (*GoTimeClock) Now

func (cl *GoTimeClock) Now() time.Time

func (*GoTimeClock) Sleep

func (cl *GoTimeClock) Sleep(d time.Duration)

type HexBytes

type HexBytes []byte

func SliceOfHexBytes

func SliceOfHexBytes(bss [][]byte) []HexBytes

func (HexBytes) Bytes

func (hs HexBytes) Bytes() []byte

func (HexBytes) MarshalJSON

func (hs HexBytes) MarshalJSON() ([]byte, error)

func (HexBytes) String

func (hs HexBytes) String() string

func (*HexBytes) UnmarshalJSON

func (hs *HexBytes) UnmarshalJSON(b []byte) error

type HexInt

type HexInt struct {
	big.Int
}

func NewHexInt

func NewHexInt(v int64) *HexInt

func (*HexInt) AddValue added in v0.9.4

func (i *HexInt) AddValue(x, y *big.Int) *HexInt

func (*HexInt) Bytes

func (i *HexInt) Bytes() []byte

func (*HexInt) Clone

func (i *HexInt) Clone() HexInt

func (*HexInt) MarshalBinary

func (i *HexInt) MarshalBinary() (data []byte, err error)

func (HexInt) MarshalJSON

func (i HexInt) MarshalJSON() ([]byte, error)

func (*HexInt) SetBytes

func (i *HexInt) SetBytes(bs []byte) *big.Int

func (*HexInt) SetValue added in v0.9.4

func (i *HexInt) SetValue(x *big.Int) *HexInt

func (HexInt) String

func (i HexInt) String() string

func (*HexInt) UnmarshalBinary

func (i *HexInt) UnmarshalBinary(data []byte) error

func (*HexInt) UnmarshalJSON

func (i *HexInt) UnmarshalJSON(b []byte) error

func (*HexInt) Value added in v0.9.4

func (i *HexInt) Value() *big.Int

type HexInt16

type HexInt16 struct {
	Value int16
}

func (HexInt16) Bytes

func (i HexInt16) Bytes() []byte

func (HexInt16) MarshalJSON

func (i HexInt16) MarshalJSON() ([]byte, error)

func (*HexInt16) RLPDecodeSelf

func (i *HexInt16) RLPDecodeSelf(d codec.Decoder) error

func (*HexInt16) RLPEncodeSelf

func (i *HexInt16) RLPEncodeSelf(e codec.Encoder) error

func (HexInt16) String

func (i HexInt16) String() string

func (*HexInt16) UnmarshalJSON

func (i *HexInt16) UnmarshalJSON(b []byte) error

type HexInt32

type HexInt32 struct {
	Value int32
}

func (HexInt32) MarshalJSON

func (i HexInt32) MarshalJSON() ([]byte, error)

func (*HexInt32) RLPDecodeSelf

func (i *HexInt32) RLPDecodeSelf(d codec.Decoder) error

func (*HexInt32) RLPEncodeSelf

func (i *HexInt32) RLPEncodeSelf(e codec.Encoder) error

func (HexInt32) String

func (i HexInt32) String() string

func (*HexInt32) UnmarshalJSON

func (i *HexInt32) UnmarshalJSON(b []byte) error

type HexInt64

type HexInt64 struct {
	Value int64
}

func (HexInt64) MarshalJSON

func (i HexInt64) MarshalJSON() ([]byte, error)

func (*HexInt64) RLPDecodeSelf

func (i *HexInt64) RLPDecodeSelf(d codec.Decoder) error

func (*HexInt64) RLPEncodeSelf

func (i *HexInt64) RLPEncodeSelf(e codec.Encoder) error

func (HexInt64) String

func (i HexInt64) String() string

func (*HexInt64) UnmarshalJSON

func (i *HexInt64) UnmarshalJSON(b []byte) error

type HexUint16

type HexUint16 struct {
	Value uint16
}

func (HexUint16) Bytes

func (i HexUint16) Bytes() []byte

func (HexUint16) MarshalJSON

func (i HexUint16) MarshalJSON() ([]byte, error)

func (*HexUint16) RLPDecodeSelf

func (i *HexUint16) RLPDecodeSelf(d codec.Decoder) error

func (*HexUint16) RLPEncodeSelf

func (i *HexUint16) RLPEncodeSelf(e codec.Encoder) error

func (HexUint16) String

func (i HexUint16) String() string

func (*HexUint16) UnmarshalJSON

func (i *HexUint16) UnmarshalJSON(b []byte) error

type HexUint32

type HexUint32 struct {
	Value uint32
}

func (HexUint32) MarshalJSON

func (i HexUint32) MarshalJSON() ([]byte, error)

func (*HexUint32) RLPDecodeSelf

func (i *HexUint32) RLPDecodeSelf(d codec.Decoder) error

func (*HexUint32) RLPEncodeSelf

func (i *HexUint32) RLPEncodeSelf(e codec.Encoder) error

func (HexUint32) String

func (i HexUint32) String() string

func (*HexUint32) UnmarshalJSON

func (i *HexUint32) UnmarshalJSON(b []byte) error

type HexUint64

type HexUint64 struct {
	Value uint64
}

func (HexUint64) MarshalJSON

func (i HexUint64) MarshalJSON() ([]byte, error)

func (*HexUint64) RLPDecodeSelf

func (i *HexUint64) RLPDecodeSelf(d codec.Decoder) error

func (*HexUint64) RLPEncodeSelf

func (i *HexUint64) RLPEncodeSelf(e codec.Encoder) error

func (HexUint64) String

func (i HexUint64) String() string

func (*HexUint64) UnmarshalJSON

func (i *HexUint64) UnmarshalJSON(b []byte) error

type ITimer

type ITimer interface {
	Stop() bool
}

type Mutex

type Mutex struct {
	// contains filtered or unexported fields
}

Mutex is wrapper for sync.Mutex.

func (*Mutex) CallAfterUnlock

func (m *Mutex) CallAfterUnlock(f func())

CallAfterUnlock schedules to call f after next unlock. This function shall be called while lock is acquired.

func (*Mutex) CallBeforeUnlock

func (m *Mutex) CallBeforeUnlock(f func())

CallBeforeUnlock schedules to call f before next unlock. This function shall be called while lock is acquired.

func (*Mutex) Lock

func (m *Mutex) Lock()

Lock acquires lock.

func (*Mutex) Unlock

func (m *Mutex) Unlock()

Unlock calls scheduled functions and releases lock.

type RawHexBytes

type RawHexBytes []byte

func (RawHexBytes) Bytes

func (rh RawHexBytes) Bytes() []byte

func (RawHexBytes) MarshalJSON

func (rh RawHexBytes) MarshalJSON() ([]byte, error)

func (RawHexBytes) String

func (rh RawHexBytes) String() string

func (*RawHexBytes) UnmarshalJSON

func (rh *RawHexBytes) UnmarshalJSON(b []byte) error

type Signature

type Signature struct {
	*crypto.Signature
}

func (*Signature) MarshalBinary

func (sig *Signature) MarshalBinary() ([]byte, error)

func (Signature) MarshalJSON

func (sig Signature) MarshalJSON() ([]byte, error)

func (Signature) RecoverPublicKey

func (sig Signature) RecoverPublicKey(hash []byte) (*crypto.PublicKey, error)

func (*Signature) UnmarshalBinary

func (sig *Signature) UnmarshalBinary(s []byte) error

func (*Signature) UnmarshalJSON

func (sig *Signature) UnmarshalJSON(s []byte) error

type TestClock

type TestClock struct {
	sync.Mutex
	// contains filtered or unexported fields
}

func (*TestClock) AfterFunc

func (cl *TestClock) AfterFunc(d time.Duration, f func()) Timer

func (*TestClock) NewTimer

func (cl *TestClock) NewTimer(d time.Duration) Timer

func (*TestClock) Now

func (cl *TestClock) Now() time.Time

func (*TestClock) PassTime

func (cl *TestClock) PassTime(d time.Duration)

func (*TestClock) SetTime

func (cl *TestClock) SetTime(t time.Time)

func (*TestClock) Sleep

func (cl *TestClock) Sleep(d time.Duration)

type Timer

type Timer struct {
	ITimer
	C <-chan time.Time
}

func (*Timer) Stop

func (timer *Timer) Stop()

Directories

Path Synopsis
* Copyright 2020 ICON Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
* Copyright 2020 ICON Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
mta

Jump to

Keyboard shortcuts

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