Versions in this module Expand all Collapse all v1 v1.0.0 Aug 15, 2021 Changes in this version + const MaxBlocks + const RbfDenom + var ConfigKey = datastore.NewKey("/mpool/config") + var ErrGasFeeCapTooLow = errors.New("gas fee cap too low") + var ErrInvalidToAddr = errors.New("message had invalid to address") + var ErrMessageTooBig = errors.New("message too big") + var ErrMessageValueTooHigh = errors.New("cannot send more epk than will ever exist") + var ErrNonceGap = errors.New("unfulfilled nonce gap") + var ErrNonceTooLow = errors.New("message nonce too low") + var ErrNotEnoughFunds = errors.New("not enough funds to execute transaction") + var ErrRBFTooLowPremium = errors.New("replace by fee has too low GasPremium") + var ErrSoftValidationFailure = errors.New("validation failure") + var ErrTooManyPendingMessages = errors.New("too many pending messages for actor") + var GasLimitOverestimation = 1.25 + var HeadChangeCoalesceMaxDelay = 6 * time.Second + var HeadChangeCoalesceMergeInterval = time.Second + var HeadChangeCoalesceMinDelay = 2 * time.Second + var MaxActorPendingMessages = 100000 + var MaxBlockMessages = 16000 + var MaxNonceGap = uint64(4) + var MaxUntrustedActorPendingMessages = 10 + var MemPoolSizeLimitHiDefault = 30000 + var MemPoolSizeLimitLoDefault = 20000 + var PruneCooldownDefault = time.Minute + var ReplaceByFeeRatioDefault = 1.25 + var RepublishBatchDelay = 100 * time.Millisecond + var RepublishInterval = time.Duration(10*build.BlockDelaySecs+build.PropagationDelaySecs) * time.Second + func CapGasFee(mff dtypes.DefaultMaxFeeFunc, msg *types.Message, ...) + func ComputeMinRBF(curPrem abi.TokenAmount) abi.TokenAmount + func DefaultConfig() *types.MpoolConfig + type MessagePool struct + func New(api Provider, ds dtypes.MetadataDS, netName dtypes.NetworkName, ...) (*MessagePool, error) + func (mp *MessagePool) Add(m *types.SignedMessage) error + func (mp *MessagePool) Clear(local bool) + func (mp *MessagePool) Close() error + func (mp *MessagePool) GetConfig() *types.MpoolConfig + func (mp *MessagePool) GetNonce(addr address.Address) (uint64, error) + func (mp *MessagePool) HeadChange(revert []*types.TipSet, apply []*types.TipSet) error + func (mp *MessagePool) MessagesForBlocks(blks []*types.BlockHeader) ([]*types.SignedMessage, error) + func (mp *MessagePool) Pending() ([]*types.SignedMessage, *types.TipSet) + func (mp *MessagePool) PendingFor(a address.Address) ([]*types.SignedMessage, *types.TipSet) + func (mp *MessagePool) Prune() + func (mp *MessagePool) Push(m *types.SignedMessage) (cid.Cid, error) + func (mp *MessagePool) PushUntrusted(m *types.SignedMessage) (cid.Cid, error) + func (mp *MessagePool) RecoverSig(msg *types.Message) *types.SignedMessage + func (mp *MessagePool) Remove(from address.Address, nonce uint64, applied bool) + func (mp *MessagePool) SelectMessages(ts *types.TipSet, tq float64) (msgs []*types.SignedMessage, err error) + func (mp *MessagePool) SetConfig(cfg *types.MpoolConfig) error + func (mp *MessagePool) Updates(ctx context.Context) (<-chan api.MpoolUpdate, error) + func (mp *MessagePool) VerifyMsgSig(m *types.SignedMessage) error + type MessagePoolEvt struct + Action string + Error error + Messages []MessagePoolEvtMessage + type MessagePoolEvtMessage struct + CID cid.Cid + type Provider interface + ChainComputeBaseFee func(ctx context.Context, ts *types.TipSet) (types.BigInt, error) + GetActorAfter func(address.Address, *types.TipSet) (*types.Actor, error) + LoadTipSet func(tsk types.TipSetKey) (*types.TipSet, error) + MessagesForBlock func(*types.BlockHeader) ([]*types.Message, []*types.SignedMessage, error) + MessagesForTipset func(*types.TipSet) ([]types.ChainMsg, error) + PubSubPublish func(string, []byte) error + PutMessage func(m types.ChainMsg) (cid.Cid, error) + StateAccountKey func(context.Context, address.Address, *types.TipSet) (address.Address, error) + SubscribeHeadChanges func(func(rev, app []*types.TipSet) error) *types.TipSet + func NewProvider(sm *stmgr.StateManager, ps *pubsub.PubSub) Provider