diff --git a/src/primitives/transaction.cpp b/src/primitives/transaction.cpp index 59ea7554ddd..a2d7a46584e 100644 --- a/src/primitives/transaction.cpp +++ b/src/primitives/transaction.cpp @@ -17,13 +17,6 @@ void CConfidentialAsset::SetToAsset(const CAsset& asset) vchCommitment.insert(vchCommitment.end(), asset.begin(), asset.end()); } -void CConfidentialAsset::SetToBlinder(const uint256& blinder) -{ - vchCommitment.reserve(nCommittedSize); - vchCommitment.push_back(12); - vchCommitment.insert(vchCommitment.end(), blinder.begin(), blinder.end()); -} - void CConfidentialValue::SetToBlinder(const uint256& blinder) { vchCommitment.reserve(nCommittedSize); diff --git a/src/primitives/transaction.h b/src/primitives/transaction.h index 9612af6d80d..2f54dfd1f9d 100644 --- a/src/primitives/transaction.h +++ b/src/primitives/transaction.h @@ -103,13 +103,12 @@ class CConfidentialCommitment } }; -/** A 33-byte commitment to a blinded asset, a 32-byte naked blinding value, or an explicit asset NUMS identifier */ +/** A 33-byte commitment to a blinded asset or an explicit asset NUMS identifier */ class CConfidentialAsset : public CConfidentialCommitment<33, 10, 11, 12> { public: CConfidentialAsset() { SetNull(); } CConfidentialAsset(CAsset asset) { SetToAsset(asset); } - CConfidentialAsset(uint256 blinder) { SetToBlinder(blinder); } /* An explicit asset identifier is a 256-bit nothing-up-my-sleeve number * that used as auxiliary input to the Pedersen commitment setup to create @@ -119,13 +118,7 @@ class CConfidentialAsset : public CConfidentialCommitment<33, 10, 11, 12> assert(IsExplicit()); return *reinterpret_cast(&vchCommitment[1]); } - const uint256& GetBlinder() const - { - assert(IsBlinder()); - return *reinterpret_cast(&vchCommitment[1]); - } void SetToAsset(const CAsset& asset); - void SetToBlinder(const uint256& blinder); }; diff --git a/src/validation.cpp b/src/validation.cpp index 377d5f5535a..8928491c1db 100644 --- a/src/validation.cpp +++ b/src/validation.cpp @@ -898,10 +898,6 @@ bool VerifyAmounts(const CCoinsViewCache& cache, const CTransaction& tx, std::ve } else if (asset.IsCommitment()) { if (secp256k1_generator_parse(secp256k1_ctx_verify_amounts, &gen, &asset.vchCommitment[0]) != 1) return false; - } else if (asset.IsBlinder()) { - if (secp256k1_generator_generate_blinded(secp256k1_ctx_verify_amounts, &gen, zero, asset.GetBlinder().begin()) != 1) { - return false; - } } else { return false; } @@ -976,7 +972,7 @@ bool VerifyAmounts(const CCoinsViewCache& cache, const CTransaction& tx, std::ve const CConfidentialAsset& asset = tx.vout[i].nAsset; const CTxOutWitness* ptxoutwit = tx.wit.vtxoutwit.size() <= i? NULL: &tx.wit.vtxoutwit[i]; //No need for surjective proof - if (asset.IsExplicit() || asset.IsBlinder()) { + if (asset.IsExplicit()) { if (ptxoutwit && !ptxoutwit->vchSurjectionproof.empty()) { return false; }