Commit Graph

9247 Commits

Author SHA1 Message Date
Jack Grigg 268bd84f9a Add coverage of the assertion inside GetNoteWitnesses() 2016-09-01 15:04:57 +12:00
Jack Grigg 73db0c12b9 Increase coverage of GetNoteDecryptor() 2016-09-01 14:44:01 +12:00
Jack Grigg 5abaca1af6 Fix the failing test! 2016-09-01 13:00:02 +12:00
Jack Grigg ac91ebbe92 Add test showing that the witness cache isn't being serialised 2016-09-01 12:47:44 +12:00
Jack Grigg 32a103aab7 Changes after review 2016-09-01 11:48:15 +12:00
Jack Grigg 0736fa14fc Keep any existing cached witnesses when updating transactions 2016-08-31 21:16:59 +12:00
Jack Grigg be86b6c332 Add test for GetNoteDecryptor() 2016-08-31 18:57:32 +12:00
Jack Grigg 1551db870a Add transactions to wallet if we spend notes in them 2016-08-31 18:28:00 +12:00
Jack Grigg 38a6e7a74d Set witness cache size equal to coinbase maturity duration
Both constants have the same implicit assumption: that the blockchain will very
rarely undergo a reorganisation of that size.
2016-08-31 15:26:49 +12:00
Jack Grigg ad20f2149a mapNullifiers -> mapNullifiersToNotes for clarity 2016-08-31 15:11:35 +12:00
Jack Grigg 4086e5ce98 Replace vAnchorCache with a cache size counter
The anchor is obtained from the returned witnesses; since all witnesses are to
the same point (the latest blockchain tip), they all have the same root.
2016-08-31 15:03:42 +12:00
Jack Grigg 3fac1020e7 Remove GetNoteDecryptors(), lock inside FindMyNotes() instead 2016-08-31 02:09:17 +12:00
Jack Grigg de42390f90 Pass ZCIncrementalMerkleTree to wallet to prevent race conditions 2016-08-31 02:00:11 +12:00
Jack Grigg 769e031c1a Update cached incremental witnesses when the active block chain tip changes 2016-08-30 00:29:49 +12:00
Jack Grigg be74c80deb Add caching of incremental witnesses for spendable notes 2016-08-30 00:29:49 +12:00
Jack Grigg 8db7e25c3f Create mapping from nullifiers to received notes
This is used in the same way as CTxIn.prevout (e.g. to mark transactions dirty).
2016-08-30 00:29:49 +12:00
Jack Grigg 0f1060478f Keep track of spent notes, and detect and report conflicts 2016-08-30 00:29:49 +12:00
Jack Grigg c3a7307a69 Store mapping between notes and PaymentAddresses in CWalletTx 2016-08-30 00:29:49 +12:00
Jack Grigg 02e674555e Add wallet method for finding spendable notes in a CTransaction 2016-08-30 00:29:49 +12:00
Jack Grigg 5db5e42ec3 Add optional bool to disable computation of proof in JSDescription constructor 2016-08-30 00:29:49 +12:00
zkbot 77a99f4a2a Auto merge of #1285 - ralphtheninja:zc.v0.11.2.latest, r=daira
update FormatException()

changed module name from "bitcoin" to "Zcash" in FormatException()
2016-08-26 02:06:23 +00:00
Daira Hopwood e7f12c2057 Update steps after D 2016-08-25 21:21:33 +01:00
zkbot 8b139c2441 Auto merge of #1303 - daira:z9-version-number, r=daira
Update version number and add release notes for z9.

refs #1290
2016-08-25 19:32:20 +00:00
Daira Hopwood 727ed5ffa3 Update pchMessageStart for the z9 testnet. ⚧Ⓐ
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-08-25 15:55:51 +01:00
Daira Hopwood d3f6eed98b Update doc/README.md and add z9 release notes.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-08-25 15:07:53 +01:00
Daira Hopwood bda0693aab Increment version number for z9 release.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-08-25 15:07:16 +01:00
zkbot f8b73015bc Auto merge of #1208 - bitcartel:z8_rpc_keys, r=daira
RPC calls to manage zkey creation, management and backup

Rebased on PR #1205 for keystore functionality.

For #1197, implements:
z_getnewaddress
z_importkey
z_exportkey

For #1198, spending key support added to:
z_exportwallet
z_importwallet

Example dump file containing zkeys:
https://gist.github.com/bitcartel/d7013b30b19419c6a550bc5d6ff6cc47

