You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The proofs while minting contain CiphertextCommitmentEqualityProof that asserts the new supply ciphertext belongs to a specific pedersen commitment, on which the u64 overflow-check is proven.
But that new-supply-ciphertext is fully arbitrary. You have to check it against the actual new supply, computed in-contract, similar to how transfer does it:
// Check that the computed available balance is consistent with what was// actually used to generate the zkp on the client side.if new_source_available_balance != proof_context.new_source_ciphertext{returnErr(TokenError::ConfidentialTransferBalanceMismatch.into());}
The impact of this missing is likely small, but the whole range-proof does nothing without this check.
The text was updated successfully, but these errors were encountered:
The proofs while minting contain
CiphertextCommitmentEqualityProof
that asserts the new supply ciphertext belongs to a specific pedersen commitment, on which the u64 overflow-check is proven.But that new-supply-ciphertext is fully arbitrary. You have to check it against the actual new supply, computed in-contract, similar to how transfer does it:
The impact of this missing is likely small, but the whole range-proof does nothing without this check.
The text was updated successfully, but these errors were encountered: