types

package
v0.31.1 Latest Latest
Warning

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

Go to latest
Published: Aug 13, 2024 License: GPL-3.0 Imports: 29 Imported by: 12

Documentation

Overview

Package types contains data types related to Quai consensus.

Index

Constants

View Source
const (
	// BloomByteLength represents the number of bytes used in a header log bloom.
	BloomByteLength = 10240

	// BloomBitLength represents the number of bits used in a header log bloom.
	BloomBitLength = 8 * BloomByteLength
)
View Source
const (
	// ReceiptStatusFailed is the status code of a transaction if execution failed.
	ReceiptStatusFailed = uint64(0)

	// ReceiptStatusSuccessful is the status code of a transaction if execution succeeded.
	ReceiptStatusSuccessful = uint64(1)
)
View Source
const (
	QuaiTxType = iota
	ExternalTxType
	QiTxType
)

Transaction types.

View Source
const (
	MaxDenomination = 16

	MaxOutputIndex = math.MaxUint16
)

Variables

View Source
var (
	EmptyRootHash  = common.HexToHash("56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421")
	EmptyUncleHash = RlpHash([]*Header(nil))
	EmptyBodyHash  = common.HexToHash("51e1b9c1426a03bf73da3d98d9f384a49ded6a4d705dcdf25433915c3306826c")
	EmptyHash      = common.Hash{}
)
View Source
var (
	ErrInvalidSig         = errors.New("invalid transaction v, r, s values")
	ErrInvalidSchnorrSig  = errors.New("invalid transaction scnhorr signature")
	ErrExpectedProtection = errors.New("transaction signature is not protected")
	ErrTxTypeNotSupported = errors.New("transaction type not supported")
	ErrGasFeeCapTooLow    = errors.New("fee cap less than base fee")
)
View Source
var (
	ErrUnsupportedTxType = errors.New("tx type is not supported by this signer")
	ErrInvalidChainId    = errors.New("invalid chain id for signer")
)
View Source
var Denominations map[uint8]*big.Int

Denominations is a map of denomination to number of Qi

View Source
var ErrGasLimitReached = errors.New("gas limit reached")

ErrGasLimitReached is returned by the gas pool if the amount of gas required by a transaction is higher than what's left in the block.

View Source
var File_core_types_proto_block_proto protoreflect.FileDescriptor
View Source
var MaxQi = new(big.Int).Mul(big.NewInt(math.MaxInt64), big.NewInt(params.Ether)) // This is just a default; determine correct value later
View Source
var ObjectPool = sync.Pool{
	New: func() interface{} {
		return new(interface{})
	},
}

Functions

func Bloom9

func Bloom9(data []byte) []byte

Bloom9 returns the bloom filter for the given data

func BloomLookup

func BloomLookup(bin Bloom, topic bytesBacked) bool

BloomLookup is a convenience-method to check presence int he bloom filter

func CalcUncleHash

func CalcUncleHash(uncles []*WorkObjectHeader) common.Hash

func CalculateBlockQiTxGas added in v0.29.0

func CalculateBlockQiTxGas(transaction *Transaction, location common.Location) uint64

CalculateBlockQiTxGas calculates the amount of gas a Qi tx uses in a block (for block gas limit calculation)

func CalculateIntrinsicQiTxGas added in v0.29.0

func CalculateIntrinsicQiTxGas(transaction *Transaction) uint64

CalculateIntrinsicQiTxGas calculates the intrinsic gas for a Qi tx without ETXs

func CalculateQiTxGas added in v0.29.0

func CalculateQiTxGas(transaction *Transaction, location common.Location) uint64

CalculateQiTxGas calculates the total amount of gas a Qi tx uses (for fee calculation)

func DeriveSha

func DeriveSha(list DerivableList, hasher TrieHasher) common.Hash

DeriveSha creates the tree hashes of transactions and receipts in a block header.

func IsCoinBaseTx added in v0.29.0

func IsCoinBaseTx(tx *Transaction) bool

IsCoinBaseTx determines whether or not a transaction is a coinbase. A coinbase is a special transaction created by miners that has no inputs. This is represented in the block chain by a transaction with a single input that has a previous output transaction index set to the maximum value along with a zero hash.

This function only differs from IsCoinBase in that it works with a raw wire transaction as opposed to a higher level util transaction.

func IsConversionTx added in v0.30.0

func IsConversionTx(tx *Transaction) bool

It checks if an tx is a conversion type

func LogsBloom

func LogsBloom(logs []*Log) []byte

LogsBloom returns the bloom bytes for the given logs

func RlpHash

func RlpHash(x interface{}) (h common.Hash)

RlpHash encodes x and hashes the encoded bytes.

func Sender

func Sender(signer Signer, tx *Transaction) (common.Address, error)

Sender returns the address derived from the signature (V, R, S) using secp256k1 elliptic curve and an error if it failed deriving or upon an incorrect signature.

Sender may cache the address, allowing it to be used regardless of signing method. The cache is invalidated if the cached signer does not match the signer used in the current call.

Types

type AccessList

type AccessList []AccessTuple

AccessList is an access list.

func (*AccessList) ProtoDecode added in v0.29.0

func (al *AccessList) ProtoDecode(protoAccessList *ProtoAccessList, location common.Location) error

ProtoDecode deserializes the ProtoAccessList into the AccessList format

func (AccessList) ProtoEncode added in v0.29.0

func (al AccessList) ProtoEncode() *ProtoAccessList

ProtoEncode serializes al into the Quai Proto AccessList format

func (AccessList) StorageKeys

func (al AccessList) StorageKeys() int

StorageKeys returns the total number of storage keys in the access list.

type AccessTuple

type AccessTuple struct {
	Address     common.Address `json:"address"        gencodec:"required"`
	StorageKeys []common.Hash  `json:"storageKeys"    gencodec:"required"`
}

AccessTuple is the element type of an access list.

func (AccessTuple) MarshalJSON

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

MarshalJSON marshals as JSON.

func (*AccessTuple) UnmarshalJSON

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

UnmarshalJSON unmarshals from JSON.

type AddressUtxos added in v0.30.0

type AddressUtxos struct {
	Address common.Address
	Utxos   []*UtxoEntry
}

type BlockManifest

type BlockManifest []common.Hash

BlockManifest is a list of block hashes, which implements DerivableList

func (BlockManifest) EncodeIndex

func (m BlockManifest) EncodeIndex(i int, w *bytes.Buffer)

EncodeIndex encodes the i'th blockhash to w.

func (BlockManifest) Len

func (m BlockManifest) Len() int

Len returns the length of s.

func (*BlockManifest) ProtoDecode added in v0.29.0

func (m *BlockManifest) ProtoDecode(protoManifest *ProtoManifest) error

ProtoDecode deserializes th ProtoManifest into the BlockManifest format

func (BlockManifest) ProtoEncode added in v0.29.0

func (m BlockManifest) ProtoEncode() (*ProtoManifest, error)

ProtoEncode serializes m into the Quai Proto BlockManifest format

func (BlockManifest) Size

func (m BlockManifest) Size() common.StorageSize

Size returns the approximate memory used by all internal contents. It is used to approximate and limit the memory consumption of various caches.

type BlockNonce

type BlockNonce [8]byte

A BlockNonce is a 64-bit hash which proves (combined with the mix-hash) that a sufficient amount of computation has been carried out on a block.

func EncodeNonce

func EncodeNonce(i uint64) BlockNonce

EncodeNonce converts the given integer to a block nonce.

func (BlockNonce) Bytes

func (n BlockNonce) Bytes() []byte

Bytes() returns the raw bytes of the block nonce

func (BlockNonce) MarshalText

func (n BlockNonce) MarshalText() ([]byte, error)

MarshalText encodes n as a hex string with 0x prefix.

func (BlockNonce) Uint64

func (n BlockNonce) Uint64() uint64

Uint64 returns the integer value of a block nonce.

func (*BlockNonce) UnmarshalText

func (n *BlockNonce) UnmarshalText(input []byte) error

UnmarshalText implements encoding.TextUnmarshaler.

type BlockRequest added in v0.19.0

type BlockRequest struct {
	Hash    common.Hash
	Entropy *big.Int
}

type Bloom

type Bloom [BloomByteLength]byte

Bloom represents a 2048 bit bloom filter.

func BytesToBloom

func BytesToBloom(b []byte) Bloom

BytesToBloom converts a byte slice to a bloom filter. It panics if b is not of suitable size.

func CreateBloom

func CreateBloom(receipts Receipts) Bloom

CreateBloom creates a bloom filter out of the give Receipts (+Logs)

func (*Bloom) Add

func (b *Bloom) Add(d []byte)

Add adds d to the filter. Future calls of Test(d) will return true.

func (Bloom) Big

func (b Bloom) Big() *big.Int

Big converts b to a big integer. Note: Converting a bloom filter to a big.Int and then calling GetBytes does not return the same bytes, since big.Int will trim leading zeroes

func (Bloom) Bytes

func (b Bloom) Bytes() []byte

Bytes returns the backing byte slice of the bloom

func (Bloom) MarshalText

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

MarshalText encodes b as a hex string with 0x prefix.

func (*Bloom) ProtoDecode added in v0.29.0

func (b *Bloom) ProtoDecode(data []byte) error

ProtoDecode decodes b from a protobuf message.

func (*Bloom) ProtoEncode added in v0.29.0

func (b *Bloom) ProtoEncode() ([]byte, error)

ProtoEncode encodes b as a protobuf message.

func (*Bloom) SetBytes

func (b *Bloom) SetBytes(d []byte)

SetBytes sets the content of b to the given bytes. It panics if d is not of suitable size.

func (Bloom) Test

func (b Bloom) Test(topic []byte) bool

Test checks if the given topic is present in the bloom filter

func (*Bloom) UnmarshalText

func (b *Bloom) UnmarshalText(input []byte) error

UnmarshalText b as a hex string with 0x prefix.

type DerivableList

type DerivableList interface {
	Len() int
	EncodeIndex(int, *bytes.Buffer)
}

DerivableList is the input to DeriveSha. It is implemented by the 'Transactions' and 'Receipts' types. This is internal, do not use these methods.

type EtxSet

type EtxSet struct {
	ETXHashes []byte
}

The EtxSet is a list of ETX hashes, ETXs and the block heights in which they became available. If no entry exists for a given ETX hash, then that ETX is not available.

func NewEtxSet

func NewEtxSet() *EtxSet

func (*EtxSet) GetHashAtIndex added in v0.29.0

func (set *EtxSet) GetHashAtIndex(index int) common.Hash

func (*EtxSet) Hash added in v0.29.0

func (set *EtxSet) Hash() common.Hash

Commit returns a hashed commitment of all ETX hashes in the ETX set

func (*EtxSet) Len added in v0.29.0

func (set *EtxSet) Len() int

func (*EtxSet) Pop added in v0.29.0

func (set *EtxSet) Pop() common.Hash

func (*EtxSet) ProtoDecode added in v0.29.0

func (set *EtxSet) ProtoDecode(protoSet *ProtoEtxSet) error

ProtoDecode decodes the EtxSet from protobuf format.

func (*EtxSet) ProtoEncode added in v0.29.0

func (set *EtxSet) ProtoEncode() *ProtoEtxSet

ProtoEncode encodes the EtxSet to protobuf format.

func (*EtxSet) Update

func (set *EtxSet) Update(newInboundEtxs Transactions, nodeLocation common.Location, WriteETXFunc func(hash common.Hash, etx *Transaction)) error

updateInboundEtxs updates the set of inbound ETXs available to be mined into a block in this location. This method adds any new ETXs to the set and removes expired ETXs.

type ExternalTx

type ExternalTx struct {
	OriginatingTxHash common.Hash
	ETXIndex          uint16
	Gas               uint64
	To                *common.Address `rlp:"nilString"` // nil means contract creation
	Value             *big.Int
	Data              []byte
	AccessList        AccessList
	Sender            common.Address
	IsCoinbase        bool
}

type GasPool added in v0.29.0

type GasPool uint64

GasPool tracks the amount of gas available during execution of the transactions in a block. The zero value is a pool with zero gas available.

func (*GasPool) AddGas added in v0.29.0

func (gp *GasPool) AddGas(amount uint64) *GasPool

AddGas makes gas available for execution.

func (*GasPool) Gas added in v0.29.0

func (gp *GasPool) Gas() uint64

Gas returns the amount of gas remaining in the pool.

func (*GasPool) String added in v0.29.0

func (gp *GasPool) String() string

func (*GasPool) SubGas added in v0.29.0

func (gp *GasPool) SubGas(amount uint64) error

SubGas deducts the given amount from the pool if enough gas is available and returns an error otherwise.

type HashAndLocation

type HashAndLocation struct {
	Hash     common.Hash
	Location common.Location
}

type HashAndNumber

type HashAndNumber struct {
	Hash   common.Hash
	Number uint64
}
type Header struct {
	// contains filtered or unexported fields
}

Header represents a block header in the Quai blockchain.

func CopyHeader

func CopyHeader(h *Header) *Header

CopyHeader creates a deep copy of a block header to prevent side effects from modifying a header variable.

func EmptyHeader

func EmptyHeader() *Header

func (*Header) BaseFee

func (h *Header) BaseFee() *big.Int

func (*Header) EVMRoot added in v0.29.0

func (h *Header) EVMRoot() common.Hash

func (*Header) EfficiencyScore added in v0.29.0

func (h *Header) EfficiencyScore() uint16

func (*Header) EmptyBody

func (h *Header) EmptyBody(nodeCtx int) bool

EmptyBody returns true if there is no additional 'body' to complete the header that is: no transactions and no uncles.

func (*Header) EmptyEtxRollup

func (h *Header) EmptyEtxRollup() bool

EmptyEtxs returns true if there are no etxs for this header/block.

func (*Header) EmptyEtxs

func (h *Header) EmptyEtxs() bool

EmptyEtxs returns true if there are no etxs for this header/block.

func (*Header) EmptyManifest

func (h *Header) EmptyManifest(nodeCtx int) bool

EmptyTxs returns true if there are no txs for this header/block.

func (*Header) EmptyReceipts

func (h *Header) EmptyReceipts() bool

EmptyReceipts returns true if there are no receipts for this header/block.

func (*Header) EmptyTxs

func (h *Header) EmptyTxs() bool

EmptyTxs returns true if there are no txs for this header/block.

func (*Header) EmptyUncles

func (h *Header) EmptyUncles() bool

EmptyUncles returns true if there are no uncles for this header/block.

func (*Header) EtxEligibleSlices added in v0.29.0

func (h *Header) EtxEligibleSlices() common.Hash

func (*Header) EtxHash

func (h *Header) EtxHash() common.Hash

func (*Header) EtxRollupHash

func (h *Header) EtxRollupHash() common.Hash

func (*Header) EtxSetRoot added in v0.29.0

func (h *Header) EtxSetRoot() common.Hash

func (*Header) ExpansionNumber added in v0.29.0

func (h *Header) ExpansionNumber() uint8

func (*Header) Extra

func (h *Header) Extra() []byte

func (*Header) GasLimit

func (h *Header) GasLimit() uint64

func (*Header) GasUsed

func (h *Header) GasUsed() uint64

func (*Header) Hash

func (h *Header) Hash() (hash common.Hash)

SealHash returns the hash of a block prior to it being sealed.

func (*Header) InterlinkRootHash added in v0.29.0

func (h *Header) InterlinkRootHash() common.Hash

func (*Header) ManifestHash

func (h *Header) ManifestHash(nodeCtx int) common.Hash

func (*Header) ManifestHashArray

func (h *Header) ManifestHashArray() []common.Hash

func (Header) MarshalJSON

func (h Header) MarshalJSON() ([]byte, error)

MarshalJSON marshals as JSON.

func (*Header) Number

func (h *Header) Number(nodeCtx int) *big.Int

func (*Header) NumberArray

func (h *Header) NumberArray() []*big.Int

func (*Header) NumberU64

func (h *Header) NumberU64(nodeCtx int) uint64

func (*Header) ParentDeltaS

func (h *Header) ParentDeltaS(nodeCtx int) *big.Int

func (*Header) ParentEntropy

func (h *Header) ParentEntropy(nodeCtx int) *big.Int

func (*Header) ParentHash

func (h *Header) ParentHash(nodeCtx int) common.Hash

Localized accessors

func (*Header) ParentHashArray

func (h *Header) ParentHashArray() []common.Hash

Array accessors

func (*Header) ParentUncledSubDeltaS added in v0.29.0

func (h *Header) ParentUncledSubDeltaS(nodeCtx int) *big.Int

func (*Header) ParentUncledSubDeltaSArray added in v0.29.0

func (h *Header) ParentUncledSubDeltaSArray() []*big.Int

func (*Header) PrimeTerminus added in v0.29.0

func (h *Header) PrimeTerminus() common.Hash

func (*Header) ProtoDecode added in v0.29.0

func (h *Header) ProtoDecode(protoHeader *ProtoHeader, location common.Location) error

ProtoDecode deserializes the ProtoHeader into the Header format

func (*Header) ProtoEncode added in v0.29.0

func (h *Header) ProtoEncode() (*ProtoHeader, error)

ProtoEncode serializes h into the Quai Proto Header format

func (*Header) RPCMarshalHeader

func (h *Header) RPCMarshalHeader() map[string]interface{}

RPCMarshalHeader converts the given header to the RPC output .

func (*Header) ReceiptHash

func (h *Header) ReceiptHash() common.Hash

func (*Header) SanityCheck

func (h *Header) SanityCheck() error

SanityCheck checks a few basic things -- these checks are way beyond what any 'sane' production values should hold, and can mainly be used to prevent that the unbounded fields are stuffed with junk data to add processing overhead

func (*Header) SealEncode added in v0.29.0

func (h *Header) SealEncode() *ProtoHeader

ProtoEncode serializes s into the Quai Proto sealData format

func (*Header) SetBaseFee

func (h *Header) SetBaseFee(val *big.Int)

func (*Header) SetEVMRoot added in v0.29.0

func (h *Header) SetEVMRoot(val common.Hash)

