transactions

package
v0.2.18-beta.0 Latest Latest
Warning

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

Go to latest
Published: Oct 20, 2022 License: MIT Imports: 8 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Add

func Add(db sql.Executor, tx *types.Transaction, received time.Time) error

Add transaction to the database or update the header if it wasn't set originally.

func AddResult

func AddResult(db *sql.Tx, id types.TransactionID, rst *types.TransactionResult) error

AddResult adds result for the transaction.

func AddToBlock

func AddToBlock(db sql.Executor, tid types.TransactionID, lid types.LayerID, bid types.BlockID) error

AddToBlock associates a transaction with a block.

func AddToProposal

func AddToProposal(db sql.Executor, tid types.TransactionID, lid types.LayerID, pid types.ProposalID) error

AddToProposal associates a transaction with a proposal.

func DiscardByAcctNonce

func DiscardByAcctNonce(db sql.Executor, applied types.TransactionID, lid types.LayerID, addr types.Address, nonce uint64) error

DiscardByAcctNonce sets the applied field to `stateDiscarded` and layer to `lid` for transactions with addr and nonce.

func DiscardNonceBelow

func DiscardNonceBelow(db sql.Executor, address types.Address, nonce uint64) error

DiscardNonceBelow sets the applied field to `stateDiscarded` for transactions with nonce lower than specified.

func Get

func Get(db sql.Executor, id types.TransactionID) (tx *types.MeshTransaction, err error)

Get gets a transaction from database.

func GetAcctPendingFromNonce

func GetAcctPendingFromNonce(db sql.Executor, address types.Address, from uint64) ([]*types.MeshTransaction, error)

GetAcctPendingFromNonce get all pending transactions with nonce <= `from` for the given address.

func GetAllPending

func GetAllPending(db sql.Executor) ([]*types.MeshTransaction, error)

GetAllPending get all transactions that are not yet applied.

func GetAppliedLayer

func GetAppliedLayer(db sql.Executor, tid types.TransactionID) (types.LayerID, error)

GetAppliedLayer returns layer when transaction was applied.

func GetBlob

func GetBlob(db sql.Executor, id []byte) (buf []byte, err error)

GetBlob loads transaction as an encoded blob, ready to be sent over the wire.

func GetByAddress

func GetByAddress(db sql.Executor, from, to types.LayerID, address types.Address) ([]*types.MeshTransaction, error)

GetByAddress finds all transactions for an address.

func Has

func Has(db sql.Executor, id types.TransactionID) (bool, error)

Has returns true if transaction is stored in the database.

func HasBlockTX

func HasBlockTX(db sql.Executor, bid types.BlockID, tid types.TransactionID) (bool, error)

HasBlockTX returns true if the given transaction is included in the given block.

func HasProposalTX

func HasProposalTX(db sql.Executor, pid types.ProposalID, tid types.TransactionID) (bool, error)

HasProposalTX returns true if the given transaction is included in the given proposal.

func IterateResults

func IterateResults(db sql.Executor, filter ResultsFilter, fn func(*types.TransactionWithResult) bool) error

IterateResults allows to control iteration by the output of `fn`.

func SetNextLayer

func SetNextLayer(db sql.Executor, id types.TransactionID, lid types.LayerID) (types.LayerID, types.BlockID, error)

SetNextLayer gets the layer a transaction appears in after the given layer.

func UndoLayers

func UndoLayers(db *sql.Tx, from types.LayerID) ([]types.TransactionID, error)

UndoLayers unset all transactions to `statePending` from `from` layer to the max layer with applied transactions.

func UpdateIfBetter

func UpdateIfBetter(db sql.Executor, tid types.TransactionID, lid types.LayerID, bid types.BlockID) (int, error)

UpdateIfBetter updates the layer of this tx if it's lower.

Types

type ResultsFilter

type ResultsFilter struct {
	Address    *types.Address
	Start, End *types.LayerID
	TID        *types.TransactionID
}

ResultsFilter applies filter on transaction results query.

Jump to

Keyboard shortcuts

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