Eirik Ogilvie-Wigley
4fc309f0f5
Rename Merkle Trees to include sprout or sapling
2018-08-01 10:31:09 -06:00
Homu
d84f14ec4a
Auto merge of #3417 - str4d:sapling-tx-builder, r=ebfull
...
TransactionBuilder for Sapling and transparent transactions
This PR includes zcash/librustzcash#24 , and will create a testnet chain split once merged into master (and once a Sapling transaction is mined).
2018-07-31 23:44:29 -07:00
Sean Bowe
a310f6c5fa
Relocate ECC_Start() to avoid test failures.
2018-08-01 00:42:02 -06:00
Sean Bowe
3d75e8b3e7
Move extern params to beginning of test_checktransaction.
2018-07-31 08:33:33 -06:00
Sean Bowe
291895fac7
Ensure sum of valueBalance and all vpub_new's does not exceed MAX_MONEY inside of CheckTransactionWithoutProofVerification.
2018-07-30 22:35:31 -06:00
Sean Bowe
04ed758e37
Fix bug in return value.
2018-07-30 22:03:40 -06:00
Homu
a11e6aaacc
Auto merge of #3336 - arcalinea:expiryheight-createrawtransaction, r=bitcartel
...
Take expiryheight as param to createrawtransaction
Addresses #3333
2018-07-30 13:56:34 -07:00
Simon
f01c11bd0f
Add tests for expiryheight parameter of RPC createrawtransaction.
2018-07-30 10:24:10 -07:00
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