Commit Graph

8621 Commits

Author SHA1 Message Date
Daira Hopwood 1e11ffb6bb make-release.py: Versioning changes for 2.0.7-3. 2019-09-24 20:58:26 +01: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
Daira Hopwood f5832a9549
Merge pull request #17 from zcash/exception-handling
Ignore exceptions when deserializing note plaintexts
2019-09-24 19:21:34 +01:00
Jack Grigg 9d8322a341
Enable RPC tests to wait on mempool notifications 2019-09-20 21:41:49 +01:00
Jack Grigg 3ff68c5052
Move mempool SyncWithWallets call into its own thread 2019-09-20 21:00:42 +01:00
Jack Grigg c1fbf8ab5d
Ignore exceptions when deserializing note plaintexts 2019-09-19 22:29:24 +01:00
Jack Grigg 7c8111f304
Remove cs_main lock requirement from CWallet::SyncTransaction
SetMerkleBranch was the only call underneath SyncTransaction that
required the cs_main lock.
2019-09-19 20:59:05 +01:00
Jack Grigg d917c11572
SetMerkleBranch: remove unused code, remove cs_main lock requirement
Includes equivalent changes to bitcoin/bitcoin#9446
2019-09-19 20:57:39 +01:00
Jack Grigg 5ae7b70ae6
Disable -shrinkdebugfile command 2019-09-19 18:05:56 +01:00
Jack Grigg c8c43c4210
Add block hashes for Overwinter, Sapling, and testnet Blossom
Also updates nMinimumChainWork for testnet (using block 585000).
2019-09-19 16:10:35 +01:00
Jack Grigg 150e330310
Abort node if NU activations have unexpected hashes 2019-09-19 15:00:04 +01:00
Jack Grigg 10b9d6306b
Move AbortNode to the top of main.cpp
It is in an anonymous namespace, so it needs to be above all code in the
file that uses it.
2019-09-19 14:52:55 +01:00
Eirik Ogilvie-Wigley c8715f7fb3 Wrap metrics message in strprintf 2019-09-18 12:16:11 -06:00
jeff-liang 188f3254fc Display which network the node is running on.
Co-authored-by: Jeff Liang
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-09-18 12:11:17 -06:00
Jack Grigg fe3cb8ec93
Remove makeGrothProof argument from JoinSplit::prove 2019-09-16 13:10:54 +01:00
Homu 06507722ac Auto merge of #4088 - LarryRuane:3708-insightexplorer-formatting, r=Eirik0
insightexplorer: formatting, pyflakes cleanups

These changes were too late (post-review) for the Insight Explorer PRs, see #3708. No functional differences.
2019-09-04 10:57:56 -07:00
Eirik Ogilvie-Wigley 72d2ab918d make-release.py: Versioning changes for 2.0.7-2. 2019-08-30 17:38:50 -06:00
Eirik Ogilvie-Wigley c05652b8d9 make-release.py: Versioning changes for 2.0.7-1. 2019-08-29 12:58:35 -06:00
Homu 424d8b1af5 Auto merge of #4115 - LarryRuane:4114-spent-index-debug, r=Eirik0
#4114 Don't call GetSpentIndex() when converting txs to JSON if spent index is disabled

