Commit Graph

7926 Commits

Author SHA1 Message Date
Jack Grigg
54a868cf0a Rename xsk to expsk
xsk will be used for ZIP 32 extended spending keys, so renaming here to
reduce confusion.
2018-07-30 14:26:29 +01:00
Jack Grigg
a8dd4b0cf1 TransactionBuilder: Make fee configurable 2018-07-30 12:52:48 +01:00
Jack Grigg
45c0d1ec84 TransactionBuilder: Add change output to transaction 2018-07-30 12:46:18 +01:00
Homu
6b9c962725 Auto merge of #3410 - LarryRuane:3399-peer-ban, r=bitcartel
don't ban peers when loading pre-overwinter blocks

Addresses #3399. If we see an invalid transaction (from our peers who are up to date, post-overwinter) during initial block download, don't invoke DoS (logging messages, blocking these peers). Instead, simply ignore the transaction.
2018-07-30 03:46:37 -07:00
Jack Grigg
3466b4677e TransactionBuilder: Add support for transparent inputs and outputs 2018-07-30 11:03:29 +01:00
Simon
87d55e1322 Clean up help messages for RPC createrawtransaction.
Also return error if expiryheight used when Overwinter not active.
2018-07-29 20:57:33 -07:00
Jay Graber
76277ad8af Take expiryheight as param to createrawtransaction 2018-07-29 19:13:54 -07:00
Jay Graber
501de644ab Refactor into visitors and throw errors for invalid key or address. 2018-07-29 18:42:41 -07:00
Jay Graber
8dd1dbcfe4 Add Sapling to rpc_wallet_z_importexport test 2018-07-29 16:15:06 -07:00
Jay Graber
dd4c8a3c70 Add Sapling support to z_importkey 2018-07-29 16:15:06 -07:00
Jay Graber
2afc8eb0ec Add Sapling support to z_exportkey 2018-07-29 16:15:06 -07:00
Jack Grigg
3fd0a269e1 test: Move ECC_Start() call into src/gtest/main.cpp 2018-07-27 17:18:49 +02:00
Jack Grigg
25bb05de23 Formatting 2018-07-27 12:17:14 +02:00
Jack Grigg
e5dc5228ea TransactionBuilder: Check that all anchors in a transaction are identical
This reduces the amount of information that is leaked by the choice of anchor.
In future we will make a protocol change to enforce that all inputs use the
same anchor.
2018-07-27 09:46:38 +02:00
Larry Ruane
772f87aaeb don't ban peers when loading pre-overwinter blocks 2018-07-26 12:29:04 -06:00
Simon
2f0b2a256d Clean up for rebase: rename mapNoteData to mapSproutNoteData. 2018-07-25 20:47:41 -07:00
Simon
d9fe33b86f Only check for a valid Sapling anchor after Sapling activation.
Before Sapling activates, hashFinalSaplingRoot is 0x0, which is
not a valid anchor.  After Sapling activates, the empty root value
of 0x3e49... is a valid anchor.
2018-07-25 20:47:41 -07:00
Eirik Ogilvie-Wigley
3a5f66c880 Add parameter for version in GetValidReceive 2018-07-25 20:47:41 -07:00
Eirik Ogilvie-Wigley
e6b0a8b9ee Add getter and setter for sapling note data and update tests 2018-07-25 20:47:41 -07:00
Eirik Ogilvie-Wigley
29523dc778 Remove extra indentation 2018-07-25 20:47:41 -07:00
Eirik Ogilvie-Wigley
8e8279e728 Rename sprout specific methods 2018-07-25 20:47:41 -07:00
Eirik Ogilvie-Wigley
45de2eda07 Increment sapling note witnesses 2018-07-25 20:47:41 -07:00
Eirik Ogilvie-Wigley
f86ee1c252 Pass sapling merkle tree when incrementing witnesses 2018-07-25 20:47:41 -07:00
Eirik Ogilvie-Wigley
4a0bc6047e Extract method for incrementing witness heights 2018-07-25 20:47:40 -07:00
Eirik Ogilvie-Wigley
f6d0d5ec43 Extract methods for incrementing witnesses 2018-07-25 20:47:40 -07:00
Eirik Ogilvie-Wigley
b538024806 Extract method for copying previous witnesses 2018-07-25 20:47:40 -07:00
Eirik Ogilvie-Wigley
403b9b4e4d Clear sapling witness cache 2018-07-25 20:47:40 -07:00
Eirik Ogilvie-Wigley
9d804cc619 Decrement sapling note witnesses 2018-07-25 20:47:40 -07:00
Eirik Ogilvie-Wigley
be43b7469d Add sapling note data and map 2018-07-25 20:47:40 -07:00
Eirik Ogilvie-Wigley
00ed92343d Add out point for sapling note data 2018-07-25 20:47:40 -07:00
Eirik Ogilvie-Wigley
3c868d2b03 Consolidate for loops 2018-07-25 20:47:40 -07:00
Eirik Ogilvie-Wigley
49695a97b5 Remove redundant curly braces 2018-07-25 20:47:40 -07:00
Eirik Ogilvie-Wigley
005f3ad1dd Rename note data to include sprout 2018-07-25 20:47:40 -07:00
Jack Grigg
e691e21f40 TransactionBuilder with support for creating Sapling-only transactions 2018-07-25 11:35:10 +02:00
Jack Grigg
70a7535ae8 Expose note position in IncrementalMerkleWitness 2018-07-24 14:54:07 +02:00
Jack Grigg
66a519f55d Alter SaplingNote::nullifier() to take a SaplingFullViewingKey
This means the API will work if you only have a SaplingExtendedSpendingKey,
as will be the case with ZIP 32.
2018-07-24 14:54:01 +02:00
Homu
a7a62b724b Auto merge of #3391 - bitcartel:3061_sapling_note_encryption, r=ebfull
Sapling note plaintext (encryption and decryption)

