Commit Graph

1534 Commits

Author SHA1 Message Date
Mark Friedenbach 38e319a88f Prevent block.nTime from decreasing
Under some circumstances it is possible for there to be a significant,
discontinuous jump in a node's clock value. On mining nodes, this can
result in block templates which are no longer valid due to time-based
nLockTime constraints. UpdateTime() is modified so that it will never
decrease a block's nLockTime, thereby preventing such invalidations.

(cherry picked from commit bitcoin/bitcoin@ef8dfe41d1)

Zcash: Updated CreateNewBlock_validity test and wallet_1941 RPC test to
ensure we satisfy the future timestamp soft fork rule.
2022-12-20 08:56:15 +00:00
Suhas Daftuar ef14b8ba60 Add test showing bug in mempool packages
(cherry picked from commit bitcoin/bitcoin@598b25d5ee)
2022-12-19 05:38:49 +00:00
Suhas Daftuar b63c58500a Track transaction packages in CTxMemPoolEntry
Associate with each CTxMemPoolEntry all the size/fees of descendant
mempool transactions.  Sort mempool by max(feerate of entry, feerate
of descendants).  Update statistics on-the-fly as transactions enter
or leave the mempool.

Also add ancestor and descendant limiting, so that transactions can
be rejected if the number or size of unconfirmed ancestors exceeds
a target, or if adding a transaction would cause some other mempool
entry to have too many (or too large) a set of unconfirmed in-
mempool descendants.

(cherry picked from commit bitcoin/bitcoin@5add7a74a6)

Zcash:
- Mempool methods were adapted to our mempool changes.
- Default ancestor and descendant size limits were double to account for
  our larger block size.
- The mempool_packages RPC test fee was adapted to account for our
  emissions curve (which results in a smaller per-block reward that
  needs to be split into smaller shards for sequential transactions.
- Includes some modifications to account for us backporting
  bitcoin/bitcoin@f3fe83673e early in
  zcash/zcash#5269.
2022-12-19 05:38:43 +00:00
Kris Nuttycombe 80a1366a05
Merge pull request #6265 from sellout/any_taddr-sans-coinbase
Don’t select transparent coinbase with ANY_TADDR
2022-12-12 09:18:32 -07:00
Greg Pfeil cf720fcf0f Apply suggestions from code review
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2022-12-07 12:31:07 -07:00
Daira Hopwood e870334d04
Merge pull request #6267 from rex4539/typos
Fix typos
2022-12-06 17:39:20 +00:00
Daira Hopwood 72cef60175 Postpone updates.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-12-03 19:47:30 +00:00
Greg Pfeil 5f0681a601 Update failing tests after fixing ANY_TADDR behavior 2022-12-02 22:30:45 -07:00
Daira Hopwood b2c88861ee Bump timestamps and add libcxx/native_clang 15.0.6 in `postponed-updates.txt`.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-12-02 02:15:22 +00:00
Dimitris Apostolou 0994282019
Fix typos 2022-11-25 23:09:48 +02:00
Greg Pfeil 3de2348987 Postpone dependency updates for v5.3.1 2022-11-23 22:05:45 -07:00
Greg Pfeil f6a4f68115
Merge pull request #6122 from nuttycom/wallet/listunspent_as_of
Add `asOfHeight` argument across the RPC API
2022-11-23 21:20:20 -07:00
Greg Pfeil 368d04245d Change asOfHeight to preserve Bitcoin compat 2022-11-22 22:06:51 -07:00
Greg Pfeil 7792228bab Revert change to getbalance minconf
It was the docs that were wrong. In this case, the default `minconf` _should_ be
0 (to match upstream).
2022-11-22 16:47:40 -07:00
Greg Pfeil d444f8b586 Fix small error in code review suggestions 2022-11-22 16:47:40 -07:00
Greg Pfeil f290b9a7b4
Apply suggestions from code review
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2022-11-22 15:59:07 -07:00
Greg Pfeil 4f85307186 Add FIXMEs to repair comments after #6262 is fixed 2022-11-22 10:36:34 -07:00
Kris Nuttycombe 0a87047186
Merge pull request #6245 from sellout/wallet_accounts-formatting
Small formatting change
2022-11-22 07:55:40 -07:00
str4d b9158fe377
Merge pull request #6259 from str4d/debugmetrics
Place zcashd.debug.* metrics behind a -debugmetrics config option
2022-11-22 06:05:47 +00:00
Greg Pfeil b27fdf54fd Add matured_at_height test helper 2022-11-21 22:36:12 -07:00
Greg Pfeil 3b3f8f4cac
Apply suggestions from code review
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2022-11-21 21:15:07 -07:00
Greg Pfeil 71b5f99ede Work around #6262 in wallet_listunspent 2022-11-21 20:44:21 -07:00
Greg Pfeil 952a1ac433 Ignore mempool when asOfHeight is set
This also catches a case where the default minconf was 0 (which disagreed with
the docs), and a case where asOfHeight checked the wrong param entry.
2022-11-21 20:44:21 -07:00
str4d c267c3ee26
Merge pull request #6192 from daira/reduce-equihash-solution-memory
Reduce memory usage of CBlockIndex
2022-11-21 22:25:30 +00:00
Jack Grigg 93de2aae0e Place zcashd.debug.* metrics behind a -debugmetrics config option 2022-11-21 20:50:02 +00:00
Daira Hopwood 27ffefed12
Merge pull request #6248 from sellout/reuse-python
Avoid inconsistent Python lookup
2022-11-18 22:52:38 +00:00
Greg Pfeil d796114b2e Add additional asOfHeight tests 2022-11-18 01:20:00 -07:00
Kris Nuttycombe 2c487c9430 Add RPC test for wallet_listunspent changes 2022-11-18 01:20:00 -07:00
Daira Hopwood 3529097153 Fix a dependency of the `show_help` RPC test on the number of cores,
and an incompatibility with Python 3.9 in the test framework that
affected the `receivedby` extended RPC test.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-11-15 13:58:26 +00:00
Greg Pfeil c12fb6ad5b Avoid inconsistent Python lookup
When executing a Python script from within Python, rather than looking for
`python3` in /usr/local/bin and falling back to the script’s shebang line,
_always_ use the same Python that is executing the caller.

I don’t know why this script doesn’t just run `bitcoin_util_test.py`
directly (always using the shebang line), but I assume that is
intentional (but that should be documented). Otherwise, I’d prefer that
approach.
2022-11-14 06:37:51 -10:00
Daira Hopwood 2ee172fe15 Error reporting improvements.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-11-13 18:46:30 +00:00
Greg Pfeil 4ec2642f94 Small formatting change 2022-11-10 20:50:22 -07:00
Kris Nuttycombe e417ba89a6
Merge pull request #6211 from sellout/updatecheck-token-path
Improve token handling in the updatecheck script
2022-10-26 12:15:29 -06:00
Greg Pfeil 1296b646b3
Apply suggestions from code review
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2022-10-26 09:07:58 -06:00
Greg Pfeil 87aa33ecc4 `zcash --help` test improvements
Applying suggestions from @daira’s review of #6204.

Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2022-10-21 19:03:13 -06:00
Greg Pfeil 8e333b3f49 updatecheck: support XDG-based token location
Have updatecheck look in $XDG_DATA_HOME/zcash/updatecheck/token for the GH
token. Having one in the repo will still take precedence (for pre-existing
users, as well as if you want to override the token used in a particular
case). The new location is standardized, exists at the user level (as the token
logically does), and means that you don't need to copy files around if you get a
new clone or worktree to do a release.
2022-10-20 12:25:13 -06:00
Greg Pfeil 4c21d6f444 updatecheck: simplify token handling
- make the token optional (just will hit a rate limit after a few runs of the
  script)
- only load the token once, rather than once per request (this is necessary
  after the above change, so you don't get the warning printed repeatedly)
- switch from BasicAuth to an Authorization header (this means we no longer need
  the GitHub username, just the token)
- support a token file that doesn't contain a username (it will still parse old
  versions of the file properly)
2022-10-20 12:13:30 -06:00
Greg Pfeil 9c4bf36c45 updatecheck: fix GitHub auth
The script was accessing nonexistent vars, so auth wasn't working. Mostly not
noticable until you hit the API's unauthed request rate limit.
2022-10-20 10:48:02 -06:00
Kris Nuttycombe 06a1c78941 Certify librustzcash crate upgrades. 2022-10-20 08:35:29 -06:00
Kris Nuttycombe 2f734ce6ea Vet cxxbridge upgrade. 2022-10-19 12:21:37 -06:00
Kris Nuttycombe 05110068d9 Update and/or postpone dependencies for 5.3.0 2022-10-19 10:09:03 -06:00
Greg Pfeil 04d314d067 Apply suggestions from code review
Co-authored-by: Kris Nuttycombe <kris.nuttycombe@gmail.com>
2022-10-18 13:43:14 -06:00
Greg Pfeil 5c19487991 Add test for `zcashd --help`
Currently failing.
2022-10-18 13:42:02 -06:00
Daira Hopwood 774fa691aa Always use a tuple as right argument of % in new Python code.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-10-18 13:42:02 -06:00
Greg Pfeil 1e480d2b4d Address review feedback and fixed test failures
Some tests were checking error message strings, but the check was still
hardcoded to “bitcoind”.
2022-10-18 13:42:02 -06:00
Greg Pfeil 8cb655c3ff Fix display of binary name in error messages.
Ensures that test failures report the name of the actual binary that was run.
2022-10-18 13:42:02 -06:00
Greg Pfeil ebea82c96c
Merge pull request #6165 from sellout/rpc-tests-binary-name
Fix display of binary name in error messages.
2022-10-11 16:25:51 -06:00
Jack Grigg 4871fba26a rust: Update remaining dependencies
The audit exemptions have been regenerated for these dependencies.
2022-10-11 10:13:41 +00:00
Jack Grigg 2477ef9c4b rust: Audit some dependency updates 2022-10-11 05:08:07 +00:00
Daira Hopwood 7788afcf54 Always use a tuple as right argument of % in new Python code.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-10-10 20:50:59 +01:00