Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix: avoid cloning range proofs during verification (#6166)
Description --- Removes unnecessary cloning of range proofs during batch verification. Motivation and Context --- Currently, range proofs exist in transaction outputs as byte vectors. When parsing outputs to collect these proofs for batch verification, the byte vectors are cloned. This is done because the verification API requires that the vector of proofs contain a vector reference to each proof, but the `BulletRangeProof` type wrapper provides a slice instead as part of its `ByteArray` implementation. Because proofs are several hundred bytes and batches can be large, this cloning is wasteful. This PR adds `BulletRangeProof::as_vec`, which returns the underlying range proof as a vector reference. Doing so lets us avoid the clone while collecting the range proofs. How Has This Been Tested? --- Existing tests pass. What process can a PR reviewer use to test or verify this change? --- Confirm that the change removes the cloning.
- Loading branch information