Commit graph

36 commits

Author SHA1 Message Date
Gregory Sanders
474ceadbb6 Under certain circumstances we don't need to blind at all, allow it 2018-04-09 10:45:29 -04:00
Gregory Sanders
9d04bf58ba Rangeproof validation and rewinding should fail gracefully 2017-06-16 12:02:36 -04:00
Gregory Sanders
2ac5eafbca Remove spendable 0-value outputs from consensus, wallet 2017-06-16 12:02:36 -04:00
Gregory Sanders
46e13e2aa9 blindrawtransaction takes auxiliary generator args 2017-06-16 12:02:36 -04:00
Gregory Sanders
984967c40e Update wallet infrastructure to support blinding issuances 2017-06-16 12:02:35 -04:00
Mark Friedenbach
80d725222a CA: Assert the size of the pubkey, protecting against a regression to uncompressed pubkeys 2017-06-16 12:02:35 -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
Gregory Sanders
f9dfc025cb Revamp BlindOutputs 2017-06-16 12:02:34 -04:00
Mark Friedenbach
d2d0fd02fa CT: Don't assume size of a serialized pubkey (removes a magic number). 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
Mark Friedenbach
9897078ec8 CA: Switch to CAsset::SetNull() API instead of assignment & default constructor. 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
755cefb173 BlindOuputs succeeds if no blinding known/attempted 2017-06-16 12:02:33 -04:00
Gregory Sanders
6fe3b5222c blindoutputs assert 2017-06-16 12:02:18 -04:00
Gregory Sanders
a93c0279bf BlindOutputs: break out asserts into checks only 2017-06-16 12:02:18 -04:00
Gregory Sanders
8ab5a89f71 BlindOutput: Surjection proof init may fail 2017-06-16 12:02:18 -04:00
Gregory Sanders
e757c31481 UnblindOutput: belt and suspenders check for all-blinded output 2017-06-16 12:02:17 -04:00
Gregory Sanders
3d4838f525 BlindOutputs: fixup blinding check at end 2017-06-16 12:02:16 -04:00
Gregory Sanders
2b0d1520b6 BlindOutputs: simplify corner case logic 2017-06-16 12:02:16 -04:00
Gregory Sanders
714e8fc0d0 Rangeproof commits to scriptpubkey 2017-06-16 12:02:16 -04:00
Gregory Sanders
4f3f87649f Wallet: Support arbitrary assets 2017-06-16 12:02:16 -04:00
instagibbs
27bc93d754 BlindOutputs: Move sum checker to end and always check 2017-06-16 12:02:15 -04:00
instagibbs
7501e0a1a0 Adapt daemon functionality to updated libsecp 2017-06-16 12:02:15 -04:00
instagibbs
e30340a8d6 CreateTransaction stores destination blinding keys,factors, and amounts 2017-06-16 12:02:12 -04:00
Pieter Wuille
ee74131673 Better algorithm for determining whether a dummy output is needed 2017-06-15 14:31:25 -04:00
Matt Corallo
1fd6b99daa Add blinding transaction-creation code 2017-06-15 14:30:12 -04:00