# These shouldn't happen opening_bad_command,0x8000 opening_key_derivation_failed,0x8001 opening_bad_param,0x8002 opening_hsm_failed,0x8003 # These are due to peer. opening_peer_write_failed,0x8010 opening_peer_read_failed,0x8011 opening_peer_bad_funding,0x8012 opening_peer_bad_config,0x8013 opening_peer_bad_initial_message,0x8014 #include #include opening_init,0 # Which network are we configured for (as index into the chainparams)? opening_init,,network_index,4 # Base configuration we'll offer (channel reserve will vary with amount) opening_init,,our_config,struct channel_config # Minimum/maximum configuration values we'll accept opening_init,,max_to_self_delay,4 opening_init,,min_effective_htlc_capacity_msat,8 opening_init,,crypto_state,struct crypto_state # Seed to generate all the keys from opening_init,,seed,struct privkey #include #include # This means we offer the open. opening_funder,1 opening_funder,,funding_satoshis,8 opening_funder,,push_msat,8 opening_funder,,feerate_per_kw,4 opening_funder,,max_minimum_depth,4 opening_funder,,change_satoshis,u64 opening_funder,,change_keyindex,u32 opening_funder,,channel_flags,u8 #include opening_funder,,num_inputs,u16 opening_funder,,inputs,num_inputs*struct utxo opening_funder,,bip32,struct ext_key # This gives their sig, means we can broadcast tx: we're done. opening_funder_reply,101 opening_funder_reply,,their_config,struct channel_config opening_funder_reply,,first_commit,struct bitcoin_tx opening_funder_reply,,first_commit_sig,secp256k1_ecdsa_signature opening_funder_reply,,crypto_state,struct crypto_state opening_funder_reply,,revocation_basepoint,33 opening_funder_reply,,payment_basepoint,33 opening_funder_reply,,delayed_payment_basepoint,33 opening_funder_reply,,their_per_commit_point,33 opening_funder_reply,,minimum_depth,4 opening_funder_reply,,remote_fundingkey,33 opening_funder_reply,,funding_txid,struct sha256_double opening_funder_reply,,feerate_per_kw,4 # This means they offer the open (contains their offer packet) opening_fundee,3 opening_fundee,,minimum_depth,4 opening_fundee,,min_feerate,4 opening_fundee,,max_feerate,4 opening_fundee,,len,2 opening_fundee,,msg,len*u8 # This gives their txid and info, means we can send funding_signed: we're done. opening_fundee_reply,103 opening_fundee_reply,,their_config,struct channel_config opening_fundee_reply,,first_commit,struct bitcoin_tx opening_fundee_reply,,first_commit_sig,secp256k1_ecdsa_signature opening_fundee_reply,,crypto_state,struct crypto_state opening_fundee_reply,,revocation_basepoint,33 opening_fundee_reply,,payment_basepoint,33 opening_fundee_reply,,delayed_payment_basepoint,33 opening_fundee_reply,,their_per_commit_point,33 opening_fundee_reply,,remote_fundingkey,33 opening_fundee_reply,,funding_txid,struct sha256_double opening_fundee_reply,,funding_txout,u16 opening_fundee_reply,,funding_satoshis,8 opening_fundee_reply,,push_msat,8 opening_fundee_reply,,channel_flags,u8 opening_fundee_reply,,feerate_per_kw,4 # The (encrypted) funding signed message: send this and we're committed. opening_fundee_reply,,msglen,u16 opening_fundee_reply,,funding_signed_msg,msglen*u8