full

package
v1.28.2 Latest Latest
Warning

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

Go to latest
Published: Aug 15, 2024 License: Apache-2.0, MIT Imports: 98 Imported by: 24

Documentation

Index

Constants

View Source
const (
	EthSubscribeEventTypeHeads               = "newHeads"
	EthSubscribeEventTypeLogs                = "logs"
	EthSubscribeEventTypePendingTransactions = "newPendingTransactions"
)
View Source
const MaxSpendOnFeeDenom = 100
View Source
const MinGasPremium = 100e3

Variables

View Source
var ErrActorEventModuleDisabled = errors.New("module disabled, enable with Events.EnableActorEventsAPI")
View Source
var ErrF3Disabled = errors.New("f3 is disabled")
View Source
var ErrModuleDisabled = errors.New("module disabled, enable with Fevm.EnableEthRPC / LOTUS_FEVM_ENABLEETHRPC")
View Source
var ErrNullRound = errors.New("requested epoch was a null round")
View Source
var ErrUnsupported = errors.New("unsupported method")

Functions

func EthTxHashGC added in v1.20.0

func EthTxHashGC(ctx context.Context, retentionDays int, manager *EthTxHashManager)

func WaitForMpoolUpdates added in v1.20.0

func WaitForMpoolUpdates(ctx context.Context, ch <-chan api.MpoolUpdate, manager *EthTxHashManager)

Types

type ActorEventAPI added in v1.26.0

type ActorEventAPI interface {
	GetActorEventsRaw(ctx context.Context, filter *types.ActorEventFilter) ([]*types.ActorEvent, error)
	SubscribeActorEventsRaw(ctx context.Context, filter *types.ActorEventFilter) (<-chan *types.ActorEvent, error)
}

type ActorEventDummy added in v1.26.0

type ActorEventDummy struct{}

func (*ActorEventDummy) GetActorEventsRaw added in v1.26.0

func (a *ActorEventDummy) GetActorEventsRaw(ctx context.Context, filter *types.ActorEventFilter) ([]*types.ActorEvent, error)

func (*ActorEventDummy) SubscribeActorEventsRaw added in v1.26.0

func (a *ActorEventDummy) SubscribeActorEventsRaw(ctx context.Context, filter *types.ActorEventFilter) (<-chan *types.ActorEvent, error)

type ActorEventHandler added in v1.26.0

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

func NewActorEventHandler added in v1.26.0

func NewActorEventHandler(
	chain ChainAccessor,
	eventFilterManager EventFilterManager,
	blockDelay time.Duration,
	maxFilterHeightRange abi.ChainEpoch,
) *ActorEventHandler

func NewActorEventHandlerWithClock added in v1.26.0

func NewActorEventHandlerWithClock(
	chain ChainAccessor,
	eventFilterManager EventFilterManager,
	blockDelay time.Duration,
	maxFilterHeightRange abi.ChainEpoch,
	clock clock.Clock,
) *ActorEventHandler

func (*ActorEventHandler) GetActorEventsRaw added in v1.26.0

func (a *ActorEventHandler) GetActorEventsRaw(ctx context.Context, evtFilter *types.ActorEventFilter) ([]*types.ActorEvent, error)

func (*ActorEventHandler) SubscribeActorEventsRaw added in v1.26.0

func (a *ActorEventHandler) SubscribeActorEventsRaw(ctx context.Context, evtFilter *types.ActorEventFilter) (<-chan *types.ActorEvent, error)

type ActorEventsAPI added in v1.26.0

type ActorEventsAPI struct {
	fx.In
	ActorEventAPI
}

type ChainAPI

type ChainAPI struct {
	fx.In

	WalletAPI
	ChainModuleAPI

	Chain  *store.ChainStore
	TsExec stmgr.Executor

	// ExposedBlockstore is the global monolith blockstore that is safe to
	// expose externally. In the future, this will be segregated into two
	// blockstores.
	ExposedBlockstore dtypes.ExposedBlockstore

	// BaseBlockstore is the underlying blockstore
	BaseBlockstore dtypes.BaseBlockstore

	Repo repo.LockedRepo
}

func (*ChainAPI) ChainBlockstoreInfo added in v1.11.1

func (a *ChainAPI) ChainBlockstoreInfo(ctx context.Context) (map[string]interface{}, error)

func (*ChainAPI) ChainCheckBlockstore added in v1.11.1

func (a *ChainAPI) ChainCheckBlockstore(ctx context.Context) error

func (*ChainAPI) ChainDeleteObj added in v0.7.2

func (a *ChainAPI) ChainDeleteObj(ctx context.Context, obj cid.Cid) error

func (*ChainAPI) ChainExport added in v0.2.6

func (a *ChainAPI) ChainExport(ctx context.Context, nroots abi.ChainEpoch, skipoldmsgs bool, tsk types.TipSetKey) (<-chan []byte, error)

func (ChainAPI) ChainExportRangeInternal added in v1.23.0

func (a ChainAPI) ChainExportRangeInternal(ctx context.Context, head, tail types.TipSetKey, cfg api.ChainExportConfig) error

func (*ChainAPI) ChainGetBlock

func (a *ChainAPI) ChainGetBlock(ctx context.Context, msg cid.Cid) (*types.BlockHeader, error)

func (*ChainAPI) ChainGetEvents added in v1.20.0

func (a *ChainAPI) ChainGetEvents(ctx context.Context, root cid.Cid) ([]types.Event, error)

ChainGetEvents returns the events under an event AMT root CID.

TODO (raulk) make copies of this logic elsewhere use this (e.g. itests, CLI, events filter).

func (*ChainAPI) ChainGetGenesis

func (a *ChainAPI) ChainGetGenesis(ctx context.Context) (*types.TipSet, error)

func (*ChainAPI) ChainGetMessagesInTipset added in v1.11.1

func (a *ChainAPI) ChainGetMessagesInTipset(ctx context.Context, tsk types.TipSetKey) ([]api.Message, error)

func (*ChainAPI) ChainGetNode added in v0.1.5

func (a *ChainAPI) ChainGetNode(ctx context.Context, p string) (*api.IpldObject, error)

func (*ChainAPI) ChainGetParentMessages

func (a *ChainAPI) ChainGetParentMessages(ctx context.Context, bcid cid.Cid) ([]api.Message, error)

func (*ChainAPI) ChainGetParentReceipts

func (a *ChainAPI) ChainGetParentReceipts(ctx context.Context, bcid cid.Cid) ([]*types.MessageReceipt, error)

func (*ChainAPI) ChainGetPath added in v0.2.5

func (a *ChainAPI) ChainGetPath(ctx context.Context, from types.TipSetKey, to types.TipSetKey) ([]*api.HeadChange, error)

func (*ChainAPI) ChainHotGC added in v1.23.0

func (a *ChainAPI) ChainHotGC(ctx context.Context, opts api.HotGCOpts) error

func (*ChainAPI) ChainPrune added in v1.17.1

func (a *ChainAPI) ChainPrune(ctx context.Context, opts api.PruneOpts) error

func (*ChainAPI) ChainPutObj added in v1.16.0

func (a *ChainAPI) ChainPutObj(ctx context.Context, obj blocks.Block) error

func (*ChainAPI) ChainSetHead

func (a *ChainAPI) ChainSetHead(ctx context.Context, tsk types.TipSetKey) error

func (*ChainAPI) ChainStatObj added in v0.3.0

func (a *ChainAPI) ChainStatObj(ctx context.Context, obj cid.Cid, base cid.Cid) (api.ObjStat, error)

func (*ChainAPI) ChainTipSetWeight

func (a *ChainAPI) ChainTipSetWeight(ctx context.Context, tsk types.TipSetKey) (types.BigInt, error)

type ChainAccessor added in v1.26.0

type ChainAccessor interface {
	GetHeaviestTipSet() *types.TipSet
}

type ChainModule added in v0.9.1

type ChainModule struct {
	fx.In

	Chain *store.ChainStore

	// ExposedBlockstore is the global monolith blockstore that is safe to
	// expose externally. In the future, this will be segregated into two
	// blockstores.
	ExposedBlockstore dtypes.ExposedBlockstore
}

ChainModule provides a default implementation of ChainModuleAPI. It can be swapped out with another implementation through Dependency Injection (for example with a thin RPC client).

func (*ChainModule) ChainGetBlockMessages added in v1.1.1

func (m *ChainModule) ChainGetBlockMessages(ctx context.Context, msg cid.Cid) (*api.BlockMessages, error)

func (*ChainModule) ChainGetMessage added in v1.1.1

func (m *ChainModule) ChainGetMessage(ctx context.Context, mc cid.Cid) (*types.Message, error)

func (*ChainModule) ChainGetPath added in v1.13.0

func (m *ChainModule) ChainGetPath(ctx context.Context, from, to types.TipSetKey) ([]*api.HeadChange, error)

func (*ChainModule) ChainGetTipSet added in v0.9.1

func (m *ChainModule) ChainGetTipSet(ctx context.Context, key types.TipSetKey) (*types.TipSet, error)

func (*ChainModule) ChainGetTipSetAfterHeight added in v1.11.2

func (m *ChainModule) ChainGetTipSetAfterHeight(ctx context.Context, h abi.ChainEpoch, tsk types.TipSetKey) (*types.TipSet, error)

