messagepool

package
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 11, 2019 License: Apache-2.0, MIT Imports: 23 Imported by: 9

Documentation

Index

Constants

This section is empty.

Variables

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")
)

Functions

This section is empty.

Types

type MessagePool

type MessagePool struct {
	// contains filtered or unexported fields
}

func New

func New(api Provider, ds dtypes.MetadataDS) (*MessagePool, error)

func (*MessagePool) Add

func (mp *MessagePool) Add(m *types.SignedMessage) error

func (*MessagePool) Close

func (mp *MessagePool) Close() error

func (*MessagePool) GetNonce

func (mp *MessagePool) GetNonce(addr address.Address) (uint64, error)

func (*MessagePool) HeadChange

func (mp *MessagePool) HeadChange(revert []*types.TipSet, apply []*types.TipSet) error

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) Push

func (mp *MessagePool) Push(m *types.SignedMessage) error

func (*MessagePool) PushWithNonce

func (mp *MessagePool) PushWithNonce(addr address.Address, cb func(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) Updates

func (mp *MessagePool) Updates(ctx context.Context) (<-chan api.MpoolUpdate, error)

type Provider

type Provider interface {
	SubscribeHeadChanges(func(rev, app []*types.TipSet) error) *types.TipSet
	PutMessage(m store.ChainMsg) (cid.Cid, error)
	PubSubPublish(string, []byte) error
	StateGetActor(address.Address, *types.TipSet) (*types.Actor, error)
	MessagesForBlock(*types.BlockHeader) ([]*types.Message, []*types.SignedMessage, error)
	MessagesForTipset(*types.TipSet) ([]store.ChainMsg, error)
	LoadTipSet(cids []cid.Cid) (*types.TipSet, error)
}

func NewProvider

func NewProvider(sm *stmgr.StateManager, ps *pubsub.PubSub) Provider

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL