Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge upstream #9

Open
wants to merge 62 commits into
base: master
Choose a base branch
from
Open

Merge upstream #9

wants to merge 62 commits into from

Conversation

lorenzolfm
Copy link

No description provided.

0xB10C and others added 30 commits May 4, 2021 11:34
PR rust-bitcoin#163 implemented support for getblocktemplate. However, during the
implementation the version_bits_available HashMap the map fields were
switched.

This became apparent during testing against a v0.21.1 Bitcoin
Core node, which includes support for the Taproot softfork via
the 2nd version bit. Previously, no softfork was defined.

```
$ bitcoin-cli getblocktemplate "{\"rules\": [\"segwit\"]}"
...
  "vbavailable": {
    "taproot": 2
  },
...

```
This adds support for the verbose version of the getrawmempool RPC.
* Issue
Currently, get_wallet_info() fails when used with descriptor wallets.

* Cause
Bitcoin Core's getwalletinfo command produces a result which sometimes
includes a field called "keypoololdest".

Currently, default wallets have the key but descriptor wallets do not.

* Solution
Making keypool_oldest optional allows this create to produce the correct
results when operating with descriptor wallets.
For some reason `integration_test/src/main.rs` has formatting issues, no
clue how this got past CI.

Run `cargo fmt`.
The rust-bitcoin stack is moving towards an MSRV of 1.41.1

In preparation for updating our MSRV from 1.29 to 1.41.1 update the
README, test script, and CI pipeline to reflect the change.
Use cargo to upgrade from edition 2015 to edition 2018.

cargo fix --edition

No manual changes made. The result of the command above is just to fix
all the use statements by adding `crate::`.
Add `edition = "2018"` to each of the three subcrate manifest files.
Fix `::serde` imports and remove some of the unnecessary instances of
`extern crate Foo`.
Remove String conversion in README example.
Update `get_tx_out_set_info` to Core 22.0+
Upgrade `rust-bitcoin` dependency to the newly released
version (0.29.0). Includes fixing newly deprecated APIs.
Add release notes and increase the crate minor version to 0.16.0

Justified because we just bumped the `rust-bitcoin` minor version.
86278c0 Add 'submitblock' RPC call. (Elias Rohrer)

