@aztec/stdlib 4.1.2 → 4.2.0-aztecnr-rc.2

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 (145) hide show
  1. package/dest/abi/buffer.d.ts +14 -4
  2. package/dest/abi/buffer.d.ts.map +1 -1
  3. package/dest/abi/buffer.js +25 -4
  4. package/dest/abi/decoder.d.ts +5 -44
  5. package/dest/abi/decoder.d.ts.map +1 -1
  6. package/dest/abi/decoder.js +12 -67
  7. package/dest/abi/function_selector.js +1 -1
  8. package/dest/abi/function_signature_decoder.d.ts +43 -0
  9. package/dest/abi/function_signature_decoder.d.ts.map +1 -0
  10. package/dest/abi/function_signature_decoder.js +66 -0
  11. package/dest/abi/index.d.ts +2 -1
  12. package/dest/abi/index.d.ts.map +1 -1
  13. package/dest/abi/index.js +1 -0
  14. package/dest/avm/avm_accumulated_data.js +2 -2
  15. package/dest/avm/avm_circuit_public_inputs.js +2 -2
  16. package/dest/block/l2_block_source.d.ts +5 -3
  17. package/dest/block/l2_block_source.d.ts.map +1 -1
  18. package/dest/checkpoint/validate.js +2 -2
  19. package/dest/epoch-helpers/index.d.ts +3 -1
  20. package/dest/epoch-helpers/index.d.ts.map +1 -1
  21. package/dest/epoch-helpers/index.js +6 -0
  22. package/dest/gas/gas_fees.d.ts +1 -1
  23. package/dest/gas/gas_fees.d.ts.map +1 -1
  24. package/dest/gas/gas_fees.js +4 -1
  25. package/dest/hash/hash.d.ts +19 -1
  26. package/dest/hash/hash.d.ts.map +1 -1
  27. package/dest/hash/hash.js +29 -0
  28. package/dest/interfaces/aztec-node-admin.d.ts +4 -1
  29. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  30. package/dest/interfaces/aztec-node.d.ts +2 -1
  31. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  32. package/dest/interfaces/block-builder.d.ts +25 -6
  33. package/dest/interfaces/block-builder.d.ts.map +1 -1
  34. package/dest/interfaces/configs.d.ts +7 -2
  35. package/dest/interfaces/configs.d.ts.map +1 -1
  36. package/dest/interfaces/configs.js +1 -0
  37. package/dest/interfaces/world_state.d.ts +5 -4
  38. package/dest/interfaces/world_state.d.ts.map +1 -1
  39. package/dest/kernel/claimed_length_array.js +1 -1
  40. package/dest/kernel/hints/private_kernel_reset_hints.d.ts +1 -1
  41. package/dest/kernel/hints/private_kernel_reset_hints.d.ts.map +1 -1
  42. package/dest/kernel/padded_side_effects.js +1 -1
  43. package/dest/kernel/private_to_avm_accumulated_data.js +2 -2
  44. package/dest/kernel/private_to_public_accumulated_data.js +2 -2
  45. package/dest/kernel/private_to_rollup_accumulated_data.js +1 -1
  46. package/dest/logs/index.d.ts +2 -1
  47. package/dest/logs/index.d.ts.map +1 -1
  48. package/dest/logs/index.js +1 -0
  49. package/dest/logs/message_context.d.ts +4 -7
  50. package/dest/logs/message_context.d.ts.map +1 -1
  51. package/dest/logs/message_context.js +23 -9
  52. package/dest/logs/pending_tagged_log.d.ts +2 -3
  53. package/dest/logs/pending_tagged_log.d.ts.map +1 -1
  54. package/dest/logs/pending_tagged_log.js +2 -2
  55. package/dest/logs/private_log.js +1 -1
  56. package/dest/logs/public_log.d.ts +1 -1
  57. package/dest/logs/public_log.d.ts.map +1 -1
  58. package/dest/logs/public_log.js +7 -1
  59. package/dest/logs/shared_secret_derivation.d.ts +11 -10
  60. package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
  61. package/dest/logs/shared_secret_derivation.js +15 -9
  62. package/dest/logs/siloed_tag.d.ts +4 -1
  63. package/dest/logs/siloed_tag.d.ts.map +1 -1
  64. package/dest/logs/siloed_tag.js +7 -3
  65. package/dest/logs/tagging_index_range.d.ts +40 -0
  66. package/dest/logs/tagging_index_range.d.ts.map +1 -0
  67. package/dest/logs/tagging_index_range.js +8 -0
  68. package/dest/messaging/l1_to_l2_message.d.ts +3 -2
  69. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  70. package/dest/messaging/l1_to_l2_message.js +11 -13
  71. package/dest/noir/index.d.ts +3 -3
  72. package/dest/noir/index.d.ts.map +1 -1
  73. package/dest/parity/parity_base_private_inputs.js +1 -1
  74. package/dest/proofs/chonk_proof.d.ts +1 -1
  75. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  76. package/dest/proofs/chonk_proof.js +7 -1
  77. package/dest/rollup/base_rollup_hints.js +2 -2
  78. package/dest/rollup/block_root_rollup_private_inputs.js +5 -5
  79. package/dest/rollup/checkpoint_rollup_public_inputs.js +1 -1
  80. package/dest/rollup/checkpoint_root_rollup_private_inputs.js +3 -3
  81. package/dest/rollup/root_rollup_public_inputs.js +1 -1
  82. package/dest/rollup/tree_snapshot_diff_hints.js +2 -2
  83. package/dest/tx/capsule.d.ts +6 -2
  84. package/dest/tx/capsule.d.ts.map +1 -1
  85. package/dest/tx/capsule.js +9 -3
  86. package/dest/tx/private_execution_result.d.ts +6 -6
  87. package/dest/tx/private_execution_result.d.ts.map +1 -1
  88. package/dest/tx/private_execution_result.js +6 -6
  89. package/dest/tx/profiling.d.ts +14 -2
  90. package/dest/tx/profiling.d.ts.map +1 -1
  91. package/dest/tx/profiling.js +13 -3
  92. package/dest/tx/protocol_contracts.js +2 -2
  93. package/dest/tx/validator/error_texts.d.ts +3 -1
  94. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  95. package/dest/tx/validator/error_texts.js +3 -0
  96. package/dest/vks/vk_data.js +1 -1
  97. package/package.json +9 -9
  98. package/src/abi/buffer.ts +25 -4
  99. package/src/abi/decoder.ts +23 -78
  100. package/src/abi/function_selector.ts +1 -1
  101. package/src/abi/function_signature_decoder.ts +77 -0
  102. package/src/abi/index.ts +1 -0
  103. package/src/avm/avm_accumulated_data.ts +6 -6
  104. package/src/avm/avm_circuit_public_inputs.ts +4 -4
  105. package/src/block/l2_block_source.ts +4 -2
  106. package/src/checkpoint/validate.ts +2 -2
  107. package/src/epoch-helpers/index.ts +11 -0
  108. package/src/gas/README.md +123 -0
  109. package/src/gas/gas_fees.ts +7 -1
  110. package/src/hash/hash.ts +34 -0
  111. package/src/interfaces/aztec-node.ts +1 -0
  112. package/src/interfaces/block-builder.ts +27 -3
  113. package/src/interfaces/configs.ts +4 -1
  114. package/src/interfaces/world_state.ts +4 -3
  115. package/src/kernel/claimed_length_array.ts +2 -2
  116. package/src/kernel/hints/private_kernel_reset_hints.ts +5 -2
  117. package/src/kernel/hints/read_request_hints.ts +3 -3
  118. package/src/kernel/padded_side_effects.ts +3 -3
  119. package/src/kernel/private_to_avm_accumulated_data.ts +4 -4
  120. package/src/kernel/private_to_public_accumulated_data.ts +10 -10
  121. package/src/kernel/private_to_rollup_accumulated_data.ts +5 -5
  122. package/src/logs/index.ts +1 -0
  123. package/src/logs/message_context.ts +17 -7
  124. package/src/logs/pending_tagged_log.ts +1 -3
  125. package/src/logs/private_log.ts +1 -1
  126. package/src/logs/public_log.ts +11 -1
  127. package/src/logs/shared_secret_derivation.ts +21 -10
  128. package/src/logs/siloed_tag.ts +7 -2
  129. package/src/logs/tagging_index_range.ts +24 -0
  130. package/src/messaging/l1_to_l2_message.ts +12 -9
  131. package/src/noir/index.ts +2 -2
  132. package/src/parity/parity_base_private_inputs.ts +1 -1
  133. package/src/proofs/chonk_proof.ts +9 -1
  134. package/src/rollup/base_rollup_hints.ts +2 -2
  135. package/src/rollup/block_root_rollup_private_inputs.ts +8 -8
  136. package/src/rollup/checkpoint_rollup_public_inputs.ts +2 -2
  137. package/src/rollup/checkpoint_root_rollup_private_inputs.ts +4 -4
  138. package/src/rollup/root_rollup_public_inputs.ts +2 -2
  139. package/src/rollup/tree_snapshot_diff_hints.ts +5 -5
  140. package/src/tx/capsule.ts +10 -2
  141. package/src/tx/private_execution_result.ts +5 -5
  142. package/src/tx/profiling.ts +11 -2
  143. package/src/tx/protocol_contracts.ts +2 -2
  144. package/src/tx/validator/error_texts.ts +4 -0
  145. package/src/vks/vk_data.ts +1 -1
