Simon
cfcea81238
Update release notes for v2.0.1
2018-10-14 09:23:49 -07:00
Simon
85809c75ad
Update mainnet checkpoint for block 410100.
2018-10-13 08:55:38 -07:00
Simon
61caa46619
For #3359 . Return error if Sapling addresses passed to RPC z_mergetoaddress.
...
RPC z_mergetoaddress does not support Sapling yet but the existing error
reporting was not clear to users.
2018-10-13 08:10:10 -07:00
Simon
de1b86a429
For #3359 . RPCs transferring funds return error if Sapling addresses are used before Sapling activation.
2018-10-12 23:14:06 -07:00
Simon
01918e8742
Update test to verify Sapling nullifiers and witnesses persist correctly.
2018-10-11 21:52:56 -07:00
Simon and Eirik Ogilvie-Wigley
cd10562c73
Resolves Sapling nullifier persistence issue when importing a key.
...
During a rescan, a CWalletTx was persisted to disk before it had its
note data set. This meant that upon restart, the CWalletTx would
potentially be missing its nullifiers causing the wallet's balance
to include notes which had already been spent.
The resolution is to ensure that after a rescan, a CWalletTx is
persisted after it has had its nullifiers set correctly.
Co-authored-by: Eirik Ogilvie-Wigley <eirik@z.cash >
2018-10-11 21:25:53 -07:00
Simon
01282e4fa6
Update wallet_persistence test to verify spending notes after restart.
2018-10-07 16:22:33 -07:00
Simon
08f1baaaca
Update wallet_persistence test to verify wallet txs are persisted across restarts.
2018-10-06 22:53:24 -07:00
Simon
5537bf5cdb
Fix file permissions of QA test wallet_persistence.py
2018-10-06 21:05:30 -07:00
Simon
cb9cff5fdc
Fix deadlock from calling CWallet::AddSaplingIncomingViewingKey instead of CBasicKeyStore::AddSaplingIncomingViewingKey
2018-10-05 21:15:08 -07:00
Simon
4dcc48b8cb
For #3546 . Improve estimated tx size for Sapling outputs.
2018-10-05 11:16:20 -07:00
Simon
c94f4477e8
For #3546 . Shielded tx with missing inputs are not treated as orphans.
2018-10-05 10:48:03 -07:00
Simon
f0dcfceb81
Closes #3560 . Update Sapling note data correctly when importing a key.
2018-10-03 15:40:50 -07:00
Simon
b7549f2aec
Add test that Sapling shielded transactions have MAX_PRIORITY
2018-09-30 17:23:53 -07:00
Simon
5f57babd08
Cleanup to address review comments.
2018-09-28 22:11:05 -07:00
Simon
c0f7e4059d
Fix rebasing of CWallet::GetNullifiersForAddresses
2018-09-28 22:08:07 -07:00
Simon
4c4e1718b1
Update qa test as offline regtest nodes need branch id passed in.
2018-09-21 17:16:44 -07:00
Simon
f1cb49ac86
For #3533 . Replace asserts with JSON errors.
...
This helps prevent users from triggering an assert if they pass in
Sapling addresses to RPC calls: z_mergetoaddress, z_importviewingkey
and z_exportviewingkey.
2018-09-21 15:01:45 -07:00
Simon and Larry Ruane
18f8abb62d
Closes #3534 . Do not use APPROX_RELEASE_HEIGHT to get consensus branch
...
id when in regtest mode.
Co-authored-by: Larry Ruane <larryruane@gmail.com >
2018-09-21 11:10:15 -07:00
Simon
3501519bc8
Update qa test to check for Sapling related JSON fields.
2018-09-17 10:01:50 -07:00
Simon
9ba7479de1
Add Sapling fields to JSON RPC output using TxToJSON.
2018-09-17 09:44:43 -07:00
Simon
17b6a9d376
Update comment for test ContextualCheckBlockTest.BlockSproutRulesRejectOtherTx
2018-09-11 14:49:47 -07: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
Simon
2f4735b3af
make-release.py: Updated release notes and changelog for 2.0.0.
2018-08-15 17:57:50 -07:00
Simon
84b13aee88
make-release.py: Updated manpages for 2.0.0.
2018-08-15 17:57:50 -07:00
Simon
94f7201424
make-release.py: Versioning changes for 2.0.0.
2018-08-15 17:51:39 -07:00
Simon
303f80fb1e
Fix comment in CWallet::SyncMetaData.
2018-08-08 12:03:10 -07:00
Simon
3c3d1f0a38
Clean up wallet unit tests: replace .value() with .get() for clarity.
...
This is to avoid confusion with note.value().
2018-08-08 12:03:10 -07:00
Simon
58a1224d63
Update wallet unit tests to revert upgraded network parameters.
2018-08-08 12:03:10 -07:00
Simon
52d162319d
Add new wallet test: MarkAffectedSaplingTransactionsDirty
...
Also rename MarkAffectedTransactionsDirty to MarkAffectedSproutTransactionsDirty.
2018-08-08 12:03:10 -07:00
Simon
eba096f24e
Add new wallet test: GetConflictedSaplingNotes
2018-08-08 12:03:10 -07:00
Simon
a5ca7967a4
Add new wallet test: SetSaplingNoteAddrsInCWalletTx.
2018-08-08 12:03:10 -07:00
Simon
3afc6ce219
Update CWallet::GetConflicts for Sapling.
2018-08-08 12:03:10 -07:00
Simon
6d8ea4fa82
Fix typo in parameter name.
2018-08-08 12:03:10 -07:00
Simon
9fe34549b1
Fix inaccurate comments in test.
2018-08-08 12:03:10 -07:00
Simon
668ca2974a
Fix typo in variable name in test.
2018-08-08 12:03:10 -07:00
Simon
992a82c649
Rename wallet tests for clarity between Sprout and Sapling.
2018-08-08 12:03:10 -07:00
Simon
f13387486e
Add new wallet tests: SpentSaplingNoteIsFromMe.
2018-08-08 12:03:10 -07:00
Simon
fba4168049
Add new wallet test: UpdatedSaplingNoteData.
2018-08-08 12:03:10 -07:00
Simon
e5df6ec5cc
Add new wallet test: NavigateFromSaplingNullifierToNote
...
Checks caching of Sapling nullifier and mapping to its SaplingOutPoint.
2018-08-08 12:03:10 -07:00
Simon
2f6481f835
Add two new wallet tests: FindMySaplingNotes, SaplingNullifierIsSpent.
2018-08-08 12:03:10 -07:00
Simon
c343e2db9a
Fix code review nits.
2018-08-08 12:03:10 -07:00
Simon
3b6dd486b4
Refactor IsSpent(nullifier) for Sprout and Sapling domain separation.
...
We need separate functions for checking Sprout and Sapling nullifiers,
because they are in separate domains and aren't guaranteed to be
collision-resistant (otherwise there is a possibility of a nullifier
collision, however remote, between Sprout and Sapling causing the spend
of one to prevent the spend of the other).
2018-08-08 12:03:10 -07:00
Simon
ec064abbdf
Iterate over mapSaplingFullViewingKeys with ivk->fvk mapping (1:1).
...
When diversified addresses are supported, iterating over
mapSaplingIncomingViewingKeys will be inefficient as the mapping will
be addresses->ivk (n:1).
2018-08-08 12:03:10 -07:00
Simon
28d3dc8532
Add test for CWalletTx::SetSaplingNoteData()
2018-08-08 12:03:10 -07:00
Simon
f12daeb44a
Clean up names of unit tests in gtest/test_wallet.cpp.
2018-08-08 12:03:10 -07:00
Simon
edfc6a787f
Update CWallet::IsSpent() to check Sapling nullifiers.
2018-08-08 12:03:10 -07:00
Simon
ad1e90dd34
Add caching and updating of Sapling note nullifier.
2018-08-08 12:03:10 -07:00
Simon
f9816408b2
Update CWalletTx::GetAmounts() to return COutputEntry for Sapling valueBalance.
2018-08-08 12:03:10 -07:00
Simon
f686388991
Cleanup CWalletTx::GetAmounts() for clarity. No-op.
2018-08-08 12:03:10 -07:00
Simon
c47c1e9363
Remove dead code in CWalletTx::GetAmounts() as filed in issue #3434 .
2018-08-08 12:03:10 -07:00
Simon
d7cf640bbf
Create CWallet::IsSaplingNullifierFromMe()
2018-08-08 12:03:10 -07:00
Simon
037cacf2ce
Rename IsFromMe(nullifier) to IsSproutNullifierFromMe(nullifier).
2018-08-08 12:03:10 -07:00
Simon
78584ef794
Create CWallet::FindMySaplingNotes()
2018-08-08 12:03:09 -07:00
Simon
d4d0ec7e95
Update test to pass in required cm to SaplingNotePlaintext::decrypt().
2018-08-08 12:03:09 -07:00
Simon
52332fb417
Create CWallet::AddToSaplingSpends() to track Sapling nullifiers.
2018-08-08 12:03:09 -07:00
Simon
3a83e7c9a4
Update CWallet::UpdatedNoteData() for Sapling.
2018-08-08 12:03:09 -07:00
Simon
dae1c4204a
Update CWallet::MarkAffectedTransactionsDirty() for Sapling.
2018-08-08 12:03:09 -07:00
Simon
a132719da5
Add ivk member variable and equality comparators to SaplingNoteData class.
2018-08-08 12:02:27 -07:00
Simon
3438e26cc3
Rename mapTxNullifiers to mapTxSproutNullifiers.
2018-08-08 11:37:38 -07:00
Simon
d5e490d9f2
Rename CWallet::AddToSpends methods for clarity.
2018-08-08 11:37:38 -07:00
Simon
f41bf503e1
Rename mapNullifiersToNotes to mapSproutNullifiersToNotes.
2018-08-08 11:37:38 -07:00
Simon
618206c7d5
Rename GetNoteNullifier to GetSproutNoteNullifier.
2018-08-08 11:37:38 -07:00
Simon
57faf44e61
Rename FindMyNotes to FindMySproutNotes.
2018-08-08 11:37:38 -07:00
Simon
f01c11bd0f
Add tests for expiryheight parameter of RPC createrawtransaction.
2018-07-30 10:24:10 -07:00
Simon
87d55e1322
Clean up help messages for RPC createrawtransaction.
...
Also return error if expiryheight used when Overwinter not active.
2018-07-29 20:57:33 -07:00
Simon
2f0b2a256d
Clean up for rebase: rename mapNoteData to mapSproutNoteData.
2018-07-25 20:47:41 -07:00
Simon
d9fe33b86f
Only check for a valid Sapling anchor after Sapling activation.
...
Before Sapling activates, hashFinalSaplingRoot is 0x0, which is
not a valid anchor. After Sapling activates, the empty root value
of 0x3e49... is a valid anchor.
2018-07-25 20:47:41 -07:00
Simon
e739ca2ef2
Rename AttemptSaplingEncDecryptionUsingFullViewingKey and use function overloading.
2018-07-23 10:48:26 -07:00
Simon
7b913c3e5e
Implement Sapling note decryption using full viewing key.
2018-07-20 16:31:48 -07:00
Simon
687bd96cbd
Minor update to address nits in review.
2018-07-17 14:26:38 -07:00
Simon
0b6eeac330
Update and fix per review comments, the test for absurd fee.
2018-07-17 13:00:42 -07:00
Simon
34bf166e5f
Add encryption of SaplingNotePlaintext and SaplingOutgoingPlaintext classes.
...
This is part of #3061 to add Sapling note functionality.
2018-07-11 22:03:04 -07:00
Simon
720b8ac8ad
make-release.py: Updated release notes and changelog for 1.1.2.
2018-07-01 20:12:33 -07:00
Simon
7163f00303
make-release.py: Updated manpages for 1.1.2.
2018-07-01 20:12:33 -07:00
Simon
8fc73722e8
make-release.py: Versioning changes for 1.1.2.
2018-07-01 20:07:24 -07:00
Simon
3ef8f7abb3
make-release.py: Updated release notes and changelog for 1.1.2-rc1.
2018-06-22 17:03:41 -07:00
Simon
5121fad00c
make-release.py: Updated manpages for 1.1.2-rc1.
2018-06-22 17:03:41 -07:00
Simon
5cbbb7e375
make-release.py: Versioning changes for 1.1.2-rc1.
2018-06-22 16:55:20 -07:00
Simon
a4ff089b2a
Fix pyflakes error in test zkey_import_export.
2018-06-22 11:34:21 -07:00
Simon
e56117f894
Closes #3328 . Send alert to put non-Overwinter nodes into safe mode.
...
The alert targets nodes running protocol version <= 170004.
Overwinter compatible nodes run protocol version >= 170005.
2018-06-22 09:07:12 -07:00
Simon
268e5dfa50
Return optional for Sapling commitments and nullifiers.
...
Unlike Sprout, they are not always computable in Sapling.
2018-06-12 14:40:17 -07:00
Simon
d17f8d1cc7
Refactor and replace factory method random() with constructor.
2018-06-12 14:37:15 -07:00
Simon
36e2e7cc32
Add SaplingNote class and test_sapling_note unit test.
2018-06-12 14:37:05 -07:00
Simon
10a7d55a03
Remove now redundant Rust call to librustzcash_xor.
2018-06-06 23:24:21 -07:00
Simon
c290f8f263
Update release height to block 332000.
2018-05-24 23:09:02 -07:00
Simon
47db75426f
Closes #3301 . Non-void function should not have empty definition.
2018-05-23 21:04:51 -07:00
Simon
f9840089db
Part of #3277 . Add comment about deprecated txdb prefixes.
2018-05-23 20:37:34 -07:00
Simon
5d0172d762
make-release.py: Updated release notes and changelog for 1.1.1-rc2.
2018-05-23 09:28:50 -07:00
Simon
57ef6fba29
make-release.py: Updated manpages for 1.1.1-rc2.
2018-05-23 09:28:49 -07:00
Simon
d3ff27c0a6
make-release.py: Versioning changes for 1.1.1-rc2.
2018-05-23 09:27:59 -07:00
Simon
67f3577239
Closes #3250 . Memo getter should return by reference, not by value.
2018-05-09 21:52:33 -07:00
Simon
54a872f0fa
Fix undefined behaviour, calling memcpy with NULL pointer.
...
Identified as part of audit: Least Authority, Issue D.
2018-04-30 16:41:02 -07:00
Simon
9bd8f092c6
Closes #3178 by adding verbosity level improvements to getblock RPC.
...
This is a follow-up commit for d0a1d833520d120bb5a2ac4cf4192047af6afe24
found in PR #3095 in order to fix nits and add a test.
2018-04-30 11:51:59 -07:00
Simon
bf911b3038
Tweaks to d0a1d83 to complete backport of Bitcoin PR #8704
2018-04-30 09:55:30 -07:00
Simon
debf6af9f8
Move memo member varible from SproutNotePlaintext to BaseNotePlaintext.
...
Add memo() accessor to BaseNotePlaintext.
2018-04-26 15:05:30 -07:00