@aztec/simulator 0.80.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 (144) hide show
  1. package/dest/common/db_interfaces.d.ts +30 -17
  2. package/dest/common/db_interfaces.d.ts.map +1 -1
  3. package/dest/common/db_interfaces.js +1 -1
  4. package/dest/common/debug_fn_name.d.ts +2 -2
  5. package/dest/common/debug_fn_name.d.ts.map +1 -1
  6. package/dest/common/message_load_oracle_inputs.d.ts +4 -0
  7. package/dest/common/message_load_oracle_inputs.d.ts.map +1 -1
  8. package/dest/common/message_load_oracle_inputs.js +9 -0
  9. package/dest/private/acvm/acvm.d.ts +6 -1
  10. package/dest/private/acvm/acvm.d.ts.map +1 -1
  11. package/dest/private/acvm/acvm.js +7 -13
  12. package/dest/private/acvm/deserialize.d.ts +19 -18
  13. package/dest/private/acvm/deserialize.d.ts.map +1 -1
  14. package/dest/private/acvm/deserialize.js +31 -23
  15. package/dest/private/acvm/oracle/oracle.d.ts +36 -34
  16. package/dest/private/acvm/oracle/oracle.d.ts.map +1 -1
  17. package/dest/private/acvm/oracle/oracle.js +134 -79
  18. package/dest/private/acvm/oracle/typed_oracle.d.ts +3 -2
  19. package/dest/private/acvm/oracle/typed_oracle.d.ts.map +1 -1
  20. package/dest/private/acvm/oracle/typed_oracle.js +5 -2
  21. package/dest/private/acvm/serialize.d.ts +11 -0
  22. package/dest/private/acvm/serialize.d.ts.map +1 -1
  23. package/dest/private/acvm/serialize.js +27 -0
  24. package/dest/private/execution_data_provider.d.ts +15 -13
  25. package/dest/private/execution_data_provider.d.ts.map +1 -1
  26. package/dest/private/private_execution.d.ts +2 -2
  27. package/dest/private/private_execution.d.ts.map +1 -1
  28. package/dest/private/private_execution.js +4 -5
  29. package/dest/private/private_execution_oracle.d.ts.map +1 -1
  30. package/dest/private/private_execution_oracle.js +1 -1
  31. package/dest/private/providers/acvm_native.d.ts +6 -4
  32. package/dest/private/providers/acvm_native.d.ts.map +1 -1
  33. package/dest/private/providers/acvm_native.js +6 -3
  34. package/dest/private/providers/acvm_wasm.d.ts +6 -7
  35. package/dest/private/providers/acvm_wasm.d.ts.map +1 -1
  36. package/dest/private/providers/acvm_wasm.js +13 -15
  37. package/dest/private/providers/acvm_wasm_with_blobs.d.ts +5 -5
  38. package/dest/private/providers/acvm_wasm_with_blobs.d.ts.map +1 -1
  39. package/dest/private/providers/acvm_wasm_with_blobs.js +7 -9
  40. package/dest/private/providers/circuit_recording/circuit_recorder.d.ts +90 -0
  41. package/dest/private/providers/circuit_recording/circuit_recorder.d.ts.map +1 -0
  42. package/dest/private/providers/circuit_recording/circuit_recorder.js +246 -0
  43. package/dest/private/providers/circuit_recording/simulation_provider_recorder_wrapper.d.ts +18 -0
  44. package/dest/private/providers/circuit_recording/simulation_provider_recorder_wrapper.d.ts.map +1 -0
  45. package/dest/private/providers/circuit_recording/simulation_provider_recorder_wrapper.js +39 -0
  46. package/dest/private/providers/simulation_provider.d.ts +21 -7
  47. package/dest/private/providers/simulation_provider.d.ts.map +1 -1
  48. package/dest/private/simulator.d.ts +3 -2
  49. package/dest/private/simulator.d.ts.map +1 -1
  50. package/dest/private/simulator.js +2 -2
  51. package/dest/private/unconstrained_execution.d.ts +2 -2
  52. package/dest/private/unconstrained_execution.d.ts.map +1 -1
  53. package/dest/private/unconstrained_execution.js +1 -2
  54. package/dest/private/unconstrained_execution_oracle.d.ts +5 -3
  55. package/dest/private/unconstrained_execution_oracle.d.ts.map +1 -1
  56. package/dest/private/unconstrained_execution_oracle.js +9 -5
  57. package/dest/public/avm/avm_simulator.d.ts.map +1 -1
  58. package/dest/public/avm/avm_simulator.js +0 -2
  59. package/dest/public/avm/fixtures/avm_simulation_tester.d.ts.map +1 -1
  60. package/dest/public/avm/fixtures/avm_simulation_tester.js +5 -5
  61. package/dest/public/avm/fixtures/index.d.ts +4 -4
  62. package/dest/public/avm/fixtures/index.d.ts.map +1 -1
  63. package/dest/public/avm/fixtures/index.js +9 -6
  64. package/dest/public/avm/fixtures/simple_contract_data_source.d.ts +1 -2
  65. package/dest/public/avm/fixtures/simple_contract_data_source.d.ts.map +1 -1
  66. package/dest/public/avm/fixtures/simple_contract_data_source.js +0 -3
  67. package/dest/public/avm/journal/journal.d.ts +16 -70
  68. package/dest/public/avm/journal/journal.d.ts.map +1 -1
  69. package/dest/public/avm/journal/journal.js +88 -210
  70. package/dest/public/avm/journal/nullifiers.d.ts +2 -2
  71. package/dest/public/avm/journal/nullifiers.d.ts.map +1 -1
  72. package/dest/public/avm/journal/public_storage.d.ts +2 -2
  73. package/dest/public/avm/journal/public_storage.d.ts.map +1 -1
  74. package/dest/public/avm/test_utils.d.ts +10 -13
  75. package/dest/public/avm/test_utils.d.ts.map +1 -1
  76. package/dest/public/avm/test_utils.js +8 -13
  77. package/dest/public/fixtures/public_tx_simulation_tester.d.ts +3 -3
  78. package/dest/public/fixtures/public_tx_simulation_tester.d.ts.map +1 -1
  79. package/dest/public/fixtures/public_tx_simulation_tester.js +10 -9
  80. package/dest/public/hinting_db_sources.d.ts +19 -0
  81. package/dest/public/hinting_db_sources.d.ts.map +1 -0
  82. package/dest/public/hinting_db_sources.js +36 -0
  83. package/dest/public/public_db_sources.d.ts +46 -22
  84. package/dest/public/public_db_sources.d.ts.map +1 -1
  85. package/dest/public/public_db_sources.js +82 -27
  86. package/dest/public/public_processor/public_processor.d.ts +5 -5
  87. package/dest/public/public_processor/public_processor.d.ts.map +1 -1
  88. package/dest/public/public_processor/public_processor.js +21 -20
  89. package/dest/public/public_tx_simulator/public_tx_context.d.ts +9 -14
  90. package/dest/public/public_tx_simulator/public_tx_context.d.ts.map +1 -1
  91. package/dest/public/public_tx_simulator/public_tx_context.js +15 -19
  92. package/dest/public/public_tx_simulator/public_tx_simulator.d.ts +9 -6
  93. package/dest/public/public_tx_simulator/public_tx_simulator.d.ts.map +1 -1
  94. package/dest/public/public_tx_simulator/public_tx_simulator.js +28 -14
  95. package/dest/public/side_effect_trace.d.ts +6 -22
  96. package/dest/public/side_effect_trace.d.ts.map +1 -1
  97. package/dest/public/side_effect_trace.js +11 -70
  98. package/dest/public/side_effect_trace_interface.d.ts +5 -19
  99. package/dest/public/side_effect_trace_interface.d.ts.map +1 -1
  100. package/dest/testing.d.ts +2 -0
  101. package/dest/testing.d.ts.map +1 -0
  102. package/dest/testing.js +1 -0
  103. package/package.json +15 -14
  104. package/src/common/db_interfaces.ts +32 -18
  105. package/src/common/debug_fn_name.ts +2 -2
  106. package/src/common/message_load_oracle_inputs.ts +8 -0
  107. package/src/private/acvm/acvm.ts +8 -24
  108. package/src/private/acvm/deserialize.ts +35 -29
  109. package/src/private/acvm/oracle/oracle.ts +171 -129
  110. package/src/private/acvm/oracle/typed_oracle.ts +7 -3
  111. package/src/private/acvm/serialize.ts +28 -0
  112. package/src/private/execution_data_provider.ts +19 -14
  113. package/src/private/private_execution.ts +11 -7
  114. package/src/private/private_execution_oracle.ts +5 -1
  115. package/src/private/providers/acvm_native.ts +17 -6
  116. package/src/private/providers/acvm_wasm.ts +27 -20
  117. package/src/private/providers/acvm_wasm_with_blobs.ts +15 -12
  118. package/src/private/providers/circuit_recording/circuit_recorder.ts +283 -0
  119. package/src/private/providers/circuit_recording/simulation_provider_recorder_wrapper.ts +82 -0
  120. package/src/private/providers/simulation_provider.ts +30 -5
  121. package/src/private/simulator.ts +5 -3
  122. package/src/private/unconstrained_execution.ts +8 -4
  123. package/src/private/unconstrained_execution_oracle.ts +15 -9
  124. package/src/public/avm/avm_simulator.ts +0 -2
  125. package/src/public/avm/fixtures/avm_simulation_tester.ts +8 -5
  126. package/src/public/avm/fixtures/index.ts +16 -10
  127. package/src/public/avm/fixtures/simple_contract_data_source.ts +1 -10
  128. package/src/public/avm/journal/journal.ts +119 -353
  129. package/src/public/avm/journal/nullifiers.ts +2 -2
  130. package/src/public/avm/journal/public_storage.ts +2 -2
  131. package/src/public/avm/test_utils.ts +20 -29
  132. package/src/public/fixtures/public_tx_simulation_tester.ts +9 -12
  133. package/src/public/hinting_db_sources.ts +71 -0
  134. package/src/public/public_db_sources.ts +134 -32
  135. package/src/public/public_processor/public_processor.ts +22 -21
  136. package/src/public/public_tx_simulator/public_tx_context.ts +30 -38
  137. package/src/public/public_tx_simulator/public_tx_simulator.ts +47 -17
  138. package/src/public/side_effect_trace.ts +8 -172
  139. package/src/public/side_effect_trace_interface.ts +4 -55
  140. package/src/testing.ts +1 -0
  141. package/dest/public/avm/bytecode_utils.d.ts +0 -5
  142. package/dest/public/avm/bytecode_utils.d.ts.map +0 -1
  143. package/dest/public/avm/bytecode_utils.js +0 -17
  144. package/src/public/avm/bytecode_utils.ts +0 -17
