Commit Graph

1078 Commits

Author SHA1 Message Date
Kris Nuttycombe f0c24bd9f9 -ibdskiptxverification must imply -checkpoints 2020-10-09 09:45:31 -06:00
Daira Hopwood 007de07745 Add logging when we receive an invalid note plaintext (using the "receiveunsafe" log category).
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-10-08 14:29:23 +01:00
Aditya Kulkarni 0b4395d275 Add a config option to skip transaction verification in IBD mode 2020-10-07 10:42:15 -06:00
Homu a983344931 Auto merge of #4752 - str4d:small-httpserver-backports, r=daira
Small httpserver.cpp backports

Also includes a change to the `uiInterface.NotifyBlockTip` signal API.
These remove merge conflicts from subsequent backports for `sync.h`.

Cherry-picked from the following upstream PRs:
- bitcoin/bitcoin#6859
- bitcoin/bitcoin#7112
  - Only the non-QT changes.
- bitcoin/bitcoin#7966
- bitcoin/bitcoin#8421
  - We already backported the second commit in zcash/zcash#2555
2020-10-01 12:48:58 +00:00
Jack Grigg ab35a260d5 Remove remaining OpenSSL references 2020-09-30 00:40:12 +01:00
Jonas Schnelli 66515b0628 NotifyBlockTip signal: switch from hash (uint256) to CBlockIndex*
- also adds a boolean for indication if the tip update was happening during initial sync
- emit notification also during initial sync
2020-09-30 00:35:32 +01:00
Homu 7d94064616 Auto merge of #4643 - str4d:locked-memory-manager, r=str4d
Locked memory manager

Add a pool for locked memory chunks, replacing `LockedPageManager`.

Cherry-picked from the following upstream PRs:
- bitcoin/bitcoin#8321
- bitcoin/bitcoin#8753
- bitcoin/bitcoin#9063
- bitcoin/bitcoin#9070
- bitcoin/bitcoin#11385
- bitcoin/bitcoin#12048
  - Excludes change to benchmark.
- bitcoin/bitcoin#15117
- bitcoin/bitcoin#16161
  - Excludes Travis CI changes.
  - Includes change from bitcoin/bitcoin#13163
- bitcoin/bitcoin#15600
- bitcoin/bitcoin#18443
- Assorted small changes from:
  - bitcoin/bitcoin#9233
  - bitcoin/bitcoin#10483
  - bitcoin/bitcoin#10645
  - bitcoin/bitcoin#10969
  - bitcoin/bitcoin#11351
- bitcoin/bitcoin#19111
  - Excludes change to `src/rpc/server.cpp`
- bitcoin/bitcoin#9804
  - Only the commit for `src/key.cpp`
- bitcoin/bitcoin#9598
2020-09-29 22:18:48 +00:00
practicalswift a3fbfe4efc Improve readability by removing redundant casts to same type (on all platforms) 2020-09-25 14:56:20 +01:00
Larry Ruane 81db0a2fc7 Flush witness data when consistent (part 2)
After CWallet::ChainTipAdded() updates the witness data, it
may flush it to disk (SetBestChain()); make sure the locator
part is consistent with the witnesses (height).
2020-09-05 07:21:11 -06:00
Jack Grigg 3fd409433b FFI: Remove circuit parameter hashes from librustzcash_init_zksnark_params
These were hard-coded into the underlying zcash_proofs::load_parameters
function.

Closes zcash/zcash#4519.
2020-08-25 13:07:22 +01:00
Homu c2f991db5b Auto merge of #4659 - str4d:tracing-init, r=str4d
Improvements to tracing initialization

The refactor makes it easier to implement further tracing customisations.

We also now have spans for `zcashd` initialization and shutdown.
2020-08-17 07:32:04 +00:00
Homu b3407f06c8 Auto merge of #1665 - bitbandi:master, r=daira
Allow to configure the zk-SNARK parameters directory using `-paramsdir=`

same use as datadir=/foo/bar parameter
2020-08-14 15:24:05 +00:00
Jack Grigg 027a9925c9 init: Add spans for initialization and shutdown 2020-08-11 14:38:51 +01:00
Jack Grigg 735503b473 init: Rework tracing_init call 2020-08-11 14:38:51 +01:00
elbandi beae52ef9b Add paramsdir option for manpage 2020-08-07 22:37:15 +02:00
Jack Grigg 58c410974d init: Place additional constraints on pathDebug 2020-08-07 15:26:28 +01:00
Jack Grigg f89ea3fc33 Add an RPC method for setting the tracing filter directives 2020-08-07 15:26:28 +01:00
Jack Grigg 2b7d824714 Use a tracing EnvFilter directive for -debug flags 2020-08-07 15:08:10 +01:00
Jack Grigg d5de95f170 Replace C++ logging with tracing logging
Does not yet handle SIGHUP log-reopening.
2020-08-07 15:08:10 +01:00
Homu b6547929c9 Auto merge of #4593 - str4d:proofverifier-refactor, r=str4d
Refactor ProofVerifier

`ProofVerifier` was previously used to conditionally verify pre-Sapling Sprout
proofs (based on `ProofVerifier::Strict` or `ProofVerifier::Disabled` being
used), but hybrid Sprout proofs bypassed it (so were being verified multiple
times during block verification), and once `libsnark` was removed in
zcash/zcash#4060 `ProofVerifier::check` was doing nothing.

This PR refactors `ProofVerifier`, moving it out of the `libzcash` compilation
unit (so that it can depend on `primitives/transaction.h`), and moving Sprout
verification from `JSDescription::Verify` to `ProofVerifier::VerifySprout`.
Verification-skipping for Sprout proofs is re-introduced.

Additionally, the `ZCJoinSplit` global is removed from the codebase, and
`ZCJoinSplit::prove` is converted into a static function. We load the hybrid
Sprout parameters dynamically at proving time within the Rust code, and no
longer require a C++ global for any proving parameters.

As a side-effect, `libzcashconsensus.la` building with `--with-libs` is fixed,
as `primitives/transaction.cpp` no longer depends on `librustzcash.h`.
2020-08-07 12:16:59 +00:00
Kris Nuttycombe 0391809da1 Remove amqp code and Proton library depenencies & flags. 2020-07-31 13:08:18 -06:00
Larry Ruane a65ecaad54 flush wallet db (SetBestChain()) on clean shutdown 2020-07-20 20:04:48 -06:00
Kris Nuttycombe 07ff0d19a0 Make evident the relationship between chainparams and key IO. 2020-07-09 17:48:47 -06:00
Jack Grigg 7e2558d2e2 Make ZCJoinSplit::prove static and remove ZCJoinSplit globals
We don't support making pre-Sapling JoinSplit proofs, and we load the
parameters for post-Sapling JoinSplit proofs at proving time, so there
is no need for a global ZCJoinSplit to be passed through the APIs.
2020-07-08 13:59:47 +12:00
Kris Nuttycombe 88c5bf7217
Minor help message correction.
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2020-07-06 15:41:28 -06:00
Kris Nuttycombe aff38f75f3
Qualified imports of std:: types
Co-authored-by: str4d <thestr4d@gmail.com>
2020-07-01 16:06:27 -06:00
Kris Nuttycombe 1c00a0b541
Identify `-fundingstream` parameter as being regtest-only
Co-authored-by: str4d <thestr4d@gmail.com>
2020-06-29 15:42:45 -06:00
Jack Grigg efd04b920b Implement zip-207 and zip-214.
Add funding streams to consensus parameters.

Add funding stream payments to coinbase txns generated by the miner.
* Reduce valueBalance for shielded outputs to funding streams.
* Ensure we produce binding signatures in any case where shielded
  outputs go to either a funding stream or the miner.
