ledgerstate

package
v0.9.8 Latest Latest
Warning

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

Go to latest
Published: Sep 6, 2022 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 added in v0.8.12

func FilterAdd(tx *devnetvm.Transaction)

FilterAdd Adds transaction to the doubleSpendFilter if it is enabled.

func FilterHasConflict added in v0.8.12

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

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

func FilterRemove added in v0.8.12

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

func GetAddressUnspentOutputs(c echo.Context) error

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

func GetConflict added in v0.9.2

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

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

func GetConflictChildren added in v0.9.2

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

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

func GetConflictConflicts added in v0.9.2

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

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

func GetConflictSequenceIDs added in v0.9.2

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

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

func GetConflictVoters added in v0.9.2

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 added in v0.6.0

func PostAddressUnspentOutputs(c echo.Context) error

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

func PostTransaction added in v0.6.0

func PostTransaction(c echo.Context) error

PostTransaction sends a transaction.

Types

type DoubleSpendFilter added in v0.7.2

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

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

func Filter added in v0.7.2

func Filter() *DoubleSpendFilter

Filter returns the double spend filter singleton.

func NewDoubleSpendFilter added in v0.7.2

func NewDoubleSpendFilter() *DoubleSpendFilter

NewDoubleSpendFilter creates a new doubleSpendFilter worker.

func (*DoubleSpendFilter) Add added in v0.7.2

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

func (*DoubleSpendFilter) CleanUp added in v0.7.2

func (d *DoubleSpendFilter) CleanUp()

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

func (*DoubleSpendFilter) HasConflict added in v0.7.2

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 added in v0.7.2

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