types

package
v1.5.1 Latest Latest
Warning

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

Go to latest
Published: Apr 25, 2021 License: MIT Imports: 21 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// AddressPrefix is the prefix of qlc addresses.
	AddressPrefix = "qlc_"
	// AddressSize represents the binary size of a qlc address (a public key).
	AddressSize = ed25519.PublicKeySize

	// AddressLen represents the string length of a qlc address.
	AddressLen = 60
)
View Source
const (
	// BalanceMaxPrecision  balance max precision
	BalanceMaxPrecision = 11
	BalanceSize         = 64
)
View Source
const (
	PovTxVersion                 = 1
	PovMaxTxInSequenceNum uint32 = 0xffffffff
	PovMaxPrevOutIndex    uint32 = 0xffffffff
)
View Source
const (
	AddressExtensionType   = 99
	BalanceExtensionType   = 100
	HashExtensionType      = 101
	SeedExtensionType      = 102
	SignatureExtensionType = 103
	WorkExtensionType      = 104
	AbiExtensionType       = 105
	BigNumExtensionType    = 106
	HexBytesExtensionType  = 107
)
View Source
const (
	ALGO_VERSION_MASK = PovAlgoType(255 << 8)

	ALGO_SHA256D = PovAlgoType(0 << 8)
	ALGO_SCRYPT  = PovAlgoType(1 << 8)
	ALGO_NIST5   = PovAlgoType(2 << 8)
	ALGO_LYRA2Z  = PovAlgoType(3 << 8)
	ALGO_X11     = PovAlgoType(4 << 8)
	ALGO_X16R    = PovAlgoType(5 << 8)
	ALGO_HYBRID  = PovAlgoType(254 << 8)
	ALGO_UNKNOWN = PovAlgoType(255 << 8)
)
View Source
const (
	// version bits scheme
	POV_VBS_TOPBITS = 0x20000000
	POV_VBS_TOPMASK = 0xe0000000
)
View Source
const (
	PovPublishStatusInit     = 0
	PovPublishStatusVerified = 1
)
View Source
const (
	BlockFlagSync uint64 = 1 << iota
)
View Source
const (
	FrontierSize = AddressSize + HashSize
)
View Source
const (
	//HashSize size of hash
	HashSize = blake2b.Size256
)
View Source
const (
	// SeedSize size of the seed
	SeedSize = 32
)
View Source
const (
	//SignatureSize size of signature
	SignatureSize = ed25519.SignatureSize
)
View Source
const (
	//WorkSize work size
	WorkSize = 8
)

Variables

View Source
var (
	// ZeroAddress
	ZeroAddress = Address{}

	// AddressEncoding is a base32 encoding using addressEncodingAlphabet as its
	// alphabet.
	AddressEncoding = base32.NewEncoding(addressEncodingAlphabet)
)
View Source
var (
	ErrBadBlockType = errors.New("bad block type")
	ErrNotABlock    = errors.New("block type is not_a_block")
)
View Source
var (
	PovAuxPowChainID     = 1688
	PovAuxPowHeaderMagic = []byte{0xfa, 0xbe, 'm', 'm'}
)
View Source
var FFFFHash, _ = NewHash("ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff")
View Source
var WorkThreshold = uint64(0xfffffe0000000000)
View Source
var (
	// ZeroBalance zero
	ZeroBalance = Balance{big.NewInt(0)}
)
View Source
var (
	// ZeroBalance zero
	ZeroBenefit = &Benefit{
		Vote:    ZeroBalance,
		Network: ZeroBalance,
		Storage: ZeroBalance,
		Oracle:  ZeroBalance,
		Balance: ZeroBalance,
		Total:   ZeroBalance,
	}
)
View Source
var ZeroHash = Hash{}
View Source
var ZeroSignature = Signature{}

Functions

func BigToCompact added in v1.3.0

func BigToCompact(n *big.Int) uint32

BigToCompact converts a whole number N to a compact representation using an unsigned 32-bit number. The compact representation only provides 23 bits of precision, so values larger than (2^23 - 1) only encode the most significant digits of the number. See CompactToBig for details.

func CalcDifficultyRatio added in v1.3.0

func CalcDifficultyRatio(bits uint32, powLimitBits uint32) float64

CalcDifficultyRatio returns the proof-of-work difficulty as a multiple of the minimum difficulty using the passed bits field from the header of a block.

func CalcDifficultyRatioByBigInt added in v1.3.1

func CalcDifficultyRatioByBigInt(diffInt *big.Int, powLimitInt *big.Int) float64

func CalcWorkBitsToBigInt added in v1.3.0

func CalcWorkBitsToBigInt(bits uint32) *big.Int

CalcWork calculates a work value from difficulty bits. Bitcoin increases the difficulty for generating a block by decreasing the value which the generated hash must be less than. This difficulty target is stored in each block header using a compact representation as described in the documentation for CompactToBig. The main chain is selected by choosing the chain that has the most proof of work (highest difficulty). Since a lower target difficulty value equates to higher actual difficulty, the work value which will be accumulated must be the inverse of the difficulty. Also, in order to avoid potential division by zero and really small floating point numbers, the result adds 1 to the denominator and multiplies the numerator by 2^256.

func CalcWorkIntToBigInt added in v1.3.0

func CalcWorkIntToBigInt(diffNum *big.Int) *big.Int

func CompactToBig added in v1.3.0

func CompactToBig(compact uint32) *big.Int

CompactToBig converts a compact representation of a whole number N to an unsigned 32-bit number. The representation is similar to IEEE754 floating point numbers.

Like IEEE754 floating point, there are three basic components: the sign, the exponent, and the mantissa. They are broken out as follows:

  • the most significant 8 bits represent the unsigned base 256 exponent

  • bit 23 (the 24th bit) represents the sign bit

  • the least significant 23 bits represent the mantissa

    ------------------------------------------------- | Exponent | Sign | Mantissa | ------------------------------------------------- | 8 bits [31-24] | 1 bit [23] | 23 bits [22-00] | -------------------------------------------------

The formula to calculate N is:

N = (-1^sign) * mantissa * 256^(exponent-3)

This compact form is only used in bitcoin to encode unsigned 256-bit numbers which represent difficulty targets, thus there really is not a need for a sign bit, but it is implemented here to stay consistent with bitcoind.

func HashToBig added in v1.3.0

func HashToBig(hash *Hash) *big.Int

HashToBig converts a Hash into a big.Int that can be used to perform math comparisons.

func IsValidHexAddress

func IsValidHexAddress(hexStr string) bool

IsValidHexAddress check Hex address string is valid

func KeypairFromPrivateKey

func KeypairFromPrivateKey(privateKey string) (ed25519.PublicKey, ed25519.PrivateKey)

KeypairFromPrivateKey generate key pair from private key

func KeypairFromSeed

func KeypairFromSeed(seed string, index uint32) (ed25519.PublicKey, ed25519.PrivateKey, error)

KeypairFromSeed generate key pair from seed

Types

type Account

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

func NewAccount

func NewAccount(key ed25519.PrivateKey) *Account

NewAccount creates a new account with the given private key.

func (*Account) Address

func (a *Account) Address() Address

Address returns the public key of this account as an Address type.

func (*Account) DecodeMsg

func (z *Account) DecodeMsg(dc *msgp.Reader) (err error)

DecodeMsg implements msgp.Decodable

func (Account) EncodeMsg

func (z Account) EncodeMsg(en *msgp.Writer) (err error)

EncodeMsg implements msgp.Encodable

func (Account) MarshalMsg

func (z Account) MarshalMsg(b []byte) (o []byte, err error)

MarshalMsg implements msgp.Marshaler

func (Account) Msgsize

func (z Account) Msgsize() (s int)

Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message

func (*Account) PrivateKey added in v0.0.5

func (a *Account) PrivateKey() ed25519.PrivateKey

func (*Account) Sign

func (a *Account) Sign(hash Hash) Signature

func (*Account) SignData added in v1.4.0

func (a *Account) SignData(data []byte) Signature

func (*Account) String added in v0.0.5

func (a *Account) String() string

String implements the fmt.Stringer interface.

func (*Account) UnmarshalMsg

