From f8d03b3c284c2f69b8ea09de6771d729ffd91ecc Mon Sep 17 00:00:00 2001 From: Rusty Russell Date: Tue, 27 Aug 2019 13:50:05 +0930 Subject: [PATCH] gossipd: test crc32 routines using test vectors from PR. Signed-off-by: Rusty Russell --- gossipd/test/run-crc32_of_update.c | 348 ++++++++++++++++++++ lightningd/test/run-invoice-select-inchan.c | 14 +- wallet/test/run-wallet.c | 12 +- 3 files changed, 359 insertions(+), 15 deletions(-) create mode 100644 gossipd/test/run-crc32_of_update.c diff --git a/gossipd/test/run-crc32_of_update.c b/gossipd/test/run-crc32_of_update.c new file mode 100644 index 000000000000..12e35619a2df --- /dev/null +++ b/gossipd/test/run-crc32_of_update.c @@ -0,0 +1,348 @@ +int unused_main(int argc, char *argv[]); +#define main unused_main +#include "../gossipd.c" +#undef main +#include + +/* AUTOGENERATED MOCKS START */ +/* Generated stub for check_ping_make_pong */ +bool check_ping_make_pong(const tal_t *ctx UNNEEDED, const u8 *ping UNNEEDED, u8 **pong UNNEEDED) +{ fprintf(stderr, "check_ping_make_pong called!\n"); abort(); } +/* Generated stub for daemon_conn_new_ */ +struct daemon_conn *daemon_conn_new_(const tal_t *ctx UNNEEDED, int fd UNNEEDED, + struct io_plan *(*recv)(struct io_conn * UNNEEDED, + const u8 * UNNEEDED, + void *) UNNEEDED, + void (*outq_empty)(void *) UNNEEDED, + void *arg UNNEEDED) +{ fprintf(stderr, "daemon_conn_new_ called!\n"); abort(); } +/* Generated stub for daemon_conn_read_next */ +struct io_plan *daemon_conn_read_next(struct io_conn *conn UNNEEDED, + struct daemon_conn *dc UNNEEDED) +{ fprintf(stderr, "daemon_conn_read_next called!\n"); abort(); } +/* Generated stub for daemon_conn_send */ +void daemon_conn_send(struct daemon_conn *dc UNNEEDED, const u8 *msg UNNEEDED) +{ fprintf(stderr, "daemon_conn_send called!\n"); abort(); } +/* Generated stub for daemon_conn_send_fd */ +void daemon_conn_send_fd(struct daemon_conn *dc UNNEEDED, int fd UNNEEDED) +{ fprintf(stderr, "daemon_conn_send_fd called!\n"); abort(); } +/* Generated stub for daemon_conn_wake */ +void daemon_conn_wake(struct daemon_conn *dc UNNEEDED) +{ fprintf(stderr, "daemon_conn_wake called!\n"); abort(); } +/* Generated stub for daemon_shutdown */ +void daemon_shutdown(void) +{ fprintf(stderr, "daemon_shutdown called!\n"); abort(); } +/* Generated stub for decode_scid_query_flags */ +bigsize_t *decode_scid_query_flags(const tal_t *ctx UNNEEDED, + const struct tlv_query_short_channel_ids_tlvs_query_flags *qf UNNEEDED) +{ fprintf(stderr, "decode_scid_query_flags called!\n"); abort(); } +/* Generated stub for decode_short_ids */ +struct short_channel_id *decode_short_ids(const tal_t *ctx UNNEEDED, const u8 *encoded UNNEEDED) +{ fprintf(stderr, "decode_short_ids called!\n"); abort(); } +/* Generated stub for dump_memleak */ +bool dump_memleak(struct htable *memtable UNNEEDED) +{ fprintf(stderr, "dump_memleak called!\n"); abort(); } +/* Generated stub for first_chan */ +struct chan *first_chan(const struct node *node UNNEEDED, struct chan_map_iter *i UNNEEDED) +{ fprintf(stderr, "first_chan called!\n"); abort(); } +/* Generated stub for free_chan */ +void free_chan(struct routing_state *rstate UNNEEDED, struct chan *chan UNNEEDED) +{ fprintf(stderr, "free_chan called!\n"); abort(); } +/* Generated stub for fromwire_amount_below_minimum */ +bool fromwire_amount_below_minimum(const tal_t *ctx UNNEEDED, const void *p UNNEEDED, struct amount_msat *htlc_msat UNNEEDED, u8 **channel_update UNNEEDED) +{ fprintf(stderr, "fromwire_amount_below_minimum called!\n"); abort(); } +/* Generated stub for fromwire_expiry_too_soon */ +bool fromwire_expiry_too_soon(const tal_t *ctx UNNEEDED, const void *p UNNEEDED, u8 **channel_update UNNEEDED) +{ fprintf(stderr, "fromwire_expiry_too_soon called!\n"); abort(); } +/* Generated stub for fromwire_fee_insufficient */ +bool fromwire_fee_insufficient(const tal_t *ctx UNNEEDED, const void *p UNNEEDED, struct amount_msat *htlc_msat UNNEEDED, u8 **channel_update UNNEEDED) +{ fprintf(stderr, "fromwire_fee_insufficient called!\n"); abort(); } +/* Generated stub for fromwire_gossipctl_init */ +bool fromwire_gossipctl_init(const tal_t *ctx UNNEEDED, const void *p UNNEEDED, struct bitcoin_blkid *chain_hash UNNEEDED, struct node_id *id UNNEEDED, u8 **globalfeatures UNNEEDED, u8 rgb[3] UNNEEDED, u8 alias[32] UNNEEDED, u32 *update_channel_interval UNNEEDED, struct wireaddr **announcable UNNEEDED, u32 **dev_gossip_time UNNEEDED) +{ fprintf(stderr, "fromwire_gossipctl_init called!\n"); abort(); } +/* Generated stub for fromwire_gossip_dev_set_max_scids_encode_size */ +bool fromwire_gossip_dev_set_max_scids_encode_size(const void *p UNNEEDED, u32 *max UNNEEDED) +{ fprintf(stderr, "fromwire_gossip_dev_set_max_scids_encode_size called!\n"); abort(); } +/* Generated stub for fromwire_gossip_dev_suppress */ +bool fromwire_gossip_dev_suppress(const void *p UNNEEDED) +{ fprintf(stderr, "fromwire_gossip_dev_suppress called!\n"); abort(); } +/* Generated stub for fromwire_gossipd_get_update */ +bool fromwire_gossipd_get_update(const void *p UNNEEDED, struct short_channel_id *short_channel_id UNNEEDED) +{ fprintf(stderr, "fromwire_gossipd_get_update called!\n"); abort(); } +/* Generated stub for fromwire_gossipd_local_channel_update */ +bool fromwire_gossipd_local_channel_update(const void *p UNNEEDED, struct short_channel_id *short_channel_id UNNEEDED, bool *disable UNNEEDED, u16 *cltv_expiry_delta UNNEEDED, struct amount_msat *htlc_minimum_msat UNNEEDED, u32 *fee_base_msat UNNEEDED, u32 *fee_proportional_millionths UNNEEDED, struct amount_msat *htlc_maximum_msat UNNEEDED) +{ fprintf(stderr, "fromwire_gossipd_local_channel_update called!\n"); abort(); } +/* Generated stub for fromwire_gossip_get_addrs */ +bool fromwire_gossip_get_addrs(const void *p UNNEEDED, struct node_id *id UNNEEDED) +{ fprintf(stderr, "fromwire_gossip_get_addrs called!\n"); abort(); } +/* Generated stub for fromwire_gossip_get_channel_peer */ +bool fromwire_gossip_get_channel_peer(const void *p UNNEEDED, struct short_channel_id *channel_id UNNEEDED) +{ fprintf(stderr, "fromwire_gossip_get_channel_peer called!\n"); abort(); } +/* Generated stub for fromwire_gossip_getchannels_request */ +bool fromwire_gossip_getchannels_request(const tal_t *ctx UNNEEDED, const void *p UNNEEDED, struct short_channel_id **short_channel_id UNNEEDED, struct node_id **source UNNEEDED, struct short_channel_id **prev UNNEEDED) +{ fprintf(stderr, "fromwire_gossip_getchannels_request called!\n"); abort(); } +/* Generated stub for fromwire_gossip_get_incoming_channels */ +bool fromwire_gossip_get_incoming_channels(const tal_t *ctx UNNEEDED, const void *p UNNEEDED, bool **private_too UNNEEDED) +{ fprintf(stderr, "fromwire_gossip_get_incoming_channels called!\n"); abort(); } +/* Generated stub for fromwire_gossip_getnodes_request */ +bool fromwire_gossip_getnodes_request(const tal_t *ctx UNNEEDED, const void *p UNNEEDED, struct node_id **id UNNEEDED) +{ fprintf(stderr, "fromwire_gossip_getnodes_request called!\n"); abort(); } +/* Generated stub for fromwire_gossip_getroute_request */ +bool fromwire_gossip_getroute_request(const tal_t *ctx UNNEEDED, const void *p UNNEEDED, struct node_id **source UNNEEDED, struct node_id *destination UNNEEDED, struct amount_msat *msatoshi UNNEEDED, u64 *riskfactor_by_million UNNEEDED, u32 *final_cltv UNNEEDED, double *fuzz UNNEEDED, struct short_channel_id_dir **excluded UNNEEDED, u32 *max_hops UNNEEDED) +{ fprintf(stderr, "fromwire_gossip_getroute_request called!\n"); abort(); } +/* Generated stub for fromwire_gossip_get_txout_reply */ +bool fromwire_gossip_get_txout_reply(const tal_t *ctx UNNEEDED, const void *p UNNEEDED, struct short_channel_id *short_channel_id UNNEEDED, struct amount_sat *satoshis UNNEEDED, u8 **outscript UNNEEDED) +{ fprintf(stderr, "fromwire_gossip_get_txout_reply called!\n"); abort(); } +/* Generated stub for fromwire_gossip_local_channel_close */ +bool fromwire_gossip_local_channel_close(const void *p UNNEEDED, struct short_channel_id *short_channel_id UNNEEDED) +{ fprintf(stderr, "fromwire_gossip_local_channel_close called!\n"); abort(); } +/* Generated stub for fromwire_gossip_new_peer */ +bool fromwire_gossip_new_peer(const void *p UNNEEDED, struct node_id *id UNNEEDED, bool *gossip_queries_feature UNNEEDED, bool *initial_routing_sync UNNEEDED) +{ fprintf(stderr, "fromwire_gossip_new_peer called!\n"); abort(); } +/* Generated stub for fromwire_gossip_outpoint_spent */ +bool fromwire_gossip_outpoint_spent(const void *p UNNEEDED, struct short_channel_id *short_channel_id UNNEEDED) +{ fprintf(stderr, "fromwire_gossip_outpoint_spent called!\n"); abort(); } +/* Generated stub for fromwire_gossip_payment_failure */ +bool fromwire_gossip_payment_failure(const tal_t *ctx UNNEEDED, const void *p UNNEEDED, struct node_id *erring_node UNNEEDED, struct short_channel_id *erring_channel UNNEEDED, u8 *erring_channel_direction UNNEEDED, u8 **error UNNEEDED) +{ fprintf(stderr, "fromwire_gossip_payment_failure called!\n"); abort(); } +/* Generated stub for fromwire_gossip_ping */ +bool fromwire_gossip_ping(const void *p UNNEEDED, struct node_id *id UNNEEDED, u16 *num_pong_bytes UNNEEDED, u16 *len UNNEEDED) +{ fprintf(stderr, "fromwire_gossip_ping called!\n"); abort(); } +/* Generated stub for fromwire_gossip_query_channel_range */ +bool fromwire_gossip_query_channel_range(const void *p UNNEEDED, struct node_id *id UNNEEDED, u32 *first_blocknum UNNEEDED, u32 *number_of_blocks UNNEEDED) +{ fprintf(stderr, "fromwire_gossip_query_channel_range called!\n"); abort(); } +/* Generated stub for fromwire_gossip_query_scids */ +bool fromwire_gossip_query_scids(const tal_t *ctx UNNEEDED, const void *p UNNEEDED, struct node_id *id UNNEEDED, struct short_channel_id **ids UNNEEDED) +{ fprintf(stderr, "fromwire_gossip_query_scids called!\n"); abort(); } +/* Generated stub for fromwire_gossip_send_timestamp_filter */ +bool fromwire_gossip_send_timestamp_filter(const void *p UNNEEDED, struct node_id *id UNNEEDED, u32 *first_timestamp UNNEEDED, u32 *timestamp_range UNNEEDED) +{ fprintf(stderr, "fromwire_gossip_send_timestamp_filter called!\n"); abort(); } +/* Generated stub for fromwire_hsm_cupdate_sig_reply */ +bool fromwire_hsm_cupdate_sig_reply(const tal_t *ctx UNNEEDED, const void *p UNNEEDED, u8 **cu UNNEEDED) +{ fprintf(stderr, "fromwire_hsm_cupdate_sig_reply called!\n"); abort(); } +/* Generated stub for fromwire_hsm_node_announcement_sig_reply */ +bool fromwire_hsm_node_announcement_sig_reply(const void *p UNNEEDED, secp256k1_ecdsa_signature *signature UNNEEDED) +{ fprintf(stderr, "fromwire_hsm_node_announcement_sig_reply called!\n"); abort(); } +/* Generated stub for fromwire_incorrect_cltv_expiry */ +bool fromwire_incorrect_cltv_expiry(const tal_t *ctx UNNEEDED, const void *p UNNEEDED, u32 *cltv_expiry UNNEEDED, u8 **channel_update UNNEEDED) +{ fprintf(stderr, "fromwire_incorrect_cltv_expiry called!\n"); abort(); } +/* Generated stub for fromwire_temporary_channel_failure */ +bool fromwire_temporary_channel_failure(const tal_t *ctx UNNEEDED, const void *p UNNEEDED, u8 **channel_update UNNEEDED) +{ fprintf(stderr, "fromwire_temporary_channel_failure called!\n"); abort(); } +/* Generated stub for get_node */ +struct node *get_node(struct routing_state *rstate UNNEEDED, + const struct node_id *id UNNEEDED) +{ fprintf(stderr, "get_node called!\n"); abort(); } +/* Generated stub for get_route */ +struct route_hop *get_route(const tal_t *ctx UNNEEDED, struct routing_state *rstate UNNEEDED, + const struct node_id *source UNNEEDED, + const struct node_id *destination UNNEEDED, + const struct amount_msat msat UNNEEDED, double riskfactor UNNEEDED, + u32 final_cltv UNNEEDED, + double fuzz UNNEEDED, + u64 seed UNNEEDED, + const struct short_channel_id_dir *excluded UNNEEDED, + size_t max_hops UNNEEDED) +{ fprintf(stderr, "get_route called!\n"); abort(); } +/* Generated stub for gossip_peerd_wire_type_name */ +const char *gossip_peerd_wire_type_name(int e UNNEEDED) +{ fprintf(stderr, "gossip_peerd_wire_type_name called!\n"); abort(); } +/* Generated stub for gossip_store_compact */ +bool gossip_store_compact(struct gossip_store *gs UNNEEDED) +{ fprintf(stderr, "gossip_store_compact called!\n"); abort(); } +/* Generated stub for gossip_store_get */ +const u8 *gossip_store_get(const tal_t *ctx UNNEEDED, + struct gossip_store *gs UNNEEDED, + u64 offset UNNEEDED) +{ fprintf(stderr, "gossip_store_get called!\n"); abort(); } +/* Generated stub for gossip_store_load */ +bool gossip_store_load(struct routing_state *rstate UNNEEDED, struct gossip_store *gs UNNEEDED) +{ fprintf(stderr, "gossip_store_load called!\n"); abort(); } +/* Generated stub for gossip_store_readonly_fd */ +int gossip_store_readonly_fd(struct gossip_store *gs UNNEEDED) +{ fprintf(stderr, "gossip_store_readonly_fd called!\n"); abort(); } +/* Generated stub for got_pong */ +const char *got_pong(const u8 *pong UNNEEDED, size_t *num_pings_outstanding UNNEEDED) +{ fprintf(stderr, "got_pong called!\n"); abort(); } +/* Generated stub for handle_channel_announcement */ +u8 *handle_channel_announcement(struct routing_state *rstate UNNEEDED, + const u8 *announce TAKES UNNEEDED, + const struct short_channel_id **scid UNNEEDED) +{ fprintf(stderr, "handle_channel_announcement called!\n"); abort(); } +/* Generated stub for handle_channel_update */ +u8 *handle_channel_update(struct routing_state *rstate UNNEEDED, const u8 *update TAKES UNNEEDED, + const char *source UNNEEDED, + struct short_channel_id *unknown_scid UNNEEDED) +{ fprintf(stderr, "handle_channel_update called!\n"); abort(); } +/* Generated stub for handle_local_add_channel */ +bool handle_local_add_channel(struct routing_state *rstate UNNEEDED, const u8 *msg UNNEEDED, + u64 index UNNEEDED) +{ fprintf(stderr, "handle_local_add_channel called!\n"); abort(); } +/* Generated stub for handle_node_announcement */ +u8 *handle_node_announcement(struct routing_state *rstate UNNEEDED, const u8 *node UNNEEDED) +{ fprintf(stderr, "handle_node_announcement called!\n"); abort(); } +/* Generated stub for handle_pending_cannouncement */ +bool handle_pending_cannouncement(struct routing_state *rstate UNNEEDED, + const struct short_channel_id *scid UNNEEDED, + const struct amount_sat sat UNNEEDED, + const u8 *txscript UNNEEDED) +{ fprintf(stderr, "handle_pending_cannouncement called!\n"); abort(); } +/* Generated stub for make_ping */ +u8 *make_ping(const tal_t *ctx UNNEEDED, u16 num_pong_bytes UNNEEDED, u16 padlen UNNEEDED) +{ fprintf(stderr, "make_ping called!\n"); abort(); } +/* Generated stub for master_badmsg */ +void master_badmsg(u32 type_expected UNNEEDED, const u8 *msg) +{ fprintf(stderr, "master_badmsg called!\n"); abort(); } +/* Generated stub for memleak_enter_allocations */ +struct htable *memleak_enter_allocations(const tal_t *ctx UNNEEDED, + const void *exclude1 UNNEEDED, + const void *exclude2 UNNEEDED) +{ fprintf(stderr, "memleak_enter_allocations called!\n"); abort(); } +/* Generated stub for memleak_remove_referenced */ +void memleak_remove_referenced(struct htable *memtable UNNEEDED, const void *root UNNEEDED) +{ fprintf(stderr, "memleak_remove_referenced called!\n"); abort(); } +/* Generated stub for memleak_remove_routing_tables */ +void memleak_remove_routing_tables(struct htable *memtable UNNEEDED, + const struct routing_state *rstate UNNEEDED) +{ fprintf(stderr, "memleak_remove_routing_tables called!\n"); abort(); } +/* Generated stub for new_reltimer_ */ +struct oneshot *new_reltimer_(struct timers *timers UNNEEDED, + const tal_t *ctx UNNEEDED, + struct timerel expire UNNEEDED, + void (*cb)(void *) UNNEEDED, void *arg UNNEEDED) +{ fprintf(stderr, "new_reltimer_ called!\n"); abort(); } +/* Generated stub for new_routing_state */ +struct routing_state *new_routing_state(const tal_t *ctx UNNEEDED, + const struct chainparams *chainparams UNNEEDED, + const struct node_id *local_id UNNEEDED, + u32 prune_timeout UNNEEDED, + struct list_head *peers UNNEEDED, + const u32 *dev_gossip_time UNNEEDED) +{ fprintf(stderr, "new_routing_state called!\n"); abort(); } +/* Generated stub for next_chan */ +struct chan *next_chan(const struct node *node UNNEEDED, struct chan_map_iter *i UNNEEDED) +{ fprintf(stderr, "next_chan called!\n"); abort(); } +/* Generated stub for notleak_ */ +void *notleak_(const void *ptr UNNEEDED, bool plus_children UNNEEDED) +{ fprintf(stderr, "notleak_ called!\n"); abort(); } +/* Generated stub for read_addresses */ +struct wireaddr *read_addresses(const tal_t *ctx UNNEEDED, const u8 *ser UNNEEDED) +{ fprintf(stderr, "read_addresses called!\n"); abort(); } +/* Generated stub for remove_channel_from_store */ +void remove_channel_from_store(struct routing_state *rstate UNNEEDED, + struct chan *chan UNNEEDED) +{ fprintf(stderr, "remove_channel_from_store called!\n"); abort(); } +/* Generated stub for route_prune */ +void route_prune(struct routing_state *rstate UNNEEDED) +{ fprintf(stderr, "route_prune called!\n"); abort(); } +/* Generated stub for routing_failure */ +void routing_failure(struct routing_state *rstate UNNEEDED, + const struct node_id *erring_node UNNEEDED, + const struct short_channel_id *erring_channel UNNEEDED, + int erring_direction UNNEEDED, + enum onion_type failcode UNNEEDED, + const u8 *channel_update UNNEEDED) +{ fprintf(stderr, "routing_failure called!\n"); abort(); } +/* Generated stub for status_failed */ +void status_failed(enum status_failreason code UNNEEDED, + const char *fmt UNNEEDED, ...) +{ fprintf(stderr, "status_failed called!\n"); abort(); } +/* Generated stub for status_fmt */ +void status_fmt(enum log_level level UNNEEDED, const char *fmt UNNEEDED, ...) + +{ fprintf(stderr, "status_fmt called!\n"); abort(); } +/* Generated stub for status_setup_async */ +void status_setup_async(struct daemon_conn *master UNNEEDED) +{ fprintf(stderr, "status_setup_async called!\n"); abort(); } +/* Generated stub for subdaemon_setup */ +void subdaemon_setup(int argc UNNEEDED, char *argv[]) +{ fprintf(stderr, "subdaemon_setup called!\n"); abort(); } +/* Generated stub for timer_expired */ +void timer_expired(tal_t *ctx UNNEEDED, struct timer *timer UNNEEDED) +{ fprintf(stderr, "timer_expired called!\n"); abort(); } +/* Generated stub for towire_errorfmt */ +u8 *towire_errorfmt(const tal_t *ctx UNNEEDED, + const struct channel_id *channel UNNEEDED, + const char *fmt UNNEEDED, ...) +{ fprintf(stderr, "towire_errorfmt called!\n"); abort(); } +/* Generated stub for towire_gossip_dev_compact_store_reply */ +u8 *towire_gossip_dev_compact_store_reply(const tal_t *ctx UNNEEDED, bool success UNNEEDED) +{ fprintf(stderr, "towire_gossip_dev_compact_store_reply called!\n"); abort(); } +/* Generated stub for towire_gossip_dev_memleak_reply */ +u8 *towire_gossip_dev_memleak_reply(const tal_t *ctx UNNEEDED, bool leak UNNEEDED) +{ fprintf(stderr, "towire_gossip_dev_memleak_reply called!\n"); abort(); } +/* Generated stub for towire_gossipd_get_update_reply */ +u8 *towire_gossipd_get_update_reply(const tal_t *ctx UNNEEDED, const u8 *update UNNEEDED) +{ fprintf(stderr, "towire_gossipd_get_update_reply called!\n"); abort(); } +/* Generated stub for towire_gossipd_new_store_fd */ +u8 *towire_gossipd_new_store_fd(const tal_t *ctx UNNEEDED, u64 offset_shorter UNNEEDED) +{ fprintf(stderr, "towire_gossipd_new_store_fd called!\n"); abort(); } +/* Generated stub for towire_gossip_get_addrs_reply */ +u8 *towire_gossip_get_addrs_reply(const tal_t *ctx UNNEEDED, const struct wireaddr *addrs UNNEEDED) +{ fprintf(stderr, "towire_gossip_get_addrs_reply called!\n"); abort(); } +/* Generated stub for towire_gossip_get_channel_peer_reply */ +u8 *towire_gossip_get_channel_peer_reply(const tal_t *ctx UNNEEDED, const struct node_id *peer_id UNNEEDED) +{ fprintf(stderr, "towire_gossip_get_channel_peer_reply called!\n"); abort(); } +/* Generated stub for towire_gossip_getchannels_reply */ +u8 *towire_gossip_getchannels_reply(const tal_t *ctx UNNEEDED, bool complete UNNEEDED, const struct gossip_getchannels_entry **nodes UNNEEDED) +{ fprintf(stderr, "towire_gossip_getchannels_reply called!\n"); abort(); } +/* Generated stub for towire_gossip_get_incoming_channels_reply */ +u8 *towire_gossip_get_incoming_channels_reply(const tal_t *ctx UNNEEDED, const struct route_info *route_info UNNEEDED) +{ fprintf(stderr, "towire_gossip_get_incoming_channels_reply called!\n"); abort(); } +/* Generated stub for towire_gossip_getnodes_reply */ +u8 *towire_gossip_getnodes_reply(const tal_t *ctx UNNEEDED, const struct gossip_getnodes_entry **nodes UNNEEDED) +{ fprintf(stderr, "towire_gossip_getnodes_reply called!\n"); abort(); } +/* Generated stub for towire_gossip_getroute_reply */ +u8 *towire_gossip_getroute_reply(const tal_t *ctx UNNEEDED, const struct route_hop *hops UNNEEDED) +{ fprintf(stderr, "towire_gossip_getroute_reply called!\n"); abort(); } +/* Generated stub for towire_gossip_get_txout */ +u8 *towire_gossip_get_txout(const tal_t *ctx UNNEEDED, const struct short_channel_id *short_channel_id UNNEEDED) +{ fprintf(stderr, "towire_gossip_get_txout called!\n"); abort(); } +/* Generated stub for towire_gossip_new_peer_reply */ +u8 *towire_gossip_new_peer_reply(const tal_t *ctx UNNEEDED, bool success UNNEEDED, const struct gossip_state *gs UNNEEDED) +{ fprintf(stderr, "towire_gossip_new_peer_reply called!\n"); abort(); } +/* Generated stub for towire_gossip_ping_reply */ +u8 *towire_gossip_ping_reply(const tal_t *ctx UNNEEDED, const struct node_id *id UNNEEDED, bool sent UNNEEDED, u16 totlen UNNEEDED) +{ fprintf(stderr, "towire_gossip_ping_reply called!\n"); abort(); } +/* Generated stub for towire_gossip_query_channel_range_reply */ +u8 *towire_gossip_query_channel_range_reply(const tal_t *ctx UNNEEDED, u32 final_first_block UNNEEDED, u32 final_num_blocks UNNEEDED, bool final_complete UNNEEDED, const struct short_channel_id *scids UNNEEDED) +{ fprintf(stderr, "towire_gossip_query_channel_range_reply called!\n"); abort(); } +/* Generated stub for towire_gossip_scids_reply */ +u8 *towire_gossip_scids_reply(const tal_t *ctx UNNEEDED, bool ok UNNEEDED, bool complete UNNEEDED) +{ fprintf(stderr, "towire_gossip_scids_reply called!\n"); abort(); } +/* Generated stub for towire_hsm_cupdate_sig_req */ +u8 *towire_hsm_cupdate_sig_req(const tal_t *ctx UNNEEDED, const u8 *cu UNNEEDED) +{ fprintf(stderr, "towire_hsm_cupdate_sig_req called!\n"); abort(); } +/* Generated stub for towire_hsm_node_announcement_sig_req */ +u8 *towire_hsm_node_announcement_sig_req(const tal_t *ctx UNNEEDED, const u8 *announcement UNNEEDED) +{ fprintf(stderr, "towire_hsm_node_announcement_sig_req called!\n"); abort(); } +/* Generated stub for towire_wireaddr */ +void towire_wireaddr(u8 **pptr UNNEEDED, const struct wireaddr *addr UNNEEDED) +{ fprintf(stderr, "towire_wireaddr called!\n"); abort(); } +/* Generated stub for wireaddr_eq */ +bool wireaddr_eq(const struct wireaddr *a UNNEEDED, const struct wireaddr *b UNNEEDED) +{ fprintf(stderr, "wireaddr_eq called!\n"); abort(); } +/* Generated stub for wire_sync_read */ +u8 *wire_sync_read(const tal_t *ctx UNNEEDED, int fd UNNEEDED) +{ fprintf(stderr, "wire_sync_read called!\n"); abort(); } +/* Generated stub for wire_sync_write */ +bool wire_sync_write(int fd UNNEEDED, const void *msg TAKES UNNEEDED) +{ fprintf(stderr, "wire_sync_write called!\n"); abort(); } +/* AUTOGENERATED MOCKS END */ + +int main(void) +{ + u8 *update; + setup_locale(); + + update = tal_hexdata(NULL, "010276df7e70c63cc2b63ef1c062b99c6d934a80ef2fd4dae9e1d86d277f47674af3255a97fa52ade7f129263f591ed784996eba6383135896cc117a438c8029328206226e46111a0b59caaf126043eb5bbf28c34f3a5e332a1fc7b2b73cf188910f00006700000100005d50f933000000900000000000000000000003e80000000a", + strlen("010276df7e70c63cc2b63ef1c062b99c6d934a80ef2fd4dae9e1d86d277f47674af3255a97fa52ade7f129263f591ed784996eba6383135896cc117a438c8029328206226e46111a0b59caaf126043eb5bbf28c34f3a5e332a1fc7b2b73cf188910f00006700000100005d50f933000000900000000000000000000003e80000000a")); + assert(crc32_of_update(update) == 0x1112fa30); + tal_free(update); + + update = tal_hexdata(NULL, "010206737e9e18d3e4d0ab4066ccaecdcc10e648c5f1c5413f1610747e0d463fa7fa39c1b02ea2fd694275ecfefe4fe9631f24afd182ab75b805e16cd550941f858c06226e46111a0b59caaf126043eb5bbf28c34f3a5e332a1fc7b2b73cf188910f00006d00000100005d50f935010000300000000000000000000000640000000b00000000000186a0", + strlen("010206737e9e18d3e4d0ab4066ccaecdcc10e648c5f1c5413f1610747e0d463fa7fa39c1b02ea2fd694275ecfefe4fe9631f24afd182ab75b805e16cd550941f858c06226e46111a0b59caaf126043eb5bbf28c34f3a5e332a1fc7b2b73cf188910f00006d00000100005d50f935010000300000000000000000000000640000000b00000000000186a0")); + assert(crc32_of_update(update) == 0xf32ce968); + tal_free(update); + return 0; +} diff --git a/lightningd/test/run-invoice-select-inchan.c b/lightningd/test/run-invoice-select-inchan.c index be54344c97a0..13cee785e8b1 100644 --- a/lightningd/test/run-invoice-select-inchan.c +++ b/lightningd/test/run-invoice-select-inchan.c @@ -166,10 +166,6 @@ void json_add_escaped_string(struct json_stream *result UNNEEDED, void json_add_hex(struct json_stream *result UNNEEDED, const char *fieldname UNNEEDED, const void *data UNNEEDED, size_t len UNNEEDED) { fprintf(stderr, "json_add_hex called!\n"); abort(); } -/* Generated stub for json_add_sha256 */ -void json_add_sha256(struct json_stream *result UNNEEDED, const char *fieldname UNNEEDED, - const struct sha256 *hash UNNEEDED) -{ fprintf(stderr, "json_add_sha256 called!\n"); abort(); } /* Generated stub for json_add_hex_talarr */ void json_add_hex_talarr(struct json_stream *result UNNEEDED, const char *fieldname UNNEEDED, @@ -188,6 +184,10 @@ void json_add_node_id(struct json_stream *response UNNEEDED, void json_add_num(struct json_stream *result UNNEEDED, const char *fieldname UNNEEDED, unsigned int value UNNEEDED) { fprintf(stderr, "json_add_num called!\n"); abort(); } +/* Generated stub for json_add_sha256 */ +void json_add_sha256(struct json_stream *result UNNEEDED, const char *fieldname UNNEEDED, + const struct sha256 *hash UNNEEDED) +{ fprintf(stderr, "json_add_sha256 called!\n"); abort(); } /* Generated stub for json_add_short_channel_id */ void json_add_short_channel_id(struct json_stream *response UNNEEDED, const char *fieldname UNNEEDED, @@ -481,9 +481,6 @@ void wallet_channel_close(struct wallet *w UNNEEDED, u64 wallet_id UNNEEDED) /* Generated stub for wallet_channel_save */ void wallet_channel_save(struct wallet *w UNNEEDED, struct channel *chan UNNEEDED) { fprintf(stderr, "wallet_channel_save called!\n"); abort(); } -/* Generated stub for wallet_init_channels */ -bool wallet_init_channels(struct wallet *w UNNEEDED) -{ fprintf(stderr, "wallet_init_channels called!\n"); abort(); } /* Generated stub for wallet_channel_stats_load */ void wallet_channel_stats_load(struct wallet *w UNNEEDED, u64 cdbid UNNEEDED, struct channel_stats *stats UNNEEDED) { fprintf(stderr, "wallet_channel_stats_load called!\n"); abort(); } @@ -498,6 +495,9 @@ bool wallet_htlcs_load_for_channel(struct wallet *wallet UNNEEDED, struct htlc_in_map *htlcs_in UNNEEDED, struct htlc_out_map *htlcs_out UNNEEDED) { fprintf(stderr, "wallet_htlcs_load_for_channel called!\n"); abort(); } +/* Generated stub for wallet_init_channels */ +bool wallet_init_channels(struct wallet *w UNNEEDED) +{ fprintf(stderr, "wallet_init_channels called!\n"); abort(); } /* Generated stub for wallet_invoice_create */ bool wallet_invoice_create(struct wallet *wallet UNNEEDED, struct invoice *pinvoice UNNEEDED, diff --git a/wallet/test/run-wallet.c b/wallet/test/run-wallet.c index de6bf26156f6..0cbc89f9ea40 100644 --- a/wallet/test/run-wallet.c +++ b/wallet/test/run-wallet.c @@ -239,14 +239,6 @@ void json_add_amount_sat_compat(struct json_stream *result UNNEEDED, void json_add_bool(struct json_stream *result UNNEEDED, const char *fieldname UNNEEDED, bool value UNNEEDED) { fprintf(stderr, "json_add_bool called!\n"); abort(); } -/* Generated stub for json_add_hex */ -void json_add_hex(struct json_stream *result UNNEEDED, const char *fieldname UNNEEDED, - const void *data UNNEEDED, size_t len UNNEEDED) -{ fprintf(stderr, "json_add_hex called!\n"); abort(); } -/* Generated stub for json_add_sha256 */ -void json_add_sha256(struct json_stream *result UNNEEDED, const char *fieldname UNNEEDED, - const struct sha256 *hash UNNEEDED) -{ fprintf(stderr, "json_add_sha256 called!\n"); abort(); } /* Generated stub for json_add_hex_talarr */ void json_add_hex_talarr(struct json_stream *result UNNEEDED, const char *fieldname UNNEEDED, @@ -274,6 +266,10 @@ void json_add_secret(struct json_stream *response UNNEEDED, const char *fieldname UNNEEDED, const struct secret *secret UNNEEDED) { fprintf(stderr, "json_add_secret called!\n"); abort(); } +/* Generated stub for json_add_sha256 */ +void json_add_sha256(struct json_stream *result UNNEEDED, const char *fieldname UNNEEDED, + const struct sha256 *hash UNNEEDED) +{ fprintf(stderr, "json_add_sha256 called!\n"); abort(); } /* Generated stub for json_add_short_channel_id */ void json_add_short_channel_id(struct json_stream *response UNNEEDED, const char *fieldname UNNEEDED,