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

Function main

common/test/run-blindedpath_enctlv.c:150–294  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

148}
149
150int main(int argc, char *argv[])
151{
152 struct privkey alice, bob, carol, dave, path_key, override_path_key;
153 struct pubkey alice_id, bob_id, carol_id, dave_id, path_key_pub, override_path_key_pub, alias;
154 struct secret self_id;
155 u8 *enctlv;
156 struct tlv_encrypted_data_tlv *tlv;
157
158 common_setup(argv[0]);
159
160 memset(&alice, 'A', sizeof(alice));
161 memset(&bob, 'B', sizeof(bob));
162 memset(&carol, 'C', sizeof(carol));
163 memset(&dave, 'D', sizeof(dave));
164 pubkey_from_privkey(&alice, &alice_id);
165 pubkey_from_privkey(&bob, &bob_id);
166 pubkey_from_privkey(&carol, &carol_id);
167 pubkey_from_privkey(&dave, &dave_id);
168
169 memset(&path_key, 5, sizeof(path_key));
170 pubkey_from_privkey(&path_key, &path_key_pub);
171
172 /* We output the JSON test vectors. */
173 printf("[{");
174 json_strfield("test name", "Simple encrypted_recipient_data for Alice, next is Bob");
175 json_strfield("node_privkey",
176 fmt_privkey(tmpctx, &alice));
177 json_strfield("node_id",
178 fmt_pubkey(tmpctx, &alice_id));
179 json_strfield("path_key_secret",
180 fmt_privkey(tmpctx, &path_key));
181 json_strfield("path_key",
182 fmt_pubkey(tmpctx, &path_key_pub));
183 printf("\t\"encrypted_data_tlv\": {\n"
184 "\t\t\"next_node_id\": \"%s\"\n"
185 "\t},\n",
186 fmt_pubkey(tmpctx, &bob_id));
187
188 tlv = tlv_encrypted_data_tlv_new(tmpctx);
189 tlv->next_node_id = &bob_id;
190 enctlv = encrypt_tlv_encrypted_data(tmpctx, &path_key, &alice_id, tlv,
191 &path_key, &alias);
192 printf("\t\"encrypted_recipient_data_hex\": \"%s\"\n"
193 "},\n",
194 tal_hex(tmpctx, enctlv));
195
196 test_decrypt(&path_key_pub, enctlv, &alice, &bob_id, &path_key);
197
198 pubkey_from_privkey(&path_key, &path_key_pub);
199 memset(&override_path_key, 7, sizeof(override_path_key));
200 pubkey_from_privkey(&override_path_key, &override_path_key_pub);
201
202 printf("{");
203 json_strfield("test name",
204 "path_key_override encrypted_recipient_data for Bob, next is Carol");
205 json_strfield("node_privkey",
206 fmt_privkey(tmpctx, &bob));
207 json_strfield("node_id",

Callers

nothing calls this directly

Calls 11

common_setupFunction · 0.85
pubkey_from_privkeyFunction · 0.85
fmt_privkeyFunction · 0.85
fmt_pubkeyFunction · 0.85
tal_hexFunction · 0.85
test_decryptFunction · 0.85
fmt_secretFunction · 0.85
test_final_decryptFunction · 0.85
common_shutdownFunction · 0.85
json_strfieldFunction · 0.70

Tested by

no test coverage detected