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

Function from_base58

bitcoin/base58.c:46–66  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

44}
45
46static bool from_base58(u8 *version,
47 struct ripemd160 *rmd,
48 const char *base58, size_t base58_len)
49{
50 u8 buf[1 + sizeof(*rmd) + 4];
51 /* Avoid memcheck complaining if decoding resulted in a short value */
52 size_t buflen = sizeof(buf);
53 memset(buf, 0, buflen);
54 char *terminated_base58 = tal_dup_arr(NULL, char, base58, base58_len, 1);
55 terminated_base58[base58_len] = '\0';
56
57 size_t written = 0;
58 int r = wally_base58_to_bytes(terminated_base58, BASE58_FLAG_CHECKSUM, buf, buflen, &written);
59 tal_free(terminated_base58);
60 if (r != WALLY_OK || written > buflen) {
61 return false;
62 }
63 *version = buf[0];
64 memcpy(rmd, buf + 1, sizeof(*rmd));
65 return true;
66}
67
68bool ripemd160_from_base58(u8 *version, struct ripemd160 *rmd,
69 const char *base58, size_t base58_len)

Callers 1

ripemd160_from_base58Function · 0.85

Calls 1

tal_freeFunction · 0.85

Tested by

no test coverage detected