Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BlockState ¶
type BlockState struct { LastBlock BlockCtx FinalizedStateRoot hash.Hash EpochGas uint64 EpochCheaters meta.Cheaters ValidatorStates []ValidatorBlockState NextValidatorProfiles ValidatorProfiles DirtyRules metatechchain.Rules AdvanceEpochs idx.Epoch }
func (BlockState) Copy ¶
func (bs BlockState) Copy() BlockState
func (*BlockState) GetValidatorState ¶
func (bs *BlockState) GetValidatorState(id idx.ValidatorID, validators *pos.Validators) *ValidatorBlockState
type ConfirmedEventsModule ¶
type ConfirmedEventsModule interface {
Start(bs BlockState, es EpochState) ConfirmedEventsProcessor
}
type ConfirmedEventsProcessor ¶
type ConfirmedEventsProcessor interface { ProcessConfirmedEvent(inter.EventI) Finalize(block BlockCtx, blockSkipped bool) BlockState }
type EVM ¶
type EVM interface {
Start(block BlockCtx, statedb *state.StateDB, reader evmcore.DummyChain, onNewLog func(*types.Log), net metatechchain.Rules) EVMProcessor
}
type EVMProcessor ¶
type EpochState ¶
type EpochState struct { Epoch idx.Epoch EpochStart inter.Timestamp PrevEpochStart inter.Timestamp EpochStateRoot hash.Hash Validators *pos.Validators ValidatorStates []ValidatorEpochState ValidatorProfiles ValidatorProfiles Rules metatechchain.Rules }
func (EpochState) Copy ¶
func (es EpochState) Copy() EpochState
func (EpochState) Duration ¶
func (es EpochState) Duration() inter.Timestamp
func (*EpochState) GetValidatorState ¶
func (es *EpochState) GetValidatorState(id idx.ValidatorID, validators *pos.Validators) *ValidatorEpochState
func (EpochState) Hash ¶
func (es EpochState) Hash() hash.Hash
type SealerModule ¶
type SealerModule interface {
Start(block BlockCtx, bs BlockState, es EpochState) SealerProcessor
}
type SealerProcessor ¶
type SealerProcessor interface { EpochSealing() bool SealEpoch() (BlockState, EpochState) Update(bs BlockState, es EpochState) }
type TxListener ¶
type TxListener interface { OnNewLog(*types.Log) OnNewReceipt(tx *types.Transaction, r *types.Receipt, originator idx.ValidatorID) Finalize() BlockState Update(bs BlockState, es EpochState) }
type TxListenerModule ¶
type TxListenerModule interface {
Start(block BlockCtx, bs BlockState, es EpochState, statedb *state.StateDB) TxListener
}
type TxTransactor ¶
type TxTransactor interface {
PopInternalTxs(block BlockCtx, bs BlockState, es EpochState, sealing bool, statedb *state.StateDB) types.Transactions
}
type ValidatorBlockState ¶
type ValidatorEpochState ¶
type ValidatorProfiles ¶
type ValidatorProfiles map[idx.ValidatorID]drivertype.Validator
func (ValidatorProfiles) Copy ¶
func (vv ValidatorProfiles) Copy() ValidatorProfiles
func (*ValidatorProfiles) DecodeRLP ¶
func (vv *ValidatorProfiles) DecodeRLP(s *rlp.Stream) error
DecodeRLP is for RLP deserialization.
func (ValidatorProfiles) EncodeRLP ¶
func (vv ValidatorProfiles) EncodeRLP(w io.Writer) error
EncodeRLP is for RLP serialization.
func (ValidatorProfiles) SortedArray ¶
func (vv ValidatorProfiles) SortedArray() []drivertype.ValidatorAndID
Click to show internal directories.
Click to hide internal directories.