diff --git a/src/blind.cpp b/src/blind.cpp index 6e4953c981c..aec09e330ec 100644 --- a/src/blind.cpp +++ b/src/blind.cpp @@ -179,7 +179,7 @@ bool GenerateRangeproof(std::vector& rangeproof, const std::vecto // Sign rangeproof // If min_value is 0, scriptPubKey must be unspendable - int res = secp256k1_rangeproof_sign(secp256k1_blind_context, rangeproof.data(), &nRangeProofLen, scriptPubKey.IsUnspendable() ? 0 : 1, &value_commit, value_blindptrs.back(), nonce.begin(), std::min(std::max((int)gArgs.GetArg("-ct_exponent", 0), -1),18), std::min(std::max((int)gArgs.GetArg("-ct_bits", 36), 1), 51), amount, asset_message, sizeof(asset_message), scriptPubKey.size() ? &scriptPubKey.front() : NULL, scriptPubKey.size(), &gen); + int res = secp256k1_rangeproof_sign(secp256k1_blind_context, rangeproof.data(), &nRangeProofLen, scriptPubKey.IsUnspendable() ? 0 : 1, &value_commit, value_blindptrs.back(), nonce.begin(), std::min(std::max((int)gArgs.GetArg("-ct_exponent", 0), -1),18), (int)gArgs.GetArg("-ct_bits", 51), amount, asset_message, sizeof(asset_message), scriptPubKey.size() ? &scriptPubKey.front() : NULL, scriptPubKey.size(), &gen); rangeproof.resize(nRangeProofLen); return (res == 1); } diff --git a/src/init.cpp b/src/init.cpp index 2980679a47a..1f01c9b2f78 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -594,7 +594,7 @@ void SetupServerArgs() gArgs.AddArg("-feeasset=", strprintf("Asset ID (hex) for mempool/relay fees (default: %s)", defaultChainParams->GetConsensus().pegged_asset.GetHex()), false, OptionsCategory::CHAINPARAMS); gArgs.AddArg("-subsidyasset=", strprintf("Asset ID (hex) for the block subsidy (default: %s)", defaultChainParams->GetConsensus().pegged_asset.GetHex()), false, OptionsCategory::CHAINPARAMS); gArgs.AddArg("-initialreissuancetokens=", "The amount of reissuance tokens created in the genesis block. (default: 0)", false, OptionsCategory::CHAINPARAMS); - gArgs.AddArg("-ct_bits", strprintf("The default number of hiding bits in a rangeproof. Will be exceeded to cover amounts exceeding the maximum hiding value. (default: %d)", 36), false, OptionsCategory::CHAINPARAMS); + gArgs.AddArg("-ct_bits", strprintf("The default number of hiding bits in a rangeproof. Will be exceeded to cover amounts exceeding the maximum hiding value. (default: %d)", 51), false, OptionsCategory::CHAINPARAMS); gArgs.AddArg("-ct_exponent", strprintf("The hiding exponent. (default: %s)", 0), false, OptionsCategory::CHAINPARAMS); // Add the hidden options diff --git a/test/functional/feature_confidential_transactions.py b/test/functional/feature_confidential_transactions.py index f0033451dd0..8fe49e479ee 100755 --- a/test/functional/feature_confidential_transactions.py +++ b/test/functional/feature_confidential_transactions.py @@ -381,7 +381,9 @@ def run_test(self): # Send some bitcoin and other assets over as well to fund wallet addr = self.nodes[2].getnewaddress() - self.nodes[0].sendtoaddress(addr, 5) + txid = self.nodes[0].sendtoaddress(addr, 5) + # Make sure we're doing 51 bits of hiding which covers 21M BTC worth + assert_equal(self.nodes[0].getrawtransaction(txid, 1)["vout"][0]["ct-bits"], 51) self.nodes[0].sendmany("", {addr: 1, self.nodes[2].getnewaddress(): 13}, 0, "", [], False, 1, "UNSET", {addr: test_asset}) self.sync_all()