@@ -3,6 +3,7 @@ import { type ZodFor, optional, schemas } from '@aztec/foundation/schemas';
3
3
 
4
4
  import { z } from 'zod';
5
5
 
6
+ import { AztecAddress } from '../aztec-address/index.js';
6
7
  import type { AztecNode } from '../interfaces/aztec-node.js';
7
8
  import { type PrivateExecutionStep, PrivateExecutionStepSchema } from '../kernel/private_kernel_prover_output.js';
8
9
 
@@ -160,6 +161,9 @@ export class TxProfileResult {
160
161
  export class UtilityExecutionResult {
161
162
  constructor(
162
163
  public result: Fr[],
164
+ public offchainEffects: { data: Fr[]; contractAddress: AztecAddress }[],
165
+ /** Timestamp of the anchor block used during utility execution. */
166
+ public anchorBlockTimestamp: bigint,
163
167
  public stats?: SimulationStats,
164
168
  ) {}
165
169
 
@@ -167,13 +171,18 @@ export class UtilityExecutionResult {
167
171
  return z
168
172
  .object({
169
173
  result: z.array(schemas.Fr),
174
+ offchainEffects: z.array(z.object({ data: z.array(schemas.Fr), contractAddress: AztecAddress.schema })),
175
+ anchorBlockTimestamp: schemas.BigInt,
170
176
  stats: optional(SimulationStatsSchema),
171
177
  })
172
- .transform(({ result, stats }) => new UtilityExecutionResult(result, stats));
178
+ .transform(
179
+ ({ result, offchainEffects, anchorBlockTimestamp, stats }) =>
180
+ new UtilityExecutionResult(result, offchainEffects, anchorBlockTimestamp, stats),
181
+ );
173
182
  }
174
183
 
175
184
  static random(): UtilityExecutionResult {
176
- return new UtilityExecutionResult([Fr.random()], {
185
+ return new UtilityExecutionResult([Fr.random()], [], 0n, {
177
186
  nodeRPCCalls: {
178
187
  perMethod: { getBlockHeader: { times: [1] } },
179
188
  roundTrips: {
@@ -30,7 +30,7 @@ export class ProtocolContracts {
30
30
 
31
31
  static fromFields(fields: Fr[] | FieldReader): ProtocolContracts {
32
32
  const reader = FieldReader.asReader(fields);
33
- return new ProtocolContracts(reader.readArray(MAX_PROTOCOL_CONTRACTS, AztecAddress));
33
+ return new ProtocolContracts(reader.readTuple(MAX_PROTOCOL_CONTRACTS, AztecAddress));
34
34
  }
35
35
 
36
36
  toFields(): Fr[] {
@@ -39,7 +39,7 @@ export class ProtocolContracts {
39
39
 
40
40
  static fromBuffer(buffer: Buffer | BufferReader): ProtocolContracts {
41
41
  const reader = BufferReader.asReader(buffer);
42
- return new ProtocolContracts(reader.readArray(MAX_PROTOCOL_CONTRACTS, AztecAddress));
42
+ return new ProtocolContracts(reader.readTuple(MAX_PROTOCOL_CONTRACTS, AztecAddress));
43
43
  }
44
44
 
45
45
  toBuffer() {
@@ -45,5 +45,9 @@ export const TX_ERROR_BLOCK_HEADER = 'Block header not found';
45
45
  export const TX_ERROR_INCORRECT_CONTRACT_ADDRESS = 'Incorrect contract instance deployment address';
46
46
  export const TX_ERROR_MALFORMED_CONTRACT_INSTANCE_LOG = 'Failed to parse contract instance deployment log';
47
47
 
48
+ // Contract class
49
+ export const TX_ERROR_INCORRECT_CONTRACT_CLASS_ID = 'Incorrect contract class id';
50
+ export const TX_ERROR_MALFORMED_CONTRACT_CLASS_LOG = 'Failed to parse contract class registration log';
51
+
48
52
  // General
49
53
  export const TX_ERROR_DURING_VALIDATION = 'Unexpected error during validation';
@@ -29,7 +29,7 @@ export class VkData {
29
29
  return new VkData(
30
30
  reader.readObject(VerificationKeyData),
31
31
  reader.readNumber(),
32
- reader.readArray(VK_TREE_HEIGHT, Fr),
32
+ reader.readTuple(VK_TREE_HEIGHT, Fr),
33
33
  );
34
34
  }
35
35