Commit Graph

11892 Commits

Author SHA1 Message Date
Eirik Ogilvie-Wigley ae807af413 Export comment on HDSeed and fingerprint with wallet 2018-09-14 17:26:02 -06:00
Jonas Schnelli 002753ae64 [Wallet] ensure CKeyMetadata.hdMasterKeyID will be cleared during SetNull()
Zcash: modified for zip32
2018-09-14 17:17:24 -06:00
Jonas Schnelli 82e71233b0 [Wallet] print hd masterkeyid in getwalletinfo
Zcash: modified for zip32
2018-09-14 16:59:56 -06:00
Jonas Schnelli b6d1af89f2 [Wallet] extend CKeyMetadata with HD keypath
Zcash: modified for zip32
2018-09-14 16:59:51 -06:00
Eirik Ogilvie-Wigley 9bcf90e2de Add sapling support to z_importwallet 2018-09-14 16:16:03 -06:00
Eirik Ogilvie-Wigley 0f03de5536 Return more information when adding a spending key 2018-09-14 16:00:47 -06:00
Eirik Ogilvie-Wigley fcab001b1e Move AddSpendingKeyToWallet 2018-09-14 15:44:03 -06:00
Eirik Ogilvie-Wigley a0783bb957 Rename AddZKey to include sprout 2018-09-14 15:07:15 -06:00
Eirik Ogilvie-Wigley 5e360fb29f Add sapling spending keys to z_exportwallet 2018-09-14 15:07:15 -06:00
Eirik Ogilvie-Wigley d6b31d59b5 Rename map to include sprout 2018-09-14 15:07:15 -06:00
Homu 0e0f5e4ea7 Auto merge of #3496 - bitcartel:3442_sapling_note_locking, r=str4d
Add Sapling note locking to the CWallet class

Closes #3442.
2018-09-12 09:07:14 -07:00
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
Simon 761f8c8bb8 Add unit test SaplingNoteLocking 2018-09-04 14:56:08 -07:00
Simon b1c693e532 Add methods to store SaplingOutPoint in setLockedSaplingNotes 2018-09-04 14:56:08 -07:00
Simon 0f62cacf0c Refactor: rename ListLockedNotes -> ListLockedSproutNotes 2018-09-04 14:56:08 -07:00
Simon 9ae73247e2 Refactor: rename UnlockAllNotes -> UnlockAllSproutNotes 2018-09-04 14:56:08 -07:00
Simon d358d145ca Refactor: rename setLockedNotes -> setLockedSproutNotes 2018-09-04 14:55:58 -07: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