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