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
**lockscript + \TransactionProofType**: \TxProvingCapability::LockScript\ used \unimplemented!()\ in \From\ for \TransactionProofType, so building \ProverJobSettings\ from CLI (e.g. --tx-proving-capability=lockscript) could panic at startup. It now maps to \PrimitiveWitness, which matches how \can_prove\ treats capability vs proof type and matches the absence of a separate on-chain lock-script-only proof variant.
proof upgrader: \LockScript\ hit \ odo!()\ in \UpgradeJob::from_primitive_witness, which could panic when broadcasting a primitive-witness-backed tx. Behavior now mirrors \PrimitiveWitness: mock networks upgrade toward single-proof; otherwise a clear panic message tells the user to use \proofcollection\ or \singleproof.
**\SynchronizationBitMask::canonize**: replaced the one-bit-at-a-time loop with batched trailing-ones steps so long runs of set bits do not scan linearly (this was marked as very slow in a TODO).
testing
Rust toolchain was not available in this environment; please run \cargo test -p neptune-cash\ before merge.
TxProvingCapability::LockScript previously used unimplemented!() inside From<TransactionProofType>, which could cause a panic during startup when building ProverJobSettings from CLI arguments such as:
--tx-proving-capability=lockscript
This has now been fixed by mapping it to PrimitiveWitness.
The new behavior is consistent with:
how can_prove handles capability vs proof type
the fact that there is no dedicated on-chain “lock-script-only” proof variant
Proof Upgrader
LockScript previously hit a todo!() inside UpgradeJob::from_primitive_witness, which could panic while broadcasting a transaction backed by a primitive witness.
otherwise, a clear panic message instructs the user to use:
proofcollection
or singleproof
SynchronizationBitMask::canonize
Optimized the implementation by replacing the previous one-bit-at-a-time loop with batched trailing-ones processing.
This avoids linear scanning for long runs of set bits and resolves the existing TODO that marked the implementation as very slow.
Testing
Rust toolchain was not available in this environment.
Please run:
cargo test -p neptune-cash
before merging.
Made by mooncitydev
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
summary
**lockscript + \TransactionProofType**: \TxProvingCapability::LockScript\ used \unimplemented!()\ in \From\ for \TransactionProofType, so building \ProverJobSettings\ from CLI (e.g. --tx-proving-capability=lockscript) could panic at startup. It now maps to \PrimitiveWitness, which matches how \can_prove\ treats capability vs proof type and matches the absence of a separate on-chain lock-script-only proof variant.
proof upgrader: \LockScript\ hit \ odo!()\ in \UpgradeJob::from_primitive_witness, which could panic when broadcasting a primitive-witness-backed tx. Behavior now mirrors \PrimitiveWitness: mock networks upgrade toward single-proof; otherwise a clear panic message tells the user to use \proofcollection\ or \singleproof.
**\SynchronizationBitMask::canonize**: replaced the one-bit-at-a-time loop with batched trailing-ones steps so long runs of set bits do not scan linearly (this was marked as very slow in a TODO).
testing
Rust toolchain was not available in this environment; please run \cargo test -p neptune-cash\ before merge.
made by mooncitydev