Closes #4114.
2019-08-28 21:09:19 -07:00
Larry Ruane e83168b8c8 better fix: make GetSpentIndex() consistent with others...
but don't call it if insight explorer isn't enabled
2019-08-27 08:37:42 -06:00
Daira Hopwood 7d5de93518 Add intended rewind for Blossom on testnet.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-08-26 21:37:44 +01:00
Larry Ruane 210c46c21d #4114 don't call error() from GetSpentIndex() 2019-08-24 19:05:10 -06:00
Jack Grigg 9cbd2889be
rpc: Use Sapling transactions in zc_raw_joinsplit 2019-08-22 17:27:18 +01:00
Jack Grigg 9ce0caf205
Remove libsnark 2019-08-22 15:42:52 +01:00
Jack Grigg 6a4b8b7751
Remove libsnark from build system 2019-08-22 15:42:51 +01:00
Jack Grigg 7bd700b100
Revert "Check if OpenMP is available before using it"
This reverts commit daad2c2736.
2019-08-22 15:42:50 +01:00
Jack Grigg 9a0e257526
Revert "configure: Guess -march for libsnark OPTFLAGS instead of hard-coding"
This reverts commit 98cfe4228c.
2019-08-22 15:42:49 +01:00
Jack Grigg 8a638d5fd8
Remove pre-Sapling Sprout circuit 2019-08-22 15:42:48 +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
Jack Grigg e573765641
Use Sapling JSDescriptions in gtests 2019-08-22 15:42:45 +01:00
Jack Grigg c4b695e7b3
Migrate test utilities to generate Sapling-type Sprout proofs 2019-08-22 15:42:44 +01:00
Jack Grigg 79a7c072f6
Remove non-Groth16 Sprout proofs from joinsplit gtests 2019-08-22 15:42:43 +01:00
Jack Grigg 1b4cf1337c
Use Sapling JSDescriptions in Boost tests 2019-08-22 15:42:42 +01:00
Jack Grigg 1e812cd694
Remove ability to create non-Groth16 Sprout JSDescriptions 2019-08-22 15:42:41 +01:00
Jack Grigg 34297c3dec
Always skip verification for old Sprout proofs 2019-08-22 15:42:40 +01:00
Eirik Ogilvie-Wigley 63dac4b08a Update nMinimumChainWork 2019-08-19 15:16:12 -06:00
Eirik Ogilvie-Wigley 93a03a1a20 make-release.py: Versioning changes for 2.0.7. 2019-08-19 14:36:31 -06:00
Eirik Ogilvie-Wigley 1288fb1dd8 Set testnet Blossom activation height 2019-08-16 13:21:33 -06:00
Eirik Ogilvie-Wigley 0b83bf493a make-release.py: Versioning changes for 2.0.7-rc1. 2019-08-09 16:52:27 -06:00
Larry Ruane 7c5a791b73 insightexplorer: formatting, pyflakes cleanups 2019-08-09 15:27:52 -06:00
Homu 5fd1f5afc0 Auto merge of #3972 - LarryRuane:3708-getblockhashesrpc, r=str4d
3708 getblockhashesrpc