func (*Header) SetEfficiencyScore added in v0.29.0

func (h *Header) SetEfficiencyScore(val uint16)

func (*Header) SetEtxEligibleSlices added in v0.29.0

func (h *Header) SetEtxEligibleSlices(val common.Hash)

func (*Header) SetEtxHash

func (h *Header) SetEtxHash(val common.Hash)

func (*Header) SetEtxRollupHash

func (h *Header) SetEtxRollupHash(val common.Hash)

func (*Header) SetEtxSetRoot added in v0.29.0

func (h *Header) SetEtxSetRoot(val common.Hash)

func (*Header) SetExpansionNumber added in v0.29.0

func (h *Header) SetExpansionNumber(val uint8)

func (*Header) SetExtra

func (h *Header) SetExtra(val []byte)

func (*Header) SetGasLimit

func (h *Header) SetGasLimit(val uint64)

func (*Header) SetGasUsed

func (h *Header) SetGasUsed(val uint64)

func (*Header) SetInterlinkRootHash added in v0.29.0

func (h *Header) SetInterlinkRootHash(val common.Hash)

func (*Header) SetManifestHash

func (h *Header) SetManifestHash(val common.Hash, nodeCtx int)

func (*Header) SetNumber

func (h *Header) SetNumber(val *big.Int, nodeCtx int)

func (*Header) SetParentDeltaS

func (h *Header) SetParentDeltaS(val *big.Int, nodeCtx int)

func (*Header) SetParentEntropy

func (h *Header) SetParentEntropy(val *big.Int, nodeCtx int)

func (*Header) SetParentHash

func (h *Header) SetParentHash(val common.Hash, nodeCtx int)

func (*Header) SetParentUncledSubDeltaS added in v0.29.0

func (h *Header) SetParentUncledSubDeltaS(val *big.Int, nodeCtx int)

func (*Header) SetPrimeTerminus added in v0.29.0

func (h *Header) SetPrimeTerminus(val common.Hash)

func (*Header) SetReceiptHash

func (h *Header) SetReceiptHash(val common.Hash)

func (*Header) SetThresholdCount added in v0.29.0

func (h *Header) SetThresholdCount(val uint16)

func (*Header) SetTxHash

func (h *Header) SetTxHash(val common.Hash)

func (*Header) SetUTXORoot added in v0.29.0

func (h *Header) SetUTXORoot(val common.Hash)

func (*Header) SetUncleHash

func (h *Header) SetUncleHash(val common.Hash)

func (*Header) SetUncledS added in v0.29.0

func (h *Header) SetUncledS(val *big.Int)

func (*Header) Size

func (h *Header) Size() common.StorageSize

Size returns the approximate memory used by all internal contents. It is used to approximate and limit the memory consumption of various caches.

func (*Header) ThresholdCount added in v0.29.0

func (h *Header) ThresholdCount() uint16

func (*Header) TxHash

func (h *Header) TxHash() common.Hash

func (*Header) UTXORoot added in v0.29.0

func (h *Header) UTXORoot() common.Hash

func (*Header) UncleHash

func (h *Header) UncleHash() common.Hash

func (*Header) UncledS added in v0.29.0

func (h *Header) UncledS() *big.Int

func (*Header) UnmarshalJSON

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

UnmarshalJSON unmarshals from JSON.

type Log

type Log struct {
	// Consensus fields:
	// address of the contract that generated the event
	Address common.Address `json:"address" gencodec:"required"`
	// list of topics provided by the contract.
	Topics []common.Hash `json:"topics" gencodec:"required"`
	// supplied by the contract, usually ABI-encoded
	Data []byte `json:"data" gencodec:"required"`

	// Derived fields. These fields are filled in by the node
	// but not secured by consensus.
	// block in which the transaction was included
	BlockNumber uint64 `json:"blockNumber"`
	// hash of the transaction
	TxHash common.Hash `json:"transactionHash" gencodec:"required"`
	// index of the transaction in the block
	TxIndex uint `json:"transactionIndex"`
	// hash of the block in which the transaction was included
	BlockHash common.Hash `json:"blockHash"`
	// index of the log in the block
	Index uint `json:"logIndex"`

	// The Removed field is true if this log was reverted due to a chain reorganisation.
	// You must pay attention to this field if you receive logs through a filter query.
	Removed bool `json:"removed"`
}

Log represents a contract log event. These events are generated by the LOG opcode and stored/indexed by the node.

func (*Log) DecodeRLP

func (l *Log) DecodeRLP(s *rlp.Stream) error

DecodeRLP implements rlp.Decoder.

func (*Log) EncodeRLP

func (l *Log) EncodeRLP(w io.Writer) error

EncodeRLP implements rlp.Encoder.

func (Log) MarshalJSON

func (l Log) MarshalJSON() ([]byte, error)

MarshalJSON marshals as JSON.

func (*Log) UnmarshalJSON

func (l *Log) UnmarshalJSON(input []byte) error

UnmarshalJSON unmarshals from JSON.

type LogForStorage

type LogForStorage Log

LogForStorage is a wrapper around a Log that flattens and parses the entire content of a log including non-consensus fields.

func (*LogForStorage) DecodeRLP

func (l *LogForStorage) DecodeRLP(s *rlp.Stream) error

DecodeRLP implements rlp.Decoder.

Note some redundant fields(e.g. block number, tx hash etc) will be assembled later.

func (*LogForStorage) EncodeRLP

func (l *LogForStorage) EncodeRLP(w io.Writer) error

EncodeRLP implements rlp.Encoder.

func (*LogForStorage) ProtoDecode added in v0.29.0

func (l *LogForStorage) ProtoDecode(protoLog *ProtoLogForStorage, location common.Location) error

ProtoDecode converts the protobuf to a log representation.

func (LogForStorage) ProtoEncode added in v0.29.0

func (l LogForStorage) ProtoEncode() *ProtoLogForStorage

ProtoEncode converts the log to a protobuf representation.

type Logs added in v0.29.0

type Logs []*Log

Logs is a list of log objects.

type Message

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

Message is a fully derived transaction and implements core.Message

NOTE: In a future PR this will be removed.

func NewMessage

func NewMessage(from common.Address, to *common.Address, nonce uint64, amount *big.Int, gasLimit uint64, gasPrice, gasFeeCap, gasTipCap *big.Int, data []byte, accessList AccessList, isETX bool) Message

func (Message) AccessList

func (m Message) AccessList() AccessList

func (Message) Data

func (m Message) Data() []byte

func (Message) ETXSender

func (m Message) ETXSender() common.Address

func (Message) From

func (m Message) From() common.Address

func (Message) Gas

func (m Message) Gas() uint64

func (Message) GasFeeCap

func (m Message) GasFeeCap() *big.Int

func (Message) GasPrice

func (m Message) GasPrice() *big.Int

func (Message) GasTipCap

func (m Message) GasTipCap() *big.Int

func (Message) Hash added in v0.29.0

func (m Message) Hash() common.Hash

func (Message) IsETX added in v0.29.0

func (m Message) IsETX() bool

func (Message) Lock added in v0.29.0

func (m Message) Lock() *big.Int

func (Message) Nonce

func (m Message) Nonce() uint64

func (*Message) SetData added in v0.29.0

func (m *Message) SetData(data []byte)

func (*Message) SetLock added in v0.29.0

func (m *Message) SetLock(lock *big.Int)

func (*Message) SetValue added in v0.29.0

func (m *Message) SetValue(v *big.Int)

func (Message) To

func (m Message) To() *common.Address

func (Message) Type

func (m Message) Type() byte

func (Message) Value

func (m Message) Value() *big.Int

type OutPoint added in v0.29.0

type OutPoint struct {
	TxHash common.Hash `json:"txHash"`
	Index  uint16      `json:"index"`
}

OutPoint defines a Qi data type that is used to track previous outputs

func NewOutPoint added in v0.29.0

func NewOutPoint(txHash *common.Hash, index uint16) *OutPoint

NewOutPoint returns a new Qi transaction outpoint point with the provided hash and index.

func (OutPoint) Key added in v0.30.0

func (outPoint OutPoint) Key() string

func (*OutPoint) ProtoDecode added in v0.29.0

func (outPoint *OutPoint) ProtoDecode(protoOutPoint *ProtoOutPoint) error

func (OutPoint) ProtoEncode added in v0.29.0

func (outPoint OutPoint) ProtoEncode() (*ProtoOutPoint, error)

type OutpointAndDenomination added in v0.30.0

type OutpointAndDenomination struct {
	TxHash       common.Hash
	Index        uint16
	Denomination uint8
}

func (OutpointAndDenomination) Key added in v0.30.0

func (outPoint OutpointAndDenomination) Key() string

func (*OutpointAndDenomination) ProtoDecode added in v0.30.0

func (outPoint *OutpointAndDenomination) ProtoDecode(protoOutPoint *ProtoOutPointAndDenomination) error

func (OutpointAndDenomination) ProtoEncode added in v0.30.0

func (outPoint OutpointAndDenomination) ProtoEncode() (*ProtoOutPointAndDenomination, error)

type OutpointJSON added in v0.31.0

type OutpointJSON struct {
	TxHash common.Hash    `json:"txHash"`
	Index  hexutil.Uint64 `json:"index"`
}

type PendingEtxs

type PendingEtxs struct {
	Header *WorkObject  `json:"header" gencodec:"required"`
	Etxs   Transactions `json:"etxs"   gencodec:"required"`
}

PendingEtxs are ETXs which have been emitted from the zone which produced the given block. Specifically, it contains the collection of ETXs emitted since our prior coincident with our sub in that slice. In Prime context, our subordinate will be a region node, so the Etxs list will contain the rollup of ETXs emitted from each zone block since the zone's prior coincidence with the region. In Region context, our subordinate chain will be the zone itself, so the Etxs list will just contain the ETXs emitted directly in that zone block (a.k.a. a singleton).

func (*PendingEtxs) IsValid

func (p *PendingEtxs) IsValid(hasher TrieHasher) bool

func (*PendingEtxs) ProtoDecode added in v0.29.0

func (p *PendingEtxs) ProtoDecode(protoPendingEtxs *ProtoPendingEtxs, location common.Location) error

ProtoDecode decodes the protobuf to a PendingEtxs representation.

func (*PendingEtxs) ProtoEncode added in v0.29.0

func (p *PendingEtxs) ProtoEncode() (*ProtoPendingEtxs, error)

ProtoEncode encodes the PendingEtxs to protobuf format.

type PendingEtxsRollup

type PendingEtxsRollup struct {
	Header     *WorkObject  `json:"header" gencodec:"required"`
	EtxsRollup Transactions `json:"etxsrollup" gencodec:"required"`
}

PendingEtxsRollup is Header and EtxRollups of that header that should be forward propagated

func (*PendingEtxsRollup) IsValid

func (p *PendingEtxsRollup) IsValid(hasher TrieHasher) bool

func (*PendingEtxsRollup) ProtoDecode added in v0.29.0

func (p *PendingEtxsRollup) ProtoDecode(protoPendingEtxsRollup *ProtoPendingEtxsRollup, location common.Location) error

ProtoDecode decodes the protobuf to a PendingEtxsRollup representation.

func (*PendingEtxsRollup) ProtoEncode added in v0.29.0

func (p *PendingEtxsRollup) ProtoEncode() (*ProtoPendingEtxsRollup, error)

ProtoEncode encodes the PendingEtxsRollup to protobuf format.

type PendingHeader

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

PendingHeader stores the header and termini value associated with the header.

func CopyPendingHeader

func CopyPendingHeader(ph *PendingHeader) *PendingHeader

func EmptyPendingHeader

func EmptyPendingHeader() PendingHeader

func NewPendingHeader

func NewPendingHeader(wo *WorkObject, termini Termini) PendingHeader

func (*PendingHeader) ProtoDecode added in v0.29.0

func (ph *PendingHeader) ProtoDecode(protoPendingHeader *ProtoPendingHeader, location common.Location) error

ProtoEncode deserializes the ProtoHeader into the Header format

func (PendingHeader) ProtoEncode added in v0.29.0

func (ph PendingHeader) ProtoEncode() (*ProtoPendingHeader, error)

ProtoEncode serializes h into the Quai Proto PendingHeader format

func (*PendingHeader) SetHeader

func (ph *PendingHeader) SetHeader(header *WorkObject)

func (*PendingHeader) SetTermini

func (ph *PendingHeader) SetTermini(termini Termini)

func (*PendingHeader) SetWorkObject added in v0.29.0

func (ph *PendingHeader) SetWorkObject(wo *WorkObject)

func (PendingHeader) Termini

func (ph PendingHeader) Termini() Termini

func (PendingHeader) WorkObject added in v0.29.0

func (ph PendingHeader) WorkObject() *WorkObject

accessor methods for pending header

type ProtoAccessList added in v0.29.0

type ProtoAccessList struct {
	AccessTuples []*ProtoAccessTuple `protobuf:"bytes,1,rep,name=access_tuples,json=accessTuples,proto3" json:"access_tuples,omitempty"`
	// contains filtered or unexported fields
}

func (*ProtoAccessList) Descriptor deprecated added in v0.29.0

func (*ProtoAccessList) Descriptor() ([]byte, []int)

Deprecated: Use ProtoAccessList.ProtoReflect.Descriptor instead.

func (*ProtoAccessList) GetAccessTuples added in v0.29.0

func (x *ProtoAccessList) GetAccessTuples() []*ProtoAccessTuple

func (*ProtoAccessList) ProtoMessage added in v0.29.0

func (*ProtoAccessList) ProtoMessage()

func (*ProtoAccessList) ProtoReflect added in v0.29.0

func (x *ProtoAccessList) ProtoReflect() protoreflect.Message

func (*ProtoAccessList) Reset added in v0.29.0

func (x *ProtoAccessList) Reset()

func (*ProtoAccessList) String added in v0.29.0

func (x *ProtoAccessList) String() string

type ProtoAccessTuple added in v0.29.0

type ProtoAccessTuple struct {
	Address    []byte              `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
	StorageKey []*common.ProtoHash `protobuf:"bytes,2,rep,name=storage_key,json=storageKey,proto3" json:"storage_key,omitempty"`
	// contains filtered or unexported fields
}

func (*ProtoAccessTuple) Descriptor deprecated added in v0.29.0

func (*ProtoAccessTuple) Descriptor() ([]byte, []int)

Deprecated: Use ProtoAccessTuple.ProtoReflect.Descriptor instead.

func (*ProtoAccessTuple) GetAddress added in v0.29.0

func (x *ProtoAccessTuple) GetAddress() []byte

func (*ProtoAccessTuple) GetStorageKey added in v0.29.0

func (x *ProtoAccessTuple) GetStorageKey() []*common.ProtoHash

func (*ProtoAccessTuple) ProtoMessage added in v0.29.0

func (*ProtoAccessTuple) ProtoMessage()

func (*ProtoAccessTuple) ProtoReflect added in v0.29.0

func (x *ProtoAccessTuple) ProtoReflect() protoreflect.Message

func (*ProtoAccessTuple) Reset added in v0.29.0

func (x *ProtoAccessTuple) Reset()

func (*ProtoAccessTuple) String added in v0.29.0

func (x *ProtoAccessTuple) String() string

type ProtoAddressOutPoints added in v0.30.0

type ProtoAddressOutPoints struct {
	OutPoints map[string]*ProtoOutPointAndDenomination `` /* 176-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*ProtoAddressOutPoints) Descriptor deprecated added in v0.30.0

func (*ProtoAddressOutPoints) Descriptor() ([]byte, []int)

Deprecated: Use ProtoAddressOutPoints.ProtoReflect.Descriptor instead.

func (*ProtoAddressOutPoints) GetOutPoints added in v0.30.0

func (*ProtoAddressOutPoints) ProtoMessage added in v0.30.0

func (*ProtoAddressOutPoints) ProtoMessage()

func (*ProtoAddressOutPoints) ProtoReflect added in v0.30.0

func (x *ProtoAddressOutPoints) ProtoReflect() protoreflect.Message

func (*ProtoAddressOutPoints) Reset added in v0.30.0

func (x *ProtoAddressOutPoints) Reset()

func (*ProtoAddressOutPoints) String added in v0.30.0

func (x *ProtoAddressOutPoints) String() string

type ProtoEtxSet added in v0.29.0

type ProtoEtxSet struct {
	EtxHashes []byte `protobuf:"bytes,1,opt,name=etx_hashes,json=etxHashes,proto3,oneof" json:"etx_hashes,omitempty"`
	// contains filtered or unexported fields
}

func (*ProtoEtxSet) Descriptor deprecated added in v0.29.0

func (*ProtoEtxSet) Descriptor() ([]byte, []int)

Deprecated: Use ProtoEtxSet.ProtoReflect.Descriptor instead.

func (*ProtoEtxSet) GetEtxHashes added in v0.29.0

func (x *ProtoEtxSet) GetEtxHashes() []byte

func (*ProtoEtxSet) ProtoMessage added in v0.29.0

func (*ProtoEtxSet) ProtoMessage()

func (*ProtoEtxSet) ProtoReflect added in v0.29.0

func (x *ProtoEtxSet) ProtoReflect() protoreflect.Message

func (*ProtoEtxSet) Reset added in v0.29.0

func (x *ProtoEtxSet) Reset()

func (*ProtoEtxSet) String added in v0.29.0

func (x *ProtoEtxSet) String() string

type ProtoHeader added in v0.29.0

type ProtoHeader struct {
	ParentHash            []*common.ProtoHash   `protobuf:"bytes,1,rep,name=parent_hash,json=parentHash,proto3" json:"parent_hash,omitempty"`
	UncleHash             *common.ProtoHash     `protobuf:"bytes,2,opt,name=uncle_hash,json=uncleHash,proto3,oneof" json:"uncle_hash,omitempty"`
	EvmRoot               *common.ProtoHash     `protobuf:"bytes,3,opt,name=evm_root,json=evmRoot,proto3,oneof" json:"evm_root,omitempty"`
	TxHash                *common.ProtoHash     `protobuf:"bytes,4,opt,name=tx_hash,json=txHash,proto3,oneof" json:"tx_hash,omitempty"`
	EtxHash               *common.ProtoHash     `protobuf:"bytes,5,opt,name=etx_hash,json=etxHash,proto3,oneof" json:"etx_hash,omitempty"`
	EtxRollupHash         *common.ProtoHash     `protobuf:"bytes,6,opt,name=etx_rollup_hash,json=etxRollupHash,proto3,oneof" json:"etx_rollup_hash,omitempty"`
	ManifestHash          []*common.ProtoHash   `protobuf:"bytes,7,rep,name=manifest_hash,json=manifestHash,proto3" json:"manifest_hash,omitempty"`
	ReceiptHash           *common.ProtoHash     `protobuf:"bytes,8,opt,name=receipt_hash,json=receiptHash,proto3,oneof" json:"receipt_hash,omitempty"`
	Difficulty            []byte                `protobuf:"bytes,9,opt,name=difficulty,proto3,oneof" json:"difficulty,omitempty"`
	ParentEntropy         [][]byte              `protobuf:"bytes,10,rep,name=parent_entropy,json=parentEntropy,proto3" json:"parent_entropy,omitempty"`
	ParentDeltaS          [][]byte              `protobuf:"bytes,11,rep,name=parent_delta_s,json=parentDeltaS,proto3" json:"parent_delta_s,omitempty"`
	ParentUncledSubDeltaS [][]byte              `` /* 131-byte string literal not displayed */
	UncledS               []byte                `protobuf:"bytes,13,opt,name=uncled_s,json=uncledS,proto3,oneof" json:"uncled_s,omitempty"`
	Number                [][]byte              `protobuf:"bytes,14,rep,name=number,proto3" json:"number,omitempty"`
	GasLimit              *uint64               `protobuf:"varint,15,opt,name=gas_limit,json=gasLimit,proto3,oneof" json:"gas_limit,omitempty"`
	GasUsed               *uint64               `protobuf:"varint,16,opt,name=gas_used,json=gasUsed,proto3,oneof" json:"gas_used,omitempty"`
	BaseFee               []byte                `protobuf:"bytes,17,opt,name=base_fee,json=baseFee,proto3,oneof" json:"base_fee,omitempty"`
	Location              *common.ProtoLocation `protobuf:"bytes,18,opt,name=location,proto3,oneof" json:"location,omitempty"`
	Extra                 []byte                `protobuf:"bytes,19,opt,name=extra,proto3,oneof" json:"extra,omitempty"`
	MixHash               *common.ProtoHash     `protobuf:"bytes,20,opt,name=mix_hash,json=mixHash,proto3,oneof" json:"mix_hash,omitempty"`
	Nonce                 *uint64               `protobuf:"varint,21,opt,name=nonce,proto3,oneof" json:"nonce,omitempty"`
	UtxoRoot              *common.ProtoHash     `protobuf:"bytes,22,opt,name=utxo_root,json=utxoRoot,proto3,oneof" json:"utxo_root,omitempty"`
	EtxSetRoot            *common.ProtoHash     `protobuf:"bytes,23,opt,name=etx_set_root,json=etxSetRoot,proto3,oneof" json:"etx_set_root,omitempty"`
	EfficiencyScore       *uint64               `protobuf:"varint,24,opt,name=efficiency_score,json=efficiencyScore,proto3,oneof" json:"efficiency_score,omitempty"`
	ThresholdCount        *uint64               `protobuf:"varint,25,opt,name=threshold_count,json=thresholdCount,proto3,oneof" json:"threshold_count,omitempty"`
	ExpansionNumber       *uint64               `protobuf:"varint,26,opt,name=expansion_number,json=expansionNumber,proto3,oneof" json:"expansion_number,omitempty"`
	EtxEligibleSlices     *common.ProtoHash     `protobuf:"bytes,27,opt,name=etx_eligible_slices,json=etxEligibleSlices,proto3,oneof" json:"etx_eligible_slices,omitempty"`
	PrimeTerminus         *common.ProtoHash     `protobuf:"bytes,28,opt,name=prime_terminus,json=primeTerminus,proto3,oneof" json:"prime_terminus,omitempty"`
	InterlinkRootHash     *common.ProtoHash     `protobuf:"bytes,29,opt,name=interlink_root_hash,json=interlinkRootHash,proto3,oneof" json:"interlink_root_hash,omitempty"`
	// contains filtered or unexported fields
}

func (*ProtoHeader) Descriptor deprecated added in v0.29.0

func (*ProtoHeader) Descriptor() ([]byte, []int)

Deprecated: Use ProtoHeader.ProtoReflect.Descriptor instead.

func (*ProtoHeader) GetBaseFee added in v0.29.0

func (x *ProtoHeader) GetBaseFee() []byte

func (*ProtoHeader) GetDifficulty added in v0.29.0

func (x *ProtoHeader) GetDifficulty() []byte

func (*ProtoHeader) GetEfficiencyScore added in v0.29.0

func (x *ProtoHeader) GetEfficiencyScore() uint64

func (*ProtoHeader) GetEtxEligibleSlices added in v0.29.0

func (x *ProtoHeader) GetEtxEligibleSlices() *common.ProtoHash

func (*ProtoHeader) GetEtxHash added in v0.29.0

func (x *ProtoHeader) GetEtxHash() *common.ProtoHash

func (*ProtoHeader) GetEtxRollupHash added in v0.29.0

func (x *ProtoHeader) GetEtxRollupHash() *common.ProtoHash

func (*ProtoHeader) GetEtxSetRoot added in v0.29.0

func (x *ProtoHeader) GetEtxSetRoot() *common.ProtoHash

func (*ProtoHeader) GetEvmRoot added in v0.29.0

func (x *ProtoHeader) GetEvmRoot() *common.ProtoHash

func (*ProtoHeader) GetExpansionNumber added in v0.29.0

func (x *ProtoHeader) GetExpansionNumber() uint64

func (*ProtoHeader) GetExtra added in v0.29.0

func (x *ProtoHeader) GetExtra() []byte

func (*ProtoHeader) GetGasLimit added in v0.29.0

func (x *ProtoHeader) GetGasLimit() uint64

func (*ProtoHeader) GetGasUsed added in v0.29.0

func (x *ProtoHeader) GetGasUsed() uint64

func (*ProtoHeader) GetInterlinkRootHash added in v0.29.0

func (x *ProtoHeader) GetInterlinkRootHash() *common.ProtoHash

func (*ProtoHeader) GetLocation added in v0.29.0

func (x *ProtoHeader) GetLocation() *common.ProtoLocation

func (*ProtoHeader) GetManifestHash added in v0.29.0

func (x *ProtoHeader) GetManifestHash() []*common.ProtoHash

func (*ProtoHeader) GetMixHash added in v0.29.0

func (x *ProtoHeader) GetMixHash() *common.ProtoHash

func (*ProtoHeader) GetNonce added in v0.29.0

func (x *ProtoHeader) GetNonce() uint64

func (*ProtoHeader) GetNumber added in v0.29.0

func (x *ProtoHeader) GetNumber() [][]byte

func (*ProtoHeader) GetParentDeltaS added in v0.29.0

func (x *ProtoHeader) GetParentDeltaS() [][]byte

func (*ProtoHeader) GetParentEntropy added in v0.29.0

func (x *ProtoHeader) GetParentEntropy() [][]byte

func (*ProtoHeader) GetParentHash added in v0.29.0

func (x *ProtoHeader) GetParentHash() []*common.ProtoHash

func (*ProtoHeader) GetParentUncledSubDeltaS added in v0.29.0

func (x *ProtoHeader) GetParentUncledSubDeltaS() [][]byte

func (*ProtoHeader) GetPrimeTerminus added in v0.29.0

func (x *ProtoHeader) GetPrimeTerminus() *common.ProtoHash

func (*ProtoHeader) GetReceiptHash added in v0.29.0

func (x *ProtoHeader) GetReceiptHash() *common.ProtoHash

func (*ProtoHeader) GetThresholdCount added in v0.29.0

func (x *ProtoHeader) GetThresholdCount() uint64

func (*ProtoHeader) GetTxHash added in v0.29.0

func (x *ProtoHeader) GetTxHash() *common.ProtoHash

func (*ProtoHeader) GetUncleHash added in v0.29.0

func (x *ProtoHeader) GetUncleHash() *common.ProtoHash

func (*ProtoHeader) GetUncledS added in v0.29.0

func (x *ProtoHeader) GetUncledS() []byte

func (*ProtoHeader) GetUtxoRoot added in v0.29.0

func (x *ProtoHeader) GetUtxoRoot() *common.ProtoHash

func (*ProtoHeader) ProtoMessage added in v0.29.0

func (*ProtoHeader) ProtoMessage()

func (*ProtoHeader) ProtoReflect added in v0.29.0

func (x *ProtoHeader) ProtoReflect() protoreflect.Message

func (*ProtoHeader) Reset added in v0.29.0

func (x *ProtoHeader) Reset()

func (*ProtoHeader) String added in v0.29.0

func (x *ProtoHeader) String() string

type ProtoHeaders added in v0.29.0

type ProtoHeaders struct {
	Headers []*ProtoHeader `protobuf:"bytes,1,rep,name=headers,proto3" json:"headers,omitempty"`
	// contains filtered or unexported fields
}

func (*ProtoHeaders) Descriptor deprecated added in v0.29.0

func (*ProtoHeaders) Descriptor() ([]byte, []int)

Deprecated: Use ProtoHeaders.ProtoReflect.Descriptor instead.

func (*ProtoHeaders) GetHeaders added in v0.29.0

func (x *ProtoHeaders) GetHeaders() []*ProtoHeader

func (*ProtoHeaders) ProtoMessage added in v0.29.0

func (*ProtoHeaders) ProtoMessage()

func (*ProtoHeaders) ProtoReflect added in v0.29.0

func (x *ProtoHeaders) ProtoReflect() protoreflect.Message

func (*ProtoHeaders) Reset added in v0.29.0

func (x *ProtoHeaders) Reset()

func (*ProtoHeaders) String added in v0.29.0

func (x *ProtoHeaders) String() string

type ProtoLogForStorage added in v0.29.0

type ProtoLogForStorage struct {
	Address *common.ProtoAddress `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
	Topics  []*common.ProtoHash  `protobuf:"bytes,2,rep,name=topics,proto3" json:"topics,omitempty"`
	Data    []byte               `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"`
	// contains filtered or unexported fields
}

func (*ProtoLogForStorage) Descriptor deprecated added in v0.29.0

func (*ProtoLogForStorage) Descriptor() ([]byte, []int)

Deprecated: Use ProtoLogForStorage.ProtoReflect.Descriptor instead.

func (*ProtoLogForStorage) GetAddress added in v0.29.0

func (x *ProtoLogForStorage) GetAddress() *common.ProtoAddress

func (*ProtoLogForStorage) GetData added in v0.29.0

func (x *ProtoLogForStorage) GetData() []byte

func (*ProtoLogForStorage) GetTopics added in v0.29.0

func (x *ProtoLogForStorage) GetTopics() []*common.ProtoHash

func (*ProtoLogForStorage) ProtoMessage added in v0.29.0

func (*ProtoLogForStorage) ProtoMessage()

func (*ProtoLogForStorage) ProtoReflect added in v0.29.0

func (x *ProtoLogForStorage) ProtoReflect() protoreflect.Message

func (*ProtoLogForStorage) Reset added in v0.29.0

func (x *ProtoLogForStorage) Reset()

func (*ProtoLogForStorage) String added in v0.29.0

func (x *ProtoLogForStorage) String() string

type ProtoLogsForStorage added in v0.29.0

type ProtoLogsForStorage struct {
	Logs []*ProtoLogForStorage `protobuf:"bytes,1,rep,name=logs,proto3" json:"logs,omitempty"`
	// contains filtered or unexported fields
}

func (*ProtoLogsForStorage) Descriptor deprecated added in v0.29.0

func (*ProtoLogsForStorage) Descriptor() ([]byte, []int)

Deprecated: Use ProtoLogsForStorage.ProtoReflect.Descriptor instead.

func (*ProtoLogsForStorage) GetLogs added in v0.29.0

func (x *ProtoLogsForStorage) GetLogs() []*ProtoLogForStorage

func (*ProtoLogsForStorage) ProtoMessage added in v0.29.0

func (*ProtoLogsForStorage) ProtoMessage()

func (*ProtoLogsForStorage) ProtoReflect added in v0.29.0

func (x *ProtoLogsForStorage) ProtoReflect() protoreflect.Message

func (*ProtoLogsForStorage) Reset added in v0.29.0

func (x *ProtoLogsForStorage) Reset()

func (*ProtoLogsForStorage) String added in v0.29.0

func (x *ProtoLogsForStorage) String() string

type ProtoManifest added in v0.29.0

type ProtoManifest struct {
	Manifest []*common.ProtoHash `protobuf:"bytes,1,rep,name=manifest,proto3" json:"manifest,omitempty"`
	// contains filtered or unexported fields
}

func (*ProtoManifest) Descriptor deprecated added in v0.29.0

func (*ProtoManifest) Descriptor() ([]byte, []int)

Deprecated: Use ProtoManifest.ProtoReflect.Descriptor instead.

func (*ProtoManifest) GetManifest added in v0.29.0

func (x *ProtoManifest) GetManifest() []*common.ProtoHash

func (*ProtoManifest) ProtoMessage added in v0.29.0

func (*ProtoManifest) ProtoMessage()

func (*ProtoManifest) ProtoReflect added in v0.29.0

func (x *ProtoManifest) ProtoReflect() protoreflect.Message

func (*ProtoManifest) Reset added in v0.29.0

func (x *ProtoManifest) Reset()

func (*ProtoManifest) String added in v0.29.0

func (x *ProtoManifest) String() string

type ProtoOutPoint added in v0.29.0

type ProtoOutPoint struct {
	Hash  *common.ProtoHash `protobuf:"bytes,1,opt,name=hash,proto3,oneof" json:"hash,omitempty"`
	Index *uint32           `protobuf:"varint,2,opt,name=index,proto3,oneof" json:"index,omitempty"`
	// contains filtered or unexported fields
}

func (*ProtoOutPoint) Descriptor deprecated added in v0.29.0

func (*ProtoOutPoint) Descriptor() ([]byte, []int)

Deprecated: Use ProtoOutPoint.ProtoReflect.Descriptor instead.

func (*ProtoOutPoint) GetHash added in v0.29.0

func (x *ProtoOutPoint) GetHash() *common.ProtoHash

func (*ProtoOutPoint) GetIndex added in v0.29.0

func (x *ProtoOutPoint) GetIndex() uint32

func (*ProtoOutPoint) ProtoMessage added in v0.29.0

func (*ProtoOutPoint) ProtoMessage()

func (*ProtoOutPoint) ProtoReflect added in v0.29.0

func (x *ProtoOutPoint) ProtoReflect() protoreflect.Message

func (*ProtoOutPoint) Reset added in v0.29.0

func (x *ProtoOutPoint) Reset()

func (*ProtoOutPoint) String added in v0.29.0

func (x *ProtoOutPoint) String() string

type ProtoOutPointAndDenomination added in v0.30.0

type ProtoOutPointAndDenomination struct {
	Hash         *common.ProtoHash `protobuf:"bytes,1,opt,name=hash,proto3,oneof" json:"hash,omitempty"`
	Index        *uint32           `protobuf:"varint,2,opt,name=index,proto3,oneof" json:"index,omitempty"`
	Denomination *uint32           `protobuf:"varint,3,opt,name=denomination,proto3,oneof" json:"denomination,omitempty"`
	// contains filtered or unexported fields
}

func (*ProtoOutPointAndDenomination) Descriptor deprecated added in v0.30.0

func (*ProtoOutPointAndDenomination) Descriptor() ([]byte, []int)

Deprecated: Use ProtoOutPointAndDenomination.ProtoReflect.Descriptor instead.

func (*ProtoOutPointAndDenomination) GetDenomination added in v0.30.0

func (x *ProtoOutPointAndDenomination) GetDenomination() uint32

func (*ProtoOutPointAndDenomination) GetHash added in v0.30.0

func (*ProtoOutPointAndDenomination) GetIndex added in v0.30.0

func (x *ProtoOutPointAndDenomination) GetIndex() uint32

func (*ProtoOutPointAndDenomination) ProtoMessage added in v0.30.0

func (*ProtoOutPointAndDenomination) ProtoMessage()

func (*ProtoOutPointAndDenomination) ProtoReflect added in v0.30.0

func (*ProtoOutPointAndDenomination) Reset added in v0.30.0

func (x *ProtoOutPointAndDenomination) Reset()

func (*ProtoOutPointAndDenomination) String added in v0.30.0

type ProtoOutPointsMap added in v0.30.0

