@aztec/stdlib 0.0.1-commit.8f9871590 → 0.0.1-commit.9117c5f5a

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 (235) hide show
  1. package/dest/abi/decoder.d.ts +1 -1
  2. package/dest/abi/decoder.d.ts.map +1 -1
  3. package/dest/abi/decoder.js +1 -4
  4. package/dest/abi/encoder.d.ts +1 -1
  5. package/dest/abi/encoder.d.ts.map +1 -1
  6. package/dest/abi/encoder.js +9 -5
  7. package/dest/auth_witness/auth_witness.js +3 -3
  8. package/dest/avm/avm.d.ts +300 -300
  9. package/dest/avm/avm_proving_request.d.ts +166 -166
  10. package/dest/avm/revert_code.d.ts +16 -1
  11. package/dest/avm/revert_code.d.ts.map +1 -1
  12. package/dest/avm/revert_code.js +15 -5
  13. package/dest/block/block_data.d.ts +52 -0
  14. package/dest/block/block_data.d.ts.map +1 -0
  15. package/dest/block/block_data.js +12 -0
  16. package/dest/block/index.d.ts +2 -1
  17. package/dest/block/index.d.ts.map +1 -1
  18. package/dest/block/index.js +1 -0
  19. package/dest/block/l2_block_source.d.ts +20 -1
  20. package/dest/block/l2_block_source.d.ts.map +1 -1
  21. package/dest/block/l2_block_stream/l2_block_stream.d.ts +1 -1
  22. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  23. package/dest/block/l2_block_stream/l2_block_stream.js +10 -0
  24. package/dest/checkpoint/checkpoint.d.ts +6 -1
  25. package/dest/checkpoint/checkpoint.d.ts.map +1 -1
  26. package/dest/checkpoint/checkpoint.js +5 -4
  27. package/dest/checkpoint/checkpoint_data.d.ts +120 -0
  28. package/dest/checkpoint/checkpoint_data.d.ts.map +1 -0
  29. package/dest/checkpoint/checkpoint_data.js +26 -0
  30. package/dest/checkpoint/index.d.ts +2 -1
  31. package/dest/checkpoint/index.d.ts.map +1 -1
  32. package/dest/checkpoint/index.js +1 -0
  33. package/dest/checkpoint/published_checkpoint.d.ts +11 -2
  34. package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
  35. package/dest/checkpoint/published_checkpoint.js +1 -2
  36. package/dest/config/sequencer-config.d.ts +2 -2
  37. package/dest/config/sequencer-config.d.ts.map +1 -1
  38. package/dest/config/sequencer-config.js +6 -0
  39. package/dest/contract/contract_address.js +4 -4
  40. package/dest/contract/contract_class.d.ts +2 -3
  41. package/dest/contract/contract_class.d.ts.map +1 -1
  42. package/dest/contract/contract_class_id.js +3 -3
  43. package/dest/contract/private_function.js +2 -2
  44. package/dest/file-store/local.d.ts +3 -3
  45. package/dest/file-store/local.d.ts.map +1 -1
  46. package/dest/file-store/local.js +13 -4
  47. package/dest/file-store/s3.d.ts +1 -1
  48. package/dest/file-store/s3.d.ts.map +1 -1
  49. package/dest/file-store/s3.js +11 -3
  50. package/dest/ha-signing/config.d.ts +101 -0
  51. package/dest/ha-signing/config.d.ts.map +1 -0
  52. package/dest/ha-signing/config.js +92 -0
  53. package/dest/ha-signing/index.d.ts +3 -0
  54. package/dest/ha-signing/index.d.ts.map +1 -0
  55. package/dest/ha-signing/index.js +2 -0
  56. package/dest/ha-signing/types.d.ts +85 -0
  57. package/dest/ha-signing/types.d.ts.map +1 -0
  58. package/dest/ha-signing/types.js +32 -0
  59. package/dest/hash/hash.js +11 -11
  60. package/dest/hash/map_slot.js +2 -2
  61. package/dest/interfaces/archiver.d.ts +1 -1
  62. package/dest/interfaces/archiver.d.ts.map +1 -1
  63. package/dest/interfaces/archiver.js +5 -0
  64. package/dest/interfaces/aztec-node-admin.d.ts +30 -2
  65. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  66. package/dest/interfaces/aztec-node-admin.js +9 -3
  67. package/dest/interfaces/configs.d.ts +17 -2
  68. package/dest/interfaces/configs.d.ts.map +1 -1
  69. package/dest/interfaces/configs.js +4 -1
  70. package/dest/interfaces/merkle_tree_operations.d.ts +2 -2
  71. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  72. package/dest/interfaces/p2p.d.ts +3 -8
  73. package/dest/interfaces/p2p.d.ts.map +1 -1
  74. package/dest/interfaces/validator.d.ts +2 -2
  75. package/dest/interfaces/validator.d.ts.map +1 -1
  76. package/dest/interfaces/validator.js +1 -1
  77. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +3 -3
  78. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts.map +1 -1
  79. package/dest/kernel/hints/build_note_hash_read_request_hints.js +13 -10
  80. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +3 -3
  81. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
  82. package/dest/kernel/hints/build_nullifier_read_request_hints.js +13 -10
  83. package/dest/kernel/hints/build_transient_data_hints.d.ts +5 -2
  84. package/dest/kernel/hints/build_transient_data_hints.d.ts.map +1 -1
  85. package/dest/kernel/hints/build_transient_data_hints.js +9 -3
  86. package/dest/kernel/hints/index.d.ts +2 -2
  87. package/dest/kernel/hints/index.js +2 -2
  88. package/dest/kernel/hints/key_validation_request_and_separator.d.ts +24 -0
  89. package/dest/kernel/hints/key_validation_request_and_separator.d.ts.map +1 -0
  90. package/dest/kernel/hints/{key_validation_request_and_generator.js → key_validation_request_and_separator.js} +12 -15
  91. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts → scoped_key_validation_request_and_separator.d.ts} +8 -8
  92. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts.map → scoped_key_validation_request_and_separator.d.ts.map} +1 -1
  93. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.js → scoped_key_validation_request_and_separator.js} +6 -6
  94. package/dest/kernel/private_circuit_public_inputs.d.ts +6 -6
  95. package/dest/kernel/private_circuit_public_inputs.js +11 -11
  96. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +2 -2
  97. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +2 -2
  98. package/dest/kernel/private_validation_requests.d.ts +3 -3
  99. package/dest/kernel/private_validation_requests.js +9 -9
  100. package/dest/keys/derivation.js +8 -8
  101. package/dest/keys/key_types.d.ts +3 -3
  102. package/dest/keys/key_types.d.ts.map +1 -1
  103. package/dest/keys/public_keys.js +2 -2
  104. package/dest/keys/utils.js +5 -5
  105. package/dest/logs/debug_log_store.d.ts +30 -0
  106. package/dest/logs/debug_log_store.d.ts.map +1 -0
  107. package/dest/logs/debug_log_store.js +30 -0
  108. package/dest/logs/extended_directional_app_tagging_secret.d.ts +47 -0
  109. package/dest/logs/extended_directional_app_tagging_secret.d.ts.map +1 -0
  110. package/dest/logs/{directional_app_tagging_secret.js → extended_directional_app_tagging_secret.js} +23 -15
  111. package/dest/logs/index.d.ts +3 -2
  112. package/dest/logs/index.d.ts.map +1 -1
  113. package/dest/logs/index.js +2 -1
  114. package/dest/logs/pre_tag.d.ts +16 -11
  115. package/dest/logs/pre_tag.d.ts.map +1 -1
  116. package/dest/logs/pre_tag.js +2 -2
  117. package/dest/logs/private_log.d.ts +2 -2
  118. package/dest/logs/private_log.d.ts.map +1 -1
  119. package/dest/logs/siloed_tag.d.ts +5 -3
  120. package/dest/logs/siloed_tag.d.ts.map +1 -1
  121. package/dest/logs/siloed_tag.js +6 -1
  122. package/dest/logs/tag.js +1 -1
  123. package/dest/p2p/attestation_utils.d.ts +11 -1
  124. package/dest/p2p/attestation_utils.d.ts.map +1 -1
  125. package/dest/p2p/attestation_utils.js +45 -0
  126. package/dest/p2p/block_proposal.d.ts +2 -2
  127. package/dest/p2p/block_proposal.d.ts.map +1 -1
  128. package/dest/p2p/block_proposal.js +2 -4
  129. package/dest/p2p/checkpoint_proposal.d.ts +2 -2
  130. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
  131. package/dest/p2p/checkpoint_proposal.js +1 -1
  132. package/dest/p2p/client_type.d.ts +2 -5
  133. package/dest/p2p/client_type.d.ts.map +1 -1
  134. package/dest/p2p/client_type.js +0 -7
  135. package/dest/p2p/index.d.ts +1 -2
  136. package/dest/p2p/index.d.ts.map +1 -1
  137. package/dest/p2p/index.js +0 -1
  138. package/dest/p2p/topic_type.d.ts +3 -4
  139. package/dest/p2p/topic_type.d.ts.map +1 -1
  140. package/dest/p2p/topic_type.js +7 -24
  141. package/dest/rollup/checkpoint_header.d.ts +2 -2
  142. package/dest/rollup/checkpoint_header.js +2 -2
  143. package/dest/tests/factories.d.ts +3 -1
  144. package/dest/tests/factories.d.ts.map +1 -1
  145. package/dest/tests/factories.js +18 -10
  146. package/dest/tests/mocks.d.ts +2 -2
  147. package/dest/tests/mocks.d.ts.map +1 -1
  148. package/dest/tests/mocks.js +5 -5
  149. package/dest/tx/block_header.js +2 -2
  150. package/dest/tx/global_variables.d.ts +4 -4
  151. package/dest/tx/global_variables.d.ts.map +1 -1
  152. package/dest/tx/profiling.d.ts +4 -4
  153. package/dest/tx/profiling.d.ts.map +1 -1
  154. package/dest/tx/profiling.js +3 -3
  155. package/dest/tx/protocol_contracts.d.ts +1 -1
  156. package/dest/tx/protocol_contracts.d.ts.map +1 -1
  157. package/dest/tx/protocol_contracts.js +2 -2
  158. package/dest/tx/public_simulation_output.d.ts +4 -2
  159. package/dest/tx/public_simulation_output.d.ts.map +1 -1
  160. package/dest/tx/public_simulation_output.js +7 -3
  161. package/dest/tx/tx_receipt.d.ts +16 -2
  162. package/dest/tx/tx_receipt.d.ts.map +1 -1
  163. package/dest/tx/tx_receipt.js +11 -3
  164. package/dest/tx/tx_request.js +2 -2
  165. package/package.json +10 -10
  166. package/src/abi/decoder.ts +1 -4
  167. package/src/abi/encoder.ts +8 -5
  168. package/src/auth_witness/auth_witness.ts +3 -3
  169. package/src/avm/revert_code.ts +15 -0
  170. package/src/block/block_data.ts +26 -0
  171. package/src/block/index.ts +1 -0
  172. package/src/block/l2_block_source.ts +22 -0
  173. package/src/block/l2_block_stream/l2_block_stream.ts +21 -0
  174. package/src/checkpoint/checkpoint.ts +5 -3
  175. package/src/checkpoint/checkpoint_data.ts +51 -0
  176. package/src/checkpoint/index.ts +1 -0
  177. package/src/checkpoint/published_checkpoint.ts +3 -1
  178. package/src/config/sequencer-config.ts +11 -1
  179. package/src/contract/contract_address.ts +4 -4
  180. package/src/contract/contract_class.ts +3 -3
  181. package/src/contract/contract_class_id.ts +3 -3
  182. package/src/contract/private_function.ts +2 -2
  183. package/src/file-store/local.ts +15 -5
  184. package/src/file-store/s3.ts +12 -3
  185. package/src/ha-signing/config.ts +149 -0
  186. package/src/ha-signing/index.ts +18 -0
  187. package/src/ha-signing/types.ts +112 -0
  188. package/src/hash/hash.ts +11 -11
  189. package/src/hash/map_slot.ts +2 -2
  190. package/src/interfaces/archiver.ts +5 -0
  191. package/src/interfaces/aztec-node-admin.ts +23 -0
  192. package/src/interfaces/configs.ts +12 -1
  193. package/src/interfaces/merkle_tree_operations.ts +1 -1
  194. package/src/interfaces/p2p.ts +2 -13
  195. package/src/interfaces/validator.ts +1 -1
  196. package/src/kernel/hints/build_note_hash_read_request_hints.ts +14 -18
  197. package/src/kernel/hints/build_nullifier_read_request_hints.ts +15 -18
  198. package/src/kernel/hints/build_transient_data_hints.ts +17 -2
  199. package/src/kernel/hints/index.ts +2 -2
  200. package/src/kernel/hints/{key_validation_request_and_generator.ts → key_validation_request_and_separator.ts} +12 -15
  201. package/src/kernel/hints/{scoped_key_validation_request_and_generator.ts → scoped_key_validation_request_and_separator.ts} +10 -10
  202. package/src/kernel/private_circuit_public_inputs.ts +10 -10
  203. package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +2 -2
  204. package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +2 -2
  205. package/src/kernel/private_validation_requests.ts +8 -8
  206. package/src/keys/derivation.ts +8 -8
  207. package/src/keys/key_types.ts +6 -2
  208. package/src/keys/public_keys.ts +2 -2
  209. package/src/keys/utils.ts +5 -5
  210. package/src/logs/debug_log_store.ts +54 -0
  211. package/src/logs/{directional_app_tagging_secret.ts → extended_directional_app_tagging_secret.ts} +24 -16
  212. package/src/logs/index.ts +2 -1
  213. package/src/logs/pre_tag.ts +5 -5
  214. package/src/logs/siloed_tag.ts +8 -2
  215. package/src/logs/tag.ts +1 -1
  216. package/src/p2p/attestation_utils.ts +56 -0
  217. package/src/p2p/block_proposal.ts +1 -3
  218. package/src/p2p/checkpoint_proposal.ts +1 -1
  219. package/src/p2p/client_type.ts +0 -6
  220. package/src/p2p/index.ts +0 -1
  221. package/src/p2p/topic_type.ts +8 -15
  222. package/src/rollup/checkpoint_header.ts +2 -2
  223. package/src/tests/factories.ts +20 -11
  224. package/src/tests/mocks.ts +7 -3
  225. package/src/tx/block_header.ts +2 -2
  226. package/src/tx/global_variables.ts +3 -3
  227. package/src/tx/profiling.ts +5 -5
  228. package/src/tx/protocol_contracts.ts +2 -2
  229. package/src/tx/public_simulation_output.ts +4 -0
  230. package/src/tx/tx_receipt.ts +10 -0
  231. package/src/tx/tx_request.ts +2 -2
  232. package/dest/kernel/hints/key_validation_request_and_generator.d.ts +0 -30
  233. package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +0 -1
  234. package/dest/logs/directional_app_tagging_secret.d.ts +0 -40
  235. package/dest/logs/directional_app_tagging_secret.d.ts.map +0 -1
