Commit Graph

11876 Commits

Author SHA1 Message Date
Homu
d2b5a2daeb Auto merge of #3502 - wo01:fix-num_bits, r=bitcartel
Fix assertion failure in circuit.merkle_tree_gadget_weirdness test on Windows

zcash-gtest.exe fails
```
[ RUN      ] circuit.merkle_tree_gadget_weirdness
Assertion failed!

Program: C:\zcash-gtest.exe
File: ./snark/libsnark/gadgetlib1/gadgets/basic_gadgets.tcc, Line 50

Expression: this->pb.lc_val(packed).as_bigint().num_bits() <= bits.size()
```

The argument type of `__builtin_clzl()` function is unsigned long.
So, we need to replace `__builtin_clzl` with `__builtin_clzll`. (The argument type of `__builtin_clzll()` is unsigned long long (64bit)).
2018-09-11 17:02:09 -07:00
Homu
396bdaf00f Auto merge of #3307 - gtank:3187-refactor-checkblock, r=bitcartel
Refactor ContextualCheckBlock tests

This cleans up and condenses our quadratically-scaling transaction format / consensus rule tests. They still technically scale quadratically, but should be much more readable and manageable now - all that remains in the individual test cases is the specific version flag tweaking we're trying to test.

Closes #3187.
2018-09-11 14:53:59 -07:00
Simon
17b6a9d376 Update comment for test ContextualCheckBlockTest.BlockSproutRulesRejectOtherTx 2018-09-11 14:49:47 -07:00
Homu
88f52f0ffc Auto merge of #3492 - str4d:zip32, r=str4d
Use ZIP 32 for all Sapling spending keys

The wallet now only stores Sapling extended spending keys, and thus can
only be used with keys generated from an HDSeed via ZIP 32. This means
that all Sapling keys and addresses generated by users can be recovered
as long as they have a backup that includes the seed.

Depends on zcash/librustzcash#29

Closes #3380.
2018-09-11 04:47:14 -07:00
Jack Grigg
94549326c9 Bugfix: Use time instead of block height for Sapling key metadata 2018-09-11 12:45:25 +01:00
Jack Grigg
b33a7ec46e wallet: Don't allow an HDSeed to be overwritten
We can maybe relax this restriction later once we have worked out the UX
implications.
2018-09-03 10:45:37 +01:00
Jack Grigg
4c1a26fb60 Add ZIP 32 usage to release notes 2018-09-03 10:45:37 +01:00
Jack Grigg
b7f9a7ae02 wallet: Comment out HDSeed and CHDChain persistence to disk
Sapling keys generated from the seed are not yet persisted, so we don't
want to persist the seed or chain state either, otherwise the wallet
could end up in an inconsistent state.

Some tests are temporarily disabled because commenting out HDSeed
persistence breaks invariants inside CCryptoKeyStore.

Revert this commit during the PR for #3388.
2018-09-03 10:45:37 +01:00
Jack Grigg
c58dae6cda init: Generate a new HD seed on startup 2018-09-03 10:45:37 +01:00
Jack Grigg
70b4ad2dcd wallet: Switch from SaplingSpendingKey to SaplingExtendedSpendingKey
The wallet now only stores Sapling extended spending keys, and thus can
only be used with keys generated from an HDSeed via ZIP 32.

Note that not all Sapling keys in the wallet will correspond to the
wallet's HDSeed, as a standalone Sapling xsk can be imported via
z_importkey. However, it must have been generated from a seed itself,
and thus is more likely to be backed up elsewhere.
2018-09-03 10:45:37 +01:00
Jack Grigg
a4ac4fc3f4 wallet: Store Sapling key metadata indexed by ivk
Closes #3426.
2018-09-03 10:45:37 +01:00
Jack Grigg
e2416930ea wallet: Store HDSeed and chain data 2018-09-03 10:45:37 +01:00
Jack Grigg
ec653523ad Store HDSeed in CCryptoKeyStore 2018-09-03 10:45:33 +01:00
Jack Grigg
70c8c25e4b Store HDSeed in CBasicKeyStore 2018-09-03 10:27:52 +01:00
Jack Grigg
7614198f9d ZIP 32 Sapling structs 2018-09-03 10:27:52 +01:00
Jack Grigg
f8d65e8f03 Update librustzcash with ZIP 32 APIs 2018-09-03 10:27:52 +01:00
Homu
edd321609c Auto merge of #3489 - str4d:3215-z_sendmany, r=str4d
Add Sapling support to z_sendmany

Closes #3215.
2018-09-03 00:29:56 -07:00
Jack Grigg
af04224522 Fix file permissions of wallet_sapling RPC test 2018-09-03 08:27:33 +01:00
Jack Grigg
0f436a0a26 Fix RPC test that checks exact wording of cleaned-up error message 2018-09-03 08:23:09 +01:00
Jack Grigg
7c02acc5b6 Minor cleanups 2018-09-03 01:28:31 +01:00
Jack Grigg
1ec06e93b1 Rename z_inputs_ to z_sprout_inputs_ 2018-09-03 01:13:18 +01:00
WO
3786db4fb9 The long data type is replaced with int64_t 2018-09-01 00:57:11 +09:00
WO
c1992b5834 long -> int64_t 2018-09-01 00:37:57 +09:00
WO
a7102acb7e Add an assert for num_bits function 2018-08-31 19:56:20 +09:00
WO
ccb58e2cab Fix a bug of Windows binary 2018-08-31 12:36:36 +09:00
Homu
12c1156f31 Auto merge of #3172 - str4d:mingw32, r=str4d
Windows cross-compile support

Usage on Debian / Ubuntu:

