Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ConfirmationFilters = &ffapi.QueryFields{ "sequence": &ffapi.Int64Field{}, "id": &ffapi.UUIDField{}, "transaction": &ffapi.StringField{}, "blocknumber": &ffapi.Int64Field{}, "blockhash": &ffapi.StringField{}, "parenthash": &ffapi.StringField{}, }
View Source
var EventStreamFilters = &ffapi.QueryFields{ "sequence": &ffapi.Int64Field{}, "id": &ffapi.UUIDField{}, "name": &ffapi.StringField{}, "created": &ffapi.TimeField{}, "updated": &ffapi.TimeField{}, "suspended": &ffapi.BoolField{}, "type": &ffapi.StringField{}, "errorhandling": &ffapi.StringField{}, "batchsize": &ffapi.Int64Field{}, "batchtimeout": &ffapi.Int64Field{}, "retrytimeout": &ffapi.Int64Field{}, "blockedretrytimeout": &ffapi.Int64Field{}, "webhook": &ffapi.JSONField{}, "websocket": &ffapi.JSONField{}, }
View Source
var ListenerFilters = &ffapi.QueryFields{ "sequence": &ffapi.Int64Field{}, "id": &ffapi.UUIDField{}, "name": &ffapi.StringField{}, "created": &ffapi.TimeField{}, "updated": &ffapi.TimeField{}, "streamid": &ffapi.UUIDField{}, "filters": &ffapi.JSONField{}, "options": &ffapi.JSONField{}, "signature": &ffapi.StringField{}, "fromblock": &ffapi.StringField{}, }
View Source
var ReceiptFilters = &ffapi.QueryFields{ "sequence": &ffapi.Int64Field{}, "transaction": &ffapi.StringField{}, "created": &ffapi.TimeField{}, "updated": &ffapi.TimeField{}, "blocknumber": &ffapi.Int64Field{}, "transactionindex": &ffapi.BigIntField{}, "blockhash": &ffapi.StringField{}, "success": &ffapi.BoolField{}, "protocolid": &ffapi.StringField{}, "extrainfo": &ffapi.JSONField{}, "contractlocation": &ffapi.JSONField{}, }
View Source
var TXHistoryFilters = &ffapi.QueryFields{ "sequence": &ffapi.Int64Field{}, "id": &ffapi.UUIDField{}, "transaction": &ffapi.StringField{}, "time": &ffapi.TimeField{}, "lastoccurrence": &ffapi.TimeField{}, "substatus": &ffapi.StringField{}, "action": &ffapi.StringField{}, "occurrences": &ffapi.Int64Field{}, "lasterror": &ffapi.JSONField{}, "lasterrortime": &ffapi.TimeField{}, "lastinfo": &ffapi.JSONField{}, }
View Source
var TransactionFilters = &ffapi.QueryFields{ "sequence": &ffapi.Int64Field{}, "id": &ffapi.StringField{}, "created": &ffapi.TimeField{}, "updated": &ffapi.TimeField{}, "status": &ffapi.StringField{}, "deleterequested": &ffapi.TimeField{}, "from": &ffapi.StringField{}, "to": &ffapi.StringField{}, "nonce": &ffapi.BigIntField{}, "gas": &ffapi.BigIntField{}, "value": &ffapi.BigIntField{}, "gasprice": &ffapi.JSONField{}, "transactiondata": &ffapi.StringField{}, "transactionhash": &ffapi.StringField{}, "policyinfo": &ffapi.JSONField{}, "firstsubmit": &ffapi.TimeField{}, "lastsubmit": &ffapi.TimeField{}, "errormessage": &ffapi.StringField{}, }
Functions ¶
Types ¶
type CheckpointPersistence ¶ added in v1.3.0
type EventStreamPersistence ¶ added in v1.2.4
type EventStreamPersistence interface { ListStreamsByCreateTime(ctx context.Context, after *fftypes.UUID, limit int, dir SortDirection) ([]*apitypes.EventStream, error) // reverse insertion order GetStream(ctx context.Context, streamID *fftypes.UUID) (*apitypes.EventStream, error) WriteStream(ctx context.Context, spec *apitypes.EventStream) error DeleteStream(ctx context.Context, streamID *fftypes.UUID) error }
type ListenerPersistence ¶ added in v1.2.4
type ListenerPersistence interface { ListListenersByCreateTime(ctx context.Context, after *fftypes.UUID, limit int, dir SortDirection) ([]*apitypes.Listener, error) // reverse insertion ListStreamListenersByCreateTime(ctx context.Context, after *fftypes.UUID, limit int, dir SortDirection, streamID *fftypes.UUID) ([]*apitypes.Listener, error) GetListener(ctx context.Context, listenerID *fftypes.UUID) (*apitypes.Listener, error) WriteListener(ctx context.Context, spec *apitypes.Listener) error DeleteListener(ctx context.Context, listenerID *fftypes.UUID) error }
type NextNonceCallback ¶ added in v1.3.0
type Persistence ¶
type Persistence interface { EventStreamPersistence CheckpointPersistence ListenerPersistence TransactionPersistence TransactionHistoryPersistence RichQuery() RichQuery // panics if not supported Close(ctx context.Context) // close function is controlled by the manager }
Persistence interface contains all the functions a persistence instance needs to implement. Sub set of functions are grouped into sub interfaces to provide a clear view of what persistent functions will be made available for each sub components to use after the persistent instance is initialized by the manager.
type RichQuery ¶ added in v1.3.0
type RichQuery interface { ListStreams(ctx context.Context, filter ffapi.AndFilter) ([]*apitypes.EventStream, *ffapi.FilterResult, error) ListListeners(ctx context.Context, filter ffapi.AndFilter) ([]*apitypes.Listener, *ffapi.FilterResult, error) ListTransactions(ctx context.Context, filter ffapi.AndFilter) ([]*apitypes.ManagedTX, *ffapi.FilterResult, error) ListTransactionConfirmations(ctx context.Context, txID string, filter ffapi.AndFilter) ([]*apitypes.ConfirmationRecord, *ffapi.FilterResult, error) ListTransactionHistory(ctx context.Context, txID string, filter ffapi.AndFilter) ([]*apitypes.TXHistoryRecord, *ffapi.FilterResult, error) ListStreamListeners(ctx context.Context, streamID *fftypes.UUID, filter ffapi.AndFilter) ([]*apitypes.Listener, *ffapi.FilterResult, error) NewStreamFilter(ctx context.Context) ffapi.FilterBuilder NewListenerFilter(ctx context.Context) ffapi.FilterBuilder NewTransactionFilter(ctx context.Context) ffapi.FilterBuilder NewConfirmationFilter(ctx context.Context) ffapi.FilterBuilder NewTxHistoryFilter(ctx context.Context) ffapi.FilterBuilder }
type SortDirection ¶
type SortDirection int
const ( SortDirectionAscending SortDirection = iota SortDirectionDescending )
type TransactionHistoryPersistence ¶ added in v1.3.0
type TransactionPersistence ¶ added in v1.2.4
type TransactionPersistence interface { ListTransactionsByCreateTime(ctx context.Context, after *apitypes.ManagedTX, limit int, dir SortDirection) ([]*apitypes.ManagedTX, error) // reverse create time order ListTransactionsByNonce(ctx context.Context, signer string, after *fftypes.FFBigInt, limit int, dir SortDirection) ([]*apitypes.ManagedTX, error) // reverse nonce order within signer ListTransactionsPending(ctx context.Context, afterSequenceID string, limit int, dir SortDirection) ([]*apitypes.ManagedTX, error) // reverse insertion order, only those in pending state GetTransactionByID(ctx context.Context, txID string) (*apitypes.ManagedTX, error) GetTransactionByIDWithStatus(ctx context.Context, txID string, history bool) (*apitypes.TXWithStatus, error) GetTransactionByNonce(ctx context.Context, signer string, nonce *fftypes.FFBigInt) (*apitypes.ManagedTX, error) InsertTransactionPreAssignedNonce(ctx context.Context, tx *apitypes.ManagedTX) error InsertTransactionWithNextNonce(ctx context.Context, tx *apitypes.ManagedTX, lookupNextNonce NextNonceCallback) error UpdateTransaction(ctx context.Context, txID string, updates *apitypes.TXUpdates) error DeleteTransaction(ctx context.Context, txID string) error GetTransactionReceipt(ctx context.Context, txID string) (receipt *ffcapi.TransactionReceiptResponse, err error) SetTransactionReceipt(ctx context.Context, txID string, receipt *ffcapi.TransactionReceiptResponse) error GetTransactionConfirmations(ctx context.Context, txID string) ([]*apitypes.Confirmation, error) AddTransactionConfirmations(ctx context.Context, txID string, clearExisting bool, confirmations ...*apitypes.Confirmation) error }
Click to show internal directories.
Click to hide internal directories.