@aztec/simulator 0.35.1 → 0.37.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 (160) hide show
  1. package/dest/acvm/oracle/oracle.d.ts +7 -5
  2. package/dest/acvm/oracle/oracle.d.ts.map +1 -1
  3. package/dest/acvm/oracle/oracle.js +50 -23
  4. package/dest/acvm/oracle/typed_oracle.d.ts +17 -22
  5. package/dest/acvm/oracle/typed_oracle.d.ts.map +1 -1
  6. package/dest/acvm/oracle/typed_oracle.js +13 -10
  7. package/dest/avm/avm_execution_environment.d.ts +1 -5
  8. package/dest/avm/avm_execution_environment.d.ts.map +1 -1
  9. package/dest/avm/avm_execution_environment.js +5 -8
  10. package/dest/avm/avm_gas.d.ts +1 -9
  11. package/dest/avm/avm_gas.d.ts.map +1 -1
  12. package/dest/avm/avm_gas.js +6 -13
  13. package/dest/avm/avm_machine_state.d.ts +1 -3
  14. package/dest/avm/avm_machine_state.d.ts.map +1 -1
  15. package/dest/avm/avm_machine_state.js +8 -9
  16. package/dest/avm/avm_simulator.js +2 -2
  17. package/dest/avm/fixtures/index.d.ts +2 -6
  18. package/dest/avm/fixtures/index.d.ts.map +1 -1
  19. package/dest/avm/fixtures/index.js +3 -12
  20. package/dest/avm/journal/journal.d.ts +2 -1
  21. package/dest/avm/journal/journal.d.ts.map +1 -1
  22. package/dest/avm/journal/journal.js +8 -17
  23. package/dest/avm/journal/trace.d.ts +3 -1
  24. package/dest/avm/journal/trace.d.ts.map +1 -1
  25. package/dest/avm/journal/trace.js +11 -1
  26. package/dest/avm/journal/trace_types.d.ts +4 -0
  27. package/dest/avm/journal/trace_types.d.ts.map +1 -1
  28. package/dest/avm/journal/trace_types.js +1 -1
  29. package/dest/avm/opcodes/arithmetic.d.ts.map +1 -1
  30. package/dest/avm/opcodes/arithmetic.js +1 -1
  31. package/dest/avm/opcodes/context_getters.d.ts +0 -5
  32. package/dest/avm/opcodes/context_getters.d.ts.map +1 -1
  33. package/dest/avm/opcodes/context_getters.js +1 -8
  34. package/dest/avm/opcodes/contract.d.ts.map +1 -1
  35. package/dest/avm/opcodes/contract.js +1 -3
  36. package/dest/avm/opcodes/environment_getters.d.ts +0 -15
  37. package/dest/avm/opcodes/environment_getters.d.ts.map +1 -1
  38. package/dest/avm/opcodes/environment_getters.js +1 -35
  39. package/dest/avm/opcodes/external_calls.d.ts.map +1 -1
  40. package/dest/avm/opcodes/external_calls.js +5 -6
  41. package/dest/avm/opcodes/memory.d.ts.map +1 -1
  42. package/dest/avm/opcodes/memory.js +3 -3
  43. package/dest/avm/opcodes/storage.d.ts.map +1 -1
  44. package/dest/avm/opcodes/storage.js +1 -1
  45. package/dest/avm/serialization/bytecode_serialization.d.ts.map +1 -1
  46. package/dest/avm/serialization/bytecode_serialization.js +3 -8
  47. package/dest/avm/serialization/instruction_serialization.d.ts +42 -47
  48. package/dest/avm/serialization/instruction_serialization.d.ts.map +1 -1
  49. package/dest/avm/serialization/instruction_serialization.js +43 -48
  50. package/dest/client/client_execution_context.d.ts +13 -16
  51. package/dest/client/client_execution_context.d.ts.map +1 -1
  52. package/dest/client/client_execution_context.js +36 -34
  53. package/dest/client/db_oracle.d.ts +13 -17
  54. package/dest/client/db_oracle.d.ts.map +1 -1
  55. package/dest/client/db_oracle.js +1 -1
  56. package/dest/client/execution_note_cache.d.ts +6 -2
  57. package/dest/client/execution_note_cache.d.ts.map +1 -1
  58. package/dest/client/execution_note_cache.js +10 -7
  59. package/dest/client/execution_result.d.ts +10 -5
  60. package/dest/client/execution_result.d.ts.map +1 -1
  61. package/dest/client/execution_result.js +7 -1
  62. package/dest/client/private_execution.d.ts.map +1 -1
  63. package/dest/client/private_execution.js +4 -10
  64. package/dest/client/simulator.d.ts +1 -3
  65. package/dest/client/simulator.d.ts.map +1 -1
  66. package/dest/client/simulator.js +5 -9
  67. package/dest/client/view_data_oracle.d.ts +14 -11
  68. package/dest/client/view_data_oracle.d.ts.map +1 -1
  69. package/dest/client/view_data_oracle.js +17 -14
  70. package/dest/mocks/fixtures.d.ts +1 -1
  71. package/dest/mocks/fixtures.d.ts.map +1 -1
  72. package/dest/mocks/fixtures.js +9 -5
  73. package/dest/public/abstract_phase_manager.d.ts +4 -4
  74. package/dest/public/abstract_phase_manager.d.ts.map +1 -1
  75. package/dest/public/abstract_phase_manager.js +28 -43
  76. package/dest/public/app_logic_phase_manager.d.ts +1 -7
  77. package/dest/public/app_logic_phase_manager.d.ts.map +1 -1
  78. package/dest/public/app_logic_phase_manager.js +1 -7
  79. package/dest/public/db.d.ts +6 -7
  80. package/dest/public/db.d.ts.map +1 -1
  81. package/dest/public/execution.d.ts +15 -6
  82. package/dest/public/execution.d.ts.map +1 -1
  83. package/dest/public/execution.js +7 -9
  84. package/dest/public/executor.d.ts +2 -2
  85. package/dest/public/executor.d.ts.map +1 -1
  86. package/dest/public/executor.js +19 -10
  87. package/dest/public/hints_builder.d.ts +10 -8
  88. package/dest/public/hints_builder.d.ts.map +1 -1
  89. package/dest/public/hints_builder.js +29 -35
  90. package/dest/public/public_execution_context.d.ts +8 -13
  91. package/dest/public/public_execution_context.d.ts.map +1 -1
  92. package/dest/public/public_execution_context.js +12 -29
  93. package/dest/public/public_executor.d.ts +2 -2
  94. package/dest/public/public_executor.d.ts.map +1 -1
  95. package/dest/public/public_executor.js +4 -5
  96. package/dest/public/public_processor.d.ts +1 -2
  97. package/dest/public/public_processor.d.ts.map +1 -1
  98. package/dest/public/public_processor.js +1 -1
  99. package/dest/public/setup_phase_manager.d.ts +0 -6
  100. package/dest/public/setup_phase_manager.d.ts.map +1 -1
  101. package/dest/public/setup_phase_manager.js +1 -7
  102. package/dest/public/state_actions.d.ts.map +1 -1
  103. package/dest/public/state_actions.js +3 -1
  104. package/dest/public/tail_phase_manager.d.ts +3 -6
  105. package/dest/public/tail_phase_manager.d.ts.map +1 -1
  106. package/dest/public/tail_phase_manager.js +47 -16
  107. package/dest/public/teardown_phase_manager.d.ts +3 -7
  108. package/dest/public/teardown_phase_manager.d.ts.map +1 -1
  109. package/dest/public/teardown_phase_manager.js +14 -7
  110. package/dest/public/transitional_adaptors.d.ts +2 -2
  111. package/dest/public/transitional_adaptors.d.ts.map +1 -1
  112. package/dest/public/transitional_adaptors.js +19 -21
  113. package/dest/public/utils.d.ts.map +1 -1
  114. package/dest/public/utils.js +4 -2
  115. package/dest/test/utils.d.ts.map +1 -1
  116. package/dest/test/utils.js +3 -5
  117. package/package.json +16 -8
  118. package/src/acvm/oracle/oracle.ts +63 -22
  119. package/src/acvm/oracle/typed_oracle.ts +23 -27
  120. package/src/avm/avm_execution_environment.ts +0 -13
  121. package/src/avm/avm_gas.ts +6 -14
  122. package/src/avm/avm_machine_state.ts +8 -11
  123. package/src/avm/avm_simulator.ts +1 -1
  124. package/src/avm/fixtures/index.ts +2 -24
  125. package/src/avm/journal/journal.ts +14 -25
  126. package/src/avm/journal/trace.ts +12 -0
  127. package/src/avm/journal/trace_types.ts +7 -0
  128. package/src/avm/opcodes/arithmetic.ts +2 -2
  129. package/src/avm/opcodes/context_getters.ts +0 -9
  130. package/src/avm/opcodes/contract.ts +0 -2
  131. package/src/avm/opcodes/environment_getters.ts +0 -45
  132. package/src/avm/opcodes/external_calls.ts +5 -6
  133. package/src/avm/opcodes/memory.ts +5 -5
  134. package/src/avm/opcodes/storage.ts +1 -1
  135. package/src/avm/serialization/bytecode_serialization.ts +2 -10
  136. package/src/avm/serialization/instruction_serialization.ts +1 -6
  137. package/src/client/client_execution_context.ts +79 -54
  138. package/src/client/db_oracle.ts +14 -18
  139. package/src/client/execution_note_cache.ts +16 -7
  140. package/src/client/execution_result.ts +17 -6
  141. package/src/client/private_execution.ts +4 -9
  142. package/src/client/simulator.ts +3 -15
  143. package/src/client/view_data_oracle.ts +35 -29
  144. package/src/mocks/fixtures.ts +7 -16
  145. package/src/public/abstract_phase_manager.ts +45 -56
  146. package/src/public/app_logic_phase_manager.ts +6 -6
  147. package/src/public/db.ts +7 -8
  148. package/src/public/execution.ts +22 -18
  149. package/src/public/executor.ts +31 -5
  150. package/src/public/hints_builder.ts +62 -62
  151. package/src/public/public_execution_context.ts +30 -36
  152. package/src/public/public_executor.ts +4 -6
  153. package/src/public/public_processor.ts +1 -1
  154. package/src/public/setup_phase_manager.ts +6 -6
  155. package/src/public/state_actions.ts +2 -0
  156. package/src/public/tail_phase_manager.ts +98 -23
  157. package/src/public/teardown_phase_manager.ts +24 -6
  158. package/src/public/transitional_adaptors.ts +25 -19
  159. package/src/public/utils.ts +3 -1
  160. package/src/test/utils.ts +2 -4