func (*ChainModule) ChainGetTipSetByHeight added in v0.9.1

func (m *ChainModule) ChainGetTipSetByHeight(ctx context.Context, h abi.ChainEpoch, tsk types.TipSetKey) (*types.TipSet, error)

func (*ChainModule) ChainHasObj added in v1.0.0

func (m *ChainModule) ChainHasObj(ctx context.Context, obj cid.Cid) (bool, error)

func (*ChainModule) ChainHead added in v0.9.1

func (m *ChainModule) ChainHead(context.Context) (*types.TipSet, error)

func (*ChainModule) ChainNotify added in v1.1.1

func (m *ChainModule) ChainNotify(ctx context.Context) (<-chan []*api.HeadChange, error)

func (*ChainModule) ChainReadObj added in v1.0.0

func (m *ChainModule) ChainReadObj(ctx context.Context, obj cid.Cid) ([]byte, error)

type ChainModuleAPI added in v0.9.1

type ChainModuleAPI interface {
	ChainNotify(context.Context) (<-chan []*api.HeadChange, error)
	ChainGetBlockMessages(context.Context, cid.Cid) (*api.BlockMessages, error)
	ChainHasObj(context.Context, cid.Cid) (bool, error)
	ChainHead(context.Context) (*types.TipSet, error)
	ChainGetMessage(ctx context.Context, mc cid.Cid) (*types.Message, error)
	ChainGetTipSet(ctx context.Context, tsk types.TipSetKey) (*types.TipSet, error)
	ChainGetTipSetByHeight(ctx context.Context, h abi.ChainEpoch, tsk types.TipSetKey) (*types.TipSet, error)
	ChainGetTipSetAfterHeight(ctx context.Context, h abi.ChainEpoch, tsk types.TipSetKey) (*types.TipSet, error)
	ChainReadObj(context.Context, cid.Cid) ([]byte, error)
	ChainGetPath(ctx context.Context, from, to types.TipSetKey) ([]*api.HeadChange, error)
}

type EthAPI added in v1.20.0

type EthAPI struct {
	fx.In

	Chain *store.ChainStore

	EthModuleAPI
	EthEventAPI
}

func (*EthAPI) EthAddressToFilecoinAddress added in v1.20.0

func (a *EthAPI) EthAddressToFilecoinAddress(ctx context.Context, ethAddress ethtypes.EthAddress) (address.Address, error)

func (*EthAPI) EthGetTransactionByBlockHashAndIndex added in v1.23.0

func (a *EthAPI) EthGetTransactionByBlockHashAndIndex(context.Context, ethtypes.EthHash, ethtypes.EthUint64) (ethtypes.EthTx, error)

func (*EthAPI) EthGetTransactionByBlockNumberAndIndex added in v1.23.0

func (a *EthAPI) EthGetTransactionByBlockNumberAndIndex(context.Context, ethtypes.EthUint64, ethtypes.EthUint64) (ethtypes.EthTx, error)

func (*EthAPI) FilecoinAddressToEthAddress added in v1.20.0

func (a *EthAPI) FilecoinAddressToEthAddress(ctx context.Context, filecoinAddress address.Address) (ethtypes.EthAddress, error)

type EthEventAPI added in v1.20.0

type EthEventAPI interface {
	EthGetLogs(ctx context.Context, filter *ethtypes.EthFilterSpec) (*ethtypes.EthFilterResult, error)
	EthGetFilterChanges(ctx context.Context, id ethtypes.EthFilterID) (*ethtypes.EthFilterResult, error)
	EthGetFilterLogs(ctx context.Context, id ethtypes.EthFilterID) (*ethtypes.EthFilterResult, error)
	EthNewFilter(ctx context.Context, filter *ethtypes.EthFilterSpec) (ethtypes.EthFilterID, error)
	EthNewBlockFilter(ctx context.Context) (ethtypes.EthFilterID, error)
	EthNewPendingTransactionFilter(ctx context.Context) (ethtypes.EthFilterID, error)
	EthUninstallFilter(ctx context.Context, id ethtypes.EthFilterID) (bool, error)
	EthSubscribe(ctx context.Context, params jsonrpc.RawParams) (ethtypes.EthSubscriptionID, error)
	EthUnsubscribe(ctx context.Context, id ethtypes.EthSubscriptionID) (bool, error)
}

type EthEventHandler added in v1.26.0

type EthEventHandler struct {
	Chain                *store.ChainStore
	EventFilterManager   *filter.EventFilterManager
	TipSetFilterManager  *filter.TipSetFilterManager
	MemPoolFilterManager *filter.MemPoolFilterManager
	FilterStore          filter.FilterStore
	SubManager           *EthSubscriptionManager
	MaxFilterHeightRange abi.ChainEpoch
	SubscribtionCtx      context.Context
}

func (*EthEventHandler) EthGetFilterChanges added in v1.26.0

func (e *EthEventHandler) EthGetFilterChanges(ctx context.Context, id ethtypes.EthFilterID) (*ethtypes.EthFilterResult, error)

func (*EthEventHandler) EthGetFilterLogs added in v1.26.0

func (*EthEventHandler) EthGetLogs added in v1.26.0

func (e *EthEventHandler) EthGetLogs(ctx context.Context, filterSpec *ethtypes.EthFilterSpec) (*ethtypes.EthFilterResult, error)

func (*EthEventHandler) EthNewBlockFilter added in v1.26.0

func (e *EthEventHandler) EthNewBlockFilter(ctx context.Context) (ethtypes.EthFilterID, error)

func (*EthEventHandler) EthNewFilter added in v1.26.0

func (e *EthEventHandler) EthNewFilter(ctx context.Context, filterSpec *ethtypes.EthFilterSpec) (ethtypes.EthFilterID, error)

func (*EthEventHandler) EthNewPendingTransactionFilter added in v1.26.0

func (e *EthEventHandler) EthNewPendingTransactionFilter(ctx context.Context) (ethtypes.EthFilterID, error)

func (*EthEventHandler) EthSubscribe added in v1.26.0

func (e *EthEventHandler) EthSubscribe(ctx context.Context, p jsonrpc.RawParams) (ethtypes.EthSubscriptionID, error)

func (*EthEventHandler) EthUninstallFilter added in v1.26.0

func (e *EthEventHandler) EthUninstallFilter(ctx context.Context, id ethtypes.EthFilterID) (bool, error)

func (*EthEventHandler) EthUnsubscribe added in v1.26.0

func (e *EthEventHandler) EthUnsubscribe(ctx context.Context, id ethtypes.EthSubscriptionID) (bool, error)

func (*EthEventHandler) GC added in v1.26.0

func (e *EthEventHandler) GC(ctx context.Context, ttl time.Duration)

GC runs a garbage collection loop, deleting filters that have not been used within the ttl window

type EthModule added in v1.20.0

type EthModule struct {
	Chain            *store.ChainStore
	Mpool            *messagepool.MessagePool
	StateManager     *stmgr.StateManager
	EthTxHashManager *EthTxHashManager

	ChainAPI
	MpoolAPI
	StateAPI
	SyncAPI
}

EthModule provides the default implementation of the standard Ethereum JSON-RPC API.

Execution model reconciliation

Ethereum relies on an immediate block-based execution model. The block that includes a transaction is also the block that executes it. Each block specifies the state root resulting from executing all transactions within it (output state).

In Filecoin, at every epoch there is an unknown number of round winners all of whom are entitled to publish a block. Blocks are collected into a tipset. A tipset is committed only when the subsequent tipset is built on it (i.e. it becomes a parent). Block producers execute the parent tipset and specify the resulting state root in the block being produced. In other words, contrary to Ethereum, each block specifies the input state root.

Ethereum clients expect transactions returned via eth_getBlock* to have a receipt (due to immediate execution). For this reason:

  • eth_blockNumber returns the latest executed epoch (head - 1)
  • The 'latest' block refers to the latest executed epoch (head - 1)
  • The 'pending' block refers to the current speculative tipset (head)
  • eth_getTransactionByHash returns the inclusion tipset of a message, but only after it has executed.
  • eth_getTransactionReceipt ditto.

"Latest executed epoch" refers to the tipset that this node currently accepts as the best parent tipset, based on the blocks it is accumulating within the HEAD tipset.

func (*EthModule) EthAccounts added in v1.20.0

func (a *EthModule) EthAccounts(context.Context) ([]ethtypes.EthAddress, error)

func (*EthModule) EthBlockNumber added in v1.20.0

func (a *EthModule) EthBlockNumber(ctx context.Context) (ethtypes.EthUint64, error)

func (*EthModule) EthCall added in v1.20.0

func (*EthModule) EthChainId added in v1.20.0

func (a *EthModule) EthChainId(ctx context.Context) (ethtypes.EthUint64, error)

func (*EthModule) EthEstimateGas added in v1.20.0

func (a *EthModule) EthEstimateGas(ctx context.Context, p jsonrpc.RawParams) (ethtypes.EthUint64, error)

func (*EthModule) EthFeeHistory added in v1.20.0

func (a *EthModule) EthFeeHistory(ctx context.Context, p jsonrpc.RawParams) (ethtypes.EthFeeHistory, error)

