@aztec/sequencer-client 0.30.1 → 0.31.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 (104) hide show
  1. package/dest/client/sequencer-client.d.ts +5 -1
  2. package/dest/client/sequencer-client.d.ts.map +1 -1
  3. package/dest/client/sequencer-client.js +5 -34
  4. package/dest/index.d.ts +0 -7
  5. package/dest/index.d.ts.map +1 -1
  6. package/dest/index.js +1 -8
  7. package/dest/publisher/viem-tx-sender.d.ts.map +1 -1
  8. package/dest/publisher/viem-tx-sender.js +2 -3
  9. package/dest/sequencer/abstract_phase_manager.d.ts +1 -3
  10. package/dest/sequencer/abstract_phase_manager.d.ts.map +1 -1
  11. package/dest/sequencer/abstract_phase_manager.js +13 -17
  12. package/dest/sequencer/app_logic_phase_manager.d.ts +1 -3
  13. package/dest/sequencer/app_logic_phase_manager.d.ts.map +1 -1
  14. package/dest/sequencer/app_logic_phase_manager.js +3 -4
  15. package/dest/sequencer/phase_manager_factory.d.ts +2 -3
  16. package/dest/sequencer/phase_manager_factory.d.ts.map +1 -1
  17. package/dest/sequencer/phase_manager_factory.js +9 -9
  18. package/dest/sequencer/public_processor.d.ts +3 -7
  19. package/dest/sequencer/public_processor.d.ts.map +1 -1
  20. package/dest/sequencer/public_processor.js +6 -9
  21. package/dest/sequencer/sequencer.d.ts +4 -5
  22. package/dest/sequencer/sequencer.d.ts.map +1 -1
  23. package/dest/sequencer/sequencer.js +13 -12
  24. package/dest/sequencer/setup_phase_manager.d.ts +1 -3
  25. package/dest/sequencer/setup_phase_manager.d.ts.map +1 -1
  26. package/dest/sequencer/setup_phase_manager.js +3 -4
  27. package/dest/sequencer/tail_phase_manager.d.ts +1 -3
  28. package/dest/sequencer/tail_phase_manager.d.ts.map +1 -1
  29. package/dest/sequencer/tail_phase_manager.js +3 -4
  30. package/dest/sequencer/teardown_phase_manager.d.ts +1 -3
  31. package/dest/sequencer/teardown_phase_manager.d.ts.map +1 -1
  32. package/dest/sequencer/teardown_phase_manager.js +3 -4
  33. package/dest/sequencer/tx_validator.d.ts +1 -2
  34. package/dest/sequencer/tx_validator.d.ts.map +1 -1
  35. package/dest/sequencer/tx_validator.js +15 -2
  36. package/dest/simulator/index.d.ts +1 -37
  37. package/dest/simulator/index.d.ts.map +1 -1
  38. package/dest/simulator/index.js +2 -2
  39. package/dest/simulator/public_executor.d.ts +1 -1
  40. package/dest/simulator/public_executor.d.ts.map +1 -1
  41. package/dest/simulator/public_executor.js +22 -12
  42. package/dest/simulator/public_kernel.d.ts +1 -1
  43. package/dest/simulator/public_kernel.d.ts.map +1 -1
  44. package/dest/simulator/public_kernel.js +2 -2
  45. package/package.json +13 -13
  46. package/src/client/sequencer-client.ts +7 -42
  47. package/src/index.ts +0 -9
  48. package/src/publisher/viem-tx-sender.ts +1 -2
  49. package/src/sequencer/abstract_phase_manager.ts +14 -16
  50. package/src/sequencer/app_logic_phase_manager.ts +1 -3
  51. package/src/sequencer/phase_manager_factory.ts +0 -9
  52. package/src/sequencer/public_processor.ts +12 -17
  53. package/src/sequencer/sequencer.ts +12 -13
  54. package/src/sequencer/setup_phase_manager.ts +1 -3
  55. package/src/sequencer/tail_phase_manager.ts +1 -3
  56. package/src/sequencer/teardown_phase_manager.ts +1 -3
  57. package/src/sequencer/tx_validator.ts +17 -2
  58. package/src/simulator/index.ts +0 -45
  59. package/src/simulator/public_executor.ts +32 -11
  60. package/src/simulator/public_kernel.ts +2 -2
  61. package/dest/block_builder/index.d.ts +0 -19
  62. package/dest/block_builder/index.d.ts.map +0 -1
  63. package/dest/block_builder/index.js +0 -2
  64. package/dest/block_builder/solo_block_builder.d.ts +0 -78
  65. package/dest/block_builder/solo_block_builder.d.ts.map +0 -1
  66. package/dest/block_builder/solo_block_builder.js +0 -489
  67. package/dest/block_builder/types.d.ts +0 -10
  68. package/dest/block_builder/types.d.ts.map +0 -1
  69. package/dest/block_builder/types.js +0 -2
  70. package/dest/mocks/verification_keys.d.ts +0 -28
  71. package/dest/mocks/verification_keys.d.ts.map +0 -1
  72. package/dest/mocks/verification_keys.js +0 -14
  73. package/dest/prover/empty.d.ts +0 -53
  74. package/dest/prover/empty.d.ts.map +0 -1
  75. package/dest/prover/empty.js +0 -75
  76. package/dest/prover/index.d.ts +0 -52
  77. package/dest/prover/index.d.ts.map +0 -1
  78. package/dest/prover/index.js +0 -2
  79. package/dest/sequencer/processed_tx.d.ts +0 -81
  80. package/dest/sequencer/processed_tx.d.ts.map +0 -1
  81. package/dest/sequencer/processed_tx.js +0 -98
  82. package/dest/simulator/acvm_native.d.ts +0 -20
  83. package/dest/simulator/acvm_native.d.ts.map +0 -1
  84. package/dest/simulator/acvm_native.js +0 -96
  85. package/dest/simulator/acvm_wasm.d.ts +0 -7
  86. package/dest/simulator/acvm_wasm.d.ts.map +0 -1
  87. package/dest/simulator/acvm_wasm.js +0 -23
  88. package/dest/simulator/rollup.d.ts +0 -43
  89. package/dest/simulator/rollup.d.ts.map +0 -1
  90. package/dest/simulator/rollup.js +0 -78
  91. package/dest/simulator/simulation_provider.d.ts +0 -9
  92. package/dest/simulator/simulation_provider.d.ts.map +0 -1
  93. package/dest/simulator/simulation_provider.js +0 -2
  94. package/src/block_builder/index.ts +0 -20
  95. package/src/block_builder/solo_block_builder.ts +0 -812
  96. package/src/block_builder/types.ts +0 -8
  97. package/src/mocks/verification_keys.ts +0 -36
  98. package/src/prover/empty.ts +0 -97
  99. package/src/prover/index.ts +0 -70
  100. package/src/sequencer/processed_tx.ts +0 -210
  101. package/src/simulator/acvm_native.ts +0 -112
  102. package/src/simulator/acvm_wasm.ts +0 -31
  103. package/src/simulator/rollup.ts +0 -127
  104. package/src/simulator/simulation_provider.ts +0 -10
