core-lightning/devtools/features.c
Rusty Russell 7ef2f4d7fb devtools/features: tool to convert feature bitmap to names.
For example:

```
$ ./devtools/features 80008008226aa2
option_data_loss_protect/odd (optional)
option_upfront_shutdown_script/odd (optional)
option_gossip_queries/odd (optional)
option_var_onion_optin/odd (optional)
option_gossip_queries_ex/odd (optional)
option_static_remotekey/odd (optional)
option_payment_secret/even (compulsory)
option_basic_mpp/odd (optional)
option_anchor_outputs/odd (optional)
option_shutdown_anysegwit/odd (optional)
option_onion_messages/odd (optional)
option_unknown_54/odd (optional)
```


Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2021-09-23 15:02:05 +02:00

29 lines
624 B
C

/* Turns a hex string into feature. */
#include "config.h"
#include <ccan/err/err.h>
#include <common/features.h>
#include <common/utils.h>
#include <stdio.h>
int main(int argc, char *argv[])
{
const u8 *features;
setup_locale();
if (argc != 2)
errx(1, "Usage: %s <hexstring>", argv[0]);
features = tal_hexdata(NULL, argv[1], strlen(argv[1]));
if (!features)
errx(1, "bad hexstring");
for (size_t i = 0; i < tal_bytelen(features) * 8; i++) {
if (feature_is_set(features, i))
printf("%s (%s)\n",
feature_name(features, i),
i % 2 ? "optional" : "compulsory");
}
tal_free(features);
}