Part of #3708
2019-08-09 08:00:17 -07: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
Larry Ruane 70bda8416a insightexplorer fix LogPrintf 2019-08-08 14:54:47 -06:00
Larry Ruane 6e7e50be4d insightexplorer minor bug fixes 2019-08-08 14:45:30 -06:00
Larry Ruane 5bba8493d5 fix getblockdeltas documentation formatting 2019-08-08 14:38:45 -06:00
Larry Ruane 2e505df351 add timestampindex related RPC getblockhashes 2019-08-08 14:35:07 -06:00
Larry Ruane 86b23f37ad add spentindex RPC for bitcore block explorer 2019-08-07 14:23:42 -06:00
Eirik Ogilvie-Wigley b99003c1ec Rename method and use int64_t 2019-08-07 10:05:01 -06:00
Eirik Ogilvie-Wigley d9ef43dc25 Do not estimate height if there is no best header 2019-08-07 10:04:30 -06:00
Eirik Ogilvie-Wigley cdb6757095 NPE defense in metrics screen 2019-08-06 09:45:17 -06:00
Eirik Ogilvie-Wigley 2f00729061 Add copyright info 2019-08-05 19:05:11 -06:00
Eirik Ogilvie-Wigley 42a21ef004 Test clean up and fixes 2019-08-05 14:52:34 -06:00
Eirik Ogilvie-Wigley 5a93638981 Distinguish between height and current header height on metrics screen 2019-08-05 14:20:25 -06:00
Eirik Ogilvie-Wigley f97b9c5d9f Algebraic improvements related to halving 2019-08-05 14:02:31 -06:00
Eirik Ogilvie-Wigley 8f0a54c142 Remove DefaultExpiryDelta method 2019-08-05 13:40:06 -06:00
Eirik Ogilvie-Wigley 832134f4cd Update PoW related assertions 2019-08-05 13:16:13 -06:00
Eirik Ogilvie-Wigley 609bb38ad8 Clarify documentation 2019-08-05 13:01:01 -06:00
Eirik Ogilvie-Wigley 0f0512128c Make sure that expiry height is not less than height 2019-08-05 12:57:10 -06:00
Eirik Ogilvie-Wigley 7ddcf427c0 Fix/update comments 2019-08-05 12:41:31 -06:00
Eirik Ogilvie-Wigley 9f70b74692 Do not add expiring soon threshold to expiry height of txs near NU activation 2019-08-05 11:50:05 -06:00
Eirik Ogilvie-Wigley 82c291b6df Fix parsing txexpirydelta argument 2019-08-05 11:32:12 -06:00
Eirik Ogilvie-Wigley 2c35e162a6 Make sure to deactivate blossom in test case 2019-08-05 11:32:12 -06:00
Eirik Ogilvie-Wigley 8068491d2c Fix check transaction tests 2019-08-04 14:35:47 -06:00
Eirik Ogilvie-Wigley bde2e4807c Improve EstimateNetHeight calculation 2019-08-02 22:51:21 -06:00
Eirik Ogilvie-Wigley 2972521323 Add comments and fix typos 2019-08-02 21:43:17 -06:00
Eirik Ogilvie-Wigley f9d6b3e7ef Extract Halvings method and add tests 2019-08-02 21:37:48 -06:00
Eirik Ogilvie-Wigley 93452c97bf Make founders reward tests pass before and after Blossom activation height is set 2019-08-02 20:54:52 -06:00
Eirik Ogilvie-Wigley 3eb90d4040 Use pre-Blossom max FR height when calculating address change interval 2019-08-02 20:53:41 -06:00
Eirik Ogilvie-Wigley 797713284c Update main_tests for shorter block times 2019-08-02 19:37:02 -06:00
Eirik Ogilvie-Wigley 27ee4d64f2 Fix integer truncation in Blossom halving calculation 2019-08-02 19:35:53 -06:00
Eirik Ogilvie-Wigley e6c0f743aa Do not send migration transactions that would expire after a network upgrade 2019-08-02 16:12:42 -06:00
Eirik Ogilvie-Wigley 65df6225a6 Do not create transactions that will expire after the next epoch 2019-08-02 16:01:20 -06:00
Homu c68511b876 Auto merge of #3926 - LarryRuane:3708-getaddressrpcs, r=str4d
add addressindex RPC for bitcore block explorer

Addresses #3708
2019-08-01 05:43:29 -07:00
Homu 2300b911f8 Auto merge of #4035 - Eirik0:use-committransaction, r=str4d
Use CommitTransaction

This enables `-walletbroadcast` to correctly control transactions created with `z_*` APIs. It also addresses some TODOs in the code and consolidates some repeated logic.

