mirror of
https://github.com/ElementsProject/lightning.git
synced 2025-01-06 05:49:30 +01:00
cae25ca5db
Before: $ ./devtools/decodemsg 0102c2bd3f4a94ff390ce764caf51925d0ed38fa95b6539945b42124f5c4e625da63351380c79230a05550d0e5def9c2412f4f164478f9f9491140e505f79c0d716506226e46111a0b59caaf126043eb5bbf28c34f3a5e332a1fc7b2b73cf188910f00006700000100015afd0da1000000060000000000000000000000010000000a WIRE_CHANNEL_UPDATE: signature=3045022100c2bd3f4a94ff390ce764caf51925d0ed38fa95b6539945b42124f5c4e625da630220351380c79230a05550d0e5def9c2412f4f164478f9f9491140e505f79c0d7165 chain_hash=0f9188f13cb7b2c71f2a335e3a4fc328bf5beb436012afca590b1a11466e2206 short_channel_id=103:1:1 timestamp=1526533537flags=0cltv_expiry_delta=6htlc_minimum_msat=0fee_base_msat=1fee_proportional_millionths=10 After: WIRE_CHANNEL_UPDATE: signature=3045022100c2bd3f4a94ff390ce764caf51925d0ed38fa95b6539945b42124f5c4e625da630220351380c79230a05550d0e5def9c2412f4f164478f9f9491140e505f79c0d7165 chain_hash=0f9188f13cb7b2c71f2a335e3a4fc328bf5beb436012afca590b1a11466e2206 short_channel_id=103:1:1 timestamp=1526533537 flags=0 cltv_expiry_delta=6 htlc_minimum_msat=0 fee_base_msat=1 fee_proportional_millionths=10 Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
61 lines
1.3 KiB
C
61 lines
1.3 KiB
C
#include <common/type_to_string.h>
|
|
#include <devtools/print_wire.h>
|
|
#include <inttypes.h>
|
|
#include <stdio.h>
|
|
|
|
void printwire_u8(const u8 *v)
|
|
{
|
|
printf("%u\n", *v);
|
|
}
|
|
|
|
void printwire_u16(const u16 *v)
|
|
{
|
|
printf("%u\n", *v);
|
|
}
|
|
|
|
void printwire_u32(const u32 *v)
|
|
{
|
|
printf("%u\n", *v);
|
|
}
|
|
|
|
void printwire_u64(const u64 *v)
|
|
{
|
|
printf("%"PRIu64"\n", *v);
|
|
}
|
|
|
|
void printwire_u8_array(const u8 **cursor, size_t *plen, size_t len)
|
|
{
|
|
printf("[");
|
|
while (len) {
|
|
u8 v = fromwire_u8(cursor, plen);
|
|
if (!*cursor)
|
|
return;
|
|
if (isprint(v))
|
|
printf("%c", v);
|
|
else
|
|
printf("\\x%02x", v);
|
|
len--;
|
|
}
|
|
printf("]\n");
|
|
}
|
|
|
|
#define PRINTWIRE_TYPE_TO_STRING(T, N) \
|
|
void printwire_##N(const T *v) \
|
|
{ \
|
|
const char *s = type_to_string(NULL, T, v); \
|
|
printf("%s\n", s); \
|
|
tal_free(s); \
|
|
}
|
|
|
|
#define PRINTWIRE_STRUCT_TYPE_TO_STRING(T) \
|
|
PRINTWIRE_TYPE_TO_STRING(struct T, T)
|
|
|
|
PRINTWIRE_STRUCT_TYPE_TO_STRING(bitcoin_blkid);
|
|
PRINTWIRE_STRUCT_TYPE_TO_STRING(bitcoin_txid);
|
|
PRINTWIRE_STRUCT_TYPE_TO_STRING(channel_id);
|
|
PRINTWIRE_STRUCT_TYPE_TO_STRING(preimage);
|
|
PRINTWIRE_STRUCT_TYPE_TO_STRING(pubkey);
|
|
PRINTWIRE_STRUCT_TYPE_TO_STRING(sha256);
|
|
PRINTWIRE_STRUCT_TYPE_TO_STRING(short_channel_id);
|
|
PRINTWIRE_TYPE_TO_STRING(secp256k1_ecdsa_signature, secp256k1_ecdsa_signature);
|