#include #include #include #include # Begin! Here's the onchain tx which spends funding tx, followed by all HTLCs. msgtype,onchain_init,5001 msgdata,onchain_init,shachain,shachain, # This needs to be set explicitly since the same message also contains a # transaction that we need to parse correctly. msgdata,onchain_init,chainparams,chainparams, msgdata,onchain_init,funding_amount_satoshi,amount_sat, # Our current balance (of funding amount, not counting any pending htlcs) msgdata,onchain_init,our_msat,amount_msat, # Remote per commit point for committed tx. msgdata,onchain_init,old_remote_per_commitment_point,pubkey, # Remote per commit point for current tx (needed if we haven't got revoke_and_ack yet). msgdata,onchain_init,remote_per_commitment_point,pubkey, msgdata,onchain_init,local_to_self_delay,u32, msgdata,onchain_init,remote_to_self_delay,u32, msgdata,onchain_init,delayed_to_us_feerate,u32, msgdata,onchain_init,htlc_feerate,u32, msgdata,onchain_init,penalty_feerate,u32, msgdata,onchain_init,local_dust_limit_satoshi,amount_sat, # Gives an easy way to tell if it's our unilateral close or theirs... msgdata,onchain_init,our_broadcast_txid,bitcoin_txid, msgdata,onchain_init,local_scriptpubkey_len,u16, msgdata,onchain_init,local_scriptpubkey,u8,local_scriptpubkey_len msgdata,onchain_init,remote_scriptpubkey_len,u16, msgdata,onchain_init,remote_scriptpubkey,u8,remote_scriptpubkey_len msgdata,onchain_init,ourwallet_pubkey,pubkey, # We need these two for commit number obscurer msgdata,onchain_init,opener,enum side, msgdata,onchain_init,local_basepoints,basepoints, msgdata,onchain_init,remote_basepoints,basepoints, msgdata,onchain_init,tx,bitcoin_tx, msgdata,onchain_init,tx_blockheight,u32, msgdata,onchain_init,reasonable_depth,u32, msgdata,onchain_init,num_htlc_sigs,u16, msgdata,onchain_init,htlc_signature,secp256k1_ecdsa_signature,num_htlc_sigs msgdata,onchain_init,num_htlcs,u64, msgdata,onchain_init,min_possible_feerate,u32, msgdata,onchain_init,max_possible_feerate,u32, msgdata,onchain_init,possible_remote_per_commit_point,?pubkey, msgdata,onchain_init,option_static_remotekey,bool, msgdata,onchain_init,is_replay,bool, #include # This is all the HTLCs: one per message msgtype,onchain_htlc,5002 msgdata,onchain_htlc,htlc,htlc_stub, # If it's not in the commitment tx, tell us (immediately or htlc_missing_depth) msgdata,onchain_htlc,tell_if_missing,bool, msgdata,onchain_htlc,tell_immediately,bool, # This says we're ready; give us preimages. msgtype,onchain_init_reply,5101 # onchaind->master: Send out a tx. msgtype,onchain_broadcast_tx,5003 msgdata,onchain_broadcast_tx,tx,bitcoin_tx, msgdata,onchain_broadcast_tx,type,enum wallet_tx_type, # master->onchaind: Notifier that an output has been spent by input_num of tx. msgtype,onchain_spent,5004 msgdata,onchain_spent,tx,bitcoin_tx, msgdata,onchain_spent,input_num,u32, msgdata,onchain_spent,blockheight,u32, msgdata,onchain_spent,is_replay,bool, # master->onchaind: We will receive more than one of these, as depth changes. msgtype,onchain_depth,5005 msgdata,onchain_depth,txid,bitcoin_txid, msgdata,onchain_depth,depth,u32, msgdata,onchain_depth,is_replay,bool, # onchaind->master: We don't want to watch this tx, or its outputs msgtype,onchain_unwatch_tx,5006 msgdata,onchain_unwatch_tx,txid,bitcoin_txid, # master->onchaind: We know HTLC preimage msgtype,onchain_known_preimage,5007 msgdata,onchain_known_preimage,preimage,preimage, msgdata,onchain_known_preimage,is_replay,bool, # onchaind->master: We discovered HTLC preimage msgtype,onchain_extracted_preimage,5008 msgdata,onchain_extracted_preimage,preimage,preimage, # onchaind->master: this HTLC was missing from commit tx. msgtype,onchain_missing_htlc_output,5009 msgdata,onchain_missing_htlc_output,htlc,htlc_stub, # onchaind->master: this HTLC has timed out (after reasonable_depth) msgtype,onchain_htlc_timeout,5010 msgdata,onchain_htlc_timeout,htlc,htlc_stub, # onchaind->master: this peer can be forgotten msgtype,onchain_all_irrevocably_resolved,5011 # onchaind->master: hey, I identified an UTXO you'll want to track msgtype,onchain_add_utxo,5012 msgdata,onchain_add_utxo,prev_out_tx,bitcoin_txid, msgdata,onchain_add_utxo,prev_out_index,u32, msgdata,onchain_add_utxo,per_commit_point,?pubkey, msgdata,onchain_add_utxo,value,amount_sat, msgdata,onchain_add_utxo,blockheight,u32, msgdata,onchain_add_utxo,len,u16, msgdata,onchain_add_utxo,scriptpubkey,u8,len # master -> onchaind: do you have a memleak? msgtype,onchain_dev_memleak,5033 msgtype,onchain_dev_memleak_reply,5133 msgdata,onchain_dev_memleak_reply,leak,bool, # Tell the main daemon what we've been watching, mainly used for transactions # that we tracked automatically but only onchaind knows how to classify their # transactions. msgtype,onchain_annotate_txout,5035 msgdata,onchain_annotate_txout,txid,bitcoin_txid, msgdata,onchain_annotate_txout,outnum,u32, msgdata,onchain_annotate_txout,type,enum wallet_tx_type, msgtype,onchain_annotate_txin,5036 msgdata,onchain_annotate_txin,txid,bitcoin_txid, msgdata,onchain_annotate_txin,innum,u32, msgdata,onchain_annotate_txin,type,enum wallet_tx_type, msgtype,onchain_notify_coin_mvt,5037 msgdata,onchain_notify_coin_mvt,mvt,chain_coin_mvt,