func (*EthModule) EthGasPrice added in v1.20.0

func (a *EthModule) EthGasPrice(ctx context.Context) (ethtypes.EthBigInt, error)

func (*EthModule) EthGetBalance added in v1.20.0

func (a *EthModule) EthGetBalance(ctx context.Context, address ethtypes.EthAddress, blkParam ethtypes.EthBlockNumberOrHash) (ethtypes.EthBigInt, error)

func (*EthModule) EthGetBlockByHash added in v1.20.0

func (a *EthModule) EthGetBlockByHash(ctx context.Context, blkHash ethtypes.EthHash, fullTxInfo bool) (ethtypes.EthBlock, error)

func (*EthModule) EthGetBlockByNumber added in v1.20.0

func (a *EthModule) EthGetBlockByNumber(ctx context.Context, blkParam string, fullTxInfo bool) (ethtypes.EthBlock, error)

func (*EthModule) EthGetBlockTransactionCountByHash added in v1.20.0

func (a *EthModule) EthGetBlockTransactionCountByHash(ctx context.Context, blkHash ethtypes.EthHash) (ethtypes.EthUint64, error)

func (*EthModule) EthGetBlockTransactionCountByNumber added in v1.20.0

func (a *EthModule) EthGetBlockTransactionCountByNumber(ctx context.Context, blkNum ethtypes.EthUint64) (ethtypes.EthUint64, error)

func (*EthModule) EthGetCode added in v1.20.0

EthGetCode returns string value of the compiled bytecode

func (*EthModule) EthGetMessageCidByTransactionHash added in v1.20.0

func (a *EthModule) EthGetMessageCidByTransactionHash(ctx context.Context, txHash *ethtypes.EthHash) (*cid.Cid, error)

func (*EthModule) EthGetStorageAt added in v1.20.0

func (a *EthModule) EthGetStorageAt(ctx context.Context, ethAddr ethtypes.EthAddress, position ethtypes.EthBytes, blkParam ethtypes.EthBlockNumberOrHash) (ethtypes.EthBytes, error)

func (*EthModule) EthGetTransactionByHash added in v1.20.0

func (a *EthModule) EthGetTransactionByHash(ctx context.Context, txHash *ethtypes.EthHash) (*ethtypes.EthTx, error)

func (*EthModule) EthGetTransactionByHashLimited added in v1.23.0

func (a *EthModule) EthGetTransactionByHashLimited(ctx context.Context, txHash *ethtypes.EthHash, limit abi.ChainEpoch) (*ethtypes.EthTx, error)

func (*EthModule) EthGetTransactionCount added in v1.20.0

func (a *EthModule) EthGetTransactionCount(ctx context.Context, sender ethtypes.EthAddress, blkParam ethtypes.EthBlockNumberOrHash) (ethtypes.EthUint64, error)

func (*EthModule) EthGetTransactionHashByCid added in v1.20.0

func (a *EthModule) EthGetTransactionHashByCid(ctx context.Context, cid cid.Cid) (*ethtypes.EthHash, error)

func (*EthModule) EthGetTransactionReceipt added in v1.20.0

func (a *EthModule) EthGetTransactionReceipt(ctx context.Context, txHash ethtypes.EthHash) (*api.EthTxReceipt, error)

func (*EthModule) EthGetTransactionReceiptLimited added in v1.23.0

func (a *EthModule) EthGetTransactionReceiptLimited(ctx context.Context, txHash ethtypes.EthHash, limit abi.ChainEpoch) (*api.EthTxReceipt, error)

func (*EthModule) EthMaxPriorityFeePerGas added in v1.20.0

func (a *EthModule) EthMaxPriorityFeePerGas(ctx context.Context) (ethtypes.EthBigInt, error)

func (*EthModule) EthProtocolVersion added in v1.20.0

func (a *EthModule) EthProtocolVersion(ctx context.Context) (ethtypes.EthUint64, error)

func (*EthModule) EthSendRawTransaction added in v1.20.0

func (a *EthModule) EthSendRawTransaction(ctx context.Context, rawTx ethtypes.EthBytes) (ethtypes.EthHash, error)

func (*EthModule) EthSyncing added in v1.23.3

func (a *EthModule) EthSyncing(ctx context.Context) (ethtypes.EthSyncingResult, error)

func (*EthModule) EthTraceBlock added in v1.25.0

func (a *EthModule) EthTraceBlock(ctx context.Context, blkNum string) ([]*ethtypes.EthTraceBlock, error)

func (*EthModule) EthTraceReplayBlockTransactions added in v1.25.0

func (a *EthModule) EthTraceReplayBlockTransactions(ctx context.Context, blkNum string, traceTypes []string) ([]*ethtypes.EthTraceReplayBlockTransaction, error)

func (*EthModule) EthTraceTransaction added in v1.27.1

func (a *EthModule) EthTraceTransaction(ctx context.Context, txHash string) ([]*ethtypes.EthTraceTransaction, error)

func (*EthModule) NetListening added in v1.20.0

func (a *EthModule) NetListening(ctx context.Context) (bool, error)

func (*EthModule) NetVersion added in v1.20.0

func (a *EthModule) NetVersion(_ context.Context) (string, error)

func (*EthModule) StateNetworkName added in v1.20.0

func (a *EthModule) StateNetworkName(ctx context.Context) (dtypes.NetworkName, error)

func (*EthModule) Web3ClientVersion added in v1.20.0

func (a *EthModule) Web3ClientVersion(ctx context.Context) (string, error)

type EthModuleAPI added in v1.20.0

type EthModuleAPI interface {
	EthBlockNumber(ctx context.Context) (ethtypes.EthUint64, error)
	EthAccounts(ctx context.Context) ([]ethtypes.EthAddress, error)
	EthGetBlockTransactionCountByNumber(ctx context.Context, blkNum ethtypes.EthUint64) (ethtypes.EthUint64, error)
	EthGetBlockTransactionCountByHash(ctx context.Context, blkHash ethtypes.EthHash) (ethtypes.EthUint64, error)
	EthGetBlockByHash(ctx context.Context, blkHash ethtypes.EthHash, fullTxInfo bool) (ethtypes.EthBlock, error)
	EthGetBlockByNumber(ctx context.Context, blkNum string, fullTxInfo bool) (ethtypes.EthBlock, error)
	EthGetTransactionByHash(ctx context.Context, txHash *ethtypes.EthHash) (*ethtypes.EthTx, error)
	EthGetTransactionByHashLimited(ctx context.Context, txHash *ethtypes.EthHash, limit abi.ChainEpoch) (*ethtypes.EthTx, error)
	EthGetMessageCidByTransactionHash(ctx context.Context, txHash *ethtypes.EthHash) (*cid.Cid, error)
	EthGetTransactionHashByCid(ctx context.Context, cid cid.Cid) (*ethtypes.EthHash, error)
	EthGetTransactionCount(ctx context.Context, sender ethtypes.EthAddress, blkParam ethtypes.EthBlockNumberOrHash) (ethtypes.EthUint64, error)
	EthGetTransactionReceipt(ctx context.Context, txHash ethtypes.EthHash) (*api.EthTxReceipt, error)
	EthGetTransactionReceiptLimited(ctx context.Context, txHash ethtypes.EthHash, limit abi.ChainEpoch) (*api.EthTxReceipt, error)
	EthGetCode(ctx context.Context, address ethtypes.EthAddress, blkParam ethtypes.EthBlockNumberOrHash) (ethtypes.EthBytes, error)
	EthGetStorageAt(ctx context.Context, address ethtypes.EthAddress, position ethtypes.EthBytes, blkParam ethtypes.EthBlockNumberOrHash) (ethtypes.EthBytes, error)
	EthGetBalance(ctx context.Context, address ethtypes.EthAddress, blkParam ethtypes.EthBlockNumberOrHash) (ethtypes.EthBigInt, error)
	EthFeeHistory(ctx context.Context, p jsonrpc.RawParams) (ethtypes.EthFeeHistory, error)
	EthChainId(ctx context.Context) (ethtypes.EthUint64, error)
	EthSyncing(ctx context.Context) (ethtypes.EthSyncingResult, error)
	NetVersion(ctx context.Context) (string, error)
	NetListening(ctx context.Context) (bool, error)
	EthProtocolVersion(ctx context.Context) (ethtypes.EthUint64, error)
	EthGasPrice(ctx context.Context) (ethtypes.EthBigInt, error)
	EthEstimateGas(ctx context.Context, p jsonrpc.RawParams) (ethtypes.EthUint64, error)
	EthCall(ctx context.Context, tx ethtypes.EthCall, blkParam ethtypes.EthBlockNumberOrHash) (ethtypes.EthBytes, error)
	EthMaxPriorityFeePerGas(ctx context.Context) (ethtypes.EthBigInt, error)
	EthSendRawTransaction(ctx context.Context, rawTx ethtypes.EthBytes) (ethtypes.EthHash, error)
	Web3ClientVersion(ctx context.Context) (string, error)
	EthTraceBlock(ctx context.Context, blkNum string) ([]*ethtypes.EthTraceBlock, error)
	EthTraceReplayBlockTransactions(ctx context.Context, blkNum string, traceTypes []string) ([]*ethtypes.EthTraceReplayBlockTransaction, error)
	EthTraceTransaction(ctx context.Context, txHash string) ([]*ethtypes.EthTraceTransaction, error)
}

