common

package
v1.0.8 Latest Latest
Warning

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

Go to latest
Published: Mar 26, 2020 License: MIT Imports: 17 Imported by: 1

Documentation

Index

Constants

View Source
const (
	ChainNameMainNet = "main"
	ChainNameTestNet = "test"
	ChainNameDevNet  = "dev"
)
View Source
const (
	// Uint128Bytes defines the number of bytes for Uint128 type.
	Uint128Bytes = 16

	// Uint128Bits defines the number of bits for Uint128 type.
	Uint128Bits = 128
)
View Source
const Is32bitPlatform = ^uint(0)>>32 == 0
View Source
const (
	TaposMaxBlockCount = 0x800
)

Variables

View Source
var (
	// ErrUint128Overflow indicates the value is greater than uint128 maximum value 2^128.
	ErrUint128Overflow = errors.New("uint128: overflow")

	// ErrUint128Underflow indicates the value is smaller then uint128 minimum value 0.
	ErrUint128Underflow = errors.New("uint128: underflow")

	// ErrUint128InvalidBytesSize indicates the bytes size is not equal to Uint128Bytes.
	ErrUint128InvalidBytesSize = errors.New("uint128: invalid bytes")

	// ErrUint128InvalidString indicates the string is not valid when converted to uin128.
	ErrUint128InvalidString = errors.New("uint128: invalid string to uint128")
)
View Source
var EmptyBlockID = BlockID{}

Functions

func Compress added in v1.0.2

func Compress(plain []byte) ([]byte, error)

func CopyBytes

func CopyBytes(b []byte) []byte

func Decompress added in v1.0.2

func Decompress(compressed []byte) ([]byte, error)

func Fatalf

func Fatalf(format string, args ...interface{})

Fatalf formats a message to standard error and exits the program. The message is also printed to standard output if standard error is redirected to a different file.

func GetBucket

func GetBucket(timestamp uint32) uint32

func GetChainIdByName added in v1.0.2

func GetChainIdByName(name string) uint32

func GetHardFork added in v1.0.2

func GetHardFork(blockNum uint64) uint64

func HostByteOrder added in v1.0.2

func HostByteOrder() binary.ByteOrder

func InitializeStruct added in v1.0.2

func InitializeStruct(t reflect.Type, v reflect.Value)

func Int2Bytes

func Int2Bytes(n uint32) []byte

func IsLittleEndianPlatform added in v1.0.2

func IsLittleEndianPlatform() bool

func JsonNumberInt64 added in v1.0.2

func JsonNumberInt64(jn json.Number) (r int64)

func JsonNumberUint64 added in v1.0.2

func JsonNumberUint64(jn json.Number) (r uint64)

func PackBlockApplyHash added in v1.0.2

func PackBlockApplyHash(dataChangeHash uint32) uint64

func TaposRefBlockNum added in v1.0.2

func TaposRefBlockNum(blockNum uint64) uint32

func TaposRefBlockPrefix added in v1.0.2

func TaposRefBlockPrefix(blockId []byte) uint32

func UnpackBlockApplyHash added in v1.0.2

func UnpackBlockApplyHash(hash uint64) (version, dataChangeHash uint32)

Types

type BlockID

type BlockID struct {
	Data [32]byte
}

BlockID is a sha256 byte array, the first 2 byte is replaced by the block number

func (BlockID) BlockNum

func (bid BlockID) BlockNum() uint64

BlockNum returns the block num

type EasyTiming added in v1.0.2

type EasyTiming time.Time

func EasyTimer added in v1.0.2

func EasyTimer() EasyTiming

func (EasyTiming) Elapsed added in v1.0.2

func (t EasyTiming) Elapsed() time.Duration

func (EasyTiming) String added in v1.0.2

func (t EasyTiming) String() string

func (EasyTiming) Time added in v1.0.2

func (t EasyTiming) Time() time.Time

type IBlockHeader

type IBlockHeader interface {
	Previous() BlockID
	Timestamp() uint64
}

BlockHeader ...

type IPeer added in v1.0.2

type IPeer interface{}

type ISignedBlock

type ISignedBlock interface {
	ISignedBlockHeader
	Marshaller
}

SignedBlock ...

type ISignedBlockHeader

type ISignedBlockHeader interface {
	IBlockHeader
	Id() BlockID
	Validate() bool
	GetSignee() (interface{}, error)
}

SignedBlockHeader ...

type ISignedTransaction

type ISignedTransaction interface {
	ITransaction
}

type ITransaction

type ITransaction interface {
	Validate() error
}

type ITransactionReceiptWithInfo added in v1.0.2

type ITransactionReceiptWithInfo interface {
}

type Marshaller

type Marshaller interface {
	Marshall() ([]byte, error)
	Unmarshall([]byte) error
}

Marshaller ...

type ShuffleFunc added in v1.0.2

