Commit Graph
100 Commits
Author SHA1 Message Date
Simon f01c11bd0f Add tests for expiryheight parameter of RPC createrawtransaction. 2018-07-30 10:24:10 -07:00
Simon 87d55e1322 Clean up help messages for RPC createrawtransaction.
Also return error if expiryheight used when Overwinter not active.
2018-07-29 20:57:33 -07:00
Simon 2f0b2a256d Clean up for rebase: rename mapNoteData to mapSproutNoteData. 2018-07-25 20:47:41 -07:00
Simon d9fe33b86f Only check for a valid Sapling anchor after Sapling activation.
Before Sapling activates, hashFinalSaplingRoot is 0x0, which is
not a valid anchor.  After Sapling activates, the empty root value
of 0x3e49... is a valid anchor.
2018-07-25 20:47:41 -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
Simon 687bd96cbd Minor update to address nits in review. 2018-07-17 14:26:38 -07:00
Simon 0b6eeac330 Update and fix per review comments, the test for absurd fee. 2018-07-17 13:00:42 -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
Simon 720b8ac8ad make-release.py: Updated release notes and changelog for 1.1.2. 2018-07-01 20:12:33 -07:00
Simon 7163f00303 make-release.py: Updated manpages for 1.1.2. 2018-07-01 20:12:33 -07:00
Simon 8fc73722e8 make-release.py: Versioning changes for 1.1.2. 2018-07-01 20:07:24 -07:00
Simon 3ef8f7abb3 make-release.py: Updated release notes and changelog for 1.1.2-rc1. 2018-06-22 17:03:41 -07:00
Simon 5121fad00c make-release.py: Updated manpages for 1.1.2-rc1. 2018-06-22 17:03:41 -07:00
Simon 5cbbb7e375 make-release.py: Versioning changes for 1.1.2-rc1. 2018-06-22 16:55:20 -07:00
Simon a4ff089b2a Fix pyflakes error in test zkey_import_export. 2018-06-22 11:34:21 -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
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
Simon 10a7d55a03 Remove now redundant Rust call to librustzcash_xor. 2018-06-06 23:24:21 -07:00
Simon c290f8f263 Update release height to block 332000. 2018-05-24 23:09:02 -07:00
Simon 47db75426f Closes #3301. Non-void function should not have empty definition. 2018-05-23 21:04:51 -07:00
Simon f9840089db Part of #3277. Add comment about deprecated txdb prefixes. 2018-05-23 20:37:34 -07:00
Simon 5d0172d762 make-release.py: Updated release notes and changelog for 1.1.1-rc2. 2018-05-23 09:28:50 -07:00
Simon 57ef6fba29 make-release.py: Updated manpages for 1.1.1-rc2. 2018-05-23 09:28:49 -07:00
Simon d3ff27c0a6 make-release.py: Versioning changes for 1.1.1-rc2. 2018-05-23 09:27:59 -07:00
Simon 67f3577239 Closes #3250. Memo getter should return by reference, not by value. 2018-05-09 21:52:33 -07:00
Simon 54a872f0fa Fix undefined behaviour, calling memcpy with NULL pointer.
Identified as part of audit: Least Authority, Issue D.
2018-04-30 16:41:02 -07:00
Simon 9bd8f092c6 Closes #3178 by adding verbosity level improvements to getblock RPC.
This is a follow-up commit for d0a1d833520d120bb5a2ac4cf4192047af6afe24
found in PR #3095 in order to fix nits and add a test.
2018-04-30 11:51:59 -07:00
Simon bf911b3038 Tweaks to d0a1d83 to complete backport of Bitcoin PR #8704 2018-04-30 09:55:30 -07:00
Simon debf6af9f8 Move memo member varible from SproutNotePlaintext to BaseNotePlaintext.
Add memo() accessor to BaseNotePlaintext.
2018-04-26 15:05:30 -07:00
Simon d266f40393 Create class hierarchy for SproutNotePlaintext.
BaseNotePlaintext contains member variable for common attribute, value.
2018-04-26 15:05:30 -07:00
Simon 5020a93631 Refactoring: rename NotePlaintext --> SproutNotePlaintext
Also renames:
CNotePlaintextEntry --> CSproutNotePlaintextEntry
CUnspentNotePlaintextEntry --> CUnspentSproutNotePlaintextEntry
2018-04-26 15:05:30 -07:00
Simon 9354f8e568 Remove unused SproutNote variables. 2018-04-26 15:05:30 -07:00
Simon 5f4fa1a954 Add virtual destructor to SproutNote and BaseNote
Also add test to make sure default copy constructors are okay.
2018-04-26 15:05:30 -07:00
Simon 5d99e3e92f Refactoring: SproutNote member variable value moved to BaseNote.
All notes have a value, so the member variable has been moved to the
base class, and direct member access has been replaced with a getter.
2018-04-26 15:05:19 -07:00
Simon b230fe6836 Refactoring: Rename class libzcash::Note to libzcash::SproutNote. 2018-04-25 11:33:24 -07:00
Simon bef33bbc73 Refactoring: libzcash::Note is now a subclass of libzcash::BaseNote. 2018-04-25 11:33:16 -07:00
Simon a0c977ca61 Closes #3134 - Least Authority Issue E
CTxMemPool::check() does nothing when turned on, due to overflow.
2018-04-10 20:45:36 -07:00
Simon 61624ed05d Part of #2966, extending Sprout tests to other epochs.
This continues the work started in PR #3109.
2018-04-09 16:17:30 -07:00
Simon 6901d30830 Fix test to check for sanitized string from alertnotify.
If client version is 1.1.0-rc1, the alertnotify message will have
been sanitized and will show as 1.1.0rc1.
2018-04-04 21:55:20 -07:00
Simon 7cc423522f Bump MIT Licence copyright header. 2018-04-04 10:16:06 -07:00
Simon 2742b20833 Use range based for loop
Instead of iterating over 0 .. 1 and then deciding on an actual desired
value, use a range based for loop for the desired value.

