metadata

package
v0.14.1 Latest Latest
Warning

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

Go to latest
Published: Aug 6, 2025 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type MetadataStore

type MetadataStore interface {
	// Database
	Close() error
	DB() *gorm.DB
	GetCommitTimestamp() (int64, error)
	SetCommitTimestamp(*gorm.DB, int64) error
	Transaction() *gorm.DB

	// Ledger state
	AddUtxos(
		[]types.UtxoSlot,
		*gorm.DB,
	) error
	GetPoolRegistrations(
		lcommon.PoolKeyHash,
		*gorm.DB,
	) ([]lcommon.PoolRegistrationCertificate, error)
	GetStakeRegistrations(
		[]byte,
		*gorm.DB,
	) ([]lcommon.StakeRegistrationCertificate, error)
	GetTip(*gorm.DB) (ochainsync.Tip, error)

	GetAccount(
		[]byte,
		*gorm.DB,
	) (models.Account, error)
	GetBlockNonce(
		[]byte,
		uint64,
		*gorm.DB,
	) ([]byte, error)
	GetDatum(
		lcommon.Blake2b256,
		*gorm.DB,
	) (models.Datum, error)
	GetPParams(
		uint64,
		*gorm.DB,
	) ([]models.PParams, error)
	GetPParamUpdates(
		uint64,
		*gorm.DB,
	) ([]models.PParamUpdate, error)
	GetUtxo(
		[]byte,
		uint32,
		*gorm.DB,
	) (models.Utxo, error)

	SetAccount(
		[]byte,
		[]byte,
		[]byte,
		uint64,
		bool,
		*gorm.DB,
	) error
	SetBlockNonce(
		[]byte,
		uint64,
		[]byte,
		bool,
		*gorm.DB,
	) error
	SetDatum(
		lcommon.Blake2b256,
		[]byte,
		uint64,
		*gorm.DB,
	) error
	SetDeregistration(
		*lcommon.DeregistrationCertificate,
		uint64,
		*gorm.DB,
	) error
	SetDeregistrationDrep(
		*lcommon.DeregistrationDrepCertificate,
		uint64,
		uint64,
		*gorm.DB,
	) error
	SetEpoch(
		uint64,
		uint64,
		[]byte,
		uint,
		uint,
		uint,
		*gorm.DB,
	) error
	SetPoolRegistration(
		*lcommon.PoolRegistrationCertificate,
		uint64,
		uint64,
		*gorm.DB,
	) error
	SetPoolRetirement(
		*lcommon.PoolRetirementCertificate,
		uint64,
		*gorm.DB,
	) error
	SetPParams(
		[]byte,
		uint64,
		uint64,
		uint,
		*gorm.DB,
	) error
	SetPParamUpdate(
		[]byte,
		[]byte,
		uint64,
		uint64,
		*gorm.DB,
	) error
	SetRegistration(
		*lcommon.RegistrationCertificate,
		uint64,
		uint64,
		*gorm.DB,
	) error
	SetRegistrationDrep(
		*lcommon.RegistrationDrepCertificate,
		uint64,
		uint64,
		*gorm.DB,
	) error
	SetStakeDelegation(
		*lcommon.StakeDelegationCertificate,
		uint64,
		*gorm.DB,
	) error
	SetStakeDeregistration(
		*lcommon.StakeDeregistrationCertificate,
		uint64,
		*gorm.DB,
	) error
	SetStakeRegistration(
		*lcommon.StakeRegistrationCertificate,
		uint64,
		uint64,
		*gorm.DB,
	) error
	SetStakeRegistrationDelegation(
		*lcommon.StakeRegistrationDelegationCertificate,
		uint64,
		uint64,
		*gorm.DB,
	) error
	SetStakeVoteDelegation(
		*lcommon.StakeVoteDelegationCertificate,
		uint64,
		*gorm.DB,
	) error
	SetStakeVoteRegistrationDelegation(
		*lcommon.StakeVoteRegistrationDelegationCertificate,
		uint64,
		uint64,
		*gorm.DB,
	) error
	SetTip(
		ochainsync.Tip,
		*gorm.DB,
	) error
	SetUpdateDrep(
		*lcommon.UpdateDrepCertificate,
		uint64,
		*gorm.DB,
	) error
	SetUtxo(
		[]byte,
		uint32,
		uint64,
		[]byte,
		[]byte,
		*gorm.DB,
	) error
	SetVoteDelegation(
		*lcommon.VoteDelegationCertificate,
		uint64,
		*gorm.DB,
	) error
	SetVoteRegistrationDelegation(
		*lcommon.VoteRegistrationDelegationCertificate,
		uint64,
		uint64,
		*gorm.DB,
	) error

	// Helpers
	DeleteBlockNoncesBeforeSlot(uint64, *gorm.DB) error
	DeleteBlockNoncesBeforeSlotWithoutCheckpoints(uint64, *gorm.DB) error
	DeleteUtxo(any, *gorm.DB) error
	DeleteUtxos([]any, *gorm.DB) error
	DeleteUtxosAfterSlot(uint64, *gorm.DB) error
	GetEpochLatest(*gorm.DB) (models.Epoch, error)
	GetEpochsByEra(uint, *gorm.DB) ([]models.Epoch, error)
	GetEpochs(*gorm.DB) ([]models.Epoch, error)
	GetUtxosAddedAfterSlot(uint64, *gorm.DB) ([]models.Utxo, error)
	GetUtxosByAddress(ledger.Address, *gorm.DB) ([]models.Utxo, error)
	GetUtxosDeletedBeforeSlot(uint64, int, *gorm.DB) ([]models.Utxo, error)
	SetUtxoDeletedAtSlot(ledger.TransactionInput, uint64, *gorm.DB) error
	SetUtxosNotDeletedAfterSlot(uint64, *gorm.DB) error
}

func New

func New(
	pluginName, dataDir string,
	logger *slog.Logger,
	promRegistry prometheus.Registerer,
) (MetadataStore, error)

For now, this always returns a sqlite plugin

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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