Help us shape the future of Go! Take the 2026 Go Developer Survey

index

package
v1.36.184 Latest Latest
Warning

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

Go to latest
Published: Sep 3, 2026 License: BSD-3-Clause Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrIndexingRequiredFromGenesis = errors.New("running would create incomplete index. Allow incomplete indices or re-sync from genesis with indexing enabled")
	ErrCausesIncompleteIndex       = errors.New("running would create incomplete index. Allow incomplete indices or enable indexing")
)

Functions

This section is empty.

Types

type AddressTxsIndexer

type AddressTxsIndexer interface {
	// Accept is called when [txID] is accepted.
	// Persists data about [txID] and what balances it changed.
	// [inputUTXOs] are the UTXOs [txID] consumes.
	// [outputUTXOs] are the UTXOs [txID] creates.
	// If the error is non-nil, do not persist [txID] to disk as accepted in the VM
	Accept(
		txID ids.ID,
		inputUTXOs []*lux.UTXO,
		outputUTXOs []*lux.UTXO,
	) error

	// Read returns the IDs of transactions that changed [address]'s balance of [assetID].
	// The returned transactions are in order of increasing acceptance time.
	// The length of the returned slice <= [pageSize].
	// [cursor] is the offset to start reading from.
	Read(address []byte, assetID ids.ID, cursor, pageSize uint64) ([]ids.ID, error)
}

AddressTxsIndexer maintains information about which transactions changed the balances of which addresses. This includes both transactions that increase and decrease an address's balance. A transaction is said to change an address's balance if either is true: 1) A UTXO that the transaction consumes was at least partially owned by the address. 2) A UTXO that the transaction produces is at least partially owned by the address.

func NewIndexer

func NewIndexer(
	db database.Database,
	log log.Logger,
	metricsNamespace string,
	metricsRegisterer metric.Registerer,
	allowIncompleteIndices bool,
) (AddressTxsIndexer, error)

NewIndexer returns a new AddressTxsIndexer. The returned indexer ignores UTXOs that are not type secp256k1fx.TransferOutput.

func NewNoIndexer

func NewNoIndexer(db database.Database, allowIncomplete bool) (AddressTxsIndexer, error)

Jump to

Keyboard shortcuts

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