@aztec/pxe 5.0.0-rc.2 → 5.0.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 (188) hide show
  1. package/dest/block_synchronizer/block_synchronizer.d.ts +5 -3
  2. package/dest/block_synchronizer/block_synchronizer.d.ts.map +1 -1
  3. package/dest/block_synchronizer/block_synchronizer.js +7 -1
  4. package/dest/contract/contract_class_service.d.ts +31 -0
  5. package/dest/contract/contract_class_service.d.ts.map +1 -0
  6. package/dest/contract/contract_class_service.js +68 -0
  7. package/dest/{contract_sync → contract}/contract_sync_service.d.ts +7 -6
  8. package/dest/contract/contract_sync_service.d.ts.map +1 -0
  9. package/dest/{contract_sync → contract}/contract_sync_service.js +10 -30
  10. package/dest/contract/helpers.d.ts +7 -0
  11. package/dest/contract/helpers.d.ts.map +1 -0
  12. package/dest/contract/helpers.js +20 -0
  13. package/dest/contract_function_simulator/anchored_contract_data.d.ts +36 -0
  14. package/dest/contract_function_simulator/anchored_contract_data.d.ts.map +1 -0
  15. package/dest/contract_function_simulator/anchored_contract_data.js +54 -0
  16. package/dest/contract_function_simulator/aztec_node_read_cache.d.ts +39 -0
  17. package/dest/contract_function_simulator/aztec_node_read_cache.d.ts.map +1 -0
  18. package/dest/contract_function_simulator/aztec_node_read_cache.js +60 -0
  19. package/dest/contract_function_simulator/contract_function_simulator.d.ts +9 -3
  20. package/dest/contract_function_simulator/contract_function_simulator.d.ts.map +1 -1
  21. package/dest/contract_function_simulator/contract_function_simulator.js +31 -14
  22. package/dest/contract_function_simulator/execution_note_cache.d.ts +3 -9
  23. package/dest/contract_function_simulator/execution_note_cache.d.ts.map +1 -1
  24. package/dest/contract_function_simulator/execution_note_cache.js +8 -28
  25. package/dest/contract_function_simulator/index.d.ts +4 -2
  26. package/dest/contract_function_simulator/index.d.ts.map +1 -1
  27. package/dest/contract_function_simulator/index.js +2 -1
  28. package/dest/contract_function_simulator/noir-structs/fact.d.ts +5 -5
  29. package/dest/contract_function_simulator/noir-structs/fact.d.ts.map +1 -1
  30. package/dest/contract_function_simulator/noir-structs/fact.js +2 -2
  31. package/dest/contract_function_simulator/noir-structs/fact_collection.d.ts +3 -3
  32. package/dest/contract_function_simulator/noir-structs/fact_collection.d.ts.map +1 -1
  33. package/dest/contract_function_simulator/noir-structs/fact_collection.js +3 -1
  34. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts +7 -1
  35. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts.map +1 -1
  36. package/dest/contract_function_simulator/noir-structs/pending_tagged_log.d.ts +11 -0
  37. package/dest/contract_function_simulator/noir-structs/pending_tagged_log.d.ts.map +1 -0
  38. package/dest/contract_function_simulator/noir-structs/pending_tagged_log.js +4 -0
  39. package/dest/contract_function_simulator/noir-structs/provided_secret.d.ts +2 -2
  40. package/dest/contract_function_simulator/noir-structs/provided_secret.d.ts.map +1 -1
  41. package/dest/contract_function_simulator/noir-structs/provided_secret.js +1 -1
  42. package/dest/contract_function_simulator/noir-structs/resolved_tagging_strategy.d.ts +8 -1
  43. package/dest/contract_function_simulator/noir-structs/resolved_tagging_strategy.d.ts.map +1 -1
  44. package/dest/contract_function_simulator/noir-structs/resolved_tagging_strategy.js +17 -0
  45. package/dest/contract_function_simulator/oracle/acir_callback.d.ts +7 -2
  46. package/dest/contract_function_simulator/oracle/acir_callback.d.ts.map +1 -1
  47. package/dest/contract_function_simulator/oracle/acir_callback.js +55 -11
  48. package/dest/contract_function_simulator/oracle/legacy_oracle_registry.d.ts +39 -0
  49. package/dest/contract_function_simulator/oracle/legacy_oracle_registry.d.ts.map +1 -0
  50. package/dest/contract_function_simulator/oracle/legacy_oracle_registry.js +107 -0
  51. package/dest/contract_function_simulator/oracle/oracle_registry.d.ts +10 -7
  52. package/dest/contract_function_simulator/oracle/oracle_registry.d.ts.map +1 -1
  53. package/dest/contract_function_simulator/oracle/oracle_registry.js +41 -10
  54. package/dest/contract_function_simulator/oracle/oracle_type_mappings.d.ts +48 -9
  55. package/dest/contract_function_simulator/oracle/oracle_type_mappings.d.ts.map +1 -1
  56. package/dest/contract_function_simulator/oracle/oracle_type_mappings.js +51 -30
  57. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts +10 -2
  58. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts.map +1 -1
  59. package/dest/contract_function_simulator/oracle/private_execution_oracle.js +73 -32
  60. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts +20 -16
  61. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts.map +1 -1
  62. package/dest/contract_function_simulator/oracle/utility_execution_oracle.js +68 -47
  63. package/dest/debug/pxe_debug_utils.d.ts +2 -2
  64. package/dest/debug/pxe_debug_utils.d.ts.map +1 -1
  65. package/dest/entrypoints/client/bundle/utils.js +2 -2
  66. package/dest/entrypoints/client/lazy/utils.js +2 -2
  67. package/dest/entrypoints/server/index.d.ts +5 -2
  68. package/dest/entrypoints/server/index.d.ts.map +1 -1
  69. package/dest/entrypoints/server/index.js +3 -1
  70. package/dest/error_enriching.d.ts +5 -3
  71. package/dest/error_enriching.d.ts.map +1 -1
  72. package/dest/error_enriching.js +12 -10
  73. package/dest/hooks/execution_hooks.d.ts +15 -4
  74. package/dest/hooks/execution_hooks.d.ts.map +1 -1
  75. package/dest/hooks/index.d.ts +3 -2
  76. package/dest/hooks/index.d.ts.map +1 -1
  77. package/dest/hooks/index.js +1 -0
  78. package/dest/hooks/resolve_custom_request.d.ts +23 -0
  79. package/dest/hooks/resolve_custom_request.d.ts.map +1 -0
  80. package/dest/hooks/resolve_custom_request.js +3 -0
  81. package/dest/hooks/resolve_tagging_secret_strategy.d.ts +10 -1
  82. package/dest/hooks/resolve_tagging_secret_strategy.d.ts.map +1 -1
  83. package/dest/hooks/resolve_tagging_secret_strategy.js +3 -3
  84. package/dest/logs/log_service.d.ts +3 -2
  85. package/dest/logs/log_service.d.ts.map +1 -1
  86. package/dest/logs/log_service.js +33 -16
  87. package/dest/oracle_version.d.ts +2 -2
  88. package/dest/oracle_version.js +2 -2
  89. package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.d.ts +1 -1
  90. package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.d.ts.map +1 -1
  91. package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.js +6 -2
  92. package/dest/private_kernel/private_kernel_execution_prover.d.ts +1 -1
  93. package/dest/private_kernel/private_kernel_execution_prover.d.ts.map +1 -1
  94. package/dest/private_kernel/private_kernel_execution_prover.js +17 -36
  95. package/dest/private_kernel/private_kernel_oracle.d.ts +4 -2
  96. package/dest/private_kernel/private_kernel_oracle.d.ts.map +1 -1
  97. package/dest/private_kernel/private_kernel_oracle.js +17 -5
  98. package/dest/pxe.d.ts +81 -46
  99. package/dest/pxe.d.ts.map +1 -1
  100. package/dest/pxe.js +135 -104
  101. package/dest/storage/backwards_compatibility_tests/schema_tests.d.ts +1 -1
  102. package/dest/storage/backwards_compatibility_tests/schema_tests.d.ts.map +1 -1
  103. package/dest/storage/backwards_compatibility_tests/schema_tests.js +31 -7
  104. package/dest/storage/contract_store/contract_store.d.ts +27 -24
  105. package/dest/storage/contract_store/contract_store.d.ts.map +1 -1
  106. package/dest/storage/contract_store/contract_store.js +63 -74
  107. package/dest/storage/fact_store/fact_service.d.ts +6 -4
  108. package/dest/storage/fact_store/fact_service.d.ts.map +1 -1
  109. package/dest/storage/fact_store/fact_service.js +19 -4
  110. package/dest/storage/fact_store/fact_store.d.ts +1 -1
  111. package/dest/storage/fact_store/fact_store.js +1 -1
  112. package/dest/storage/fact_store/index.d.ts +2 -1
  113. package/dest/storage/fact_store/index.d.ts.map +1 -1
  114. package/dest/storage/fact_store/index.js +1 -0
  115. package/dest/storage/fact_store/origin_state.d.ts +57 -0
  116. package/dest/storage/fact_store/origin_state.d.ts.map +1 -0
  117. package/dest/storage/fact_store/origin_state.js +53 -0
  118. package/dest/storage/metadata.d.ts +2 -2
  119. package/dest/storage/metadata.d.ts.map +1 -1
  120. package/dest/storage/metadata.js +1 -1
  121. package/dest/storage/tagging_store/tagging_secret_sources_store.d.ts +17 -6
  122. package/dest/storage/tagging_store/tagging_secret_sources_store.d.ts.map +1 -1
  123. package/dest/storage/tagging_store/tagging_secret_sources_store.js +24 -11
  124. package/dest/tagging/constants.d.ts +2 -2
  125. package/dest/tagging/constants.d.ts.map +1 -1
  126. package/dest/tagging/constants.js +18 -9
  127. package/package.json +17 -17
  128. package/src/block_synchronizer/block_synchronizer.ts +9 -1
  129. package/src/contract/contract_class_service.ts +83 -0
  130. package/src/{contract_sync → contract}/contract_sync_service.ts +18 -37
  131. package/src/contract/helpers.ts +35 -0
  132. package/src/contract_function_simulator/anchored_contract_data.ts +74 -0
  133. package/src/contract_function_simulator/aztec_node_read_cache.ts +89 -0
  134. package/src/contract_function_simulator/contract_function_simulator.ts +56 -14
  135. package/src/contract_function_simulator/execution_note_cache.ts +7 -28
  136. package/src/contract_function_simulator/index.ts +7 -1
  137. package/src/contract_function_simulator/noir-structs/fact.ts +4 -4
  138. package/src/contract_function_simulator/noir-structs/fact_collection.ts +9 -4
  139. package/src/contract_function_simulator/noir-structs/log_retrieval_response.ts +6 -0
  140. package/src/contract_function_simulator/noir-structs/pending_tagged_log.ts +12 -0
  141. package/src/contract_function_simulator/noir-structs/provided_secret.ts +1 -1
  142. package/src/contract_function_simulator/noir-structs/resolved_tagging_strategy.ts +21 -0
  143. package/src/contract_function_simulator/oracle/acir_callback.ts +58 -12
  144. package/src/contract_function_simulator/oracle/legacy_oracle_registry.ts +147 -0
  145. package/src/contract_function_simulator/oracle/oracle_registry.ts +32 -7
  146. package/src/contract_function_simulator/oracle/oracle_type_mappings.ts +49 -32
  147. package/src/contract_function_simulator/oracle/private_execution_oracle.ts +92 -41
  148. package/src/contract_function_simulator/oracle/utility_execution_oracle.ts +104 -59
  149. package/src/debug/pxe_debug_utils.ts +1 -1
  150. package/src/entrypoints/client/bundle/utils.ts +2 -2
  151. package/src/entrypoints/client/lazy/utils.ts +2 -2
  152. package/src/entrypoints/server/index.ts +5 -1
  153. package/src/error_enriching.ts +26 -10
  154. package/src/hooks/execution_hooks.ts +14 -3
  155. package/src/hooks/index.ts +2 -0
  156. package/src/hooks/resolve_custom_request.ts +24 -0
  157. package/src/hooks/resolve_tagging_secret_strategy.ts +14 -0
  158. package/src/logs/log_service.ts +31 -11
  159. package/src/oracle_version.ts +2 -2
  160. package/src/private_kernel/hints/private_kernel_reset_private_inputs_builder.ts +11 -1
  161. package/src/private_kernel/private_kernel_execution_prover.ts +22 -52
  162. package/src/private_kernel/private_kernel_oracle.ts +23 -4
  163. package/src/pxe.ts +209 -143
  164. package/src/storage/backwards_compatibility_tests/__snapshots__/AddressStore.json +6 -6
  165. package/src/storage/backwards_compatibility_tests/__snapshots__/ContractStore.json +1 -1
  166. package/src/storage/backwards_compatibility_tests/__snapshots__/KeyStore.json +12 -12
  167. package/src/storage/backwards_compatibility_tests/__snapshots__/RecipientTaggingStore.json +11 -3
  168. package/src/storage/backwards_compatibility_tests/__snapshots__/SenderTaggingStore.json +12 -4
  169. package/src/storage/backwards_compatibility_tests/__snapshots__/TaggingSecretSourcesStore.json +3 -3
  170. package/src/storage/backwards_compatibility_tests/__snapshots__/opened_stores.json +1 -1
  171. package/src/storage/backwards_compatibility_tests/schema_tests.ts +38 -4
  172. package/src/storage/contract_store/contract_store.ts +85 -92
  173. package/src/storage/fact_store/fact_service.ts +29 -5
  174. package/src/storage/fact_store/fact_store.ts +1 -1
  175. package/src/storage/fact_store/index.ts +10 -0
  176. package/src/storage/fact_store/origin_state.ts +75 -0
  177. package/src/storage/metadata.ts +1 -1
  178. package/src/storage/tagging_store/tagging_secret_sources_store.ts +36 -15
  179. package/src/tagging/constants.ts +19 -9
  180. package/dest/contract_function_simulator/proxied_contract_data_source.d.ts +0 -6
  181. package/dest/contract_function_simulator/proxied_contract_data_source.d.ts.map +0 -1
  182. package/dest/contract_function_simulator/proxied_contract_data_source.js +0 -51
  183. package/dest/contract_sync/contract_sync_service.d.ts.map +0 -1
  184. package/dest/contract_sync/helpers.d.ts +0 -28
  185. package/dest/contract_sync/helpers.d.ts.map +0 -1
  186. package/dest/contract_sync/helpers.js +0 -48
  187. package/src/contract_function_simulator/proxied_contract_data_source.ts +0 -60
  188. package/src/contract_sync/helpers.ts +0 -79