Closes #4077 (because `CommitTransaction` calls `KeepKey` on the transparent change address).
2019-08-01 03:04:06 -07:00
Eirik Ogilvie-Wigley 6c1df957ba Update metrics block height estimation for shorter block times 2019-07-31 15:16:25 -06:00
Eirik Ogilvie-Wigley ecfcb817ae Add test for Blossom default tx expiry delta 2019-07-31 14:34:48 -06:00
Eirik Ogilvie-Wigley e358e89db9 PartitionCheck tests for shorter block times 2019-07-31 12:20:15 -06:00
Larry Ruane 68e174e22b add addressindex related RPCs 2019-07-31 10:31:16 -06:00
Jack Grigg 19bd2d0e7c
Use reserve key for transparent change when sending to Sprout 2019-07-31 12:15:09 +01:00
Eirik Ogilvie-Wigley 1188c9adf7 Fix zip208 founders reward calculation and update test 2019-07-30 17:41:33 -06:00
Eirik Ogilvie-Wigley 8865f4b6f6 Update expiry height for shorter block times 2019-07-30 01:16:37 -06:00
Eirik Ogilvie-Wigley c5ac4321f9 Add message to static_assert 2019-07-29 23:25:08 -06:00
Eirik Ogilvie-Wigley 0bb79ea191 pow test cleanup 2019-07-29 19:07:56 -06:00
Eirik Ogilvie-Wigley 68e9d2164c Add missing new line at end of file 2019-07-29 19:07:27 -06:00
Eirik Ogilvie-Wigley e6b63d1f78 Use static_assert 2019-07-29 19:05:41 -06:00
Eirik Ogilvie-Wigley c0d27cb3f2 Simplify PartitionCheck 2019-07-29 18:29:39 -06:00
Eirik Ogilvie-Wigley 2c6c55261d Make NetworkUpgradeAvailable a method of Params 2019-07-29 14:47:06 -06:00
Eirik Ogilvie-Wigley 102dafdf89 Update block subsidy halving for zip208 2019-07-29 13:44:53 -06:00
Homu 0ba07d5842 Auto merge of #4056 - rex4539:fix-rpc-undefined-behavior, r=ebfull
Fix RPC undefined behavior

Closes https://github.com/zcash/zcash/issues/3792
2019-07-26 15:19:07 -07:00
Eirik Ogilvie-Wigley ff0820df5e Update test_pow for shorter block times 2019-07-26 10:48:16 -06:00
Eirik Ogilvie-Wigley c192e3a75d Update pow_tests for shorter block times 2019-07-26 10:34:23 -06:00
Dimitris Apostolou ff40531607 Fix RPC undefined behavior.
Co-Authored-By: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-07-23 21:36:53 +01:00
Eirik Ogilvie-Wigley 7421272712 Make nextHeight required in CalculateNextWorkRequired 2019-07-18 14:57:13 -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
Daira Hopwood f63731261c Update copyright information for Zcash, leveldb, and libsnark.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-07-18 13:59:30 +01:00
Daira Hopwood 6db54c9861 Add MIT license to Makefiles
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-07-18 13:59:30 +01:00
Homu d2a5526202 Auto merge of #4053 - rex4539:shielded-funds, r=Eirik0
Fix naming inconsistency

Closes https://github.com/zcash/zcash/issues/3486
2019-07-17 12:36:37 -07:00
Simon d7ebbeb2aa Modify PartitionCheck to be aware of pre & post Blossom target spacing. 2019-07-11 14:17:58 -06:00
Simon 3a8fd5ea33 Replace nPoWTargetSpacing -> PoWTargetSpacing() in tests 2019-07-11 13:46:29 -06:00
Simon 22e8dc2679 Replace nPoWTargetSpacing -> PoWTargetSpacing() in ProcessMessage() 2019-07-11 13:46:29 -06:00
Simon 4b985ce999 Update GetBlockTimeout() to take height parameter. 2019-07-11 13:46:29 -06:00
Simon b30ff0d367 Update PoW function calls to pass in height. 2019-07-11 13:46:29 -06:00
Simon 35d1fdeba6 Replace nPoWTargetSpacing -> PoWTargetSpacing() 2019-07-11 13:46:28 -06:00
Simon ac4a606d4a Remove use of redundant member nPowTargetSpacing. 2019-07-11 13:46:28 -06:00
Simon 8863d77d65 Redefine PoW functions to accept height parameter.
Introduce target spacing constants and redefine struct member
variable nPoWTargetSpacing as a member function.  The height
parameter is used to determine if Blossom has activated yet.
2019-07-11 13:46:28 -06:00
Homu 984b41422a Auto merge of #4054 - rex4539:haveshieldedrequirements, r=Eirik0
Rename joinsplit to shielded

Closes https://github.com/zcash/zcash/issues/3550
2019-07-11 09:45:19 -07:00
Homu 29c1b29f3f Auto merge of #4055 - rex4539:rename-findwallettx, r=Eirik0
Rename FindWalletTx to FindWalletTxToZap