type EthModuleDummy added in v1.20.0

type EthModuleDummy struct{}

func (*EthModuleDummy) EthAccounts added in v1.20.0

func (e *EthModuleDummy) EthAccounts(ctx context.Context) ([]ethtypes.EthAddress, error)

func (*EthModuleDummy) EthAddressToFilecoinAddress added in v1.20.0

func (e *EthModuleDummy) EthAddressToFilecoinAddress(ctx context.Context, ethAddress ethtypes.EthAddress) (address.Address, error)

func (*EthModuleDummy) EthBlockNumber added in v1.20.0

func (e *EthModuleDummy) EthBlockNumber(ctx context.Context) (ethtypes.EthUint64, error)

func (*EthModuleDummy) EthCall added in v1.20.0

func (*EthModuleDummy) EthChainId added in v1.20.0

func (e *EthModuleDummy) EthChainId(ctx context.Context) (ethtypes.EthUint64, error)

func (*EthModuleDummy) EthEstimateGas added in v1.20.0

func (e *EthModuleDummy) EthEstimateGas(ctx context.Context, p jsonrpc.RawParams) (ethtypes.EthUint64, error)

func (*EthModuleDummy) EthFeeHistory added in v1.20.0

func (e *EthModuleDummy) EthFeeHistory(ctx context.Context, p jsonrpc.RawParams) (ethtypes.EthFeeHistory, error)

func (*EthModuleDummy) EthGasPrice added in v1.20.0

func (e *EthModuleDummy) EthGasPrice(ctx context.Context) (ethtypes.EthBigInt, error)

func (*EthModuleDummy) EthGetBalance added in v1.20.0

func (*EthModuleDummy) EthGetBlockByHash added in v1.20.0

func (e *EthModuleDummy) EthGetBlockByHash(ctx context.Context, blkHash ethtypes.EthHash, fullTxInfo bool) (ethtypes.EthBlock, error)

func (*EthModuleDummy) EthGetBlockByNumber added in v1.20.0

func (e *EthModuleDummy) EthGetBlockByNumber(ctx context.Context, blkNum string, fullTxInfo bool) (ethtypes.EthBlock, error)

func (*EthModuleDummy) EthGetBlockTransactionCountByHash added in v1.20.0

func (e *EthModuleDummy) EthGetBlockTransactionCountByHash(ctx context.Context, blkHash ethtypes.EthHash) (ethtypes.EthUint64, error)

func (*EthModuleDummy) EthGetBlockTransactionCountByNumber added in v1.20.0

func (e *EthModuleDummy) EthGetBlockTransactionCountByNumber(ctx context.Context, blkNum ethtypes.EthUint64) (ethtypes.EthUint64, error)

func (*EthModuleDummy) EthGetCode added in v1.20.0

func (*EthModuleDummy) EthGetFilterChanges added in v1.20.0

func (e *EthModuleDummy) EthGetFilterChanges(ctx context.Context, id ethtypes.EthFilterID) (*ethtypes.EthFilterResult, error)

func (*EthModuleDummy) EthGetFilterLogs added in v1.20.0

func (*EthModuleDummy) EthGetLogs added in v1.20.0

func (*EthModuleDummy) EthGetMessageCidByTransactionHash added in v1.20.0

func (e *EthModuleDummy) EthGetMessageCidByTransactionHash(ctx context.Context, txHash *ethtypes.EthHash) (*cid.Cid, error)

func (*EthModuleDummy) EthGetStorageAt added in v1.20.0

func (e *EthModuleDummy) EthGetStorageAt(ctx context.Context, address ethtypes.EthAddress, position ethtypes.EthBytes, blkParam ethtypes.EthBlockNumberOrHash) (ethtypes.EthBytes, error)

func (*EthModuleDummy) EthGetTransactionByBlockHashAndIndex added in v1.20.0

func (e *EthModuleDummy) EthGetTransactionByBlockHashAndIndex(ctx context.Context, blkHash ethtypes.EthHash, txIndex ethtypes.EthUint64) (ethtypes.EthTx, error)

func (*EthModuleDummy) EthGetTransactionByBlockNumberAndIndex added in v1.20.0

func (e *EthModuleDummy) EthGetTransactionByBlockNumberAndIndex(ctx context.Context, blkNum ethtypes.EthUint64, txIndex ethtypes.EthUint64) (ethtypes.EthTx, error)

func (*EthModuleDummy) EthGetTransactionByHash added in v1.20.0

func (e *EthModuleDummy) EthGetTransactionByHash(ctx context.Context, txHash *ethtypes.EthHash) (*ethtypes.EthTx, error)

func (*EthModuleDummy) EthGetTransactionByHashLimited added in v1.23.0

func (e *EthModuleDummy) EthGetTransactionByHashLimited(ctx context.Context, txHash *ethtypes.EthHash, limit abi.ChainEpoch) (*ethtypes.EthTx, error)

func (*EthModuleDummy) EthGetTransactionCount added in v1.20.0

func (e *EthModuleDummy) EthGetTransactionCount(ctx context.Context, sender ethtypes.EthAddress, blkParam ethtypes.EthBlockNumberOrHash) (ethtypes.EthUint64, error)

func (*EthModuleDummy) EthGetTransactionHashByCid added in v1.20.0

func (e *EthModuleDummy) EthGetTransactionHashByCid(ctx context.Context, cid cid.Cid) (*ethtypes.EthHash, error)

func (*EthModuleDummy) EthGetTransactionReceipt added in v1.20.0

func (e *EthModuleDummy) EthGetTransactionReceipt(ctx context.Context, txHash ethtypes.EthHash) (*api.EthTxReceipt, error)

func (*EthModuleDummy) EthGetTransactionReceiptLimited added in v1.23.0

func (e *EthModuleDummy) EthGetTransactionReceiptLimited(ctx context.Context, txHash ethtypes.EthHash, limit abi.ChainEpoch) (*api.EthTxReceipt, error)

func (*EthModuleDummy) EthMaxPriorityFeePerGas added in v1.20.0

func (e *EthModuleDummy) EthMaxPriorityFeePerGas(ctx context.Context) (ethtypes.EthBigInt, error)

func (*EthModuleDummy) EthNewBlockFilter added in v1.20.0

func (e *EthModuleDummy) EthNewBlockFilter(ctx context.Context) (ethtypes.EthFilterID, error)

func (*EthModuleDummy) EthNewFilter added in v1.20.0

func (e *EthModuleDummy) EthNewFilter(ctx context.Context, filter *ethtypes.EthFilterSpec) (ethtypes.EthFilterID, error)

func (*EthModuleDummy) EthNewPendingTransactionFilter added in v1.20.0

func (e *EthModuleDummy) EthNewPendingTransactionFilter(ctx context.Context) (ethtypes.EthFilterID, error)

func (*EthModuleDummy) EthProtocolVersion added in v1.20.0

func (e *EthModuleDummy) EthProtocolVersion(ctx context.Context) (ethtypes.EthUint64, error)

func (*EthModuleDummy) EthSendRawTransaction added in v1.20.0

func (e *EthModuleDummy) EthSendRawTransaction(ctx context.Context, rawTx ethtypes.EthBytes) (ethtypes.EthHash, error)

func (*EthModuleDummy) EthSubscribe added in v1.20.0

func (e *EthModuleDummy) EthSubscribe(ctx context.Context, params jsonrpc.RawParams) (ethtypes.EthSubscriptionID, error)

func (*EthModuleDummy) EthSyncing added in v1.23.3

func (*EthModuleDummy) EthTraceBlock added in v1.25.0

func (e *EthModuleDummy) EthTraceBlock(ctx context.Context, blkNum string) ([]*ethtypes.EthTraceBlock, error)

func (*EthModuleDummy) EthTraceReplayBlockTransactions added in v1.25.0

func (e *EthModuleDummy) EthTraceReplayBlockTransactions(ctx context.Context, blkNum string, traceTypes []string) ([]*ethtypes.EthTraceReplayBlockTransaction, error)

func (*EthModuleDummy) EthTraceTransaction added in v1.27.1

func (e *EthModuleDummy) EthTraceTransaction(ctx context.Context, txHash string) ([]*ethtypes.EthTraceTransaction, error)

func (*EthModuleDummy) EthUninstallFilter added in v1.20.0

func (e *EthModuleDummy) EthUninstallFilter(ctx context.Context, id ethtypes.EthFilterID) (bool, error)

func (*EthModuleDummy) EthUnsubscribe added in v1.20.0

func (e *EthModuleDummy) EthUnsubscribe(ctx context.Context, id ethtypes.EthSubscriptionID) (bool, error)

func (*EthModuleDummy) NetListening added in v1.20.0

func (e *EthModuleDummy) NetListening(ctx context.Context) (bool, error)

func (*EthModuleDummy) NetVersion added in v1.20.0

func (e *EthModuleDummy) NetVersion(ctx context.Context) (string, error)

func (*EthModuleDummy) Web3ClientVersion added in v1.20.0

func (e *EthModuleDummy) Web3ClientVersion(ctx context.Context) (string, error)

type EthSubscriptionManager added in v1.20.0

type EthSubscriptionManager struct {
	Chain    *store.ChainStore
	StateAPI StateAPI
	ChainAPI ChainAPI
	// contains filtered or unexported fields
}

func (*EthSubscriptionManager) StartSubscription added in v1.20.0

func (e *EthSubscriptionManager) StartSubscription(ctx context.Context, out ethSubscriptionCallback, dropFilter func(context.Context, filter.Filter) error) (*ethSubscription, error)

func (*EthSubscriptionManager) StopSubscription added in v1.20.0

type EthTxHashManager added in v1.20.0

type EthTxHashManager struct {
	StateAPI              StateAPI
	TransactionHashLookup *ethhashlookup.EthTxHashLookup
}

func (*EthTxHashManager) Apply added in v1.20.0

func (m *EthTxHashManager) Apply(ctx context.Context, from, to *types.TipSet) error

func (*EthTxHashManager) PopulateExistingMappings added in v1.20.0

func (m *EthTxHashManager) PopulateExistingMappings(ctx context.Context, minHeight abi.ChainEpoch) error

func (*EthTxHashManager) ProcessSignedMessage added in v1.20.0

func (m *EthTxHashManager) ProcessSignedMessage(ctx context.Context, msg *types.SignedMessage)

func (*EthTxHashManager) Revert added in v1.20.0

func (m *EthTxHashManager) Revert(ctx context.Context, from, to *types.TipSet) error

type EventFilterManager added in v1.26.0

type EventFilterManager interface {
	Install(
		ctx context.Context,
		minHeight, maxHeight abi.ChainEpoch,
		tipsetCid cid.Cid,
		addresses []address.Address,
		keysWithCodec map[string][]types.ActorEventBlock,
		excludeReverted bool,
	) (filter.EventFilter, error)
	Remove(ctx context.Context, id types.FilterID) error
}

type F3API added in v1.28.0

type F3API struct {
	fx.In

	F3 *lf3.F3 `optional:"true"`
}

func (*F3API) F3GetCertificate added in v1.28.0

func (f3api *F3API) F3GetCertificate(ctx context.Context, instance uint64) (*certs.FinalityCertificate, error)

func (*F3API) F3GetECPowerTable added in v1.28.0

func (f3api *F3API) F3GetECPowerTable(ctx context.Context, tsk types.TipSetKey) (gpbft.PowerEntries, error)

func (*F3API) F3GetF3PowerTable added in v1.28.0

func (f3api *F3API) F3GetF3PowerTable(ctx context.Context, tsk types.TipSetKey) (gpbft.PowerEntries, error)

func (*F3API) F3GetLatestCertificate added in v1.28.0

func (f3api *F3API) F3GetLatestCertificate(ctx context.Context) (*certs.FinalityCertificate, error)

func (*F3API) F3Participate added in v1.28.0

func (f3api *F3API) F3Participate(ctx context.Context, miner address.Address,
	newLeaseExpiration time.Time, oldLeaseExpiration time.Time) (bool, error)

type GasAPI added in v0.5.0

type GasAPI struct {
	fx.In

	GasModuleAPI

	Stmgr *stmgr.StateManager
	Chain *store.ChainStore
	Mpool *messagepool.MessagePool

	PriceCache *GasPriceCache
}

func (*GasAPI) GasEstimateFeeCap added in v0.5.0

func (a *GasAPI) GasEstimateFeeCap(
	ctx context.Context,
	msg *types.Message,
	maxqueueblks int64,
	tsk types.TipSetKey,
) (types.BigInt, error)

func (*GasAPI) GasEstimateGasLimit added in v0.5.0

func (a *GasAPI) GasEstimateGasLimit(ctx context.Context, msgIn *types.Message, tsk types.TipSetKey) (int64, error)

func (*GasAPI) GasEstimateGasPremium added in v0.5.0

func (a *GasAPI) GasEstimateGasPremium(
	ctx context.Context,
	nblocksincl uint64,
	sender address.Address,
	gaslimit int64,
	_ types.TipSetKey,
) (types.BigInt, error)

type GasMeta added in v1.9.0

type GasMeta struct {
	Price big.Int
	Limit int64
}

type GasModule added in v0.9.1

type GasModule struct {
	fx.In
	Stmgr     *stmgr.StateManager
	Chain     *store.ChainStore
	Mpool     *messagepool.MessagePool
	GetMaxFee dtypes.DefaultMaxFeeFunc

	PriceCache *GasPriceCache
}

GasModule provides a default implementation of GasModuleAPI. It can be swapped out with another implementation through Dependency Injection (for example with a thin RPC client).

func (*GasModule) GasEstimateFeeCap added in v0.9.1

func (m *GasModule) GasEstimateFeeCap(
	ctx context.Context,
	msg *types.Message,
	maxqueueblks int64,
	tsk types.TipSetKey,
) (types.BigInt, error)

func (*GasModule) GasEstimateGasLimit added in v0.9.1

func (m *GasModule) GasEstimateGasLimit(ctx context.Context, msgIn *types.Message, tsk types.TipSetKey) (int64, error)

func (*GasModule) GasEstimateGasPremium added in v0.9.1

func (m *GasModule) GasEstimateGasPremium(
	ctx context.Context,
	nblocksincl uint64,
	sender address.Address,
	gaslimit int64,
	_ types.TipSetKey,
) (types.BigInt, error)

func (*GasModule) GasEstimateMessageGas added in v0.9.1

func (m *GasModule) GasEstimateMessageGas(ctx context.Context, msg *types.Message, spec *api.MessageSendSpec, _ types.TipSetKey) (*types.Message, error)

type GasModuleAPI added in v0.9.1

type GasModuleAPI interface {
	GasEstimateMessageGas(ctx context.Context, msg *types.Message, spec *api.MessageSendSpec, tsk types.TipSetKey) (*types.Message, error)
}

type GasPriceCache added in v1.9.0

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

func NewGasPriceCache added in v1.9.0

func NewGasPriceCache() *GasPriceCache

func (*GasPriceCache) GetTSGasStats added in v1.9.0

func (g *GasPriceCache) GetTSGasStats(ctx context.Context, cstore *store.ChainStore, ts *types.TipSet) ([]GasMeta, error)

type MpoolAPI

type MpoolAPI struct {
	fx.In

	MpoolModuleAPI

	WalletAPI
	GasAPI

	MessageSigner messagesigner.MsgSigner

	PushLocks *dtypes.MpoolLocker
}

func (*MpoolAPI) MpoolBatchPush added in v1.1.1

func (a *MpoolAPI) MpoolBatchPush(ctx context.Context, smsgs []*types.SignedMessage) ([]cid.Cid, error)

func (*MpoolAPI) MpoolBatchPushMessage added in v1.1.1

func (a *MpoolAPI) MpoolBatchPushMessage(ctx context.Context, msgs []*types.Message, spec *api.MessageSendSpec) ([]*types.SignedMessage, error)

func (*MpoolAPI) MpoolBatchPushUntrusted added in v1.1.1

func (a *MpoolAPI) MpoolBatchPushUntrusted(ctx context.Context, smsgs []*types.SignedMessage) ([]cid.Cid, error)

func (*MpoolAPI) MpoolCheckMessages added in v1.11.0

func (a *MpoolAPI) MpoolCheckMessages(ctx context.Context, protos []*api.MessagePrototype) ([][]api.MessageCheckStatus, error)

func (*MpoolAPI) MpoolCheckPendingMessages added in v1.11.0

func (a *MpoolAPI) MpoolCheckPendingMessages(ctx context.Context, from address.Address) ([][]api.MessageCheckStatus, error)

func (*MpoolAPI) MpoolCheckReplaceMessages added in v1.11.0

func (a *MpoolAPI) MpoolCheckReplaceMessages(ctx context.Context, msgs []*types.Message) ([][]api.MessageCheckStatus, error)

func (*MpoolAPI) MpoolClear added in v0.5.0

func (a *MpoolAPI) MpoolClear(ctx context.Context, local bool) error

func (*MpoolAPI) MpoolGetConfig added in v0.5.0

func (a *MpoolAPI) MpoolGetConfig(context.Context) (*types.MpoolConfig, error)

func (*MpoolAPI) MpoolGetNonce

func (a *MpoolAPI) MpoolGetNonce(ctx context.Context, addr address.Address) (uint64, error)

func (*MpoolAPI) MpoolPending

func (a *MpoolAPI) MpoolPending(ctx context.Context, tsk types.TipSetKey) ([]*types.SignedMessage, error)

func (*MpoolAPI) MpoolPushMessage

func (a *MpoolAPI) MpoolPushMessage(ctx context.Context, msg *types.Message, spec *api.MessageSendSpec) (*types.SignedMessage, error)

func (*MpoolAPI) MpoolPushUntrusted added in v0.9.0

func (a *MpoolAPI) MpoolPushUntrusted(ctx context.Context, smsg *types.SignedMessage) (cid.Cid, error)

func (*MpoolAPI) MpoolSelect added in v0.5.0

func (a *MpoolAPI) MpoolSelect(ctx context.Context, tsk types.TipSetKey, ticketQuality float64) ([]*types.SignedMessage, error)

func (*MpoolAPI) MpoolSetConfig added in v0.5.0

