#include #include #include # Begin! Here's the onchain tx which spends funding tx, followed by all HTLCs. onchain_init,5001 onchain_init,,shachain,struct shachain onchain_init,,funding_amount_satoshi,struct amount_sat # Remote per commit point for committed tx. onchain_init,,old_remote_per_commitment_point,struct pubkey # Remote per commit point for current tx (needed if we haven't got revoke_and_ack yet). onchain_init,,remote_per_commitment_point,struct pubkey onchain_init,,local_to_self_delay,u32 onchain_init,,remote_to_self_delay,u32 onchain_init,,feerate_per_kw,u32 onchain_init,,local_dust_limit_satoshi,struct amount_sat # Gives an easy way to tell if it's our unilateral close or theirs... onchain_init,,our_broadcast_txid,struct bitcoin_txid onchain_init,,local_scriptpubkey_len,u16 onchain_init,,local_scriptpubkey,local_scriptpubkey_len*u8 onchain_init,,remote_scriptpubkey_len,u16 onchain_init,,remote_scriptpubkey,remote_scriptpubkey_len*u8 onchain_init,,ourwallet_pubkey,struct pubkey # We need these two for commit number obscurer onchain_init,,funder,enum side onchain_init,,local_basepoints,struct basepoints onchain_init,,remote_basepoints,struct basepoints onchain_init,,tx,struct bitcoin_tx onchain_init,,tx_blockheight,u32 onchain_init,,reasonable_depth,u32 onchain_init,,num_htlc_sigs,u16 onchain_init,,htlc_signature,num_htlc_sigs*secp256k1_ecdsa_signature onchain_init,,num_htlcs,u64 onchain_init,,min_possible_feerate,u32 onchain_init,,max_possible_feerate,u32 onchain_init,,possible_remote_per_commit_point,?struct pubkey #include # This is all the HTLCs: one per message onchain_htlc,5002 onchain_htlc,,htlc,struct htlc_stub # If it's not in the commitment tx, tell us (immediately or htlc_missing_depth) onchain_htlc,,tell_if_missing,bool onchain_htlc,,tell_immediately,bool # This says we're ready; give us preimages. onchain_init_reply,5101 # onchaind->master: Send out a tx. onchain_broadcast_tx,5003 onchain_broadcast_tx,,tx,struct bitcoin_tx onchain_broadcast_tx,,type,enum wallet_tx_type # master->onchaind: Notifier that an output has been spent by input_num of tx. onchain_spent,5004 onchain_spent,,tx,struct bitcoin_tx onchain_spent,,input_num,u32 onchain_spent,,blockheight,u32 # master->onchaind: We will receive more than one of these, as depth changes. onchain_depth,5005 onchain_depth,,txid,struct bitcoin_txid onchain_depth,,depth,u32 # onchaind->master: We don't want to watch this tx, or its outputs onchain_unwatch_tx,5006 onchain_unwatch_tx,,txid,struct bitcoin_txid # master->onchaind: We know HTLC preimage onchain_known_preimage,5007 onchain_known_preimage,,preimage,struct preimage # onchaind->master: We discovered HTLC preimage onchain_extracted_preimage,5008 onchain_extracted_preimage,,preimage,struct preimage # onchaind->master: this HTLC was missing from commit tx. onchain_missing_htlc_output,5009 onchain_missing_htlc_output,,htlc,struct htlc_stub # onchaind->master: this HTLC has timed out (after reasonable_depth) onchain_htlc_timeout,5010 onchain_htlc_timeout,,htlc,struct htlc_stub # onchaind->master: this peer can be forgotten onchain_all_irrevocably_resolved,5011 # onchaind->master: hey, I identified an UTXO you'll want to track onchain_add_utxo,5012 onchain_add_utxo,,prev_out_tx,struct bitcoin_txid onchain_add_utxo,,prev_out_index,u32 onchain_add_utxo,,per_commit_point,struct pubkey onchain_add_utxo,,value,struct amount_sat onchain_add_utxo,,blockheight,u32 onchain_add_utxo,,len,u16 onchain_add_utxo,,scriptpubkey,len*u8 # master -> onchaind: do you have a memleak? onchain_dev_memleak,5033 onchain_dev_memleak_reply,5133 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. onchain_transaction_annotate,5034 onchain_transaction_annotate,,txid,struct bitcoin_txid onchain_transaction_annotate,,type,enum wallet_tx_type