Commit Graph

11883 Commits

Author SHA1 Message Date
Homu f649bb36c5 Auto merge of #3303 - LarryRuane:2807-rpc-test-round-fees, r=bitcartel
(rpc-test) accurately account for fee without rounding error

Fix for #2807, this test compares balances after doing key exports and imports, and expects these balances to be equal. But they are not exactly equal due to transaction fees, so the test makes them "equal" by rounding a value that has had fees taken out up to the nearest hundredth of a unit (which is much more than the default fee). This obviously is somewhat sloppy. It also converts a balance to float, which really should never be used due to loss of precision (use Decimal instead).

This change makes the test accurately account for the fee using precise comparisons, and removes the use of float. This test doesn't depend on the default fee (0.0001) but instead sets the fee (to that value). This way, if the default fee changes in the future, this test will continue to run. While testing these changes, I set the fee to various values (up to the max, 0.0190), and the test still passes.
2018-06-22 14:01:48 -07:00
Simon a4ff089b2a Fix pyflakes error in test zkey_import_export. 2018-06-22 11:34:21 -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
Duke Leto e5aa9f617b Fix absurd fee bug reported in #3281, with tests 2018-06-22 05:20:45 +00: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
Sean Bowe 9e8e121c9f Update librustzcash 2018-06-13 15:18:23 -06:00
Homu 3e38e248d5 Auto merge of #3332 - arcalinea:sapling_wallet_classes, r=bitcartel
Add test vectors for sapling key components

Test vectors generated by python implementation here: https://github.com/zcash-hackworks/zcash-test-vectors/pull/4

Not testing note components in this PR
2018-06-13 10:43:47 -07: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
Homu bdec2262d9 Auto merge of #3322 - arielgabizon:master, r=str4d
Naming improvements

- `ZCProof` is a too general name, now that we also have `GrothProof` used in sprout proofs.
So I changed the name of this object to `PHGRProof`.

- In some files `pubKeyHash` was used as a var name, whereas it wasn't the pubkey hash,
but the pubkey itself. So I changed the var name to `joinSplitPubKey`
2018-06-12 03:53:08 -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 74c2f88023 Add release notes for -disabledeprecation removal 2018-06-11 10:41:01 -07: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 847df81f09 Auto merge of #3308 - ioptio:CoC-volunteer, r=daira
include note about volunteers in CoC
2018-06-09 03:17:32 -07:00
Daira Hopwood 3e45258e7c
Update code_of_conduct.md
Wording tweak and line wrapping.
2018-06-09 11:16:43 +01: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
Jack Grigg 341a22ad90
Skip ELF-only sec-hard checks on non-ELF binaries 2018-06-07 18:49:15 +12: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 5e38c24c1d
Add Mach-O 64-bit detection to security-check.py
Fixes sec-hard test on MacOS CI worker. At some point we can extend this with
actual security hardening checks.
2018-06-07 17:49:01 +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
Homu d18212b1d6 Auto merge of #3299 - Eirik0:3248-update-getblocktemplate, r=str4d
Add hashFinalSaplingRoot to getblocktemplate

Closes #3248
2018-06-06 05:00:58 -07:00
Homu b4874e9b09 Auto merge of #3269 - arcalinea:sapling_wallet_classes, r=ebfull
Add Sapling key classes to wallet

Leverages new librustzcash APIs added in https://github.com/zcash/librustzcash/pull/9
2018-06-05 15:46:24 -07:00