type ProtoOutPointsMap struct {
	Entries map[string]*ProtoAddressOutPoints `` /* 155-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*ProtoOutPointsMap) Descriptor deprecated added in v0.30.0

func (*ProtoOutPointsMap) Descriptor() ([]byte, []int)

Deprecated: Use ProtoOutPointsMap.ProtoReflect.Descriptor instead.

func (*ProtoOutPointsMap) GetEntries added in v0.30.0

func (x *ProtoOutPointsMap) GetEntries() map[string]*ProtoAddressOutPoints

func (*ProtoOutPointsMap) ProtoMessage added in v0.30.0

func (*ProtoOutPointsMap) ProtoMessage()

func (*ProtoOutPointsMap) ProtoReflect added in v0.30.0

func (x *ProtoOutPointsMap) ProtoReflect() protoreflect.Message

func (*ProtoOutPointsMap) Reset added in v0.30.0

func (x *ProtoOutPointsMap) Reset()

func (*ProtoOutPointsMap) String added in v0.30.0

func (x *ProtoOutPointsMap) String() string

type ProtoPendingEtxs added in v0.29.0

type ProtoPendingEtxs struct {
	Header *ProtoWorkObject   `protobuf:"bytes,1,opt,name=header,proto3,oneof" json:"header,omitempty"`
	Etxs   *ProtoTransactions `protobuf:"bytes,2,opt,name=etxs,proto3,oneof" json:"etxs,omitempty"`
	// contains filtered or unexported fields
}

func (*ProtoPendingEtxs) Descriptor deprecated added in v0.29.0

func (*ProtoPendingEtxs) Descriptor() ([]byte, []int)

Deprecated: Use ProtoPendingEtxs.ProtoReflect.Descriptor instead.

func (*ProtoPendingEtxs) GetEtxs added in v0.29.0

func (x *ProtoPendingEtxs) GetEtxs() *ProtoTransactions

func (*ProtoPendingEtxs) GetHeader added in v0.29.0

func (x *ProtoPendingEtxs) GetHeader() *ProtoWorkObject

func (*ProtoPendingEtxs) ProtoMessage added in v0.29.0

func (*ProtoPendingEtxs) ProtoMessage()

func (*ProtoPendingEtxs) ProtoReflect added in v0.29.0

func (x *ProtoPendingEtxs) ProtoReflect() protoreflect.Message

func (*ProtoPendingEtxs) Reset added in v0.29.0

func (x *ProtoPendingEtxs) Reset()

func (*ProtoPendingEtxs) String added in v0.29.0

func (x *ProtoPendingEtxs) String() string

type ProtoPendingEtxsRollup added in v0.29.0

type ProtoPendingEtxsRollup struct {
	Header     *ProtoWorkObject   `protobuf:"bytes,1,opt,name=header,proto3,oneof" json:"header,omitempty"`
	EtxsRollup *ProtoTransactions `protobuf:"bytes,2,opt,name=etxs_rollup,json=etxsRollup,proto3,oneof" json:"etxs_rollup,omitempty"`
	// contains filtered or unexported fields
}

func (*ProtoPendingEtxsRollup) Descriptor deprecated added in v0.29.0

func (*ProtoPendingEtxsRollup) Descriptor() ([]byte, []int)

Deprecated: Use ProtoPendingEtxsRollup.ProtoReflect.Descriptor instead.

func (*ProtoPendingEtxsRollup) GetEtxsRollup added in v0.29.0

func (x *ProtoPendingEtxsRollup) GetEtxsRollup() *ProtoTransactions

func (*ProtoPendingEtxsRollup) GetHeader added in v0.29.0

func (x *ProtoPendingEtxsRollup) GetHeader() *ProtoWorkObject

func (*ProtoPendingEtxsRollup) ProtoMessage added in v0.29.0

func (*ProtoPendingEtxsRollup) ProtoMessage()

func (*ProtoPendingEtxsRollup) ProtoReflect added in v0.29.0

func (x *ProtoPendingEtxsRollup) ProtoReflect() protoreflect.Message

func (*ProtoPendingEtxsRollup) Reset added in v0.29.0

func (x *ProtoPendingEtxsRollup) Reset()

func (*ProtoPendingEtxsRollup) String added in v0.29.0

func (x *ProtoPendingEtxsRollup) String() string

type ProtoPendingHeader added in v0.29.0

type ProtoPendingHeader struct {
	Wo      *ProtoWorkObject `protobuf:"bytes,1,opt,name=wo,proto3,oneof" json:"wo,omitempty"`
	Termini *ProtoTermini    `protobuf:"bytes,2,opt,name=termini,proto3,oneof" json:"termini,omitempty"`
	// contains filtered or unexported fields
}

func (*ProtoPendingHeader) Descriptor deprecated added in v0.29.0

func (*ProtoPendingHeader) Descriptor() ([]byte, []int)

Deprecated: Use ProtoPendingHeader.ProtoReflect.Descriptor instead.

func (*ProtoPendingHeader) GetTermini added in v0.29.0

func (x *ProtoPendingHeader) GetTermini() *ProtoTermini

func (*ProtoPendingHeader) GetWo added in v0.29.0

func (x *ProtoPendingHeader) GetWo() *ProtoWorkObject

func (*ProtoPendingHeader) ProtoMessage added in v0.29.0

func (*ProtoPendingHeader) ProtoMessage()

func (*ProtoPendingHeader) ProtoReflect added in v0.29.0

func (x *ProtoPendingHeader) ProtoReflect() protoreflect.Message

func (*ProtoPendingHeader) Reset added in v0.29.0

func (x *ProtoPendingHeader) Reset()

func (*ProtoPendingHeader) String added in v0.29.0

func (x *ProtoPendingHeader) String() string

type ProtoReceiptForStorage added in v0.29.0

type ProtoReceiptForStorage struct {
	PostStateOrStatus []byte               `protobuf:"bytes,1,opt,name=post_state_or_status,json=postStateOrStatus,proto3" json:"post_state_or_status,omitempty"`
	CumulativeGasUsed uint64               `protobuf:"varint,2,opt,name=cumulative_gas_used,json=cumulativeGasUsed,proto3" json:"cumulative_gas_used,omitempty"`
	TxHash            *common.ProtoHash    `protobuf:"bytes,3,opt,name=tx_hash,json=txHash,proto3" json:"tx_hash,omitempty"`
	ContractAddress   *common.ProtoAddress `protobuf:"bytes,4,opt,name=contract_address,json=contractAddress,proto3" json:"contract_address,omitempty"`
	Logs              *ProtoLogsForStorage `protobuf:"bytes,5,opt,name=logs,proto3" json:"logs,omitempty"`
	Etxs              *ProtoTransactions   `protobuf:"bytes,6,opt,name=etxs,proto3" json:"etxs,omitempty"`
	GasUsed           uint64               `protobuf:"varint,7,opt,name=gas_used,json=gasUsed,proto3" json:"gas_used,omitempty"`
	// contains filtered or unexported fields
}

func (*ProtoReceiptForStorage) Descriptor deprecated added in v0.29.0

func (*ProtoReceiptForStorage) Descriptor() ([]byte, []int)

Deprecated: Use ProtoReceiptForStorage.ProtoReflect.Descriptor instead.

func (*ProtoReceiptForStorage) GetContractAddress added in v0.29.0

func (x *ProtoReceiptForStorage) GetContractAddress() *common.ProtoAddress

func (*ProtoReceiptForStorage) GetCumulativeGasUsed added in v0.29.0

func (x *ProtoReceiptForStorage) GetCumulativeGasUsed() uint64

func (*ProtoReceiptForStorage) GetEtxs added in v0.29.0

func (*ProtoReceiptForStorage) GetGasUsed added in v0.29.0

func (x *ProtoReceiptForStorage) GetGasUsed() uint64

func (*ProtoReceiptForStorage) GetLogs added in v0.29.0

func (*ProtoReceiptForStorage) GetPostStateOrStatus added in v0.29.0

func (x *ProtoReceiptForStorage) GetPostStateOrStatus() []byte

func (*ProtoReceiptForStorage) GetTxHash added in v0.29.0

func (x *ProtoReceiptForStorage) GetTxHash() *common.ProtoHash

func (*ProtoReceiptForStorage) ProtoMessage added in v0.29.0

func (*ProtoReceiptForStorage) ProtoMessage()

func (*ProtoReceiptForStorage) ProtoReflect added in v0.29.0

func (x *ProtoReceiptForStorage) ProtoReflect() protoreflect.Message

func (*ProtoReceiptForStorage) Reset added in v0.29.0

func (x *ProtoReceiptForStorage) Reset()

func (*ProtoReceiptForStorage) String added in v0.29.0

func (x *ProtoReceiptForStorage) String() string

type ProtoReceiptsForStorage added in v0.29.0

type ProtoReceiptsForStorage struct {
	Receipts []*ProtoReceiptForStorage `protobuf:"bytes,1,rep,name=receipts,proto3" json:"receipts,omitempty"`
	// contains filtered or unexported fields
}

func (*ProtoReceiptsForStorage) Descriptor deprecated added in v0.29.0

func (*ProtoReceiptsForStorage) Descriptor() ([]byte, []int)

Deprecated: Use ProtoReceiptsForStorage.ProtoReflect.Descriptor instead.

func (*ProtoReceiptsForStorage) GetReceipts added in v0.29.0

func (x *ProtoReceiptsForStorage) GetReceipts() []*ProtoReceiptForStorage

func (*ProtoReceiptsForStorage) ProtoMessage added in v0.29.0

func (*ProtoReceiptsForStorage) ProtoMessage()

func (*ProtoReceiptsForStorage) ProtoReflect added in v0.29.0

func (x *ProtoReceiptsForStorage) ProtoReflect() protoreflect.Message

func (*ProtoReceiptsForStorage) Reset added in v0.29.0

func (x *ProtoReceiptsForStorage) Reset()

func (*ProtoReceiptsForStorage) String added in v0.29.0

func (x *ProtoReceiptsForStorage) String() string

type ProtoTermini added in v0.29.0

type ProtoTermini struct {
	DomTermini []*common.ProtoHash `protobuf:"bytes,1,rep,name=dom_termini,json=domTermini,proto3" json:"dom_termini,omitempty"`
	SubTermini []*common.ProtoHash `protobuf:"bytes,2,rep,name=sub_termini,json=subTermini,proto3" json:"sub_termini,omitempty"`
	// contains filtered or unexported fields
}

func (*ProtoTermini) Descriptor deprecated added in v0.29.0

func (*ProtoTermini) Descriptor() ([]byte, []int)

Deprecated: Use ProtoTermini.ProtoReflect.Descriptor instead.

func (*ProtoTermini) GetDomTermini added in v0.29.0

func (x *ProtoTermini) GetDomTermini() []*common.ProtoHash

func (*ProtoTermini) GetSubTermini added in v0.29.0

func (x *ProtoTermini) GetSubTermini() []*common.ProtoHash

func (*ProtoTermini) ProtoMessage added in v0.29.0

func (*ProtoTermini) ProtoMessage()

func (*ProtoTermini) ProtoReflect added in v0.29.0

func (x *ProtoTermini) ProtoReflect() protoreflect.Message

func (*ProtoTermini) Reset added in v0.29.0

func (x *ProtoTermini) Reset()

func (*ProtoTermini) String added in v0.29.0

func (x *ProtoTermini) String() string

type ProtoTransaction added in v0.29.0

type ProtoTransaction struct {
	Type              *uint64           `protobuf:"varint,1,opt,name=type,proto3,oneof" json:"type,omitempty"`
	To                []byte            `protobuf:"bytes,2,opt,name=to,proto3,oneof" json:"to,omitempty"`
	Nonce             *uint64           `protobuf:"varint,3,opt,name=nonce,proto3,oneof" json:"nonce,omitempty"`
	Value             []byte            `protobuf:"bytes,4,opt,name=value,proto3,oneof" json:"value,omitempty"`
	Gas               *uint64           `protobuf:"varint,5,opt,name=gas,proto3,oneof" json:"gas,omitempty"`
	Data              []byte            `protobuf:"bytes,6,opt,name=data,proto3,oneof" json:"data,omitempty"`
	ChainId           []byte            `protobuf:"bytes,7,opt,name=chain_id,json=chainId,proto3,oneof" json:"chain_id,omitempty"`
	GasFeeCap         []byte            `protobuf:"bytes,8,opt,name=gas_fee_cap,json=gasFeeCap,proto3,oneof" json:"gas_fee_cap,omitempty"`
	GasTipCap         []byte            `protobuf:"bytes,9,opt,name=gas_tip_cap,json=gasTipCap,proto3,oneof" json:"gas_tip_cap,omitempty"`
	AccessList        *ProtoAccessList  `protobuf:"bytes,10,opt,name=access_list,json=accessList,proto3,oneof" json:"access_list,omitempty"`
	V                 []byte            `protobuf:"bytes,11,opt,name=v,proto3,oneof" json:"v,omitempty"`
	R                 []byte            `protobuf:"bytes,12,opt,name=r,proto3,oneof" json:"r,omitempty"`
	S                 []byte            `protobuf:"bytes,13,opt,name=s,proto3,oneof" json:"s,omitempty"`
	OriginatingTxHash *common.ProtoHash `protobuf:"bytes,14,opt,name=originating_tx_hash,json=originatingTxHash,proto3,oneof" json:"originating_tx_hash,omitempty"`
	EtxIndex          *uint32           `protobuf:"varint,15,opt,name=etx_index,json=etxIndex,proto3,oneof" json:"etx_index,omitempty"`
	TxIns             *ProtoTxIns       `protobuf:"bytes,16,opt,name=tx_ins,json=txIns,proto3,oneof" json:"tx_ins,omitempty"`
	TxOuts            *ProtoTxOuts      `protobuf:"bytes,17,opt,name=tx_outs,json=txOuts,proto3,oneof" json:"tx_outs,omitempty"`
	Signature         []byte            `protobuf:"bytes,18,opt,name=signature,proto3,oneof" json:"signature,omitempty"`
	EtxSender         []byte            `protobuf:"bytes,19,opt,name=etx_sender,json=etxSender,proto3,oneof" json:"etx_sender,omitempty"`
	ParentHash        *common.ProtoHash `protobuf:"bytes,20,opt,name=parent_hash,json=parentHash,proto3,oneof" json:"parent_hash,omitempty"`
	MixHash           *common.ProtoHash `protobuf:"bytes,21,opt,name=mix_hash,json=mixHash,proto3,oneof" json:"mix_hash,omitempty"`
	WorkNonce         *uint64           `protobuf:"varint,22,opt,name=work_nonce,json=workNonce,proto3,oneof" json:"work_nonce,omitempty"`
	IsCoinbase        *bool             `protobuf:"varint,23,opt,name=is_coinbase,json=isCoinbase,proto3,oneof" json:"is_coinbase,omitempty"`
	// contains filtered or unexported fields
}

func (*ProtoTransaction) Descriptor deprecated added in v0.29.0

func (*ProtoTransaction) Descriptor() ([]byte, []int)

Deprecated: Use ProtoTransaction.ProtoReflect.Descriptor instead.

func (*ProtoTransaction) GetAccessList added in v0.29.0

func (x *ProtoTransaction) GetAccessList() *ProtoAccessList

func (*ProtoTransaction) GetChainId added in v0.29.0

func (x *ProtoTransaction) GetChainId() []byte

func (*ProtoTransaction) GetData added in v0.29.0

func (x *ProtoTransaction) GetData() []byte

func (*ProtoTransaction) GetEtxIndex added in v0.29.0

func (x *ProtoTransaction) GetEtxIndex() uint32

func (*ProtoTransaction) GetEtxSender added in v0.29.0

func (x *ProtoTransaction) GetEtxSender() []byte

func (*ProtoTransaction) GetGas added in v0.29.0

func (x *ProtoTransaction) GetGas() uint64

func (*ProtoTransaction) GetGasFeeCap added in v0.29.0

func (x *ProtoTransaction) GetGasFeeCap() []byte

func (*ProtoTransaction) GetGasTipCap added in v0.29.0

func (x *ProtoTransaction) GetGasTipCap() []byte

func (*ProtoTransaction) GetIsCoinbase added in v0.30.0

func (x *ProtoTransaction) GetIsCoinbase() bool

func (*ProtoTransaction) GetMixHash added in v0.29.0

func (x *ProtoTransaction) GetMixHash() *common.ProtoHash

func (*ProtoTransaction) GetNonce added in v0.29.0

func (x *ProtoTransaction) GetNonce() uint64

func (*ProtoTransaction) GetOriginatingTxHash added in v0.29.0

func (x *ProtoTransaction) GetOriginatingTxHash() *common.ProtoHash

func (*ProtoTransaction) GetParentHash added in v0.29.0

func (x *ProtoTransaction) GetParentHash() *common.ProtoHash

func (*ProtoTransaction) GetR added in v0.29.0

func (x *ProtoTransaction) GetR() []byte

func (*ProtoTransaction) GetS added in v0.29.0

func (x *ProtoTransaction) GetS() []byte

func (*ProtoTransaction) GetSignature added in v0.29.0

func (x *ProtoTransaction) GetSignature() []byte

func (*ProtoTransaction) GetTo added in v0.29.0

func (x *ProtoTransaction) GetTo() []byte

func (*ProtoTransaction) GetTxIns added in v0.29.0

func (x *ProtoTransaction) GetTxIns() *ProtoTxIns

func (*ProtoTransaction) GetTxOuts added in v0.29.0

func (x *ProtoTransaction) GetTxOuts() *ProtoTxOuts

func (*ProtoTransaction) GetType added in v0.29.0

func (x *ProtoTransaction) GetType() uint64

func (*ProtoTransaction) GetV added in v0.29.0

func (x *ProtoTransaction) GetV() []byte

func (*ProtoTransaction) GetValue added in v0.29.0

func (x *ProtoTransaction) GetValue() []byte

func (*ProtoTransaction) GetWorkNonce added in v0.29.0

func (x *ProtoTransaction) GetWorkNonce() uint64

func (*ProtoTransaction) ProtoMessage added in v0.29.0

func (*ProtoTransaction) ProtoMessage()

func (*ProtoTransaction) ProtoReflect added in v0.29.0

func (x *ProtoTransaction) ProtoReflect() protoreflect.Message

func (*ProtoTransaction) Reset added in v0.29.0

func (x *ProtoTransaction) Reset()

func (*ProtoTransaction) String added in v0.29.0

func (x *ProtoTransaction) String() string

type ProtoTransactions added in v0.29.0

type ProtoTransactions struct {
	Transactions []*ProtoTransaction `protobuf:"bytes,1,rep,name=transactions,proto3" json:"transactions,omitempty"`
	// contains filtered or unexported fields
}

func (*ProtoTransactions) Descriptor deprecated added in v0.29.0

func (*ProtoTransactions) Descriptor() ([]byte, []int)

Deprecated: Use ProtoTransactions.ProtoReflect.Descriptor instead.

func (*ProtoTransactions) GetTransactions added in v0.29.0

func (x *ProtoTransactions) GetTransactions() []*ProtoTransaction

func (*ProtoTransactions) ProtoMessage added in v0.29.0

func (*ProtoTransactions) ProtoMessage()

func (*ProtoTransactions) ProtoReflect added in v0.29.0

func (x *ProtoTransactions) ProtoReflect() protoreflect.Message

func (*ProtoTransactions) Reset added in v0.29.0

func (x *ProtoTransactions) Reset()

func (*ProtoTransactions) String added in v0.29.0

func (x *ProtoTransactions) String() string

type ProtoTxIn added in v0.29.0

type ProtoTxIn struct {
	PreviousOutPoint *ProtoOutPoint `protobuf:"bytes,1,opt,name=previous_out_point,json=previousOutPoint,proto3,oneof" json:"previous_out_point,omitempty"`
	PubKey           []byte         `protobuf:"bytes,2,opt,name=pub_key,json=pubKey,proto3,oneof" json:"pub_key,omitempty"`
	// contains filtered or unexported fields
}

func (*ProtoTxIn) Descriptor deprecated added in v0.29.0

func (*ProtoTxIn) Descriptor() ([]byte, []int)

Deprecated: Use ProtoTxIn.ProtoReflect.Descriptor instead.

func (*ProtoTxIn) GetPreviousOutPoint added in v0.29.0

func (x *ProtoTxIn) GetPreviousOutPoint() *ProtoOutPoint

func (*ProtoTxIn) GetPubKey added in v0.29.0

func (x *ProtoTxIn) GetPubKey() []byte

func (*ProtoTxIn) ProtoMessage added in v0.29.0

func (*ProtoTxIn) ProtoMessage()

func (*ProtoTxIn) ProtoReflect added in v0.29.0

func (x *ProtoTxIn) ProtoReflect() protoreflect.Message

func (*ProtoTxIn) Reset added in v0.29.0

func (x *ProtoTxIn) Reset()

func (*ProtoTxIn) String added in v0.29.0

func (x *ProtoTxIn) String() string

type ProtoTxIns added in v0.29.0

type ProtoTxIns struct {
	TxIns []*ProtoTxIn `protobuf:"bytes,1,rep,name=tx_ins,json=txIns,proto3" json:"tx_ins,omitempty"`
	// contains filtered or unexported fields
}

func (*ProtoTxIns) Descriptor deprecated added in v0.29.0

func (*ProtoTxIns) Descriptor() ([]byte, []int)

Deprecated: Use ProtoTxIns.ProtoReflect.Descriptor instead.

func (*ProtoTxIns) GetTxIns added in v0.29.0

func (x *ProtoTxIns) GetTxIns() []*ProtoTxIn

func (*ProtoTxIns) ProtoMessage added in v0.29.0

func (*ProtoTxIns) ProtoMessage()

func (*ProtoTxIns) ProtoReflect added in v0.29.0

func (x *ProtoTxIns) ProtoReflect() protoreflect.Message

func (*ProtoTxIns) Reset added in v0.29.0

func (x *ProtoTxIns) Reset()

func (*ProtoTxIns) String added in v0.29.0

func (x *ProtoTxIns) String() string

type ProtoTxOut added in v0.29.0

type ProtoTxOut struct {
	Denomination *uint32 `protobuf:"varint,1,opt,name=denomination,proto3,oneof" json:"denomination,omitempty"`
	Address      []byte  `protobuf:"bytes,2,opt,name=address,proto3,oneof" json:"address,omitempty"`
	Lock         []byte  `protobuf:"bytes,3,opt,name=lock,proto3,oneof" json:"lock,omitempty"`
	// contains filtered or unexported fields
}

func (*ProtoTxOut) Descriptor deprecated added in v0.29.0

func (*ProtoTxOut) Descriptor() ([]byte, []int)

Deprecated: Use ProtoTxOut.ProtoReflect.Descriptor instead.

func (*ProtoTxOut) GetAddress added in v0.29.0

func (x *ProtoTxOut) GetAddress() []byte

func (*ProtoTxOut) GetDenomination added in v0.29.0

func (x *ProtoTxOut) GetDenomination() uint32

func (*ProtoTxOut) GetLock added in v0.29.0

func (x *ProtoTxOut) GetLock() []byte

func (*ProtoTxOut) ProtoMessage added in v0.29.0

func (*ProtoTxOut) ProtoMessage()

func (*ProtoTxOut) ProtoReflect added in v0.29.0

func (x *ProtoTxOut) ProtoReflect() protoreflect.Message

func (*ProtoTxOut) Reset added in v0.29.0

func (x *ProtoTxOut) Reset()

func (*ProtoTxOut) String added in v0.29.0

func (x *ProtoTxOut) String() string

type ProtoTxOuts added in v0.29.0

type ProtoTxOuts struct {
	TxOuts []*ProtoTxOut `protobuf:"bytes,1,rep,name=tx_outs,json=txOuts,proto3" json:"tx_outs,omitempty"`
	// contains filtered or unexported fields
}

func (*ProtoTxOuts) Descriptor deprecated added in v0.29.0

func (*ProtoTxOuts) Descriptor() ([]byte, []int)

Deprecated: Use ProtoTxOuts.ProtoReflect.Descriptor instead.

func (*ProtoTxOuts) GetTxOuts added in v0.29.0

func (x *ProtoTxOuts) GetTxOuts() []*ProtoTxOut

func (*ProtoTxOuts) ProtoMessage added in v0.29.0

func (*ProtoTxOuts) ProtoMessage()

func (*ProtoTxOuts) ProtoReflect added in v0.29.0

func (x *ProtoTxOuts) ProtoReflect() protoreflect.Message

func (*ProtoTxOuts) Reset added in v0.29.0

func (x *ProtoTxOuts) Reset()

func (*ProtoTxOuts) String added in v0.29.0

func (x *ProtoTxOuts) String() string

type ProtoWorkObject added in v0.29.0

type ProtoWorkObject struct {
	WoHeader *ProtoWorkObjectHeader `protobuf:"bytes,1,opt,name=wo_header,json=woHeader,proto3,oneof" json:"wo_header,omitempty"`
	WoBody   *ProtoWorkObjectBody   `protobuf:"bytes,2,opt,name=wo_body,json=woBody,proto3,oneof" json:"wo_body,omitempty"`
	Tx       *ProtoTransaction      `protobuf:"bytes,3,opt,name=tx,proto3,oneof" json:"tx,omitempty"`
	// contains filtered or unexported fields
}

func (*ProtoWorkObject) Descriptor deprecated added in v0.29.0

func (*ProtoWorkObject) Descriptor() ([]byte, []int)

Deprecated: Use ProtoWorkObject.ProtoReflect.Descriptor instead.

func (*ProtoWorkObject) GetTx added in v0.29.0

func (x *ProtoWorkObject) GetTx() *ProtoTransaction

func (*ProtoWorkObject) GetWoBody added in v0.29.0

func (x *ProtoWorkObject) GetWoBody() *ProtoWorkObjectBody

func (*ProtoWorkObject) GetWoHeader added in v0.29.0

func (x *ProtoWorkObject) GetWoHeader() *ProtoWorkObjectHeader

func (*ProtoWorkObject) ProtoMessage added in v0.29.0

func (*ProtoWorkObject) ProtoMessage()

func (*ProtoWorkObject) ProtoReflect added in v0.29.0

func (x *ProtoWorkObject) ProtoReflect() protoreflect.Message

func (*ProtoWorkObject) Reset added in v0.29.0

func (x *ProtoWorkObject) Reset()

func (*ProtoWorkObject) String added in v0.29.0

func (x *ProtoWorkObject) String() string

type ProtoWorkObjectBlockView added in v0.29.0

type ProtoWorkObjectBlockView struct {
	WorkObject *ProtoWorkObject `protobuf:"bytes,1,opt,name=work_object,json=workObject,proto3,oneof" json:"work_object,omitempty"`
	// contains filtered or unexported fields
}

func (*ProtoWorkObjectBlockView) Descriptor deprecated added in v0.29.0

func (*ProtoWorkObjectBlockView) Descriptor() ([]byte, []int)

Deprecated: Use ProtoWorkObjectBlockView.ProtoReflect.Descriptor instead.

func (*ProtoWorkObjectBlockView) GetWorkObject added in v0.30.0

func (x *ProtoWorkObjectBlockView) GetWorkObject() *ProtoWorkObject

func (*ProtoWorkObjectBlockView) ProtoMessage added in v0.29.0

func (*ProtoWorkObjectBlockView) ProtoMessage()

func (*ProtoWorkObjectBlockView) ProtoReflect added in v0.29.0

func (x *ProtoWorkObjectBlockView) ProtoReflect() protoreflect.Message

func (*ProtoWorkObjectBlockView) Reset added in v0.29.0

func (x *ProtoWorkObjectBlockView) Reset()

func (*ProtoWorkObjectBlockView) String added in v0.29.0

func (x *ProtoWorkObjectBlockView) String() string

type ProtoWorkObjectBlocksView added in v0.31.0

type ProtoWorkObjectBlocksView struct {
	WorkObjects []*ProtoWorkObjectBlockView `protobuf:"bytes,1,rep,name=work_objects,json=workObjects,proto3" json:"work_objects,omitempty"`
	// contains filtered or unexported fields
}

func (*ProtoWorkObjectBlocksView) Descriptor deprecated added in v0.31.0

func (*ProtoWorkObjectBlocksView) Descriptor() ([]byte, []int)

Deprecated: Use ProtoWorkObjectBlocksView.ProtoReflect.Descriptor instead.

func (*ProtoWorkObjectBlocksView) GetWorkObjects added in v0.31.0

func (x *ProtoWorkObjectBlocksView) GetWorkObjects() []*ProtoWorkObjectBlockView

func (*ProtoWorkObjectBlocksView) ProtoMessage added in v0.31.0

func (*ProtoWorkObjectBlocksView) ProtoMessage()

func (*ProtoWorkObjectBlocksView) ProtoReflect added in v0.31.0

func (*ProtoWorkObjectBlocksView) Reset added in v0.31.0

func (x *ProtoWorkObjectBlocksView) Reset()

func (*ProtoWorkObjectBlocksView) String added in v0.31.0

func (x *ProtoWorkObjectBlocksView) String() string

type ProtoWorkObjectBody added in v0.29.0

type ProtoWorkObjectBody struct {
	Header          *ProtoHeader            `protobuf:"bytes,1,opt,name=header,proto3,oneof" json:"header,omitempty"`
	Transactions    *ProtoTransactions      `protobuf:"bytes,2,opt,name=transactions,proto3,oneof" json:"transactions,omitempty"`
	Uncles          *ProtoWorkObjectHeaders `protobuf:"bytes,3,opt,name=uncles,proto3,oneof" json:"uncles,omitempty"`
	ExtTransactions *ProtoTransactions      `protobuf:"bytes,4,opt,name=ext_transactions,json=extTransactions,proto3,oneof" json:"ext_transactions,omitempty"`
	Manifest        *ProtoManifest          `protobuf:"bytes,5,opt,name=manifest,proto3,oneof" json:"manifest,omitempty"`
	InterlinkHashes *common.ProtoHashes     `protobuf:"bytes,6,opt,name=interlink_hashes,json=interlinkHashes,proto3,oneof" json:"interlink_hashes,omitempty"`
	// contains filtered or unexported fields
}

func (*ProtoWorkObjectBody) Descriptor deprecated added in v0.29.0

func (*ProtoWorkObjectBody) Descriptor() ([]byte, []int)

Deprecated: Use ProtoWorkObjectBody.ProtoReflect.Descriptor instead.

func (*ProtoWorkObjectBody) GetExtTransactions added in v0.29.0

func (x *ProtoWorkObjectBody) GetExtTransactions() *ProtoTransactions

func (*ProtoWorkObjectBody) GetHeader added in v0.29.0

func (x *ProtoWorkObjectBody) GetHeader() *ProtoHeader

func (*ProtoWorkObjectBody) GetInterlinkHashes added in v0.29.0

func (x *ProtoWorkObjectBody) GetInterlinkHashes() *common.ProtoHashes

func (*ProtoWorkObjectBody) GetManifest added in v0.29.0

func (x *ProtoWorkObjectBody) GetManifest() *ProtoManifest

func (*ProtoWorkObjectBody) GetTransactions added in v0.29.0

func (x *ProtoWorkObjectBody) GetTransactions() *ProtoTransactions

func (*ProtoWorkObjectBody) GetUncles added in v0.29.0

func (*ProtoWorkObjectBody) ProtoMessage added in v0.29.0

func (*ProtoWorkObjectBody) ProtoMessage()

func (*ProtoWorkObjectBody) ProtoReflect added in v0.29.0

func (x *ProtoWorkObjectBody) ProtoReflect() protoreflect.Message

func (*ProtoWorkObjectBody) Reset added in v0.29.0

func (x *ProtoWorkObjectBody) Reset()

func (*ProtoWorkObjectBody) String added in v0.29.0

func (x *ProtoWorkObjectBody) String() string

type ProtoWorkObjectHeader added in v0.29.0

type ProtoWorkObjectHeader struct {
	HeaderHash          *common.ProtoHash     `protobuf:"bytes,1,opt,name=header_hash,json=headerHash,proto3,oneof" json:"header_hash,omitempty"`
	ParentHash          *common.ProtoHash     `protobuf:"bytes,2,opt,name=parent_hash,json=parentHash,proto3,oneof" json:"parent_hash,omitempty"`
	Number              []byte                `protobuf:"bytes,3,opt,name=number,proto3,oneof" json:"number,omitempty"`
	Difficulty          []byte                `protobuf:"bytes,4,opt,name=difficulty,proto3,oneof" json:"difficulty,omitempty"`
	TxHash              *common.ProtoHash     `protobuf:"bytes,5,opt,name=tx_hash,json=txHash,proto3,oneof" json:"tx_hash,omitempty"`
	Nonce               *uint64               `protobuf:"varint,6,opt,name=nonce,proto3,oneof" json:"nonce,omitempty"`
	Location            *common.ProtoLocation `protobuf:"bytes,7,opt,name=location,proto3,oneof" json:"location,omitempty"`
	MixHash             *common.ProtoHash     `protobuf:"bytes,8,opt,name=mix_hash,json=mixHash,proto3,oneof" json:"mix_hash,omitempty"`
	Time                *uint64               `protobuf:"varint,9,opt,name=time,proto3,oneof" json:"time,omitempty"`
	PrimeTerminusNumber []byte                `` /* 127-byte string literal not displayed */
	Coinbase            *common.ProtoAddress  `protobuf:"bytes,11,opt,name=coinbase,proto3,oneof" json:"coinbase,omitempty"`
	// contains filtered or unexported fields
}

