2018-07-09 13:17:59 +02:00
|
|
|
#include <common/derive_basepoints.h>
|
2017-08-28 18:05:01 +02:00
|
|
|
#include <common/htlc_wire.h>
|
2019-06-07 11:38:20 +02:00
|
|
|
#include <common/wallet.h>
|
2018-07-09 13:17:59 +02:00
|
|
|
|
2017-08-23 03:52:17 +02:00
|
|
|
# Begin! Here's the onchain tx which spends funding tx, followed by all HTLCs.
|
2019-07-24 00:51:11 +02:00
|
|
|
msgtype,onchain_init,5001
|
|
|
|
msgdata,onchain_init,shachain,shachain,
|
|
|
|
msgdata,onchain_init,funding_amount_satoshi,amount_sat,
|
2017-08-23 03:52:17 +02:00
|
|
|
# Remote per commit point for committed tx.
|
2019-07-24 00:51:11 +02:00
|
|
|
msgdata,onchain_init,old_remote_per_commitment_point,pubkey,
|
2017-08-23 03:52:17 +02:00
|
|
|
# Remote per commit point for current tx (needed if we haven't got revoke_and_ack yet).
|
2019-07-24 00:51:11 +02:00
|
|
|
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,feerate_per_kw,u32,
|
|
|
|
msgdata,onchain_init,local_dust_limit_satoshi,amount_sat,
|
2017-08-23 03:52:17 +02:00
|
|
|
# Gives an easy way to tell if it's our unilateral close or theirs...
|
2019-07-24 00:51:11 +02:00
|
|
|
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,
|
2017-08-23 03:52:17 +02:00
|
|
|
# We need these two for commit number obscurer
|
2019-07-24 00:51:11 +02:00
|
|
|
msgdata,onchain_init,funder,e: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,
|
2017-08-23 03:52:17 +02:00
|
|
|
|
2017-08-29 06:12:04 +02:00
|
|
|
#include <onchaind/onchain_wire.h>
|
2017-08-23 03:52:17 +02:00
|
|
|
# This is all the HTLCs: one per message
|
2019-07-24 00:51:11 +02:00
|
|
|
msgtype,onchain_htlc,5002
|
|
|
|
msgdata,onchain_htlc,htlc,htlc_stub,
|
2017-09-26 23:02:47 +02:00
|
|
|
# If it's not in the commitment tx, tell us (immediately or htlc_missing_depth)
|
2019-07-24 00:51:11 +02:00
|
|
|
msgdata,onchain_htlc,tell_if_missing,bool,
|
|
|
|
msgdata,onchain_htlc,tell_immediately,bool,
|
2017-08-23 03:52:17 +02:00
|
|
|
|
2018-02-23 07:23:51 +01:00
|
|
|
# This says we're ready; give us preimages.
|
2019-07-24 00:51:11 +02:00
|
|
|
msgtype,onchain_init_reply,5101
|
2017-08-23 03:52:17 +02:00
|
|
|
|
|
|
|
# onchaind->master: Send out a tx.
|
2019-07-24 00:51:11 +02:00
|
|
|
msgtype,onchain_broadcast_tx,5003
|
|
|
|
msgdata,onchain_broadcast_tx,tx,bitcoin_tx,
|
|
|
|
msgdata,onchain_broadcast_tx,type,e:wallet_tx_type,
|
2017-08-23 03:52:17 +02:00
|
|
|
|
|
|
|
# master->onchaind: Notifier that an output has been spent by input_num of tx.
|
2019-07-24 00:51:11 +02:00
|
|
|
msgtype,onchain_spent,5004
|
|
|
|
msgdata,onchain_spent,tx,bitcoin_tx,
|
|
|
|
msgdata,onchain_spent,input_num,u32,
|
|
|
|
msgdata,onchain_spent,blockheight,u32,
|
2017-08-23 03:52:17 +02:00
|
|
|
|
|
|
|
# master->onchaind: We will receive more than one of these, as depth changes.
|
2019-07-24 00:51:11 +02:00
|
|
|
msgtype,onchain_depth,5005
|
|
|
|
msgdata,onchain_depth,txid,bitcoin_txid,
|
|
|
|
msgdata,onchain_depth,depth,u32,
|
2017-08-23 03:52:17 +02:00
|
|
|
|
|
|
|
# onchaind->master: We don't want to watch this tx, or its outputs
|
2019-07-24 00:51:11 +02:00
|
|
|
msgtype,onchain_unwatch_tx,5006
|
|
|
|
msgdata,onchain_unwatch_tx,txid,bitcoin_txid,
|
2017-08-23 03:52:17 +02:00
|
|
|
|
|
|
|
# master->onchaind: We know HTLC preimage
|
2019-07-24 00:51:11 +02:00
|
|
|
msgtype,onchain_known_preimage,5007
|
|
|
|
msgdata,onchain_known_preimage,preimage,preimage,
|
2017-08-23 03:52:17 +02:00
|
|
|
|
|
|
|
# onchaind->master: We discovered HTLC preimage
|
2019-07-24 00:51:11 +02:00
|
|
|
msgtype,onchain_extracted_preimage,5008
|
|
|
|
msgdata,onchain_extracted_preimage,preimage,preimage,
|
2017-08-23 03:52:17 +02:00
|
|
|
|
2017-09-26 23:02:47 +02:00
|
|
|
# onchaind->master: this HTLC was missing from commit tx.
|
2019-07-24 00:51:11 +02:00
|
|
|
msgtype,onchain_missing_htlc_output,5009
|
|
|
|
msgdata,onchain_missing_htlc_output,htlc,htlc_stub,
|
2017-09-26 23:02:47 +02:00
|
|
|
|
|
|
|
# onchaind->master: this HTLC has timed out (after reasonable_depth)
|
2019-07-24 00:51:11 +02:00
|
|
|
msgtype,onchain_htlc_timeout,5010
|
|
|
|
msgdata,onchain_htlc_timeout,htlc,htlc_stub,
|
2017-10-12 02:25:54 +02:00
|
|
|
|
|
|
|
# onchaind->master: this peer can be forgotten
|
2019-07-24 00:51:11 +02:00
|
|
|
msgtype,onchain_all_irrevocably_resolved,5011
|
2017-12-19 17:09:52 +01:00
|
|
|
|
2018-02-08 22:43:01 +01:00
|
|
|
# onchaind->master: hey, I identified an UTXO you'll want to track
|
2019-07-24 00:51:11 +02:00
|
|
|
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
|
2018-11-22 03:17:29 +01:00
|
|
|
|
|
|
|
# master -> onchaind: do you have a memleak?
|
2019-07-24 00:51:11 +02:00
|
|
|
msgtype,onchain_dev_memleak,5033
|
2018-11-22 03:17:29 +01:00
|
|
|
|
2019-07-24 00:51:11 +02:00
|
|
|
msgtype,onchain_dev_memleak_reply,5133
|
|
|
|
msgdata,onchain_dev_memleak_reply,leak,bool,
|
2019-05-27 13:06:02 +02:00
|
|
|
|
|
|
|
# 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.
|
2019-07-24 00:51:11 +02:00
|
|
|
msgtype,onchain_transaction_annotate,5034
|
|
|
|
msgdata,onchain_transaction_annotate,txid,bitcoin_txid,
|
|
|
|
msgdata,onchain_transaction_annotate,type,e:wallet_tx_type,
|