> $ sudo apt install mingw-w64
> $ sudo update-alternatives --config x86_64-w64-mingw32-gcc
> (configure to use POSIX variant)
> $ sudo update-alternatives --config x86_64-w64-mingw32-g++
> (configure to use POSIX variant)
> $ HOST=x86_64-w64-mingw32 ./zcutil/build.sh

Closes #489.
2018-08-30 14:51:24 -07:00
Jack Grigg
e47ccf2a00 libsnark: Use format macro constants for printing fixed-width values 2018-08-30 22:21:25 +01:00
Jack Grigg
c53defda9d libsnark: Force constants used in test comparisons to be unsigned 2018-08-30 21:37:10 +01:00
Homu
791a68cdf5 Auto merge of #2674 - str4d:2469-ci-workers-macos, r=str4d
[ci-workers] Add support for MacOSX

Also alters the `unix.yml` script to install all Python modules in a virtualenv, and adds curl and cmake dependencies.

Closes #2469.
2018-08-30 09:00:42 -07:00
Jack Grigg
2962a72e35 Rename GetFirstBlockTransaction() to GetFirstBlockCoinbaseTx() 2018-08-30 14:58:19 +01:00
Jack Grigg
d7bcbfaee4 Fix test after refactor to check bacd-cb-height rule on a genesis block 2018-08-30 14:50:57 +01:00
Jack Grigg
fb22b3bbd8 Revert NU activation heights in reverse order
Ensures that global state remains consistent.
2018-08-30 14:44:50 +01:00
Jack Grigg
d70d103ee0 Ensure SCOPED_TRACE falls out of scope when necessary 2018-08-30 14:41:56 +01:00
George Tankersley
e601446adc Refactor ContextualCheckBlock tests
Combines some of the needlessly separate tests. Each formerly separate
test is tagged with a SCOPED_TRACE to make sure logs are still useful.
2018-08-30 14:39:07 +01:00
George Tankersley
ec7466b62f Refactor ContextualCheckBlock tests (#3187)
Initial cleanup. Reduces duplication of code, especially around
constructing transactions, resetting the activation heights, and setting
up the EXPECT calls for accepting and rejecting tests.

Also adds a bunch of comments explaining the test plan and what
particular parts of the test are doing.
2018-08-30 14:37:19 +01:00
Jack Grigg
07d85a6455 Define additional booleans for readability 2018-08-30 09:42:21 +01:00
Homu
ad97158836 Auto merge of #3488 - sandakersmann:patch-4, r=bitcartel
Missing comma in debian package copyright license

Missing comma in debian package copyright license
2018-08-29 15:42:30 -07:00
Marius Kjærstad
63c9df9aa1 Missing comma in debian package copyright license
Missing comma in debian package copyright license
2018-08-27 15:53:09 +02:00
Jack Grigg
e54c4d2ca1 rpcwallet: Add Sapling support to z_sendmany 2018-08-27 11:36:14 +01:00
Jack Grigg
af4057b904 rpcwallet: Prevent use of both Sprout and Sapling addresses in z_sendmany 2018-08-27 11:13:49 +01:00
Jack Grigg
36e2141d92 rpcwallet: Add TransactionBuilder argument to AsyncRPCOperation_sendmany 2018-08-27 11:13:49 +01:00
Jack Grigg
81e0fd2eb9 wallet: Add HaveSpendingKeyForPaymentAddress visitor 2018-08-27 11:13:49 +01:00
Jack Grigg
e22c115e78 Move GetSpendingKeyForPaymentAddress visitor into wallet.h
Also fixes it to not use the global pwalletMain.
2018-08-27 11:13:49 +01:00
Homu
7d6d1b853e Auto merge of #3485 - sandakersmann:patch-3, r=daira
Update debian package copyright license

Closes #3483. Fix debian package copyright attribution to match upstream.
2018-08-27 03:01:18 -07:00
Homu
c53884d20a Auto merge of #3436 - str4d:3214-z_getbalance, r=str4d
Add Sapling support to z_getbalance and z_gettotalbalance

Also includes preparatory changes for various other RPCs that depend on `GetFilteredNotes` etc.

Closes #3214.
2018-08-24 21:01:53 -07:00
Jack Grigg
573de712ab rpc: Clarify ivk balance issues in help text 2018-08-25 01:09:12 +01:00
Homu
6868aaff00 Auto merge of #3468 - sandakersmann:patch-1, r=bitcartel
Fix copyright attribution to match upstream

This has to be included to not violate the license.

Ref: https://github.com/bitcoin/bitcoin/blob/master/COPYING
2018-08-24 14:13:09 -07:00
Marius Kjærstad
0200e5ed36 Update debian package copyright license
Fix debian package copyright attribution to match upstream.
2018-08-24 20:25:00 +02:00
Homu
ad8d4d831c Auto merge of #3427 - mdr0id:readme_update_rtd, r=daira
Readme update for ReadtheDocs migration

This PR is intended to provide a README that points to new ReadtheDocs locations.
2018-08-23 13:28:44 -07:00
Homu
582ca87bd4 Auto merge of #3451 - zancas:master, r=daira
Revise help output for z_sendmany

The previous version of the usage message for z_sendmany used the word "Change"
in an ambiguous way.

The intent was to describe "Change" the noun that indicates the portion of a
transaction's funds that are returned to the payer, however the context did not
provide an immediate cue to differentiate from the verb form meaning
"to alter".  Indeed, in other help strings in the same file that meaning of the
word is correct, i.e. the verb form is used.  Moreover a typo in the form of a
missing "a" later in the same sentence exacerbated the problem, by decreasing
readability precisely where context could reduce confusion.
2018-08-23 11:23:23 -07:00