Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
Functions ¶
func WithClock ¶ added in v0.4.4
func WithClock(c clock.Clock) interface{ ActQueueOption }
WithClock returns an option to overwrite clock.
func WithTimeOut ¶ added in v0.4.4
func WithTimeOut(ttl time.Duration) interface{ ActQueueOption }
WithTimeOut returns an option to overwrite time out setting.
Types ¶
type ActPool ¶
type ActPool interface { action.SealedEnvelopeValidator // Reset resets actpool state Reset() // PendingActionMap returns an action map with all accepted actions PendingActionMap() map[string][]action.SealedEnvelope // Add adds an action into the pool after passing validation Add(ctx context.Context, act action.SealedEnvelope) error // GetPendingNonce returns pending nonce in pool given an account address GetPendingNonce(addr string) (uint64, error) // GetUnconfirmedActs returns unconfirmed actions in pool given an account address GetUnconfirmedActs(addr string) []action.SealedEnvelope // GetActionByHash returns the pending action in pool given action's hash GetActionByHash(hash hash.Hash256) (action.SealedEnvelope, error) // GetSize returns the act pool size GetSize() uint64 // GetCapacity returns the act pool capacity GetCapacity() uint64 // GetGasSize returns the act pool gas size GetGasSize() uint64 // GetGasCapacity returns the act pool gas capacity GetGasCapacity() uint64 // DeleteAction deletes an invalid action from pool DeleteAction(address.Address) // ReceiveBlock will be called when a new block is committed ReceiveBlock(*block.Block) error AddActionEnvelopeValidators(...action.SealedEnvelopeValidator) }
ActPool is the interface of actpool
func NewActPool ¶
NewActPool constructs a new actpool
type ActQueue ¶
type ActQueue interface { Put(action.SealedEnvelope) error FilterNonce(uint64) []action.SealedEnvelope UpdateQueue(uint64) []action.SealedEnvelope SetPendingNonce(uint64) PendingNonce() uint64 SetPendingBalance(*big.Int) PendingBalance() *big.Int Len() int Empty() bool PendingActs() []action.SealedEnvelope AllActs() []action.SealedEnvelope }
ActQueue is the interface of actQueue
func NewActQueue ¶
func NewActQueue(ap *actPool, address string, ops ...ActQueueOption) ActQueue
NewActQueue create a new action queue
type ActQueueOption ¶ added in v0.4.4
type ActQueueOption interface {
SetActQueueOption(*actQueue)
}
ActQueueOption is the option for actQueue.
type Config ¶ added in v1.8.4
type Config struct { // MaxNumActsPerPool indicates maximum number of actions the whole actpool can hold MaxNumActsPerPool uint64 `yaml:"maxNumActsPerPool"` // MaxGasLimitPerPool indicates maximum gas limit the whole actpool can hold MaxGasLimitPerPool uint64 `yaml:"maxGasLimitPerPool"` // MaxNumActsPerAcct indicates maximum number of actions an account queue can hold MaxNumActsPerAcct uint64 `yaml:"maxNumActsPerAcct"` // ActionExpiry defines how long an action will be kept in action pool. ActionExpiry time.Duration `yaml:"actionExpiry"` // MinGasPriceStr defines the minimal gas price the delegate will accept for an action MinGasPriceStr string `yaml:"minGasPrice"` // BlackList lists the account address that are banned from initiating actions BlackList []string `yaml:"blackList"` }
Config is the actpool config
func (Config) MinGasPrice ¶ added in v1.8.4
MinGasPrice returns the minimal gas price threshold
type Option ¶ added in v0.5.0
type Option func(pool *actPool) error
Option sets action pool construction parameter
func EnableExperimentalActions ¶ added in v0.5.0
func EnableExperimentalActions() Option
EnableExperimentalActions enables the action pool to take experimental actions
type SortedActions ¶ added in v0.10.0
type SortedActions []action.SealedEnvelope
SortedActions is a slice of actions that implements sort.Interface to sort by Value.
func (SortedActions) Len ¶ added in v0.10.0
func (p SortedActions) Len() int
func (SortedActions) Less ¶ added in v0.10.0
func (p SortedActions) Less(i, j int) bool
func (SortedActions) Swap ¶ added in v0.10.0
func (p SortedActions) Swap(i, j int)
Click to show internal directories.
Click to hide internal directories.