@aztec/pxe 0.69.1 → 0.70.0

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.
Files changed (61) hide show
  1. package/dest/database/kv_pxe_database.d.ts +4 -0
  2. package/dest/database/kv_pxe_database.d.ts.map +1 -1
  3. package/dest/database/kv_pxe_database.js +26 -3
  4. package/dest/database/note_dao.d.ts +1 -1
  5. package/dest/database/note_dao.d.ts.map +1 -1
  6. package/dest/database/pxe_database.d.ts +16 -0
  7. package/dest/database/pxe_database.d.ts.map +1 -1
  8. package/dest/database/pxe_database_test_suite.d.ts.map +1 -1
  9. package/dest/database/pxe_database_test_suite.js +48 -1
  10. package/dest/kernel_oracle/index.js +2 -2
  11. package/dest/kernel_prover/hints/build_private_kernel_reset_private_inputs.d.ts +2 -2
  12. package/dest/kernel_prover/hints/build_private_kernel_reset_private_inputs.d.ts.map +1 -1
  13. package/dest/kernel_prover/hints/build_private_kernel_reset_private_inputs.js +1 -1
  14. package/dest/kernel_prover/index.d.ts +0 -1
  15. package/dest/kernel_prover/index.d.ts.map +1 -1
  16. package/dest/kernel_prover/index.js +1 -2
  17. package/dest/kernel_prover/kernel_prover.d.ts +8 -2
  18. package/dest/kernel_prover/kernel_prover.d.ts.map +1 -1
  19. package/dest/kernel_prover/kernel_prover.js +42 -18
  20. package/dest/note_decryption_utils/brute_force_note_info.d.ts +1 -1
  21. package/dest/note_decryption_utils/brute_force_note_info.d.ts.map +1 -1
  22. package/dest/note_decryption_utils/brute_force_note_info.js +2 -3
  23. package/dest/note_decryption_utils/produce_note_daos.d.ts +1 -1
  24. package/dest/note_decryption_utils/produce_note_daos.d.ts.map +1 -1
  25. package/dest/note_decryption_utils/produce_note_daos.js +3 -3
  26. package/dest/note_decryption_utils/produce_note_daos_for_key.d.ts +1 -1
  27. package/dest/note_decryption_utils/produce_note_daos_for_key.d.ts.map +1 -1
  28. package/dest/note_decryption_utils/produce_note_daos_for_key.js +3 -3
  29. package/dest/pxe_service/error_enriching.js +1 -1
  30. package/dest/pxe_service/pxe_service.d.ts +5 -1
  31. package/dest/pxe_service/pxe_service.d.ts.map +1 -1
  32. package/dest/pxe_service/pxe_service.js +30 -31
  33. package/dest/simulator/index.d.ts +2 -2
  34. package/dest/simulator/index.d.ts.map +1 -1
  35. package/dest/simulator/index.js +4 -4
  36. package/dest/simulator_oracle/index.d.ts +21 -6
  37. package/dest/simulator_oracle/index.d.ts.map +1 -1
  38. package/dest/simulator_oracle/index.js +53 -25
  39. package/dest/utils/create_pxe_service.d.ts.map +1 -1
  40. package/dest/utils/create_pxe_service.js +9 -12
  41. package/package.json +14 -15
  42. package/src/database/kv_pxe_database.ts +30 -0
  43. package/src/database/note_dao.ts +1 -1
  44. package/src/database/pxe_database.ts +18 -0
  45. package/src/database/pxe_database_test_suite.ts +61 -0
  46. package/src/kernel_oracle/index.ts +1 -1
  47. package/src/kernel_prover/hints/build_private_kernel_reset_private_inputs.ts +4 -4
  48. package/src/kernel_prover/index.ts +0 -2
  49. package/src/kernel_prover/kernel_prover.ts +58 -20
  50. package/src/note_decryption_utils/brute_force_note_info.ts +1 -1
  51. package/src/note_decryption_utils/produce_note_daos.ts +2 -0
  52. package/src/note_decryption_utils/produce_note_daos_for_key.ts +2 -0
  53. package/src/pxe_service/error_enriching.ts +1 -1
  54. package/src/pxe_service/pxe_service.ts +32 -44
  55. package/src/simulator/index.ts +4 -2
  56. package/src/simulator_oracle/index.ts +47 -11
  57. package/src/utils/create_pxe_service.ts +8 -13
  58. package/dest/kernel_prover/test/test_circuit_prover.d.ts +0 -20
  59. package/dest/kernel_prover/test/test_circuit_prover.d.ts.map +0 -1
  60. package/dest/kernel_prover/test/test_circuit_prover.js +0 -75
  61. package/src/kernel_prover/test/test_circuit_prover.ts +0 -122
