Commit Graph
688 Commits
Author SHA1 Message Date
jl777 1cdb961ba2 Fix PoW mining in mixed PoS/PoW, fix orphaned stake tx 2018-07-11 02:51:42 -11:00
Jay Graber 8e91ebf76c Change default_address to return SaplingPaymentAddr and not boost::optional 2018-07-05 14:52:51 -07:00
Jay Graber f82a864dc1 Add StoreAndRetrieveSaplingSpendingKey test 2018-07-05 14:52:51 -07:00
Jay Graber f4207d0c0e Add SaplingIncomingViewingKeys map, SaplingFullViewingKey methods 2018-07-05 14:52:46 -07:00
Jay Graber efb7662d4a Add Sapling Add/Have/Get to keystore 2018-07-05 14:37:33 -07:00
jl777 719aa8b19e Test 2018-06-28 23:42:32 -11:00
jl777 817ad14d08 Fix 2018-06-28 23:39:32 -11:00
jl777 85df50842b syntax 2018-06-28 23:33:52 -11:00
jl777 76471d5658 CTxOut 2018-06-28 23:32:14 -11:00
jl777 a55973aeea :: 2018-06-28 23:31:32 -11:00
jl777 1bc74c28cf -donation option to donate 5% rewards to a pubkey 2018-06-28 21:58:03 -11:00
Michael Toutonghi 1a0fc30896 Fix importaddress with rescan error that prevented picking up UTXOs 2018-06-23 15:03:44 -07:00
Michael Toutonghi 20ab1c9174 mining performance boost 2018-06-10 00:12:28 -07:00
Michael Toutonghi 31bbe2343f fix staking UTXO value 2018-05-17 22:20:57 -07:00
Michael Toutonghi 1fae37f6bf Working proof of stake with new algorithm 2018-05-15 00:54:18 -07:00
Michael Toutonghi 1f722359c1 Verus Proof of Stake Compete with Additional ant-fork protection on block 1 2018-05-13 18:59:06 -07:00
Jack Grigg e5eab182b5 Use boost::variant to represent shielded addresses and keys
libzcash::PaymentAddress has been renamed to libzcash::SproutPaymentAddress,
and a new typedef boost::variant is now libzcash::PaymentAddress. Similarly
for ViewingKey and SpendingKey.

A new class InvalidEncoding is introduced as the default boost::variant
option for each address and key type; it is used during decoding instead
of boost::optional.

All address and key storage functions in the wallet have been modified to
refer specifically to the Sprout types, as they are used very precisely.
In most other cases, the more general type is leveraged as much as possible,
and we convert to the Sprout type when necessary. This will be subsequently
wrapped in, or replaced with, context-specific functions once Sapling
types are implemented.
2018-05-11 17:14:49 -04:00
Homu 1942f7a42b Auto merge of #3242 - str4d:3058-key-encoding-refactor, r=str4d
Key encoding refactor

Includes code cherry-picked from the following upstream PRs:

- bitcoin/bitcoin#11372
  - Only the first three commits (the fourth commit depends on #2390)

Part of #3058.
2018-05-11 12:21:29 -07:00
jl777 a5b7fef44b Test 2018-05-10 12:56:52 +03:00
jl777 bd070d8bce Prevent relaying expired tx 2018-05-10 12:55:14 +03:00
Jack Grigg 97b46f00cc Add valueBalance to value balances, and enforce its consensus rules 2018-05-09 11:34:41 +01:00
miketout c2f6623fdf Add blocks to maturity in transaction JSON for listtransactions RPC API 2018-05-09 02:06:55 -07:00
miketout 204cf3fcba Enable seamless spending of timelocked coinbases through z_shieldcoinbase 2018-05-09 00:49:09 -07:00
Pieter Wuille 3d31e09cbb Split key_io (address/key encodings) off from base58 2018-05-08 21:39:56 +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
miketout ea340a1443 Recognizing CLTV transactions more broadly 2018-05-08 13:33:14 -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 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
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 25fee3509a Rename MAX_TX_SIZE to MAX_TX_SIZE_AFTER_SAPLING 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
miketout 90e7502158 Enabled recognition of time locked transactions as watch only or spendable, depending on time 2018-05-02 22:20:03 -07: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
miketout 48d800c2c6 Merge all Komodo changes, including proof of stake, crypto conditions, passport, etc. 2018-05-02 03:24:21 -07:00
Simon 5020a93631 Refactoring: rename NotePlaintext --> SproutNotePlaintext
Also renames:
CNotePlaintextEntry --> CSproutNotePlaintextEntry
CUnspentNotePlaintextEntry --> CUnspentSproutNotePlaintextEntry
2018-04-26 15:05:30 -07:00
Michael Toutonghi 29bd53a102 Rewrite time locks, coinbase validation, and script functions in C++ for easier integration 2018-04-20 18:38:39 -07:00
jl777 8eb43ab4ff Decrement notes for assetchains, need to test 2018-04-20 00:23:58 +03:00
jl777 e86c03cf07 -walletprefetch 2018-04-17 16:34:07 +03:00
jl777 cf53fd7c3d Test 2018-04-17 16:25:27 +03:00
jl777 b7fae74e58 Test 2018-04-17 15:31:35 +03:00