elements/src/wallet
furszy 0c9fedfc45
fix incorrect multisig redeem script size limit for segwit
The multisig script generation process currently fails when
the user exceeds 15 keys, even when it shouldn't. The maximum
number of keys allowed for segwit redeem scripts (p2sh-segwit
and bech32) is 20 keys.
This is because the redeem script placed in the witness is not
restricted by the item size limit.

The reason behind this issue is the utilization of the legacy
p2sh redeem script restrictions on segwit ones. Redeem scripts
longer than 520 bytes are blocked from being inserted into the
keystore, which causes the signing process and the descriptor
inference process to fail.

This occurs because the multisig generation flow uses the same
keystore as the legacy spkm (FillableSigningProvider), which
contains the 520-byte limit.
2024-05-03 14:20:44 -03:00
..
rpc fix incorrect multisig redeem script size limit for segwit 2024-05-03 14:20:44 -03:00
test refactor: Avoid copying util::Result values 2024-04-25 16:08:24 -04:00
bdb.cpp wallet: bdb batch 'ErasePrefix', do not create txn internally 2024-02-12 16:05:15 -03:00
bdb.h wallet: bdb: include bdb header from our implementation files only 2023-07-07 14:14:20 +00:00
coincontrol.cpp wallet: Explicitly preserve scriptSig and scriptWitness in CreateTransaction 2023-12-08 17:12:19 -05:00
coincontrol.h wallet: Explicitly preserve scriptSig and scriptWitness in CreateTransaction 2023-12-08 17:12:19 -05:00
coinselection.cpp opt: Skip over barren combinations of tiny UTXOs 2024-02-09 11:03:18 +01:00
coinselection.h coinselection: Track whether CG completed 2024-02-09 10:50:10 +01:00
context.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
context.h interfaces: Add schedulerMockForward method so mockscheduler RPC can work across processes 2023-10-20 10:30:16 -04:00
crypter.cpp refactor: Remove unused C-style casts 2023-07-24 15:32:00 +02:00
crypter.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
db.cpp refactor: Fix bugprone-string-constructor warning 2023-10-30 14:59:17 +01:00
db.h wallet: remove unused 'accept_no_keys' arg from decryption process 2024-02-03 12:56:43 -03:00
dump.cpp wallettool: Don't create CWallet when dumping DB 2023-12-19 16:54:06 -05:00
dump.h wallettool: Don't create CWallet when dumping DB 2023-12-19 16:54:06 -05:00
external_signer_scriptpubkeyman.cpp wallet: return and display signer error 2024-04-16 17:47:43 +02:00
external_signer_scriptpubkeyman.h wallet: return and display signer error 2024-04-16 17:47:43 +02:00
feebumper.cpp test: wallet, fix change position out of range error 2023-12-12 15:20:38 -03:00
feebumper.h rpc: bumpfee, improve doc for 'reduce_output' arg 2023-09-26 20:17:02 -03:00
fees.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
fees.h
init.cpp scripted-diff: Fix bitcoin_config_h includes 2024-02-13 20:10:44 +00:00
interfaces.cpp Merge bitcoin/bitcoin#24313: Improve display address handling for external signer 2024-04-23 17:20:54 -04:00
load.cpp interfaces: Add schedulerMockForward method so mockscheduler RPC can work across processes 2023-10-20 10:30:16 -04:00
load.h interfaces: Add schedulerMockForward method so mockscheduler RPC can work across processes 2023-10-20 10:30:16 -04:00
receive.cpp [clang-tidy] Enable the misc-no-recursion check 2024-04-07 14:04:45 +01:00
receive.h wallet: Add wallet/types.h for simple public enum and struct types 2023-04-11 15:52:25 -04:00
salvage.cpp tidy: modernize-use-emplace 2023-10-12 11:27:19 +02:00
salvage.h refactor: Move fs.* to util/fs.* 2023-03-23 12:55:18 +01:00
scriptpubkeyman.cpp [clang-tidy] Enable the misc-no-recursion check 2024-04-07 14:04:45 +01:00
scriptpubkeyman.h wallet: return and display signer error 2024-04-16 17:47:43 +02:00
spend.cpp refactor: Avoid copying util::Result values 2024-04-25 16:08:24 -04:00
spend.h refactor: pass CRecipient to FundTransaction 2024-01-19 15:04:56 +01:00
sqlite.cpp Merge bitcoin/bitcoin#29404: refactor: bitcoin-config.h includes cleanup 2024-02-20 13:07:48 +00:00
sqlite.h sqlite: Ensure that only one SQLiteBatch is writing to db at a time 2024-02-06 12:24:36 -05:00
transaction.cpp scripted-diff: wallet: s/TxStateConflicted/TxStateBlockConflicted 2024-03-14 17:38:39 -04:00
transaction.h wallet: track mempool conflicts 2024-03-20 15:05:34 -04:00
types.h wallet: add AddressPurpose enum to replace string values 2023-04-11 15:52:25 -04:00
wallet.cpp wallet: return and display signer error 2024-04-16 17:47:43 +02:00
wallet.h wallet: return and display signer error 2024-04-16 17:47:43 +02:00
walletdb.cpp Merge bitcoin/bitcoin#29404: refactor: bitcoin-config.h includes cleanup 2024-02-20 13:07:48 +00:00
walletdb.h wallet: db, introduce 'RunWithinTxn()' helper function 2024-02-12 16:05:14 -03:00
wallettool.cpp wallettool: Don't create CWallet when dumping DB 2023-12-19 16:54:06 -05:00
wallettool.h
walletutil.cpp wallet, descspkm: Refactor wallet descriptor generation to standalone func 2024-03-20 16:15:43 -04:00
walletutil.h wallet, descspkm: Refactor wallet descriptor generation to standalone func 2024-03-20 16:15:43 -04:00