diff --git a/devtools/blindedpath.c b/devtools/blindedpath.c index d21490b67..469ebebf8 100644 --- a/devtools/blindedpath.c +++ b/devtools/blindedpath.c @@ -19,6 +19,8 @@ #include #include +static bool simpleout = false; + /* Tal wrappers for opt. */ static void *opt_allocfn(size_t size) { @@ -99,6 +101,8 @@ int main(int argc, char **argv) "Show this message"); opt_register_noarg("--first-node", opt_set_bool, &first, "Don't try to tweak key to unwrap onion"); + opt_register_noarg("--simple-output", opt_set_bool, &simpleout, + "Output values without prefixes, one per line"); opt_register_version(); opt_parse(&argc, argv, opt_log_stderr_exit); @@ -158,8 +162,12 @@ int main(int argc, char **argv) } /* Print initial blinding factor */ - printf("Blinding: %s\n", - type_to_string(tmpctx, struct pubkey, &pk_e[0])); + if (simpleout) + printf("%s\n", + type_to_string(tmpctx, struct pubkey, &pk_e[0])); + else + printf("Blinding: %s\n", + type_to_string(tmpctx, struct pubkey, &pk_e[0])); for (size_t i = 0; i < num - 1; i++) { u8 *p; @@ -192,16 +200,28 @@ int main(int argc, char **argv) towire_onionmsg_payload(&p, outer); ret = bigsize_put(buf, tal_bytelen(p)); - /* devtools/onion wants length explicitly prepended */ - printf("%s/%.*s%s ", - type_to_string(tmpctx, struct pubkey, &b[i]), - ret * 2, - tal_hexstr(tmpctx, buf, ret), - tal_hex(tmpctx, p)); + if (simpleout) { + printf("%s\n%s\n", + type_to_string(tmpctx, struct pubkey, + &b[i]), + tal_hex(tmpctx, outer->enctlv->enctlv)); + } else { + /* devtools/onion wants length explicitly prepended */ + printf("%s/%.*s%s ", + type_to_string(tmpctx, struct pubkey, + &b[i]), + ret * 2, + tal_hexstr(tmpctx, buf, ret), + tal_hex(tmpctx, p)); + } } /* No payload for last node */ - printf("%s/00\n", - type_to_string(tmpctx, struct pubkey, &b[num-1])); + if (simpleout) + printf("%s\n", + type_to_string(tmpctx, struct pubkey, &b[num-1])); + else + printf("%s/00\n", + type_to_string(tmpctx, struct pubkey, &b[num-1])); } else if (streq(argv[1], "unwrap")) { struct privkey privkey; struct pubkey blinding;