Documentation
¶
Index ¶
- Constants
- func Execute(currentBlockNumber uint64, stateDB *statedb.StateDB, ...) (*types.ServerMetadata, error)
- func NewBlockContext(currentBlockNumber uint64, blockDB keyvaluedb.KeyValueDB) vm.BlockContext
- func NewChainConfig(chainID *big.Int) *params.ChainConfig
- func NewFeeCreditRecordID(shardPart []byte, unitPart []byte) types.UnitID
- func NewTxContext(attr *evmsdk.TxAttributes, gasPrice *big.Int) vm.TxContext
- func NewUnitData(unitID types.UnitID) (types.UnitData, error)
- func NewVMConfig() vm.Config
- type FeeAccount
- type FeeCalculator
- type Module
- type Observability
- type Option
- func WithBlockDB(blockDB keyvaluedb.KeyValueDB) Option
- func WithBlockGasLimit(limit uint64) Option
- func WithGasPrice(gasPrice uint64) Option
- func WithHashAlgorithm(algorithm gocrypto.Hash) Option
- func WithMoneyPartitionID(moneyPartitionID types.PartitionID) Option
- func WithState(s *state.State) Option
- func WithTrustBase(tb types.RootTrustBase) Option
- type Options
- type TxSystem
- func (m *TxSystem) BeginBlock(roundNo uint64) error
- func (m *TxSystem) Commit(uc *types.UnicityCertificate) error
- func (m *TxSystem) CommittedUC() *types.UnicityCertificate
- func (m *TxSystem) CurrentBlockNumber() uint64
- func (m *TxSystem) EndBlock() (txsystem.StateSummary, error)
- func (m *TxSystem) Execute(tx *types.TransactionOrder) (txr *types.TransactionRecord, err error)
- func (m *TxSystem) IsFeelessMode() bool
- func (m *TxSystem) IsPermissionedMode() bool
- func (m *TxSystem) Revert()
- func (m *TxSystem) State() txsystem.StateReader
- func (m *TxSystem) StateSize() (uint64, error)
- func (m *TxSystem) StateSummary() (txsystem.StateSummary, error)
- type TxValidationContext
- func (vc *TxValidationContext) CalculateCost() uint64
- func (vc *TxValidationContext) CurrentRound() uint64
- func (vc *TxValidationContext) GasAvailable() uint64
- func (vc *TxValidationContext) GetData() []byte
- func (vc *TxValidationContext) GetUnit(id types.UnitID, committed bool) (*state.Unit, error)
- func (vc *TxValidationContext) SetData(data []byte)
- func (vc *TxValidationContext) SpendGas(gas uint64) error
- func (vc *TxValidationContext) TransactionOrder() (*types.TransactionOrder, error)
- func (vc *TxValidationContext) TrustBase(epoch uint64) (types.RootTrustBase, error)
Constants ¶
View Source
const ( UnitIDLength = UnitPartLength + TypePartLength UnitPartLength = 32 TypePartLength = 0 )
View Source
const DefaultBlockGasLimit = 15000000
View Source
const DefaultGasPrice = 210000000
Variables ¶
This section is empty.
Functions ¶
func Execute ¶
func Execute(currentBlockNumber uint64, stateDB *statedb.StateDB, blockDB keyvaluedb.KeyValueDB, attr *evmsdk.TxAttributes, _ *evmsdk.TxAuthProof, partitionIdentifier types.PartitionID, gp *core.GasPool, gasUnitPrice *big.Int, fake bool, log *slog.Logger) (*types.ServerMetadata, error)
func NewBlockContext ¶
func NewBlockContext(currentBlockNumber uint64, blockDB keyvaluedb.KeyValueDB) vm.BlockContext
func NewChainConfig ¶
func NewChainConfig(chainID *big.Int) *params.ChainConfig
NewChainConfig returns an Ethereum ChainConfig for EVM state transitions.
func NewFeeCreditRecordID ¶
func NewTxContext ¶
func NewVMConfig ¶
Types ¶
type FeeAccount ¶
type FeeAccount struct {
// contains filtered or unexported fields
}
func (*FeeAccount) GenericTransactionValidator ¶
func (f *FeeAccount) GenericTransactionValidator() genericTransactionValidator
func (*FeeAccount) TxHandlers ¶
func (f *FeeAccount) TxHandlers() map[uint16]txtypes.TxExecutor
type FeeCalculator ¶
type FeeCalculator func() uint64
func FixedFee ¶
func FixedFee(fee uint64) FeeCalculator
type Module ¶
type Module struct {
// contains filtered or unexported fields
}
func NewEVMModule ¶
func (*Module) GenericTransactionValidator ¶
func (m *Module) GenericTransactionValidator() genericTransactionValidator
func (*Module) StartBlockFunc ¶
func (*Module) TxHandlers ¶
func (m *Module) TxHandlers() map[uint16]txtypes.TxExecutor
type Observability ¶
type Option ¶
type Option func(*Options)
func WithBlockDB ¶
func WithBlockDB(blockDB keyvaluedb.KeyValueDB) Option
func WithBlockGasLimit ¶
func WithGasPrice ¶
func WithHashAlgorithm ¶
func WithMoneyPartitionID ¶
func WithMoneyPartitionID(moneyPartitionID types.PartitionID) Option
func WithTrustBase ¶
func WithTrustBase(tb types.RootTrustBase) Option
type TxSystem ¶
type TxSystem struct {
// contains filtered or unexported fields
}
func NewEVMTxSystem ¶
func NewEVMTxSystem(networkID types.NetworkID, partitionID types.PartitionID, observe Observability, opts ...Option) (*TxSystem, error)
func (*TxSystem) BeginBlock ¶
func (*TxSystem) CommittedUC ¶
func (m *TxSystem) CommittedUC() *types.UnicityCertificate
func (*TxSystem) CurrentBlockNumber ¶
func (*TxSystem) Execute ¶
func (m *TxSystem) Execute(tx *types.TransactionOrder) (txr *types.TransactionRecord, err error)
func (*TxSystem) IsFeelessMode ¶
func (*TxSystem) IsPermissionedMode ¶
func (*TxSystem) State ¶
func (m *TxSystem) State() txsystem.StateReader
func (*TxSystem) StateSummary ¶
func (m *TxSystem) StateSummary() (txsystem.StateSummary, error)
type TxValidationContext ¶
type TxValidationContext struct { Tx *types.TransactionOrder NetworkID types.NetworkID PartitionID types.PartitionID BlockNumber uint64 CustomData []byte // contains filtered or unexported fields }
func (*TxValidationContext) CalculateCost ¶
func (vc *TxValidationContext) CalculateCost() uint64
func (*TxValidationContext) CurrentRound ¶
func (vc *TxValidationContext) CurrentRound() uint64
func (*TxValidationContext) GasAvailable ¶
func (vc *TxValidationContext) GasAvailable() uint64
func (*TxValidationContext) GetData ¶
func (vc *TxValidationContext) GetData() []byte
func (*TxValidationContext) SetData ¶
func (vc *TxValidationContext) SetData(data []byte)
func (*TxValidationContext) SpendGas ¶
func (vc *TxValidationContext) SpendGas(gas uint64) error
func (*TxValidationContext) TransactionOrder ¶
func (vc *TxValidationContext) TransactionOrder() (*types.TransactionOrder, error)
func (*TxValidationContext) TrustBase ¶
func (vc *TxValidationContext) TrustBase(epoch uint64) (types.RootTrustBase, error)
Source Files
¶
Click to show internal directories.
Click to hide internal directories.