Jack Grigg
70420ff34f
Test calling z_mergetoaddress to merge notes while a note merge is ongoing
2018-04-10 00:44:26 -07:00
Jack Grigg
67b849d7d4
Fix z_importviewingkey startHeight parameter
...
Closes #2937 .
2018-04-10 00:39:52 -07:00
Jack Grigg
132a255000
Add link to Overwinter info page
2018-03-13 00:47:10 +00:00
Jack Grigg
a6ae8f55ae
Split declaration and definition of SPROUT_BRANCH_ID constant
...
Fixes an initialization-order-fiasco error detected by ASan:
https://ci.z.cash/#/builders/7/builds/149
2018-03-09 09:42:20 +00:00
Jack Grigg and Robert Seacord
c4379e3a22
Add configure flags for enabling ASan/UBSan and TSan
...
Co-authored-by: Robert Seacord <rcseacord@gmail.com >
2018-03-01 16:04:42 +00:00
Jack Grigg
326fc65e66
Add environment variable for setting ./configure flags in zcutil/build.sh
...
Closes #2066 .
2018-03-01 16:04:12 +00:00
Jack Grigg
25b080a33b
make-release.py: Updated release notes and changelog for 1.0.15.
2018-02-28 16:58:19 +00:00
Jack Grigg
f58b1536b4
make-release.py: Updated manpages for 1.0.15.
2018-02-28 16:58:10 +00:00
Jack Grigg
1d6f7acf4d
make-release.py: Versioning changes for 1.0.15.
2018-02-28 16:44:07 +00:00
Jack Grigg
138cf77004
Overwinter release notes and testnet activation height
...
Closes #2957 .
2018-02-28 13:19:36 +00:00
Jack Grigg and Brad Miller
704b76358d
Use block hash comparison for consistency check when loading block index
...
The Equihash check caused block index loading to take around 38x longer.
However, we don't need to check it directly, as the only paths to writing a
block header to disk already go through a proof-of-work check (e.g. receiving a
block over the network). By forcing the block header inside the CBlockIndex to
be re-serialized, we retain the benefits of the consistency check without the
overhead at startup.
Co-authored-by: Brad Miller <brad@z.cash >
2018-02-27 00:47:56 +00:00
Jack Grigg
34ce29b3ee
make-release.py: Updated release notes and changelog for 1.0.15-rc1.
2018-02-24 04:20:05 +00:00
Jack Grigg
7d0c1df409
make-release.py: Updated manpages for 1.0.15-rc1.
2018-02-24 04:17:59 +00:00
Jack Grigg
1dd95be4a9
make-release.py: Versioning changes for 1.0.15-rc1.
2018-02-24 04:08:36 +00:00
Jack Grigg
15ced9b153
wallet_mergetoaddress: Add additional syncs to prevent race conditions
2018-02-23 04:28:04 +00:00
Jack Grigg
713b366231
Regenerate sighash tests
2018-02-23 01:40:08 +00:00
Jack Grigg
50a90615af
Document that consensus.chaintip != consensus.nextblock just before an upgrade
2018-02-22 14:01:43 +00:00
Jack Grigg
4c3d2b3bbe
Check upgrade status in wallet_overwintertx RPC test
2018-02-22 13:44:40 +00:00
Jack Grigg
2bda6a9b22
Add z_mergetoaddress to release notes
2018-02-22 13:23:25 +00:00
Jack Grigg
553a5c1ab2
Gate z_mergetoaddress as an experimental feature
2018-02-22 13:23:25 +00:00
Jack Grigg
6e9c7629af
Implement z_mergetoaddress for combining UTXOs and notes
...
Closes #2493 .
2018-02-22 13:23:18 +00:00
Jack Grigg
44488400c1
Check Equihash solution when loading block index
2018-02-21 22:37:19 +00:00
Jack Grigg
ed9aa2b62a
Add branch IDs for current and next block to getblockchaininfo
...
Closes #2974 .
2018-02-21 21:18:03 +00:00
Jack Grigg
bdbe8e8591
Extend CWallet::GetFilteredNotes to enable filtering on a set of addresses
2018-02-20 13:19:07 +00:00
Jack Grigg
4553901850
Use v3 transactions with caching for validatelargetx benchmark
2018-02-20 04:22:22 +00:00
Jack Grigg
818b94f94f
Make number of inputs configurable in validatelargetx test
2018-02-20 04:22:22 +00:00
Jack Grigg
a3353b4e01
Regenerate SignatureHash tests
2018-02-20 04:22:21 +00:00
Jack Grigg
d55e5e778b
Cleanup: Wrap function arguments
2018-02-20 04:22:21 +00:00
Jack Grigg
be12669982
Add consensus branch ID parameter to SignatureHash, remove SigVersion parameter
...
We do not need to be able to calculate multiple SignatureHash versions for a
single transaction format; instead, we use the transaction format to determine
the SigVersion.
The consensus branch ID *does* need to be passed in from the outside, as only
the caller knows the context in which the SignatureHash is being calculated
(ie. mempool acceptance vs. block validation).
JoinSplit signature verification has been moved into ContextualCheckTransaction,
where the consensus branch ID can be obtained.
The argument to the sign command for zcash-tx has been modified to take a height
in addition to the optional sigtype flags.
2018-02-20 04:22:20 +00:00
Jack Grigg
e005ff83ab
Remove P2WPKH and P2WSH from signing logic
...
Separated from the previous commit for ease of review.
2018-02-20 04:22:19 +00:00
Jack Grigg
34a64fe0a2
Remove mempool transactions which commit to an unmineable branch ID
2018-02-20 02:57:44 +00:00
Jack Grigg
cb580c7241
Add rollback limit to block index rewinding
...
This will prevent users from starting their nodes if they switch between
software versions that implement different network upgrades. It will also
prevent users from using the testnet if they have more than MAX_REORG_LIMIT
post-upgrade blocks, and the upgrade point is shifted in a newer software
version.
2018-02-19 16:32:45 +00:00
Jack Grigg
57e6ecda5a
Implement roll-back limit for reorganisation
...
Closes #713 .
2018-02-19 16:32:42 +00:00
Jack Grigg
46d3762a90
Update SignatureHash tests for transaction format changes
...
The test uses randomly-generated transactions, some of which fell outside the
actual consensus rules.
2018-02-16 10:10:35 -08:00
Jack Grigg
cad27eb77f
Update quote from ZIP 200
2018-02-06 23:18:56 +00:00
Jack Grigg
5009136dc3
Change UI/log status message for block rewinding
2018-02-06 22:49:08 +00:00
Jack Grigg
828940b163
Use a boost::optional for nCachedBranchId
...
This enables us to distinguish between it being unset vs. being set to zero.
2018-02-06 22:42:18 +00:00
Jack Grigg
149d69e36b
Add method for fetching the next activation height after a given block height
2018-02-04 22:58:42 +00:00
Jack Grigg
548683767c
Add Overwinter to upgrade list
2018-02-04 22:58:42 +00:00
Jack Grigg
9e851450ab
Adjust rewind logic to use the network upgrade mechanism
2018-02-04 22:58:42 +00:00
Jack Grigg
f52da91139
Test network upgrade logic
...
Also demonstrates how to specify a network upgrade.
2018-02-04 22:58:39 +00:00
Jack Grigg
b174b7e330
Allow changing network upgrade parameters on regtest
...
Derived from upstream commit 56c87e92110f05d7452f1e85bf755246ffc77206:
Allow changing BIP9 parameters on regtest
2018-02-04 22:57:59 +00:00
Jack Grigg
780f526bc9
Network upgrade activation mechanism
2018-02-04 22:57:56 +00:00
Jack Grigg
35d64c1fde
Use JoinSplitTestingSetup for Boost sighash tests
...
Symptom: When running all tests, the test suite passed. But when running the
sighash tests on their own, the test suite segfaulted.
Cause: The sighash tests depend on the proving parameters being accessible, but
BasicTestingSetup doesn't load them.
2018-01-31 15:31:51 +00:00
Jack Grigg
9e8f1d09ca
zkey_import_export: Synchronize mempools before mining
...
Resolves a race condition that caused the RPC test to intermittently fail.
Closes #2892 .
2018-01-22 21:10:57 +00:00
Jack Grigg
40ebf08ff8
Add viewing key prefix to regtest parameters
2018-01-22 15:32:52 +00:00
Jack Grigg
ff145dfe32
Add missing namespace for boost::get
2018-01-22 10:30:41 -05:00
Jack Grigg
6bfa0fb79d
make-release.py: Updated release notes and changelog for 1.0.14.
2018-01-03 23:54:16 +01:00
Jack Grigg
d3c1949cf1
make-release.py: Updated manpages for 1.0.14.
2018-01-03 23:54:00 +01:00
Jack Grigg
2091cf23ae
make-release.py: Versioning changes for 1.0.14.
2018-01-03 23:44:51 +01:00
Jack Grigg
44e5b42751
Check chainValueZat when checking value pool monitoring
2018-01-03 23:41:53 +01:00
Jack Grigg
2941e075a3
Enable Bash completion for -exportdir
2018-01-02 16:41:41 +01:00
Jack Grigg
5cbf238b96
Update release process
2017-12-22 10:13:40 +00:00
Jack Grigg
ea6ec713ea
make-release.py: Updated release notes and changelog for 1.0.14-rc1.
2017-12-22 10:12:41 +00:00
Jack Grigg
f059d52038
make-release.py: Updated manpages for 1.0.14-rc1.
2017-12-22 10:12:30 +00:00
Jack Grigg
275f21ad4b
make-release.py: Versioning changes for 1.0.14-rc1.
2017-12-22 09:59:01 +00:00
Jack Grigg
5d9cf8ae23
Fix pyflakes warnings in zkey_import_export RPC test
2017-12-21 18:19:42 +00:00
Jack Grigg
5d8ab776f0
Exclude beta and RC release notes from author tallies
...
(except for pre-1.0.0, per previous commit)
2017-12-21 00:29:41 +00:00
Jack Grigg
fd08c50247
Regenerate previous release notes to conform to new format
...
Pre-1.0.0 release notes are excluded, as they were operating under a different
RC timeline, and make more sense separated.
2017-12-21 00:29:41 +00:00
Jack Grigg
d436db662c
release-notes.py: Remove unnecessary parameter
2017-12-21 00:29:41 +00:00
Jack Grigg
2b38d11eda
Create release notes starting from the previous non-beta non-RC release
2017-12-21 00:29:33 +00:00
Jack Grigg
5221220c6c
Add release notes for incoming viewing keys
2017-12-20 18:14:40 +00:00
Jack Grigg
c4c7c6630b
Scope the ECDSA constant sizes to CPubKey / CKey classes
2017-12-20 17:28:13 +00:00
Jack Grigg
2bbfe6c4e8
Add cautions to z_getbalance and z_gettotalbalance help text about viewing keys
2017-12-20 11:24:51 +00:00
Jack Grigg
bec2235148
Cleanup: Add braces for clarity
2017-12-20 11:18:59 +00:00
Jack Grigg
7b8d4f87ec
Modify zcrawkeygen RPC method to set "zcviewingkey" to the viewing key
...
The "zcviewingkey" field has never been documented before, and the method itself
is deprecated; this just ensures it is consistent with the rest of the RPC.
2017-12-20 00:46:41 +00:00
Jack Grigg
44e37656bf
Add watch-only support to Zcash RPC methods
...
Balance totals do not include spends linked to viewing key addresses, as
nullifiers cannot be calculated and therefore spends cannot be detected.
2017-12-20 00:46:37 +00:00
Jack Grigg
9a2b8ae57f
Update wallet logic to account for viewing keys
...
The wallet code previously assumed that an unlocked wallet would always
have a spending key associated with a note decryptor. Viewing keys break
this assumption.
2017-12-20 00:46:37 +00:00
Jack Grigg
e85b33a52e
Add RPC methods for exporting/importing viewing keys
2017-12-20 00:46:37 +00:00
Jack Grigg
167cd33374
Implement viewing key storage in the wallet
2017-12-20 00:46:37 +00:00
Jack Grigg
49cf707d2c
Add Base58 encoding of viewing keys
2017-12-20 00:46:33 +00:00
Jack Grigg
e365ca1c53
Remove nSproutValue TODO from CDiskBlockIndex
...
Block indices are flushed to disk when they are marked as dirty, and this
happens via enough distinct pathways that it would be sufficiently complex to
update nSproutValue via all of them. Thus it is necessary to be able to
serialize "no value" for writes by upgraded clients.
2017-12-16 10:01:26 +00:00
Jack Grigg
9d0c70e9e7
Clarify operator precedence in serialization of nSproutValue
2017-12-15 18:36:05 +00:00
Jack Grigg
0100c79405
Add Rust and Proton to configure options printout
2017-12-15 13:03:33 +00:00
Jack Grigg
d66bf190cb
Apply -fstack-protector-all to libsnark
2017-12-15 10:02:54 +00:00
Jack Grigg
e319633435
Add Sprout value pool to getblock and getblockchaininfo
2017-12-14 22:06:15 +00:00
Jack Grigg
ad6a36ad02
Track net value entering and exiting the Sprout circuit
...
Delta values will be stored for new blocks; old blocks can be filled in by
re-indexing. The net value currently in the Sprout circuit is only calculated
when delta values for all previous blocks are present.
2017-12-14 22:06:11 +00:00
Jack Grigg
13933e4c13
Factor out common logic from CZCPaymentAddress and CZCSpendingKey
2017-12-04 17:17:18 +00:00
Jack Grigg
aa666c9673
Implement viewing key storage in the keystore
2017-12-04 17:17:18 +00:00
Jack Grigg
642a1caf93
ViewingKey -> ReceivingKey per zcash/zips#117
2017-12-04 17:17:18 +00:00
Jack Grigg
704337b2b8
Move Zcash flags into configure.ac
2017-12-01 14:10:18 +00:00
Jack Grigg
c1fcdd01dd
Change --enable-werror to apply to all warnings, use it in build.sh
2017-12-01 14:10:18 +00:00
Jack Grigg
ad96d74afe
build: Split hardening/fPIE options out in Zcash-specific binaries
2017-12-01 14:10:11 +00:00
Jack Grigg
c6b39fbbd6
Include endian-ness compatibility layer in Equihash implementation
2017-11-29 17:28:44 +00:00
Jack Grigg
d3096198c8
[libsnark] Use POSIX-compliant ar arguments
2017-11-29 17:28:44 +00:00
Jack Grigg
daad2c2736
Check if OpenMP is available before using it
2017-11-29 17:28:44 +00:00
Jack Grigg
9635679cba
Replace "install -D" with "mkdir -p && install"
2017-11-29 17:26:47 +00:00
Jack Grigg
c16188cc6d
Remove manual -std=c++11 flag
...
This is handled by autoconf now.
2017-11-29 17:24:59 +00:00
Jack Grigg
e4cd341260
Replace hard-coded defaults for HOST and BUILD with config.guess
2017-11-29 15:25:14 +00:00
Jack Grigg
7fa05b29b6
Use g-prefixed coreutils commands if they are available
...
If they are present on the system, it means that the non-prefixed ones are not
necessarily the versions we want, while the prefixed ones are highly likely to
be the ones from GNU Coreutils.
2017-11-29 15:24:21 +00:00
Jack Grigg
7a448d3fa5
Bump secp256k1 subtree
2017-11-28 16:43:13 +00:00
Jack Grigg
cde23ac085
Squashed 'src/secp256k1/' changes from 84973d3..6ad5cdb
...
6ad5cdb Merge #479 : Get rid of reserved _t in type names
d1dc9df Get rid of reserved _t in type names
0b70241 Merge #474 : Fix header guards using reserved identifiers
ab1f89f Merge #478 : Fixed multiple typos
8c7ea22 Fixed multiple typos
abe2d3e Fix header guards using reserved identifiers
f532bdc Merge #459 : Add pubkey prefix constants to include/secp256k1.h
cac7c55 Merge #470 : Fix wnaf_const documentation
768514b Fix wnaf_const documentation with respect to return value and number of words set
b8c26a3 Merge #458 : Fix typo in API documentation
817fb20 Merge #440 : Fix typos
12230f9 Merge #468 : Remove redundant conditional expression
2e1ccdc Remove redundant conditional expression
bc61b91 add pubkey prefix constants to include/secp256k1.h
b0452e6 Fix typo in API documentation
4c0f32e Fix typo: "Agressive" → "Aggressive"
73aca83 Fix typo: "exectured" → "executed"
git-subtree-dir: src/secp256k1
git-subtree-split: 6ad5cdb42a1a8257289a0423d644dcbdeab0f83c
2017-11-28 16:42:12 +00:00
Jack Grigg
4b9eb663bf
make-release.py: Updated release notes and changelog for 1.0.13.
2017-11-20 12:31:53 +00:00
Jack Grigg
404de74fc6
make-release.py: Updated manpages for 1.0.13.
2017-11-20 12:31:33 +00:00
Jack Grigg
0523d21d22
make-release.py: Versioning changes for 1.0.13.
2017-11-20 12:23:45 +00:00
Jack Grigg
48ea914cd0
make-release.py: Updated release notes and changelog for 1.0.13-rc2.
2017-11-17 18:01:08 +00:00
Jack Grigg
562b55bec1
make-release.py: Updated manpages for 1.0.13-rc2.
2017-11-17 18:00:32 +00:00
Jack Grigg
e70c8d2ea3
make-release.py: Versioning changes for 1.0.13-rc2.
2017-11-17 17:49:28 +00:00
Jack Grigg
051698a05c
Add the tar-pax option to automake
...
This enables the tarball generated by "make dist" to contain file names longer
than 99 characters.
2017-11-16 22:37:38 +00:00
Jack Grigg
fee8835388
Mark libsnark includes as library includes
2017-11-15 16:49:10 +00:00