@@ -8,10 +8,11 @@ export declare class Oracle {
8
8
  private log;
9
9
  constructor(typedOracle: TypedOracle, log?: import("@aztec/foundation/log").Logger);
10
10
  getRandomField(): ACVMField;
11
- packArguments(args: ACVMField[]): Promise<ACVMField>;
11
+ packArgumentsArray(args: ACVMField[]): Promise<ACVMField>;
12
+ packArguments(_length: ACVMField[], values: ACVMField[]): Promise<ACVMField>;
12
13
  packReturns(_length: ACVMField[], values: ACVMField[]): Promise<ACVMField>;
13
14
  unpackReturns([returnsHash]: ACVMField[]): Promise<ACVMField[]>;
14
- getNullifierKeyPair([accountAddress]: ACVMField[]): Promise<ACVMField[]>;
15
+ getNullifierKeys([accountAddress]: ACVMField[]): Promise<ACVMField[]>;
15
16
  getPublicKeyAndPartialAddress([address]: ACVMField[]): Promise<string[]>;
16
17
  getContractInstance([address]: ACVMField[]): Promise<string[]>;
17
18
  getMembershipWitness([blockNumber]: ACVMField[], [treeId]: ACVMField[], [leafValue]: ACVMField[]): Promise<ACVMField[]>;
@@ -22,12 +23,12 @@ export declare class Oracle {
22
23
  getHeader([blockNumber]: ACVMField[]): Promise<ACVMField[]>;
23
24
  getAuthWitness([messageHash]: ACVMField[]): Promise<ACVMField[]>;
24
25
  popCapsule(): Promise<ACVMField[]>;
26
+ getPublicKeysAndPartialAddress([address]: ACVMField[]): Promise<ACVMField[]>;
25
27
  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[], [innerNoteHash]: ACVMField[]): ACVMField;
27
- notifyNullifiedNote([innerNullifier]: ACVMField[], [innerNoteHash]: ACVMField[]): Promise<ACVMField>;
28
+ notifyCreatedNote([storageSlot]: ACVMField[], [noteTypeId]: ACVMField[], note: ACVMField[], [innerNoteHash]: ACVMField[], [counter]: ACVMField[]): ACVMField;
29
+ notifyNullifiedNote([innerNullifier]: ACVMField[], [innerNoteHash]: ACVMField[], [counter]: ACVMField[]): Promise<ACVMField>;
28
30
  checkNullifierExists([innerNullifier]: ACVMField[]): Promise<ACVMField>;
29
31
  getL1ToL2MembershipWitness([contractAddress]: ACVMField[], [messageHash]: ACVMField[], [secret]: ACVMField[]): Promise<ACVMField[]>;
30
- getPortalContractAddress([aztecAddress]: ACVMField[]): Promise<ACVMField>;
31
32
  storageRead([startStorageSlot]: ACVMField[], [numberOfElements]: ACVMField[]): Promise<ACVMField[]>;
32
33
  storageWrite([startStorageSlot]: ACVMField[], values: ACVMField[]): Promise<ACVMField[]>;
33
34
  emitEncryptedLog([contractAddress]: ACVMField[], [storageSlot]: ACVMField[], [noteTypeId]: ACVMField[], [publicKeyX]: ACVMField[], [publicKeyY]: ACVMField[], log: ACVMField[]): ACVMField;
@@ -37,5 +38,6 @@ export declare class Oracle {
37
38
  callPrivateFunction([contractAddress]: ACVMField[], [functionSelector]: ACVMField[], [argsHash]: ACVMField[], [sideEffectCounter]: ACVMField[], [isStaticCall]: ACVMField[], [isDelegateCall]: ACVMField[]): Promise<ACVMField[]>;
38
39
  callPublicFunction([contractAddress]: ACVMField[], [functionSelector]: ACVMField[], [argsHash]: ACVMField[], [sideEffectCounter]: ACVMField[], [isStaticCall]: ACVMField[], [isDelegateCall]: ACVMField[]): Promise<ACVMField[]>;
39
40
  enqueuePublicFunctionCall([contractAddress]: ACVMField[], [functionSelector]: ACVMField[], [argsHash]: ACVMField[], [sideEffectCounter]: ACVMField[], [isStaticCall]: ACVMField[], [isDelegateCall]: ACVMField[]): Promise<string[]>;
41
+ aes128Encrypt(input: ACVMField[], initializationVector: ACVMField[], key: ACVMField[]): ACVMField[];
40
42
  }
41
43
  //# sourceMappingURL=oracle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"oracle.d.ts","sourceRoot":"","sources":["../../../src/acvm/oracle/oracle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oracle.d.ts","sourceRoot":"","sources":["../../../src/acvm/oracle/oracle.ts"],"names":[],"mappings":"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"}
@@ -18,8 +18,12 @@ export class Oracle {
18
18
  const val = this.typedOracle.getRandomField();
19
19
  return toACVMField(val);
20
20
  }
21
- async packArguments(args) {
22
- const packed = await this.typedOracle.packArguments(args.map(fromACVMField));
21
+ async packArgumentsArray(args) {
22
+ const packed = await this.typedOracle.packArgumentsArray(args.map(fromACVMField));
23
+ return toACVMField(packed);
24
+ }
25
+ async packArguments(_length, values) {
26
+ const packed = await this.typedOracle.packArgumentsArray(values.map(fromACVMField));
23
27
  return toACVMField(packed);
24
28
  }
25
29
  // Since the argument is a slice, noir automatically adds a length field to oracle call.
@@ -31,15 +35,15 @@ export class Oracle {
31
35
  const unpacked = await this.typedOracle.unpackReturns(fromACVMField(returnsHash));
32
36
  return unpacked.map(toACVMField);
33
37
  }
34
- async getNullifierKeyPair([accountAddress]) {
35
- const { publicKey, secretKey } = await this.typedOracle.getNullifierKeyPair(fromACVMField(accountAddress));
38
+ async getNullifierKeys([accountAddress]) {
39
+ const { masterNullifierPublicKey, appNullifierSecretKey } = await this.typedOracle.getNullifierKeys(fromACVMField(accountAddress));
36
40
  return [
37
- toACVMField(publicKey.x),
38
- toACVMField(publicKey.y),
39
- toACVMField(secretKey.high),
40
- toACVMField(secretKey.low),
41
+ toACVMField(masterNullifierPublicKey.x),
42
+ toACVMField(masterNullifierPublicKey.y),
43
+ toACVMField(appNullifierSecretKey),
41
44
  ];
42
45
  }
46
+ // TODO: #5834 Nuke this
43
47
  async getPublicKeyAndPartialAddress([address]) {
44
48
  const { publicKey, partialAddress } = await this.typedOracle.getCompleteAddress(AztecAddress.fromField(fromACVMField(address)));
45
49
  return [publicKey.x, publicKey.y, partialAddress].map(toACVMField);
@@ -51,7 +55,6 @@ export class Oracle {
51
55
  instance.deployer,
52
56
  instance.contractClassId,
53
57
  instance.initializationHash,
54
- instance.portalContractAddress,
55
58
  instance.publicKeysHash,
56
59
  ].map(toACVMField);
57
60
  }
@@ -122,6 +125,25 @@ export class Oracle {
122
125
  }
123
126
  return capsule.map(toACVMField);
124
127
  }
128
+ async getPublicKeysAndPartialAddress([address]) {
129
+ let publicKeys;
130
+ let partialAddress;
131
+ // TODO #5834: This should be reworked to return the public keys as well
132
+ try {
133
+ ({ partialAddress } = await this.typedOracle.getCompleteAddress(AztecAddress.fromField(fromACVMField(address))));
134
+ }
135
+ catch (err) {
136
+ partialAddress = Fr.ZERO;
137
+ }
138
+ try {
139
+ publicKeys = await this.typedOracle.getPublicKeysForAddress(AztecAddress.fromField(fromACVMField(address)));
140
+ }
141
+ catch (err) {
142
+ publicKeys = Array(4).fill(Point.ZERO);
143
+ }
144
+ const acvmPublicKeys = publicKeys.flatMap(key => key.toFields());
145
+ return [...acvmPublicKeys, partialAddress].map(toACVMField);
146
+ }
125
147
  async getNotes([storageSlot], [numSelects], selectByIndexes, selectByOffsets, selectByLengths, selectValues, selectComparators, sortByIndexes, sortByOffsets, sortByLengths, sortOrder, [limit], [offset], [status], [returnSize]) {
126
148
  const noteDatas = await this.typedOracle.getNotes(fromACVMField(storageSlot), +numSelects, selectByIndexes.map(s => +s), selectByOffsets.map(s => +s), selectByLengths.map(s => +s), selectValues.map(fromACVMField), selectComparators.map(s => +s), sortByIndexes.map(s => +s), sortByOffsets.map(s => +s), sortByLengths.map(s => +s), sortOrder.map(s => +s), +limit, +offset, +status);
127
149
  const noteLength = noteDatas?.[0]?.note.items.length ?? 0;
@@ -147,12 +169,12 @@ export class Oracle {
147
169
  const paddedZeros = Array(returnFieldSize - returnData.length).fill(toACVMField(0));
148
170
  return returnData.concat(paddedZeros);
149
171
  }
150
- notifyCreatedNote([storageSlot], [noteTypeId], note, [innerNoteHash]) {
151
- this.typedOracle.notifyCreatedNote(fromACVMField(storageSlot), fromACVMField(noteTypeId), note.map(fromACVMField), fromACVMField(innerNoteHash));
172
+ notifyCreatedNote([storageSlot], [noteTypeId], note, [innerNoteHash], [counter]) {
173
+ this.typedOracle.notifyCreatedNote(fromACVMField(storageSlot), fromACVMField(noteTypeId), note.map(fromACVMField), fromACVMField(innerNoteHash), +counter);
152
174
  return toACVMField(0);
153
175
  }
154
- async notifyNullifiedNote([innerNullifier], [innerNoteHash]) {
155
- await this.typedOracle.notifyNullifiedNote(fromACVMField(innerNullifier), fromACVMField(innerNoteHash));
176
+ async notifyNullifiedNote([innerNullifier], [innerNoteHash], [counter]) {
177
+ await this.typedOracle.notifyNullifiedNote(fromACVMField(innerNullifier), fromACVMField(innerNoteHash), +counter);
156
178
  return toACVMField(0);
157
179
  }
158
180
  async checkNullifierExists([innerNullifier]) {
@@ -163,11 +185,6 @@ export class Oracle {
163
185
  const message = await this.typedOracle.getL1ToL2MembershipWitness(AztecAddress.fromString(contractAddress), fromACVMField(messageHash), fromACVMField(secret));
164
186
  return message.toFields().map(toACVMField);
165
187
  }
166
- async getPortalContractAddress([aztecAddress]) {
167
- const contractAddress = AztecAddress.fromString(aztecAddress);
168
- const portalContactAddress = await this.typedOracle.getPortalContractAddress(contractAddress);
169
- return toACVMField(portalContactAddress);
170
- }
171
188
  async storageRead([startStorageSlot], [numberOfElements]) {
172
189
  const values = await this.typedOracle.storageRead(fromACVMField(startStorageSlot), +numberOfElements);
173
190
  return values.map(toACVMField);
@@ -178,14 +195,14 @@ export class Oracle {
178
195
  }
179
196
  emitEncryptedLog([contractAddress], [storageSlot], [noteTypeId], [publicKeyX], [publicKeyY], log) {
180
197
  const publicKey = new Point(fromACVMField(publicKeyX), fromACVMField(publicKeyY));
181
- this.typedOracle.emitEncryptedLog(AztecAddress.fromString(contractAddress), Fr.fromString(storageSlot), Fr.fromString(noteTypeId), publicKey, log.map(fromACVMField));
182
- return toACVMField(0);
198
+ const logHash = this.typedOracle.emitEncryptedLog(AztecAddress.fromString(contractAddress), Fr.fromString(storageSlot), Fr.fromString(noteTypeId), publicKey, log.map(fromACVMField));
199
+ return toACVMField(logHash);
183
200
  }
184
201
  emitUnencryptedLog([contractAddress], [eventSelector], message) {
185
202
  const logPayload = Buffer.concat(message.map(fromACVMField).map(f => f.toBuffer()));
186
203
  const log = new UnencryptedL2Log(AztecAddress.fromString(contractAddress), EventSelector.fromField(fromACVMField(eventSelector)), logPayload);
187
- this.typedOracle.emitUnencryptedLog(log);
188
- return toACVMField(0);
204
+ const logHash = this.typedOracle.emitUnencryptedLog(log);
205
+ return toACVMField(logHash);
189
206
  }
190
207
  debugLog(...args) {
191
208
  this.log.verbose(oracleDebugCallToFormattedStr(args));
@@ -207,5 +224,15 @@ export class Oracle {
207
224
  const enqueuedRequest = await this.typedOracle.enqueuePublicFunctionCall(AztecAddress.fromString(contractAddress), FunctionSelector.fromField(fromACVMField(functionSelector)), fromACVMField(argsHash), frToNumber(fromACVMField(sideEffectCounter)), frToBoolean(fromACVMField(isStaticCall)), frToBoolean(fromACVMField(isDelegateCall)));
208
225
  return toAcvmEnqueuePublicFunctionResult(enqueuedRequest);
209
226
  }
227
+ aes128Encrypt(input, initializationVector, key) {
228
+ // Convert each field to a number and then to a buffer (1 byte is stored in 1 field)
229
+ const processedInput = Buffer.from(input.map(fromACVMField).map(f => f.toNumber()));
230
+ const processedIV = Buffer.from(initializationVector.map(fromACVMField).map(f => f.toNumber()));
231
+ const processedKey = Buffer.from(key.map(fromACVMField).map(f => f.toNumber()));
232
+ // Encrypt the input
233
+ const ciphertext = this.typedOracle.aes128Encrypt(processedInput, processedIV, processedKey);
234
+ // Convert each byte of ciphertext to a field and return it
235
+ return Array.from(ciphertext).map(byte => toACVMField(byte));
236
+ }
210
237
  }
211
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JhY2xlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Fjdm0vb3JhY2xlL29yYWNsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLDZCQUE2QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDN0YsT0FBTyxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRzFELE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzNFLE9BQU8sRUFBRSxXQUFXLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUdqRjs7R0FFRztBQUNILE1BQU0sT0FBTyxNQUFNO0lBQ2pCLFlBQW9CLFdBQXdCLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQyx3QkFBd0IsQ0FBQztRQUFuRixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUFVLFFBQUcsR0FBSCxHQUFHLENBQThDO0lBQUcsQ0FBQztJQUUzRyxjQUFjO1FBQ1osTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUM5QyxPQUFPLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsS0FBSyxDQUFDLGFBQWEsQ0FBQyxJQUFpQjtRQUNuQyxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLElBQUksQ0FB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
238
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JhY2xlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Fjdm0vb3JhY2xlL29yYWNsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEUsT0FBTyxFQUF1Qix3QkFBd0IsRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xILE9BQU8sRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDL0QsT0FBTyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUcxRCxPQUFPLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMzRSxPQUFPLEVBQUUsV0FBVyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFHakY7O0dBRUc7QUFDSCxNQUFNLE9BQU8sTUFBTTtJQUNqQixZQUFvQixXQUF3QixFQUFVLE1BQU0saUJBQWlCLENBQUMsd0JBQXdCLENBQUM7UUFBbkYsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFBVSxRQUFHLEdBQUgsR0FBRyxDQUE4QztJQUFHLENBQUM7SUFFM0csY0FBYztRQUNaLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDOUMsT0FBTyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxJQUFpQjtRQUN4QyxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUMsSUFB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
@@ -1,22 +1,16 @@
1
+ /// <reference types="node" resolution-mode="require"/>
1
2
  import { type CompleteAddress, type MerkleTreeId, type Note, type NoteStatus, type NullifierMembershipWitness, type PublicDataWitness, type PublicKey, type SiblingPath, type UnencryptedL2Log } from '@aztec/circuit-types';
2
- import { type GrumpkinPrivateKey, type Header, type L1_TO_L2_MSG_TREE_HEIGHT, type PrivateCallStackItem, type PublicCallRequest } from '@aztec/circuits.js';
3
+ import { type Header, type L1_TO_L2_MSG_TREE_HEIGHT, type PrivateCallStackItem, type PublicCallRequest } from '@aztec/circuits.js';
3
4
  import { type FunctionSelector } from '@aztec/foundation/abi';
4
5
  import { type AztecAddress } from '@aztec/foundation/aztec-address';
5
- import { type EthAddress } from '@aztec/foundation/eth-address';
6
- import { Fr } from '@aztec/foundation/fields';
6
+ import { Fr, type Point } from '@aztec/foundation/fields';
7
7
  import { type ContractInstance } from '@aztec/types/contracts';
8
- /**
9
- * A pair of public key and secret key.
10
- */
11
- export interface KeyPair {
12
- /**
13
- * Public key.
14
- */
15
- publicKey: PublicKey;
16
- /**
17
- * Secret Key.
18
- */
19
- secretKey: GrumpkinPrivateKey;
8
+ /** Nullifier keys which both correspond to the same master nullifier secret key. */
9
+ export interface NullifierKeys {
10
+ /** Master nullifier public key. */
11
+ masterNullifierPublicKey: PublicKey;
12
+ /** App nullifier secret key. */
13
+ appNullifierSecretKey: Fr;
20
14
  }
21
15
  /**
22
16
  * Information about a note needed during execution.
@@ -56,10 +50,10 @@ export declare class MessageLoadOracleInputs<N extends number> {
56
50
  */
57
51
  export declare abstract class TypedOracle {
58
52
  getRandomField(): Fr;
59
- packArguments(_args: Fr[]): Promise<Fr>;
53
+ packArgumentsArray(_args: Fr[]): Promise<Fr>;
60
54
  packReturns(_returns: Fr[]): Promise<Fr>;
61
55
  unpackReturns(_returnsHash: Fr): Promise<Fr[]>;
62
- getNullifierKeyPair(_accountAddress: AztecAddress): Promise<KeyPair>;
56
+ getNullifierKeys(_accountAddress: AztecAddress): Promise<NullifierKeys>;
63
57
  getPublicKeyAndPartialAddress(_address: AztecAddress): Promise<Fr[] | undefined>;
64
58
  getContractInstance(_address: AztecAddress): Promise<ContractInstance>;
65
59
  getMembershipWitness(_blockNumber: number, _treeId: MerkleTreeId, _leafValue: Fr): Promise<Fr[] | undefined>;
@@ -71,18 +65,19 @@ export declare abstract class TypedOracle {
71
65
  getCompleteAddress(_address: AztecAddress): Promise<CompleteAddress>;
72
66
  getAuthWitness(_messageHash: Fr): Promise<Fr[] | undefined>;
73
67
  popCapsule(): Promise<Fr[]>;
68
+ getPublicKeysForAddress(_address: AztecAddress): Promise<Point[]>;
74
69
  getNotes(_storageSlot: Fr, _numSelects: number, _selectByIndexes: number[], _selectByOffsets: number[], _selectByLengths: number[], _selectValues: Fr[], _selectComparators: number[], _sortByIndexes: number[], _sortByOffsets: number[], _sortByLengths: number[], _sortOrder: number[], _limit: number, _offset: number, _status: NoteStatus): Promise<NoteData[]>;
75
- notifyCreatedNote(_storageSlot: Fr, _noteTypeId: Fr, _note: Fr[], _innerNoteHash: Fr): void;
76
- notifyNullifiedNote(_innerNullifier: Fr, _innerNoteHash: Fr): Promise<void>;
70
+ notifyCreatedNote(_storageSlot: Fr, _noteTypeId: Fr, _note: Fr[], _innerNoteHash: Fr, _counter: number): void;
71
+ notifyNullifiedNote(_innerNullifier: Fr, _innerNoteHash: Fr, _counter: number): Promise<void>;
77
72
  checkNullifierExists(_innerNullifier: Fr): Promise<boolean>;
78
73
  getL1ToL2MembershipWitness(_contractAddress: AztecAddress, _messageHash: Fr, _secret: Fr): Promise<MessageLoadOracleInputs<typeof L1_TO_L2_MSG_TREE_HEIGHT>>;
79
- getPortalContractAddress(_contractAddress: AztecAddress): Promise<EthAddress>;
80
74
  storageRead(_startStorageSlot: Fr, _numberOfElements: number): Promise<Fr[]>;
81
75
  storageWrite(_startStorageSlot: Fr, _values: Fr[]): Promise<Fr[]>;
82
- emitEncryptedLog(_contractAddress: AztecAddress, _storageSlot: Fr, _noteTypeId: Fr, _publicKey: PublicKey, _log: Fr[]): void;
83
- emitUnencryptedLog(_log: UnencryptedL2Log): void;
76
+ emitEncryptedLog(_contractAddress: AztecAddress, _storageSlot: Fr, _noteTypeId: Fr, _publicKey: PublicKey, _log: Fr[]): Fr;
77
+ emitUnencryptedLog(_log: UnencryptedL2Log): Fr;
84
78
  callPrivateFunction(_targetContractAddress: AztecAddress, _functionSelector: FunctionSelector, _argsHash: Fr, _sideEffectCounter: number, _isStaticCall: boolean, _isDelegateCall: boolean): Promise<PrivateCallStackItem>;
85
79
  callPublicFunction(_targetContractAddress: AztecAddress, _functionSelector: FunctionSelector, _argsHash: Fr, _sideEffectCounter: number, _isStaticCall: boolean, _isDelegateCall: boolean): Promise<Fr[]>;
86
80
  enqueuePublicFunctionCall(_targetContractAddress: AztecAddress, _functionSelector: FunctionSelector, _argsHash: Fr, _sideEffectCounter: number, _isStaticCall: boolean, _isDelegateCall: boolean): Promise<PublicCallRequest>;
81
+ aes128Encrypt(_input: Buffer, _initializationVector: Buffer, _key: Buffer): Buffer;
87
82
  }
88
83
  //# sourceMappingURL=typed_oracle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"typed_oracle.d.ts","sourceRoot":"","sources":["../../../src/acvm/oracle/typed_oracle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typed_oracle.d.ts","sourceRoot":"","sources":["../../../src/acvm/oracle/typed_oracle.ts"],"names":[],"mappings":"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"}
@@ -26,8 +26,8 @@ export class TypedOracle {
26
26
  getRandomField() {
27
27
  return Fr.random();
28
28
  }
29
- packArguments(_args) {
30
- throw new OracleMethodNotAvailableError('packArguments');
29
+ packArgumentsArray(_args) {
30
+ throw new OracleMethodNotAvailableError('packArgumentsArray');
31
31
  }
32
32
  packReturns(_returns) {
33
33
  throw new OracleMethodNotAvailableError('packReturns');
@@ -35,8 +35,8 @@ export class TypedOracle {
35
35
  unpackReturns(_returnsHash) {
36
36
  throw new OracleMethodNotAvailableError('unpackReturns');
37
37
  }
38
- getNullifierKeyPair(_accountAddress) {
39
- throw new OracleMethodNotAvailableError('getNullifierKeyPair');
38
+ getNullifierKeys(_accountAddress) {
39
+ throw new OracleMethodNotAvailableError('getNullifierKeys');
40
40
  }
41
41
  getPublicKeyAndPartialAddress(_address) {
42
42
  throw new OracleMethodNotAvailableError('getPublicKeyAndPartialAddress');
@@ -71,13 +71,16 @@ export class TypedOracle {
71
71
  popCapsule() {
72
72
  throw new OracleMethodNotAvailableError('popCapsule');
73
73
  }
74
+ getPublicKeysForAddress(_address) {
75
+ throw new OracleMethodNotAvailableError('getPublicKeysForAddress');
76
+ }
74
77
  getNotes(_storageSlot, _numSelects, _selectByIndexes, _selectByOffsets, _selectByLengths, _selectValues, _selectComparators, _sortByIndexes, _sortByOffsets, _sortByLengths, _sortOrder, _limit, _offset, _status) {
75
78
  throw new OracleMethodNotAvailableError('getNotes');
76
79
  }
77
- notifyCreatedNote(_storageSlot, _noteTypeId, _note, _innerNoteHash) {
80
+ notifyCreatedNote(_storageSlot, _noteTypeId, _note, _innerNoteHash, _counter) {
78
81
  throw new OracleMethodNotAvailableError('notifyCreatedNote');
79
82
  }
80
- notifyNullifiedNote(_innerNullifier, _innerNoteHash) {
83
+ notifyNullifiedNote(_innerNullifier, _innerNoteHash, _counter) {
81
84
  throw new OracleMethodNotAvailableError('notifyNullifiedNote');
82
85
  }
83
86
  checkNullifierExists(_innerNullifier) {
@@ -86,9 +89,6 @@ export class TypedOracle {
86
89
  getL1ToL2MembershipWitness(_contractAddress, _messageHash, _secret) {
87
90
  throw new OracleMethodNotAvailableError('getL1ToL2MembershipWitness');
88
91
  }
89
- getPortalContractAddress(_contractAddress) {
90
- throw new OracleMethodNotAvailableError('getPortalContractAddress');
91
- }
92
92
  storageRead(_startStorageSlot, _numberOfElements) {
93
93
  throw new OracleMethodNotAvailableError('storageRead');
94
94
  }
@@ -110,5 +110,8 @@ export class TypedOracle {
110
110
  enqueuePublicFunctionCall(_targetContractAddress, _functionSelector, _argsHash, _sideEffectCounter, _isStaticCall, _isDelegateCall) {
111
111
  throw new OracleMethodNotAvailableError('enqueuePublicFunctionCall');
112
112
  }
113
+ aes128Encrypt(_input, _initializationVector, _key) {
114
+ throw new OracleMethodNotAvailableError('encrypt');
115
+ }
113
116
  }
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZWRfb3JhY2xlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Fjdm0vb3JhY2xlL3R5cGVkX29yYWNsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFxQkEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBcUM5QyxNQUFNLE9BQU8sdUJBQXVCO0lBQ2xDO0lBQ0UsOERBQThEO0lBQ3ZELEtBQWE7SUFDcEIsa0RBQWtEO0lBQzNDLFdBQTJCO1FBRjNCLFVBQUssR0FBTCxLQUFLLENBQVE7UUFFYixnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7SUFDakMsQ0FBQztJQUVKLFFBQVE7UUFDTixPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQzlELENBQUM7Q0FDRjtBQUVELE1BQU0sNkJBQThCLFNBQVEsS0FBSztJQUMvQyxZQUFZLFVBQWtCO1FBQzVCLEtBQUssQ0FBQyxpQkFBaUIsVUFBVSxvQkFBb0IsQ0FBQyxDQUFDO0lBQ3pELENBQUM7Q0FDRjtBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLE9BQWdCLFdBQVc7SUFDL0IsY0FBYztRQUNaLE9BQU8sRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxhQUFhLENBQUMsS0FBVztRQUN2QixNQUFNLElBQUksNkJBQTZCLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVELFdBQVcsQ0FBQyxRQUFjO1FBQ3hCLE1BQU0sSUFBSSw2QkFBNkIsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsYUFBYSxDQUFDLFlBQWdCO1FBQzVCLE1BQU0sSUFBSSw2QkFBNkIsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsbUJBQW1CLENBQUMsZUFBNkI7UUFDL0MsTUFBTSxJQUFJ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
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZWRfb3JhY2xlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Fjdm0vb3JhY2xlL3R5cGVkX29yYWNsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFtQkEsT0FBTyxFQUFFLEVBQUUsRUFBYyxNQUFNLDBCQUEwQixDQUFDO0FBK0IxRCxNQUFNLE9BQU8sdUJBQXVCO0lBQ2xDO0lBQ0UsOERBQThEO0lBQ3ZELEtBQWE7SUFDcEIsa0RBQWtEO0lBQzNDLFdBQTJCO1FBRjNCLFVBQUssR0FBTCxLQUFLLENBQVE7UUFFYixnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7SUFDakMsQ0FBQztJQUVKLFFBQVE7UUFDTixPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQzlELENBQUM7Q0FDRjtBQUVELE1BQU0sNkJBQThCLFNBQVEsS0FBSztJQUMvQyxZQUFZLFVBQWtCO1FBQzVCLEtBQUssQ0FBQyxpQkFBaUIsVUFBVSxvQkFBb0IsQ0FBQyxDQUFDO0lBQ3pELENBQUM7Q0FDRjtBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLE9BQWdCLFdBQVc7SUFDL0IsY0FBYztRQUNaLE9BQU8sRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxLQUFXO1FBQzVCLE1BQU0sSUFBSSw2QkFBNkIsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRCxXQUFXLENBQUMsUUFBYztRQUN4QixNQUFNLElBQUksNkJBQTZCLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVELGFBQWEsQ0FBQyxZQUFnQjtRQUM1QixNQUFNLElBQUksNkJBQTZCLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVELGdCQUFnQixDQUFDLGVBQTZCO1FBQzVDLE1BQU0sSUFBSSw2QkFBNkIsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRCw2QkFBNkIsQ0FBQyxRQUFzQjtRQUNsRCxNQUFNLElBQUksNkJBQTZCLENBQUMsK0JBQStCLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRUQsbUJBQW1CLENBQUMsUUFBc0I7UUFDeEMsTUFBTSxJQUFJLDZCQUE2QixDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVELG9CQUFvQixDQUFDLFlBQW9CLEVBQUUsT0FBcUIsRUFBRSxVQUFjO1FBQzlFLE1BQU0sSUFBSSw2QkFBNkIsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRCxjQUFjLENBQUMsWUFBb0IsRUFBRSxPQUFxQixFQUFFLFVBQWM7UUFDeEUsTUFBTSxJQUFJLDZCQUE2QixDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVELDZCQUE2QixDQUFDLFlBQW9CLEVBQUUsVUFBYztRQUNoRSxNQUFNLElBQUksNkJBQTZCLENBQUMsK0JBQStCLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRUQsd0JBQXdCLENBQUMsWUFBb0IsRUFBRSxTQUFhO1FBQzFELE1BQU0sSUFBSSw2QkFBNkIsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxnQ0FBZ0MsQ0FDOUIsWUFBb0IsRUFDcEIsVUFBYztRQUVkLE1BQU0sSUFBSSw2QkFBNkIsQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFRCxTQUFTLENBQUMsWUFBb0I7UUFDNUIsTUFBTSxJQUFJLDZCQUE2QixDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxRQUFzQjtRQUN2QyxNQUFNLElBQUksNkJBQTZCLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQsY0FBYyxDQUFDLFlBQWdCO1FBQzdCLE1BQU0sSUFBSSw2QkFBNkIsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxVQUFVO1FBQ1IsTUFBTSxJQUFJLDZCQUE2QixDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxRQUFzQjtRQUM1QyxNQUFNLElBQUksNkJBQTZCLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQsUUFBUSxDQUNOLFlBQWdCLEVBQ2hCLFdBQW1CLEVBQ25CLGdCQUEwQixFQUMxQixnQkFBMEIsRUFDMUIsZ0JBQTBCLEVBQzFCLGFBQW1CLEVBQ25CLGtCQUE0QixFQUM1QixjQUF3QixFQUN4QixjQUF3QixFQUN4QixjQUF3QixFQUN4QixVQUFvQixFQUNwQixNQUFjLEVBQ2QsT0FBZSxFQUNmLE9BQW1CO1FBRW5CLE1BQU0sSUFBSSw2QkFBNkIsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsWUFBZ0IsRUFBRSxXQUFlLEVBQUUsS0FBVyxFQUFFLGNBQWtCLEVBQUUsUUFBZ0I7UUFDcEcsTUFBTSxJQUFJLDZCQUE2QixDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELG1CQUFtQixDQUFDLGVBQW1CLEVBQUUsY0FBa0IsRUFBRSxRQUFnQjtRQUMzRSxNQUFNLElBQUksNkJBQTZCLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUQsb0JBQW9CLENBQUMsZUFBbUI7UUFDdEMsTUFBTSxJQUFJLDZCQUE2QixDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELDBCQUEwQixDQUN4QixnQkFBOEIsRUFDOUIsWUFBZ0IsRUFDaEIsT0FBVztRQUVYLE1BQU0sSUFBSSw2QkFBNkIsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFRCxXQUFXLENBQUMsaUJBQXFCLEVBQUUsaUJBQXlCO1FBQzFELE1BQU0sSUFBSSw2QkFBNkIsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsWUFBWSxDQUFDLGlCQUFxQixFQUFFLE9BQWE7UUFDL0MsTUFBTSxJQUFJLDZCQUE2QixDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRCxnQkFBZ0IsQ0FDZCxnQkFBOEIsRUFDOUIsWUFBZ0IsRUFDaEIsV0FBZSxFQUNmLFVBQXFCLEVBQ3JCLElBQVU7UUFFVixNQUFNLElBQUksNkJBQTZCLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsSUFBc0I7UUFDdkMsTUFBTSxJQUFJLDZCQUE2QixDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELG1CQUFtQixDQUNqQixzQkFBb0MsRUFDcEMsaUJBQW1DLEVBQ25DLFNBQWEsRUFDYixrQkFBMEIsRUFDMUIsYUFBc0IsRUFDdEIsZUFBd0I7UUFFeEIsTUFBTSxJQUFJLDZCQUE2QixDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVELGtCQUFrQixDQUNoQixzQkFBb0MsRUFDcEMsaUJBQW1DLEVBQ25DLFNBQWEsRUFDYixrQkFBMEIsRUFDMUIsYUFBc0IsRUFDdEIsZUFBd0I7UUFFeEIsTUFBTSxJQUFJLDZCQUE2QixDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELHlCQUF5QixDQUN2QixzQkFBb0MsRUFDcEMsaUJBQW1DLEVBQ25DLFNBQWEsRUFDYixrQkFBMEIsRUFDMUIsYUFBc0IsRUFDdEIsZUFBd0I7UUFFeEIsTUFBTSxJQUFJLDZCQUE2QixDQUFDLDJCQUEyQixDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVELGFBQWEsQ0FBQyxNQUFjLEVBQUUscUJBQTZCLEVBQUUsSUFBWTtRQUN2RSxNQUFNLElBQUksNkJBQTZCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDckQsQ0FBQztDQUNGIn0=
@@ -1,6 +1,5 @@
1
1
  import { FunctionSelector, type GasSettings, type GlobalVariables, type Header } from '@aztec/circuits.js';
2
2
  import { type AztecAddress } from '@aztec/foundation/aztec-address';
3
- import { type EthAddress } from '@aztec/foundation/eth-address';
4
3
  import { type Fr } from '@aztec/foundation/fields';
5
4
  export declare class AvmContextInputs {
6
5
  private selector;
@@ -16,10 +15,7 @@ export declare class AvmContextInputs {
16
15
  export declare class AvmExecutionEnvironment {
17
16
  readonly address: AztecAddress;
18
17
  readonly storageAddress: AztecAddress;
19
- readonly origin: AztecAddress;
20
18
  readonly sender: AztecAddress;
21
- readonly portal: EthAddress;
22
- readonly feePerL1Gas: Fr;
23
19
  readonly feePerL2Gas: Fr;
24
20
  readonly feePerDaGas: Fr;
25
21
  readonly contractCallDepth: Fr;
@@ -31,7 +27,7 @@ export declare class AvmExecutionEnvironment {
31
27
  readonly gasSettings: GasSettings;
32
28
  readonly transactionFee: Fr;
33
29
  readonly temporaryFunctionSelector: FunctionSelector;
34
- constructor(address: AztecAddress, storageAddress: AztecAddress, origin: AztecAddress, sender: AztecAddress, portal: EthAddress, feePerL1Gas: Fr, feePerL2Gas: Fr, feePerDaGas: Fr, contractCallDepth: Fr, header: Header, globals: GlobalVariables, isStaticCall: boolean, isDelegateCall: boolean, calldata: Fr[], gasSettings: GasSettings, transactionFee: Fr, temporaryFunctionSelector: FunctionSelector);
30
+ constructor(address: AztecAddress, storageAddress: AztecAddress, sender: AztecAddress, feePerL2Gas: Fr, feePerDaGas: Fr, contractCallDepth: Fr, header: Header, globals: GlobalVariables, isStaticCall: boolean, isDelegateCall: boolean, calldata: Fr[], gasSettings: GasSettings, transactionFee: Fr, temporaryFunctionSelector: FunctionSelector);
35
31
  deriveEnvironmentForNestedCall(targetAddress: AztecAddress, calldata: Fr[], temporaryFunctionSelector?: FunctionSelector): AvmExecutionEnvironment;
36
32
  deriveEnvironmentForNestedStaticCall(address: AztecAddress, calldata: Fr[], temporaryFunctionSelector?: FunctionSelector): AvmExecutionEnvironment;
37
33
  newDelegateCall(address: AztecAddress, calldata: Fr[], temporaryFunctionSelector?: FunctionSelector): AvmExecutionEnvironment;
@@ -1 +1 @@
1
- {"version":3,"file":"avm_execution_environment.d.ts","sourceRoot":"","sources":["../../src/avm/avm_execution_environment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,KAAK,WAAW,EAAE,KAAK,eAAe,EAAE,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE3G,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAEnD,qBAAa,gBAAgB;IAGf,OAAO,CAAC,QAAQ;IAAM,OAAO,CAAC,QAAQ;IAFlD,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK;gBAEL,QAAQ,EAAE,EAAE,EAAU,QAAQ,EAAE,EAAE;IAE/C,QAAQ,IAAI,EAAE,EAAE;CAGxB;AAED;;;GAGG;AAEH,qBAAa,uBAAuB;aAEhB,OAAO,EAAE,YAAY;aACrB,cAAc,EAAE,YAAY;aAC5B,MAAM,EAAE,YAAY;aACpB,MAAM,EAAE,YAAY;aACpB,MAAM,EAAE,UAAU;aAClB,WAAW,EAAE,EAAE;aACf,WAAW,EAAE,EAAE;aACf,WAAW,EAAE,EAAE;aACf,iBAAiB,EAAE,EAAE;aACrB,MAAM,EAAE,MAAM;aACd,OAAO,EAAE,eAAe;aACxB,YAAY,EAAE,OAAO;aACrB,cAAc,EAAE,OAAO;aACvB,QAAQ,EAAE,EAAE,EAAE;aACd,WAAW,EAAE,WAAW;aACxB,cAAc,EAAE,EAAE;aAKlB,yBAAyB,EAAE,gBAAgB;gBApB3C,OAAO,EAAE,YAAY,EACrB,cAAc,EAAE,YAAY,EAC5B,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,UAAU,EAClB,WAAW,EAAE,EAAE,EACf,WAAW,EAAE,EAAE,EACf,WAAW,EAAE,EAAE,EACf,iBAAiB,EAAE,EAAE,EACrB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,eAAe,EACxB,YAAY,EAAE,OAAO,EACrB,cAAc,EAAE,OAAO,EACvB,QAAQ,EAAE,EAAE,EAAE,EACd,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,EAAE,EAKlB,yBAAyB,EAAE,gBAAgB;IAQtD,8BAA8B,CACnC,aAAa,EAAE,YAAY,EAC3B,QAAQ,EAAE,EAAE,EAAE,EACd,yBAAyB,GAAE,gBAA2C,GACrE,uBAAuB;IAsBnB,oCAAoC,CACzC,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,EAAE,EAAE,EACd,yBAAyB,GAAE,gBAA2C,GACrE,uBAAuB;IAsBnB,eAAe,CACpB,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,EAAE,EAAE,EACd,yBAAyB,GAAE,gBAA2C,GACrE,uBAAuB;CAqB3B"}
1
+ {"version":3,"file":"avm_execution_environment.d.ts","sourceRoot":"","sources":["../../src/avm/avm_execution_environment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,KAAK,WAAW,EAAE,KAAK,eAAe,EAAE,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE3G,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAEnD,qBAAa,gBAAgB;IAGf,OAAO,CAAC,QAAQ;IAAM,OAAO,CAAC,QAAQ;IAFlD,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK;gBAEL,QAAQ,EAAE,EAAE,EAAU,QAAQ,EAAE,EAAE;IAE/C,QAAQ,IAAI,EAAE,EAAE;CAGxB;AAED;;;GAGG;AAEH,qBAAa,uBAAuB;aAEhB,OAAO,EAAE,YAAY;aACrB,cAAc,EAAE,YAAY;aAC5B,MAAM,EAAE,YAAY;aACpB,WAAW,EAAE,EAAE;aACf,WAAW,EAAE,EAAE;aACf,iBAAiB,EAAE,EAAE;aACrB,MAAM,EAAE,MAAM;aACd,OAAO,EAAE,eAAe;aACxB,YAAY,EAAE,OAAO;aACrB,cAAc,EAAE,OAAO;aACvB,QAAQ,EAAE,EAAE,EAAE;aACd,WAAW,EAAE,WAAW;aACxB,cAAc,EAAE,EAAE;aAKlB,yBAAyB,EAAE,gBAAgB;gBAjB3C,OAAO,EAAE,YAAY,EACrB,cAAc,EAAE,YAAY,EAC5B,MAAM,EAAE,YAAY,EACpB,WAAW,EAAE,EAAE,EACf,WAAW,EAAE,EAAE,EACf,iBAAiB,EAAE,EAAE,EACrB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,eAAe,EACxB,YAAY,EAAE,OAAO,EACrB,cAAc,EAAE,OAAO,EACvB,QAAQ,EAAE,EAAE,EAAE,EACd,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,EAAE,EAKlB,yBAAyB,EAAE,gBAAgB;IAQtD,8BAA8B,CACnC,aAAa,EAAE,YAAY,EAC3B,QAAQ,EAAE,EAAE,EAAE,EACd,yBAAyB,GAAE,gBAA2C,GACrE,uBAAuB;IAmBnB,oCAAoC,CACzC,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,EAAE,EAAE,EACd,yBAAyB,GAAE,gBAA2C,GACrE,uBAAuB;IAmBnB,eAAe,CACpB,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,EAAE,EAAE,EACd,yBAAyB,GAAE,gBAA2C,GACrE,uBAAuB;CAkB3B"}
@@ -16,17 +16,14 @@ AvmContextInputs.SIZE = 2;
16
16
  */
17
17
  // TODO(https://github.com/AztecProtocol/aztec-packages/issues/3992): gas not implemented
18
18
  export class AvmExecutionEnvironment {
19
- constructor(address, storageAddress, origin, sender, portal, feePerL1Gas, feePerL2Gas, feePerDaGas, contractCallDepth, header, globals, isStaticCall, isDelegateCall, calldata, gasSettings, transactionFee,
19
+ constructor(address, storageAddress, sender, feePerL2Gas, feePerDaGas, contractCallDepth, header, globals, isStaticCall, isDelegateCall, calldata, gasSettings, transactionFee,
20
20
  // Function selector is temporary since eventually public contract bytecode will be one blob
21
21
  // containing all functions, and function selector will become an application-level mechanism
22
22
  // (e.g. first few bytes of calldata + compiler-generated jump table)
23
23
  temporaryFunctionSelector) {
24
24
  this.address = address;
25
25
  this.storageAddress = storageAddress;
26
- this.origin = origin;
27
26
  this.sender = sender;
28
- this.portal = portal;
29
- this.feePerL1Gas = feePerL1Gas;
30
27
  this.feePerL2Gas = feePerL2Gas;
31
28
  this.feePerDaGas = feePerDaGas;
32
29
  this.contractCallDepth = contractCallDepth;
@@ -45,16 +42,16 @@ export class AvmExecutionEnvironment {
45
42
  }
46
43
  deriveEnvironmentForNestedCall(targetAddress, calldata, temporaryFunctionSelector = FunctionSelector.empty()) {
47
44
  return new AvmExecutionEnvironment(targetAddress,
48
- /*storageAddress=*/ targetAddress, this.origin, this.address, this.portal, this.feePerL1Gas, this.feePerL2Gas, this.feePerDaGas, this.contractCallDepth, this.header, this.globals, this.isStaticCall, this.isDelegateCall, calldata, this.gasSettings, this.transactionFee, temporaryFunctionSelector);
45
+ /*storageAddress=*/ targetAddress, this.address, this.feePerL2Gas, this.feePerDaGas, this.contractCallDepth, this.header, this.globals, this.isStaticCall, this.isDelegateCall, calldata, this.gasSettings, this.transactionFee, temporaryFunctionSelector);
49
46
  }
50
47
  deriveEnvironmentForNestedStaticCall(address, calldata, temporaryFunctionSelector = FunctionSelector.empty()) {
51
48
  return new AvmExecutionEnvironment(address,
52
- /*storageAddress=*/ address, this.origin, this.sender, this.portal, this.feePerL1Gas, this.feePerL2Gas, this.feePerDaGas, this.contractCallDepth, this.header, this.globals,
49
+ /*storageAddress=*/ address, this.sender, this.feePerL2Gas, this.feePerDaGas, this.contractCallDepth, this.header, this.globals,
53
50
  /*isStaticCall=*/ true, this.isDelegateCall, calldata, this.gasSettings, this.transactionFee, temporaryFunctionSelector);
54
51
  }
55
52
  newDelegateCall(address, calldata, temporaryFunctionSelector = FunctionSelector.empty()) {
56
- return new AvmExecutionEnvironment(address, this.storageAddress, this.origin, this.sender, this.portal, this.feePerL1Gas, this.feePerL2Gas, this.feePerDaGas, this.contractCallDepth, this.header, this.globals, this.isStaticCall,
53
+ return new AvmExecutionEnvironment(address, this.storageAddress, this.sender, this.feePerL2Gas, this.feePerDaGas, this.contractCallDepth, this.header, this.globals, this.isStaticCall,
57
54
  /*isDelegateCall=*/ true, calldata, this.gasSettings, this.transactionFee, temporaryFunctionSelector);
58
55
  }
59
56
  }
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZtX2V4ZWN1dGlvbl9lbnZpcm9ubWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hdm0vYXZtX2V4ZWN1dGlvbl9lbnZpcm9ubWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQXVELE1BQU0sb0JBQW9CLENBQUM7QUFDM0csT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFLN0QsTUFBTSxPQUFPLGdCQUFnQjtJQUczQixZQUFvQixRQUFZLEVBQVUsUUFBWTtRQUFsQyxhQUFRLEdBQVIsUUFBUSxDQUFJO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBSTtJQUFHLENBQUM7SUFFbkQsUUFBUTtRQUNiLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN4QyxDQUFDOztBQU5lLHFCQUFJLEdBQUcsQ0FBQyxDQUFDO0FBUzNCOzs7R0FHRztBQUNILHlGQUF5RjtBQUN6RixNQUFNLE9BQU8sdUJBQXVCO0lBQ2xDLFlBQ2tCLE9BQXFCLEVBQ3JCLGNBQTRCLEVBQzVCLE1BQW9CLEVBQ3BCLE1BQW9CLEVBQ3BCLE1BQWtCLEVBQ2xCLFdBQWUsRUFDZixXQUFlLEVBQ2YsV0FBZSxFQUNmLGlCQUFxQixFQUNyQixNQUFjLEVBQ2QsT0FBd0IsRUFDeEIsWUFBcUIsRUFDckIsY0FBdUIsRUFDdkIsUUFBYyxFQUNkLFdBQXdCLEVBQ3hCLGNBQWtCO0lBRWxDLDRGQUE0RjtJQUM1Riw2RkFBNkY7SUFDN0YscUVBQXFFO0lBQ3JELHlCQUEyQztRQXBCM0MsWUFBTyxHQUFQLE9BQU8sQ0FBYztRQUNyQixtQkFBYyxHQUFkLGNBQWMsQ0FBYztRQUM1QixXQUFNLEdBQU4sTUFBTSxDQUFjO1FBQ3BCLFdBQU0sR0FBTixNQUFNLENBQWM7UUFDcEIsV0FBTSxHQUFOLE1BQU0sQ0FBWTtRQUNsQixnQkFBVyxHQUFYLFdBQVcs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
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZtX2V4ZWN1dGlvbl9lbnZpcm9ubWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hdm0vYXZtX2V4ZWN1dGlvbl9lbnZpcm9ubWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQXVELE1BQU0sb0JBQW9CLENBQUM7QUFDM0csT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFJN0QsTUFBTSxPQUFPLGdCQUFnQjtJQUczQixZQUFvQixRQUFZLEVBQVUsUUFBWTtRQUFsQyxhQUFRLEdBQVIsUUFBUSxDQUFJO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBSTtJQUFHLENBQUM7SUFFbkQsUUFBUTtRQUNiLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN4QyxDQUFDOztBQU5lLHFCQUFJLEdBQUcsQ0FBQyxDQUFDO0FBUzNCOzs7R0FHRztBQUNILHlGQUF5RjtBQUN6RixNQUFNLE9BQU8sdUJBQXVCO0lBQ2xDLFlBQ2tCLE9BQXFCLEVBQ3JCLGNBQTRCLEVBQzVCLE1BQW9CLEVBQ3BCLFdBQWUsRUFDZixXQUFlLEVBQ2YsaUJBQXFCLEVBQ3JCLE1BQWMsRUFDZCxPQUF3QixFQUN4QixZQUFxQixFQUNyQixjQUF1QixFQUN2QixRQUFjLEVBQ2QsV0FBd0IsRUFDeEIsY0FBa0I7SUFFbEMsNEZBQTRGO0lBQzVGLDZGQUE2RjtJQUM3RixxRUFBcUU7SUFDckQseUJBQTJDO1FBakIzQyxZQUFPLEdBQVAsT0FBTyxDQUFjO1FBQ3JCLG1CQUFjLEdBQWQsY0FBYyxDQUFjO1FBQzVCLFdBQU0sR0FBTixNQUFNLENBQWM7UUFDcEIsZ0JBQVcsR0FBWCxXQUFXLENBQUk7UUFDZixnQkFBVyxHQUFYLFdBQVcsQ0FBSTtRQUNmLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBSTtRQUNyQixXQUFNLEdBQU4sTUFBTSxDQUFR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
@@ -2,29 +2,24 @@ import { TypeTag } from './avm_memory_types.js';
2
2
  import { Opcode } from './serialization/instruction_serialization.js';
3
3
  /** Gas counters in L1, L2, and DA. */
4
4
  export type Gas = {
5
- l1Gas: number;
6
5
  l2Gas: number;
7
6
  daGas: number;
8
7
  };
9
8
  /** Maps a Gas struct to gasLeft properties. */
10
9
  export declare function gasToGasLeft(gas: Gas): {
11
- l1GasLeft: number;
12
10
  l2GasLeft: number;
13
11
  daGasLeft: number;
14
12
  };
15
13
  /** Maps gasLeft properties to a gas struct. */
16
14
  export declare function gasLeftToGas(gasLeft: {
17
- l1GasLeft: number;
18
15
  l2GasLeft: number;
19
16
  daGasLeft: number;
20
17
  }): {
21
- l1Gas: number;
22
18
  l2Gas: number;
23
19
  daGas: number;
24
20
  };
25
21
  /** Creates a new instance with all values set to zero except the ones set. */
26
22
  export declare function makeGas(gasCost: Partial<Gas>): {
27
- l1Gas: number;
28
23
  l2Gas: number;
29
24
  daGas: number;
30
25
  };
@@ -32,14 +27,13 @@ export declare function makeGas(gasCost: Partial<Gas>): {
32
27
  export declare function sumGas(...gases: Partial<Gas>[]): Gas;
33
28
  /** Multiplies a gas instance by a scalar. */
34
29
  export declare function mulGas(gas: Partial<Gas>, scalar: number): {
35
- l1Gas: number;
36
30
  l2Gas: number;
37
31
  daGas: number;
38
32
  };
39
33
  /** Zero gas across all gas dimensions. */
40
34
  export declare const EmptyGas: Gas;
41
35
  /** Dimensions of gas usage: L1, L2, and DA. */
42
- export declare const GasDimensions: readonly ["l1Gas", "l2Gas", "daGas"];
36
+ export declare const GasDimensions: readonly ["l2Gas", "daGas"];
43
37
  /** Null object to represent a gas cost that's dynamic instead of fixed for a given instruction. */
44
38
  export declare const DynamicGasCost: unique symbol;
45
39
  /** Base gas costs for each instruction. Additional gas cost may be added on top due to memory or storage accesses, etc. */
@@ -52,7 +46,6 @@ export declare function getMemoryGasCost(args: {
52
46
  writes?: number;
53
47
  indirect?: number;
54
48
  }): {
55
- l1Gas: number;
56
49
  l2Gas: number;
57
50
  daGas: number;
58
51
  };
@@ -64,7 +57,6 @@ export declare const GasCostConstants: {
64
57
  };
65
58
  /** Returns gas cost for an operation on a given type tag based on the base cost per byte. */
66
59
  export declare function getGasCostForTypeTag(tag: TypeTag, baseCost: Gas): {
67
- l1Gas: number;
68
60
  l2Gas: number;
69
61
  daGas: number;
70
62
  };
@@ -1 +1 @@
1
- {"version":3,"file":"avm_gas.d.ts","sourceRoot":"","sources":["../../src/avm/avm_gas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAGhD,OAAO,EAAE,MAAM,EAAE,MAAM,8CAA8C,CAAC;AAEtE,sCAAsC;AACtC,MAAM,MAAM,GAAG,GAAG;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,+CAA+C;AAC/C,wBAAgB,YAAY,CAAC,GAAG,EAAE,GAAG;;;;EAEpC;AAED,+CAA+C;AAC/C,wBAAgB,YAAY,CAAC,OAAO,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE;;;;EAEhG;AAED,8EAA8E;AAC9E,wBAAgB,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC;;;;EAE5C;AAED,+CAA+C;AAC/C,wBAAgB,MAAM,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,OAS9C;AAED,6CAA6C;AAC7C,wBAAgB,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM;;;;EAEvD;AAED,0CAA0C;AAC1C,eAAO,MAAM,QAAQ,EAAE,GAItB,CAAC;AAEF,+CAA+C;AAC/C,eAAO,MAAM,aAAa,sCAAuC,CAAC;AAElE,mGAAmG;AACnG,eAAO,MAAM,cAAc,eAA2B,CAAC;AAKvD,2HAA2H;AAC3H,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,cAAc,CAuEhE,CAAC;AAEF,uFAAuF;AACvF,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAMlD;AAED,4EAA4E;AAC5E,wBAAgB,gBAAgB,CAAC,IAAI,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE;;;;EAQ5F;AAED,gDAAgD;AAChD,eAAO,MAAM,gBAAgB;;;;CAI5B,CAAC;AAEF,6FAA6F;AAC7F,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG;;;;EAE/D"}
1
+ {"version":3,"file":"avm_gas.d.ts","sourceRoot":"","sources":["../../src/avm/avm_gas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAGhD,OAAO,EAAE,MAAM,EAAE,MAAM,8CAA8C,CAAC;AAEtE,sCAAsC;AACtC,MAAM,MAAM,GAAG,GAAG;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,+CAA+C;AAC/C,wBAAgB,YAAY,CAAC,GAAG,EAAE,GAAG;;;EAEpC;AAED,+CAA+C;AAC/C,wBAAgB,YAAY,CAAC,OAAO,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE;;;EAE7E;AAED,8EAA8E;AAC9E,wBAAgB,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC;;;EAE5C;AAED,+CAA+C;AAC/C,wBAAgB,MAAM,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,OAQ9C;AAED,6CAA6C;AAC7C,wBAAgB,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM;;;EAEvD;AAED,0CAA0C;AAC1C,eAAO,MAAM,QAAQ,EAAE,GAGtB,CAAC;AAEF,+CAA+C;AAC/C,eAAO,MAAM,aAAa,6BAA8B,CAAC;AAEzD,mGAAmG;AACnG,eAAO,MAAM,cAAc,eAA2B,CAAC;AAKvD,2HAA2H;AAC3H,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,cAAc,CAkEhE,CAAC;AAEF,uFAAuF;AACvF,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAMlD;AAED,4EAA4E;AAC5E,wBAAgB,gBAAgB,CAAC,IAAI,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE;;;EAQ5F;AAED,gDAAgD;AAChD,eAAO,MAAM,gBAAgB;;;;CAI5B,CAAC;AAEF,6FAA6F;AAC7F,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG;;;EAE/D"}