X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=src%2Futil%2Fevents.rs;h=3a077a4b5ba9caad01086b23bad35a404217a57f;hb=f1eb4639f860bec63d3e6a311a9128d56d9b2803;hp=e11e4e82c1ccbf2b735c804ab288c4ea215bc13e;hpb=3bcd911fcb112551525521dc3d16b88e07314318;p=rust-lightning diff --git a/src/util/events.rs b/src/util/events.rs index e11e4e82..3a077a4b 100644 --- a/src/util/events.rs +++ b/src/util/events.rs @@ -14,6 +14,7 @@ use ln::msgs; use chain::transaction::OutPoint; +use chain::keysinterface::SpendableOutputDescriptor; use bitcoin::blockdata::script::Script; @@ -50,8 +51,11 @@ pub enum Event { }, /// 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, you must call ChannelManager::fail_htlc_backwards - /// to free up resources for this HTLC. + /// 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. PaymentReceived { /// The hash for which the preimage should be handed to the ChannelManager. payment_hash: [u8; 32], @@ -86,6 +90,13 @@ pub enum Event { /// The earliest time at which process_pending_htlc_forwards should be called. time_forwardable: Instant, }, + /// 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. + SpendableOutputs { + /// The outputs which you should store as spendable by you. + outputs: Vec, + }, // Events indicating the network loop should send a message to a peer: // TODO: Move these into a separate struct and make a top-level enum