inter

package
v0.0.0-...-9aa21c9 Latest Latest
Warning

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

Go to latest
Published: Oct 24, 2021 License: MIT Imports: 16 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ShortTermGas    = 0
	LongTermGas     = 1
	GasPowerConfigs = 2
)
View Source
const SigSize = 64

Variables

View Source
var (
	// EmptyTxHash is hash of empty transactions list. Used to check that event doesn't have transactions not having full event.
	EmptyTxHash = hash.Hash(types.DeriveSha(types.Transactions{}, new(trie.Trie)))
)
View Source
var (
	ErrSerMalformedEvent = errors.New("serialization of malformed event")
)
View Source
var ErrUnknownTxType = errors.New("unknown tx type")

Functions

func FilterSkippedTxs

func FilterSkippedTxs(txs types.Transactions, skippedTxs []uint32) types.Transactions

func TransactionMarshalCSER

func TransactionMarshalCSER(w *cser.Writer, tx *types.Transaction) error

func TransactionUnmarshalCSER

func TransactionUnmarshalCSER(r *cser.Reader) (*types.Transaction, error)

Types

type Block

type Block struct {
	Time        Timestamp
	Atropos     hash.Event
	Events      hash.Events
	Txs         []common.Hash
	InternalTxs []common.Hash
	SkippedTxs  []uint32 // indexes of skipped txs, starting from first tx of first event, ending with last tx of last event
	GasUsed     uint64
	Root        hash.Hash
}

func (*Block) EstimateSize

func (b *Block) EstimateSize() int

func (*Block) NotSkippedTxs

func (b *Block) NotSkippedTxs() []common.Hash

type Event

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

func (*Event) CreationTime

func (e *Event) CreationTime() Timestamp

func (*Event) Extra

func (e *Event) Extra() []byte

func (*Event) GasPowerLeft

func (e *Event) GasPowerLeft() GasPowerLeft

func (*Event) GasPowerUsed

func (e *Event) GasPowerUsed() uint64

func (*Event) HashToSign

func (e *Event) HashToSign() hash.Hash

func (*Event) MarshalBinary

func (e *Event) MarshalBinary() ([]byte, error)

MarshalBinary implements encoding.BinaryMarshaller interface.

func (*Event) MarshalCSER

func (e *Event) MarshalCSER(w *cser.Writer) error

func (*Event) MedianTime

func (e *Event) MedianTime() Timestamp

func (*Event) NoTxs

func (e *Event) NoTxs() bool

func (*Event) PrevEpochHash

func (e *Event) PrevEpochHash() *hash.Hash

func (*Event) TxHash

func (e *Event) TxHash() hash.Hash

type EventI

type EventI interface {
	dag.Event
	CreationTime() Timestamp
	MedianTime() Timestamp
	PrevEpochHash() *hash.Hash
	Extra() []byte
	TxHash() hash.Hash
	NoTxs() bool
	GasPowerLeft() GasPowerLeft
	GasPowerUsed() uint64
	HashToSign() hash.Hash
}

type EventIs

type EventIs []EventI

EventIs is a ordered slice of events.

func (*EventIs) Add

func (ee *EventIs) Add(e ...EventI)

Add appends hash to the slice.

func (EventIs) Bases

func (ee EventIs) Bases() dag.Events

func (EventIs) IDs

func (ee EventIs) IDs() hash.Events

func (EventIs) Len

func (hh EventIs) Len() int

func (EventIs) Less

func (hh EventIs) Less(i, j int) bool

func (EventIs) String

func (ee EventIs) String() string

String returns human readable representation.

func (EventIs) Swap

func (hh EventIs) Swap(i, j int)

type EventPayload

type EventPayload struct {
	SignedEvent
	// contains filtered or unexported fields
}

func (*EventPayload) CreationTime

func (e *EventPayload) CreationTime() Timestamp

func (*EventPayload) DecodeRLP

func (e *EventPayload) DecodeRLP(src *rlp.Stream) error

DecodeRLP implements rlp.Decoder interface.

func (*EventPayload) EncodeRLP

func (e *EventPayload) EncodeRLP(w io.Writer) error

EncodeRLP implements rlp.Encoder interface.

func (*EventPayload) Extra

func (e *EventPayload) Extra() []byte

func (*EventPayload) GasPowerLeft

func (e *EventPayload) GasPowerLeft() GasPowerLeft