@@ -1,53 +0,0 @@
1
- import { BaseOrMergeRollupPublicInputs, BaseParityInputs, BaseRollupInputs, MergeRollupInputs, ParityPublicInputs, Proof, PublicCircuitPublicInputs, PublicKernelCircuitPublicInputs, RootParityInputs, RootRollupInputs, RootRollupPublicInputs } from '@aztec/circuits.js';
2
- import { PublicProver, RollupProver } from './index.js';
3
- /**
4
- * Prover implementation that returns empty proofs and overrides aggregation objects.
5
- */
6
- export declare class EmptyRollupProver implements RollupProver {
7
- /**
8
- * Creates an empty proof for the given input.
9
- * @param inputs - Inputs to the circuit.
10
- * @param publicInputs - Public inputs of the circuit obtained via simulation, modified by this call.
11
- */
12
- getBaseParityProof(inputs: BaseParityInputs, publicInputs: ParityPublicInputs): Promise<Proof>;
13
- /**
14
- * Creates an empty proof for the given input.
15
- * @param inputs - Inputs to the circuit.
16
- * @param publicInputs - Public inputs of the circuit obtained via simulation, modified by this call.
17
- */
18
- getRootParityProof(inputs: RootParityInputs, publicInputs: ParityPublicInputs): Promise<Proof>;
19
- /**
20
- * Creates an empty proof for the given input.
21
- * @param _input - Input to the circuit.
22
- * @param publicInputs - Public inputs of the circuit obtained via simulation, modified by this call.
23
- */
24
- getBaseRollupProof(_input: BaseRollupInputs, publicInputs: BaseOrMergeRollupPublicInputs): Promise<Proof>;
25
- /**
26
- * Creates an empty proof for the given input.
27
- * @param _input - Input to the circuit.
28
- * @param publicInputs - Public inputs of the circuit obtained via simulation, modified by this call.
29
- */
30
- getMergeRollupProof(_input: MergeRollupInputs, publicInputs: BaseOrMergeRollupPublicInputs): Promise<Proof>;
31
- /**
32
- * Creates an empty proof for the given input.
33
- * @param _input - Input to the circuit.
34
- * @param publicInputs - Public inputs of the circuit obtained via simulation, modified by this call.
35
- */
36
- getRootRollupProof(_input: RootRollupInputs, publicInputs: RootRollupPublicInputs): Promise<Proof>;
37
- }
38
- /**
39
- * Prover implementation that returns empty proofs.
40
- */
41
- export declare class EmptyPublicProver implements PublicProver {
42
- /**
43
- * Creates an empty proof for the given input.
44
- * @param _publicInputs - Public inputs obtained via simulation.
45
- */
46
- getPublicCircuitProof(_publicInputs: PublicCircuitPublicInputs): Promise<Proof>;
47
- /**
48
- * Creates an empty proof for the given input.
49
- * @param _publicInputs - Public inputs obtained via simulation.
50
- */
51
- getPublicKernelCircuitProof(_publicInputs: PublicKernelCircuitPublicInputs): Promise<Proof>;
52
- }
53
- //# sourceMappingURL=empty.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"empty.d.ts","sourceRoot":"","sources":["../../src/prover/empty.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,6BAA6B,EAC7B,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,KAAK,EACL,yBAAyB,EACzB,+BAA+B,EAC/B,gBAAgB,EAChB,gBAAgB,EAChB,sBAAsB,EACvB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAOxD;;GAEG;AACH,qBAAa,iBAAkB,YAAW,YAAY;IACpD;;;;OAIG;IACG,kBAAkB,CAAC,MAAM,EAAE,gBAAgB,EAAE,YAAY,EAAE,kBAAkB,GAAG,OAAO,CAAC,KAAK,CAAC;IAKpG;;;;OAIG;IACG,kBAAkB,CAAC,MAAM,EAAE,gBAAgB,EAAE,YAAY,EAAE,kBAAkB,GAAG,OAAO,CAAC,KAAK,CAAC;IAKpG;;;;OAIG;IACG,kBAAkB,CAAC,MAAM,EAAE,gBAAgB,EAAE,YAAY,EAAE,6BAA6B,GAAG,OAAO,CAAC,KAAK,CAAC;IAK/G;;;;OAIG;IACG,mBAAmB,CAAC,MAAM,EAAE,iBAAiB,EAAE,YAAY,EAAE,6BAA6B,GAAG,OAAO,CAAC,KAAK,CAAC;IAIjH;;;;OAIG;IACG,kBAAkB,CAAC,MAAM,EAAE,gBAAgB,EAAE,YAAY,EAAE,sBAAsB,GAAG,OAAO,CAAC,KAAK,CAAC;CAIzG;AAED;;GAEG;AACH,qBAAa,iBAAkB,YAAW,YAAY;IACpD;;;OAGG;IACG,qBAAqB,CAAC,aAAa,EAAE,yBAAyB,GAAG,OAAO,CAAC,KAAK,CAAC;IAIrF;;;OAGG;IACG,2BAA2B,CAAC,aAAa,EAAE,+BAA+B,GAAG,OAAO,CAAC,KAAK,CAAC;CAGlG"}
@@ -1,75 +0,0 @@
1
- /* eslint-disable require-await */
2
- import { AggregationObject, Proof, } from '@aztec/circuits.js';
3
- const EMPTY_PROOF_SIZE = 42;
4
- // TODO: Silently modifying one of the inputs to inject the aggregation object is horrible.
5
- // We should rethink these interfaces.
6
- /**
7
- * Prover implementation that returns empty proofs and overrides aggregation objects.
8
- */
9
- export class EmptyRollupProver {
10
- /**
11
- * Creates an empty proof for the given input.
12
- * @param inputs - Inputs to the circuit.
13
- * @param publicInputs - Public inputs of the circuit obtained via simulation, modified by this call.
14
- */
15
- async getBaseParityProof(inputs, publicInputs) {
16
- publicInputs.aggregationObject = AggregationObject.makeFake();
17
- return new Proof(Buffer.alloc(EMPTY_PROOF_SIZE, 0));
18
- }
19
- /**
20
- * Creates an empty proof for the given input.
21
- * @param inputs - Inputs to the circuit.
22
- * @param publicInputs - Public inputs of the circuit obtained via simulation, modified by this call.
23
- */
24
- async getRootParityProof(inputs, publicInputs) {
25
- publicInputs.aggregationObject = AggregationObject.makeFake();
26
- return new Proof(Buffer.alloc(EMPTY_PROOF_SIZE, 0));
27
- }
28
- /**
29
- * Creates an empty proof for the given input.
30
- * @param _input - Input to the circuit.
31
- * @param publicInputs - Public inputs of the circuit obtained via simulation, modified by this call.
32
- */
33
- async getBaseRollupProof(_input, publicInputs) {
34
- publicInputs.aggregationObject = AggregationObject.makeFake();
35
- return new Proof(Buffer.alloc(EMPTY_PROOF_SIZE, 0));
36
- }
37
- /**
38
- * Creates an empty proof for the given input.
39
- * @param _input - Input to the circuit.
40
- * @param publicInputs - Public inputs of the circuit obtained via simulation, modified by this call.
41
- */
42
- async getMergeRollupProof(_input, publicInputs) {
43
- publicInputs.aggregationObject = AggregationObject.makeFake();
44
- return new Proof(Buffer.alloc(EMPTY_PROOF_SIZE, 0));
45
- }
46
- /**
47
- * Creates an empty proof for the given input.
48
- * @param _input - Input to the circuit.
49
- * @param publicInputs - Public inputs of the circuit obtained via simulation, modified by this call.
50
- */
51
- async getRootRollupProof(_input, publicInputs) {
52
- publicInputs.aggregationObject = AggregationObject.makeFake();
53
- return new Proof(Buffer.alloc(EMPTY_PROOF_SIZE, 0));
54
- }
55
- }
56
- /**
57
- * Prover implementation that returns empty proofs.
58
- */
59
- export class EmptyPublicProver {
60
- /**
61
- * Creates an empty proof for the given input.
62
- * @param _publicInputs - Public inputs obtained via simulation.
63
- */
64
- async getPublicCircuitProof(_publicInputs) {
65
- return new Proof(Buffer.alloc(EMPTY_PROOF_SIZE, 0));
66
- }
67
- /**
68
- * Creates an empty proof for the given input.
69
- * @param _publicInputs - Public inputs obtained via simulation.
70
- */
71
- async getPublicKernelCircuitProof(_publicInputs) {
72
- return new Proof(Buffer.alloc(EMPTY_PROOF_SIZE, 0));
73
- }
74
- }
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvdmVyL2VtcHR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGtDQUFrQztBQUNsQyxPQUFPLEVBQ0wsaUJBQWlCLEVBTWpCLEtBQUssR0FNTixNQUFNLG9CQUFvQixDQUFDO0FBSTVCLE1BQU0sZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO0FBRTVCLDJGQUEyRjtBQUMzRixzQ0FBc0M7QUFFdEM7O0dBRUc7QUFDSCxNQUFNLE9BQU8saUJBQWlCO0lBQzVCOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsa0JBQWtCLENBQUMsTUFBd0IsRUFBRSxZQUFnQztRQUNqRixZQUFZLENBQUMsaUJBQWlCLEdBQUcsaUJBQWlCLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDOUQsT0FBTyxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsa0JBQWtCLENBQUMsTUFBd0IsRUFBRSxZQUFnQztRQUNqRixZQUFZLENBQUMsaUJBQWlCLEdBQUcsaUJBQWlCLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDOUQsT0FBTyxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsa0JBQWtCLENBQUMsTUFBd0IsRUFBRSxZQUEyQztRQUM1RixZQUFZLENBQUMsaUJBQWlCLEdBQUcsaUJBQWlCLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDOUQsT0FBTyxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsbUJBQW1CLENBQUMsTUFBeUIsRUFBRSxZQUEyQztRQUM5RixZQUFZLENBQUMsaUJBQWlCLEdBQUcsaUJBQWlCLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDOUQsT0FBTyxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUNEOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsa0JBQWtCLENBQUMsTUFBd0IsRUFBRSxZQUFvQztRQUNyRixZQUFZLENBQUMsaUJBQWlCLEdBQUcsaUJBQWlCLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDOUQsT0FBTyxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdEQsQ0FBQztDQUNGO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8saUJBQWlCO0lBQzVCOzs7T0FHRztJQUNILEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxhQUF3QztRQUNsRSxPQUFPLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLDJCQUEyQixDQUFDLGFBQThDO1FBQzlFLE9BQU8sSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7Q0FDRiJ9
@@ -1,52 +0,0 @@
1
- import { BaseOrMergeRollupPublicInputs, BaseParityInputs, BaseRollupInputs, MergeRollupInputs, ParityPublicInputs, Proof, PublicCircuitPublicInputs, PublicKernelCircuitPublicInputs, RootParityInputs, RootRollupInputs, RootRollupPublicInputs } from '@aztec/circuits.js';
2
- /**
3
- * Generates proofs for parity and rollup circuits.
4
- */
5
- export interface RollupProver {
6
- /**
7
- * Creates a proof for the given input.
8
- * @param input - Input to the circuit.
9
- * @param publicInputs - Public inputs of the circuit obtained via simulation, modified by this call.
10
- */
11
- getBaseParityProof(inputs: BaseParityInputs, publicInputs: ParityPublicInputs): Promise<Proof>;
12
- /**
13
- * Creates a proof for the given input.
14
- * @param input - Input to the circuit.
15
- * @param publicInputs - Public inputs of the circuit obtained via simulation, modified by this call.
16
- */
17
- getRootParityProof(inputs: RootParityInputs, publicInputs: ParityPublicInputs): Promise<Proof>;
18
- /**
19
- * Creates a proof for the given input.
20
- * @param input - Input to the circuit.
21
- * @param publicInputs - Public inputs of the circuit obtained via simulation, modified by this call.
22
- */
23
- getBaseRollupProof(input: BaseRollupInputs, publicInputs: BaseOrMergeRollupPublicInputs): Promise<Proof>;
24
- /**
25
- * Creates a proof for the given input.
26
- * @param input - Input to the circuit.
27
- * @param publicInputs - Public inputs of the circuit obtained via simulation, modified by this call.
28
- */
29
- getMergeRollupProof(input: MergeRollupInputs, publicInputs: BaseOrMergeRollupPublicInputs): Promise<Proof>;
30
- /**
31
- * Creates a proof for the given input.
32
- * @param input - Input to the circuit.
33
- * @param publicInputs - Public inputs of the circuit obtained via simulation, modified by this call.
34
- */
35
- getRootRollupProof(input: RootRollupInputs, publicInputs: RootRollupPublicInputs): Promise<Proof>;
36
- }
37
- /**
38
- * Generates proofs for the public and public kernel circuits.
39
- */
40
- export interface PublicProver {
41
- /**
42
- * Creates a proof for the given input.
43
- * @param publicInputs - Public inputs obtained via simulation.
44
- */
45
- getPublicCircuitProof(publicInputs: PublicCircuitPublicInputs): Promise<Proof>;
46
- /**
47
- * Creates a proof for the given input.
48
- * @param publicInputs - Public inputs obtained via simulation.
49
- */
50
- getPublicKernelCircuitProof(publicInputs: PublicKernelCircuitPublicInputs): Promise<Proof>;
51
- }
52
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/prover/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,6BAA6B,EAC7B,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,KAAK,EACL,yBAAyB,EACzB,+BAA+B,EAC/B,gBAAgB,EAChB,gBAAgB,EAChB,sBAAsB,EACvB,MAAM,oBAAoB,CAAC;AAE5B;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;OAIG;IACH,kBAAkB,CAAC,MAAM,EAAE,gBAAgB,EAAE,YAAY,EAAE,kBAAkB,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAE/F;;;;OAIG;IACH,kBAAkB,CAAC,MAAM,EAAE,gBAAgB,EAAE,YAAY,EAAE,kBAAkB,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAE/F;;;;OAIG;IACH,kBAAkB,CAAC,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,6BAA6B,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAEzG;;;;OAIG;IACH,mBAAmB,CAAC,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,6BAA6B,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAE3G;;;;OAIG;IACH,kBAAkB,CAAC,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,sBAAsB,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;CACnG;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,qBAAqB,CAAC,YAAY,EAAE,yBAAyB,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAE/E;;;OAGG;IACH,2BAA2B,CAAC,YAAY,EAAE,+BAA+B,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;CAC5F"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvdmVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
@@ -1,81 +0,0 @@
1
- import { SimulationError, Tx, TxEffect, TxHash } from '@aztec/circuit-types';
2
- import { Fr, Header, Proof, PublicKernelCircuitPublicInputs } from '@aztec/circuits.js';
3
- /**
4
- * Represents a tx that has been processed by the sequencer public processor,
5
- * so its kernel circuit public inputs are filled in.
6
- */
7
- export type ProcessedTx = Pick<Tx, 'proof' | 'encryptedLogs' | 'unencryptedLogs'> & {
8
- /**
9
- * Output of the public kernel circuit for this tx.
10
- */
11
- data: PublicKernelCircuitPublicInputs;
12
- /**
13
- * Hash of the transaction.
14
- */
15
- hash: TxHash;
16
- /**
17
- * Flag indicating the tx is 'empty' meaning it's a padding tx to take us to a power of 2.
18
- */
19
- isEmpty: boolean;
20
- /**
21
- * Reason the tx was reverted.
22
- */
23
- revertReason: SimulationError | undefined;
24
- };
25
- export type RevertedTx = ProcessedTx & {
26
- data: PublicKernelCircuitPublicInputs & {
27
- reverted: true;
28
- };
29
- revertReason: SimulationError;
30
- };
31
- export declare function isRevertedTx(tx: ProcessedTx): tx is RevertedTx;
32
- export declare function partitionReverts(txs: ProcessedTx[]): {
33
- reverted: RevertedTx[];
34
- nonReverted: ProcessedTx[];
35
- };
36
- /**
37
- * Represents a tx that failed to be processed by the sequencer public processor.
38
- */
39
- export type FailedTx = {
40
- /**
41
- * The failing transaction.
42
- */
43
- tx: Tx;
44
- /**
45
- * The error that caused the tx to fail.
46
- */
47
- error: Error;
48
- };
49
- /**
50
- *
51
- * @param tx - the TX being procesed
52
- * @param publicKernelPublicInput - the output of the public kernel circuit, unless we just came from private
53
- * @param publicKernelProof - the proof of the public kernel circuit, unless we just came from private
54
- * @returns PublicKernelCircuitPublicInputs, either passed through from the input or converted from the output of the TX,
55
- * and Proof, either passed through from the input or the proof of the TX
56
- */
57
- export declare function getPreviousOutputAndProof(tx: Tx, publicKernelPublicInput?: PublicKernelCircuitPublicInputs, publicKernelProof?: Proof): {
58
- /**
59
- * the output of the public kernel circuit for this phase
60
- */
61
- publicKernelPublicInput: PublicKernelCircuitPublicInputs;
62
- /**
63
- * the proof of the public kernel circuit for this phase
64
- */
65
- previousProof: Proof;
66
- };
67
- /**
68
- * Makes a processed tx out of source tx.
69
- * @param tx - Source tx.
70
- * @param kernelOutput - Output of the kernel circuit simulation for this tx.
71
- * @param proof - Proof of the kernel circuit for this tx.
72
- */
73
- export declare function makeProcessedTx(tx: Tx, kernelOutput?: PublicKernelCircuitPublicInputs, proof?: Proof, revertReason?: SimulationError): ProcessedTx;
74
- /**
75
- * Makes an empty tx from an empty kernel circuit public inputs.
76
- * @returns A processed empty tx.
77
- */
78
- export declare function makeEmptyProcessedTx(header: Header, chainId: Fr, version: Fr): ProcessedTx;
79
- export declare function toTxEffect(tx: ProcessedTx): TxEffect;
80
- export declare function validateProcessedTx(tx: ProcessedTx): void;
81
- //# sourceMappingURL=processed_tx.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"processed_tx.d.ts","sourceRoot":"","sources":["../../src/sequencer/processed_tx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,eAAe,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAY,MAAM,sBAAsB,CAAC;AACxG,OAAO,EACL,EAAE,EACF,MAAM,EAIN,KAAK,EAGL,+BAA+B,EAKhC,MAAM,oBAAoB,CAAC;AAG5B;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,EAAE,OAAO,GAAG,eAAe,GAAG,iBAAiB,CAAC,GAAG;IAClF;;OAEG;IACH,IAAI,EAAE,+BAA+B,CAAC;IACtC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,YAAY,EAAE,eAAe,GAAG,SAAS,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG;IACrC,IAAI,EAAE,+BAA+B,GAAG;QACtC,QAAQ,EAAE,IAAI,CAAC;KAChB,CAAC;IAEF,YAAY,EAAE,eAAe,CAAC;CAC/B,CAAC;AAEF,wBAAgB,YAAY,CAAC,EAAE,EAAE,WAAW,GAAG,EAAE,IAAI,UAAU,CAE9D;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG;IAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;IAAC,WAAW,EAAE,WAAW,EAAE,CAAA;CAAE,CAY3G;AAED;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG;IACrB;;OAEG;IACH,EAAE,EAAE,EAAE,CAAC;IACP;;OAEG;IACH,KAAK,EAAE,KAAK,CAAC;CACd,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACvC,EAAE,EAAE,EAAE,EACN,uBAAuB,CAAC,EAAE,+BAA+B,EACzD,iBAAiB,CAAC,EAAE,KAAK,GACxB;IACD;;OAEG;IACH,uBAAuB,EAAE,+BAA+B,CAAC;IACzD;;OAEG;IACH,aAAa,EAAE,KAAK,CAAC;CACtB,CAuBA;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,EAAE,EAAE,EAAE,EACN,YAAY,CAAC,EAAE,+BAA+B,EAC9C,KAAK,CAAC,EAAE,KAAK,EACb,YAAY,CAAC,EAAE,eAAe,GAC7B,WAAW,CAWb;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,GAAG,WAAW,CAiB1F;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,WAAW,GAAG,QAAQ,CAepD;AAgBD,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI,CAGzD"}
@@ -1,98 +0,0 @@
1
- import { PublicDataWrite, TxEffect, TxHash, TxL2Logs } from '@aztec/circuit-types';
2
- import { Fr, PublicAccumulatedNonRevertibleData, PublicAccumulatedRevertibleData, PublicKernelCircuitPublicInputs, ValidationRequests, makeEmptyProof, } from '@aztec/circuits.js';
3
- import { fromFieldsTuple } from '@aztec/foundation/serialize';
4
- export function isRevertedTx(tx) {
5
- return tx.data.reverted;
6
- }
7
- export function partitionReverts(txs) {
8
- return txs.reduce(({ reverted, nonReverted }, tx) => {
9
- if (isRevertedTx(tx)) {
10
- reverted.push(tx);
11
- }
12
- else {
13
- nonReverted.push(tx);
14
- }
15
- return { reverted, nonReverted };
16
- }, { reverted: [], nonReverted: [] });
17
- }
18
- /**
19
- *
20
- * @param tx - the TX being procesed
21
- * @param publicKernelPublicInput - the output of the public kernel circuit, unless we just came from private
22
- * @param publicKernelProof - the proof of the public kernel circuit, unless we just came from private
23
- * @returns PublicKernelCircuitPublicInputs, either passed through from the input or converted from the output of the TX,
24
- * and Proof, either passed through from the input or the proof of the TX
25
- */
26
- export function getPreviousOutputAndProof(tx, publicKernelPublicInput, publicKernelProof) {
27
- if (publicKernelPublicInput && publicKernelProof) {
28
- return {
29
- publicKernelPublicInput,
30
- previousProof: publicKernelProof,
31
- };
32
- }
33
- else {
34
- const publicKernelPublicInput = new PublicKernelCircuitPublicInputs(tx.data.aggregationObject, ValidationRequests.empty(), PublicAccumulatedNonRevertibleData.fromPrivateAccumulatedNonRevertibleData(tx.data.endNonRevertibleData), PublicAccumulatedRevertibleData.fromPrivateAccumulatedRevertibleData(tx.data.end), tx.data.constants, tx.data.needsSetup, tx.data.needsAppLogic, tx.data.needsTeardown, false);
35
- return {
36
- publicKernelPublicInput,
37
- previousProof: publicKernelProof || tx.proof,
38
- };
39
- }
40
- }
41
- /**
42
- * Makes a processed tx out of source tx.
43
- * @param tx - Source tx.
44
- * @param kernelOutput - Output of the kernel circuit simulation for this tx.
45
- * @param proof - Proof of the kernel circuit for this tx.
46
- */
47
- export function makeProcessedTx(tx, kernelOutput, proof, revertReason) {
48
- const { publicKernelPublicInput, previousProof } = getPreviousOutputAndProof(tx, kernelOutput, proof);
49
- return {
50
- hash: tx.getTxHash(),
51
- data: publicKernelPublicInput,
52
- proof: previousProof,
53
- encryptedLogs: revertReason ? new TxL2Logs([]) : tx.encryptedLogs,
54
- unencryptedLogs: revertReason ? new TxL2Logs([]) : tx.unencryptedLogs,
55
- isEmpty: false,
56
- revertReason,
57
- };
58
- }
59
- /**
60
- * Makes an empty tx from an empty kernel circuit public inputs.
61
- * @returns A processed empty tx.
62
- */
63
- export function makeEmptyProcessedTx(header, chainId, version) {
64
- const emptyKernelOutput = PublicKernelCircuitPublicInputs.empty();
65
- emptyKernelOutput.constants.historicalHeader = header;
66
- emptyKernelOutput.constants.txContext.chainId = chainId;
67
- emptyKernelOutput.constants.txContext.version = version;
68
- const emptyProof = makeEmptyProof();
69
- const hash = new TxHash(Fr.ZERO.toBuffer());
70
- return {
71
- hash,
72
- encryptedLogs: new TxL2Logs([]),
73
- unencryptedLogs: new TxL2Logs([]),
74
- data: emptyKernelOutput,
75
- proof: emptyProof,
76
- isEmpty: true,
77
- revertReason: undefined,
78
- };
79
- }
80
- export function toTxEffect(tx) {
81
- return new TxEffect(tx.data.combinedData.newNoteHashes.map((c) => c.value), tx.data.combinedData.newNullifiers.map((n) => n.value), tx.data.combinedData.newL2ToL1Msgs, tx.data.combinedData.publicDataUpdateRequests.map(t => new PublicDataWrite(t.leafSlot, t.newValue)), tx.encryptedLogs || new TxL2Logs([]), tx.unencryptedLogs || new TxL2Logs([]));
82
- }
83
- function validateProcessedTxLogs(tx) {
84
- const unencryptedLogs = tx.unencryptedLogs || new TxL2Logs([]);
85
- const kernelUnencryptedLogsHash = fromFieldsTuple(tx.data.combinedData.unencryptedLogsHash);
86
- if (!unencryptedLogs.hash().equals(kernelUnencryptedLogsHash)) {
87
- throw new Error(`Unencrypted logs hash mismatch. Expected ${unencryptedLogs
88
- .hash()
89
- .toString('hex')}, got ${kernelUnencryptedLogsHash.toString('hex')}.
90
- Processed: ${JSON.stringify(unencryptedLogs.toJSON())}
91
- Kernel Length: ${tx.data.combinedData.unencryptedLogPreimagesLength}`);
92
- }
93
- }
94
- export function validateProcessedTx(tx) {
95
- validateProcessedTxLogs(tx);
96
- // TODO: validate other fields
97
- }
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzc2VkX3R4LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcXVlbmNlci9wcm9jZXNzZWRfdHgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBdUIsUUFBUSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RyxPQUFPLEVBQ0wsRUFBRSxFQU1GLGtDQUFrQyxFQUNsQywrQkFBK0IsRUFDL0IsK0JBQStCLEVBRy9CLGtCQUFrQixFQUNsQixjQUFjLEdBQ2YsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQVMsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFrQ3JFLE1BQU0sVUFBVSxZQUFZLENBQUMsRUFBZTtJQUMxQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO0FBQzFCLENBQUM7QUFFRCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsR0FBa0I7SUFDakQsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUNmLENBQUMsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUU7UUFDaEMsSUFBSSxZQUFZLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNyQixRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3BCLENBQUM7YUFBTSxDQUFDO1lBQ04sV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN2QixDQUFDO1FBQ0QsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsQ0FBQztJQUNuQyxDQUFDLEVBQ0QsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQXlDLENBQ3pFLENBQUM7QUFDSixDQUFDO0FBZ0JEOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLFVBQVUseUJBQXlCLENBQ3ZDLEVBQU0sRUFDTix1QkFBeUQsRUFDekQsaUJBQXlCO0lB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
@@ -1,20 +0,0 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
- import { NoirCompiledCircuit } from '@aztec/types/noir';
3
- import { WitnessMap } from '@noir-lang/types';
4
- import { SimulationProvider } from './simulation_provider.js';
5
- /**
6
- *
7
- * @param inputWitness - The circuit's input witness
8
- * @param bytecode - The circuit buytecode
9
- * @param workingDirectory - A directory to use for temporary files by the ACVM
10
- * @param pathToAcvm - The path to the ACVm binary
11
- * @returns The completed partial witness outputted from the circuit
12
- */
13
- export declare function executeNativeCircuit(inputWitness: WitnessMap, bytecode: Buffer, workingDirectory: string, pathToAcvm: string): Promise<Map<number, string>>;
14
- export declare class NativeACVMSimulator implements SimulationProvider {
15
- private workingDirectory;
16
- private pathToAcvm;
17
- constructor(workingDirectory: string, pathToAcvm: string);
18
- simulateCircuit(input: WitnessMap, compiledCircuit: NoirCompiledCircuit): Promise<WitnessMap>;
19
- }
20
- //# sourceMappingURL=acvm_native.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"acvm_native.d.ts","sourceRoot":"","sources":["../../src/simulator/acvm_native.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAI9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAmB9D;;;;;;;GAOG;AACH,wBAAsB,oBAAoB,CACxC,YAAY,EAAE,UAAU,EACxB,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE,MAAM,EACxB,UAAU,EAAE,MAAM,gCAwDnB;AAED,qBAAa,mBAAoB,YAAW,kBAAkB;IAChD,OAAO,CAAC,gBAAgB;IAAU,OAAO,CAAC,UAAU;gBAA5C,gBAAgB,EAAE,MAAM,EAAU,UAAU,EAAE,MAAM;IAClE,eAAe,CAAC,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC;CAapG"}
@@ -1,96 +0,0 @@
1
- import { randomBytes } from '@aztec/foundation/crypto';
2
- import * as proc from 'child_process';
3
- import fs from 'fs/promises';
4
- /**
5
- * Parses a TOML format witness map string into a Map structure
6
- * @param outputString - The witness map in TOML format
7
- * @returns The parsed witness map
8
- */
9
- function parseIntoWitnessMap(outputString) {
10
- const lines = outputString.split('\n');
11
- return new Map(lines
12
- .filter((line) => line.length)
13
- .map((line) => {
14
- const pair = line.replaceAll(' ', '').split('=');
15
- return [Number(pair[0]), pair[1].replaceAll('"', '')];
16
- }));
17
- }
18
- /**
19
- *
20
- * @param inputWitness - The circuit's input witness
21
- * @param bytecode - The circuit buytecode
22
- * @param workingDirectory - A directory to use for temporary files by the ACVM
23
- * @param pathToAcvm - The path to the ACVm binary
24
- * @returns The completed partial witness outputted from the circuit
25
- */
26
- export async function executeNativeCircuit(inputWitness, bytecode, workingDirectory, pathToAcvm) {
27
- const bytecodeFilename = 'bytecode';
28
- const witnessFilename = 'input_witness.toml';
29
- // convert the witness map to TOML format
30
- let witnessMap = '';
31
- inputWitness.forEach((value, key) => {
32
- witnessMap = witnessMap.concat(`${key} = '${value}'\n`);
33
- });
34
- // In case the directory is still around from some time previously, remove it
35
- await fs.rm(workingDirectory, { recursive: true, force: true });
36
- // Create the new working directory
37
- await fs.mkdir(workingDirectory, { recursive: true });
38
- // Write the bytecode and input witness to the working directory
39
- await fs.writeFile(`${workingDirectory}/${bytecodeFilename}`, bytecode);
40
- await fs.writeFile(`${workingDirectory}/${witnessFilename}`, witnessMap);
41
- // Execute the ACVM using the given args
42
- const args = [
43
- `execute`,
44
- `--working-directory`,
45
- `${workingDirectory}`,
46
- `--bytecode`,
47
- `${bytecodeFilename}`,
48
- `--input-witness`,
49
- `${witnessFilename}`,
50
- `--print`,
51
- ];
52
- const processPromise = new Promise((resolve, reject) => {
53
- let outputWitness = Buffer.alloc(0);
54
- let errorBuffer = Buffer.alloc(0);
55
- const acvm = proc.spawn(pathToAcvm, args);
56
- acvm.stdout.on('data', data => {
57
- outputWitness = Buffer.concat([outputWitness, data]);
58
- });
59
- acvm.stderr.on('data', data => {
60
- errorBuffer = Buffer.concat([errorBuffer, data]);
61
- });
62
- acvm.on('close', code => {
63
- if (code === 0) {
64
- resolve(outputWitness.toString('utf-8'));
65
- }
66
- else {
67
- reject(errorBuffer.toString('utf-8'));
68
- }
69
- });
70
- });
71
- try {
72
- const output = await processPromise;
73
- return parseIntoWitnessMap(output);
74
- }
75
- finally {
76
- // Clean up the working directory before we leave
77
- await fs.rm(workingDirectory, { recursive: true, force: true });
78
- }
79
- }
80
- export class NativeACVMSimulator {
81
- constructor(workingDirectory, pathToAcvm) {
82
- this.workingDirectory = workingDirectory;
83
- this.pathToAcvm = pathToAcvm;
84
- }
85
- async simulateCircuit(input, compiledCircuit) {
86
- // Execute the circuit on those initial witness values
87
- // Decode the bytecode from base64 since the acvm does not know about base64 encoding
88
- const decodedBytecode = Buffer.from(compiledCircuit.bytecode, 'base64');
89
- // Provide a unique working directory so we don't get clashes with parallel executions
90
- const directory = `${this.workingDirectory}/${randomBytes(32).toString('hex')}`;
91
- // Execute the circuit
92
- const _witnessMap = await executeNativeCircuit(input, decodedBytecode, directory, this.pathToAcvm);
93
- return _witnessMap;
94
- }
95
- }
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN2bV9uYXRpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2ltdWxhdG9yL2Fjdm1fbmF0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUl2RCxPQUFPLEtBQUssSUFBSSxNQUFNLGVBQWUsQ0FBQztBQUN0QyxPQUFPLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFJN0I7Ozs7R0FJRztBQUNILFNBQVMsbUJBQW1CLENBQUMsWUFBb0I7SUFDL0MsTUFBTSxLQUFLLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2QyxPQUFPLElBQUksR0FBRyxDQUNaLEtBQUs7U0FDRixNQUFNLENBQUMsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7U0FDckMsR0FBRyxDQUFDLENBQUMsSUFBWSxFQUFFLEVBQUU7UUFDcEIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2pELE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN4RCxDQUFDLENBQUMsQ0FDTCxDQUFDO0FBQ0osQ0FBQztBQUVEOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLG9CQUFvQixDQUN4QyxZQUF3QixFQUN4QixRQUFnQixFQUNoQixnQkFBd0IsRUFDeEIsVUFBa0I7SUFFbEIsTUFBTSxnQkFBZ0IsR0FBRyxVQUFVLENBQUM7SUFDcEMsTUFBTSxlQUFlLEdBQUcsb0JBQW9CLENBQUM7SUFFN0MseUNBQXlDO0lBQ3pDLElBQUksVUFBVSxH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
@@ -1,7 +0,0 @@
1
- import { NoirCompiledCircuit } from '@aztec/types/noir';
2
- import { WitnessMap } from '@noir-lang/types';
3
- import { SimulationProvider } from './simulation_provider.js';
4
- export declare class WASMSimulator implements SimulationProvider {
5
- simulateCircuit(input: WitnessMap, compiledCircuit: NoirCompiledCircuit): Promise<WitnessMap>;
6
- }
7
- //# sourceMappingURL=acvm_wasm.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"acvm_wasm.d.ts","sourceRoot":"","sources":["../../src/simulator/acvm_wasm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAGxD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAW9D,qBAAa,aAAc,YAAW,kBAAkB;IAChD,eAAe,CAAC,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC;CAapG"}
@@ -1,23 +0,0 @@
1
- import { createBlackBoxSolver, executeCircuitWithBlackBoxSolver } from '@noir-lang/acvm_js';
2
- let solver;
3
- const getSolver = () => {
4
- if (!solver) {
5
- solver = createBlackBoxSolver();
6
- }
7
- return solver;
8
- };
9
- export class WASMSimulator {
10
- async simulateCircuit(input, compiledCircuit) {
11
- // Execute the circuit on those initial witness values
12
- //
13
- // Decode the bytecode from base64 since the acvm does not know about base64 encoding
14
- const decodedBytecode = Buffer.from(compiledCircuit.bytecode, 'base64');
15
- //
16
- // Execute the circuit
17
- const _witnessMap = await executeCircuitWithBlackBoxSolver(await getSolver(), decodedBytecode, input, () => {
18
- throw Error('unexpected oracle during execution');
19
- });
20
- return _witnessMap;
21
- }
22
- }
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN2bV93YXNtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NpbXVsYXRvci9hY3ZtX3dhc20udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUE4QixvQkFBb0IsRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBS3hILElBQUksTUFBMkMsQ0FBQztBQUVoRCxNQUFNLFNBQVMsR0FBRyxHQUF3QyxFQUFFO0lBQzFELElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNaLE1BQU0sR0FBRyxvQkFBb0IsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFDRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDLENBQUM7QUFFRixNQUFNLE9BQU8sYUFBYTtJQUN4QixLQUFLLENBQUMsZUFBZSxDQUFDLEtBQWlCLEVBQUUsZUFBb0M7UUFDM0Usc0RBQXNEO1FBQ3RELEVBQUU7UUFDRixxRkFBcUY7UUFDckYsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3hFLEVBQUU7UUFDRixzQkFBc0I7UUFDdEIsTUFBTSxXQUFXLEdBQUcsTUFBTSxnQ0FBZ0MsQ0FBQyxNQUFNLFNBQVMsRUFBRSxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFO1lBQ3pHLE1BQU0sS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7UUFDcEQsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDO0NBQ0YifQ==
@@ -1,43 +0,0 @@
1
- import { BaseOrMergeRollupPublicInputs, BaseParityInputs, BaseRollupInputs, MergeRollupInputs, ParityPublicInputs, RootParityInputs, RootRollupInputs, RootRollupPublicInputs } from '@aztec/circuits.js';
2
- import { RollupSimulator } from './index.js';
3
- import { SimulationProvider } from './simulation_provider.js';
4
- /**
5
- * Implements the rollup circuit simulator.
6
- */
7
- export declare class RealRollupCircuitSimulator implements RollupSimulator {
8
- private simulationProvider;
9
- private log;
10
- private wasmSimulator;
11
- constructor(simulationProvider: SimulationProvider);
12
- /**
13
- * Simulates the base parity circuit from its inputs.
14
- * @param inputs - Inputs to the circuit.
15
- * @returns The public inputs of the parity circuit.
16
- */
17
- baseParityCircuit(inputs: BaseParityInputs): Promise<ParityPublicInputs>;
18
- /**
19
- * Simulates the root parity circuit from its inputs.
20
- * @param inputs - Inputs to the circuit.
21
- * @returns The public inputs of the parity circuit.
22
- */
23
- rootParityCircuit(inputs: RootParityInputs): Promise<ParityPublicInputs>;
24
- /**
25
- * Simulates the base rollup circuit from its inputs.
26
- * @param input - Inputs to the circuit.
27
- * @returns The public inputs as outputs of the simulation.
28
- */
29
- baseRollupCircuit(input: BaseRollupInputs): Promise<BaseOrMergeRollupPublicInputs>;
30
- /**
31
- * Simulates the merge rollup circuit from its inputs.
32
- * @param input - Inputs to the circuit.
33
- * @returns The public inputs as outputs of the simulation.
34
- */
35
- mergeRollupCircuit(input: MergeRollupInputs): Promise<BaseOrMergeRollupPublicInputs>;
36
- /**
37
- * Simulates the root rollup circuit from its inputs.
38
- * @param input - Inputs to the circuit.
39
- * @returns The public inputs as outputs of the simulation.
40
- */
41
- rootRollupCircuit(input: RootRollupInputs): Promise<RootRollupPublicInputs>;
42
- }
43
- //# sourceMappingURL=rollup.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rollup.d.ts","sourceRoot":"","sources":["../../src/simulator/rollup.ts"],"names":[],"mappings":"AACA,OAAO,EACL,6BAA6B,EAC7B,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,sBAAsB,EACvB,MAAM,oBAAoB,CAAC;AAqB5B,OAAO,EAAE,eAAe,EAAiB,MAAM,YAAY,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D;;GAEG;AACH,qBAAa,0BAA2B,YAAW,eAAe;IAMpD,OAAO,CAAC,kBAAkB;IALtC,OAAO,CAAC,GAAG,CAA+C;IAG1D,OAAO,CAAC,aAAa,CAAsC;gBAEvC,kBAAkB,EAAE,kBAAkB;IAE1D;;;;OAIG;IACU,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAUrF;;;;OAIG;IACU,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAUrF;;;;OAIG;IACU,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAS/F;;;;OAIG;IACU,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAUjG;;;;OAIG;IACU,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,sBAAsB,CAAC;CAiBzF"}