| 106 | } |
| 107 | |
| 108 | char *to_bech32_charset(const tal_t *ctx, |
| 109 | const char *hrp, const u8 *data) |
| 110 | { |
| 111 | u5 *u5data = tal_arr(NULL, u5, 0); |
| 112 | char *ret; |
| 113 | |
| 114 | bech32_push_bits(&u5data, data, tal_bytelen(data) * 8); |
| 115 | ret = tal_dup_arr(ctx, char, hrp, strlen(hrp), |
| 116 | 1 + tal_bytelen(u5data) + 1); |
| 117 | ret[strlen(hrp)] = '1'; |
| 118 | for (size_t i = 0; i < tal_bytelen(u5data); i++) |
| 119 | ret[strlen(hrp) + 1 + i] = bech32_charset[u5data[i]]; |
| 120 | ret[strlen(hrp) + 1 + tal_bytelen(u5data)] = '\0'; |
| 121 | tal_free(u5data); |
| 122 | return ret; |
| 123 | } |
no test coverage detected