Documentation ¶
Overview ¶
Package protocol is a generated GoMock package.
Index ¶
- Constants
- Variables
- func CalcBaseFee(g genesis.Blockchain, parent *TipInfo) *big.Int
- func CalcBlobFee(excessBlobGas uint64) *big.Int
- func CalcExcessBlobGas(parentExcessBlobGas uint64, parentBlobGasUsed uint64) uint64
- func EffectiveGasPrice(ctx context.Context, tx action.TxCommon) *big.Int
- func GetVMConfigCtx(ctx context.Context) (vm.Config, bool)
- func HashStringToAddress(str string) address.Address
- func NewKVStoreForTrieWithStateManager(ns string, sm StateManager) trie.KVStore
- func NewKVStoreForTrieWithStateReader(ns string, sr StateReader) trie.KVStore
- func SplitGas(ctx context.Context, tx action.TxDynamicGas, usedGas uint64) (*big.Int, *big.Int, error)
- func VerifyEIP1559Header(g genesis.Blockchain, parent *TipInfo, header blockHeader) error
- func VerifyEIP4844Header(parent *TipInfo, header blockHeader) error
- func WithActionCtx(ctx context.Context, ac ActionCtx) context.Context
- func WithBlockCtx(ctx context.Context, blk BlockCtx) context.Context
- func WithBlockchainCtx(ctx context.Context, bc BlockchainCtx) context.Context
- func WithFeatureCtx(ctx context.Context) context.Context
- func WithFeatureWithHeightCtx(ctx context.Context) context.Context
- func WithRegistry(ctx context.Context, reg *Registry) context.Context
- func WithVMConfigCtx(ctx context.Context, vmConfig vm.Config) context.Context
- type AccountState
- type ActionCtx
- type ActionHandler
- type ActionValidator
- type BaseStateContext
- type BlockCtx
- type BlockchainCtx
- type CheckFunc
- type Committer
- type DepositGas
- type DepositOption
- type DepositOptionCfg
- type Dock
- type FeatureCtx
- type FeatureWithHeightCtx
- type GenericValidator
- type GenesisStateCreator
- type MockActionHandler
- type MockActionHandlerMockRecorder
- type MockActionValidator
- type MockActionValidatorMockRecorder
- type MockCommitter
- type MockCommitterMockRecorder
- type MockGenesisStateCreator
- type MockGenesisStateCreatorMockRecorder
- type MockPostSystemActionsCreator
- type MockPostSystemActionsCreatorMockRecorder
- type MockPreCommitter
- type MockPreCommitterMockRecorder
- type MockPreStatesCreator
- type MockPreStatesCreatorMockRecorder
- type MockProtocol
- func (m *MockProtocol) EXPECT() *MockProtocolMockRecorder
- func (m *MockProtocol) ForceRegister(arg0 *Registry) error
- func (m *MockProtocol) Handle(arg0 context.Context, arg1 action.Envelope, arg2 StateManager) (*action.Receipt, error)
- func (m *MockProtocol) Name() string
- func (m *MockProtocol) ReadState(arg0 context.Context, arg1 StateReader, arg2 []byte, arg3 ...[]byte) ([]byte, uint64, error)
- func (m *MockProtocol) Register(arg0 *Registry) error
- type MockProtocolMockRecorder
- func (mr *MockProtocolMockRecorder) ForceRegister(arg0 interface{}) *gomock.Call
- func (mr *MockProtocolMockRecorder) Handle(arg0, arg1, arg2 interface{}) *gomock.Call
- func (mr *MockProtocolMockRecorder) Name() *gomock.Call
- func (mr *MockProtocolMockRecorder) ReadState(arg0, arg1, arg2 interface{}, arg3 ...interface{}) *gomock.Call
- func (mr *MockProtocolMockRecorder) Register(arg0 interface{}) *gomock.Call
- type MockStarter
- type MockStarterMockRecorder
- type Parameters
- type PostSystemActionsCreator
- type PreCommitter
- type PreStatesCreator
- type Protocol
- type Registry
- type SerializableBytes
- type SimulateOption
- type SimulateOptionConfig
- type Starter
- type StateConfig
- type StateContext
- type StateManager
- type StateOption
- type StateReader
- type TipInfo
- type View
Constants ¶
const (
// SystemNamespace is the namespace to store system information such as candidates/probationList/unproductiveDelegates
SystemNamespace = "System"
)
Variables ¶
var (
ErrNoName = errors.New("name does not exist")
)
Errors
var ( // ErrUnimplemented indicates a method is not implemented yet ErrUnimplemented = errors.New("method is unimplemented") )
var ( // MinTipCap is the minimum tip cap MinTipCap = big.NewInt(1) )
Functions ¶
func CalcBaseFee ¶
func CalcBaseFee(g genesis.Blockchain, parent *TipInfo) *big.Int
CalcBaseFee calculates the basefee of the header.
func CalcBlobFee ¶
CalcBlobFee calculates the blobfee from the header's excess blob gas field.
func CalcExcessBlobGas ¶
CalcExcessBlobGas calculates the excess blob gas after applying the set of blobs on top of the excess blob gas.
func GetVMConfigCtx ¶
GetVMConfigCtx returns the vm config from context
func HashStringToAddress ¶
HashStringToAddress generates the contract address from the protocolID of each protocol
func NewKVStoreForTrieWithStateManager ¶
func NewKVStoreForTrieWithStateManager(ns string, sm StateManager) trie.KVStore
NewKVStoreForTrieWithStateManager creates a trie.KVStore with state manager
func NewKVStoreForTrieWithStateReader ¶
func NewKVStoreForTrieWithStateReader(ns string, sr StateReader) trie.KVStore
NewKVStoreForTrieWithStateReader creates a trie.KVStore with state reader
func VerifyEIP1559Header ¶
func VerifyEIP1559Header(g genesis.Blockchain, parent *TipInfo, header blockHeader) error
func VerifyEIP4844Header ¶
VerifyEIP4844Header verifies the presence of the excessBlobGas field and that if the current block contains no transactions, the excessBlobGas is updated accordingly.
func WithActionCtx ¶
WithActionCtx add ActionCtx into context.
func WithBlockCtx ¶
WithBlockCtx add BlockCtx into context.
func WithBlockchainCtx ¶
func WithBlockchainCtx(ctx context.Context, bc BlockchainCtx) context.Context
WithBlockchainCtx add BlockchainCtx into context.
func WithFeatureCtx ¶
WithFeatureCtx add FeatureCtx into context.
func WithFeatureWithHeightCtx ¶
WithFeatureWithHeightCtx add FeatureWithHeightCtx into context.
func WithRegistry ¶
WithRegistry adds registry to context
Types ¶
type AccountState ¶
AccountState defines a function to return the account state of a given address
type ActionCtx ¶
type ActionCtx struct { // Caller is the address of whom issues this action Caller address.Address // ActionHash is the hash of the action with the sealed envelope ActionHash hash.Hash256 // GasPrice is the action gas price GasPrice *big.Int // IntrinsicGas is the action intrinsic gas IntrinsicGas uint64 // Nonce is the nonce of the action Nonce uint64 // ReadOnly indicates two scenarios: eth_estimateGas and eth_call ReadOnly bool }
ActionCtx provides action auxiliary information.
func GetActionCtx ¶
GetActionCtx gets ActionCtx
func MustGetActionCtx ¶
MustGetActionCtx must get ActionCtx . If context doesn't exist, this function panic.
type ActionHandler ¶
type ActionHandler interface {
Handle(context.Context, action.Envelope, StateManager) (*action.Receipt, error)
}
ActionHandler is the interface for the action handlers. For each incoming action, the assembled actions will be called one by one to process it. ActionHandler implementation is supposed to parse the sub-type of the action to decide if it wants to handle this action or not.
type ActionValidator ¶
ActionValidator is the interface of validating an action
type BaseStateContext ¶
type BaseStateContext struct { Parameter *Parameters Method *abi.Method }
BaseStateContext base state context
func (*BaseStateContext) Parameters ¶
func (r *BaseStateContext) Parameters() *Parameters
Parameters base state parameters
type BlockCtx ¶
type BlockCtx struct { // height of block containing those actions BlockHeight uint64 // timestamp of block containing those actions BlockTimeStamp time.Time // gas Limit for perform those actions GasLimit uint64 // Producer is the address of whom composes the block containing this action Producer address.Address // AccumTips is the accumulated tips of the block AccumulatedTips big.Int // BaseFee is the base fee of the block BaseFee *big.Int // ExcessBlobGas is the excess blob gas of the block ExcessBlobGas uint64 // SkipSidecarValidation dictates to validate sidecar (for blob tx) or not SkipSidecarValidation bool }
BlockCtx provides block auxiliary information.
func MustGetBlockCtx ¶
MustGetBlockCtx must get BlockCtx . If context doesn't exist, this function panic.
type BlockchainCtx ¶
type BlockchainCtx struct { // Tip is the information of tip block Tip TipInfo //ChainID is the native chain ID ChainID uint32 // EvmNetworkID is the EVM network ID EvmNetworkID uint32 }
BlockchainCtx provides blockchain auxiliary information.
func GetBlockchainCtx ¶
func GetBlockchainCtx(ctx context.Context) (BlockchainCtx, bool)
GetBlockchainCtx gets BlockchainCtx
func MustGetBlockchainCtx ¶
func MustGetBlockchainCtx(ctx context.Context) BlockchainCtx
MustGetBlockchainCtx must get BlockchainCtx. If context doesn't exist, this function panic.
type Committer ¶
type Committer interface {
Commit(context.Context, StateManager) error
}
Committer performs commit action of the protocol
type DepositGas ¶
type DepositGas func(context.Context, StateManager, *big.Int, ...DepositOption) ([]*action.TransactionLog, error)
DepositGas deposits gas to rewarding pool and burns baseFee
type DepositOption ¶
type DepositOption func(*DepositOptionCfg)
func BlobGasFeeOption ¶
func BlobGasFeeOption(blobGasFee *big.Int) DepositOption
func PriorityFeeOption ¶
func PriorityFeeOption(priorityFee *big.Int) DepositOption
type Dock ¶
type Dock interface { ProtocolDirty(string) bool Load(string, string, interface{}) error Unload(string, string, interface{}) error Reset() }
Dock defines an interface for protocol to read/write their private data in StateReader/Manager data are stored as interface{}, user needs to type-assert on their own upon Unload()
type FeatureCtx ¶
type FeatureCtx struct { FixDoubleChargeGas bool SystemWideActionGasLimit bool NotFixTopicCopyBug bool SetRevertMessageToReceipt bool FixGetHashFnHeight bool FixSortCacheContractsAndUsePendingNonce bool AsyncContractTrie bool AddOutOfGasToTransactionLog bool AddChainIDToConfig bool UseV2Storage bool CannotUnstakeAgain bool SkipStakingIndexer bool ReturnFetchError bool CannotTranferToSelf bool NewStakingReceiptFormat bool UpdateBlockMeta bool CurrentEpochProductivity bool FixSnapshotOrder bool AllowCorrectDefaultChainID bool CorrectGetHashFn bool CorrectTxLogIndex bool RevertLog bool TolerateLegacyAddress bool CreateLegacyNonceAccount bool FixGasAndNonceUpdate bool FixUnproductiveDelegates bool CorrectGasRefund bool SkipSystemActionNonce bool ValidateSystemAction bool AllowCorrectChainIDOnly bool AddContractStakingVotes bool FixContractStakingWeightedVotes bool ExecutionSizeLimit32KB bool UseZeroNonceForFreshAccount bool CandidateRegisterMustWithStake bool DisableDelegateEndorsement bool RefactorFreshAccountConversion bool SuicideTxLogMismatchPanic bool PanicUnrecoverableError bool CandidateIdentifiedByOwner bool UseTxContainer bool LimitedStakingContract bool MigrateNativeStake bool AddClaimRewardAddress bool EnforceLegacyEndorsement bool EnableAccessListTx bool EnableDynamicFeeTx bool EnableBlobTransaction bool SufficentBalanceGuarantee bool EnableCancunEVM bool UnfoldContainerBeforeValidate bool CorrectValidationOrder bool UnstakedButNotClearSelfStakeAmount bool EnableNewTxTypes bool VerifyNotContainerBeforeRun bool ValidateActionWithState bool CheckStakingDurationUpperLimit bool DisallowSpecialAddressInTx bool FixRevertSnapshot bool }
FeatureCtx provides features information.
func GetFeatureCtx ¶
func GetFeatureCtx(ctx context.Context) (FeatureCtx, bool)
GetFeatureCtx gets FeatureCtx.
func MustGetFeatureCtx ¶
func MustGetFeatureCtx(ctx context.Context) FeatureCtx
MustGetFeatureCtx must get FeatureCtx. If context doesn't exist, this function panic.
type FeatureWithHeightCtx ¶
type FeatureWithHeightCtx struct { GetUnproductiveDelegates CheckFunc ReadStateFromDB CheckFunc UseV2Staking CheckFunc EnableNativeStaking CheckFunc StakingCorrectGas CheckFunc CalculateProbationList CheckFunc LoadCandidatesLegacy CheckFunc CandCenterHasAlias CheckFunc }
FeatureWithHeightCtx provides feature check functions.
func GetFeatureWithHeightCtx ¶
func GetFeatureWithHeightCtx(ctx context.Context) (FeatureWithHeightCtx, bool)
GetFeatureWithHeightCtx gets FeatureWithHeightCtx.
func MustGetFeatureWithHeightCtx ¶
func MustGetFeatureWithHeightCtx(ctx context.Context) FeatureWithHeightCtx
MustGetFeatureWithHeightCtx must get FeatureWithHeightCtx. If context doesn't exist, this function panic.
type GenericValidator ¶
type GenericValidator struct {
// contains filtered or unexported fields
}
GenericValidator is the validator for generic action verification
func NewGenericValidator ¶
func NewGenericValidator(sr StateReader, accountState AccountState) *GenericValidator
NewGenericValidator constructs a new genericValidator
func (*GenericValidator) Validate ¶
func (v *GenericValidator) Validate(ctx context.Context, selp *action.SealedEnvelope) error
Validate validates a generic action
func (*GenericValidator) ValidateWithState ¶ added in v2.1.0
func (v *GenericValidator) ValidateWithState(ctx context.Context, selp *action.SealedEnvelope) error
type GenesisStateCreator ¶
type GenesisStateCreator interface {
CreateGenesisStates(context.Context, StateManager) error
}
GenesisStateCreator creates some genesis states
type MockActionHandler ¶
type MockActionHandler struct {
// contains filtered or unexported fields
}
MockActionHandler is a mock of ActionHandler interface.
func NewMockActionHandler ¶
func NewMockActionHandler(ctrl *gomock.Controller) *MockActionHandler
NewMockActionHandler creates a new mock instance.
func (*MockActionHandler) EXPECT ¶
func (m *MockActionHandler) EXPECT() *MockActionHandlerMockRecorder
EXPECT returns an object that allows the caller to indicate expected use.
type MockActionHandlerMockRecorder ¶
type MockActionHandlerMockRecorder struct {
// contains filtered or unexported fields
}
MockActionHandlerMockRecorder is the mock recorder for MockActionHandler.
func (*MockActionHandlerMockRecorder) Handle ¶
func (mr *MockActionHandlerMockRecorder) Handle(arg0, arg1, arg2 interface{}) *gomock.Call
Handle indicates an expected call of Handle.
type MockActionValidator ¶
type MockActionValidator struct {
// contains filtered or unexported fields
}
MockActionValidator is a mock of ActionValidator interface.
func NewMockActionValidator ¶
func NewMockActionValidator(ctrl *gomock.Controller) *MockActionValidator
NewMockActionValidator creates a new mock instance.
func (*MockActionValidator) EXPECT ¶
func (m *MockActionValidator) EXPECT() *MockActionValidatorMockRecorder
EXPECT returns an object that allows the caller to indicate expected use.
func (*MockActionValidator) Validate ¶
func (m *MockActionValidator) Validate(arg0 context.Context, arg1 action.Envelope, arg2 StateReader) error
Validate mocks base method.
type MockActionValidatorMockRecorder ¶
type MockActionValidatorMockRecorder struct {
// contains filtered or unexported fields
}
MockActionValidatorMockRecorder is the mock recorder for MockActionValidator.
func (*MockActionValidatorMockRecorder) Validate ¶
func (mr *MockActionValidatorMockRecorder) Validate(arg0, arg1, arg2 interface{}) *gomock.Call
Validate indicates an expected call of Validate.
type MockCommitter ¶
type MockCommitter struct {
// contains filtered or unexported fields
}
MockCommitter is a mock of Committer interface.
func NewMockCommitter ¶
func NewMockCommitter(ctrl *gomock.Controller) *MockCommitter
NewMockCommitter creates a new mock instance.
func (*MockCommitter) Commit ¶
func (m *MockCommitter) Commit(arg0 context.Context, arg1 StateManager) error
Commit mocks base method.
func (*MockCommitter) EXPECT ¶
func (m *MockCommitter) EXPECT() *MockCommitterMockRecorder
EXPECT returns an object that allows the caller to indicate expected use.
type MockCommitterMockRecorder ¶
type MockCommitterMockRecorder struct {
// contains filtered or unexported fields
}
MockCommitterMockRecorder is the mock recorder for MockCommitter.
func (*MockCommitterMockRecorder) Commit ¶
func (mr *MockCommitterMockRecorder) Commit(arg0, arg1 interface{}) *gomock.Call
Commit indicates an expected call of Commit.
type MockGenesisStateCreator ¶
type MockGenesisStateCreator struct {
// contains filtered or unexported fields
}
MockGenesisStateCreator is a mock of GenesisStateCreator interface.
func NewMockGenesisStateCreator ¶
func NewMockGenesisStateCreator(ctrl *gomock.Controller) *MockGenesisStateCreator
NewMockGenesisStateCreator creates a new mock instance.
func (*MockGenesisStateCreator) CreateGenesisStates ¶
func (m *MockGenesisStateCreator) CreateGenesisStates(arg0 context.Context, arg1 StateManager) error
CreateGenesisStates mocks base method.
func (*MockGenesisStateCreator) EXPECT ¶
func (m *MockGenesisStateCreator) EXPECT() *MockGenesisStateCreatorMockRecorder
EXPECT returns an object that allows the caller to indicate expected use.
type MockGenesisStateCreatorMockRecorder ¶
type MockGenesisStateCreatorMockRecorder struct {
// contains filtered or unexported fields
}
MockGenesisStateCreatorMockRecorder is the mock recorder for MockGenesisStateCreator.
func (*MockGenesisStateCreatorMockRecorder) CreateGenesisStates ¶
func (mr *MockGenesisStateCreatorMockRecorder) CreateGenesisStates(arg0, arg1 interface{}) *gomock.Call
CreateGenesisStates indicates an expected call of CreateGenesisStates.
type MockPostSystemActionsCreator ¶
type MockPostSystemActionsCreator struct {
// contains filtered or unexported fields
}
MockPostSystemActionsCreator is a mock of PostSystemActionsCreator interface.
func NewMockPostSystemActionsCreator ¶
func NewMockPostSystemActionsCreator(ctrl *gomock.Controller) *MockPostSystemActionsCreator
NewMockPostSystemActionsCreator creates a new mock instance.
func (*MockPostSystemActionsCreator) CreatePostSystemActions ¶
func (m *MockPostSystemActionsCreator) CreatePostSystemActions(arg0 context.Context, arg1 StateReader) ([]action.Envelope, error)
CreatePostSystemActions mocks base method.
func (*MockPostSystemActionsCreator) EXPECT ¶
func (m *MockPostSystemActionsCreator) EXPECT() *MockPostSystemActionsCreatorMockRecorder
EXPECT returns an object that allows the caller to indicate expected use.
type MockPostSystemActionsCreatorMockRecorder ¶
type MockPostSystemActionsCreatorMockRecorder struct {
// contains filtered or unexported fields
}
MockPostSystemActionsCreatorMockRecorder is the mock recorder for MockPostSystemActionsCreator.
func (*MockPostSystemActionsCreatorMockRecorder) CreatePostSystemActions ¶
func (mr *MockPostSystemActionsCreatorMockRecorder) CreatePostSystemActions(arg0, arg1 interface{}) *gomock.Call
CreatePostSystemActions indicates an expected call of CreatePostSystemActions.
type MockPreCommitter ¶
type MockPreCommitter struct {
// contains filtered or unexported fields
}
MockPreCommitter is a mock of PreCommitter interface.
func NewMockPreCommitter ¶
func NewMockPreCommitter(ctrl *gomock.Controller) *MockPreCommitter
NewMockPreCommitter creates a new mock instance.
func (*MockPreCommitter) EXPECT ¶
func (m *MockPreCommitter) EXPECT() *MockPreCommitterMockRecorder
EXPECT returns an object that allows the caller to indicate expected use.
func (*MockPreCommitter) PreCommit ¶
func (m *MockPreCommitter) PreCommit(arg0 context.Context, arg1 StateManager) error
PreCommit mocks base method.
type MockPreCommitterMockRecorder ¶
type MockPreCommitterMockRecorder struct {
// contains filtered or unexported fields
}
MockPreCommitterMockRecorder is the mock recorder for MockPreCommitter.
func (*MockPreCommitterMockRecorder) PreCommit ¶
func (mr *MockPreCommitterMockRecorder) PreCommit(arg0, arg1 interface{}) *gomock.Call
PreCommit indicates an expected call of PreCommit.
type MockPreStatesCreator ¶
type MockPreStatesCreator struct {
// contains filtered or unexported fields
}
MockPreStatesCreator is a mock of PreStatesCreator interface.
func NewMockPreStatesCreator ¶
func NewMockPreStatesCreator(ctrl *gomock.Controller) *MockPreStatesCreator
NewMockPreStatesCreator creates a new mock instance.
func (*MockPreStatesCreator) CreatePreStates ¶
func (m *MockPreStatesCreator) CreatePreStates(arg0 context.Context, arg1 StateManager) error
CreatePreStates mocks base method.
func (*MockPreStatesCreator) EXPECT ¶
func (m *MockPreStatesCreator) EXPECT() *MockPreStatesCreatorMockRecorder
EXPECT returns an object that allows the caller to indicate expected use.
type MockPreStatesCreatorMockRecorder ¶
type MockPreStatesCreatorMockRecorder struct {
// contains filtered or unexported fields
}
MockPreStatesCreatorMockRecorder is the mock recorder for MockPreStatesCreator.
func (*MockPreStatesCreatorMockRecorder) CreatePreStates ¶
func (mr *MockPreStatesCreatorMockRecorder) CreatePreStates(arg0, arg1 interface{}) *gomock.Call
CreatePreStates indicates an expected call of CreatePreStates.
type MockProtocol ¶
type MockProtocol struct {
// contains filtered or unexported fields
}
MockProtocol is a mock of Protocol interface.
func NewMockProtocol ¶
func NewMockProtocol(ctrl *gomock.Controller) *MockProtocol
NewMockProtocol creates a new mock instance.
func (*MockProtocol) EXPECT ¶
func (m *MockProtocol) EXPECT() *MockProtocolMockRecorder
EXPECT returns an object that allows the caller to indicate expected use.
func (*MockProtocol) ForceRegister ¶
func (m *MockProtocol) ForceRegister(arg0 *Registry) error
ForceRegister mocks base method.
func (*MockProtocol) Handle ¶
func (m *MockProtocol) Handle(arg0 context.Context, arg1 action.Envelope, arg2 StateManager) (*action.Receipt, error)
Handle mocks base method.
func (*MockProtocol) ReadState ¶
func (m *MockProtocol) ReadState(arg0 context.Context, arg1 StateReader, arg2 []byte, arg3 ...[]byte) ([]byte, uint64, error)
ReadState mocks base method.
func (*MockProtocol) Register ¶
func (m *MockProtocol) Register(arg0 *Registry) error
Register mocks base method.
type MockProtocolMockRecorder ¶
type MockProtocolMockRecorder struct {
// contains filtered or unexported fields
}
MockProtocolMockRecorder is the mock recorder for MockProtocol.
func (*MockProtocolMockRecorder) ForceRegister ¶
func (mr *MockProtocolMockRecorder) ForceRegister(arg0 interface{}) *gomock.Call
ForceRegister indicates an expected call of ForceRegister.
func (*MockProtocolMockRecorder) Handle ¶
func (mr *MockProtocolMockRecorder) Handle(arg0, arg1, arg2 interface{}) *gomock.Call
Handle indicates an expected call of Handle.
func (*MockProtocolMockRecorder) Name ¶
func (mr *MockProtocolMockRecorder) Name() *gomock.Call
Name indicates an expected call of Name.
func (*MockProtocolMockRecorder) ReadState ¶
func (mr *MockProtocolMockRecorder) ReadState(arg0, arg1, arg2 interface{}, arg3 ...interface{}) *gomock.Call
ReadState indicates an expected call of ReadState.
func (*MockProtocolMockRecorder) Register ¶
func (mr *MockProtocolMockRecorder) Register(arg0 interface{}) *gomock.Call
Register indicates an expected call of Register.
type MockStarter ¶
type MockStarter struct {
// contains filtered or unexported fields
}
MockStarter is a mock of Starter interface.
func NewMockStarter ¶
func NewMockStarter(ctrl *gomock.Controller) *MockStarter
NewMockStarter creates a new mock instance.
func (*MockStarter) EXPECT ¶
func (m *MockStarter) EXPECT() *MockStarterMockRecorder
EXPECT returns an object that allows the caller to indicate expected use.
func (*MockStarter) Start ¶
func (m *MockStarter) Start(arg0 context.Context, arg1 StateReader) (interface{}, error)
Start mocks base method.
type MockStarterMockRecorder ¶
type MockStarterMockRecorder struct {
// contains filtered or unexported fields
}
MockStarterMockRecorder is the mock recorder for MockStarter.
func (*MockStarterMockRecorder) Start ¶
func (mr *MockStarterMockRecorder) Start(arg0, arg1 interface{}) *gomock.Call
Start indicates an expected call of Start.
type Parameters ¶
Parameters state request parameters
type PostSystemActionsCreator ¶
type PostSystemActionsCreator interface {
CreatePostSystemActions(context.Context, StateReader) ([]action.Envelope, error)
}
PostSystemActionsCreator creates a list of system actions to be appended to block actions
type PreCommitter ¶
type PreCommitter interface {
PreCommit(context.Context, StateManager) error
}
PreCommitter performs pre-commit action of the protocol
type PreStatesCreator ¶
type PreStatesCreator interface {
CreatePreStates(context.Context, StateManager) error
}
PreStatesCreator creates preliminary states for state manager
type Protocol ¶
type Protocol interface { ActionHandler ReadState(context.Context, StateReader, []byte, ...[]byte) ([]byte, uint64, error) Register(*Registry) error ForceRegister(*Registry) error Name() string }
Protocol defines the protocol interfaces atop IoTeX blockchain
type Registry ¶
type Registry struct {
// contains filtered or unexported fields
}
Registry is the hub of all protocols deployed on the chain
func GetRegistry ¶
GetRegistry returns the registry from context
func MustGetRegistry ¶
MustGetRegistry returns the registry from context
func (*Registry) ForceRegister ¶
ForceRegister registers the protocol with a unique ID and force replacing the previous protocol if it exists
type SerializableBytes ¶
type SerializableBytes []byte
SerializableBytes defines a type of serializable bytes
func (*SerializableBytes) Deserialize ¶
func (sb *SerializableBytes) Deserialize(data []byte) error
Deserialize copies data into bytes
func (SerializableBytes) Serialize ¶
func (sb SerializableBytes) Serialize() ([]byte, error)
Serialize copies and return bytes
type SimulateOption ¶
type SimulateOption func(*SimulateOptionConfig)
func WithSimulatePreOpt ¶
func WithSimulatePreOpt(fn func(StateManager) error) SimulateOption
type SimulateOptionConfig ¶
type SimulateOptionConfig struct { PreOpt func(StateManager) error Nonce, Gas uint64 GasPrice *big.Int }
type Starter ¶
type Starter interface {
Start(context.Context, StateReader) (interface{}, error)
}
Starter starts the protocol
type StateConfig ¶
type StateConfig struct { Namespace string // namespace used by state's storage Key []byte Keys [][]byte }
StateConfig is the config for accessing stateDB
func CreateStateConfig ¶
func CreateStateConfig(opts ...StateOption) (*StateConfig, error)
CreateStateConfig creates a config for accessing stateDB
type StateContext ¶
type StateContext interface { Parameters() *Parameters EncodeToEth(*iotexapi.ReadStateResponse) (string, error) }
StateContext context for ReadState
type StateManager ¶
type StateManager interface { StateReader // Accounts Snapshot() int Revert(int) error // General state PutState(interface{}, ...StateOption) (uint64, error) DelState(...StateOption) (uint64, error) WriteView(string, interface{}) error Dock }
StateManager defines the stateDB interface atop IoTeX blockchain
type StateOption ¶
type StateOption func(*StateConfig) error
StateOption sets parameter for access state
func KeysOption ¶
func KeysOption(f func() ([][]byte, error)) StateOption
KeysOption sets the key for call
func LegacyKeyOption ¶
func LegacyKeyOption(key hash.Hash160) StateOption
LegacyKeyOption sets the key for call with legacy key
func NamespaceOption ¶
func NamespaceOption(ns string) StateOption
NamespaceOption creates an option for given namesapce
type StateReader ¶
type StateReader interface { Height() (uint64, error) State(interface{}, ...StateOption) (uint64, error) States(...StateOption) (uint64, state.Iterator, error) ReadView(string) (interface{}, error) }
StateReader defines an interface to read stateDB
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
Package staking is a generated GoMock package.
|
Package staking is a generated GoMock package. |