Closes https://github.com/zcash/zcash/issues/3572
2019-07-10 15:45:46 -07:00
Homu 9d07a12750 Auto merge of #4052 - rex4539:rename-vjoinsplit, r=Eirik0
Rename vjoinsplit to vJoinSplit

Closes https://github.com/zcash/zcash/issues/3188
2019-07-10 11:59:23 -07:00
Daira Hopwood ef2dcbf1d4 make-release.py: Versioning changes for 2.0.6. 2019-06-19 00:27:11 +01:00
Dimitris Apostolou 8b1a8e8b93
Rename FindWalletTx to FindWalletTxToZap 2019-06-16 23:06:45 +03:00
Dimitris Apostolou 8bcb96999e
Rename joinsplit to shielded 2019-06-16 22:50:58 +03:00
Dimitris Apostolou ff1840f68a
Fix naming inconsistency 2019-06-16 22:37:23 +03:00
Dimitris Apostolou f57f76d789
Rename vjoinsplit to vJoinSplit 2019-06-16 19:13:49 +03:00
Daira Hopwood f7a4aab352 make-release.py: Versioning changes for 2.0.6-rc1. 2019-06-12 16:32:57 +01:00
Homu bb58c8ec2e Auto merge of #3863 - LarryRuane:3708-getrawtransaction, r=daira
add spentindex to getrawtransaction RPC results for bitcore block explorer

#3708 There are a few new `getrawtransaction` JSON result fields that the Insight block explorer depends on.
2019-06-11 13:15:00 -07:00
Larry Ruane f381d4e085 add spentindex to getrawtransaction RPC results 2019-06-11 10:29:51 -06:00
Daira Hopwood 346d11d3eb Closes #3992. Remove obsolete warning message.
Co-authored-by: Simon <simon@bitcartel.com>
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-06-11 17:27:49 +01:00
Eirik0 cf30355fc3 Clarify what combinations of from addresses can be used in z_mergetoaddress 2019-06-10 13:21:25 -06:00
Eirik0 a8055cfe10 Fix z_mergetoaddress sending from ANY_SPROUT/ANY_SAPLING when the wallet contains both note types 2019-06-10 13:21:25 -06:00
Eirik0 406b8ff509 z_getmigrationstatus help message wording change 2019-06-06 13:49:11 -06:00
Homu 70d8489663 Auto merge of #4017 - bitcartel:fix_sapling_rpc_help_typo, r=Eirik0
Fix typo and clean up help message for RPC z_getmigrationstatus.
2019-06-05 18:27:22 -07:00
Homu 20aef43d7f Auto merge of #4036 - Eirik0:sprout-note-entry, r=Eirik0
Replace CSproutNotePlaintextEntry with SproutNoteEntry to match Sapling

This refactoring makes the output of GetFilteredNotes safer to use, by setting the Sprout note at the point of decryption, where the corresponding address is already known, rather than having to recall it using the correct payment address.
2019-06-05 14:13:08 -07:00
Eirik0 4120aff037 Use reserve key for transparent change when sending to Sapling 2019-05-30 09:56:45 -06:00
Eirik0 27f91abf00 Allow passing optional reserve key as a parameter to SendTransaction 2019-05-28 20:10:42 -06:00
Eirik0 d3d8fb7221 Inline sign_send_raw_transaction 2019-05-28 17:58:49 -06:00
Eirik0 de410efd54 Do not shadow the return value when testmode is true 2019-05-28 17:29:40 -06:00
Jack Grigg e12d018464
Globals: Explicitly pass const CChainParams& to ReceivedBlockTransactions() 2019-05-23 20:03:35 +01:00
Jack Grigg 3ffc29b881
Globals: Explicitly pass const CChainParams& to IsInitialBlockDownload() 2019-05-23 20:03:34 +01:00
Jack Grigg 9e0f75dcbd
Consistently use chainparams and consensusParams 2019-05-23 17:48:31 +01:00
Jack Grigg a3b64d8677
Globals: Explicitly pass const CChainParams& to DisconnectBlock() 2019-05-23 17:48:30 +01:00
Jack Grigg c6012fe923
Globals: Explicit const CChainParams& arg for main:
- ContextualCheckBlockHeader
- ContextualCheckBlock
2019-05-23 17:48:29 +01:00
Jack Grigg be94721953
Globals: Explicitly pass const CChainParams& to ContextualCheckTransaction() 2019-05-23 17:48:28 +01:00
Jack Grigg 7ef947c32b
Globals: Explicit const CChainParams& arg for main:
- CheckBlockHeader
- CheckBlock
2019-05-23 17:48:27 +01:00
Jack Grigg 13cfabb36c
Globals: Explicitly pass const CChainParams& to IsStandardTx() 2019-05-23 17:48:26 +01:00
Jack Grigg 9f7f70e0c3
Globals: Remove Zcash-specific Params() calls from main.cpp 2019-05-23 17:48:25 +01:00
Wladimir J. van der Laan 3647f0a7b1
Break circular dependency main ↔ txdb
Break the circular dependency between main and txdb by:

