Commit graph

38 commits

Author SHA1 Message Date
Gregory Sanders
cf1ffc9b95 f'Update wallet infrastructure to support blinding issuances' finish breaking out subroutines 2017-04-10 16:22:05 -04:00
Gregory Sanders
0642fcc5ba Rangeproof validation and rewinding should fail gracefully 2017-04-02 14:32:38 -04:00
Gregory Sanders
9ca96cedfa Remove spendable 0-value outputs from consensus, wallet 2017-04-02 14:32:38 -04:00
Gregory Sanders
f6f6c6bb94 blindrawtransaction takes auxiliary generator args 2017-04-02 14:31:30 -04:00
Gregory Sanders
c7275a4d2d Update wallet infrastructure to support blinding issuances 2017-04-02 14:30:31 -04:00
Mark Friedenbach
de2fba4c1b CA: Assert the size of the pubkey, protecting against a regression to uncompressed pubkeys 2017-04-02 14:30:01 -04:00
Mark Friedenbach
22d1f49c0b [Hard-Fork] CT/CA: Put the asset surjection proof, value range proof, and issuance rangeproofs under the witness commitment 2017-04-02 14:30:01 -04:00
Gregory Sanders
a144f600e8 Revamp BlindOutputs 2017-04-02 14:28:24 -04:00
Mark Friedenbach
2736802263 CT: Don't assume size of a serialized pubkey (removes a magic number). 2017-04-02 14:28:18 -04:00
Mark Friedenbach
cd6b2929c8 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-04-02 14:28:18 -04:00
Mark Friedenbach
7c35c08302 CT/CA: Unify CTxOutAsset and CTxOutValue into a single templated abstract base class 2017-04-02 14:28:18 -04:00
Mark Friedenbach
9db43d8b48 CT: Move CTxOutValue::vchNonceCommitment into CTxOut 2017-04-02 14:28:18 -04:00
Mark Friedenbach
203fa8f7a9 CT: Move CTxOutValue::vchRangeproof into CTxOut 2017-04-02 14:28:18 -04:00
Mark Friedenbach
c88fec9660 CA: Move CTxOutAsset::vchSurjectionproof into CTxOut 2017-04-02 14:28:18 -04:00
Mark Friedenbach
96221efaab CT: CTxOutValue::IsAmount() -> CTxOutValue::IsExplicit() 2017-04-02 14:28:18 -04:00
Mark Friedenbach
e2077844f6 CA: CTxOutAsset::vchAssetTag -> CTxOutAsset::vchCommitment 2017-04-02 14:28:18 -04:00
Mark Friedenbach
343bf9176f CA: CTxOutAsset::IsAsset() -> CTxOutAsset::IsExplicit() 2017-04-02 14:28:18 -04:00
Mark Friedenbach
8135667a12 CA: CTxOutAsset::IsAssetCommitment() -> CTXOutAsset::IsCommitment() 2017-04-02 14:28:18 -04:00
Mark Friedenbach
063aae664f CA: Switch to CAsset::SetNull() API instead of assignment & default constructor. 2017-04-02 14:28:18 -04:00
Mark Friedenbach
944d602526 CA: Switch CTxOutAsset::GetAssetID() to return a constant reference to the stored asset ID rather than perform unnecessary memory reallocation. 2017-04-02 14:28:18 -04:00
Mark Friedenbach
83456d6037 CA: CAssetID -> CAsset 2017-04-02 14:28:18 -04:00
Mark Friedenbach
6e8f1b7247 CA: uint256 -> CAssetID 2017-04-02 14:25:06 -04:00
Gregory Sanders
d611d0eecd f'BlindOuputs succeeds if...' BlindOutputs now returns number of outputs blinded 2017-04-02 14:23:35 -04:00
Gregory Sanders
34db2aa734 BlindOuputs succeeds if no blinding known/attempted 2017-04-02 14:23:35 -04:00
Gregory Sanders
882e07551b blindoutputs assert 2017-04-02 14:23:35 -04:00
Gregory Sanders
8cc75c7f00 BlindOutputs: break out asserts into checks only 2017-04-02 14:23:35 -04:00
Gregory Sanders
25b89f3eef BlindOutput: Surjection proof init may fail 2017-04-02 14:23:35 -04:00
Gregory Sanders
2309b35f30 UnblindOutput: belt and suspenders check for all-blinded output 2017-04-02 14:23:35 -04:00
Gregory Sanders
23a487a174 BlindOutputs: fixup blinding check at end 2017-04-02 14:21:30 -04:00
Gregory Sanders
9b41064a0e BlindOutputs: simplify corner case logic 2017-04-02 14:21:30 -04:00
Gregory Sanders
4e49c307b0 Rangeproof commits to scriptpubkey 2017-04-02 14:21:30 -04:00
Gregory Sanders
589761f799 DEMO ONLY: issuance skeleton 2017-04-02 14:21:30 -04:00
Gregory Sanders
9ed0174ab5 Wallet: Support arbitrary assets 2017-04-02 14:18:27 -04:00
instagibbs
b5c3fea8c4 BlindOutputs: Move sum checker to end and always check 2017-04-02 14:05:25 -04:00
instagibbs
87ccc27273 Adapt daemon functionality to updated libsecp 2017-04-02 14:05:25 -04:00
instagibbs
8c8565c9e5 CreateTransaction stores destination blinding keys,factors, and amounts 2017-02-02 10:58:51 -05:00
Pieter Wuille
9bfc2c813d Better algorithm for determining whether a dummy output is needed 2017-02-02 10:58:49 -05:00
Matt Corallo
7ab3826dd1 Add blinding transaction-creation code 2017-02-02 10:58:48 -05:00