Commit Graph

7849 Commits

Author SHA1 Message Date
Jack Grigg
54a868cf0a Rename xsk to expsk
xsk will be used for ZIP 32 extended spending keys, so renaming here to
reduce confusion.
2018-07-30 14:26:29 +01:00
Jack Grigg
a8dd4b0cf1 TransactionBuilder: Make fee configurable 2018-07-30 12:52:48 +01:00
Jack Grigg
45c0d1ec84 TransactionBuilder: Add change output to transaction 2018-07-30 12:46:18 +01:00
Jack Grigg
3466b4677e TransactionBuilder: Add support for transparent inputs and outputs 2018-07-30 11:03:29 +01:00
Jack Grigg
3fd0a269e1 test: Move ECC_Start() call into src/gtest/main.cpp 2018-07-27 17:18:49 +02:00
Jack Grigg
25bb05de23 Formatting 2018-07-27 12:17:14 +02:00
Jack Grigg
e5dc5228ea TransactionBuilder: Check that all anchors in a transaction are identical
This reduces the amount of information that is leaked by the choice of anchor.
In future we will make a protocol change to enforce that all inputs use the
same anchor.
2018-07-27 09:46:38 +02:00
Jack Grigg
e691e21f40 TransactionBuilder with support for creating Sapling-only transactions 2018-07-25 11:35:10 +02:00
Jack Grigg
70a7535ae8 Expose note position in IncrementalMerkleWitness 2018-07-24 14:54:07 +02:00
Jack Grigg
66a519f55d Alter SaplingNote::nullifier() to take a SaplingFullViewingKey
This means the API will work if you only have a SaplingExtendedSpendingKey,
as will be the case with ZIP 32.
2018-07-24 14:54:01 +02:00
Homu
a7a62b724b Auto merge of #3391 - bitcartel:3061_sapling_note_encryption, r=ebfull
Sapling note plaintext (encryption and decryption)

Add encryption and decryption of SaplingNotePlaintext and SaplingOutgoingPlaintext classes.

This is part of #3061 to add Sapling note functionality.
2018-07-24 03:27:28 -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
Wladimir J. van der Laan
a9496b08b6 rpc: Register calls where they are defined
Split out methods to every module, apart from 'help' and 'stop' which
are implemented in rpcserver.cpp itself.

- This makes it easier to add or remove RPC commands - no longer everything that includes
    rpcserver.h has to be rebuilt when there's a change there.
- Cleans up `rpc/server.h` by getting rid of the huge cluttered list of function definitions.
- Removes most of the bitcoin-specific code from rpcserver.cpp and .h.

Continues #7307 for the non-wallet.
2018-07-18 11:07:18 -06:00
Daniel Cousens
4b184205e3 rpc: update inline comments to refer to new file paths 2018-07-18 11:07:17 -06:00
Daniel Cousens
4519a766b6 move rpc* to rpc/ 2018-07-18 11:07:16 -06:00
Jonas Schnelli
34aca1b03c [RPC, Wallet] Move RPC dispatch table registration to wallet/ code
Allow extending the rpc dispatch table by appending commands when server is not running.
2018-07-18 11:07:15 -06:00
Homu
aad4b86e95 Auto merge of #3376 - LarryRuane:2728-help-message-experimental, r=bitcartel
add extra help how to enable experimental features

Closes #2728. When the user attempts to execute a disabled experimental RPC, print some nice text explaining how to enable the RPC (either command-line or adding lines to zcash.conf).
2018-07-18 07:45:46 -07:00
Homu
b9bd5ab42c Auto merge of #3354 - leto:absurd_fee_bug, r=bitcartel
Fix absurd fee bug reported in #3281, with tests

This was ported from the Hush `absurd_fee_bug` PR: https://github.com/MyHush/hush/pull/136

Tests executed with `./qa/pull-tester/rpc-tests.sh wallet` and pass on Ubuntu 16.04. Some tests were added for previously untested behavior as well.

Closes #3281.
2018-07-17 15:03:08 -07:00
Simon
687bd96cbd Minor update to address nits in review. 2018-07-17 14:26:38 -07:00
Homu
3835cbb57f Auto merge of #3263 - str4d:ibd-upstream-changes, r=bitcartel
InitialBlockDownload upstream changes

Cherry-picked from the following upstream PRs:

- bitcoin/bitcoin#7208
- bitcoin/bitcoin#8007
- bitcoin/bitcoin#9053
  - Excluding second commit (requires bitcoin/bitcoin#8865)
- bitcoin/bitcoin#10388
2018-07-17 13:17:27 -07:00
Simon
0b6eeac330 Update and fix per review comments, the test for absurd fee. 2018-07-17 13:00:42 -07:00
Homu
13b41a6760 Auto merge of #3156 - Eirik0:2935-change-indicator, r=bitcartel
Add change indicator

This adds to the json returned when calling z_listreceivedbyaddress and z_listuspent an additional field entitiled 'change' which will be either true or false depending on whether or not the note was change from another transaction.
2018-07-17 11:41:03 -07:00
Larry Ruane
66dfcc1369 add extra help how to enable experimental features 2018-07-16 21:31:55 -06:00
Sean Bowe
f23e783600 Decryption and tests of note/outgoing encryption. 2018-07-16 18:34:14 -06:00
Homu
ea0bd9d3b8 Auto merge of #3345 - str4d:sapling-z_validateaddress, r=bitcartel
Add Sapling support to z_validateaddress

Part of #3217.
2018-07-16 15:04:54 -07:00
Eirik Ogilvie-Wigley
0646f749f9 Add change indicator for notes 2018-07-16 14:49:29 -06:00
Homu
b7d058cef3 Auto merge of #3334 - arielgabizon:add_groth_tests, r=bitcartel
Extend JoinSplit tests to Groth

As we now have both PGHR and Groth proofs for Sprout - make the joinsplit tests check the Groth proofs as well.
See https://github.com/zcash/zcash/issues/3266
2018-07-16 12:11:12 -07:00
Duke Leto
4b8c52c65c Improve error message 2018-07-14 05:16:28 +00:00
Duke Leto
75bb5f94f4 Update comment as per @arielgabizon 2018-07-13 19:19:16 +00:00
Ariel Gabizon
589479fd33 Extend Joinsplit tests to Groth 2018-07-13 13:01:34 +02:00
Homu
eea0e2c924 Auto merge of #3390 - arcalinea:3319_discard_sk_if_invalid_ivk, r=str4d
Discard sk if ivk == 0

Addresses #3319
2018-07-13 03:16:21 -07:00
Jay Graber
db9f669c15 Discard sk if ivk == 0 2018-07-12 15:05:19 -07:00
Homu
f55bcd1c10 Auto merge of #3374 - rex4539:fix-typos, r=str4d
Fix typos
2018-07-12 14:25:15 -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
Homu
d86f60f382 Auto merge of #3324 - ebfull:sapling-note-encryption, r=ebfull
Sapling note encryption implementation

Closes #3055

Implemented along with @gtank and @Eirik0

DH key exchange was implemented in https://github.com/zcash/librustzcash/pull/18
2018-07-11 14:51:57 -07:00
Sean Bowe
7478876271 Minor edits 2018-07-11 15:48:41 -06:00
Jack Grigg
bea879157c Add Sapling support to z_validateaddress 2018-07-09 15:38:07 +01:00
Homu
579ad3b13e Auto merge of #3273 - arcalinea:sapling_keys, r=str4d
Sapling keys in keystore, wallet

-  Add/Have/Get SaplingSpendingKey
- Add/Remove/Have/Get SaplingFullViewingKey
- Have/Get SaplingIncomingViewingKey

- SaplingSpendingKeyMap, SaplingFullViewingKeyMap, SaplingIncomingViewingKeyMap

- GenerateNewSaplingZKey()

Not included: note decryptors, crypted keystore
2018-07-06 15:18:39 -07:00
Dimitris Apostolou
ccf9106501 Fix typos 2018-07-06 14:33:24 +03:00
Jay Graber
2173767365 Add crypted keystore sapling add key 2018-07-05 15:00:00 -07:00
Jay Graber
8e91ebf76c Change default_address to return SaplingPaymentAddr and not boost::optional 2018-07-05 14:52:51 -07:00
Jay Graber
f82a864dc1 Add StoreAndRetrieveSaplingSpendingKey test 2018-07-05 14:52:51 -07:00
Jay Graber
f4207d0c0e Add SaplingIncomingViewingKeys map, SaplingFullViewingKey methods 2018-07-05 14:52:46 -07:00
Jay Graber
efb7662d4a Add Sapling Add/Have/Get to keystore 2018-07-05 14:37:33 -07:00
Larry Ruane
c872c1d2df Disable libsnark debug logging in Boost tests 2018-07-05 10:16:13 -06:00
Simon
8fc73722e8 make-release.py: Versioning changes for 1.1.2. 2018-07-01 20:07:24 -07:00
Simon
5cbbb7e375 make-release.py: Versioning changes for 1.1.2-rc1. 2018-06-22 16:55:20 -07:00
Homu
d5dcfa2b01 Auto merge of #3346 - bitcartel:3328_alert_non_overwinter_nodes, r=str4d
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:40:01 -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