Enum lightning::util::events::Event

source ·
pub enum Event {
    FundingGenerationReady {
        temporary_channel_id: [u8; 32],
        channel_value_satoshis: u64,
        output_script: Script,
        user_channel_id: u64,
    },
    FundingBroadcastSafe {
        funding_txo: OutPoint,
        user_channel_id: u64,
    },
    PaymentReceived {
        payment_hash: [u8; 32],
        amt: u64,
    },
    PaymentSent {
        payment_preimage: [u8; 32],
    },
    PaymentFailed {
        payment_hash: [u8; 32],
        rejected_by_dest: bool,
    },
    PendingHTLCsForwardable {
        time_forwardable: Instant,
    },
    SpendableOutputs {
        outputs: Vec<SpendableOutputDescriptor>,
    },
}
Expand description

An Event which you should probably take some action in response to.

Variants

FundingGenerationReady

Fields

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

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.

FundingBroadcastSafe

Fields

funding_txo: OutPoint

The output, which was passed to ChannelManager::funding_transaction_generated, which is now safe to broadcast.

user_channel_id: u64

The value passed in to ChannelManager::create_channel

Used to indicate that the client may now broadcast the funding transaction it created for a channel. Broadcasting such a transaction prior to this event may lead to our counterparty trivially stealing all funds in the funding transaction!

PaymentReceived

Fields

payment_hash: [u8; 32]

The hash for which the preimage should be handed to the ChannelManager.

amt: u64

The value, in thousandths of a satoshi, that this payment is for.

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 must call ChannelManager::fail_htlc_backwards with PaymentFailReason::PreimageUnknown or PaymentFailReason::AmountMismatch, respectively, to free up resources for this HTLC. The amount paid should be considered ‘incorrect’ when it is less than or more than twice the amount expected.

PaymentSent

Fields

payment_preimage: [u8; 32]

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 succeeded (ie it made it all the way to its target and we got back the payment preimage for it). Note that duplicative PaymentSent Events may be generated - it is your responsibility to deduplicate them by payment_preimage (which MUST be unique)!

PaymentFailed

Fields

payment_hash: [u8; 32]

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.

Indicates an outbound payment we made failed. Probably some intermediary node dropped something. You may wish to retry with a different route. Note that duplicative PaymentFailed Events may be generated - it is your responsibility to deduplicate them by payment_hash (which MUST be unique)!

PendingHTLCsForwardable

Fields

time_forwardable: Instant

The earliest time at which process_pending_htlc_forwards should be called.

Used to indicate that ChannelManager::process_pending_htlc_forwards should be called at a time in the future.

SpendableOutputs

Fields

outputs: Vec<SpendableOutputDescriptor>

The outputs which you should store as spendable by you.

Used to indicate that an output was generated on-chain which you should know how to spend. Such an output will not ever be spent by rust-lightning, so you need to store them somewhere and spend them when you create on-chain spends.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.