Commit Graph
8044 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 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
Jack Grigg d316992f55 rpc: Clarify Sprout shielded addresses in help text 2018-08-22 12:33:30 +01:00
Jack Grigg 6c6ed24310 libsnark: Fix stale comment 2018-08-21 18:06:23 +01:00
Jack Grigg 8b3d0ef4e3 libsnark: Use mp_limb_t cast instead of uint64_t when masking bigint.data 2018-08-21 18:05:14 +01:00
Jack Grigg fa92a21a40 libsnark: Adjust SHA256 K value type to match the constant
When used, it is cast to an integer_coeff_t, which is currently a long.
On LP64 systems, this cast is lossless. Issues with LLP64 systems will
be addressed later.
2018-08-21 18:04:50 +01:00
Jack Grigg 831b6af932 Metrics UI: Fall back to 80 cols if GetConsoleScreenBufferInfo() fails 2018-08-21 16:54:40 +01:00
Jack GriggandSean Bowe 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 GriggandSean Bowe 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
David Mercer 8a16251eda libsnark: convert 0ul to UINT64_C(0) 2018-08-17 18:54:04 +01:00
David MercerandDaira Hopwood 32d3a3352e libsnark: convert long long and unsigned long to C++11 fixed-width types
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2018-08-17 18:53:59 +01:00
Jack Grigg 2456eb80ae Metrics UI: Tell Windows users how to stop zcashd
Ctrl+C is not configured for Windows, as it does not work (yet):
https://github.com/Microsoft/vscode/issues/9347
https://github.com/Microsoft/console/issues/57
2018-08-17 16:46:41 +01:00
Jack Grigg 8fa09c244a Metrics UI: Enable virtual terminal sequence processing on Windows
https://docs.microsoft.com/en-us/windows/console/console-virtual-terminal-sequences
2018-08-17 16:46:29 +01:00
Jack Grigg c5b26acad8 Use boost::filesystem::path::string() instead of path::native()
This fixes a mingw32 conversion error during cross-compilation.
2018-08-17 16:46:18 +01:00
Jack Grigg 1dae6e9336 Pass correct compiler, linker, and flags into libsnark 2018-08-17 16:45:55 +01:00
Jack Grigg d10a762fb8 Clean up libzcash CPPFLAGS, CXXFLAGS, and LDFLAGS
By using the flags defined through ./configure instead, libzcash will react to
configuration and build system changes (such as PIC_FLAGS being empty for
Windows builds).
2018-08-17 16:44:05 +01:00
Jack GriggandDavid Mercer ceca40d68f Measure Windows console size for metrics UI
Co-authored-by: David Mercer <radix42@gmail.com>
2018-08-17 16:43:43 +01:00
Simon 94f7201424 make-release.py: Versioning changes for 2.0.0. 2018-08-15 17:51:39 -07:00
Sean Bowe 955b328ad1 Sapling mainnet activation height 2018-08-15 12:09:31 -06: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
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
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