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§
- client
- config
- contracts
- federation_
endpoint_ constants - gateway_
endpoint_ constants - route_
hints - Hack to get a route hint that implements
serdetraits. - serde_
option_ routing_ fees - serde_
routing_ fees
Structs§
- Contract
Account - Contract
Output - Federation
Public Key - The federation’s aggregate public key, as committed to by a gateway
registration proof. Re-exported so callers can verify proofs without
depending on
threshold_cryptodirectly. A public key. - Gateway
Registration Auth - Proof that a gateway registration was authorized by the holder of the
secret key behind
LightningGateway::gateway_id. - Lightning
Common Init - Lightning
Gateway - Information a gateway registers with a federation
- Lightning
Gateway Announcement - 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.
- Lightning
Gateway Registration - Information about a gateway that is stored locally and expires based on local system time
- Lightning
Input V0 - Lightning
Module Types - Method
- The Request Method (VERB)
- Pruned
Invoice - Data needed to pay an invoice
- Remove
Gateway Request - Request sent to the federation that requests the removal of a gateway
registration. Each peer is expected to check the
signaturesmap for the signature that validates the gateway authorized the removal of this registration. - Unknown
Lightning Input Variant Error - Unknown
Lightning Output Outcome Variant Error - Unknown
Lightning Output Variant Error
Enums§
- Lightning
Consensus Item - Lightning
Input - Lightning
Input Error - Lightning
Output - Lightning
Output Error - Lightning
Output Outcome - Lightning
Output Outcome V0 - Lightning
Output V0 - Represents an output of the Lightning module.
Constants§
- CONTRACT_
FUNDED_ ONCE_ MODULE_ CONSENSUS_ VERSION - From this module consensus version on, a contract account is funded exactly once and no offer can be created for a payment hash whose incoming contract account already exists.
- KIND
- LNV1_
INCOMING_ HTLC_ ADVERTISED_ EXPIRY_ DELTA - Route-hint CLTV delta advertised in newly created LNv1 invoices.
- LNV1_
INCOMING_ HTLC_ EXPIRY_ SAFETY_ MARGIN - Exclusive remaining-CLTV safety margin for funding LNv1 incoming contracts.
- MAX_
GATEWAY_ REGISTRATION_ TTL - Upper bound guardians place on a registration’s lifetime. Gateways announce
a TTL two orders of magnitude below this, so it only ever binds on
announcements that are trying to squat a
gateway_idindefinitely. - MODULE_
CONSENSUS_ VERSION
Functions§
- create_
gateway_ registration_ message - Creates a message to be signed by the gateway’s private key to prove that a
registration was authorized by the holder of
info.gateway_id. Message is defined as: - 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: