rgb-cln/common
Vincenzo Palazzo 5f6642a6ff fix(jsonrpc): trim the lightning: prefix from invoice
Previously, our code checked for the presence of the `lightning:`
prefix while decoding a bolt11 string. Although this prefix is valid
and accepted by the core lightning pay command, it was causing issues
with how we managed invoices. Specifically, we were skipping the prefix
when creating a copy of the invoice string and storing the raw invoice
(including the prefix) in the database, which caused inconsistencies
in the user experience.

To address this issue, we need to strip the `lightning:` prefix before
calling each core lightning command. In addition, we should
modify the invstring inside the db with the canonical one.

This commit fixes the issue by stripping the `lightning:` prefix
from the `listsendpays` function, which will improve the
user experience and ensure consistency in our invoice management (see
next commit).

Reported-by: @johngribbin
Link: ElementsProject#6207
Fixes: debbdc0
Changelog-Fixes: trim the `lightning:` prefix from invoice everywhere.
Signed-off-by: Vincenzo Palazzo <vincenzopalazzodev@gmail.com>
2023-07-14 15:04:26 +09:30
..
test fix(jsonrpc): trim the lightning: prefix from invoice 2023-07-14 15:04:26 +09:30
Makefile common/configvar: routines to manage config settings. 2023-06-03 10:50:29 +09:30
addr.c encode_scriptpubkey_to_addr: support p2tr 2023-07-11 11:41:15 +09:30
addr.h encode_scriptpubkey_to_addr: support p2tr 2023-07-11 11:41:15 +09:30
amount.c common: Add multiplication primitives for amount_msat and amount_sat 2022-09-21 11:25:47 +02:00
amount.h common: Add multiplication primitives for amount_msat and amount_sat 2022-09-21 11:25:47 +02:00
autodata.c common: clean up autodata in common_shutdown(). 2021-11-17 10:51:48 +10:30
autodata.h common: clean up autodata in common_shutdown(). 2021-11-17 10:51:48 +10:30
base32.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
base32.h common/base32: make this a simple tal-wrapper around ccan/base32. 2018-05-10 02:28:44 +00:00
base64.c common: use ccan/base64 instead of libsodium. 2021-11-14 18:49:46 +01:00
base64.h wireaddr: clean up tor parsing. 2021-11-14 18:49:46 +01:00
bech32.c common: rename bech32_encode parameter 2023-05-27 15:06:31 +09:30
bech32.h common: rename bech32_encode parameter 2023-05-27 15:06:31 +09:30
bech32_util.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
bech32_util.h cleanup: remove unneeded includes in header files. 2021-09-17 09:43:22 +09:30
bigsize.c check-includes: allow redundant "config.h" 2021-02-04 12:02:36 +10:30
bigsize.h Remove varint typedef for bigsize 2020-09-23 16:30:36 +09:30
billboard.c build: allow DEVELOPER builds with -Og and gcc 9.4.0 2022-09-19 10:18:55 +09:30
billboard.h channeld/dualopend/lightningd: use channel_ready everywhere. 2022-09-12 09:34:52 +09:30
bip32.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
bip32.h wire: move remaining bitcoin functions out to bitcoin/ files. 2020-05-18 14:51:12 +02:00
blindedpath.c Makefile: update to latest BOLT text. 2023-04-07 21:22:56 +09:30
blindedpath.h common/blindedpath: expose API at a lower level. 2022-11-09 15:08:03 +01:00
blindedpay.c Makefile: update to latest BOLT text. 2023-04-07 21:22:56 +09:30
blindedpay.h common: update to latest route-blinding spec. 2023-01-30 13:24:29 +10:30
blinding.c Changed external/libwally-core to test_build_fix 2022-04-12 15:17:52 +09:30
blinding.h common: add blinding helpers. 2020-04-04 16:08:49 +10:30
blockheight_states.c global: use tal_dup_or_null(). 2021-12-30 14:36:55 +10:30
blockheight_states.h liquidity-ads: persist channel blockheight states to disk 2021-07-20 13:28:38 -04:00
bolt11.c fix(jsonrpc): trim the lightning: prefix from invoice 2023-07-14 15:04:26 +09:30
bolt11.h fix(jsonrpc): trim the lightning: prefix from invoice 2023-07-14 15:04:26 +09:30
bolt11_json.c global: remove deprecated non-msat-named msat fields. 2023-03-18 15:55:49 +10:30
bolt11_json.h common/bolt11_json: extract bolt11->json code. 2021-01-09 14:34:35 +10:30
bolt12.c common: fix arm32 compile breakage. 2022-12-06 10:44:39 +01:00
bolt12.h build: don't generate experimental variants of wire files. 2023-05-23 09:34:08 +09:30
bolt12_merkle.c bolt12: update comments to match latest spec. 2022-11-09 15:08:03 +01:00
bolt12_merkle.h hsmd: don't use point32 for bolt12, but use pubkeys (though still always 02) 2022-10-26 11:29:06 +10:30
channel_config.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
channel_config.h lightningd: new option for htlc dust limit 2021-10-23 12:59:13 +02:00
channel_id.c common: generalize extract_channel_id(). 2021-12-30 09:50:40 +10:30
channel_id.h common: generalize extract_channel_id(). 2021-12-30 09:50:40 +10:30
channel_type.c common/channel_type: add zero-fee-anchor type. 2023-06-29 11:28:47 -04:00
channel_type.h common/channel_type: add zero-fee-anchor type. 2023-06-29 11:28:47 -04:00
close_tx.c Support p2tr deposit addresses 2023-07-11 11:41:15 +09:30
close_tx.h hsmd: Add wallet index metadata to existing messages 2022-03-10 10:22:29 +10:30
closing_fee.h closingd: configurable closing fee negotiation step 2020-04-07 13:52:48 +09:30
coin_mvt.c bkpr: for zerconfs, we still wanna know you're opening a channel 2022-07-28 12:08:18 +09:30
coin_mvt.h bkpr: for zerconfs, we still wanna know you're opening a channel 2022-07-28 12:08:18 +09:30
configdir.c lightningd: remove deprecated_apis global, put into lightningd. 2023-07-09 16:49:48 +09:30
configdir.h lightningd: remove deprecated_apis global, put into lightningd. 2023-07-09 16:49:48 +09:30
configvar.c fix: build on alpine linux 2023-06-15 09:52:31 +09:30
configvar.h common: allow configvars to be marked dynamic. 2023-06-20 20:08:25 +09:30
crypto_state.h per_peer_state: remove struct crypto_state 2022-01-20 15:24:06 +10:30
cryptomsg.c common: make hdr parameter const 2023-06-23 13:12:42 +09:30
cryptomsg.h common: make hdr parameter const 2023-06-23 13:12:42 +09:30
daemon.c common: lookup function for symnames. 2023-04-10 09:41:56 +09:30
daemon.h common: lookup function for symnames. 2023-04-10 09:41:56 +09:30
daemon_conn.c common/daemon_conn: add function to read an fd. 2022-07-18 20:50:04 -05:00
daemon_conn.h common/daemon_conn: add function to read an fd. 2022-07-18 20:50:04 -05:00
decode_array.c Makefile: update to BOLTs without zlib. 2022-05-19 09:47:32 +09:30
decode_array.h Makefile: update to BOLTs without zlib. 2022-05-19 09:47:32 +09:30
derive_basepoints.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
derive_basepoints.h cleanup: remove unneeded includes in header files. 2021-09-17 09:43:22 +09:30
descriptor_checksum.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
descriptor_checksum.h common: add a descriptor checksum computation module 2020-11-10 10:34:13 -06:00
dev_disconnect.c connectd: implement @ correctly. 2022-01-20 15:24:06 +10:30
dev_disconnect.h connectd: implement @ correctly. 2022-01-20 15:24:06 +10:30
dijkstra.c common: remove unused functions or make static. 2021-12-06 10:05:39 +10:30
dijkstra.h common: remove unused functions or make static. 2021-12-06 10:05:39 +10:30
ecdh.h common: generalize ecdh function. 2020-04-04 16:08:49 +10:30
ecdh_hsmd.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
ecdh_hsmd.h common: generalize ecdh function. 2020-04-04 16:08:49 +10:30
errcode.h jsonrpc: make error codes an enum. 2022-09-19 10:18:55 +09:30
features.c Makefile: update to latest BOLT text. 2023-04-07 21:22:56 +09:30
features.h Makefile: update to latest BOLT text. 2023-04-07 21:22:56 +09:30
fee_states.c global: use tal_dup_or_null(). 2021-12-30 14:36:55 +10:30
fee_states.h channeld: tweak function to allow testing for pending *uncommitted* changes. 2021-06-04 16:13:08 +09:30
fp16.c common: extract fp16 routines into their own file. 2021-02-04 12:02:36 +10:30
fp16.h common: extract fp16 routines into their own file. 2021-02-04 12:02:36 +10:30
gossip_constants.h Makefile: update bolts to 60cfb5972ad4bec4c49ee0f9e729fb3352fcdc6a. 2023-04-07 21:22:56 +09:30
gossip_store.c common/gossip_store: move subdaemon-only routines to connectd. 2023-01-30 15:15:41 -06:00
gossip_store.h typo fixes found by @niftynei 2023-01-30 15:15:41 -06:00
gossmap.c common/gossmap: don't memcpy NULL, 0, and don't add 0 to NULL pointer. 2023-04-05 06:12:24 +09:30
gossmap.h listincoming: add htlc_min_msat, public and peer_features fields. 2022-11-09 15:08:03 +01:00
hash_u5.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
hash_u5.h common: use tabs everywhere. 2020-02-05 14:19:12 +01:00
hmac.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
hmac.h common/sphinx: don't make copy to compute packet hmac. 2020-12-11 15:51:24 +01:00
hsm_encryption.c lightningd: expand exit codes for various failures. 2022-07-20 19:28:33 +09:30
hsm_encryption.h cli: make the command line more user friendly. 2022-03-24 09:53:38 +10:30
hsm_version.h hsmd: routine to sign HTLC tx merged with our own tx. 2023-06-29 11:28:47 -04:00
htlc.h cleanup: remove unneeded includes in header files. 2021-09-17 09:43:22 +09:30
htlc_state.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
htlc_state.h Fix a-vs-an typos 2018-02-08 22:49:34 +01:00
htlc_trim.c global: thread zero fee option everywhere. 2023-06-29 11:28:47 -04:00
htlc_trim.h global: thread zero fee option everywhere. 2023-06-29 11:28:47 -04:00
htlc_tx.c global: thread zero fee option everywhere. 2023-06-29 11:28:47 -04:00
htlc_tx.h global: thread zero fee option everywhere. 2023-06-29 11:28:47 -04:00
htlc_wire.c channeld: don't calculate blinding shared secret, let lightningd do it. 2022-10-26 11:29:06 +10:30
htlc_wire.h channeld: don't calculate blinding shared secret, let lightningd do it. 2022-10-26 11:29:06 +10:30
initial_channel.c Support p2tr deposit addresses 2023-07-11 11:41:15 +09:30
initial_channel.h common: simple helpers to test for either anchor feature. 2023-06-29 11:28:47 -04:00
initial_commit_tx.c global: thread zero fee option everywhere. 2023-06-29 11:28:47 -04:00
initial_commit_tx.h global: thread zero fee option everywhere. 2023-06-29 11:28:47 -04:00
interactivetx.c is_segwit_output: properly detect all known segwit script types 2023-07-11 11:41:15 +09:30
interactivetx.h Collaborative transaction building 2022-11-02 12:00:11 +01:00
invoice_path_id.c createinvoice: make a minimal blinded "path" in bolt12 invoice if none presented. 2022-11-09 15:08:03 +01:00
invoice_path_id.h createinvoice: make a minimal blinded "path" in bolt12 invoice if none presented. 2022-11-09 15:08:03 +01:00
iso4217.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
iso4217.h bolt12: update comments to match latest spec. 2022-11-09 15:08:03 +01:00
json_command.h lightningd: remove deprecated_apis global, put into lightningd. 2023-07-09 16:49:48 +09:30
json_filter.c common/json_filter: routine to turn "filter" JSON into a filter. 2022-11-09 20:25:58 +10:30
json_filter.h common/json_filter: routine to turn "filter" JSON into a filter. 2022-11-09 20:25:58 +10:30
json_param.c fix(jsonrpc): trim the lightning: prefix from invoice 2023-07-14 15:04:26 +09:30
json_param.h fix(jsonrpc): trim the lightning: prefix from invoice 2023-07-14 15:04:26 +09:30
json_parse.c signed types: add handlers for signed types 2023-07-13 19:34:47 +09:30
json_parse.h config: replace accept-htlc-tlv-types with accept-htlc-tlv-type 2023-06-03 10:50:29 +09:30
json_parse_simple.c signed types: add handlers for signed types 2023-07-13 19:34:47 +09:30
json_parse_simple.h signed types: add handlers for signed types 2023-07-13 19:34:47 +09:30
json_stream.c common: remove json_stream_log_suppress 2023-06-05 16:16:21 +02:00
json_stream.h common: remove json_stream_log_suppress 2023-06-05 16:16:21 +02:00
jsonrpc_errors.h lightningd: don't let them fundpsbt below emergency reserve. 2023-06-29 11:28:47 -04:00
key_derive.c lightningd: move bip32_pubkey here from common/, add hsm check. 2023-03-22 13:50:32 +10:30
key_derive.h lightningd: move bip32_pubkey here from common/, add hsm check. 2023-03-22 13:50:32 +10:30
keyset.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
keyset.h cleanup: remove unneeded includes in header files. 2021-09-17 09:43:22 +09:30
lease_rates.c lease_rates: prepare for msats fields as raw numbers. 2022-06-21 06:52:35 +09:30
lease_rates.h lease_rates: prepare for msats fields as raw numbers. 2022-06-21 06:52:35 +09:30
memleak.c all: no longer need to call htable_clear to free htable contents. 2023-01-12 11:44:10 +10:30
memleak.h memleak: remove exclusions from memleak_start() 2022-09-19 11:34:42 +09:30
msg_queue.c msg_queue: don't allow magic MSG_PASS_FD message for peers. 2022-01-20 15:24:06 +10:30
msg_queue.h msg_queue: don't allow magic MSG_PASS_FD message for peers. 2022-01-20 15:24:06 +10:30
node_id.c Remove point32. 2022-10-26 11:29:06 +10:30
node_id.h common: expose node_id_hash functions. 2023-01-21 08:05:31 -06:00
onion_decode.c Makefile: update to latest BOLT text. 2023-04-07 21:22:56 +09:30
onion_decode.h common/onion: split into decode and encode routines. 2022-11-09 15:08:03 +01:00
onion_encode.c Makefile: update to latest BOLT text. 2023-04-07 21:22:56 +09:30
onion_encode.h Makefile: update bolts to 60cfb5972ad4bec4c49ee0f9e729fb3352fcdc6a. 2023-04-07 21:22:56 +09:30
onion_message_parse.c common: update to latest onion-message spec. 2023-01-30 13:24:29 +10:30
onion_message_parse.h common/onion_message_parse: generic routine for parsing onion messages. 2022-10-26 11:29:06 +10:30
onionreply.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
onionreply.h common: add struct onionreply 2020-01-23 16:17:42 +10:30
overflows.h overflows: helpers for integer assignment overflows. 2021-07-20 13:28:38 -04:00
peer_billboard.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
peer_billboard.h common: peer_billboard() helper for updating the billboard. 2018-02-23 18:02:00 +01:00
peer_failed.c dual-open: use tx-abort instead of warning/errors 2023-02-05 10:02:46 +01:00
peer_failed.h dual-open: use tx-abort instead of warning/errors 2023-02-05 10:02:46 +01:00
peer_io.c peer subds: ignore failed writes. 2022-01-20 15:24:06 +10:30
peer_io.h connectd: do nagle by packet type. 2022-01-20 15:24:06 +10:30
peer_status_wire.csv subdaemons: don't stream gossip_store at all. 2022-01-20 15:24:06 +10:30
penalty_base.c check-includes: allow redundant "config.h" 2021-02-04 12:02:36 +10:30
penalty_base.h cleanup: remove unneeded includes in header files. 2021-09-17 09:43:22 +09:30
per_peer_state.c subdaemons: remove gossipd fd from per-peer daemons. 2022-02-08 11:15:52 +10:30
per_peer_state.h subdaemons: remove gossipd fd from per-peer daemons. 2022-02-08 11:15:52 +10:30
permute_tx.c Update libwally to 0.8.8, support PSBTv2 2023-03-23 16:10:55 +10:30
permute_tx.h common: remove unused functions or make static. 2021-12-06 10:05:39 +10:30
ping.c doc: big BOLT update to incorporate warnings language. 2022-04-02 09:40:18 +10:30
ping.h channeld: restore ping command, but only for channeld. 2021-10-10 15:32:57 +02:00
private_channel_announcement.c cleanup: remove unneeded includes in C files. 2021-09-17 09:43:22 +09:30
private_channel_announcement.h gossip_store: make private channels more similar to channel_announcement 2020-10-21 08:58:34 +10:30
psbt_internal.c spec: update to latest dual-funding wire changes 2023-07-13 19:34:47 +09:30
psbt_internal.h spec: update to latest dual-funding wire changes 2023-07-13 19:34:47 +09:30
psbt_keypath.c Support p2tr deposit addresses 2023-07-11 11:41:15 +09:30
psbt_keypath.h Support p2tr deposit addresses 2023-07-11 11:41:15 +09:30
psbt_open.c Support p2tr deposit addresses 2023-07-11 11:41:15 +09:30
psbt_open.h Update libwally to 0.8.8, support PSBTv2 2023-03-23 16:10:55 +10:30
pseudorand.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
pseudorand.h common: expose pseudorand_double 2019-04-16 21:22:13 +00:00
random_select.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
random_select.h Apply @cdecker typo suggestions from code review 2020-08-28 10:56:50 +09:30
read_peer_msg.c doc: big BOLT update to incorporate warnings language. 2022-04-02 09:40:18 +10:30
read_peer_msg.h subdaemons: remove gossipd fd from per-peer daemons. 2022-02-08 11:15:52 +10:30
route.c common/blindedpay: routines to construct a blinded payment. 2022-10-26 11:29:06 +10:30
route.h common/blindedpay: routines to construct a blinded payment. 2022-10-26 11:29:06 +10:30
scb_wire.csv staticbackup: don't use wireaddr_internal. 2023-06-01 09:28:39 +09:30
setup.c setup: make all htables use tal. 2023-01-12 11:44:10 +10:30
setup.h setup: create a common setup which will handle the wally-context 2020-05-19 13:35:42 +09:30
shutdown_scriptpubkey.c lightningd: only allow closing to native segwit 2022-12-13 08:28:12 +10:30
shutdown_scriptpubkey.h lightningd: only allow closing to native segwit 2022-12-13 08:28:12 +10:30
sphinx.c Makefile: update bolts a0bbe47b0278b4f152dbaa4f5fab2562413a217c 2023-04-07 21:22:56 +09:30
sphinx.h lightningd: --dev-onion-reply-length option. 2022-11-08 17:40:57 +01:00
status.c common: make sure we hand through peer for io logging. 2022-02-08 11:15:52 +10:30
status.h cleanup: remove unneeded includes in header files. 2021-09-17 09:43:22 +09:30
status_levels.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
status_levels.h common: add routines for log level names. 2020-10-23 13:53:16 +10:30
status_wire.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
status_wire.csv cleanup: remove unneeded includes in header files. 2021-09-17 09:43:22 +09:30
status_wire.h status: generate messages rather than marshal/unmarshal manually. 2018-02-08 19:07:12 +01:00
subdaemon.c connectd: do dev_disconnect logic. 2022-01-20 15:24:06 +10:30
subdaemon.h cleanup: remove unneeded includes in header files. 2021-09-17 09:43:22 +09:30
timeout.c common: add routine for absolute timeouts (vs. relative). 2022-01-20 15:24:06 +10:30
timeout.h common: add routine for absolute timeouts (vs. relative). 2022-01-20 15:24:06 +10:30
tx_roles.c tx_roles: allow to be serialized btw processes 2023-02-07 21:03:36 -06:00
tx_roles.h tx_roles: allow to be serialized btw processes 2023-02-07 21:03:36 -06:00
type_to_string.c type_to_string: detect type failure in DEVELOPER mode. 2021-09-21 18:04:43 +02:00
type_to_string.h Remove point32. 2022-10-26 11:29:06 +10:30
utils.c fix(jsonrpc): trim the lightning: prefix from invoice 2023-07-14 15:04:26 +09:30
utils.h fix(jsonrpc): trim the lightning: prefix from invoice 2023-07-14 15:04:26 +09:30
utxo.c global: thread zero fee option everywhere. 2023-06-29 11:28:47 -04:00
utxo.h global: thread zero fee option everywhere. 2023-06-29 11:28:47 -04:00
version.c lightningd: use OPT_EXITS for options which exit. 2023-06-03 10:50:29 +09:30
version.h lightningd: use OPT_EXITS for options which exit. 2023-06-03 10:50:29 +09:30
wallet.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
wallet.h wallet: remove unused TX_ANNOTATION type in transaction_annotations table. 2023-01-30 15:15:41 -06:00
wire_error.c dual-open: use tx-abort instead of warning/errors 2023-02-05 10:02:46 +01:00
wire_error.h cleanup: remove unneeded includes in header files. 2021-09-17 09:43:22 +09:30
wireaddr.c lightningd: allow --bind=ws: 2023-06-01 09:28:39 +09:30
wireaddr.h common: add new internal type for websockets. 2023-06-01 09:28:39 +09:30