- Moving `CBlockFileInfo` from `main.h` to `chain.h`. I think this makes
  sense, as the other block-file stuff is there too.

- Moving `CDiskTxPos` from `main.h` to `txdb.h`. This type seems
  specific to txdb.

- Pass a functor `insertBlockIndex` to `LoadBlockIndexGuts`. This leaves
  it up to the caller how to insert block indices.

Zcash: This does not actually break the circular dependency for us yet, as we
still need to pull in bitcoin/bitcoin#7756 and bitcoin/bitcoin#7904.
2019-05-23 17:48:24 +01:00
face e9128c4a1d
Explicitly pass CChainParams to ConnectBlock 2019-05-23 17:48:23 +01:00
face f2baeb7cb6
Pass CChainParams to DisconnectTip() 2019-05-23 17:48:22 +01:00
Jorge Timón a68c8114e1
Globals: Explicitly pass const CChainParams& to UpdateTip() 2019-05-23 17:48:21 +01:00
MarcoFalke 98f3010026
[doc] Fix doxygen comments for members 2019-05-23 17:48:20 +01:00
Peter Todd 9b0f61af2d
Improve block validity/ConnectBlock() comments
Previously didn't make clear that the ContextualCheckBlock* functions
meant the block headers as context - not the UTXO set itself - and that
ConnectBlock() also did UTXO-related validity checks (in the future we
may split that functionality into a separate UTXO-specific contextual
check block function).

