mirror of
https://github.com/aljazceru/lightning.git
synced 2025-12-26 10:24:29 +01:00
openingd currently holds the connection to idle peers, but we're about to change that: it will only look after peers which are actively opening a connection. We can start this process by disconnecting whenever we have a negotiation failure. We could stay connected if we wanted to, but that would be up to connectd to decide. Right now it's easier if we disconnect from any idle peer once it's been active. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
6.5 KiB
6.5 KiB
| 1 | #include <bitcoin/chainparams.h> |
|---|---|
| 2 | #include <common/cryptomsg.h> |
| 3 | #include <common/channel_config.h> |
| 4 | #include <common/channel_id.h> |
| 5 | #include <common/channel_type.h> |
| 6 | #include <common/derive_basepoints.h> |
| 7 | #include <common/features.h> |
| 8 | msgtype,openingd_init,6000 |
| 9 | # Which network are we configured for? |
| 10 | msgdata,openingd_init,chainparams,chainparams, |
| 11 | msgdata,openingd_init,our_features,feature_set, |
| 12 | msgdata,openingd_init,their_init_features_len,u16, |
| 13 | msgdata,openingd_init,their_init_features,u8,their_init_features_len |
| 14 | # Base configuration we'll offer (channel reserve will vary with amount) |
| 15 | msgdata,openingd_init,our_config,channel_config, |
| 16 | # Minimum/maximum configuration values we'll accept |
| 17 | msgdata,openingd_init,max_to_self_delay,u32, |
| 18 | msgdata,openingd_init,min_effective_htlc_capacity_msat,amount_msat, |
| 19 | msgdata,openingd_init,our_basepoints,basepoints, |
| 20 | msgdata,openingd_init,our_funding_pubkey,pubkey, |
| 21 | # Constraints in case the other end tries to open a channel. |
| 22 | msgdata,openingd_init,minimum_depth,u32, |
| 23 | msgdata,openingd_init,min_feerate,u32, |
| 24 | msgdata,openingd_init,max_feerate,u32, |
| 25 | msgdata,openingd_init,dev_temporary_channel_id,?byte,32 |
| 26 | # Openingd->master: they tried to reestablish a channel. |
| 27 | msgtype,openingd_got_reestablish,6001 |
| 28 | msgdata,openingd_got_reestablish,channel_id,channel_id, |
| 29 | msgdata,openingd_got_reestablish,len,u16, |
| 30 | msgdata,openingd_got_reestablish,msg,u8,len |
| 31 | # Openingd->master: they offered channel, should we continue? |
| 32 | msgtype,openingd_got_offer,6005 |
| 33 | msgdata,openingd_got_offer,funding_satoshis,amount_sat, |
| 34 | msgdata,openingd_got_offer,push_msat,amount_msat, |
| 35 | msgdata,openingd_got_offer,dust_limit_satoshis,amount_sat, |
| 36 | msgdata,openingd_got_offer,max_htlc_value_in_flight_msat,amount_msat, |
| 37 | msgdata,openingd_got_offer,channel_reserve_satoshis,amount_sat, |
| 38 | msgdata,openingd_got_offer,htlc_minimum_msat,amount_msat, |
| 39 | msgdata,openingd_got_offer,feerate_per_kw,u32, |
| 40 | msgdata,openingd_got_offer,to_self_delay,u16, |
| 41 | msgdata,openingd_got_offer,max_accepted_htlcs,u16, |
| 42 | msgdata,openingd_got_offer,channel_flags,u8, |
| 43 | msgdata,openingd_got_offer,shutdown_len,u16, |
| 44 | msgdata,openingd_got_offer,shutdown_scriptpubkey,u8,shutdown_len |
| 45 | # master->openingd: optional rejection message |
| 46 | msgtype,openingd_got_offer_reply,6105 |
| 47 | msgdata,openingd_got_offer_reply,rejection,?wirestring, |
| 48 | msgdata,openingd_got_offer_reply,shutdown_len,u16, |
| 49 | msgdata,openingd_got_offer_reply,our_shutdown_scriptpubkey,?u8,shutdown_len |
| 50 | msgdata,openingd_got_offer_reply,our_shutdown_wallet_index,?u32, |
| 51 | #include <common/penalty_base.h> |
| 52 | # Openingd->master: we've successfully offered channel. |
| 53 | # This gives their sig, means we can broadcast tx: we're done. |
| 54 | msgtype,openingd_funder_reply,6101 |
| 55 | msgdata,openingd_funder_reply,their_config,channel_config, |
| 56 | msgdata,openingd_funder_reply,first_commit,bitcoin_tx, |
| 57 | msgdata,openingd_funder_reply,pbase,?penalty_base, |
| 58 | msgdata,openingd_funder_reply,first_commit_sig,bitcoin_signature, |
| 59 | msgdata,openingd_funder_reply,revocation_basepoint,pubkey, |
| 60 | msgdata,openingd_funder_reply,payment_basepoint,pubkey, |
| 61 | msgdata,openingd_funder_reply,htlc_basepoint,pubkey, |
| 62 | msgdata,openingd_funder_reply,delayed_payment_basepoint,pubkey, |
| 63 | msgdata,openingd_funder_reply,their_per_commit_point,pubkey, |
| 64 | msgdata,openingd_funder_reply,minimum_depth,u32, |
| 65 | msgdata,openingd_funder_reply,remote_fundingkey,pubkey, |
| 66 | msgdata,openingd_funder_reply,funding,bitcoin_outpoint, |
| 67 | msgdata,openingd_funder_reply,feerate_per_kw,u32, |
| 68 | msgdata,openingd_funder_reply,our_channel_reserve_satoshis,amount_sat, |
| 69 | msgdata,openingd_funder_reply,shutdown_len,u16, |
| 70 | msgdata,openingd_funder_reply,shutdown_scriptpubkey,u8,shutdown_len |
| 71 | msgdata,openingd_funder_reply,channel_type,channel_type, |
| 72 | # master->openingd: start channel establishment for a funding tx |
| 73 | msgtype,openingd_funder_start,6002 |
| 74 | msgdata,openingd_funder_start,funding_satoshis,amount_sat, |
| 75 | msgdata,openingd_funder_start,push_msat,amount_msat, |
| 76 | msgdata,openingd_funder_start,len_upfront,u16, |
| 77 | msgdata,openingd_funder_start,upfront_shutdown_script,u8,len_upfront |
| 78 | msgdata,openingd_funder_start,upfront_shutdown_wallet_index,?u32, |
| 79 | msgdata,openingd_funder_start,feerate_per_kw,u32, |
| 80 | msgdata,openingd_funder_start,channel_flags,u8, |
| 81 | # openingd->master: send back output script for 2-of-2 funding output |
| 82 | msgtype,openingd_funder_start_reply,6102 |
| 83 | msgdata,openingd_funder_start_reply,script_len,u8, |
| 84 | msgdata,openingd_funder_start_reply,scriptpubkey,u8,script_len |
| 85 | msgdata,openingd_funder_start_reply,upfront_shutdown_negotiated,bool, |
| 86 | msgdata,openingd_funder_start_reply,channel_type,channel_type, |
| 87 | # master->openingd: complete channel establishment for a funding |
| 88 | # tx that will be paid for by an external wallet |
| 89 | # response to this is a normal `openingd_funder_reply` ?? |
| 90 | msgtype,openingd_funder_complete,6012 |
| 91 | msgdata,openingd_funder_complete,funding_txid,bitcoin_txid, |
| 92 | msgdata,openingd_funder_complete,funding_txout,u16, |
| 93 | msgdata,openingd_funder_complete,channel_type,channel_type, |
| 94 | #master->openingd: cancel channel establishment for a funding |
| 95 | msgtype,openingd_funder_cancel,6013 |
| 96 | # Openingd->master: we failed to negotiation channel |
| 97 | msgtype,openingd_failed,6004 |
| 98 | msgdata,openingd_failed,reason,wirestring, |
| 99 | # Openingd->master: they offered channel. |
| 100 | # This gives their txid and info, means we can send funding_signed: we're done. |
| 101 | msgtype,openingd_fundee,6003 |
| 102 | msgdata,openingd_fundee,their_config,channel_config, |
| 103 | msgdata,openingd_fundee,first_commit,bitcoin_tx, |
| 104 | msgdata,openingd_fundee,pbase,?penalty_base, |
| 105 | msgdata,openingd_fundee,first_commit_sig,bitcoin_signature, |
| 106 | msgdata,openingd_fundee,revocation_basepoint,pubkey, |
| 107 | msgdata,openingd_fundee,payment_basepoint,pubkey, |
| 108 | msgdata,openingd_fundee,htlc_basepoint,pubkey, |
| 109 | msgdata,openingd_fundee,delayed_payment_basepoint,pubkey, |
| 110 | msgdata,openingd_fundee,their_per_commit_point,pubkey, |
| 111 | msgdata,openingd_fundee,remote_fundingkey,pubkey, |
| 112 | msgdata,openingd_fundee,funding,bitcoin_outpoint, |
| 113 | msgdata,openingd_fundee,funding_satoshis,amount_sat, |
| 114 | msgdata,openingd_fundee,push_msat,amount_msat, |
| 115 | msgdata,openingd_fundee,channel_flags,u8, |
| 116 | msgdata,openingd_fundee,feerate_per_kw,u32, |
| 117 | # The funding signed message: send this and we're committed. |
| 118 | msgdata,openingd_fundee,msglen,u16, |
| 119 | msgdata,openingd_fundee,funding_signed_msg,u8,msglen |
| 120 | msgdata,openingd_fundee,our_channel_reserve_satoshis,amount_sat, |
| 121 | msgdata,openingd_fundee,local_shutdown_len,u16, |
| 122 | msgdata,openingd_fundee,local_shutdown_scriptpubkey,u8,local_shutdown_len |
| 123 | msgdata,openingd_fundee,remote_shutdown_len,u16, |
| 124 | msgdata,openingd_fundee,remote_shutdown_scriptpubkey,u8,remote_shutdown_len |
| 125 | msgdata,openingd_fundee,channel_type,channel_type, |
| 126 | # master -> openingd: do you have a memleak? |
| 127 | msgtype,openingd_dev_memleak,6033 |
| 128 | msgtype,openingd_dev_memleak_reply,6133 |
| 129 | msgdata,openingd_dev_memleak_reply,leak,bool, |