@aztec/stdlib 0.81.0 → 0.82.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 (117) hide show
  1. package/dest/abi/abi.d.ts +5 -1
  2. package/dest/abi/abi.d.ts.map +1 -1
  3. package/dest/abi/abi.js +2 -1
  4. package/dest/auth_witness/auth_witness.d.ts +21 -0
  5. package/dest/auth_witness/auth_witness.d.ts.map +1 -1
  6. package/dest/auth_witness/auth_witness.js +29 -0
  7. package/dest/block/index.d.ts +0 -1
  8. package/dest/block/index.d.ts.map +1 -1
  9. package/dest/block/index.js +0 -1
  10. package/dest/block/l2_block_downloader/l2_block_stream.d.ts.map +1 -1
  11. package/dest/block/l2_block_downloader/l2_block_stream.js +0 -2
  12. package/dest/block/l2_block_source.d.ts +6 -0
  13. package/dest/block/l2_block_source.d.ts.map +1 -1
  14. package/dest/contract/interfaces/contract_data_source.d.ts +0 -5
  15. package/dest/contract/interfaces/contract_data_source.d.ts.map +1 -1
  16. package/dest/database-version/version_manager.d.ts +5 -0
  17. package/dest/database-version/version_manager.d.ts.map +1 -1
  18. package/dest/database-version/version_manager.js +7 -0
  19. package/dest/interfaces/archiver.d.ts +1 -2
  20. package/dest/interfaces/archiver.d.ts.map +1 -1
  21. package/dest/interfaces/archiver.js +1 -3
  22. package/dest/interfaces/aztec-node-admin.d.ts +20 -0
  23. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -0
  24. package/dest/interfaces/aztec-node-admin.js +16 -0
  25. package/dest/interfaces/aztec-node.d.ts +8 -38
  26. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  27. package/dest/interfaces/aztec-node.js +4 -12
  28. package/dest/interfaces/client.d.ts +1 -0
  29. package/dest/interfaces/client.d.ts.map +1 -1
  30. package/dest/interfaces/client.js +1 -0
  31. package/dest/interfaces/private_kernel_prover.d.ts +2 -3
  32. package/dest/interfaces/private_kernel_prover.d.ts.map +1 -1
  33. package/dest/interfaces/prover-node.d.ts +1 -2
  34. package/dest/interfaces/prover-node.d.ts.map +1 -1
  35. package/dest/interfaces/prover-node.js +5 -4
  36. package/dest/interfaces/pxe.d.ts +21 -39
  37. package/dest/interfaces/pxe.d.ts.map +1 -1
  38. package/dest/interfaces/pxe.js +10 -9
  39. package/dest/kernel/index.d.ts +1 -1
  40. package/dest/kernel/index.d.ts.map +1 -1
  41. package/dest/kernel/index.js +1 -1
  42. package/dest/kernel/private_kernel_prover_output.d.ts +49 -0
  43. package/dest/kernel/private_kernel_prover_output.d.ts.map +1 -0
  44. package/dest/kernel/private_kernel_prover_output.js +8 -0
  45. package/dest/kernel/private_kernel_simulated_output.d.ts +3 -7
  46. package/dest/kernel/private_kernel_simulated_output.d.ts.map +1 -1
  47. package/dest/logs/log_with_tx_data.js +2 -2
  48. package/dest/noir/index.d.ts +5 -1
  49. package/dest/noir/index.d.ts.map +1 -1
  50. package/dest/proofs/client_ivc_proof.d.ts +1 -2
  51. package/dest/proofs/client_ivc_proof.d.ts.map +1 -1
  52. package/dest/proofs/client_ivc_proof.js +6 -9
  53. package/dest/rollup/tube_inputs.d.ts +7 -2
  54. package/dest/rollup/tube_inputs.d.ts.map +1 -1
  55. package/dest/rollup/tube_inputs.js +10 -4
  56. package/dest/trees/nullifier_membership_witness.d.ts +4 -0
  57. package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
  58. package/dest/trees/nullifier_membership_witness.js +10 -0
  59. package/dest/trees/public_data_witness.d.ts +5 -5
  60. package/dest/trees/public_data_witness.d.ts.map +1 -1
  61. package/dest/trees/public_data_witness.js +13 -0
  62. package/dest/tx/index.d.ts +2 -0
  63. package/dest/tx/index.d.ts.map +1 -1
  64. package/dest/tx/index.js +2 -0
  65. package/dest/tx/private_execution_result.d.ts +4 -0
  66. package/dest/tx/private_execution_result.d.ts.map +1 -1
  67. package/dest/tx/private_execution_result.js +5 -0
  68. package/dest/tx/profiled_tx.d.ts +9 -0
  69. package/dest/tx/profiled_tx.d.ts.map +1 -0
  70. package/dest/tx/profiled_tx.js +27 -0
  71. package/dest/tx/proven_tx.d.ts +33 -0
  72. package/dest/tx/proven_tx.d.ts.map +1 -0
  73. package/dest/tx/proven_tx.js +35 -0
  74. package/dest/tx/simulated_tx.d.ts +8 -44
  75. package/dest/tx/simulated_tx.d.ts.map +1 -1
  76. package/dest/tx/simulated_tx.js +17 -40
  77. package/dest/tx/tx_receipt.d.ts +1 -30
  78. package/dest/tx/tx_receipt.d.ts.map +1 -1
  79. package/dest/tx/tx_receipt.js +3 -13
  80. package/package.json +6 -7
  81. package/src/abi/abi.ts +7 -2
  82. package/src/auth_witness/auth_witness.ts +29 -0
  83. package/src/block/index.ts +0 -1
  84. package/src/block/l2_block_downloader/l2_block_stream.ts +0 -2
  85. package/src/block/l2_block_source.ts +7 -0
  86. package/src/contract/interfaces/contract_data_source.ts +0 -6
  87. package/src/database-version/version_manager.ts +10 -0
  88. package/src/interfaces/archiver.ts +2 -8
  89. package/src/interfaces/aztec-node-admin.ts +39 -0
  90. package/src/interfaces/aztec-node.ts +9 -71
  91. package/src/interfaces/client.ts +1 -0
  92. package/src/interfaces/private_kernel_prover.ts +2 -3
  93. package/src/interfaces/prover-node.ts +2 -4
  94. package/src/interfaces/pxe.ts +34 -56
  95. package/src/kernel/index.ts +1 -1
  96. package/src/kernel/private_kernel_prover_output.ts +44 -0
  97. package/src/kernel/private_kernel_simulated_output.ts +4 -13
  98. package/src/logs/log_with_tx_data.ts +2 -2
  99. package/src/noir/index.ts +6 -1
  100. package/src/proofs/client_ivc_proof.ts +5 -15
  101. package/src/rollup/tube_inputs.ts +8 -4
  102. package/src/trees/nullifier_membership_witness.ts +12 -0
  103. package/src/trees/public_data_witness.ts +15 -0
  104. package/src/tx/index.ts +2 -0
  105. package/src/tx/private_execution_result.ts +7 -0
  106. package/src/tx/profiled_tx.ts +27 -0
  107. package/src/tx/proven_tx.ts +58 -0
  108. package/src/tx/simulated_tx.ts +11 -63
  109. package/src/tx/tx_receipt.ts +0 -36
  110. package/dest/block/nullifier_with_block_source.d.ts +0 -6
  111. package/dest/block/nullifier_with_block_source.d.ts.map +0 -1
  112. package/dest/block/nullifier_with_block_source.js +0 -1
  113. package/dest/kernel/private_kernel_prover_profile_result.d.ts +0 -25
  114. package/dest/kernel/private_kernel_prover_profile_result.d.ts.map +0 -1
  115. package/dest/kernel/private_kernel_prover_profile_result.js +0 -7
  116. package/src/block/nullifier_with_block_source.ts +0 -7
  117. package/src/kernel/private_kernel_prover_profile_result.ts +0 -7
