#include #include # Begin! Here's the onchain tx which spends funding tx, followed by all HTLCs. onchain_init,5001 onchain_init,,seed,struct secret onchain_init,,shachain,struct shachain onchain_init,,funding_amount_satoshi,u64 # 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,u64 # 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,,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 #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 # 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,u64 onchain_add_utxo,,blockheight,u32