Commit Graph

7808 Commits

Author SHA1 Message Date
Sean Bowe
f23e783600 Decryption and tests of note/outgoing encryption. 2018-07-16 18:34:14 -06: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
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
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
Homu
f587e61bda Auto merge of #3259 - leto:signmessage, r=str4d
Clarify help that signmessage only works on taddrs
2018-06-22 02:19:12 -07:00
Homu
f24d1ff546 Auto merge of #3337 - str4d:getblock-finalsaplingroot, r=bitcartel
Add hashFinalSaplingRoot to getblockheader and getblock output
2018-06-19 16:19:13 -07:00
Homu
9acfa0067f Auto merge of #3258 - Eirik0:3056-anchor-test-cases, r=str4d
Add tests for sapling anchors

Closes #3253
2018-06-19 09:28:20 -07:00
Eirik Ogilvie-Wigley
762ee0e896 Rename typename 2018-06-19 10:07:00 -06:00
Eirik Ogilvie-Wigley
115b26cb27 Add BOOST_TEST_CONTEXT to distinguish sprout v. sapling 2018-06-19 10:06:21 -06:00
Homu
2ebde5860e Auto merge of #3326 - str4d:3058-sapling-addresses, r=str4d
Sapling address encodings

This PR enables Sapling keys and addresses to be passed in anywhere Sprout keys
and addresses are used. Doing so will cause crashes until those places are updated
with Sapling support.

Includes code cherry-picked from the following upstream PRs:

- bitcoin/bitcoin#11167
  - Only the `ConvertBits()` function.
- bitcoin/bitcoin#11630

Closes #3058.
2018-06-19 05:12:50 -07:00
Homu
4e3ff06507 Auto merge of #3320 - str4d:macos-tests, r=bitcartel
Fix MacOS tests

Includes code cherry-picked from upstream PR bitcoin/bitcoin#8270.
2018-06-18 19:00:56 -07:00
Sean Bowe
4e1f2daa0d Add get_esk() function to Sapling note encryption. 2018-06-18 13:14:43 -06:00
Jack Grigg
3af4633b4b Add hashFinalSaplingRoot to getblockheader and getblock output 2018-06-15 13:59:28 +12:00
Sean Bowe
c03e22612d Prevent nonce reuse in Sapling note encryption API. 2018-06-14 12:21:28 -06:00
Sean Bowe
90073aeca5 Swap types in OutputDescription to use new NoteEncryption interfaces. 2018-06-14 12:08:37 -06:00
Sean Bowe
9e1c2c4049 Implementation of Sapling in-band secret distribution. 2018-06-14 11:58:45 -06:00
Jay Graber
052d640cb0 Add json test vectors for Sapling key components. 2018-06-13 10:38:32 -07:00
Homu
4f18c693c3 Auto merge of #3272 - bitcartel:3061_sapling_add_notes, r=bitcartel
Add SaplingNote class

Part of #3061, adding SaplingNote class.
2018-06-12 16:58:38 -07:00
Simon
268e5dfa50 Return optional for Sapling commitments and nullifiers.
Unlike Sprout, they are not always computable in Sapling.
2018-06-12 14:40:17 -07:00
Simon
d17f8d1cc7 Refactor and replace factory method random() with constructor. 2018-06-12 14:37:15 -07:00
Simon
36e2e7cc32 Add SaplingNote class and test_sapling_note unit test. 2018-06-12 14:37:05 -07:00
Homu
524171de1f Auto merge of #3137 - str4d:2943-remove-auto-senescence-option, r=ebfull
Remove config option -disabledeprecation

Closes #2943.
2018-06-12 08:51:13 -07:00
Jack Grigg
69aa0d8f28 Use CChainParams::Bech32HRP() in zs_address_test 2018-06-12 18:38:36 +12:00
Jack Grigg
f59093935c Add examples of ConvertBits transformation 2018-06-12 16:51:59 +12:00
Jack Grigg
dd7417c8d0 Add comment about size calculations for converted serialized keys 2018-06-12 15:47:56 +12:00
Jack Grigg
c74ab3356a Remove config option -disabledeprecation
Closes #2943.
2018-06-11 10:38:12 -07:00
Ariel Gabizon
e1a3461cc2 Improve/Fix variable names
ZCProof was too general. pubKeyHash was actually the JoinSplit pubkey
itself.
2018-06-09 20:27:35 -07:00
Homu
de1bc2d389 Auto merge of #3321 - bitcartel:remove_librustcash_xor, r=str4d
Remove now redundant Rust call to librustzcash_xor.

Related to https://github.com/zcash/librustzcash/pull/17 which removes librustzcash_xor from library.
2018-06-07 20:37:07 -07:00
Simon
10a7d55a03 Remove now redundant Rust call to librustzcash_xor. 2018-06-06 23:24:21 -07:00
Jack Grigg
2802e321c1 Fix cached_witnesses_empty_chain test failure on MacOS
Assertion error format is different, so match only on the assertion.
2018-06-07 17:49:05 +12:00
Jack Grigg
bec3e62bc1 Implement encoding and decoding of Sapling keys and addresses 2018-06-07 17:28:50 +12:00
Jack Grigg
c8511dfc07 Fix bech32::Encode() error handling
Previously, an input with invalid characters would result in out-of-bounds
reads, potentially exposing up to 224 bytes of memory following the location of
the CHARSET constant. This commit fixes the function to return an empty string,
which is what was originally documented as happening.
2018-06-07 17:19:44 +12:00
Pieter Wuille
6a2cc8ddc0 Simplify Base32 and Base64 conversions 2018-06-07 17:19:43 +12:00
Pieter Wuille
ac70f76c5d Generalize ConvertBits 2018-06-07 17:19:34 +12:00
Jack Grigg
6b759fb092 ConvertBits() - convert from one power-of-2 number base to another.
Function extracted from upstream:
  PR bitcoin/bitcoin#11167
  Commit c091b99379b97cb314c9fa123beabdbc324cf7a4
2018-06-07 16:42:01 +12:00
Jack Grigg
7e45636707 chainparams: Add Sapling Bech32 HRPs 2018-06-07 16:41:59 +12:00
Homu
80338c07e5 Auto merge of #3237 - str4d:std-array, r=str4d
Replace boost::array with std::array
2018-06-06 19:36:57 -07:00
Jack Grigg
4fb3d05ce9 Whitespace cleanup 2018-06-07 14:35:56 +12:00
Homu
ffba08b0e0 Auto merge of #3318 - Eirik0:3298-fix-getnetworksolps-params, r=bitcartel
Fix parsing parameters in getnetworksolps

This fixes https://github.com/zcash/zcash/issues/3298. The parameters were not correctly being converted.
2018-06-06 10:00:21 -07:00