func (a *MpoolAPI) MpoolSetConfig(ctx context.Context, cfg *types.MpoolConfig) error

func (*MpoolAPI) MpoolSub

func (a *MpoolAPI) MpoolSub(ctx context.Context) (<-chan api.MpoolUpdate, error)

type MpoolModule added in v0.9.1

type MpoolModule struct {
	fx.In

	Mpool *messagepool.MessagePool
}

MpoolModule provides a default implementation of MpoolModuleAPI. It can be swapped out with another implementation through Dependency Injection (for example with a thin RPC client).

func (*MpoolModule) MpoolPush added in v0.9.1

func (m *MpoolModule) MpoolPush(ctx context.Context, smsg *types.SignedMessage) (cid.Cid, error)

type MpoolModuleAPI added in v0.9.1

type MpoolModuleAPI interface {
	MpoolPush(ctx context.Context, smsg *types.SignedMessage) (cid.Cid, error)
}

type MsigAPI added in v0.3.0

type MsigAPI struct {
	fx.In

	StateAPI StateAPI
	MpoolAPI MpoolAPI
}

func (*MsigAPI) MsigAddApprove added in v0.7.0

func (a *MsigAPI) MsigAddApprove(ctx context.Context, msig address.Address, src address.Address, txID uint64, proposer address.Address, newAdd address.Address, inc bool) (*api.MessagePrototype, error)

func (*MsigAPI) MsigAddCancel added in v0.7.0

func (a *MsigAPI) MsigAddCancel(ctx context.Context, msig address.Address, src address.Address, txID uint64, newAdd address.Address, inc bool) (*api.MessagePrototype, error)

func (*MsigAPI) MsigAddPropose added in v0.7.0

func (a *MsigAPI) MsigAddPropose(ctx context.Context, msig address.Address, src address.Address, newAdd address.Address, inc bool) (*api.MessagePrototype, error)

func (*MsigAPI) MsigApprove added in v0.3.0

func (a *MsigAPI) MsigApprove(ctx context.Context, msig address.Address, txID uint64, src address.Address) (*api.MessagePrototype, error)

func (*MsigAPI) MsigApproveTxnHash added in v0.10.0

func (a *MsigAPI) MsigApproveTxnHash(ctx context.Context, msig address.Address, txID uint64, proposer address.Address, to address.Address, amt types.BigInt, src address.Address, method uint64, params []byte) (*api.MessagePrototype, error)

func (*MsigAPI) MsigCancel added in v0.3.0

func (a *MsigAPI) MsigCancel(ctx context.Context, msig address.Address, txID uint64, src address.Address) (*api.MessagePrototype, error)

func (*MsigAPI) MsigCancelTxnHash added in v1.13.2

func (a *MsigAPI) MsigCancelTxnHash(ctx context.Context, msig address.Address, txID uint64, to address.Address, amt types.BigInt, src address.Address, method uint64, params []byte) (*api.MessagePrototype, error)

func (*MsigAPI) MsigCreate added in v0.3.0

func (a *MsigAPI) MsigCreate(ctx context.Context, req uint64, addrs []address.Address, duration abi.ChainEpoch, val types.BigInt, src address.Address, gp types.BigInt) (*api.MessagePrototype, error)

TODO: remove gp (gasPrice) from arguments TODO: Add "vesting start" to arguments.

func (*MsigAPI) MsigPropose added in v0.3.0

func (a *MsigAPI) MsigPropose(ctx context.Context, msig address.Address, to address.Address, amt types.BigInt, src address.Address, method uint64, params []byte) (*api.MessagePrototype, error)

func (*MsigAPI) MsigRemoveSigner added in v0.10.0

func (a *MsigAPI) MsigRemoveSigner(ctx context.Context, msig address.Address, proposer address.Address, toRemove address.Address, decrease bool) (*api.MessagePrototype, error)

func (*MsigAPI) MsigSwapApprove added in v0.5.0

func (a *MsigAPI) MsigSwapApprove(ctx context.Context, msig address.Address, src address.Address, txID uint64, proposer address.Address, oldAdd address.Address, newAdd address.Address) (*api.MessagePrototype, error)

func (*MsigAPI) MsigSwapCancel added in v0.5.0

func (a *MsigAPI) MsigSwapCancel(ctx context.Context, msig address.Address, src address.Address, txID uint64, oldAdd address.Address, newAdd address.Address) (*api.MessagePrototype, error)

func (*MsigAPI) MsigSwapPropose added in v0.5.0

func (a *MsigAPI) MsigSwapPropose(ctx context.Context, msig address.Address, src address.Address, oldAdd address.Address, newAdd address.Address) (*api.MessagePrototype, error)

type StateAPI

type StateAPI struct {
	fx.In

	// TODO: the wallet here is only needed because we have the MinerCreateBlock
	// API attached to the state API. It probably should live somewhere better
	Wallet    api.Wallet
	DefWallet wallet.Default

	StateModuleAPI

	ProofVerifier storiface.Verifier
	StateManager  *stmgr.StateManager
	Chain         *store.ChainStore
	Beacon        beacon.Schedule
	Consensus     consensus.Consensus
	TsExec        stmgr.Executor
}

func (*StateAPI) MinerCreateBlock

func (a *StateAPI) MinerCreateBlock(ctx context.Context, bt *api.BlockTemplate) (*types.BlockMsg, error)

func (*StateAPI) MinerGetBaseInfo added in v0.3.0

func (a *StateAPI) MinerGetBaseInfo(ctx context.Context, maddr address.Address, epoch abi.ChainEpoch, tsk types.TipSetKey) (*api.MiningBaseInfo, error)

This is on StateAPI because miner.Miner requires this, and MinerAPI requires miner.Miner

func (*StateAPI) MsigGetVestingSchedule added in v0.9.1

func (a *StateAPI) MsigGetVestingSchedule(ctx context.Context, addr address.Address, tsk types.TipSetKey) (api.MsigVesting, error)

func (*StateAPI) StateActorCodeCIDs added in v1.16.0

func (a *StateAPI) StateActorCodeCIDs(ctx context.Context, nv network.Version) (map[string]cid.Cid, error)

func (*StateAPI) StateActorManifestCID added in v1.17.2

func (a *StateAPI) StateActorManifestCID(ctx context.Context, nv network.Version) (cid.Cid, error)

func (*StateAPI) StateAllMinerFaults added in v0.3.1

func (a *StateAPI) StateAllMinerFaults(ctx context.Context, lookback abi.ChainEpoch, endTsk types.TipSetKey) ([]*api.Fault, error)

func (*StateAPI) StateCall

func (a *StateAPI) StateCall(ctx context.Context, msg *types.Message, tsk types.TipSetKey) (res *api.InvocResult, err error)

func (*StateAPI) StateChangedActors

func (a *StateAPI) StateChangedActors(ctx context.Context, old cid.Cid, new cid.Cid) (map[string]types.Actor, error)

func (*StateAPI) StateCirculatingSupply added in v0.5.0

func (a *StateAPI) StateCirculatingSupply(ctx context.Context, tsk types.TipSetKey) (abi.TokenAmount, error)

func (*StateAPI) StateCompute added in v0.2.5

func (a *StateAPI) StateCompute(ctx context.Context, height abi.ChainEpoch, msgs []*types.Message, tsk types.TipSetKey) (*api.ComputeStateOutput, error)

func (*StateAPI) StateComputeDataCID added in v1.17.0

func (a *StateAPI) StateComputeDataCID(ctx context.Context, maddr address.Address, sectorType abi.RegisteredSealProof, deals []abi.DealID, tsk types.TipSetKey) (cid.Cid, error)

func (*StateAPI) StateDecodeParams added in v1.1.3

func (a *StateAPI) StateDecodeParams(ctx context.Context, toAddr address.Address, method abi.MethodNum, params []byte, tsk types.TipSetKey) (interface{}, error)

func (*StateAPI) StateEncodeParams added in v1.11.2

func (a *StateAPI) StateEncodeParams(ctx context.Context, toActCode cid.Cid, method abi.MethodNum, params json.RawMessage) ([]byte, error)

func (*StateAPI) StateGetAllAllocations added in v1.26.0

func (a *StateAPI) StateGetAllAllocations(ctx context.Context, tsk types.TipSetKey) (map[verifreg.AllocationId]verifreg.Allocation, error)

func (*StateAPI) StateGetAllClaims added in v1.26.0

func (a *StateAPI) StateGetAllClaims(ctx context.Context, tsk types.TipSetKey) (map[verifreg.ClaimId]verifreg.Claim, error)

func (*StateAPI) StateGetAllocation added in v1.18.0

func (a *StateAPI) StateGetAllocation(ctx context.Context, clientAddr address.Address, allocationId verifreg.AllocationId, tsk types.TipSetKey) (*verifreg.Allocation, error)

func (*StateAPI) StateGetAllocationForPendingDeal added in v1.18.0

func (a *StateAPI) StateGetAllocationForPendingDeal(ctx context.Context, dealId abi.DealID, tsk types.TipSetKey) (*verifreg.Allocation, error)

func (*StateAPI) StateGetAllocationIdForPendingDeal added in v1.26.0

func (a *StateAPI) StateGetAllocationIdForPendingDeal(ctx context.Context, dealId abi.DealID, tsk types.TipSetKey) (verifreg.AllocationId, error)