func (*ProtoWorkObjectHeader) Descriptor deprecated added in v0.29.0

func (*ProtoWorkObjectHeader) Descriptor() ([]byte, []int)

Deprecated: Use ProtoWorkObjectHeader.ProtoReflect.Descriptor instead.

func (*ProtoWorkObjectHeader) GetCoinbase added in v0.30.0

func (x *ProtoWorkObjectHeader) GetCoinbase() *common.ProtoAddress

func (*ProtoWorkObjectHeader) GetDifficulty added in v0.29.0

func (x *ProtoWorkObjectHeader) GetDifficulty() []byte

func (*ProtoWorkObjectHeader) GetHeaderHash added in v0.29.0

func (x *ProtoWorkObjectHeader) GetHeaderHash() *common.ProtoHash

func (*ProtoWorkObjectHeader) GetLocation added in v0.29.0

func (x *ProtoWorkObjectHeader) GetLocation() *common.ProtoLocation

func (*ProtoWorkObjectHeader) GetMixHash added in v0.29.0

func (x *ProtoWorkObjectHeader) GetMixHash() *common.ProtoHash

func (*ProtoWorkObjectHeader) GetNonce added in v0.29.0

func (x *ProtoWorkObjectHeader) GetNonce() uint64

func (*ProtoWorkObjectHeader) GetNumber added in v0.29.0

func (x *ProtoWorkObjectHeader) GetNumber() []byte

func (*ProtoWorkObjectHeader) GetParentHash added in v0.29.0

func (x *ProtoWorkObjectHeader) GetParentHash() *common.ProtoHash

func (*ProtoWorkObjectHeader) GetPrimeTerminusNumber added in v0.30.0

func (x *ProtoWorkObjectHeader) GetPrimeTerminusNumber() []byte

func (*ProtoWorkObjectHeader) GetTime added in v0.29.0

func (x *ProtoWorkObjectHeader) GetTime() uint64

func (*ProtoWorkObjectHeader) GetTxHash added in v0.29.0

func (x *ProtoWorkObjectHeader) GetTxHash() *common.ProtoHash

func (*ProtoWorkObjectHeader) ProtoMessage added in v0.29.0

func (*ProtoWorkObjectHeader) ProtoMessage()

func (*ProtoWorkObjectHeader) ProtoReflect added in v0.29.0

func (x *ProtoWorkObjectHeader) ProtoReflect() protoreflect.Message

func (*ProtoWorkObjectHeader) Reset added in v0.29.0

func (x *ProtoWorkObjectHeader) Reset()

func (*ProtoWorkObjectHeader) String added in v0.29.0

func (x *ProtoWorkObjectHeader) String() string

type ProtoWorkObjectHeaderView added in v0.29.0

type ProtoWorkObjectHeaderView struct {
	WorkObject *ProtoWorkObject `protobuf:"bytes,1,opt,name=work_object,json=workObject,proto3,oneof" json:"work_object,omitempty"`
	// contains filtered or unexported fields
}

func (*ProtoWorkObjectHeaderView) Descriptor deprecated added in v0.29.0

func (*ProtoWorkObjectHeaderView) Descriptor() ([]byte, []int)

Deprecated: Use ProtoWorkObjectHeaderView.ProtoReflect.Descriptor instead.

func (*ProtoWorkObjectHeaderView) GetWorkObject added in v0.30.0

func (x *ProtoWorkObjectHeaderView) GetWorkObject() *ProtoWorkObject

func (*ProtoWorkObjectHeaderView) ProtoMessage added in v0.29.0

func (*ProtoWorkObjectHeaderView) ProtoMessage()

func (*ProtoWorkObjectHeaderView) ProtoReflect added in v0.29.0