@@ -1,75 +0,0 @@
1
- import { ClientIvcProof, } from '@aztec/circuits.js';
2
- import { createLogger } from '@aztec/foundation/log';
3
- import { elapsed } from '@aztec/foundation/timer';
4
- import { ClientCircuitVks, executeInit, executeInner, executeReset, executeTail, executeTailForPublic, getPrivateKernelResetArtifactName, maxPrivateKernelResetDimensions, } from '@aztec/noir-protocol-circuits-types/client';
5
- /**
6
- * Test Proof Creator executes circuit simulations and provides fake proofs.
7
- */
8
- export class TestPrivateKernelProver {
9
- constructor(log = createLogger('pxe:test_proof_creator')) {
10
- this.log = log;
11
- }
12
- createClientIvcProof(_acirs, _witnessStack) {
13
- return Promise.resolve(ClientIvcProof.empty());
14
- }
15
- async simulateProofInit(privateInputs) {
16
- const [duration, result] = await elapsed(() => executeInit(privateInputs));
17
- this.log.debug(`Simulated private kernel init`, {
18
- eventName: 'circuit-simulation',
19
- circuitName: 'private-kernel-init',
20
- duration,
21
- inputSize: privateInputs.toBuffer().length,
22
- outputSize: result.toBuffer().length,
23
- });
24
- return this.makeEmptyKernelSimulateOutput(result, 'PrivateKernelInitArtifact');
25
- }
26
- async simulateProofInner(privateInputs) {
27
- const [duration, result] = await elapsed(() => executeInner(privateInputs));
28
- this.log.debug(`Simulated private kernel inner`, {
29
- eventName: 'circuit-simulation',
30
- circuitName: 'private-kernel-inner',
31
- duration,
32
- inputSize: privateInputs.toBuffer().length,
33
- outputSize: result.toBuffer().length,
34
- });
35
- return this.makeEmptyKernelSimulateOutput(result, 'PrivateKernelInnerArtifact');
36
- }
37
- async simulateProofReset(privateInputs) {
38
- const variantPrivateInputs = privateInputs.trimToSizes();
39
- const [duration, result] = await elapsed(() => executeReset(variantPrivateInputs, privateInputs.dimensions, privateInputs));
40
- this.log.debug(`Simulated private kernel reset`, {
41
- eventName: 'circuit-simulation',
42
- circuitName: 'private-kernel-reset',
43
- duration,
44
- inputSize: variantPrivateInputs.toBuffer().length,
45
- outputSize: result.toBuffer().length,
46
- });
47
- return this.makeEmptyKernelSimulateOutput(result, getPrivateKernelResetArtifactName(maxPrivateKernelResetDimensions));
48
- }
49
- async simulateProofTail(privateInputs) {
50
- const isForPublic = privateInputs.isForPublic();
51
- const [duration, result] = await elapsed(() => isForPublic ? executeTailForPublic(privateInputs) : executeTail(privateInputs));
52
- this.log.debug(`Simulated private kernel ordering`, {
53
- eventName: 'circuit-simulation',
54
- circuitName: 'private-kernel-tail',
55
- duration,
56
- inputSize: privateInputs.toBuffer().length,
57
- outputSize: result.toBuffer().length,
58
- });
59
- return this.makeEmptyKernelSimulateOutput(result, isForPublic ? 'PrivateKernelTailToPublicArtifact' : 'PrivateKernelTailArtifact');
60
- }
61
- computeGateCountForCircuit(_bytecode, _circuitName) {
62
- // No gates in test prover
63
- return Promise.resolve(0);
64
- }
65
- makeEmptyKernelSimulateOutput(publicInputs, circuitType) {
66
- const kernelProofOutput = {
67
- publicInputs,
68
- verificationKey: ClientCircuitVks[circuitType].keyAsFields,
69
- outputWitness: new Map(),
70
- bytecode: Buffer.from([]),
71
- };
72
- return kernelProofOutput;
73
- }
74
- }
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdF9jaXJjdWl0X3Byb3Zlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9rZXJuZWxfcHJvdmVyL3Rlc3QvdGVzdF9jaXJjdWl0X3Byb3Zlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQ0wsY0FBYyxHQU9mLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNsRCxPQUFPLEVBQ0wsZ0JBQWdCLEVBRWhCLFdBQVcsRUFDWCxZQUFZLEVBQ1osWUFBWSxFQUNaLFdBQVcsRUFDWCxvQkFBb0IsRUFDcEIsaUNBQWlDLEVBQ2pDLCtCQUErQixHQUNoQyxNQUFNLDRDQUE0QyxDQUFDO0FBSXBEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHVCQUF1QjtJQUNsQyxZQUFvQixNQUFNLFlBQVksQ0FBQyx3QkFBd0IsQ0FBQztRQUE1QyxRQUFHLEdBQUgsR0FBRyxDQUF5QztJQUFHLENBQUM7SUFFcEUsb0JBQW9CLENBQUMsTUFBZ0IsRUFBRSxhQUEyQjtRQUNoRSxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVNLEtBQUssQ0FBQyxpQkFBaUIsQ0FDNUIsYUFBb0Q7UUFFcEQsTUFBTSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztRQUMzRSxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQywrQkFBK0IsRUFBRTtZQUM5QyxTQUFTLEVBQUUsb0JBQW9CO1lBQy9CLFdBQVcsRUFBRSxxQkFBcUI7WUFDbEMsUUFBUTtZQUNSLFNBQVMsRUFBRSxhQUFhLENBQUMsUUFBUSxFQUFFLENB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
@@ -1,122 +0,0 @@
1
- import { type PrivateKernelProver, type PrivateKernelSimulateOutput } from '@aztec/circuit-types';
2
- import type { CircuitSimulationStats } from '@aztec/circuit-types/stats';
3
- import {
4
- ClientIvcProof,
5
- type PrivateKernelCircuitPublicInputs,
6
- type PrivateKernelInitCircuitPrivateInputs,
7
- type PrivateKernelInnerCircuitPrivateInputs,
8
- type PrivateKernelResetCircuitPrivateInputs,
9
- type PrivateKernelTailCircuitPrivateInputs,
10
- type PrivateKernelTailCircuitPublicInputs,
11
- } from '@aztec/circuits.js';
12
- import { createLogger } from '@aztec/foundation/log';
13
- import { elapsed } from '@aztec/foundation/timer';
14
- import {
15
- ClientCircuitVks,
16
- type ClientProtocolArtifact,
17
- executeInit,
18
- executeInner,
19
- executeReset,
20
- executeTail,
21
- executeTailForPublic,
22
- getPrivateKernelResetArtifactName,
23
- maxPrivateKernelResetDimensions,
24
- } from '@aztec/noir-protocol-circuits-types/client';
25
-
26
- import { type WitnessMap } from '@noir-lang/types';
27
-
28
- /**
29
- * Test Proof Creator executes circuit simulations and provides fake proofs.
30
- */
31
- export class TestPrivateKernelProver implements PrivateKernelProver {
32
- constructor(private log = createLogger('pxe:test_proof_creator')) {}
33
-
34
- createClientIvcProof(_acirs: Buffer[], _witnessStack: WitnessMap[]): Promise<ClientIvcProof> {
35
- return Promise.resolve(ClientIvcProof.empty());
36
- }
37
-
38
- public async simulateProofInit(
39
- privateInputs: PrivateKernelInitCircuitPrivateInputs,
40
- ): Promise<PrivateKernelSimulateOutput<PrivateKernelCircuitPublicInputs>> {
41
- const [duration, result] = await elapsed(() => executeInit(privateInputs));
42
- this.log.debug(`Simulated private kernel init`, {
43
- eventName: 'circuit-simulation',
44
- circuitName: 'private-kernel-init',
45
- duration,
46
- inputSize: privateInputs.toBuffer().length,
47
- outputSize: result.toBuffer().length,
48
- } satisfies CircuitSimulationStats);
49
- return this.makeEmptyKernelSimulateOutput<PrivateKernelCircuitPublicInputs>(result, 'PrivateKernelInitArtifact');
50
- }
51
-
52
- public async simulateProofInner(
53
- privateInputs: PrivateKernelInnerCircuitPrivateInputs,
54
- ): Promise<PrivateKernelSimulateOutput<PrivateKernelCircuitPublicInputs>> {
55
- const [duration, result] = await elapsed(() => executeInner(privateInputs));
56
- this.log.debug(`Simulated private kernel inner`, {
57
- eventName: 'circuit-simulation',
58
- circuitName: 'private-kernel-inner',
59
- duration,
60
- inputSize: privateInputs.toBuffer().length,
61
- outputSize: result.toBuffer().length,
62
- } satisfies CircuitSimulationStats);
63
- return this.makeEmptyKernelSimulateOutput<PrivateKernelCircuitPublicInputs>(result, 'PrivateKernelInnerArtifact');
64
- }
65
-
66
- public async simulateProofReset(
67
- privateInputs: PrivateKernelResetCircuitPrivateInputs,
68
- ): Promise<PrivateKernelSimulateOutput<PrivateKernelCircuitPublicInputs>> {
69
- const variantPrivateInputs = privateInputs.trimToSizes();
70
- const [duration, result] = await elapsed(() =>
71
- executeReset(variantPrivateInputs, privateInputs.dimensions, privateInputs),
72
- );
73
- this.log.debug(`Simulated private kernel reset`, {
74
- eventName: 'circuit-simulation',
75
- circuitName: 'private-kernel-reset',
76
- duration,
77
- inputSize: variantPrivateInputs.toBuffer().length,
78
- outputSize: result.toBuffer().length,
79
- } satisfies CircuitSimulationStats);
80
- return this.makeEmptyKernelSimulateOutput<PrivateKernelCircuitPublicInputs>(
81
- result,
82
- getPrivateKernelResetArtifactName(maxPrivateKernelResetDimensions),
83
- );
84
- }
85
-
86
- public async simulateProofTail(
87
- privateInputs: PrivateKernelTailCircuitPrivateInputs,
88
- ): Promise<PrivateKernelSimulateOutput<PrivateKernelTailCircuitPublicInputs>> {
89
- const isForPublic = privateInputs.isForPublic();
90
- const [duration, result] = await elapsed(() =>
91
- isForPublic ? executeTailForPublic(privateInputs) : executeTail(privateInputs),
92
- );
93
- this.log.debug(`Simulated private kernel ordering`, {
94
- eventName: 'circuit-simulation',
95
- circuitName: 'private-kernel-tail',
96
- duration,
97
- inputSize: privateInputs.toBuffer().length,
98
- outputSize: result.toBuffer().length,
99
- } satisfies CircuitSimulationStats);
100
- return this.makeEmptyKernelSimulateOutput<PrivateKernelTailCircuitPublicInputs>(
101
- result,
102
- isForPublic ? 'PrivateKernelTailToPublicArtifact' : 'PrivateKernelTailArtifact',
103
- );
104
- }
105
-
106
- public computeGateCountForCircuit(_bytecode: Buffer, _circuitName: string): Promise<number> {
107
- // No gates in test prover
108
- return Promise.resolve(0);
109
- }
110
-
111
- private makeEmptyKernelSimulateOutput<
112
- PublicInputsType extends PrivateKernelTailCircuitPublicInputs | PrivateKernelCircuitPublicInputs,
113
- >(publicInputs: PublicInputsType, circuitType: ClientProtocolArtifact) {
114
- const kernelProofOutput: PrivateKernelSimulateOutput<PublicInputsType> = {
115
- publicInputs,
116
- verificationKey: ClientCircuitVks[circuitType].keyAsFields,
117
- outputWitness: new Map(),
118
- bytecode: Buffer.from([]),
119
- };
120
- return kernelProofOutput;
121
- }
122
- }