@@ -2,13 +2,13 @@ import type { L1_TO_L2_MSG_TREE_HEIGHT } from '@aztec/constants';
2
2
  import type { Fr } from '@aztec/foundation/fields';
3
3
  import type { FunctionSelector } from '@aztec/stdlib/abi';
4
4
  import type { AztecAddress } from '@aztec/stdlib/aztec-address';
5
- import type { ContractInstanceWithAddress } from '@aztec/stdlib/contract';
5
+ import type { ContractClassPublic, ContractInstanceWithAddress } from '@aztec/stdlib/contract';
6
6
  import type { NullifierMembershipWitness } from '@aztec/stdlib/trees';
7
7
  import type { MessageLoadOracleInputs } from './message_load_oracle_inputs.js';
8
8
  /**
9
9
  * Database interface for providing access to public state.
10
10
  */
11
- export interface PublicStateDB {
11
+ export interface PublicStateDBInterface {
12
12
  /**
13
13
  * Reads a value from public storage, returning zero if none.
14
14
  * @param contract - Owner of the storage.
@@ -27,17 +27,36 @@ export interface PublicStateDB {
27
27
  /**
28
28
  * Database interface for providing access to public contract data.
29
29
  */
30
- export interface PublicContractsDB {
30
+ export interface PublicContractsDBInterface {
31
31
  /**
32
32
  * Returns a publicly deployed contract instance.
33
33
  * @param address - Address of the contract.
34
+ * @param blockNumber - The block number at which to retrieve the contract instance.
34
35
  * @returns The contract instance or undefined if not found.
35
36
  */
36
- getContractInstance(address: AztecAddress): Promise<ContractInstanceWithAddress | undefined>;
37
+ getContractInstance(address: AztecAddress, blockNumber: number): Promise<ContractInstanceWithAddress | undefined>;
38
+ /**
39
+ * Returns a publicly deployed contract class.
40
+ * @param contractClassId - ID of the contract class.
41
+ * @returns The contract class or undefined if not found
42
+ */
43
+ getContractClass(contractClassId: Fr): Promise<ContractClassPublic | undefined>;
44
+ /**
45
+ * Returns the commitment to the bytecode of a contract class.
46
+ * @param contractClassId - ID of the contract class.
47
+ * @returns The commitment to the bytecode or undefined if not found.
48
+ */
49
+ getBytecodeCommitment(contractClassId: Fr): Promise<Fr | undefined>;
50
+ /**
51
+ * Returns the function name of a contract's function given its selector.
52
+ * @param contractAddress - Address of the contract.
53
+ * @param selector - Selector of the function.
54
+ * @returns The name of the function or undefined if not found.
55
+ */
37
56
  getDebugFunctionName(contractAddress: AztecAddress, selector: FunctionSelector): Promise<string | undefined>;
38
57
  }
39
- /** Database interface for providing access to commitment tree, l1 to l2 message tree, and nullifier tree. */
40
- export interface CommitmentsDB {
58
+ /** Database interface for providing access to note hash tree, l1 to l2 message tree, and nullifier tree. */
59
+ export interface CommitmentsDBInterface {
41
60
  /**
42
61
  * Fetches a message from the db, given its key.
43
62
  * @param contractAddress - Address of a contract by which the message was emitted.
@@ -49,21 +68,15 @@ export interface CommitmentsDB {
49
68
  getL1ToL2MembershipWitness(contractAddress: AztecAddress, messageHash: Fr, secret: Fr): Promise<MessageLoadOracleInputs<typeof L1_TO_L2_MSG_TREE_HEIGHT>>;
50
69
  /**
51
70
  * @param leafIndex the leaf to look up
52
- * @returns The l1 to l2 leaf value or undefined if not found.
53
- */
54
- getL1ToL2LeafValue(leafIndex: bigint): Promise<Fr | undefined>;
55
- /**
56
- * Gets the index of a commitment in the note hash tree.
57
- * @param commitment - The commitment.
58
- * @returns - The index of the commitment. Undefined if it does not exist in the tree.
71
+ * @returns The l1 to l2 leaf message hash or undefined if not found.
59
72
  */
60
- getCommitmentIndex(commitment: Fr): Promise<bigint | undefined>;
73
+ getL1ToL2MessageHash(leafIndex: bigint): Promise<Fr | undefined>;
61
74
  /**
62
- * Gets commitment in the note hash tree given a leaf index.
75
+ * Gets note hash in the note hash tree at the given leaf index.
63
76
  * @param leafIndex - the leaf to look up.
64
- * @returns - The commitment at that index. Undefined if leaf index is not found.
77
+ * @returns - The note hash at that index. Undefined if leaf index is not found.
65
78
  */
66
- getCommitmentValue(leafIndex: bigint): Promise<Fr | undefined>;
79
+ getNoteHash(leafIndex: bigint): Promise<Fr | undefined>;
67
80
  /**
68
81
  * Gets the index of a nullifier in the nullifier tree.
69
82
  * @param nullifier - The nullifier.
@@ -1 +1 @@
1
- {"version":3,"file":"db_interfaces.d.ts","sourceRoot":"","sources":["../../src/common/db_interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAEtE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAE/E;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;;OAKG;IACH,WAAW,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;IAE3D;;;;;OAKG;IACH,YAAY,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7E;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;OAIG;IACH,mBAAmB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,2BAA2B,GAAG,SAAS,CAAC,CAAC;IAE7F,oBAAoB,CAAC,eAAe,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CAC9G;AAED,6GAA6G;AAC7G,MAAM,WAAW,aAAa;IAC5B;;;;;;;OAOG;IACH,0BAA0B,CACxB,eAAe,EAAE,YAAY,EAC7B,WAAW,EAAE,EAAE,EACf,MAAM,EAAE,EAAE,GACT,OAAO,CAAC,uBAAuB,CAAC,OAAO,wBAAwB,CAAC,CAAC,CAAC;IAErE;;;OAGG;IACH,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC;IAE/D;;;;OAIG;IACH,kBAAkB,CAAC,UAAU,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAEhE;;;;OAIG;IACH,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC;IAE/D;;;;OAIG;IACH,iBAAiB,CAAC,SAAS,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAE9D;;;;OAIG;IACH,0CAA0C,CAAC,SAAS,EAAE,EAAE,GAAG,OAAO,CAAC,0BAA0B,GAAG,SAAS,CAAC,CAAC;CAC5G"}
1
+ {"version":3,"file":"db_interfaces.d.ts","sourceRoot":"","sources":["../../src/common/db_interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAC/F,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAEtE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAE/E;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;;;OAKG;IACH,WAAW,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;IAE3D;;;;;OAKG;IACH,YAAY,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7E;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC;;;;;OAKG;IACH,mBAAmB,CAAC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,2BAA2B,GAAG,SAAS,CAAC,CAAC;IAElH;;;;OAIG;IACH,gBAAgB,CAAC,eAAe,EAAE,EAAE,GAAG,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAAC;IAEhF;;;;OAIG;IACH,qBAAqB,CAAC,eAAe,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC;IAEpE;;;;;OAKG;IACH,oBAAoB,CAAC,eAAe,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CAC9G;AAED,4GAA4G;AAC5G,MAAM,WAAW,sBAAsB;IACrC;;;;;;;OAOG;IACH,0BAA0B,CACxB,eAAe,EAAE,YAAY,EAC7B,WAAW,EAAE,EAAE,EACf,MAAM,EAAE,EAAE,GACT,OAAO,CAAC,uBAAuB,CAAC,OAAO,wBAAwB,CAAC,CAAC,CAAC;IAErE;;;OAGG;IACH,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC;IAEjE;;;;OAIG;IACH,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC;IAExD;;;;OAIG;IACH,iBAAiB,CAAC,SAAS,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAE9D;;;;OAIG;IACH,0CAA0C,CAAC,SAAS,EAAE,EAAE,GAAG,OAAO,CAAC,0BAA0B,GAAG,SAAS,CAAC,CAAC;CAC5G"}
@@ -1 +1 @@
1
- /** Database interface for providing access to commitment tree, l1 to l2 message tree, and nullifier tree. */ export { };
1
+ /** Database interface for providing access to note hash tree, l1 to l2 message tree, and nullifier tree. */ export { };
@@ -1,5 +1,5 @@
1
1
  import type { Fr } from '@aztec/foundation/fields';
2
2
  import type { AztecAddress } from '@aztec/stdlib/aztec-address';
3
- import type { WorldStateDB } from '../public/public_db_sources.js';
4
- export declare function getPublicFunctionDebugName(db: WorldStateDB, contractAddress: AztecAddress, calldata: Fr[]): Promise<string>;
3
+ import type { PublicContractsDBInterface } from './db_interfaces.js';
4
+ export declare function getPublicFunctionDebugName(db: PublicContractsDBInterface, contractAddress: AztecAddress, calldata: Fr[]): Promise<string>;
5
5
  //# sourceMappingURL=debug_fn_name.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"debug_fn_name.d.ts","sourceRoot":"","sources":["../../src/common/debug_fn_name.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAEnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAEnE,wBAAsB,0BAA0B,CAC9C,EAAE,EAAE,YAAY,EAChB,eAAe,EAAE,YAAY,EAC7B,QAAQ,EAAE,EAAE,EAAE,GACb,OAAO,CAAC,MAAM,CAAC,CAOjB"}
1
+ {"version":3,"file":"debug_fn_name.d.ts","sourceRoot":"","sources":["../../src/common/debug_fn_name.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAEnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAErE,wBAAsB,0BAA0B,CAC9C,EAAE,EAAE,0BAA0B,EAC9B,eAAe,EAAE,YAAY,EAC7B,QAAQ,EAAE,EAAE,EAAE,GACb,OAAO,CAAC,MAAM,CAAC,CAOjB"}
@@ -11,5 +11,9 @@ export declare class MessageLoadOracleInputs<N extends number> {
11
11
  /** The path in the merkle tree to the message. */
12
12
  siblingPath: SiblingPath<N>);
13
13
  toFields(): Fr[];
14
+ /**
15
+ * Returns a representation of the public data witness as expected by intrinsic Noir deserialization.
16
+ */
17
+ toNoirRepresentation(): (string | string[])[];
14
18
  }
15
19
  //# sourceMappingURL=message_load_oracle_inputs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"message_load_oracle_inputs.d.ts","sourceRoot":"","sources":["../../src/common/message_load_oracle_inputs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,qBAAa,uBAAuB,CAAC,CAAC,SAAS,MAAM;IAEjD,8DAA8D;IACvD,KAAK,EAAE,MAAM;IACpB,kDAAkD;IAC3C,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;;IAHlC,8DAA8D;IACvD,KAAK,EAAE,MAAM;IACpB,kDAAkD;IAC3C,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;IAGpC,QAAQ,IAAI,EAAE,EAAE;CAGjB"}
1
+ {"version":3,"file":"message_load_oracle_inputs.d.ts","sourceRoot":"","sources":["../../src/common/message_load_oracle_inputs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,qBAAa,uBAAuB,CAAC,CAAC,SAAS,MAAM;IAEjD,8DAA8D;IACvD,KAAK,EAAE,MAAM;IACpB,kDAAkD;IAC3C,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;;IAHlC,8DAA8D;IACvD,KAAK,EAAE,MAAM;IACpB,kDAAkD;IAC3C,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;IAGpC,QAAQ,IAAI,EAAE,EAAE;IAIhB;;OAEG;IACI,oBAAoB,IAAI,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,EAAE;CAIrD"}
@@ -12,4 +12,13 @@ export class MessageLoadOracleInputs {
12
12
  ...this.siblingPath.toFields()
13
13
  ];
14
14
  }
15
+ /**
16
+ * Returns a representation of the public data witness as expected by intrinsic Noir deserialization.
17
+ */ toNoirRepresentation() {
18
+ // TODO(#12874): remove the stupid as string conversion by modifying ForeignCallOutput type in acvm.js
19
+ return [
20
+ new Fr(this.index).toString(),
21
+ this.siblingPath.toFields().map((fr)=>fr.toString())
22
+ ];
23
+ }
15
24
  }
@@ -8,7 +8,7 @@ import type { ORACLE_NAMES } from './oracle/index.js';
8
8
  /**
9
9
  * The callback interface for the ACIR.
10
10
  */
11
- export type ACIRCallback = Record<ORACLE_NAMES, (...args: ForeignCallInput[]) => void | Promise<void> | ForeignCallOutput | ForeignCallOutput[] | Promise<ForeignCallOutput> | Promise<ForeignCallOutput[]>>;
11
+ export type ACIRCallback = Record<ORACLE_NAMES, (...args: ForeignCallInput[]) => Promise<ForeignCallOutput[]>>;
12
12
  /**
13
13
  * The result of executing an ACIR.
14
14
  */
@@ -23,6 +23,11 @@ export interface ACIRExecutionResult {
23
23
  }
24
24
  /**
25
25
  * The function call that executes an ACIR.
26
+ * @param acir - The ACIR circuit bytecode to execute.
27
+ * @param initialWitness - The initial witness map defining all of the inputs to `circuit`.
28
+ * @param callback - A callback to process any foreign calls from the circuit.
29
+ * @returns The solved witness calculated by executing the circuit on the provided inputs, as well as the return
30
+ * witness indices as specified by the circuit.
26
31
  */
27
32
  export declare function acvm(acir: Buffer, initialWitness: ACVMWitness, callback: ACIRCallback): Promise<ACIRExecutionResult>;
28
33
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"acvm.d.ts","sourceRoot":"","sources":["../../../src/private/acvm/acvm.ts"],"names":[],"mappings":";;AACA,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EAEvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAG1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,CAC/B,YAAY,EACZ,CACE,GAAG,IAAI,EAAE,gBAAgB,EAAE,KAEzB,IAAI,GACJ,OAAO,CAAC,IAAI,CAAC,GACb,iBAAiB,GACjB,iBAAiB,EAAE,GACnB,OAAO,CAAC,iBAAiB,CAAC,GAC1B,OAAO,CAAC,iBAAiB,EAAE,CAAC,CACjC,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,cAAc,EAAE,WAAW,CAAC;IAC5B,aAAa,EAAE,WAAW,CAAC;CAC5B;AAED;;GAEG;AACH,wBAAsB,IAAI,CACxB,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,WAAW,EAC3B,QAAQ,EAAE,YAAY,GACrB,OAAO,CAAC,mBAAmB,CAAC,CAkD9B;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,KAAK,GAAG,cAAc,EAC7B,KAAK,CAAC,EAAE,qBAAqB,GAC5B,aAAa,GAAG,SAAS,CAc3B"}
1
+ {"version":3,"file":"acvm.d.ts","sourceRoot":"","sources":["../../../src/private/acvm/acvm.ts"],"names":[],"mappings":";;AACA,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EAEvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAG1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC,GAAG,IAAI,EAAE,gBAAgB,EAAE,KAAK,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;AAE/G;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,cAAc,EAAE,WAAW,CAAC;IAC5B,aAAa,EAAE,WAAW,CAAC;CAC5B;AAED;;;;;;;GAOG;AACH,wBAAsB,IAAI,CACxB,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,WAAW,EAC3B,QAAQ,EAAE,YAAY,GACrB,OAAO,CAAC,mBAAmB,CAAC,CAwC9B;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,KAAK,GAAG,cAAc,EAC7B,KAAK,CAAC,EAAE,qBAAqB,GAC5B,aAAa,GAAG,SAAS,CAc3B"}
@@ -3,27 +3,21 @@ import { executeCircuitWithReturnWitness } from '@aztec/noir-acvm_js';
3
3
  import { resolveOpcodeLocations, traverseCauseChain } from '../../common/errors.js';
4
4
  /**
5
5
  * The function call that executes an ACIR.
6
+ * @param acir - The ACIR circuit bytecode to execute.
7
+ * @param initialWitness - The initial witness map defining all of the inputs to `circuit`.
8
+ * @param callback - A callback to process any foreign calls from the circuit.
9
+ * @returns The solved witness calculated by executing the circuit on the provided inputs, as well as the return
10
+ * witness indices as specified by the circuit.
6
11
  */ export async function acvm(acir, initialWitness, callback) {
7
12
  const logger = createLogger('simulator:acvm');
8
- const solvedAndReturnWitness = await executeCircuitWithReturnWitness(acir, initialWitness, async (name, args)=>{
13
+ const solvedAndReturnWitness = await executeCircuitWithReturnWitness(acir, initialWitness, (name, args)=>{
9
14
  try {
10
15
  logger.debug(`Oracle callback ${name}`);
11
16
  const oracleFunction = callback[name];
12
17
  if (!oracleFunction) {
13
18
  throw new Error(`Oracle callback ${name} not found`);
14
19
  }
15
- const result = await oracleFunction.call(callback, ...args);
16
- if (typeof result === 'undefined') {
17
- return [];
18
- } else if (result instanceof Array && !result.every((item)=>typeof item === 'string')) {
19
- // We are dealing with a nested array which means that we do not need it wrap it in another array as to have
20
- // the nested array structure it is already "wrapped".
21
- return result;
22
- } else {
23
- return [
24
- result
25
- ];
26
- }
20
+ return oracleFunction.call(callback, ...args);
27
21
  } catch (err) {
28
22
  let typedError;
29
23
  if (err instanceof Error) {
@@ -1,23 +1,7 @@
1
+ /// <reference types="node" resolution-mode="require"/>
2
+ /// <reference types="node" resolution-mode="require"/>
1
3
  import { Fr } from '@aztec/foundation/fields';
2
4
  import type { ACVMField, ACVMWitness } from './acvm_types.js';
3
- /**
4
- * Converts an ACVM field to a Fr.
5
- * @param field - The ACVM field to convert.
6
- * @returns The Fr.
7
- */
8
- export declare function fromACVMField(field: ACVMField): Fr;
9
- /**
10
- * Converts a field to a number.
11
- * @param fr - The field to convert.
12
- * @returns The number.
13
- * TODO(#4102): Nuke this once block number is big int.
14
- */
15
- export declare function frToNumber(fr: Fr): number;
16
- /**
17
- * Converts a field to a boolean.
18
- * @param fr - The field to convert.
19
- */
20
- export declare function frToBoolean(fr: Fr): boolean;
21
5
  /**
22
6
  * Converts a Noir BoundedVec of Fields into an Fr array. Note that BoundedVecs are structs, and therefore translated as
23
7
  * two separate ACVMField values (an array and a single field).
@@ -27,10 +11,27 @@ export declare function frToBoolean(fr: Fr): boolean;
27
11
  * @returns An array with the same content as the Noir version. Elements past the length are discarded.
28
12
  */
29
13
  export declare function fromBoundedVec(storage: ACVMField[], length: ACVMField): Fr[];
14
+ /**
15
+ * Converts a Noir BoundedVec of unsigned integers into a Buffer. Note that BoundedVecs are structs, and therefore
16
+ * translated as two separate ACVMField values (an array and a single field).
17
+ *
18
+ * @param storage The array with the BoundedVec's storage (i.e. BoundedVec::storage())
19
+ * @param length The length of the BoundedVec (i.e. BoundedVec::len())
20
+ * @param uintBitSize If it's an array of Noir u8's, put `8`, etc.
21
+ * @returns A buffer containing the unsigned integers tightly packed
22
+ */
23
+ export declare function fromUintBoundedVec(storage: ACVMField[], length: ACVMField, uintBitSize: number): Buffer;
30
24
  /**
31
25
  * Transforms a witness map to its field elements.
32
26
  * @param witness - The witness to extract from.
33
27
  * @returns The return values.
34
28
  */
35
29
  export declare function witnessMapToFields(witness: ACVMWitness): Fr[];
30
+ /**
31
+ * Converts an array of Noir unsigned integers to a single tightly-packed buffer.
32
+ * @param uintBitSize If it's an array of Noir u8's, put `8`, etc.
33
+ * @returns A buffer where each byte is correctly represented as a single byte in the buffer.
34
+ * Copy of the function in txe/src/util/encoding.ts.
35
+ */
36
+ export declare function fromUintArray(obj: ACVMField[], uintBitSize: number): Buffer;
36
37
  //# sourceMappingURL=deserialize.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"deserialize.d.ts","sourceRoot":"","sources":["../../../src/private/acvm/deserialize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9D;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,EAAE,CAElD;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,CAEzC;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAE3C;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,SAAS,GAAG,EAAE,EAAE,CAE5E;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,WAAW,GAAG,EAAE,EAAE,CAG7D"}
1
+ {"version":3,"file":"deserialize.d.ts","sourceRoot":"","sources":["../../../src/private/acvm/deserialize.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAG9C,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9D;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,SAAS,GAAG,EAAE,EAAE,CAE5E;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAOvG;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,WAAW,GAAG,EAAE,EAAE,CAG7D;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAM3E"}
@@ -1,25 +1,5 @@
1
1
  import { Fr } from '@aztec/foundation/fields';
2
- /**
3
- * Converts an ACVM field to a Fr.
4
- * @param field - The ACVM field to convert.
5
- * @returns The Fr.
6
- */ export function fromACVMField(field) {
7
- return Fr.fromBuffer(Buffer.from(field.slice(2), 'hex'));
8
- }
9
- /**
10
- * Converts a field to a number.
11
- * @param fr - The field to convert.
12
- * @returns The number.
13
- * TODO(#4102): Nuke this once block number is big int.
14
- */ export function frToNumber(fr) {
15
- return Number(fr.value);
16
- }
17
- /**
18
- * Converts a field to a boolean.
19
- * @param fr - The field to convert.
20
- */ export function frToBoolean(fr) {
21
- return fr.toBigInt() === BigInt(1);
22
- }
2
+ import { hexToBuffer } from '@aztec/foundation/string';
23
3
  /**
24
4
  * Converts a Noir BoundedVec of Fields into an Fr array. Note that BoundedVecs are structs, and therefore translated as
25
5
  * two separate ACVMField values (an array and a single field).
@@ -28,7 +8,23 @@ import { Fr } from '@aztec/foundation/fields';
28
8
  * @param length The length of the BoundedVec (i.e. BoundedVec::len())
29
9
  * @returns An array with the same content as the Noir version. Elements past the length are discarded.
30
10
  */ export function fromBoundedVec(storage, length) {
31
- return storage.slice(0, frToNumber(fromACVMField(length))).map(fromACVMField);
11
+ return storage.slice(0, Fr.fromString(length).toNumber()).map(Fr.fromString);
12
+ }
13
+ /**
14
+ * Converts a Noir BoundedVec of unsigned integers into a Buffer. Note that BoundedVecs are structs, and therefore
15
+ * translated as two separate ACVMField values (an array and a single field).
16
+ *
17
+ * @param storage The array with the BoundedVec's storage (i.e. BoundedVec::storage())
18
+ * @param length The length of the BoundedVec (i.e. BoundedVec::len())
19
+ * @param uintBitSize If it's an array of Noir u8's, put `8`, etc.
20
+ * @returns A buffer containing the unsigned integers tightly packed
21
+ */ export function fromUintBoundedVec(storage, length, uintBitSize) {
22
+ if (uintBitSize % 8 !== 0) {
23
+ throw new Error(`u${uintBitSize} is not a supported type in Noir`);
24
+ }
25
+ const uintByteSize = uintBitSize / 8;
26
+ const boundedStorage = storage.slice(0, Fr.fromString(length).toNumber());
27
+ return Buffer.concat(boundedStorage.map((str)=>hexToBuffer(str).subarray(-uintByteSize)));
32
28
  }
33
29
  /**
34
30
  * Transforms a witness map to its field elements.
@@ -38,5 +34,17 @@ import { Fr } from '@aztec/foundation/fields';
38
34
  const sortedKeys = [
39
35
  ...witness.keys()
40
36
  ].sort((a, b)=>a - b);
41
- return sortedKeys.map((key)=>witness.get(key)).map(fromACVMField);
37
+ return sortedKeys.map((key)=>witness.get(key)).map(Fr.fromString);
38
+ }
39
+ /**
40
+ * Converts an array of Noir unsigned integers to a single tightly-packed buffer.
41
+ * @param uintBitSize If it's an array of Noir u8's, put `8`, etc.
42
+ * @returns A buffer where each byte is correctly represented as a single byte in the buffer.
43
+ * Copy of the function in txe/src/util/encoding.ts.
44
+ */ export function fromUintArray(obj, uintBitSize) {
45
+ if (uintBitSize % 8 !== 0) {
46
+ throw new Error(`u${uintBitSize} is not a supported type in Noir`);
47
+ }
48
+ const uintByteSize = uintBitSize / 8;
49
+ return Buffer.concat(obj.map((str)=>hexToBuffer(str).slice(-uintByteSize)));
42
50
  }
@@ -6,44 +6,46 @@ import type { TypedOracle } from './typed_oracle.js';
6
6
  export declare class Oracle {
7
7
  private typedOracle;
8
8
  constructor(typedOracle: TypedOracle);
9
- getRandomField(): ACVMField;
10
- storeInExecutionCache(_length: ACVMField[], values: ACVMField[]): Promise<ACVMField>;
11
- loadFromExecutionCache([returnsHash]: ACVMField[]): Promise<ACVMField[]>;
12
- getBlockNumber(): Promise<ACVMField>;
13
- getContractAddress(): Promise<ACVMField>;
14
- getVersion(): Promise<ACVMField>;
15
- getChainId(): Promise<ACVMField>;
9
+ getRandomField(): Promise<ACVMField[]>;
10
+ storeInExecutionCache(_length: ACVMField[], values: ACVMField[]): Promise<ACVMField[]>;
11
+ loadFromExecutionCache([returnsHash]: ACVMField[]): Promise<ACVMField[][]>;
12
+ getBlockNumber(): Promise<ACVMField[]>;
13
+ getContractAddress(): Promise<ACVMField[]>;
14
+ getVersion(): Promise<ACVMField[]>;
15
+ getChainId(): Promise<ACVMField[]>;
16
16
  getKeyValidationRequest([pkMHash]: ACVMField[]): Promise<ACVMField[]>;
17
- getContractInstance([address]: ACVMField[]): Promise<string[]>;
18
- getMembershipWitness([blockNumber]: ACVMField[], [treeId]: ACVMField[], [leafValue]: ACVMField[]): Promise<ACVMField[]>;
19
- getNullifierMembershipWitness([blockNumber]: ACVMField[], [nullifier]: ACVMField[]): Promise<ACVMField[]>;
20
- getLowNullifierMembershipWitness([blockNumber]: ACVMField[], [nullifier]: ACVMField[]): Promise<ACVMField[]>;
21
- getPublicDataTreeWitness([blockNumber]: ACVMField[], [leafSlot]: ACVMField[]): Promise<ACVMField[]>;
17
+ getContractInstance([address]: ACVMField[]): Promise<ACVMField[]>;
18
+ getMembershipWitness([blockNumber]: ACVMField[], [treeId]: ACVMField[], [leafValue]: ACVMField[]): Promise<(ACVMField | ACVMField[])[]>;
19
+ getNullifierMembershipWitness([blockNumber]: ACVMField[], [nullifier]: ACVMField[]): Promise<(ACVMField | ACVMField[])[]>;
20
+ getLowNullifierMembershipWitness([blockNumber]: ACVMField[], [nullifier]: ACVMField[]): Promise<(ACVMField | ACVMField[])[]>;
21
+ getPublicDataWitness([blockNumber]: ACVMField[], [leafSlot]: ACVMField[]): Promise<(ACVMField | ACVMField[])[]>;
22
22
  getBlockHeader([blockNumber]: ACVMField[]): Promise<ACVMField[]>;
23
- getAuthWitness([messageHash]: ACVMField[]): Promise<ACVMField[]>;
24
- getPublicKeysAndPartialAddress([address]: ACVMField[]): Promise<ACVMField[]>;
25
- getNotes([storageSlot]: ACVMField[], [numSelects]: ACVMField[], selectByIndexes: ACVMField[], selectByOffsets: ACVMField[], selectByLengths: ACVMField[], selectValues: ACVMField[], selectComparators: ACVMField[], sortByIndexes: ACVMField[], sortByOffsets: ACVMField[], sortByLengths: ACVMField[], sortOrder: ACVMField[], [limit]: ACVMField[], [offset]: ACVMField[], [status]: ACVMField[], [returnSize]: ACVMField[]): Promise<ACVMField[]>;
26
- notifyCreatedNote([storageSlot]: ACVMField[], [noteTypeId]: ACVMField[], note: ACVMField[], [noteHash]: ACVMField[], [counter]: ACVMField[]): ACVMField;
27
- notifyNullifiedNote([innerNullifier]: ACVMField[], [noteHash]: ACVMField[], [counter]: ACVMField[]): Promise<ACVMField>;
28
- notifyCreatedNullifier([innerNullifier]: ACVMField[]): Promise<ACVMField>;
29
- checkNullifierExists([innerNullifier]: ACVMField[]): Promise<ACVMField>;
30
- getL1ToL2MembershipWitness([contractAddress]: ACVMField[], [messageHash]: ACVMField[], [secret]: ACVMField[]): Promise<ACVMField[]>;
31
- storageRead([contractAddress]: ACVMField[], [startStorageSlot]: ACVMField[], [blockNumber]: ACVMField[], [numberOfElements]: ACVMField[]): Promise<ACVMField[]>;
23
+ getAuthWitness([messageHash]: ACVMField[]): Promise<ACVMField[][]>;
24
+ getPublicKeysAndPartialAddress([address]: ACVMField[]): Promise<ACVMField[][]>;
25
+ getNotes([storageSlot]: ACVMField[], [numSelects]: ACVMField[], selectByIndexes: ACVMField[], selectByOffsets: ACVMField[], selectByLengths: ACVMField[], selectValues: ACVMField[], selectComparators: ACVMField[], sortByIndexes: ACVMField[], sortByOffsets: ACVMField[], sortByLengths: ACVMField[], sortOrder: ACVMField[], [limit]: ACVMField[], [offset]: ACVMField[], [status]: ACVMField[], [returnSize]: ACVMField[]): Promise<ACVMField[][]>;
26
+ notifyCreatedNote([storageSlot]: ACVMField[], [noteTypeId]: ACVMField[], note: ACVMField[], [noteHash]: ACVMField[], [counter]: ACVMField[]): Promise<ACVMField[]>;
27
+ notifyNullifiedNote([innerNullifier]: ACVMField[], [noteHash]: ACVMField[], [counter]: ACVMField[]): Promise<ACVMField[]>;
28
+ notifyCreatedNullifier([innerNullifier]: ACVMField[]): Promise<ACVMField[]>;
29
+ checkNullifierExists([innerNullifier]: ACVMField[]): Promise<ACVMField[]>;
30
+ getL1ToL2MembershipWitness([contractAddress]: ACVMField[], [messageHash]: ACVMField[], [secret]: ACVMField[]): Promise<(ACVMField | ACVMField[])[]>;
31
+ storageRead([contractAddress]: ACVMField[], [startStorageSlot]: ACVMField[], [blockNumber]: ACVMField[], [numberOfElements]: ACVMField[]): Promise<ACVMField[][]>;
32
32
  storageWrite([startStorageSlot]: ACVMField[], values: ACVMField[]): Promise<ACVMField[]>;
33
- notifyCreatedContractClassLog([contractAddress]: ACVMField[], message: ACVMField[], [counter]: ACVMField[]): void;
34
- debugLog(message: ACVMField[], _ignoredFieldsSize: ACVMField[], fields: ACVMField[]): void;
35
- callPrivateFunction([contractAddress]: ACVMField[], [functionSelector]: ACVMField[], [argsHash]: ACVMField[], [sideEffectCounter]: ACVMField[], [isStaticCall]: ACVMField[]): Promise<ACVMField[]>;
36
- enqueuePublicFunctionCall([contractAddress]: ACVMField[], [functionSelector]: ACVMField[], [argsHash]: ACVMField[], [sideEffectCounter]: ACVMField[], [isStaticCall]: ACVMField[]): Promise<ACVMField>;
37
- setPublicTeardownFunctionCall([contractAddress]: ACVMField[], [functionSelector]: ACVMField[], [argsHash]: ACVMField[], [sideEffectCounter]: ACVMField[], [isStaticCall]: ACVMField[]): Promise<ACVMField>;
38
- notifySetMinRevertibleSideEffectCounter([minRevertibleSideEffectCounter]: ACVMField[]): void;
39
- getIndexedTaggingSecretAsSender([sender]: ACVMField[], [recipient]: ACVMField[]): Promise<ACVMField[]>;
40
- incrementAppTaggingSecretIndexAsSender([sender]: ACVMField[], [recipient]: ACVMField[]): Promise<void>;
41
- syncNotes(): Promise<void>;
42
- deliverNote([contractAddress]: ACVMField[], [storageSlot]: ACVMField[], [nonce]: ACVMField[], content: ACVMField[], [contentLength]: ACVMField[], [noteHash]: ACVMField[], [nullifier]: ACVMField[], [txHash]: ACVMField[], [recipient]: ACVMField[]): Promise<ACVMField>;
33
+ notifyCreatedContractClassLog([contractAddress]: ACVMField[], message: ACVMField[], [counter]: ACVMField[]): Promise<ACVMField[]>;
34
+ debugLog(message: ACVMField[], _ignoredFieldsSize: ACVMField[], fields: ACVMField[]): Promise<ACVMField[]>;
35
+ callPrivateFunction([contractAddress]: ACVMField[], [functionSelector]: ACVMField[], [argsHash]: ACVMField[], [sideEffectCounter]: ACVMField[], [isStaticCall]: ACVMField[]): Promise<ACVMField[][]>;
36
+ enqueuePublicFunctionCall([contractAddress]: ACVMField[], [functionSelector]: ACVMField[], [argsHash]: ACVMField[], [sideEffectCounter]: ACVMField[], [isStaticCall]: ACVMField[]): Promise<ACVMField[]>;
37
+ setPublicTeardownFunctionCall([contractAddress]: ACVMField[], [functionSelector]: ACVMField[], [argsHash]: ACVMField[], [sideEffectCounter]: ACVMField[], [isStaticCall]: ACVMField[]): Promise<ACVMField[]>;
38
+ notifySetMinRevertibleSideEffectCounter([minRevertibleSideEffectCounter]: ACVMField[]): Promise<ACVMField[]>;
39
+ getIndexedTaggingSecretAsSender([sender]: ACVMField[], [recipient]: ACVMField[]): Promise<ACVMField[][]>;
40
+ incrementAppTaggingSecretIndexAsSender([sender]: ACVMField[], [recipient]: ACVMField[]): Promise<ACVMField[]>;
41
+ syncNotes(): Promise<ACVMField[]>;
42
+ deliverNote([contractAddress]: ACVMField[], [storageSlot]: ACVMField[], [nonce]: ACVMField[], content: ACVMField[], [contentLength]: ACVMField[], [noteHash]: ACVMField[], [nullifier]: ACVMField[], [txHash]: ACVMField[], [recipient]: ACVMField[]): Promise<ACVMField[]>;
43
43
  getLogByTag([tag]: ACVMField[]): Promise<(ACVMField | ACVMField[])[]>;
44
- storeCapsule([contractAddress]: ACVMField[], [slot]: ACVMField[], capsule: ACVMField[]): Promise<void>;
44
+ storeCapsule([contractAddress]: ACVMField[], [slot]: ACVMField[], capsule: ACVMField[]): Promise<ACVMField[]>;
45
45
  loadCapsule([contractAddress]: ACVMField[], [slot]: ACVMField[], [tSize]: ACVMField[]): Promise<(ACVMField | ACVMField[])[]>;
46
- deleteCapsule([contractAddress]: ACVMField[], [slot]: ACVMField[]): Promise<void>;
47
- copyCapsule([contractAddress]: ACVMField[], [srcSlot]: ACVMField[], [dstSlot]: ACVMField[], [numEntries]: ACVMField[]): Promise<void>;
46
+ deleteCapsule([contractAddress]: ACVMField[], [slot]: ACVMField[]): Promise<ACVMField[]>;
47
+ copyCapsule([contractAddress]: ACVMField[], [srcSlot]: ACVMField[], [dstSlot]: ACVMField[], [numEntries]: ACVMField[]): Promise<ACVMField[]>;
48
+ aes128Decrypt(ciphertextBVecStorage: ACVMField[], [ciphertextLength]: ACVMField[], iv: ACVMField[], symKey: ACVMField[]): Promise<(ACVMField | ACVMField[])[]>;
49
+ getSharedSecret([address]: ACVMField[], [ephPKField0]: ACVMField[], [ephPKField1]: ACVMField[], [ephPKField2]: ACVMField[]): Promise<ACVMField[]>;
48
50
  }
49
51
  //# sourceMappingURL=oracle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"oracle.d.ts","sourceRoot":"","sources":["../../../../src/private/acvm/oracle/oracle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oracle.d.ts","sourceRoot":"","sources":["../../../../src/private/acvm/oracle/oracle.ts"],"names":[],"mappings":"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"}