Crate fedimint_ln_common

Source
Expand description

§Lightning Module

This module allows to atomically and trustlessly (in the federated trust model) interact with the Lightning network through a Lightning gateway.

§Attention: only one operation per contract and round

If this module is active the consensus’ conflict filter must ensure that at most one operation (spend, funding) happens per contract per round

Re-exports§

pub use bitcoin;
pub use lightning_invoice;

Modules§

config
contracts
federation_endpoint_constants
gateway_endpoint_constants
route_hints
Hack to get a route hint that implements serde traits.
serde_option_routing_fees
serde_routing_fees

Structs§

ContractAccount
ContractOutput
LightningCommonInit
LightningGateway
Information a gateway registers with a federation
LightningGatewayAnnouncement
Information about a gateway that is shared with other federation members and expires based on a TTL to allow for sharing between nodes with unsynchronized clocks which can each anchor the announcement to their local system time.
LightningGatewayRegistration
Information about a gateway that is stored locally and expires based on local system time
LightningInputV0
LightningModuleTypes
PrunedInvoice
Data needed to pay an invoice
RemoveGatewayRequest
Request sent to the federation that requests the removal of a gateway registration. Each peer is expected to check the signatures map for the signature that validates the gateway authorized the removal of this registration.
UnknownLightningInputVariantError
UnknownLightningOutputOutcomeVariantError
UnknownLightningOutputVariantError

Enums§

LightningConsensusItem
LightningInput
LightningInputError
LightningOutput
LightningOutputError
LightningOutputOutcome
LightningOutputOutcomeV0
LightningOutputV0
Represents an output of the Lightning module.

Constants§

KIND
MODULE_CONSENSUS_VERSION

Functions§

create_gateway_remove_message
Creates a message to be signed by the Gateway’s private key for the purpose of removing the gateway’s registration record. Message is defined as: