Documentation
¶
Overview ¶
Package txlayout is a frozen copy of the transaction layout logic that was originally defined as core.TransactionLayout, introduced in https://github.com/NethermindEth/juno/pull/3304.
Juno now exclusively uses a combined layout to store transactions and receipts in the database. The original TransactionLayout type was removed from core, but migrations and tests still need to read and write data in both the old (per-transaction) and new (combined) layouts.
This package preserves that capability for use by migration code and tests. It should NOT be used by any new production code paths.
Index ¶
- Variables
- type TransactionLayout
- func (l TransactionLayout) BlockByNumber(r db.KeyValueReader, blockNum uint64) (*core.Block, error)
- func (l TransactionLayout) DeleteTxsAndReceipts(reader db.KeyValueReader, writer db.Batch, blockNum uint64) error
- func (l TransactionLayout) ReceiptByBlockAndIndex(r db.KeyValueReader, blockNumber uint64, index uint64) (*core.TransactionReceipt, error)
- func (l TransactionLayout) ReceiptsByBlockNumber(r db.KeyValueReader, blockNum uint64) ([]*core.TransactionReceipt, error)
- func (l TransactionLayout) TransactionByBlockAndIndex(r db.KeyValueReader, blockNumber uint64, index uint64) (core.Transaction, error)
- func (l TransactionLayout) TransactionByHash(r db.KeyValueReader, hash *felt.TransactionHash) (core.Transaction, error)
- func (l TransactionLayout) TransactionsByBlockNumber(r db.KeyValueReader, blockNum uint64) ([]core.Transaction, error)
- func (l TransactionLayout) TransactionsByBlockNumberIter(r db.KeyValueReader, blockNum uint64) iter.Seq2[core.Transaction, error]
- func (l TransactionLayout) WriteTransactionsAndReceipts(w db.KeyValueWriter, blockNumber uint64, transactions []core.Transaction, ...) error
Constants ¶
This section is empty.
Variables ¶
var ErrUnknownTransactionLayout = errors.New("unknown transaction layout")
Functions ¶
This section is empty.
Types ¶
type TransactionLayout ¶
type TransactionLayout int
const ( // TransactionLayoutPerTx stores each transaction and receipt in separate DB entries TransactionLayoutPerTx TransactionLayout = iota // TransactionLayoutCombined stores all transactions and receipts per block in a single entry TransactionLayoutCombined )
func (TransactionLayout) BlockByNumber ¶
func (l TransactionLayout) BlockByNumber( r db.KeyValueReader, blockNum uint64, ) (*core.Block, error)
BlockByNumber returns a full block by number
func (TransactionLayout) DeleteTxsAndReceipts ¶
func (l TransactionLayout) DeleteTxsAndReceipts( reader db.KeyValueReader, writer db.Batch, blockNum uint64, ) error
DeleteTxsAndReceipts deletes all transactions and receipts for a block
func (TransactionLayout) ReceiptByBlockAndIndex ¶
func (l TransactionLayout) ReceiptByBlockAndIndex( r db.KeyValueReader, blockNumber uint64, index uint64, ) (*core.TransactionReceipt, error)
ReceiptByBlockAndIndex returns a receipt by block number and transaction index
func (TransactionLayout) ReceiptsByBlockNumber ¶
func (l TransactionLayout) ReceiptsByBlockNumber( r db.KeyValueReader, blockNum uint64, ) ([]*core.TransactionReceipt, error)
ReceiptsByBlockNumber returns all receipts in a given block
func (TransactionLayout) TransactionByBlockAndIndex ¶
func (l TransactionLayout) TransactionByBlockAndIndex( r db.KeyValueReader, blockNumber uint64, index uint64, ) (core.Transaction, error)
TransactionByBlockAndIndex returns a transaction by block number and index
func (TransactionLayout) TransactionByHash ¶
func (l TransactionLayout) TransactionByHash( r db.KeyValueReader, hash *felt.TransactionHash, ) (core.Transaction, error)
TransactionByHash returns a transaction by its hash
func (TransactionLayout) TransactionsByBlockNumber ¶
func (l TransactionLayout) TransactionsByBlockNumber( r db.KeyValueReader, blockNum uint64, ) ([]core.Transaction, error)
TransactionsByBlockNumber returns all transactions in a given block
func (TransactionLayout) TransactionsByBlockNumberIter ¶
func (l TransactionLayout) TransactionsByBlockNumberIter( r db.KeyValueReader, blockNum uint64, ) iter.Seq2[core.Transaction, error]
TransactionsByBlockNumberIter returns an iterator over all transactions in a given block
func (TransactionLayout) WriteTransactionsAndReceipts ¶
func (l TransactionLayout) WriteTransactionsAndReceipts( w db.KeyValueWriter, blockNumber uint64, transactions []core.Transaction, receipts []*core.TransactionReceipt, ) error
WriteTransactionsAndReceipts writes transactions and receipts for a block