func (z *Account) UnmarshalMsg(bts []byte) (o []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

type AccountMeta

type AccountMeta struct {
	Address     Address      `msg:"account,extension" json:"account"`
	CoinBalance Balance      `msg:"balance,extension" json:"balance"`
	CoinVote    Balance      `msg:"vote,extension" json:"vote"`
	CoinNetwork Balance      `msg:"network,extension" json:"network"`
	CoinStorage Balance      `msg:"storage,extension" json:"storage"`
	CoinOracle  Balance      `msg:"oracle,extension" json:"oracle"`
	Tokens      []*TokenMeta `msg:"tokens" json:"tokens"`
}

func (*AccountMeta) Clone added in v1.3.0

func (am *AccountMeta) Clone() *AccountMeta

func (*AccountMeta) DecodeMsg

func (z *AccountMeta) DecodeMsg(dc *msgp.Reader) (err error)

DecodeMsg implements msgp.Decodable

func (*AccountMeta) Deserialize added in v1.3.0

func (am *AccountMeta) Deserialize(text []byte) error

func (*AccountMeta) EncodeMsg

func (z *AccountMeta) EncodeMsg(en *msgp.Writer) (err error)

EncodeMsg implements msgp.Encodable

func (*AccountMeta) GetBalance added in v1.1.1

func (a *AccountMeta) GetBalance() Balance

func (*AccountMeta) GetNetwork added in v1.1.1

func (a *AccountMeta) GetNetwork() Balance

func (*AccountMeta) GetOracle added in v1.1.1

func (a *AccountMeta) GetOracle() Balance

func (*AccountMeta) GetStorage added in v1.1.1

func (a *AccountMeta) GetStorage() Balance

func (*AccountMeta) GetVote added in v1.1.1

func (a *AccountMeta) GetVote() Balance

func (*AccountMeta) MarshalMsg

func (z *AccountMeta) MarshalMsg(b []byte) (o []byte, err error)

MarshalMsg implements msgp.Marshaler

func (*AccountMeta) Msgsize

func (z *AccountMeta) Msgsize() (s int)

Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message

func (*AccountMeta) Serialize added in v1.3.0

func (am *AccountMeta) Serialize() ([]byte, error)

func (*AccountMeta) String added in v1.3.0

func (am *AccountMeta) String() string

func (*AccountMeta) Token

func (am *AccountMeta) Token(tt Hash) *TokenMeta

Token get token meta by token type hash

func (*AccountMeta) TotalBalance added in v1.1.0

func (a *AccountMeta) TotalBalance() Balance

func (*AccountMeta) UnmarshalMsg

func (z *AccountMeta) UnmarshalMsg(bts []byte) (o []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

func (*AccountMeta) VoteWeight added in v1.1.0

func (a *AccountMeta) VoteWeight() Balance

type Address

type Address [AddressSize]byte

Address of account

func BytesToAddress

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

BytesToAddress convert byte array to Address

func GenerateAddress

func GenerateAddress() (Address, ed25519.PrivateKey, error)

GenerateAddress generate qlc address

func HexToAddress

func HexToAddress(hexStr string) (Address, error)

HexToAddress convert hex address string to Address

func PubToAddress

func PubToAddress(pub ed25519.PublicKey) Address

PubToAddress convert ed25519.PublicKey to Address

func (Address) Bytes

func (addr Address) Bytes() []byte

Bytes get Address byte array

func (Address) Checksum

func (addr Address) Checksum() []byte

Checksum calculates the checksum for this address' public key.

func (*Address) DecodeMsg

func (z *Address) DecodeMsg(dc *msgp.Reader) (err error)

DecodeMsg implements msgp.Decodable

func (*Address) Deserialize added in v1.4.0

func (addr *Address) Deserialize(text []byte) error

func (*Address) EncodeMsg

func (z *Address) EncodeMsg(en *msgp.Writer) (err error)

EncodeMsg implements msgp.Encodable

func (*Address) ExtensionType

func (addr *Address) ExtensionType() int8

ExtensionType implements Extension.ExtensionType interface

func (Address) IsZero

func (addr Address) IsZero() bool

IsZero check address is zero

func (*Address) Len

func (addr *Address) Len() int

ExtensionType implements Extension.Len interface

func (Address) MarshalBinaryTo

func (addr Address) MarshalBinaryTo(text []byte) error

ExtensionType implements Extension.MarshalBinaryTo interface

func (*Address) MarshalMsg

func (z *Address) MarshalMsg(b []byte) (o []byte, err error)

MarshalMsg implements msgp.Marshaler

func (Address) MarshalText

func (addr Address) MarshalText() (text []byte, err error)

MarshalText implements encoding.Textmarshaler

func (*Address) Msgsize

func (z *Address) Msgsize() (s int)

Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message

func (Address) Serialize added in v1.4.0

func (addr Address) Serialize() ([]byte, error)

func (*Address) SetBytes

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

SetBytes new address bytes

func (Address) String

func (addr Address) String() string

String implements the fmt.Stringer interface.

func (*Address) ToHash

func (addr *Address) ToHash() Hash

func (*Address) UnmarshalBinary

func (addr *Address) UnmarshalBinary(text []byte) error

ExtensionType implements Extension.UnmarshalBinary interface

func (*Address) UnmarshalMsg

func (z *Address) UnmarshalMsg(bts []byte) (o []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

func (*Address) UnmarshalText

func (addr *Address) UnmarshalText(text []byte) error

UnmarshalText implements encoding.TextUnmarshaler

func (Address) Verify

func (addr Address) Verify(data []byte, signature []byte) bool

Verify reports whether the given signature is valid for the given data.

type AddressToken added in v1.2.3

type AddressToken struct {
	Address Address
	Token   Hash
}

func (AddressToken) String added in v1.2.3

func (at AddressToken) String() string

type Balance

type Balance struct {
	*big.Int
}

Balance of account

func BytesToBalance

func BytesToBalance(b []byte) Balance

BytesToBalance create balance from byte slice

func NewBalance added in v1.2.3

func NewBalance(x int64) Balance

func NewBalanceFromBigInt added in v1.3.0

func NewBalanceFromBigInt(num *big.Int) Balance

func StringToBalance

func StringToBalance(b string) Balance

StringToBalance create balance from string

func ToBalance added in v1.5.0

func ToBalance(b Balance) *Balance

func (Balance) Add

func (b Balance) Add(n Balance) Balance

Add balances add

func (Balance) Bytes

func (b Balance) Bytes() []byte

Bytes returns the binary representation of this Balance with the given endianness.

func (Balance) Compare

func (b Balance) Compare(n Balance) BalanceComp

Compare two balances

func (Balance) Copy added in v1.3.0

func (b Balance) Copy() Balance

func (Balance) Div added in v0.0.9

func (b Balance) Div(n int64) (Balance, error)

Div balances div

func (Balance) Equal

func (b Balance) Equal(b2 Balance) bool

Equal reports whether this balance and the given balance are equal.

func (*Balance) ExtensionType

func (b *Balance) ExtensionType() int8

ExtensionType implements Extension.ExtensionType interface

func (Balance) IsZero

func (b Balance) IsZero() bool

IsZero check balance is zero

func (*Balance) Len

func (b *Balance) Len() int

ExtensionType implements Extension.Len interface

func (*Balance) MarshalBinaryTo

func (b *Balance) MarshalBinaryTo(text []byte) error

ExtensionType implements Extension.UnmarshalBinary interface

func (Balance) MarshalJSON

func (b Balance) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaler interface.

func (Balance) MarshalText

func (b Balance) MarshalText() ([]byte, error)

MarshalText implements the encoding.TextMarshaler interface.

func (Balance) Mul added in v1.0.1

func (b Balance) Mul(n int64) Balance

Mul balances mul

func (Balance) String added in v1.2.3

func (b Balance) String() string

func (Balance) Sub

func (b Balance) Sub(n Balance) Balance

Sub balances sub

func (*Balance) UnmarshalBinary

func (b *Balance) UnmarshalBinary(text []byte) error

ExtensionType implements Extension.UnmarshalBinary interface

func (*Balance) UnmarshalJSON

func (b *Balance) UnmarshalJSON(text []byte) error

UnmarshalJSON implements the json.Unmarshaler interface.

func (*Balance) UnmarshalText

func (b *Balance) UnmarshalText(text []byte) error

UnmarshalText implements the encoding.TextUnmarshaler interface.

type BalanceComp

type BalanceComp byte

BalanceComp compare

const (
	//BalanceCompEqual equal compare
	BalanceCompEqual BalanceComp = iota
	//BalanceCompBigger bigger compare
	BalanceCompBigger
	//BalanceCompSmaller smaller compare
	BalanceCompSmaller
)

type Benefit added in v1.1.0

type Benefit struct {
	Balance Balance `msg:"balance,extension" json:"balance"`
	Vote    Balance `msg:"vote,extension" json:"vote"`
	Network Balance `msg:"network,extension" json:"network"`
	Storage Balance `msg:"storage,extension" json:"storage"`
	Oracle  Balance `msg:"oracle,extension" json:"oracle"`
	Total   Balance `msg:"total,extension" json:"total"`
}

func (*Benefit) Clone added in v1.4.0

func (b *Benefit) Clone() *Benefit

func (*Benefit) DecodeMsg added in v1.1.0

func (z *Benefit) DecodeMsg(dc *msgp.Reader) (err error)

DecodeMsg implements msgp.Decodable

func (*Benefit) Deserialize added in v1.3.0

func (b *Benefit) Deserialize(text []byte) error

func (*Benefit) EncodeMsg added in v1.1.0

func (z *Benefit) EncodeMsg(en *msgp.Writer) (err error)

EncodeMsg implements msgp.Encodable

func (*Benefit) MarshalMsg added in v1.1.0

func (z *Benefit) MarshalMsg(b []byte) (o []byte, err error)

MarshalMsg implements msgp.Marshaler

func (*Benefit) Msgsize added in v1.1.0

func (z *Benefit) Msgsize() (s int)

Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message

func (*Benefit) Serialize added in v1.3.0

func (b *Benefit) Serialize() ([]byte, error)

func (*Benefit) String added in v1.1.0

func (b *Benefit) String() string

func (*Benefit) UnmarshalMsg added in v1.1.0

func (z *Benefit) UnmarshalMsg(bts []byte) (o []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

type BigNum added in v1.3.0

type BigNum struct {
	big.Int
}

func CalcWorkBitsToBigNum added in v1.3.0

func CalcWorkBitsToBigNum(bits uint32) *BigNum

func CalcWorkIntToBigNum added in v1.3.0

func CalcWorkIntToBigNum(diffNum *big.Int) *BigNum

func NewBigNumFromBigInt added in v1.3.0

func NewBigNumFromBigInt(int *big.Int) *BigNum

func NewBigNumFromInt added in v1.4.0

func NewBigNumFromInt(x int64) *BigNum

func NewBigNumFromUint added in v1.4.0

func NewBigNumFromUint(x uint64) *BigNum

func (*BigNum) Add added in v1.3.0

func (bn *BigNum) Add(x *BigNum, y *BigNum) *BigNum

func (*BigNum) AddBigInt added in v1.3.0

func (bn *BigNum) AddBigInt(x *big.Int, y *big.Int) *BigNum

func (*BigNum) Cmp added in v1.3.0

func (bn *BigNum) Cmp(y *BigNum) int

func (*BigNum) CmpBigInt added in v1.3.0

func (bn *BigNum) CmpBigInt(y *big.Int) int

func (*BigNum) Copy added in v1.3.0

func (bn *BigNum) Copy() *BigNum

func (*BigNum) Div added in v1.4.0

func (bn *BigNum) Div(x *BigNum, y *BigNum) *BigNum

func (*BigNum) DivBigInt added in v1.4.0

func (bn *BigNum) DivBigInt(x *big.Int, y *big.Int) *BigNum

func (*BigNum) ExtensionType added in v1.3.0

func (bn *BigNum) ExtensionType() int8

ExtensionType implements Extension.ExtensionType interface

func (*BigNum) Len added in v1.3.0

func (bn *BigNum) Len() int

ExtensionType implements Extension.Len interface

func (*BigNum) MarshalBinaryTo added in v1.3.0

func (bn *BigNum) MarshalBinaryTo(text []byte) error

ExtensionType implements Extension.UnmarshalBinary interface

func (*BigNum) Mul added in v1.4.0

func (bn *BigNum) Mul(x *BigNum, y *BigNum) *BigNum

func (*BigNum) MulBigInt added in v1.4.0

func (bn *BigNum) MulBigInt(x *big.Int, y *big.Int) *BigNum

func (*BigNum) Sub added in v1.3.0

func (bn *BigNum) Sub(x *BigNum, y *BigNum) *BigNum

func (*BigNum) SubBigInt added in v1.3.0

func (bn *BigNum) SubBigInt(x *big.Int, y *big.Int) *BigNum

func (*BigNum) ToBigInt added in v1.3.0

func (bn *BigNum) ToBigInt() *big.Int

func (*BigNum) UnmarshalBinary added in v1.3.0

func (bn *BigNum) UnmarshalBinary(text []byte) error

ExtensionType implements Extension.UnmarshalBinary interface

type Block

type Block interface {
	Serialize() ([]byte, error)
	Deserialize([]byte) error
	fmt.Stringer
}

func NewBlock

func NewBlock(t BlockType) (Block, error)

type BlockHash added in v1.4.0

type BlockHash struct {
	Id        int64  `db:"id" typ:"integer"`
	Hash      string `db:"hash" typ:"char(64)"`
	Type      string `db:"type"  typ:"varchar(15)"`
	Address   string `db:"address" typ:"char(64)"`
	Timestamp int64  `db:"timestamp" typ:"integer"`
}

func (*BlockHash) DecodeMsg added in v1.5.0

func (z *BlockHash) DecodeMsg(dc *msgp.Reader) (err error)

DecodeMsg implements msgp.Decodable

func (*BlockHash) DeleteKey added in v1.4.0

func (s *BlockHash) DeleteKey() string

func (*BlockHash) EncodeMsg added in v1.5.0

func (z *BlockHash) EncodeMsg(en *msgp.Writer) (err error)

EncodeMsg implements msgp.Encodable

func (*BlockHash) MarshalMsg added in v1.5.0

func (z *BlockHash) MarshalMsg(b []byte) (o []byte, err error)

MarshalMsg implements msgp.Marshaler

func (*BlockHash) Msgsize added in v1.5.0

func (z *BlockHash) Msgsize() (s int)

Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message

func (*BlockHash) UnmarshalMsg added in v1.5.0

func (z *BlockHash) UnmarshalMsg(bts []byte) (o []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

type BlockType

type BlockType byte
const (
	State BlockType = iota
	Send
	Receive
	Change
	Open
	ContractReward
	ContractSend
	ContractRefund
	ContractError
	SmartContract
	Online
	Invalid
)

func BlockTypeFromStr added in v1.4.0

func BlockTypeFromStr(s string) BlockType

func (*BlockType) DecodeMsg

func (z *BlockType) DecodeMsg(dc *msgp.Reader) (err error)

DecodeMsg implements msgp.Decodable

func (BlockType) EncodeMsg

func (z BlockType) EncodeMsg(en *msgp.Writer) (err error)

EncodeMsg implements msgp.Encodable

func (BlockType) Equal added in v0.0.9

func (e BlockType) Equal(t BlockType) bool

func (BlockType) MarshalJSON

func (e BlockType) MarshalJSON() ([]byte, error)

func (BlockType) MarshalMsg

func (z BlockType) MarshalMsg(b []byte) (o []byte, err error)

MarshalMsg implements msgp.Marshaler

func (BlockType) Msgsize

func (z BlockType) Msgsize() (s int)

Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message

func (BlockType) String

func (t BlockType) String() string

func (*BlockType) UnmarshalJSON

func (e *BlockType) UnmarshalJSON(b []byte) error

func (*BlockType) UnmarshalMsg

func (z *BlockType) UnmarshalMsg(bts []byte) (o []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

type ContractAbi

type ContractAbi struct {
	Abi       []byte `msg:"abi" json:"abi"`
	AbiLength uint64 `msg:"abiLength" json:"abiLength"`
	AbiHash   Hash   `msg:"abiHash,extension" json:"abiHash"`
}

func (*ContractAbi) DecodeMsg

func (z *ContractAbi) DecodeMsg(dc *msgp.Reader) (err error)

DecodeMsg implements msgp.Decodable

func (*ContractAbi) EncodeMsg

func (z *ContractAbi) EncodeMsg(en *msgp.Writer) (err error)

EncodeMsg implements msgp.Encodable

func (*ContractAbi) ExtensionType

func (c *ContractAbi) ExtensionType() int8

ExtensionType implements Extension.ExtensionType interface

func (*ContractAbi) Len

func (c *ContractAbi) Len() int

ExtensionType implements Extension.Len interface

func (*ContractAbi) MarshalBinaryTo

func (c *ContractAbi) MarshalBinaryTo(text []byte) error

ExtensionType implements Extension.MarshalBinaryTo interface

func (*ContractAbi) MarshalMsg

func (z *ContractAbi) MarshalMsg(b []byte) (o []byte, err error)

MarshalMsg implements msgp.Marshaler

func (*ContractAbi) Msgsize

func (z *ContractAbi) Msgsize() (s int)

Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message

func (*ContractAbi) UnmarshalBinary

func (c *ContractAbi) UnmarshalBinary(text []byte) error

ExtensionType implements Extension.UnmarshalBinary interface

func (*ContractAbi) UnmarshalMsg

func (z *ContractAbi) UnmarshalMsg(bts []byte) (o []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

type Convert added in v1.4.0

type Convert interface {
	ConvertToSchema() ([]Schema, error)
}

type Frontier

type Frontier struct {
	HeaderBlock Hash `msg:"headerblock,extension" json:"headerblock"`
	OpenBlock   Hash `msg:"openblock,extension" json:"openblock"`
}

func (*Frontier) DecodeMsg

func (z *Frontier) DecodeMsg(dc *msgp.Reader) (err error)

DecodeMsg implements msgp.Decodable

func (*Frontier) Deserialize added in v1.3.0

func (f *Frontier) Deserialize(text []byte) error

func (Frontier) EncodeMsg

func (z Frontier) EncodeMsg(en *msgp.Writer) (err error)

EncodeMsg implements msgp.Encodable

func (*Frontier) IsZero

func (f *Frontier) IsZero() bool

func (Frontier) MarshalMsg

func (z Frontier) MarshalMsg(b []byte) (o []byte, err error)

MarshalMsg implements msgp.Marshaler

func (Frontier) Msgsize

func (z Frontier) Msgsize() (s int)

Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message

func (*Frontier) Serialize added in v1.3.0

func (f *Frontier) Serialize() ([]byte, error)

func (*Frontier) UnmarshalMsg

func (z *Frontier) UnmarshalMsg(bts []byte) (o []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

type FrontierBlock added in v1.3.0

type FrontierBlock struct {
	Fr        *Frontier
	HeaderBlk *StateBlock
}

func (*FrontierBlock) DecodeMsg added in v1.3.0

func (z *FrontierBlock) DecodeMsg(dc *msgp.Reader) (err error)

DecodeMsg implements msgp.Decodable

func (*FrontierBlock) Deserialize added in v1.3.0

func (fb *FrontierBlock) Deserialize(text []byte) error

func (*FrontierBlock) EncodeMsg added in v1.3.0

func (z *FrontierBlock) EncodeMsg(en *msgp.Writer) (err error)

EncodeMsg implements msgp.Encodable

func (*FrontierBlock) MarshalMsg added in v1.3.0

func (z *FrontierBlock) MarshalMsg(b []byte) (o []byte, err error)

MarshalMsg implements msgp.Marshaler

func (*FrontierBlock) Msgsize added in v1.3.0

func (z *FrontierBlock) Msgsize() (s int)

Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message

func (*FrontierBlock) Serialize added in v1.3.0

func (fb *FrontierBlock) Serialize() ([]byte, error)

func (*FrontierBlock) UnmarshalMsg added in v1.3.0

func (z *FrontierBlock) UnmarshalMsg(bts []byte) (o []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

type Frontiers

type Frontiers []*Frontier

func (*Frontiers) DecodeMsg

func (z *Frontiers) DecodeMsg(dc *msgp.Reader) (err error)

DecodeMsg implements msgp.Decodable

func (Frontiers) EncodeMsg

func (z Frontiers) EncodeMsg(en *msgp.Writer) (err error)

EncodeMsg implements msgp.Encodable

func (Frontiers) Len

func (fs Frontiers) Len() int

func (Frontiers) Less

func (fs Frontiers) Less(i, j int) bool

func (Frontiers) MarshalMsg

func (z Frontiers) MarshalMsg(b []byte) (o []byte, err error)

MarshalMsg implements msgp.Marshaler

func (Frontiers) Msgsize

func (z Frontiers) Msgsize() (s int)

Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message

func (Frontiers) Swap

func (fs Frontiers) Swap(i, j int)

func (*Frontiers) UnmarshalMsg

func (z *Frontiers) UnmarshalMsg(bts []byte) (o []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

type GapDoDSettleStateBlockWalkFunc added in v1.4.0

type GapDoDSettleStateBlockWalkFunc func(block *StateBlock, sync SynchronizedKind) error

type GapPovBlockWalkFunc added in v1.3.0

type GapPovBlockWalkFunc func(block *StateBlock, height uint64, sync SynchronizedKind) error

type GapPublishBlockWalkFunc added in v1.4.0

type GapPublishBlockWalkFunc func(block *StateBlock, sync SynchronizedKind) error

type GenericK added in v1.3.0

type GenericK generic.Type

type GenericKey added in v1.3.0

type GenericKey struct {
	Key string
}

func (*GenericKey) Deserialize added in v1.3.0

func (k *GenericKey) Deserialize(text []byte) error

func (*GenericKey) Serialize added in v1.3.0

func (k *GenericKey) Serialize() ([]byte, error)

type GenericKeyC added in v1.4.0

type GenericKeyC struct {
	Key string
}

func (*GenericKeyC) Deserialize added in v1.4.0

func (k *GenericKeyC) Deserialize(text []byte) error

func (*GenericKeyC) Serialize added in v1.4.0

func (k *GenericKeyC) Serialize() ([]byte, error)

type GenericT added in v1.3.0

type GenericT generic.Type

type GenericType added in v1.3.0

type GenericType struct {
	Value string
}

func (*GenericType) Deserialize added in v1.3.0

func (t *GenericType) Deserialize(text []byte) error

func (*GenericType) Serialize added in v1.3.0

func (t *GenericType) Serialize() ([]byte, error)

type GenericTypeC added in v1.4.0

type GenericTypeC struct {
	Value string
}

func (*GenericTypeC) Deserialize added in v1.4.0

func (t *GenericTypeC) Deserialize(text []byte) error

func (*GenericTypeC) Serialize added in v1.4.0

func (t *GenericTypeC) Serialize() ([]byte, error)

type GenesisTokenInfo added in v1.1.0

type GenesisTokenInfo struct {
	TokenId       Hash     `json:"tokenId"`
	TokenName     string   `json:"tokenName"`
	TokenSymbol   string   `json:"tokenSymbol"`
	TotalSupply   *big.Int `json:"totalSupply"`
	Decimals      uint8    `json:"decimals"`
	Owner         Address  `json:"owner"`
	PledgeAmount  *big.Int `json:"pledgeAmount"`
	WithdrawTime  int64    `json:"withdrawTime"`
	PledgeAddress Address  `json:"pledgeAddress"`
}

type Hash

type Hash [HashSize]byte

Hash blake2b hash

func BigToHash added in v1.3.0

func BigToHash(num *big.Int) *Hash

BigToHash converts a big.Int into a Hash.

func BytesToHash added in v0.0.9

func BytesToHash(data []byte) (Hash, error)

func HashBytes

func HashBytes(inputs ...[]byte) (Hash, error)

HashBytes hash data by blake2b

func HashData added in v0.0.9

func HashData(data []byte) Hash

func HybridHashData added in v1.4.0

func HybridHashData(data []byte) Hash

func NewHash

func NewHash(hexStr string) (Hash, error)

func ScryptHashBytes added in v1.3.0

func ScryptHashBytes(inputs ...[]byte) (Hash, error)

func ScryptHashData added in v1.3.0

func ScryptHashData(data []byte) Hash

func Sha256DHashBytes added in v1.3.0

func Sha256DHashBytes(inputs ...[]byte) (Hash, error)

Sha256DHashBytes hash data by sha256

func Sha256DHashData added in v1.3.0

func Sha256DHashData(data []byte) Hash

func Sha256HashData added in v1.4.0

func Sha256HashData(data []byte) (Hash, error)

func ToHash added in v1.5.0

func ToHash(h Hash) *Hash

func X11HashData added in v1.3.0

func X11HashData(data []byte) Hash

func (Hash) Bytes added in v1.2.3

func (h Hash) Bytes() []byte

func (Hash) Cmp added in v1.2.3

func (h Hash) Cmp(h2 Hash) int

func (*Hash) DecodeMsg added in v1.1.0

func (z *Hash) DecodeMsg(dc *msgp.Reader) (err error)

DecodeMsg implements msgp.Decodable

func (*Hash) Deserialize added in v1.4.0

func (h *Hash) Deserialize(text []byte) error

func (*Hash) EncodeMsg added in v1.1.0

func (z *Hash) EncodeMsg(en *msgp.Writer) (err error)

EncodeMsg implements msgp.Encodable

func (*Hash) ExtensionType

func (h *Hash) ExtensionType() int8

ExtensionType implements Extension.ExtensionType interface

func (*Hash) FromBigInt added in v1.3.0

func (h *Hash) FromBigInt(num *big.Int) error

func (*Hash) IsZero

func (h *Hash) IsZero() bool

IsZero check hash is zero

func (*Hash) Len

func (h *Hash) Len() int

ExtensionType implements Extension.Len interface

func (Hash) MarshalBinaryTo

func (h Hash) MarshalBinaryTo(text []byte) error

ExtensionType implements Extension.MarshalBinaryTo interface

func (*Hash) MarshalMsg added in v1.1.0

func (z *Hash) MarshalMsg(b []byte) (o []byte, err error)

MarshalMsg implements msgp.Marshaler

func (Hash) MarshalText

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

MarshalText implements the encoding.TextMarshaler interface.

func (*Hash) Msgsize added in v1.1.0

func (z *Hash) Msgsize() (s int)

Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message

func (*Hash) Of

func (h *Hash) Of(hexString string) error

Of convert hex string to Hash

func (Hash) ReverseByte added in v1.3.0

func (h Hash) ReverseByte() Hash

func (Hash) ReverseEndian added in v1.3.0

func (h Hash) ReverseEndian() Hash

func (*Hash) Serialize added in v1.4.0

func (h *Hash) Serialize() ([]byte, error)

func (Hash) String

func (h Hash) String() string

String implements the fmt.Stringer interface.

func (*Hash) ToBigInt added in v1.3.0

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

func (*Hash) UnmarshalBinary

func (h *Hash) UnmarshalBinary(text []byte) error

ExtensionType implements Extension.UnmarshalBinary interface

func (*Hash) UnmarshalMsg added in v1.1.0

func (z *Hash) UnmarshalMsg(bts []byte) (o []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

func (*Hash) UnmarshalText

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

UnmarshalText implements encoding.TextUnmarshaler

type HexBytes added in v1.3.0

type HexBytes []byte

func NewHexBytesFromData added in v1.3.0

func NewHexBytesFromData(data []byte) HexBytes

func NewHexBytesFromHex added in v1.3.0

func NewHexBytesFromHex(hexStr string) HexBytes

func (HexBytes) Bytes added in v1.3.0

func (hbs HexBytes) Bytes() []byte

func (*HexBytes) DecodeMsg added in v1.4.0

func (z *HexBytes) DecodeMsg(dc *msgp.Reader) (err error)

DecodeMsg implements msgp.Decodable

func (HexBytes) EncodeMsg added in v1.4.0

func (z HexBytes) EncodeMsg(en *msgp.Writer) (err error)

EncodeMsg implements msgp.Encodable

func (HexBytes) ExtensionType added in v1.3.0

func (hbs HexBytes) ExtensionType() int8

ExtensionType implements Extension.ExtensionType interface

func (HexBytes) Len added in v1.3.0

func (hbs HexBytes) Len() int

ExtensionType implements Extension.Len interface

func (HexBytes) MarshalBinaryTo added in v1.3.0

func (hbs HexBytes) MarshalBinaryTo(text []byte) error

ExtensionType implements Extension.MarshalBinaryTo interface

func (HexBytes) MarshalMsg added in v1.4.0

func (z HexBytes) MarshalMsg(b []byte) (o []byte, err error)

MarshalMsg implements msgp.Marshaler

func (HexBytes) MarshalText added in v1.3.0

func (hbs HexBytes) MarshalText() (text []byte, err error)

MarshalText implements the encoding.TextMarshaler interface.

func (HexBytes) Msgsize added in v1.4.0

func (z HexBytes) Msgsize() (s int)

Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message

func (*HexBytes) SetHex added in v1.3.0

func (hbs *HexBytes) SetHex(hexString string) error

func (HexBytes) String added in v1.3.0

func (hbs HexBytes) String() string

func (*HexBytes) UnmarshalBinary added in v1.3.0

func (hbs *HexBytes) UnmarshalBinary(text []byte) error

ExtensionType implements Extension.UnmarshalBinary interface

func (*HexBytes) UnmarshalMsg added in v1.4.0

func (z *HexBytes) UnmarshalMsg(bts []byte) (o []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

func (*HexBytes) UnmarshalText added in v1.3.0

func (hbs *HexBytes) UnmarshalText(text []byte) error

UnmarshalText implements encoding.TextUnmarshaler

type PeerInfo added in v1.3.1

type PeerInfo struct {
	PeerID         string  `json:"peerid"`
	Address        string  `json:"address"`
	Version        string  `json:"version"`
	Rtt            float64 `json:"rtt"`
	LastUpdateTime string  `json:"lastUpdateTime"`
}

func (*PeerInfo) DecodeMsg added in v1.3.1

func (z *PeerInfo) DecodeMsg(dc *msgp.Reader) (err error)

DecodeMsg implements msgp.Decodable

func (*PeerInfo) Deserialize added in v1.3.1

func (p *PeerInfo) Deserialize(text []byte) error

func (*PeerInfo) EncodeMsg added in v1.3.1

func (z *PeerInfo) EncodeMsg(en *msgp.Writer) (err error)

EncodeMsg implements msgp.Encodable

func (*PeerInfo) MarshalMsg added in v1.3.1

func (z *PeerInfo) MarshalMsg(b []byte) (o []byte, err error)

MarshalMsg implements msgp.Marshaler

func (*PeerInfo) Msgsize added in v1.3.1

func (z *PeerInfo) Msgsize() (s int)

Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message

func (*PeerInfo) Serialize added in v1.3.1

func (p *PeerInfo) Serialize() ([]byte, error)

func (*PeerInfo) UnmarshalMsg added in v1.3.1

func (z *PeerInfo) UnmarshalMsg(bts []byte) (o []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

type PendingInfo

type PendingInfo struct {
	Source Address `msg:"source,extension" json:"source"`
	Amount Balance `msg:"amount,extension" json:"amount"`
	Type   Hash    `msg:"type,extension" json:"type"`
}

func (*PendingInfo) DecodeMsg

func (z *PendingInfo) DecodeMsg(dc *msgp.Reader) (err error)

DecodeMsg implements msgp.Decodable

func (*PendingInfo) Deserialize added in v1.3.0

func (pi *PendingInfo) Deserialize(text []byte) error

func (PendingInfo) EncodeMsg

func (z PendingInfo) EncodeMsg(en *msgp.Writer) (err error)

EncodeMsg implements msgp.Encodable

func (PendingInfo) MarshalMsg

func (z PendingInfo) MarshalMsg(b []byte) (o []byte, err error)

MarshalMsg implements msgp.Marshaler

func (PendingInfo) Msgsize

func (z PendingInfo) Msgsize() (s int)

Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message

func (*PendingInfo) Serialize added in v1.3.0

func (pi *PendingInfo) Serialize() ([]byte, error)

func (*PendingInfo) UnmarshalMsg

func (z *PendingInfo) UnmarshalMsg(bts []byte) (o []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

type PendingKey

type PendingKey struct {
	Address Address `msg:"account,extension" json:"account"`
	Hash    Hash    `msg:"hash,extension" json:"hash"`
}

func (*PendingKey) DecodeMsg

func (z *PendingKey) DecodeMsg(dc *msgp.Reader) (err error)

DecodeMsg implements msgp.Decodable

func (*PendingKey) Deserialize added in v1.3.0

func (pk *PendingKey) Deserialize(text []byte) error

func (PendingKey) EncodeMsg

func (z PendingKey) EncodeMsg(en *msgp.Writer) (err error)

EncodeMsg implements msgp.Encodable

func (PendingKey) MarshalMsg

func (z PendingKey) MarshalMsg(b []byte) (o []byte, err error)

MarshalMsg implements msgp.Marshaler

func (PendingKey) Msgsize

func (z PendingKey) Msgsize() (s int)

Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message

func (*PendingKey) Serialize added in v1.3.0

func (pk *PendingKey) Serialize() ([]byte, error)

func (*PendingKey) UnmarshalMsg

func (z *PendingKey) UnmarshalMsg(bts []byte) (o []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

type PendingKind added in v1.2.7

type PendingKind byte
const (
	PendingNotUsed PendingKind = iota
	PendingUsed
)

func (*PendingKind) DecodeMsg added in v1.4.0

func (z *PendingKind) DecodeMsg(dc *msgp.Reader) (err error)

DecodeMsg implements msgp.Decodable

func (PendingKind) EncodeMsg added in v1.4.0

func (z PendingKind) EncodeMsg(en *msgp.Writer) (err error)

EncodeMsg implements msgp.Encodable

func (PendingKind) MarshalMsg added in v1.4.0

func (z PendingKind) MarshalMsg(b []byte) (o []byte, err error)

MarshalMsg implements msgp.Marshaler

func (PendingKind) Msgsize added in v1.4.0

func (z PendingKind) Msgsize() (s int)

Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message

func (*PendingKind) UnmarshalMsg added in v1.4.0

func (z *PendingKind) UnmarshalMsg(bts []byte) (o []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

type PovAccountState added in v1.2.3

type PovAccountState struct {
	Account     Address          `msg:"a,extension" json:"account"`
	Balance     Balance          `msg:"b,extension" json:"balance"`
	Vote        Balance          `msg:"v,extension" json:"vote"`
	Network     Balance          `msg:"n,extension" json:"network"`
	Storage     Balance          `msg:"s,extension" json:"storage"`
	Oracle      Balance          `msg:"o,extension" json:"oracle"`
	TokenStates []*PovTokenState `msg:"ts" json:"tokenStates"`
}

func NewPovAccountState added in v1.2.3

func NewPovAccountState() *PovAccountState

func (*PovAccountState) Clone added in v1.2.3

func (as *PovAccountState) Clone() *PovAccountState

func (*PovAccountState) DecodeMsg added in v1.2.3

func (z *PovAccountState) DecodeMsg(dc *msgp.Reader) (err error)

DecodeMsg implements msgp.Decodable

func (*PovAccountState) Deserialize added in v1.2.3

func (as *PovAccountState) Deserialize(text []byte) error

func (*PovAccountState) EncodeMsg added in v1.2.3

func (z *PovAccountState) EncodeMsg(en *msgp.Writer) (err error)

EncodeMsg implements msgp.Encodable

func (*PovAccountState) GetTokenState added in v1.2.3

func (as *PovAccountState) GetTokenState(tokenType Hash) *PovTokenState

func (*PovAccountState) MarshalMsg added in v1.2.3

func (z *PovAccountState) MarshalMsg(b []byte) (o []byte, err error)

MarshalMsg implements msgp.Marshaler

func (*PovAccountState) Msgsize added in v1.2.3

func (z *PovAccountState) Msgsize() (s int)

Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message

func (*PovAccountState) Serialize added in v1.2.3

func (as *PovAccountState) Serialize() ([]byte, error)

func (*PovAccountState) String added in v1.2.3

func (as *PovAccountState) String() string

func (*PovAccountState) TotalBalance added in v1.2.3

func (as *PovAccountState) TotalBalance() Balance

func (*PovAccountState) UnmarshalMsg added in v1.2.3

func (z *PovAccountState) UnmarshalMsg(bts []byte) (o []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

type PovAlgoType added in v1.3.0

type PovAlgoType uint32

func NewPoVHashAlgoFromStr added in v1.3.0

func NewPoVHashAlgoFromStr(name string) PovAlgoType

func (PovAlgoType) String added in v1.3.0

func (a PovAlgoType) String() string

type PovAuxHeader added in v1.3.0

type PovAuxHeader struct {
	AuxMerkleBranch   []*Hash      `msg:"amb" json:"auxMerkleBranch"`
	AuxMerkleIndex    int          `msg:"ami" json:"auxMerkleIndex"`
	ParCoinBaseTx     PovBtcTx     `msg:"pcbtx" json:"parCoinBaseTx"`
	ParCoinBaseMerkle []*Hash      `msg:"pcbm,extension" json:"parCoinBaseMerkle"`
	ParMerkleIndex    int          `msg:"pmi" json:"parMerkleIndex"`
	ParBlockHeader    PovBtcHeader `msg:"pbh" json:"parBlockHeader"`
	ParentHash        Hash         `msg:"ph,extension" json:"parentHash"`
}

func NewPovAuxHeader added in v1.3.0

func NewPovAuxHeader() *PovAuxHeader

func (*PovAuxHeader) ComputePowHash added in v1.3.0

func (ah *PovAuxHeader) ComputePowHash(algo PovAlgoType) Hash

func (*PovAuxHeader) DecodeMsg added in v1.3.0

func (z *PovAuxHeader) DecodeMsg(dc *msgp.Reader) (err error)

DecodeMsg implements msgp.Decodable

func (*PovAuxHeader) Deserialize added in v1.3.0

func (ah *PovAuxHeader) Deserialize(text []byte) error

func (*PovAuxHeader) EncodeMsg added in v1.3.0

func (z *PovAuxHeader) EncodeMsg(en *msgp.Writer) (err error)

EncodeMsg implements msgp.Encodable

func (*PovAuxHeader) MarshalMsg added in v1.3.0

func (z *PovAuxHeader) MarshalMsg(b []byte) (o []byte, err error)

MarshalMsg implements msgp.Marshaler

func (*PovAuxHeader) Msgsize added in v1.3.0

func (z *PovAuxHeader) Msgsize() (s int)

Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message

func (*PovAuxHeader) Serialize added in v1.3.0

func (ah *PovAuxHeader) Serialize() ([]byte, error)

func (*PovAuxHeader) UnmarshalMsg added in v1.3.0

func (z *PovAuxHeader) UnmarshalMsg(bts []byte) (o []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

type PovBaseHeader added in v1.3.0

type PovBaseHeader struct {
	Version    uint32 `msg:"v" json:"version"`
	Previous   Hash   `msg:"p,extension" json:"previous"`
	MerkleRoot Hash   `msg:"mr,extension" json:"merkleRoot"`
	Timestamp  uint32 `msg:"ts" json:"timestamp"`
	Bits       uint32 `msg:"b" json:"bits"` // algo bits
	Nonce      uint32 `msg:"n" json:"nonce"`

	// just for internal use
	Hash   Hash   `msg:"ha,extension" json:"hash"`
	Height uint64 `msg:"he" json:"height"`

	// just for cache use
	NormBits      uint32   `msg:"-" json:"-"` // normalized bits
	NormTargetInt *big.Int `msg:"-" json:"-"` // normalized target big int
	AlgoTargetInt *big.Int `msg:"-" json:"-"` //
}

func (*PovBaseHeader) DecodeMsg added in v1.3.0

func (z *PovBaseHeader) DecodeMsg(dc *msgp.Reader) (err error)

DecodeMsg implements msgp.Decodable

func (*PovBaseHeader) Deserialize added in v1.3.0

func (bh *PovBaseHeader) Deserialize(text []byte) error

func (*PovBaseHeader) EncodeMsg added in v1.3.0

func (z *PovBaseHeader) EncodeMsg(en *msgp.Writer) (err error)

EncodeMsg implements msgp.Encodable

func (*PovBaseHeader) MarshalMsg added in v1.3.0

func (z *PovBaseHeader) MarshalMsg(b []byte) (o []byte, err error)

MarshalMsg implements msgp.Marshaler

func (*PovBaseHeader) Msgsize added in v1.3.0

func (z *PovBaseHeader) Msgsize() (s int)

Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message

func (*PovBaseHeader) Serialize added in v1.3.0

func (bh *PovBaseHeader) Serialize() ([]byte, error)

func (*PovBaseHeader) UnmarshalMsg added in v1.3.0

func (z *PovBaseHeader) UnmarshalMsg(bts []byte) (o []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

type PovBlock added in v1.2.3

type PovBlock struct {
	Header PovHeader `msg:"h" json:"header"`
	Body   PovBody   `msg:"b" json:"body"`
}

func NewPovBlock added in v1.3.0

func NewPovBlock() *PovBlock

func NewPovBlockWithBody added in v1.2.3

func NewPovBlockWithBody(header *PovHeader, body *PovBody) *PovBlock

func (*PovBlock) Clone added in v1.2.3

func (blk *PovBlock) Clone() *PovBlock

func (*PovBlock) ComputeHash added in v1.2.3

func (blk *PovBlock) ComputeHash() Hash

func (*PovBlock) Copy added in v1.3.0

func (blk *PovBlock) Copy() *PovBlock

func (*PovBlock) DecodeMsg added in v1.2.3

func (z *PovBlock) DecodeMsg(dc *msgp.Reader) (err error)

DecodeMsg implements msgp.Decodable

func (*PovBlock) Deserialize added in v1.2.3

func (blk *PovBlock) Deserialize(text []byte) error

func (*PovBlock) EncodeMsg added in v1.2.3

func (z *PovBlock) EncodeMsg(en *msgp.Writer) (err error)

EncodeMsg implements msgp.Encodable

func (*PovBlock) GetAccountTxs added in v1.3.0

func (blk *PovBlock) GetAccountTxs() []*PovTransaction

func (*PovBlock) GetAlgoEfficiency added in v1.3.0

func (blk *PovBlock) GetAlgoEfficiency() uint

func (*PovBlock) GetAlgoType added in v1.3.0

func (blk *PovBlock) GetAlgoType() PovAlgoType

func (*PovBlock) GetAllTxs added in v1.3.0

func (blk *PovBlock) GetAllTxs() []*PovTransaction

func (*PovBlock) GetBits added in v1.3.0

func (blk *PovBlock) GetBits() uint32

func (*PovBlock) GetBody added in v1.2.3

func (blk *PovBlock) GetBody() *PovBody

func (*PovBlock) GetCoinBaseTx added in v1.3.0

func (blk *PovBlock) GetCoinBaseTx() *PovTransaction

func (*PovBlock) GetHash added in v1.2.3

func (blk *PovBlock) GetHash() Hash

func (*PovBlock) GetHeader added in v1.2.3

func (blk *PovBlock) GetHeader() *PovHeader

func (*PovBlock) GetHeight added in v1.2.3

func (blk *PovBlock) GetHeight() uint64

func (*PovBlock) GetMerkleRoot added in v1.2.3

func (blk *PovBlock) GetMerkleRoot() Hash

func (*PovBlock) GetMinerAddr added in v1.3.0

func (blk *PovBlock) GetMinerAddr() Address

func (*PovBlock) GetPrevious added in v1.2.3

func (blk *PovBlock) GetPrevious() Hash

func (*PovBlock) GetStateHash added in v1.2.3

func (blk *PovBlock) GetStateHash() Hash

func (*PovBlock) GetTimestamp added in v1.2.3

func (blk *PovBlock) GetTimestamp() uint32

func (*PovBlock) GetTxByIndex added in v1.3.0

func (blk *PovBlock) GetTxByIndex(index int) *PovTransaction

func (*PovBlock) GetTxNum added in v1.2.3

func (blk *PovBlock) GetTxNum() uint32

func (*PovBlock) GetVersion added in v1.3.0

func (blk *PovBlock) GetVersion() uint32

func (*PovBlock) MarshalMsg added in v1.2.3

func (z *PovBlock) MarshalMsg(b []byte) (o []byte, err error)

MarshalMsg implements msgp.Marshaler

func (*PovBlock) Msgsize added in v1.2.3

func (z *PovBlock) Msgsize() (s int)

Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message

func (*PovBlock) Serialize added in v1.2.3

func (blk *PovBlock) Serialize() ([]byte, error)

func (*PovBlock) String added in v1.2.3

func (blk *PovBlock) String() string

func (*PovBlock) UnmarshalMsg added in v1.2.3

func (z *PovBlock) UnmarshalMsg(bts []byte) (o []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

type PovBlockFrom added in v1.2.3

type PovBlockFrom uint16
const (
	PovBlockFromUnkonwn PovBlockFrom = iota
	PovBlockFromLocal
	PovBlockFromRemoteBroadcast
	PovBlockFromRemoteFetch
	PovBlockFromRemoteSync
)

func (*PovBlockFrom) DecodeMsg added in v1.2.3

func (z *PovBlockFrom) DecodeMsg(dc *msgp.Reader) (err error)

DecodeMsg implements msgp.Decodable

func (PovBlockFrom) EncodeMsg added in v1.2.3

func (z PovBlockFrom) EncodeMsg(en *msgp.Writer) (err error)

EncodeMsg implements msgp.Encodable

func (PovBlockFrom) MarshalMsg added in v1.2.3

func (z PovBlockFrom) MarshalMsg(b []byte) (o []byte, err error)

MarshalMsg implements msgp.Marshaler

func (PovBlockFrom) Msgsize added in v1.2.3

func (z PovBlockFrom) Msgsize() (s int)

Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message

func (*PovBlockFrom) UnmarshalMsg added in v1.2.3

func (z *PovBlockFrom) UnmarshalMsg(bts []byte) (o []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

type PovBlocks added in v1.2.3

type PovBlocks []*PovBlock

func (*PovBlocks) DecodeMsg added in v1.2.3

func (z *PovBlocks) DecodeMsg(dc *msgp.Reader) (err error)

DecodeMsg implements msgp.Decodable

func (*PovBlocks) Deserialize added in v1.2.3

func (bs *PovBlocks) Deserialize(text []byte) error

func (PovBlocks) EncodeMsg added in v1.2.3

func (z PovBlocks) EncodeMsg(en *msgp.Writer) (err error)

EncodeMsg implements msgp.Encodable

func (PovBlocks) MarshalMsg added in v1.2.3

func (z PovBlocks) MarshalMsg(b []byte) (o []byte, err error)

MarshalMsg implements msgp.Marshaler

func (PovBlocks) Msgsize added in v1.2.3

func (z PovBlocks) Msgsize() (s int)

Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message

func (*PovBlocks) Serialize added in v1.2.3

func (bs *PovBlocks) Serialize() ([]byte, error)

func (*PovBlocks) UnmarshalMsg added in v1.2.3

func (z *PovBlocks) UnmarshalMsg(bts []byte) (o []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

type PovBody added in v1.2.3

type PovBody struct {
	Txs []*PovTransaction `msg:"txs" json:"txs"`
}

func NewPovBody added in v1.3.0

func NewPovBody() *PovBody

func (*PovBody) Copy added in v1.3.0

func (b *PovBody) Copy() *PovBody

func (*PovBody) DecodeMsg added in v1.2.3

func (z *PovBody) DecodeMsg(dc *msgp.Reader) (err error)

DecodeMsg implements msgp.Decodable

func (*PovBody) Deserialize added in v1.2.3

func (b *PovBody) Deserialize(text []byte) error

func (*PovBody) EncodeMsg added in v1.2.3

func (z *PovBody) EncodeMsg(en *msgp.Writer) (err error)

EncodeMsg implements msgp.Encodable

func (*PovBody) MarshalMsg added in v1.2.3

func (z *PovBody) MarshalMsg(b []byte) (o []byte, err error)

MarshalMsg implements msgp.Marshaler

func (*PovBody) Msgsize added in v1.2.3

func (z *PovBody) Msgsize() (s int)

Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message

func (*PovBody) Serialize added in v1.2.3

func (b *PovBody) Serialize() ([]byte, error)

func (*PovBody) UnmarshalMsg added in v1.2.3

func (z *PovBody) UnmarshalMsg(bts []byte) (o []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

type PovBtcHeader added in v1.3.0

type PovBtcHeader struct {
	Version    uint32 `msg:"v" json:"version"`
	Previous   Hash   `msg:"p,extension" json:"previous"`
	MerkleRoot Hash   `msg:"mr,extension" json:"merkleRoot"`
	Timestamp  uint32 `msg:"ts" json:"timestamp"`
	Bits       uint32 `msg:"b" json:"bits"`
	Nonce      uint32 `msg:"n" json:"nonce"`
}

func (*PovBtcHeader) BuildHashData added in v1.3.0

func (h *PovBtcHeader) BuildHashData() []byte

func (*PovBtcHeader) ComputeHash added in v1.3.0

func (h *PovBtcHeader) ComputeHash() Hash

func (*PovBtcHeader) ComputePowHash added in v1.3.0

func (h *PovBtcHeader) ComputePowHash(algo PovAlgoType) Hash

func (*PovBtcHeader) DecodeMsg added in v1.3.0

func (z *PovBtcHeader) DecodeMsg(dc *msgp.Reader) (err error)

DecodeMsg implements msgp.Decodable

func (*PovBtcHeader) Deserialize added in v1.3.0

func (h *PovBtcHeader) Deserialize(text []byte) error

func (*PovBtcHeader) EncodeMsg added in v1.3.0

func (z *PovBtcHeader) EncodeMsg(en *msgp.Writer) (err error)

EncodeMsg implements msgp.Encodable

func (*PovBtcHeader) MarshalMsg added in v1.3.0

func (z *PovBtcHeader) MarshalMsg(b []byte) (o []byte, err error)

MarshalMsg implements msgp.Marshaler

func (*PovBtcHeader) Msgsize added in v1.3.0

func (z *PovBtcHeader) Msgsize() (s int)

Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message

func (*PovBtcHeader) Serialize added in v1.3.0

func (h *PovBtcHeader) Serialize() ([]byte, error)

func (*PovBtcHeader) UnmarshalMsg added in v1.3.0

func (z *PovBtcHeader) UnmarshalMsg(bts []byte) (o []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

type PovBtcOutPoint added in v1.3.0

type PovBtcOutPoint struct {
	Hash  Hash   `msg:"h,extension" json:"hash"`
	Index uint32 `msg:"i" json:"index"`
}

func (*PovBtcOutPoint) DecodeMsg added in v1.3.0

func (z *PovBtcOutPoint) DecodeMsg(dc *msgp.Reader) (err error)

DecodeMsg implements msgp.Decodable

func (*PovBtcOutPoint) Deserialize added in v1.3.0

func (p *PovBtcOutPoint) Deserialize(text []byte) error

func (PovBtcOutPoint) EncodeMsg added in v1.3.0

func (z PovBtcOutPoint) EncodeMsg(en *msgp.Writer) (err error)

EncodeMsg implements msgp.Encodable

func (PovBtcOutPoint) MarshalMsg added in v1.3.0

func (z PovBtcOutPoint) MarshalMsg(b []byte) (o []byte, err error)

MarshalMsg implements msgp.Marshaler

func (PovBtcOutPoint) Msgsize added in v1.3.0

func (z PovBtcOutPoint) Msgsize() (s int)

Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message

func (*PovBtcOutPoint) Serialize added in v1.3.0

func (p *PovBtcOutPoint) Serialize() ([]byte, error)

func (*PovBtcOutPoint) UnmarshalMsg added in v1.3.0

func (z *PovBtcOutPoint) UnmarshalMsg(bts []byte) (o []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

type PovBtcTx added in v1.3.0

type PovBtcTx struct {
	Version  int32          `msg:"v" json:"version"`
	TxIn     []*PovBtcTxIn  `msg:"ti" json:"txIn"`
	TxOut    []*PovBtcTxOut `msg:"to" json:"txOut"`
	LockTime uint32         `msg:"lt" json:"lockTime"`
}

func NewPovBtcTx added in v1.3.0

func NewPovBtcTx(txIn []*PovBtcTxIn, txOut []*PovBtcTxOut) *PovBtcTx

func (*PovBtcTx) BuildHashData added in v1.3.0

func (tx *PovBtcTx) BuildHashData() []byte

func (*PovBtcTx) ComputeHash added in v1.3.0

func (tx *PovBtcTx) ComputeHash() Hash

func (*PovBtcTx) DecodeMsg added in v1.3.0

func (z *PovBtcTx) DecodeMsg(dc *msgp.Reader) (err error)

DecodeMsg implements msgp.Decodable

func (*PovBtcTx) Deserialize added in v1.3.0

func (tx *PovBtcTx) Deserialize(text []byte) error

func (*PovBtcTx) EncodeMsg added in v1.3.0

func (z *PovBtcTx) EncodeMsg(en *msgp.Writer) (err error)

EncodeMsg implements msgp.Encodable

func (*PovBtcTx) MarshalMsg added in v1.3.0

func (z *PovBtcTx) MarshalMsg(b []byte) (o []byte, err error)

MarshalMsg implements msgp.Marshaler

func (*PovBtcTx) Msgsize added in v1.3.0

func (z *PovBtcTx) Msgsize() (s int)

Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message

func (*PovBtcTx) Serialize added in v1.3.0

func (tx *PovBtcTx) Serialize() ([]byte, error)

func (*PovBtcTx) UnmarshalMsg added in v1.3.0

func (z *PovBtcTx) UnmarshalMsg(bts []byte) (o []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

type PovBtcTxIn added in v1.3.0

type PovBtcTxIn struct {
	PreviousOutPoint PovBtcOutPoint `msg:"pop" json:"previousOutPoint"`
	SignatureScript  []byte         `msg:"ss" json:"signatureScript"`
	Sequence         uint32         `msg:"s" json:"sequence"`
}

func (*PovBtcTxIn) BuildHashData added in v1.3.0

func (ti *PovBtcTxIn) BuildHashData() []byte

func (*PovBtcTxIn) DecodeMsg added in v1.3.0

func (z *PovBtcTxIn) DecodeMsg(dc *msgp.Reader) (err error)

DecodeMsg implements msgp.Decodable

func (*PovBtcTxIn) Deserialize added in v1.3.0

func (ti *PovBtcTxIn) Deserialize(text []byte) error

func (*PovBtcTxIn) EncodeMsg added in v1.3.0

func (z *PovBtcTxIn) EncodeMsg(en *msgp.Writer) (err error)

EncodeMsg implements msgp.Encodable

func (*PovBtcTxIn) MarshalMsg added in v1.3.0

func (z *PovBtcTxIn) MarshalMsg(b []byte) (o []byte, err error)

MarshalMsg implements msgp.Marshaler

func (*PovBtcTxIn) Msgsize added in v1.3.0

func (z *PovBtcTxIn) Msgsize() (s int)

Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message

func (*PovBtcTxIn) Serialize added in v1.3.0

func (ti *PovBtcTxIn) Serialize() ([]byte, error)

func (*PovBtcTxIn) UnmarshalMsg added in v1.3.0

func (z *PovBtcTxIn) UnmarshalMsg(bts []byte) (o []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

type PovBtcTxOut added in v1.3.0

type PovBtcTxOut struct {
	Value    int64  `msg:"v" json:"value"`
	PkScript []byte `msg:"pks" json:"pkScript"`
}

func (*PovBtcTxOut) BuildHashData added in v1.3.0

func (to *PovBtcTxOut) BuildHashData() []byte

func (*PovBtcTxOut) DecodeMsg added in v1.3.0

func (z *PovBtcTxOut) DecodeMsg(dc *msgp.Reader) (err error)

DecodeMsg implements msgp.Decodable

func (*PovBtcTxOut) Deserialize added in v1.3.0

func (to *PovBtcTxOut) Deserialize(text []byte) error

func (*PovBtcTxOut) EncodeMsg added in v1.3.0

func (z *PovBtcTxOut) EncodeMsg(en *msgp.Writer) (err error)

EncodeMsg implements msgp.Encodable

func (*PovBtcTxOut) MarshalMsg added in v1.3.0

func (z *PovBtcTxOut) MarshalMsg(b []byte) (o []byte, err error)

MarshalMsg implements msgp.Marshaler

func (*PovBtcTxOut) Msgsize added in v1.3.0

func (z *PovBtcTxOut) Msgsize() (s int)

Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message

func (*PovBtcTxOut) Serialize added in v1.3.0

func (to *PovBtcTxOut) Serialize() ([]byte, error)

func (*PovBtcTxOut) UnmarshalMsg added in v1.3.0

func (z *PovBtcTxOut) UnmarshalMsg(bts []byte) (o []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

type PovCoinBaseTx added in v1.3.0

type PovCoinBaseTx struct {
	Version uint32 `msg:"v" json:"version"`

	// TxIn like BTC's PreviousOutPoint
	TxIns []*PovCoinBaseTxIn `msg:"tis" json:"txIns"`

	// TxOut like BTC
	TxOuts []*PovCoinBaseTxOut `msg:"tos" json:"txOuts"`

	StateHash Hash   `msg:"sh,extension" json:"stateHash"`
	TxNum     uint32 `msg:"tn" json:"txNum"`

	// just for internal use
	Hash Hash `msg:"h,extension" json:"hash"`
}

func NewPovCoinBaseTx added in v1.3.0

func NewPovCoinBaseTx(txInNum int, txOutNum int) *PovCoinBaseTx

func (*PovCoinBaseTx) BuildHashData added in v1.3.0

func (cbtx *PovCoinBaseTx) BuildHashData() []byte

func (*PovCoinBaseTx) ComputeHash added in v1.3.0

func (cbtx *PovCoinBaseTx) ComputeHash() Hash

func (*PovCoinBaseTx) Copy added in v1.3.0

func (cbtx *PovCoinBaseTx) Copy() *PovCoinBaseTx

func (*PovCoinBaseTx) DecodeMsg added in v1.3.0

func (z *PovCoinBaseTx) DecodeMsg(dc *msgp.Reader) (err error)

DecodeMsg implements msgp.Decodable

func (*PovCoinBaseTx) Deserialize added in v1.3.0

func (cbtx *PovCoinBaseTx) Deserialize(text []byte) error

func (*PovCoinBaseTx) EncodeMsg added in v1.3.0

func (z *PovCoinBaseTx) EncodeMsg(en *msgp.Writer) (err error)

EncodeMsg implements msgp.Encodable

func (*PovCoinBaseTx) GetCoinBaseData1 added in v1.3.0

func (cbtx *PovCoinBaseTx) GetCoinBaseData1() []byte

func (*PovCoinBaseTx) GetCoinBaseData2 added in v1.3.0

func (cbtx *PovCoinBaseTx) GetCoinBaseData2() []byte

func (*PovCoinBaseTx) GetHash added in v1.3.0

func (cbtx *PovCoinBaseTx) GetHash() Hash

func (*PovCoinBaseTx) GetMinerTxOut added in v1.3.0

func (cbtx *PovCoinBaseTx) GetMinerTxOut() *PovCoinBaseTxOut

func (*PovCoinBaseTx) GetRepTxOut added in v1.3.0

func (cbtx *PovCoinBaseTx) GetRepTxOut() *PovCoinBaseTxOut

func (*PovCoinBaseTx) MarshalMsg added in v1.3.0

func (z *PovCoinBaseTx) MarshalMsg(b []byte) (o []byte, err error)

MarshalMsg implements msgp.Marshaler

func (*PovCoinBaseTx) Msgsize added in v1.3.0

func (z *PovCoinBaseTx) Msgsize() (s int)

Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message

func (*PovCoinBaseTx) Serialize added in v1.3.0

func (cbtx *PovCoinBaseTx) Serialize() ([]byte, error)

func (*PovCoinBaseTx) UnmarshalMsg added in v1.3.0

func (z *PovCoinBaseTx) UnmarshalMsg(bts []byte) (o []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

type PovCoinBaseTxIn added in v1.3.0

type PovCoinBaseTxIn struct {
	PrevTxHash Hash     `msg:"pth,extension" json:"prevTxHash"`
	PrevTxIdx  uint32   `msg:"pti" json:"prevTxIdx"`
	Extra      HexBytes `msg:"ext,extension" json:"extra"` // like BTC's script, filled by miner, 0 ~ 100
	Sequence   uint32   `msg:"seq" json:"sequence"`
}

func (*PovCoinBaseTxIn) Copy added in v1.3.0

func (ti *PovCoinBaseTxIn) Copy() *PovCoinBaseTxIn

func (*PovCoinBaseTxIn) DecodeMsg added in v1.3.0

func (z *PovCoinBaseTxIn) DecodeMsg(dc *msgp.Reader) (err error)

DecodeMsg implements msgp.Decodable

func (*PovCoinBaseTxIn) Deserialize added in v1.3.0

func (ti *PovCoinBaseTxIn) Deserialize(text []byte) error

func (*PovCoinBaseTxIn) EncodeMsg added in v1.3.0

func (z *PovCoinBaseTxIn) EncodeMsg(en *msgp.Writer) (err error)

EncodeMsg implements msgp.Encodable

func (*PovCoinBaseTxIn) MarshalMsg added in v1.3.0

func (z *PovCoinBaseTxIn) MarshalMsg(b []byte) (o []byte, err error)

MarshalMsg implements msgp.Marshaler

func (*PovCoinBaseTxIn) Msgsize added in v1.3.0

func (z *PovCoinBaseTxIn) Msgsize() (s int)

Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message

func (*PovCoinBaseTxIn) Serialize added in v1.3.0

func (ti *PovCoinBaseTxIn) Serialize() ([]byte, error)

func (*PovCoinBaseTxIn) UnmarshalMsg added in v1.3.0

func (z *PovCoinBaseTxIn) UnmarshalMsg(bts []byte) (o []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

type PovCoinBaseTxOut added in v1.3.0

type PovCoinBaseTxOut struct {
	Value   Balance `msg:"v,extension" json:"value"`
	Address Address `msg:"a,extension" json:"address"`
}

func (*PovCoinBaseTxOut) Copy added in v1.3.0

func (to *PovCoinBaseTxOut) Copy() *PovCoinBaseTxOut

func (*PovCoinBaseTxOut) DecodeMsg added in v1.3.0

func (z *PovCoinBaseTxOut) DecodeMsg(dc *msgp.Reader) (err error)

DecodeMsg implements msgp.Decodable

func (*PovCoinBaseTxOut) Deserialize added in v1.3.0

func (to *PovCoinBaseTxOut) Deserialize(text []byte) error

func (PovCoinBaseTxOut) EncodeMsg added in v1.3.0

func (z PovCoinBaseTxOut) EncodeMsg(en *msgp.Writer) (err error)

EncodeMsg implements msgp.Encodable

func (PovCoinBaseTxOut) MarshalMsg added in v1.3.0

func (z PovCoinBaseTxOut) MarshalMsg(b []byte) (o []byte, err error)

MarshalMsg implements msgp.Marshaler

func (PovCoinBaseTxOut) Msgsize added in v1.3.0

func (z PovCoinBaseTxOut) Msgsize() (s int)

Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message

func (*PovCoinBaseTxOut) Serialize added in v1.3.0

func (to *PovCoinBaseTxOut) Serialize() ([]byte, error)

func (*PovCoinBaseTxOut) UnmarshalMsg added in v1.3.0

func (z *PovCoinBaseTxOut) UnmarshalMsg(bts []byte) (o []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

type PovContractState added in v1.4.0

type PovContractState struct {
	StateHash Hash `msg:"sh,extension" json:"stateHash"`
	CodeHash  Hash `msg:"ch,extension" json:"codeHash"`
}

Common Contract State, key value in trie for each contract key = contract address

func NewPovContractState added in v1.4.0

func NewPovContractState() *PovContractState

func (*PovContractState) DecodeMsg added in v1.4.0

func (z *PovContractState) DecodeMsg(dc *msgp.Reader) (err error)

DecodeMsg implements msgp.Decodable

func (*PovContractState) Deserialize added in v1.4.0

func (cs *PovContractState) Deserialize(text []byte) error

func (PovContractState) EncodeMsg added in v1.4.0

func (z PovContractState) EncodeMsg(en *msgp.Writer) (err error)

EncodeMsg implements msgp.Encodable

func (PovContractState) MarshalMsg added in v1.4.0

func (z PovContractState) MarshalMsg(b []byte) (o []byte, err error)

MarshalMsg implements msgp.Marshaler

func (PovContractState) Msgsize added in v1.4.0

func (z PovContractState) Msgsize() (s int)

Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message

func (*PovContractState) Serialize added in v1.4.0

func (cs *PovContractState) Serialize() ([]byte, error)

func (*PovContractState) UnmarshalMsg added in v1.4.0

func (z *PovContractState) UnmarshalMsg(bts []byte) (o []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

type PovDiffDayStat added in v1.3.1

type PovDiffDayStat struct {
	DayIndex     uint32 `msg:"di" json:"dayIndex"`
	AvgDiffRatio uint64 `msg:"avgdr" json:"avgDiffRatio"`
	MaxDiffRatio uint64 `msg:"maxdr" json:"maxDiffRatio"`
	MinDiffRatio uint64 `msg:"mindr" json:"minDiffRatio"`
	MaxBlockTime uint32 `msg:"maxbt" json:"maxBlockTime"`
	MinBlockTime uint32 `msg:"minbt" json:"minBlockTime"`
}

func NewPovDiffDayStat added in v1.3.1

func NewPovDiffDayStat() *PovDiffDayStat

func (*PovDiffDayStat) DecodeMsg added in v1.3.1

func (z *PovDiffDayStat) DecodeMsg(dc *msgp.Reader) (err error)

DecodeMsg implements msgp.Decodable

func (*PovDiffDayStat) Deserialize added in v1.3.1

func (ds *PovDiffDayStat) Deserialize(text []byte) error

func (*PovDiffDayStat) EncodeMsg added in v1.3.1

func (z *PovDiffDayStat) EncodeMsg(en *msgp.Writer) (err error)

EncodeMsg implements msgp.Encodable

func (*PovDiffDayStat) MarshalMsg added in v1.3.1

func (z *PovDiffDayStat) MarshalMsg(b []byte) (o []byte, err error)

MarshalMsg implements msgp.Marshaler

func (*PovDiffDayStat) Msgsize added in v1.3.1

func (z *PovDiffDayStat) Msgsize() (s int)

Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message

func (*PovDiffDayStat) Serialize added in v1.3.1

func (ds *PovDiffDayStat) Serialize() ([]byte, error)

func (*PovDiffDayStat) UnmarshalMsg added in v1.3.1

func (z *PovDiffDayStat) UnmarshalMsg(bts []byte) (o []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

type PovHeader added in v1.2.3

type PovHeader struct {
	BasHdr PovBaseHeader  `msg:"basHdr" json:"basHdr"`
	AuxHdr *PovAuxHeader  `msg:"auxHdr" json:"auxHdr"`
	CbTx   *PovCoinBaseTx `msg:"cbtx" json:"cbtx"`
}

func NewPovHeader added in v1.3.0

func NewPovHeader() *PovHeader

func (*PovHeader) BuildHashData added in v1.3.0

func (h *PovHeader) BuildHashData() []byte

func (*PovHeader) ComputeHash added in v1.2.3

func (h *PovHeader) ComputeHash() Hash

func (*PovHeader) ComputePowHash added in v1.3.0

func (h *PovHeader) ComputePowHash() Hash

func (*PovHeader) Copy added in v1.2.3

func (h *PovHeader) Copy() *PovHeader

func (*PovHeader) DecodeMsg added in v1.2.3

func (z *PovHeader) DecodeMsg(dc *msgp.Reader) (err error)

DecodeMsg implements msgp.Decodable

func (*PovHeader) Deserialize added in v1.2.3

func (h *PovHeader) Deserialize(text []byte) error

func (*PovHeader) EncodeMsg added in v1.2.3

func (z *PovHeader) EncodeMsg(en *msgp.Writer) (err error)

EncodeMsg implements msgp.Encodable

func (*PovHeader) GetAlgoEfficiency added in v1.3.0

func (h *PovHeader) GetAlgoEfficiency() uint

func (*PovHeader) GetAlgoTargetInt added in v1.3.0

func (h *PovHeader) GetAlgoTargetInt() *big.Int

func (*PovHeader) GetAlgoType added in v1.3.0

func (h *PovHeader) GetAlgoType() PovAlgoType

func (*PovHeader) GetBits added in v1.3.0

func (h *PovHeader) GetBits() uint32

func (*PovHeader) GetHash added in v1.2.3

func (h *PovHeader) GetHash() Hash

func (*PovHeader) GetHeight added in v1.2.3

func (h *PovHeader) GetHeight() uint64

func (*PovHeader) GetMinerAddr added in v1.3.0

func (h *PovHeader) GetMinerAddr() Address

func (*PovHeader) GetMinerReward added in v1.3.0

func (h *PovHeader) GetMinerReward() Balance

func (*PovHeader) GetNonce added in v1.2.3

func (h *PovHeader) GetNonce() uint32

func (*PovHeader) GetNormBits added in v1.3.0

func (h *PovHeader) GetNormBits() uint32

func (*PovHeader) GetNormTargetInt added in v1.3.0

func (h *PovHeader) GetNormTargetInt() *big.Int

func (*PovHeader) GetPrevious added in v1.2.3

func (h *PovHeader) GetPrevious() Hash

func (*PovHeader) GetRepAddr added in v1.3.0

func (h *PovHeader) GetRepAddr() Address

func (*PovHeader) GetRepReward added in v1.3.0

func (h *PovHeader) GetRepReward() Balance

func (*PovHeader) GetStateHash added in v1.2.3

func (h *PovHeader) GetStateHash() Hash

func (*PovHeader) GetTimestamp added in v1.2.3

func (h *PovHeader) GetTimestamp() uint32

func (*PovHeader) GetTxNum added in v1.2.3

func (h *PovHeader) GetTxNum() uint32

func (*PovHeader) GetVersion added in v1.3.0

func (h *PovHeader) GetVersion() uint32

func (*PovHeader) MarshalMsg added in v1.2.3

func (z *PovHeader) MarshalMsg(b []byte) (o []byte, err error)

MarshalMsg implements msgp.Marshaler

func (*PovHeader) Msgsize added in v1.2.3

func (z *PovHeader) Msgsize() (s int)

Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message

func (*PovHeader) Serialize added in v1.2.3

func (h *PovHeader) Serialize() ([]byte, error)

func (*PovHeader) UnmarshalMsg added in v1.2.3

func (z *PovHeader) UnmarshalMsg(bts []byte) (o []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

type PovMineBlock added in v1.3.0

type PovMineBlock struct {
	Block  *PovBlock
	Header *PovHeader
	Body   *PovBody

	AllTxHashes []*Hash

	WorkHash       Hash
	MinTime        uint32
	CoinbaseBranch []*Hash
}

func NewPovMineBlock added in v1.3.0

func NewPovMineBlock() *PovMineBlock

type PovMineResult added in v1.3.0

type PovMineResult struct {
	WorkHash  Hash
	BlockHash Hash

	MerkleRoot    Hash
	Timestamp     uint32
	Nonce         uint32
	CoinbaseExtra []byte
	CoinbaseHash  Hash

	AuxPow *PovAuxHeader
}

func NewPovMineResult added in v1.3.0

func NewPovMineResult() *PovMineResult

type PovMineWork added in v1.3.0

type PovMineWork struct {
	WorkHash     Hash    `json:"workHash"`
	Version      uint32  `json:"version"`
	Previous     Hash    `json:"previous"`
	Bits         uint32  `json:"bits"`
	Height       uint64  `json:"height"`
	MinTime      uint32  `json:"minTime"`
	MerkleBranch []*Hash `json:"merkleBranch"`
	CoinBaseData []byte  `json:"coinbaseData"`
}

func NewPovMineWork added in v1.3.0

func NewPovMineWork() *PovMineWork

type PovMinerDayStat added in v1.2.3

type PovMinerDayStat struct {
	DayIndex uint32 `msg:"di" json:"dayIndex"`
	MinerNum uint32 `msg:"mn" json:"minerNum"`

	MinerStats map[string]*PovMinerStatItem `msg:"mss" json:"minerStats"`
}

func NewPovMinerDayStat added in v1.2.3

func NewPovMinerDayStat() *PovMinerDayStat

func (*PovMinerDayStat) DecodeMsg added in v1.2.3

func (z *PovMinerDayStat) DecodeMsg(dc *msgp.Reader) (err error)

DecodeMsg implements msgp.Decodable

func (*PovMinerDayStat) Deserialize added in v1.2.3

func (mds *PovMinerDayStat) Deserialize(text []byte) error

func (*PovMinerDayStat) EncodeMsg added in v1.2.3

func (z *PovMinerDayStat) EncodeMsg(en *msgp.Writer) (err error)

EncodeMsg implements msgp.Encodable

func (*PovMinerDayStat) MarshalMsg added in v1.2.3

func (z *PovMinerDayStat) MarshalMsg(b []byte) (o []byte, err error)

MarshalMsg implements msgp.Marshaler

func (*PovMinerDayStat) Msgsize added in v1.2.3

func (z *PovMinerDayStat) Msgsize() (s int)

Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message

func (*PovMinerDayStat) Serialize added in v1.2.3

func (mds *PovMinerDayStat) Serialize() ([]byte, error)

func (*PovMinerDayStat) UnmarshalMsg added in v1.2.3

func (z *PovMinerDayStat) UnmarshalMsg(bts []byte) (o []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

type PovMinerStatItem added in v1.2.3

type PovMinerStatItem struct {
	FirstHeight  uint64  `msg:"fh" json:"firstHeight"`
	LastHeight   uint64  `msg:"lh" json:"lastHeight"`
	BlockNum     uint32  `msg:"bn" json:"blockNum"`
	RewardAmount Balance `msg:"ra,extension" json:"rewardAmount"`
	RepBlockNum  uint32  `msg:"rn" json:"repBlockNum"`
	RepReward    Balance `msg:"rr,extension" json:"repReward"`
	IsMiner      bool    `msg:"im" json:"isMiner"`
}

func NewPovMinerStatItem added in v1.3.0

func NewPovMinerStatItem() *PovMinerStatItem

func (*PovMinerStatItem) DecodeMsg added in v1.2.3

func (z *PovMinerStatItem) DecodeMsg(dc *msgp.Reader) (err error)

DecodeMsg implements msgp.Decodable

func (*PovMinerStatItem) Deserialize added in v1.2.3

func (msi *PovMinerStatItem) Deserialize(text []byte) error

func (*PovMinerStatItem) EncodeMsg added in v1.2.3

func (z *PovMinerStatItem) EncodeMsg(en *msgp.Writer) (err error)

EncodeMsg implements msgp.Encodable

func (*PovMinerStatItem) MarshalMsg added in v1.2.3

func (z *PovMinerStatItem) MarshalMsg(b []byte) (o []byte, err error)

MarshalMsg implements msgp.Marshaler

func (*PovMinerStatItem) Msgsize added in v1.2.3

func (z *PovMinerStatItem) Msgsize() (s int)

Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message

func (*PovMinerStatItem) Serialize added in v1.2.3

func (msi *PovMinerStatItem) Serialize() ([]byte, error)

func (*PovMinerStatItem) UnmarshalMsg added in v1.2.3

func (z *PovMinerStatItem) UnmarshalMsg(bts []byte) (o []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

type PovPublishState added in v1.4.0

type PovPublishState struct {
	OracleAccounts []Address `msg:"oas" json:"oracleAccounts"`
	PublishHeight  uint64    `msg:"ph" json:"publishHeight"`
	VerifiedHeight uint64    `msg:"vh" json:"verifiedHeight"`
	VerifiedStatus int8      `msg:"vs" json:"verifiedStatus"`
	BonusFee       *BigNum   `msg:"bf,extension" json:"bonusFee"`
}

key = type + id + pubkey + sendBlockHash

func NewPovPublishState added in v1.4.0

func NewPovPublishState() *PovPublishState

func (*PovPublishState) DecodeMsg added in v1.4.0

func (z *PovPublishState) DecodeMsg(dc *msgp.Reader) (err error)

DecodeMsg implements msgp.Decodable

func (*PovPublishState) Deserialize added in v1.4.0

func (ps *PovPublishState) Deserialize(text []byte) error

func (*PovPublishState) EncodeMsg added in v1.4.0

func (z *PovPublishState) EncodeMsg(en *msgp.Writer) (err error)

EncodeMsg implements msgp.Encodable

func (*PovPublishState) MarshalMsg added in v1.4.0

func (z *PovPublishState) MarshalMsg(b []byte) (o []byte, err error)

MarshalMsg implements msgp.Marshaler

func (*PovPublishState) Msgsize added in v1.4.0

func (z *PovPublishState) Msgsize() (s int)

Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message

func (*PovPublishState) Serialize added in v1.4.0

func (ps *PovPublishState) Serialize() ([]byte, error)

func (*PovPublishState) UnmarshalMsg added in v1.4.0

func (z *PovPublishState) UnmarshalMsg(bts []byte) (o []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

type PovRepState added in v1.2.3

type PovRepState struct {
	Account Address `msg:"a,extension" json:"account"`
	Balance Balance `msg:"b,extension" json:"balance"`
	Vote    Balance `msg:"v,extension" json:"vote"`
	Network Balance `msg:"n,extension" json:"network"`
	Storage Balance `msg:"s,extension" json:"storage"`
	Oracle  Balance `msg:"o,extension" json:"oracle"`
	Total   Balance `msg:"t,extension" json:"total"`

	Status uint32 `msg:"st" json:"status"`
	Height uint64 `msg:"he" json:"height"`
}

func NewPovRepState added in v1.2.3

func NewPovRepState() *PovRepState

func (*PovRepState) CalcTotal added in v1.2.3

func (rs *PovRepState) CalcTotal() Balance

func (*PovRepState) Clone added in v1.2.3

func (rs *PovRepState) Clone() *PovRepState

func (*PovRepState) DecodeMsg added in v1.2.3

func (z *PovRepState) DecodeMsg(dc *msgp.Reader) (err error)

DecodeMsg implements msgp.Decodable

func (*PovRepState) Deserialize added in v1.2.3

func (rs *PovRepState) Deserialize(text []byte) error

func (*PovRepState) EncodeMsg added in v1.2.3

func (z *PovRepState) EncodeMsg(en *msgp.Writer) (err error)

EncodeMsg implements msgp.Encodable

func (*PovRepState) MarshalMsg added in v1.2.3

func (z *PovRepState) MarshalMsg(b []byte) (o []byte, err error)

MarshalMsg implements msgp.Marshaler

func (*PovRepState) Msgsize added in v1.2.3

func (z *PovRepState) Msgsize() (s int)

Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message

func (*PovRepState) Serialize added in v1.2.3

func (rs *PovRepState) Serialize() ([]byte, error)

func (*PovRepState) String added in v1.2.3

func (rs *PovRepState) String() string

func (*PovRepState) UnmarshalMsg added in v1.2.3

func (z *PovRepState) UnmarshalMsg(bts []byte) (o []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

type PovTD added in v1.3.0

type PovTD struct {
	Chain   BigNum `msg:"c,extension" json:"chain"`
	Sha256d BigNum `msg:"sha,extension" json:"sha256d"`
	Scrypt  BigNum `msg:"scr,extension" json:"scrypt"`
	X11     BigNum `msg:"x11,extension" json:"x11"`
	Hybrid  BigNum `msg:"hybrid,extension" json:"hybrid"`
}

func NewPovTD added in v1.3.0

func NewPovTD() *PovTD

func (*PovTD) Copy added in v1.3.0

func (td *PovTD) Copy() *PovTD

func (*PovTD) DecodeMsg added in v1.3.0

func (z *PovTD) DecodeMsg(dc *msgp.Reader) (err error)

DecodeMsg implements msgp.Decodable

func (*PovTD) Deserialize added in v1.3.0

func (td *PovTD) Deserialize(text []byte) error

func (*PovTD) EncodeMsg added in v1.3.0

func (z *PovTD) EncodeMsg(en *msgp.Writer) (err error)

EncodeMsg implements msgp.Encodable

func (*PovTD) MarshalMsg added in v1.3.0

func (z *PovTD) MarshalMsg(b []byte) (o []byte, err error)

MarshalMsg implements msgp.Marshaler

func (*PovTD) Msgsize added in v1.3.0

func (z *PovTD) Msgsize() (s int)

Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message

func (*PovTD) Serialize added in v1.3.0

func (td *PovTD) Serialize() ([]byte, error)

func (*PovTD) UnmarshalMsg added in v1.3.0

func (z *PovTD) UnmarshalMsg(bts []byte) (o []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

type PovTokenState added in v1.2.3

type PovTokenState struct {
	Type           Hash    `msg:"t,extension" json:"type"`
	Hash           Hash    `msg:"h,extension" json:"hash"`
	Representative Address `msg:"r,extension" json:"representative"`
	Balance        Balance `msg:"b,extension" json:"balance"`
}

func NewPovTokenState added in v1.2.3

func NewPovTokenState(token Hash) *PovTokenState

func (*PovTokenState) Clone added in v1.2.3

func (ts *PovTokenState) Clone() *PovTokenState

func (*PovTokenState) DecodeMsg added in v1.2.3

func (z *PovTokenState) DecodeMsg(dc *msgp.Reader) (err error)

DecodeMsg implements msgp.Decodable

func (*PovTokenState) Deserialize added in v1.2.3

func (ts *PovTokenState) Deserialize(text []byte) error

func (*PovTokenState) EncodeMsg added in v1.2.3

func (z *PovTokenState) EncodeMsg(en *msgp.Writer) (err error)

EncodeMsg implements msgp.Encodable

func (*PovTokenState) MarshalMsg added in v1.2.3

func (z *PovTokenState) MarshalMsg(b []byte) (o []byte, err error)

MarshalMsg implements msgp.Marshaler

func (*PovTokenState) Msgsize added in v1.2.3

func (z *PovTokenState) Msgsize() (s int)

Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message

func (*PovTokenState) Serialize added in v1.2.3

func (ts *PovTokenState) Serialize() ([]byte, error)

func (*PovTokenState) String added in v1.2.3

func (ts *PovTokenState) String() string

func (*PovTokenState) UnmarshalMsg added in v1.2.3

func (z *PovTokenState) UnmarshalMsg(bts []byte) (o []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

type PovTransaction added in v1.2.3

type PovTransaction struct {
	Hash  Hash           `msg:"h,extension" json:"hash"`
	CbTx  *PovCoinBaseTx `msg:"-" json:"-"`
	Block *StateBlock    `msg:"-" json:"-"`
}

PovTransaction represents an state block metadata in the PoV block.

func (*PovTransaction) Copy added in v1.3.0

func (tx *PovTransaction) Copy() *PovTransaction

func (*PovTransaction) DecodeMsg added in v1.2.3

func (z *PovTransaction) DecodeMsg(dc *msgp.Reader) (err error)

DecodeMsg implements msgp.Decodable

func (*PovTransaction) Deserialize added in v1.2.3

func (tx *PovTransaction) Deserialize(text []byte) error

func (PovTransaction) EncodeMsg added in v1.2.3

func (z PovTransaction) EncodeMsg(en *msgp.Writer) (err error)

EncodeMsg implements msgp.Encodable

func (*PovTransaction) GetHash added in v1.2.3

func (tx *PovTransaction) GetHash() Hash

func (*PovTransaction) IsCbTx added in v1.3.0

func (tx *PovTransaction) IsCbTx() bool

func (PovTransaction) MarshalMsg added in v1.2.3

func (z PovTransaction) MarshalMsg(b []byte) (o []byte, err error)

MarshalMsg implements msgp.Marshaler

func (PovTransaction) Msgsize added in v1.2.3

func (z PovTransaction) Msgsize() (s int)

Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message

func (*PovTransaction) Serialize added in v1.2.3

func (tx *PovTransaction) Serialize() ([]byte, error)

func (*PovTransaction) UnmarshalMsg added in v1.2.3

func (z *PovTransaction) UnmarshalMsg(bts []byte) (o []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

type PovTransactions added in v1.2.3

type PovTransactions []*PovTransaction

PovTransactions is a PovTransaction slice type for basic sorting.

func (PovTransactions) Len added in v1.2.3

func (s PovTransactions) Len() int

Len returns the length of s.

func (PovTransactions) Swap added in v1.2.3

func (s PovTransactions) Swap(i, j int)

Swap swaps the i'th and the j'th element in s.

type PovTxByHash added in v1.2.3

type PovTxByHash PovTransactions

PovTxByHash implements the sort interface to allow sorting a list of transactions by their hash.

func (PovTxByHash) Len added in v1.2.3

func (s PovTxByHash) Len() int

func (PovTxByHash) Less added in v1.2.3

func (s PovTxByHash) Less(i, j int) bool

func (PovTxByHash) Swap added in v1.2.3

func (s PovTxByHash) Swap(i, j int)

type PovTxLookup added in v1.2.3

type PovTxLookup struct {
	BlockHash   Hash   `msg:"bha,extension" json:"blockHash"`
	BlockHeight uint64 `msg:"bhe" json:"blockHeight"`
	TxIndex     uint64 `msg:"ti" json:"txIndex"`
}

TxLookupEntry is a positional metadata to help looking up the data content of a transaction given only its hash.

func (*PovTxLookup) DecodeMsg added in v1.2.3

func (z *PovTxLookup) DecodeMsg(dc *msgp.Reader) (err error)

DecodeMsg implements msgp.Decodable

func (*PovTxLookup) Deserialize added in v1.2.3

func (txl *PovTxLookup) Deserialize(text []byte) error

func (PovTxLookup) EncodeMsg added in v1.2.3

func (z PovTxLookup) EncodeMsg(en *msgp.Writer) (err error)

EncodeMsg implements msgp.Encodable

func (PovTxLookup) MarshalMsg added in v1.2.3

func (z PovTxLookup) MarshalMsg(b []byte) (o []byte, err error)

MarshalMsg implements msgp.Marshaler

func (PovTxLookup) Msgsize added in v1.2.3

func (z PovTxLookup) Msgsize() (s int)

Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message

func (*PovTxLookup) Serialize added in v1.2.3

func (txl *PovTxLookup) Serialize() ([]byte, error)

func (*PovTxLookup) UnmarshalMsg added in v1.2.3

func (z *PovTxLookup) UnmarshalMsg(bts []byte) (o []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

type PovVerifierState added in v1.4.0

type PovVerifierState struct {
	TotalVerify  uint64            `msg:"tv" json:"totalVerify"`
	TotalReward  *BigNum           `msg:"tr,extension" json:"totalReward"`
	ActiveHeight map[string]uint64 `msg:"ah" json:"activeHeight"`
}

key = address

func NewPovVerifierState added in v1.4.0

func NewPovVerifierState() *PovVerifierState

func (*PovVerifierState) DecodeMsg added in v1.4.0

func (z *PovVerifierState) DecodeMsg(dc *msgp.Reader) (err error)

DecodeMsg implements msgp.Decodable

func (*PovVerifierState) Deserialize added in v1.4.0

func (vs *PovVerifierState) Deserialize(text []byte) error

func (*PovVerifierState) EncodeMsg added in v1.4.0

func (z *PovVerifierState) EncodeMsg(en *msgp.Writer) (err error)

EncodeMsg implements msgp.Encodable

func (*PovVerifierState) MarshalMsg added in v1.4.0

func (z *PovVerifierState) MarshalMsg(b []byte) (o []byte, err error)

MarshalMsg implements msgp.Marshaler

func (*PovVerifierState) Msgsize added in v1.4.0

func (z *PovVerifierState) Msgsize() (s int)

Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message

func (*PovVerifierState) Serialize added in v1.4.0

func (vs *PovVerifierState) Serialize() ([]byte, error)

func (*PovVerifierState) UnmarshalMsg added in v1.4.0

func (z *PovVerifierState) UnmarshalMsg(bts []byte) (o []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

type Schema added in v1.4.0

type Schema interface {
	DeleteKey() string
}

type Seed

type Seed [SeedSize]byte

Seed of account

func BytesToSeed

func BytesToSeed(b []byte) (*Seed, error)

func NewSeed

func NewSeed() (*Seed, error)

NewSeed generate new seed

func (*Seed) Account

func (s *Seed) Account(index uint32) (*Account, error)

Account get account by index from seed

func (*Seed) DecodeMsg added in v1.4.0

func (z *Seed) DecodeMsg(dc *msgp.Reader) (err error)

DecodeMsg implements msgp.Decodable

func (*Seed) EncodeMsg added in v1.4.0

func (z *Seed) EncodeMsg(en *msgp.Writer) (err error)

EncodeMsg implements msgp.Encodable

func (*Seed) ExtensionType

func (s *Seed) ExtensionType() int8

ExtensionType implements Extension.ExtensionType interface

func (*Seed) IsZero added in v0.0.9

func (s *Seed) IsZero() bool

IsZero check address is zero

func (*Seed) Len

func (s *Seed) Len() int

ExtensionType implements Extension.Len interface

func (Seed) MarshalBinaryTo

func (s Seed) MarshalBinaryTo(text []byte) error

ExtensionType implements Extension.MarshalBinaryTo interface

func (Seed) MarshalJSON

func (s Seed) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler interface

func (*Seed) MarshalMsg added in v1.4.0

func (z *Seed) MarshalMsg(b []byte) (o []byte, err error)

MarshalMsg implements msgp.Marshaler

func (*Seed) MasterAddress

func (s *Seed) MasterAddress() Address

MasterAddress the first address generate by seed

func (*Seed) Msgsize added in v1.4.0

func (z *Seed) Msgsize() (s int)

Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message

func (Seed) String

func (s Seed) String() string

String seed tostring

func (*Seed) UnmarshalBinary

func (s *Seed) UnmarshalBinary(text []byte) error

ExtensionType implements Extension.UnmarshalBinary interface

func (*Seed) UnmarshalMsg added in v1.4.0

func (z *Seed) UnmarshalMsg(bts []byte) (o []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

type Serializer added in v1.4.0

type Serializer interface {
	Serialize() ([]byte, error)
	Deserialize([]byte) error
}

type Signature

type Signature [SignatureSize]byte

Signature of block

func BytesToSignature added in v1.2.0

func BytesToSignature(b []byte) (Signature, error)

func NewSignature added in v1.2.3

func NewSignature(hexStr string) (Signature, error)

func (Signature) Bytes added in v1.2.3

func (s Signature) Bytes() []byte

func (*Signature) ExtensionType

func (s *Signature) ExtensionType() int8

ExtensionType implements Extension.ExtensionType interface

func (*Signature) FromBigInt added in v1.2.3

func (s *Signature) FromBigInt(num *big.Int) error

FromBigInt converts a big.Int into a types.Signature.

func (*Signature) IsZero added in v1.2.3

func (s *Signature) IsZero() bool

IsZero check signature is zero

func (*Signature) Len

func (s *Signature) Len() int

ExtensionType implements Extension.Len interface

func (Signature) MarshalBinaryTo

func (s Signature) MarshalBinaryTo(text []byte) error

ExtensionType implements Extension.MarshalBinaryTo interface

func (Signature) MarshalText

func (s Signature) MarshalText() (text []byte, err error)

MarshalText implements the encoding.TextMarshaler interface.

func (*Signature) Of

func (s *Signature) Of(hexString string) error

Of convert hex string to Signature

func (Signature) String

func (s Signature) String() string

String implements the fmt.Stringer interface.

func (*Signature) ToBigInt added in v1.2.3

func (s *Signature) ToBigInt() *big.Int

ToBigInt converts a types.Signature into a big.Int that can be used to perform math comparisons.

func (*Signature) UnmarshalBinary

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

ExtensionType implements Extension.UnmarshalBinary interface

func (*Signature) UnmarshalText

func (s *Signature) UnmarshalText(text []byte) error

type SmartContractBlock

type SmartContractBlock struct {
	Address         Address     `msg:"address,extension" json:"address"`
	InternalAccount Address     `msg:"internalAccount,extension" json:"internalAccount"`
	ExtraAddress    []Address   `msg:"extraAddress" json:"extraAddress,omitempty"`
	Owner           Address     `msg:"owner,extension" json:"owner"`
	Abi             ContractAbi `msg:"contract,extension" json:"contract"`
	AbiSchema       string      `msg:"schema" json:"schema"`
	IsUseStorage    bool        `msg:"isUseStorage" json:"isUseStorage"`
	Work            Work        `msg:"work,extension" json:"work"`
	Signature       Signature   `msg:"signature,extension" json:"signature"`
	Version         uint64      `msg:"version" json:"version"`
}

func (*SmartContractBlock) DecodeMsg

func (z *SmartContractBlock) DecodeMsg(dc *msgp.Reader) (err error)

DecodeMsg implements msgp.Decodable

func (*SmartContractBlock) Deserialize added in v0.0.9

func (sc *SmartContractBlock) Deserialize(text []byte) error

func (*SmartContractBlock) EncodeMsg

func (z *SmartContractBlock) EncodeMsg(en *msgp.Writer) (err error)

EncodeMsg implements msgp.Encodable

func (*SmartContractBlock) GetHash

func (sc *SmartContractBlock) GetHash() Hash

func (*SmartContractBlock) IsValid

func (sc *SmartContractBlock) IsValid() bool

TODO: improvement

func (*SmartContractBlock) MarshalMsg

func (z *SmartContractBlock) MarshalMsg(b []byte) (o []byte, err error)

MarshalMsg implements msgp.Marshaler

func (*SmartContractBlock) Msgsize

func (z *SmartContractBlock) Msgsize() (s int)

Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message

func (*SmartContractBlock) Serialize added in v0.0.9

func (sc *SmartContractBlock) Serialize() ([]byte, error)

func (*SmartContractBlock) Size

func (sc *SmartContractBlock) Size() int

func (*SmartContractBlock) String added in v0.0.9

func (sc *SmartContractBlock) String() string

func (*SmartContractBlock) UnmarshalMsg

func (z *SmartContractBlock) UnmarshalMsg(bts []byte) (o []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

type StateBlock

type StateBlock struct {
	Type           BlockType `msg:"type" json:"type"`
	Token          Hash      `msg:"token,extension" json:"token"`
	Address        Address   `msg:"address,extension" json:"address"`
	Balance        Balance   `msg:"balance,extension" json:"balance"`
	Vote           *Balance  `msg:"vote,extension" json:"vote,omitempty"`
	Network        *Balance  `msg:"network,extension" json:"network,omitempty"`
	Storage        *Balance  `msg:"storage,extension" json:"storage,omitempty"`
	Oracle         *Balance  `msg:"oracle,extension" json:"oracle,omitempty"`
	Previous       Hash      `msg:"previous,extension" json:"previous"`
	Link           Hash      `msg:"link,extension" json:"link"`
	Sender         []byte    `msg:"sender" json:"sender,omitempty"`
	Receiver       []byte    `msg:"receiver" json:"receiver,omitempty"`
	Message        *Hash     `msg:"message,extension" json:"message,omitempty"`
	Data           []byte    `msg:"data" json:"data,omitempty"`
	PoVHeight      uint64    `msg:"povHeight" json:"povHeight"`
	Timestamp      int64     `msg:"timestamp" json:"timestamp"`
	Extra          *Hash     `msg:"extra,extension" json:"extra,omitempty"`
	Representative Address   `msg:"representative,extension" json:"representative"`

	PrivateFrom    string   `msg:"priFrom,omitempty" json:"privateFrom,omitempty"`
	PrivateFor     []string `msg:"priFor,omitempty" json:"privateFor,omitempty"`
	PrivateGroupID string   `msg:"priGid,omitempty" json:"privateGroupID,omitempty"`

	Work      Work      `msg:"work,extension" json:"work"`
	Signature Signature `msg:"signature,extension" json:"signature"`

	// following fields just for cache, not marshaled in db or p2p message
	Flag uint64 `msg:"-" json:"-"`

	PrivateRecvRsp bool   `msg:"-" json:"-"`
	PrivatePayload []byte `msg:"-" json:"-"`
}

func (*StateBlock) BuildHashData added in v1.4.0

func (b *StateBlock) BuildHashData() []byte

func (*StateBlock) CheckPrivateRecvRsp added in v1.4.0

func (b *StateBlock) CheckPrivateRecvRsp() error

func (*StateBlock) Clone added in v0.0.9

func (b *StateBlock) Clone() *StateBlock

func (*StateBlock) ConvertToSchema added in v1.4.0

func (b *StateBlock) ConvertToSchema() ([]Schema, error)

func (*StateBlock) DecodeMsg

func (z *StateBlock) DecodeMsg(dc *msgp.Reader) (err error)

DecodeMsg implements msgp.Decodable

func (*StateBlock) Deserialize added in v0.0.9

func (b *StateBlock) Deserialize(text []byte) error

func (*StateBlock) EncodeMsg

func (z *StateBlock) EncodeMsg(en *msgp.Writer) (err error)

EncodeMsg implements msgp.Encodable

func (*StateBlock) GetAddress added in v0.0.9

func (b *StateBlock) GetAddress() Address

func (*StateBlock) GetBalance

func (b *StateBlock) GetBalance() Balance

func (*StateBlock) GetData added in v0.0.9

func (b *StateBlock) GetData() []byte

func (*StateBlock) GetExtra added in v0.0.9

func (b *StateBlock) GetExtra() Hash

func (*StateBlock) GetHash

func (b *StateBlock) GetHash() Hash

func (*StateBlock) GetHashWithoutPrivacy added in v1.4.0

func (b *StateBlock) GetHashWithoutPrivacy() Hash
func (b *StateBlock) GetLink() Hash

func (*StateBlock) GetMessage added in v0.0.9

func (b *StateBlock) GetMessage() Hash

func (*StateBlock) GetNetwork added in v1.1.0

func (b *StateBlock) GetNetwork() Balance

func (*StateBlock) GetOracle added in v1.1.0

func (b *StateBlock) GetOracle() Balance

func (*StateBlock) GetPayload added in v1.4.0

func (b *StateBlock) GetPayload() []byte

func (*StateBlock) GetPrevious added in v0.0.9

func (b *StateBlock) GetPrevious() Hash

func (*StateBlock) GetPrivatePayload added in v1.4.0

func (b *StateBlock) GetPrivatePayload() []byte

func (*StateBlock) GetReceiver added in v0.0.9

func (b *StateBlock) GetReceiver() []byte

func (*StateBlock) GetRepresentative

func (b *StateBlock) GetRepresentative() Address

func (*StateBlock) GetSender added in v0.0.9

func (b *StateBlock) GetSender() []byte

func (*StateBlock) GetSignature added in v0.0.9

func (b *StateBlock) GetSignature() Signature

func (*StateBlock) GetStorage added in v1.1.0

func (b *StateBlock) GetStorage() Balance

func (*StateBlock) GetTimestamp added in v1.1.0

func (b *StateBlock) GetTimestamp() int64

func (*StateBlock) GetToken

func (b *StateBlock) GetToken() Hash

func (*StateBlock) GetType

func (b *StateBlock) GetType() BlockType

func (*StateBlock) GetVote added in v1.1.0

func (b *StateBlock) GetVote() Balance

func (*StateBlock) GetWork added in v0.0.9

func (b *StateBlock) GetWork() Work

func (*StateBlock) IsContractBlock added in v0.0.9

func (b *StateBlock) IsContractBlock() bool

func (*StateBlock) IsFromSync added in v1.4.0

func (b *StateBlock) IsFromSync() bool

func (*StateBlock) IsOpen added in v1.2.0

func (b *StateBlock) IsOpen() bool

func (*StateBlock) IsPrivate added in v1.4.0

func (b *StateBlock) IsPrivate() bool

func (*StateBlock) IsReceiveBlock added in v0.0.9

func (b *StateBlock) IsReceiveBlock() bool

func (*StateBlock) IsRecipient added in v1.4.0

func (b *StateBlock) IsRecipient() bool

func (*StateBlock) IsSendBlock added in v0.0.9

func (b *StateBlock) IsSendBlock() bool

func (*StateBlock) IsValid

func (b *StateBlock) IsValid() bool

func (*StateBlock) MarshalMsg

func (z *StateBlock) MarshalMsg(b []byte) (o []byte, err error)

MarshalMsg implements msgp.Marshaler

func (*StateBlock) Msgsize

func (z *StateBlock) Msgsize() (s int)

Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message

func (*StateBlock) Parent added in v1.0.1

func (b *StateBlock) Parent() Hash

func (*StateBlock) Root

func (b *StateBlock) Root() Hash

func (*StateBlock) Serialize added in v0.0.9

func (b *StateBlock) Serialize() ([]byte, error)

func (*StateBlock) SetFromSync added in v1.4.0

func (b *StateBlock) SetFromSync()

func (*StateBlock) SetPrivatePayload added in v1.4.0

func (b *StateBlock) SetPrivatePayload(rawData []byte)

func (*StateBlock) Size

func (b *StateBlock) Size() int

func (*StateBlock) String added in v0.0.9

func (b *StateBlock) String() string

func (*StateBlock) TotalBalance added in v1.1.0

func (b *StateBlock) TotalBalance() Balance

func (*StateBlock) UnmarshalMsg

func (z *StateBlock) UnmarshalMsg(bts []byte) (o []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

type StateBlockList added in v1.2.3

type StateBlockList []*StateBlock

func (*StateBlockList) DecodeMsg added in v1.2.3

func (z *StateBlockList) DecodeMsg(dc *msgp.Reader) (err error)

DecodeMsg implements msgp.Decodable

func (*StateBlockList) Deserialize added in v1.2.3

func (bs *StateBlockList) Deserialize(text []byte) error

func (StateBlockList) EncodeMsg added in v1.2.3

func (z StateBlockList) EncodeMsg(en *msgp.Writer) (err error)

EncodeMsg implements msgp.Encodable

func (StateBlockList) MarshalMsg added in v1.2.3

func (z StateBlockList) MarshalMsg(b []byte) (o []byte, err error)

MarshalMsg implements msgp.Marshaler

func (StateBlockList) Msgsize added in v1.2.3

func (z StateBlockList) Msgsize() (s int)

Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message

func (*StateBlockList) Serialize added in v1.2.3

func (bs *StateBlockList) Serialize() ([]byte, error)

func (*StateBlockList) UnmarshalMsg added in v1.2.3

func (z *StateBlockList) UnmarshalMsg(bts []byte) (o []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

type SynchronizedKind added in v0.0.9

type SynchronizedKind byte
const (
	Synchronized SynchronizedKind = iota
	UnSynchronized
	InvalidSynchronized
)

func StringToSyncKind added in v1.3.0

func StringToSyncKind(str string) SynchronizedKind

func (*SynchronizedKind) DecodeMsg added in v0.0.9

func (z *SynchronizedKind) DecodeMsg(dc *msgp.Reader) (err error)

DecodeMsg implements msgp.Decodable

func (SynchronizedKind) EncodeMsg added in v0.0.9

func (z SynchronizedKind) EncodeMsg(en *msgp.Writer) (err error)

EncodeMsg implements msgp.Encodable

func (SynchronizedKind) MarshalMsg added in v0.0.9

func (z SynchronizedKind) MarshalMsg(b []byte) (o []byte, err error)

MarshalMsg implements msgp.Marshaler

func (SynchronizedKind) Msgsize added in v0.0.9

func (z SynchronizedKind) Msgsize() (s int)

Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message

func (SynchronizedKind) String added in v1.3.0

func (s SynchronizedKind) String() string

func (*SynchronizedKind) UnmarshalMsg added in v0.0.9

func (z *SynchronizedKind) UnmarshalMsg(bts []byte) (o []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

type TokenInfo added in v0.0.9

type TokenInfo struct {
	TokenId       Hash     `json:"tokenId"`
	TokenName     string   `json:"tokenName"`
	TokenSymbol   string   `json:"tokenSymbol"`
	TotalSupply   *big.Int `json:"totalSupply"`
	Decimals      uint8    `json:"decimals"`
	Owner         Address  `json:"owner"`
	PledgeAmount  *big.Int `json:"pledgeAmount"`
	WithdrawTime  int64    `json:"withdrawTime"`
	PledgeAddress Address  `json:"pledgeAddress"`
	NEP5TxId      string   `json:"NEP5TxId"`
}

type TokenMeta

type TokenMeta struct {
	//TokenAccount Address `msg:"tokenAccount,extension" json:"token_account"`
	Type           Hash    `msg:"type,extension" json:"type"`
	Header         Hash    `msg:"header,extension" json:"header"`
	Representative Address `msg:"rep,extension" json:"representative"`
	OpenBlock      Hash    `msg:"open,extension" json:"open"`
	Balance        Balance `msg:"balance,extension" json:"balance"`
	BelongTo       Address `msg:"account,extension" json:"account"`
	Modified       int64   `msg:"modified" json:"modified"`
	BlockCount     int64   `msg:"blockCount," json:"blockCount"`
}

func (*TokenMeta) Clone added in v1.4.0

func (tm *TokenMeta) Clone() *TokenMeta

func (*TokenMeta) DecodeMsg

func (z *TokenMeta) DecodeMsg(dc *msgp.Reader) (err error)

DecodeMsg implements msgp.Decodable

func (*TokenMeta) Deserialize added in v1.4.0

func (tm *TokenMeta) Deserialize(text []byte) error

func (*TokenMeta) EncodeMsg

func (z *TokenMeta) EncodeMsg(en *msgp.Writer) (err error)

EncodeMsg implements msgp.Encodable

func (*TokenMeta) MarshalMsg

func (z *TokenMeta) MarshalMsg(b []byte) (o []byte, err error)

MarshalMsg implements msgp.Marshaler

func (*TokenMeta) Msgsize

func (z *TokenMeta) Msgsize() (s int)

Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message

func (*TokenMeta) Serialize added in v1.4.0

func (tm *TokenMeta) Serialize() ([]byte, error)

func (*TokenMeta) UnmarshalMsg

func (z *TokenMeta) UnmarshalMsg(bts []byte) (o []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

type TrieNode added in v1.1.0

type TrieNode struct {
	Hash     *Hash             `msg:"hash,extension" json:"hash"`
	Type     byte              `msg:"type" json:"type"`
	Children map[string][]byte `msg:"children" json:"children,omitempty"`
	Key      []byte            `msg:"key" json:"key,omitempty"`
	Child    []byte            `msg:"child" json:"child,omitempty"`
	Value    []byte            `msg:"value" json:"value,omitempty"`
}

func (*TrieNode) DecodeMsg added in v1.1.0

func (z *TrieNode) DecodeMsg(dc *msgp.Reader) (err error)

DecodeMsg implements msgp.Decodable

func (*TrieNode) EncodeMsg added in v1.1.0

func (z *TrieNode) EncodeMsg(en *msgp.Writer) (err error)

EncodeMsg implements msgp.Encodable

func (*TrieNode) MarshalMsg added in v1.1.0

func (z *TrieNode) MarshalMsg(b []byte) (o []byte, err error)

MarshalMsg implements msgp.Marshaler

func (*TrieNode) Msgsize added in v1.1.0

func (z *TrieNode) Msgsize() (s int)

Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message

func (*TrieNode) UnmarshalMsg added in v1.1.0

func (z *TrieNode) UnmarshalMsg(bts []byte) (o []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

type Tuple added in v1.4.0

type Tuple struct {
	First, Second interface{}
}

func NewTuple added in v1.4.0

func NewTuple(first, second interface{}) *Tuple

type Unchecked added in v1.4.0

type Unchecked struct {
	Block *StateBlock      `msg:"block" json:"block"`
	Kind  SynchronizedKind `msg:"kind" json:"kind"`
}

func (*Unchecked) DecodeMsg added in v1.4.0

func (z *Unchecked) DecodeMsg(dc *msgp.Reader) (err error)

DecodeMsg implements msgp.Decodable

func (*Unchecked) Deserialize added in v1.4.0

func (u *Unchecked) Deserialize(text []byte) error

func (*Unchecked) EncodeMsg added in v1.4.0

func (z *Unchecked) EncodeMsg(en *msgp.Writer) (err error)

EncodeMsg implements msgp.Encodable

func (*Unchecked) MarshalMsg added in v1.4.0

func (z *Unchecked) MarshalMsg(b []byte) (o []byte, err error)

MarshalMsg implements msgp.Marshaler

func (*Unchecked) Msgsize added in v1.4.0

func (z *Unchecked) Msgsize() (s int)

Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message

func (*Unchecked) Serialize added in v1.4.0

func (u *Unchecked) Serialize() ([]byte, error)

func (*Unchecked) String added in v1.4.0

func (u *Unchecked) String() string

func (*Unchecked) UnmarshalMsg added in v1.4.0

func (z *Unchecked) UnmarshalMsg(bts []byte) (o []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

type UncheckedBlockWalkFunc

type UncheckedBlockWalkFunc func(block *StateBlock, link Hash, unCheckType UncheckedKind, sync SynchronizedKind) error

type UncheckedKind

type UncheckedKind byte
const (
	UncheckedKindPrevious UncheckedKind = iota
	UncheckedKindLink
	UncheckedKindTokenInfo
	UncheckedKindPublish
)

func (*UncheckedKind) DecodeMsg

func (z *UncheckedKind) DecodeMsg(dc *msgp.Reader) (err error)

DecodeMsg implements msgp.Decodable

func (UncheckedKind) EncodeMsg

func (z UncheckedKind) EncodeMsg(en *msgp.Writer) (err error)

EncodeMsg implements msgp.Encodable

func (UncheckedKind) MarshalMsg

func (z UncheckedKind) MarshalMsg(b []byte) (o []byte, err error)

MarshalMsg implements msgp.Marshaler

func (UncheckedKind) Msgsize

func (z UncheckedKind) Msgsize() (s int)

Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message

func (*UncheckedKind) UnmarshalMsg

func (z *UncheckedKind) UnmarshalMsg(bts []byte) (o []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

type VmLog added in v1.1.0

type VmLog struct {
	Topics []Hash `msg:"topics" json:"topics"`
	Data   []byte `msg:"data" json:"data"`
}

func (*VmLog) DecodeMsg added in v1.1.0

func (z *VmLog) DecodeMsg(dc *msgp.Reader) (err error)

DecodeMsg implements msgp.Decodable

func (*VmLog) EncodeMsg added in v1.1.0

func (z *VmLog) EncodeMsg(en *msgp.Writer) (err error)

EncodeMsg implements msgp.Encodable

func (*VmLog) MarshalMsg added in v1.1.0

func (z *VmLog) MarshalMsg(b []byte) (o []byte, err error)

MarshalMsg implements msgp.Marshaler

func (*VmLog) Msgsize added in v1.1.0

func (z *VmLog) Msgsize() (s int)

Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message

func (*VmLog) UnmarshalMsg added in v1.1.0

func (z *VmLog) UnmarshalMsg(bts []byte) (o []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

type VmLogs added in v1.1.0

type VmLogs struct {
	Logs []*VmLog `msg:"logs" json:"logs"`
}

func (*VmLogs) DecodeMsg added in v1.1.0

func (z *VmLogs) DecodeMsg(dc *msgp.Reader) (err error)

DecodeMsg implements msgp.Decodable

func (*VmLogs) Deserialize added in v1.4.0

func (v *VmLogs) Deserialize(text []byte) error

func (*VmLogs) EncodeMsg added in v1.1.0

func (z *VmLogs) EncodeMsg(en *msgp.Writer) (err error)

EncodeMsg implements msgp.Encodable

func (*VmLogs) Hash added in v1.1.0

func (vl *VmLogs) Hash() *Hash

func (*VmLogs) MarshalMsg added in v1.1.0

func (z *VmLogs) MarshalMsg(b []byte) (o []byte, err error)

MarshalMsg implements msgp.Marshaler

func (*VmLogs) Msgsize added in v1.1.0

func (z *VmLogs) Msgsize() (s int)

Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message

func (*VmLogs) Serialize added in v1.4.0

func (v *VmLogs) Serialize() ([]byte, error)

func (*VmLogs) UnmarshalMsg added in v1.1.0

func (z *VmLogs) UnmarshalMsg(bts []byte) (o []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

type Work

type Work uint64

Work PoW work

func (*Work) ExtensionType

func (w *Work) ExtensionType() int8

ExtensionType implements Extension.ExtensionType interface

func (Work) IsValid

func (w Work) IsValid(root Hash) bool

IsValid check work is valid

func (*Work) Len

func (w *Work) Len() int

ExtensionType implements Extension.Len interface

func (*Work) MarshalBinaryTo

func (w *Work) MarshalBinaryTo(text []byte) error

ExtensionType implements Extension.MarshalBinaryTo interface

func (Work) MarshalText

func (w Work) MarshalText() (text []byte, err error)

MarshalText implements the encoding.TextMarshaler interface.

func (*Work) ParseWorkHexString

func (w *Work) ParseWorkHexString(hexString string) error

ParseWorkHexString create Work from hex string

func (Work) String

func (w Work) String() string

String implements the fmt.Stringer interface.

func (*Work) UnmarshalBinary

func (w *Work) UnmarshalBinary(text []byte) error

ExtensionType implements Extension.UnmarshalBinary interface

func (*Work) UnmarshalText

func (w *Work) UnmarshalText(text []byte) error

type Worker

type Worker struct {
	Threshold uint64
	// contains filtered or unexported fields
}

Worker PoW

func NewWorker

func NewWorker(work Work, root Hash) (*Worker, error)

NewWorker create new worker

func (*Worker) IsValid

func (w *Worker) IsValid() bool

IsValid check work is valid

func (*Worker) NewWork

func (w *Worker) NewWork() Work

NewWork generate new work

func (*Worker) Reset

func (w *Worker) Reset()

Reset worker

Jump to

Keyboard shortcuts

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