Commit Graph

11892 Commits

Author SHA1 Message Date
Sean Bowe 955b328ad1 Sapling mainnet activation height 2018-08-15 12:09:31 -06:00
Marius Kjærstad 92ebe65724
Fix for license not being valid
This has to be included to not violate the license.

Ref: https://github.com/bitcoin/bitcoin/blob/master/COPYING
2018-08-15 13:37:08 +02:00
Homu e868f8247f Auto merge of #3463 - ebfull:revert-empty-root, r=ebfull
Always write the empty root down as the best root, since we may roll back

In [`3577de83`](3577de83aa) we started not writing the Sapling empty root down as the "best" anchor because we had changed the encodings and didn't want users who compiled from master to have inconsistent coindb's in the future if the encoding changed again for some reason.

However, if we don't write the empty root down then during rollbacks to Sapling activation we leave the best anchor on disk different from what's in the cache, which will trigger an assertion.

This reverts the change from `3577de83` since we've settled on the encodings.
2018-08-14 17:18:47 -07:00
Sean Bowe f791ce00eb Always write the empty root down as the best root, since we may roll back. 2018-08-14 15:17:30 -06:00
Homu b004f254d5 Auto merge of #3458 - str4d:temp-sapling-disable, r=ebfull
Disable Sapling features on mainnet

Also places them behind an experimental features flag on testnet.
2018-08-14 08:52:46 -07:00
Jack Grigg 554e00e8f9
Disable Sapling features on mainnet
Also places them behind an experimental features flag on testnet
2018-08-13 14:18:18 +01:00
Jack Grigg dfcf33fe15
test: Use regtest in key_tests/zs_address_test 2018-08-13 14:17:17 +01:00
Jack Grigg e7ca4eb3c3
test: gtest for Sapling encoding and decoding 2018-08-13 13:20:07 +01:00
Homu d54bf1dbda Auto merge of #3453 - ebfull:release-v2.0.0-rc1, r=bitcartel
Release v2.0.0 rc1

Doesn't contain "Notable changes" section in release notes, is that okay for an RC?
2018-08-09 11:44:52 -07:00
Sean Bowe c2f661109d
make-release.py: Updated release notes and changelog for 2.0.0-rc1. 2018-08-09 16:56:56 +00:00
Sean Bowe 27f678b974
make-release.py: Updated manpages for 2.0.0-rc1. 2018-08-09 16:56:56 +00:00
Sean Bowe 3e9aec2a37
make-release.py: Versioning changes for 2.0.0-rc1. 2018-08-09 16:46:45 +00:00
Homu 75286ba19b Auto merge of #3438 - Eirik0:3424-change-field-improvement, r=bitcartel
Only include the change field if we have a spending key

Closes #3424
2018-08-08 13:47:40 -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
Sean Bowe 69c4391b0f Check commitment validity within the decryption API for Sapling note plaintexts. 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
Za Wilcox da85cdfe27 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-08 12:57:27 -06: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