Commit Graph

1172 Commits

Author SHA1 Message Date
Alfredo Garcia 6a7cfdea54 allow wallet file to be outside datadir 2020-09-04 14:50:17 +01:00
Homu 7e958be2cb Auto merge of #4300 - oxarbitrage:issue3939, r=nuttycom
add shielded balance to getwalletinfo

Closes zcash/zcash#3939

It is based on the definition that unconfirmed balance has 0 confirmations; anything else is regular balance.

Implementation:

1. `getBalanceZaddr` uses one version of `GetFilteredNotes`, we want to use the other version that allow us to get balances inside min and max confirmations.
2. `shielded_unconfirmed_balance`, and `shielded_balance` are obtained by calling `getBalanceZaddr` with different min and max confirmations according to the definitions from above.
2020-09-04 13:29:58 +00:00
Homu 3caa784970 Auto merge of #2778 - syd0:add-python-assert, r=daira
Add assert_raises_message to the python test framework.
2020-09-03 14:26:54 +00:00
Daira Hopwood bd4469339a
Rename z_*_balance fields of getwalletinfo output to shielded_*_balance 2020-09-03 14:43:10 +01:00
Homu ef62a1c5e4 Auto merge of #4688 - defuse:fix-rpc-test-string-interpolation, r=daira
Add a missing % to a string interpolation in rpc test framework
2020-09-03 13:06:45 +00:00
Sean Bowe 539e487a31
Postpone updates for dependencies until after 4.0.0 release. 2020-09-01 13:24:08 -06:00
Jack Grigg 06d44392be wallet: Add ANY_TADDR special string to z_sendmany
When using this special string as the from address, UTXOs from any
transparent addresses within the wallet will be used to fund the
transaction. Change outputs will be sent to a new transparent address,
as with any other spend of transparent funds.

Closes zcash/zcash#3640.
2020-08-29 01:39:30 +01:00
Taylor Hornby 51b9e230d2 Add a missing % to a string interpolation in rpc test framework 2020-08-26 14:47:48 -06:00
Sean Bowe 104cc4dc77
Postpone rust updates 2020-08-26 10:08:35 -06:00
Sean Bowe 651721dcd8
Postpone boost 1.74.0 update 2020-08-26 10:04:20 -06:00
Jack Grigg 0ac2261b7a qa: Update list of postponed crate versions 2020-08-25 13:07:22 +01:00
Jack Grigg f0babb8356 depends: cargo update 2020-08-25 13:07:22 +01:00
Jack Grigg c10ba7da41 depends: Migrate to zcash_* 0.3.0 Rust crates 2020-08-25 13:07:22 +01:00
Alfredo Garcia 35961c4ee2 add shielded balance to getwalletinfo 2020-08-24 14:42:19 -03:00
Daira Hopwood 57a0418fbb Repair full_test_suite.py for new checksec.sh.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-08-14 18:02:27 +01:00
Daira Hopwood eea06658f4 Newer version of checksec.sh from a6df608ac0
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-08-14 17:49:16 +01:00
Jack Grigg 2a3770cfbf depends: Rework Rust integration
The Rust toolchain is now a native dependency, and the vendored crates
no longer depend on the native toolchain.
2020-08-10 22:52:23 +01:00
Homu d36718542c Auto merge of #4597 - str4d:rust-tracing, r=str4d
Use the Rust tracing crate for C++ logging

This PR swaps in the `tracing` crate (via FFI) for logging to either standard
output or `debug.log`. It transparently maps all existing `LogPrintf` and
`LogPrint` invocations to info-level `tracing` events, and passes through
correct file and line information. `error` invocations are mapped to error-level
`tracing` events, currently without line information (due to the way that
`error` is used in the codebase; swapping individual callsites to the new
`LogError` macro will provide that information).

The end-goal for this change is that we don't need to make any disruptive
changes to the codebase, but we can start to leverage `tracing`-specific
functionality where we want to, such as providing extra fields on certain log
lines (that can be filtered for), adding spans to record the flow of execution
through `zcashd`, and logging within C++ and Rust simultaneously. Support
for extra fields on spans and events will be added in a subsequent PR.

The `-debug` config options are converted at launch into their corresponding
directives for tracing's `EnvFilter`. The new `setlogfilter` RPC method allows
this filter to be reloaded dynamically. The syntax is documented in the
`setlogfilter` help text, as well as here:

https://docs.rs/tracing-subscriber/0.2.7/tracing_subscriber/filter/struct.EnvFilter.html#directives

When `-printtoconsole` is specified, the output now includes timestamps and
ANSI encoding :)
2020-08-07 21:54:46 +00:00
Jack Grigg 5ada9230af Revert "Add check-depends step to STAGE_COMMANDS list"
This reverts commit d4f70e5536.
2020-08-07 17:03:50 +01:00
Jack Grigg c9ca74fb34 qa: Add tracing dependencies to updatecheck.py
A new safe_depends() checker is added, which allows the '.' character on
top of the existing safe() characters.