@@ -1 +1 @@
1
- {"version":3,"file":"resolved_tagging_strategy.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/noir-structs/resolved_tagging_strategy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAMpD;;;GAGG;AACH,MAAM,MAAM,uBAAuB,GAC/B;IACE,4GAA4G;IAC5G,IAAI,EAAE,2BAA2B,CAAC;CACnC,GACD;IACE;;OAEG;IACH,IAAI,EAAE,sBAAsB,CAAC;IAC7B,iDAAiD;IACjD,MAAM,EAAE,EAAE,CAAC;CACZ,CAAC;AAEN,0HAA0H;AAC1H,wBAAgB,+BAA+B,CAAC,QAAQ,EAAE,uBAAuB,GAAG,EAAE,EAAE,CAOvF;AAED,sGAAsG;AACtG,wBAAgB,iCAAiC,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,uBAAuB,CASnG"}
1
+ {"version":3,"file":"resolved_tagging_strategy.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/noir-structs/resolved_tagging_strategy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAOpD;;;GAGG;AACH,MAAM,MAAM,uBAAuB,GAC/B;IACE,4GAA4G;IAC5G,IAAI,EAAE,2BAA2B,CAAC;CACnC,GACD;IACE;;;;OAIG;IACH,IAAI,EAAE,uBAAuB,CAAC;CAC/B,GACD;IACE;;OAEG;IACH,IAAI,EAAE,sBAAsB,CAAC;IAC7B,iDAAiD;IACjD,MAAM,EAAE,EAAE,CAAC;CACZ,CAAC;AAEN,0HAA0H;AAC1H,wBAAgB,+BAA+B,CAAC,QAAQ,EAAE,uBAAuB,GAAG,EAAE,EAAE,CASvF;AAED,sGAAsG;AACtG,wBAAgB,iCAAiC,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,uBAAuB,CAanG"}
@@ -2,6 +2,7 @@ import { Fr } from '@aztec/foundation/curves/bn254';
2
2
  // Keep in sync with aztec::messages::delivery::ResolvedTaggingStrategy
3
3
  const NON_INTERACTIVE_HANDSHAKE = 1;
4
4
  const UNCONSTRAINED_SECRET = 2;
5
+ const INTERACTIVE_HANDSHAKE = 3;
5
6
  /** Serializes a {@link ResolvedTaggingStrategy} to its Noir `[kind, secret]` field layout, zero-filling absent fields. */ export function resolvedTaggingStrategyToFields(resolved) {
6
7
  switch(resolved.type){
7
8
  case 'non-interactive-handshake':
@@ -14,14 +15,25 @@ const UNCONSTRAINED_SECRET = 2;
14
15
  new Fr(UNCONSTRAINED_SECRET),
15
16
  resolved.secret
16
17
  ];
18
+ case 'interactive-handshake':
19
+ return [
20
+ new Fr(INTERACTIVE_HANDSHAKE),
21
+ Fr.ZERO
22
+ ];
17
23
  }
18
24
  }
19
25
  /** Deserializes a {@link ResolvedTaggingStrategy} from its `kind` discriminant and `secret` field. */ export function resolvedTaggingStrategyFromFields(kind, secret) {
20
26
  switch(kind){
21
27
  case NON_INTERACTIVE_HANDSHAKE:
28
+ assertAbsentSecret(kind, secret);
22
29
  return {
23
30
  type: 'non-interactive-handshake'
24
31
  };
32
+ case INTERACTIVE_HANDSHAKE:
33
+ assertAbsentSecret(kind, secret);
34
+ return {
35
+ type: 'interactive-handshake'
36
+ };
25
37
  case UNCONSTRAINED_SECRET:
26
38
  return {
27
39
  type: 'unconstrained-secret',
@@ -31,3 +43,8 @@ const UNCONSTRAINED_SECRET = 2;
31
43
  throw new Error(`Unrecognized resolved tagging strategy kind: ${kind}`);
32
44
  }
33
45
  }
46
+ function assertAbsentSecret(kind, secret) {
47
+ if (!secret.isZero()) {
48
+ throw new Error(`Resolved tagging strategy ${kind} must not include a secret`);
49
+ }
50
+ }
@@ -1,5 +1,7 @@
1
1
  import type { ACIRCallback } from '@aztec/simulator/client';
2
2
  import type { IMiscOracle, IPrivateExecutionOracle, IUtilityExecutionOracle } from './interfaces.js';
3
+ import { type LegacyOracleEntry } from './legacy_oracle_registry.js';
4
+ import { type OracleRegistryEntry } from './oracle_registry.js';
3
5
  export declare class UnavailableOracleError extends Error {
4
6
  constructor(oracleName: string);
5
7
  }
@@ -10,7 +12,10 @@ export declare class UnavailableOracleError extends Error {
10
12
  * `aztec_{scope}_{methodName}` convention to resolve the handler, and calling the method directly. Unknown oracle
11
13
  * names produce enhanced error messages based on the contract's oracle version.
12
14
  */
13
- export declare function buildACIRCallback(handler: OracleHandler): ACIRCallback;
15
+ export declare function buildACIRCallback(handler: OracleHandler, registries?: {
16
+ real?: Record<string, OracleRegistryEntry>;
17
+ legacy?: Record<string, LegacyOracleEntry>;
18
+ }): ACIRCallback;
14
19
  type OracleHandler = IMiscOracle & (IUtilityExecutionOracle | IPrivateExecutionOracle);
15
20
  export {};
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNpcl9jYWxsYmFjay5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnRyYWN0X2Z1bmN0aW9uX3NpbXVsYXRvci9vcmFjbGUvYWNpcl9jYWxsYmFjay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQWEsTUFBTSx5QkFBeUIsQ0FBQztBQUd2RSxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsdUJBQXVCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUdyRyxxQkFBYSxzQkFBdUIsU0FBUSxLQUFLO0lBQy9DLFlBQVksVUFBVSxFQUFFLE1BQU0sRUFFN0I7Q0FDRjtBQUVEOzs7Ozs7R0FNRztBQUNILHdCQUFnQixpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsYUFBYSxHQUFHLFlBQVksQ0E0RHRFO0FBRUQsS0FBSyxhQUFhLEdBQUcsV0FBVyxHQUFHLENBQUMsdUJBQXVCLEdBQUcsdUJBQXVCLENBQUMsQ0FBQyJ9
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNpcl9jYWxsYmFjay5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnRyYWN0X2Z1bmN0aW9uX3NpbXVsYXRvci9vcmFjbGUvYWNpcl9jYWxsYmFjay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQWEsTUFBTSx5QkFBeUIsQ0FBQztBQUd2RSxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsdUJBQXVCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRyxPQUFPLEVBQTBCLEtBQUssaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM3RixPQUFPLEVBQW9DLEtBQUssbUJBQW1CLEVBQWEsTUFBTSxzQkFBc0IsQ0FBQztBQUU3RyxxQkFBYSxzQkFBdUIsU0FBUSxLQUFLO0lBQy9DLFlBQVksVUFBVSxFQUFFLE1BQU0sRUFFN0I7Q0FDRjtBQUVEOzs7Ozs7R0FNRztBQUNILHdCQUFnQixpQkFBaUIsQ0FDL0IsT0FBTyxFQUFFLGFBQWEsRUFDdEIsVUFBVSxHQUFFO0lBQ1YsSUFBSSxDQUFDLEVBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO0lBQzNDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztDQUN2QyxHQUNMLFlBQVksQ0FzQ2Q7QUErREQsS0FBSyxhQUFhLEdBQUcsV0FBVyxHQUFHLENBQUMsdUJBQXVCLEdBQUcsdUJBQXVCLENBQUMsQ0FBQyJ9
@@ -1 +1 @@
1
- {"version":3,"file":"acir_callback.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/oracle/acir_callback.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAa,MAAM,yBAAyB,CAAC;AAGvE,OAAO,KAAK,EAAE,WAAW,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAGrG,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C,YAAY,UAAU,EAAE,MAAM,EAE7B;CACF;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,aAAa,GAAG,YAAY,CA4DtE;AAED,KAAK,aAAa,GAAG,WAAW,GAAG,CAAC,uBAAuB,GAAG,uBAAuB,CAAC,CAAC"}
1
+ {"version":3,"file":"acir_callback.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/oracle/acir_callback.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAa,MAAM,yBAAyB,CAAC;AAGvE,OAAO,KAAK,EAAE,WAAW,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AACrG,OAAO,EAA0B,KAAK,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAC7F,OAAO,EAAoC,KAAK,mBAAmB,EAAa,MAAM,sBAAsB,CAAC;AAE7G,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C,YAAY,UAAU,EAAE,MAAM,EAE7B;CACF;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,aAAa,EACtB,UAAU,GAAE;IACV,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;CACvC,GACL,YAAY,CAsCd;AA+DD,KAAK,aAAa,GAAG,WAAW,GAAG,CAAC,uBAAuB,GAAG,uBAAuB,CAAC,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { ORACLE_VERSION_MAJOR, ORACLE_VERSION_MINOR } from '../../oracle_version.js';
2
- import { ORACLE_REGISTRY } from './oracle_registry.js';
2
+ import { LEGACY_ORACLE_REGISTRY } from './legacy_oracle_registry.js';
3
+ import { ORACLE_REGISTRY, makeEntry } from './oracle_registry.js';
3
4
  export class UnavailableOracleError extends Error {
4
5
  constructor(oracleName){
5
6
  super(`${oracleName} oracles not available with the current handler`);
@@ -11,14 +12,11 @@ export class UnavailableOracleError extends Error {
11
12
  * Each oracle call is dispatched by matching the oracle name against the registry for serialization, parsing the
12
13
  * `aztec_{scope}_{methodName}` convention to resolve the handler, and calling the method directly. Unknown oracle
13
14
  * names produce enhanced error messages based on the contract's oracle version.
14
- */ export function buildACIRCallback(handler) {
15
+ */ export function buildACIRCallback(handler, registries = {}) {
16
+ const { real = ORACLE_REGISTRY, legacy: legacyRegistry = LEGACY_ORACLE_REGISTRY } = registries;
15
17
  const target = {};
16
- for (const [oracleKey, entry] of Object.entries(ORACLE_REGISTRY)){
17
- const match = oracleKey.match(/^aztec_(\w+?)_(.+)$/);
18
- if (!match) {
19
- throw new Error(`Oracle "${oracleKey}" does not follow the aztec_{scope}_{method} convention`);
20
- }
21
- const [, scope, methodName] = match;
18
+ for (const [oracleKey, entry] of Object.entries(real)){
19
+ const { scope, methodName } = parseOracleName(oracleKey, 'Oracle');
22
20
  target[oracleKey] = async (...inputs)=>{
23
21
  assertHandlerSupportsScope(handler, scope);
24
22
  const named = entry.deserializeParams(inputs);
@@ -27,9 +25,55 @@ export class UnavailableOracleError extends Error {
27
25
  return entry.serializeReturn(result);
28
26
  };
29
27
  }
30
- return new Proxy(target, {
28
+ // Legacy oracle names: served for contracts compiled against a retired oracle version. Each reuses the current
29
+ // handler of its `modernOracle` and reshapes the wire (params and/or return) back to what the old bytecode expects.
30
+ for (const [legacyKey, legacy] of Object.entries(legacyRegistry)){
31
+ const { scope } = parseOracleName(legacyKey, 'Legacy oracle');
32
+ if (legacyKey in target) {
33
+ throw new Error(`Legacy oracle "${legacyKey}" collides with a live oracle of the same name in the registry`);
34
+ }
35
+ const modernEntry = real[legacy.modernOracle];
36
+ const { methodName } = parseOracleName(legacy.modernOracle, 'Oracle');
37
+ // Override only the side whose wire changed; inherit the other from the modern entry.
38
+ const paramOverride = legacy.params;
39
+ const paramSource = paramOverride ? makeEntry({
40
+ params: [
41
+ ...paramOverride.legacyType
42
+ ]
43
+ }) : modernEntry;
44
+ const returnOverride = legacy.returnType;
45
+ const returnSource = returnOverride ? makeEntry({
46
+ returnType: returnOverride.legacyType
47
+ }) : modernEntry;
48
+ target[legacyKey] = async (...inputs)=>{
49
+ assertHandlerSupportsScope(handler, scope);
50
+ const legacyArgs = paramSource.deserializeParams(inputs).map((p)=>p.value);
51
+ const positional = paramOverride ? await paramOverride.mapping(legacyArgs) : legacyArgs;
52
+ const result = await handler[methodName](...positional);
53
+ return returnSource.serializeReturn(returnOverride ? returnOverride.mapping(result) : result);
54
+ };
55
+ }
56
+ return new Proxy(target, makeUnknownOracleTrap(handler));
57
+ }
58
+ /** Parses an `aztec_{scope}_{method}` oracle name into its parts, throwing if it doesn't follow the convention. */ function parseOracleName(key, label) {
59
+ const match = key.match(/^aztec_(\w+?)_(.+)$/);
60
+ if (!match) {
61
+ throw new Error(`${label} "${key}" does not follow the aztec_{scope}_{method} convention`);
62
+ }
63
+ return {
64
+ scope: match[1],
65
+ methodName: match[2]
66
+ };
67
+ }
68
+ /**
69
+ * Proxy trap for the callback table: a known oracle name passes through; an unknown one throws a diagnostic keyed on
70
+ * the contract's oracle version (version unknown, contract newer than this environment, or a same-version mismatch).
71
+ */ function makeUnknownOracleTrap(handler) {
72
+ return {
31
73
  get (obj, prop) {
32
- if (prop in obj) {
74
+ // Own-property check only: `in` would match inherited `Object.prototype` keys (e.g. `constructor`, `toString`)
75
+ // and return the built-in instead of falling through to the unknown-oracle diagnostic below.
76
+ if (Object.hasOwn(obj, prop)) {
33
77
  return obj[prop];
34
78
  }
35
79
  return ()=>{
@@ -46,7 +90,7 @@ export class UnavailableOracleError extends Error {
46
90
  }
47
91
  };
48
92
  }
49
- });
93
+ };
50
94
  }
51
95
  function assertHandlerSupportsScope(handler, scope) {
52
96
  switch(scope){
@@ -0,0 +1,39 @@
1
+ import { ORACLE_REGISTRY, type RegistryParam } from './oracle_registry.js';
2
+ import { type TypeMapping } from './oracle_type_mappings.js';
3
+ /**
4
+ * Wire shapes that already-deployed contracts still call by their original oracle name, keyed by that retired name.
5
+ * New Aztec.nr calls the current name in `ORACLE_REGISTRY`; old bytecode keeps calling the name compiled into it and
6
+ * is served from here, so versioning an oracle's wire (e.g. adding return fields) stops being a breaking change.
7
+ *
8
+ * Append-only. Drop an entry only once the `ORACLE_VERSION_MAJOR` that introduced its successor is retired, since
9
+ * older contracts can no longer run against this environment.
10
+ */
11
+ export declare const LEGACY_ORACLE_REGISTRY: Record<string, LegacyOracleEntry>;
12
+ type Registry = typeof ORACLE_REGISTRY;
13
+ /**
14
+ * A legacy oracle adapter, stored under the retired oracle name that already-deployed contracts still call. It reuses
15
+ * the handler of `modernOracle` and overrides only the wire side(s) that changed; an omitted side falls back to that
16
+ * modern entry.
17
+ */
18
+ export interface LegacyOracleEntry {
19
+ /** The current oracle whose handler this reuses and whose param/return wire it inherits by default. */
20
+ modernOracle: keyof Registry;
21
+ /**
22
+ * Old param wire. `legacyType` deserializes the old wire; `mapping` bridges the deserialized legacy args to the
23
+ * modern handler's args. The mapping may be async. Omit when the param wire is unchanged.
24
+ */
25
+ params?: {
26
+ legacyType: readonly RegistryParam[];
27
+ mapping: (legacyArgs: any) => readonly unknown[] | Promise<readonly unknown[]>;
28
+ };
29
+ /**
30
+ * Old return wire. `legacyType` serializes the subset the old contract reads; `mapping` bridges the handler's
31
+ * current result to that subset's value type. Omit when the return wire is unchanged.
32
+ */
33
+ returnType?: {
34
+ legacyType: TypeMapping;
35
+ mapping: (result: any) => unknown;
36
+ };
37
+ }
38
+ export {};
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVnYWN5X29yYWNsZV9yZWdpc3RyeS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnRyYWN0X2Z1bmN0aW9uX3NpbXVsYXRvci9vcmFjbGUvbGVnYWN5X29yYWNsZV9yZWdpc3RyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFTQSxPQUFPLEVBRUwsZUFBZSxFQUdmLEtBQUssYUFBYSxFQUNuQixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFPTCxLQUFLLFdBQVcsRUFDakIsTUFBTSwyQkFBMkIsQ0FBQztBQXNCbkM7Ozs7Ozs7R0FPRztBQUNILGVBQU8sTUFBTSxzQkFBc0IsRUFBRSxNQUFNLENBQUMsTUFBTSxFQUFFLGlCQUFpQixDQW9DcEUsQ0FBQztBQWNGLEtBQUssUUFBUSxHQUFHLE9BQU8sZUFBZSxDQUFDO0FBUXZDOzs7O0dBSUc7QUFDSCxNQUFNLFdBQVcsaUJBQWlCO0lBQ2hDLHVHQUF1RztJQUN2RyxZQUFZLEVBQUUsTUFBTSxRQUFRLENBQUM7SUFDN0I7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLEVBQUU7UUFDUCxVQUFVLEVBQUUsU0FBUyxhQUFhLEVBQUUsQ0FBQztRQUNyQyxPQUFPLEVBQUUsQ0FBQyxVQUFVLEVBQUUsR0FBRyxLQUFLLFNBQVMsT0FBTyxFQUFFLEdBQUcsT0FBTyxDQUFDLFNBQVMsT0FBTyxFQUFFLENBQUMsQ0FBQztLQUNoRixDQUFDO0lBQ0Y7OztPQUdHO0lBQ0gsVUFBVSxDQUFDLEVBQUU7UUFBRSxVQUFVLEVBQUUsV0FBVyxDQUFDO1FBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxFQUFFLEdBQUcsS0FBSyxPQUFPLENBQUE7S0FBRSxDQUFDO0NBQzdFIn0=
@@ -0,0 +1 @@
1
+ {"version":3,"file":"legacy_oracle_registry.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/oracle/legacy_oracle_registry.ts"],"names":[],"mappings":"AASA,OAAO,EAEL,eAAe,EAGf,KAAK,aAAa,EACnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAOL,KAAK,WAAW,EACjB,MAAM,2BAA2B,CAAC;AAsBnC;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAoCpE,CAAC;AAcF,KAAK,QAAQ,GAAG,OAAO,eAAe,CAAC;AAQvC;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,uGAAuG;IACvG,YAAY,EAAE,MAAM,QAAQ,CAAC;IAC7B;;;OAGG;IACH,MAAM,CAAC,EAAE;QACP,UAAU,EAAE,SAAS,aAAa,EAAE,CAAC;QACrC,OAAO,EAAE,CAAC,UAAU,EAAE,GAAG,KAAK,SAAS,OAAO,EAAE,GAAG,OAAO,CAAC,SAAS,OAAO,EAAE,CAAC,CAAC;KAChF,CAAC;IACF;;;OAGG;IACH,UAAU,CAAC,EAAE;QAAE,UAAU,EAAE,WAAW,CAAC;QAAC,OAAO,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,OAAO,CAAA;KAAE,CAAC;CAC7E"}
@@ -0,0 +1,107 @@
1
+ /* eslint-disable camelcase */ import { MAX_NOTE_HASHES_PER_TX, PRIVATE_LOG_CIPHERTEXT_LEN, PRIVATE_LOG_SIZE_IN_FIELDS } from '@aztec/constants';
2
+ import { computeFeeJuiceMessageNullifier } from '@aztec/stdlib/messaging';
3
+ import { Option } from '../noir-structs/option.js';
4
+ import { AZTEC_ADDRESS, EPHEMERAL_ARRAY, FIELD, FIXED_BOUNDED_VEC, STRUCT, TX_HASH } from './oracle_type_mappings.js';
5
+ const LEGACY_LOG_RETRIEVAL_RESPONSE = STRUCT([
6
+ {
7
+ name: 'logPayload',
8
+ type: FIXED_BOUNDED_VEC(FIELD, PRIVATE_LOG_CIPHERTEXT_LEN)
9
+ },
10
+ {
11
+ name: 'txHash',
12
+ type: TX_HASH
13
+ },
14
+ {
15
+ name: 'uniqueNoteHashesInTx',
16
+ type: FIXED_BOUNDED_VEC(FIELD, MAX_NOTE_HASHES_PER_TX)
17
+ },
18
+ {
19
+ name: 'firstNullifierInTx',
20
+ type: FIELD
21
+ }
22
+ ]);
23
+ // Block-less transaction context: the prefix of `ResolvedTx`'s wire carried by the original `getPendingTaggedLogs`
24
+ // oracle. Known as `MessageContext` in the Aztec.nr versions that call that oracle.
25
+ const LEGACY_MESSAGE_CONTEXT = STRUCT([
26
+ {
27
+ name: 'txHash',
28
+ type: TX_HASH
29
+ },
30
+ {
31
+ name: 'uniqueNoteHashesInTx',
32
+ type: FIXED_BOUNDED_VEC(FIELD, MAX_NOTE_HASHES_PER_TX)
33
+ },
34
+ {
35
+ name: 'firstNullifierInTx',
36
+ type: FIELD
37
+ }
38
+ ]);
39
+ const LEGACY_PENDING_TAGGED_LOG = STRUCT([
40
+ {
41
+ name: 'log',
42
+ type: FIXED_BOUNDED_VEC(FIELD, PRIVATE_LOG_SIZE_IN_FIELDS)
43
+ },
44
+ {
45
+ name: 'context',
46
+ type: LEGACY_MESSAGE_CONTEXT
47
+ }
48
+ ]);
49
+ /**
50
+ * Wire shapes that already-deployed contracts still call by their original oracle name, keyed by that retired name.
51
+ * New Aztec.nr calls the current name in `ORACLE_REGISTRY`; old bytecode keeps calling the name compiled into it and
52
+ * is served from here, so versioning an oracle's wire (e.g. adding return fields) stops being a breaking change.
53
+ *
54
+ * Append-only. Drop an entry only once the `ORACLE_VERSION_MAJOR` that introduced its successor is retired, since
55
+ * older contracts can no longer run against this environment.
56
+ */ export const LEGACY_ORACLE_REGISTRY = {
57
+ aztec_utl_getL1ToL2MembershipWitness: legacyOracle({
58
+ modernOracle: 'aztec_utl_getL1ToL2MembershipWitnessV2',
59
+ // The old wire passed the contract address and secret, the modern oracle takes the unsiloed nullifier (plus the
60
+ // address to silo it with) instead. We derive it here so already-deployed contracts that still emit the old call
61
+ // keep working.
62
+ //
63
+ // This is the fee juice message nullifier derivation: only contracts using that scheme call this retired oracle.
64
+ params: {
65
+ legacyType: [
66
+ {
67
+ name: 'contractAddress',
68
+ type: AZTEC_ADDRESS
69
+ },
70
+ {
71
+ name: 'messageHash',
72
+ type: FIELD
73
+ },
74
+ {
75
+ name: 'secret',
76
+ type: FIELD
77
+ }
78
+ ],
79
+ mapping: async ([contractAddress, messageHash, secret])=>[
80
+ messageHash,
81
+ Option.some({
82
+ contractAddress,
83
+ nullifier: await computeFeeJuiceMessageNullifier(messageHash, secret)
84
+ })
85
+ ]
86
+ }
87
+ }),
88
+ aztec_utl_getLogsByTag: legacyOracle({
89
+ modernOracle: 'aztec_utl_getLogsByTagV2',
90
+ returnType: {
91
+ legacyType: EPHEMERAL_ARRAY(EPHEMERAL_ARRAY(LEGACY_LOG_RETRIEVAL_RESPONSE)),
92
+ // We can map this directly, since the new type is a superset of the old type
93
+ mapping: (result)=>result
94
+ }
95
+ }),
96
+ aztec_utl_getPendingTaggedLogs: legacyOracle({
97
+ modernOracle: 'aztec_utl_getPendingTaggedLogsV2',
98
+ returnType: {
99
+ legacyType: EPHEMERAL_ARRAY(LEGACY_PENDING_TAGGED_LOG),
100
+ // We can map this directly, since `ResolvedTx` carries the legacy context's fields under the same names
101
+ mapping: (result)=>result
102
+ }
103
+ })
104
+ };
105
+ function legacyOracle(entry) {
106
+ return entry;
107
+ }
@@ -1,4 +1,5 @@
1
1
  import { Fr } from '@aztec/foundation/curves/bn254';
2
+ import type { UnsiloedMessageNullifier } from '@aztec/stdlib/messaging';
2
3
  import { type InputSlot, type MaybePromise, type OutputSlot, type TypeMapping } from './oracle_type_mappings.js';
3
4
  export { ARRAY, AZTEC_ADDRESS, BIGINT, BLOCK_NUMBER, BOOL, BOUNDED_VEC, BUFFER, BYTE, CONTRACT_CLASS_LOG, DELIVERY_MODE, RESOLVED_TAGGING_STRATEGY, EPHEMERAL_ARRAY, EVENT_VALIDATION_REQUEST, FIELD, FUNCTION_SELECTOR, LOG_RETRIEVAL_REQUEST, LOG_RETRIEVAL_RESPONSE, MEMBERSHIP_WITNESS, NOTE_VALIDATION_REQUEST, OPTION, PENDING_TAGGED_LOG, POINT, PROVIDED_SECRET, RESOLVED_TX, STR, U32, slotsOf, type InputSlot, type MaybePromise, type OutputSlot, type SlotShape, type TypeMapping, } from './oracle_type_mappings.js';
4
5
  export declare const ORACLE_REGISTRY: {
@@ -7,9 +8,10 @@ export declare const ORACLE_REGISTRY: {
7
8
  aztec_misc_log: OracleRegistryEntry<[NamedValue<"level", number>, NamedValue<"message", string>, NamedValue<"fieldsSize", number>, NamedValue<"fields", Fr[]>], any>;
8
9
  aztec_utl_getUtilityContext: OracleRegistryEntry<NamedValue<string, any>[], import("../index.js").UtilityContext>;
9
10
  aztec_utl_getKeyValidationRequest: OracleRegistryEntry<[NamedValue<"pkMHash", Fr>, NamedValue<"keyIndex", Fr>], import("@aztec/stdlib/kernel").KeyValidationRequest>;
10
- aztec_utl_getContractInstance: OracleRegistryEntry<[NamedValue<"address", import("@aztec/stdlib/aztec-address").AztecAddress>], import("./oracle_type_mappings.js").ContractInstance>;
11
+ aztec_utl_getContractInstance: OracleRegistryEntry<[NamedValue<"address", import("@aztec/stdlib/aztec-address").AztecAddress>], import("./oracle_type_mappings.js").ContractInstancePreimage>;
11
12
  aztec_utl_getNoteHashMembershipWitness: OracleRegistryEntry<[NamedValue<"anchorBlockHash", import("./oracle_type_mappings.js").BlockHash>, NamedValue<"noteHash", Fr>], import("./oracle_type_mappings.js").MembershipWitness<42>>;
12
13
  aztec_utl_getBlockHashMembershipWitness: OracleRegistryEntry<[NamedValue<"anchorBlockHash", import("./oracle_type_mappings.js").BlockHash>, NamedValue<"blockHash", import("./oracle_type_mappings.js").BlockHash>], import("../index.js").Option<import("./oracle_type_mappings.js").MembershipWitness<30>>>;
14
+ aztec_utl_areBlockHashesInArchive: OracleRegistryEntry<[NamedValue<"anchorBlockHash", import("./oracle_type_mappings.js").BlockHash>, NamedValue<"blockHashes", import("../index.js").EphemeralArray<import("./oracle_type_mappings.js").BlockHash>>], import("../index.js").EphemeralArray<boolean>>;
13
15
  aztec_utl_getNullifierMembershipWitness: OracleRegistryEntry<[NamedValue<"blockHash", import("./oracle_type_mappings.js").BlockHash>, NamedValue<"nullifier", Fr>], import("./oracle_type_mappings.js").NullifierMembershipWitness>;
14
16
  aztec_utl_getLowNullifierMembershipWitness: OracleRegistryEntry<[NamedValue<"blockHash", import("./oracle_type_mappings.js").BlockHash>, NamedValue<"nullifier", Fr>], import("./oracle_type_mappings.js").NullifierMembershipWitness>;
15
17
  aztec_utl_getPublicDataWitness: OracleRegistryEntry<[NamedValue<"blockHash", import("./oracle_type_mappings.js").BlockHash>, NamedValue<"leafSlot", Fr>], import("./oracle_type_mappings.js").PublicDataWitness>;
@@ -20,12 +22,12 @@ export declare const ORACLE_REGISTRY: {
20
22
  partialAddress: Fr;
21
23
  }>>;
22
24
  aztec_utl_doesNullifierExist: OracleRegistryEntry<[NamedValue<"innerNullifier", Fr>], boolean>;
23
- aztec_utl_getL1ToL2MembershipWitness: OracleRegistryEntry<[NamedValue<"contractAddress", import("@aztec/stdlib/aztec-address").AztecAddress>, NamedValue<"messageHash", Fr>, NamedValue<"secret", Fr>], import("./message_load_oracle_inputs.js").MessageLoadOracleInputs<36>>;
25
+ aztec_utl_getL1ToL2MembershipWitnessV2: OracleRegistryEntry<[NamedValue<"messageHash", Fr>, NamedValue<"nullifier", import("../index.js").Option<UnsiloedMessageNullifier>>], import("./message_load_oracle_inputs.js").MessageLoadOracleInputs<36>>;
24
26
  aztec_utl_getFromPublicStorage: OracleRegistryEntry<[NamedValue<"blockHash", import("./oracle_type_mappings.js").BlockHash>, NamedValue<"contractAddress", import("@aztec/stdlib/aztec-address").AztecAddress>, NamedValue<"startStorageSlot", Fr>, NamedValue<"numberOfElements", number>], Fr[]>;
25
27
  aztec_utl_getNotes: OracleRegistryEntry<[NamedValue<"owner", import("../index.js").Option<import("@aztec/stdlib/aztec-address").AztecAddress>>, NamedValue<"storageSlot", Fr>, NamedValue<"numSelects", number>, NamedValue<"selectByIndexes", number[]>, NamedValue<"selectByOffsets", number[]>, NamedValue<"selectByLengths", number[]>, NamedValue<"selectValues", Fr[]>, NamedValue<"selectComparators", number[]>, NamedValue<"sortByIndexes", number[]>, NamedValue<"sortByOffsets", number[]>, NamedValue<"sortByLengths", number[]>, NamedValue<"sortOrder", number[]>, NamedValue<"limit", number>, NamedValue<"offset", number>, NamedValue<"status", number>, NamedValue<"maxNotes", number>, NamedValue<"packedHintedNoteLength", number>], import("../index.js").BoundedVec<import("../index.js").NoteData>>;
26
- aztec_utl_getPendingTaggedLogs: OracleRegistryEntry<[NamedValue<"scope", import("@aztec/stdlib/aztec-address").AztecAddress>, NamedValue<"providedSecrets", import("../index.js").EphemeralArray<import("../index.js").ProvidedSecret>>], import("../index.js").EphemeralArray<import("./oracle_type_mappings.js").PendingTaggedLog>>;
28
+ aztec_utl_getPendingTaggedLogsV2: OracleRegistryEntry<[NamedValue<"scope", import("@aztec/stdlib/aztec-address").AztecAddress>, NamedValue<"providedSecrets", import("../index.js").EphemeralArray<import("../index.js").ProvidedSecret>>], import("../index.js").EphemeralArray<import("./oracle_type_mappings.js").PendingTaggedLog>>;
27
29
  aztec_utl_validateAndStoreEnqueuedNotesAndEvents: OracleRegistryEntry<[NamedValue<"noteValidationRequests", import("../index.js").EphemeralArray<import("../index.js").NoteValidationRequest>>, NamedValue<"eventValidationRequests", import("../index.js").EphemeralArray<import("../index.js").EventValidationRequest>>, NamedValue<"scope", import("@aztec/stdlib/aztec-address").AztecAddress>], any>;
28
- aztec_utl_getLogsByTag: OracleRegistryEntry<[NamedValue<"requests", import("../index.js").EphemeralArray<import("../index.js").LogRetrievalRequest>>], import("../index.js").EphemeralArray<import("../index.js").EphemeralArray<import("../index.js").LogRetrievalResponse>>>;
30
+ aztec_utl_getLogsByTagV2: OracleRegistryEntry<[NamedValue<"requests", import("../index.js").EphemeralArray<import("../index.js").LogRetrievalRequest>>], import("../index.js").EphemeralArray<import("../index.js").EphemeralArray<import("../index.js").LogRetrievalResponse>>>;
29
31
  aztec_utl_getResolvedTxs: OracleRegistryEntry<[NamedValue<"requests", import("../index.js").EphemeralArray<Fr>>], import("../index.js").EphemeralArray<import("../index.js").Option<import("../index.js").ResolvedTx>>>;
30
32
  aztec_utl_getTxEffect: OracleRegistryEntry<[NamedValue<"txHash", import("@aztec/stdlib/tx/tx-hash").TxHash>], import("../index.js").Option<import("../index.js").TxEffectData>>;
31
33
  aztec_utl_setCapsule: OracleRegistryEntry<[NamedValue<"contractAddress", import("@aztec/stdlib/aztec-address").AztecAddress>, NamedValue<"slot", Fr>, NamedValue<"capsule", Fr[]>, NamedValue<"scope", import("@aztec/stdlib/aztec-address").AztecAddress>], any>;
@@ -73,6 +75,7 @@ export declare const ORACLE_REGISTRY: {
73
75
  aztec_prv_getNextTaggingIndex: OracleRegistryEntry<[NamedValue<"secret", Fr>, NamedValue<"deliveryMode", import("./oracle_type_mappings.js").AppTaggingSecretKind>], number>;
74
76
  aztec_prv_getSenderForTags: OracleRegistryEntry<NamedValue<string, any>[], import("../index.js").Option<import("@aztec/stdlib/aztec-address").AztecAddress>>;
75
77
  aztec_prv_resolveTaggingStrategy: OracleRegistryEntry<[NamedValue<"sender", import("@aztec/stdlib/aztec-address").AztecAddress>, NamedValue<"recipient", import("@aztec/stdlib/aztec-address").AztecAddress>, NamedValue<"deliveryMode", import("./oracle_type_mappings.js").AppTaggingSecretKind>], import("../index.js").ResolvedTaggingStrategy>;
78
+ aztec_prv_resolveCustomRequest: OracleRegistryEntry<[NamedValue<"kind", Fr>, NamedValue<"payload", Fr[]>], Fr[]>;
76
79
  };
77
80
  /**
78
81
  * A full oracle registry entry describing param and return serialization.
@@ -95,7 +98,7 @@ export declare function makeEntry<const TParams extends RegistryParam[] = [], TR
95
98
  returnType?: TypeMapping<TReturnValue>;
96
99
  }): OracleRegistryEntry<InferDeserializedParams<TParams>, TReturnValue>;
97
100
  /** A named oracle parameter with its TypeMapping. */
98
- interface RegistryParam<TName extends string = string, T = any> {
101
+ export interface RegistryParam<TName extends string = string, T = any> {
99
102
  name: TName;
100
103
  type: TypeMapping<T>;
101
104
  }
@@ -121,7 +124,7 @@ export type ParamTypes<T extends readonly NamedValue[]> = {
121
124
  * @example `InferDeserializedParams<[RegistryParam<'addr', AztecAddress>, RegistryParam<'slot', Fr>]>`
122
125
  * → `[NamedValue<'addr', AztecAddress>, NamedValue<'slot', Fr>]`
123
126
  */
124
- type InferDeserializedParams<T extends RegistryParam[]> = {
127
+ export type InferDeserializedParams<T extends RegistryParam[]> = {
125
128
  [K in keyof T]: T[K] extends RegistryParam<infer N, infer V> ? NamedValue<N, V> : never;
126
129
  };
127
130
  /** Strips the `aztec_{scope}_` prefix from an oracle key to get the handler method name. */
@@ -132,4 +135,4 @@ type HandlerFn<E extends OracleRegistryEntry> = (...args: ParamTypes<ReturnType<
132
135
  export type HandlersForPrefix<R extends Record<string, OracleRegistryEntry>, P extends string> = {
133
136
  [K in keyof R as K extends `aztec_${P}_${string}` ? StripOraclePrefix<K & string> : never]: HandlerFn<R[K]>;
134
137
  };
135
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JhY2xlX3JlZ2lzdHJ5LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJhY3RfZnVuY3Rpb25fc2ltdWxhdG9yL29yYWNsZS9vcmFjbGVfcmVnaXN0cnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBSXBELE9BQU8sRUFtQkwsS0FBSyxTQUFTLEVBTWQsS0FBSyxZQUFZLEVBT2pCLEtBQUssVUFBVSxFQVdmLEtBQUssV0FBVyxFQUtqQixNQUFNLDJCQUEyQixDQUFDO0FBRW5DLE9BQU8sRUFDTCxLQUFLLEVBQ0wsYUFBYSxFQUNiLE1BQU0sRUFDTixZQUFZLEVBQ1osSUFBSSxFQUNKLFdBQVcsRUFDWCxNQUFNLEVBQ04sSUFBSSxFQUNKLGtCQUFrQixFQUNsQixhQUFhLEVBQ2IseUJBQXlCLEVBQ3pCLGVBQWUsRUFDZix3QkFBd0IsRUFDeEIsS0FBSyxFQUNMLGlCQUFpQixFQUNqQixxQkFBcUIsRUFDckIsc0JBQXNCLEVBQ3RCLGtCQUFrQixFQUNsQix1QkFBdUIsRUFDdkIsTUFBTSxFQUNOLGtCQUFrQixFQUNsQixLQUFLLEVBQ0wsZUFBZSxFQUNmLFdBQVcsRUFDWCxHQUFHLEVBQ0gsR0FBRyxFQUNILE9BQU8sRUFDUCxLQUFLLFNBQVMsRUFDZCxLQUFLLFlBQVksRUFDakIsS0FBSyxVQUFVLEVBQ2YsS0FBSyxTQUFTLEVBQ2QsS0FBSyxXQUFXLEdBQ2pCLE1BQU0sMkJBQTJCLENBQUM7QUFFbkMsZUFBTyxNQUFNLGVBQWU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQXlkbUIsQ0FBQztBQUloRDs7Ozs7R0FLRztBQUNILE1BQU0sV0FBVyxtQkFBbUIsQ0FDbEMsbUJBQW1CLFNBQVMsU0FBUyxVQUFVLEVBQUUsR0FBRyxTQUFTLFVBQVUsRUFB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
138
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JhY2xlX3JlZ2lzdHJ5LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJhY3RfZnVuY3Rpb25fc2ltdWxhdG9yL29yYWNsZS9vcmFjbGVfcmVnaXN0cnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBR3BELE9BQU8sS0FBSyxFQUFFLHdCQUF3QixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFeEUsT0FBTyxFQW1CTCxLQUFLLFNBQVMsRUFNZCxLQUFLLFlBQVksRUFPakIsS0FBSyxVQUFVLEVBWWYsS0FBSyxXQUFXLEVBS2pCLE1BQU0sMkJBQTJCLENBQUM7QUFFbkMsT0FBTyxFQUNMLEtBQUssRUFDTCxhQUFhLEVBQ2IsTUFBTSxFQUNOLFlBQVksRUFDWixJQUFJLEVBQ0osV0FBVyxFQUNYLE1BQU0sRUFDTixJQUFJLEVBQ0osa0JBQWtCLEVBQ2xCLGFBQWEsRUFDYix5QkFBeUIsRUFDekIsZUFBZSxFQUNmLHdCQUF3QixFQUN4QixLQUFLLEVBQ0wsaUJBQWlCLEVBQ2pCLHFCQUFxQixFQUNyQixzQkFBc0IsRUFDdEIsa0JBQWtCLEVBQ2xCLHVCQUF1QixFQUN2QixNQUFNLEVBQ04sa0JBQWtCLEVBQ2xCLEtBQUssRUFDTCxlQUFlLEVBQ2YsV0FBVyxFQUNYLEdBQUcsRUFDSCxHQUFHLEVBQ0gsT0FBTyxFQUNQLEtBQUssU0FBUyxFQUNkLEtBQUssWUFBWSxFQUNqQixLQUFLLFVBQVUsRUFDZixLQUFLLFNBQVMsRUFDZCxLQUFLLFdBQVcsR0FDakIsTUFBTSwyQkFBMkIsQ0FBQztBQUVuQyxlQUFPLE1BQU0sZUFBZTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FnZm1CLENBQUM7QUFJaEQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFdBQVcsbUJBQW1C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
@@ -1 +1 @@
1
- {"version":3,"file":"oracle_registry.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/oracle/oracle_registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oracle_registry.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/oracle/oracle_registry.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  import { Fr } from '@aztec/foundation/curves/bn254';
3
3
  import { FieldReader } from '@aztec/foundation/serialize';
4
4
  import { toACVMField } from '@aztec/simulator/client';
5
- import { ARRAY, AZTEC_ADDRESS, BLOCK_HASH, BLOCK_HEADER, BLOCK_NUMBER, BOOL, BOUNDED_VEC, BUFFER, BYTE, CALL_PRIVATE_RESULT, CONTRACT_CLASS_LOG, CONTRACT_INSTANCE, DELIVERY_MODE, EPHEMERAL_ARRAY, EVENT_VALIDATION_REQUEST, FACT_COLLECTION, FIELD, FUNCTION_SELECTOR, KEY_VALIDATION_REQUEST, LOG_RETRIEVAL_REQUEST, LOG_RETRIEVAL_RESPONSE, MEMBERSHIP_WITNESS, MESSAGE_LOAD_ORACLE_INPUTS, NOTE, NOTE_SELECTOR, NOTE_VALIDATION_REQUEST, NULLIFIER_MEMBERSHIP_WITNESS, OPTION, ORIGIN_BLOCK, PENDING_TAGGED_LOG, POINT, PROVIDED_SECRET, PUBLIC_DATA_WITNESS, PUBLIC_KEYS_AND_PARTIAL_ADDRESS, RESOLVED_TAGGING_STRATEGY, RESOLVED_TX, STR, TX_EFFECT, TX_HASH, U32, UTILITY_CONTEXT, assertReadersConsumed, slotsOf } from './oracle_type_mappings.js';
5
+ import { ARRAY, AZTEC_ADDRESS, BLOCK_HASH, BLOCK_HEADER, BLOCK_NUMBER, BOOL, BOUNDED_VEC, BUFFER, BYTE, CALL_PRIVATE_RESULT, CONTRACT_CLASS_LOG, CONTRACT_INSTANCE, DELIVERY_MODE, EPHEMERAL_ARRAY, EVENT_VALIDATION_REQUEST, FACT_COLLECTION, FIELD, FUNCTION_SELECTOR, KEY_VALIDATION_REQUEST, LOG_RETRIEVAL_REQUEST, LOG_RETRIEVAL_RESPONSE, MEMBERSHIP_WITNESS, MESSAGE_LOAD_ORACLE_INPUTS, NOTE, NOTE_SELECTOR, NOTE_VALIDATION_REQUEST, NULLIFIER_MEMBERSHIP_WITNESS, OPTION, ORIGIN_BLOCK, PENDING_TAGGED_LOG, POINT, PROVIDED_SECRET, PUBLIC_DATA_WITNESS, PUBLIC_KEYS_AND_PARTIAL_ADDRESS, RESOLVED_TAGGING_STRATEGY, RESOLVED_TX, STR, STRUCT, TX_EFFECT, TX_HASH, U32, UTILITY_CONTEXT, assertReadersConsumed, slotsOf } from './oracle_type_mappings.js';
6
6
  export { ARRAY, AZTEC_ADDRESS, BIGINT, BLOCK_NUMBER, BOOL, BOUNDED_VEC, BUFFER, BYTE, CONTRACT_CLASS_LOG, DELIVERY_MODE, RESOLVED_TAGGING_STRATEGY, EPHEMERAL_ARRAY, EVENT_VALIDATION_REQUEST, FIELD, FUNCTION_SELECTOR, LOG_RETRIEVAL_REQUEST, LOG_RETRIEVAL_RESPONSE, MEMBERSHIP_WITNESS, NOTE_VALIDATION_REQUEST, OPTION, PENDING_TAGGED_LOG, POINT, PROVIDED_SECRET, RESOLVED_TX, STR, U32, slotsOf } from './oracle_type_mappings.js';
7
7
  export const ORACLE_REGISTRY = {
8
8
  aztec_misc_assertCompatibleOracleVersion: makeEntry({
@@ -91,6 +91,19 @@ export const ORACLE_REGISTRY = {
91
91
  ],
92
92
  returnType: OPTION(MEMBERSHIP_WITNESS(ARCHIVE_HEIGHT))
93
93
  }),
94
+ aztec_utl_areBlockHashesInArchive: makeEntry({
95
+ params: [
96
+ {
97
+ name: 'anchorBlockHash',
98
+ type: BLOCK_HASH
99
+ },
100
+ {
101
+ name: 'blockHashes',
102
+ type: EPHEMERAL_ARRAY(BLOCK_HASH)
103
+ }
104
+ ],
105
+ returnType: EPHEMERAL_ARRAY(BOOL)
106
+ }),
94
107
  aztec_utl_getNullifierMembershipWitness: makeEntry({
95
108
  params: [
96
109
  {
@@ -166,19 +179,24 @@ export const ORACLE_REGISTRY = {
166
179
  ],
167
180
  returnType: BOOL
168
181
  }),
169
- aztec_utl_getL1ToL2MembershipWitness: makeEntry({
182
+ aztec_utl_getL1ToL2MembershipWitnessV2: makeEntry({
170
183
  params: [
171
- {
172
- name: 'contractAddress',
173
- type: AZTEC_ADDRESS
174
- },
175
184
  {
176
185
  name: 'messageHash',
177
186
  type: FIELD
178
187
  },
179
188
  {
180
- name: 'secret',
181
- type: FIELD
189
+ name: 'nullifier',
190
+ type: OPTION(STRUCT([
191
+ {
192
+ name: 'contractAddress',
193
+ type: AZTEC_ADDRESS
194
+ },
195
+ {
196
+ name: 'nullifier',
197
+ type: FIELD
198
+ }
199
+ ]))
182
200
  }
183
201
  ],
184
202
  returnType: MESSAGE_LOAD_ORACLE_INPUTS
@@ -277,7 +295,7 @@ export const ORACLE_REGISTRY = {
277
295
  ],
278
296
  returnType: BOUNDED_VEC(NOTE)
279
297
  }),
280
- aztec_utl_getPendingTaggedLogs: makeEntry({
298
+ aztec_utl_getPendingTaggedLogsV2: makeEntry({
281
299
  params: [
282
300
  {
283
301
  name: 'scope',
@@ -306,7 +324,7 @@ export const ORACLE_REGISTRY = {
306
324
  }
307
325
  ]
308
326
  }),
309
- aztec_utl_getLogsByTag: makeEntry({
327
+ aztec_utl_getLogsByTagV2: makeEntry({
310
328
  params: [
311
329
  {
312
330
  name: 'requests',
@@ -932,6 +950,19 @@ export const ORACLE_REGISTRY = {
932
950
  }
933
951
  ],
934
952
  returnType: RESOLVED_TAGGING_STRATEGY
953
+ }),
954
+ aztec_prv_resolveCustomRequest: makeEntry({
955
+ params: [
956
+ {
957
+ name: 'kind',
958
+ type: FIELD
959
+ },
960
+ {
961
+ name: 'payload',
962
+ type: ARRAY(FIELD)
963
+ }
964
+ ],
965
+ returnType: ARRAY(FIELD)
935
966
  })
936
967
  };
937
968
  export function makeEntry({ params, returnType } = {}) {