Skip to content

Conversation

GideonBature
Copy link
Contributor

@GideonBature GideonBature commented Apr 5, 2025

Implement Version-Specific Types for Status omitted

This PR addresses issue #115 by implementing the methods with status of 'omitted' in methods with version-specific types. Previously, 'omitted' was used in cases where return types were standard or seemingly inconsequential (e.g., null, standard library types). However, this approach introduced a risk: if the return type of such methods changes in future Bitcoin Core versions, we would not catch it.

To fix this, this PR:

  • Defines version-specific types for affected methods.
  • Updates method definitions to use Method::new_no_model in corresponding methods.
  • Adds integration tests for each updated method to verify correctness and catch future regressions.

This improves type safety, clarity, and future-proofing of the client interface.


Summary of Work Done

🚀 Blockchain Methods

Tested with:

cargo test --features=28_0 --test blockchain
S/N Method Name Implemented Test Written
1 pruneblockchain
2 savemempool
3 scantxoutset
4 verifychain

🌐 Network Methods

Tested with:

cargo test --features=28_0 --test network
S/N Method Name Implemented Test Written
5 addnode
6 clearbanned
7 disconnectnode
8 getconnectioncount
9 listbanned
10 ping
11 setban
12 setnetworkactive

💰 Wallet Methods

Tested with:

cargo test --features=28_0 --test wallet
S/N Method Name Implemented Test Written
13 abandontransaction
14 abortrescan
15 backupwallet
16 encryptwallet
17 importaddress
18 importmulti
19 importprivkey
20 importprunedfunds
21 importpubkey
22 importwallet
23 keypoolrefill
24 lockunspent
25 removeprunedfunds
26 sethdseed
27 settxfee
28 walletlock
29 walletpassphrase
30 walletpassphrasechange

✅ Ready for review

Closes #115

@GideonBature GideonBature changed the title WIP: feat(rpc/v17 - v28): Add initial implementation for pruneblockchain (#115) WIP: feat(rpc/v17 & v28): Add initial implementation for pruneblockchain (#115) Apr 5, 2025
Copy link
Member

@tcharding tcharding left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looking good mate. I wouldn't personally bother pruning at the moment. At this stage just checking that the returned data is the correct shape is enough.

@GideonBature
Copy link
Contributor Author

I have effected the changes reviewed, please do have a check when you are chanced.

Copy link
Member

@tcharding tcharding left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Getting there man, keep at it.

@GideonBature
Copy link
Contributor Author

Changes effected... Thank you so much for all the reviews, I am really learning and understanding the codebase more.

@tcharding
Copy link
Member

I just introduced a new style of writing test code in #125. Please follow the same style when you write your new tests. Thanks man!

@GideonBature
Copy link
Contributor Author

Alright, I will check it out... Thank you :).

@GideonBature GideonBature changed the title WIP: feat(rpc/v17 & v28): Add initial implementation for pruneblockchain (#115) Implement version specific types Apr 13, 2025
@GideonBature GideonBature marked this pull request as ready for review April 21, 2025 19:48
@tcharding
Copy link
Member

tcharding commented Apr 22, 2025

You got a rebase mistake in there mate. In verify/src/method/

@tcharding
Copy link
Member

In case its useful to you I have this alias

which mc
mc: aliased to git grep -l '<<<<'

Then I use mc to check for merge conflicts after rebasing.

@tcharding
Copy link
Member

This is going to be hard for me to review because its so big but also I appreciate that it is hard to work on this crate without doing big changesets so I'm happy to review this but there may be a few iterations.

@tcharding
Copy link
Member

Some things I found:

  • Need to set the status to done e.g. types/src/v17/mod.rs when each method is added and tested
  • If you could use the new test format I'd appreciate it, otherwise I have to go over all the tests and add it
    let json: VerifyTxOutProof = node.client.verify_tx_out_proof(&proof)?;
    let model: Result<mtype::VerifyTxOutProof, _> = json.into_model();
    let txids = model.unwrap();

The point to this is to check that all the re-exports were done correctly.

Or using PruneBlockchain

    let _: PruneBlockchain = node.client.prune_blockchain(target_height);

It would probably be best to push up an initial patch that does just one method completely so I can review that and then you could do all the others as a second patch. Sorry I should have said that weeks ago, my bad. There is a way to stage code chunks so you can pull the changes out - let me know if you want more tips on that.

@tcharding
Copy link
Member

Appreciate your efforts man, this is not the easiest crate to work on. Holla at me if you have any other questions.

@GideonBature GideonBature force-pushed the omitted-types-impl branch 6 times, most recently from adeb378 to 6ac7abc Compare April 22, 2025 09:20
@GideonBature
Copy link
Contributor Author

You got a rebase mistake in there mate. In verify/src/method/

Noted, thank you for spotting it out.

@GideonBature
Copy link
Contributor Author

This is going to be hard for me to review because its so big but also I appreciate that it is hard to work on this crate without doing big changesets so I'm happy to review this but there may be a few iterations.

No Problem, I will make all changes necessary as you review! :).

