ledgerstate

package
v0.1.3 Latest Latest
Warning

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

Go to latest
Published: Oct 3, 2023 License: Apache-2.0, BSD-2-Clause Imports: 25 Imported by: 0

Documentation

Index

Constants

View Source
const (
	PluginName                       = "WebAPILedgerstateEndpoint"
	DoubleSpendFilterCleanupInterval = 10 * time.Second
)

PluginName is the name of the web API plugin.

Variables

View Source
var ErrNotAllowedToPledgeManaToNode = errors.New("not allowed to pledge mana to node")

ErrNotAllowedToPledgeManaToNode defines an unsupported node to pledge mana to.

View Source
var (
	// Plugin holds the singleton instance of the plugin.
	Plugin *node.Plugin
)

Functions

func FilterAdd

func FilterAdd(tx *devnetvm.Transaction)

FilterAdd Adds transaction to the doubleSpendFilter if it is enabled.

func FilterHasConflict

func FilterHasConflict(outputs devnetvm.Inputs) (bool, utxo.TransactionID)

FilterHasConflict checks if the outputs are conflicting if doubleSpendFilter is enabled.

func FilterRemove

func FilterRemove(txID utxo.TransactionID)

FilterRemove Removes transaction id from the doubleSpendFilter if it is enabled.

func GetAddress

func GetAddress(c echo.Context) error

GetAddress is the handler for the /ledgerstate/addresses/:address endpoint.

func GetAddressUnspentOutputs added in v0.1.2

func GetAddressUnspentOutputs(c echo.Context) error

GetAddressUnspentOutputs is the handler for the /ledgerstate/addresses/:address/unspentOutputs endpoint.

func GetConflict

func GetConflict(c echo.Context) (err error)

GetConflict is the handler for the /ledgerstate/conflict/:conflictID endpoint.

func GetConflictChildren

func GetConflictChildren(c echo.Context) (err error)

GetConflictChildren is the handler for the /ledgerstate/conflict/:conflictID/childConflicts endpoint.

func GetConflictConflicts

func GetConflictConflicts(c echo.Context) (err error)

GetConflictConflicts is the handler for the /ledgerstate/conflict/:conflictID/conflicts endpoint.

func GetConflictSequenceIDs

func GetConflictSequenceIDs(c echo.Context) (err error)

GetConflictSequenceIDs is the handler for the /ledgerstate/conflict/:conflictID endpoint.

func GetConflictVoters

func GetConflictVoters(c echo.Context) (err error)

GetConflictVoters is the handler for the /ledgerstate/conflicts/:conflictID/voters endpoint.

func GetOutput

func GetOutput(c echo.Context) (err error)

GetOutput is the handler for the /ledgerstate/outputs/:outputID endpoint.

func GetOutputConsumers

func GetOutputConsumers(c echo.Context) (err error)

GetOutputConsumers is the handler for the /ledgerstate/outputs/:outputID/consumers endpoint.

func GetOutputMetadata

func GetOutputMetadata(c echo.Context) (err error)

GetOutputMetadata is the handler for the /ledgerstate/outputs/:outputID/metadata endpoint.

func GetTransaction

func GetTransaction(c echo.Context) (err error)

GetTransaction is the handler for the /ledgerstate/transactions/:transactionID endpoint.

func GetTransactionAttachments

func GetTransactionAttachments(c echo.Context) (err error)

GetTransactionAttachments is the handler for the ledgerstate/transactions/:transactionID/attachments endpoint.

func GetTransactionMetadata

func GetTransactionMetadata(c echo.Context) (err error)

GetTransactionMetadata is the handler for the ledgerstate/transactions/:transactionID/metadata endpoint.

func PostAddressUnspentOutputs

func PostAddressUnspentOutputs(c echo.Context) error

PostAddressUnspentOutputs is the handler for the /ledgerstate/addresses/unspentOutputs endpoint.

func PostTransaction

func PostTransaction(c echo.Context) error

PostTransaction sends a transaction.

Types

type DoubleSpendFilter

type DoubleSpendFilter struct {
	// contains filtered or unexported fields
}

DoubleSpendFilter keeps a log of recently submitted transactions and their consumed outputs.

func Filter

func Filter() *DoubleSpendFilter

Filter returns the double spend filter singleton.

func NewDoubleSpendFilter

func NewDoubleSpendFilter() *DoubleSpendFilter

NewDoubleSpendFilter creates a new doubleSpendFilter worker.

func (*DoubleSpendFilter) Add

Add adds a transaction and it's consumed inputs to the doubleSpendFilter.

func (*DoubleSpendFilter) CleanUp

func (d *DoubleSpendFilter) CleanUp()

CleanUp removes transactions from the DoubleSpendFilter if they were added more, than 30s ago.

func (*DoubleSpendFilter) HasConflict

func (d *DoubleSpendFilter) HasConflict(outputs devnetvm.Inputs) (bool, utxo.TransactionID)

HasConflict returns if there is a conflicting output in the internal map wrt to the provided inputs (outputIDs).

func (*DoubleSpendFilter) Remove

func (d *DoubleSpendFilter) Remove(txID utxo.TransactionID)

Remove removes all outputs associated to the given transaction ID.

Jump to

Keyboard shortcuts

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