mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-02-21 14:34:49 +01:00
Merge bitcoin/bitcoin#26156: test: check that listdescriptors
descriptor strings are sorted
810c3dc7ef
doc, rpc: mention that `listdescriptors` result is sorted by string representation (Sebastian Falbesoner)d99af861d0
test: check that `listdescriptors` descriptor strings are sorted (Sebastian Falbesoner) Pull request description: This small PR adds a test for the change introduced in PR #25931 ("rpc: sort listdescriptors result", commit50996241f2
). The correctness of the test can easily be verified by commenting out the `std::sort` call in the `listdescriptors` RPC implementation: ```diff diff --git a/src/wallet/rpc/backup.cpp b/src/wallet/rpc/backup.cpp index 09c74ea2da..3ed1a69b26 100644 --- a/src/wallet/rpc/backup.cpp +++ b/src/wallet/rpc/backup.cpp @@ -1829,9 +1829,11 @@ RPCHelpMan listdescriptors() }); } + /* std::sort(wallet_descriptors.begin(), wallet_descriptors.end(), [](const auto& a, const auto& b) { return a.descriptor < b.descriptor; }); + */ UniValue descriptors(UniValue::VARR); for (const WalletDescInfo& info : wallet_descriptors) { ``` leading to a fail of the functional test `wallet_listdescriptors.py`. ACKs for top commit: jarolrod: ACK810c3dc7ef
aureleoules: ACK810c3dc7ef
Tree-SHA512: 31770e3149b8a0251ecfa8662a2270c149f778eb910985f48a91d6a5d288b7b1c2244f9f1b798ebe3f1aa9f0b935cb4d6f12d5d28f78bcde3c4a61af76d11d0a
This commit is contained in:
commit
eeac05aa22
2 changed files with 5 additions and 1 deletions
|
@ -1760,7 +1760,7 @@ RPCHelpMan listdescriptors()
|
|||
},
|
||||
RPCResult{RPCResult::Type::OBJ, "", "", {
|
||||
{RPCResult::Type::STR, "wallet_name", "Name of wallet this operation was performed on"},
|
||||
{RPCResult::Type::ARR, "descriptors", "Array of descriptor objects",
|
||||
{RPCResult::Type::ARR, "descriptors", "Array of descriptor objects (sorted by descriptor string representation)",
|
||||
{
|
||||
{RPCResult::Type::OBJ, "", "", {
|
||||
{RPCResult::Type::STR, "desc", "Descriptor string representation"},
|
||||
|
|
|
@ -52,6 +52,10 @@ class ListDescriptorsTest(BitcoinTestFramework):
|
|||
assert item['range'] == [0, 0]
|
||||
assert item['timestamp'] is not None
|
||||
|
||||
self.log.info('Test that descriptor strings are returned in lexicographically sorted order.')
|
||||
descriptor_strings = [descriptor['desc'] for descriptor in result['descriptors']]
|
||||
assert_equal(descriptor_strings, sorted(descriptor_strings))
|
||||
|
||||
self.log.info('Test descriptors with hardened derivations are listed in importable form.')
|
||||
xprv = 'tprv8ZgxMBicQKsPeuVhWwi6wuMQGfPKi9Li5GtX35jVNknACgqe3CY4g5xgkfDDJcmtF7o1QnxWDRYw4H5P26PXq7sbcUkEqeR4fg3Kxp2tigg'
|
||||
xpub_acc = 'tpubDCMVLhErorrAGfApiJSJzEKwqeaf2z3NrkVMxgYQjZLzMjXMBeRw2muGNYbvaekAE8rUFLftyEar4LdrG2wXyyTJQZ26zptmeTEjPTaATts'
|
||||
|
|
Loading…
Add table
Reference in a new issue