💬 romanz commented on pull request "rest: fetch spent transaction outputs by blockhash":
(https://github.com/bitcoin/bitcoin/pull/32540#discussion_r2107774051)
> but we'd have to change the binary format here to skip over the empty 0 entry for the coinbase?
Yes - I'll adapt this PR to return the undo data from storage (with as little overhead as possible).
Indeed, the binary format will be `vector<vector<Coin>>`[^1], for the all block's transactions (except the first one).
[^1]: https://github.com/bitcoin/bitcoin/blob/638a4c0bd8b53766faeb437244b2aae4eed28dcf/src/undo.h#L51-L68
(https://github.com/bitcoin/bitcoin/pull/32540#discussion_r2107774051)
> but we'd have to change the binary format here to skip over the empty 0 entry for the coinbase?
Yes - I'll adapt this PR to return the undo data from storage (with as little overhead as possible).
Indeed, the binary format will be `vector<vector<Coin>>`[^1], for the all block's transactions (except the first one).
[^1]: https://github.com/bitcoin/bitcoin/blob/638a4c0bd8b53766faeb437244b2aae4eed28dcf/src/undo.h#L51-L68
💬 DanGould commented on pull request "[Draft/POC] Add secp256k1-based HPKE (Hybrid Public Key Encryption) For Payjoin v2":
(https://github.com/bitcoin/bitcoin/pull/32617#issuecomment-2910492898)
The main reason for the Bitcoin Core wallet to support payjoin directly is to reduce the number of necessary dependencies for those already using the core wallet. In particular rust-payjoin requires TLS and rust implementations of cryptographic primatives that core could avoid with a bespoke implementation.
(https://github.com/bitcoin/bitcoin/pull/32617#issuecomment-2910492898)
The main reason for the Bitcoin Core wallet to support payjoin directly is to reduce the number of necessary dependencies for those already using the core wallet. In particular rust-payjoin requires TLS and rust implementations of cryptographic primatives that core could avoid with a bespoke implementation.
📝 romanz converted_to_draft a pull request: "rest: fetch spent transaction outputs by blockhash"
(https://github.com/bitcoin/bitcoin/pull/32540)
Today, it is possible to fetch a block's spent prevouts in order to build an external index by using the `/rest/block/BLOCKHASH.json` endpoint. However, its performance is low due to JSON serialization overhead.
We can significantly optimize it by adding a new [REST API](https://github.com/bitcoin/bitcoin/blob/master/doc/REST-interface.md) endpoint, using a binary response format (returning a collection of spent txout lists, one per each block transaction):
```
$ BLOCKHASH=000000000000000
...
(https://github.com/bitcoin/bitcoin/pull/32540)
Today, it is possible to fetch a block's spent prevouts in order to build an external index by using the `/rest/block/BLOCKHASH.json` endpoint. However, its performance is low due to JSON serialization overhead.
We can significantly optimize it by adding a new [REST API](https://github.com/bitcoin/bitcoin/blob/master/doc/REST-interface.md) endpoint, using a binary response format (returning a collection of spent txout lists, one per each block transaction):
```
$ BLOCKHASH=000000000000000
...
📝 achow101 converted_to_draft a pull request: "wallet: Remove watchonly behavior and isminetypes"
(https://github.com/bitcoin/bitcoin/pull/32523)
Descriptor wallets do not use the watchonly behavior as it is not possible to mix watchonly and non-watchonly in a descriptor wallet. With legacy wallets now removed, all of the watchonly handling and reporting code is no longer needed. This PR removes watchonly options and results from the RPCs and the handling of watchonly things from the wallet's internals.
Additionally, ISMINE_USED is removed as its use is only as a filter for cached balances. This PR changes the caching to utilize bools
...
(https://github.com/bitcoin/bitcoin/pull/32523)
Descriptor wallets do not use the watchonly behavior as it is not possible to mix watchonly and non-watchonly in a descriptor wallet. With legacy wallets now removed, all of the watchonly handling and reporting code is no longer needed. This PR removes watchonly options and results from the RPCs and the handling of watchonly things from the wallet's internals.
Additionally, ISMINE_USED is removed as its use is only as a filter for cached balances. This PR changes the caching to utilize bools
...
📝 achow101 opened a pull request: "wallet: Remove ISMINE_WATCHONLY and watchonly from RPCs"
(https://github.com/bitcoin/bitcoin/pull/32618)
Descriptor wallets do not use the watchonly behavior as it is not possible to mix watchonly and non-watchonly in a descriptor wallet. With legacy wallets now removed, all of the watchonly handling and reporting code is no longer needed. This PR removes watchonly options and results from the RPCs and the handling of watchonly things from the wallet's internals.
With all of the watchonly things removed, ISMINE_WATCH_ONLY is removed as well.
Split from #32523
Depends on #32594 for tests th
...
(https://github.com/bitcoin/bitcoin/pull/32618)
Descriptor wallets do not use the watchonly behavior as it is not possible to mix watchonly and non-watchonly in a descriptor wallet. With legacy wallets now removed, all of the watchonly handling and reporting code is no longer needed. This PR removes watchonly options and results from the RPCs and the handling of watchonly things from the wallet's internals.
With all of the watchonly things removed, ISMINE_WATCH_ONLY is removed as well.
Split from #32523
Depends on #32594 for tests th
...
💬 achow101 commented on pull request "wallet: Remove watchonly behavior and isminetypes":
(https://github.com/bitcoin/bitcoin/pull/32523#discussion_r2107792280)
I've added a test and a fix for this in #32618
(https://github.com/bitcoin/bitcoin/pull/32523#discussion_r2107792280)
I've added a test and a fix for this in #32618
💬 ismaelsadeeq commented on pull request "fee estimate test: fix #31944 by handling a legitimate scenario that …":
(https://github.com/bitcoin/bitcoin/pull/32615#discussion_r2107794067)
I'll prefer the approach I suggested.
(https://github.com/bitcoin/bitcoin/pull/32615#discussion_r2107794067)
I'll prefer the approach I suggested.
💬 achow101 commented on pull request "wallet: Remove watchonly behavior and isminetypes":
(https://github.com/bitcoin/bitcoin/pull/32523#discussion_r2107795475)
Added in #32618
(https://github.com/bitcoin/bitcoin/pull/32523#discussion_r2107795475)
Added in #32618
💬 brunoerg commented on pull request "log: Mitigate disk filling attacks by rate limiting LogPrintf, LogInfo, LogWarning, LogError":
(https://github.com/bitcoin/bitcoin/pull/32604#issuecomment-2910538498)
Concept ACK
(https://github.com/bitcoin/bitcoin/pull/32604#issuecomment-2910538498)
Concept ACK
💬 achow101 commented on pull request "wallet: Remove watchonly behavior and isminetypes":
(https://github.com/bitcoin/bitcoin/pull/32523#discussion_r2107808053)
Done in #32618
(https://github.com/bitcoin/bitcoin/pull/32523#discussion_r2107808053)
Done in #32618
💬 achow101 commented on pull request "wallet: Remove watchonly behavior and isminetypes":
(https://github.com/bitcoin/bitcoin/pull/32523#discussion_r2107808368)
Done
(https://github.com/bitcoin/bitcoin/pull/32523#discussion_r2107808368)
Done
💬 achow101 commented on pull request "wallet: Remove watchonly behavior and isminetypes":
(https://github.com/bitcoin/bitcoin/pull/32523#discussion_r2107808434)
Done
(https://github.com/bitcoin/bitcoin/pull/32523#discussion_r2107808434)
Done
💬 achow101 commented on pull request "wallet: Remove watchonly behavior and isminetypes":
(https://github.com/bitcoin/bitcoin/pull/32523#discussion_r2107808508)
Done
(https://github.com/bitcoin/bitcoin/pull/32523#discussion_r2107808508)
Done
💬 achow101 commented on pull request "wallet: Remove watchonly behavior and isminetypes":
(https://github.com/bitcoin/bitcoin/pull/32523#discussion_r2107808623)
Done
(https://github.com/bitcoin/bitcoin/pull/32523#discussion_r2107808623)
Done
💬 achow101 commented on pull request "wallet: Remove watchonly behavior and isminetypes":
(https://github.com/bitcoin/bitcoin/pull/32523#discussion_r2107808659)
Done
(https://github.com/bitcoin/bitcoin/pull/32523#discussion_r2107808659)
Done
💬 achow101 commented on pull request "wallet: Remove watchonly behavior and isminetypes":
(https://github.com/bitcoin/bitcoin/pull/32523#discussion_r2107808706)
Done
(https://github.com/bitcoin/bitcoin/pull/32523#discussion_r2107808706)
Done
💬 achow101 commented on pull request "wallet: Remove watchonly behavior and isminetypes":
(https://github.com/bitcoin/bitcoin/pull/32523#discussion_r2107808810)
Done
(https://github.com/bitcoin/bitcoin/pull/32523#discussion_r2107808810)
Done
💬 achow101 commented on pull request "wallet: Remove watchonly behavior and isminetypes":
(https://github.com/bitcoin/bitcoin/pull/32523#issuecomment-2910550733)
> maybe the first 4 commits can be a separate PR that removes the watch only stuff separately
I've split those commits into #32618
(https://github.com/bitcoin/bitcoin/pull/32523#issuecomment-2910550733)
> maybe the first 4 commits can be a separate PR that removes the watch only stuff separately
I've split those commits into #32618
💬 jonatack commented on pull request "blocks: avoid recomputing block header hash in `ReadBlock`":
(https://github.com/bitcoin/bitcoin/pull/32487#discussion_r2107820363)
> Would it help if we included the two different hashes in the error?
Sure, why not, since we have them available.
(https://github.com/bitcoin/bitcoin/pull/32487#discussion_r2107820363)
> Would it help if we included the two different hashes in the error?
Sure, why not, since we have them available.
💬 achow101 commented on pull request "wallet: init, don't error out when loading legacy wallets":
(https://github.com/bitcoin/bitcoin/pull/32449#issuecomment-2910573702)
ACK 86e1111239cdb39dd32cfb5178653c608fa30515
(https://github.com/bitcoin/bitcoin/pull/32449#issuecomment-2910573702)
ACK 86e1111239cdb39dd32cfb5178653c608fa30515