The time crate is postponed to 2021-02-01, by which time hopefully the
chrono crate will have figured out what it is doing with that dependency.
2020-08-07 15:26:28 +01:00
Taylor Hornby 902bf838af Add new dependencies to updatecheck.py, add a flag we can use to have our CI test it. 2020-08-03 15:01:01 -06:00
Taylor Hornby 88082c4a56 Extend deadline for postponing dependency updates 2020-08-03 15:00:22 -06:00
Kris Nuttycombe 0391809da1 Remove amqp code and Proton library depenencies & flags. 2020-07-31 13:08:18 -06:00
Homu f39e4dbaf1 Auto merge of #4627 - LarryRuane:issue4596-flush-wallet-db, r=str4d
flush witness cache (SetBestChain()) on clean shutdown

Closes #4596, follow-on to #4573. In addition to flushing witness data on shutdown, fix the RPC test that was preventing this change from being part of #4573.
2020-07-29 13:12:04 +00:00
Homu 615efd2a52 Auto merge of #4584 - defuse:update-ignore, r=str4d
Block release when we haven't checked dependency updates for security fixes
2020-07-29 10:45:44 +00:00
Larry Ruane a65ecaad54 flush wallet db (SetBestChain()) on clean shutdown 2020-07-20 20:04:48 -06:00
Homu 959f5b09d0 Auto merge of #4560 - str4d:zip-207, r=nuttycom
[ZIP 207] Funding Streams + [ZIP 214] Dev Fund Recipients

Closes #4554. Closes #4555.
2020-07-10 22:45:11 +00:00
Kris Nuttycombe e456d87cbf Merge remote-tracking branch 'upstream/master' into zip-207 2020-07-09 08:23:57 -06:00
Homu 3f4a532588 Auto merge of #4573 - LarryRuane:issue4301-CopyPreviousWitnesses, r=daira
Flush witness data to disk only when it's consistent

Closes #4301. Running this PR's code will not repair a data directory that has been affected by this problem; that requires starting zcashd with the `-rescan` or `-reindex` options.
2020-07-09 11:50:41 +00:00
Larry Ruane 4811dcc426 sync before stopping nodes
This makes the test more deterministic. When the nodes are split, and
partition B (node 1) mines a joinsplit transaction, that block only
sometimes appears on the blockchain after the nodes are all reconnected.
2020-07-08 20:48:50 -06:00
Homu 701adc38cb Auto merge of #4578 - therealyingtong:zip212-impl, r=str4d
ZIP212 implementation

