Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type MetadataStore ¶
type MetadataStore interface {
// Close closes the metadata store and releases all resources.
Close() error
// GetCommitTimestamp retrieves the last commit timestamp from the database.
GetCommitTimestamp() (int64, error)
// SetCommitTimestamp sets the last commit timestamp in the database.
// Parameter order is (timestamp, txn) to match other store methods where
// the transaction is the final parameter.
SetCommitTimestamp(int64, types.Txn) error
// Transaction creates a new metadata transaction.
Transaction() types.Txn
// AddUtxos adds one or more unspent transaction outputs to the database.
AddUtxos(
[]models.UtxoSlot,
types.Txn,
) error
// GetPoolRegistrations retrieves all registration certificates for a pool.
GetPoolRegistrations(
lcommon.PoolKeyHash,
types.Txn,
) ([]lcommon.PoolRegistrationCertificate, error)
// GetPool retrieves a pool by its key hash, optionally including inactive pools.
GetPool(
lcommon.PoolKeyHash,
bool,
types.Txn,
) (*models.Pool, error)
// GetStakeRegistrations retrieves all stake registration certificates for an account.
GetStakeRegistrations(
[]byte,
types.Txn,
) ([]lcommon.StakeRegistrationCertificate, error)
// GetTip retrieves the current chain tip.
GetTip(types.Txn) (ochainsync.Tip, error)
// GetAccount retrieves an account by stake key, optionally including inactive accounts.
GetAccount(
[]byte,
bool,
types.Txn,
) (*models.Account, error)
// GetBlockNonce retrieves a block nonce for a given point.
GetBlockNonce(
ocommon.Point,
types.Txn,
) ([]byte, error)
// GetDatum retrieves a datum by its hash, returning nil if not found.
GetDatum(
lcommon.Blake2b256,
types.Txn,
) (*models.Datum, error)
// GetDrep retrieves a DRep by its credential, optionally including inactive DReps.
GetDrep(
[]byte,
bool,
types.Txn,
) (*models.Drep, error)
// GetPParams retrieves protocol parameters for a given epoch.
GetPParams(
uint64,
types.Txn,
) ([]models.PParams, error)
// GetPParamUpdates retrieves protocol parameter updates for a given epoch.
GetPParamUpdates(
uint64,
types.Txn,
) ([]models.PParamUpdate, error)
// GetUtxo retrieves an unspent transaction output by transaction ID and index.
GetUtxo(
[]byte,
uint32,
types.Txn,
) (*models.Utxo, error)
// GetTransactionByHash retrieves a transaction by its hash.
GetTransactionByHash(
[]byte,
types.Txn,
) (*models.Transaction, error)
// GetScript retrieves a script by its hash.
GetScript(
lcommon.ScriptHash,
types.Txn,
) (*models.Script, error)
// SetBlockNonce stores a block nonce for a given block hash and slot.
SetBlockNonce(
[]byte,
uint64,
[]byte,
bool,
types.Txn,
) error
// SetDatum stores a datum with its hash and slot.
SetDatum(
lcommon.Blake2b256,
[]byte,
uint64,
types.Txn,
) error
// SetEpoch sets epoch information.
SetEpoch(
uint64,
uint64,
[]byte,
uint,
uint,
uint,
types.Txn,
) error
// SetPParams stores protocol parameters.
SetPParams(
[]byte,
uint64,
uint64,
uint,
types.Txn,
) error
// SetPParamUpdate stores a protocol parameter update.
SetPParamUpdate(
[]byte,
[]byte,
uint64,
uint64,
types.Txn,
) error
// SetTip sets the current chain tip.
SetTip(
ochainsync.Tip,
types.Txn,
) error
// SetTransaction stores a transaction with its metadata.
SetTransaction(
lcommon.Transaction,
ocommon.Point,
uint32,
map[int]uint64,
types.Txn,
) error
// DeleteBlockNoncesBeforeSlot removes block nonces older than the given slot.
DeleteBlockNoncesBeforeSlot(uint64, types.Txn) error
// DeleteBlockNoncesBeforeSlotWithoutCheckpoints removes block nonces older than the given slot,
// excluding checkpoint nonces.
DeleteBlockNoncesBeforeSlotWithoutCheckpoints(
uint64,
types.Txn,
) error
// DeleteUtxo removes a single unspent transaction output.
DeleteUtxo(models.UtxoId, types.Txn) error
// DeleteUtxos removes multiple unspent transaction outputs.
DeleteUtxos([]models.UtxoId, types.Txn) error
// DeleteUtxosAfterSlot removes all UTxOs created after the given slot.
DeleteUtxosAfterSlot(uint64, types.Txn) error
// GetEpochsByEra retrieves all epochs for a given era.
GetEpochsByEra(uint, types.Txn) ([]models.Epoch, error)
// GetEpochs retrieves all epochs.
GetEpochs(types.Txn) ([]models.Epoch, error)
// GetUtxosAddedAfterSlot retrieves all UTxOs added after the given slot.
GetUtxosAddedAfterSlot(uint64, types.Txn) ([]models.Utxo, error)
// GetUtxosByAddress retrieves all UTxOs for a given address.
GetUtxosByAddress(ledger.Address, types.Txn) ([]models.Utxo, error)
// GetUtxosDeletedBeforeSlot retrieves UTxOs deleted before the given slot, up to the specified limit.
GetUtxosDeletedBeforeSlot(
uint64,
int,
types.Txn,
) ([]models.Utxo, error)
// SetUtxoDeletedAtSlot marks a UTxO as deleted at the given slot.
SetUtxoDeletedAtSlot(
ledger.TransactionInput,
uint64,
types.Txn,
) error
// SetUtxosNotDeletedAfterSlot marks all UTxOs created after the given slot as not deleted.
SetUtxosNotDeletedAfterSlot(uint64, types.Txn) error
}
func New ¶
func New(pluginName string) (MetadataStore, error)
New creates a new metadata store instance using the specified plugin
Click to show internal directories.
Click to hide internal directories.