Commit graph

27 commits

Author SHA1 Message Date
ivanlele
12bbc09a42
Merge 4ff42762fd into merged_master (Bitcoin PR bitcoin/bitcoin#28336) 2026-02-20 09:34:54 +00:00
Byron Hambly
b489a41d50
ci: fuzz fixes 2025-12-08 15:01:09 +02:00
Byron Hambly
862a6868d8
rpc: fix rpc typechecking errors
Fixes (most?) of the rpc typechecking errors, at least the ones that are
tested by the functional tests.

However, I've left the rpc typechecking off after fixing these, since
I'm concerned that there are conditional cases that are untested in our
functional tests - and I'd rather not have RPC calls failing in a
release just because the documentation is not correct.
2025-10-30 15:11:48 +02:00
Byron Hambly
34f8d7a3c4
Merge 53313c49d6 into merged_master (Bitcoin PR bitcoin/bitcoin#28246) 2025-08-01 12:40:43 +02:00
Byron Hambly
6c55760a2d Merge 7ef2d4ee4d into merged_master (Bitcoin PR bitcoin/bitcoin#28244) 2025-07-04 17:24:18 +02:00
Byron Hambly
dbf777c321 Merge 6a167325f0 into merged_master (Bitcoin PR bitcoin/bitcoin#27279) 2025-04-12 17:24:00 +02:00
Byron Hambly
c0a9017312 Merge a8c1ea50c7 into merged_master (Bitcoin PR bitcoin/bitcoin#26919) 2025-04-04 09:27:27 +02:00
Byron Hambly
27a72d99f5 Merge 7799f53542 into merged_master (Bitcoin PR bitcoin/bitcoin#26039) 2025-04-02 23:02:13 +02:00
Byron Hambly
23e71fd977 Merge bc67215b29 into merged_master (Bitcoin PR bitcoin/bitcoin#26558) 2025-03-03 14:19:05 +02:00
Byron Hambly
ca0a68b350
Merge UP TO 551c8e9526 into merged_master (UP TO bitcoin/bitcoin#26349)
Includes FIXMEs for a few functional tests
2025-02-05 09:50:17 +02:00
Byron Hambly
8499b13762
lint: fix lint issues 2024-12-03 14:02:33 +02:00
Byron Hambly
ad90efac48 Merge 47c86a023d into merged_master (Bitcoin PR bitcoin/bitcoin#25466) 2024-10-17 10:54:37 +02:00
James Dorfman
95d6ba74ad Merge 06ea2783a2 into merged_master (Bitcoin PR bitcoin/bitcoin#25220) 2024-09-09 17:22:47 +00:00
James Dorfman
06a6044137 Merge 0de36941ec into merged_master (Bitcoin PR bitcoin/bitcoin#25153) 2024-08-13 06:00:38 +00:00
James Dorfman
67145b693d Merge c290249fff into merged_master (Bitcoin PR bitcoin/bitcoin#25058) 2024-08-09 03:19:24 +00:00
Sebastian Falbesoner
100e8a75bf rpc: check and throw specific pubkey parsing errors in HexToPubKey
In the helper `HexToPubKey`, check for three different causes of legacy
public key parsing errors (in this order):

    - pubkey is not a hex string
    - pubkey doesn't have a valid length (33 or 65 bytes) [NEW]
    - pubkey is cryptographically invalid, i.e. not on curve
      (`IsFullyValid` check)

and throw a specific error message for each one. Note that the error
code is identical for all of them (-5), so this doesn't break RPC API
compatibility.

The helper is currently used for the RPCs `createmultisig` and
`addmultisigaddress`. The length checks can be removed from the
call-sites and error message checks in the functional tests are adapted.
2024-02-09 13:35:23 +01:00
Andrew Chow
07d3bdf4eb Add PubKeyDestination for P2PK scripts
P2PK scripts are not PKHash destinations, they should have their own
type.

This also results in no longer showing a p2pkh address for p2pk outputs.
However for backwards compatibility, ListCoinst will still do this
conversion.
2023-09-12 12:14:31 -04:00
Andrew Chow
f3c9078b4c Clean up things that include script/standard.h
Remove standard.h from files that don't use anything in it, and include
it in files that do.
2023-08-14 17:38:27 -04:00
Jon Atack
079d8cdda8 rpc: extract wallet "warnings" fields to a util helper 2023-04-10 10:41:35 -07:00
fanquake
ea8c7daf7a
scripted-diff: use RPCArg::Optional::OMITTED over OMITTED_NAMED_ARG
-BEGIN VERIFY SCRIPT-
sed -i -e "/Deprecated alias for OMITTED, can be removed/d" src/rpc/util.h src/rpc/util.cpp
sed -i -e "s/OMITTED_NAMED_ARG/OMITTED/g" $(git grep -l "OMITTED_NAMED_ARG" src/)
-END VERIFY SCRIPT-
2023-01-22 15:01:48 +00:00
MarcoFalke
fa9f6d7bcd
rpc: Run type check against RPCArgs 2023-01-11 17:42:09 +01:00
FractalEncrypt
92a4ed05d1 doc: add tr() descriptor example to deriveaddresses
add a tr() descriptor example to the help deriveaddresses examples
2022-11-23 10:17:29 -05:00
muxator
addf9d6502 rpc: fix crash in deriveaddresses when derivation index is 2147483647
2147483647 is the maximum positive value of a signed int32, and - currently -
the maximum value that the deriveaddresses bitcoin RPC call accepts as
derivation index due to its input validation routines.

Before this change, when the derivation index (and thus range_end) reached
std::numeric_limits<int_32_t>::max(), the "i" variable in the for cycle (which
is declared as int, and as such 32 bits in size on most platforms) would be
incremented at the end of the first iteration and then warp back to
-2147483648. This caused SIGABRT in bitcoind and a core dump.

This change assigns "i" an explicit size of 64 bits on every platform,
sidestepping the problem.

Fixes #26274.
2022-10-06 22:17:49 +02:00
fanquake
d6787bc19b
refactor: remove unused using directives 2022-07-18 17:25:03 +01:00
brunoerg
eaf6f630c0 rpc: fix inappropriate warning for address type p2sh-segwit in createmultisig and addmultisigaddress 2022-06-06 09:46:02 -03:00
MacroFake
fa9af21878
scripted-diff: Use getInt<T> over get_int/get_int64
-BEGIN VERIFY SCRIPT-
 sed -i 's|\<get_int64\>|getInt<int64_t>|g' $(git grep -l get_int ':(exclude)src/univalue')
 sed -i 's|\<get_int\>|getInt<int>|g'       $(git grep -l get_int ':(exclude)src/univalue')
-END VERIFY SCRIPT-
2022-05-18 19:15:03 +02:00
MacroFake
fa87eb8ce1
rpc: Move output script RPCs to separate file
Can be reviewed with --color-moved=dimmed-zebra --color-moved-ws=ignore-all-space
2022-05-03 08:59:18 +02:00