Commit Graph

2421 Commits

Author SHA1 Message Date
Jack Grigg
93bd00a0d5 Add key_io includes to Zcash-specific code 2018-05-08 21:39:56 +01:00
Pieter Wuille
3d31e09cbb Split key_io (address/key encodings) off from base58 2018-05-08 21:39:56 +01:00
Jack Grigg
8bf3a3d700 Introduce wrappers around CZCViewingKey 2018-05-08 21:39:55 +01:00
Jack Grigg
472f75bc2d Introduce wrappers around CZCSpendingKey 2018-05-08 21:39:55 +01:00
Jack Grigg
80ed13d545 Introduce wrappers around CZCPaymentAddress
This patch removes the need for the intermediary Base58 type
CZCPaymentAddress, by providing {Encode,Decode}PaymentAddress
functions that directly operate on the conversion between strings
and libzcash::PaymentAddress.
2018-05-08 21:39:55 +01:00
Pieter Wuille
f146029b0a Replace CBitcoinSecret with {Encode,Decode}Secret 2018-05-08 21:39:54 +01:00
miketout
ea340a1443 Recognizing CLTV transactions more broadly 2018-05-08 13:33:14 -07:00
jl777
ba1587fd37 Test 2018-05-08 18:55:16 +03:00
jl777
bed8cd1f49 Test 2018-05-08 18:38:51 +03:00
Homu
0c1adf8281 Auto merge of #3201 - Eirik0:3190-dumpprivkey-help-text, r=str4d
Clarify help text of dumpprivkey

Closes #3190
2018-05-08 06:02:17 -07:00
Homu
0a98b97524 Auto merge of #3236 - str4d:3192-jsoutpoint-constructor, r=str4d
Change JSOutPoint constructor to have js argument be uint64_t

Closes #3192.
2018-05-08 02:50:04 -07:00
Homu
333b9a0d0b Auto merge of #3170 - ebfull:sapling-merkle-tree, r=ebfull
Sapling merkle tree implementation

Closes #3056.

Please also review https://github.com/zcash/librustzcash/pull/8

This PR:

1. Introduces ZCSaplingIncrementalMerkleTree using Pedersen hashes.
2. Adds support for Sapling anchors into consensus rules. (Adds commitments, checks anchors are correct, handles block (dis)connects, etc.)
3. Handles mempool eviction for obsolete anchors.
4. Enforces correctness of block's Sapling root field
5. Changes miner to correctly apply the Sapling root to the block header
6. Handles mempool consistency checks for anchors
2018-05-07 20:37:46 -07:00
miketout
fab1429d48 Enable time locked transactions to be recognized in the wallet 2018-05-07 15:58:53 -07:00
Jack Grigg
e935beb810 wallet: Make some arguments const that can be 2018-05-07 22:13:26 +01:00
Jack Grigg
b87e271a9a wallet: Change IsLockedNote to take a JSOutPoint
This removes the uint64_t -> size_t -> uint64_t round trip, as well as the
JSOutPoint -> parts -> JSOutPoint round trip.
2018-05-07 21:56:57 +01:00
Sean Bowe
18322f074c Introduce support for GetBestAnchor(SAPLING). 2018-05-07 13:46:06 -06:00
Sean Bowe
008f4ee8e7 Rename GetAnchorAt to GetSproutAnchorAt. 2018-05-07 13:46:06 -06:00
Sean Bowe
08f0728884 Rename hashAnchor to hashSproutAnchor. 2018-05-07 13:46:06 -06:00
Homu
1d4235dce7 Auto merge of #3239 - str4d:sapling-default-tx-version, r=str4d
Update CreateNewContextualCMutableTransaction for Sapling