@@ -3,7 +3,7 @@ import { MAX_KEY_VALIDATION_REQUESTS_PER_TX, MAX_NOTE_HASH_READ_REQUESTS_PER_TX,
3
3
  import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
4
4
  import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
5
5
  import { inspect } from 'util';
6
- import { ScopedKeyValidationRequestAndGenerator } from '../kernel/hints/scoped_key_validation_request_and_generator.js';
6
+ import { ScopedKeyValidationRequestAndSeparator } from '../kernel/hints/scoped_key_validation_request_and_separator.js';
7
7
  import { ClaimedLengthArray, ClaimedLengthArrayFromBuffer } from './claimed_length_array.js';
8
8
  import { ScopedReadRequest } from './hints/read_request.js';
9
9
  _computedKey = inspect.custom;
@@ -12,23 +12,23 @@ _computedKey = inspect.custom;
12
12
  */ export class PrivateValidationRequests {
13
13
  noteHashReadRequests;
14
14
  nullifierReadRequests;
15
- scopedKeyValidationRequestsAndGenerators;
15
+ scopedKeyValidationRequestsAndSeparators;
16
16
  constructor(/**
17
17
  * All the read requests made in this transaction.
18
18
  */ noteHashReadRequests, /**
19
19
  * All the nullifier read requests made in this transaction.
20
20
  */ nullifierReadRequests, /**
21
21
  * All the key validation requests made in this transaction.
22
- */ scopedKeyValidationRequestsAndGenerators){
22
+ */ scopedKeyValidationRequestsAndSeparators){
23
23
  this.noteHashReadRequests = noteHashReadRequests;
24
24
  this.nullifierReadRequests = nullifierReadRequests;
25
- this.scopedKeyValidationRequestsAndGenerators = scopedKeyValidationRequestsAndGenerators;
25
+ this.scopedKeyValidationRequestsAndSeparators = scopedKeyValidationRequestsAndSeparators;
26
26
  }
27
27
  getSize() {
28
- return this.noteHashReadRequests.getSize() + this.nullifierReadRequests.getSize() + this.scopedKeyValidationRequestsAndGenerators.getSize();
28
+ return this.noteHashReadRequests.getSize() + this.nullifierReadRequests.getSize() + this.scopedKeyValidationRequestsAndSeparators.getSize();
29
29
  }
30
30
  toBuffer() {
31
- return serializeToBuffer(this.noteHashReadRequests, this.nullifierReadRequests, this.scopedKeyValidationRequestsAndGenerators);
31
+ return serializeToBuffer(this.noteHashReadRequests, this.nullifierReadRequests, this.scopedKeyValidationRequestsAndSeparators);
32
32
  }
33
33
  toString() {
34
34
  return bufferToHex(this.toBuffer());
@@ -39,7 +39,7 @@ _computedKey = inspect.custom;
39
39
  * @returns Deserialized object.
40
40
  */ static fromBuffer(buffer) {
41
41
  const reader = BufferReader.asReader(buffer);
42
- return new PrivateValidationRequests(reader.readObject(ClaimedLengthArrayFromBuffer(ScopedReadRequest, MAX_NOTE_HASH_READ_REQUESTS_PER_TX)), reader.readObject(ClaimedLengthArrayFromBuffer(ScopedReadRequest, MAX_NULLIFIER_READ_REQUESTS_PER_TX)), reader.readObject(ClaimedLengthArrayFromBuffer(ScopedKeyValidationRequestAndGenerator, MAX_KEY_VALIDATION_REQUESTS_PER_TX)));
42
+ return new PrivateValidationRequests(reader.readObject(ClaimedLengthArrayFromBuffer(ScopedReadRequest, MAX_NOTE_HASH_READ_REQUESTS_PER_TX)), reader.readObject(ClaimedLengthArrayFromBuffer(ScopedReadRequest, MAX_NULLIFIER_READ_REQUESTS_PER_TX)), reader.readObject(ClaimedLengthArrayFromBuffer(ScopedKeyValidationRequestAndSeparator, MAX_KEY_VALIDATION_REQUESTS_PER_TX)));
43
43
  }
44
44
  /**
45
45
  * Deserializes from a string, corresponding to a write in cpp.
@@ -49,13 +49,13 @@ _computedKey = inspect.custom;
49
49
  return PrivateValidationRequests.fromBuffer(hexToBuffer(str));
50
50
  }
51
51
  static empty() {
52
- return new PrivateValidationRequests(ClaimedLengthArray.empty(ScopedReadRequest, MAX_NOTE_HASH_READ_REQUESTS_PER_TX), ClaimedLengthArray.empty(ScopedReadRequest, MAX_NULLIFIER_READ_REQUESTS_PER_TX), ClaimedLengthArray.empty(ScopedKeyValidationRequestAndGenerator, MAX_KEY_VALIDATION_REQUESTS_PER_TX));
52
+ return new PrivateValidationRequests(ClaimedLengthArray.empty(ScopedReadRequest, MAX_NOTE_HASH_READ_REQUESTS_PER_TX), ClaimedLengthArray.empty(ScopedReadRequest, MAX_NULLIFIER_READ_REQUESTS_PER_TX), ClaimedLengthArray.empty(ScopedKeyValidationRequestAndSeparator, MAX_KEY_VALIDATION_REQUESTS_PER_TX));
53
53
  }
54
54
  [_computedKey]() {
55
55
  return `PrivateValidationRequests {
56
56
  noteHashReadRequests: ${inspect(this.noteHashReadRequests)},
57
57
  nullifierReadRequests: ${inspect(this.nullifierReadRequests)},
58
- scopedKeyValidationRequestsAndGenerators: ${inspect(this.scopedKeyValidationRequestsAndGenerators)},
58
+ scopedKeyValidationRequestsAndSeparators: ${inspect(this.scopedKeyValidationRequestsAndSeparators)},
59
59
  `;
60
60
  }
61
61
  }
@@ -1,4 +1,4 @@
1
- import { GeneratorIndex } from '@aztec/constants';
1
+ import { DomainSeparator } from '@aztec/constants';
2
2
  import { Grumpkin } from '@aztec/foundation/crypto/grumpkin';
3
3
  import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon';
4
4
  import { sha512ToGrumpkinScalar } from '@aztec/foundation/crypto/sha512';
@@ -27,37 +27,37 @@ export async function computeOvskApp(ovsk, app) {
27
27
  export function deriveMasterNullifierHidingKey(secretKey) {
28
28
  return sha512ToGrumpkinScalar([
29
29
  secretKey,
30
- GeneratorIndex.NHK_M
30
+ DomainSeparator.NHK_M
31
31
  ]);
32
32
  }
33
33
  export function deriveMasterIncomingViewingSecretKey(secretKey) {
34
34
  return sha512ToGrumpkinScalar([
35
35
  secretKey,
36
- GeneratorIndex.IVSK_M
36
+ DomainSeparator.IVSK_M
37
37
  ]);
38
38
  }
39
39
  export function deriveMasterOutgoingViewingSecretKey(secretKey) {
40
40
  return sha512ToGrumpkinScalar([
41
41
  secretKey,
42
- GeneratorIndex.OVSK_M
42
+ DomainSeparator.OVSK_M
43
43
  ]);
44
44
  }
45
45
  export function deriveSigningKey(secretKey) {
46
46
  // TODO(#5837): come up with a standard signing key derivation scheme instead of using ivsk_m as signing keys here
47
47
  return sha512ToGrumpkinScalar([
48
48
  secretKey,
49
- GeneratorIndex.IVSK_M
49
+ DomainSeparator.IVSK_M
50
50
  ]);
51
51
  }
52
52
  export function computePreaddress(publicKeysHash, partialAddress) {
53
53
  return poseidon2HashWithSeparator([
54
54
  publicKeysHash,
55
55
  partialAddress
56
- ], GeneratorIndex.CONTRACT_ADDRESS_V1);
56
+ ], DomainSeparator.CONTRACT_ADDRESS_V1);
57
57
  }
58
58
  export async function computeAddress(publicKeys, partialAddress) {
59
59
  // Given public keys and a partial address, we can compute our address in the following steps.
60
- // 1. preaddress = poseidon2([publicKeysHash, partialAddress], GeneratorIndex.CONTRACT_ADDRESS_V1);
60
+ // 1. preaddress = poseidon2([publicKeysHash, partialAddress], DomainSeparator.CONTRACT_ADDRESS_V1);
61
61
  // 2. addressPoint = (preaddress * G) + ivpk_m
62
62
  // 3. address = addressPoint.x
63
63
  const preaddress = await computePreaddress(await publicKeys.hash(), partialAddress);
@@ -98,7 +98,7 @@ export function derivePublicKeyFromSecretKey(secretKey) {
98
98
  const masterOutgoingViewingSecretKey = deriveMasterOutgoingViewingSecretKey(secretKey);
99
99
  const masterTaggingSecretKey = sha512ToGrumpkinScalar([
100
100
  secretKey,
101
- GeneratorIndex.TSK_M
101
+ DomainSeparator.TSK_M
102
102
  ]);
103
103
  // Then we derive master public keys
104
104
  const masterNullifierPublicKey = await derivePublicKeyFromSecretKey(masterNullifierHidingKey);
@@ -1,5 +1,5 @@
1
- import type { GeneratorIndex } from '@aztec/constants';
2
- export type KeyGenerator = GeneratorIndex.NHK_M | GeneratorIndex.IVSK_M | GeneratorIndex.OVSK_M | GeneratorIndex.TSK_M;
1
+ import type { DomainSeparator } from '@aztec/constants';
2
+ export type KeyGenerator = DomainSeparator.NHK_M | DomainSeparator.IVSK_M | DomainSeparator.OVSK_M | DomainSeparator.TSK_M;
3
3
  export type KeyPrefix = 'n' | 'iv' | 'ov' | 't';
4
4
  export declare const KEY_PREFIXES: KeyPrefix[];
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5X3R5cGVzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMva2V5cy9rZXlfdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFdkQsTUFBTSxNQUFNLFlBQVksR0FBRyxjQUFjLENBQUMsS0FBSyxHQUFHLGNBQWMsQ0FBQyxNQUFNLEdBQUcsY0FBYyxDQUFDLE1BQU0sR0FBRyxjQUFjLENBQUMsS0FBSyxDQUFDO0FBQ3ZILE1BQU0sTUFBTSxTQUFTLEdBQUcsR0FBRyxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsR0FBRyxDQUFDO0FBQ2hELGVBQU8sTUFBTSxZQUFZLEVBQUUsU0FBUyxFQUEyQixDQUFDIn0=
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5X3R5cGVzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMva2V5cy9rZXlfdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFeEQsTUFBTSxNQUFNLFlBQVksR0FDcEIsZUFBZSxDQUFDLEtBQUssR0FDckIsZUFBZSxDQUFDLE1BQU0sR0FDdEIsZUFBZSxDQUFDLE1BQU0sR0FDdEIsZUFBZSxDQUFDLEtBQUssQ0FBQztBQUMxQixNQUFNLE1BQU0sU0FBUyxHQUFHLEdBQUcsR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLEdBQUcsQ0FBQztBQUNoRCxlQUFPLE1BQU0sWUFBWSxFQUFFLFNBQVMsRUFBMkIsQ0FBQyJ9
@@ -1 +1 @@
1
- {"version":3,"file":"key_types.d.ts","sourceRoot":"","sources":["../../src/keys/key_types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,MAAM,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK,GAAG,cAAc,CAAC,MAAM,GAAG,cAAc,CAAC,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC;AACvH,MAAM,MAAM,SAAS,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,CAAC;AAChD,eAAO,MAAM,YAAY,EAAE,SAAS,EAA2B,CAAC"}
1
+ {"version":3,"file":"key_types.d.ts","sourceRoot":"","sources":["../../src/keys/key_types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAExD,MAAM,MAAM,YAAY,GACpB,eAAe,CAAC,KAAK,GACrB,eAAe,CAAC,MAAM,GACtB,eAAe,CAAC,MAAM,GACtB,eAAe,CAAC,KAAK,CAAC;AAC1B,MAAM,MAAM,SAAS,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,CAAC;AAChD,eAAO,MAAM,YAAY,EAAE,SAAS,EAA2B,CAAC"}
@@ -1,4 +1,4 @@
1
- import { DEFAULT_IVPK_M_X, DEFAULT_IVPK_M_Y, DEFAULT_NPK_M_X, DEFAULT_NPK_M_Y, DEFAULT_OVPK_M_X, DEFAULT_OVPK_M_Y, DEFAULT_TPK_M_X, DEFAULT_TPK_M_Y, GeneratorIndex } from '@aztec/constants';
1
+ import { DEFAULT_IVPK_M_X, DEFAULT_IVPK_M_Y, DEFAULT_NPK_M_X, DEFAULT_NPK_M_Y, DEFAULT_OVPK_M_X, DEFAULT_OVPK_M_Y, DEFAULT_TPK_M_X, DEFAULT_TPK_M_Y, DomainSeparator } from '@aztec/constants';
2
2
  import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon';
3
3
  import { Fr } from '@aztec/foundation/curves/bn254';
4
4
  import { Point } from '@aztec/foundation/curves/grumpkin';
@@ -46,7 +46,7 @@ export class PublicKeys {
46
46
  this.masterIncomingViewingPublicKey,
47
47
  this.masterOutgoingViewingPublicKey,
48
48
  this.masterTaggingPublicKey
49
- ], GeneratorIndex.PUBLIC_KEYS_HASH);
49
+ ], DomainSeparator.PUBLIC_KEYS_HASH);
50
50
  }
51
51
  isEmpty() {
52
52
  return this.masterNullifierPublicKey.isZero() && this.masterIncomingViewingPublicKey.isZero() && this.masterOutgoingViewingPublicKey.isZero() && this.masterTaggingPublicKey.isZero();
@@ -1,10 +1,10 @@
1
- import { GeneratorIndex } from '@aztec/constants';
1
+ import { DomainSeparator } from '@aztec/constants';
2
2
  export function getKeyGenerator(prefix) {
3
3
  const map = {
4
- n: GeneratorIndex.NHK_M,
5
- iv: GeneratorIndex.IVSK_M,
6
- ov: GeneratorIndex.OVSK_M,
7
- t: GeneratorIndex.TSK_M
4
+ n: DomainSeparator.NHK_M,
5
+ iv: DomainSeparator.IVSK_M,
6
+ ov: DomainSeparator.OVSK_M,
7
+ t: DomainSeparator.TSK_M
8
8
  };
9
9
  return map[prefix];
10
10
  }
@@ -0,0 +1,30 @@
1
+ import type { TxReceipt } from '../tx/tx_receipt.js';
2
+ import type { DebugLog } from './debug_log.js';
3
+ /**
4
+ * Store for debug logs emitted by public functions during transaction execution.
5
+ *
6
+ * Uses the Null Object pattern: production code uses NullDebugLogStore (no-op), while test mode uses
7
+ * InMemoryDebugLogStore (stores and serves logs).
8
+ */
9
+ export interface DebugLogStore {
10
+ /** Store debug logs for a processed transaction. */
11
+ storeLogs(txHash: string, logs: DebugLog[]): void;
12
+ /** Decorate a TxReceipt with any stored debug logs for the given tx. */
13
+ decorateReceiptWithLogs(txHash: string, receipt: TxReceipt): void;
14
+ /** Whether debug log collection is enabled. */
15
+ readonly isEnabled: boolean;
16
+ }
17
+ /** No-op implementation for production mode. */
18
+ export declare class NullDebugLogStore implements DebugLogStore {
19
+ storeLogs(_txHash: string, _logs: DebugLog[]): void;
20
+ decorateReceiptWithLogs(_txHash: string, _receipt: TxReceipt): void;
21
+ get isEnabled(): boolean;
22
+ }
23
+ /** In-memory implementation for test mode that stores and serves debug logs. */
24
+ export declare class InMemoryDebugLogStore implements DebugLogStore {
25
+ private map;
26
+ storeLogs(txHash: string, logs: DebugLog[]): void;
27
+ decorateReceiptWithLogs(txHash: string, receipt: TxReceipt): void;
28
+ get isEnabled(): boolean;
29
+ }
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVidWdfbG9nX3N0b3JlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG9ncy9kZWJ1Z19sb2dfc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFL0M7Ozs7O0dBS0c7QUFDSCxNQUFNLFdBQVcsYUFBYTtJQUM1QixvREFBb0Q7SUFDcEQsU0FBUyxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQztJQUNsRCx3RUFBd0U7SUFDeEUsdUJBQXVCLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsU0FBUyxHQUFHLElBQUksQ0FBQztJQUNsRSwrQ0FBK0M7SUFDL0MsUUFBUSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUM7Q0FDN0I7QUFFRCxnREFBZ0Q7QUFDaEQscUJBQWEsaUJBQWtCLFlBQVcsYUFBYTtJQUNyRCxTQUFTLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUVsRDtJQUNELHVCQUF1QixDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFNBQVMsR0FBRyxJQUFJLENBRWxFO0lBQ0QsSUFBSSxTQUFTLElBQUksT0FBTyxDQUV2QjtDQUNGO0FBRUQsZ0ZBQWdGO0FBQ2hGLHFCQUFhLHFCQUFzQixZQUFXLGFBQWE7SUFDekQsT0FBTyxDQUFDLEdBQUcsQ0FBaUM7SUFFNUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FJaEQ7SUFFRCx1QkFBdUIsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxTQUFTLEdBQUcsSUFBSSxDQU9oRTtJQUVELElBQUksU0FBUyxJQUFJLE9BQU8sQ0FFdkI7Q0FDRiJ9
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debug_log_store.d.ts","sourceRoot":"","sources":["../../src/logs/debug_log_store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B,oDAAoD;IACpD,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IAClD,wEAAwE;IACxE,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,GAAG,IAAI,CAAC;IAClE,+CAA+C;IAC/C,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B;AAED,gDAAgD;AAChD,qBAAa,iBAAkB,YAAW,aAAa;IACrD,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI,CAElD;IACD,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,GAAG,IAAI,CAElE;IACD,IAAI,SAAS,IAAI,OAAO,CAEvB;CACF;AAED,gFAAgF;AAChF,qBAAa,qBAAsB,YAAW,aAAa;IACzD,OAAO,CAAC,GAAG,CAAiC;IAE5C,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAI,CAIhD;IAED,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,GAAG,IAAI,CAOhE;IAED,IAAI,SAAS,IAAI,OAAO,CAEvB;CACF"}
@@ -0,0 +1,30 @@
1
+ /** No-op implementation for production mode. */ export class NullDebugLogStore {
2
+ storeLogs(_txHash, _logs) {
3
+ return;
4
+ }
5
+ decorateReceiptWithLogs(_txHash, _receipt) {
6
+ return;
7
+ }
8
+ get isEnabled() {
9
+ return false;
10
+ }
11
+ }
12
+ /** In-memory implementation for test mode that stores and serves debug logs. */ export class InMemoryDebugLogStore {
13
+ map = new Map();
14
+ storeLogs(txHash, logs) {
15
+ if (logs.length > 0) {
16
+ this.map.set(txHash, logs);
17
+ }
18
+ }
19
+ decorateReceiptWithLogs(txHash, receipt) {
20
+ if (receipt.isMined()) {
21
+ const debugLogs = this.map.get(txHash);
22
+ if (debugLogs) {
23
+ receipt.debugLogs = debugLogs;
24
+ }
25
+ }
26
+ }
27
+ get isEnabled() {
28
+ return true;
29
+ }
30
+ }
@@ -0,0 +1,47 @@
1
+ import { type Fq, Fr } from '@aztec/foundation/curves/bn254';
2
+ import { z } from 'zod';
3
+ import { AztecAddress } from '../aztec-address/index.js';
4
+ import type { CompleteAddress } from '../contract/complete_address.js';
5
+ /**
6
+ * Extended directional application tagging secret used for log tagging.
7
+ *
8
+ * "Extended" because it bundles the directional app tagging secret with the app (contract) address. This bundling was
9
+ * done because where this type is used we commonly need access to both the secret and the address.
10
+ *
11
+ * "Directional" because the derived secret is bound to the recipient address: A→B differs from B→A even with the same
12
+ * participants and app.
13
+ *
14
+ * Note: It's a bit unfortunate that this type resides in `stdlib` as the rest of the tagging functionality resides in
15
+ * `pxe/src/tagging`. We need to use this type in `PreTag` that in turn is used by other types in stdlib hence there
16
+ * doesn't seem to be a good way around this.
17
+ */
18
+ export declare class ExtendedDirectionalAppTaggingSecret {
19
+ readonly secret: Fr;
20
+ readonly app: AztecAddress;
21
+ private constructor();
22
+ /**
23
+ * Derives shared tagging secret and from that, the app address and recipient derives the directional app tagging
24
+ * secret.
25
+ *
26
+ * @param localAddress - The complete address of entity A in the shared tagging secret derivation scheme
27
+ * @param localIvsk - The incoming viewing secret key of entity A
28
+ * @param externalAddress - The address of entity B in the shared tagging secret derivation scheme
29
+ * @param app - Contract address to silo the secret to
30
+ * @param recipient - Recipient of the log. Defines the "direction of the secret".
31
+ * @returns The secret that can be used along with an index to compute a tag to be included in a log.
32
+ */
33
+ static compute(localAddress: CompleteAddress, localIvsk: Fq, externalAddress: AztecAddress, app: AztecAddress, recipient: AztecAddress): Promise<ExtendedDirectionalAppTaggingSecret>;
34
+ toString(): string;
35
+ static fromString(str: string): ExtendedDirectionalAppTaggingSecret;
36
+ }
37
+ export declare const ExtendedDirectionalAppTaggingSecretSchema: z.ZodObject<{
38
+ secret: z.ZodType<Fr, any, string>;
39
+ app: import("@aztec/foundation/schemas").ZodFor<AztecAddress>;
40
+ }, "strip", z.ZodTypeAny, {
41
+ secret: Fr;
42
+ app: AztecAddress;
43
+ }, {
44
+ secret: string;
45
+ app?: any;
46
+ }>;
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5kZWRfZGlyZWN0aW9uYWxfYXBwX3RhZ2dpbmdfc2VjcmV0LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG9ncy9leHRlbmRlZF9kaXJlY3Rpb25hbF9hcHBfdGFnZ2luZ19zZWNyZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRzdELE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBR3ZFOzs7Ozs7Ozs7Ozs7R0FZRztBQUNILHFCQUFhLG1DQUFtQzthQUU1QixNQUFNLEVBQUUsRUFBRTthQUNWLEdBQUcsRUFBRSxZQUFZO0lBRm5DLE9BQU8sZUFHSDtJQUVKOzs7Ozs7Ozs7O09BVUc7SUFDSCxPQUFhLE9BQU8sQ0FDbEIsWUFBWSxFQUFFLGVBQWUsRUFDN0IsU0FBUyxFQUFFLEVBQUUsRUFDYixlQUFlLEVBQUUsWUFBWSxFQUM3QixHQUFHLEVBQUUsWUFBWSxFQUNqQixTQUFTLEVBQUUsWUFBWSxHQUN0QixPQUFPLENBQUMsbUNBQW1DLENBQUMsQ0FNOUM7SUFFRCxRQUFRLElBQUksTUFBTSxDQUVqQjtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLE1BQU0sR0FBRyxtQ0FBbUMsQ0FHbEU7Q0FDRjtBQW9CRCxlQUFPLE1BQU0seUNBQXlDOzs7Ozs7Ozs7RUFHcEQsQ0FBQyJ9
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extended_directional_app_tagging_secret.d.ts","sourceRoot":"","sources":["../../src/logs/extended_directional_app_tagging_secret.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAG7D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAGvE;;;;;;;;;;;;GAYG;AACH,qBAAa,mCAAmC;aAE5B,MAAM,EAAE,EAAE;aACV,GAAG,EAAE,YAAY;IAFnC,OAAO,eAGH;IAEJ;;;;;;;;;;OAUG;IACH,OAAa,OAAO,CAClB,YAAY,EAAE,eAAe,EAC7B,SAAS,EAAE,EAAE,EACb,eAAe,EAAE,YAAY,EAC7B,GAAG,EAAE,YAAY,EACjB,SAAS,EAAE,YAAY,GACtB,OAAO,CAAC,mCAAmC,CAAC,CAM9C;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,mCAAmC,CAGlE;CACF;AAoBD,eAAO,MAAM,yCAAyC;;;;;;;;;EAGpD,CAAC"}
@@ -2,20 +2,26 @@ import { Grumpkin } from '@aztec/foundation/crypto/grumpkin';
2
2
  import { poseidon2Hash } from '@aztec/foundation/crypto/poseidon';
3
3
  import { Fr } from '@aztec/foundation/curves/bn254';
4
4
  import { z } from 'zod';
5
+ import { AztecAddress } from '../aztec-address/index.js';
5
6
  import { computeAddressSecret, computePreaddress } from '../keys/derivation.js';
6
7
  /**
7
- * Directional application tagging secret used for log tagging.
8
+ * Extended directional application tagging secret used for log tagging.
8
9
  *
9
- * "Directional" because the derived secret is bound to the recipient
10
- * address: A→B differs from B→A even with the same participants and app.
10
+ * "Extended" because it bundles the directional app tagging secret with the app (contract) address. This bundling was
11
+ * done because where this type is used we commonly need access to both the secret and the address.
11
12
  *
12
- * Note: It's a bit unfortunate that this type resides in `stdlib` as the rest of the tagging functionality resides
13
- * in `pxe/src/tagging`. We need to use this type in `PreTag` that in turn is used by other types
14
- * in stdlib hence there doesn't seem to be a good way around this.
15
- */ export class DirectionalAppTaggingSecret {
16
- value;
17
- constructor(value){
18
- this.value = value;
13
+ * "Directional" because the derived secret is bound to the recipient address: A→B differs from B→A even with the same
14
+ * participants and app.
15
+ *
16
+ * Note: It's a bit unfortunate that this type resides in `stdlib` as the rest of the tagging functionality resides in
17
+ * `pxe/src/tagging`. We need to use this type in `PreTag` that in turn is used by other types in stdlib hence there
18
+ * doesn't seem to be a good way around this.
19
+ */ export class ExtendedDirectionalAppTaggingSecret {
20
+ secret;
21
+ app;
22
+ constructor(secret, app){
23
+ this.secret = secret;
24
+ this.app = app;
19
25
  }
20
26
  /**
21
27
  * Derives shared tagging secret and from that, the app address and recipient derives the directional app tagging
@@ -38,13 +44,14 @@ import { computeAddressSecret, computePreaddress } from '../keys/derivation.js';
38
44
  appTaggingSecret,
39
45
  recipient
40
46
  ]);
41
- return new DirectionalAppTaggingSecret(directionalAppTaggingSecret);
47
+ return new ExtendedDirectionalAppTaggingSecret(directionalAppTaggingSecret, app);
42
48
  }
43
49
  toString() {
44
- return this.value.toString();
50
+ return `${this.secret.toString()}:${this.app.toString()}`;
45
51
  }
46
52
  static fromString(str) {
47
- return new DirectionalAppTaggingSecret(Fr.fromString(str));
53
+ const [secretStr, appStr] = str.split(':');
54
+ return new ExtendedDirectionalAppTaggingSecret(Fr.fromString(secretStr), AztecAddress.fromString(appStr));
48
55
  }
49
56
  }
50
57
  // Returns shared tagging secret computed with Diffie-Hellman key exchange.
@@ -59,6 +66,7 @@ async function computeSharedTaggingSecret(localAddress, localIvsk, externalAddre
59
66
  // leads to a positive y-coordinate, which is the only valid address point
60
67
  return Grumpkin.mul(externalAddressPoint, await computeAddressSecret(knownPreaddress, localIvsk));
61
68
  }
62
- export const DirectionalAppTaggingSecretSchema = z.object({
63
- value: Fr.schema
69
+ export const ExtendedDirectionalAppTaggingSecretSchema = z.object({
70
+ secret: Fr.schema,
71
+ app: AztecAddress.schema
64
72
  });
@@ -1,4 +1,4 @@
1
- export * from './directional_app_tagging_secret.js';
1
+ export * from './extended_directional_app_tagging_secret.js';
2
2
  export * from './pre_tag.js';
3
3
  export * from './contract_class_log.js';
4
4
  export * from './public_log.js';
@@ -12,6 +12,7 @@ export * from './shared_secret_derivation.js';
12
12
  export * from './tx_scoped_l2_log.js';
13
13
  export * from './message_context.js';
14
14
  export * from './debug_log.js';
15
+ export * from './debug_log_store.js';
15
16
  export * from './tag.js';
16
17
  export * from './siloed_tag.js';
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sb2dzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsaUJBQWlCLENBQUMifQ==
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sb2dzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxpQkFBaUIsQ0FBQyJ9
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/logs/index.ts"],"names":[],"mappings":"AAAA,cAAc,qCAAqC,CAAC;AACpD,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,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,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,4 +1,4 @@
1
- export * from './directional_app_tagging_secret.js';
1
+ export * from './extended_directional_app_tagging_secret.js';
2
2
  export * from './pre_tag.js';
3
3
  export * from './contract_class_log.js';
4
4
  export * from './public_log.js';
@@ -12,5 +12,6 @@ export * from './shared_secret_derivation.js';
12
12
  export * from './tx_scoped_l2_log.js';
13
13
  export * from './message_context.js';
14
14
  export * from './debug_log.js';
15
+ export * from './debug_log_store.js';
15
16
  export * from './tag.js';
16
17
  export * from './siloed_tag.js';
@@ -1,5 +1,5 @@
1
1
  import { z } from 'zod';
2
- import { type DirectionalAppTaggingSecret } from './directional_app_tagging_secret.js';
2
+ import { type ExtendedDirectionalAppTaggingSecret } from './extended_directional_app_tagging_secret.js';
3
3
  /**
4
4
  * Represents a preimage of a private log tag (see `Tag` in `pxe/src/tagging`).
5
5
  *
@@ -8,27 +8,32 @@ import { type DirectionalAppTaggingSecret } from './directional_app_tagging_secr
8
8
  * around this.
9
9
  */
10
10
  export type PreTag = {
11
- secret: DirectionalAppTaggingSecret;
11
+ extendedSecret: ExtendedDirectionalAppTaggingSecret;
12
12
  index: number;
13
13
  };
14
14
  export declare const PreTagSchema: z.ZodObject<{
15
- secret: z.ZodObject<{
16
- value: z.ZodType<import("@aztec/foundation/schemas").Fr, any, string>;
15
+ extendedSecret: z.ZodObject<{
16
+ secret: z.ZodType<import("@aztec/foundation/schemas").Fr, any, string>;
17
+ app: import("@aztec/foundation/schemas").ZodFor<import("../aztec-address/index.js").AztecAddress>;
17
18
  }, "strip", z.ZodTypeAny, {
18
- value: import("@aztec/foundation/schemas").Fr;
19
+ secret: import("@aztec/foundation/schemas").Fr;
20
+ app: import("../aztec-address/index.js").AztecAddress;
19
21
  }, {
20
- value: string;
22
+ secret: string;
23
+ app?: any;
21
24
  }>;
22
25
  index: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>;
23
26
  }, "strip", z.ZodTypeAny, {
24
- secret: {
25
- value: import("@aztec/foundation/schemas").Fr;
27
+ extendedSecret: {
28
+ secret: import("@aztec/foundation/schemas").Fr;
29
+ app: import("../aztec-address/index.js").AztecAddress;
26
30
  };
27
31
  index: number;
28
32
  }, {
29
- secret: {
30
- value: string;
33
+ extendedSecret: {
34
+ secret: string;
35
+ app?: any;
31
36
  };
32
37
  index: string | number | bigint;
33
38
  }>;
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlX3RhZy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xvZ3MvcHJlX3RhZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXhCLE9BQU8sRUFDTCxLQUFLLDJCQUEyQixFQUVqQyxNQUFNLHFDQUFxQyxDQUFDO0FBRTdDOzs7Ozs7R0FNRztBQUNILE1BQU0sTUFBTSxNQUFNLEdBQUc7SUFDbkIsTUFBTSxFQUFFLDJCQUEyQixDQUFDO0lBQ3BDLEtBQUssRUFBRSxNQUFNLENBQUM7Q0FDZixDQUFDO0FBRUYsZUFBTyxNQUFNLFlBQVk7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFHdkIsQ0FBQyJ9
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlX3RhZy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xvZ3MvcHJlX3RhZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXhCLE9BQU8sRUFDTCxLQUFLLG1DQUFtQyxFQUV6QyxNQUFNLDhDQUE4QyxDQUFDO0FBRXREOzs7Ozs7R0FNRztBQUNILE1BQU0sTUFBTSxNQUFNLEdBQUc7SUFDbkIsY0FBYyxFQUFFLG1DQUFtQyxDQUFDO0lBQ3BELEtBQUssRUFBRSxNQUFNLENBQUM7Q0FDZixDQUFDO0FBRUYsZUFBTyxNQUFNLFlBQVk7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQUd2QixDQUFDIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"pre_tag.d.ts","sourceRoot":"","sources":["../../src/logs/pre_tag.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,KAAK,2BAA2B,EAEjC,MAAM,qCAAqC,CAAC;AAE7C;;;;;;GAMG;AACH,MAAM,MAAM,MAAM,GAAG;IACnB,MAAM,EAAE,2BAA2B,CAAC;IACpC,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;EAGvB,CAAC"}
1
+ {"version":3,"file":"pre_tag.d.ts","sourceRoot":"","sources":["../../src/logs/pre_tag.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,KAAK,mCAAmC,EAEzC,MAAM,8CAA8C,CAAC;AAEtD;;;;;;GAMG;AACH,MAAM,MAAM,MAAM,GAAG;IACnB,cAAc,EAAE,mCAAmC,CAAC;IACpD,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;EAGvB,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { schemas } from '@aztec/foundation/schemas';
2
2
  import { z } from 'zod';
3
- import { DirectionalAppTaggingSecretSchema } from './directional_app_tagging_secret.js';
3
+ import { ExtendedDirectionalAppTaggingSecretSchema } from './extended_directional_app_tagging_secret.js';
4
4
  export const PreTagSchema = z.object({
5
- secret: DirectionalAppTaggingSecretSchema,
5
+ extendedSecret: ExtendedDirectionalAppTaggingSecretSchema,
6
6
  index: schemas.Integer
7
7
  });
@@ -10,7 +10,7 @@ export declare class PrivateLog {
10
10
  static SIZE_IN_BYTES: number;
11
11
  constructor(fields: Tuple<Fr, typeof PRIVATE_LOG_SIZE_IN_FIELDS>, emittedLength: number);
12
12
  static from(fields: FieldsOf<PrivateLog>): PrivateLog;
13
- static getFields(fields: FieldsOf<PrivateLog>): readonly [[Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr], number];
13
+ static getFields(fields: FieldsOf<PrivateLog>): readonly [[Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr], number];
14
14
  toFields(): Fr[];
15
15
  static fromFields(fields: Fr[] | FieldReader): PrivateLog;
16
16
  getEmittedFields(): Fr[];
@@ -46,4 +46,4 @@ export declare class PrivateLog {
46
46
  equals(other: PrivateLog): boolean;
47
47
  [inspect.custom](): string;
48
48
  }
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZV9sb2cuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sb2dzL3ByaXZhdGVfbG9nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBc0IsMEJBQTBCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRixPQUFPLEVBQUUsS0FBSyxRQUFRLEVBQWEsTUFBTSx5QkFBeUIsQ0FBQztBQUVuRSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFcEQsT0FBTyxFQUNMLFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxLQUFLLEVBR1gsTUFBTSw2QkFBNkIsQ0FBQztBQUVyQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEIscUJBQWEsVUFBVTtJQUlaLE1BQU0sRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLE9BQU8sMEJBQTBCLENBQUM7SUFFcEQsYUFBYSxFQUFFLE1BQU07SUFMOUIsTUFBTSxDQUFDLGFBQWEsU0FBeUM7SUFFN0QsWUFDUyxNQUFNLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxPQUFPLDBCQUEwQixDQUFDLEVBRXBELGFBQWEsRUFBRSxNQUFNLEVBQzFCO0lBRUosTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQyxjQUV2QztJQUVELE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxVQUFVLENBQUMsK0ZBRTVDO0lBRUQsUUFBUSxJQUFJLEVBQUUsRUFBRSxDQUVmO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsV0FBVyxjQUczQztJQUVELGdCQUFnQixTQUVmO0lBRUQsMEJBQTBCLFNBRXpCO0lBRUQsWUFBWSxJQUFJLEVBQUUsRUFBRSxDQUVuQjtJQUVELE1BQU0sQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsV0FBVyxjQUl0RTtJQUVELE9BQU8sWUFHTjtJQUVELE1BQU0sQ0FBQyxLQUFLLGVBRVg7SUFFRCxRQUFRLElBQUksTUFBTSxDQUVqQjtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxZQUFZLGNBRzlDO0lBRUQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEtBQWMsY0FJOUI7SUFFRCxNQUFNLEtBQUssTUFBTTs7Ozs7Ozs7Ozs7O09BUWhCO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsTUFBTSxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxHQUFHLFVBQVUsQ0FRM0M7SUFFRCxNQUFNLENBQUMsS0FBSyxFQUFFLFVBQVUsV0FFdkI7SUFFRCxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxNQUFNLENBS3pCO0NBQ0YifQ==
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZV9sb2cuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sb2dzL3ByaXZhdGVfbG9nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBc0IsMEJBQTBCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRixPQUFPLEVBQUUsS0FBSyxRQUFRLEVBQWEsTUFBTSx5QkFBeUIsQ0FBQztBQUVuRSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFcEQsT0FBTyxFQUNMLFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxLQUFLLEVBR1gsTUFBTSw2QkFBNkIsQ0FBQztBQUVyQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEIscUJBQWEsVUFBVTtJQUlaLE1BQU0sRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLE9BQU8sMEJBQTBCLENBQUM7SUFFcEQsYUFBYSxFQUFFLE1BQU07SUFMOUIsTUFBTSxDQUFDLGFBQWEsU0FBeUM7SUFFN0QsWUFDUyxNQUFNLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxPQUFPLDBCQUEwQixDQUFDLEVBRXBELGFBQWEsRUFBRSxNQUFNLEVBQzFCO0lBRUosTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQyxjQUV2QztJQUVELE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxVQUFVLENBQUMsdUZBRTVDO0lBRUQsUUFBUSxJQUFJLEVBQUUsRUFBRSxDQUVmO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsV0FBVyxjQUczQztJQUVELGdCQUFnQixTQUVmO0lBRUQsMEJBQTBCLFNBRXpCO0lBRUQsWUFBWSxJQUFJLEVBQUUsRUFBRSxDQUVuQjtJQUVELE1BQU0sQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsV0FBVyxjQUl0RTtJQUVELE9BQU8sWUFHTjtJQUVELE1BQU0sQ0FBQyxLQUFLLGVBRVg7SUFFRCxRQUFRLElBQUksTUFBTSxDQUVqQjtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxZQUFZLGNBRzlDO0lBRUQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEtBQWMsY0FJOUI7SUFFRCxNQUFNLEtBQUssTUFBTTs7Ozs7Ozs7Ozs7O09BUWhCO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsTUFBTSxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxHQUFHLFVBQVUsQ0FRM0M7SUFFRCxNQUFNLENBQUMsS0FBSyxFQUFFLFVBQVUsV0FFdkI7SUFFRCxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxNQUFNLENBS3pCO0NBQ0YifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"private_log.d.ts","sourceRoot":"","sources":["../../src/logs/private_log.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAClF,OAAO,EAAE,KAAK,QAAQ,EAAa,MAAM,yBAAyB,CAAC;AAEnE,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EACL,YAAY,EACZ,WAAW,EACX,KAAK,KAAK,EAGX,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,qBAAa,UAAU;IAIZ,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,0BAA0B,CAAC;IAEpD,aAAa,EAAE,MAAM;IAL9B,MAAM,CAAC,aAAa,SAAyC;IAE7D,YACS,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,0BAA0B,CAAC,EAEpD,aAAa,EAAE,MAAM,EAC1B;IAEJ,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,cAEvC;IAED,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,+FAE5C;IAED,QAAQ,IAAI,EAAE,EAAE,CAEf;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,cAG3C;IAED,gBAAgB,SAEf;IAED,0BAA0B,SAEzB;IAED,YAAY,IAAI,EAAE,EAAE,CAEnB;IAED,MAAM,CAAC,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,cAItE;IAED,OAAO,YAGN;IAED,MAAM,CAAC,KAAK,eAEX;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,cAG9C;IAED,MAAM,CAAC,MAAM,CAAC,GAAG,KAAc,cAI9B;IAED,MAAM,KAAK,MAAM;;;;;;;;;;;;OAQhB;IAED;;;;;;OAMG;IACH,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,UAAU,CAQ3C;IAED,MAAM,CAAC,KAAK,EAAE,UAAU,WAEvB;IAED,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAKzB;CACF"}
1
+ {"version":3,"file":"private_log.d.ts","sourceRoot":"","sources":["../../src/logs/private_log.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAClF,OAAO,EAAE,KAAK,QAAQ,EAAa,MAAM,yBAAyB,CAAC;AAEnE,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EACL,YAAY,EACZ,WAAW,EACX,KAAK,KAAK,EAGX,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,qBAAa,UAAU;IAIZ,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,0BAA0B,CAAC;IAEpD,aAAa,EAAE,MAAM;IAL9B,MAAM,CAAC,aAAa,SAAyC;IAE7D,YACS,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,0BAA0B,CAAC,EAEpD,aAAa,EAAE,MAAM,EAC1B;IAEJ,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,cAEvC;IAED,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,uFAE5C;IAED,QAAQ,IAAI,EAAE,EAAE,CAEf;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,cAG3C;IAED,gBAAgB,SAEf;IAED,0BAA0B,SAEzB;IAED,YAAY,IAAI,EAAE,EAAE,CAEnB;IAED,MAAM,CAAC,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,cAItE;IAED,OAAO,YAGN;IAED,MAAM,CAAC,KAAK,eAEX;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,cAG9C;IAED,MAAM,CAAC,MAAM,CAAC,GAAG,KAAc,cAI9B;IAED,MAAM,KAAK,MAAM;;;;;;;;;;;;OAQhB;IAED;;;;;;OAMG;IACH,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,UAAU,CAQ3C;IAED,MAAM,CAAC,KAAK,EAAE,UAAU,WAEvB;IAED,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAKzB;CACF"}
@@ -1,7 +1,8 @@
1
1
  import type { Fr } from '@aztec/foundation/curves/bn254';
2
2
  import type { ZodFor } from '@aztec/foundation/schemas';
3
3
  import type { AztecAddress } from '../aztec-address/index.js';
4
- import type { Tag } from './tag.js';
4
+ import type { PreTag } from './pre_tag.js';
5
+ import { Tag } from './tag.js';
5
6
  /** Branding to ensure fields are not interchangeable types. */
6
7
  export interface SiloedTag {
7
8
  /** Brand. */
@@ -14,10 +15,11 @@ export interface SiloedTag {
14
15
  export declare class SiloedTag {
15
16
  readonly value: Fr;
16
17
  constructor(value: Fr);
17
- static compute(tag: Tag, app: AztecAddress): Promise<SiloedTag>;
18
+ static compute(preTag: PreTag): Promise<SiloedTag>;
19
+ static computeFromTagAndApp(tag: Tag, app: AztecAddress): Promise<SiloedTag>;
18
20
  toString(): string;
19
21
  toJSON(): string;
20
22
  equals(other: SiloedTag): boolean;
21
23
  static get schema(): ZodFor<SiloedTag>;
22
24
  }
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lsb2VkX3RhZy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xvZ3Mvc2lsb2VkX3RhZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUV4RCxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUc5RCxPQUFPLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFJcEMsK0RBQStEO0FBQy9ELE1BQU0sV0FBVyxTQUFTO0lBQ3hCLGFBQWE7SUFDYixTQUFTLEVBQUUsV0FBVyxDQUFDO0NBQ3hCO0FBRUQ7OztHQUdHO0FBQ0gscUJBQWEsU0FBUzthQUNRLEtBQUssRUFBRSxFQUFFO0lBQXJDLFlBQTRCLEtBQUssRUFBRSxFQUFFLEVBQUk7SUFFekMsT0FBYSxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsWUFBWSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FHcEU7SUFFRCxRQUFRLElBQUksTUFBTSxDQUVqQjtJQUVELE1BQU0sSUFBSSxNQUFNLENBRWY7SUFFRCxNQUFNLENBQUMsS0FBSyxFQUFFLFNBQVMsR0FBRyxPQUFPLENBRWhDO0lBRUQsTUFBTSxLQUFLLE1BQU0sSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLENBRXJDO0NBQ0YifQ==
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lsb2VkX3RhZy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xvZ3Mvc2lsb2VkX3RhZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUV4RCxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUc5RCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDM0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUkvQiwrREFBK0Q7QUFDL0QsTUFBTSxXQUFXLFNBQVM7SUFDeEIsYUFBYTtJQUNiLFNBQVMsRUFBRSxXQUFXLENBQUM7Q0FDeEI7QUFFRDs7O0dBR0c7QUFDSCxxQkFBYSxTQUFTO2FBQ1EsS0FBSyxFQUFFLEVBQUU7SUFBckMsWUFBNEIsS0FBSyxFQUFFLEVBQUUsRUFBSTtJQUV6QyxPQUFhLE9BQU8sQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FHdkQ7SUFFRCxPQUFhLG9CQUFvQixDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLFlBQVksR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBR2pGO0lBRUQsUUFBUSxJQUFJLE1BQU0sQ0FFakI7SUFFRCxNQUFNLElBQUksTUFBTSxDQUVmO0lBRUQsTUFBTSxDQUFDLEtBQUssRUFBRSxTQUFTLEdBQUcsT0FBTyxDQUVoQztJQUVELE1BQU0sS0FBSyxNQUFNLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUVyQztDQUNGIn0=
@@ -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,GAAG,EAAE,MAAM,UAAU,CAAC;AAIpC,+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,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,CAGpE;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":"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,5 +1,6 @@
1
1
  import { computeSiloedPrivateLogFirstField } from '../hash/hash.js';
2
2
  import { schemas } from '../schemas/schemas.js';
3
+ import { Tag } from './tag.js';
3
4
  /**
4
5
  * Represents a tag used in private log as it "appears on the chain" - that is the tag is siloed with a contract
5
6
  * address that emitted the log.
@@ -8,7 +9,11 @@ import { schemas } from '../schemas/schemas.js';
8
9
  constructor(value){
9
10
  this.value = value;
10
11
  }
11
- static async compute(tag, app) {
12
+ static async compute(preTag) {
13
+ const tag = await Tag.compute(preTag);
14
+ return SiloedTag.computeFromTagAndApp(tag, preTag.extendedSecret.app);
15
+ }
16
+ static async computeFromTagAndApp(tag, app) {
12
17
  const siloedTag = await computeSiloedPrivateLogFirstField(app, tag.value);
13
18
  return new SiloedTag(siloedTag);
14
19
  }
package/dest/logs/tag.js CHANGED
@@ -10,7 +10,7 @@ import { schemas } from '../schemas/schemas.js';
10
10
  }
11
11
  static async compute(preTag) {
12
12
  const tag = await poseidon2Hash([
13
- preTag.secret.value,
13
+ preTag.extendedSecret.secret,
14
14
  preTag.index
15
15
  ]);
16
16
  return new Tag(tag);
@@ -7,4 +7,14 @@ import type { CheckpointAttestation } from './checkpoint_attestation.js';
7
7
  * @todo: perform this logic within the memory attestation store instead?
8
8
  */
9
9
  export declare function orderAttestations(attestations: CheckpointAttestation[], orderAddresses: EthAddress[]): CommitteeAttestation[];
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0ZXN0YXRpb25fdXRpbHMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wMnAvYXR0ZXN0YXRpb25fdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFaEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDekQsT0FBTyxLQUFLLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUV6RTs7OztHQUlHO0FBQ0gsd0JBQWdCLGlCQUFpQixDQUMvQixZQUFZLEVBQUUscUJBQXFCLEVBQUUsRUFDckMsY0FBYyxFQUFFLFVBQVUsRUFBRSxHQUMzQixvQkFBb0IsRUFBRSxDQXFCeEIifQ==
10
+ /**
11
+ * Trims attestations to the minimum required number to save L1 calldata gas.
12
+ * Each signature costs 65 bytes of calldata vs 20 bytes for just an address.
13
+ *
14
+ * Priority order for keeping attestations:
15
+ * 1. The proposer's attestation (required by L1 contract - MissingProposerSignature revert)
16
+ * 2. Attestations from the local node's validator keys
17
+ * 3. Remaining attestations filled to reach the required count
18
+ */
19
+ export declare function trimAttestations(attestations: CheckpointAttestation[], required: number, proposerAddress: EthAddress, localAddresses: EthAddress[]): CheckpointAttestation[];
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0ZXN0YXRpb25fdXRpbHMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wMnAvYXR0ZXN0YXRpb25fdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFaEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDekQsT0FBTyxLQUFLLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUV6RTs7OztHQUlHO0FBQ0gsd0JBQWdCLGlCQUFpQixDQUMvQixZQUFZLEVBQUUscUJBQXFCLEVBQUUsRUFDckMsY0FBYyxFQUFFLFVBQVUsRUFBRSxHQUMzQixvQkFBb0IsRUFBRSxDQXFCeEI7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILHdCQUFnQixnQkFBZ0IsQ0FDOUIsWUFBWSxFQUFFLHFCQUFxQixFQUFFLEVBQ3JDLFFBQVEsRUFBRSxNQUFNLEVBQ2hCLGVBQWUsRUFBRSxVQUFVLEVBQzNCLGNBQWMsRUFBRSxVQUFVLEVBQUUsR0FDM0IscUJBQXFCLEVBQUUsQ0F3Q3pCIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"attestation_utils.d.ts","sourceRoot":"","sources":["../../src/p2p/attestation_utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAEhE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEzE;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,qBAAqB,EAAE,EACrC,cAAc,EAAE,UAAU,EAAE,GAC3B,oBAAoB,EAAE,CAqBxB"}
1
+ {"version":3,"file":"attestation_utils.d.ts","sourceRoot":"","sources":["../../src/p2p/attestation_utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAEhE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEzE;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,qBAAqB,EAAE,EACrC,cAAc,EAAE,UAAU,EAAE,GAC3B,oBAAoB,EAAE,CAqBxB;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,YAAY,EAAE,qBAAqB,EAAE,EACrC,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,UAAU,EAC3B,cAAc,EAAE,UAAU,EAAE,GAC3B,qBAAqB,EAAE,CAwCzB"}