I'll need more time to actually review this, but it's clear that the API is not what you'd expect.
- Queries
- All Stories
- Search
- Advanced Search
- Transactions
- Transaction Logs
All Stories
Jun 16 2019
Build Bitcoin-ABC / Diffs / Bitcoin-ABC Diff Testing passed.
IBD testing done
Build Bitcoin-ABC / Diffs / Bitcoin-ABC Diff Testing started.
update the functional test per my last comment; we can't properly test 64 byte ECDSA here,
but we can test the multisig length check banning.
Jun 15 2019
Build Bitcoin-ABC / Diffs / Bitcoin-ABC Diff Testing passed.
Build Bitcoin-ABC / Diffs / Bitcoin-ABC Diff Testing started.
rebase pre-land
Build Bitcoin-ABC / Diffs / Bitcoin-ABC Diff Testing passed.
Discussions with @Fabien make it clear that this is pretty ugly behaviour, and I've forwarded this problem to Core to see if they have some solutions in mind. https://github.com/bitcoin/bitcoin/issues/16220
Build Bitcoin-ABC / Diffs / Bitcoin-ABC Diff Testing started.
add TODO comments to aid in clean backporting one day (when Core figures out
how they want to fix this)
Build Bitcoin-ABC / Diffs / Bitcoin-ABC Diff Testing passed.
Build Bitcoin-ABC / Diffs / Bitcoin-ABC Diff Testing started.
Add an exception for the crypto/ctaes/ctaes.c include in crypto.aes.cpp.
This is a 5% performance increase, not a regression. Anyway, I discard it.
Build Bitcoin-ABC / Diffs / Bitcoin-ABC Diff Testing passed.
Build Bitcoin-ABC / Diffs / Bitcoin-ABC Diff Testing started.
keep functional test same name to allow diff to show properly
Build Bitcoin-ABC / Diffs / Bitcoin-ABC Diff Testing passed.
Build Bitcoin-ABC / Diffs / Bitcoin-ABC Diff Testing started.
Removed #include <amount.h> from core_io.h and changed ValueFromAmount() to pass amount by value rather than pass by reference.
In D3344#78993, @deadalnix wrote:developer notes are missing.
developer notes are missing.
Build Bitcoin-ABC / Diffs / Bitcoin-ABC Diff Testing passed.
Also I find it a bit odd that we have a known error that triggers UNKNOWN_ERROR (this is because it works by throwing an exception instead of doing the usual s_error mechanism). Would be good to make it clearer, but that can be a separate diff.
Build Bitcoin-ABC / Diffs / Bitcoin-ABC Diff Testing passed.
Build Bitcoin-ABC / Diffs / Bitcoin-ABC Diff Testing started.
Build Bitcoin-ABC / Diffs / Bitcoin-ABC Diff Testing started.
Removed extra include in core_write.cpp and bracketed include in core_io.h.
Jun 14 2019
You prevent any inlining here. This is why you get 5% perf regression. Don't do this.
Build Bitcoin-ABC / Diffs / Bitcoin-ABC Diff Testing passed.
Build Bitcoin-ABC / Diffs / Bitcoin-ABC Diff Testing started.
Build Bitcoin-ABC / Diffs / Bitcoin-ABC Diff Testing passed.
Build Bitcoin-ABC / Diffs / Bitcoin-ABC Diff Testing passed.
Build Bitcoin-ABC / Diffs / Bitcoin-ABC Diff Testing started.
Build Bitcoin-ABC / Diffs / Bitcoin-ABC Diff Testing passed.
Build Bitcoin-ABC / Diffs / Bitcoin-ABC Diff Testing started.
Build Bitcoin-ABC / Diffs / Bitcoin-ABC Diff Testing started.
- Added sanity checks at various steps in the seed updating process
- Added basic error checking
- Added ability to skip one set of seeds if it fails
Build Bitcoin-ABC / Diffs / Bitcoin-ABC Diff Testing passed.
Build Bitcoin-ABC / Diffs / Bitcoin-ABC Diff Testing started.
Build Bitcoin-ABC / Diffs / Bitcoin-ABC Diff Testing passed.
Build Bitcoin-ABC / Diffs / Bitcoin-ABC Diff Testing passed.
Build Bitcoin-ABC / Diffs / Bitcoin-ABC Diff Testing started.
Calculate descendant maximum thoroughly
This was the state of Core when this backport was landed: https://github.com/instagibbs/bitcoin/blob/666597798c07d9df06681be63d2b2f51f0d5ca8a/src/wallet/rpcwallet.cpp
The important point to note is the array on line 2997. The difference from our code right now comes from an out of order backport here: https://reviews.bitcoinabc.org/D1986. The original PR for D1986 was landed in Core on March 22, 2018. The PR for this patch was originally landed in Core on March 1, 2017.
Core does not have getlabeladdress, getreceivedbylabel, listreceivedbylabel, setlabel. Reading some of the discussion related to this PR (https://github.com/bitcoin/bitcoin/pull/9894, https://github.com/bitcoin/bitcoin/pull/11536, and https://github.com/bitcoin/bitcoin/pull/12892), it appears the RPCs went from label to account in Core:
Build Bitcoin-ABC / Diffs / Bitcoin-ABC Diff Testing started.
Build Bitcoin-ABC / Diffs / Bitcoin-ABC Diff Testing passed.
Build Bitcoin-ABC / Diffs / Bitcoin-ABC Diff Testing started.
Don't filter c files.
I ran the benchmark from D3341 and get the following results:
- There is no obvious performance difference using Clang 6.0.0
- There is a low performance improvement with GCC 7.4.0 (~5%)
Build Bitcoin-ABC / Diffs / Bitcoin-ABC Diff Testing passed.