Add encryption and decryption of SaplingNotePlaintext and SaplingOutgoingPlaintext classes.

This is part of #3061 to add Sapling note functionality.
2018-07-24 03:27:28 -07:00
Simon
e739ca2ef2 Rename AttemptSaplingEncDecryptionUsingFullViewingKey and use function overloading. 2018-07-23 10:48:26 -07:00
Simon
7b913c3e5e Implement Sapling note decryption using full viewing key. 2018-07-20 16:31:48 -07:00
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
4b184205e3 rpc: update inline comments to refer to new file paths 2018-07-18 11:07:17 -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
aad4b86e95 Auto merge of #3376 - LarryRuane:2728-help-message-experimental, r=bitcartel
add extra help how to enable experimental features

Closes #2728. When the user attempts to execute a disabled experimental RPC, print some nice text explaining how to enable the RPC (either command-line or adding lines to zcash.conf).
2018-07-18 07:45:46 -07:00
Homu
b9bd5ab42c Auto merge of #3354 - leto:absurd_fee_bug, r=bitcartel
Fix absurd fee bug reported in #3281, with tests

This was ported from the Hush `absurd_fee_bug` PR: https://github.com/MyHush/hush/pull/136

Tests executed with `./qa/pull-tester/rpc-tests.sh wallet` and pass on Ubuntu 16.04. Some tests were added for previously untested behavior as well.

Closes #3281.
2018-07-17 15:03:08 -07:00
Simon
687bd96cbd Minor update to address nits in review. 2018-07-17 14:26:38 -07: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
Simon
0b6eeac330 Update and fix per review comments, the test for absurd fee. 2018-07-17 13:00:42 -07:00
Homu
13b41a6760 Auto merge of #3156 - Eirik0:2935-change-indicator, r=bitcartel
Add change indicator

This adds to the json returned when calling z_listreceivedbyaddress and z_listuspent an additional field entitiled 'change' which will be either true or false depending on whether or not the note was change from another transaction.
2018-07-17 11:41:03 -07:00
Larry Ruane
66dfcc1369 add extra help how to enable experimental features 2018-07-16 21:31:55 -06:00