Adapted from d0413c670b4e5dc79d5cc1bc35571fca745c9a24
Authored-by: René Nyffenegger <mail@renenyffenegger.ch>
2018-04-04 09:57:59 -07:00
Simon 09bf7d2d3c Upgrade OpenSSL to 1.1.0h 2018-03-29 23:05:17 -07:00
Simon d72c19a662 Closes #2910. Add z_listunspent RPC call. 2018-03-28 10:38:57 -07:00
Simon 8b15afd315 Closes #3110. Ensure user can see error message about absurdly high fees. 2018-03-27 10:23:24 -07:00
Simon 2b0783792b Update boost package URL to match official download url on boost.org 2018-03-27 09:39:06 -07:00
Simon 68cc953012 Part of #2966, extending Sprout tests to other epochs.
Tests updated:
- test_Get
- test_simple_joinsplit_invalidity
2018-03-26 16:22:37 -07:00
Simon bbcdabc28d Update boost to 1.66.0 2018-03-23 15:07:17 -07:00
Simon b740a99079 Remove local function wait_and_assert_operationid_status which is
now defined in the test framework for shared usage.
2018-03-16 17:16:22 -07:00
Simon 2f761371d2 Add qa test for cache invalidation bug found in v1.0.0 to v1.0.3. 2018-03-16 15:18:34 -07:00
Simon eb13862667 Closes #3084. Log txid when removing expired txs from mempool. 2018-03-16 11:46:39 -07:00
Simon a510b4752d Enable mempool logging in tx expiry QA test. 2018-03-16 11:45:45 -07:00
Simon 7e9d662ef6 Code clean up. Remove use of X macro. 2018-03-05 15:00:33 -08:00
Simon b6e5cc7d27 Add python qa test overwinter_peer_management. 2018-02-23 14:22:43 -08:00
Simon 72b2192950 Overwinter peer management and network handshaking.
Implements ZIP 201.
2018-02-23 14:21:27 -08:00
Simon 2423a40c08 Add field nProtocolVersion to struct NetworkUpgrade. 2018-02-23 14:05:13 -08:00
Simon 07f94352ad Closes #2954 and #2959. Fixes Overwinter issues in sighash_tests. 2018-02-23 01:40:05 +00:00
Simon e6cd2a8356 Closes #2964. z_sendmany once again makes v1 tx for taddr to taddr.
In accordance with the Zcash protocol spec.
2018-02-22 15:43:42 +00:00
Simon fa78211ed7 Add test to check malformed v1 transaction against Overwinter tx parser 2018-02-16 15:42:04 -08:00
Simon 072099d788 Implementation of Overwinter transaction format ZIP 202. 2018-02-16 10:10:15 -08:00
Simon 03a61ed87c Remove redundant service flag NODE_GETUTXO meant for Bitcoin XT.
This frees up a service bit.  Zcash has never used this flag
and upstream Bitcoin Core does not support this flag, although
it did reserve it for compatibility with Bitcoin XT.
2018-01-19 17:22:54 -08:00
Simon d2b77b7afa Add note about dbcache to 1.0.15 release notes.
Adapted from upstream release notes here:
https://github.com/bitcoin/bitcoin/blob/master/doc/release-notes/release-notes-0.14.1.md#utxo-memory-accounting
2018-01-19 16:52:25 -08:00
Simon 334d591377 Add documentation about dbcache.
Adapted from documentation 'Reducing bitcoind memory usage' by @laanwj
https://gist.github.com/laanwj/efe29c7661ce9b6620a7
2018-01-17 16:55:26 -08:00
Simon 5befbed4bc Fixes #2793. Backport commit f33afd3 to increase dbcache default. 2018-01-15 23:17:34 -08:00
Simon 61345ae703 Closes #2746. Payment disclosure blobs now use 'zpd:' prefix. 2017-12-07 10:11:43 -08:00
Simon 159aa37fc0 Closes #2759. Fixes broken pipe error with QA test wallet.py. 2017-11-22 00:02:52 -08:00
Simon 43f5d52123 Add documentation for payment disclosure. 2017-11-20 16:55:10 -08:00
Simon f4f064bb1f Add documentation for shielding coinbase utxos. 2017-11-20 13:44:31 -08:00
Simon ba1dbb3040 RPC dumpwallet and z_exportwallet updated to no longer allow
overwriting an existing file.
2017-11-16 22:29:37 -08:00
Simon 45232b1961 Add payment disclosure as experimental feature. 2017-11-14 13:29:05 -08:00
Simon 337bca8125 Fix an issue where qa test wallet_shieldcoinbase could hang.
The mempool was not synced so a block could be generated and not
clear out the mempool.  This would then cause subsequent code
which expected the mempool of all nodes to be empty to hang.
2017-11-03 00:39:23 -07:00
Simon c5dabd2b66 Closes #2639. Adds optional limit parameter with a default value of 50.
The new parameter is to satisfy the principle of least astonishment
by providing a sensible default for the maximum number of transparent
inputs to shield.  If users do not configure -mempooltxinputlimit
it is possible for them to create transactions with hundreds of
inputs which suffer from mining delay, due to the current state of
the network where some miners have configured -mempooltxinputlimit
as a way to deal with the problem of quadratic hashing.
2017-11-01 10:40:24 -07:00
Simon 1051242926 Closes #2576. Update link to security info on z.cash website. 2017-10-31 20:31:40 -07:00
Simon cf72e8e06e Closes #2263 fixing broken pipe error. 2017-10-30 11:58:37 -07:00
Simon c2d3bafeaa Closes #2639. z_shieldcoinbase is now supported, no longer experimental.
This reverts commit 5023af7bd5.
2017-10-26 11:29:36 -07:00
Simon 6de850120f Replace 'bitcoin address' with 'zcash address'. 2017-10-04 17:07:07 -07:00
Simon 5023af7bd5 Closes #2637. Make z_shieldcoinbase an experimental feature where it
can be enabled with: zcashd -experimentalfeatures -zshieldcoinbase.
2017-09-27 10:43:54 -07:00
Simon b85008e786 Update which lock to synchronize on when calling GetBestAnchor(). 2017-09-26 10:16:33 -07:00
Simon 06c19063bb Implement RPC shield_coinbase #2448. 2017-09-21 15:04:12 -07:00
Simon 5a0721f0fe Set up a clean chain.
Delete redundant method wait_until_miner_sees() via use of sync_all().
2017-09-19 20:42:53 -07:00
Simon b17e1b4080 Closes #2583. Exclude watch-only utxos from z_sendmany coin selection. 2017-09-19 19:42:48 -07:00
Simon 9b5da42745 Fixes #2480. Null entry in map was dereferenced leading to a segfault. 2017-07-14 00:10:54 -07:00
Simon b639bb1eef Fixes #2519. When sending from a zaddr, minconf cannot be zero. 2017-07-11 11:29:43 -07:00
Simon d77a0ac4a0 Closes #2446 by adding generated field to listunspent.
If generated is true, the unspent transaction output is from a
coinbase transaction and can only be sent to a shielded address.
2017-07-11 10:44:36 -07:00
Simon 2762b68576 make-release.py: Updated release notes and changelog for 1.0.10-1. 2017-06-23 19:50:41 -07:00
Simon a0a3eb70b9 make-release.py: Updated manpages for 1.0.10-1. 2017-06-23 19:50:40 -07:00
Simon d444e1cf40 make-release.py: Versioning changes for 1.0.10-1. 2017-06-23 19:43:29 -07:00
Simon 99f6d5da6c Fix #b1eb4f2 so test checks sendfrom as originally intended.
Also reduce number of z_sendmany calls made so test runs quicker.
2017-06-20 22:49:47 +00:00
Simon d8616d012a Partial revert & fix for commit 9e84b5a ; code block in wrong location. 2017-06-19 21:11:34 -07:00
Simon 9e84b5aa0d Check mempooltxinputlimit when creating a transaction to avoid local
mempool rejection.
2017-06-17 14:41:25 -07:00
Simon da6d93916d Add option 'mempooltxinputlimit' so the mempool can reject a transaction
based on the number of transparent inputs.
2017-06-16 19:31:33 -07:00
Simon c93a0872e8 Fix intermediate vpub_new leakage in multi joinsplit tx (#1360) 2017-06-13 23:21:53 -07:00
Simon b9f6e40c9c Patch to build Proton with minimal dependencies.
Closes #2279.  Configures CMake to enable C++11, build static libaries
and only build cpp bindings with minimal dependencies. Documentation,
examples, tests and other language bindings are no longer built.
CMake will no longer try to find commands and packages which are not
required for building the target.
2017-04-28 12:03:37 -07:00
Simon 05844ba53b Change regtest port to 18344. Closes #2269. 2017-04-16 14:48:04 -07:00
Simon 56f66372c5 Fix proton build issue with debian jessie, as used on CI servers.
Debian 8 stable ships with gcc 4.9.2 and cmake 3.0.2.  Previously
the depends package used CMAKE_CXX_STANDARD to tell cmake to use
C++11, but the option requires cmakes 3.1+.  To resolve the issue
we now update relevant CMakeLists.txt and set CMAKE_CXX_FLAGS.
2017-04-16 00:30:58 -07:00
Simon f493d3e044 Add --disable-proton flag to build.sh. Proton has build/linker issues with gcc 4.9.2 and requires gcc 5.x. 2017-03-25 09:41:54 -07:00
Simon 99eb947a98 Add AMQP 1.0 support via Apache Qpid Proton C++ API 0.17.0 2017-03-25 08:51:40 -07:00
Simon 7d3b152897 Closes #2186. RPC getblock now accepts height or hash. 2017-03-23 19:25:04 -07:00