MCPcopy Create free account
hub / github.com/ElementsProject/lightning / nannounce_different

Function nannounce_different

gossipd/gossip_generation.c:187–209  ·  view source on GitHub ↗

Is this node_announcement different from prev (not sigs and timestamps)? */

Source from the content-addressed store, hash-verified

185
186/* Is this node_announcement different from prev (not sigs and timestamps)? */
187bool nannounce_different(struct gossip_store *gs,
188 const struct node *node,
189 const u8 *nannounce,
190 bool *only_missing_tlv)
191{
192 const u8 *oparts[3], *nparts[3];
193 size_t osizes[3], nsizes[3];
194 const u8 *orig;
195
196 /* Get last one we have. */
197 orig = gossip_store_get(tmpctx, gs, node->bcast.index);
198 get_nannounce_parts(orig, oparts, osizes);
199 get_nannounce_parts(nannounce, nparts, nsizes);
200
201 if (only_missing_tlv)
202 *only_missing_tlv = memeq(oparts[0], osizes[0], nparts[0], nsizes[0])
203 && memeq(oparts[1], osizes[1], nparts[1], nsizes[1])
204 && !memeq(oparts[2], osizes[2], nparts[2], nsizes[2]);
205
206 return !memeq(oparts[0], osizes[0], nparts[0], nsizes[0])
207 || !memeq(oparts[1], osizes[1], nparts[1], nsizes[1])
208 || !memeq(oparts[2], osizes[2], nparts[2], nsizes[2]);
209}
210
211static void sign_and_send_nannounce(struct daemon *daemon,
212 u8 *nannounce,

Callers 2

Calls 3

get_nannounce_partsFunction · 0.85
memeqFunction · 0.85
gossip_store_getFunction · 0.70

Tested by

no test coverage detected