core-lightning/common/onion_decode.h
Rusty Russell 162ebe2a72 global: we always offer OPT_ROUTE_BLINDING, don't need to test.
We did since v23.05.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2024-07-09 15:09:29 +02:00

31 lines
1.1 KiB
C

#ifndef LIGHTNING_COMMON_ONION_DECODE_H
#define LIGHTNING_COMMON_ONION_DECODE_H
#include "config.h"
#include <bitcoin/privkey.h>
#include <common/amount.h>
#include <common/onion_encode.h>
/**
* onion_decode: decode payload from a decrypted onion.
* @ctx: context to allocate onion_contents off.
* @rs: the route_step, whose raw_payload is of at least length
* onion_payload_length().
* @blinding: the optional incoming blinding point.
* @accepted_extra_tlvs: Allow these types to be in the TLV without failing
* @amount_in: Incoming HTLC amount
* @cltv_expiry: Incoming HTLC cltv_expiry
* @failtlvtype: (out) the tlv type which failed to parse.
* @failtlvpos: (out) the offset in the tlv which failed to parse.
*
* If the payload is not valid, returns NULL.
*/
struct onion_payload *onion_decode(const tal_t *ctx,
const struct route_step *rs,
const struct pubkey *blinding,
const u64 *accepted_extra_tlvs,
struct amount_msat amount_in,
u32 cltv_expiry,
u64 *failtlvtype,
size_t *failtlvpos);
#endif /* LIGHTNING_COMMON_ONION_DECODE_H */