@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
@@ -1,5 +1,6 @@
1
1
  export * from './extended_directional_app_tagging_secret.js';
2
2
  export * from './pre_tag.js';
3
+ export * from './tagging_index_range.js';
3
4
  export * from './contract_class_log.js';
4
5
  export * from './public_log.js';
5
6
  export * from './private_log.js';
@@ -15,4 +16,4 @@ export * from './debug_log.js';
15
16
  export * from './debug_log_store.js';
16
17
  export * from './tag.js';
17
18
  export * from './siloed_tag.js';
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sb2dzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxpQkFBaUIsQ0FBQyJ9
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sb2dzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLGlCQUFpQixDQUFDIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/logs/index.ts"],"names":[],"mappings":"AAAA,cAAc,8CAA8C,CAAC;AAC7D,cAAc,cAAc,CAAC;AAC7B,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/logs/index.ts"],"names":[],"mappings":"AAAA,cAAc,8CAA8C,CAAC;AAC7D,cAAc,cAAc,CAAC;AAC7B,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC"}
@@ -1,5 +1,6 @@
1
1
  export * from './extended_directional_app_tagging_secret.js';
2
2
  export * from './pre_tag.js';
3
+ export * from './tagging_index_range.js';
3
4
  export * from './contract_class_log.js';
4
5
  export * from './public_log.js';
5
6
  export * from './private_log.js';
@@ -1,6 +1,4 @@
1
1
  import { Fr } from '@aztec/foundation/curves/bn254';
2
- import type { AztecAddress } from '../aztec-address/index.js';
3
- import type { TxEffect } from '../tx/tx_effect.js';
4
2
  import type { TxHash } from '../tx/tx_hash.js';
5
3
  /**
6
4
  * Additional information needed to process a message.
@@ -15,15 +13,14 @@ export declare class MessageContext {
15
13
  txHash: TxHash;
16
14
  uniqueNoteHashesInTx: Fr[];
17
15
  firstNullifierInTx: Fr;
18
- recipient: AztecAddress;
19
- constructor(txHash: TxHash, uniqueNoteHashesInTx: Fr[], firstNullifierInTx: Fr, recipient: AztecAddress);
16
+ constructor(txHash: TxHash, uniqueNoteHashesInTx: Fr[], firstNullifierInTx: Fr);
20
17
  toFields(): Fr[];
21
18
  toNoirStruct(): {
22
19
  tx_hash: Fr;
23
20
  unique_note_hashes_in_tx: Fr[];
24
21
  first_nullifier_in_tx: Fr;
25
- recipient: AztecAddress;
26
22
  };
27
- static fromTxEffectAndRecipient(txEffect: TxEffect, recipient: AztecAddress): MessageContext;
23
+ static toEmptyFields(): Fr[];
24
+ static toSerializedOption(response: MessageContext | null): Fr[];
28
25
  }
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZV9jb250ZXh0LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG9ncy9tZXNzYWdlX2NvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBELE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ25ELE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRS9DOzs7Ozs7OztHQVFHO0FBQ0gscUJBQWEsY0FBYztJQUVoQixNQUFNLEVBQUUsTUFBTTtJQUNkLG9CQUFvQixFQUFFLEVBQUUsRUFBRTtJQUMxQixrQkFBa0IsRUFBRSxFQUFFO0lBQ3RCLFNBQVMsRUFBRSxZQUFZO0lBSmhDLFlBQ1MsTUFBTSxFQUFFLE1BQU0sRUFDZCxvQkFBb0IsRUFBRSxFQUFFLEVBQUUsRUFDMUIsa0JBQWtCLEVBQUUsRUFBRSxFQUN0QixTQUFTLEVBQUUsWUFBWSxFQUM1QjtJQUVKLFFBQVEsSUFBSSxFQUFFLEVBQUUsQ0FPZjtJQUVELFlBQVk7Ozs7O01BU1g7SUFFRCxNQUFNLENBQUMsd0JBQXdCLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsWUFBWSxHQUFHLGNBQWMsQ0FFM0Y7Q0FDRiJ9
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZV9jb250ZXh0LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG9ncy9tZXNzYWdlX2NvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBELE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRS9DOzs7Ozs7OztHQVFHO0FBQ0gscUJBQWEsY0FBYztJQUVoQixNQUFNLEVBQUUsTUFBTTtJQUNkLG9CQUFvQixFQUFFLEVBQUUsRUFBRTtJQUMxQixrQkFBa0IsRUFBRSxFQUFFO0lBSC9CLFlBQ1MsTUFBTSxFQUFFLE1BQU0sRUFDZCxvQkFBb0IsRUFBRSxFQUFFLEVBQUUsRUFDMUIsa0JBQWtCLEVBQUUsRUFBRSxFQUMzQjtJQUVKLFFBQVEsSUFBSSxFQUFFLEVBQUUsQ0FNZjtJQUVELFlBQVk7Ozs7TUFRWDtJQUVELE1BQU0sQ0FBQyxhQUFhLElBQUksRUFBRSxFQUFFLENBSTNCO0lBRUQsTUFBTSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxjQUFjLEdBQUcsSUFBSSxHQUFHLEVBQUUsRUFBRSxDQU0vRDtDQUNGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"message_context.d.ts","sourceRoot":"","sources":["../../src/logs/message_context.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C;;;;;;;;GAQG;AACH,qBAAa,cAAc;IAEhB,MAAM,EAAE,MAAM;IACd,oBAAoB,EAAE,EAAE,EAAE;IAC1B,kBAAkB,EAAE,EAAE;IACtB,SAAS,EAAE,YAAY;IAJhC,YACS,MAAM,EAAE,MAAM,EACd,oBAAoB,EAAE,EAAE,EAAE,EAC1B,kBAAkB,EAAE,EAAE,EACtB,SAAS,EAAE,YAAY,EAC5B;IAEJ,QAAQ,IAAI,EAAE,EAAE,CAOf;IAED,YAAY;;;;;MASX;IAED,MAAM,CAAC,wBAAwB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,GAAG,cAAc,CAE3F;CACF"}
1
+ {"version":3,"file":"message_context.d.ts","sourceRoot":"","sources":["../../src/logs/message_context.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C;;;;;;;;GAQG;AACH,qBAAa,cAAc;IAEhB,MAAM,EAAE,MAAM;IACd,oBAAoB,EAAE,EAAE,EAAE;IAC1B,kBAAkB,EAAE,EAAE;IAH/B,YACS,MAAM,EAAE,MAAM,EACd,oBAAoB,EAAE,EAAE,EAAE,EAC1B,kBAAkB,EAAE,EAAE,EAC3B;IAEJ,QAAQ,IAAI,EAAE,EAAE,CAMf;IAED,YAAY;;;;MAQX;IAED,MAAM,CAAC,aAAa,IAAI,EAAE,EAAE,CAI3B;IAED,MAAM,CAAC,kBAAkB,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI,GAAG,EAAE,EAAE,CAM/D;CACF"}
@@ -1,4 +1,5 @@
1
1
  import { MAX_NOTE_HASHES_PER_TX } from '@aztec/constants';
2
+ import { range } from '@aztec/foundation/array';
2
3
  import { Fr } from '@aztec/foundation/curves/bn254';
3
4
  /**
4
5
  * Additional information needed to process a message.
@@ -12,31 +13,41 @@ import { Fr } from '@aztec/foundation/curves/bn254';
12
13
  txHash;
13
14
  uniqueNoteHashesInTx;
14
15
  firstNullifierInTx;
15
- recipient;
16
- constructor(txHash, uniqueNoteHashesInTx, firstNullifierInTx, recipient){
16
+ constructor(txHash, uniqueNoteHashesInTx, firstNullifierInTx){
17
17
  this.txHash = txHash;
18
18
  this.uniqueNoteHashesInTx = uniqueNoteHashesInTx;
19
19
  this.firstNullifierInTx = firstNullifierInTx;
20
- this.recipient = recipient;
21
20
  }
22
21
  toFields() {
23
22
  return [
24
23
  this.txHash.hash,
25
24
  ...serializeBoundedVec(this.uniqueNoteHashesInTx, MAX_NOTE_HASHES_PER_TX),
26
- this.firstNullifierInTx,
27
- this.recipient.toField()
25
+ this.firstNullifierInTx
28
26
  ];
29
27
  }
30
28
  toNoirStruct() {
31
29
  /* eslint-disable camelcase */ return {
32
30
  tx_hash: this.txHash.hash,
33
31
  unique_note_hashes_in_tx: this.uniqueNoteHashesInTx,
34
- first_nullifier_in_tx: this.firstNullifierInTx,
35
- recipient: this.recipient
32
+ first_nullifier_in_tx: this.firstNullifierInTx
36
33
  };
37
34
  /* eslint-enable camelcase */ }
