Skip to content

Commit

Permalink
force explicitness after fixing bug from mixing up non/revertible par…
Browse files Browse the repository at this point in the history
…am locations
  • Loading branch information
just-mitch committed May 28, 2024
1 parent f34601a commit 62f7835
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 20 deletions.
37 changes: 23 additions & 14 deletions yarn-project/circuits.js/src/structs/kernel/combine_hints.ts
Original file line number Diff line number Diff line change
Expand Up @@ -60,10 +60,16 @@ export class CombineHints {
);
}

static fromPublicData(revertible: PublicAccumulatedData, nonRevertible: PublicAccumulatedData): CombineHints {
static fromPublicData({
revertibleData,
nonRevertibleData,
}: {
revertibleData: PublicAccumulatedData;
nonRevertibleData: PublicAccumulatedData;
}): CombineHints {
const mergedNoteHashes = mergeAccumulatedData(
nonRevertible.newNoteHashes,
revertible.newNoteHashes,
nonRevertibleData.newNoteHashes,
revertibleData.newNoteHashes,
MAX_NEW_NOTE_HASHES_PER_TX,
);

Expand All @@ -73,8 +79,8 @@ export class CombineHints {
);

const unencryptedLogHashes = mergeAccumulatedData(
nonRevertible.unencryptedLogsHashes,
revertible.unencryptedLogsHashes,
nonRevertibleData.unencryptedLogsHashes,
revertibleData.unencryptedLogsHashes,
MAX_ENCRYPTED_LOGS_PER_TX,
);

Expand All @@ -84,8 +90,8 @@ export class CombineHints {
);

const publicDataUpdateRequests = mergeAccumulatedData(
nonRevertible.publicDataUpdateRequests,
revertible.publicDataUpdateRequests,
nonRevertibleData.publicDataUpdateRequests,
revertibleData.publicDataUpdateRequests,
MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX,
);

Expand All @@ -106,15 +112,18 @@ export class CombineHints {

[inspect.custom](): string {
return `CombineHints {
sortedNoteHashes: ${getNonEmptyItems(this.sortedNoteHashes)},
sortedNoteHashes: ${getNonEmptyItems(this.sortedNoteHashes)
.map(h => inspect(h))
.join(', ')},
sortedNoteHashesIndexes: ${removeArrayPaddingEnd(this.sortedNoteHashesIndexes, n => n === 0)},
sortedUnencryptedLogsHashes: ${getNonEmptyItems(this.sortedUnencryptedLogsHashes)},
sortedUnencryptedLogsHashes: ${getNonEmptyItems(this.sortedUnencryptedLogsHashes)
.map(h => inspect(h))
.join(', ')},
sortedUnencryptedLogsHashesIndexes: ${removeArrayPaddingEnd(this.sortedUnencryptedLogsHashesIndexes, n => n === 0)},
sortedPublicDataUpdateRequests: ${getNonEmptyItems(this.sortedPublicDataUpdateRequests)},
sortedPublicDataUpdateRequestsIndexes: ${removeArrayPaddingEnd(
this.sortedPublicDataUpdateRequestsIndexes,
n => n === 0,
)}
sortedPublicDataUpdateRequests: ${getNonEmptyItems(this.sortedPublicDataUpdateRequests)
.map(h => inspect(h))
.join(', ')},
sortedPublicDataUpdateRequestsIndexes: ${this.sortedPublicDataUpdateRequestsIndexes}
}`;
}
}
12 changes: 6 additions & 6 deletions yarn-project/simulator/src/public/tail_phase_manager.ts
Original file line number Diff line number Diff line change
Expand Up @@ -73,11 +73,11 @@ export class TailPhaseManager extends AbstractPhaseManager {
private async buildPrivateInputs(previousOutput: PublicKernelCircuitPublicInputs) {
const previousKernel = this.getPreviousKernelData(previousOutput);

const { validationRequests, endNonRevertibleData, end } = previousOutput;
const { validationRequests, endNonRevertibleData: nonRevertibleData, end: revertibleData } = previousOutput;

const pendingNullifiers = mergeAccumulatedData(
endNonRevertibleData.newNullifiers,
end.newNullifiers,
nonRevertibleData.newNullifiers,
revertibleData.newNullifiers,
MAX_NEW_NULLIFIERS_PER_TX,
);

Expand All @@ -92,8 +92,8 @@ export class TailPhaseManager extends AbstractPhaseManager {
);

const pendingPublicDataWrites = mergeAccumulatedData(
endNonRevertibleData.publicDataUpdateRequests,
end.publicDataUpdateRequests,
nonRevertibleData.publicDataUpdateRequests,
revertibleData.publicDataUpdateRequests,
MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX,
);

Expand All @@ -110,7 +110,7 @@ export class TailPhaseManager extends AbstractPhaseManager {

const currentState = await this.db.getStateReference();

const hints = CombineHints.fromPublicData(endNonRevertibleData, end);
const hints = CombineHints.fromPublicData({ nonRevertibleData, revertibleData });

return new PublicKernelTailCircuitPrivateInputs(
previousKernel,
Expand Down

0 comments on commit 62f7835

Please sign in to comment.