gen_peer_wire_csv: update for latest spec.

We have a separate announcement_signatures message now.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
Rusty Russell 2017-02-07 12:14:14 +10:30
parent eb75ae55e4
commit 4ed259c46c
3 changed files with 47 additions and 8 deletions

View File

@ -112,6 +112,7 @@ static struct io_plan *peer_msgin(struct io_conn *conn,
case WIRE_FUNDING_CREATED:
case WIRE_FUNDING_SIGNED:
case WIRE_FUNDING_LOCKED:
case WIRE_ANNOUNCEMENT_SIGNATURES:
case WIRE_UPDATE_FEE:
case WIRE_SHUTDOWN:
case WIRE_CLOSING_SIGNED:

View File

@ -48,9 +48,7 @@ funding_signed,8,signature,64
funding_locked,36
funding_locked,0,temporary-channel-id,8
funding_locked,8,channel-id,8
funding_locked,16,announcement-node-signature,64
funding_locked,80,announcement-bitcoin-signature,64
funding_locked,144,next-per-commitment-point,33
funding_locked,16,next-per-commitment-point,33
shutdown,38
shutdown,0,channel-id,8
shutdown,8,len,2
@ -95,6 +93,10 @@ revoke_and_ack,76,htlc-timeout-signature,num-htlc-timeouts*64
update_fee,134
update_fee,0,channel-id,8
update_fee,8,feerate-per-kw,4
announcement_signatures,259
announcement_signatures,0,channel-id,8
announcement_signatures,8,node-signature,64
announcement_signatures,72,bitcoin-signature,64
channel_announcement,256
channel_announcement,0,node-signature-1,64
channel_announcement,64,node-signature-2,64

View File

@ -141,10 +141,13 @@ struct msg_channel_update {
};
struct msg_funding_locked {
struct channel_id temporary_channel_id;
struct channel_id channel_id;
struct pubkey next_per_commitment_point;
};
struct msg_announcement_signatures {
struct channel_id channel_id;
secp256k1_ecdsa_signature announcement_node_signature;
secp256k1_ecdsa_signature announcement_bitcoin_signature;
struct pubkey next_per_commitment_point;
};
struct msg_commit_sig {
struct channel_id channel_id;
@ -395,8 +398,6 @@ static void *towire_struct_funding_locked(const tal_t *ctx,
return towire_funding_locked(ctx,
&s->temporary_channel_id,
&s->channel_id,
&s->announcement_node_signature,
&s->announcement_bitcoin_signature,
&s->next_per_commitment_point);
}
@ -407,13 +408,32 @@ static struct msg_funding_locked *fromwire_struct_funding_locked(const tal_t *ct
if (fromwire_funding_locked(p, plen,
&s->temporary_channel_id,
&s->channel_id,
&s->announcement_node_signature,
&s->announcement_bitcoin_signature,
&s->next_per_commitment_point))
return s;
return tal_free(s);
}
static void *towire_struct_announcement_signatures(const tal_t *ctx,
const struct msg_announcement_signatures *s)
{
return towire_announcement_signatures(ctx,
&s->channel_id,
&s->announcement_node_signature,
&s->announcement_bitcoin_signature);
}
static struct msg_announcement_signatures *fromwire_struct_announcement_signatures(const tal_t *ctx, const void *p, size_t *plen)
{
struct msg_announcement_signatures *s = tal(ctx, struct msg_announcement_signatures);
if (fromwire_announcement_signatures(p, plen,
&s->channel_id,
&s->announcement_node_signature,
&s->announcement_bitcoin_signature))
return s;
return tal_free(s);
}
static void *towire_struct_update_fail_htlc(const tal_t *ctx,
const struct msg_update_fail_htlc *s)
{
@ -685,6 +705,12 @@ static bool funding_locked_eq(const struct msg_funding_locked *a,
return structeq(a, b);
}
static bool announcement_signatures_eq(const struct msg_announcement_signatures *a,
const struct msg_announcement_signatures *b)
{
return structeq(a, b);
}
static bool update_fail_htlc_eq(const struct msg_update_fail_htlc *a,
const struct msg_update_fail_htlc *b)
{
@ -811,6 +837,7 @@ int main(void)
{
struct msg_channel_announcement ca, *ca2;
struct msg_funding_locked fl, *fl2;
struct msg_announcement_signatures as, *as2;
struct msg_update_fail_htlc ufh, *ufh2;
struct msg_commit_sig cs, *cs2;
struct msg_funding_signed fs, *fs2;
@ -858,6 +885,15 @@ int main(void)
assert(len == 0);
assert(funding_locked_eq(&fl, fl2));
test_corruption(&fl, fl2, funding_locked);
memset(&as, 2, sizeof(as));
msg = towire_struct_announcement_signatures(ctx, &as);
len = tal_count(msg);
as2 = fromwire_struct_announcement_signatures(ctx, msg, &len);
assert(len == 0);
assert(announcement_signatures_eq(&as, as2));
test_corruption(&as, as2, announcement_signatures);
memset(&ufh, 2, sizeof(ufh));
ufh.reason = tal_arr(ctx, u8, 2);