Skip to content

Commit

Permalink
Remove the min(max( construction for the ct_exponent argument
Browse files Browse the repository at this point in the history
We removed the similar construction for ct_bits in an earlier commit.
The construction is to keep the value between -1 and 18. This kind of
means that a user that inputs a value outside that range will not get an
error, but will use the value on the edge of the range instead.

It's probably better to return an error (generated by secp256k1) in the
case of invalid input.
  • Loading branch information
stevenroose committed Mar 25, 2020
1 parent 84e74dc commit 35c83bd
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion src/blind.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -180,7 +180,7 @@ bool GenerateRangeproof(std::vector<unsigned char>& rangeproof, const std::vecto
memcpy(asset_message+32, asset_blindptrs[asset_blindptrs.size()-1], 32);

// Sign rangeproof
int ct_exponent = std::min(std::max((int)gArgs.GetArg("-ct_exponent", 0), -1), 18);
int ct_exponent = (int)gArgs.GetArg("-ct_exponent", 0);
int ct_bits = (int)gArgs.GetArg("-ct_bits", 52);
// If min_value is 0, scriptPubKey must be unspendable
uint64_t min_value = scriptPubKey.IsUnspendable() ? 0 : 1;
Expand Down

0 comments on commit 35c83bd

Please sign in to comment.