core-lightning/plugins
Vincenzo Palazzo 6f0dbbb20f bolt12: allow to inject payer_metadata
Payer metadata is a field that controls the payer ID
provided during the fetchinvoice process.

There are use cases where this is highly useful, such as
proving that the payer has paid for the correct item.

Imagine visiting a merchant's website to pay for multiple offers, where
one of these offers is a default offer (with no description and no set amount).

In this scenario, the merchant could claim not to have received
payment for a specific item. Since the same offer may be used to
fetch invoices for different products, there needs to be a way to
identify which product the invoice corresponds to.

With this commit, it will be possible to inject payer metadata,
which helps solve the issue described above.

For example, possible payer metadata could be `to_hex(b"{payer_node_id}.{product_id}.{created_at}")`.

Changelog-Added: JSON-RPC: `fetchinvoice` allows setting invreq_metadata via `payer_metadata` parameter.
Signed-off-by: Vincenzo Palazzo <vincenzopalazzodev@gmail.com>
2024-11-19 22:54:22 +01:00
..
askrene askrene: don't create duplicate layers if xpay creates layer before we load them. 2024-11-19 17:51:18 +10:30
bkpr db: Instrument the DB interactions to trace their execution 2024-11-18 17:46:40 +01:00
clnrest Remove swagger postman screenshots including .github folder 2024-11-06 14:01:22 +10:30
examples cln-plugin: add multi options for String and i64 2024-08-13 12:24:45 +09:30
grpc-plugin plugins/grpc: grpc-host option 2024-11-12 09:43:54 +10:30
renepay plugins: don't check for experimental-offers option: it's the default now. 2024-11-18 10:42:54 +01:00
spender splice: Add plugin for magic “splice all” command 2024-11-12 06:42:52 +10:30
src cln-plugin: Change default log level filter back to INFO 2024-09-17 12:00:27 +09:30
test libplugin-pay: trace payment_continue 2024-11-13 13:15:52 +01:00
wss-proxy release: Update the changelog for point release v24.08.2 2024-10-18 09:06:17 -07:00
xpay xpay: don't try to timeout things until after we have created xpay layer. 2024-11-19 17:51:18 +10:30
.gitignore config: add the ability for plugins to specify that config values should be concealed. 2024-11-13 08:49:55 +10:30
autoclean.c autoclean: rest between cleanup calls. 2024-11-12 10:42:18 +01:00
bcli.c libplugin: clean up API. 2024-11-07 17:04:35 +10:30
Cargo.toml rust-libs: Bump versions 2024-09-22 00:12:39 -07:00
chanbackup.c libplugin: add method string to jsonrpc callbacks, implement generic helpers. 2024-11-07 17:04:35 +10:30
channel_hint.c libplugin-pay: use map for channel hints 2024-10-07 15:16:46 +02:00
channel_hint.h libplugin-pay: use map for channel hints 2024-10-07 15:16:46 +02:00
commando.c libplugin: add method string to jsonrpc callbacks, implement generic helpers. 2024-11-07 17:04:35 +10:30
establish_onion_path.c libplugin: add method string to jsonrpc callbacks, implement generic helpers. 2024-11-07 17:04:35 +10:30
establish_onion_path.h fetchinvoice: use common/onion_message routines. 2024-07-17 10:57:11 +02:00
exposesecret.c plugins/exposesecret: fix for API change. 2024-11-13 13:24:06 +10:30
fetchinvoice.c bolt12: allow to inject payer_metadata 2024-11-19 22:54:22 +01:00
fetchinvoice.h plugins/offers: neaten fetchinvoice integration. 2024-07-17 10:57:11 +02:00
funder.c libplugin: add method string to jsonrpc callbacks, implement generic helpers. 2024-11-07 17:04:35 +10:30
funder_policy.c common/amount: rename amount_sat_zero/amount_msat_zerp -> amount_sat_is_zero/amount_msat_is_zero. 2024-09-19 12:16:53 +09:30
funder_policy.h libplugin: allow display of default values. 2024-05-15 15:50:54 -05:00
keysend.c libplugin: add method string to jsonrpc callbacks, implement generic helpers. 2024-11-07 17:04:35 +10:30
libplugin-pay.c libplugin-pay: trace payment_continue 2024-11-13 13:15:52 +01:00
libplugin-pay.h libplugin-pay: always use a non-NULL struct command. 2024-11-07 17:04:35 +10:30
libplugin.c libplugin: allow aux_command use in init() 2024-11-18 11:03:26 +10:30
libplugin.h libplugin: add method string to jsonrpc callbacks, implement generic helpers. 2024-11-07 17:04:35 +10:30
Makefile xpay: new plugin which uses askrene, injectpaymentonion. 2024-11-18 11:03:26 +10:30
offers.c plugins: don't check for experimental-offers option: it's the default now. 2024-11-18 10:42:54 +01:00
offers.h plugins: don't check for experimental-offers option: it's the default now. 2024-11-18 10:42:54 +01:00
offers_inv_hook.c libplugin: add method string to jsonrpc callbacks, implement generic helpers. 2024-11-07 17:04:35 +10:30
offers_inv_hook.h offers: check they use the blinded path if one is specified. 2024-07-17 10:57:11 +02:00
offers_invreq_hook.c libplugin: add method string to jsonrpc callbacks, implement generic helpers. 2024-11-07 17:04:35 +10:30
offers_invreq_hook.h offers: check they use the blinded path if one is specified. 2024-07-17 10:57:11 +02:00
offers_offer.c plugins: don't check for experimental-offers option: it's the default now. 2024-11-18 10:42:54 +01:00
offers_offer.h plugins: move fetchinvoice functionality into offers plugin. 2024-07-17 10:57:11 +02:00
pay.c plugins: don't check for experimental-offers option: it's the default now. 2024-11-18 10:42:54 +01:00
README.md doc: fix wording in plugins/README.md 2020-01-06 12:57:59 +01:00
recklessrpc.c libplugin: clean up API. 2024-11-07 17:04:35 +10:30
recover.c libplugin: add method string to jsonrpc callbacks, implement generic helpers. 2024-11-07 17:04:35 +10:30
sql.c libplugin: add method string to jsonrpc callbacks, implement generic helpers. 2024-11-07 17:04:35 +10:30
topology.c libplugin: add method string to jsonrpc callbacks, implement generic helpers. 2024-11-07 17:04:35 +10:30
txprepare.c libplugin: add method string to jsonrpc callbacks, implement generic helpers. 2024-11-07 17:04:35 +10:30

Plugin Directory

Any file in this directory which is executable and whose name only consists of alphanumeric characters, space, '.', '-' or '_' will be automatically loaded when lightningd starts (unless suppressed with commandline options).