38
- static fromTxEffectAndRecipient(txEffect, recipient) {
39
- return new MessageContext(txEffect.txHash, txEffect.noteHashes, txEffect.nullifiers[0], recipient);
35
+ static toEmptyFields() {
36
+ const serializationLen = 1 /* txHash */ + MAX_NOTE_HASHES_PER_TX + 1 /* uniqueNoteHashesInTx BVec */ + 1; /* firstNullifierInTx */
37
+ return range(serializationLen).map((_)=>Fr.zero());
38
+ }
39
+ static toSerializedOption(response) {
40
+ if (response) {
41
+ return [
42
+ new Fr(1),
43
+ ...response.toFields()
44
+ ];
45
+ } else {
46
+ return [
47
+ new Fr(0),
48
+ ...MessageContext.toEmptyFields()
49
+ ];
50
+ }
40
51
  }
41
52
  }
42
53
  /**
@@ -46,6 +57,9 @@ import { Fr } from '@aztec/foundation/curves/bn254';
46
57
  * @returns The serialized bounded vector as Fr[]
47
58
  * @dev Copied over from pending_tagged_log.ts.
48
59
  */ function serializeBoundedVec(values, maxLength) {
60
+ if (values.length > maxLength) {
61
+ throw new Error(`Attempted to serialize ${values} values into a BoundedVec with max length ${maxLength}`);
62
+ }
49
63
  const lengthDiff = maxLength - values.length;
50
64
  const zeroPaddingArray = Array(lengthDiff).fill(Fr.ZERO);
51
65
  const storage = values.concat(zeroPaddingArray);
@@ -1,5 +1,4 @@
1
1
  import { Fr } from '@aztec/foundation/curves/bn254';
2
- import type { AztecAddress } from '../aztec-address/index.js';
3
2
  import type { TxHash } from '../tx/tx_hash.js';
4
3
  /**
5
4
  * Represents a pending tagged log as it is stored in the pending tagged log array to which the fetchTaggedLogs oracle
@@ -8,7 +7,7 @@ import type { TxHash } from '../tx/tx_hash.js';
8
7
  export declare class PendingTaggedLog {
9
8
  log: Fr[];
10
9
  private context;
11
- constructor(log: Fr[], txHash: TxHash, uniqueNoteHashesInTx: Fr[], firstNullifierInTx: Fr, recipient: AztecAddress);
10
+ constructor(log: Fr[], txHash: TxHash, uniqueNoteHashesInTx: Fr[], firstNullifierInTx: Fr);
12
11
  toFields(): Fr[];
13
12
  }
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVuZGluZ190YWdnZWRfbG9nLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG9ncy9wZW5kaW5nX3RhZ2dlZF9sb2cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBELE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRy9DOzs7R0FHRztBQUNILHFCQUFhLGdCQUFnQjtJQUlsQixHQUFHLEVBQUUsRUFBRSxFQUFFO0lBSGxCLE9BQU8sQ0FBQyxPQUFPLENBQWlCO0lBRWhDLFlBQ1MsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUNoQixNQUFNLEVBQUUsTUFBTSxFQUNkLG9CQUFvQixFQUFFLEVBQUUsRUFBRSxFQUMxQixrQkFBa0IsRUFBRSxFQUFFLEVBQ3RCLFNBQVMsRUFBRSxZQUFZLEVBR3hCO0lBRUQsUUFBUSxJQUFJLEVBQUUsRUFBRSxDQUVmO0NBQ0YifQ==
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVuZGluZ190YWdnZWRfbG9nLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG9ncy9wZW5kaW5nX3RhZ2dlZF9sb2cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBELE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRy9DOzs7R0FHRztBQUNILHFCQUFhLGdCQUFnQjtJQUlsQixHQUFHLEVBQUUsRUFBRSxFQUFFO0lBSGxCLE9BQU8sQ0FBQyxPQUFPLENBQWlCO0lBRWhDLFlBQ1MsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUNoQixNQUFNLEVBQUUsTUFBTSxFQUNkLG9CQUFvQixFQUFFLEVBQUUsRUFBRSxFQUMxQixrQkFBa0IsRUFBRSxFQUFFLEVBR3ZCO0lBRUQsUUFBUSxJQUFJLEVBQUUsRUFBRSxDQUVmO0NBQ0YifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"pending_tagged_log.d.ts","sourceRoot":"","sources":["../../src/logs/pending_tagged_log.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAG/C;;;GAGG;AACH,qBAAa,gBAAgB;IAIlB,GAAG,EAAE,EAAE,EAAE;IAHlB,OAAO,CAAC,OAAO,CAAiB;IAEhC,YACS,GAAG,EAAE,EAAE,EAAE,EAChB,MAAM,EAAE,MAAM,EACd,oBAAoB,EAAE,EAAE,EAAE,EAC1B,kBAAkB,EAAE,EAAE,EACtB,SAAS,EAAE,YAAY,EAGxB;IAED,QAAQ,IAAI,EAAE,EAAE,CAEf;CACF"}
1
+ {"version":3,"file":"pending_tagged_log.d.ts","sourceRoot":"","sources":["../../src/logs/pending_tagged_log.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAG/C;;;GAGG;AACH,qBAAa,gBAAgB;IAIlB,GAAG,EAAE,EAAE,EAAE;IAHlB,OAAO,CAAC,OAAO,CAAiB;IAEhC,YACS,GAAG,EAAE,EAAE,EAAE,EAChB,MAAM,EAAE,MAAM,EACd,oBAAoB,EAAE,EAAE,EAAE,EAC1B,kBAAkB,EAAE,EAAE,EAGvB;IAED,QAAQ,IAAI,EAAE,EAAE,CAEf;CACF"}
@@ -7,9 +7,9 @@ import { MessageContext } from './message_context.js';
7
7
  */ export class PendingTaggedLog {
8
8
  log;
9
9
  context;
10
- constructor(log, txHash, uniqueNoteHashesInTx, firstNullifierInTx, recipient){
10
+ constructor(log, txHash, uniqueNoteHashesInTx, firstNullifierInTx){
11
11
  this.log = log;
12
- this.context = new MessageContext(txHash, uniqueNoteHashesInTx, firstNullifierInTx, recipient);
12
+ this.context = new MessageContext(txHash, uniqueNoteHashesInTx, firstNullifierInTx);
13
13
  }
14
14
  toFields() {
15
15
  return [
@@ -59,7 +59,7 @@ export class PrivateLog {
59
59
  }
60
60
  static fromBuffer(buffer) {
61
61
  const reader = BufferReader.asReader(buffer);
62
- return new PrivateLog(reader.readArray(PRIVATE_LOG_SIZE_IN_FIELDS, Fr), reader.readNumber());
62
+ return new PrivateLog(reader.readTuple(PRIVATE_LOG_SIZE_IN_FIELDS, Fr), reader.readNumber());
63
63
  }
64
64
  static random(tag = Fr.random()) {
65
65
  const fields = makeTuple(PRIVATE_LOG_SIZE_IN_FIELDS, Fr.random);
@@ -52,4 +52,4 @@ export declare class PublicLog {
52
52
  static get schema(): ZodFor<PublicLog>;
53
53
  [inspect.custom](): string;
54
54
  }
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2xvZy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xvZ3MvcHVibGljX2xvZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFXLE1BQU0sMkJBQTJCLENBQUM7QUFDakUsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQXFCLE1BQU0sNkJBQTZCLENBQUM7QUFFM0YsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUcvQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFPekQscUJBQWEsY0FBYztJQUdoQixNQUFNLEVBQUUsTUFBTTtJQUNkLE9BQU8sRUFBRSxFQUFFLEVBQUU7SUFGdEIsWUFDUyxNQUFNLEVBQUUsTUFBTSxFQUNkLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFRckI7SUFFRCxPQUFPLENBQUMsTUFBTSxDQUFDLG1CQUFtQjtJQU1sQyxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLFdBQVcsa0JBSS9EO0lBRUQsWUFBWSxTQUVYO0lBRUQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLGtCQUVoQztJQUVELE1BQU0sZ0JBVUw7SUFFRCxNQUFNLEtBQUssTUFBTSxJQUFJLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FPMUM7SUFFRCxRQUFRLElBQUksTUFBTSxDQUVqQjtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxZQUFZLGtCQUk5QztJQUdELFFBQVEsSUFBSSxFQUFFLEVBQUUsQ0FFZjtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLFdBQVcsa0JBUzNDO0lBRUQsTUFBTSxDQUFDLEtBQUssbUJBRVg7SUFFRDs7Ozs7O09BTUc7SUFDSCxNQUFNLENBQUMsZUFBZSxDQUFDLEdBQUcsRUFBRSxHQUFHLEdBQUcsY0FBYyxDQUsvQztJQUVELE9BQU8sWUFFTjtDQUNGO0FBRUQscUJBQWEsU0FBUzthQUVGLGVBQWUsRUFBRSxZQUFZO2FBQzdCLE1BQU0sRUFBRSxFQUFFLEVBQUU7SUFGOUIsWUFDa0IsZUFBZSxFQUFFLFlBQVksRUFDN0IsTUFBTSxFQUFFLEVBQUUsRUFBRSxFQUMxQjtJQUVKLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxTQUFTLENBQUMsYUFFdEM7SUFFRCxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsU0FBUyxDQUFDLGlDQUUzQztJQUVELFFBQVEsSUFBSSxFQUFFLEVBQUUsQ0FFZjtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLFdBQVcsYUFJM0M7SUFFRCxZQUFZLFdBRVg7SUFFRCxrRkFBa0Y7SUFDbEYsZ0JBQWdCLFNBR2Y7SUFFRCwwQkFBMEIsU0FFekI7SUFFRCxPQUFPLFlBRU47SUFFRCxNQUFNLENBQUMsS0FBSyxjQUVYO0lBRUQsUUFBUSxJQUFJLE1BQU0sQ0FFakI7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsWUFBWSxhQUk5QztJQUVELE1BQU0sQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFLEdBQUcsR0FBRyxTQUFTLENBSzFDO0lBRUQsT0FBYSxNQUFNLHVCQUtsQjtJQUVELE1BQU0sQ0FBQyxLQUFLLEVBQUUsSUFBSSxXQU1qQjtJQUVELGVBQWUsSUFBSSxNQUFNLENBRXhCO0lBRUQsTUFBTSxLQUFLLE1BQU0sSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLENBT3JDO0lBRUQsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksTUFBTSxDQUt6QjtDQUNGIn0=
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2xvZy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xvZ3MvcHVibGljX2xvZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxPQUFPLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFXLE1BQU0sMkJBQTJCLENBQUM7QUFDakUsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQXFCLE1BQU0sNkJBQTZCLENBQUM7QUFFM0YsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUcvQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFPekQscUJBQWEsY0FBYztJQUdoQixNQUFNLEVBQUUsTUFBTTtJQUNkLE9BQU8sRUFBRSxFQUFFLEVBQUU7SUFGdEIsWUFDUyxNQUFNLEVBQUUsTUFBTSxFQUNkLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFRckI7SUFFRCxPQUFPLENBQUMsTUFBTSxDQUFDLG1CQUFtQjtJQU1sQyxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLFdBQVcsa0JBSS9EO0lBRUQsWUFBWSxTQUVYO0lBRUQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLGtCQUVoQztJQUVELE1BQU0sZ0JBVUw7SUFFRCxNQUFNLEtBQUssTUFBTSxJQUFJLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FPMUM7SUFFRCxRQUFRLElBQUksTUFBTSxDQUVqQjtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxZQUFZLGtCQU85QztJQUdELFFBQVEsSUFBSSxFQUFFLEVBQUUsQ0FFZjtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLFdBQVcsa0JBUzNDO0lBRUQsTUFBTSxDQUFDLEtBQUssbUJBRVg7SUFFRDs7Ozs7O09BTUc7SUFDSCxNQUFNLENBQUMsZUFBZSxDQUFDLEdBQUcsRUFBRSxHQUFHLEdBQUcsY0FBYyxDQUsvQztJQUVELE9BQU8sWUFFTjtDQUNGO0FBRUQscUJBQWEsU0FBUzthQUVGLGVBQWUsRUFBRSxZQUFZO2FBQzdCLE1BQU0sRUFBRSxFQUFFLEVBQUU7SUFGOUIsWUFDa0IsZUFBZSxFQUFFLFlBQVksRUFDN0IsTUFBTSxFQUFFLEVBQUUsRUFBRSxFQUMxQjtJQUVKLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxTQUFTLENBQUMsYUFFdEM7SUFFRCxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsU0FBUyxDQUFDLGlDQUUzQztJQUVELFFBQVEsSUFBSSxFQUFFLEVBQUUsQ0FFZjtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLFdBQVcsYUFJM0M7SUFFRCxZQUFZLFdBRVg7SUFFRCxrRkFBa0Y7SUFDbEYsZ0JBQWdCLFNBR2Y7SUFFRCwwQkFBMEIsU0FFekI7SUFFRCxPQUFPLFlBRU47SUFFRCxNQUFNLENBQUMsS0FBSyxjQUVYO0lBRUQsUUFBUSxJQUFJLE1BQU0sQ0FFakI7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsWUFBWSxhQU85QztJQUVELE1BQU0sQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFLEdBQUcsR0FBRyxTQUFTLENBSzFDO0lBRUQsT0FBYSxNQUFNLHVCQUtsQjtJQUVELE1BQU0sQ0FBQyxLQUFLLEVBQUUsSUFBSSxXQU1qQjtJQUVELGVBQWUsSUFBSSxNQUFNLENBRXhCO0lBRUQsTUFBTSxLQUFLLE1BQU0sSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLENBT3JDO0lBRUQsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksTUFBTSxDQUt6QjtDQUNGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"public_log.d.ts","sourceRoot":"","sources":["../../src/logs/public_log.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,KAAK,MAAM,EAAW,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAqB,MAAM,6BAA6B,CAAC;AAE3F,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAG/B,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAOzD,qBAAa,cAAc;IAGhB,MAAM,EAAE,MAAM;IACd,OAAO,EAAE,EAAE,EAAE;IAFtB,YACS,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,EAAE,EAAE,EAQrB;IAED,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAMlC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,kBAI/D;IAED,YAAY,SAEX;IAED,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,kBAEhC;IAED,MAAM,gBAUL;IAED,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,cAAc,CAAC,CAO1C;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,kBAI9C;IAGD,QAAQ,IAAI,EAAE,EAAE,CAEf;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,kBAS3C;IAED,MAAM,CAAC,KAAK,mBAEX;IAED;;;;;;OAMG;IACH,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,cAAc,CAK/C;IAED,OAAO,YAEN;CACF;AAED,qBAAa,SAAS;aAEF,eAAe,EAAE,YAAY;aAC7B,MAAM,EAAE,EAAE,EAAE;IAF9B,YACkB,eAAe,EAAE,YAAY,EAC7B,MAAM,EAAE,EAAE,EAAE,EAC1B;IAEJ,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC,aAEtC;IAED,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC,iCAE3C;IAED,QAAQ,IAAI,EAAE,EAAE,CAEf;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,aAI3C;IAED,YAAY,WAEX;IAED,kFAAkF;IAClF,gBAAgB,SAGf;IAED,0BAA0B,SAEzB;IAED,OAAO,YAEN;IAED,MAAM,CAAC,KAAK,cAEX;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,aAI9C;IAED,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,SAAS,CAK1C;IAED,OAAa,MAAM,uBAKlB;IAED,MAAM,CAAC,KAAK,EAAE,IAAI,WAMjB;IAED,eAAe,IAAI,MAAM,CAExB;IAED,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,SAAS,CAAC,CAOrC;IAED,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAKzB;CACF"}
1
+ {"version":3,"file":"public_log.d.ts","sourceRoot":"","sources":["../../src/logs/public_log.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,KAAK,MAAM,EAAW,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAqB,MAAM,6BAA6B,CAAC;AAE3F,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAG/B,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAOzD,qBAAa,cAAc;IAGhB,MAAM,EAAE,MAAM;IACd,OAAO,EAAE,EAAE,EAAE;IAFtB,YACS,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,EAAE,EAAE,EAQrB;IAED,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAMlC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,kBAI/D;IAED,YAAY,SAEX;IAED,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,kBAEhC;IAED,MAAM,gBAUL;IAED,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,cAAc,CAAC,CAO1C;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,kBAO9C;IAGD,QAAQ,IAAI,EAAE,EAAE,CAEf;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,kBAS3C;IAED,MAAM,CAAC,KAAK,mBAEX;IAED;;;;;;OAMG;IACH,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,cAAc,CAK/C;IAED,OAAO,YAEN;CACF;AAED,qBAAa,SAAS;aAEF,eAAe,EAAE,YAAY;aAC7B,MAAM,EAAE,EAAE,EAAE;IAF9B,YACkB,eAAe,EAAE,YAAY,EAC7B,MAAM,EAAE,EAAE,EAAE,EAC1B;IAEJ,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC,aAEtC;IAED,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC,iCAE3C;IAED,QAAQ,IAAI,EAAE,EAAE,CAEf;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,aAI3C;IAED,YAAY,WAEX;IAED,kFAAkF;IAClF,gBAAgB,SAGf;IAED,0BAA0B,SAEzB;IAED,OAAO,YAEN;IAED,MAAM,CAAC,KAAK,cAEX;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,aAO9C;IAED,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,SAAS,CAK1C;IAED,OAAa,MAAM,uBAKlB;IAED,MAAM,CAAC,KAAK,EAAE,IAAI,WAMjB;IAED,eAAe,IAAI,MAAM,CAExB;IAED,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,SAAS,CAAC,CAOrC;IAED,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAKzB;CACF"}
@@ -1,5 +1,5 @@
1
1
  var _computedKey;
2
- import { FLAT_PUBLIC_LOGS_PAYLOAD_LENGTH, PUBLIC_LOG_HEADER_LENGTH } from '@aztec/constants';
2
+ import { FLAT_PUBLIC_LOGS_PAYLOAD_LENGTH, MAX_PUBLIC_LOG_SIZE_IN_FIELDS, PUBLIC_LOG_HEADER_LENGTH } from '@aztec/constants';
3
3
  import { Fr } from '@aztec/foundation/curves/bn254';
4
4
  import { schemas } from '@aztec/foundation/schemas';
5
5
  import { BufferReader, FieldReader, serializeToBuffer } from '@aztec/foundation/serialize';
@@ -66,6 +66,9 @@ export class FlatPublicLogs {
66
66
  static fromBuffer(buffer) {
67
67
  const reader = BufferReader.asReader(buffer);
68
68
  const length = reader.readNumber();
69
+ if (length > FLAT_PUBLIC_LOGS_PAYLOAD_LENGTH) {
70
+ throw new Error(`FlatPublicLogs length ${length} exceeds maximum ${FLAT_PUBLIC_LOGS_PAYLOAD_LENGTH}`);
71
+ }
69
72
  return this.fromUnpaddedPayload(reader.readArray(length, Fr));
70
73
  }
71
74
  // ToFields and fromFields expect the noir style representation, with constant length payload.
@@ -152,6 +155,9 @@ export class PublicLog {
152
155
  static fromBuffer(buffer) {
153
156
  const reader = BufferReader.asReader(buffer);
154
157
  const fieldsLength = reader.readNumber();
158
+ if (fieldsLength > MAX_PUBLIC_LOG_SIZE_IN_FIELDS) {
159
+ throw new Error(`PublicLog fields length ${fieldsLength} exceeds maximum ${MAX_PUBLIC_LOG_SIZE_IN_FIELDS}`);
160
+ }
155
161
  return new PublicLog(reader.readObject(AztecAddress), reader.readArray(fieldsLength, Fr));
156
162
  }
157
163
  static fromPlainObject(obj) {
@@ -1,17 +1,18 @@
1
- import type { GrumpkinScalar, Point } from '@aztec/foundation/curves/grumpkin';
1
+ import type { Fr } from '@aztec/foundation/curves/bn254';
2
+ import type { GrumpkinScalar } from '@aztec/foundation/curves/grumpkin';
3
+ import type { AztecAddress } from '../aztec-address/index.js';
2
4
  import type { PublicKey } from '../keys/public_key.js';
3
5
  /**
4
- * Derive an Elliptic Curve Diffie-Hellman (ECDH) Shared Secret.
5
- * The function takes in an ECDH public key, a private key, and a Grumpkin instance to compute
6
- * the shared secret.
6
+ * Derives an app-siloed ECDH shared secret.
7
+ *
8
+ * Computes the raw ECDH shared secret `S = secretKey * publicKey`, then app-silos it:
9
+ * `s_app = h(DOM_SEP__APP_SILOED_ECDH_SHARED_SECRET, S.x, S.y, contractAddress)`
7
10
  *
8
11
  * @param secretKey - The secret key used to derive shared secret.
9
12
  * @param publicKey - The public key used to derive shared secret.
10
- * @returns A derived shared secret.
13
+ * @param contractAddress - The address of the calling contract, used for app-siloing.
14
+ * @returns The app-siloed shared secret as a Field.
11
15
  * @throws If the publicKey is zero.
12
- *
13
- * TODO(#12656): This function is kept around because of the utilityGetSharedSecret oracle. Nuke this once returning
14
- * the app-siloed secret.
15
16
  */
16
- export declare function deriveEcdhSharedSecret(secretKey: GrumpkinScalar, publicKey: PublicKey): Promise<Point>;
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkX3NlY3JldF9kZXJpdmF0aW9uLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG9ncy9zaGFyZWRfc2VjcmV0X2Rlcml2YXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRS9FLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXZEOzs7Ozs7Ozs7Ozs7R0FZRztBQUNILHdCQUFnQixzQkFBc0IsQ0FBQyxTQUFTLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxTQUFTLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQU90RyJ9
17
+ export declare function deriveAppSiloedSharedSecret(secretKey: GrumpkinScalar, publicKey: PublicKey, contractAddress: AztecAddress): Promise<Fr>;
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkX3NlY3JldF9kZXJpdmF0aW9uLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG9ncy9zaGFyZWRfc2VjcmV0X2Rlcml2YXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDekQsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFeEUsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDOUQsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFdkQ7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCx3QkFBc0IsMkJBQTJCLENBQy9DLFNBQVMsRUFBRSxjQUFjLEVBQ3pCLFNBQVMsRUFBRSxTQUFTLEVBQ3BCLGVBQWUsRUFBRSxZQUFZLEdBQzVCLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FXYiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"shared_secret_derivation.d.ts","sourceRoot":"","sources":["../../src/logs/shared_secret_derivation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAE/E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,CAOtG"}
1
+ {"version":3,"file":"shared_secret_derivation.d.ts","sourceRoot":"","sources":["../../src/logs/shared_secret_derivation.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAExE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD;;;;;;;;;;;GAWG;AACH,wBAAsB,2BAA2B,CAC/C,SAAS,EAAE,cAAc,EACzB,SAAS,EAAE,SAAS,EACpB,eAAe,EAAE,YAAY,GAC5B,OAAO,CAAC,EAAE,CAAC,CAWb"}
@@ -1,19 +1,25 @@
1
+ import { DomainSeparator } from '@aztec/constants';
1
2
  import { Grumpkin } from '@aztec/foundation/crypto/grumpkin';
3
+ import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon';
2
4
  /**
3
- * Derive an Elliptic Curve Diffie-Hellman (ECDH) Shared Secret.
4
- * The function takes in an ECDH public key, a private key, and a Grumpkin instance to compute
5
- * the shared secret.
5
+ * Derives an app-siloed ECDH shared secret.
6
+ *
7
+ * Computes the raw ECDH shared secret `S = secretKey * publicKey`, then app-silos it:
8
+ * `s_app = h(DOM_SEP__APP_SILOED_ECDH_SHARED_SECRET, S.x, S.y, contractAddress)`
6
9
  *
7
10
  * @param secretKey - The secret key used to derive shared secret.
8
11
  * @param publicKey - The public key used to derive shared secret.
9
- * @returns A derived shared secret.
12
+ * @param contractAddress - The address of the calling contract, used for app-siloing.
13
+ * @returns The app-siloed shared secret as a Field.
10
14
  * @throws If the publicKey is zero.
11
- *
12
- * TODO(#12656): This function is kept around because of the utilityGetSharedSecret oracle. Nuke this once returning
13
- * the app-siloed secret.
14
- */ export function deriveEcdhSharedSecret(secretKey, publicKey) {
15
+ */ export async function deriveAppSiloedSharedSecret(secretKey, publicKey, contractAddress) {
15
16
  if (publicKey.isZero()) {
16
17
  throw new Error(`Attempting to derive a shared secret with a zero public key. You have probably passed a zero public key in your Noir code somewhere thinking that the note won't be broadcast... but it was.`);
17
18
  }
18
- return Grumpkin.mul(publicKey, secretKey);
19
+ const rawSharedSecret = await Grumpkin.mul(publicKey, secretKey);
20
+ return poseidon2HashWithSeparator([
21
+ rawSharedSecret.x,
22
+ rawSharedSecret.y,
23
+ contractAddress
24
+ ], DomainSeparator.APP_SILOED_ECDH_SHARED_SECRET);
19
25
  }
@@ -16,10 +16,13 @@ export declare class SiloedTag {
16
16
  readonly value: Fr;
17
17
  constructor(value: Fr);
18
18
  static compute(preTag: PreTag): Promise<SiloedTag>;
19
+ /**
20
+ * Unlike `compute`, this expects a tag whose value is already domain-separated.
21
+ */
19
22
  static computeFromTagAndApp(tag: Tag, app: AztecAddress): Promise<SiloedTag>;
20
23
  toString(): string;
21
24
  toJSON(): string;
22
25
  equals(other: SiloedTag): boolean;
23
26
  static get schema(): ZodFor<SiloedTag>;
24
27
  }
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lsb2VkX3RhZy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xvZ3Mvc2lsb2VkX3RhZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUV4RCxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUc5RCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDM0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUkvQiwrREFBK0Q7QUFDL0QsTUFBTSxXQUFXLFNBQVM7SUFDeEIsYUFBYTtJQUNiLFNBQVMsRUFBRSxXQUFXLENBQUM7Q0FDeEI7QUFFRDs7O0dBR0c7QUFDSCxxQkFBYSxTQUFTO2FBQ1EsS0FBSyxFQUFFLEVBQUU7SUFBckMsWUFBNEIsS0FBSyxFQUFFLEVBQUUsRUFBSTtJQUV6QyxPQUFhLE9BQU8sQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FHdkQ7SUFFRCxPQUFhLG9CQUFvQixDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLFlBQVksR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBR2pGO0lBRUQsUUFBUSxJQUFJLE1BQU0sQ0FFakI7SUFFRCxNQUFNLElBQUksTUFBTSxDQUVmO0lBRUQsTUFBTSxDQUFDLEtBQUssRUFBRSxTQUFTLEdBQUcsT0FBTyxDQUVoQztJQUVELE1BQU0sS0FBSyxNQUFNLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUVyQztDQUNGIn0=
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lsb2VkX3RhZy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xvZ3Mvc2lsb2VkX3RhZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUV4RCxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUc5RCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDM0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUkvQiwrREFBK0Q7QUFDL0QsTUFBTSxXQUFXLFNBQVM7SUFDeEIsYUFBYTtJQUNiLFNBQVMsRUFBRSxXQUFXLENBQUM7Q0FDeEI7QUFFRDs7O0dBR0c7QUFDSCxxQkFBYSxTQUFTO2FBQ1EsS0FBSyxFQUFFLEVBQUU7SUFBckMsWUFBNEIsS0FBSyxFQUFFLEVBQUUsRUFBSTtJQUV6QyxPQUFhLE9BQU8sQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FJdkQ7SUFFRDs7T0FFRztJQUNILE9BQWEsb0JBQW9CLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsWUFBWSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FHakY7SUFFRCxRQUFRLElBQUksTUFBTSxDQUVqQjtJQUVELE1BQU0sSUFBSSxNQUFNLENBRWY7SUFFRCxNQUFNLENBQUMsS0FBSyxFQUFFLFNBQVMsR0FBRyxPQUFPLENBRWhDO0lBRUQsTUFBTSxLQUFLLE1BQU0sSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLENBRXJDO0NBQ0YifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"siloed_tag.d.ts","sourceRoot":"","sources":["../../src/logs/siloed_tag.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAExD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAG9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAI/B,+DAA+D;AAC/D,MAAM,WAAW,SAAS;IACxB,aAAa;IACb,SAAS,EAAE,WAAW,CAAC;CACxB;AAED;;;GAGG;AACH,qBAAa,SAAS;aACQ,KAAK,EAAE,EAAE;IAArC,YAA4B,KAAK,EAAE,EAAE,EAAI;IAEzC,OAAa,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAGvD;IAED,OAAa,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,CAGjF;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,MAAM,IAAI,MAAM,CAEf;IAED,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAEhC;IAED,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,SAAS,CAAC,CAErC;CACF"}
1
+ {"version":3,"file":"siloed_tag.d.ts","sourceRoot":"","sources":["../../src/logs/siloed_tag.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAExD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAG9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAI/B,+DAA+D;AAC/D,MAAM,WAAW,SAAS;IACxB,aAAa;IACb,SAAS,EAAE,WAAW,CAAC;CACxB;AAED;;;GAGG;AACH,qBAAa,SAAS;aACQ,KAAK,EAAE,EAAE;IAArC,YAA4B,KAAK,EAAE,EAAE,EAAI;IAEzC,OAAa,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAIvD;IAED;;OAEG;IACH,OAAa,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,CAGjF;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,MAAM,IAAI,MAAM,CAEf;IAED,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAEhC;IAED,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,SAAS,CAAC,CAErC;CACF"}
@@ -1,4 +1,5 @@
1
- import { computeSiloedPrivateLogFirstField } from '../hash/hash.js';
1
+ import { DomainSeparator } from '@aztec/constants';
2
+ import { computeLogTag, computeSiloedPrivateLogFirstField } from '../hash/hash.js';
2
3
  import { schemas } from '../schemas/schemas.js';
3
4
  import { Tag } from './tag.js';
4
5
  /**
@@ -11,9 +12,12 @@ import { Tag } from './tag.js';
11
12
  }
12
13
  static async compute(preTag) {
13
14
  const tag = await Tag.compute(preTag);
14
- return SiloedTag.computeFromTagAndApp(tag, preTag.extendedSecret.app);
15
+ const logTag = await computeLogTag(tag.value, DomainSeparator.UNCONSTRAINED_MSG_LOG_TAG);
16
+ return SiloedTag.computeFromTagAndApp(new Tag(logTag), preTag.extendedSecret.app);
15
17
  }
16
- static async computeFromTagAndApp(tag, app) {
18
+ /**
19
+ * Unlike `compute`, this expects a tag whose value is already domain-separated.
20
+ */ static async computeFromTagAndApp(tag, app) {
17
21
  const siloedTag = await computeSiloedPrivateLogFirstField(app, tag.value);
18
22
  return new SiloedTag(siloedTag);
19
23
  }
@@ -0,0 +1,40 @@
1
+ import { z } from 'zod';
2
+ import { type ExtendedDirectionalAppTaggingSecret } from './extended_directional_app_tagging_secret.js';
3
+ /**
4
+ * Represents a range of tagging indexes for a given extended directional app tagging secret. Used to track the lowest
5
+ * and highest indexes used in a transaction for a given (sender, recipient, app/contract) tuple.
6
+ */
7
+ export type TaggingIndexRange = {
8
+ extendedSecret: ExtendedDirectionalAppTaggingSecret;
9
+ lowestIndex: number;
10
+ highestIndex: number;
11
+ };
12
+ export declare const TaggingIndexRangeSchema: z.ZodObject<{
13
+ extendedSecret: z.ZodObject<{
14
+ secret: z.ZodType<import("@aztec/foundation/schemas").Fr, any, string>;
15
+ app: import("@aztec/foundation/schemas").ZodFor<import("../aztec-address/index.js").AztecAddress>;
16
+ }, "strip", z.ZodTypeAny, {
17
+ secret: import("@aztec/foundation/schemas").Fr;
18
+ app: import("../aztec-address/index.js").AztecAddress;
19
+ }, {
20
+ secret: string;
21
+ app?: any;
22
+ }>;
23
+ lowestIndex: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>;
24
+ highestIndex: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>;
25
+ }, "strip", z.ZodTypeAny, {
26
+ extendedSecret: {
27
+ secret: import("@aztec/foundation/schemas").Fr;
28
+ app: import("../aztec-address/index.js").AztecAddress;
29
+ };
30
+ lowestIndex: number;
31
+ highestIndex: number;
32
+ }, {
33
+ extendedSecret: {
34
+ secret: string;
35
+ app?: any;
36
+ };
37
+ lowestIndex: string | number | bigint;
38
+ highestIndex: string | number | bigint;
39
+ }>;
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnZ2luZ19pbmRleF9yYW5nZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xvZ3MvdGFnZ2luZ19pbmRleF9yYW5nZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXhCLE9BQU8sRUFDTCxLQUFLLG1DQUFtQyxFQUV6QyxNQUFNLDhDQUE4QyxDQUFDO0FBRXREOzs7R0FHRztBQUNILE1BQU0sTUFBTSxpQkFBaUIsR0FBRztJQUM5QixjQUFjLEVBQUUsbUNBQW1DLENBQUM7SUFDcEQsV0FBVyxFQUFFLE1BQU0sQ0FBQztJQUNwQixZQUFZLEVBQUUsTUFBTSxDQUFDO0NBQ3RCLENBQUM7QUFFRixlQUFPLE1BQU0sdUJBQXVCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFJbEMsQ0FBQyJ9
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tagging_index_range.d.ts","sourceRoot":"","sources":["../../src/logs/tagging_index_range.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,KAAK,mCAAmC,EAEzC,MAAM,8CAA8C,CAAC;AAEtD;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,cAAc,EAAE,mCAAmC,CAAC;IACpD,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;EAIlC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { schemas } from '@aztec/foundation/schemas';
2
+ import { z } from 'zod';
3
+ import { ExtendedDirectionalAppTaggingSecretSchema } from './extended_directional_app_tagging_secret.js';
4
+ export const TaggingIndexRangeSchema = z.object({
5
+ extendedSecret: ExtendedDirectionalAppTaggingSecretSchema,
6
+ lowestIndex: schemas.Integer,
7
+ highestIndex: schemas.Integer
8
+ });
@@ -3,6 +3,7 @@ import { Fr } from '@aztec/foundation/curves/bn254';
3
3
  import { BufferReader } from '@aztec/foundation/serialize';
4
4
  import { SiblingPath } from '@aztec/foundation/trees';
5
5
  import type { AztecAddress } from '../aztec-address/index.js';
6
+ import type { BlockParameter } from '../block/block_parameter.js';
6
7
  import type { AztecNode } from '../interfaces/aztec-node.js';
7
8
  import { L1Actor } from './l1_actor.js';
8
9
  import { L2Actor } from './l2_actor.js';
@@ -44,5 +45,5 @@ export declare class L1ToL2Message {
44
45
  static empty(): L1ToL2Message;
45
46
  static random(): Promise<L1ToL2Message>;
46
47
  }
47
- export declare function getNonNullifiedL1ToL2MessageWitness(node: AztecNode, contractAddress: AztecAddress, messageHash: Fr, secret: Fr): Promise<[bigint, SiblingPath<typeof L1_TO_L2_MSG_TREE_HEIGHT>]>;
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDFfdG9fbDJfbWVzc2FnZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21lc3NhZ2luZy9sMV90b19sMl9tZXNzYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFakUsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxZQUFZLEVBQXFCLE1BQU0sNkJBQTZCLENBQUM7QUFFOUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXRELE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTlELE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTdELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV4Qzs7R0FFRztBQUNILHFCQUFhLGFBQWE7SUFFdEIsdUNBQXVDO2FBQ3ZCLE1BQU0sRUFBRSxPQUFPO0lBQy9CLDBDQUEwQzthQUMxQixTQUFTLEVBQUUsT0FBTztJQUNsQywyQkFBMkI7YUFDWCxPQUFPLEVBQUUsRUFBRTtJQUMzQix1Q0FBdUM7YUFDdkIsVUFBVSxFQUFFLEVBQUU7SUFDOUIsZ0RBQWdEO2FBQ2hDLEtBQUssRUFBRSxFQUFFO0lBVjNCO0lBQ0UsdUNBQXVDO0lBQ3ZCLE1BQU0sRUFBRSxPQUFPO0lBQy9CLDBDQUEwQztJQUMxQixTQUFTLEVBQUUsT0FBTztJQUNsQywyQkFBMkI7SUFDWCxPQUFPLEVBQUUsRUFBRTtJQUMzQix1Q0FBdUM7SUFDdkIsVUFBVSxFQUFFLEVBQUU7SUFDOUIsZ0RBQWdEO0lBQ2hDLEtBQUssRUFBRSxFQUFFLEVBQ3ZCO0lBRUo7OztPQUdHO0lBQ0gsUUFBUSxJQUFJLEVBQUUsRUFBRSxDQUVmO0lBRUQsUUFBUSxJQUFJLE1BQU0sQ0FFakI7SUFFRCxJQUFJLElBQUksRUFBRSxDQUVUO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLFlBQVksR0FBRyxhQUFhLENBUTlEO0lBRUQsUUFBUSxJQUFJLE1BQU0sQ0FFakI7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxNQUFNLEdBQUcsYUFBYSxDQUc3QztJQUVELE1BQU0sQ0FBQyxLQUFLLElBQUksYUFBYSxDQUU1QjtJQUVELE9BQWEsTUFBTSxJQUFJLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FFNUM7Q0FDRjtBQUdELHdCQUFzQixtQ0FBbUMsQ0FDdkQsSUFBSSxFQUFFLFNBQVMsRUFDZixlQUFlLEVBQUUsWUFBWSxFQUM3QixXQUFXLEVBQUUsRUFBRSxFQUNmLE1BQU0sRUFBRSxFQUFFLEdBQ1QsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxPQUFPLHdCQUF3QixDQUFDLENBQUMsQ0FBQyxDQWdCakUifQ==
48
+ export declare function getNonNullifiedL1ToL2MessageWitness(node: AztecNode, contractAddress: AztecAddress, messageHash: Fr, secret: Fr, referenceBlock?: BlockParameter): Promise<[bigint, SiblingPath<typeof L1_TO_L2_MSG_TREE_HEIGHT>]>;
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDFfdG9fbDJfbWVzc2FnZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21lc3NhZ2luZy9sMV90b19sMl9tZXNzYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFakUsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxZQUFZLEVBQXFCLE1BQU0sNkJBQTZCLENBQUM7QUFFOUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXRELE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRWxFLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTdELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV4Qzs7R0FFRztBQUNILHFCQUFhLGFBQWE7SUFFdEIsdUNBQXVDO2FBQ3ZCLE1BQU0sRUFBRSxPQUFPO0lBQy9CLDBDQUEwQzthQUMxQixTQUFTLEVBQUUsT0FBTztJQUNsQywyQkFBMkI7YUFDWCxPQUFPLEVBQUUsRUFBRTtJQUMzQix1Q0FBdUM7YUFDdkIsVUFBVSxFQUFFLEVBQUU7SUFDOUIsZ0RBQWdEO2FBQ2hDLEtBQUssRUFBRSxFQUFFO0lBVjNCO0lBQ0UsdUNBQXVDO0lBQ3ZCLE1BQU0sRUFBRSxPQUFPO0lBQy9CLDBDQUEwQztJQUMxQixTQUFTLEVBQUUsT0FBTztJQUNsQywyQkFBMkI7SUFDWCxPQUFPLEVBQUUsRUFBRTtJQUMzQix1Q0FBdUM7SUFDdkIsVUFBVSxFQUFFLEVBQUU7SUFDOUIsZ0RBQWdEO0lBQ2hDLEtBQUssRUFBRSxFQUFFLEVBQ3ZCO0lBRUo7OztPQUdHO0lBQ0gsUUFBUSxJQUFJLEVBQUUsRUFBRSxDQUVmO0lBRUQsUUFBUSxJQUFJLE1BQU0sQ0FFakI7SUFFRCxJQUFJLElBQUksRUFBRSxDQUVUO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLFlBQVksR0FBRyxhQUFhLENBUTlEO0lBRUQsUUFBUSxJQUFJLE1BQU0sQ0FFakI7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxNQUFNLEdBQUcsYUFBYSxDQUc3QztJQUVELE1BQU0sQ0FBQyxLQUFLLElBQUksYUFBYSxDQUU1QjtJQUVELE9BQWEsTUFBTSxJQUFJLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FFNUM7Q0FDRjtBQUdELHdCQUFzQixtQ0FBbUMsQ0FDdkQsSUFBSSxFQUFFLFNBQVMsRUFDZixlQUFlLEVBQUUsWUFBWSxFQUM3QixXQUFXLEVBQUUsRUFBRSxFQUNmLE1BQU0sRUFBRSxFQUFFLEVBQ1YsY0FBYyxHQUFFLGNBQXlCLEdBQ3hDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsT0FBTyx3QkFBd0IsQ0FBQyxDQUFDLENBQUMsQ0FpQmpFIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"l1_to_l2_message.d.ts","sourceRoot":"","sources":["../../src/messaging/l1_to_l2_message.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAEjE,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAE9E,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAE7D,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC;;GAEG;AACH,qBAAa,aAAa;IAEtB,uCAAuC;aACvB,MAAM,EAAE,OAAO;IAC/B,0CAA0C;aAC1B,SAAS,EAAE,OAAO;IAClC,2BAA2B;aACX,OAAO,EAAE,EAAE;IAC3B,uCAAuC;aACvB,UAAU,EAAE,EAAE;IAC9B,gDAAgD;aAChC,KAAK,EAAE,EAAE;IAV3B;IACE,uCAAuC;IACvB,MAAM,EAAE,OAAO;IAC/B,0CAA0C;IAC1B,SAAS,EAAE,OAAO;IAClC,2BAA2B;IACX,OAAO,EAAE,EAAE;IAC3B,uCAAuC;IACvB,UAAU,EAAE,EAAE;IAC9B,gDAAgD;IAChC,KAAK,EAAE,EAAE,EACvB;IAEJ;;;OAGG;IACH,QAAQ,IAAI,EAAE,EAAE,CAEf;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,IAAI,IAAI,EAAE,CAET;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,aAAa,CAQ9D;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAG7C;IAED,MAAM,CAAC,KAAK,IAAI,aAAa,CAE5B;IAED,OAAa,MAAM,IAAI,OAAO,CAAC,aAAa,CAAC,CAE5C;CACF;AAGD,wBAAsB,mCAAmC,CACvD,IAAI,EAAE,SAAS,EACf,eAAe,EAAE,YAAY,EAC7B,WAAW,EAAE,EAAE,EACf,MAAM,EAAE,EAAE,GACT,OAAO,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,wBAAwB,CAAC,CAAC,CAAC,CAgBjE"}
1
+ {"version":3,"file":"l1_to_l2_message.d.ts","sourceRoot":"","sources":["../../src/messaging/l1_to_l2_message.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAEjE,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAE9E,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAElE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAE7D,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC;;GAEG;AACH,qBAAa,aAAa;IAEtB,uCAAuC;aACvB,MAAM,EAAE,OAAO;IAC/B,0CAA0C;aAC1B,SAAS,EAAE,OAAO;IAClC,2BAA2B;aACX,OAAO,EAAE,EAAE;IAC3B,uCAAuC;aACvB,UAAU,EAAE,EAAE;IAC9B,gDAAgD;aAChC,KAAK,EAAE,EAAE;IAV3B;IACE,uCAAuC;IACvB,MAAM,EAAE,OAAO;IAC/B,0CAA0C;IAC1B,SAAS,EAAE,OAAO;IAClC,2BAA2B;IACX,OAAO,EAAE,EAAE;IAC3B,uCAAuC;IACvB,UAAU,EAAE,EAAE;IAC9B,gDAAgD;IAChC,KAAK,EAAE,EAAE,EACvB;IAEJ;;;OAGG;IACH,QAAQ,IAAI,EAAE,EAAE,CAEf;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,IAAI,IAAI,EAAE,CAET;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,aAAa,CAQ9D;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAG7C;IAED,MAAM,CAAC,KAAK,IAAI,aAAa,CAE5B;IAED,OAAa,MAAM,IAAI,OAAO,CAAC,aAAa,CAAC,CAE5C;CACF;AAGD,wBAAsB,mCAAmC,CACvD,IAAI,EAAE,SAAS,EACf,eAAe,EAAE,YAAY,EAC7B,WAAW,EAAE,EAAE,EACf,MAAM,EAAE,EAAE,EACV,cAAc,GAAE,cAAyB,GACxC,OAAO,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,wBAAwB,CAAC,CAAC,CAAC,CAiBjE"}
@@ -63,21 +63,19 @@ import { L2Actor } from './l2_actor.js';
63
63
  }
64
64
  }
65
65
  // This functionality is not on the node because we do not want to pass the node the secret, and give the node the ability to derive a valid nullifer for an L1 to L2 message.
66
- export async function getNonNullifiedL1ToL2MessageWitness(node, contractAddress, messageHash, secret) {
67
- const response = await node.getL1ToL2MessageMembershipWitness('latest', messageHash);
68
- if (!response) {
69
- throw new Error(`No L1 to L2 message found for message hash ${messageHash.toString()}`);
70
- }
71
- const [messageIndex, siblingPath] = response;
66
+ export async function getNonNullifiedL1ToL2MessageWitness(node, contractAddress, messageHash, secret, referenceBlock = 'latest') {
72
67
  const messageNullifier = await computeL1ToL2MessageNullifier(contractAddress, messageHash, secret);
73
- const [nullifierIndex] = await node.findLeavesIndexes('latest', MerkleTreeId.NULLIFIER_TREE, [
74
- messageNullifier
68
+ const [l1ToL2Response, nullifierResponse] = await Promise.all([
69
+ node.getL1ToL2MessageMembershipWitness(referenceBlock, messageHash),
70
+ node.findLeavesIndexes(referenceBlock, MerkleTreeId.NULLIFIER_TREE, [
71
+ messageNullifier
72
+ ])
75
73
  ]);
76
- if (nullifierIndex !== undefined) {
74
+ if (!l1ToL2Response) {
75
+ throw new Error(`No L1 to L2 message found for message hash ${messageHash.toString()}`);
76
+ }
77
+ if (nullifierResponse[0] !== undefined) {
77
78
  throw new Error(`No non-nullified L1 to L2 message found for message hash ${messageHash.toString()}`);
78
79
  }
79
- return [
80
- messageIndex,
81
- siblingPath
82
- ];
80
+ return l1ToL2Response;
83
81
  }
@@ -9,7 +9,7 @@ export declare const AZTEC_VIEW_ATTRIBUTE = "abi_view";
9
9
  export interface NoirFunctionAbi {
10
10
  /** The parameters of the function. */
11
11
  parameters: ABIParameter[];
12
- /** The return type of the function. */
12
+ /** The return type of the function, or null for void functions. */
13
13
  return_type: {
14
14
  /**
15
15
  * The type of the return value.
@@ -19,7 +19,7 @@ export interface NoirFunctionAbi {
19
19
  * The visibility of the return value.
20
20
  */
21
21
  visibility: ABIParameterVisibility;
22
- };
22
+ } | null;
23
23
  /** Mapping of error selector => error type */
24
24
  error_types: Partial<Record<string, AbiErrorType>>;
25
25
  }
@@ -142,4 +142,4 @@ export declare function isNoirContractCompilationArtifacts(artifact: NoirCompila
142
142
  */
143
143
  export declare function isNoirProgramCompilationArtifacts(artifact: NoirCompilationResult): artifact is NoirProgramCompilationArtifacts;
144
144
  export {};
145
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ub2lyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUNWLFlBQVksRUFDWixzQkFBc0IsRUFDdEIsWUFBWSxFQUNaLE9BQU8sRUFDUCxRQUFRLEVBQ1IsWUFBWSxFQUNaLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUV2QixlQUFPLE1BQU0sdUJBQXVCLGdCQUFnQixDQUFDO0FBQ3JELGVBQU8sTUFBTSxzQkFBc0IsZUFBZSxDQUFDO0FBQ25ELGVBQU8sTUFBTSx1QkFBdUIsZ0JBQWdCLENBQUM7QUFDckQsZUFBTyxNQUFNLHlCQUF5QixrQkFBa0IsQ0FBQztBQUN6RCxlQUFPLE1BQU0sMkJBQTJCLG9CQUFvQixDQUFDO0FBQzdELGVBQU8sTUFBTSxvQkFBb0IsYUFBYSxDQUFDO0FBRS9DLHVDQUF1QztBQUN2QyxNQUFNLFdBQVcsZUFBZTtJQUM5QixzQ0FBc0M7SUFDdEMsVUFBVSxFQUFFLFlBQVksRUFBRSxDQUFDO0lBQzNCLHVDQUF1QztJQUN2QyxXQUFXLEVBQUU7UUFDWDs7V0FFRztRQUNILFFBQVEsRUFBRSxPQUFPLENBQUM7UUFDbEI7O1dBRUc7UUFDSCxVQUFVLEVBQUUsc0JBQXNCLENBQUM7S0FDcEMsQ0FBQztJQUNGLDhDQUE4QztJQUM5QyxXQUFXLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQztDQUNwRDtBQUVEOztHQUVHO0FBQ0gsVUFBVSxpQkFBaUI7SUFDekIsZ0NBQWdDO0lBQ2hDLElBQUksRUFBRSxNQUFNLENBQUM7SUFDYiw2Q0FBNkM7SUFDN0MsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDO0lBQzFCLDZDQUE2QztJQUM3QyxpQkFBaUIsRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUM1QiwrQkFBK0I7SUFDL0IsR0FBRyxFQUFFLGVBQWUsQ0FBQztJQUNyQiw4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
145
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ub2lyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUNWLFlBQVksRUFDWixzQkFBc0IsRUFDdEIsWUFBWSxFQUNaLE9BQU8sRUFDUCxRQUFRLEVBQ1IsWUFBWSxFQUNaLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUV2QixlQUFPLE1BQU0sdUJBQXVCLGdCQUFnQixDQUFDO0FBQ3JELGVBQU8sTUFBTSxzQkFBc0IsZUFBZSxDQUFDO0FBQ25ELGVBQU8sTUFBTSx1QkFBdUIsZ0JBQWdCLENBQUM7QUFDckQsZUFBTyxNQUFNLHlCQUF5QixrQkFBa0IsQ0FBQztBQUN6RCxlQUFPLE1BQU0sMkJBQTJCLG9CQUFvQixDQUFDO0FBQzdELGVBQU8sTUFBTSxvQkFBb0IsYUFBYSxDQUFDO0FBRS9DLHVDQUF1QztBQUN2QyxNQUFNLFdBQVcsZUFBZTtJQUM5QixzQ0FBc0M7SUFDdEMsVUFBVSxFQUFFLFlBQVksRUFBRSxDQUFDO0lBQzNCLG1FQUFtRTtJQUNuRSxXQUFXLEVBQUU7UUFDWDs7V0FFRztRQUNILFFBQVEsRUFBRSxPQUFPLENBQUM7UUFDbEI7O1dBRUc7UUFDSCxVQUFVLEVBQUUsc0JBQXNCLENBQUM7S0FDcEMsR0FBRyxJQUFJLENBQUM7SUFDVCw4Q0FBOEM7SUFDOUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUM7Q0FDcEQ7QUFFRDs7R0FFRztBQUNILFVBQVUsaUJBQWlCO0lBQ3pCLGdDQUFnQztJQUNoQyxJQUFJLEVBQUUsTUFBTSxDQUFDO0lBQ2IsNkNBQTZDO0lBQzdDLGdCQUFnQixFQUFFLE9BQU8sQ0FBQztJQUMxQiw2Q0FBNkM7SUFDN0MsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLENBQUM7SUFDNUIsK0JBQStCO0lBQy9CLEdBQUcsRUFBRSxlQUFlLENB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
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/noir/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/noir/index.ts"],"names":[],"mappings":"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"}
@@ -31,7 +31,7 @@ export class ParityBasePrivateInputs {
31
31
  * @param buffer - The buffer to deserialize from.
32
32
  */ static fromBuffer(buffer) {
33
33
  const reader = BufferReader.asReader(buffer);
34
- return new ParityBasePrivateInputs(reader.readArray(NUM_MSGS_PER_BASE_PARITY, Fr), Fr.fromBuffer(reader));
34
+ return new ParityBasePrivateInputs(reader.readTuple(NUM_MSGS_PER_BASE_PARITY, Fr), Fr.fromBuffer(reader));
35
35
  }
36
36
  /**
37
37
  * Deserializes the inputs from a hex string.
@@ -25,4 +25,4 @@ export declare class ChonkProofWithPublicInputs {
25
25
  toBuffer(): Buffer<ArrayBufferLike>;
26
26
  static fromBufferArray(fields: Uint8Array[]): ChonkProofWithPublicInputs;
27
27
  }
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvbmtfcHJvb2YuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm9vZnMvY2hvbmtfcHJvb2YudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBELE9BQU8sRUFBRSxZQUFZLEVBQXFCLE1BQU0sNkJBQTZCLENBQUM7QUFHOUUscUJBQWEsVUFBVTtJQUtaLE1BQU0sRUFBRSxFQUFFLEVBQUU7SUFKckIsWUFJUyxNQUFNLEVBQUUsRUFBRSxFQUFFLEVBS3BCO0lBRU0sa0JBQWtCLENBQUMsWUFBWSxFQUFFLEVBQUUsRUFBRSw4QkFFM0M7SUFFTSxPQUFPLFlBRWI7SUFFRCxNQUFNLENBQUMsS0FBSyxlQUVYO0lBRUQsTUFBTSxDQUFDLE1BQU0sZUFZWjtJQUVELE1BQU0sS0FBSyxNQUFNLG1EQUVoQjtJQUdELE1BQU0sNEJBRUw7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsWUFBWSxHQUFHLFVBQVUsQ0FLM0Q7SUFFTSxRQUFRLDRCQUVkO0NBQ0Y7QUFFRCxxQkFBYSwwQkFBMEI7SUFJNUIsc0JBQXNCLEVBQUUsRUFBRSxFQUFFO0lBSHJDLFlBR1Msc0JBQXNCLEVBQUUsRUFBRSxFQUFFLEVBS3BDO0lBRU0sZUFBZSxTQUdyQjtJQUVNLGtCQUFrQixlQUd4QjtJQUVNLE9BQU8sWUFFYjtJQUVELE1BQU0sQ0FBQyxLQUFLLCtCQUVYO0lBRUQsTUFBTSxLQUFLLE1BQU0sbUVBRWhCO0lBR0QsTUFBTSw0QkFFTDtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxZQUFZLEdBQUcsMEJBQTBCLENBSzNFO0lBRU0sUUFBUSw0QkFFZDtJQUdELE1BQU0sQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxHQUFHLDBCQUEwQixDQUd2RTtDQUNGIn0=
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvbmtfcHJvb2YuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm9vZnMvY2hvbmtfcHJvb2YudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBELE9BQU8sRUFBRSxZQUFZLEVBQXFCLE1BQU0sNkJBQTZCLENBQUM7QUFHOUUscUJBQWEsVUFBVTtJQUtaLE1BQU0sRUFBRSxFQUFFLEVBQUU7SUFKckIsWUFJUyxNQUFNLEVBQUUsRUFBRSxFQUFFLEVBS3BCO0lBRU0sa0JBQWtCLENBQUMsWUFBWSxFQUFFLEVBQUUsRUFBRSw4QkFFM0M7SUFFTSxPQUFPLFlBRWI7SUFFRCxNQUFNLENBQUMsS0FBSyxlQUVYO0lBRUQsTUFBTSxDQUFDLE1BQU0sZUFZWjtJQUVELE1BQU0sS0FBSyxNQUFNLG1EQUVoQjtJQUdELE1BQU0sNEJBRUw7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsWUFBWSxHQUFHLFVBQVUsQ0FRM0Q7SUFFTSxRQUFRLDRCQUVkO0NBQ0Y7QUFFRCxxQkFBYSwwQkFBMEI7SUFJNUIsc0JBQXNCLEVBQUUsRUFBRSxFQUFFO0lBSHJDLFlBR1Msc0JBQXNCLEVBQUUsRUFBRSxFQUFFLEVBS3BDO0lBRU0sZUFBZSxTQUdyQjtJQUVNLGtCQUFrQixlQUd4QjtJQUVNLE9BQU8sWUFFYjtJQUVELE1BQU0sQ0FBQyxLQUFLLCtCQUVYO0lBRUQsTUFBTSxLQUFLLE1BQU0sbUVBRWhCO0lBR0QsTUFBTSw0QkFFTDtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxZQUFZLEdBQUcsMEJBQTBCLENBVTNFO0lBRU0sUUFBUSw0QkFFZDtJQUdELE1BQU0sQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxHQUFHLDBCQUEwQixDQUd2RTtDQUNGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"chonk_proof.d.ts","sourceRoot":"","sources":["../../src/proofs/chonk_proof.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAG9E,qBAAa,UAAU;IAKZ,MAAM,EAAE,EAAE,EAAE;IAJrB,YAIS,MAAM,EAAE,EAAE,EAAE,EAKpB;IAEM,kBAAkB,CAAC,YAAY,EAAE,EAAE,EAAE,8BAE3C;IAEM,OAAO,YAEb;IAED,MAAM,CAAC,KAAK,eAEX;IAED,MAAM,CAAC,MAAM,eAYZ;IAED,MAAM,KAAK,MAAM,mDAEhB;IAGD,MAAM,4BAEL;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,UAAU,CAK3D;IAEM,QAAQ,4BAEd;CACF;AAED,qBAAa,0BAA0B;IAI5B,sBAAsB,EAAE,EAAE,EAAE;IAHrC,YAGS,sBAAsB,EAAE,EAAE,EAAE,EAKpC;IAEM,eAAe,SAGrB;IAEM,kBAAkB,eAGxB;IAEM,OAAO,YAEb;IAED,MAAM,CAAC,KAAK,+BAEX;IAED,MAAM,KAAK,MAAM,mEAEhB;IAGD,MAAM,4BAEL;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,0BAA0B,CAK3E;IAEM,QAAQ,4BAEd;IAGD,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,0BAA0B,CAGvE;CACF"}
1
+ {"version":3,"file":"chonk_proof.d.ts","sourceRoot":"","sources":["../../src/proofs/chonk_proof.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAG9E,qBAAa,UAAU;IAKZ,MAAM,EAAE,EAAE,EAAE;IAJrB,YAIS,MAAM,EAAE,EAAE,EAAE,EAKpB;IAEM,kBAAkB,CAAC,YAAY,EAAE,EAAE,EAAE,8BAE3C;IAEM,OAAO,YAEb;IAED,MAAM,CAAC,KAAK,eAEX;IAED,MAAM,CAAC,MAAM,eAYZ;IAED,MAAM,KAAK,MAAM,mDAEhB;IAGD,MAAM,4BAEL;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,UAAU,CAQ3D;IAEM,QAAQ,4BAEd;CACF;AAED,qBAAa,0BAA0B;IAI5B,sBAAsB,EAAE,EAAE,EAAE;IAHrC,YAGS,sBAAsB,EAAE,EAAE,EAAE,EAKpC;IAEM,eAAe,SAGrB;IAEM,kBAAkB,eAGxB;IAEM,OAAO,YAEb;IAED,MAAM,CAAC,KAAK,+BAEX;IAED,MAAM,KAAK,MAAM,mEAEhB;IAGD,MAAM,4BAEL;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,0BAA0B,CAU3E;IAEM,QAAQ,4BAEd;IAGD,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,0BAA0B,CAGvE;CACF"}
@@ -51,7 +51,10 @@ export class ChonkProof {
51
51
  static fromBuffer(buffer) {
52
52
  const reader = BufferReader.asReader(buffer);
53
53
  const proofLength = reader.readNumber();
54
- const proof = reader.readArray(proofLength, Fr);
54
+ if (proofLength !== CHONK_PROOF_LENGTH) {
55
+ throw new Error(`Invalid ChonkProof length from buffer: ${proofLength}, expected ${CHONK_PROOF_LENGTH}`);
56
+ }
57
+ const proof = reader.readArray(CHONK_PROOF_LENGTH, Fr);
55
58
  return new ChonkProof(proof);
56
59
  }
57
60
  toBuffer() {
@@ -92,6 +95,9 @@ export class ChonkProofWithPublicInputs {
92
95
  static fromBuffer(buffer) {
93
96
  const reader = BufferReader.asReader(buffer);
94
97
  const proofLength = reader.readNumber();
98
+ if (proofLength < CHONK_PROOF_LENGTH) {
99
+ throw new Error(`Invalid ChonkProofWithPublicInputs length from buffer: ${proofLength}, expected at least ${CHONK_PROOF_LENGTH}`);
100
+ }
95
101
  const proof = reader.readArray(proofLength, Fr);
96
102
  return new ChonkProofWithPublicInputs(proof);
97
103
  }