Some checks are pending
Docs Deploy / build_and_deploy (push) Waiting to run
Generate Docs / cli (push) Waiting to run
Generate Config Doc / cli (push) Waiting to run
Go formatting / go-formatting (push) Waiting to run
Check links / markdown-link-check (push) Waiting to run
Integration / pre-test (push) Waiting to run
Integration / test on (push) Blocked by required conditions
Integration / status (push) Blocked by required conditions
Lint / Lint Go code (push) Waiting to run
Test / test (ubuntu-latest) (push) Waiting to run
42 lines
1.4 KiB
Go
42 lines
1.4 KiB
Go
package adapter
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/ignite/cli/v29/ignite/pkg/cosmosclient"
|
|
"github.com/ignite/cli/v29/ignite/pkg/cosmostxcollector/query"
|
|
)
|
|
|
|
// Saver is the interface that wraps the transactions save method.
|
|
//
|
|
//go:generate mockery --name Saver --case underscore --with-expecter --output ../mocks
|
|
type Saver interface {
|
|
// Save a list of transactions into a data backend.
|
|
Save(context.Context, []cosmosclient.TX) error
|
|
}
|
|
|
|
// Adapter defines the interface for data backend adapters.
|
|
type Adapter interface {
|
|
Saver
|
|
|
|
// GetType returns the adapter type.
|
|
GetType() string
|
|
|
|
// Init initializes the adapter.
|
|
// During initialization the adapter creates or updates the data backend schema
|
|
// required to save the metrics and performs any initialization required previous
|
|
// to use the adapter.
|
|
// This method must be called at least once to set up the initial database schema.
|
|
// Calling it when a schema already exists updates the existing schema to the
|
|
// latest version if the current one is older.
|
|
Init(context.Context) error
|
|
|
|
// GetLatestHeight returns the height of the latest block known by the data backend.
|
|
GetLatestHeight(context.Context) (int64, error)
|
|
|
|
// QueryEvents executes an event query in the data backend.
|
|
QueryEvents(context.Context, query.EventQuery) ([]query.Event, error)
|
|
|
|
// Query executes a query in the data backend.
|
|
Query(context.Context, query.Query) (query.Cursor, error)
|
|
}
|