Also adds:
z_listaddresses

Tests in:
gtest/test_wallet_zkeys
test/rpc_wallet_tests
2016-08-25 13:49:05 +00:00
zkbot cca52f36df Auto merge of #1301 - bitcartel:zc.v0.11.2.latest_701_md_formatting, r=daira
Fix formatting of first paragraph of payment API document

The description of taddr and zaddr were bunched up one line.  This PR fixes the issue.

Self-ACK.  Please merge.
2016-08-25 10:09:56 +00:00
Simon d1f16ffe85 Fix formatting. 2016-08-24 21:47:46 -07:00
Simon 3bff998b38 Rename methods to avoid using prefix of _ underscore which is reserved.
Added logging of explicit exception rather than a catch all.
Removed redundant spending key check.
Updated user facing help message.
2016-08-24 11:55:26 -07:00
Simon 4b2e557181 Fix comments. 2016-08-24 11:19:34 -07:00
Simon 309b0ecd80 Add "zkey" to list of key types (used by the wallet to decide
whether or not it can be recovered if it detects bad records).
2016-08-24 11:19:34 -07:00
Simon 79d769a382 Remove one line of dead code. 2016-08-24 11:19:34 -07:00
Simon 2e0cc87acf Fix comment. 2016-08-24 11:19:34 -07:00
Simon badb9a9c2f Add test coverage for RPC call z_getnewaddress. 2016-08-24 11:19:34 -07:00
Simon 60f762a549 Added wallet rpc tests to cover:
z_importwallet, z_exportwallet
z_importkey, z_exportkey
z_listaddresses
2016-08-24 11:19:34 -07:00
Simon 0feffd1424 Don't mark wallet as dirty if key already exists.
Fix incorrect method name used in error message.
2016-08-24 11:19:33 -07:00
Simon 4cea36bef3 Add gtest to cover new methods in:
CWallet
- GenerateNewZKey()
- AddZKey()
- LoadZKey()
- LoadZKeyMetadata()
CWalletDB
- WriteZKey()
2016-08-24 11:19:33 -07:00
Simon e709997ff2 Implemented z_listaddresses to return all the zaddr in the wallet. 2016-08-24 11:19:33 -07:00
Simon 92444edc00 Add z_importwallet and z_exportwallet to handle keys for both
taddr and zaddr.  Restore behaviour of dumpwallet and importwallet
to only handle taddr.
2016-08-24 11:19:33 -07:00
Simon c1c4594371 Implemented RPC calls z_importkey, z_exportkey, z_getnewaddress.
Modified RPC calls dumpwallet and importwallet to include spending keys.
2016-08-24 11:19:33 -07:00
zkbot 2833fb14af Auto merge of #1291 - daira:decrease-max-headers-results, r=daira
Decrease MAX_HEADERS_RESULTS to 1000. fixes #1289

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-08-24 05:45:53 +00:00
Daira Hopwood b93c8139e6 Decrease MAX_HEADERS_RESULTS to 160. fixes #1289
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-08-24 06:14:09 +01:00
Daira Hopwood bcf79c78c5 Change some asserts in equihash.cpp to be static.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-08-24 06:13:13 +01:00
Daira Hopwood c6a7e897bc Add mostly-static checks on consistency of Equihash parameters, MAX_HEADERS_RESULTS, and MAX_PROTOCOL_MESSAGE_LENGTH.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-08-24 06:13:06 +01:00
zkbot cab581256f Auto merge of #1292 - bitcartel:zc.v0.11.2.latest_701_rpc_docs, r=daira
Closes #701 by adding documentation about the Payment RPC interface.

@daira Calls which might not make it into z9 are labelled (NOT IN Z9 ALPHA).
2016-08-24 05:05:11 +00:00
zkbot cd9d373987 Auto merge of #1260 - str4d:1175-byte-array-manipulation, r=ebfull
Update Equihash implementation to match the Zcash spec

Closes #1175
2016-08-24 03:01:13 +00:00
Jack Grigg 90b740fd3b Test conversion between solution indices and minimal representation 2016-08-24 13:42:52 +12:00
bitcartel 5f3f741e47 Add note about zkey and encrypted wallets in z9 alpha. 2016-08-23 15:33:05 -07:00
Simon 73f9e32b86 Closes #701 by adding documentation about the Payment RPC interface. 2016-08-23 00:37:43 -07:00