Skip to content

Conversation

@lydiagarms
Copy link
Collaborator

@lydiagarms lydiagarms commented Nov 28, 2025

This PR fixes several errors:

  1. An error when it is detected that a variable is set to zero i.e. burned. Previously, it was checking that the owner binding was set to zero, which wasn't always giving the correct result.
  2. An error for a function where there are no new nullifiers but we do use checkNullifiers, i.e. we access secret variables and so need to make sure we are using the most up to date commitment by a nullifier doesn't exist in the nullifier list. The length of the inputs during proof verification in the Shield Contract were wrong in this case.
  3. In orchestration, we do a check to make sure the new leaves have been successfully added on chain at the end. However, if there are no new commitments, we should not include this check or an error will be returned incorrectly. Previously things were being marked as not burned only, i.e. the check included, even when there were no new commitments.

@lydiagarms lydiagarms requested review from SwatiEY and jtcoolen January 5, 2026 15:45
@lydiagarms lydiagarms marked this pull request as ready for review January 5, 2026 16:13
let burnedOnly = true;
for (const [, stateVarIndicator] of Object.entries(this)) {
if (!(stateVarIndicator instanceof StateVariableIndicator)) continue; // eslint-disable-line no-continue, no-use-before-define
// if we have a indicator which is NOT burned, then we do need new commitments
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

update the comment here

@jtcoolen
Copy link
Contributor

jtcoolen commented Jan 5, 2026

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants