forked from hush/hush3
Browse Source
# Conflicts: # .gitignore # README.md # src/Makefile.gtest.include # src/gtest/test_checkblock.cpp # src/init.cpp # src/main.cpp # src/main.h # src/rpcserver.cpp # src/test/checkblock_tests.cpp # src/util.cppmetaverse
![jameslee777@yahoo.com](/assets/img/avatar_default.png)
80 changed files with 1227 additions and 315 deletions
@ -0,0 +1,42 @@ |
|||
<!--- Remove text and sections that do not apply --> |
|||
|
|||
This issue tracker is only for technical issues related to zcashd. |
|||
|
|||
General Zcash questions and/or support requests and are best directed to the [Zcash Forums](https://forum.z.cash) or [Community Rocket.Chat](https://chat.zcashcommunity.com). |
|||
|
|||
For reporting security vulnerabilities or for sensitive discussions with our security team, please contact [security@z.cash](mailto:security@z.cash). You can use the [GPG key](https://z.cash/gpg-pubkeys/security.asc) (fingerprint: `AF85 0445 546C 18B7 86F9 2C62 88FB 8B86 D8B5 A68C`) to send an encrypted message. The key and fingerprint are duplicated on our [Public Keys page](https://z.cash/support/pubkeys.html). |
|||
|
|||
### Describe the issue |
|||
Please provide a general summary of the issue you're experiencing |
|||
|
|||
### Can you reliably reproduce the issue? |
|||
#### If so, please list the steps to reproduce below: |
|||
1. |
|||
2. |
|||
3. |
|||
|
|||
### Expected behaviour |
|||
Tell us what should happen |
|||
|
|||
### Actual behaviour + errors |
|||
Tell us what happens instead including any noticable error output (any messages displayed on-screen when e.g. a crash occurred) |
|||
|
|||
### The version of Zcash you were using: |
|||
Run `zcashd --version` to find out |
|||
|
|||
### Machine specs: |
|||
- OS name + version: |
|||
- CPU: |
|||
- RAM: |
|||
- Disk size: |
|||
- Disk Type (HD/SDD): |
|||
- Linux kernel version (uname -a): |
|||
- Compiler version (gcc -version): |
|||
|
|||
### Any extra information that might be useful in the debugging process. |
|||
This includes the relevant contents of `~/.zcash/debug.log`. You can paste raw text, attach the file directly in the issue or link to the text via a pastebin type site. |
|||
Please also include any non-standard things you did during compilation (extra flags, dependency version changes etc.) if applicable. |
|||
|
|||
### Do you have a back up of `~/.zcash` directory and/or take a VM snapshot? |
|||
- Backing up / making a copy of the `~/.zcash` directory might help make the problem reproducible. Please redact appropriately. |
|||
- Taking a VM snapshot is really helpful for interactively testing fixes |
@ -1,3 +1,15 @@ |
|||
zcash (1.0.5) jessie; urgency=medium |
|||
|
|||
* 1.0.5 release. |
|||
|
|||
-- Zcash Company <team@z.cash> Thu, 19 Jan 2016 19:23:40 -0700 |
|||
|
|||
zcash (1.0.4) jessie; urgency=medium |
|||
|
|||
* 1.0.4 release. |
|||
|
|||
-- Zcash Company <team@z.cash> Thu, 15 Dec 2016 16:46:14 +1300 |
|||
|
|||
zcash (1.0.3) jessie; urgency=medium |
|||
|
|||
* 1.0.3 release. |
@ -1,4 +1,4 @@ |
|||
## |
|||
## |
|||
## zcash.conf configuration file. Lines beginning with # are comments. |
|||
## |
|||
|
@ -1,9 +1,9 @@ |
|||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.3. |
|||
.TH ZCASH-CLI "1" "November 2016" "Zcash RPC client version v1.0.3" "User Commands" |
|||
.TH ZCASH-CLI "1" "January 2017" "Zcash RPC client version v1.0.5" "User Commands" |
|||
.SH NAME |
|||
zcash-cli \- RPC client for the Zcash daemon |
|||
.SH DESCRIPTION |
|||
Zcash RPC client version v1.0.3 |
|||
Zcash RPC client version v1.0.5 |
|||
.SS "Usage:" |
|||
.TP |
|||
zcash\-cli [options] <command> [params] |
@ -0,0 +1,28 @@ |
|||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.3. |
|||
.TH ZCASH-FETCH-PARAMS "1" "January 2017" "Zcash - zcash-fetch-params" "User Commands" |
|||
.SH NAME |
|||
zcash-fetch-params \- Downloads the Zcash network parameters |
|||
.SH DESCRIPTION |
|||
Zcash \- zcash-fetch\-params |
|||
.PP |
|||
This script will fetch the Zcash zkSNARK parameters and verify their |
|||
integrity with sha256sum. |
|||
.PP |
|||
If they already exist locally, it will exit now and do nothing else. |
|||
.PP |
|||
This script will fetch the Zcash zkSNARK parameters and verify their |
|||
integrity with sha256sum. |
|||
.PP |
|||
If they already exist locally, it will exit now and do nothing else. |
|||
.SH "SEE ALSO" |
|||
The full documentation for |
|||
.B Zcash |
|||
is maintained as a Texinfo manual. If the |
|||
.B info |
|||
and |
|||
.B Zcash |
|||
programs are properly installed at your site, the command |
|||
.IP |
|||
.B info Zcash |
|||
.PP |
|||
should give you access to the complete manual. |
@ -0,0 +1,75 @@ |
|||
Bitcoin Error Log (1): |
|||
Edit for grammar: "block chain" |
|||
|
|||
Christian von Roques (1): |
|||
bash-completion: Adapt for 0.12 and 0.13 |
|||
|
|||
Jack Grigg (32): |
|||
Add getlocalsolps and getnetworksolps RPC calls, show them in getmininginfo |
|||
Add benchmark for attempting decryption of notes |
|||
Add benchmark for incrementing note witnesses |
|||
Add -metricsui flag to toggle between persistent screen and rolling metrics |
|||
Add -metricsrefreshtime option |
|||
Only show metrics by default if stdout is a TTY |
|||
Document metrics screen options |
|||
Clarify that metrics options are only useful without -daemon and -printtoconsole |
|||
Increase length of metrics divider |
|||
Write witness caches when writing the best block |
|||
Apply miniupnpc patches to enable compilation on Solaris 11 |
|||
Add an upstream miniupnpc patch revision |
|||
Address review comments, tweak strings |
|||
Change function names to not clash with Bitcoin, apply to correct binaries |
|||
Add bash completion files to Debian package |
|||
Always bash-complete the default account |
|||
Add Zcash RPC commands to CLI argument completion |
|||
Document behaviour of CWallet::SetBestChain |
|||
Fix indentation |
|||
Generate JS for trydecryptnotes, make number of addresses a variable |
|||
Add JS to second block to ensure witnesses are incremented |
|||
Skip JoinSplit verification before the last checkpoint |
|||
Add a reindex test that fails because of a bug in decrementing witness caches |
|||
Make the test pass by fixing the bug! |
|||
Only check cache validity for witnesses being incremented or decremented |
|||
Fix bug in wallet tests |
|||
Extract block-generation wallet test code into a function |
|||
Rewrite reindex test to check beyond the max witness cache size |
|||
Fix bug in IncrementNoteWitness() |
|||
Update payment API docs to recommend -rescan for fixing witness errors |
|||
Update version to 1.0.4 |
|||
Update man pages |
|||
|
|||
Jay Graber (2): |
|||
Replace bitcoin with zcash in rpcprotocol.cpp |
|||
Gather release notes from previous release to HEAD |
|||
|
|||
Jeffrey Walton (1): |
|||
Add porter dev overrides for CC, CXX, MAKE, BUILD, HOST |
|||
|
|||
Scott (1): |
|||
Metrics - Don't exclaim unless > 1 |
|||
|
|||
Sean Bowe (8): |
|||
Isolate verification to a `ProofVerifier` context object that allows verification behavior to be tuned by the caller. |
|||
Regression test. |
|||
Ensure cache contains valid entry when anchor is popped. |
|||
Ensure ProofVerifier cannot be accidentally copied. |
|||
Rename Dummy to Disabled. |
|||
Add more tests for ProofVerifier. |
|||
ASSERT_TRUE -> ASSERT_FALSE |
|||
Check that E' points are actually in G2 by ensuring they are of order r. |
|||
|
|||
Simon Liu (8): |
|||
Fix stale comment referencing upstream block interval |
|||
Add checkpoint at block height 15000 |
|||
Closes #1857. Fixes bug where tx spending only notes had priority of 0. |
|||
Closes #1901. Increase default settings for the max block size when mining and the amount of space available for priority transactions. |
|||
Closes #1903. Add fee parameter to z_sendmany. |
|||
Fixes #1823. Witness anchors for input notes no longer cross block boundaries. |
|||
Increase timeout as laptops on battery power have cpu throttling. |
|||
WitnessAnchorData only needs to store one witness per JSOutPoint. |
|||
|
|||
lpescher (3): |
|||
Make command line option to show all debugging consistent with similar options |
|||
Update documentation to match the #4219 change |
|||
Update help message to match the #4219 change |
|||
|
@ -0,0 +1,58 @@ |
|||
Eran Tromer (1): |
|||
CreateJoinSplit: add start_profiling() call |
|||
|
|||
Jack Grigg (22): |
|||
Extend createjoinsplit to benchmark parallel JoinSplits |
|||
Add total number of commitments to getblockchaininfo |
|||
Only enable getblocktemplate when wallet is enabled |
|||
Only run wallet tests when wallet is enabled |
|||
Add a tool for profiling the creation of JoinSplits |
|||
Exclude test binaries from make install |
|||
Scan the whole chain whenever a z-key is imported |
|||
Instruct users to run zcash-fetch-params if network params aren't available |
|||
Trigger metrics UI refresh on new messages |
|||
Strip out the SECURE flag in metrics UI so message style is detected |
|||
Handle newlines in UI messages |
|||
Suggest ./zcutil/fetch-params.sh as well |
|||
Update debug categories |
|||
Rename build-aux/m4/bitcoin_find_bdb48.m4 to remove version |
|||
Throw an error if zcash.conf is missing |
|||
Show a friendly message explaining why zcashd needs a zcash.conf |
|||
Fix gtest ordering broken by #1949 |
|||
Debian package lint |
|||
Generate Debian control file to fix shlibs lint |
|||
Create empty zcash.conf during performance measurements |
|||
Create empty zcash.conf during coverage checks |
|||
Coverage build system tweaks |
|||
|
|||
Jay Graber (1): |
|||
Update release process to check in with users who opened resolved issues |
|||
|
|||
Paige Peterson (2): |
|||
Create ISSUE_TEMPLATE.md |
|||
move template to subdirectory, fix typo, include prompt under describing issue section, include uploading file directly to github ticket as option for sharing logs |
|||
|
|||
Sean Bowe (4): |
|||
Add test for IncrementalMerkleTree::size(). |
|||
Add 'CreateJoinSplit' standalone utility to gitignore. |
|||
Add test for z_importkey rescanning from beginning of chain. |
|||
Bump version to 1.0.5. |
|||
|
|||
Simon Liu (13): |
|||
Fixes #1964 to catch general exception in z_sendmany and catch exceptions as reference-to-const. |
|||
Fixes #1967 by adding age of note to z_sendmany logging. |
|||
Fixes a bug where the unsigned transaction was logged by z_sendmany after a successful sign and send, meaning that the logged hash fragment would be different from the txid logged by "AddToWallet". This issue occured when sending from transparent addresses, as utxo inputs must be signed. It did not occur when sending from shielded addresses. |
|||
Bump COPYRIGHT_YEAR from 2016 to 2017. |
|||
Closes #1780. Result of z_getoperationstatus now sorted by creation time of operation |
|||
Remove UTF-8 BOM efbbbf from zcash.conf to avoid problems with command line tools |
|||
Closes #1097 so zcash-cli now displays license info like zcashd. |
|||
Fixes #1497 ZCA-009 by restricting data exporting to user defined folder. |
|||
Closes #1957 by adding tx serialization size to listtransactions output. |
|||
Fixes #1960: z_getoperationstatus/result now includes operation details. |
|||
Update walletbackup.py qa test to use -exportdir option |
|||
Add missing header required by std::accumulate |
|||
Increase timeout for z_sendmany transaction in wallet.py qa test |
|||
|
|||
Wladimir J. van der Laan (1): |
|||
rpc: Implement random-cookie based authentication |
|||
|
@ -0,0 +1,106 @@ |
|||
#!/usr/bin/env python2 |
|||
# Copyright (c) 2016 The Zcash developers |
|||
# Distributed under the MIT software license, see the accompanying |
|||
# file COPYING or http://www.opensource.org/licenses/mit-license.php. |
|||
|
|||
# This is a regression test for #1941. |
|||
|
|||
from test_framework.test_framework import BitcoinTestFramework |
|||
from test_framework.util import * |
|||
from time import * |
|||
|
|||
import sys |
|||
|
|||
starttime = 1388534400 |
|||
|
|||
class Wallet1941RegressionTest (BitcoinTestFramework): |
|||
|
|||
def setup_chain(self): |
|||
print("Initializing test directory "+self.options.tmpdir) |
|||
initialize_chain_clean(self.options.tmpdir, 1) |
|||
|
|||
# Start nodes with -regtestprotectcoinbase to set fCoinbaseMustBeProtected to true. |
|||
def setup_network(self, split=False): |
|||
self.nodes = start_nodes(1, self.options.tmpdir, extra_args=[['-regtestprotectcoinbase','-debug=zrpc']] ) |
|||
self.is_network_split=False |
|||
|
|||
def add_second_node(self): |
|||
initialize_datadir(self.options.tmpdir, 1) |
|||
self.nodes.append(start_node(1, self.options.tmpdir, extra_args=['-regtestprotectcoinbase','-debug=zrpc'])) |
|||
self.nodes[1].setmocktime(starttime + 9000) |
|||
connect_nodes_bi(self.nodes,0,1) |
|||
self.sync_all() |
|||
|
|||
def wait_and_assert_operationid_status(self, myopid, in_status='success', in_errormsg=None): |
|||
print('waiting for async operation {}'.format(myopid)) |
|||
opids = [] |
|||
opids.append(myopid) |
|||
timeout = 300 |
|||
status = None |
|||
errormsg = None |
|||
for x in xrange(1, timeout): |
|||
results = self.nodes[0].z_getoperationresult(opids) |
|||
if len(results)==0: |
|||
sleep(1) |
|||
else: |
|||
status = results[0]["status"] |
|||
if status == "failed": |
|||
errormsg = results[0]['error']['message'] |
|||
break |
|||
print('...returned status: {}'.format(status)) |
|||
print('...error msg: {}'.format(errormsg)) |
|||
assert_equal(in_status, status) |
|||
if errormsg is not None: |
|||
assert(in_errormsg is not None) |
|||
assert_equal(in_errormsg in errormsg, True) |
|||
print('...returned error: {}'.format(errormsg)) |
|||
|
|||
def run_test (self): |
|||
print "Mining blocks..." |
|||
|
|||
self.nodes[0].setmocktime(starttime) |
|||
self.nodes[0].generate(101) |
|||
|
|||
mytaddr = self.nodes[0].getnewaddress() # where coins were mined |
|||
myzaddr = self.nodes[0].z_getnewaddress() |
|||
|
|||
# Send 10 coins to our zaddr. |
|||
recipients = [] |
|||
recipients.append({"address":myzaddr, "amount":Decimal('10.0') - Decimal('0.0001')}) |
|||
myopid = self.nodes[0].z_sendmany(mytaddr, recipients) |
|||
self.wait_and_assert_operationid_status(myopid) |
|||
self.nodes[0].generate(1) |
|||
|
|||
# Ensure the block times of the latest blocks exceed the variability |
|||
self.nodes[0].setmocktime(starttime + 3000) |
|||
self.nodes[0].generate(1) |
|||
self.nodes[0].setmocktime(starttime + 6000) |
|||
self.nodes[0].generate(1) |
|||
self.nodes[0].setmocktime(starttime + 9000) |
|||
self.nodes[0].generate(1) |
|||
|
|||
# Confirm the balance on node 0. |
|||
resp = self.nodes[0].z_getbalance(myzaddr) |
|||
assert_equal(Decimal(resp), Decimal('10.0') - Decimal('0.0001')) |
|||
|
|||
# Export the key for the zaddr from node 0. |
|||
key = self.nodes[0].z_exportkey(myzaddr) |
|||
|
|||
# Start the new wallet |
|||
self.add_second_node() |
|||
self.nodes[1].getnewaddress() |
|||
self.nodes[1].z_getnewaddress() |
|||
self.nodes[1].generate(101) |
|||
self.sync_all() |
|||
|
|||
# Import the key on node 1. |
|||
self.nodes[1].z_importkey(key) |
|||
|
|||
# Confirm that the balance on node 1 is valid now (node 1 must |
|||
# have rescanned) |
|||
resp = self.nodes[1].z_getbalance(myzaddr) |
|||
assert_equal(Decimal(resp), Decimal('10.0') - Decimal('0.0001')) |
|||
|
|||
|
|||
if __name__ == '__main__': |
|||
Wallet1941RegressionTest().main() |
@ -0,0 +1,35 @@ |
|||
// Copyright (c) 2016 The Zcash developers
|
|||
// Distributed under the MIT software license, see the accompanying
|
|||
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
|||
|
|||
#include "../util.h" |
|||
#include "primitives/transaction.h" |
|||
#include "zcash/JoinSplit.hpp" |
|||
#include "libsnark/common/profiling.hpp" |
|||
|
|||
using namespace libzcash; |
|||
|
|||
int main(int argc, char **argv) |
|||
{ |
|||
libsnark::start_profiling(); |
|||
|
|||
auto p = ZCJoinSplit::Unopened(); |
|||
p->loadVerifyingKey((ZC_GetParamsDir() / "sprout-verifying.key").string()); |
|||
p->setProvingKeyPath((ZC_GetParamsDir() / "sprout-proving.key").string()); |
|||
p->loadProvingKey(); |
|||
|
|||
// construct a proof.
|
|||
|
|||
for (int i = 0; i < 5; i++) { |
|||
uint256 anchor = ZCIncrementalMerkleTree().root(); |
|||
uint256 pubKeyHash; |
|||
|
|||
JSDescription jsdesc(*p, |
|||
pubKeyHash, |
|||
anchor, |
|||
{JSInput(), JSInput()}, |
|||
{JSOutput(), JSOutput()}, |
|||
0, |
|||
0); |
|||
} |
|||
} |
Loading…
Reference in new issue