func (*ProtoWorkObjectHeaderView) Reset added in v0.29.0

func (x *ProtoWorkObjectHeaderView) Reset()

func (*ProtoWorkObjectHeaderView) String added in v0.29.0

func (x *ProtoWorkObjectHeaderView) String() string

type ProtoWorkObjectHeaders added in v0.29.0

type ProtoWorkObjectHeaders struct {
	WoHeaders []*ProtoWorkObjectHeader `protobuf:"bytes,1,rep,name=wo_headers,json=woHeaders,proto3" json:"wo_headers,omitempty"`
	// contains filtered or unexported fields
}

func (*ProtoWorkObjectHeaders) Descriptor deprecated added in v0.29.0

func (*ProtoWorkObjectHeaders) Descriptor() ([]byte, []int)

Deprecated: Use ProtoWorkObjectHeaders.ProtoReflect.Descriptor instead.

func (*ProtoWorkObjectHeaders) GetWoHeaders added in v0.29.0

func (x *ProtoWorkObjectHeaders) GetWoHeaders() []*ProtoWorkObjectHeader

func (*ProtoWorkObjectHeaders) ProtoMessage added in v0.29.0

func (*ProtoWorkObjectHeaders) ProtoMessage()

func (*ProtoWorkObjectHeaders) ProtoReflect added in v0.29.0

func (x *ProtoWorkObjectHeaders) ProtoReflect() protoreflect.Message

func (*ProtoWorkObjectHeaders) Reset added in v0.29.0

func (x *ProtoWorkObjectHeaders) Reset()

func (*ProtoWorkObjectHeaders) String added in v0.29.0

func (x *ProtoWorkObjectHeaders) String() string

type ProtoWorkObjectShareView added in v0.30.0

type ProtoWorkObjectShareView struct {
	WorkObject *ProtoWorkObject `protobuf:"bytes,1,opt,name=work_object,json=workObject,proto3,oneof" json:"work_object,omitempty"`
	// contains filtered or unexported fields
}

func (*ProtoWorkObjectShareView) Descriptor deprecated added in v0.30.0

func (*ProtoWorkObjectShareView) Descriptor() ([]byte, []int)

Deprecated: Use ProtoWorkObjectShareView.ProtoReflect.Descriptor instead.

func (*ProtoWorkObjectShareView) GetWorkObject added in v0.30.0

func (x *ProtoWorkObjectShareView) GetWorkObject() *ProtoWorkObject

func (*ProtoWorkObjectShareView) ProtoMessage added in v0.30.0

func (*ProtoWorkObjectShareView) ProtoMessage()

func (*ProtoWorkObjectShareView) ProtoReflect added in v0.30.0

func (x *ProtoWorkObjectShareView) ProtoReflect() protoreflect.Message

func (*ProtoWorkObjectShareView) Reset added in v0.30.0

func (x *ProtoWorkObjectShareView) Reset()

func (*ProtoWorkObjectShareView) String added in v0.30.0

func (x *ProtoWorkObjectShareView) String() string

type ProtoWorkObjects added in v0.29.0

type ProtoWorkObjects struct {
	WorkObjects []*ProtoWorkObject `protobuf:"bytes,1,rep,name=work_objects,json=workObjects,proto3" json:"work_objects,omitempty"`
	// contains filtered or unexported fields
}

func (*ProtoWorkObjects) Descriptor deprecated added in v0.29.0

func (*ProtoWorkObjects) Descriptor() ([]byte, []int)

Deprecated: Use ProtoWorkObjects.ProtoReflect.Descriptor instead.

func (*ProtoWorkObjects) GetWorkObjects added in v0.29.0

func (x *ProtoWorkObjects) GetWorkObjects() []*ProtoWorkObject

func (*ProtoWorkObjects) ProtoMessage added in v0.29.0

func (*ProtoWorkObjects) ProtoMessage()

func (*ProtoWorkObjects) ProtoReflect added in v0.29.0

func (x *ProtoWorkObjects) ProtoReflect() protoreflect.Message

func (*ProtoWorkObjects) Reset added in v0.29.0

func (x *ProtoWorkObjects) Reset()

func (*ProtoWorkObjects) String added in v0.29.0

func (x *ProtoWorkObjects) String() string

type QiTx added in v0.29.0

type QiTx struct {
	ChainID *big.Int // replay protection
	TxIn    TxIns    `json:"txIns"`
	TxOut   TxOuts   `json:"txOuts"`

	Signature *schnorr.Signature

	// Work fields
	ParentHash *common.Hash
	MixHash    *common.Hash
	WorkNonce  *BlockNonce
}

type QuaiTx added in v0.29.0

type QuaiTx struct {
	ChainID    *big.Int
	Nonce      uint64
	GasTipCap  *big.Int
	GasFeeCap  *big.Int
	Gas        uint64
	To         *common.Address `rlp:"nilString"` // nil means contract creation
	Value      *big.Int
	Data       []byte
	AccessList AccessList

	// Signature values
	V *big.Int `json:"v" gencodec:"required"`
	R *big.Int `json:"r" gencodec:"required"`
	S *big.Int `json:"s" gencodec:"required"`

	// Work fields
	ParentHash *common.Hash
	MixHash    *common.Hash
	WorkNonce  *BlockNonce
}

type Receipt

type Receipt struct {
	// Consensus fields: These fields are defined by the Yellow Paper
	Type              uint8  `json:"type,omitempty"`
	PostState         []byte `json:"root"`
	Status            uint64 `json:"status"`
	CumulativeGasUsed uint64 `json:"cumulativeGasUsed" gencodec:"required"`
	Bloom             Bloom  `json:"logsBloom"         gencodec:"required"`
	Logs              Logs   `json:"logs"              gencodec:"required"`

	// Implementation fields: These fields are added by quai when processing a transaction.
	// They are stored in the chain database.
	TxHash          common.Hash    `json:"transactionHash" gencodec:"required"`
	ContractAddress common.Address `json:"contractAddress"`
	GasUsed         uint64         `json:"gasUsed" gencodec:"required"`

	// Inclusion information: These fields provide information about the inclusion of the
	// transaction corresponding to this receipt.
	BlockHash        common.Hash  `json:"blockHash,omitempty"`
	BlockNumber      *big.Int     `json:"blockNumber,omitempty"`
	TransactionIndex uint         `json:"transactionIndex"`
	Etxs             Transactions `json:"etxs"`
}

Receipt represents the results of a transaction.

func NewReceipt

func NewReceipt(root []byte, failed bool, cumulativeGasUsed uint64) *Receipt

NewReceipt creates a barebone transaction receipt, copying the init fields. Deprecated: create receipts using a struct literal instead.

func (*Receipt) DecodeRLP

func (r *Receipt) DecodeRLP(s *rlp.Stream) error

DecodeRLP implements rlp.Decoder, and loads the consensus fields of a receipt from an RLP stream.

func (*Receipt) EncodeRLP

func (r *Receipt) EncodeRLP(w io.Writer) error

EncodeRLP implements rlp.Encoder, and flattens the consensus fields of a receipt into an RLP stream.

func (Receipt) MarshalJSON

func (r Receipt) MarshalJSON() ([]byte, error)

MarshalJSON marshals as JSON.

func (*Receipt) Size

func (r *Receipt) Size() common.StorageSize

Size returns the approximate memory used by all internal contents. It is used to approximate and limit the memory consumption of various caches.

func (Receipt) Supported

func (r Receipt) Supported() bool

Supported returns true if the receipt type is supported

func (*Receipt) UnmarshalJSON

func (r *Receipt) UnmarshalJSON(input []byte) error

UnmarshalJSON unmarshals from JSON.

type ReceiptForStorage

type ReceiptForStorage Receipt

ReceiptForStorage is a wrapper around a Receipt that flattens and parses the entire content of a receipt, as opposed to only the consensus fields originally.

func (*ReceiptForStorage) DecodeRLP

func (r *ReceiptForStorage) DecodeRLP(s *rlp.Stream) error

DecodeRLP implements rlp.Decoder, and loads both consensus and implementation fields of a receipt from an RLP stream.

func (*ReceiptForStorage) EncodeRLP

func (r *ReceiptForStorage) EncodeRLP(w io.Writer) error

EncodeRLP implements rlp.Encoder, and flattens all content fields of a receipt into an RLP stream.

func (*ReceiptForStorage) ProtoDecode added in v0.29.0

func (r *ReceiptForStorage) ProtoDecode(protoReceipt *ProtoReceiptForStorage, location common.Location) error

func (*ReceiptForStorage) ProtoEncode added in v0.29.0

func (r *ReceiptForStorage) ProtoEncode() (*ProtoReceiptForStorage, error)

type Receipts

type Receipts []*Receipt

Receipts implements DerivableList for receipts.

func (Receipts) Bytes added in v0.31.0

func (rs Receipts) Bytes(logger *logrus.Logger) []byte

Convert the receipts into their storage form and serialize them

func (Receipts) DeriveFields

func (r Receipts) DeriveFields(config *params.ChainConfig, hash common.Hash, number uint64, txs Transactions) error

DeriveFields fills the receipts with their computed fields based on consensus data and contextual infos like containing block and transactions.

func (Receipts) EncodeIndex

func (rs Receipts) EncodeIndex(i int, w *bytes.Buffer)

EncodeIndex encodes the i'th receipt to w.

func (Receipts) Len

func (rs Receipts) Len() int

Len returns the number of receipts in this list.

type ReceiptsForStorage added in v0.29.0

type ReceiptsForStorage []*ReceiptForStorage

ReceiptsForStorage is a list of ReceiptForStorage.

func (*ReceiptsForStorage) ProtoDecode added in v0.29.0

func (rs *ReceiptsForStorage) ProtoDecode(protoReceipts *ProtoReceiptsForStorage, location common.Location) error

ProtoDecode converts the protobuf to a receipts representation.

func (ReceiptsForStorage) ProtoEncode added in v0.29.0

func (rs ReceiptsForStorage) ProtoEncode() (*ProtoReceiptsForStorage, error)

ProtoEncode converts the receipts to a protobuf representation.

type Signer

type Signer interface {
	// Sender returns the sender address of the transaction.
	Sender(tx *Transaction) (common.Address, error)

	// SignatureValues returns the raw R, S, V values corresponding to the
	// given signature.
	SignatureValues(tx *Transaction, sig []byte) (r, s, v *big.Int, err error)
	ChainID() *big.Int

	// Hash returns 'signature hash', i.e. the transaction hash that is signed by the
	// private key. This hash does not uniquely identify the transaction.
	Hash(tx *Transaction) common.Hash

	// Equal returns true if the given signer is the same as the receiver.
	Equal(Signer) bool

	Location() common.Location
}

Signer encapsulates transaction signature handling. The name of this type is slightly misleading because Signers don't actually sign, they're just for validating and processing of signatures.

func LatestSigner

func LatestSigner(config *params.ChainConfig) Signer

LatestSigner returns the 'most permissive' Signer available for the given chain configuration. Use this in transaction-handling code where the current block number is unknown. If you have the current block number available, use MakeSigner instead.

func LatestSignerForChainID

func LatestSignerForChainID(chainID *big.Int, nodeLocation common.Location) Signer

LatestSigner returns the 'most permissive' Signer available for the given chain configuration. Use this in transaction-handling code where the current block number is unknown. If you have the current block number available, use MakeSigner instead.

Use this in transaction-handling code where the current block number and fork configuration are unknown. If you have a ChainConfig, use LatestSigner instead. If you have a ChainConfig and know the current block number, use MakeSigner instead.

func MakeSigner

func MakeSigner(config *params.ChainConfig, blockNumber *big.Int) Signer

MakeSigner returns a Signer based on the given chain config and block number.

func NewSigner

func NewSigner(chainId *big.Int, nodeLocation common.Location) Signer

NewSigner instantiates a new signer object

type SignerV1

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

SignerV1 is the mainnet launch version of the signer module. Future versions may be defined if protocol changes are required

func (SignerV1) ChainID

func (s SignerV1) ChainID() *big.Int

func (SignerV1) Equal

func (s SignerV1) Equal(s2 Signer) bool

func (SignerV1) Hash

func (s SignerV1) Hash(tx *Transaction) (h common.Hash)

Hash returns the hash to be signed by the sender. It does not uniquely identify the transaction.

func (SignerV1) Location added in v0.29.0

func (s SignerV1) Location() common.Location

func (SignerV1) Sender

func (s SignerV1) Sender(tx *Transaction) (common.Address, error)

func (SignerV1) SignatureValues

func (s SignerV1) SignatureValues(tx *Transaction, sig []byte) (R, S, V *big.Int, err error)

type SpentTxOut added in v0.29.0

type SpentTxOut struct {
	// Amount is the amount of the output.
	Denomination uint8

	// Address is the output holder's address.
	Address []byte

	// Height is the height of the block containing the creating tx.
	Height uint64

	// Denotes if the creating tx is a coinbase.
	IsCoinBase bool
}

SpentTxOut contains a spent transaction output and potentially additional contextual information such as whether or not it was contained in a coinbase transaction, the version of the transaction it was contained in, and which block height the containing transaction was included in. As described in the comments above, the additional contextual information will only be valid when this spent txout is spending the last unspent output of the containing transaction.

type Termini

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

Termini stores the dom terminus (i.e the previous dom block) and subTermini(i.e the dom blocks that have occured in the subordinate chains)

func CopyTermini

func CopyTermini(termini Termini) Termini

func EmptyTermini

func EmptyTermini() Termini

func (*Termini) DecodeRLP

func (t *Termini) DecodeRLP(s *rlp.Stream) error

DecodeRLP decodes the Quai RLP encoding into pending header format.

func (Termini) DomTermini

func (t Termini) DomTermini() []common.Hash

func (Termini) DomTerminiAtIndex

func (t Termini) DomTerminiAtIndex(index int) common.Hash

func (Termini) DomTerminus

func (t Termini) DomTerminus(nodeLocation common.Location) common.Hash

func (Termini) EncodeRLP

func (t Termini) EncodeRLP(w io.Writer) error

EncodeRLP serializes b into the Quai RLP format.

func (*Termini) IsValid

func (t *Termini) IsValid() bool

func (Termini) MarshalJSON

func (t Termini) MarshalJSON() ([]byte, error)

func (*Termini) ProtoDecode added in v0.29.0

func (t *Termini) ProtoDecode(protoTermini *ProtoTermini) error

ProtoDecode deserializes th ProtoTermini into the Termini format

func (Termini) ProtoEncode added in v0.29.0

func (t Termini) ProtoEncode() *ProtoTermini

ProtoEncode serializes t into the Quai Proto Termini format

func (Termini) RPCMarshalTermini

func (t Termini) RPCMarshalTermini() map[string]interface{}

func (*Termini) SetDomTermini

func (t *Termini) SetDomTermini(domTermini []common.Hash)

func (*Termini) SetDomTerminiAtIndex

func (t *Termini) SetDomTerminiAtIndex(val common.Hash, index int)

func (*Termini) SetSubTermini

func (t *Termini) SetSubTermini(subTermini []common.Hash)

func (*Termini) SetSubTerminiAtIndex

func (t *Termini) SetSubTerminiAtIndex(val common.Hash, index int)

func (Termini) String

func (t Termini) String() string

func (Termini) SubTermini

func (t Termini) SubTermini() []common.Hash

func (Termini) SubTerminiAtIndex

func (t Termini) SubTerminiAtIndex(index int) common.Hash

func (*Termini) UnmarshalJSON

func (t *Termini) UnmarshalJSON(input []byte) error

type Transaction

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

Transaction is a Quai transaction.

func MustSignNewTx

func MustSignNewTx(prv *ecdsa.PrivateKey, s Signer, txdata TxData) *Transaction

MustSignNewTx creates a transaction and signs it. This panics if the transaction cannot be signed.

func NewTx

func NewTx(inner TxData) *Transaction

NewTx creates a new transaction.

func SignNewTx

func SignNewTx(prv *ecdsa.PrivateKey, s Signer, txdata TxData) (*Transaction, error)

SignNewTx creates a transaction and signs it.

func SignTx

func SignTx(tx *Transaction, s Signer, prv *ecdsa.PrivateKey) (*Transaction, error)

SignTx signs the transaction using the given signer and private key.

func (*Transaction) AccessList

func (tx *Transaction) AccessList() AccessList

AccessList returns the access list of the transaction.

func (*Transaction) AsMessage

func (tx *Transaction) AsMessage(s Signer, baseFee *big.Int) (Message, error)

AsMessage returns the transaction as a core.Message.

func (*Transaction) AsMessageWithSender

func (tx *Transaction) AsMessageWithSender(s Signer, baseFee *big.Int, sender *common.InternalAddress) (Message, error)

AsMessageWithSender returns the transaction as a core.Message.

func (*Transaction) ChainId

func (tx *Transaction) ChainId() *big.Int

ChainId returns the chain ID of the transaction. The return value will always be non-nil.

func (*Transaction) Cost

func (tx *Transaction) Cost() *big.Int

Cost returns gas * gasPrice + value.

func (*Transaction) Data

func (tx *Transaction) Data() []byte

Data returns the input data of the transaction.

func (*Transaction) DecodeRLP

func (tx *Transaction) DecodeRLP(s *rlp.Stream) error

DecodeRLP implements rlp.Decoder

func (*Transaction) ETXIndex added in v0.29.0

func (tx *Transaction) ETXIndex() uint16

func (*Transaction) ETXSender

func (tx *Transaction) ETXSender() common.Address

func (*Transaction) EffectiveGasTip

func (tx *Transaction) EffectiveGasTip(baseFee *big.Int) (*big.Int, error)

EffectiveGasTip returns the effective miner gasTipCap for the given base fee. Note: if the effective gasTipCap is negative, this method returns both error the actual negative value, _and_ ErrGasFeeCapTooLow

func (*Transaction) EffectiveGasTipCmp

func (tx *Transaction) EffectiveGasTipCmp(other *Transaction, baseFee *big.Int) int

EffectiveGasTipCmp compares the effective gasTipCap of two transactions assuming the given base fee.

func (*Transaction) EffectiveGasTipIntCmp

func (tx *Transaction) EffectiveGasTipIntCmp(other *big.Int, baseFee *big.Int) int

EffectiveGasTipIntCmp compares the effective gasTipCap of a transaction to the given gasTipCap.

func (*Transaction) EffectiveGasTipValue

func (tx *Transaction) EffectiveGasTipValue(baseFee *big.Int) *big.Int

EffectiveGasTipValue is identical to EffectiveGasTip, but does not return an error in case the effective gasTipCap is negative

func (*Transaction) EncodeRLP

func (tx *Transaction) EncodeRLP(w io.Writer) error

EncodeRLP implements rlp.Encoder

func (*Transaction) From

func (tx *Transaction) From(nodeLocation common.Location) *common.Address

func (*Transaction) FromChain

func (tx *Transaction) FromChain(nodeLocation common.Location) common.Location

FromChain returns the chain location this transaction originated from

func (*Transaction) Gas

func (tx *Transaction) Gas() uint64

Gas returns the gas limit of the transaction.

func (*Transaction) GasFeeCap

func (tx *Transaction) GasFeeCap() *big.Int

GasFeeCap returns the fee cap per gas of the transaction.

func (*Transaction) GasFeeCapCmp

func (tx *Transaction) GasFeeCapCmp(other *Transaction) int

GasFeeCapCmp compares the fee cap of two transactions.

func (*Transaction) GasFeeCapIntCmp

func (tx *Transaction) GasFeeCapIntCmp(other *big.Int) int

GasFeeCapIntCmp compares the fee cap of the transaction against the given fee cap.

func (*Transaction) GasPrice

func (tx *Transaction) GasPrice() *big.Int

GasPrice returns the gas price of the transaction.

func (*Transaction) GasTipCap

func (tx *Transaction) GasTipCap() *big.Int

GasTipCap returns the gasTipCap per gas of the transaction.

func (*Transaction) GasTipCapCmp

func (tx *Transaction) GasTipCapCmp(other *Transaction) int

GasTipCapCmp compares the gasTipCap of two transactions.

func (*Transaction) GasTipCapIntCmp

func (tx *Transaction) GasTipCapIntCmp(other *big.Int) int

GasTipCapIntCmp compares the gasTipCap of the transaction against the given gasTipCap.

func (*Transaction) GetEcdsaSignatureValues added in v0.29.0

func (tx *Transaction) GetEcdsaSignatureValues() (v, r, s *big.Int)

GetEcdsaSignatureValues returns the V, R, S signature values of the transaction. The return values should not be modified by the caller.

func (*Transaction) GetSchnorrSignature added in v0.29.0

func (tx *Transaction) GetSchnorrSignature() *schnorr.Signature

func (*Transaction) Hash

func (tx *Transaction) Hash(location ...byte) (h common.Hash)

Hash returns the transaction hash.

func (*Transaction) IsCoinbase added in v0.30.0

func (tx *Transaction) IsCoinbase() bool

func (*Transaction) IsLocal added in v0.29.0

func (tx *Transaction) IsLocal() bool

func (*Transaction) MarshalBinary

func (tx *Transaction) MarshalBinary() ([]byte, error)

MarshalBinary returns the canonical encoding of the transaction.

func (*Transaction) MarshalJSON

func (t *Transaction) MarshalJSON() ([]byte, error)

MarshalJSON marshals as JSON with a hash.

func (*Transaction) MixHash added in v0.29.0

func (tx *Transaction) MixHash() *common.Hash

func (*Transaction) Nonce

func (tx *Transaction) Nonce() uint64

Nonce returns the sender account nonce of the transaction.

func (*Transaction) OriginatingTxHash added in v0.29.0

func (tx *Transaction) OriginatingTxHash() common.Hash

func (*Transaction) ParentHash added in v0.29.0

func (tx *Transaction) ParentHash() *common.Hash

func (*Transaction) ProtoDecode added in v0.29.0

func (tx *Transaction) ProtoDecode(protoTx *ProtoTransaction, location common.Location) error

ProtoDecode deserializes the ProtoTransaction into the Transaction format

func (*Transaction) ProtoEncode added in v0.29.0

func (tx *Transaction) ProtoEncode() (*ProtoTransaction, error)

ProtoEncode serializes tx into the Quai Proto Transaction format

func (*Transaction) ProtoEncodeTxSigningData added in v0.29.0

func (tx *Transaction) ProtoEncodeTxSigningData() *ProtoTransaction

func (*Transaction) SetInner added in v0.29.0

func (tx *Transaction) SetInner(inner TxData)

func (*Transaction) SetLocal added in v0.29.0

func (tx *Transaction) SetLocal(local bool)

func (*Transaction) SetTo added in v0.29.0

func (tx *Transaction) SetTo(addr common.Address)

func (*Transaction) Size

func (tx *Transaction) Size() common.StorageSize

Size returns the true RLP encoded storage size of the transaction, either by encoding and returning it, or returning a previously cached value.

func (*Transaction) To

func (tx *Transaction) To() *common.Address

To returns the recipient address of the transaction. For contract-creation transactions, To returns nil.

func (*Transaction) TxIn added in v0.29.0

func (tx *Transaction) TxIn() TxIns

func (*Transaction) TxOut added in v0.29.0

func (tx *Transaction) TxOut() TxOuts

func (*Transaction) Type

func (tx *Transaction) Type() uint8

Type returns the transaction type.

func (*Transaction) UnmarshalBinary

func (tx *Transaction) UnmarshalBinary(b []byte) error

UnmarshalBinary decodes the canonical encoding of transactions.

func (*Transaction) UnmarshalJSON

func (t *Transaction) UnmarshalJSON(input []byte) error

UnmarshalJSON unmarshals from JSON.

func (*Transaction) Value

func (tx *Transaction) Value() *big.Int

Value returns the ether amount of the transaction.

func (*Transaction) WithSignature

func (tx *Transaction) WithSignature(signer Signer, sig []byte) (*Transaction, error)

WithSignature returns a new transaction with the given signature. This signature needs to be in the [R || S || V] format where V is 0 or 1.

func (*Transaction) WorkNonce added in v0.29.0

func (tx *Transaction) WorkNonce() *BlockNonce

type Transactions

type Transactions []*Transaction

Transactions implements DerivableList for transactions.

func TxDifference

func TxDifference(a, b Transactions) Transactions

TxDifference returns a new set which is the difference between a and b.

func TxDifferenceWithoutETXs added in v0.31.0

func TxDifferenceWithoutETXs(a, b Transactions) Transactions

TxDifference returns a new set which is the difference between a and b without including ETXs.

func (Transactions) EncodeIndex

func (s Transactions) EncodeIndex(i int, w *bytes.Buffer)

EncodeIndex encodes the i'th transaction to w. Note that this does not check for errors because we assume that *Transaction will only ever contain valid txs that were either constructed by decoding or via public API in this package.

func (Transactions) FilterToLocation

func (s Transactions) FilterToLocation(l common.Location) Transactions

FilterByLocation returns the subset of transactions with a 'to' address which belongs the given chain location

func (Transactions) FilterToSub added in v0.30.0

func (s Transactions) FilterToSub(slice common.Location, nodeCtx int, order int) Transactions

FilterToSlice returns the subset of transactions with a 'to' address which belongs to the given sub location, at or above the given minimum context

func (Transactions) Len

func (s Transactions) Len() int

Len returns the length of s.

func (*Transactions) ProtoDecode added in v0.29.0

func (s *Transactions) ProtoDecode(transactions *ProtoTransactions, location common.Location) error

ProtoDecode decodes the ProtoTransactions into the Transactions format

func (Transactions) ProtoEncode added in v0.29.0

func (s Transactions) ProtoEncode() (*ProtoTransactions, error)

ProtoEncode encodes the transactions to the ProtoTransactions format

type TransactionsByPriceAndNonce

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

TransactionsByPriceAndNonce represents a set of transactions that can return transactions in a profit-maximizing sorted order, while supporting removing entire batches of transactions for non-executable accounts.

func NewTransactionsByPriceAndNonce

func NewTransactionsByPriceAndNonce(signer Signer, qiTxs map[common.Hash]*TxWithMinerFee, txs map[common.AddressBytes]Transactions, baseFee *big.Int, sort bool) *TransactionsByPriceAndNonce

NewTransactionsByPriceAndNonce creates a transaction set that can retrieve price sorted transactions in a nonce-honouring way.

Note, the input map is reowned so the caller should not interact any more with if after providing it to the constructor.

func (*TransactionsByPriceAndNonce) GetFee added in v0.29.0

func (t *TransactionsByPriceAndNonce) GetFee() *big.Int

func (*TransactionsByPriceAndNonce) Peek

Peek returns the next transaction by price.

func (*TransactionsByPriceAndNonce) Pop

func (t *TransactionsByPriceAndNonce) Pop()

Pop removes the best transaction, *not* replacing it with the next one from the same account. This should be used when a transaction cannot be executed and hence all subsequent ones should be discarded from the same account.

func (*TransactionsByPriceAndNonce) PopNoSort

func (t *TransactionsByPriceAndNonce) PopNoSort()

Pop the first transaction without sorting

func (*TransactionsByPriceAndNonce) Shift

Shift replaces the current best head with the next one from the same account.

type TrieHasher

type TrieHasher interface {
	Reset()
	Update([]byte, []byte)
	Hash() common.Hash
}

TrieHasher is the tool used to calculate the hash of derivable list. This is internal, do not use.

type TxByNonce

type TxByNonce Transactions

TxByNonce implements the sort interface to allow sorting a list of transactions by their nonces. This is usually only useful for sorting transactions from a single account, otherwise a nonce comparison doesn't make much sense.

func (TxByNonce) Len

func (s TxByNonce) Len() int

func (TxByNonce) Less

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

func (TxByNonce) Swap

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

type TxByPriceAndTime

type TxByPriceAndTime []*TxWithMinerFee

TxByPriceAndTime implements both the sort and the heap interface, making it useful for all at once sorting as well as individually adding and removing elements.

func (TxByPriceAndTime) Len

func (s TxByPriceAndTime) Len() int

func (TxByPriceAndTime) Less

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

func (*TxByPriceAndTime) Pop

func (s *TxByPriceAndTime) Pop() interface{}

func (*TxByPriceAndTime) Push

func (s *TxByPriceAndTime) Push(x interface{})

func (TxByPriceAndTime) Swap

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

type TxData

type TxData interface {
	// contains filtered or unexported methods
}

TxData is the underlying data of a transaction.

This is implemented by QuaiTx, ExternalTx, InternalToExternal, and QiTx.

func GetInnerForTesting

func GetInnerForTesting(tx *Transaction) TxData

This function must only be used by tests

type TxIn added in v0.29.0

type TxIn struct {
	PreviousOutPoint OutPoint `json:"previousOutPoint"`
	PubKey           []byte   `json:"pubKey"`
}

TxIn defines a Qi transaction input

func NewTxIn added in v0.29.0

func NewTxIn(prevOut *OutPoint, pubkey []byte, witness [][]byte) *TxIn

NewTxIn returns a new bitcoin transaction input with the provided previous outpoint point and signature script with a default sequence of MaxTxInSequenceNum.

func (*TxIn) ProtoDecode added in v0.29.0

func (txIn *TxIn) ProtoDecode(protoTxIn *ProtoTxIn) error

func (TxIn) ProtoEncode added in v0.29.0

func (txIn TxIn) ProtoEncode() (*ProtoTxIn, error)

type TxInJSON added in v0.31.0

type TxInJSON struct {
	PreviousOutPoint *OutpointJSON  `json:"previousOutPoint"`
	PubKey           *hexutil.Bytes `json:"pubkey"`
}

type TxIns added in v0.29.0

type TxIns []TxIn

func (*TxIns) ProtoDecode added in v0.29.0

func (txIns *TxIns) ProtoDecode(protoTxIns *ProtoTxIns) error

func (TxIns) ProtoEncode added in v0.29.0

func (txIns TxIns) ProtoEncode() (*ProtoTxIns, error)

type TxOut added in v0.29.0

type TxOut struct {
	Denomination uint8
	Address      []byte
	Lock         *big.Int // Block height the entry unlocks. 0 or nil = unlocked
}

TxOut defines a Qi transaction output.

func NewTxOut added in v0.29.0

func NewTxOut(denomination uint8, address []byte, lock *big.Int) *TxOut

NewTxOut returns a new Qi transaction output with the provided transaction value and address.

func (*TxOut) ProtoDecode added in v0.29.0

func (txOut *TxOut) ProtoDecode(protoTxOut *ProtoTxOut) error

func (TxOut) ProtoEncode added in v0.29.0

func (txOut TxOut) ProtoEncode() (*ProtoTxOut, error)

type TxOutJSON added in v0.31.0

type TxOutJSON struct {
	Address      *hexutil.Bytes  `json:"address"`
	Denomination *hexutil.Uint64 `json:"denomination"`
	Lock         *hexutil.Big    `json:"lock,omitempty"`
}

type TxOuts added in v0.29.0

type TxOuts []TxOut

func (*TxOuts) ProtoDecode added in v0.29.0

func (txOuts *TxOuts) ProtoDecode(protoTxOuts *ProtoTxOuts) error

func (TxOuts) ProtoEncode added in v0.29.0

func (txOuts TxOuts) ProtoEncode() (*ProtoTxOuts, error)

type TxWithMinerFee

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

TxWithMinerFee wraps a transaction with its gas price or effective miner gasTipCap

func NewTxWithMinerFee

func NewTxWithMinerFee(tx *Transaction, baseFee *big.Int, qiTxFee *big.Int) (*TxWithMinerFee, error)

NewTxWithMinerFee creates a wrapped transaction, calculating the effective miner gasTipCap if a base fee is provided. Returns error in case of a negative effective miner gasTipCap.

func (*TxWithMinerFee) MinerFee added in v0.31.0

func (tx *TxWithMinerFee) MinerFee() *big.Int

func (*TxWithMinerFee) Tx added in v0.31.0

func (tx *TxWithMinerFee) Tx() *Transaction

type UtxoEntry added in v0.29.0

type UtxoEntry struct {
	Denomination uint8
	Address      []byte   // The address of the output holder.
	Lock         *big.Int // Block height the entry unlocks. 0 = unlocked
}

UtxoEntry houses details about an individual transaction output in a utxo view such as whether or not it was contained in a coinbase tx, the height of the block that contains the tx, whether or not it is spent, its public key script, and how much it pays.

func NewUtxoEntry added in v0.29.0

func NewUtxoEntry(txOut *TxOut) *UtxoEntry

NewUtxoEntry returns a new UtxoEntry built from the arguments.

func (*UtxoEntry) Clone added in v0.29.0

func (entry *UtxoEntry) Clone() *UtxoEntry

Clone returns a shallow copy of the utxo entry.

type WireQiTx added in v0.29.0

type WireQiTx struct {
	ChainID   *big.Int // replay protection
	TxIn      TxIns
	TxOut     TxOuts
	Signature []byte
}

type WorkObject added in v0.29.0

type WorkObject struct {

	// These fields are used to track
	// inter-peer block relay.
	ReceivedAt   time.Time
	ReceivedFrom interface{}
	// contains filtered or unexported fields
}

func CopyWorkObject added in v0.29.0

func CopyWorkObject(wo *WorkObject) *WorkObject

func EmptyWorkObject added in v0.30.0

func EmptyWorkObject(nodeCtx int) *WorkObject

Construct an empty header

func NewWorkObject added in v0.29.0

func NewWorkObject(woHeader *WorkObjectHeader, woBody *WorkObjectBody, tx *Transaction) *WorkObject

func NewWorkObjectWithHeader added in v0.29.0

func NewWorkObjectWithHeader(header *WorkObject, tx *Transaction, nodeCtx int, woType WorkObjectView) *WorkObject

func NewWorkObjectWithHeaderAndTx added in v0.29.0

func NewWorkObjectWithHeaderAndTx(header *WorkObjectHeader, tx *Transaction) *WorkObject

func (*WorkObject) BaseFee added in v0.29.0

func (wo *WorkObject) BaseFee() *big.Int

func (*WorkObject) Body added in v0.29.0

func (wo *WorkObject) Body() *WorkObjectBody

func (*WorkObject) Coinbase added in v0.29.0

func (wo *WorkObject) Coinbase() common.Address

func (*WorkObject) ConvertToBlockView added in v0.29.0

func (wo *WorkObject) ConvertToBlockView() *WorkObjectBlockView

func (*WorkObject) ConvertToHeaderView added in v0.29.0

func (wo *WorkObject) ConvertToHeaderView() *WorkObjectHeaderView

func (*WorkObject) ConvertToPEtxView added in v0.30.0

func (wo *WorkObject) ConvertToPEtxView() *WorkObject

func (*WorkObject) ConvertToWorkObjectShareView added in v0.30.0

func (wo *WorkObject) ConvertToWorkObjectShareView(txs Transactions) *WorkObjectShareView

func (*WorkObject) Difficulty added in v0.29.0

func (wo *WorkObject) Difficulty() *big.Int

func (*WorkObject) EVMRoot added in v0.29.0

func (wo *WorkObject) EVMRoot() common.Hash

func (*WorkObject) EfficiencyScore added in v0.29.0

func (wo *WorkObject) EfficiencyScore() uint16

func (*WorkObject) EtxEligibleSlices added in v0.29.0

func (wo *WorkObject) EtxEligibleSlices() common.Hash

func (*WorkObject) EtxHash added in v0.29.0

func (wo *WorkObject) EtxHash() common.Hash

func (*WorkObject) EtxRollupHash added in v0.29.0

func (wo *WorkObject) EtxRollupHash() common.Hash

func (*WorkObject) EtxSetRoot added in v0.29.0

func (wo *WorkObject) EtxSetRoot() common.Hash

func (*WorkObject) ExpansionNumber added in v0.29.0

func (wo *WorkObject) ExpansionNumber() uint8

func (*WorkObject) ExtTransactions added in v0.29.0

func (wo *WorkObject) ExtTransactions() Transactions

func (*WorkObject) Extra added in v0.29.0

func (wo *WorkObject) Extra() []byte

func (*WorkObject) GasLimit added in v0.29.0

func (wo *WorkObject) GasLimit() uint64

func (*WorkObject) GasUsed added in v0.29.0

func (wo *WorkObject) GasUsed() uint64

func (*WorkObject) GetAppendTime added in v0.29.0

func (wo *WorkObject) GetAppendTime() time.Duration

GetAppendTime returns the appendTime of the block The appendTime is computed on the first call and cached thereafter.

func (*WorkObject) Hash added in v0.29.0

func (wo *WorkObject) Hash() common.Hash

func (*WorkObject) Header added in v0.29.0

func (wo *WorkObject) Header() *Header

func (*WorkObject) HeaderHash added in v0.29.0

func (wo *WorkObject) HeaderHash() common.Hash

func (*WorkObject) InterlinkHashes added in v0.29.0

func (wo *WorkObject) InterlinkHashes() common.Hashes

func (*WorkObject) InterlinkRootHash added in v0.29.0

func (wo *WorkObject) InterlinkRootHash() common.Hash

func (*WorkObject) IsUncle added in v0.29.0

func (wo *WorkObject) IsUncle() bool

func (*WorkObject) Location added in v0.29.0

func (wo *WorkObject) Location() common.Location

func (*WorkObject) Manifest added in v0.29.0

func (wo *WorkObject) Manifest() BlockManifest

func (*WorkObject) ManifestHash added in v0.29.0

func (wo *WorkObject) ManifestHash(nodeCtx int) common.Hash

func (*WorkObject) MarshalJSON added in v0.29.0

func (wo *WorkObject) MarshalJSON() ([]byte, error)

func (*WorkObject) MixHash added in v0.29.0

func (wo *WorkObject) MixHash() common.Hash

func (*WorkObject) Nonce added in v0.29.0

func (wo *WorkObject) Nonce() BlockNonce

func (*WorkObject) NonceU64 added in v0.29.0

func (wo *WorkObject) NonceU64() uint64

func (*WorkObject) Number added in v0.29.0

func (wo *WorkObject) Number(nodeCtx int) *big.Int

func (*WorkObject) NumberArray added in v0.29.0

func (wo *WorkObject) NumberArray() []*big.Int

func (*WorkObject) NumberU64 added in v0.29.0

func (wo *WorkObject) NumberU64(nodeCtx int) uint64

func (*WorkObject) ParentDeltaS added in v0.29.0

func (wo *WorkObject) ParentDeltaS(nodeCtx int) *big.Int

func (*WorkObject) ParentEntropy added in v0.29.0

func (wo *WorkObject) ParentEntropy(nodeCtx int) *big.Int

func (*WorkObject) ParentHash added in v0.29.0

func (wo *WorkObject) ParentHash(nodeCtx int) common.Hash

func (*WorkObject) ParentUncledSubDeltaS added in v0.29.0

func (wo *WorkObject) ParentUncledSubDeltaS(nodeCtx int) *big.Int

func (*WorkObject) PrimeTerminus added in v0.29.0

func (wo *WorkObject) PrimeTerminus() common.Hash

func (*WorkObject) PrimeTerminusNumber added in v0.30.0

func (wo *WorkObject) PrimeTerminusNumber() *big.Int

func (*WorkObject) ProtoDecode added in v0.29.0

func (wo *WorkObject) ProtoDecode(data *ProtoWorkObject, location common.Location, woType WorkObjectView) error

func (*WorkObject) ProtoEncode added in v0.29.0

func (wo *WorkObject) ProtoEncode(woType WorkObjectView) (*ProtoWorkObject, error)

func (*WorkObject) QiTransactions added in v0.29.0

func (wo *WorkObject) QiTransactions() []*Transaction

func (*WorkObject) QiTransactionsWithoutCoinbase added in v0.29.0

func (wo *WorkObject) QiTransactionsWithoutCoinbase() []*Transaction

func (*WorkObject) RPCMarshalWorkObject added in v0.29.0

func (wo *WorkObject) RPCMarshalWorkObject() map[string]interface{}

func (*WorkObject) ReceiptHash added in v0.29.0

func (wo *WorkObject) ReceiptHash() common.Hash

func (*WorkObject) SealHash added in v0.29.0

func (wo *WorkObject) SealHash() common.Hash

func (*WorkObject) SetAppendTime added in v0.29.0

func (wo *WorkObject) SetAppendTime(appendTime time.Duration)

func (*WorkObject) SetBody added in v0.29.0

func (wo *WorkObject) SetBody(body *WorkObjectBody)

func (*WorkObject) SetMixHash added in v0.29.0

func (wo *WorkObject) SetMixHash(mixHash common.Hash)

func (*WorkObject) SetNumber added in v0.29.0

func (wo *WorkObject) SetNumber(val *big.Int, nodeCtx int)

func (*WorkObject) SetParentHash added in v0.29.0

func (wo *WorkObject) SetParentHash(val common.Hash, nodeCtx int)

func (*WorkObject) SetTx added in v0.29.0

func (wo *WorkObject) SetTx(tx *Transaction)

func (*WorkObject) SetWorkObjectHeader added in v0.29.0

func (wo *WorkObject) SetWorkObjectHeader(header *WorkObjectHeader)

func (*WorkObject) Size added in v0.29.0

func (wo *WorkObject) Size() common.StorageSize

Size returns the true RLP encoded storage size of the block, either by encoding and returning it, or returning a previsouly cached value.

func (*WorkObject) ThresholdCount added in v0.29.0

func (wo *WorkObject) ThresholdCount() uint16

func (*WorkObject) Time added in v0.29.0

func (wo *WorkObject) Time() uint64

func (*WorkObject) Transactions added in v0.29.0

func (wo *WorkObject) Transactions() Transactions

func (*WorkObject) TransactionsInfo added in v0.30.0

func (wo *WorkObject) TransactionsInfo() map[string]interface{}

func (*WorkObject) TransactionsWithReceipts added in v0.30.0

func (wo *WorkObject) TransactionsWithReceipts() []*Transaction

func (*WorkObject) Tx added in v0.29.0

func (wo *WorkObject) Tx() *Transaction

func (*WorkObject) TxHash added in v0.29.0

func (wo *WorkObject) TxHash() common.Hash

func (*WorkObject) UTXORoot added in v0.29.0

func (wo *WorkObject) UTXORoot() common.Hash

func (*WorkObject) UncleHash added in v0.29.0

func (wo *WorkObject) UncleHash() common.Hash

func (*WorkObject) UncledS added in v0.29.0

func (wo *WorkObject) UncledS() *big.Int

func (*WorkObject) Uncles added in v0.29.0

func (wo *WorkObject) Uncles() []*WorkObjectHeader

func (*WorkObject) UnmarshalJSON added in v0.29.0

func (wo *WorkObject) UnmarshalJSON(input []byte) error

func (*WorkObject) WithBody added in v0.29.0

func (wo *WorkObject) WithBody(header *Header, txs []*Transaction, etxs []*Transaction, uncles []*WorkObjectHeader, manifest BlockManifest, interlinkHashes common.Hashes) *WorkObject

func (*WorkObject) WorkObjectHeader added in v0.29.0

func (wo *WorkObject) WorkObjectHeader() *WorkObjectHeader

type WorkObjectBlockView added in v0.29.0

type WorkObjectBlockView struct {
	*WorkObject
}

func (*WorkObjectBlockView) ProtoDecode added in v0.29.0

func (wob *WorkObjectBlockView) ProtoDecode(data *ProtoWorkObjectBlockView, location common.Location) error

func (*WorkObjectBlockView) ProtoEncode added in v0.29.0

func (wo *WorkObjectBlockView) ProtoEncode() (*ProtoWorkObjectBlockView, error)

type WorkObjectBody added in v0.29.0

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

func CopyWorkObjectBody added in v0.29.0

func CopyWorkObjectBody(wb *WorkObjectBody) *WorkObjectBody

func EmptyWorkObjectBody added in v0.30.0

func EmptyWorkObjectBody() *WorkObjectBody

func NewWoBody added in v0.31.0

func NewWoBody(header *Header, txs []*Transaction, etxs []*Transaction, uncles []*WorkObjectHeader, manifest BlockManifest, interlinkHashes common.Hashes) *WorkObjectBody

func NewWorkObjectBody added in v0.29.0

func NewWorkObjectBody(header *Header, txs []*Transaction, etxs []*Transaction, uncles []*WorkObjectHeader, manifest BlockManifest, receipts []*Receipt, hasher TrieHasher, nodeCtx int) (*WorkObjectBody, error)

func (*WorkObjectBody) ExtTransactions added in v0.29.0

func (wb *WorkObjectBody) ExtTransactions() []*Transaction

func (*WorkObjectBody) ExternalTransactions added in v0.29.0

func (wb *WorkObjectBody) ExternalTransactions() []*Transaction

func (*WorkObjectBody) Header added in v0.29.0

func (wb *WorkObjectBody) Header() *Header

func (*WorkObjectBody) InterlinkHashes added in v0.29.0

func (wb *WorkObjectBody) InterlinkHashes() common.Hashes

func (*WorkObjectBody) Manifest added in v0.29.0

func (wb *WorkObjectBody) Manifest() BlockManifest

func (*WorkObjectBody) MarshalJSON added in v0.29.0

func (wb *WorkObjectBody) MarshalJSON() ([]byte, error)

func (*WorkObjectBody) ProtoDecode added in v0.29.0

func (wb *WorkObjectBody) ProtoDecode(data *ProtoWorkObjectBody, location common.Location, woType WorkObjectView) error

func (*WorkObjectBody) ProtoDecodeHeader added in v0.29.0

func (wb *WorkObjectBody) ProtoDecodeHeader(data *ProtoWorkObjectBody, location common.Location) error

func (*WorkObjectBody) ProtoEncode added in v0.29.0

func (wb *WorkObjectBody) ProtoEncode(woType WorkObjectView) (*ProtoWorkObjectBody, error)

func (*WorkObjectBody) RPCMarshalWorkObjectBody added in v0.29.0

func (wb *WorkObjectBody) RPCMarshalWorkObjectBody() map[string]interface{}

func (*WorkObjectBody) SetExtTransactions added in v0.29.0

func (wb *WorkObjectBody) SetExtTransactions(transactions []*Transaction)

func (*WorkObjectBody) SetHeader added in v0.29.0

func (wb *WorkObjectBody) SetHeader(header *Header)

func (*WorkObjectBody) SetInterlinkHashes added in v0.29.0

func (wb *WorkObjectBody) SetInterlinkHashes(interlinkHashes common.Hashes)

func (*WorkObjectBody) SetManifest added in v0.29.0

func (wb *WorkObjectBody) SetManifest(manifest BlockManifest)

func (*WorkObjectBody) SetTransactions added in v0.29.0

func (wb *WorkObjectBody) SetTransactions(transactions []*Transaction)

func (*WorkObjectBody) SetUncles added in v0.29.0

func (wb *WorkObjectBody) SetUncles(uncles []*WorkObjectHeader)

func (*WorkObjectBody) Transactions added in v0.29.0

func (wb *WorkObjectBody) Transactions() []*Transaction

func (*WorkObjectBody) Uncles added in v0.29.0

func (wb *WorkObjectBody) Uncles() []*WorkObjectHeader

func (*WorkObjectBody) UnmarshalJSON added in v0.29.0

func (wb *WorkObjectBody) UnmarshalJSON(input []byte) error

type WorkObjectHeader added in v0.29.0

type WorkObjectHeader struct {
	PowHash   atomic.Value
	PowDigest atomic.Value
	// contains filtered or unexported fields
}

func CopyWorkObjectHeader added in v0.29.0

func CopyWorkObjectHeader(wh *WorkObjectHeader) *WorkObjectHeader

func NewWorkObjectHeader added in v0.29.0

func NewWorkObjectHeader(headerHash common.Hash, parentHash common.Hash, number *big.Int, difficulty *big.Int, primeTerminusNumber *big.Int, txHash common.Hash, nonce BlockNonce, time uint64, location common.Location, coinbase common.Address) *WorkObjectHeader

func (*WorkObjectHeader) Coinbase added in v0.30.0

func (wh *WorkObjectHeader) Coinbase() common.Address

func (*WorkObjectHeader) Difficulty added in v0.29.0

func (wh *WorkObjectHeader) Difficulty() *big.Int

func (*WorkObjectHeader) Hash added in v0.29.0

func (wh *WorkObjectHeader) Hash() (hash common.Hash)

func (*WorkObjectHeader) HeaderHash added in v0.29.0

func (wh *WorkObjectHeader) HeaderHash() common.Hash

func (*WorkObjectHeader) Location added in v0.29.0

func (wh *WorkObjectHeader) Location() common.Location

func (*WorkObjectHeader) MarshalJSON added in v0.29.0

func (wh *WorkObjectHeader) MarshalJSON() ([]byte, error)

func (*WorkObjectHeader) MixHash added in v0.29.0

func (wh *WorkObjectHeader) MixHash() common.Hash

func (*WorkObjectHeader) Nonce added in v0.29.0

func (wh *WorkObjectHeader) Nonce() BlockNonce

func (*WorkObjectHeader) NonceU64 added in v0.29.0

func (wh *WorkObjectHeader) NonceU64() uint64

func (*WorkObjectHeader) Number added in v0.29.0

func (wh *WorkObjectHeader) Number() *big.Int

func (*WorkObjectHeader) NumberU64 added in v0.29.0

func (wh *WorkObjectHeader) NumberU64() uint64

func (*WorkObjectHeader) ParentHash added in v0.29.0

func (wh *WorkObjectHeader) ParentHash() common.Hash

func (*WorkObjectHeader) PrimeTerminusNumber added in v0.30.0

func (wh *WorkObjectHeader) PrimeTerminusNumber() *big.Int

func (*WorkObjectHeader) ProtoDecode added in v0.29.0

func (wh *WorkObjectHeader) ProtoDecode(data *ProtoWorkObjectHeader, location common.Location) error

func (*WorkObjectHeader) ProtoEncode added in v0.29.0

func (wh *WorkObjectHeader) ProtoEncode() (*ProtoWorkObjectHeader, error)

func (*WorkObjectHeader) RPCMarshalWorkObjectHeader added in v0.29.0

func (wh *WorkObjectHeader) RPCMarshalWorkObjectHeader() map[string]interface{}

func (*WorkObjectHeader) SealEncode added in v0.29.0

func (wh *WorkObjectHeader) SealEncode() *ProtoWorkObjectHeader

func (*WorkObjectHeader) SealHash added in v0.29.0

func (wh *WorkObjectHeader) SealHash() (hash common.Hash)

func (*WorkObjectHeader) SetCoinbase added in v0.30.0

func (wh *WorkObjectHeader) SetCoinbase(coinbase common.Address)

func (*WorkObjectHeader) SetDifficulty added in v0.29.0

func (wh *WorkObjectHeader) SetDifficulty(difficulty *big.Int)

func (*WorkObjectHeader) SetHeaderHash added in v0.29.0

func (wh *WorkObjectHeader) SetHeaderHash(headerHash common.Hash)

func (*WorkObjectHeader) SetLocation added in v0.29.0

func (wh *WorkObjectHeader) SetLocation(location common.Location)

func (*WorkObjectHeader) SetMixHash added in v0.29.0

func (wh *WorkObjectHeader) SetMixHash(mixHash common.Hash)

func (*WorkObjectHeader) SetNonce added in v0.29.0

func (wh *WorkObjectHeader) SetNonce(nonce BlockNonce)

func (*WorkObjectHeader) SetNumber added in v0.29.0

func (wh *WorkObjectHeader) SetNumber(number *big.Int)

func (*WorkObjectHeader) SetParentHash added in v0.29.0

func (wh *WorkObjectHeader) SetParentHash(parentHash common.Hash)

func (*WorkObjectHeader) SetPrimeTerminusNumber added in v0.30.0

func (wh *WorkObjectHeader) SetPrimeTerminusNumber(primeTerminusNumber *big.Int)

func (*WorkObjectHeader) SetTime added in v0.29.0

func (wh *WorkObjectHeader) SetTime(val uint64)

func (*WorkObjectHeader) SetTxHash added in v0.29.0

func (wh *WorkObjectHeader) SetTxHash(txHash common.Hash)

func (*WorkObjectHeader) Time added in v0.29.0

func (wh *WorkObjectHeader) Time() uint64

func (*WorkObjectHeader) TxHash added in v0.29.0

func (wh *WorkObjectHeader) TxHash() common.Hash

func (*WorkObjectHeader) UnmarshalJSON added in v0.29.0

func (wh *WorkObjectHeader) UnmarshalJSON(input []byte) error

type WorkObjectHeaderView added in v0.29.0

type WorkObjectHeaderView struct {
	*WorkObject
}

func (*WorkObjectHeaderView) ProtoDecode added in v0.29.0

func (wo *WorkObjectHeaderView) ProtoDecode(data *ProtoWorkObjectHeaderView, location common.Location) error

func (*WorkObjectHeaderView) ProtoEncode added in v0.29.0

type WorkObjectShareView added in v0.30.0

type WorkObjectShareView struct {
	*WorkObject
}

func (*WorkObjectShareView) ProtoDecode added in v0.30.0

func (wos *WorkObjectShareView) ProtoDecode(data *ProtoWorkObjectShareView, location common.Location) error

func (*WorkObjectShareView) ProtoEncode added in v0.30.0

func (wo *WorkObjectShareView) ProtoEncode() (*ProtoWorkObjectShareView, error)

type WorkObjectView added in v0.29.0

type WorkObjectView int
const (
	BlockObject WorkObjectView = iota
	BlockObjects
	TxObject
	PEtxObject
	HeaderObject
	PhObject
	WorkShareObject
	WorkShareTxObject
)

Work object types

type WorkObjects added in v0.29.0

type WorkObjects []*WorkObject

Jump to

Keyboard shortcuts

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