@GideonBature
Copy link
Contributor Author

Some things I found:

  • Need to set the status to done e.g. types/src/v17/mod.rs when each method is added and tested
  • If you could use the new test format I'd appreciate it, otherwise I have to go over all the tests and add it
    let json: VerifyTxOutProof = node.client.verify_tx_out_proof(&proof)?;
    let model: Result<mtype::VerifyTxOutProof, _> = json.into_model();
    let txids = model.unwrap();

The point to this is to check that all the re-exports were done correctly.

Or using PruneBlockchain

    let _: PruneBlockchain = node.client.prune_blockchain(target_height);

It would probably be best to push up an initial patch that does just one method completely so I can review that and then you could do all the others as a second patch. Sorry I should have said that weeks ago, my bad. There is a way to stage code chunks so you can pull the changes out - let me know if you want more tips on that.

True, almost forgot changing their status to done.

Okayyy, now I see the reason why, for this particular methods, most of them returns null or just a standard type so I will implement for the others just like the example you provided. Thank you so much for the reviews.

I will also push up an initial patch with single method so you can review, before doing the others. I will look it up i.e. stage code chucks, and if there is anything I don't understand, I will definitely ask for clarity.

Once again thank you always :).

@GideonBature GideonBature marked this pull request as draft April 30, 2025 16:55
tcharding added a commit that referenced this pull request Jul 12, 2025
86b06c5 Implement walletpassphrase method and test (GideonBature)

Pull request description:

  The JSON-RPC method `walletpassphrase` does not return anything. We want to test this to catch any changes in behavior in future Core versions.

  This PR adds a client function that errors if the return value is anything other than `null`, along with an integration test that calls this function.

  Ref: [#116](#116)

ACKs for top commit:
  jamillambert:
    ACK 86b06c5
  tcharding:
    ACK 86b06c5

Tree-SHA512: 54a44b8084ec3a5395e1cbf175a56aaa143b9ff97396b491159ee703497ac956ff8b8726d400cecf472d0ff87f0cc31365529856e6b9e24ad66e3a3c514bd524
tcharding added a commit that referenced this pull request Jul 14, 2025
75f8e9e Implement walletpassphrasechange method and test (GideonBature)

Pull request description:

  The JSON-RPC method `walletpassphrasechange` does not return anything. We want to test this to catch any changes in behavior in future Core versions.

  This PR adds a client function that errors if the return value is anything other than `null`, along with an integration test that calls this function.

  Ref: [#116](#116)

ACKs for top commit:
  jamillambert:
    ACK 75f8e9e
  tcharding:
    ACK 75f8e9e

Tree-SHA512: 1152bfaf0ae2db7c8c76446ed0942c14ac8956d58a1cc5538311560c97f2bc092a3a9f8c7ce023aa8430df87ced7e4e528dd530a031cddc03ffdf2ee06ac4ef0
blaze-smith470pm added a commit to blaze-smith470pm/corepc that referenced this pull request Sep 26, 2025
565702fcc8346c97dd8a90d883beef36ebd8ca94 Implement savemempool method and test (GideonBature)

Pull request description:

  Going by the conversations with tcharding  for PR rust-bitcoin/corepc#116 on implementing one method at a time for easier review: This is the second method implementation `savemempool` which is a specific type that returns a (json null). Once this is approved, I’ll proceed with the next one.

ACKs for top commit:
  tcharding:
    ACK 565702fcc8346c97dd8a90d883beef36ebd8ca94

Tree-SHA512: 85d0d2ef8fa48cc325efc4f7eb9dfbf1276fe9185ff0c3bc2639aaec924088795638b82fb51856cd8454d24a7c59332297921ee00db38efb7e02db35bddbc1fc
blaze-smith470pm added a commit to blaze-smith470pm/corepc that referenced this pull request Sep 26, 2025
ae286f1d70bcedcf4a3486764e00d518be09893f Implement verifychain method and test (GideonBature)

Pull request description:

  This is based on PR rust-bitcoin/corepc#116 on implementing one method at a time for easier review: This is the third method implementation: `verifychain` which returns a (bool type). Once this is approved, I’ll proceed with the next one.

ACKs for top commit:
  tcharding:
    ACK ae286f1d70bcedcf4a3486764e00d518be09893f

Tree-SHA512: 9992984539ead8a63b394b431df0b52cf99d552d17c3c4930aa406660e1b51b5e43fc07e5bfeda1f7c9c0234278d212d42e2f893b97a7de1e208199bc8012aca
blaze-smith470pm added a commit to blaze-smith470pm/corepc that referenced this pull request Sep 26, 2025
91d2ac156542ad51ff533bc23a5a967bbe88fcf2 Implement addnode method and test (GideonBature)

Pull request description:

  Going by the conversations with tcharding for PR [#116 ](rust-bitcoin/corepc#116) on implementing one method at a time for easier review: This is first method under network section, addnode which is a specific type that returns a (json null). Once this is approved, I’ll proceed with the next one.

ACKs for top commit:
  tcharding:
    ACK 91d2ac156542ad51ff533bc23a5a967bbe88fcf2

Tree-SHA512: 05e4f71e335a514336a96f91a06aa51049fea46780568a3e63aae4927996bacecf66cca08ffba062dd7bdb96ac360d5c40702e48843fe8a04660bcc139bc2f69
blaze-smith470pm added a commit to blaze-smith470pm/corepc that referenced this pull request Sep 26, 2025
7579c309bfdb0a3f93ee59d9054de565a50f7271 Implement setban method and test (GideonBature)

Pull request description:

  Going by the conversations with tcharding for PR [#116 ](rust-bitcoin/corepc#116) on implementing one method at a time for easier review: This is another method under network section, setban which is a specific type that returns a (json null). Once this is approved, I’ll proceed with the next one.

ACKs for top commit:
  tcharding:
    ACK 7579c309bfdb0a3f93ee59d9054de565a50f7271

Tree-SHA512: abe19120103d1c6985e24d0bb6806f7042f7ab980b28ae14d2e15a84afe751a60168f146f4d8542d885628502d759748df4b885a9e4053c2c134ddbe69723176
blaze-smith470pm added a commit to blaze-smith470pm/corepc that referenced this pull request Sep 26, 2025
42c1e2295a47bc4e8e0f71c0f707dcc8eaa0f505 Implement clearbanned method and test (GideonBature)

Pull request description:

  Going by the conversations with tcharding for PR [#116 ](rust-bitcoin/corepc#116) on implementing one method at a time for easier review: This is the clearbanned method which is a specific type that returns a (json null). Once this is approved, I’ll proceed with the next one.

ACKs for top commit:
  tcharding:
    ACK 42c1e2295a47bc4e8e0f71c0f707dcc8eaa0f505

Tree-SHA512: 24b86868139c63d682423e93b362dcb930b4d2ed909b099786612b8a52c2ba993c8323b2332aa45e6c58097a412187e07508fc847ab228dc09499e301b3b3fb2
blaze-smith470pm added a commit to blaze-smith470pm/corepc that referenced this pull request Sep 26, 2025
359ac383f28c579d5ed79ded0bba0a38cb765f0c Implement disconnectnode method and test (GideonBature)

Pull request description:

  Going by the conversations with tcharding for PR [#116 ](rust-bitcoin/corepc#116) on implementing one method at a time for easier review: This is the disconnectnode method which is a specific type that returns a (json null). Once this is approved, I’ll proceed with the next one.

ACKs for top commit:
  tcharding:
    ACK 359ac383f28c579d5ed79ded0bba0a38cb765f0c

Tree-SHA512: 3b16431e732e81edea1f290cf6436ae5ad0e72a591546b09e69eb47092c95ccef5e07be8908f20d32fb87a77cf623caf07eee0e96b96bc2fab7240af23e4286a
blaze-smith470pm added a commit to blaze-smith470pm/corepc that referenced this pull request Sep 26, 2025
…d test

2408e45a7154e487e08ee24c591e4b23729d1a5d Implement getconnectioncount method and test (GideonBature)

Pull request description:

  The JSON-RPC method `getconnectioncount` does return a numeric. We want to test this to catch any changes in behavior in future Core versions.

  This PR adds a client function that errors if the return value is anything other than `numeric`, along with an integration test that calls this function.

  Ref: [#116](rust-bitcoin/corepc#116)

ACKs for top commit:
  tcharding:
    ACK 2408e45a7154e487e08ee24c591e4b23729d1a5d

Tree-SHA512: 8fadbbe57fe567daebe150cf76cce96d0693ee1763bd8bbfafe4b736751da8dc42b2681aeccf7eb8fbc03083a2ecb131ee59ffc24608ea20ec3693b944477147
blaze-smith470pm added a commit to blaze-smith470pm/corepc that referenced this pull request Sep 26, 2025
8b1f5782afd21aba158fe1b23103997067e414c5 Implement ping method and test (GideonBature)

Pull request description:

  The JSON-RPC method `ping` does return null. We want to test this to catch any changes in behavior in future Core versions.

  This PR adds a client function that errors if the return value is anything other than `null`, along with an integration test that calls this function.

  Ref: [#116](rust-bitcoin/corepc#116)

ACKs for top commit:
  tcharding:
    ACK 8b1f5782afd21aba158fe1b23103997067e414c5

Tree-SHA512: c2626a22f96179e22154a8830a53d6b2568c959515244445dc6481572bde8f45ea9eec16f82bafa19ad8c31814c49d6ccf2e3d0a1d279191548e420d3d15d55d
blaze-smith470pm added a commit to blaze-smith470pm/corepc that referenced this pull request Sep 26, 2025
…test

e071183e45a2a0e1937a433007f4617ff9de6f50 Format code changes (GideonBature)
9753048ff14b7a3e4677c11b9cd229b357aaef79 Implement setnetworkactive method and test (GideonBature)

Pull request description:

  The JSON-RPC method `setnetworkactive` does return a boolean. We want to test this to catch any changes in behavior in future Core versions.

  This PR adds a client function that errors if the return value is anything other than `boolean`, along with an integration test that calls this function.

  Ref: [#116](rust-bitcoin/corepc#116)

ACKs for top commit:
  tcharding:
    ACK e071183e45a2a0e1937a433007f4617ff9de6f50

Tree-SHA512: 8a1a4f82da9cceeb2b7cb525893337fbe76595a5377887811831a4ee43962fe47b7c3c58e19ee545ad19a9e39ea08a5a1534fa3f9a61af52bcc695ce4981a388
blaze-smith470pm added a commit to blaze-smith470pm/corepc that referenced this pull request Sep 26, 2025
5d6b977a656911b0f0131091e65e74ea1f5b6300 Implement abandontransaction and test (GideonBature)

Pull request description:

  The JSON-RPC method `abandontransaction` does return null. We want to test this to catch any changes in behavior in future Core versions.

  This PR adds a client function that errors if the return value is anything other than `null`, along with an integration test that calls this function.

  Ref: [#116](rust-bitcoin/corepc#116)

ACKs for top commit:
  jamillambert:
    ACK 5d6b977a656911b0f0131091e65e74ea1f5b6300
  tcharding:
    ACK 5d6b977a656911b0f0131091e65e74ea1f5b6300

Tree-SHA512: 4801603b099f0fd04fd234dced71318e619cb201a22cb801140010cc88ce4ed316e372718c8c475b52e4caed8ce7cf8676b5197838953ee35e6c5482920b49ca
blaze-smith470pm added a commit to blaze-smith470pm/corepc that referenced this pull request Sep 26, 2025
4b4e0840dd37d7da60af329fbc24dad4c798b3a9 Implement importprivkey and test (GideonBature)

Pull request description:

  The JSON-RPC method `importprivkey` does return null. We want to test this to catch any changes in behavior in future Core versions.

  This PR adds a client function that errors if the return value is anything other than `null`, along with an integration test that calls this function.

  Ref: [#116](rust-bitcoin/corepc#116)

ACKs for top commit:
  tcharding:
    ACK 4b4e0840dd37d7da60af329fbc24dad4c798b3a9

Tree-SHA512: 9a506b8b250d55099027241c53b2fa169f73cb988e92667c7dcb10ab30f63c14462b6501db40b595129be39a8f1e9d07581e53dcea02154f2249924c013c981c
blaze-smith470pm added a commit to blaze-smith470pm/corepc that referenced this pull request Sep 26, 2025
9a24cfd8715ee4a45a96d392e0f1146c932eb1ac Format code (GideonBature)
5decd11c4c1823ebbf7d4ddddb271e0602da23ee Implement abortrescan method and test (GideonBature)

Pull request description:

  The JSON-RPC method `abortrescan` does return a type. We want to test this to catch any changes in behavior in future Core versions.

  This PR adds a client function that errors if the return value is anything other than the type it returns, along with an integration test that calls this function.

  Ref: [#116](rust-bitcoin/corepc#116)

ACKs for top commit:
  jamillambert:
    ACK 9a24cfd8715ee4a45a96d392e0f1146c932eb1ac
  tcharding:
    ACK 9a24cfd8715ee4a45a96d392e0f1146c932eb1ac

Tree-SHA512: 1c5c58fc482691e7354d5ea61398b7bf37bae3b16578305d70ac8eb57c222c57102d12da7ab340b59faa49f2e1977259cadaa519917137b646bb0a64f03df54c
blaze-smith470pm added a commit to blaze-smith470pm/corepc that referenced this pull request Sep 26, 2025
f76918a186f935dc0da65b4b74ed645f59b137f7 Format code (GideonBature)
99751f6a02005d63d1d7e47cb3055b22b69745e9 Implement listbanned method and test (GideonBature)

Pull request description:

  The JSON-RPC method `listbanned` does return a type. We want to test this to catch any changes in behavior in future Core versions.

  This PR adds a client function that errors if the return value is anything other than the type it returns, along with an integration test that calls this function.

  Ref: [#116](rust-bitcoin/corepc#116)

ACKs for top commit:
  jamillambert:
    ACK f76918a186f935dc0da65b4b74ed645f59b137f7
  tcharding:
    ACK f76918a186f935dc0da65b4b74ed645f59b137f7

Tree-SHA512: e7b5ad83a485ed4ea98fdda2d7eaa52ce13af506f0444e0a0b666331b321125c043fe31545745e2c357c625618f0c034cf2191c74cd1a669217c574f6316d17a
blaze-smith470pm added a commit to blaze-smith470pm/corepc that referenced this pull request Sep 26, 2025
8c14cd08d56af8e5dae51895bfe2e83f47845589 Implement backupwallet method and test (GideonBature)

Pull request description:

  The JSON-RPC method `backupwallet` does return null. We want to test this to catch any changes in behavior in future Core versions.

  This PR adds a client function that errors if the return value is anything other than `null`, along with an integration test that calls this function.

  Ref: [#116](rust-bitcoin/corepc#116)

ACKs for top commit:
  tcharding:
    ACK 8c14cd08d56af8e5dae51895bfe2e83f47845589

Tree-SHA512: ee68c57b2e8be5c10408b7e21f05d477429d20bcd6a6e4758a933f6607f277f6d4cca825885cca1780524761ffe89c2ad64866bee76d5b934f27807efc0f2626
blaze-smith470pm added a commit to blaze-smith470pm/corepc that referenced this pull request Sep 26, 2025
e513cbe112096cd1dcfd7230dac6c420c614d1bb Format code changes (GideonBature)
2d469bfd479a6797df624c506aaad069ce2515cf Implement encryptwallet method and test (GideonBature)

Pull request description:

  The JSON-RPC method `encryptwallet` does return a type. We want to test this to catch any changes in behavior in future Core versions.

  This PR adds a client function that errors if the return value is anything other than the type it returns, along with an integration test that calls this function.

  Ref: [#116](rust-bitcoin/corepc#116)

ACKs for top commit:
  jamillambert:
    ACK e513cbe112096cd1dcfd7230dac6c420c614d1bb
  tcharding:
    ACK e513cbe112096cd1dcfd7230dac6c420c614d1bb

Tree-SHA512: 276126a1b80ba96aa5b1c4ef48e47288188a0e2c94e323b190a498feb322e9d6157d86175aa60bb133fa96feeac8e96ba042f7368bd0e63cf73d6dcebc6a0d78
blaze-smith470pm added a commit to blaze-smith470pm/corepc that referenced this pull request Sep 26, 2025
859ec74c8fcd956bcde8479ca76b4851f2e32428 Implement importaddress method and test (GideonBature)

Pull request description:

  The JSON-RPC method `importaddress` does return null. We want to test this to catch any changes in behavior in future Core versions.

  This PR adds a client function that errors if the return value is anything other than `null`, along with an integration test that calls this function.

  Ref: [#116](rust-bitcoin/corepc#116)

ACKs for top commit:
  jamillambert:
    ACK 859ec74c8fcd956bcde8479ca76b4851f2e32428
  tcharding:
    ACK 859ec74c8fcd956bcde8479ca76b4851f2e32428

Tree-SHA512: 1a4c4eceba4f7e7adb2928b50ea7ce42116388522874df2eb4179b7330370376f8f9db0b91b6f71633258a0ea5a95292221a0f2d6e162b2a44dd14fff72b9b10
blaze-smith470pm added a commit to blaze-smith470pm/corepc that referenced this pull request Sep 26, 2025
4eef869d9dc9b4bf5069140485dc26055da5db4e Format code (GideonBature)
e6d00b903c3980c5b4ad707d414bfdf649aeb182 Implement importprunedfunds and test (GideonBature)

Pull request description:

  The JSON-RPC method `importprunedfunds` does not return anything. We want to test this to catch any changes in behavior in future Core versions.

  This PR adds a client function that errors if the return value is anything other than `null`, along with an integration test that calls this function.

  Ref: [#116](rust-bitcoin/corepc#116)

ACKs for top commit:
  tcharding:
    ACK 4eef869d9dc9b4bf5069140485dc26055da5db4e

Tree-SHA512: a589ac5cefd2510546e1621c268d10d223727d76c4dce05689de4f5a894bd653857a8ea537f5b345fdfa990479db05eb400aa2d91c1dc5ec8c37e7b0deddc657
blaze-smith470pm added a commit to blaze-smith470pm/corepc that referenced this pull request Sep 26, 2025
1430723d36f4531132de0abd761e01ebb8c0a566 Implement importpubkey method and test (GideonBature)

Pull request description:

  The JSON-RPC method `importpubkey` does not return anything. We want to test this to catch any changes in behavior in future Core versions.

  This PR adds a client function that errors if the return value is anything other than `null`, along with an integration test that calls this function.

  Ref: [#116](rust-bitcoin/corepc#116)

ACKs for top commit:
  tcharding:
    ACK 1430723d36f4531132de0abd761e01ebb8c0a566

Tree-SHA512: 06ed71c3636a386d7b90750fdea74b846a8514b68066bd44d5b71c7300a20e023729ad944871da57d6f3bf33cabb8cdebf7359ac1c1acc9a00a7f938be168b54
blaze-smith470pm added a commit to blaze-smith470pm/corepc that referenced this pull request Sep 26, 2025
ec244207f7380d827c84a822fb1e57c14f051159 Format code (GideonBature)
4667b26620668f121d6873fc88267829473502bd Implement importmulti method and test (GideonBature)

Pull request description:

  The JSON-RPC method `importmulti` does return a type. We want to test this to catch any changes in behavior in future Core versions.

  This PR adds a client function that errors if the return value is anything other than the type it returns, along with an integration test that calls this function.

  Ref: [#116](rust-bitcoin/corepc#116)

ACKs for top commit:
  tcharding:
    ACK ec244207f7380d827c84a822fb1e57c14f051159

Tree-SHA512: 97294e566586bd51e05042be06ca169272689b131510a239682dc6bade95eb87acbf9d86553cba1e06e3554389402b0525bd925eb5ee2c5ceb71d9a6aa4208eb
blaze-smith470pm added a commit to blaze-smith470pm/corepc that referenced this pull request Sep 26, 2025
c62b4d23ab0372bb64c99b70382708c0476837df Implement importwallet method and test (GideonBature)

Pull request description:

  The JSON-RPC method `importwallet` does not return anything. We want to test this to catch any changes in behavior in future Core versions.

  This PR adds a client function that errors if the return value is anything other than `null`, along with an integration test that calls this function.

  Ref: [#116](rust-bitcoin/corepc#116)

ACKs for top commit:
  tcharding:
    ACK c62b4d23ab0372bb64c99b70382708c0476837df

Tree-SHA512: efb9e543ec9796badf0d781e841cb54025f975425f9bc7e6183b51e3de06cd78fdc23e6f98ddcd17d6f8e4a6a36f2dcbb5f5ed1da9b28e68713c4b5076a7c509
blaze-smith470pm added a commit to blaze-smith470pm/corepc that referenced this pull request Sep 26, 2025
f42ff9b1d20990083060c0ad61cef142ec60efd4 Implement keypoolrefill method and test (GideonBature)

Pull request description:

  The JSON-RPC method `keypoolrefill` does not return anything. We want to test this to catch any changes in behavior in future Core versions.

  This PR adds a client function that errors if the return value is anything other than `null`, along with an integration test that calls this function.

  Ref: [#116](rust-bitcoin/corepc#116)

ACKs for top commit:
  tcharding:
    ACK f42ff9b1d20990083060c0ad61cef142ec60efd4

Tree-SHA512: f1b632b718e36836092b25814a9073e0acf9ba2d34db72a6541c3bc4407e34b81673d9bbb180f067ff04421fa3f2ada3bd4d2fcea78363d9650155b80392ec9e
blaze-smith470pm added a commit to blaze-smith470pm/corepc that referenced this pull request Sep 26, 2025
045b25e2eda189a032bbadee4e24115d5cbb464e Format code (GideonBature)
98ea4be1eacba495fcb7aba30a9e7ed70b0e49b1 Implement lockunspent method and test (GideonBature)

Pull request description:

  The JSON-RPC method `lockunspent` does return a type. We want to test this to catch any changes in behavior in future Core versions.

  This PR adds a client function that errors if the return value is anything other than the type it returns, along with an integration test that calls this function.

  Ref: [#116](rust-bitcoin/corepc#116)

ACKs for top commit:
  tcharding:
    ACK 045b25e2eda189a032bbadee4e24115d5cbb464e

Tree-SHA512: 2a927892fbde9f2a332578afe26439843923ff5930439a6eb4533845e8d7d9235bba3d02ecc60df3b428f63a7ecba177ee53fecb283e66973e13d4182acad0d8
blaze-smith470pm added a commit to blaze-smith470pm/corepc that referenced this pull request Sep 26, 2025
… test

1fa1026171c7d19772c4e9b8b72e80d551293c90 Implement removeprunedfunds method and test (GideonBature)

Pull request description:

  The JSON-RPC method `removeprunedfunds` does not return anything. We want to test this to catch any changes in behavior in future Core versions.

  This PR adds a client function that errors if the return value is anything other than `null`, along with an integration test that calls this function.

  Ref: [#116](rust-bitcoin/corepc#116)

ACKs for top commit:
  tcharding:
    ACK 1fa1026171c7d19772c4e9b8b72e80d551293c90

Tree-SHA512: 310b0717bd27e4ee908729b1d49efd3b0a06cd5d59d1e62d117122cb689577557460824d77c8549961feb5552155b19bb89eaccd540c2552458c731817008de3
blaze-smith470pm added a commit to blaze-smith470pm/corepc that referenced this pull request Sep 26, 2025
cce7153974dc432669e2324806e9802be8155d40 Implement sethdseed method and test (GideonBature)

Pull request description:

  The JSON-RPC method `sethdseed` does not return anything. We want to test this to catch any changes in behavior in future Core versions.

  This PR adds a client function that errors if the return value is anything other than `null`, along with an integration test that calls this function.

  Ref: [#116](rust-bitcoin/corepc#116)

ACKs for top commit:
  tcharding:
    ACK cce7153974dc432669e2324806e9802be8155d40

Tree-SHA512: 73fdb4b5df21a7318b91262b18f70f90366b3269b5d1ad3352aa82a43983bd47b4af3dc281ddfcdc2627c38b8399a6816169b5fc72205f78239401f17c2e7824
blaze-smith470pm added a commit to blaze-smith470pm/corepc that referenced this pull request Sep 26, 2025
52e1b533e77fb7a0e3ccacd3cf66ad497ba550f9 Format code (GideonBature)
8a72e1f67ab9aa85ffffcb91f593f8dadec420ff Implement settxfee method and test (GideonBature)

Pull request description:

  The JSON-RPC method `settxfee` does return a type. We want to test this to catch any changes in behavior in future Core versions.

  This PR adds a client function that errors if the return value is anything other than the type it returns, along with an integration test that calls this function.

  Ref: [#116](rust-bitcoin/corepc#116)

ACKs for top commit:
  jamillambert:
    ACK 52e1b533e77fb7a0e3ccacd3cf66ad497ba550f9
  tcharding:
    ACK 52e1b533e77fb7a0e3ccacd3cf66ad497ba550f9

Tree-SHA512: 17dfeaa0ddfeb5aaa5007759d6f025c142418026e943312c4fdfddd9a7f7105adc34951e50ee861eb9038db091f6c3760432f05cdaa3a2d7c3c5aed193d9c9ae
blaze-smith470pm added a commit to blaze-smith470pm/corepc that referenced this pull request Sep 26, 2025
22acb266f61e495b5ae648a8a5b854c1c3f07147 Implement walletlock method and test (GideonBature)

Pull request description:

  The JSON-RPC method `walletlock` does not return anything. We want to test this to catch any changes in behavior in future Core versions.

  This PR adds a client function that errors if the return value is anything other than `null`, along with an integration test that calls this function.

  Ref: [#116](rust-bitcoin/corepc#116)

ACKs for top commit:
  jamillambert:
    ACK 22acb266f61e495b5ae648a8a5b854c1c3f07147
  tcharding:
    ACK 22acb266f61e495b5ae648a8a5b854c1c3f07147

Tree-SHA512: 6c339d362b49b03392bfb5a122cabf9220579cf88a7278f003784859123915d5e0e741364cc2c769a48350ac32e59a297c2c7c1af999ffa1c7bc2b586c199453
blaze-smith470pm added a commit to blaze-smith470pm/corepc that referenced this pull request Sep 26, 2025
…test

86b06c5c2c5f48e1255f00acab32c6f8aacac12f Implement walletpassphrase method and test (GideonBature)

Pull request description:

  The JSON-RPC method `walletpassphrase` does not return anything. We want to test this to catch any changes in behavior in future Core versions.

  This PR adds a client function that errors if the return value is anything other than `null`, along with an integration test that calls this function.

  Ref: [#116](rust-bitcoin/corepc#116)

ACKs for top commit:
  jamillambert:
    ACK 86b06c5c2c5f48e1255f00acab32c6f8aacac12f
  tcharding:
    ACK 86b06c5c2c5f48e1255f00acab32c6f8aacac12f

Tree-SHA512: 54a44b8084ec3a5395e1cbf175a56aaa143b9ff97396b491159ee703497ac956ff8b8726d400cecf472d0ff87f0cc31365529856e6b9e24ad66e3a3c514bd524
blaze-smith470pm added a commit to blaze-smith470pm/corepc that referenced this pull request Sep 26, 2025
…d and test

75f8e9eedbfe31b999813091db48a917d8767bcc Implement walletpassphrasechange method and test (GideonBature)

Pull request description:

  The JSON-RPC method `walletpassphrasechange` does not return anything. We want to test this to catch any changes in behavior in future Core versions.

  This PR adds a client function that errors if the return value is anything other than `null`, along with an integration test that calls this function.

  Ref: [#116](rust-bitcoin/corepc#116)

ACKs for top commit:
  jamillambert:
    ACK 75f8e9eedbfe31b999813091db48a917d8767bcc
  tcharding:
    ACK 75f8e9eedbfe31b999813091db48a917d8767bcc

Tree-SHA512: 1152bfaf0ae2db7c8c76446ed0942c14ac8956d58a1cc5538311560c97f2bc092a3a9f8c7ce023aa8430df87ced7e4e528dd530a031cddc03ffdf2ee06ac4ef0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Implement version specific types for status 'omitted' methods

2 participants