Documentation ¶
Index ¶
- Constants
- Variables
- func DefaultConfig() *types.MpoolConfig
- type MessagePool
- 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) PushWithNonce(ctx context.Context, addr address.Address, ...) (*types.SignedMessage, error)
- func (mp *MessagePool) RecoverSig(msg *types.Message) *types.SignedMessage
- func (mp *MessagePool) Remove(from address.Address, nonce uint64)
- func (mp *MessagePool) SelectMessages(ts *types.TipSet, tq float64) ([]*types.SignedMessage, 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 Provider
Constants ¶
View Source
const MaxBlocks = 15
View Source
const RbfDenom = 256
Variables ¶
View Source
var ( ReplaceByFeeRatioDefault = 1.25 MemPoolSizeLimitHiDefault = 30000 MemPoolSizeLimitLoDefault = 20000 PruneCooldownDefault = time.Minute GasLimitOverestimation = 1.25 ConfigKey = datastore.NewKey("/mpool/config") )
View Source
var ( ErrMessageTooBig = errors.New("message too big") ErrMessageValueTooHigh = errors.New("cannot send more filecoin than will ever exist") ErrNonceTooLow = errors.New("message nonce too low") ErrNotEnoughFunds = errors.New("not enough funds to execute transaction") ErrInvalidToAddr = errors.New("message had invalid to address") ErrBroadcastAnyway = errors.New("broadcasting message despite validation fail") ErrRBFTooLowPremium = errors.New("replace by fee has too low GasPremium") ErrTryAgain = errors.New("state inconsistency while pushing message; please try again") )
View Source
var RepublishInterval = pubsub.TimeCacheDuration + time.Duration(5*build.BlockDelaySecs+build.PropagationDelaySecs)*time.Second
Functions ¶
func DefaultConfig ¶ added in v0.5.0
func DefaultConfig() *types.MpoolConfig
Types ¶
type MessagePool ¶
type MessagePool struct {
// contains filtered or unexported fields
}
func New ¶
func New(api Provider, ds dtypes.MetadataDS, netName dtypes.NetworkName) (*MessagePool, error)
func (*MessagePool) Add ¶
func (mp *MessagePool) Add(m *types.SignedMessage) error
func (*MessagePool) Clear ¶ added in v0.5.0
func (mp *MessagePool) Clear(local bool)
func (*MessagePool) Close ¶
func (mp *MessagePool) Close() error
func (*MessagePool) GetConfig ¶ added in v0.5.0
func (mp *MessagePool) GetConfig() *types.MpoolConfig
func (*MessagePool) GetNonce ¶
func (mp *MessagePool) GetNonce(addr address.Address) (uint64, error)
func (*MessagePool) HeadChange ¶
func (*MessagePool) MessagesForBlocks ¶
func (mp *MessagePool) MessagesForBlocks(blks []*types.BlockHeader) ([]*types.SignedMessage, error)
func (*MessagePool) Pending ¶
func (mp *MessagePool) Pending() ([]*types.SignedMessage, *types.TipSet)
func (*MessagePool) PendingFor ¶ added in v0.5.0
func (mp *MessagePool) PendingFor(a address.Address) ([]*types.SignedMessage, *types.TipSet)
func (*MessagePool) Prune ¶ added in v0.5.0
func (mp *MessagePool) Prune()
func (*MessagePool) Push ¶
func (mp *MessagePool) Push(m *types.SignedMessage) (cid.Cid, error)
func (*MessagePool) PushWithNonce ¶
func (mp *MessagePool) PushWithNonce(ctx context.Context, addr address.Address, cb func(address.Address, uint64) (*types.SignedMessage, error)) (*types.SignedMessage, error)
func (*MessagePool) RecoverSig ¶
func (mp *MessagePool) RecoverSig(msg *types.Message) *types.SignedMessage
func (*MessagePool) Remove ¶
func (mp *MessagePool) Remove(from address.Address, nonce uint64)
func (*MessagePool) SelectMessages ¶ added in v0.5.0
func (mp *MessagePool) SelectMessages(ts *types.TipSet, tq float64) ([]*types.SignedMessage, error)
func (*MessagePool) SetConfig ¶ added in v0.5.0
func (mp *MessagePool) SetConfig(cfg *types.MpoolConfig) error
func (*MessagePool) Updates ¶
func (mp *MessagePool) Updates(ctx context.Context) (<-chan api.MpoolUpdate, error)
func (*MessagePool) VerifyMsgSig ¶ added in v0.3.1
func (mp *MessagePool) VerifyMsgSig(m *types.SignedMessage) error
type Provider ¶
type Provider interface { SubscribeHeadChanges(func(rev, app []*types.TipSet) error) *types.TipSet PutMessage(m types.ChainMsg) (cid.Cid, error) PubSubPublish(string, []byte) error GetActorAfter(address.Address, *types.TipSet) (*types.Actor, error) StateAccountKey(context.Context, address.Address, *types.TipSet) (address.Address, error) MessagesForBlock(*types.BlockHeader) ([]*types.Message, []*types.SignedMessage, error) MessagesForTipset(*types.TipSet) ([]types.ChainMsg, error) LoadTipSet(tsk types.TipSetKey) (*types.TipSet, error) ChainComputeBaseFee(ctx context.Context, ts *types.TipSet) (types.BigInt, error) }
func NewProvider ¶
func NewProvider(sm *stmgr.StateManager, ps *pubsub.PubSub) Provider
Source Files ¶
Click to show internal directories.
Click to hide internal directories.