From 496d2cae5fd6be08cb88dc58f05715f269094625 Mon Sep 17 00:00:00 2001 From: lisa neigut Date: Wed, 18 Sep 2019 19:03:13 -0500 Subject: [PATCH] varint: Add helper function for getting varlen size Needed to calculate somethings for building dual funding txs --- bitcoin/varint.c | 11 +++++++++++ bitcoin/varint.h | 3 +++ 2 files changed, 14 insertions(+) diff --git a/bitcoin/varint.c b/bitcoin/varint.c index 1e97cddd3..290e28586 100644 --- a/bitcoin/varint.c +++ b/bitcoin/varint.c @@ -1,5 +1,16 @@ #include "varint.h" +size_t varint_size(varint_t v) +{ + if (v < 0xfd) + return 1; + if (v <= 0xffff) + return 3; + if (v <= 0xffffffff) + return 5; + return 9; +} + size_t varint_put(u8 buf[VARINT_MAX_LEN], varint_t v) { u8 *p = buf; diff --git a/bitcoin/varint.h b/bitcoin/varint.h index b0b21c106..eddcb450a 100644 --- a/bitcoin/varint.h +++ b/bitcoin/varint.h @@ -9,6 +9,9 @@ #define VARINT_MAX_LEN 9 +/* Calculate bytes used (up to 9) */ +size_t varint_size(varint_t v); + /* Returns bytes used (up to 9) */ size_t varint_put(u8 buf[VARINT_MAX_LEN], varint_t v);