Back to

Package messagepool

Latest Go to latest

The latest major version is .

Published: Sep 1, 2020 | Licenses: Apache-2.0 , MIT | Module:



const MinGasPrice = 0
const ReplaceByFeeRatio = 1.25


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

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

func (mp *MessagePool) Close() error

func (*MessagePool) EstimateGasPrice

func (mp *MessagePool) EstimateGasPrice(ctx context.Context, nblocksincl uint64, sender address.Address, gaslimit int64, tsk types.TipSetKey) (types.BigInt, 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) (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) Updates

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

func (*MessagePool) VerifyMsgSig

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
	StateGetActor(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)

func NewProvider

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

Package Files

Documentation was rendered with GOOS=linux and GOARCH=amd64.

Jump to identifier

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to identifier