func (*EventPayload) GasPowerUsed

func (e *EventPayload) GasPowerUsed() uint64

func (*EventPayload) MarshalBinary

func (e *EventPayload) MarshalBinary() ([]byte, error)

MarshalBinary implements encoding.BinaryMarshaller interface.

func (*EventPayload) MarshalCSER

func (e *EventPayload) MarshalCSER(w *cser.Writer) error

func (*EventPayload) MedianTime

func (e *EventPayload) MedianTime() Timestamp

func (*EventPayload) NoTxs

func (e *EventPayload) NoTxs() bool

func (*EventPayload) PrevEpochHash

func (e *EventPayload) PrevEpochHash() *hash.Hash

func (*EventPayload) Sig

func (e *EventPayload) Sig() Signature

func (*EventPayload) Size

func (e *EventPayload) Size() int

func (*EventPayload) TxHash

func (e *EventPayload) TxHash() hash.Hash

func (*EventPayload) Txs

func (e *EventPayload) Txs() types.Transactions

func (*EventPayload) UnmarshalBinary

func (e *EventPayload) UnmarshalBinary(raw []byte) (err error)

UnmarshalBinary implements encoding.BinaryUnmarshaller interface.

type EventPayloadI

type EventPayloadI interface {
	EventI
	Sig() Signature
	Txs() types.Transactions
}

type EventPayloads

type EventPayloads []*EventPayload

EventPayloads is a ordered slice of EventPayload.

func (*EventPayloads) Add

func (ee *EventPayloads) Add(e ...*EventPayload)

Add appends hash to the slice.

func (EventPayloads) Bases

func (ee EventPayloads) Bases() dag.Events

func (EventPayloads) IDs

func (ee EventPayloads) IDs() hash.Events

func (EventPayloads) Len

func (hh EventPayloads) Len() int

func (EventPayloads) Less

func (hh EventPayloads) Less(i, j int) bool

func (EventPayloads) String

func (ee EventPayloads) String() string

String returns human readable representation.

func (EventPayloads) Swap

func (hh EventPayloads) Swap(i, j int)

type Events

type Events []*Event

Events is a ordered slice of events.

func (*Events) Add

func (ee *Events) Add(e ...*Event)

Add appends hash to the slice.

func (Events) Bases

func (ee Events) Bases() dag.Events

func (Events) IDs

func (ee Events) IDs() hash.Events

func (Events) Interfaces

func (ee Events) Interfaces() EventIs

func (Events) Len

func (hh Events) Len() int

func (Events) Less

func (hh Events) Less(i, j int) bool

func (Events) String

func (ee Events) String() string

String returns human readable representation.

func (Events) Swap

func (hh Events) Swap(i, j int)

type GasPowerLeft

type GasPowerLeft struct {
	Gas [GasPowerConfigs]uint64
}

GasPowerLeft is long-term gas power left and short-term gas power left

func (GasPowerLeft) Add

func (g GasPowerLeft) Add(diff uint64)

Add add to all gas power lefts

func (GasPowerLeft) Max

func (g GasPowerLeft) Max() uint64

Max returns maximum within long-term gas power left and short-term gas power left

func (GasPowerLeft) Min

func (g GasPowerLeft) Min() uint64

Min returns minimum within long-term gas power left and short-term gas power left

func (GasPowerLeft) String

func (g GasPowerLeft) String() string

String returns string representation.

func (GasPowerLeft) Sub

func (g GasPowerLeft) Sub(diff uint64) GasPowerLeft

Sub subtracts from all gas power lefts

type MutableEventPayload

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

func (*MutableEventPayload) Build

func (e *MutableEventPayload) Build() *EventPayload

func (*MutableEventPayload) CreationTime

func (e *MutableEventPayload) CreationTime() Timestamp

func (*MutableEventPayload) DecodeRLP

func (e *MutableEventPayload) DecodeRLP(src *rlp.Stream) error

DecodeRLP implements rlp.Decoder interface.

func (*MutableEventPayload) Extra

func (e *MutableEventPayload) Extra() []byte

func (*MutableEventPayload) GasPowerLeft

func (e *MutableEventPayload) GasPowerLeft() GasPowerLeft

func (*MutableEventPayload) GasPowerUsed

func (e *MutableEventPayload) GasPowerUsed() uint64

func (*MutableEventPayload) HashToSign

func (e *MutableEventPayload) HashToSign() hash.Hash

func (*MutableEventPayload) MedianTime

func (e *MutableEventPayload) MedianTime() Timestamp

func (*MutableEventPayload) NoTxs

func (e *MutableEventPayload) NoTxs() bool

func (*MutableEventPayload) PrevEpochHash

func (e *MutableEventPayload) PrevEpochHash() *hash.Hash

func (*MutableEventPayload) SetCreationTime

func (e *MutableEventPayload) SetCreationTime(v Timestamp)

func (*MutableEventPayload) SetExtra

func (e *MutableEventPayload) SetExtra(v []byte)

func (*MutableEventPayload) SetGasPowerLeft

func (e *MutableEventPayload) SetGasPowerLeft(v GasPowerLeft)

func (*MutableEventPayload) SetGasPowerUsed

func (e *MutableEventPayload) SetGasPowerUsed(v uint64)

func (*MutableEventPayload) SetMedianTime

func (e *MutableEventPayload) SetMedianTime(v Timestamp)

func (*MutableEventPayload) SetPrevEpochHash

func (e *MutableEventPayload) SetPrevEpochHash(v *hash.Hash)

func (*MutableEventPayload) SetSig

func (e *MutableEventPayload) SetSig(v Signature)

func (*MutableEventPayload) SetTxHash

func (e *MutableEventPayload) SetTxHash(v hash.Hash)

func (*MutableEventPayload) SetTxs

func (e *MutableEventPayload) SetTxs(v types.Transactions)

func (*MutableEventPayload) Sig

func (e *MutableEventPayload) Sig() Signature

func (*MutableEventPayload) Size

func (e *MutableEventPayload) Size() int

func (*MutableEventPayload) TxHash

func (e *MutableEventPayload) TxHash() hash.Hash

func (*MutableEventPayload) Txs

func (e *MutableEventPayload) Txs() types.Transactions

func (*MutableEventPayload) UnmarshalBinary

func (e *MutableEventPayload) UnmarshalBinary(raw []byte) (err error)

UnmarshalBinary implements encoding.BinaryUnmarshaller interface.

func (*MutableEventPayload) UnmarshalCSER

func (e *MutableEventPayload) UnmarshalCSER(r *cser.Reader) error

type Signature

type Signature [SigSize]byte

Signature is a secp256k1 in R|S format

func BytesToSignature

func BytesToSignature(b []byte) (sig Signature)

func (Signature) Bytes

func (s Signature) Bytes() []byte

type SignedEvent

type SignedEvent struct {
	Event
	// contains filtered or unexported fields
}

func (*SignedEvent) CreationTime

func (e *SignedEvent) CreationTime() Timestamp

func (*SignedEvent) Extra

func (e *SignedEvent) Extra() []byte

func (*SignedEvent) GasPowerLeft

func (e *SignedEvent) GasPowerLeft() GasPowerLeft

func (*SignedEvent) GasPowerUsed

func (e *SignedEvent) GasPowerUsed() uint64

func (*SignedEvent) MedianTime

func (e *SignedEvent) MedianTime() Timestamp

func (*SignedEvent) NoTxs

func (e *SignedEvent) NoTxs() bool

func (*SignedEvent) PrevEpochHash

func (e *SignedEvent) PrevEpochHash() *hash.Hash

func (*SignedEvent) Sig

func (e *SignedEvent) Sig() Signature

func (*SignedEvent) TxHash

func (e *SignedEvent) TxHash() hash.Hash

type Timestamp

type Timestamp uint64

Timestamp is a UNIX nanoseconds timestamp

func BytesToTimestamp

func BytesToTimestamp(b []byte) Timestamp

BytesToTimestamp converts bytes to timestamp.

func FromUnix

func FromUnix(t int64) Timestamp

func MaxTimestamp

func MaxTimestamp(x, y Timestamp) Timestamp

MaxTimestamp return max value.

func (Timestamp) Bytes

func (t Timestamp) Bytes() []byte

Bytes gets the byte representation of the index.

func (Timestamp) Time

func (t Timestamp) Time() time.Time

func (Timestamp) Unix

func (t Timestamp) Unix() int64

Unix returns t as a Unix time, the number of seconds elapsed since January 1, 1970 UTC. The result does not depend on the location associated with t.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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