@@ -48,6 +48,19 @@ import { PublicDataTreeLeafPreimage } from './public_data_leaf.js';
48
48
  ...this.siblingPath.toFields()
49
49
  ];
50
50
  }
51
+ /**
52
+ * Returns a representation of the public data witness as expected by intrinsic Noir deserialization.
53
+ */ toNoirRepresentation() {
54
+ // TODO(#12874): remove the stupid as string conversion by modifying ForeignCallOutput type in acvm.js
55
+ return [
56
+ new Fr(this.index).toString(),
57
+ new Fr(this.leafPreimage.slot).toString(),
58
+ new Fr(this.leafPreimage.value).toString(),
59
+ new Fr(this.leafPreimage.nextSlot).toString(),
60
+ new Fr(this.leafPreimage.nextIndex).toString(),
61
+ this.siblingPath.toFields().map((fr)=>fr.toString())
62
+ ];
63
+ }
51
64
  toBuffer() {
52
65
  return serializeToBuffer([
53
66
  this.index,
@@ -16,6 +16,8 @@ export * from './tx_hash.js';
16
16
  export * from './tx_receipt.js';
17
17
  export * from './tx.js';
18
18
  export * from './processed_tx.js';
19
+ export * from './proven_tx.js';
20
+ export * from './profiled_tx.js';
19
21
  export * from './simulated_tx.js';
20
22
  export * from './tx_effect.js';
21
23
  export * from './public_simulation_output.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tx/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,cAAc,CAAC;AAC7B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tx/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,cAAc,CAAC;AAC7B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC"}
package/dest/tx/index.js CHANGED
@@ -16,6 +16,8 @@ export * from './tx_hash.js';
16
16
  export * from './tx_receipt.js';
17
17
  export * from './tx.js';
18
18
  export * from './processed_tx.js';
19
+ export * from './proven_tx.js';
20
+ export * from './profiled_tx.js';
19
21
  export * from './simulated_tx.js';
20
22
  export * from './tx_effect.js';
21
23
  export * from './public_simulation_output.js';
@@ -98,6 +98,10 @@ export declare class PrivateExecutionResult {
98
98
  static get schema(): ZodFor<PrivateExecutionResult>;
99
99
  static from(fields: FieldsOf<PrivateExecutionResult>): PrivateExecutionResult;
100
100
  static random(nested?: number): Promise<PrivateExecutionResult>;
101
+ /**
102
+ * The block number that this execution was simulated with.
103
+ */
104
+ getSimulationBlockNumber(): number;
101
105
  }
102
106
  /**
103
107
  * The result of executing a call to a private function.
@@ -1 +1 @@
1
- {"version":3,"file":"private_execution_result.d.ts","sourceRoot":"","sources":["../../src/tx/private_execution_result.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"private_execution_result.d.ts","sourceRoot":"","sources":["../../src/tx/private_execution_result.ts"],"names":[],"mappings":"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"}
@@ -96,6 +96,11 @@ export class PrivateExecutionResult {
96
96
  static async random(nested = 1) {
97
97
  return new PrivateExecutionResult(await PrivateCallExecutionResult.random(nested), Fr.random());
98
98
  }
99
+ /**
100
+ * The block number that this execution was simulated with.
101
+ */ getSimulationBlockNumber() {
102
+ return this.entrypoint.publicInputs.historicalHeader.globalVariables.blockNumber.toNumber();
103
+ }
99
104
  }
100
105
  /**
101
106
  * The result of executing a call to a private function.
@@ -0,0 +1,9 @@
1
+ import type { ZodFor } from '@aztec/foundation/schemas';
2
+ import { type PrivateExecutionStep } from '../kernel/private_kernel_prover_output.js';
3
+ export declare class TxProfileResult {
4
+ executionSteps: PrivateExecutionStep[];
5
+ constructor(executionSteps: PrivateExecutionStep[]);
6
+ static get schema(): ZodFor<TxProfileResult>;
7
+ static random(): TxProfileResult;
8
+ }
9
+ //# sourceMappingURL=profiled_tx.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profiled_tx.d.ts","sourceRoot":"","sources":["../../src/tx/profiled_tx.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAIxD,OAAO,EAAE,KAAK,oBAAoB,EAA8B,MAAM,2CAA2C,CAAC;AAElH,qBAAa,eAAe;IACP,cAAc,EAAE,oBAAoB,EAAE;gBAAtC,cAAc,EAAE,oBAAoB,EAAE;IAEzD,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,eAAe,CAAC,CAM3C;IAED,MAAM,CAAC,MAAM,IAAI,eAAe;CASjC"}
@@ -0,0 +1,27 @@
1
+ import { z } from 'zod';
2
+ import { PrivateExecutionStepSchema } from '../kernel/private_kernel_prover_output.js';
3
+ export class TxProfileResult {
4
+ executionSteps;
5
+ constructor(executionSteps){
6
+ this.executionSteps = executionSteps;
7
+ }
8
+ static get schema() {
9
+ return z.object({
10
+ executionSteps: z.array(PrivateExecutionStepSchema)
11
+ }).transform(({ executionSteps })=>new TxProfileResult(executionSteps));
12
+ }
13
+ static random() {
14
+ return new TxProfileResult([
15
+ {
16
+ functionName: 'random',
17
+ bytecode: Buffer.from('random'),
18
+ witness: new Map([
19
+ [
20
+ 1,
21
+ 'random'
22
+ ]
23
+ ])
24
+ }
25
+ ]);
26
+ }
27
+ }
@@ -0,0 +1,33 @@
1
+ import type { FieldsOf } from '@aztec/foundation/types';
2
+ import { z } from 'zod';
3
+ import { PrivateKernelTailCircuitPublicInputs } from '../kernel/private_kernel_tail_circuit_public_inputs.js';
4
+ import { ClientIvcProof } from '../proofs/client_ivc_proof.js';
5
+ import { PrivateExecutionResult } from './private_execution_result.js';
6
+ import { Tx } from './tx.js';
7
+ export declare class TxProvingResult {
8
+ privateExecutionResult: PrivateExecutionResult;
9
+ publicInputs: PrivateKernelTailCircuitPublicInputs;
10
+ clientIvcProof: ClientIvcProof;
11
+ constructor(privateExecutionResult: PrivateExecutionResult, publicInputs: PrivateKernelTailCircuitPublicInputs, clientIvcProof: ClientIvcProof);
12
+ toTx(): Tx;
13
+ static get schema(): z.ZodEffects<z.ZodObject<{
14
+ privateExecutionResult: import("@aztec/foundation/schemas").ZodFor<PrivateExecutionResult>;
15
+ publicInputs: z.ZodType<PrivateKernelTailCircuitPublicInputs, any, string>;
16
+ clientIvcProof: z.ZodType<ClientIvcProof, any, string>;
17
+ }, "strip", z.ZodTypeAny, {
18
+ publicInputs: PrivateKernelTailCircuitPublicInputs;
19
+ clientIvcProof: ClientIvcProof;
20
+ privateExecutionResult: PrivateExecutionResult;
21
+ }, {
22
+ publicInputs: string;
23
+ clientIvcProof: string;
24
+ privateExecutionResult?: any;
25
+ }>, TxProvingResult, {
26
+ publicInputs: string;
27
+ clientIvcProof: string;
28
+ privateExecutionResult?: any;
29
+ }>;
30
+ static from(fields: FieldsOf<TxProvingResult>): TxProvingResult;
31
+ static random(): Promise<TxProvingResult>;
32
+ }
33
+ //# sourceMappingURL=proven_tx.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proven_tx.d.ts","sourceRoot":"","sources":["../../src/tx/proven_tx.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,oCAAoC,EAAE,MAAM,wDAAwD,CAAC;AAC9G,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EACL,sBAAsB,EAIvB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAE7B,qBAAa,eAAe;IAEjB,sBAAsB,EAAE,sBAAsB;IAC9C,YAAY,EAAE,oCAAoC;IAClD,cAAc,EAAE,cAAc;gBAF9B,sBAAsB,EAAE,sBAAsB,EAC9C,YAAY,EAAE,oCAAoC,EAClD,cAAc,EAAE,cAAc;IAGvC,IAAI,IAAI,EAAE;IAeV,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;OAQhB;IAED,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,eAAe,CAAC;WAIhC,MAAM;CAOpB"}
@@ -0,0 +1,35 @@
1
+ import { z } from 'zod';
2
+ import { PrivateKernelTailCircuitPublicInputs } from '../kernel/private_kernel_tail_circuit_public_inputs.js';
3
+ import { ClientIvcProof } from '../proofs/client_ivc_proof.js';
4
+ import { PrivateExecutionResult, collectEnqueuedPublicFunctionCalls, collectPublicTeardownFunctionCall, collectSortedContractClassLogs } from './private_execution_result.js';
5
+ import { Tx } from './tx.js';
6
+ export class TxProvingResult {
7
+ privateExecutionResult;
8
+ publicInputs;
9
+ clientIvcProof;
10
+ constructor(privateExecutionResult, publicInputs, clientIvcProof){
11
+ this.privateExecutionResult = privateExecutionResult;
12
+ this.publicInputs = publicInputs;
13
+ this.clientIvcProof = clientIvcProof;
14
+ }
15
+ toTx() {
16
+ const contractClassLogs = collectSortedContractClassLogs(this.privateExecutionResult);
17
+ const enqueuedPublicFunctions = collectEnqueuedPublicFunctionCalls(this.privateExecutionResult);
18
+ const teardownPublicFunction = collectPublicTeardownFunctionCall(this.privateExecutionResult);
19
+ const tx = new Tx(this.publicInputs, this.clientIvcProof, contractClassLogs, enqueuedPublicFunctions, teardownPublicFunction);
20
+ return tx;
21
+ }
22
+ static get schema() {
23
+ return z.object({
24
+ privateExecutionResult: PrivateExecutionResult.schema,
25
+ publicInputs: PrivateKernelTailCircuitPublicInputs.schema,
26
+ clientIvcProof: ClientIvcProof.schema
27
+ }).transform(TxProvingResult.from);
28
+ }
29
+ static from(fields) {
30
+ return new TxProvingResult(fields.privateExecutionResult, fields.publicInputs, fields.clientIvcProof);
31
+ }
32
+ static async random() {
33
+ return new TxProvingResult(await PrivateExecutionResult.random(), PrivateKernelTailCircuitPublicInputs.empty(), ClientIvcProof.empty());
34
+ }
35
+ }
@@ -1,10 +1,7 @@
1
1
  import type { ZodFor } from '@aztec/foundation/schemas';
2
2
  import type { FieldsOf } from '@aztec/foundation/types';
3
- import { z } from 'zod';
4
3
  import type { GasUsed } from '../gas/gas_used.js';
5
- import { type PrivateKernelProverProfileResult } from '../kernel/private_kernel_prover_profile_result.js';
6
4
  import { PrivateKernelTailCircuitPublicInputs } from '../kernel/private_kernel_tail_circuit_public_inputs.js';
7
- import { ClientIvcProof } from '../proofs/client_ivc_proof.js';
8
5
  import { PrivateExecutionResult } from './private_execution_result.js';
9
6
  import { NestedProcessReturnValues, PublicSimulationOutput } from './public_simulation_output.js';
10
7
  import { Tx } from './tx.js';
@@ -15,52 +12,19 @@ export declare class PrivateSimulationResult {
15
12
  getPrivateReturnValues(): NestedProcessReturnValues;
16
13
  toSimulatedTx(): Tx;
17
14
  }
18
- export declare class TxSimulationResult extends PrivateSimulationResult {
15
+ export declare class TxSimulationResult {
16
+ privateExecutionResult: PrivateExecutionResult;
17
+ publicInputs: PrivateKernelTailCircuitPublicInputs;
19
18
  publicOutput?: PublicSimulationOutput | undefined;
20
- profileResult?: {
21
- gateCounts: {
22
- circuitName: string;
23
- gateCount: number;
24
- }[];
25
- } | undefined;
26
- constructor(privateExecutionResult: PrivateExecutionResult, publicInputs: PrivateKernelTailCircuitPublicInputs, publicOutput?: PublicSimulationOutput | undefined, profileResult?: {
27
- gateCounts: {
28
- circuitName: string;
29
- gateCount: number;
30
- }[];
31
- } | undefined);
19
+ constructor(privateExecutionResult: PrivateExecutionResult, publicInputs: PrivateKernelTailCircuitPublicInputs, publicOutput?: PublicSimulationOutput | undefined);
32
20
  get gasUsed(): GasUsed;
33
21
  static get schema(): ZodFor<TxSimulationResult>;
34
22
  static from(fields: Omit<FieldsOf<TxSimulationResult>, 'gasUsed'>): TxSimulationResult;
35
- getPublicReturnValues(): NestedProcessReturnValues[];
36
- static fromPrivateSimulationResultAndPublicOutput(privateSimulationResult: PrivateSimulationResult, publicOutput?: PublicSimulationOutput, profileResult?: PrivateKernelProverProfileResult): TxSimulationResult;
23
+ static fromPrivateSimulationResultAndPublicOutput(privateSimulationResult: PrivateSimulationResult, publicOutput?: PublicSimulationOutput): TxSimulationResult;
37
24
  static random(): Promise<TxSimulationResult>;
38
- }
39
- export declare class TxProvingResult {
40
- privateExecutionResult: PrivateExecutionResult;
41
- publicInputs: PrivateKernelTailCircuitPublicInputs;
42
- clientIvcProof: ClientIvcProof;
43
- constructor(privateExecutionResult: PrivateExecutionResult, publicInputs: PrivateKernelTailCircuitPublicInputs, clientIvcProof: ClientIvcProof);
44
- toTx(): Tx;
45
- static get schema(): z.ZodEffects<z.ZodObject<{
46
- privateExecutionResult: ZodFor<PrivateExecutionResult>;
47
- publicInputs: z.ZodType<PrivateKernelTailCircuitPublicInputs, any, string>;
48
- clientIvcProof: z.ZodType<ClientIvcProof, any, string>;
49
- }, "strip", z.ZodTypeAny, {
50
- publicInputs: PrivateKernelTailCircuitPublicInputs;
51
- clientIvcProof: ClientIvcProof;
52
- privateExecutionResult: PrivateExecutionResult;
53
- }, {
54
- publicInputs: string;
55
- clientIvcProof: string;
56
- privateExecutionResult?: any;
57
- }>, TxProvingResult, {
58
- publicInputs: string;
59
- clientIvcProof: string;
60
- privateExecutionResult?: any;
61
- }>;
62
- static from(fields: FieldsOf<TxProvingResult>): TxProvingResult;
63
- static random(): Promise<TxProvingResult>;
25
+ getPrivateReturnValues(): NestedProcessReturnValues;
26
+ toSimulatedTx(): Tx;
27
+ getPublicReturnValues(): NestedProcessReturnValues[];
64
28
  }
65
29
  /**
66
30
  * Recursively accummulate the return values of a call result and its nested executions,
@@ -1 +1 @@
1
- {"version":3,"file":"simulated_tx.d.ts","sourceRoot":"","sources":["../../src/tx/simulated_tx.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EACL,KAAK,gCAAgC,EAEtC,MAAM,mDAAmD,CAAC;AAC3D,OAAO,EAAE,oCAAoC,EAAE,MAAM,wDAAwD,CAAC;AAC9G,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAEL,sBAAsB,EAIvB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAClG,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAE7B,qBAAa,uBAAuB;IAEzB,sBAAsB,EAAE,sBAAsB;IAC9C,YAAY,EAAE,oCAAoC;gBADlD,sBAAsB,EAAE,sBAAsB,EAC9C,YAAY,EAAE,oCAAoC;IAG3D,sBAAsB;IAItB,aAAa,IAAI,EAAE;CAcpB;AAED,qBAAa,kBAAmB,SAAQ,uBAAuB;IAIpD,YAAY,CAAC;IACb,aAAa,CAAC;;;;;;gBAHrB,sBAAsB,EAAE,sBAAsB,EAC9C,YAAY,EAAE,oCAAoC,EAC3C,YAAY,CAAC,oCAAwB,EACrC,aAAa,CAAC;;;;;iBAAkC;IAKzD,IAAI,OAAO,IAAI,OAAO,CASrB;IAED,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,kBAAkB,CAAC,CAS9C;IAED,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,SAAS,CAAC;IASjE,qBAAqB;IAIrB,MAAM,CAAC,0CAA0C,CAC/C,uBAAuB,EAAE,uBAAuB,EAChD,YAAY,CAAC,EAAE,sBAAsB,EACrC,aAAa,CAAC,EAAE,gCAAgC;WAUrC,MAAM;CAOpB;AAED,qBAAa,eAAe;IAEjB,sBAAsB,EAAE,sBAAsB;IAC9C,YAAY,EAAE,oCAAoC;IAClD,cAAc,EAAE,cAAc;gBAF9B,sBAAsB,EAAE,sBAAsB,EAC9C,YAAY,EAAE,oCAAoC,EAClD,cAAc,EAAE,cAAc;IAGvC,IAAI,IAAI,EAAE;IAeV,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;OAQhB;IAED,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,eAAe,CAAC;WAIhC,MAAM;CAOpB;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,eAAe,EAAE,sBAAsB,GAAG,yBAAyB,CAWhH"}
1
+ {"version":3,"file":"simulated_tx.d.ts","sourceRoot":"","sources":["../../src/tx/simulated_tx.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAKxD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,oCAAoC,EAAE,MAAM,wDAAwD,CAAC;AAE9G,OAAO,EAEL,sBAAsB,EAIvB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAClG,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAE7B,qBAAa,uBAAuB;IAEzB,sBAAsB,EAAE,sBAAsB;IAC9C,YAAY,EAAE,oCAAoC;gBADlD,sBAAsB,EAAE,sBAAsB,EAC9C,YAAY,EAAE,oCAAoC;IAG3D,sBAAsB;IAItB,aAAa,IAAI,EAAE;CAcpB;AAED,qBAAa,kBAAkB;IAEpB,sBAAsB,EAAE,sBAAsB;IAC9C,YAAY,EAAE,oCAAoC;IAClD,YAAY,CAAC;gBAFb,sBAAsB,EAAE,sBAAsB,EAC9C,YAAY,EAAE,oCAAoC,EAClD,YAAY,CAAC,oCAAwB;IAG9C,IAAI,OAAO,IAAI,OAAO,CASrB;IAED,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,kBAAkB,CAAC,CAQ9C;IAED,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,SAAS,CAAC;IAIjE,MAAM,CAAC,0CAA0C,CAC/C,uBAAuB,EAAE,uBAAuB,EAChD,YAAY,CAAC,EAAE,sBAAsB;WAS1B,MAAM;IAQnB,sBAAsB;IAItB,aAAa,IAAI,EAAE;IAInB,qBAAqB;CAGtB;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,eAAe,EAAE,sBAAsB,GAAG,yBAAyB,CAWhH"}
@@ -1,6 +1,5 @@
1
1
  import { z } from 'zod';
2
2
  import { Gas } from '../gas/gas.js';
3
- import { PrivateKernelProverProfileResultSchema } from '../kernel/private_kernel_prover_profile_result.js';
4
3
  import { PrivateKernelTailCircuitPublicInputs } from '../kernel/private_kernel_tail_circuit_public_inputs.js';
5
4
  import { ClientIvcProof } from '../proofs/client_ivc_proof.js';
6
5
  import { PrivateExecutionResult, collectEnqueuedPublicFunctionCalls, collectPublicTeardownFunctionCall, collectSortedContractClassLogs } from './private_execution_result.js';
@@ -24,11 +23,14 @@ export class PrivateSimulationResult {
24
23
  return tx;
25
24
  }
26
25
  }
27
- export class TxSimulationResult extends PrivateSimulationResult {
26
+ export class TxSimulationResult {
27
+ privateExecutionResult;
28
+ publicInputs;
28
29
  publicOutput;
29
- profileResult;
30
- constructor(privateExecutionResult, publicInputs, publicOutput, profileResult){
31
- super(privateExecutionResult, publicInputs), this.publicOutput = publicOutput, this.profileResult = profileResult;
30
+ constructor(privateExecutionResult, publicInputs, publicOutput){
31
+ this.privateExecutionResult = privateExecutionResult;
32
+ this.publicInputs = publicInputs;
33
+ this.publicOutput = publicOutput;
32
34
  }
33
35
  get gasUsed() {
34
36
  return this.publicOutput?.gasUsed ?? {
@@ -42,51 +44,26 @@ export class TxSimulationResult extends PrivateSimulationResult {
42
44
  return z.object({
43
45
  privateExecutionResult: PrivateExecutionResult.schema,
44
46
  publicInputs: PrivateKernelTailCircuitPublicInputs.schema,
45
- publicOutput: PublicSimulationOutput.schema.optional(),
46
- profileResult: PrivateKernelProverProfileResultSchema.optional()
47
+ publicOutput: PublicSimulationOutput.schema.optional()
47
48
  }).transform(TxSimulationResult.from);
48
49
  }
49
50
  static from(fields) {
50
- return new TxSimulationResult(fields.privateExecutionResult, fields.publicInputs, fields.publicOutput, fields.profileResult);
51
- }
52
- getPublicReturnValues() {
53
- return this.publicOutput ? this.publicOutput.publicReturnValues : [];
51
+ return new TxSimulationResult(fields.privateExecutionResult, fields.publicInputs, fields.publicOutput);
54
52
  }
55
- static fromPrivateSimulationResultAndPublicOutput(privateSimulationResult, publicOutput, profileResult) {
56
- return new TxSimulationResult(privateSimulationResult.privateExecutionResult, privateSimulationResult.publicInputs, publicOutput, profileResult);
53
+ static fromPrivateSimulationResultAndPublicOutput(privateSimulationResult, publicOutput) {
54
+ return new TxSimulationResult(privateSimulationResult.privateExecutionResult, privateSimulationResult.publicInputs, publicOutput);
57
55
  }
58
56
  static async random() {
59
57
  return new TxSimulationResult(await PrivateExecutionResult.random(), PrivateKernelTailCircuitPublicInputs.empty(), await PublicSimulationOutput.random());
60
58
  }
61
- }
62
- export class TxProvingResult {
63
- privateExecutionResult;
64
- publicInputs;
65
- clientIvcProof;
66
- constructor(privateExecutionResult, publicInputs, clientIvcProof){
67
- this.privateExecutionResult = privateExecutionResult;
68
- this.publicInputs = publicInputs;
69
- this.clientIvcProof = clientIvcProof;
70
- }
71
- toTx() {
72
- const contractClassLogs = collectSortedContractClassLogs(this.privateExecutionResult);
73
- const enqueuedPublicFunctions = collectEnqueuedPublicFunctionCalls(this.privateExecutionResult);
74
- const teardownPublicFunction = collectPublicTeardownFunctionCall(this.privateExecutionResult);
75
- const tx = new Tx(this.publicInputs, this.clientIvcProof, contractClassLogs, enqueuedPublicFunctions, teardownPublicFunction);
76
- return tx;
77
- }
78
- static get schema() {
79
- return z.object({
80
- privateExecutionResult: PrivateExecutionResult.schema,
81
- publicInputs: PrivateKernelTailCircuitPublicInputs.schema,
82
- clientIvcProof: ClientIvcProof.schema
83
- }).transform(TxProvingResult.from);
59
+ getPrivateReturnValues() {
60
+ return new PrivateSimulationResult(this.privateExecutionResult, this.publicInputs).getPrivateReturnValues();
84
61
  }
85
- static from(fields) {
86
- return new TxProvingResult(fields.privateExecutionResult, fields.publicInputs, fields.clientIvcProof);
62
+ toSimulatedTx() {
63
+ return new PrivateSimulationResult(this.privateExecutionResult, this.publicInputs).toSimulatedTx();
87
64
  }
88
- static async random() {
89
- return new TxProvingResult(await PrivateExecutionResult.random(), PrivateKernelTailCircuitPublicInputs.empty(), ClientIvcProof.empty());
65
+ getPublicReturnValues() {
66
+ return this.publicOutput ? this.publicOutput.publicReturnValues : [];
90
67
  }
91
68
  }
92
69
  /**
@@ -1,6 +1,4 @@
1
- import type { Fr } from '@aztec/foundation/fields';
2
1
  import type { FieldsOf } from '@aztec/foundation/types';
3
- import { PublicDataWrite } from '../avm/public_data_write.js';
4
2
  import { RevertCode } from '../avm/revert_code.js';
5
3
  import { L2BlockHash } from '../block/block_hash.js';
6
4
  import { type ZodFor } from '../schemas/schemas.js';
@@ -35,8 +33,6 @@ export declare class TxReceipt {
35
33
  blockHash?: L2BlockHash | undefined;
36
34
  /** The block number in which the transaction was included. */
37
35
  blockNumber?: number | undefined;
38
- /** Information useful for testing/debugging, set when test flag is set to true in `waitOpts`. */
39
- debugInfo?: DebugInfo | undefined;
40
36
  constructor(
41
37
  /** A unique identifier for a transaction. */
42
38
  txHash: TxHash,
@@ -49,35 +45,10 @@ export declare class TxReceipt {
49
45
  /** The hash of the block containing the transaction. */
50
46
  blockHash?: L2BlockHash | undefined,
51
47
  /** The block number in which the transaction was included. */
52
- blockNumber?: number | undefined,
53
- /** Information useful for testing/debugging, set when test flag is set to true in `waitOpts`. */
54
- debugInfo?: DebugInfo | undefined);
48
+ blockNumber?: number | undefined);
55
49
  static empty(): TxReceipt;
56
50
  static get schema(): ZodFor<TxReceipt>;
57
51
  static from(fields: FieldsOf<TxReceipt>): TxReceipt;
58
52
  static statusFromRevertCode(revertCode: RevertCode): TxStatus.SUCCESS | TxStatus.APP_LOGIC_REVERTED | TxStatus.TEARDOWN_REVERTED | TxStatus.BOTH_REVERTED;
59
53
  }
60
- /**
61
- * Information useful for debugging/testing purposes included in the receipt when the debug flag is set to true
62
- * in `WaitOpts`.
63
- */
64
- interface DebugInfo {
65
- /**
66
- * New note hashes created by the transaction.
67
- */
68
- noteHashes: Fr[];
69
- /**
70
- * New nullifiers created by the transaction.
71
- */
72
- nullifiers: Fr[];
73
- /**
74
- * New public data writes created by the transaction.
75
- */
76
- publicDataWrites: PublicDataWrite[];
77
- /**
78
- * New L2 to L1 messages created by the transaction.
79
- */
80
- l2ToL1Msgs: Fr[];
81
- }
82
- export {};
83
54
  //# sourceMappingURL=tx_receipt.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tx_receipt.d.ts","sourceRoot":"","sources":["../../src/tx/tx_receipt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAIxD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,KAAK,MAAM,EAAW,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC;;GAEG;AACH,oBAAY,QAAQ;IAClB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,kBAAkB,uBAAuB;IACzC,iBAAiB,sBAAsB;IACvC,aAAa,kBAAkB;CAChC;AAED;;;;;GAKG;AACH,qBAAa,SAAS;IAElB,6CAA6C;IACtC,MAAM,EAAE,MAAM;IACrB,gCAAgC;IACzB,MAAM,EAAE,QAAQ;IACvB,gDAAgD;IACzC,KAAK,EAAE,MAAM;IACpB,oDAAoD;IAC7C,cAAc,CAAC;IACtB,wDAAwD;IACjD,SAAS,CAAC;IACjB,8DAA8D;IACvD,WAAW,CAAC;IACnB,iGAAiG;IAC1F,SAAS,CAAC;;IAbjB,6CAA6C;IACtC,MAAM,EAAE,MAAM;IACrB,gCAAgC;IACzB,MAAM,EAAE,QAAQ;IACvB,gDAAgD;IACzC,KAAK,EAAE,MAAM;IACpB,oDAAoD;IAC7C,cAAc,CAAC,oBAAQ;IAC9B,wDAAwD;IACjD,SAAS,CAAC,yBAAa;IAC9B,8DAA8D;IACvD,WAAW,CAAC,oBAAQ;IAC3B,iGAAiG;IAC1F,SAAS,CAAC,uBAAW;IAG9B,MAAM,CAAC,KAAK;IAIZ,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,SAAS,CAAC,CAYrC;IAED,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC;WAYzB,oBAAoB,CAAC,UAAU,EAAE,UAAU;CAa1D;AAED;;;GAGG;AACH,UAAU,SAAS;IACjB;;OAEG;IACH,UAAU,EAAE,EAAE,EAAE,CAAC;IACjB;;OAEG;IACH,UAAU,EAAE,EAAE,EAAE,CAAC;IACjB;;OAEG;IACH,gBAAgB,EAAE,eAAe,EAAE,CAAC;IACpC;;OAEG;IACH,UAAU,EAAE,EAAE,EAAE,CAAC;CAClB"}
1
+ {"version":3,"file":"tx_receipt.d.ts","sourceRoot":"","sources":["../../src/tx/tx_receipt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAIxD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,KAAK,MAAM,EAAW,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC;;GAEG;AACH,oBAAY,QAAQ;IAClB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,kBAAkB,uBAAuB;IACzC,iBAAiB,sBAAsB;IACvC,aAAa,kBAAkB;CAChC;AAED;;;;;GAKG;AACH,qBAAa,SAAS;IAElB,6CAA6C;IACtC,MAAM,EAAE,MAAM;IACrB,gCAAgC;IACzB,MAAM,EAAE,QAAQ;IACvB,gDAAgD;IACzC,KAAK,EAAE,MAAM;IACpB,oDAAoD;IAC7C,cAAc,CAAC;IACtB,wDAAwD;IACjD,SAAS,CAAC;IACjB,8DAA8D;IACvD,WAAW,CAAC;;IAXnB,6CAA6C;IACtC,MAAM,EAAE,MAAM;IACrB,gCAAgC;IACzB,MAAM,EAAE,QAAQ;IACvB,gDAAgD;IACzC,KAAK,EAAE,MAAM;IACpB,oDAAoD;IAC7C,cAAc,CAAC,oBAAQ;IAC9B,wDAAwD;IACjD,SAAS,CAAC,yBAAa;IAC9B,8DAA8D;IACvD,WAAW,CAAC,oBAAQ;IAG7B,MAAM,CAAC,KAAK;IAIZ,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,SAAS,CAAC,CAWrC;IAED,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC;WAWzB,oBAAoB,CAAC,UAAU,EAAE,UAAU;CAa1D"}
@@ -1,5 +1,4 @@
1
1
  import { z } from 'zod';
2
- import { PublicDataWrite } from '../avm/public_data_write.js';
3
2
  import { RevertCode } from '../avm/revert_code.js';
4
3
  import { L2BlockHash } from '../block/block_hash.js';
5
4
  import { schemas } from '../schemas/schemas.js';
@@ -27,15 +26,13 @@ import { TxHash } from './tx_hash.js';
27
26
  transactionFee;
28
27
  blockHash;
29
28
  blockNumber;
30
- debugInfo;
31
- constructor(/** A unique identifier for a transaction. */ txHash, /** The transaction's status. */ status, /** Description of transaction error, if any. */ error, /** The transaction fee paid for the transaction. */ transactionFee, /** The hash of the block containing the transaction. */ blockHash, /** The block number in which the transaction was included. */ blockNumber, /** Information useful for testing/debugging, set when test flag is set to true in `waitOpts`. */ debugInfo){
29
+ constructor(/** A unique identifier for a transaction. */ txHash, /** The transaction's status. */ status, /** Description of transaction error, if any. */ error, /** The transaction fee paid for the transaction. */ transactionFee, /** The hash of the block containing the transaction. */ blockHash, /** The block number in which the transaction was included. */ blockNumber){
32
30
  this.txHash = txHash;
33
31
  this.status = status;
34
32
  this.error = error;
35
33
  this.transactionFee = transactionFee;
36
34
  this.blockHash = blockHash;
37
35
  this.blockNumber = blockNumber;
38
- this.debugInfo = debugInfo;
39
36
  }
40
37
  static empty() {
41
38
  return new TxReceipt(TxHash.zero(), "dropped", '');
@@ -47,12 +44,11 @@ import { TxHash } from './tx_hash.js';
47
44
  error: z.string(),
48
45
  blockHash: L2BlockHash.schema.optional(),
49
46
  blockNumber: z.number().int().nonnegative().optional(),
50
- transactionFee: schemas.BigInt.optional(),
51
- debugInfo: DebugInfoSchema.optional()
47
+ transactionFee: schemas.BigInt.optional()
52
48
  }).transform(TxReceipt.from);
53
49
  }
54
50
  static from(fields) {
55
- return new TxReceipt(fields.txHash, fields.status, fields.error, fields.transactionFee, fields.blockHash, fields.blockNumber, fields.debugInfo);
51
+ return new TxReceipt(fields.txHash, fields.status, fields.error, fields.transactionFee, fields.blockHash, fields.blockNumber);
56
52
  }
57
53
  static statusFromRevertCode(revertCode) {
58
54
  if (revertCode.equals(RevertCode.OK)) {
@@ -68,9 +64,3 @@ import { TxHash } from './tx_hash.js';
68
64
  }
69
65
  }
70
66
  }