Pull request description:

  I added two methods to submit raw and hex-encoded blocks via RPC calls.

  Submitting blocks works, as tested in regtest mode. However, in case of success it currently yields the `Result`:

  ```
  Err(JsonRpc(Json(Error("invalid type: null, expected a string", line: 0, column: 0))))
  ```

  I think this happens because `submitblock` returns `null` in case of success (see [BIP022](https://github.com/bitcoin/bips/blob/master/bip-0022.mediawiki)).

  Any suggestions how I should handle that?

ACKs for top commit:
  shesek:
    ACK 86278c0. Would be great to have this in :)

Tree-SHA512: 7b8632fef5e829a8a9923adddeaf80e51c236dcd2963f147f7ca620aff00c0c1e84bdd2ffdf74263ece224c2e330774da5d070a674cf4c7e4235de5f25c6dd8a
5128bb2 changelog: Add remaining 0.16.0 items (Steven Roose)

Pull request description:

ACKs for top commit:
  RCasatta:
    ACK 5128bb2

Tree-SHA512: 8b2160acd2524ab76e9903c53f2ea79c847d90b0bbb0615eaf12ac12654bc57c0a00c4c702ce0e7c83201edfa9667500c493465feecb099b8418ead3b71afbfd
Since `HexIterator` is `Read` we can feed him directly to `consensus_decode`
without the intermediate step of converting the hex string to `Vec<u8>`
Bump our `jsonrpc` dependency to the latest version v0.13.0
Deserialize hexes without allocating intermediate `Vec<u8>`
Fix redundant semicolon warning during build.
apoelstra and others added 30 commits November 24, 2022 14:46
13bd5d3 cargo fmt (thesimplekid)

Pull request description:

  Saw you merged rust-bitcoin#257 but figured I would run format all as you mentioned anyway.
  rust-bitcoin#257 (comment)

ACKs for top commit:
  apoelstra:
    ACK 13bd5d3

Tree-SHA512: b2dc500fc036a763a77a7340b528a5973b62d44a672bb4d0fd3bc1c42a66886d77d92f159fa8897fa037b6988f918e36174633de93dfaed19a03c3f4517c91c0
541e99f Resolve unneeded semi-colon warning on rust 1.51 (Pasta)

Pull request description:

  Edit: I think test failure https://travis-ci.org/github/rust-bitcoin/rust-bitcoincore-rpc/builds/768616575 is unrelated

ACKs for top commit:
  GeneFerneau:
    tACK [541e99f](rust-bitcoin@541e99f)
  tcharding:
    ACK 541e99f
  apoelstra:
    ACK 541e99f

Tree-SHA512: b2dc500fc036a763a77a7340b528a5973b62d44a672bb4d0fd3bc1c42a66886d77d92f159fa8897fa037b6988f918e36174633de93dfaed19a03c3f4517c91c0
1f5c57a fix: version_bits_available maps String to u32 (0xb10c)

Pull request description:

  PR rust-bitcoin#163 implemented support for `getblocktemplate`. However, during the implementation the `version_bits_available` HashMap the map fields were switched.

  This became apparent during testing against a v0.21.1 Bitcoin Core node, which includes support for the Taproot softfork via the 2nd version bit. Previously, no softfork was defined.

  ```
  $ bitcoin-cli getblocktemplate "{\"rules\": [\"segwit\"]}"
  ...
    "vbavailable": {
      "taproot": 2
    },
  ...
  ```

ACKs for top commit:
  sgeisler:
    utACK 1f5c57a
  tcharding:
    utACK 1f5c57a

Tree-SHA512: ebae449b93ca8d428e8c0e6dcbeca20765966500e3582368b1a6dc3a60e3205c507121b06a22b3e0e4091efc4828cc17dd65049afebf09695d9a5abc50b1dc5c
f8f2cef add: getrawmempool RPC verbose = true (0xb10c)

Pull request description:

  This adds support for the verbose version of the getrawmempool RPC.

ACKs for top commit:
  dunxen:
    utACK f8f2cef
  sgeisler:
    utACK f8f2cef
  tcharding:
    ACK f8f2cef
  apoelstra:
    ACK f8f2cef

Tree-SHA512: 6c3d213e318a869a37236cbf360fb12c3bef20ecd5ff54b82a28fcdfa4b66dae34bd911169febbb5a941599f77978a41db804d5c3ec4a9aaced4a13b0251ecea
…ultVoutScriptPubKey`

9023cce Add `address` field (thesimplekid)

Pull request description:

  Adds `address` field for support in bitcoin core 22 and later since `addresses` is deprecated. Keeps `addresses` field for backwards compatibility as [mentioned](rust-bitcoin#214 (comment)) in rust-bitcoin#214

ACKs for top commit:
  apoelstra:
    ACK 9023cce

Tree-SHA512: a6af066aee302e11e15b622656ed51f3062c65ebda22e39d6476db382d1c81f26ca0baa86476c3c92b2cdb1834493a4c3403a1e3a0e09bcf1d707bc9b29607f8
6bfbda2 createpsbt (thesimplekid)

Pull request description:

ACKs for top commit:
  apoelstra:
    ACK 6bfbda2

Tree-SHA512: a4f83f5d79120011c96cc275c5fc81a26b90cb2c724eba92a86302683280c2a6bc922ab1a70d905c957cef150623c915c1f813415bd8145f3a0fe44596729b60
Fixes rust-bitcoin#267. Without this variant, a call to
`client.get_blockchain_info()` likely fails on some versions of
bitcoind where other types of softfork deployments were active.
3f04a34 json: add Other variant to SoftforkType (Marko Bencun)

Pull request description:

  Fixes rust-bitcoin#267. Without this variant, a call to
  `client.get_blockchain_info()` likely fails on some versions of
  bitcoind where other types of softfork deployments were active.

ACKs for top commit:
  apoelstra:
    ACK 3f04a34
  tcharding:
    ACK 3f04a34

Tree-SHA512: d6252d6118967ac87cf26fd3caab495c16450b6e228e62d57b895438be811ac6fd05d2f1fe58ad57a6dd107e34d715c2fa408ce11da793d6e5a0af7ded5f9343
Adds `importdescriptors` rpc. `ImportMultiRescanSince` to Timestamp given it is not
being used solely for MultiRescan anymore.

Feels like `ImportMultiResult` should also be renamed, given it is now used by both `importmulti`
and `importdescriptors`. I haven't found a proper name for it though.
7a8bec6 add combine raw transaction (thesimplekid)

Pull request description:

ACKs for top commit:
  apoelstra:
    ACK 7a8bec6

Tree-SHA512: 222b93c4df45f9b99aef89446a6400f601f8409f3b391a3f6ce87bbe713c204f34f7017e746c3631187b75c398ce1eaa9f46b433b2fd11700fd36ef37e9563af
718ba56 Adds importdescriptors (Sergi Delgado Segura)

Pull request description:

  Adds `importdescriptors` rpc. I've renamed `ImportMultiRescanSince` to `Timestamp` given it is not being used solely for multi rescan anymore.

  Feels like `ImportMultiResult` should also be renamed, given it is now used by both `importmulti` and `importdescriptors`. I haven't found a proper name for it though.

ACKs for top commit:
  apoelstra:
    ACK 718ba56

Tree-SHA512: 16272acd1ef3be6b5ae52964ab1c597884c7d0d7379a81ab89fee1f1cc169d40885208c37ea761f3bc95454972774ddbee66db670c19706da2bb335b0180bb73
794d040 add `decode_raw_transaction` (thesimplekid)

Pull request description:

ACKs for top commit:
  apoelstra:
    ACK 794d040

Tree-SHA512: 7a3e7f938daf966b02d511027433babc451e814f5a01ebdda495592134e048dfe99763440e8e3f340443e99ef4502f722eb52e7073cfecca2c19ad07b01a14e7
158e7a0 Expose JsonOutPoint (Casey Rodarmor)

Pull request description:

  I'm implementing an in-memory dummy Bitcoin Core RPC server for testing. Exposing `JsonOutPoint` is necessary in order to implement `lockunspent`, which takes `JsonOutPoint`s instead of `OutPoint`s.

ACKs for top commit:
  apoelstra:
    ACK 158e7a0

Tree-SHA512: 4cec4bc9902e127296ffb06ce9c1e3784188b820053ffd00e8d12102479999f79e25ff670ab3070d2ca469a168995186afaca3e9942656ae47129eebfb4e6cee
df2ab99 Remove lifetime (Casey Rodarmor)
edfd3eb Derive Deserialize on ImportDescriptors (Casey Rodarmor)

Pull request description:

  We wound up needing `Deserialize` on `ImportDescriptors` for our mock Bitcoin Core RPC server.

ACKs for top commit:
  apoelstra:
    ACK df2ab99

Tree-SHA512: 560e4eacad8c410c80cb28a89c8c0346be3864a97545ac2d274a76d21472dc045b03f1fdb328a657757b923c8a7fec512699a2f354a6f8f8019efd71abd6fb18
d005ce9 Add AddressType::Bech32m (Casey Rodarmor)

Pull request description:

  Tested against Bitcoin Core 24.

ACKs for top commit:
  apoelstra:
    ACK d005ce9

Tree-SHA512: ad44756613cd820d8cbf8abd8b25ffadda5e7434d6428dea7c1d7170db0f21c17c9900336a665b0f199fbb62e141b259dbb0483be24d1c16b4571b8c92bf770d
078ae14 get raw change address (thesimplekid)

Pull request description:

ACKs for top commit:
  apoelstra:
    ACK 078ae14
  w0xlt:
    ACK rust-bitcoin@078ae14

Tree-SHA512: b7ca1c44ef6888caeaa7904c575bb10debc7a965cfba5b27f6bbbcb31239140184e613e755bda8408078f51ee370fb415bcc1bd7a36681ac090e22b4a5f548e0
0f1c9f8 Add getmempoolinfo (dev7ba)

Pull request description:

  I've added getmempoolinfo to the client.

ACKs for top commit:
  apoelstra:
    ACK 0f1c9f8

Tree-SHA512: 787b43a705b221d8f48e4313e682d5c0f7255ddf9d0cdf204811341c3d5117d9b3740faa43dc3abad3d6fc47efc3f772d48e2be340bfaaeb070f7566c25dfb36
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.