Enum lightning::util::events::Event [−][src]
pub enum Event { FundingGenerationReady { temporary_channel_id: [u8; 32], channel_value_satoshis: u64, output_script: Script, user_channel_id: u64, }, PaymentReceived { payment_hash: PaymentHash, payment_preimage: Option<PaymentPreimage>, payment_secret: PaymentSecret, amt: u64, user_payment_id: u64, }, PaymentSent { payment_preimage: PaymentPreimage, }, PaymentFailed { payment_hash: PaymentHash, rejected_by_dest: bool, }, PendingHTLCsForwardable { time_forwardable: Duration, }, SpendableOutputs { outputs: Vec<SpendableOutputDescriptor>, }, }
Expand description
An Event which you should probably take some action in response to.
Note that while Writeable and Readable are implemented for Event, you probably shouldn’t use them directly as they don’t round-trip exactly (for example FundingGenerationReady is never written as it makes no sense to respond to it after reconnecting to peers).
Variants
Used to indicate that the client should generate a funding transaction with the given parameters and then call ChannelManager::funding_transaction_generated. Generated in ChannelManager message handling. Note that all inputs in the funding transaction must spend SegWit outputs or your counterparty can steal your funds!
Show fields
Fields of FundingGenerationReady
temporary_channel_id: [u8; 32]
The random channel_id we picked which you’ll need to pass into ChannelManager::funding_transaction_generated.
channel_value_satoshis: u64
The value, in satoshis, that the output should have.
output_script: Script
The script which should be used in the transaction output.
user_channel_id: u64
The value passed in to ChannelManager::create_channel
Indicates we’ve received money! Just gotta dig out that payment preimage and feed it to ChannelManager::claim_funds to get it…. Note that if the preimage is not known or the amount paid is incorrect, you should call ChannelManager::fail_htlc_backwards to free up resources for this HTLC and avoid network congestion. The amount paid should be considered ‘incorrect’ when it is less than or more than twice the amount expected. If you fail to call either ChannelManager::claim_funds or ChannelManager::fail_htlc_backwards within the HTLC’s timeout, the HTLC will be automatically failed.
Show fields
Fields of PaymentReceived
payment_hash: PaymentHash
The hash for which the preimage should be handed to the ChannelManager.
payment_preimage: Option<PaymentPreimage>
The preimage to the payment_hash, if the payment hash (and secret) were fetched via
ChannelManager::create_inbound_payment
. If provided, this can be handed directly to
ChannelManager::claim_funds
.
payment_secret: PaymentSecret
The “payment secret”. This authenticates the sender to the recipient, preventing a
number of deanonymization attacks during the routing process.
It is provided here for your reference, however its accuracy is enforced directly by
ChannelManager
using the values you previously provided to
ChannelManager::create_inbound_payment
or
ChannelManager::create_inbound_payment_for_hash
.
amt: u64
The value, in thousandths of a satoshi, that this payment is for. Note that you must compare this to the expected value before accepting the payment (as otherwise you are providing proof-of-payment for less than the value you expected!).
user_payment_id: u64
This is the user_payment_id
which was provided to
ChannelManager::create_inbound_payment_for_hash
or
ChannelManager::create_inbound_payment
. It has no meaning inside of LDK and is
simply copied here. It may be used to correlate PaymentReceived events with invoice
metadata stored elsewhere.
Indicates an outbound payment we made succeeded (ie it made it all the way to its target and we got back the payment preimage for it).
Show fields
Fields of PaymentSent
payment_preimage: PaymentPreimage
The preimage to the hash given to ChannelManager::send_payment. Note that this serves as a payment receipt, if you wish to have such a thing, you must store it somehow!
Indicates an outbound payment we made failed. Probably some intermediary node dropped something. You may wish to retry with a different route.
Show fields
Fields of PaymentFailed
payment_hash: PaymentHash
The hash which was given to ChannelManager::send_payment.
rejected_by_dest: bool
Indicates the payment was rejected for some reason by the recipient. This implies that the payment has failed, not just the route in question. If this is not set, you may retry the payment via a different route.
Used to indicate that ChannelManager::process_pending_htlc_forwards should be called at a time in the future.
Show fields
Fields of PendingHTLCsForwardable
time_forwardable: Duration
The minimum amount of time that should be waited prior to calling process_pending_htlc_forwards. To increase the effort required to correlate payments, you should wait a random amount of time in roughly the range (now + time_forwardable, now + 5*time_forwardable).
Used to indicate that an output which you should know how to spend was confirmed on chain and is now spendable. Such an output will not ever be spent by rust-lightning, and are not at risk of your counterparty spending them due to some kind of timeout. Thus, you need to store them somewhere and spend them when you create on-chain transactions.
Show fields
Fields of SpendableOutputs
outputs: Vec<SpendableOutputDescriptor>
The outputs which you should store as spendable by you.
Trait Implementations
Writes self out to the given Writer
Writes self out to a Vec
Writes self out to a Vec
Gets the length of this object after it has been serialized. This can be overridden to optimize cases where we prepend an object with its length. Read more
Auto Trait Implementations
impl RefUnwindSafe for Event
impl UnwindSafe for Event
Blanket Implementations
Mutably borrows from an owned value. Read more