func (*StateAPI) StateGetAllocations added in v1.18.0

func (a *StateAPI) StateGetAllocations(ctx context.Context, clientAddr address.Address, tsk types.TipSetKey) (map[verifreg.AllocationId]verifreg.Allocation, error)

func (*StateAPI) StateGetBeaconEntry added in v1.16.0

func (a *StateAPI) StateGetBeaconEntry(ctx context.Context, epoch abi.ChainEpoch) (*types.BeaconEntry, error)

func (*StateAPI) StateGetClaim added in v1.18.0

func (a *StateAPI) StateGetClaim(ctx context.Context, providerAddr address.Address, claimId verifreg.ClaimId, tsk types.TipSetKey) (*verifreg.Claim, error)

func (*StateAPI) StateGetClaims added in v1.18.0

func (a *StateAPI) StateGetClaims(ctx context.Context, providerAddr address.Address, tsk types.TipSetKey) (map[verifreg.ClaimId]verifreg.Claim, error)

func (*StateAPI) StateGetNetworkParams added in v1.15.3

func (a *StateAPI) StateGetNetworkParams(ctx context.Context) (*api.NetworkParams, error)

func (*StateAPI) StateGetRandomnessDigestFromBeacon added in v1.24.0

func (a *StateAPI) StateGetRandomnessDigestFromBeacon(ctx context.Context, randEpoch abi.ChainEpoch, tsk types.TipSetKey) (abi.Randomness, error)

func (*StateAPI) StateGetRandomnessDigestFromTickets added in v1.24.0

func (a *StateAPI) StateGetRandomnessDigestFromTickets(ctx context.Context, randEpoch abi.ChainEpoch, tsk types.TipSetKey) (abi.Randomness, error)

func (*StateAPI) StateGetRandomnessFromBeacon added in v1.12.0

func (a *StateAPI) StateGetRandomnessFromBeacon(ctx context.Context, personalization crypto.DomainSeparationTag, randEpoch abi.ChainEpoch, entropy []byte, tsk types.TipSetKey) (abi.Randomness, error)

func (*StateAPI) StateGetRandomnessFromTickets added in v1.12.0

func (a *StateAPI) StateGetRandomnessFromTickets(ctx context.Context, personalization crypto.DomainSeparationTag, randEpoch abi.ChainEpoch, entropy []byte, tsk types.TipSetKey) (abi.Randomness, error)

func (*StateAPI) StateListActors

func (a *StateAPI) StateListActors(ctx context.Context, tsk types.TipSetKey) ([]address.Address, error)

func (*StateAPI) StateListMessages added in v0.1.6

func (a *StateAPI) StateListMessages(ctx context.Context, match *api.MessageMatch, tsk types.TipSetKey, toheight abi.ChainEpoch) ([]cid.Cid, error)

func (*StateAPI) StateLookupRobustAddress added in v1.15.3

func (a *StateAPI) StateLookupRobustAddress(ctx context.Context, addr address.Address, tsk types.TipSetKey) (address.Address, error)

func (*StateAPI) StateMarketDeals

func (a *StateAPI) StateMarketDeals(ctx context.Context, tsk types.TipSetKey) (map[string]*api.MarketDeal, error)

func (*StateAPI) StateMarketParticipants

func (a *StateAPI) StateMarketParticipants(ctx context.Context, tsk types.TipSetKey) (map[string]api.MarketBalance, error)

func (*StateAPI) StateMinerActiveSectors added in v0.5.0

func (a *StateAPI) StateMinerActiveSectors(ctx context.Context, maddr address.Address, tsk types.TipSetKey) ([]*miner.SectorOnChainInfo, error)

func (*StateAPI) StateMinerAllocated added in v1.17.2

func (a *StateAPI) StateMinerAllocated(ctx context.Context, addr address.Address, tsk types.TipSetKey) (*bitfield.BitField, error)

func (*StateAPI) StateMinerAvailableBalance added in v0.3.0

func (a *StateAPI) StateMinerAvailableBalance(ctx context.Context, maddr address.Address, tsk types.TipSetKey) (types.BigInt, error)

func (*StateAPI) StateMinerDeadlines added in v0.3.0

func (a *StateAPI) StateMinerDeadlines(ctx context.Context, m address.Address, tsk types.TipSetKey) ([]api.Deadline, error)

func (*StateAPI) StateMinerFaults added in v0.2.8

func (a *StateAPI) StateMinerFaults(ctx context.Context, addr address.Address, tsk types.TipSetKey) (bitfield.BitField, error)

func (*StateAPI) StateMinerInitialPledgeCollateral added in v0.3.0

func (a *StateAPI) StateMinerInitialPledgeCollateral(ctx context.Context, maddr address.Address, pci miner.SectorPreCommitInfo, tsk types.TipSetKey) (types.BigInt, error)

func (*StateAPI) StateMinerPartitions added in v0.5.0

func (a *StateAPI) StateMinerPartitions(ctx context.Context, m address.Address, dlIdx uint64, tsk types.TipSetKey) ([]api.Partition, error)

func (*StateAPI) StateMinerPreCommitDepositForPower added in v0.5.0

func (a *StateAPI) StateMinerPreCommitDepositForPower(ctx context.Context, maddr address.Address, pci miner.SectorPreCommitInfo, tsk types.TipSetKey) (types.BigInt, error)

func (*StateAPI) StateMinerRecoveries added in v0.3.1

func (a *StateAPI) StateMinerRecoveries(ctx context.Context, addr address.Address, tsk types.TipSetKey) (bitfield.BitField, error)

func (*StateAPI) StateMinerSectorAllocated added in v1.1.3

func (a *StateAPI) StateMinerSectorAllocated(ctx context.Context, maddr address.Address, s abi.SectorNumber, tsk types.TipSetKey) (bool, error)

func (*StateAPI) StateMinerSectorCount added in v0.1.5

func (a *StateAPI) StateMinerSectorCount(ctx context.Context, addr address.Address, tsk types.TipSetKey) (api.MinerSectors, error)

func (*StateAPI) StateMinerSectors

func (a *StateAPI) StateMinerSectors(ctx context.Context, addr address.Address, sectorNos *bitfield.BitField, tsk types.TipSetKey) ([]*miner.SectorOnChainInfo, error)

func (*StateAPI) StateNetworkName added in v0.3.0

func (a *StateAPI) StateNetworkName(ctx context.Context) (dtypes.NetworkName, error)

func (*StateAPI) StateReadState

func (a *StateAPI) StateReadState(ctx context.Context, actor address.Address, tsk types.TipSetKey) (*api.ActorState, error)

func (*StateAPI) StateReplay

func (a *StateAPI) StateReplay(ctx context.Context, tsk types.TipSetKey, mc cid.Cid) (*api.InvocResult, error)

func (*StateAPI) StateSectorExpiration added in v0.5.0

func (a *StateAPI) StateSectorExpiration(ctx context.Context, maddr address.Address, sectorNumber abi.SectorNumber, tsk types.TipSetKey) (*miner.SectorExpiration, error)

func (*StateAPI) StateSectorPartition added in v0.5.0

func (a *StateAPI) StateSectorPartition(ctx context.Context, maddr address.Address, sectorNumber abi.SectorNumber, tsk types.TipSetKey) (*miner.SectorLocation, error)

func (*StateAPI) StateSectorPreCommitInfo added in v0.3.0

func (a *StateAPI) StateSectorPreCommitInfo(ctx context.Context, maddr address.Address, n abi.SectorNumber, tsk types.TipSetKey) (*miner.SectorPreCommitOnChainInfo, error)

func (*StateAPI) StateVMCirculatingSupplyInternal added in v0.10.1

func (a *StateAPI) StateVMCirculatingSupplyInternal(ctx context.Context, tsk types.TipSetKey) (api.CirculatingSupply, error)

func (*StateAPI) StateVerifiedRegistryRootKey added in v0.9.0

func (a *StateAPI) StateVerifiedRegistryRootKey(ctx context.Context, tsk types.TipSetKey) (address.Address, error)

func (*StateAPI) StateVerifierStatus added in v0.9.0

func (a *StateAPI) StateVerifierStatus(ctx context.Context, addr address.Address, tsk types.TipSetKey) (*abi.StoragePower, error)

StateVerifierStatus returns the data cap for the given address. Returns zero if there is no entry in the data cap table for the address.

type StateModule added in v0.9.1

type StateModule struct {
	fx.In

	StateManager *stmgr.StateManager
	Chain        *store.ChainStore
}

StateModule provides a default implementation of StateModuleAPI. It can be swapped out with another implementation through Dependency Injection (for example with a thin RPC client).

func (*StateModule) MsigGetAvailableBalance added in v0.9.1

func (m *StateModule) MsigGetAvailableBalance(ctx context.Context, addr address.Address, tsk types.TipSetKey) (types.BigInt, error)

func (*StateModule) MsigGetPending added in v1.4.2

func (m *StateModule) MsigGetPending(ctx context.Context, addr address.Address, tsk types.TipSetKey) ([]*api.MsigTransaction, error)

func (*StateModule) MsigGetVested added in v0.9.1

func (m *StateModule) MsigGetVested(ctx context.Context, addr address.Address, start types.TipSetKey, end types.TipSetKey) (types.BigInt, error)

func (*StateModule) StateAccountKey added in v0.9.1

func (m *StateModule) StateAccountKey(ctx context.Context, addr address.Address, tsk types.TipSetKey) (address.Address, error)

func (*StateModule) StateDealProviderCollateralBounds added in v1.1.1

func (m *StateModule) StateDealProviderCollateralBounds(ctx context.Context, size abi.PaddedPieceSize, verified bool, tsk types.TipSetKey) (api.DealCollateralBounds, error)

StateDealProviderCollateralBounds returns the min and max collateral a storage provider can issue. It takes the deal size and verified status as parameters.

func (*StateModule) StateGetActor added in v0.9.1

func (m *StateModule) StateGetActor(ctx context.Context, actor address.Address, tsk types.TipSetKey) (a *types.Actor, err error)

func (*StateModule) StateListMiners added in v1.1.1

func (m *StateModule) StateListMiners(ctx context.Context, tsk types.TipSetKey) ([]address.Address, error)

func (*StateModule) StateLookupID added in v0.9.1

func (m *StateModule) StateLookupID(ctx context.Context, addr address.Address, tsk types.TipSetKey) (address.Address, error)

func (*StateModule) StateMarketBalance added in v1.1.1

func (m *StateModule) StateMarketBalance(ctx context.Context, addr address.Address, tsk types.TipSetKey) (api.MarketBalance, error)

func (*StateModule) StateMarketStorageDeal added in v1.1.1

func (m *StateModule) StateMarketStorageDeal(ctx context.Context, dealId abi.DealID, tsk types.TipSetKey) (*api.MarketDeal, error)

func (*StateModule) StateMinerInfo added in v1.1.1

func (m *StateModule) StateMinerInfo(ctx context.Context, actor address.Address, tsk types.TipSetKey) (api.MinerInfo, error)

func (*StateModule) StateMinerPower added in v1.1.1

func (m *StateModule) StateMinerPower(ctx context.Context, addr address.Address, tsk types.TipSetKey) (*api.MinerPower, error)

func (*StateModule) StateMinerProvingDeadline added in v1.1.1

func (m *StateModule) StateMinerProvingDeadline(ctx context.Context, addr address.Address, tsk types.TipSetKey) (*dline.Info, error)

func (*StateModule) StateNetworkVersion added in v1.1.1

func (m *StateModule) StateNetworkVersion(ctx context.Context, tsk types.TipSetKey) (network.Version, error)

func (*StateModule) StateSearchMsg added in v1.4.1

func (m *StateModule) StateSearchMsg(ctx context.Context, tsk types.TipSetKey, msg cid.Cid, lookbackLimit abi.ChainEpoch, allowReplaced bool) (*api.MsgLookup, error)

func (*StateModule) StateSectorGetInfo added in v1.2.2

func (m *StateModule) StateSectorGetInfo(ctx context.Context, maddr address.Address, n abi.SectorNumber, tsk types.TipSetKey) (*miner.SectorOnChainInfo, error)

Returns nil, nil if sector is not found

func (*StateModule) StateVerifiedClientStatus added in v1.1.1

func (m *StateModule) StateVerifiedClientStatus(ctx context.Context, addr address.Address, tsk types.TipSetKey) (*abi.StoragePower, error)

StateVerifiedClientStatus returns the data cap for the given address. Returns zero if there is no entry in the data cap table for the address.

func (*StateModule) StateWaitMsg added in v0.9.1

func (m *StateModule) StateWaitMsg(ctx context.Context, msg cid.Cid, confidence uint64, lookbackLimit abi.ChainEpoch, allowReplaced bool) (*api.MsgLookup, error)

type StateModuleAPI added in v0.9.1

type StateModuleAPI interface {
	MsigGetAvailableBalance(ctx context.Context, addr address.Address, tsk types.TipSetKey) (types.BigInt, error)
	MsigGetVested(ctx context.Context, addr address.Address, start types.TipSetKey, end types.TipSetKey) (types.BigInt, error)
	MsigGetPending(ctx context.Context, addr address.Address, tsk types.TipSetKey) ([]*api.MsigTransaction, error)
	StateAccountKey(ctx context.Context, addr address.Address, tsk types.TipSetKey) (address.Address, error)
	StateDealProviderCollateralBounds(ctx context.Context, size abi.PaddedPieceSize, verified bool, tsk types.TipSetKey) (api.DealCollateralBounds, error)
	StateGetActor(ctx context.Context, actor address.Address, tsk types.TipSetKey) (*types.Actor, error)
	StateListMiners(ctx context.Context, tsk types.TipSetKey) ([]address.Address, error)
	StateLookupID(ctx context.Context, addr address.Address, tsk types.TipSetKey) (address.Address, error)
	StateMarketBalance(ctx context.Context, addr address.Address, tsk types.TipSetKey) (api.MarketBalance, error)
	StateMarketStorageDeal(ctx context.Context, dealId abi.DealID, tsk types.TipSetKey) (*api.MarketDeal, error)
	StateMinerInfo(ctx context.Context, actor address.Address, tsk types.TipSetKey) (api.MinerInfo, error)
	StateMinerProvingDeadline(ctx context.Context, addr address.Address, tsk types.TipSetKey) (*dline.Info, error)
	StateMinerPower(context.Context, address.Address, types.TipSetKey) (*api.MinerPower, error)
	StateNetworkVersion(ctx context.Context, key types.TipSetKey) (network.Version, error)
	StateSectorGetInfo(ctx context.Context, maddr address.Address, n abi.SectorNumber, tsk types.TipSetKey) (*miner.SectorOnChainInfo, error)
	StateVerifiedClientStatus(ctx context.Context, addr address.Address, tsk types.TipSetKey) (*abi.StoragePower, error)
	StateSearchMsg(ctx context.Context, from types.TipSetKey, msg cid.Cid, limit abi.ChainEpoch, allowReplaced bool) (*api.MsgLookup, error)
	StateWaitMsg(ctx context.Context, cid cid.Cid, confidence uint64, limit abi.ChainEpoch, allowReplaced bool) (*api.MsgLookup, error)
}

type SyncAPI

type SyncAPI struct {
	fx.In

	SlashFilter *slashfilter.SlashFilter `optional:"true"`
	Syncer      *chain.Syncer
	PubSub      *pubsub.PubSub
	NetName     dtypes.NetworkName
}

func (*SyncAPI) SyncCheckBad added in v0.2.8

func (a *SyncAPI) SyncCheckBad(ctx context.Context, bcid cid.Cid) (string, error)

func (*SyncAPI) SyncCheckpoint added in v0.6.2

func (a *SyncAPI) SyncCheckpoint(ctx context.Context, tsk types.TipSetKey) error

func (*SyncAPI) SyncIncomingBlocks

func (a *SyncAPI) SyncIncomingBlocks(ctx context.Context) (<-chan *types.BlockHeader, error)

func (*SyncAPI) SyncMarkBad added in v0.1.6

func (a *SyncAPI) SyncMarkBad(ctx context.Context, bcid cid.Cid) error

func (*SyncAPI) SyncState

func (a *SyncAPI) SyncState(ctx context.Context) (*api.SyncState, error)

func (*SyncAPI) SyncSubmitBlock

func (a *SyncAPI) SyncSubmitBlock(ctx context.Context, blk *types.BlockMsg) error

func (*SyncAPI) SyncUnmarkAllBad added in v0.10.0

func (a *SyncAPI) SyncUnmarkAllBad(ctx context.Context) error

func (*SyncAPI) SyncUnmarkBad added in v0.6.2

func (a *SyncAPI) SyncUnmarkBad(ctx context.Context, bcid cid.Cid) error

func (*SyncAPI) SyncValidateTipset added in v0.8.1

func (a *SyncAPI) SyncValidateTipset(ctx context.Context, tsk types.TipSetKey) (bool, error)

type WalletAPI

type WalletAPI struct {
	fx.In

	StateManagerAPI stmgr.StateManagerAPI
	Default         wallet.Default
	api.Wallet
}

func (*WalletAPI) WalletBalance

func (a *WalletAPI) WalletBalance(ctx context.Context, addr address.Address) (types.BigInt, error)

func (*WalletAPI) WalletDefaultAddress

func (a *WalletAPI) WalletDefaultAddress(ctx context.Context) (address.Address, error)

func (*WalletAPI) WalletSetDefault

func (a *WalletAPI) WalletSetDefault(ctx context.Context, addr address.Address) error

func (*WalletAPI) WalletSign

func (a *WalletAPI) WalletSign(ctx context.Context, k address.Address, msg []byte) (*crypto.Signature, error)

func (*WalletAPI) WalletSignMessage

func (a *WalletAPI) WalletSignMessage(ctx context.Context, k address.Address, msg *types.Message) (*types.SignedMessage, error)

func (*WalletAPI) WalletValidateAddress added in v0.8.1

func (a *WalletAPI) WalletValidateAddress(ctx context.Context, str string) (address.Address, error)

func (*WalletAPI) WalletVerify added in v0.2.10

func (a *WalletAPI) WalletVerify(ctx context.Context, k address.Address, msg []byte, sig *crypto.Signature) (bool, error)

Jump to

Keyboard shortcuts

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