Commit graph

152 commits

Author SHA1 Message Date
Karl-Johan Alm
0cd7cc16d3
bad-txns-in-belowout -> bad-txns-in-ne-out
The error message indicates that the inputs exceed the outputs. In reality, at least for blinded transactions, the error will also appear if the in exceeds the out, i.e. this error appears for all transactions where inputs do not sum up to outputs.
2017-07-12 17:50:17 +09:00
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