type ShuffleFunc func(head ISignedBlock) (bool, []string)

type Timing added in v1.0.2

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

func NewTiming added in v1.0.2

func NewTiming() *Timing

func (*Timing) Begin added in v1.0.2

func (t *Timing) Begin()

func (*Timing) Duration added in v1.0.2

func (t *Timing) Duration() time.Duration

func (*Timing) End added in v1.0.2

func (t *Timing) End()

func (*Timing) Mark added in v1.0.2

func (t *Timing) Mark()

func (*Timing) SetPartial added in v1.0.2

func (t *Timing) SetPartial(partial time.Duration)

func (*Timing) String added in v1.0.2

func (t *Timing) String() string

type Uint128

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

Uint128 defines uint128 type, based on big.Int.

For arithmetic operations, use uint128.Int.Add()/Sub()/Mul()/Div()/etc. For example, u1.Add(u1.Int, u2.Int) sets u1 to u1 + u2.

func NewUint128

func NewUint128() *Uint128

NewUint128 returns a new Uint128 struct with default value.

func NewUint128FromBigInt

func NewUint128FromBigInt(i *big.Int) (*Uint128, error)

NewUint128FromBigInt returns a new Uint128 struct with given value and have a check.

func NewUint128FromFixedSizeByteSlice

func NewUint128FromFixedSizeByteSlice(bytes []byte) (*Uint128, error)

NewUint128FromFixedSizeByteSlice returns a new Uint128 struct with given fixed size byte slice.

func NewUint128FromFixedSizeBytes

func NewUint128FromFixedSizeBytes(bytes [16]byte) *Uint128

NewUint128FromFixedSizeBytes returns a new Uint128 struct with given fixed size byte array.

func NewUint128FromInt

func NewUint128FromInt(i int64) (*Uint128, error)

NewUint128FromInt returns a new Uint128 struct with given value and have a check.

func NewUint128FromString

func NewUint128FromString(str string) (*Uint128, error)

NewUint128FromString returns a new Uint128 struct with given value and have a check.

func NewUint128FromUint

func NewUint128FromUint(i uint64) *Uint128

NewUint128FromUint returns a new Uint128 with given value

func Uint128Zero

func Uint128Zero() *Uint128

Uint128Zero zero of uint128

func (*Uint128) Add

func (u *Uint128) Add(x *Uint128) (*Uint128, error)

Add returns u + x

func (*Uint128) Bytes

func (u *Uint128) Bytes() []byte

Bytes absolute value of u as a big-endian byte slice.

func (*Uint128) Cmp

func (u *Uint128) Cmp(x *Uint128) int

Cmp compares u and x and returns:

-1 if u <  x
 0 if u == x
+1 if u >  x

func (*Uint128) DeepCopy

func (u *Uint128) DeepCopy() *Uint128

DeepCopy returns a deep copy of u

func (*Uint128) Div

func (u *Uint128) Div(x *Uint128) (*Uint128, error)

Div returns u / x

func (*Uint128) Exp

func (u *Uint128) Exp(x *Uint128) (*Uint128, error)

Exp returns u^x

func (*Uint128) FromFixedSizeByteSlice

func (u *Uint128) FromFixedSizeByteSlice(bytes []byte) (*Uint128, error)

FromFixedSizeByteSlice converts Big-Endian fixed size bytes to Uint128.

func (*Uint128) FromFixedSizeBytes

func (u *Uint128) FromFixedSizeBytes(bytes [16]byte) *Uint128

FromFixedSizeBytes converts Big-Endian fixed size bytes to Uint128.

func (*Uint128) Mul

func (u *Uint128) Mul(x *Uint128) (*Uint128, error)

Mul returns u * x

func (*Uint128) String

func (u *Uint128) String() string

String returns the string representation of x.

func (*Uint128) Sub

func (u *Uint128) Sub(x *Uint128) (*Uint128, error)

Sub returns u - x

func (*Uint128) ToFixedSizeByteSlice

func (u *Uint128) ToFixedSizeByteSlice() ([]byte, error)

ToFixedSizeByteSlice converts Uint128 to Big-Endian fixed size byte slice.

func (*Uint128) ToFixedSizeBytes

func (u *Uint128) ToFixedSizeBytes() ([16]byte, error)

ToFixedSizeBytes converts Uint128 to Big-Endian fixed size bytes.

func (*Uint128) Uint64

func (u *Uint128) Uint64() uint64

Uint64 returns the uint64 representation of x. If x cannot be represented in a uint64, the result is undefined.

func (*Uint128) Validate

func (u *Uint128) Validate() error

Validate returns error if u is not a valid uint128, otherwise returns nil.

Directories

Path Synopsis
encoding
vme
Package math provides integer math utilities.
Package math provides integer math utilities.

Jump to

Keyboard shortcuts

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