Also, reordered to put validity checks first for better readability.
2019-05-23 17:48:19 +01: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
Jorge Timón 8e5d8ca52a
Chainparams: Explicit CChainParams arg for main (pre miner):
-ProcessNewBlock
-TestBlockValidity
2019-05-23 17:48:16 +01:00
Jorge Timón 94debefbcf
Globals: Make AcceptBlockHeader static (Fix #6163)
..and at the same time prevent AcceptBlockHeader() from calling global function Params()
2019-05-23 17:48:15 +01:00
Jorge Timón 71cf6ba98b
Globals: Explicit Consensus::Params arg for main:
-CheckBlockIndex
-DisconnectTip
-GetTransaction
-InvalidateBlock
-ProcessGetData
-ReadBlockFromDisk
2019-05-23 17:48:14 +01:00
Jack Grigg cea06a4fd3
Move Equihash parameters into consensus params 2019-05-23 17:48:13 +01:00
Daniel Kraft 9a529fd217
Add some const declarations where they are appropriate.
Declare some arguments of functions as "const" pointers where they are
not meant to be modified.
2019-05-23 17:48:04 +01:00
Eirik0 a630f50349 Replace CSproutNotePlaintextEntry with SproutNoteEntry to match Sapling 2019-05-23 09:24:46 -06:00
Homu de68430af6 Auto merge of #4008 - Eirik0:3971-fix-comment, r=Eirik0
Fix tree depth in comment

Closes #3971
2019-05-16 14:00:33 -07:00
Simon 831611edd3 Fix typo and clean up help message for RPC z_getmigrationstatus. 2019-05-15 11:06:37 -07:00
Eirik0 c34d253fa6 make-release.py: Versioning changes for 2.0.5-2. 2019-05-15 09:49:44 -06:00
Eirik0 23d9826ef9 Fix LogPrint statements 2019-05-10 17:25:30 -06:00
Eirik0 58348c79b3 Add logging for Sprout to Sapling migration transaction generation 2019-05-10 17:22:08 -06:00
Eirik0 7470ae8885 Do not automatically remove async migration operations and return txids 2019-05-10 17:19:56 -06:00
Eirik0 a84125aacd Fix tree depth in comment 2019-05-10 12:58:11 -06:00
Eirik0 0e06801e12 Move reused sign and send logic 2019-05-10 12:45:14 -06:00
Eirik0 a7a52d2424 Move reused async rpc send logic to separate file 2019-05-10 12:20:52 -06:00
Eirik0 3220d99360 Use CommitTransaction() rather than sendrawtransaction() 2019-05-10 11:44:40 -06:00
Daira Hopwood 9615caa8f9 Fix cosmetic spacing issue in z_setmigration help.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-05-10 16:08:03 +01:00
Daira Hopwood 14c0be6f27 Change expiry delta for migration transactions to 450 blocks.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-05-10 13:48:43 +01:00
Daira Hopwood 9cd34fc10a Repair calls to TransactionBuilder from tests.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-05-10 13:48:43 +01:00
Daira Hopwood 5eb7129d95 Generalize TransactionBuilder and CreateNewContextualCMutableTransaction to allow choosing the expiry delta.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-05-10 13:48:43 +01:00
Homu e97621acf7 Auto merge of #3995 - bitcartel:no_migration_during_block_download_phase, r=Eirik0
Don't allow Sprout-to-Sapling migration when syncing during IBD or after wake from sleep.

Prevent migration transactions from being created in response to incoming blocks when a node launches and syncs (the initial block download phase) and when a node wakes from sleep/hibernation and starts syncing old blocks rapidly.
2019-05-09 13:51:49 -07:00
Simon 6921c81b9d Don't allow migration when node is syncing at launch or after waking up. 2019-05-09 09:32:09 -07:00
Simon bda85eb06a Remove unused specifier from format string.
The extra specifier meant that a runtime error would be thrown
during Sprout to Sapling migration if `zrpcunsafe` logging
was enabled:
"tinyformat: Too many conversion specifiers in format string"
2019-05-08 20:51:13 -07:00
Eirik0 f809ff997f make-release.py: Versioning changes for 2.0.5-1. 2019-05-08 06:50:57 -06:00
Eirik0 ea8823ce51 coinsView is required when using TransactionBuilder if there may be Sprout change 2019-05-07 18:41:35 -06:00
Eirik0 5fd7af5f85 Add the amount migrated to the operation's result 2019-05-07 08:58:23 -06:00
Eirik0 f0f7b3f012 Fix summing available funds 2019-05-07 08:55:26 -06:00
Eirik0 94e419f95d Rename variable and add comment 2019-05-06 11:46:16 -06:00
Eirik0 d48c3efca7 Store the migration operation id rather than the operation iteslf 2019-05-06 09:57:40 -06:00
Eirik0 7cf4749d0d Correctly account for migration transactions in the mempool
Co-authored-by: LarryRuane <larry@z.cash>
2019-05-05 12:59:43 -06:00
Eirik0 c1daa11d7b make-release.py: Versioning changes for 2.0.5. 2019-05-03 16:30:13 -06:00
Simon 68c17ffec8 Update chain work and checkpoint using block 525000. 2019-05-02 14:53:35 -07:00
Eirik0 6c47e6fe7b make-release.py: Versioning changes for 2.0.5-rc1. 2019-05-01 14:15:14 -06:00
Homu d894f7b3b2 Auto merge of #3977 - LarryRuane:3873-setmigration-cli, r=bitcartel
3873 z_setmigration cli bool enable arg conversion

Addresses #3873.
2019-05-01 09:26:20 -07:00
Larry Ruane 4cbe0a9d02 3873 z_setmigration cli bool enable arg conversion 2019-05-01 10:03:24 -06:00
Eirik0 3cad5f454f Do not throw an exception if HD Seed is not found when exporting wallet 2019-04-30 15:47:03 -06:00
Eirik0 e14cf96642 Calculate the number of confimations in the canonical way 2019-04-30 11:06:08 -06:00
Eirik0 345177cfc1 Do not look at vin/vout when determining migration txs and other cleanup 2019-04-30 09:52:53 -06:00
Eirik0 e9530f40f2 use -valueBalance rather than vpub_new to calculate migrated amount 2019-04-29 17:00:26 -06:00
Eirik0 108e587c14 Fix typos and update documentation 2019-04-29 15:29:29 -06:00
Eirik0 5969bd8f55 Fix help message 2019-04-29 15:29:27 -06:00
Eirik0 6e82d72852 Add rpc to get Sprout to Sapling migration status 2019-04-29 15:28:35 -06:00
Eirik0 52cfa9c1ee Create method for getting HD seed in RPCs 2019-04-29 15:28:35 -06:00
Homu f283f2460e Auto merge of #3967 - Eirik0:3961-migration-address, r=Eirik0
3961 migration address

Closes #3961
2019-04-29 11:41:47 -07:00
Homu 63fff636d7 Auto merge of #3968 - bitcartel:3768_enable_mainnet_turnstile, r=bitcartel
Activate turnstile on mainnet

This PR enables [ZIP209](https://github.com/zcash/zips/blob/master/zip-0209.rst) support on mainnet, to mark blocks as invalid if they would lead to a turnstile violation in the Sprout or Sapling value pools.

To test this PR, I performed the following manual tests:

1. Used RPC call `getblock` to verify the fallback Sprout value.
2. Individually changed the fallback Sprout block hash, block height and chain value, recompiling and relaunching the node, verifying that each individual change resulted in an error.  When the block hash and block height are incorrect, an error is logged to debug.log `FallbackSproutValuePoolBalance(): fallback block hash is incorrect`.  An incorrect chain value results in node termination with error: `void FallbackSproutValuePoolBalance(CBlockIndex*, const CChainParams&): Assertion '*pindex->nChainSproutValue == chainparams.SproutValuePoolCheckpointBalance()' failed.`
3. Ran the `Smoke Testing` described in PR #3885, on mainnet.
4. Launched zcashd with experimental feature `-developersetpoolsizezero` to manually trigger a turnstile violation in both Sprout and Sapling shielded pools.  The Sprout turnstile violation occurred after launch, due to chance, when the next incoming block 520786 contained a Sprout unshielding transaction. The Sapling turnstile violation was triggered after creating a Sapling unshielding transaction.
2019-04-29 09:08:46 -07: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 20821614a8 Auto merge of #3888 - Eirik0:3873-sapling-migration, r=Eirik0
Sapling migration RPC

Closes #3873
2019-04-27 12:29:29 -07:00
Larry Ruane 7fb8088288 add -timestampindex for bitcore insight block explorer 2019-04-26 08:44:56 -06:00
Homu 1b24243392 Auto merge of #3849 - LarryRuane:3708-spentindex, r=daira
add SpentIndex changes needed for bitcore block explorer

Addresses #3708, follow-on to #3837, note there are no tests yet (will come later with RPC interfaces).
2019-04-25 16:32:22 -07: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
Eirik0 5519d16997 Set min depth when selecting notes to migrate 2019-04-25 13:43:23 -06:00
Eirik0 7c4ad6e298 Additional locking and race condition prevention 2019-04-24 11:31:14 -06:00
Eirik0 699288b4b4 Documentation cleanup 2019-04-24 11:31:14 -06:00
Eirik0 162bfc3a1e Move migration logic to ChainTip 2019-04-24 11:31:14 -06:00
Eirik0 81a45d6984 Add rpc to enable and disable Sprout to Sapling migration 2019-04-24 11:31:14 -06:00