2020-06-25 16:15:50 -06:00
Alfredo Garcia 493c0f98a2 change order of returned pair, fix compatibility issue
Co-Authored-By: Daira Hopwood <daira@jacaranda.org>
2020-06-23 11:47:29 -03:00
Alfredo Garcia 18a1448ac7 add timestamp to warnings 2020-06-12 18:12:15 -03:00
Alfredo Garcia 3b9bd2da2f fix sort of options 2020-05-28 10:58:04 -03:00
Wladimir J. van der Laan 540cdb34e2 Add `-debuglogfile` option
This patch adds an option to configure the name and/or directory of the
debug log.

The user can specify either a relative path, in which case the path
is relative to the data directory. They can also specify an absolute
path to put the log anywhere else in the file system.
2020-05-28 10:53:58 -03:00
Homu 4fad49d802 Auto merge of #4416 - daira:sa_restart, r=daira
Use SA_RESTART in sa_flags when setting up signal handlers

Explanation: if a signal interrupts certain syscalls such as `open`, `read`, or `write`,
then the library function will by default fail with `errno` `EINTR`. But we [almost](https://github.com/zcash/zcash/search?q=WSAEINTR) [never](https://github.com/zcash/zcash/search?q=EINTR)
check for `EINTR`, so this is likely to cause spurious errors. We want to restart the syscall
instead, which is what `SA_RESTART` is intended to do. Since our signal handlers (defined
in init.cpp) only set a flag, restarting the syscall is safe and is always the Right Thing.

See <https://www.gnu.org/software/libc/manual/html_node/Flags-for-Sigaction.html> and
<https://www.gnu.org/software/libc/manual/html_node/Interrupted-Primitives.html> for
further information.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-04-15 19:23:14 +00:00
Homu 3033b8a0ec Auto merge of #4402 - oxarbitrage:issue4326, r=str4d
Add -lightwalletd experimental option

Similar to `-insightexplorer` but loading less indexes.

After testing and code review this should be able to close https://github.com/zcash/zcash/issues/4326
2020-04-10 03:42:54 +00:00
Alfredo Garcia a43f5daff8 add -lightwalletd experimental option 2020-04-09 11:05:21 -03:00
Alfredo Garcia 6039242829
multiple debug categories documentation 2020-04-06 09:09:43 -03:00
Daira Hopwood dd215e8994 Use `SA_RESTART` in `sa_flags` when setting up signal handlers.
Explanation: if a signal interrupts certain syscalls such as `open`, `read`, or `write`,
then the library function will by default fail with `errno` `EINTR`. But we almost never
check for `EINTR`, so this is likely to cause spurious errors. We want to restart the syscall
instead, which is what `SA_RESTART` is intended to do. Since our signal handlers (defined
in init.cpp) only set a flag, restarting the syscall is safe and is always the Right Thing.

See <https://www.gnu.org/software/libc/manual/html_node/Flags-for-Sigaction.html> and
<https://www.gnu.org/software/libc/manual/html_node/Interrupted-Primitives.html> for
further information.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-03-28 19:14:48 +00:00
Homu fc9d0fa72f Auto merge of #4404 - daira:fix-reindex-divby0, r=ebfull
Avoid a theoretical possibility of division-by-zero introduced in #4368

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-03-16 17:13:39 +00:00
Homu 5a626317c7 Auto merge of #4390 - daira:fix-chaintip-race-condition, r=ebfull
Fix race conditions during init

Fix race conditions due to accessing `chainActive.Tip()` during init, and other minor cleanups.
Includes backport of https://github.com/bitcoin/bitcoin/pull/8063 .
2020-03-16 15:11:43 +00:00
Daira Hopwood b49cdee878 Avoid a theoretical possibility of division-by-zero introduced in #4368.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-03-16 14:56:38 +00:00
Homu c0802cccac Auto merge of #4368 - gladcow:issue3813_reindex_in_metrics, r=str4d
Shows reindex progress in metrics screen

Resolves issue #3813.

The "Downloading blocks" message is changed to "Reindexing blocks" during reindex, after reindex is completed the text is reverted back to the first variant.

Reindex progress is shown as a sum of processed file size (we can't use reindexed block number as a progress because we can't predict how many blocks to process at all, we don't know the size of the block before we process it), the result looks like
```
Reindexing blocks | 22.64 MiB / 336.00 MiB (6%, 13583 blocks)
```
2020-03-12 09:28:35 +00:00
Homu ac4e91c6f4 Auto merge of #4343 - oxarbitrage:issue3083, r=str4d
Add expired transaction notifications

Closes https://github.com/zcash/zcash/issues/3083
2020-03-12 06:35:04 +00:00
Homu fa67c4e148 Auto merge of #4293 - oxarbitrage:issue2671, r=str4d
Refactor experimental feature handling

Adds new rpc call `getexperimentalfeatures` and also adds experimental features to `getblockchaininfo` output.

Closes #2671.
2020-03-12 02:09:12 +00:00
Daira Hopwood 0de0105c80 Exit init early if we request shutdown before having loaded the genesis block.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-03-10 17:57:52 +00:00
Daira Hopwood 99dc6de485 Setting a std::atomic variable in a signal handler only has defined behaviour if it is lock-free.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-03-10 17:57:52 +00:00
Daira Hopwood 74467f8f02 Resolve a race condition on `chainActive.Tip()` in initialization (introduced in #4379).
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-03-10 17:57:52 +00:00
Patrick Strateman 82e641f3cc Acquire lock to check for genesis block. 2020-03-10 17:57:52 +00:00
gladcow e72885b690 Use processed file size as progress in metrics during reindex 2020-03-10 09:33:35 +03:00
Homu ca668cf666 Auto merge of #4374 - daira:rewrite-addtimedata, r=daira
Remove time adjustment; instead warn if peer clocks are too different

The policy is: warn if we have seen at least 8 (TIMEDATA_WARNING_SAMPLES) peer times, in the version messages of the first 20 (TIMEDATA_MAX_SAMPLES) unique (by IP address) peers that connect, that are more than 10 minutes (TIMEDATA_WARNING_THRESHOLD seconds) but less than 10 days (TIMEDATA_IGNORE_THRESHOLD seconds) away from local time.

fixes #4338
2020-03-09 21:15:34 +00:00
MeshCollider cb8de0395f Fix race for mapBlockIndex in AppInitMain 2020-03-07 10:21:59 +03:00
Alfredo Garcia 04012a62c1 refactor experimental features 2020-03-06 07:48:33 -03:00
Homu 35bff6ac7c Auto merge of #4256 - str4d:zip-213-shielded-coinbase, r=daira
[NU3 Heartwood] Shielded Coinbase

Implements [ZIP 213](https://github.com/zcash/zips/pull/217).
2020-03-06 10:19:13 +00:00
Jack Grigg d8f0bc9e21 init: Inform on error that -mineraddress must be Sapling or transparent 2020-03-06 13:18:04 +13:00
Jack Grigg 3b3382bb48 Adjust comments on ZIP 213 logic 2020-03-06 11:50:15 +13:00
Jack Grigg 9ea5f6907f Add regtest-only -nurejectoldversions option
This enables us to write RPC tests for network upgrades before they have
been activated on testnet.
2020-02-28 13:59:53 +13:00
Jack Grigg 99ec1ff971 Add support for Sapling addresses in -mineraddress 2020-02-28 13:59:53 +13:00
Sean Bowe e597ad842a
Clarify comment 2020-02-27 17:57:59 -07:00
Sean Bowe faca79eb2f
Initialize ThreadNotifyWallets before additional blocks are imported.
Co-authored-by: Daira Hopwood <daira@electriccoin.co>
2020-02-26 11:20:12 -07:00
Daira Hopwood 7fa7225509 Update GetAdjustedTime() to GetTime().
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-02-25 16:57:22 +00:00
Daira Hopwood ddc2bbf742 Revert "Add -maxtimeadjustment with default of 0 instead of the 4200 seconds used in Bitcoin Core."
This reverts commit eb5e328073.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-02-24 16:27:07 +00:00
Gregory Maxwell 9f4ad7e1c6 Move GetWarnings() into its own file.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-02-21 01:31:16 +00:00
Alfredo Garcia e992825e0a add txexpirynotify 2020-02-13 21:42:25 -03:00
Homu a2d719b9ff Auto merge of #4324 - zancas:4323_replace_boost_fn_w_std_fn, r=str4d
Replace boost::function with std::function

Fixes: #4323

This logic is cherry-picked from the relevant commit, as referenced here:

https://github.com/bitcoin/bitcoin/pull/10395
2020-02-07 20:49:18 +00:00
Daira Hopwood eb5e328073 Add -maxtimeadjustment with default of 0 instead of the 4200 seconds used in Bitcoin Core.
Based on 40061b05dc

Co-authored-by: mruddy <mruddy@users.noreply.github.com>
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-02-05 17:00:09 +00:00
practicalswift b841318ce8
Replace boost::function with std::function (C++11) 2020-02-04 19:54:25 -07:00
Homu fa341bcff0 Auto merge of #4270 - str4d:2074-wallet-2, r=str4d
Bitcoin wallet PRs 2

Cherry-picked from the following upstream PRs:

- bitcoin/bitcoin#7576
- bitcoin/bitcoin#7577
- bitcoin/bitcoin#7608
- bitcoin/bitcoin#7691
- bitcoin/bitcoin#7905
2019-12-18 23:53:21 +00:00
Jonas Schnelli 6c1b6c8ccc
[Wallet] refactor wallet/init interaction 2019-12-18 16:50:29 -06:00
Jonas Schnelli 5b376b5125
[Wallet] optimize return value of InitLoadWallet() 2019-12-18 16:50:29 -06:00
Jonas Schnelli c3ca0163a8
[Wallet] move "load wallet phase" to CWallet
Zcash: Modified to move our modifications to "load wallet phase".
2019-12-18 16:50:29 -06:00
Jonas Schnelli 8dacb764bc
[Wallet] move wallet help string creation to CWallet 2019-12-18 16:50:29 -06:00
Homu 0a31c163c6 Auto merge of #4252 - str4d:wallet-interface-refactor, r=str4d
Wallet interface refactor

This refactors the logic introduced in #4144 to improve the separation between the node and wallet. The notifier thread now lives next in `src/validationinterface.cpp` directly next to the existing `CMainSignals` node-wallet interface.

Part of #3877.
2019-12-18 22:48:26 +00:00
Jack Grigg 2c8dff00cc
ThreadNotifyRecentlyAdded -> ThreadNotifyWallets 2019-12-18 15:06:54 -06:00
Luke Dashjr 996d6c3f54
Common argument defaults for NODE_BLOOM stuff and -wallet 2019-12-17 12:18:50 -06:00
MarcoFalke 386245e164
mempool: Replace maxFeeRate of 10000*minRelayTxFee with maxTxFee 2019-12-17 12:18:50 -06:00
MarcoFalke 2187f93703
HelpMessage: Don't hide -mintxfee behind showDebug 2019-12-17 12:18:50 -06:00
MarcoFalke 4db07b29c8
[trivial] init: Use defaults MIN_RELAY_TX_FEE & TRANSACTION_MAXFEE 2019-12-17 12:18:50 -06:00
MarcoFalke f4b9c3283d
translations: Don't translate markdown or force English grammar 2019-12-17 12:18:50 -06:00
MarcoFalke ab77f894b7
Clarify what minrelaytxfee does 2019-12-17 12:18:50 -06:00
MarcoFalke e3bdf82dc2
Init: Use DEFAULT_TRANSACTION_MINFEE in help message 2019-12-17 12:18:50 -06:00
MarcoFalke 3de455e138
[trivial] init cleanup 2019-12-17 12:18:50 -06:00
Homu 63c3d1ec94 Auto merge of #4227 - str4d:2074-scripts-1, r=str4d
Bitcoin script PRs 1

Cherry-picked from the following upstream PRs:

- bitcoin/bitcoin#6335
- bitcoin/bitcoin#6424
- bitcoin/bitcoin#11058
- bitcoin/bitcoin#12460
- bitcoin/bitcoin#13194

Part of #2074.
2019-12-17 17:05:58 +00:00
Homu 5db5bd749c Auto merge of #4245 - oxarbitrage:issue4012, r=daira
Remove dead code

Closes https://github.com/zcash/zcash/issues/4012

Equivalent to bitcoin/bitcoin/pull/9822
2019-12-10 22:10:10 +00:00
Alfredo Garcia c0d5b87277 readd create_directories 2019-12-09 18:04:06 -03:00
Jorge Timón dd0c036538
Policy: MOVEONLY: Create policy/policy.h with some constants
Zcash: Adjusted to be move-only after our changes to the constants.
2019-12-04 20:34:11 +00:00
Homu 868c63f92d Auto merge of #2390 - str4d:2132-mapargs-prep, r=str4d
Misc upstream PRs

Cherry-picked from the following upstream PRs:

- https://github.com/bitcoin/bitcoin/pull/6077
  - Second commit only (first was already applied to 0.11.X and then reverted)
- https://github.com/bitcoin/bitcoin/pull/6284
- https://github.com/bitcoin/bitcoin/pull/6489
- https://github.com/bitcoin/bitcoin/pull/6235
- https://github.com/bitcoin/bitcoin/pull/6905
- https://github.com/bitcoin/bitcoin/pull/6780
  - Excluding second commit (QT) and third commit (requires https://github.com/bitcoin/bitcoin/pull/6993)
- https://github.com/bitcoin/bitcoin/pull/6961
  - Excluding QT parts, and a small `src/policy/policy.cpp` change which depends on a bunch of other PRs, which we'll have to remember to come back to.
- https://github.com/bitcoin/bitcoin/pull/7044
- https://github.com/bitcoin/bitcoin/pull/8856
- https://github.com/bitcoin/bitcoin/pull/9002

Part of #2074 and #2132.
2019-12-04 19:20:44 +00:00
Jack Grigg 5fd97dcdf9
Wrap long line 2019-12-04 17:21:55 +00:00
Jack Grigg 784a481070
cleanup: Comments 2019-12-04 17:21:54 +00:00
Gregory Maxwell 9fee2baebf
Make connect=0 disable automatic outbound connections.
Otherwise it just responds to this obvious bit of configuration by
 trying to connect to "0" in a loop.
2019-12-04 17:18:45 +00:00
Jorge Timón 71068892d2
Globals: Decouple GetConfigFile and ReadConfigFile from global mapArgs 2019-12-04 17:18:44 +00:00
Gregory Sanders f4d9e06a90
Added additional config option for multiple RPC users. 2019-12-04 17:18:43 +00:00
MarcoFalke e11e1ea58e
[trivial] Reuse translation and cleanup DEFAULT_* values
* DEFAULT_DISABLE_SAFEMODE = false
* Use DEFAULT_* constants for extern bools
2019-12-04 17:18:41 +00:00
Luke Dashjr 9bc915b02a
Bugfix: Omit wallet-related options from -help when wallet is not supported 2019-12-04 17:18:40 +00:00
Luke Dashjr 2e02bb21f7
Constrain constant values to a single location in code 2019-12-04 17:18:39 +00:00
Jack Grigg 363c945325
Initialize experimental mode in a separate function 2019-12-04 17:18:38 +00:00
Jonas Schnelli a425ac9706
Initialize logging before we do parameter interaction 2019-12-04 17:18:37 +00:00
Jonas Schnelli ef6b9b0fb2
Refactor parameter interaction, call it before AppInit2() 2019-12-04 17:18:36 +00:00
Luke Dashjr 5bedad9580
Bugfix: Omit wallet-related options from -help when wallet is disabled 2019-12-04 17:18:35 +00:00
Luke Dashjr a624c49219
Bugfix: If genproclimit is omitted to RPC setgenerate, don't change it; also show correct default in getmininginfo 2019-12-04 17:18:34 +00:00
Luke Dashjr 3779bea091
Bugfix: Describe dblogsize option correctly (it refers to the wallet database, not memory pool) 2019-12-04 17:18:33 +00:00
Luke Dashjr b90ea483dd
Bugfix: RPC: blockchain: Display correct defaults in help for verifychain method 2019-12-04 17:18:32 +00:00
Jorge Timón bd87de60ed
Chainparams: Translations: DRY: options and error strings
Also remove SelectBaseParamsFromCommandLine and SelectParamsFromCommandLine
2019-12-04 17:18:31 +00:00
Casey Rodarmor aa1d014b40
Give a better error message if system clock is bad
Fixes #2007

This checks to see if the system clock appears to be bad and gives a
helpful error message. If the user's clock is set incorrectly, hopefully
they'll abort, fix it, and then save themselves a fruitless resync.
2019-12-04 17:18:29 +00:00
Homu 2383d1b1de Auto merge of #4211 - dagurval:rm-mempooltxinputlimit, r=mdr0id
Remove option mempooltxinputlimit

This option is no longer used after Overwinter. Fixes #4209.
2019-12-03 20:07:20 +00:00
str4d 6d57fcff13
Apply suggestions from code review
Co-Authored-By: Daira Hopwood <daira@jacaranda.org>
2019-12-02 21:10:35 +00:00
Alfredo Garcia afbf1a7082 remove dead code in init 2019-11-28 14:55:32 -03:00
Dagur Valberg Johannsson fe1ff82a7d Remove option mempooltxinputlimit
This option is no longer used after Overwinter. Fixes #4209.
2019-11-19 10:35:39 +01:00
Jonas Schnelli ea4ee8a222
[squashme] improve/corrects prune mode detection test for required wallet rescans 2019-11-14 13:56:19 +00:00
Jonas Schnelli d510fb4aa4
[autoprune] allow wallet in pruned mode 2019-11-14 13:56:17 +00:00
Homu fd8444d0b7 Auto merge of #4178 - oxarbitrage:issue3731, r=str4d
Remove z_mergetoaddress from experimental state

Closes #3731.
2019-11-11 01:57:21 -08:00
Homu cb0a94cd21 Auto merge of #4161 - oxarbitrage:issue3621, r=Eirik0
remove duplicated prefix in errors and warnings

Fixes #3621
2019-11-05 09:55:54 -08:00
Alfredo Garcia cbf1a85013 remove z_mergetoaddress from experimental 2019-10-26 12:52:36 -03:00
Alfredo Garcia f4106c65a5 remove duplicated prefix in errors and warnings 2019-10-21 13:13:59 -03:00
Eirik Ogilvie-Wigley 40a7156026 Remove dots and underscores from parameter names 2019-10-21 09:20:17 -06:00
Eirik Ogilvie-Wigley 64fc25ed6e Update parameter names to match ZIP 2019-10-17 16:39:32 -06:00
Eirik Ogilvie-Wigley c4931a9a44 Rename files 2019-10-09 15:22:49 -06:00
Eirik Ogilvie-Wigley 2d9becbeb8 Rename variables for consistency 2019-10-09 13:36:20 -06:00
Eirik Ogilvie-Wigley 9e97833952 Fix naming conventions 2019-10-07 14:23:42 -06:00
Eirik Ogilvie-Wigley 1a06727c0c Performance: Store weighted transactions in a tree 2019-10-07 14:23:42 -06:00
Eirik Ogilvie-Wigley 6fdd8f5298 Help message cleanup and add lock 2019-10-07 14:23:41 -06:00
Eirik Ogilvie-Wigley 0b2c5cfcc2 Grammatical fixes
Co-Authored-By: Daira Hopwood <daira@jacaranda.org>
2019-10-07 14:23:41 -06:00
Eirik Ogilvie-Wigley ae9ecf09e8 DoS protection: Weighted random drop of txs if mempool full 2019-10-07 14:23:41 -06:00
Homu 961c0d58ec Auto merge of #4060 - str4d:remove-libsnark, r=daira
Remove libsnark

Closes #167. Closes #416. Closes #418. Closes #437.
Closes #521. Closes #743. Closes #750. Closes #894.
Closes #903. Closes #1125. Closes #1136. Closes #1240.
Closes #1264. Closes #1516. Closes #1517. Closes #1651.
Closes #2064. Closes #2158. Closes #3478. Closes #3652.
Closes #3744.
2019-09-26 11:21:40 -07:00
Daira Hopwood 921f326132
Merge pull request #18 from zcash/mempool-txnotify-thread
Move mempool SyncWithWallets call into its own thread
2019-09-24 19:22:08 +01:00
Jack Grigg 3ff68c5052
Move mempool SyncWithWallets call into its own thread 2019-09-20 21:00:42 +01:00
Jack Grigg 5ae7b70ae6
Disable -shrinkdebugfile command 2019-09-19 18:05:56 +01:00
Jack Grigg 5f84491d82
Remove libsnark code for pre-Sapling Sprout proofs 2019-08-22 15:42:47 +01:00
Jack Grigg 93dae1db7d
Revert "Allow user to ask server to save the Sprout R1CS out during startup."
This reverts commit 685c0ab07f.
2019-08-22 15:42:46 +01:00
Homu 2528af69ff Auto merge of #4025 - bitcartel:shorter_block_target_interval_zip208, r=daira
Implement ZIP 208: Shorter Block Target Spacing

Closes #3690.
2019-08-09 02:35:30 -07:00
Eirik Ogilvie-Wigley 82c291b6df Fix parsing txexpirydelta argument 2019-08-05 11:32:12 -06:00
Eirik Ogilvie-Wigley 8865f4b6f6 Update expiry height for shorter block times 2019-07-30 01:16:37 -06:00
Eirik Ogilvie-Wigley c0d27cb3f2 Simplify PartitionCheck 2019-07-29 18:29:39 -06:00
Daira Hopwood bc909a7a7f Replace http with https: in links to the MIT license.
Also change MIT/X11 to just MIT, since no distinction was intended.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-07-18 15:26:01 +01:00
Simon d7ebbeb2aa Modify PartitionCheck to be aware of pre & post Blossom target spacing. 2019-07-11 14:17:58 -06:00
Jorge Timón 44b2d060ef
Globals: Remove a bunch of Params() calls from main.cpp:
1) Chainparams: Explicit CChainParams arg for main:

-AcceptBlock
-AcceptBlockHeader
-ActivateBestChain
-ConnectTip
-InitBlockIndex
-LoadExternalBlockFile
-VerifyDB parametric constructor

2) Also pickup more Params()\. in main.cpp

3) Pass nPruneAfterHeight explicitly to new FindFilesToPrune() in main.cpp
2019-05-23 17:48:18 +01:00
Jorge Timón 793a72e31f
Chainparams: Explicit CChainParams arg for miner:
-BitcoinMiner
-CreateNewBlock
-GenerateBitcoins
-ProcessBlockFound
2019-05-23 17:48:17 +01:00
Eirik0 5969bd8f55 Fix help message 2019-04-29 15:29:27 -06:00
str4d b9c7f274a4
remove extra hyphen
Co-Authored-By: Eirik0 <eirik@z.cash>
2019-04-29 09:55:07 -06:00
Eirik0 8ffd63af2d Add migration options to conf file
Co-authored-by: Simon <simon@bitcartel.com>
2019-04-29 09:36:26 -06:00
Homu 1fefed9eb5 Auto merge of #3940 - str4d:3607-init-encrypted-wallet-without-hd-seed, r=bitcartel
init: Fix new HD seed generation for previously-encrypted wallets

Closes #3607.

How to verify (with `zcashd` flags `-testnet -wallet=wallet.3607.dat -experimentalfeatures -developerencryptwallet`):
- Start `zcashd` 2.0.0, encrypt the wallet, and stop the node.
- Start `zcashd` 2.0.1+ (before this branch), and see that it crashes during startup.
- Start `zcashd` built from this branch, and see that it does not crash during startup. Unlock the wallet, then stop.
- Start `zcashd` 2.0.1+ (before this branch), and see that it no longer crashes during startup.
2019-04-25 13:15:51 -07:00
Simon 4c1a8884f4 Add testnet and regtest experimental feature: -developersetpoolsizezero 2019-04-22 14:24:40 -07:00
Jack Grigg 1f561f323f
init: Fix new HD seed generation for previously-encrypted wallets
Closes #3607.
2019-04-04 18:27:46 +01:00
Larry Ruane 6cf0e50b56 add -addressindex changes for bitcore insight block explorer 2019-03-28 12:03:48 -06:00
Jack Grigg c233f6fd31
Add comments 2019-03-06 09:03:55 +13:00
Jonas Schnelli b2993bc5d4
detach wallet from miner 2019-03-06 09:02:50 +13:00
Homu abd55f27f2 Auto merge of #3691 - ebfull:printsproutr1cs, r=daira
Allow user to ask server to save the Sprout R1CS to a file during startup.

This adds an experimental feature `-savesproutr1cs` which can be used to save the file `r1cs` containing the constraint system used in the original launch of Zcash. The file is written to the parameters directory. This can be used to recover this file for verification of the Sprout MPC transcript and parameters.
2018-12-18 23:28:06 -08:00
Homu 9cd74866c7 Auto merge of #3262 - str4d:2074-perf-1, r=str4d
Bitcoin 0.12 performance improvements

Cherry-picked from the following upstream PRs:

- bitcoin/bitcoin#6918
- bitcoin/bitcoin#6932

Part of #2074.
2018-11-30 15:25:33 -08:00
Sean Bowe 685c0ab07f Allow user to ask server to save the Sprout R1CS out during startup. 2018-11-17 17:10:58 -07:00
Simon f8cd79c2de For ZEC-013. Mitigate potential tx expiry height related DoS vector.
Don't accept transactions which are about to expire (next 3 blocks).
Don't set a ban score if a peer does propragate these transactions.
See ZEC-013 for more detail.
2018-11-17 09:01:49 -08:00
Jack Grigg ee3fa7020e
Pass parameter paths as native strings to librustzcash 2018-10-27 19:19:02 +13:00
Pieter Wuille 3a78872137
Make sigcache faster and more efficient 2018-10-24 19:28:39 +08:00
Jack Grigg c58dae6cda
init: Generate a new HD seed on startup 2018-09-03 10:45:37 +01:00
Homu 40f320e0ee Auto merge of #3443 - daira:testnet-rollback, r=str4d
Support testnet rollback.

Part of #1302. Closes #2905.
2018-08-08 05:28:08 -07:00
Sean Bowe 198dfd3c36 Switch to use the official Sapling parameters. 2018-08-04 16:28:39 -06:00
Daira Hopwood 66856b2b3c Support testnet rollback.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-08-02 23:10:30 +01:00
Sean Bowe d9ef8f622e Check the hash of the (Sapling+) zk-SNARK parameters during initialization. 2018-08-02 12:18:13 -06:00
Wladimir J. van der Laan a9496b08b6
rpc: Register calls where they are defined
Split out methods to every module, apart from 'help' and 'stop' which
are implemented in rpcserver.cpp itself.

- This makes it easier to add or remove RPC commands - no longer everything that includes
    rpcserver.h has to be rebuilt when there's a change there.
- Cleans up `rpc/server.h` by getting rid of the huge cluttered list of function definitions.
- Removes most of the bitcoin-specific code from rpcserver.cpp and .h.

Continues #7307 for the non-wallet.
2018-07-18 11:07:18 -06:00
Daniel Cousens 4519a766b6
move rpc* to rpc/ 2018-07-18 11:07:16 -06:00
Jonas Schnelli 34aca1b03c
[RPC, Wallet] Move RPC dispatch table registration to wallet/ code
Allow extending the rpc dispatch table by appending commands when server is not running.
2018-07-18 11:07:15 -06:00
Homu 3835cbb57f Auto merge of #3263 - str4d:ibd-upstream-changes, r=bitcartel
InitialBlockDownload upstream changes

Cherry-picked from the following upstream PRs:

- bitcoin/bitcoin#7208
- bitcoin/bitcoin#8007
- bitcoin/bitcoin#9053
  - Excluding second commit (requires bitcoin/bitcoin#8865)
- bitcoin/bitcoin#10388
2018-07-17 13:17:27 -07:00
Jack Grigg c74ab3356a Remove config option -disabledeprecation
Closes #2943.
2018-06-11 10:38:12 -07:00
Wladimir J. van der Laan 29aaf13b0a
Make max tip age an option instead of chainparam
After discussion in #7164 I think this is better.

Max tip age was introduced in #5987 to make it possible to run
testnet-in-a-box. But associating this behavior with the testnet chain
is wrong conceptually, as it is not needed in normal usage.
Should aim to make testnet test the software as-is.

Replace it with a (debug) option `-maxtipage`, which can be
specified only in the specific case.
2018-05-15 21:24:58 +12:00
Jack Grigg 93bd00a0d5
Add key_io includes to Zcash-specific code 2018-05-08 21:39:56 +01:00
Jack Grigg b6be3e88bb
Use CBitcoinAddress wrappers in Zcash-specific code 2018-05-03 01:13:04 +01:00
Homu 23f8b30c88 Auto merge of #3193 - str4d:b9856-badalloc-terminate, r=bitcartel
Terminate immediately when allocation fails

Backport of bitcoin/bitcoin#9856

Closes #1498.
2018-05-01 02:09:51 -07:00
Marshall Gaucher b300118002
Merge pull request #2813 from str4d/2074-uacomment
Implement uacomment config parameter
2018-04-30 09:12:38 -06:00
Jack Grigg aeb089ecc7
Attempt to log before terminating if prevector allocation fails 2018-04-26 11:30:33 +01:00
Jack Grigg 3c9dbf3ed8
Improve best-effort logging before termination on OOM
Suggested by @kallewoof in bitcoin/bitcoin#9856
2018-04-26 11:22:07 +01:00
Cory Fields c10b69eb64
don't throw std::bad_alloc when out of memory. Instead, terminate immediately 2018-04-19 16:49:02 +01:00
Sean Bowe acfcdb94b9 Load Sapling testnet parameters into memory. 2018-04-17 15:04:46 -06:00
MarcoFalke 3c1db17064
[uacomment] Sanitize per BIP-0014
* SanitizeString() can be requested to be more strict
* Throw error when SanitizeString() changes uacomments
* Fix tests
2018-04-13 07:41:50 -06:00
Pavol Rusnak 2bc62dc4e3
limit total length of user agent comments
Reworked-By: Wladimir J. van der Laan <laanwj@gmail.com>
2018-04-13 07:40:34 -06:00
Jack Grigg 0a284ecaf6
Fix NODE_BLOOM documentation errors 2018-04-05 01:30:38 +01:00
Patick Strateman b976ce7cee
Document both the peerbloomfilters and enforcenodebloom options. 2018-04-05 01:30:12 +01:00
Matt Corallo 8bc4461326
Add NODE_BLOOM service bit and bump protocol version
Lets nodes advertise that they offer bloom filter support explicitly.
The protocol version bump allows SPV nodes to assume that NODE_BLOOM is
set if NODE_NETWORK is set for pre-170004 nodes.

Also adds an option to turn bloom filter support off for nodes which
advertise a version number >= 170004. Nodes attempting to use bloom
filters on such protocol versions are banned, and a later upgade
should drop nodes of an older version which attempt to use bloom
filters.

Much code stolen from Peter Todd.

Zcash: Implements Zcash equivalent of BIP 111; deploys with Overwinter
2018-04-05 01:30:12 +01:00
Jack Grigg 31afbcc5c9
Ignore -mempooltxinputlimit once Overwinter activates 2018-03-28 14:25:42 +02:00
Daira Hopwood c938fb1f17 Squashed commit of the following:
commit 5e7222e4bc0401ef8c6d8049b12a62d4854ac85c
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Thu Mar 1 21:20:51 2018 +0200

    Cleanup

commit 2e1bc7a7cd6c72e7c3d2ff74cb30f7a56515006c
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Thu Mar 1 21:19:53 2018 +0200

    Cleanup

commit edd7fa87fb2c839c17457ff004d258a049df832f
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Thu Mar 1 21:18:57 2018 +0200

    Cleanup

commit ee34e1433806655a7123f0617802aa4771507dff
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Thu Mar 1 21:18:10 2018 +0200

    Cleanup

commit 20779e4021b8ab95a87289d2741ad2f0fbc7fb39
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Thu Mar 1 21:16:52 2018 +0200

    Cleanup

commit 084e1aa563807f5625ad3aaff376b598e139f2a7
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 18:42:49 2018 +0200

    Fix typo

commit c61a7c2319d3b9b96d1b5ad52ecf9d4f2fd92658
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 18:37:43 2018 +0200

    Cleanup

commit e435c0229b0cbe3f4a77f43b01ca87ed0552d405
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 18:17:58 2018 +0200

    Fix typos

commit e05bff3fea8915e95a473fe3266b2b1f727deca0
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 17:59:32 2018 +0200

    Fix typo

commit 8c55c7840232cef7fa4389a12f6f220e86f5f581
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 17:46:33 2018 +0200

    Fix typos

commit a1edfcc5cc29d815ba7e8c4baaf14c23ef93af64
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 17:39:41 2018 +0200

    Fix typos

commit 2ce2c4d180e936ccc5c10745a6430fda5de38a9b
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 17:14:10 2018 +0200

    Fix typo

commit 5bdc6cd5bc9cff93aa48fbdeda36d4d9774bfa18
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 17:12:14 2018 +0200

    Fix typo

commit d08749f549575efc6f44a7f80850bc439c12ad5c
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 16:54:06 2018 +0200

    Revert one change

commit a734bb1191c692f09f58bcc8e85160ce7c839905
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 16:52:45 2018 +0200

    Fix typo

commit 95fbc8d94bbefc0db989c83d0f053111bfed45e7
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 16:51:33 2018 +0200

    Fix typos

commit d17d540a83d035cf9a200f9a8b19f0fab6084728
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 16:49:36 2018 +0200

    Fix typo

commit c4bf4402210bcb926ccfb3928afeb3a8a7490b42
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 16:48:09 2018 +0200

    Fix typo

commit 25e7990848a1d723702e2d041c04bc68a6c1275f
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 16:47:01 2018 +0200

    Fix typo

commit d72ffb5b0253e0d7b992ffe13c40695421378dc3
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 16:45:20 2018 +0200

    Fix typo

commit 705e6f271192a575cc99d794545b0efe75d964c4
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 16:41:19 2018 +0200

    Revert one change

commit 4fd26cd29e21c42b027e37da2616761ebc399d16
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 16:39:41 2018 +0200

    Revert commit

commit 8a5cc627b1048368fe8807973d1f542bab2e045f
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 16:28:56 2018 +0200

    Fix typo

commit 0a24baa7258c0ae0f244d82af8d0831b148ab012
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 16:15:45 2018 +0200

    Fix typo

commit 38f93ecd90171fb881243f0de55b3452daccff20
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 15:56:49 2018 +0200

    Fix typos

commit 15446fd62400c36c2a51f7e6f13725cc8adfd924
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 15:48:00 2018 +0200

    Fix typos

commit 76533b41986bbc5826070a1e644215a74757c1db
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 15:04:38 2018 +0200

    Fix typo

commit aea330c2b0bf76975ec69142a732288cc8b192bd
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 14:46:29 2018 +0200

    Fix typo

commit 8b1b1d0be1dc44f36c22c54d1a3d56d84d456b92
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 14:40:23 2018 +0200

    Fix typo

commit 46ea76785a26cf20a664ed211c8f3fb9a283e127
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 14:14:17 2018 +0200

    Fix typo

commit e0d7c5748545dd0975507ad603623072fcc6bdea
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 14:08:24 2018 +0200

    Fix typo

commit 604d5a244323b17ba596b12d245407e1cf63a375
Merge: 6c081ca 1c65b2b
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 09:03:23 2018 +0200

    Merge pull request #36 from rex4539/patch-36

    Fix typo

commit 6c081caf28b7cef9e62ed523284dff90e4add16d
Merge: 899e5d2 88fa2d9
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 09:02:49 2018 +0200

    Merge pull request #35 from rex4539/patch-35

    Fix typo

commit 899e5d2c343ac7ea5069b8548e5df86c8e963e21
Merge: 6380c7f 40e73e2
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 09:02:16 2018 +0200

    Merge pull request #34 from rex4539/patch-34

    Fix typo

commit 6380c7f740246474c69d8145bde61688551efe83
Merge: f592274 4567667
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 09:01:47 2018 +0200

    Merge pull request #33 from rex4539/patch-33

    Fix typos

commit f592274a713162da0083bd6d22fb47cb1afcdba9
Merge: d86ef7e 4aeaa3a
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 09:01:14 2018 +0200

    Merge pull request #32 from rex4539/patch-32

    Fix typo

commit d86ef7e5e4f7e9c2014358ec5b647d1815eb304d
Merge: fe0b432 5cdd1b2
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 09:00:41 2018 +0200

    Merge pull request #31 from rex4539/patch-31

    Fix typo

commit fe0b432ee125ae0b876af2c26139dfc979005a3b
Merge: 6fd6d0d 70130d0
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 09:00:12 2018 +0200

    Merge pull request #30 from rex4539/patch-30

    Fix typos

commit 6fd6d0dcf3714118a623c0d8d84aabb4578410a8
Merge: 389660f 3377426
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 08:59:42 2018 +0200

    Merge pull request #29 from rex4539/patch-29

    Fix typo

commit 389660f856cb60ff475a8757aad3873b99213cc0
Merge: a0b85ce 40643eb
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 08:59:15 2018 +0200

    Merge pull request #28 from rex4539/patch-28

    Fix typo

commit a0b85ce3b4d2e6596da0727e05c1fe15c289b1e7
Merge: 6f9a1c7 23ead80
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 08:58:42 2018 +0200

    Merge pull request #27 from rex4539/patch-27

    Fix typo

commit 6f9a1c71a680bb3ed1c249dd42bf0a54663d0af3
Merge: b880547 3612eab
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 08:58:06 2018 +0200

    Merge pull request #26 from rex4539/patch-26

    Patch 26

commit b880547415afeae36bd19867388e60a3040a15ca
Merge: a3b7da2 5c3177f
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 08:57:24 2018 +0200

    Merge pull request #25 from rex4539/patch-25

    Fix typo

commit a3b7da2c6d6691f38751292e1aea63498a325788
Merge: edd8586 60026ef
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 08:56:52 2018 +0200

    Merge pull request #24 from rex4539/patch-24

    Fix typo

commit edd8586fdf8c112f4c513804610c237d7e2e80ef
Merge: 0c28eb7 f979c00
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 08:56:12 2018 +0200

    Merge pull request #23 from rex4539/patch-23

    Fix typo

commit 0c28eb7717821b1d68016f40911d07f2a7231b4f
Merge: 775beb6 c900722
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 08:55:42 2018 +0200

    Merge pull request #22 from rex4539/patch-22

    Fix typo

commit 775beb625beb1fc5f72388c076b295de4b8ff039
Merge: a0cf889 1027543
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 08:55:16 2018 +0200

    Merge pull request #21 from rex4539/patch-21

    Fix typo

commit a0cf88971e756c37c406bab3066c11d6fc7f6d74
Merge: 4504b48 f3fa89b
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 08:54:44 2018 +0200

    Merge pull request #20 from rex4539/patch-20

    Fix typo

commit 4504b4824b3438e931ca8d24a56b1887657e87cd
Merge: dd0bcbf 2699eca
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 08:54:20 2018 +0200

    Merge pull request #19 from rex4539/patch-19

    Fix typo

commit dd0bcbfc89293e9760156d5534f3a558451e1f29
Merge: abfb65a f02ef2e
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 08:53:46 2018 +0200

    Merge pull request #18 from rex4539/patch-18

    Fix typos

commit abfb65afaed49c34b9875df79f6fe6eb2b7bf769
Merge: 68b46b7 6485c90
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 08:53:08 2018 +0200

    Merge pull request #17 from rex4539/patch-17

    Fix typo

commit 68b46b75d2e5b7ae97e83fc5541c46b4907a7899
Merge: a131e84 fcc0828
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 08:52:39 2018 +0200

    Merge pull request #16 from rex4539/patch-16

    Fix typo

commit a131e844652e58aff78fa8952e7547a9ba82b8a1
Merge: 8487c0e 8a688ff
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 08:51:54 2018 +0200

    Merge pull request #15 from rex4539/patch-15

    Fix typo

commit 8487c0e39092b74e977c7a60f4a07a27606756a8
Merge: bcc4cb4 bb60b83
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 08:51:28 2018 +0200

    Merge pull request #14 from rex4539/patch-14

    Fix typos

commit bcc4cb46130e789faa9adae9b159ca818f67ec52
Merge: 23e66e9 53539bb
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 08:51:00 2018 +0200

    Merge pull request #13 from rex4539/patch-13

    Fix typos

commit 23e66e956bff2d6935c7a4dd570d457294018a77
Merge: 56956cf 0808445
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 08:50:27 2018 +0200

    Merge pull request #12 from rex4539/patch-12

    Fix typo

commit 56956cf23ba1208aa39cb3ab1ef60375c6630263
Merge: 77007d4 7a4f064
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 08:49:59 2018 +0200

    Merge pull request #11 from rex4539/patch-11

    Fix typo

commit 77007d49fa1d8cb80aef02bea1dd15e522a47c90
Merge: e78ad0c 48c33fb
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 08:49:16 2018 +0200

    Merge pull request #10 from rex4539/patch-10

    Fix typo

commit e78ad0cf0d91955a848f5e953a042eabdcdac198
Merge: 38a3e08 809f01c
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 08:48:33 2018 +0200

    Merge pull request #9 from rex4539/patch-9

    Fix typo

commit 38a3e08699fe4c4ec715b1783dba18bff6b829fb
Merge: eee3c28 fec279c
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 08:48:05 2018 +0200

    Merge pull request #8 from rex4539/patch-8

    Fix typo

commit eee3c286eb84f994310142a9e7fdbd36a671e593
Merge: 702635b cf81b4e
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 08:47:33 2018 +0200

    Merge pull request #7 from rex4539/patch-7

    Fix typo

commit 702635bb34abb2f83ded27ae95deefd5b6e7df93
Merge: d7497ea 3bbcc3d
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 08:47:01 2018 +0200

    Merge pull request #6 from rex4539/patch-6

    Fix typo

commit d7497ea070e03380cf1d4f533b7dc4b881f724f8
Merge: bfcc1e8 f639727
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 08:45:33 2018 +0200

    Merge pull request #5 from rex4539/patch-5

    Fix typos

commit bfcc1e8ae2094ca4e9837f623999705f538aff04
Merge: f4440ec 55262fe
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 08:45:05 2018 +0200

    Merge pull request #4 from rex4539/patch-4

    Remove space for word "backup"

commit f4440ecd4a7367e6bc4a5f75bea112290017ed2b
Merge: f8b487f 61d5279
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 08:44:31 2018 +0200

    Merge pull request #3 from rex4539/patch-3

    Fix typos in zmq.md

commit f8b487f5699990fabc7fc383d02bc728db3cb9aa
Merge: 60104a7 f2ce50f
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 08:42:51 2018 +0200

    Merge pull request #2 from rex4539/patch-2

    Fix typo in security-warnings.md

commit 60104a7034f55284afb814e81a1430a8b2b0d8d1
Merge: be262f0 af7dfe0
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 08:41:48 2018 +0200

    Merge pull request #1 from rex4539/patch-1

    Fix typos

commit 1c65b2bd0c49f7f392d0e3a2db14ce1366a87171
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 07:35:26 2018 +0200

    Fix typo

commit 88fa2d966a3b462ed34a9a4659fc390711cc0276
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 07:21:00 2018 +0200

    Fix typo

commit 40e73e258671f21d2b2205509e9cae1f50294752
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 07:14:21 2018 +0200

    Fix typo

commit 4567667fcc8b4197dfd51da34fe82b0f2fb78127
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 06:44:40 2018 +0200

    Fix typos

commit 4aeaa3a3d6335302c53c0f5f4ef81de05e266479
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 05:55:25 2018 +0200

    Fix typo

commit 5cdd1b29b4c90492aa15fed7940984e1d675052f
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 05:36:46 2018 +0200

    Fix typo

commit 70130d05f1646c8b9fb1f33c4efbe2a5fcf7138b
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 05:28:21 2018 +0200

    Fix typos

commit 33774261b1c63e5640aa1dd251edb67892ed7a5b
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 05:00:56 2018 +0200

    Fix typo

commit 40643ebfcd85ee257a4576e85d2fb6c73dad17b5
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 04:51:57 2018 +0200

    Fix typo

commit 23ead80e05116ebfeaac0a00d5bd4a158fbeb54e
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 04:29:53 2018 +0200

    Fix typo

commit 3612eaba2dcf273e94cac9ad889723776ce55108
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 04:19:36 2018 +0200

    Fix typos

commit 5c3177f5d191d1f4e4d9f78ae4b75381010f7768
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 04:13:03 2018 +0200

    Fix typo

commit 60026efe27a39300e428879ad8dba94f19934870
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 04:08:09 2018 +0200

    Fix typo

commit f979c0074efd66804f229c8b3cc6e812d7f26406
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 04:01:44 2018 +0200

    Fix typo

commit c9007220a8a727c1cfe3b25b453c178eacd431f3
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 03:52:33 2018 +0200

    Fix typo

commit 1027543bd30701c4b09aa66226281a10563db910
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 03:36:19 2018 +0200

    Fix typo

commit f3fa89bcd30e0cb45ff4391e78d02452c9227be0
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 03:34:37 2018 +0200

    Fix typo

commit 2699eca938f1e413a29d4408a271aaafd27969cc
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 03:30:29 2018 +0200

    Fix typo

commit f02ef2e495fe43142d305f5c4f40dcfa3d2cb423
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 03:22:36 2018 +0200

    Fix typos

commit 6485c908433bb91fd70d7e18cf3611c9a96115a7
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 03:10:06 2018 +0200

    Fix typo

commit fcc082850564b14b86b1932dfc5a099816c72ef1
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 03:06:26 2018 +0200

    Fix typo

commit 8a688ff7405d67bd4c77b0aa0ebdd4b4a8a9a6a7
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 03:02:50 2018 +0200

    Fix typo

commit bb60b83853ed0a82ca47dd58d55f1849ddcf23ab
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 02:59:25 2018 +0200

    Fix typos

commit 53539bb720c7676b9d37e25dde3423db3aa7bfa1
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 02:50:55 2018 +0200

    Fix typos

commit 080844581d6488ab797ac188acae9c4b2e1d0c59
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 01:05:54 2018 +0200

    Fix typo

commit 7a4f0649ac5e71f39f0bef7f2e1fcb6fafad0291
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 00:16:31 2018 +0200

    Fix typo

commit 48c33fb3f9ab1ad287987d147ee4bbe186f7ade1
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 00:07:42 2018 +0200

    Fix typo

commit 809f01ca4f785a7b5bc9cc2c388e0ae814ecaa95
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 00:02:34 2018 +0200

    Fix typo

commit fec279cac89aa917be929447c81177811728361a
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Mon Feb 26 23:55:27 2018 +0200

    Fix typo

commit cf81b4e12399570545372d4c9daceca8e70142d5
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Mon Feb 26 23:48:43 2018 +0200

    Fix typo

commit 3bbcc3d9986caf8df99bec5d8a18d0f0c8990e06
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Mon Feb 26 23:28:52 2018 +0200

    Fix typo

commit f639727525dbd23f5f2d0f89e7be13d868e984c3
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Mon Feb 26 23:13:12 2018 +0200

    Fix typos

commit 55262fe9c5e1e127c6b817a0c2ab3f9db3ac35b9
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Mon Feb 26 22:46:52 2018 +0200

    Remove space for word "backup"

commit 61d52797d4d26a90dcc15e2bcd6f19a5f36faac3
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Mon Feb 26 22:23:31 2018 +0200

    Fix typos in zmq.md

commit f2ce50f10e67b4265e559a432681bc44828ae59b
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Mon Feb 26 22:12:58 2018 +0200

    Fix typo in security-warnings.md

commit af7dfe046c12109e44ddc18dff07ede8755cf4f9
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Mon Feb 26 21:59:24 2018 +0200

    Fix typos

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-03-02 11:45:05 +00:00
Jay Graber 9c12b8e903 Add -txexpirydelta cli option 2018-02-23 00:12:10 -08:00
Jack Grigg 553a5c1ab2
Gate z_mergetoaddress as an experimental feature 2018-02-22 13:23:25 +00:00
Pieter Wuille 934fd19744
Support -checkmempool=N, which runs checks on average once every N transactions 2018-02-09 18:35:25 +00:00
Jack Grigg 5009136dc3
Change UI/log status message for block rewinding 2018-02-06 22:49:08 +00:00
Jack Grigg 9e851450ab
Adjust rewind logic to use the network upgrade mechanism 2018-02-04 22:58:42 +00:00
Pieter Wuille 89f20450c2
Add rewind logic to deal with post-fork software updates
Includes logic for dealing with pruning by Suhas Daftuar.
2018-02-04 22:58:42 +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 fee8835388
Mark libsnark includes as library includes 2017-11-15 16:49:10 +00:00
Homu c8ecd49574 Auto merge of #2159 - bitcartel:1.0.7_payment_disclosure, r=str4d
Payment disclosure (experimental feature)
2017-11-14 14:06:22 -08:00
Simon 45232b1961 Add payment disclosure as experimental feature. 2017-11-14 13:29:05 -08:00
Homu 6f9f09dfb0 Auto merge of #2670 - arielgabizon:lowmemprover, r=daira
Low memory prover

This PR integrates @ebfull 's low memory changes:  https://github.com/zcash/zcash/pull/2243/commits
on top of @str4d 's work bringing in libsnark as a subtree
4699d0eb36
2017-11-06 04:22:20 -08: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
Homu fb2f98e00b Auto merge of #2555 - jasondavies:fix-2554, r=str4d
Fix various thread assertion errors caused during shutdown.

Cherry-picked from the following upstream PRs:

- bitcoin/bitcoin#6719
- bitcoin/bitcoin#6990
- bitcoin/bitcoin#8421
  - Second commit only in this PR
- bitcoin/bitcoin#11006

I've cherry-picked the relevant commits, along with a note in each commit referring to the original Bitcoin commit ID (and the Zcash issue numbers where applicable).  I've tested each issue with/without these patches applied.

Closes #2214, #2334, and #2554.
2017-10-23 15:15:14 -07:00
Sean Bowe 1a9543d064 Remove crusty old "loadVerifyingKey"/"loadProvingKey" APIs and associated invariants. 2017-10-21 15:42:41 +03:00
Jay Graber c16528495c s/zcash/Zcash 2017-10-04 17:06:51 -07:00
Bruno Arueira d2c1e4a807 Removes out bitcoin mention in favor for zcash
Bitcoin Core => Zcash
bitcoin address => Zcash address
bitcoinaddress => zcashaddress

Closes #1756
2017-10-04 17:05:30 -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
Ross Nicoll 091b2116a0
Rationalize currency unit to "BTC"
Previously various user-facing strings have used inconsistent currency units "BTC",
"btc" and "bitcoins". This adds a single constant and uses it for each reference to
the currency unit.

Also adds a description of the unit for --maxtxfee, and adds the missing "amount"
field description to the (deprecated) move RPC command.
2017-08-03 16:32:41 +01:00
Wladimir J. van der Laan c7f77e28f0 http: speed up shutdown
This continues/fixes #6719.

`event_base_loopbreak` was not doing what I expected it to, at least in
libevent 2.0.21.
What I expected was that it sets a timeout, given that no other pending
events it would exit in N seconds. However, what it does was delay the
event loop exit with 10 seconds, even if nothing is pending.

Solve it in a different way: give the event loop thread time to exit
out of itself, and if it doesn't, send loopbreak.

This speeds up the RPC tests a lot, each exit incurred a 10 second
overhead, with this change there should be no shutdown overhead in the
common case and up to two seconds if the event loop is blocking.

As a bonus this breaks dependency on boost::thread_group, as the HTTP
server minds its own offspring.

Zcash: cherry-picked from commit a264c32e3321ae909ca59cb8ce8bf5d812dbc4e1
2017-08-01 20:24:27 +01:00
Daira Hopwood 506a21850a Remove UPnP support. fixes #2500
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-07-03 08:57:05 +01:00
Homu 59de56eeca Auto merge of #2342 - bitcartel:1081__mempoolpatch, r=str4d
Add ability for node to reject tx from mempool by number of tx inputs

Implement short-term solution described in #2343 so that users can respond promptly to critical short-term problems caused by quadratic validation scaling, such as the getblocktemplate latency, block propagation latency, and mempool size inflation issues described in #2333.
2017-06-21 14:42:13 -07:00
Homu ef24e8e6be Auto merge of #2335 - str4d:2333-validation-speed, r=str4d
Switch to libsecp256k1-based validation for ECDSA

Cherry-picked from the following upstream PRs:

- bitcoin/bitcoin#6983
- bitcoin/bitcoin#6954

Part of #2333.
2017-06-17 07:18: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
Homu 0a80a1cea3 Auto merge of #2227 - str4d:2074-ignore-virtual-cores, r=str4d
Use real number of cores, ignore virtual cores

Cherry-picked from the following upstream PRs:

- bitcoin/bitcoin#6361
- bitcoin/bitcoin#6370

Part of #2074.
2017-06-15 17:05:02 -07:00