Part of #3063.
2018-05-07 12:27:47 -07:00
jl777
db4b45a62b Test 2018-05-07 19:08:49 +03:00
jl777
56c6c06b39 Test 2018-05-07 17:48:32 +03:00
jl777
f31815fc3c Test 2018-05-07 17:39:01 +03:00
jl777
3566cdf6e6 Test 2018-05-07 17:26:20 +03:00
jl777
1500012776 Test 2018-05-07 17:13:49 +03:00
jl777
0eb15e9463 Test 2018-05-07 17:08:28 +03:00
jl777
3ed2e7334c Test 2018-05-07 17:07:38 +03:00
jl777
6d04359865 Test 2018-05-07 17:00:35 +03:00
jl777
e6a3570c42 Test 2018-05-07 16:48:04 +03:00
jl777
a9bad5a300 test 2018-05-07 15:47:18 +03:00
jl777
ff1ee86e6a Test 2018-05-07 15:31:23 +03:00
jl777
0b18f1230c Test 2018-05-07 15:16:20 +03:00
jl777
c4eb1abbfc Test 2018-05-07 15:12:34 +03:00
jl777
39fefa6be9 Test 2018-05-07 14:34:20 +03:00
jl777
f8fb4922da Test 2018-05-07 14:14:12 +03:00
jl777
469e1de39f Test 2018-05-07 14:04:18 +03:00
jl777
496f1fd267 Test 2018-05-07 13:57:43 +03:00
miketout
39267c3553 Reduce default difficulty 2018-05-06 13:06:14 -07:00
miketout
ef70c5b2de Updated miner messages 2018-05-05 07:52:02 -07:00
miketout
e980a26ddd Enable time locked coin bases to be used as normal coinbase transactions with longer maturity, fix max_money 2018-05-04 16:33:34 -07:00
Jack Grigg
892ae945f7 Rework z_sendmany z-address recipient limit
From Sapling, the z-address recipients could require either JSDescriptions or
OutputDescriptions. Instead of trying to give an exact number in the help text,
rely on transaction size estimation to guide user behaviour.
2018-05-04 11:17:30 +01:00
Jack Grigg
25fee3509a Rename MAX_TX_SIZE to MAX_TX_SIZE_AFTER_SAPLING 2018-05-04 11:17:30 +01:00
Jack Grigg
ddcee7e13a Benchmark the largest valid Sapling transaction in validatelargetx
11130 inputs results in a transaction between 1992301 and 2003431 bytes.
2018-05-04 11:17:30 +01:00
Jack Grigg
15ec5525e3 Raise 100kB transaction size limit from Sapling activation
Closes #2864.
2018-05-04 11:17:30 +01:00
Homu
d97bfb766b Auto merge of #3228 - str4d:3058-taddr-encoding-refactor, r=str4d
Refactor t-address encoding

Includes code cherry-picked from the following upstream PRs:

- bitcoin/bitcoin#11117
- bitcoin/bitcoin#11259
  - Only the second commit (first is for QT code)
- bitcoin/bitcoin#11167
  - Only the first commit (the rest are not part of the t-address encoding refactor).

Part of #3058. Precursor to #3202.
2018-05-03 18:12:22 -07:00
Jack Grigg
fa70084c87 Expire Overwinter transactions before the Sapling activation height 2018-05-03 12:27:56 +01:00
Jack Grigg
daed9ba7cc Change JSOutPoint constructor to have js argument be uint64_t
Closes #3192.
2018-05-03 10:47:22 +01:00
miketout
90e7502158 Enabled recognition of time locked transactions as watch only or spendable, depending on time 2018-05-02 22:20:03 -07:00
Jack Grigg
b6be3e88bb Use CBitcoinAddress wrappers in Zcash-specific code 2018-05-03 01:13:04 +01:00
Pieter Wuille
07444da1db Introduce wrappers around CBitcoinAddress
This patch removes the need for the intermediary Base58 type
CBitcoinAddress, by providing {Encode,Decode,IsValid}Destination
function that directly operate on the conversion between strings
and CTxDestination.
2018-05-03 01:12:57 +01:00
Homu
9e5398686c Auto merge of #3206 - bitcartel:3194_polymorphic_note_class, r=str4d
Update note classes to be polymorphic

Closes #3194.  Lays foundation for introduction of Sapling notes through refactoring and creation of a class hierarchy for Sprout notes.  This PR updates some tests, but otherwise is a no-op.
2018-05-02 08:07:35 -07:00