Commit Graph

11802 Commits

Author SHA1 Message Date
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
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
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
mdr0id
48f1728009 Resolve final edits for README
Update README.md

Update README with final edits
2018-08-22 13:21:35 -07:00
Jack Grigg
d316992f55 rpc: Clarify Sprout shielded addresses in help text 2018-08-22 12:33:30 +01:00
Homu
622751da12 Auto merge of #3444 - LarryRuane:2982-mininode-version, r=str4d
generalize mininode.py protocol versioning

Fixes #2982 -- replace `overwintered` boolean argument to NodeConn constructor with a protocol version integer, so that adding Sapling (and beyond) will be easier.
2018-08-20 09:48:51 -07:00
Jack Grigg
053cb3497d Add Sapling support to z_getbalance and z_gettotalbalance
Closes #3214

Co-authored-by: Sean Bowe <ewillbefull@gmail.com>
2018-08-20 11:35:06 +01:00
Jack Grigg
94e99acda6 Add Sapling support to GetFilteredNotes() and GetUnspentFilteredNotes()
This could in future be refactored to be generic over PaymentAddress and
NotePlaintext in the return type, but for now let's be explicit about which
returned notes are for Sprout vs Sapling, and handle them separately.

Co-authored-by: Sean Bowe <ewillbefull@gmail.com>
2018-08-20 11:34:54 +01:00
Homu
20f87bc226 Auto merge of #3422 - bitcartel:3061_track_notes_based_on_3062, r=str4d
Track Sapling notes and nullifiers in the wallet (in-memory only, no persistence to disk)

Part of #3061.  Add in-memory tracking of Sapling notes and nullifiers to the wallet.
2018-08-17 14:42:52 -07:00
Jack Grigg
c9339bb61f test: Fix comment in WalletTests.FindMySaplingNotes 2018-08-17 21:39:16 +01:00
Homu
d960b75de0 Auto merge of #3472 - bitcartel:release-v2.0.0, r=ebfull
Release v2.0.0
2018-08-16 01:26:25 -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
Homu
4f82febcf1 Auto merge of #3469 - ebfull:sapling-mainnet-activation, r=bitcartel
Set Sapling mainnet activation height

In mainnet, block #419200 is expected to appear on October 28, 2018, Zcash's birthday.

In testnet, block #280000 is expected about a week from now. (Current height is ~275249, plus 4032 blocks for a week, plus a little more just to make the number nice.)

These are the activation heights for Sapling in mainnet and testnet, respectively. Protocol version is also changed.
2018-08-15 15:47:08 -07:00
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