@aztec/stdlib 3.0.0-nightly.20251115 → 3.0.0-nightly.20251118
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dest/avm/avm.d.ts +37 -37
- package/dest/avm/avm.js +15 -15
- package/dest/avm/avm_proving_request.d.ts +21 -21
- package/dest/interfaces/proving-job.d.ts +21 -21
- package/dest/tests/factories.d.ts +4 -4
- package/dest/tests/factories.js +11 -11
- package/dest/vks/verification_key.d.ts +9 -0
- package/dest/vks/verification_key.d.ts.map +1 -1
- package/dest/vks/verification_key.js +20 -0
- package/package.json +8 -8
- package/src/avm/avm.ts +18 -18
- package/src/tests/factories.ts +18 -18
- package/src/vks/verification_key.ts +25 -0
package/dest/avm/avm.d.ts
CHANGED
|
@@ -1858,11 +1858,11 @@ export declare class AvmRevertCheckpointHint {
|
|
|
1858
1858
|
*/
|
|
1859
1859
|
static fromPlainObject(obj: any): AvmRevertCheckpointHint;
|
|
1860
1860
|
}
|
|
1861
|
-
export declare class
|
|
1861
|
+
export declare class AvmContractDbCreateCheckpointHint extends AvmCheckpointActionNoStateChangeHint {
|
|
1862
1862
|
}
|
|
1863
|
-
export declare class
|
|
1863
|
+
export declare class AvmContractDbCommitCheckpointHint extends AvmCheckpointActionNoStateChangeHint {
|
|
1864
1864
|
}
|
|
1865
|
-
export declare class
|
|
1865
|
+
export declare class AvmContractDbRevertCheckpointHint extends AvmCheckpointActionNoStateChangeHint {
|
|
1866
1866
|
}
|
|
1867
1867
|
export declare class AvmTxHint {
|
|
1868
1868
|
readonly hash: string;
|
|
@@ -2460,9 +2460,9 @@ export declare class AvmExecutionHints {
|
|
|
2460
2460
|
readonly contractClasses: AvmContractClassHint[];
|
|
2461
2461
|
readonly bytecodeCommitments: AvmBytecodeCommitmentHint[];
|
|
2462
2462
|
readonly debugFunctionNames: AvmDebugFunctionNameHint[];
|
|
2463
|
-
readonly
|
|
2464
|
-
readonly
|
|
2465
|
-
readonly
|
|
2463
|
+
readonly contractDbCreateCheckpointHints: AvmContractDbCreateCheckpointHint[];
|
|
2464
|
+
readonly contractDbCommitCheckpointHints: AvmContractDbCommitCheckpointHint[];
|
|
2465
|
+
readonly contractDbRevertCheckpointHints: AvmContractDbRevertCheckpointHint[];
|
|
2466
2466
|
startingTreeRoots: TreeSnapshots;
|
|
2467
2467
|
readonly getSiblingPathHints: AvmGetSiblingPathHint[];
|
|
2468
2468
|
readonly getPreviousValueIndexHints: AvmGetPreviousValueIndexHint[];
|
|
@@ -2475,7 +2475,7 @@ export declare class AvmExecutionHints {
|
|
|
2475
2475
|
readonly createCheckpointHints: AvmCreateCheckpointHint[];
|
|
2476
2476
|
readonly commitCheckpointHints: AvmCommitCheckpointHint[];
|
|
2477
2477
|
readonly revertCheckpointHints: AvmRevertCheckpointHint[];
|
|
2478
|
-
constructor(globalVariables: GlobalVariables, tx: AvmTxHint, protocolContracts: ProtocolContracts, contractInstances?: AvmContractInstanceHint[], contractClasses?: AvmContractClassHint[], bytecodeCommitments?: AvmBytecodeCommitmentHint[], debugFunctionNames?: AvmDebugFunctionNameHint[],
|
|
2478
|
+
constructor(globalVariables: GlobalVariables, tx: AvmTxHint, protocolContracts: ProtocolContracts, contractInstances?: AvmContractInstanceHint[], contractClasses?: AvmContractClassHint[], bytecodeCommitments?: AvmBytecodeCommitmentHint[], debugFunctionNames?: AvmDebugFunctionNameHint[], contractDbCreateCheckpointHints?: AvmContractDbCreateCheckpointHint[], contractDbCommitCheckpointHints?: AvmContractDbCommitCheckpointHint[], contractDbRevertCheckpointHints?: AvmContractDbRevertCheckpointHint[], startingTreeRoots?: TreeSnapshots, getSiblingPathHints?: AvmGetSiblingPathHint[], getPreviousValueIndexHints?: AvmGetPreviousValueIndexHint[], getLeafPreimageHintsPublicDataTree?: AvmGetLeafPreimageHintPublicDataTree[], getLeafPreimageHintsNullifierTree?: AvmGetLeafPreimageHintNullifierTree[], getLeafValueHints?: AvmGetLeafValueHint[], sequentialInsertHintsPublicDataTree?: AvmSequentialInsertHintPublicDataTree[], sequentialInsertHintsNullifierTree?: AvmSequentialInsertHintNullifierTree[], appendLeavesHints?: AvmAppendLeavesHint[], createCheckpointHints?: AvmCreateCheckpointHint[], commitCheckpointHints?: AvmCommitCheckpointHint[], revertCheckpointHints?: AvmRevertCheckpointHint[]);
|
|
2479
2479
|
/**
|
|
2480
2480
|
* Creates an AvmExecutionHints from a plain object without Zod validation.
|
|
2481
2481
|
* This method is optimized for performance and skips validation, making it suitable
|
|
@@ -3223,7 +3223,7 @@ export declare class AvmExecutionHints {
|
|
|
3223
3223
|
selector?: any;
|
|
3224
3224
|
address?: any;
|
|
3225
3225
|
}>, "many">;
|
|
3226
|
-
|
|
3226
|
+
contractDbCreateCheckpointHints: z.ZodArray<z.ZodEffects<z.ZodObject<{
|
|
3227
3227
|
actionCounter: z.ZodNumber;
|
|
3228
3228
|
oldCheckpointId: z.ZodNumber;
|
|
3229
3229
|
newCheckpointId: z.ZodNumber;
|
|
@@ -3240,7 +3240,7 @@ export declare class AvmExecutionHints {
|
|
|
3240
3240
|
oldCheckpointId: number;
|
|
3241
3241
|
newCheckpointId: number;
|
|
3242
3242
|
}>, "many">;
|
|
3243
|
-
|
|
3243
|
+
contractDbCommitCheckpointHints: z.ZodArray<z.ZodEffects<z.ZodObject<{
|
|
3244
3244
|
actionCounter: z.ZodNumber;
|
|
3245
3245
|
oldCheckpointId: z.ZodNumber;
|
|
3246
3246
|
newCheckpointId: z.ZodNumber;
|
|
@@ -3257,7 +3257,7 @@ export declare class AvmExecutionHints {
|
|
|
3257
3257
|
oldCheckpointId: number;
|
|
3258
3258
|
newCheckpointId: number;
|
|
3259
3259
|
}>, "many">;
|
|
3260
|
-
|
|
3260
|
+
contractDbRevertCheckpointHints: z.ZodArray<z.ZodEffects<z.ZodObject<{
|
|
3261
3261
|
actionCounter: z.ZodNumber;
|
|
3262
3262
|
oldCheckpointId: z.ZodNumber;
|
|
3263
3263
|
newCheckpointId: z.ZodNumber;
|
|
@@ -4838,9 +4838,9 @@ export declare class AvmExecutionHints {
|
|
|
4838
4838
|
contractClasses: AvmContractClassHint[];
|
|
4839
4839
|
bytecodeCommitments: AvmBytecodeCommitmentHint[];
|
|
4840
4840
|
debugFunctionNames: AvmDebugFunctionNameHint[];
|
|
4841
|
-
|
|
4842
|
-
|
|
4843
|
-
|
|
4841
|
+
contractDbCreateCheckpointHints: AvmCheckpointActionNoStateChangeHint[];
|
|
4842
|
+
contractDbCommitCheckpointHints: AvmCheckpointActionNoStateChangeHint[];
|
|
4843
|
+
contractDbRevertCheckpointHints: AvmCheckpointActionNoStateChangeHint[];
|
|
4844
4844
|
startingTreeRoots: TreeSnapshots;
|
|
4845
4845
|
getSiblingPathHints: AvmGetSiblingPathHint[];
|
|
4846
4846
|
getPreviousValueIndexHints: AvmGetPreviousValueIndexHint[];
|
|
@@ -5021,17 +5021,17 @@ export declare class AvmExecutionHints {
|
|
|
5021
5021
|
selector?: any;
|
|
5022
5022
|
address?: any;
|
|
5023
5023
|
}[];
|
|
5024
|
-
|
|
5024
|
+
contractDbCreateCheckpointHints: {
|
|
5025
5025
|
actionCounter: number;
|
|
5026
5026
|
oldCheckpointId: number;
|
|
5027
5027
|
newCheckpointId: number;
|
|
5028
5028
|
}[];
|
|
5029
|
-
|
|
5029
|
+
contractDbCommitCheckpointHints: {
|
|
5030
5030
|
actionCounter: number;
|
|
5031
5031
|
oldCheckpointId: number;
|
|
5032
5032
|
newCheckpointId: number;
|
|
5033
5033
|
}[];
|
|
5034
|
-
|
|
5034
|
+
contractDbRevertCheckpointHints: {
|
|
5035
5035
|
actionCounter: number;
|
|
5036
5036
|
oldCheckpointId: number;
|
|
5037
5037
|
newCheckpointId: number;
|
|
@@ -5423,17 +5423,17 @@ export declare class AvmExecutionHints {
|
|
|
5423
5423
|
selector?: any;
|
|
5424
5424
|
address?: any;
|
|
5425
5425
|
}[];
|
|
5426
|
-
|
|
5426
|
+
contractDbCreateCheckpointHints: {
|
|
5427
5427
|
actionCounter: number;
|
|
5428
5428
|
oldCheckpointId: number;
|
|
5429
5429
|
newCheckpointId: number;
|
|
5430
5430
|
}[];
|
|
5431
|
-
|
|
5431
|
+
contractDbCommitCheckpointHints: {
|
|
5432
5432
|
actionCounter: number;
|
|
5433
5433
|
oldCheckpointId: number;
|
|
5434
5434
|
newCheckpointId: number;
|
|
5435
5435
|
}[];
|
|
5436
|
-
|
|
5436
|
+
contractDbRevertCheckpointHints: {
|
|
5437
5437
|
actionCounter: number;
|
|
5438
5438
|
oldCheckpointId: number;
|
|
5439
5439
|
newCheckpointId: number;
|
|
@@ -6442,7 +6442,7 @@ export declare class AvmCircuitInputs {
|
|
|
6442
6442
|
selector?: any;
|
|
6443
6443
|
address?: any;
|
|
6444
6444
|
}>, "many">;
|
|
6445
|
-
|
|
6445
|
+
contractDbCreateCheckpointHints: z.ZodArray<z.ZodEffects<z.ZodObject<{
|
|
6446
6446
|
actionCounter: z.ZodNumber;
|
|
6447
6447
|
oldCheckpointId: z.ZodNumber;
|
|
6448
6448
|
newCheckpointId: z.ZodNumber;
|
|
@@ -6459,7 +6459,7 @@ export declare class AvmCircuitInputs {
|
|
|
6459
6459
|
oldCheckpointId: number;
|
|
6460
6460
|
newCheckpointId: number;
|
|
6461
6461
|
}>, "many">;
|
|
6462
|
-
|
|
6462
|
+
contractDbCommitCheckpointHints: z.ZodArray<z.ZodEffects<z.ZodObject<{
|
|
6463
6463
|
actionCounter: z.ZodNumber;
|
|
6464
6464
|
oldCheckpointId: z.ZodNumber;
|
|
6465
6465
|
newCheckpointId: z.ZodNumber;
|
|
@@ -6476,7 +6476,7 @@ export declare class AvmCircuitInputs {
|
|
|
6476
6476
|
oldCheckpointId: number;
|
|
6477
6477
|
newCheckpointId: number;
|
|
6478
6478
|
}>, "many">;
|
|
6479
|
-
|
|
6479
|
+
contractDbRevertCheckpointHints: z.ZodArray<z.ZodEffects<z.ZodObject<{
|
|
6480
6480
|
actionCounter: z.ZodNumber;
|
|
6481
6481
|
oldCheckpointId: z.ZodNumber;
|
|
6482
6482
|
newCheckpointId: z.ZodNumber;
|
|
@@ -8057,9 +8057,9 @@ export declare class AvmCircuitInputs {
|
|
|
8057
8057
|
contractClasses: AvmContractClassHint[];
|
|
8058
8058
|
bytecodeCommitments: AvmBytecodeCommitmentHint[];
|
|
8059
8059
|
debugFunctionNames: AvmDebugFunctionNameHint[];
|
|
8060
|
-
|
|
8061
|
-
|
|
8062
|
-
|
|
8060
|
+
contractDbCreateCheckpointHints: AvmCheckpointActionNoStateChangeHint[];
|
|
8061
|
+
contractDbCommitCheckpointHints: AvmCheckpointActionNoStateChangeHint[];
|
|
8062
|
+
contractDbRevertCheckpointHints: AvmCheckpointActionNoStateChangeHint[];
|
|
8063
8063
|
startingTreeRoots: TreeSnapshots;
|
|
8064
8064
|
getSiblingPathHints: AvmGetSiblingPathHint[];
|
|
8065
8065
|
getPreviousValueIndexHints: AvmGetPreviousValueIndexHint[];
|
|
@@ -8240,17 +8240,17 @@ export declare class AvmCircuitInputs {
|
|
|
8240
8240
|
selector?: any;
|
|
8241
8241
|
address?: any;
|
|
8242
8242
|
}[];
|
|
8243
|
-
|
|
8243
|
+
contractDbCreateCheckpointHints: {
|
|
8244
8244
|
actionCounter: number;
|
|
8245
8245
|
oldCheckpointId: number;
|
|
8246
8246
|
newCheckpointId: number;
|
|
8247
8247
|
}[];
|
|
8248
|
-
|
|
8248
|
+
contractDbCommitCheckpointHints: {
|
|
8249
8249
|
actionCounter: number;
|
|
8250
8250
|
oldCheckpointId: number;
|
|
8251
8251
|
newCheckpointId: number;
|
|
8252
8252
|
}[];
|
|
8253
|
-
|
|
8253
|
+
contractDbRevertCheckpointHints: {
|
|
8254
8254
|
actionCounter: number;
|
|
8255
8255
|
oldCheckpointId: number;
|
|
8256
8256
|
newCheckpointId: number;
|
|
@@ -8642,17 +8642,17 @@ export declare class AvmCircuitInputs {
|
|
|
8642
8642
|
selector?: any;
|
|
8643
8643
|
address?: any;
|
|
8644
8644
|
}[];
|
|
8645
|
-
|
|
8645
|
+
contractDbCreateCheckpointHints: {
|
|
8646
8646
|
actionCounter: number;
|
|
8647
8647
|
oldCheckpointId: number;
|
|
8648
8648
|
newCheckpointId: number;
|
|
8649
8649
|
}[];
|
|
8650
|
-
|
|
8650
|
+
contractDbCommitCheckpointHints: {
|
|
8651
8651
|
actionCounter: number;
|
|
8652
8652
|
oldCheckpointId: number;
|
|
8653
8653
|
newCheckpointId: number;
|
|
8654
8654
|
}[];
|
|
8655
|
-
|
|
8655
|
+
contractDbRevertCheckpointHints: {
|
|
8656
8656
|
actionCounter: number;
|
|
8657
8657
|
oldCheckpointId: number;
|
|
8658
8658
|
newCheckpointId: number;
|
|
@@ -10291,17 +10291,17 @@ export declare class AvmCircuitInputs {
|
|
|
10291
10291
|
selector?: any;
|
|
10292
10292
|
address?: any;
|
|
10293
10293
|
}[];
|
|
10294
|
-
|
|
10294
|
+
contractDbCreateCheckpointHints: {
|
|
10295
10295
|
actionCounter: number;
|
|
10296
10296
|
oldCheckpointId: number;
|
|
10297
10297
|
newCheckpointId: number;
|
|
10298
10298
|
}[];
|
|
10299
|
-
|
|
10299
|
+
contractDbCommitCheckpointHints: {
|
|
10300
10300
|
actionCounter: number;
|
|
10301
10301
|
oldCheckpointId: number;
|
|
10302
10302
|
newCheckpointId: number;
|
|
10303
10303
|
}[];
|
|
10304
|
-
|
|
10304
|
+
contractDbRevertCheckpointHints: {
|
|
10305
10305
|
actionCounter: number;
|
|
10306
10306
|
oldCheckpointId: number;
|
|
10307
10307
|
newCheckpointId: number;
|
|
@@ -10860,17 +10860,17 @@ export declare class AvmCircuitInputs {
|
|
|
10860
10860
|
selector?: any;
|
|
10861
10861
|
address?: any;
|
|
10862
10862
|
}[];
|
|
10863
|
-
|
|
10863
|
+
contractDbCreateCheckpointHints: {
|
|
10864
10864
|
actionCounter: number;
|
|
10865
10865
|
oldCheckpointId: number;
|
|
10866
10866
|
newCheckpointId: number;
|
|
10867
10867
|
}[];
|
|
10868
|
-
|
|
10868
|
+
contractDbCommitCheckpointHints: {
|
|
10869
10869
|
actionCounter: number;
|
|
10870
10870
|
oldCheckpointId: number;
|
|
10871
10871
|
newCheckpointId: number;
|
|
10872
10872
|
}[];
|
|
10873
|
-
|
|
10873
|
+
contractDbRevertCheckpointHints: {
|
|
10874
10874
|
actionCounter: number;
|
|
10875
10875
|
oldCheckpointId: number;
|
|
10876
10876
|
newCheckpointId: number;
|
package/dest/avm/avm.js
CHANGED
|
@@ -500,11 +500,11 @@ export class AvmRevertCheckpointHint {
|
|
|
500
500
|
return new AvmRevertCheckpointHint(obj.actionCounter, obj.oldCheckpointId, obj.newCheckpointId, TreeSnapshots.fromPlainObject(obj.stateBefore), TreeSnapshots.fromPlainObject(obj.stateAfter));
|
|
501
501
|
}
|
|
502
502
|
}
|
|
503
|
-
export class
|
|
503
|
+
export class AvmContractDbCreateCheckpointHint extends AvmCheckpointActionNoStateChangeHint {
|
|
504
504
|
}
|
|
505
|
-
export class
|
|
505
|
+
export class AvmContractDbCommitCheckpointHint extends AvmCheckpointActionNoStateChangeHint {
|
|
506
506
|
}
|
|
507
|
-
export class
|
|
507
|
+
export class AvmContractDbRevertCheckpointHint extends AvmCheckpointActionNoStateChangeHint {
|
|
508
508
|
}
|
|
509
509
|
////////////////////////////////////////////////////////////////////////////
|
|
510
510
|
// Hints (other)
|
|
@@ -621,9 +621,9 @@ export class AvmExecutionHints {
|
|
|
621
621
|
contractClasses;
|
|
622
622
|
bytecodeCommitments;
|
|
623
623
|
debugFunctionNames;
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
624
|
+
contractDbCreateCheckpointHints;
|
|
625
|
+
contractDbCommitCheckpointHints;
|
|
626
|
+
contractDbRevertCheckpointHints;
|
|
627
627
|
startingTreeRoots;
|
|
628
628
|
getSiblingPathHints;
|
|
629
629
|
getPreviousValueIndexHints;
|
|
@@ -638,7 +638,7 @@ export class AvmExecutionHints {
|
|
|
638
638
|
revertCheckpointHints;
|
|
639
639
|
constructor(globalVariables, tx, // Protocol contracts.
|
|
640
640
|
protocolContracts, // Contract hints.
|
|
641
|
-
contractInstances = [], contractClasses = [], bytecodeCommitments = [], debugFunctionNames = [],
|
|
641
|
+
contractInstances = [], contractClasses = [], bytecodeCommitments = [], debugFunctionNames = [], contractDbCreateCheckpointHints = [], contractDbCommitCheckpointHints = [], contractDbRevertCheckpointHints = [], // Merkle DB hints.
|
|
642
642
|
startingTreeRoots = TreeSnapshots.empty(), getSiblingPathHints = [], getPreviousValueIndexHints = [], getLeafPreimageHintsPublicDataTree = [], getLeafPreimageHintsNullifierTree = [], getLeafValueHints = [], sequentialInsertHintsPublicDataTree = [], sequentialInsertHintsNullifierTree = [], appendLeavesHints = [], createCheckpointHints = [], commitCheckpointHints = [], revertCheckpointHints = []){
|
|
643
643
|
this.globalVariables = globalVariables;
|
|
644
644
|
this.tx = tx;
|
|
@@ -647,9 +647,9 @@ export class AvmExecutionHints {
|
|
|
647
647
|
this.contractClasses = contractClasses;
|
|
648
648
|
this.bytecodeCommitments = bytecodeCommitments;
|
|
649
649
|
this.debugFunctionNames = debugFunctionNames;
|
|
650
|
-
this.
|
|
651
|
-
this.
|
|
652
|
-
this.
|
|
650
|
+
this.contractDbCreateCheckpointHints = contractDbCreateCheckpointHints;
|
|
651
|
+
this.contractDbCommitCheckpointHints = contractDbCommitCheckpointHints;
|
|
652
|
+
this.contractDbRevertCheckpointHints = contractDbRevertCheckpointHints;
|
|
653
653
|
this.startingTreeRoots = startingTreeRoots;
|
|
654
654
|
this.getSiblingPathHints = getSiblingPathHints;
|
|
655
655
|
this.getPreviousValueIndexHints = getPreviousValueIndexHints;
|
|
@@ -673,7 +673,7 @@ export class AvmExecutionHints {
|
|
|
673
673
|
if (obj instanceof AvmExecutionHints) {
|
|
674
674
|
return obj;
|
|
675
675
|
}
|
|
676
|
-
return new AvmExecutionHints(GlobalVariables.fromPlainObject(obj.globalVariables), AvmTxHint.fromPlainObject(obj.tx), ProtocolContracts.fromPlainObject(obj.protocolContracts), obj.contractInstances?.map((i)=>AvmContractInstanceHint.fromPlainObject(i)) || [], obj.contractClasses?.map((c)=>AvmContractClassHint.fromPlainObject(c)) || [], obj.bytecodeCommitments?.map((b)=>AvmBytecodeCommitmentHint.fromPlainObject(b)) || [], obj.debugFunctionNames?.map((d)=>AvmDebugFunctionNameHint.fromPlainObject(d)) || [], obj.
|
|
676
|
+
return new AvmExecutionHints(GlobalVariables.fromPlainObject(obj.globalVariables), AvmTxHint.fromPlainObject(obj.tx), ProtocolContracts.fromPlainObject(obj.protocolContracts), obj.contractInstances?.map((i)=>AvmContractInstanceHint.fromPlainObject(i)) || [], obj.contractClasses?.map((c)=>AvmContractClassHint.fromPlainObject(c)) || [], obj.bytecodeCommitments?.map((b)=>AvmBytecodeCommitmentHint.fromPlainObject(b)) || [], obj.debugFunctionNames?.map((d)=>AvmDebugFunctionNameHint.fromPlainObject(d)) || [], obj.contractDbCreateCheckpointHints?.map((h)=>AvmContractDbCreateCheckpointHint.fromPlainObject(h)) || [], obj.contractDbCommitCheckpointHints?.map((h)=>AvmContractDbCommitCheckpointHint.fromPlainObject(h)) || [], obj.contractDbRevertCheckpointHints?.map((h)=>AvmContractDbRevertCheckpointHint.fromPlainObject(h)) || [], obj.startingTreeRoots ? TreeSnapshots.fromPlainObject(obj.startingTreeRoots) : TreeSnapshots.empty(), obj.getSiblingPathHints?.map((h)=>AvmGetSiblingPathHint.fromPlainObject(h)) || [], obj.getPreviousValueIndexHints?.map((h)=>AvmGetPreviousValueIndexHint.fromPlainObject(h)) || [], obj.getLeafPreimageHintsPublicDataTree?.map((h)=>AvmGetLeafPreimageHintPublicDataTree.fromPlainObject(h)) || [], obj.getLeafPreimageHintsNullifierTree?.map((h)=>AvmGetLeafPreimageHintNullifierTree.fromPlainObject(h)) || [], obj.getLeafValueHints?.map((h)=>AvmGetLeafValueHint.fromPlainObject(h)) || [], obj.sequentialInsertHintsPublicDataTree?.map((h)=>AvmSequentialInsertHintPublicDataTree.fromPlainObject(h)) || [], obj.sequentialInsertHintsNullifierTree?.map((h)=>AvmSequentialInsertHintNullifierTree.fromPlainObject(h)) || [], obj.appendLeavesHints?.map((h)=>AvmAppendLeavesHint.fromPlainObject(h)) || [], obj.createCheckpointHints?.map((h)=>AvmCreateCheckpointHint.fromPlainObject(h)) || [], obj.commitCheckpointHints?.map((h)=>AvmCommitCheckpointHint.fromPlainObject(h)) || [], obj.revertCheckpointHints?.map((h)=>AvmRevertCheckpointHint.fromPlainObject(h)) || []);
|
|
677
677
|
}
|
|
678
678
|
static empty() {
|
|
679
679
|
return new AvmExecutionHints(GlobalVariables.empty(), AvmTxHint.empty(), ProtocolContracts.empty());
|
|
@@ -687,9 +687,9 @@ export class AvmExecutionHints {
|
|
|
687
687
|
contractClasses: AvmContractClassHint.schema.array(),
|
|
688
688
|
bytecodeCommitments: AvmBytecodeCommitmentHint.schema.array(),
|
|
689
689
|
debugFunctionNames: AvmDebugFunctionNameHint.schema.array(),
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
690
|
+
contractDbCreateCheckpointHints: AvmContractDbCreateCheckpointHint.schema.array(),
|
|
691
|
+
contractDbCommitCheckpointHints: AvmContractDbCommitCheckpointHint.schema.array(),
|
|
692
|
+
contractDbRevertCheckpointHints: AvmContractDbRevertCheckpointHint.schema.array(),
|
|
693
693
|
startingTreeRoots: TreeSnapshots.schema,
|
|
694
694
|
getSiblingPathHints: AvmGetSiblingPathHint.schema.array(),
|
|
695
695
|
getPreviousValueIndexHints: AvmGetPreviousValueIndexHint.schema.array(),
|
|
@@ -702,7 +702,7 @@ export class AvmExecutionHints {
|
|
|
702
702
|
createCheckpointHints: AvmCreateCheckpointHint.schema.array(),
|
|
703
703
|
commitCheckpointHints: AvmCommitCheckpointHint.schema.array(),
|
|
704
704
|
revertCheckpointHints: AvmRevertCheckpointHint.schema.array()
|
|
705
|
-
}).transform(({ globalVariables, tx, protocolContracts, contractInstances, contractClasses, bytecodeCommitments, debugFunctionNames,
|
|
705
|
+
}).transform(({ globalVariables, tx, protocolContracts, contractInstances, contractClasses, bytecodeCommitments, debugFunctionNames, contractDbCreateCheckpointHints, contractDbCommitCheckpointHints, contractDbRevertCheckpointHints, startingTreeRoots, getSiblingPathHints, getPreviousValueIndexHints, getLeafPreimageHintsPublicDataTree, getLeafPreimageHintsNullifierTree, getLeafValueHints, sequentialInsertHintsPublicDataTree, sequentialInsertHintsNullifierTree, appendLeavesHints, createCheckpointHints, commitCheckpointHints, revertCheckpointHints })=>new AvmExecutionHints(globalVariables, tx, protocolContracts, contractInstances, contractClasses, bytecodeCommitments, debugFunctionNames, contractDbCreateCheckpointHints, contractDbCommitCheckpointHints, contractDbRevertCheckpointHints, startingTreeRoots, getSiblingPathHints, getPreviousValueIndexHints, getLeafPreimageHintsPublicDataTree, getLeafPreimageHintsNullifierTree, getLeafValueHints, sequentialInsertHintsPublicDataTree, sequentialInsertHintsNullifierTree, appendLeavesHints, createCheckpointHints, commitCheckpointHints, revertCheckpointHints));
|
|
706
706
|
}
|
|
707
707
|
}
|
|
708
708
|
export class AvmCircuitInputs {
|
|
@@ -743,7 +743,7 @@ export declare const AvmProvingRequestSchema: z.ZodObject<{
|
|
|
743
743
|
selector?: any;
|
|
744
744
|
address?: any;
|
|
745
745
|
}>, "many">;
|
|
746
|
-
|
|
746
|
+
contractDbCreateCheckpointHints: z.ZodArray<z.ZodEffects<z.ZodObject<{
|
|
747
747
|
actionCounter: z.ZodNumber;
|
|
748
748
|
oldCheckpointId: z.ZodNumber;
|
|
749
749
|
newCheckpointId: z.ZodNumber;
|
|
@@ -764,7 +764,7 @@ export declare const AvmProvingRequestSchema: z.ZodObject<{
|
|
|
764
764
|
oldCheckpointId: number;
|
|
765
765
|
newCheckpointId: number;
|
|
766
766
|
}>, "many">;
|
|
767
|
-
|
|
767
|
+
contractDbCommitCheckpointHints: z.ZodArray<z.ZodEffects<z.ZodObject<{
|
|
768
768
|
actionCounter: z.ZodNumber;
|
|
769
769
|
oldCheckpointId: z.ZodNumber;
|
|
770
770
|
newCheckpointId: z.ZodNumber;
|
|
@@ -785,7 +785,7 @@ export declare const AvmProvingRequestSchema: z.ZodObject<{
|
|
|
785
785
|
oldCheckpointId: number;
|
|
786
786
|
newCheckpointId: number;
|
|
787
787
|
}>, "many">;
|
|
788
|
-
|
|
788
|
+
contractDbRevertCheckpointHints: z.ZodArray<z.ZodEffects<z.ZodObject<{
|
|
789
789
|
actionCounter: z.ZodNumber;
|
|
790
790
|
oldCheckpointId: z.ZodNumber;
|
|
791
791
|
newCheckpointId: z.ZodNumber;
|
|
@@ -2378,17 +2378,17 @@ export declare const AvmProvingRequestSchema: z.ZodObject<{
|
|
|
2378
2378
|
contractClasses: import("./avm.js").AvmContractClassHint[];
|
|
2379
2379
|
bytecodeCommitments: import("./avm.js").AvmBytecodeCommitmentHint[];
|
|
2380
2380
|
debugFunctionNames: import("./avm.js").AvmDebugFunctionNameHint[];
|
|
2381
|
-
|
|
2381
|
+
contractDbCreateCheckpointHints: {
|
|
2382
2382
|
readonly actionCounter: number;
|
|
2383
2383
|
readonly oldCheckpointId: number;
|
|
2384
2384
|
readonly newCheckpointId: number;
|
|
2385
2385
|
}[];
|
|
2386
|
-
|
|
2386
|
+
contractDbCommitCheckpointHints: {
|
|
2387
2387
|
readonly actionCounter: number;
|
|
2388
2388
|
readonly oldCheckpointId: number;
|
|
2389
2389
|
readonly newCheckpointId: number;
|
|
2390
2390
|
}[];
|
|
2391
|
-
|
|
2391
|
+
contractDbRevertCheckpointHints: {
|
|
2392
2392
|
readonly actionCounter: number;
|
|
2393
2393
|
readonly oldCheckpointId: number;
|
|
2394
2394
|
readonly newCheckpointId: number;
|
|
@@ -2581,17 +2581,17 @@ export declare const AvmProvingRequestSchema: z.ZodObject<{
|
|
|
2581
2581
|
selector?: any;
|
|
2582
2582
|
address?: any;
|
|
2583
2583
|
}[];
|
|
2584
|
-
|
|
2584
|
+
contractDbCreateCheckpointHints: {
|
|
2585
2585
|
actionCounter: number;
|
|
2586
2586
|
oldCheckpointId: number;
|
|
2587
2587
|
newCheckpointId: number;
|
|
2588
2588
|
}[];
|
|
2589
|
-
|
|
2589
|
+
contractDbCommitCheckpointHints: {
|
|
2590
2590
|
actionCounter: number;
|
|
2591
2591
|
oldCheckpointId: number;
|
|
2592
2592
|
newCheckpointId: number;
|
|
2593
2593
|
}[];
|
|
2594
|
-
|
|
2594
|
+
contractDbRevertCheckpointHints: {
|
|
2595
2595
|
actionCounter: number;
|
|
2596
2596
|
oldCheckpointId: number;
|
|
2597
2597
|
newCheckpointId: number;
|
|
@@ -2983,17 +2983,17 @@ export declare const AvmProvingRequestSchema: z.ZodObject<{
|
|
|
2983
2983
|
selector?: any;
|
|
2984
2984
|
address?: any;
|
|
2985
2985
|
}[];
|
|
2986
|
-
|
|
2986
|
+
contractDbCreateCheckpointHints: {
|
|
2987
2987
|
actionCounter: number;
|
|
2988
2988
|
oldCheckpointId: number;
|
|
2989
2989
|
newCheckpointId: number;
|
|
2990
2990
|
}[];
|
|
2991
|
-
|
|
2991
|
+
contractDbCommitCheckpointHints: {
|
|
2992
2992
|
actionCounter: number;
|
|
2993
2993
|
oldCheckpointId: number;
|
|
2994
2994
|
newCheckpointId: number;
|
|
2995
2995
|
}[];
|
|
2996
|
-
|
|
2996
|
+
contractDbRevertCheckpointHints: {
|
|
2997
2997
|
actionCounter: number;
|
|
2998
2998
|
oldCheckpointId: number;
|
|
2999
2999
|
newCheckpointId: number;
|
|
@@ -4632,17 +4632,17 @@ export declare const AvmProvingRequestSchema: z.ZodObject<{
|
|
|
4632
4632
|
selector?: any;
|
|
4633
4633
|
address?: any;
|
|
4634
4634
|
}[];
|
|
4635
|
-
|
|
4635
|
+
contractDbCreateCheckpointHints: {
|
|
4636
4636
|
actionCounter: number;
|
|
4637
4637
|
oldCheckpointId: number;
|
|
4638
4638
|
newCheckpointId: number;
|
|
4639
4639
|
}[];
|
|
4640
|
-
|
|
4640
|
+
contractDbCommitCheckpointHints: {
|
|
4641
4641
|
actionCounter: number;
|
|
4642
4642
|
oldCheckpointId: number;
|
|
4643
4643
|
newCheckpointId: number;
|
|
4644
4644
|
}[];
|
|
4645
|
-
|
|
4645
|
+
contractDbRevertCheckpointHints: {
|
|
4646
4646
|
actionCounter: number;
|
|
4647
4647
|
oldCheckpointId: number;
|
|
4648
4648
|
newCheckpointId: number;
|
|
@@ -5201,17 +5201,17 @@ export declare const AvmProvingRequestSchema: z.ZodObject<{
|
|
|
5201
5201
|
selector?: any;
|
|
5202
5202
|
address?: any;
|
|
5203
5203
|
}[];
|
|
5204
|
-
|
|
5204
|
+
contractDbCreateCheckpointHints: {
|
|
5205
5205
|
actionCounter: number;
|
|
5206
5206
|
oldCheckpointId: number;
|
|
5207
5207
|
newCheckpointId: number;
|
|
5208
5208
|
}[];
|
|
5209
|
-
|
|
5209
|
+
contractDbCommitCheckpointHints: {
|
|
5210
5210
|
actionCounter: number;
|
|
5211
5211
|
oldCheckpointId: number;
|
|
5212
5212
|
newCheckpointId: number;
|
|
5213
5213
|
}[];
|
|
5214
|
-
|
|
5214
|
+
contractDbRevertCheckpointHints: {
|
|
5215
5215
|
actionCounter: number;
|
|
5216
5216
|
oldCheckpointId: number;
|
|
5217
5217
|
newCheckpointId: number;
|
|
@@ -5776,17 +5776,17 @@ export declare const AvmProvingRequestSchema: z.ZodObject<{
|
|
|
5776
5776
|
selector?: any;
|
|
5777
5777
|
address?: any;
|
|
5778
5778
|
}[];
|
|
5779
|
-
|
|
5779
|
+
contractDbCreateCheckpointHints: {
|
|
5780
5780
|
actionCounter: number;
|
|
5781
5781
|
oldCheckpointId: number;
|
|
5782
5782
|
newCheckpointId: number;
|
|
5783
5783
|
}[];
|
|
5784
|
-
|
|
5784
|
+
contractDbCommitCheckpointHints: {
|
|
5785
5785
|
actionCounter: number;
|
|
5786
5786
|
oldCheckpointId: number;
|
|
5787
5787
|
newCheckpointId: number;
|
|
5788
5788
|
}[];
|
|
5789
|
-
|
|
5789
|
+
contractDbRevertCheckpointHints: {
|
|
5790
5790
|
actionCounter: number;
|
|
5791
5791
|
oldCheckpointId: number;
|
|
5792
5792
|
newCheckpointId: number;
|
|
@@ -774,7 +774,7 @@ export declare const ProvingJobInputs: z.ZodDiscriminatedUnion<"type", [z.ZodObj
|
|
|
774
774
|
selector?: any;
|
|
775
775
|
address?: any;
|
|
776
776
|
}>, "many">;
|
|
777
|
-
|
|
777
|
+
contractDbCreateCheckpointHints: z.ZodArray<z.ZodEffects<z.ZodObject<{
|
|
778
778
|
actionCounter: z.ZodNumber;
|
|
779
779
|
oldCheckpointId: z.ZodNumber;
|
|
780
780
|
newCheckpointId: z.ZodNumber;
|
|
@@ -795,7 +795,7 @@ export declare const ProvingJobInputs: z.ZodDiscriminatedUnion<"type", [z.ZodObj
|
|
|
795
795
|
oldCheckpointId: number;
|
|
796
796
|
newCheckpointId: number;
|
|
797
797
|
}>, "many">;
|
|
798
|
-
|
|
798
|
+
contractDbCommitCheckpointHints: z.ZodArray<z.ZodEffects<z.ZodObject<{
|
|
799
799
|
actionCounter: z.ZodNumber;
|
|
800
800
|
oldCheckpointId: z.ZodNumber;
|
|
801
801
|
newCheckpointId: z.ZodNumber;
|
|
@@ -816,7 +816,7 @@ export declare const ProvingJobInputs: z.ZodDiscriminatedUnion<"type", [z.ZodObj
|
|
|
816
816
|
oldCheckpointId: number;
|
|
817
817
|
newCheckpointId: number;
|
|
818
818
|
}>, "many">;
|
|
819
|
-
|
|
819
|
+
contractDbRevertCheckpointHints: z.ZodArray<z.ZodEffects<z.ZodObject<{
|
|
820
820
|
actionCounter: z.ZodNumber;
|
|
821
821
|
oldCheckpointId: z.ZodNumber;
|
|
822
822
|
newCheckpointId: z.ZodNumber;
|
|
@@ -2409,17 +2409,17 @@ export declare const ProvingJobInputs: z.ZodDiscriminatedUnion<"type", [z.ZodObj
|
|
|
2409
2409
|
contractClasses: import("../avm/avm.js").AvmContractClassHint[];
|
|
2410
2410
|
bytecodeCommitments: import("../avm/avm.js").AvmBytecodeCommitmentHint[];
|
|
2411
2411
|
debugFunctionNames: import("../avm/avm.js").AvmDebugFunctionNameHint[];
|
|
2412
|
-
|
|
2412
|
+
contractDbCreateCheckpointHints: {
|
|
2413
2413
|
readonly actionCounter: number;
|
|
2414
2414
|
readonly oldCheckpointId: number;
|
|
2415
2415
|
readonly newCheckpointId: number;
|
|
2416
2416
|
}[];
|
|
2417
|
-
|
|
2417
|
+
contractDbCommitCheckpointHints: {
|
|
2418
2418
|
readonly actionCounter: number;
|
|
2419
2419
|
readonly oldCheckpointId: number;
|
|
2420
2420
|
readonly newCheckpointId: number;
|
|
2421
2421
|
}[];
|
|
2422
|
-
|
|
2422
|
+
contractDbRevertCheckpointHints: {
|
|
2423
2423
|
readonly actionCounter: number;
|
|
2424
2424
|
readonly oldCheckpointId: number;
|
|
2425
2425
|
readonly newCheckpointId: number;
|
|
@@ -2612,17 +2612,17 @@ export declare const ProvingJobInputs: z.ZodDiscriminatedUnion<"type", [z.ZodObj
|
|
|
2612
2612
|
selector?: any;
|
|
2613
2613
|
address?: any;
|
|
2614
2614
|
}[];
|
|
2615
|
-
|
|
2615
|
+
contractDbCreateCheckpointHints: {
|
|
2616
2616
|
actionCounter: number;
|
|
2617
2617
|
oldCheckpointId: number;
|
|
2618
2618
|
newCheckpointId: number;
|
|
2619
2619
|
}[];
|
|
2620
|
-
|
|
2620
|
+
contractDbCommitCheckpointHints: {
|
|
2621
2621
|
actionCounter: number;
|
|
2622
2622
|
oldCheckpointId: number;
|
|
2623
2623
|
newCheckpointId: number;
|
|
2624
2624
|
}[];
|
|
2625
|
-
|
|
2625
|
+
contractDbRevertCheckpointHints: {
|
|
2626
2626
|
actionCounter: number;
|
|
2627
2627
|
oldCheckpointId: number;
|
|
2628
2628
|
newCheckpointId: number;
|
|
@@ -3014,17 +3014,17 @@ export declare const ProvingJobInputs: z.ZodDiscriminatedUnion<"type", [z.ZodObj
|
|
|
3014
3014
|
selector?: any;
|
|
3015
3015
|
address?: any;
|
|
3016
3016
|
}[];
|
|
3017
|
-
|
|
3017
|
+
contractDbCreateCheckpointHints: {
|
|
3018
3018
|
actionCounter: number;
|
|
3019
3019
|
oldCheckpointId: number;
|
|
3020
3020
|
newCheckpointId: number;
|
|
3021
3021
|
}[];
|
|
3022
|
-
|
|
3022
|
+
contractDbCommitCheckpointHints: {
|
|
3023
3023
|
actionCounter: number;
|
|
3024
3024
|
oldCheckpointId: number;
|
|
3025
3025
|
newCheckpointId: number;
|
|
3026
3026
|
}[];
|
|
3027
|
-
|
|
3027
|
+
contractDbRevertCheckpointHints: {
|
|
3028
3028
|
actionCounter: number;
|
|
3029
3029
|
oldCheckpointId: number;
|
|
3030
3030
|
newCheckpointId: number;
|
|
@@ -4663,17 +4663,17 @@ export declare const ProvingJobInputs: z.ZodDiscriminatedUnion<"type", [z.ZodObj
|
|
|
4663
4663
|
selector?: any;
|
|
4664
4664
|
address?: any;
|
|
4665
4665
|
}[];
|
|
4666
|
-
|
|
4666
|
+
contractDbCreateCheckpointHints: {
|
|
4667
4667
|
actionCounter: number;
|
|
4668
4668
|
oldCheckpointId: number;
|
|
4669
4669
|
newCheckpointId: number;
|
|
4670
4670
|
}[];
|
|
4671
|
-
|
|
4671
|
+
contractDbCommitCheckpointHints: {
|
|
4672
4672
|
actionCounter: number;
|
|
4673
4673
|
oldCheckpointId: number;
|
|
4674
4674
|
newCheckpointId: number;
|
|
4675
4675
|
}[];
|
|
4676
|
-
|
|
4676
|
+
contractDbRevertCheckpointHints: {
|
|
4677
4677
|
actionCounter: number;
|
|
4678
4678
|
oldCheckpointId: number;
|
|
4679
4679
|
newCheckpointId: number;
|
|
@@ -5232,17 +5232,17 @@ export declare const ProvingJobInputs: z.ZodDiscriminatedUnion<"type", [z.ZodObj
|
|
|
5232
5232
|
selector?: any;
|
|
5233
5233
|
address?: any;
|
|
5234
5234
|
}[];
|
|
5235
|
-
|
|
5235
|
+
contractDbCreateCheckpointHints: {
|
|
5236
5236
|
actionCounter: number;
|
|
5237
5237
|
oldCheckpointId: number;
|
|
5238
5238
|
newCheckpointId: number;
|
|
5239
5239
|
}[];
|
|
5240
|
-
|
|
5240
|
+
contractDbCommitCheckpointHints: {
|
|
5241
5241
|
actionCounter: number;
|
|
5242
5242
|
oldCheckpointId: number;
|
|
5243
5243
|
newCheckpointId: number;
|
|
5244
5244
|
}[];
|
|
5245
|
-
|
|
5245
|
+
contractDbRevertCheckpointHints: {
|
|
5246
5246
|
actionCounter: number;
|
|
5247
5247
|
oldCheckpointId: number;
|
|
5248
5248
|
newCheckpointId: number;
|
|
@@ -5807,17 +5807,17 @@ export declare const ProvingJobInputs: z.ZodDiscriminatedUnion<"type", [z.ZodObj
|
|
|
5807
5807
|
selector?: any;
|
|
5808
5808
|
address?: any;
|
|
5809
5809
|
}[];
|
|
5810
|
-
|
|
5810
|
+
contractDbCreateCheckpointHints: {
|
|
5811
5811
|
actionCounter: number;
|
|
5812
5812
|
oldCheckpointId: number;
|
|
5813
5813
|
newCheckpointId: number;
|
|
5814
5814
|
}[];
|
|
5815
|
-
|
|
5815
|
+
contractDbCommitCheckpointHints: {
|
|
5816
5816
|
actionCounter: number;
|
|
5817
5817
|
oldCheckpointId: number;
|
|
5818
5818
|
newCheckpointId: number;
|
|
5819
5819
|
}[];
|
|
5820
|
-
|
|
5820
|
+
contractDbRevertCheckpointHints: {
|
|
5821
5821
|
actionCounter: number;
|
|
5822
5822
|
oldCheckpointId: number;
|
|
5823
5823
|
newCheckpointId: number;
|
|
@@ -7,7 +7,7 @@ import { MembershipWitness } from '@aztec/foundation/trees';
|
|
|
7
7
|
import { FunctionSelector } from '../abi/function_selector.js';
|
|
8
8
|
import { ContractStorageRead } from '../avm/contract_storage_read.js';
|
|
9
9
|
import { ContractStorageUpdateRequest } from '../avm/contract_storage_update_request.js';
|
|
10
|
-
import { AvmAppendLeavesHint, AvmBytecodeCommitmentHint, AvmCircuitInputs, AvmCommitCheckpointHint, AvmContractClassHint,
|
|
10
|
+
import { AvmAppendLeavesHint, AvmBytecodeCommitmentHint, AvmCircuitInputs, AvmCommitCheckpointHint, AvmContractClassHint, AvmContractDbCommitCheckpointHint, AvmContractDbCreateCheckpointHint, AvmContractDbRevertCheckpointHint, AvmContractInstanceHint, AvmCreateCheckpointHint, AvmDebugFunctionNameHint, AvmExecutionHints, AvmGetLeafPreimageHintNullifierTree, AvmGetLeafPreimageHintPublicDataTree, AvmGetLeafValueHint, AvmGetPreviousValueIndexHint, AvmGetSiblingPathHint, AvmRevertCheckpointHint, AvmSequentialInsertHintNullifierTree, AvmSequentialInsertHintPublicDataTree, AvmTxHint } from '../avm/index.js';
|
|
11
11
|
import { PublicDataRead } from '../avm/public_data_read.js';
|
|
12
12
|
import { PublicDataWrite } from '../avm/public_data_write.js';
|
|
13
13
|
import { AztecAddress } from '../aztec-address/index.js';
|
|
@@ -338,9 +338,9 @@ export declare function makeAvmAppendLeavesHint(seed?: number): AvmAppendLeavesH
|
|
|
338
338
|
export declare function makeAvmCheckpointActionCreateCheckpointHint(seed?: number): AvmCreateCheckpointHint;
|
|
339
339
|
export declare function makeAvmCheckpointActionCommitCheckpointHint(seed?: number): AvmCommitCheckpointHint;
|
|
340
340
|
export declare function makeAvmCheckpointActionRevertCheckpointHint(seed?: number): AvmRevertCheckpointHint;
|
|
341
|
-
export declare function
|
|
342
|
-
export declare function
|
|
343
|
-
export declare function
|
|
341
|
+
export declare function makeAvmContractDbCheckpointActionCreateCheckpointHint(seed?: number): AvmContractDbCreateCheckpointHint;
|
|
342
|
+
export declare function makeAvmContractDbCheckpointActionCommitCheckpointHint(seed?: number): AvmContractDbCommitCheckpointHint;
|
|
343
|
+
export declare function makeAvmContractDbCheckpointActionRevertCheckpointHint(seed?: number): AvmContractDbRevertCheckpointHint;
|
|
344
344
|
/**
|
|
345
345
|
* Makes arbitrary AvmContractInstanceHint.
|
|
346
346
|
* @param seed - The seed to use for generating the state reference.
|
package/dest/tests/factories.js
CHANGED
|
@@ -9,7 +9,7 @@ import { MembershipWitness } from '@aztec/foundation/trees';
|
|
|
9
9
|
import { FunctionSelector } from '../abi/function_selector.js';
|
|
10
10
|
import { ContractStorageRead } from '../avm/contract_storage_read.js';
|
|
11
11
|
import { ContractStorageUpdateRequest } from '../avm/contract_storage_update_request.js';
|
|
12
|
-
import { AvmAccumulatedData, AvmAccumulatedDataArrayLengths, AvmAppendLeavesHint, AvmBytecodeCommitmentHint, AvmCircuitInputs, AvmCircuitPublicInputs, AvmCommitCheckpointHint, AvmContractClassHint,
|
|
12
|
+
import { AvmAccumulatedData, AvmAccumulatedDataArrayLengths, AvmAppendLeavesHint, AvmBytecodeCommitmentHint, AvmCircuitInputs, AvmCircuitPublicInputs, AvmCommitCheckpointHint, AvmContractClassHint, AvmContractDbCommitCheckpointHint, AvmContractDbCreateCheckpointHint, AvmContractDbRevertCheckpointHint, AvmContractInstanceHint, AvmCreateCheckpointHint, AvmDebugFunctionNameHint, AvmExecutionHints, AvmGetLeafPreimageHintNullifierTree, AvmGetLeafPreimageHintPublicDataTree, AvmGetLeafValueHint, AvmGetPreviousValueIndexHint, AvmGetSiblingPathHint, AvmRevertCheckpointHint, AvmSequentialInsertHintNullifierTree, AvmSequentialInsertHintPublicDataTree, AvmTxHint } from '../avm/index.js';
|
|
13
13
|
import { PublicDataRead } from '../avm/public_data_read.js';
|
|
14
14
|
import { PublicDataWrite } from '../avm/public_data_write.js';
|
|
15
15
|
import { AztecAddress } from '../aztec-address/index.js';
|
|
@@ -812,14 +812,14 @@ export function makeAvmCheckpointActionCommitCheckpointHint(seed = 0) {
|
|
|
812
812
|
export function makeAvmCheckpointActionRevertCheckpointHint(seed = 0) {
|
|
813
813
|
return new AvmRevertCheckpointHint(/*actionCounter=*/ seed, /*oldCheckpointId=*/ seed + 1, /*newCheckpointId=*/ seed + 2, /*beforeState=*/ makeTreeSnapshots(seed + 3), /*afterState=*/ makeTreeSnapshots(seed + 7));
|
|
814
814
|
}
|
|
815
|
-
export function
|
|
816
|
-
return new
|
|
815
|
+
export function makeAvmContractDbCheckpointActionCreateCheckpointHint(seed = 0) {
|
|
816
|
+
return new AvmContractDbCreateCheckpointHint(/*actionCounter=*/ seed, /*oldCheckpointId=*/ seed + 1, /*newCheckpointId=*/ seed + 2);
|
|
817
817
|
}
|
|
818
|
-
export function
|
|
819
|
-
return new
|
|
818
|
+
export function makeAvmContractDbCheckpointActionCommitCheckpointHint(seed = 0) {
|
|
819
|
+
return new AvmContractDbCommitCheckpointHint(/*actionCounter=*/ seed, /*oldCheckpointId=*/ seed + 1, /*newCheckpointId=*/ seed + 2);
|
|
820
820
|
}
|
|
821
|
-
export function
|
|
822
|
-
return new
|
|
821
|
+
export function makeAvmContractDbCheckpointActionRevertCheckpointHint(seed = 0) {
|
|
822
|
+
return new AvmContractDbRevertCheckpointHint(/*actionCounter=*/ seed, /*oldCheckpointId=*/ seed + 1, /*newCheckpointId=*/ seed + 2);
|
|
823
823
|
}
|
|
824
824
|
/**
|
|
825
825
|
* Makes arbitrary AvmContractInstanceHint.
|
|
@@ -888,9 +888,9 @@ export async function makeAvmTxHint(seed = 0) {
|
|
|
888
888
|
contractClasses: makeArray(baseLength + 5, makeAvmContractClassHint, seed + 0x4900),
|
|
889
889
|
bytecodeCommitments: await makeArrayAsync(baseLength + 5, makeAvmBytecodeCommitmentHint, seed + 0x4900),
|
|
890
890
|
debugFunctionNames: makeArray(baseLength + 5, makeAvmDebugFunctionNameHint, seed + 0x4a00),
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
891
|
+
contractDbCreateCheckpointHints: makeArray(baseLength + 5, makeAvmContractDbCheckpointActionCreateCheckpointHint, seed + 0x5900),
|
|
892
|
+
contractDbCommitCheckpointHints: makeArray(baseLength + 5, makeAvmContractDbCheckpointActionCommitCheckpointHint, seed + 0x5b00),
|
|
893
|
+
contractDbRevertCheckpointHints: makeArray(baseLength + 5, makeAvmContractDbCheckpointActionRevertCheckpointHint, seed + 0x5d00),
|
|
894
894
|
startingTreeRoots: makeTreeSnapshots(seed + 0x4900),
|
|
895
895
|
getSiblingPathHints: makeArray(baseLength + 5, makeAvmGetSiblingPathHint, seed + 0x4b00),
|
|
896
896
|
getPreviousValueIndexHints: makeArray(baseLength + 5, makeAvmGetPreviousValueIndexHint, seed + 0x4d00),
|
|
@@ -905,7 +905,7 @@ export async function makeAvmTxHint(seed = 0) {
|
|
|
905
905
|
revertCheckpointHints: makeArray(baseLength + 5, makeAvmCheckpointActionRevertCheckpointHint, seed + 0x5d00),
|
|
906
906
|
...overrides
|
|
907
907
|
};
|
|
908
|
-
return new AvmExecutionHints(fields.globalVariables, fields.tx, fields.protocolContracts, fields.contractInstances, fields.contractClasses, fields.bytecodeCommitments, fields.debugFunctionNames, fields.
|
|
908
|
+
return new AvmExecutionHints(fields.globalVariables, fields.tx, fields.protocolContracts, fields.contractInstances, fields.contractClasses, fields.bytecodeCommitments, fields.debugFunctionNames, fields.contractDbCreateCheckpointHints, fields.contractDbCommitCheckpointHints, fields.contractDbRevertCheckpointHints, fields.startingTreeRoots, fields.getSiblingPathHints, fields.getPreviousValueIndexHints, fields.getLeafPreimageHintPublicDataTree, fields.getLeafPreimageHintNullifierTree, fields.getLeafValueHints, fields.sequentialInsertHintsPublicDataTree, fields.sequentialInsertHintsNullifierTree, fields.appendLeavesHints, fields.createCheckpointHints, fields.commitCheckpointHints, fields.revertCheckpointHints);
|
|
909
909
|
}
|
|
910
910
|
/**
|
|
911
911
|
* Creates arbitrary AvmCircuitInputs.
|
|
@@ -82,6 +82,7 @@ export declare class VerificationKeyAsFields {
|
|
|
82
82
|
* @returns The VerificationKeyAsFields.
|
|
83
83
|
*/
|
|
84
84
|
static fromBuffer(buffer: Buffer | BufferReader): VerificationKeyAsFields;
|
|
85
|
+
static fromFrBuffer(vkBytes: Buffer): Promise<VerificationKeyAsFields>;
|
|
85
86
|
/**
|
|
86
87
|
* Builds a fake verification key that should be accepted by circuits.
|
|
87
88
|
* @returns A fake verification key.
|
|
@@ -165,6 +166,13 @@ export declare class VerificationKey {
|
|
|
165
166
|
* @returns A fake verification key.
|
|
166
167
|
*/
|
|
167
168
|
static makeFake(): VerificationKey;
|
|
169
|
+
/**
|
|
170
|
+
* Builds a fake MegaHonk verification key buffer for testing.
|
|
171
|
+
* Uses a real VK from a compiled contract to ensure proper format.
|
|
172
|
+
*
|
|
173
|
+
* @returns A valid MegaHonk VK buffer (4064 bytes)
|
|
174
|
+
*/
|
|
175
|
+
static makeFakeMegaHonk(): Buffer;
|
|
168
176
|
}
|
|
169
177
|
export declare class VerificationKeyData {
|
|
170
178
|
readonly keyAsFields: VerificationKeyAsFields;
|
|
@@ -183,6 +191,7 @@ export declare class VerificationKeyData {
|
|
|
183
191
|
toBuffer(): Buffer<ArrayBufferLike>;
|
|
184
192
|
toString(): `0x${string}`;
|
|
185
193
|
static fromBuffer(buffer: Buffer | BufferReader): VerificationKeyData;
|
|
194
|
+
static fromFrBuffer(vkBytes: Buffer): Promise<VerificationKeyData>;
|
|
186
195
|
static fromString(str: string): VerificationKeyData;
|
|
187
196
|
clone(): VerificationKeyData;
|
|
188
197
|
/** Returns a hex representation for JSON serialization. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verification_key.d.ts","sourceRoot":"","sources":["../../src/vks/verification_key.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAElD,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAI9E,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD;;GAEG;AACH,qBAAa,eAAe;IAC1B;;OAEG;IACI,CAAC,EAAE,EAAE,CAAC;IACb;;OAEG;IACI,CAAC,EAAE,EAAE,CAAC;gBAED,CAAC,EAAE,EAAE,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,GAAG,MAAM;IAI1C;;;OAGG;IACH,QAAQ;IAIR;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,eAAe;CAIlE;AAED;;;GAGG;AACH,qBAAa,aAAa;IAEtB;;OAEG;IACI,MAAM,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAAA;KAAE;;IAHlD;;OAEG;IACI,MAAM,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAAA;KAAE;IAGpD;;;OAGG;IACH,QAAQ;IAKR;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,aAAa;CAIhE;AAGD,eAAO,MAAM,kBAAkB,IAAI,CAAC;AACpC,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAE7C;;GAEG;AACH,qBAAa,uBAAuB;IAEzB,GAAG,EAAE,EAAE,EAAE;IACT,IAAI,EAAE,EAAE;gBADR,GAAG,EAAE,EAAE,EAAE,EACT,IAAI,EAAE,EAAE;WAGJ,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE;IAK9B,IAAW,eAAe,WAEzB;IAED,IAAW,WAAW,WAErB;IAED,MAAM,KAAK,MAAM,gEAGhB;IAED,MAAM;IAIN;;;OAGG;IACH,QAAQ;IAIR,QAAQ;IAIR;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,uBAAuB;IAKzE;;;OAGG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,SAAI,GAAG,uBAAuB;IAIhE,MAAM,CAAC,YAAY,CAAC,IAAI,SAAI,GAAG,uBAAuB;IAItD,MAAM,CAAC,kBAAkB,CAAC,IAAI,SAAI,GAAG,uBAAuB;IAO5D;;;OAGG;IACH,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,uBAAuB;CAGxD;AAED,qBAAa,eAAe;IAExB;;OAEG;IACI,WAAW,EAAE,WAAW;IAC/B;;OAEG;IACI,WAAW,EAAE,MAAM;IAC1B;;OAEG;IACI,eAAe,EAAE,MAAM;IAC9B;;OAEG;IACI,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC;IACnD;;OAEG;IACI,sBAAsB,EAAE,OAAO;IACtC;;OAEG;IACI,gCAAgC,EAAE,MAAM,EAAE;;IAvBjD;;OAEG;IACI,WAAW,EAAE,WAAW;IAC/B;;OAEG;IACI,WAAW,EAAE,MAAM;IAC1B;;OAEG;IACI,eAAe,EAAE,MAAM;IAC9B;;OAEG;IACI,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC;IACnD;;OAEG;IACI,sBAAsB,EAAE,OAAO;IACtC;;OAEG;IACI,gCAAgC,EAAE,MAAM,EAAE;IAGnD;;;OAGG;IACH,QAAQ;IAWR;;;OAGG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,eAAe;IAYjE;;;OAGG;IACH,MAAM,CAAC,cAAc,IAAI,eAAe;IAWxC;;;OAGG;IACH,MAAM,CAAC,QAAQ,IAAI,eAAe;
|
|
1
|
+
{"version":3,"file":"verification_key.d.ts","sourceRoot":"","sources":["../../src/vks/verification_key.ts"],"names":[],"mappings":"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"}
|
|
@@ -111,6 +111,12 @@ export const CIRCUIT_PUBLIC_INPUTS_INDEX = 1;
|
|
|
111
111
|
const reader = BufferReader.asReader(buffer);
|
|
112
112
|
return new VerificationKeyAsFields(reader.readVector(Fr), reader.readObject(Fr));
|
|
113
113
|
}
|
|
114
|
+
static fromFrBuffer(vkBytes) {
|
|
115
|
+
const numFields = vkBytes.length / Fr.SIZE_IN_BYTES;
|
|
116
|
+
const reader = BufferReader.asReader(vkBytes);
|
|
117
|
+
const fields = reader.readArray(numFields, Fr);
|
|
118
|
+
return VerificationKeyAsFields.fromKey(fields);
|
|
119
|
+
}
|
|
114
120
|
/**
|
|
115
121
|
* Builds a fake verification key that should be accepted by circuits.
|
|
116
122
|
* @returns A fake verification key.
|
|
@@ -182,6 +188,17 @@ export class VerificationKey {
|
|
|
182
188
|
*/ static makeFake() {
|
|
183
189
|
return new VerificationKey(CircuitType.ULTRA, 2048, 116, {}, false, times(16, (i)=>i));
|
|
184
190
|
}
|
|
191
|
+
/**
|
|
192
|
+
* Builds a fake MegaHonk verification key buffer for testing.
|
|
193
|
+
* Uses a real VK from a compiled contract to ensure proper format.
|
|
194
|
+
*
|
|
195
|
+
* @returns A valid MegaHonk VK buffer (4064 bytes)
|
|
196
|
+
*/ static makeFakeMegaHonk() {
|
|
197
|
+
// This is a real MegaFlavor VK from token_contract, base64-encoded
|
|
198
|
+
// Size: 4064 bytes (127 fields × 32 bytes)
|
|
199
|
+
const vk = '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';
|
|
200
|
+
return Buffer.from(vk, 'base64');
|
|
201
|
+
}
|
|
185
202
|
}
|
|
186
203
|
export class VerificationKeyData {
|
|
187
204
|
keyAsFields;
|
|
@@ -224,6 +241,9 @@ export class VerificationKeyData {
|
|
|
224
241
|
const bytes = reader.readBytes(length);
|
|
225
242
|
return new VerificationKeyData(verificationKeyAsFields, bytes);
|
|
226
243
|
}
|
|
244
|
+
static async fromFrBuffer(vkBytes) {
|
|
245
|
+
return new VerificationKeyData(await VerificationKeyAsFields.fromFrBuffer(vkBytes), vkBytes);
|
|
246
|
+
}
|
|
227
247
|
static fromString(str) {
|
|
228
248
|
return VerificationKeyData.fromBuffer(hexToBuffer(str));
|
|
229
249
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/stdlib",
|
|
3
|
-
"version": "3.0.0-nightly.
|
|
3
|
+
"version": "3.0.0-nightly.20251118",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"inherits": [
|
|
6
6
|
"../package.common.json",
|
|
@@ -72,13 +72,13 @@
|
|
|
72
72
|
},
|
|
73
73
|
"dependencies": {
|
|
74
74
|
"@aws-sdk/client-s3": "^3.892.0",
|
|
75
|
-
"@aztec/bb.js": "3.0.0-nightly.
|
|
76
|
-
"@aztec/blob-lib": "3.0.0-nightly.
|
|
77
|
-
"@aztec/constants": "3.0.0-nightly.
|
|
78
|
-
"@aztec/ethereum": "3.0.0-nightly.
|
|
79
|
-
"@aztec/foundation": "3.0.0-nightly.
|
|
80
|
-
"@aztec/l1-artifacts": "3.0.0-nightly.
|
|
81
|
-
"@aztec/noir-noirc_abi": "3.0.0-nightly.
|
|
75
|
+
"@aztec/bb.js": "3.0.0-nightly.20251118",
|
|
76
|
+
"@aztec/blob-lib": "3.0.0-nightly.20251118",
|
|
77
|
+
"@aztec/constants": "3.0.0-nightly.20251118",
|
|
78
|
+
"@aztec/ethereum": "3.0.0-nightly.20251118",
|
|
79
|
+
"@aztec/foundation": "3.0.0-nightly.20251118",
|
|
80
|
+
"@aztec/l1-artifacts": "3.0.0-nightly.20251118",
|
|
81
|
+
"@aztec/noir-noirc_abi": "3.0.0-nightly.20251118",
|
|
82
82
|
"@google-cloud/storage": "^7.15.0",
|
|
83
83
|
"axios": "^1.12.0",
|
|
84
84
|
"json-stringify-deterministic": "1.0.12",
|
package/src/avm/avm.ts
CHANGED
|
@@ -667,9 +667,9 @@ export class AvmRevertCheckpointHint {
|
|
|
667
667
|
}
|
|
668
668
|
}
|
|
669
669
|
|
|
670
|
-
export class
|
|
671
|
-
export class
|
|
672
|
-
export class
|
|
670
|
+
export class AvmContractDbCreateCheckpointHint extends AvmCheckpointActionNoStateChangeHint {}
|
|
671
|
+
export class AvmContractDbCommitCheckpointHint extends AvmCheckpointActionNoStateChangeHint {}
|
|
672
|
+
export class AvmContractDbRevertCheckpointHint extends AvmCheckpointActionNoStateChangeHint {}
|
|
673
673
|
|
|
674
674
|
////////////////////////////////////////////////////////////////////////////
|
|
675
675
|
// Hints (other)
|
|
@@ -859,9 +859,9 @@ export class AvmExecutionHints {
|
|
|
859
859
|
public readonly contractClasses: AvmContractClassHint[] = [],
|
|
860
860
|
public readonly bytecodeCommitments: AvmBytecodeCommitmentHint[] = [],
|
|
861
861
|
public readonly debugFunctionNames: AvmDebugFunctionNameHint[] = [],
|
|
862
|
-
public readonly
|
|
863
|
-
public readonly
|
|
864
|
-
public readonly
|
|
862
|
+
public readonly contractDbCreateCheckpointHints: AvmContractDbCreateCheckpointHint[] = [],
|
|
863
|
+
public readonly contractDbCommitCheckpointHints: AvmContractDbCommitCheckpointHint[] = [],
|
|
864
|
+
public readonly contractDbRevertCheckpointHints: AvmContractDbRevertCheckpointHint[] = [],
|
|
865
865
|
// Merkle DB hints.
|
|
866
866
|
public startingTreeRoots: TreeSnapshots = TreeSnapshots.empty(),
|
|
867
867
|
public readonly getSiblingPathHints: AvmGetSiblingPathHint[] = [],
|
|
@@ -896,9 +896,9 @@ export class AvmExecutionHints {
|
|
|
896
896
|
obj.contractClasses?.map((c: any) => AvmContractClassHint.fromPlainObject(c)) || [],
|
|
897
897
|
obj.bytecodeCommitments?.map((b: any) => AvmBytecodeCommitmentHint.fromPlainObject(b)) || [],
|
|
898
898
|
obj.debugFunctionNames?.map((d: any) => AvmDebugFunctionNameHint.fromPlainObject(d)) || [],
|
|
899
|
-
obj.
|
|
900
|
-
obj.
|
|
901
|
-
obj.
|
|
899
|
+
obj.contractDbCreateCheckpointHints?.map((h: any) => AvmContractDbCreateCheckpointHint.fromPlainObject(h)) || [],
|
|
900
|
+
obj.contractDbCommitCheckpointHints?.map((h: any) => AvmContractDbCommitCheckpointHint.fromPlainObject(h)) || [],
|
|
901
|
+
obj.contractDbRevertCheckpointHints?.map((h: any) => AvmContractDbRevertCheckpointHint.fromPlainObject(h)) || [],
|
|
902
902
|
obj.startingTreeRoots ? TreeSnapshots.fromPlainObject(obj.startingTreeRoots) : TreeSnapshots.empty(),
|
|
903
903
|
obj.getSiblingPathHints?.map((h: any) => AvmGetSiblingPathHint.fromPlainObject(h)) || [],
|
|
904
904
|
obj.getPreviousValueIndexHints?.map((h: any) => AvmGetPreviousValueIndexHint.fromPlainObject(h)) || [],
|
|
@@ -935,9 +935,9 @@ export class AvmExecutionHints {
|
|
|
935
935
|
contractClasses: AvmContractClassHint.schema.array(),
|
|
936
936
|
bytecodeCommitments: AvmBytecodeCommitmentHint.schema.array(),
|
|
937
937
|
debugFunctionNames: AvmDebugFunctionNameHint.schema.array(),
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
938
|
+
contractDbCreateCheckpointHints: AvmContractDbCreateCheckpointHint.schema.array(),
|
|
939
|
+
contractDbCommitCheckpointHints: AvmContractDbCommitCheckpointHint.schema.array(),
|
|
940
|
+
contractDbRevertCheckpointHints: AvmContractDbRevertCheckpointHint.schema.array(),
|
|
941
941
|
startingTreeRoots: TreeSnapshots.schema,
|
|
942
942
|
getSiblingPathHints: AvmGetSiblingPathHint.schema.array(),
|
|
943
943
|
getPreviousValueIndexHints: AvmGetPreviousValueIndexHint.schema.array(),
|
|
@@ -960,9 +960,9 @@ export class AvmExecutionHints {
|
|
|
960
960
|
contractClasses,
|
|
961
961
|
bytecodeCommitments,
|
|
962
962
|
debugFunctionNames,
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
963
|
+
contractDbCreateCheckpointHints,
|
|
964
|
+
contractDbCommitCheckpointHints,
|
|
965
|
+
contractDbRevertCheckpointHints,
|
|
966
966
|
startingTreeRoots,
|
|
967
967
|
getSiblingPathHints,
|
|
968
968
|
getPreviousValueIndexHints,
|
|
@@ -984,9 +984,9 @@ export class AvmExecutionHints {
|
|
|
984
984
|
contractClasses,
|
|
985
985
|
bytecodeCommitments,
|
|
986
986
|
debugFunctionNames,
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
987
|
+
contractDbCreateCheckpointHints,
|
|
988
|
+
contractDbCommitCheckpointHints,
|
|
989
|
+
contractDbRevertCheckpointHints,
|
|
990
990
|
startingTreeRoots,
|
|
991
991
|
getSiblingPathHints,
|
|
992
992
|
getPreviousValueIndexHints,
|
package/src/tests/factories.ts
CHANGED
|
@@ -57,9 +57,9 @@ import {
|
|
|
57
57
|
AvmCircuitPublicInputs,
|
|
58
58
|
AvmCommitCheckpointHint,
|
|
59
59
|
AvmContractClassHint,
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
60
|
+
AvmContractDbCommitCheckpointHint,
|
|
61
|
+
AvmContractDbCreateCheckpointHint,
|
|
62
|
+
AvmContractDbRevertCheckpointHint,
|
|
63
63
|
AvmContractInstanceHint,
|
|
64
64
|
AvmCreateCheckpointHint,
|
|
65
65
|
AvmDebugFunctionNameHint,
|
|
@@ -1426,24 +1426,24 @@ export function makeAvmCheckpointActionRevertCheckpointHint(seed = 0): AvmRevert
|
|
|
1426
1426
|
);
|
|
1427
1427
|
}
|
|
1428
1428
|
|
|
1429
|
-
export function
|
|
1430
|
-
return new
|
|
1429
|
+
export function makeAvmContractDbCheckpointActionCreateCheckpointHint(seed = 0): AvmContractDbCreateCheckpointHint {
|
|
1430
|
+
return new AvmContractDbCreateCheckpointHint(
|
|
1431
1431
|
/*actionCounter=*/ seed,
|
|
1432
1432
|
/*oldCheckpointId=*/ seed + 1,
|
|
1433
1433
|
/*newCheckpointId=*/ seed + 2,
|
|
1434
1434
|
);
|
|
1435
1435
|
}
|
|
1436
1436
|
|
|
1437
|
-
export function
|
|
1438
|
-
return new
|
|
1437
|
+
export function makeAvmContractDbCheckpointActionCommitCheckpointHint(seed = 0): AvmContractDbCommitCheckpointHint {
|
|
1438
|
+
return new AvmContractDbCommitCheckpointHint(
|
|
1439
1439
|
/*actionCounter=*/ seed,
|
|
1440
1440
|
/*oldCheckpointId=*/ seed + 1,
|
|
1441
1441
|
/*newCheckpointId=*/ seed + 2,
|
|
1442
1442
|
);
|
|
1443
1443
|
}
|
|
1444
1444
|
|
|
1445
|
-
export function
|
|
1446
|
-
return new
|
|
1445
|
+
export function makeAvmContractDbCheckpointActionRevertCheckpointHint(seed = 0): AvmContractDbRevertCheckpointHint {
|
|
1446
|
+
return new AvmContractDbRevertCheckpointHint(
|
|
1447
1447
|
/*actionCounter=*/ seed,
|
|
1448
1448
|
/*oldCheckpointId=*/ seed + 1,
|
|
1449
1449
|
/*newCheckpointId=*/ seed + 2,
|
|
@@ -1565,19 +1565,19 @@ export async function makeAvmExecutionHints(
|
|
|
1565
1565
|
contractClasses: makeArray(baseLength + 5, makeAvmContractClassHint, seed + 0x4900),
|
|
1566
1566
|
bytecodeCommitments: await makeArrayAsync(baseLength + 5, makeAvmBytecodeCommitmentHint, seed + 0x4900),
|
|
1567
1567
|
debugFunctionNames: makeArray(baseLength + 5, makeAvmDebugFunctionNameHint, seed + 0x4a00),
|
|
1568
|
-
|
|
1568
|
+
contractDbCreateCheckpointHints: makeArray(
|
|
1569
1569
|
baseLength + 5,
|
|
1570
|
-
|
|
1570
|
+
makeAvmContractDbCheckpointActionCreateCheckpointHint,
|
|
1571
1571
|
seed + 0x5900,
|
|
1572
1572
|
),
|
|
1573
|
-
|
|
1573
|
+
contractDbCommitCheckpointHints: makeArray(
|
|
1574
1574
|
baseLength + 5,
|
|
1575
|
-
|
|
1575
|
+
makeAvmContractDbCheckpointActionCommitCheckpointHint,
|
|
1576
1576
|
seed + 0x5b00,
|
|
1577
1577
|
),
|
|
1578
|
-
|
|
1578
|
+
contractDbRevertCheckpointHints: makeArray(
|
|
1579
1579
|
baseLength + 5,
|
|
1580
|
-
|
|
1580
|
+
makeAvmContractDbCheckpointActionRevertCheckpointHint,
|
|
1581
1581
|
seed + 0x5d00,
|
|
1582
1582
|
),
|
|
1583
1583
|
startingTreeRoots: makeTreeSnapshots(seed + 0x4900),
|
|
@@ -1615,9 +1615,9 @@ export async function makeAvmExecutionHints(
|
|
|
1615
1615
|
fields.contractClasses,
|
|
1616
1616
|
fields.bytecodeCommitments,
|
|
1617
1617
|
fields.debugFunctionNames,
|
|
1618
|
-
fields.
|
|
1619
|
-
fields.
|
|
1620
|
-
fields.
|
|
1618
|
+
fields.contractDbCreateCheckpointHints,
|
|
1619
|
+
fields.contractDbCommitCheckpointHints,
|
|
1620
|
+
fields.contractDbRevertCheckpointHints,
|
|
1621
1621
|
fields.startingTreeRoots,
|
|
1622
1622
|
fields.getSiblingPathHints,
|
|
1623
1623
|
fields.getPreviousValueIndexHints,
|
|
@@ -134,6 +134,13 @@ export class VerificationKeyAsFields {
|
|
|
134
134
|
return new VerificationKeyAsFields(reader.readVector(Fr), reader.readObject(Fr));
|
|
135
135
|
}
|
|
136
136
|
|
|
137
|
+
static fromFrBuffer(vkBytes: Buffer): Promise<VerificationKeyAsFields> {
|
|
138
|
+
const numFields = vkBytes.length / Fr.SIZE_IN_BYTES;
|
|
139
|
+
const reader = BufferReader.asReader(vkBytes);
|
|
140
|
+
const fields = reader.readArray(numFields, Fr);
|
|
141
|
+
return VerificationKeyAsFields.fromKey(fields);
|
|
142
|
+
}
|
|
143
|
+
|
|
137
144
|
/**
|
|
138
145
|
* Builds a fake verification key that should be accepted by circuits.
|
|
139
146
|
* @returns A fake verification key.
|
|
@@ -250,6 +257,20 @@ export class VerificationKey {
|
|
|
250
257
|
times(16, i => i),
|
|
251
258
|
);
|
|
252
259
|
}
|
|
260
|
+
|
|
261
|
+
/**
|
|
262
|
+
* Builds a fake MegaHonk verification key buffer for testing.
|
|
263
|
+
* Uses a real VK from a compiled contract to ensure proper format.
|
|
264
|
+
*
|
|
265
|
+
* @returns A valid MegaHonk VK buffer (4064 bytes)
|
|
266
|
+
*/
|
|
267
|
+
static makeFakeMegaHonk(): Buffer {
|
|
268
|
+
// This is a real MegaFlavor VK from token_contract, base64-encoded
|
|
269
|
+
// Size: 4064 bytes (127 fields × 32 bytes)
|
|
270
|
+
const vk =
|
|
271
|
+
'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';
|
|
272
|
+
return Buffer.from(vk, 'base64');
|
|
273
|
+
}
|
|
253
274
|
}
|
|
254
275
|
|
|
255
276
|
export class VerificationKeyData {
|
|
@@ -305,6 +326,10 @@ export class VerificationKeyData {
|
|
|
305
326
|
return new VerificationKeyData(verificationKeyAsFields, bytes);
|
|
306
327
|
}
|
|
307
328
|
|
|
329
|
+
static async fromFrBuffer(vkBytes: Buffer): Promise<VerificationKeyData> {
|
|
330
|
+
return new VerificationKeyData(await VerificationKeyAsFields.fromFrBuffer(vkBytes), vkBytes);
|
|
331
|
+
}
|
|
332
|
+
|
|
308
333
|
static fromString(str: string): VerificationKeyData {
|
|
309
334
|
return VerificationKeyData.fromBuffer(hexToBuffer(str));
|
|
310
335
|
}
|