Closes #4557.
(description by @ebfull, taken from #4575)

* The `SaplingNote` structure has a new enum called `zip212Enabled`. This
  member is private and reflects whether the note was or is being created
  using the derivation method of ZIP 212 (i.e., `BeforeZip212` or `AfterZip212`).
* The `SaplingNotePlaintext` structure has a new unsigned char member
  `leadbyte`. This member is private and contains the leading byte of the
  plaintext (e.g. `0x01`, `0x02`).
* The serialization of `SaplingNotePlaintext` sets `zip212Enabled` to
  `BeforeZip212` iff the serialized note plaintext version is not `0x01`.
* The `r`/`rcm` fields have been removed and replaced with a private field
  `rseed`. `SaplingNote` and `SaplingNotePlaintext` now have a helper method
  `rcm()` which returns the `rcm` either by deriving it with `rseed`
  (if `zip212Enabled` is `AfterZip212`) or returning `rseed` by interpreting
  `rseed` as `rcm`.
* All the methods of obtaining a `SaplingNote` account for these changes:
  - The `SaplingNote` constructor that is used by e.g. the transaction builder,
    and internally samples random `rcm`, now takes a `zip212Enabled` argument
    to decide whether to sample `rcm` the "old" way or the "new" way.
  - The bare constructor for `SaplingNote` is removed.
  - The other constructor which takes the raw contents of the note is only used
    in tests or in `Note.cpp`, but now also takes a `zip212Enabled` argument.
  - The other way of obtaining a note, by calling `SaplingNotePlaintext::note()`,
    has been adjusted.
* The `SaplingNotePlaintext` class now has an `generate_or_derive_esk()` method
  that either samples a random `esk` or derives it using the local `rseed`
  depending on the value of `leadbyte`.
* The encryption routine is modified to consult `generate_or_derive_esk()` and
  provide it to the note encryption object.
* The note encryption objects now take an optional `esk` as input and otherwise
  sample a random `esk` internally. This API functionality is preserved to allow
  for testing.
* The `SaplingNotePlaintext` decryption routines are modified:
  - The out and enc decryption routines now check that `epk` is consistent with
    the derived `esk`.
  -  The out decryption routine for plaintexts also checks that `esk` is
    consistent with what is derived by the note.
* The miner and transaction builder consult the activation of Canopy when
  creating `SaplingNote`s.
* The consensus rules are modified so that shielded outputs (miner rewards)
  must have `v2` note plaintexts after Canopy has activated.
2020-07-09 00:29:07 +00:00
Kris Nuttycombe 436dee90de Merge remote-tracking branch 'upstream/master' into zip-207 2020-07-08 15:04:32 -06:00
Kris Nuttycombe fccf37844b Fix pyflakes. 2020-07-02 16:54:49 -06:00
Homu 602e88ddb9 Auto merge of #4489 - therealyingtong:4479-remove-sprout-shielding, r=str4d
[ZIP 211] Disabling Addition of New Value to the Sprout Value Pool

Disables Sprout outputs after NU4 by checking for nonzero `vpub_old` in transactions after NU4 activation height.

Adds gtests to check expected behaviour before and after NU4 activation height.

edit:
Also modifies `z_` methods in `rpcwallet`, and adds a matching RPC test.

Implements [ZIP 211](https://zips.z.cash/zip-0211), closes #4479
2020-07-02 21:53:51 +00:00
Larry Ruane bf568273a7 fix pyflakes CI errors 2020-07-02 14:32:48 -06:00
Kris Nuttycombe 4d223f9797 Merge remote-tracking branch 'upstream/master' into zip-207 2020-07-02 13:24:45 -06:00
Sean Bowe 14a09a5fd6
Remove unused imports from remove_sprout_shielding RPC test. 2020-07-02 11:09:22 -06:00
therealyingtong f24e706079 Replace leadByte in SaplingNote with is_zip_212 2020-07-02 15:37:32 +08:00
Larry Ruane 5b7fed5bbf self.sync_all(), not time.sleep(4) 2020-07-01 10:28:15 -06:00
Kris Nuttycombe 7dd1889944 Trivial copyright fix.
Co-authored-by: str4d <thestr4d@gmail.com>
2020-07-02 00:27:18 +08:00
therealyingtong 5e4d13b49d Add RPC tests
Test that Sprout shielding is accepted before Canopy and rejected after Canopy activation
2020-07-02 00:27:14 +08:00
Rod Vagg a106c15a19
Add joinSplitPubKey and joinSplitSig to RPC
These two properties are required to fully reconstruct a Zcash
transaction's binary form from the RPC data.

Co-authored-by: str4d <thestr4d@gmail.com>
2020-06-30 21:47:51 +10:00
Kris Nuttycombe 92cec200ee Minor fixes for ZIP-207 review comments. 2020-06-29 16:13:08 -06:00
Jack Grigg efd04b920b Implement zip-207 and zip-214.
Add funding streams to consensus parameters.

Add funding stream payments to coinbase txns generated by the miner.
* Reduce valueBalance for shielded outputs to funding streams.
* Ensure we produce binding signatures in any case where shielded
  outputs go to either a funding stream or the miner.
2020-06-25 16:15:50 -06:00
Taylor Hornby 75876f477b Implement system for postponing dependency updates. 2020-06-24 18:14:47 -06:00
Larry Ruane 6335944784 add python test to reproduce bug 4301 2020-06-24 09:27:11 -06:00
Alfredo Garcia 1f06621e34 add myblockhash parameter to getrawtransaction
Co-Authored-By: kallewoof <kalle.alm@gmail.com>
2020-06-15 19:33:49 -03:00
Homu 552482a404 Auto merge of #3913 - str4d:smoke-tests, r=str4d
Automated smoke tests

Usage:

```
ZCASHD=./src/zcashd ZCASHCLI=./src/zcash-cli ./qa/zcash/smoke_tests.py --wallet=wallet.smoketest.dat "$HOME/.zcash"
```

Includes code cherry-picked from bitcoin/bitcoin#7751.
2020-06-04 22:17:48 +00:00
Homu 4ffccda774 Auto merge of #4322 - oxarbitrage:issue3740, r=str4d
Add -debuglogfile option

Cherry-picked from https://github.com/bitcoin/bitcoin/pull/11781.
Closes https://github.com/zcash/zcash/issues/3740.
2020-06-04 00:40:45 +00:00
Homu e9a6d7926b Auto merge of #4282 - oxarbitrage:issue2375, r=daira
Add a flag to get amount results as integer

Closes https://github.com/zcash/zcash/issues/2375
2020-06-03 11:26:00 +00:00
Daira Hopwood 270a724c87
Remove unused import in qa/rpc-tests/listtransactions.py
Co-authored-by: Dimitris Apostolou <dimitris.apostolou@icloud.com>
2020-06-03 12:25:31 +01:00
Alfredo Garcia 93afebeef4 add new parameters to rpc client and fix some bugs 2020-05-30 12:18:43 -03:00
Alfredo Garcia e7c829aa0e update docs 2020-05-30 10:34:03 -03:00
Alfredo Garcia 76cb4e8d04 remove not needed comments from wallet.py 2020-05-29 11:24:39 -03:00
Daira Hopwood 1527e5b3ca Missing NU4->Canopy renames.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-05-29 10:02:50 +01:00
Daira Hopwood 22b8574d9e Rename golden/nu4.tar.gz to canopy.tar.gz.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-05-29 01:30:30 +01:00
Alfredo Garcia 7c84f4e98a fix test cases 2020-05-28 10:58:04 -03:00
Anthony Towns 83087be393 test: Add tests for `-debuglogfile` with subdirs 2020-05-28 10:58:04 -03:00
Wladimir J. van der Laan 4de0ac3351 test: Add test for `-debuglogfile` 2020-05-28 10:58:04 -03:00
Daira Hopwood c1227ae67c Rename NU4 to Canopy in constant and function names.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-05-28 13:11:48 +01:00
Jack Grigg 5a577c7630 qa: Add --automate flag to smoke tests 2020-05-28 23:04:58 +12:00
Jack Grigg 4498eb26db qa: Remove unused timeout configuration from wait_for_balance 2020-05-28 23:04:58 +12:00
Jack Grigg c2144f7af7 qa: Add --use-faucet flag to smoke tests 2020-05-28 23:04:58 +12:00
mdr0id a63c1d6279 Add helpers for tapping and donating to the testnet faucet 2020-05-28 19:10:32 +12:00
Eirik Ogilvie-Wigley b21fcf37cb Various improvements
- Print time since start for each operation
- Print traceback for any raised exceptions
- Improve messages to user
- Warning cleanups
2020-05-28 19:01:52 +12:00
Eirik Ogilvie-Wigley aa4b98a7c3 Resolve decimal vs float issues 2020-05-28 18:59:20 +12:00
Homu 9bf8443c16 Auto merge of #4504 - str4d:disconnectblock-fixes, r=str4d
Use the cached consensusBranchId in DisconnectBlock

If a node is started with a set of network upgrades that don't match the
serialized chain (such as when we implement NU rollbacks on testnet),
RewindBlockIndex will disconnect each block in the chain until it
reaches the most recent block that agrees with the node's set of network
upgrades. However, the blocks themselves should be disconnected using
the consensus branch ID that they were connected with, which is
persisted alongside the chain and reconstructed in LoadBlockIndex.
2020-05-28 02:51:34 +00:00
Jack Grigg a2db35137b qa: Improve reliability of smoke test cleanup 2020-05-28 13:15:55 +12:00
Jack Grigg a2ba414d69 qa: Improve reliability of smoke tests 2020-05-28 13:15:55 +12:00
Jack Grigg 0261ccbbe8 qa: Don't allow smoke tests with mainnet wallet.dat 2020-05-28 13:15:55 +12:00
Jack Grigg a6ff0a0794 qa: Use slick-bitcoinrpc for smoke tests 2020-05-28 13:15:55 +12:00
Jack Grigg eeecb3bf8c qa: Transaction chain smoke test 2020-05-28 13:15:55 +12:00
Jack Grigg 01757cff23 qa: Simple smoke tests 2020-05-28 13:15:55 +12:00
Jack Grigg 6d1563d7a3 qa: Run Zcash node for smoke tests 2020-05-28 13:15:55 +12:00
Jack Grigg 6470237c09 qa: Smoke test driver 2020-05-28 13:15:55 +12:00
Homu 4907a31302 Auto merge of #4242 - oxarbitrage:issue3726, r=str4d
Add estimatedheight to rpc getblockchaininfo response

Fixes https://github.com/zcash/zcash/issues/3726

Ported from https://github.com/zcash/zcash/pull/3727 with comments addressed.
2020-05-28 00:49:49 +00:00
therealyingtong 06ddf659a7 Add RPC tests for post-Heartwood rollback 2020-05-28 09:54:42 +12:00
Alfredo Garcia d42e0a433c remove additional not needed casts from py tests 2020-05-18 18:09:07 -03:00
Alfredo Garcia 26e4889f87 Fix casting in listtransactions.py 2020-05-18 16:53:01 -03:00
Alfredo Garcia 24d3516e35 Fix casting in wallet.py
Co-Authored-By: Daira Hopwood <daira@jacaranda.org>
2020-05-18 16:53:01 -03:00
Alfredo Garcia 25bccb4814 replace with AssertionError assert_equal in receivedby.py
Co-Authored-By: Daira Hopwood <daira@jacaranda.org>
2020-05-18 16:53:01 -03:00
Alfredo Garcia 25f48c21dd add amountZat field to z_listreceivedbyaddress 2020-05-18 16:53:01 -03:00
Alfredo Garcia 76e7f21d4a add amountZat field to listunspent 2020-05-18 16:52:04 -03:00
Alfredo Garcia 9a55c8b238 add amountZat field to listtransactions, gettransaction and listsinceblock 2020-05-18 16:51:24 -03:00
Alfredo Garcia 2ec9ac3c81 add amountZat field to listreceivedbyaddress and listreceivedbyaccount 2020-05-18 16:49:39 -03:00
Alfredo Garcia 306270911e add boolean inZat to z_getbalance 2020-05-18 16:47:17 -03:00
Alfredo Garcia 50372cab62 add boolean inZat to getbalance 2020-05-18 16:47:17 -03:00
Alfredo Garcia d2c26b33e0 add boolean inZat to getreceivedbyaccount 2020-05-18 16:47:17 -03:00
Alfredo Garcia 4b61aede28 add bool argument to get balance in satoshis to rpc getreceivedbyaddress 2020-05-18 16:47:17 -03:00
Kris Nuttycombe 6a0d464f41 Merge remote-tracking branch 'upstream/master' into hotfix-v2.1.2-2-golden 2020-05-18 11:22:22 -06:00
Kris Nuttycombe 04d82fa30f Remove unused imports. 2020-05-18 10:38:37 -06:00
Taylor Hornby e0ab57ee36 Add univalue to updatecheck.py and update univalue, removing calls to deprecated methods 2020-05-14 12:42:19 -06:00
Sean Bowe 43ffa3bf43 Add NU4 activation to golden test. 2020-05-14 12:24:56 -06:00
Kris Nuttycombe 9061f8251e Merge remote-tracking branch 'upstream/master' into hotfix-v2.1.2-2-golden 2020-05-14 12:24:44 -06:00
Kris Nuttycombe a2898a84f4 Fully remove the regtest tree from restored nodes. 2020-05-08 10:36:04 -06:00
Kris Nuttycombe 76a88dab52 Update golden test for heartwood network upgrade. 2020-05-07 19:12:24 -06:00
Kris Nuttycombe 8542522732 Merge branch 'release/v2.1.1-1' into release/v2.1.2 2020-05-07 19:02:45 -06:00
Kris Nuttycombe a546caffc9 Add baseline for golden testing across network upgrade boundaries. 2020-05-07 16:34:44 -06:00
Kris Nuttycombe 35ff8d9bf2 Remove unused imports. 2020-05-05 11:41:06 -06:00
Kris Nuttycombe 45dab9adc0 Revert "Update qa/rpc-tests/sapling_rewind_check.py"
This reverts commit e09f052570.
2020-05-04 16:57:48 -06:00
Kris Nuttycombe ae86386648 Update test description and clarify internal comments. 2020-05-04 10:55:32 -06:00
Kris Nuttycombe 6742ba021f
Add Zcash copyright to sapling_rewind_check.py 2020-05-02 18:33:58 -06:00
Kris Nuttycombe e09f052570
Update qa/rpc-tests/sapling_rewind_check.py
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2020-05-02 18:33:01 -06:00
Kris Nuttycombe e7eff424c1
Update qa/rpc-tests/test_framework/mininode.py
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2020-05-02 18:31:26 -06:00
Kris Nuttycombe 2de5a2cb2d
Use `%x` formatter for branch id hex string in test_framework/util.py
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2020-05-02 18:31:13 -06:00
Kris Nuttycombe c2e3454e0a
Clean up imports in sapling_rewind_check.py
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2020-05-02 18:30:09 -06:00
Kris Nuttycombe 1508345a20 Merge remote-tracking branch 'upstream/master' into bug/4119-rewind_detection 2020-05-01 17:33:53 -06:00
Jack Grigg 7e684120d3 Add NU4 test helpers 2020-05-01 11:38:32 +12:00
Alfredo Garcia 4c40f9f514 implement z_getnotescount api call 2020-04-25 11:17:20 -03:00
Homu 0ad52ca9b1 Auto merge of #4249 - oxarbitrage:issue_3724, r=str4d
Add confirmations, blockheight, blockindex and blocktime to z_listreceivedbyaddress

Fixes https://github.com/zcash/zcash/issues/3724

1- There was a PR to add confirmations to this call at https://github.com/zcash/zcash/pull/3836
I ported the commit from there and fixed test case by incrementing the confirmations as suggested at: https://github.com/zcash/zcash/pull/3836#issuecomment-499927807

2- Then added `blockheight`, `blockindex` and `blocktime`. To avoid some duplicated code (Sprout/Sapling) created a structure `trxblock`.

3- Original issue requests only time and blockindex however i think height is also important; if `blockindex` is the position of the transaction in the block then you are going to need also `height` to find it.
2020-04-25 05:28:16 +00:00
Kris Nuttycombe 5a8f6f8058 Merge remote-tracking branch 'upstream/master' into bug/4119-rewind_detection 2020-04-22 14:58:11 -06:00
Kris Nuttycombe 7629560a26 Trivial comment. 2020-04-15 16:09:19 -06:00
Kris Nuttycombe a4e80ae1ab Restart node in a chain split state to allow the test to complete. 2020-04-15 15:58:48 -06:00
Kris Nuttycombe 5030e73afc Make the test reproduce the actual off-by-one error in rewind length. 2020-04-15 14:19:05 -06:00
Alfredo Garcia a1c37b7b79
Fix typo
Co-Authored-By: Dimitris Apostolou <dimitris.apostolou@icloud.com>
2020-04-15 15:46:49 -03:00
Dimitris Apostolou 5f2e015aa3
Fix typos 2020-04-15 13:24:00 +03:00
Kris Nuttycombe 59d2a6458d Narrow down the test case. 2020-04-14 17:47:29 -06:00
Alfredo Garcia 8a40b8518a fix wallet nullifiers test 2020-04-14 17:11:20 -03:00
Homu 084303d8c2 Auto merge of #4264 - NikVolf:mmr, r=str4d
[ZIP 221] FlyClient - Consensus-Layer Changes

Implements https://zips.z.cash/zip-0221
2020-04-14 20:09:34 +00:00
Kris Nuttycombe a4e8945cfa Check network reunification. 2020-04-14 13:52:50 -06:00
Kris Nuttycombe f432ceff31 Add a test reproducing the off-by-one error. 2020-04-14 13:37:40 -06:00
Jack Grigg e85fac5167 test: Ignore timestamps in addressindex checks
The mempool timestamps are local to each node, and if the testing
machine is under load, they can potentially differ by a second.

Closes zcash/zcash#4439.

Co-authored-by: Ying Tong <yingtong@ethereum.org>
2020-04-14 20:56:37 +12:00
Jack Grigg 21d8e5be15 Comment clarifications and fixes 2020-04-11 11:39:00 +12:00
Jack Grigg 9cfd574eac test: Add an extra assertion to feature_zip221.py 2020-04-10 19:47:45 +12:00
Homu 3033b8a0ec Auto merge of #4402 - oxarbitrage:issue4326, r=str4d
Add -lightwalletd experimental option

Similar to `-insightexplorer` but loading less indexes.

After testing and code review this should be able to close https://github.com/zcash/zcash/issues/4326
2020-04-10 03:42:54 +00:00
Homu 780554e53a Auto merge of #4426 - oxarbitrage:issue4372, r=str4d
Return address info in z_importviewingkey

Closes https://github.com/zcash/zcash/issues/4372
2020-04-10 00:20:40 +00:00
Jack Grigg 2ad84e8564 Comment tweaks and cleanups
Co-Authored-By: Daira Hopwood <daira@jacaranda.org>
2020-04-10 09:53:30 +12:00
Alfredo Garcia a43f5daff8 add -lightwalletd experimental option 2020-04-09 11:05:21 -03:00
Jack Grigg eca5009825 test: Build Rust tests as part of qa/zcash/full_test_suite.py
The previous version of full_test_suite.py directly called the test
binary, which was being compiled at the same time as the static library.
However, by passing the --tests argument to cargo, rustc was ignoring
several important release-profile configurations, and was also
attempting to link the test binary, which was breaking cross-compilation
builds.

This commit alters src/Makefile.am to only build the static library, and
leaves test compilation to the test runner itself. This ensures that the
tests are only compiled for native builds, when the tests will be run on
the same platform.
2020-04-08 18:17:19 +12:00
Jack Grigg cb57c17eb6 test: Verify ZIP 221 logic against reference implementation 2020-04-08 08:49:01 +12:00
Alfredo Garcia de5b69f160 add expected address check to tests 2020-04-07 10:39:33 -03:00
Alfredo Garcia 0a6ab8a5ab return address info in z_importviewingkey 2020-04-07 08:38:12 -03:00
Homu 1be7250db9 Auto merge of #4411 - str4d:2074-rpc-test-harness-1, r=mdr0id
Backport RPC test harness PRs

Cherry-picked from the following upstream PRs:
- https://github.com/bitcoin/bitcoin/pull/6548
- https://github.com/bitcoin/bitcoin/pull/6804
  - Just the coverage backend, not the flag to enable it for all RPC tests.
- https://github.com/bitcoin/bitcoin/pull/7744
- https://github.com/bitcoin/bitcoin/pull/9832
  - Excludes `wallet-hd.py` change (missing bitcoin/bitcoin#8309).

Part of #2074.
2020-04-03 03:14:04 +00:00
Homu b5f179d207 Auto merge of #4370 - str4d:3060-sapling-viewing-keys, r=str4d
Add support for Sapling full viewing keys

This PR adds Sapling support to `z_exportviewingkey` and `z_importviewingkey`, and stores imported Sapling viewing keys in the wallet.

Closes #3060.
2020-03-28 02:41:26 +00:00
NicolasDorier b0d81be4cd [qa] assert_start_raises_init_error
Zcash: Excludes wallet-hd.py change (missing bitcoin/bitcoin#8309)
2020-03-24 21:55:08 +13:00
Wladimir J. van der Laan 11240d0928 test_framework: detect failure of bitcoind startup
Replace the `bitcoin-cli -rpcwait` after spawning bitcoind
with our own loop that detects when bitcoind exits prematurely.

And if one node fails to start, stop the others.

This prevents a hang in such a case (see #7463).
2020-03-24 21:55:08 +13:00
James O'Beirne d38a012970 Add basic coverage reporting for RPC tests
Thanks to @MarcoFalke @dexX7 @laanwj for review.

Zcash: Includes all the backend changes, but excludes the --coverage flag
added to rpc-tests.py as we have not yet migrated away from rpc-tests.sh.
2020-03-24 21:51:51 +13:00
ptschip 8f863b2817 Enable python tests for Native Windows
1) Multiplatorm support for devnull
2) Fixed a bug in the handling of cache files
3) Deleted run-bitcoin-cli as no longer needed
2020-03-24 18:05:30 +13:00
Homu c3df71a8e9 Auto merge of #4386 - oxarbitrage:issue4385, r=daira
add check_node_log utility function

Closes https://github.com/zcash/zcash/issues/4385
2020-03-19 13:26:42 +00:00
Alfredo Garcia 77219bdc6c remove unused import 2020-03-19 08:46:33 -03:00
Alfredo Garcia 2707e6ff6c preserve test semantics
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2020-03-18 22:49:44 -03:00
Taylor Hornby acdad52602 Update updatecheck.py with the new Rust dependencies and improve the error message in case the untracked dependency list becomes out of date. 2020-03-17 14:05:50 -06:00
Homu a125f3f5f8 Auto merge of #4403 - ebfull:rust-tests, r=str4d
Additional librustzcash integration

This adds librustzcash tests to the full test suite, and brings in the release profile configurations that are currently present in the librustzcash workspace on the other repository. It's very important that we build librustzcash with panic=abort because otherwise the unwinding panics across FFI boundaries could cause undefined behavior.
2020-03-17 07:50:48 +00:00
Homu 52f4794055 Auto merge of #4395 - defuse:fix-updatecheck, r=daira
Fix bug in updatecheck.py and add utfcpp to its dependency list
2020-03-16 19:14:48 +00:00
Sean Bowe 81a633c9c3
Simplification for MacOS in rust-test. 2020-03-14 11:06:13 -06:00
Sean Bowe 531c7c2881
Minor typo fixes. 2020-03-14 11:04:39 -06:00
Sean Bowe 7767f8e9e0
Add librustzcash tests to the full test suite. 2020-03-14 10:58:09 -06:00
mdr0id e5e639ae22 Update RPCs to support cross platform paths and libs 2020-03-12 10:27:12 -07:00
Alfredo Garcia b7c8ee64d7 minor cleanup style, var names 2020-03-11 13:43:47 -03:00
Taylor Hornby 11470a3107 Fix typo in updatecheck.py 2020-03-11 10:07:13 -06:00
Taylor Hornby d582270abb Fix bug in updatecheck.py and add utfcpp to its dependency list 2020-03-11 09:11:28 -06:00
Alfredo Garcia 1485c596e7 add stop_node argument to check_node_log, use it in shieldingcoinbase 2020-03-10 14:21:05 -03:00
Alfredo Garcia 1aae365438 use check_node_log in turnstile.py 2020-03-10 11:06:56 -03:00
Alfredo Garcia 461047ac99 move check_node_log framework test to a new file 2020-03-10 11:05:49 -03:00
Alfredo Garcia 9f71fbecca remove space after new line 2020-03-07 09:26:25 -03:00
Alfredo Garcia aa89d3c342 add check_node_log utility function 2020-03-06 19:17:18 -03:00
Homu 35bff6ac7c Auto merge of #4256 - str4d:zip-213-shielded-coinbase, r=daira
[NU3 Heartwood] Shielded Coinbase

Implements [ZIP 213](https://github.com/zcash/zips/pull/217).
2020-03-06 10:19:13 +00:00
Jack Grigg 6fd1b7c2e4 test: Check that shielded coinbase can be spent to a t-address 2020-03-06 13:10:39 +13:00
Jack Grigg 675a9b5fd3 test: RPC test for shielded coinbase 2020-03-06 10:41:27 +13:00
Homu 6c00a8ccf9 Auto merge of #4280 - oxarbitrage:issue2197, r=daira
Allow negative heights in RPC calls

For issue https://github.com/zcash/zcash/issues/2197

Currently adding the feature to `getblock` and `getblockhash`. There is another candidate: `getblocksubsidy` however i want to have some review about these 2 first before repeating what could be a bad approach.
2020-03-05 16:36:32 +00:00
Jack Grigg a62405f44f Store imported Sapling ExtFVKs in wallet database 2020-02-21 01:32:15 +00:00
Jack Grigg 1bcbe4e21d Add in-memory Sapling ExtFVK support to z_importviewingkey 2020-02-21 01:30:02 +00:00
Homu 27c04c8f9c Auto merge of #4146 - str4d:z_viewtransaction, r=str4d
z_viewtransaction

This RPC method returns all decryptable information for any transaction in the wallet.

Several values are conditionally included in the output for convenience:
- `recovered`: True if an output is not for a Sapling address in the wallet.
- `memoStr`: The text form of an output's memo, if it is valid UTF-8.
- Values are provided both in decimal currency units, and integer zatoshis.
2020-02-19 20:52:47 +00:00
Jack Grigg ef5fb6a93c test: Fix pyflakes warnings 2020-02-13 20:04:33 +00:00
Jack Grigg 0d5d329312 test: Hard-code hex memo in wallet_listreceived for Python3 compatibility 2020-02-13 20:04:33 +00:00
Alfredo Garcia 70d5682e31
Merge branch 'master' into issue4004 2020-02-11 10:58:33 -03:00
Alfredo Garcia ebd9d0c562
remove unused imports 2020-02-11 10:56:45 -03:00
mdr0id 1ce2e86612 Update #! env for python3 2020-02-10 13:34:29 -08:00
mdr0id 7300db81ed Updating remaining python3 conventions 2020-02-10 13:15:26 -08:00
mdr0id 4cb368a8d9 Update remaining Python3 conventions 2020-02-10 12:46:41 -08:00
mdr0id 826135d5ed Fix remaining python3 conventions 2020-02-10 12:38:46 -08:00
mdr0id fdac835b13 update comment regarding prior py2 exception 2020-02-09 12:38:01 -08:00
mdr0id 5ac9cb85f3 fix string pattern issue on byte object 2020-02-09 09:07:42 -08:00
mdr0id 9592ded3cc clean up conventions and whitespace 2020-02-09 08:44:23 -08:00
mdr0id 8f859cbf85 fix pyflakes errors 2020-02-09 08:18:00 -08:00
mdr0id 93c625397f Update py3 division 2020-02-09 08:18:00 -08:00
mdr0id c7113bd6f1 Update json to simplejson to remove unicode and str issue from py2 to py3 2020-02-09 08:18:00 -08:00
mdr0id 3eb6512b78 cleanups and fixing odd casting 2020-02-09 08:18:00 -08:00
mdr0id b2752948c0 fix url and port issue 2020-02-09 08:18:00 -08:00
mdr0id 08cfd935d6 clean up 2020-02-09 08:17:32 -08:00
mdr0id 4801c316fc clean up 2020-02-09 08:17:32 -08:00
mdr0id ff5a47acfa clean up 2020-02-09 08:17:32 -08:00
mdr0id 44834ed01c Clean up import calls 2020-02-09 08:17:32 -08:00
mdr0id 3ae42f1e75 Fix decimal 0 issues 2020-02-09 08:17:32 -08:00
mdr0id 0b1a644d54 remove u encoding 2020-02-09 08:17:32 -08:00
mdr0id f26269c512 clean up to minimize diff 2020-02-09 08:17:32 -08:00
mdr0id 2d4f4f0b13 remove debug lines from prior commits 2020-02-09 08:17:32 -08:00
mdr0id 89307b131a update type for decimal 0 2020-02-09 08:15:43 -08:00
mdr0id 8240f73c68 clean up initiliaze statements from imports 2020-02-09 08:15:43 -08:00
mdr0id 4a6aac2c5c fix initialize statements for imports 2020-02-09 08:15:43 -08:00
mdr0id 198b70aa09 fix type issue 2020-02-09 08:15:43 -08:00
mdr0id 51c020bc68 Use upstream encoding for encodeDecimal 2020-02-09 08:15:43 -08:00
mdr0id af903084c7 clean up 2020-02-09 08:15:43 -08:00
mdr0id 7b81c00ee4 clean-up imports, keep string notation consistent, remove spacing 2020-02-09 08:15:43 -08:00
Marshall Gaucher 5ae91f2dcb Update qa/rpc-tests/addressindex.py
Co-Authored-By: Daira Hopwood <daira@jacaranda.org>
2020-02-09 08:15:43 -08:00
mdr0id 75c199ead4 correct update to python3 2020-02-09 08:15:43 -08:00
mdr0id 623f3eb9da make import urlparse module consistent,httplib update to py3 2020-02-09 08:15:43 -08:00
mdr0id a9aa622359 Remove semi colons 2020-02-09 08:15:43 -08:00
mdr0id 59068ea071 fix except bug for undefined url 2020-02-09 08:15:43 -08:00
mdr0id 785c3abf05 Clean up code from upstream we dont use 2020-02-09 08:15:43 -08:00