Commit graph

151 commits

Author SHA1 Message Date
Gregory Sanders
a288fff697 Only track locks with explicit asset types that are bitcoin 2017-06-16 12:02:37 -04:00
Jorge Timón
21620bd6ab Document -validatepegin in daemon help 2017-06-16 12:02:37 -04:00
Gregory Sanders
da87a78f98 give more accurate message for invalid block proof 2017-06-16 12:02:36 -04:00
Gregory Sanders
0bb5e092f3 f'Remove spendable 0-value outputs from consensus, wallet' 2017-06-16 12:02:36 -04:00
Gregory Sanders
4c33b2df83 f'Greatly simplify coinbase balance checking' 2017-06-16 12:02:36 -04:00
Gregory Sanders
6c3b1f25c0 Move asset issuance funcionality to own file 2017-06-16 12:02:35 -04:00
Gregory Sanders
05b245b9b5 CAssetIssuance validation 2017-06-16 12:02:35 -04:00
Mark Friedenbach
b4be08a70d Format: Fix indentation 2017-06-16 12:02:35 -04:00
Mark Friedenbach
91f40de0c5 CT: Switch to standard CConfidentialValue::IsCommitment() API instead checking the size of the commitment vector directly 2017-06-16 12:02:34 -04:00
Mark Friedenbach
4c8f785185 [Hard-Fork] CT/CA: Put the asset surjection proof, value range proof, and issuance rangeproofs under the witness commitment 2017-06-16 12:02:34 -04:00
Mark Friedenbach
88a31dff93 CT/CA: Enforce validity of confidential commitments via CConfidentialCommitment::IsValid() 2017-06-16 12:02:34 -04:00
Mark Friedenbach
58c21ae15c CT: Turn CTxOut::vchNonceCommitment into a CConfidentialCommitment subclass
Note: This changes the serialization of the nonce commitment, from an arbitrary length vector to an either 1 (null) or 33 (commitment) byte fixed format.
2017-06-16 12:02:34 -04:00
Mark Friedenbach
a2c0f11f8e CT/CA: Unify CTxOutAsset and CTxOutValue into a single templated abstract base class 2017-06-16 12:02:34 -04:00
Mark Friedenbach
9ebe6371a1 CT: Move CTxOutValue::vchNonceCommitment into CTxOut 2017-06-16 12:02:34 -04:00
Mark Friedenbach
515bed6331 CT: Move CTxOutValue::vchRangeproof into CTxOut 2017-06-16 12:02:34 -04:00
Mark Friedenbach
2103355a30 CA: Move CTxOutAsset::vchSurjectionproof into CTxOut 2017-06-16 12:02:34 -04:00
Mark Friedenbach
690a403a6d CT: CTxOutValue::IsAmount() -> CTxOutValue::IsExplicit() 2017-06-16 12:02:34 -04:00
Mark Friedenbach
6d3406185f CA: CTxOutAsset::vchAssetTag -> CTxOutAsset::vchCommitment 2017-06-16 12:02:34 -04:00
Mark Friedenbach
37230ccc1b CA: CTxOutAsset::IsAsset() -> CTxOutAsset::IsExplicit() 2017-06-16 12:02:34 -04:00
Mark Friedenbach
b1d487d3e7 CA: CTxOutAsset::IsAssetCommitment() -> CTXOutAsset::IsCommitment() 2017-06-16 12:02:33 -04:00
Jorge Timón
0f79b488a2 fixup! CA: Use fee asset instead of BITCOINID 2017-06-16 12:02:33 -04:00
Mark Friedenbach
8b2cb06617 CA: Switch CTxOutAsset::GetAssetID() to return a constant reference to the stored asset ID rather than perform unnecessary memory reallocation. 2017-06-16 12:02:33 -04:00
Mark Friedenbach
a25f6c6e08 CA: CAssetID -> CAsset 2017-06-16 12:02:33 -04:00
Mark Friedenbach
892cb984ae CA: uint256 -> CAssetID 2017-06-16 12:02:33 -04:00
Gregory Sanders
d650674bca ATMP: Remove assertion from state mutation 2017-06-16 12:02:18 -04:00
Gregory Sanders
29b8fe161b VerifyAmounts: break out asserts into result checks only 2017-06-16 12:02:18 -04:00
Gregory Sanders
eccff6b060 Refactor verifyamounts to accept all 4 (un)blinded configurations 2017-06-16 12:02:17 -04:00
Mark Friedenbach
3836bad390 CA: Add implementation of asset derivation functions. 2017-06-16 12:02:17 -04:00
Gregory Sanders
cc49c12e0a Explicit fee outputs: remove extra vData 2017-06-16 12:02:17 -04:00
Gregory Sanders
714e8fc0d0 Rangeproof commits to scriptpubkey 2017-06-16 12:02:16 -04:00
Gregory Sanders
dcc378adae Allow arbitrary assets for fees 2017-06-16 12:02:16 -04:00
Gregory Sanders
cb2ee26d12 Make sure coinbase has no fees 2017-06-16 12:02:16 -04:00
Gregory Sanders
2f7a9a5846 Replace nTxFee with explicit output fees 2017-06-16 12:02:16 -04:00
Gregory Sanders
553cdeea00 Greatly simplify coinbase balance checking 2017-06-16 12:02:16 -04:00
Gregory Sanders
a38c6b18b5 SurjectionProof caching 2017-06-16 12:02:16 -04:00
Gregory Sanders
13cdcfc979 Enable multithreaded validation of surjection proofs 2017-06-16 12:02:16 -04:00
Gregory Sanders
f9fd37cc8e Consensus: Add asset type to CTxOut and validation 2017-06-16 12:02:15 -04:00
Mark Friedenbach
ab72a3dc05 CT: Rename nCommitmentSize -> nCommittedSize 2017-06-16 12:02:15 -04:00
instagibbs
7501e0a1a0 Adapt daemon functionality to updated libsecp 2017-06-16 12:02:15 -04:00
Gregory Sanders
9ca9c5c997 GetBlockSubsidy is always 0 2017-06-16 12:02:14 -04:00
Gregory Sanders
15dadcd970 Retry bitcoind RPC connection upon warmup error code return 2017-06-16 12:02:14 -04:00
Gregory Sanders
285b10ce10 Fix IsConfirmedBitcoinBlock, clean up CallRPC 2017-06-16 12:02:14 -04:00
Jonas Nick
1287eaa0d9 QA: Allow setting the fedpeg script with a command line argument
- In both default and regtest modes
- The script is stored
- BaseSignatureChecker is used to pass it to the interpreter

Modified by jtimon
2017-06-16 12:02:13 -04:00
instagibbs
9f4ea3d03f Add parent genesis hash to chainparams, simplify checks 2017-06-16 12:02:13 -04:00
instagibbs
cf232e8447 Better error report for failed BitcoindRPCCheck 2017-06-16 12:02:13 -04:00
instagibbs
00c60c7760 CheckInputs: Fix DoS erroneous DoS ban during mempool relay 2017-06-16 12:02:13 -04:00
instagibbs
9167fba9dc Enforce all ISM upgrades immediately 2017-06-16 12:02:13 -04:00
instagibbs
420bdf211d Enable P2SH in ConnectBlock regardless of timestamp 2017-06-16 12:02:13 -04:00
instagibbs
66ab07bd1b Rangeproof caching 2017-06-16 12:02:13 -04:00
instagibbs
dfab197543 Multithreaded amount commitment and range proof checking 2017-06-16 12:02:13 -04:00