Christian Decker
5 years ago
3 changed files with 70 additions and 2 deletions
@ -0,0 +1,68 @@ |
|||
#ifndef LIGHTNING_PLUGINS_LIBPLUGIN_PAY_H |
|||
#define LIGHTNING_PLUGINS_LIBPLUGIN_PAY_H |
|||
#include "config.h" |
|||
|
|||
#include <plugins/libplugin.h> |
|||
|
|||
enum route_hop_style { |
|||
ROUTE_HOP_LEGACY = 1, |
|||
ROUTE_HOP_TLV = 2, |
|||
}; |
|||
|
|||
struct route_hop { |
|||
struct short_channel_id channel_id; |
|||
int direction; |
|||
struct node_id nodeid; |
|||
struct amount_msat amount; |
|||
u32 delay; |
|||
struct pubkey *blinding; |
|||
enum route_hop_style style; |
|||
}; |
|||
|
|||
/* A parsed version of the possible outcomes that a sendpay / payment may
|
|||
* result in. */ |
|||
struct payment_result { |
|||
}; |
|||
|
|||
/* Relevant information about a local channel so we can exclude them early. */ |
|||
struct channel_status { |
|||
}; |
|||
|
|||
struct payment { |
|||
|
|||
/* Real destination we want to route to */ |
|||
struct node_id *destination; |
|||
|
|||
/* Payment hash extracted from the invoice if any. */ |
|||
struct sha256 *payment_hash; |
|||
|
|||
u32 partid; |
|||
|
|||
/* Destination we should ask `getroute` for. This might differ from
|
|||
* the above destination if we use rendez-vous routing of blinded |
|||
* paths to amend the route later in a mixin. */ |
|||
struct node_id *getroute_destination; |
|||
|
|||
/* Target amount to be delivered at the destination */ |
|||
struct amount_msat amount; |
|||
|
|||
/* tal_arr of route_hops we decoded from the `getroute` call. Exposed
|
|||
* here so it can be amended by mixins. */ |
|||
struct route_hop *route; |
|||
|
|||
struct channel_status *peer_channels; |
|||
|
|||
/* The blockheight at which the payment attempt was
|
|||
* started. */ |
|||
u32 start_block; |
|||
|
|||
struct timeabs start_time, end_time; |
|||
struct timeabs deadline; |
|||
|
|||
struct amount_msat extra_budget; |
|||
|
|||
struct short_channel_id *exclusions; |
|||
|
|||
}; |
|||
|
|||
#endif /* LIGHTNING_PLUGINS_LIBPLUGIN_PAY_H */ |
Loading…
Reference in new issue