71
- const DebugInfoSchema = z.object({
72
- noteHashes: z.array(schemas.Fr),
73
- nullifiers: z.array(schemas.Fr),
74
- publicDataWrites: z.array(PublicDataWrite.schema),
75
- l2ToL1Msgs: z.array(schemas.Fr)
76
- });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec/stdlib",
3
- "version": "0.81.0",
3
+ "version": "0.82.0",
4
4
  "type": "module",
5
5
  "inherits": [
6
6
  "../package.common.json",
@@ -13,7 +13,6 @@
13
13
  "./keys": "./dest/keys/index.js",
14
14
  "./testing": "./dest/tests/index.js",
15
15
  "./testing/fixtures": "./dest/tests/fixtures.js",
16
- "./interfaces": "./dest/interfaces/index.js",
17
16
  "./network": "./dest/network/index.js",
18
17
  "./utils": "./dest/utils/index.js",
19
18
  "./types": "./dest/types/index.js",
@@ -66,11 +65,11 @@
66
65
  "test": "NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --passWithNoTests --maxWorkers=${JEST_MAX_WORKERS:-8}"
67
66
  },
68
67
  "dependencies": {
69
- "@aztec/bb.js": "0.81.0",
70
- "@aztec/blob-lib": "0.81.0",
71
- "@aztec/constants": "0.81.0",
72
- "@aztec/ethereum": "0.81.0",
73
- "@aztec/foundation": "0.81.0",
68
+ "@aztec/bb.js": "0.82.0",
69
+ "@aztec/blob-lib": "0.82.0",
70
+ "@aztec/constants": "0.82.0",
71
+ "@aztec/ethereum": "0.82.0",
72
+ "@aztec/foundation": "0.82.0",
74
73
  "lodash.chunk": "^4.2.0",
75
74
  "lodash.isequal": "^4.5.0",
76
75
  "lodash.omit": "^4.5.0",
package/src/abi/abi.ts CHANGED
@@ -231,6 +231,11 @@ export interface FunctionArtifact extends FunctionAbi {
231
231
  debug?: FunctionDebugMetadata;
232
232
  }
233
233
 
234
+ export interface FunctionArtifactWithContractName extends FunctionArtifact {
235
+ /** The name of the contract. */
236
+ contractName: string;
237
+ }
238
+
234
239
  export const FunctionArtifactSchema = FunctionAbiSchema.and(
235
240
  z.object({
236
241
  bytecode: schemas.Buffer,
@@ -395,7 +400,7 @@ export function getFunctionArtifactByName(artifact: ContractArtifact, functionNa
395
400
  export async function getFunctionArtifact(
396
401
  artifact: ContractArtifact,
397
402
  functionNameOrSelector: string | FunctionSelector,
398
- ): Promise<FunctionArtifact> {
403
+ ): Promise<FunctionArtifactWithContractName> {
399
404
  let functionArtifact;
400
405
  if (typeof functionNameOrSelector === 'string') {
401
406
  functionArtifact = artifact.functions.find(f => f.name === functionNameOrSelector);
@@ -416,7 +421,7 @@ export async function getFunctionArtifact(
416
421
 
417
422
  const debugMetadata = getFunctionDebugMetadata(artifact, functionArtifact);
418
423
 
419
- return { ...functionArtifact, debug: debugMetadata };
424
+ return { ...functionArtifact, debug: debugMetadata, contractName: artifact.name };
420
425
  }
421
426
 
422
427
  /** Gets all function abis */
@@ -1,7 +1,10 @@
1
+ import { GeneratorIndex } from '@aztec/constants';
2
+ import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto';
1
3
  import { Fr } from '@aztec/foundation/fields';
2
4
  import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
3
5
  import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
4
6
 
7
+ import type { AztecAddress } from '../aztec-address/index.js';
5
8
  import { hexSchemaFor } from '../schemas/schemas.js';
6
9
  import { Vector } from '../types/shared.js';
7
10
 
@@ -50,3 +53,29 @@ export class AuthWitness {
50
53
  return new AuthWitness(Fr.random(), [Fr.random(), Fr.random(), Fr.random()]);
51
54
  }
52
55
  }
56
+
57
+ /**
58
+ * Compute the inner hash for an authentication witness.
59
+ * This is the "intent" of the message, before siloed with the consumer.
60
+ * @param args - The arguments to hash
61
+ * @returns The inner hash for the witness
62
+ */
63
+ export const computeInnerAuthWitHash = (args: Fr[]) => {
64
+ return poseidon2HashWithSeparator(args, GeneratorIndex.AUTHWIT_INNER);
65
+ };
66
+
67
+ /**
68
+ * Compute the outer hash for an authentication witness.
69
+ * This is the value siloed with its "consumer" and what the `on_behalf_of`
70
+ * should be signing.
71
+ * The consumer is who will be consuming the message, for token approvals it
72
+ * is the token contract itself (because the token makes the call to check the approval).
73
+ * @param consumer - The address that can "consume" the authwit
74
+ * @param chainId - The chain id that can "consume" the authwit
75
+ * @param version - The version that can "consume" the authwit
76
+ * @param innerHash - The inner hash for the witness
77
+ * @returns The outer hash for the witness
78
+ */
79
+ export const computeOuterAuthWitHash = (consumer: AztecAddress, chainId: Fr, version: Fr, innerHash: Fr) => {
80
+ return poseidon2HashWithSeparator([consumer.toField(), chainId, version, innerHash], GeneratorIndex.AUTHWIT_OUTER);
81
+ };
@@ -1,6 +1,5 @@
1
1
  export * from './l2_block.js';
2
2
  export * from './l2_block_downloader/index.js';
3
- export * from './nullifier_with_block_source.js';
4
3
  export * from './in_block.js';
5
4
  export * from './body.js';
6
5
  export * from './l2_block_number.js';
@@ -93,8 +93,6 @@ export class L2BlockStream {
93
93
  }
94
94
 
95
95
  // Update the proven and finalized tips.
96
- // TODO(palla/reorg): Should we emit this before passing the new blocks? This would allow world-state to skip
97
- // building the data structures for the pending chain if it's unneeded.
98
96
  if (localTips.proven !== undefined && sourceTips.proven.number !== localTips.proven.number) {
99
97
  await this.emitEvent({ type: 'chain-proven', blockNumber: sourceTips.proven.number });
100
98
  }
@@ -97,6 +97,13 @@ export interface L2BlockSource {
97
97
  */
98
98
  getBlocksForEpoch(epochNumber: bigint): Promise<L2Block[]>;
99
99
 
100
+ /**
101
+ * Returns all block headers for a given epoch.
102
+ * @dev Use this method only with recent epochs, since it walks the block list backwards.
103
+ * @param epochNumber - The epoch number to return headers for.
104
+ */
105
+ getBlockHeadersForEpoch(epochNumber: bigint): Promise<BlockHeader[]>;
106
+
100
107
  /**
101
108
  * Returns whether the given epoch is completed on L1, based on the current L1 and L2 block numbers.
102
109
  * @param epochNumber - The epoch number to check.