Commit Graph

12061 Commits

Author SHA1 Message Date
Eirik Ogilvie-Wigley 36a490677c Allow passing branchId when calling signrawtransaction 2018-09-17 10:27:39 -06:00
Eirik Ogilvie-Wigley 40b9527301 Incorporate APPROX_RELEASE_HEIGHT when determining what consensus branch to sign with 2018-09-17 10:27:39 -06:00
Eirik Ogilvie-Wigley 19697025c6 Add test for signing raw transactions offline 2018-09-17 10:27:37 -06:00
Eirik Ogilvie-Wigley 5602e1f1a6 Allow passing timeout parameter to wait_and_assert_operationid_status 2018-09-14 18:41:14 -06:00
Eirik Ogilvie-Wigley e39f0e16c2 Remove unused imports 2018-09-14 18:41:14 -06:00
Eirik Ogilvie-Wigley 4d89d020a6 Remove unneeded semicolons 2018-09-14 18:41:14 -06:00
Eirik Ogilvie-Wigley f081d9cb02 Use utility method to wait for async operations 2018-09-14 18:41:14 -06:00
Eirik Ogilvie-Wigley 611f93244b Allow more information to be returned when an async rpc fails 2018-09-14 18:41:14 -06:00
Eirik Ogilvie-Wigley b37dc4e22f Don't export empty zip32 metadata 2018-09-14 18:36:24 -06:00
Eirik Ogilvie-Wigley 2fe39561ec Export zip32 metadata with sapling keys 2018-09-14 17:27:20 -06:00
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
Larry Ruane 6206d86237 Test peer banning logic in both pre- and post-initial block download states 2018-09-12 13:30:01 -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
Jack Grigg 8e057ad9ee
qa: Test both Overwinter and Sapling peer management 2018-09-12 12:15:37 +01:00
Jack Grigg c861137624
net: Check against the current epoch's version when disconnecting peers 2018-09-12 10:17:33 +01:00
Jack Grigg feee210af6
net: Check against the next epoch's version when evicting peers 2018-09-12 10:10:22 +01:00
Jack Grigg 07d3f947ec
Extract a helper method for finding the next epoch 2018-09-12 10:07:44 +01:00
Jack Grigg ebf4c0671e
net: Check against the current epoch's version when rejecting nodes 2018-09-12 09:27:28 +01: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