@aztec/stdlib 5.0.0-nightly.20260630 → 5.0.0-nightly.20260702

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 (41) hide show
  1. package/dest/block/l2_block_source.d.ts +22 -2
  2. package/dest/block/l2_block_source.d.ts.map +1 -1
  3. package/dest/block/l2_block_source.js +10 -0
  4. package/dest/block/l2_block_stream/event_driven_l2_block_stream.d.ts +39 -0
  5. package/dest/block/l2_block_stream/event_driven_l2_block_stream.d.ts.map +1 -0
  6. package/dest/block/l2_block_stream/event_driven_l2_block_stream.js +165 -0
  7. package/dest/block/l2_block_stream/index.d.ts +2 -1
  8. package/dest/block/l2_block_stream/index.d.ts.map +1 -1
  9. package/dest/block/l2_block_stream/index.js +1 -0
  10. package/dest/block/l2_block_stream/interfaces.d.ts +16 -2
  11. package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
  12. package/dest/block/l2_block_stream/interfaces.js +25 -1
  13. package/dest/block/l2_block_stream/l2_block_stream.d.ts +21 -35
  14. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  15. package/dest/block/l2_block_stream/l2_block_stream.js +5 -30
  16. package/dest/contract/contract_address.d.ts +3 -2
  17. package/dest/contract/contract_address.d.ts.map +1 -1
  18. package/dest/contract/partial_address.d.ts +9 -3
  19. package/dest/contract/partial_address.d.ts.map +1 -1
  20. package/dest/contract/partial_address.js +8 -2
  21. package/dest/interfaces/proving-job.d.ts +70 -70
  22. package/dest/keys/derivation.d.ts +31 -1
  23. package/dest/keys/derivation.d.ts.map +1 -1
  24. package/dest/keys/derivation.js +19 -11
  25. package/dest/logs/app_tagging_secret.d.ts +11 -8
  26. package/dest/logs/app_tagging_secret.d.ts.map +1 -1
  27. package/dest/logs/app_tagging_secret.js +14 -14
  28. package/dest/logs/shared_secret_derivation.d.ts +14 -7
  29. package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
  30. package/dest/logs/shared_secret_derivation.js +16 -8
  31. package/package.json +8 -8
  32. package/src/block/l2_block_source.ts +41 -0
  33. package/src/block/l2_block_stream/event_driven_l2_block_stream.ts +207 -0
  34. package/src/block/l2_block_stream/index.ts +1 -0
  35. package/src/block/l2_block_stream/interfaces.ts +35 -1
  36. package/src/block/l2_block_stream/l2_block_stream.ts +35 -62
  37. package/src/contract/contract_address.ts +2 -1
  38. package/src/contract/partial_address.ts +8 -2
  39. package/src/keys/derivation.ts +38 -9
  40. package/src/logs/app_tagging_secret.ts +14 -10
  41. package/src/logs/shared_secret_derivation.ts +17 -10
@@ -3,6 +3,7 @@ import { AbortError } from '@aztec/foundation/error';
3
3
  import { createLogger } from '@aztec/foundation/log';
4
4
  import { RunningPromise } from '@aztec/foundation/running-promise';
5
5
  import { makeL2BlockId } from '../l2_block_source.js';
6
+ import { localBlockIdDiffers } from './interfaces.js';
6
7
  /** Creates a stream of events for new blocks, chain tips updates, and reorgs, out of polling an archiver or a node. */ export class L2BlockStream {
7
8
  l2BlockSource;
8
9
  localData;
@@ -129,28 +130,28 @@ import { makeL2BlockId } from '../l2_block_source.js';
129
130
  // End-of-pass reconciliation: chain-proposed fires against the pre-pass baseline (a post-prune re-read would
130
131
  // equal the source tip and suppress it), then the tiers highest-to-lowest so the finalized <= proven <=
131
132
  // checkpointed <= proposed invariant holds mid-pass.
132
- if (this.blockTipDiffers(prePassProposed, sourceTips.proposed)) {
133
+ if (localBlockIdDiffers(prePassProposed, sourceTips.proposed)) {
133
134
  await this.emitEvent({
134
135
  type: 'chain-proposed',
135
136
  block: sourceTips.proposed
136
137
  });
137
138
  }
138
139
  const reconcileTips = pruned ? await this.localData.getL2Tips() : localTips;
139
- if (!this.opts.ignoreCheckpoints && this.tipDiffers(reconcileTips.checkpointed?.block, sourceTips.checkpointed)) {
140
+ if (!this.opts.ignoreCheckpoints && localBlockIdDiffers(reconcileTips.checkpointed?.block, sourceTips.checkpointed.block)) {
140
141
  await this.emitEvent({
141
142
  type: 'chain-checkpointed',
142
143
  block: sourceTips.checkpointed.block,
143
144
  checkpoint: sourceTips.checkpointed.checkpoint
144
145
  });
145
146
  }
146
- if (reconcileTips.proven !== undefined && this.tipDiffers(reconcileTips.proven.block, sourceTips.proven)) {
147
+ if (reconcileTips.proven !== undefined && localBlockIdDiffers(reconcileTips.proven.block, sourceTips.proven.block)) {
147
148
  await this.emitEvent({
148
149
  type: 'chain-proven',
149
150
  block: sourceTips.proven.block,
150
151
  checkpoint: sourceTips.proven.checkpoint
151
152
  });
152
153
  }
153
- if (reconcileTips.finalized !== undefined && this.tipDiffers(reconcileTips.finalized.block, sourceTips.finalized)) {
154
+ if (reconcileTips.finalized !== undefined && localBlockIdDiffers(reconcileTips.finalized.block, sourceTips.finalized.block)) {
154
155
  await this.emitEvent({
155
156
  type: 'chain-finalized',
156
157
  block: sourceTips.finalized.block,
@@ -230,32 +231,6 @@ import { makeL2BlockId } from '../l2_block_source.js';
230
231
  return true;
231
232
  }
232
233
  /**
233
- * Returns whether the source tip differs from the local one and therefore warrants a tier event. Compares block
234
- * number and, when both hashes are known, block hash. The hash comparison is skipped when the local hash is
235
- * undefined or missing: world-state legitimately reports `undefined` hashes for tips ahead of its synced range,
236
- * and comparing against an undefined hash would re-emit the event on every poll.
237
- */ tipDiffers(localBlock, sourceTip) {
238
- return this.blockTipDiffers(localBlock, sourceTip.block);
239
- }
240
- /**
241
- * Block-only variant of {@link tipDiffers} for the proposed tip (an {@link L2BlockId}, with no checkpoint). Compares
242
- * block number and, when the local hash is known, block hash. The hash comparison is skipped when the local hash is
243
- * undefined: world-state reports `undefined` for its proposed hash, and a strict comparison would re-emit
244
- * `chain-proposed` on every poll for it. ({@link L2TipsStoreBase} consumers always carry a hash, so the leniency is
245
- * inert for them.)
246
- */ blockTipDiffers(localBlock, sourceBlock) {
247
- if (localBlock === undefined) {
248
- return true;
249
- }
250
- if (sourceBlock.number !== localBlock.number) {
251
- return true;
252
- }
253
- if (localBlock.hash === undefined) {
254
- return false;
255
- }
256
- return sourceBlock.hash !== localBlock.hash;
257
- }
258
- /**
259
234
  * Returns whether the source and local agree on the block hash at a given height.
260
235
  * @param blockNumber - The block number to test.
261
236
  * @param args - A cache of data already requested from source (to avoid re-requesting it) and the source's
@@ -2,6 +2,7 @@ import { Fr } from '@aztec/foundation/curves/bn254';
2
2
  import { type FunctionAbi, FunctionSelector } from '../abi/index.js';
3
3
  import type { AztecAddress } from '../aztec-address/index.js';
4
4
  import type { ContractInstance } from './interfaces/contract_instance.js';
5
+ import type { PartialAddress } from './partial_address.js';
5
6
  /**
6
7
  * Returns the deployment address for a given contract instance.
7
8
  * ```
@@ -22,7 +23,7 @@ export declare function computeContractAddressFromInstance(instance: ContractIns
22
23
  export declare function computePartialAddress(instance: Pick<ContractInstance, 'originalContractClassId' | 'initializationHash' | 'salt' | 'deployer' | 'immutablesHash'> | {
23
24
  originalContractClassId: Fr;
24
25
  saltedInitializationHash: Fr;
25
- }): Promise<Fr>;
26
+ }): Promise<PartialAddress>;
26
27
  /**
27
28
  * Computes the salted initialization hash for an address, defined as the hash of the salt and initialization hash.
28
29
  * @param instance - Contract instance for which to compute the salted initialization hash.
@@ -42,4 +43,4 @@ export declare function computeInitializationHash(initFn: FunctionAbi | undefine
42
43
  * @returns The hash.
43
44
  */
44
45
  export declare function computeInitializationHashFromEncodedArgs(initFn: FunctionSelector, encodedArgs: Fr[]): Promise<Fr>;
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfYWRkcmVzcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRyYWN0L2NvbnRyYWN0X2FkZHJlc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBELE9BQU8sRUFBRSxLQUFLLFdBQVcsRUFBRSxnQkFBZ0IsRUFBbUIsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RixPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUc5RCxPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBSTFFOzs7Ozs7OztHQVFHO0FBQ0gsd0JBQXNCLGtDQUFrQyxDQUN0RCxRQUFRLEVBQ0osZ0JBQWdCLEdBQ2hCLENBQUM7SUFBRSx1QkFBdUIsRUFBRSxFQUFFLENBQUM7SUFBQyx3QkFBd0IsRUFBRSxFQUFFLENBQUE7Q0FBRSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxZQUFZLENBQUMsQ0FBQyxHQUN6RyxPQUFPLENBQUMsWUFBWSxDQUFDLENBR3ZCO0FBRUQ7OztHQUdHO0FBQ0gsd0JBQXNCLHFCQUFxQixDQUN6QyxRQUFRLEVBQ0osSUFBSSxDQUFDLGdCQUFnQixFQUFFLHlCQUF5QixHQUFHLG9CQUFvQixHQUFHLE1BQU0sR0FBRyxVQUFVLEdBQUcsZ0JBQWdCLENBQUMsR0FDakg7SUFBRSx1QkFBdUIsRUFBRSxFQUFFLENBQUM7SUFBQyx3QkFBd0IsRUFBRSxFQUFFLENBQUE7Q0FBRSxHQUNoRSxPQUFPLENBQUMsRUFBRSxDQUFDLENBVWI7QUFFRDs7O0dBR0c7QUFDSCx3QkFBZ0IsK0JBQStCLENBQzdDLFFBQVEsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsb0JBQW9CLEdBQUcsTUFBTSxHQUFHLFVBQVUsR0FBRyxnQkFBZ0IsQ0FBQyxHQUM5RixPQUFPLENBQUMsRUFBRSxDQUFDLENBS2I7QUFFRDs7Ozs7R0FLRztBQUNILHdCQUFzQix5QkFBeUIsQ0FBQyxNQUFNLEVBQUUsV0FBVyxHQUFHLFNBQVMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEdBQUcsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQU96RztBQUVEOzs7OztHQUtHO0FBQ0gsd0JBQXNCLHdDQUF3QyxDQUM1RCxNQUFNLEVBQUUsZ0JBQWdCLEVBQ3hCLFdBQVcsRUFBRSxFQUFFLEVBQUUsR0FDaEIsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUdiIn0=
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfYWRkcmVzcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRyYWN0L2NvbnRyYWN0X2FkZHJlc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBELE9BQU8sRUFBRSxLQUFLLFdBQVcsRUFBRSxnQkFBZ0IsRUFBbUIsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RixPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUc5RCxPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzFFLE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBSTNEOzs7Ozs7OztHQVFHO0FBQ0gsd0JBQXNCLGtDQUFrQyxDQUN0RCxRQUFRLEVBQ0osZ0JBQWdCLEdBQ2hCLENBQUM7SUFBRSx1QkFBdUIsRUFBRSxFQUFFLENBQUM7SUFBQyx3QkFBd0IsRUFBRSxFQUFFLENBQUE7Q0FBRSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxZQUFZLENBQUMsQ0FBQyxHQUN6RyxPQUFPLENBQUMsWUFBWSxDQUFDLENBR3ZCO0FBRUQ7OztHQUdHO0FBQ0gsd0JBQXNCLHFCQUFxQixDQUN6QyxRQUFRLEVBQ0osSUFBSSxDQUFDLGdCQUFnQixFQUFFLHlCQUF5QixHQUFHLG9CQUFvQixHQUFHLE1BQU0sR0FBRyxVQUFVLEdBQUcsZ0JBQWdCLENBQUMsR0FDakg7SUFBRSx1QkFBdUIsRUFBRSxFQUFFLENBQUM7SUFBQyx3QkFBd0IsRUFBRSxFQUFFLENBQUE7Q0FBRSxHQUNoRSxPQUFPLENBQUMsY0FBYyxDQUFDLENBVXpCO0FBRUQ7OztHQUdHO0FBQ0gsd0JBQWdCLCtCQUErQixDQUM3QyxRQUFRLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixFQUFFLG9CQUFvQixHQUFHLE1BQU0sR0FBRyxVQUFVLEdBQUcsZ0JBQWdCLENBQUMsR0FDOUYsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUtiO0FBRUQ7Ozs7O0dBS0c7QUFDSCx3QkFBc0IseUJBQXlCLENBQUMsTUFBTSxFQUFFLFdBQVcsR0FBRyxTQUFTLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FPekc7QUFFRDs7Ozs7R0FLRztBQUNILHdCQUFzQix3Q0FBd0MsQ0FDNUQsTUFBTSxFQUFFLGdCQUFnQixFQUN4QixXQUFXLEVBQUUsRUFBRSxFQUFFLEdBQ2hCLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FHYiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"contract_address.d.ts","sourceRoot":"","sources":["../../src/contract/contract_address.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EAAE,KAAK,WAAW,EAAE,gBAAgB,EAAmB,MAAM,iBAAiB,CAAC;AACtF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAG9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAI1E;;;;;;;;GAQG;AACH,wBAAsB,kCAAkC,CACtD,QAAQ,EACJ,gBAAgB,GAChB,CAAC;IAAE,uBAAuB,EAAE,EAAE,CAAC;IAAC,wBAAwB,EAAE,EAAE,CAAA;CAAE,GAAG,IAAI,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC,GACzG,OAAO,CAAC,YAAY,CAAC,CAGvB;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CACzC,QAAQ,EACJ,IAAI,CAAC,gBAAgB,EAAE,yBAAyB,GAAG,oBAAoB,GAAG,MAAM,GAAG,UAAU,GAAG,gBAAgB,CAAC,GACjH;IAAE,uBAAuB,EAAE,EAAE,CAAC;IAAC,wBAAwB,EAAE,EAAE,CAAA;CAAE,GAChE,OAAO,CAAC,EAAE,CAAC,CAUb;AAED;;;GAGG;AACH,wBAAgB,+BAA+B,CAC7C,QAAQ,EAAE,IAAI,CAAC,gBAAgB,EAAE,oBAAoB,GAAG,MAAM,GAAG,UAAU,GAAG,gBAAgB,CAAC,GAC9F,OAAO,CAAC,EAAE,CAAC,CAKb;AAED;;;;;GAKG;AACH,wBAAsB,yBAAyB,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAOzG;AAED;;;;;GAKG;AACH,wBAAsB,wCAAwC,CAC5D,MAAM,EAAE,gBAAgB,EACxB,WAAW,EAAE,EAAE,EAAE,GAChB,OAAO,CAAC,EAAE,CAAC,CAGb"}
1
+ {"version":3,"file":"contract_address.d.ts","sourceRoot":"","sources":["../../src/contract/contract_address.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EAAE,KAAK,WAAW,EAAE,gBAAgB,EAAmB,MAAM,iBAAiB,CAAC;AACtF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAG9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAI3D;;;;;;;;GAQG;AACH,wBAAsB,kCAAkC,CACtD,QAAQ,EACJ,gBAAgB,GAChB,CAAC;IAAE,uBAAuB,EAAE,EAAE,CAAC;IAAC,wBAAwB,EAAE,EAAE,CAAA;CAAE,GAAG,IAAI,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC,GACzG,OAAO,CAAC,YAAY,CAAC,CAGvB;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CACzC,QAAQ,EACJ,IAAI,CAAC,gBAAgB,EAAE,yBAAyB,GAAG,oBAAoB,GAAG,MAAM,GAAG,UAAU,GAAG,gBAAgB,CAAC,GACjH;IAAE,uBAAuB,EAAE,EAAE,CAAC;IAAC,wBAAwB,EAAE,EAAE,CAAA;CAAE,GAChE,OAAO,CAAC,cAAc,CAAC,CAUzB;AAED;;;GAGG;AACH,wBAAgB,+BAA+B,CAC7C,QAAQ,EAAE,IAAI,CAAC,gBAAgB,EAAE,oBAAoB,GAAG,MAAM,GAAG,UAAU,GAAG,gBAAgB,CAAC,GAC9F,OAAO,CAAC,EAAE,CAAC,CAKb;AAED;;;;;GAKG;AACH,wBAAsB,yBAAyB,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAOzG;AAED;;;;;GAKG;AACH,wBAAsB,wCAAwC,CAC5D,MAAM,EAAE,gBAAgB,EACxB,WAAW,EAAE,EAAE,EAAE,GAChB,OAAO,CAAC,EAAE,CAAC,CAGb"}
@@ -1,7 +1,13 @@
1
1
  import type { Fr } from '@aztec/foundation/curves/bn254';
2
2
  /**
3
- * A type which along with public key forms a preimage of a contract address. See the link below for more details
4
- * https://github.com/AztecProtocol/aztec-packages/blob/master/docs/docs/concepts/foundation/accounts/keys.md#addresses-partial-addresses-and-public-keys
3
+ * The contract-side preimage of an Aztec address, i.e. the commitment to a specific contract instance.
4
+ *
5
+ * A partial address commits to a contract's code and initialization
6
+ * (`hash(contract_class_id, salted_initialization_hash)`) but not to its keys. Combined with an account's `PublicKeys`,
7
+ * it fully determines the address: `address = (hash(public_keys_hash, partial_address) * G + Ivpk_m).x`. Two accounts
8
+ * therefore share an address only if they share both their public keys and their partial address.
9
+ *
10
+ * See `computePartialAddress` for the derivation.
5
11
  */
6
12
  export type PartialAddress = Fr;
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFydGlhbF9hZGRyZXNzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udHJhY3QvcGFydGlhbF9hZGRyZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXpEOzs7R0FHRztBQUNILE1BQU0sTUFBTSxjQUFjLEdBQUcsRUFBRSxDQUFDIn0=
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFydGlhbF9hZGRyZXNzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udHJhY3QvcGFydGlhbF9hZGRyZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXpEOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sTUFBTSxjQUFjLEdBQUcsRUFBRSxDQUFDIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"partial_address.d.ts","sourceRoot":"","sources":["../../src/contract/partial_address.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEzD;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,EAAE,CAAC"}
1
+ {"version":3,"file":"partial_address.d.ts","sourceRoot":"","sources":["../../src/contract/partial_address.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEzD;;;;;;;;;GASG;AACH,MAAM,MAAM,cAAc,GAAG,EAAE,CAAC"}
@@ -1,4 +1,10 @@
1
1
  /**
2
- * A type which along with public key forms a preimage of a contract address. See the link below for more details
3
- * https://github.com/AztecProtocol/aztec-packages/blob/master/docs/docs/concepts/foundation/accounts/keys.md#addresses-partial-addresses-and-public-keys
2
+ * The contract-side preimage of an Aztec address, i.e. the commitment to a specific contract instance.
3
+ *
4
+ * A partial address commits to a contract's code and initialization
5
+ * (`hash(contract_class_id, salted_initialization_hash)`) but not to its keys. Combined with an account's `PublicKeys`,
6
+ * it fully determines the address: `address = (hash(public_keys_hash, partial_address) * G + Ivpk_m).x`. Two accounts
7
+ * therefore share an address only if they share both their public keys and their partial address.
8
+ *
9
+ * See `computePartialAddress` for the derivation.
4
10
  */ export { };
@@ -416,28 +416,28 @@ export declare const ProvingJobInputs: z.ZodDiscriminatedUnion<[z.ZodObject<{
416
416
  index: z.ZodPipe<z.ZodUnion<readonly [z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodCoercedBigInt<string | number | bigint>>;
417
417
  leafPreimage: z.ZodPipe<z.ZodObject<{
418
418
  leaf: z.ZodPipe<z.ZodObject<{
419
- slot: z.ZodType<import("@aztec/foundation/schemas").Fr, string, z.core.$ZodTypeInternals<import("@aztec/foundation/schemas").Fr, string>>;
420
- value: z.ZodType<import("@aztec/foundation/schemas").Fr, string, z.core.$ZodTypeInternals<import("@aztec/foundation/schemas").Fr, string>>;
421
- }, z.core.$strip>, z.ZodTransform<import("../trees/public_data_leaf.js").PublicDataTreeLeaf, {
422
- slot: import("@aztec/foundation/schemas").Fr;
423
- value: import("@aztec/foundation/schemas").Fr;
419
+ nullifier: z.ZodType<import("@aztec/foundation/schemas").Fr, string, z.core.$ZodTypeInternals<import("@aztec/foundation/schemas").Fr, string>>;
420
+ }, z.core.$strip>, z.ZodTransform<import("../trees/nullifier_leaf.js").NullifierLeaf, {
421
+ nullifier: import("@aztec/foundation/schemas").Fr;
424
422
  }>>;
425
423
  nextKey: z.ZodType<import("@aztec/foundation/schemas").Fr, string, z.core.$ZodTypeInternals<import("@aztec/foundation/schemas").Fr, string>>;
426
424
  nextIndex: z.ZodPipe<z.ZodUnion<readonly [z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodCoercedBigInt<string | number | bigint>>;
427
- }, z.core.$strip>, z.ZodTransform<import("../trees/public_data_leaf.js").PublicDataTreeLeafPreimage, {
428
- leaf: import("../trees/public_data_leaf.js").PublicDataTreeLeaf;
425
+ }, z.core.$strip>, z.ZodTransform<import("../trees/nullifier_leaf.js").NullifierLeafPreimage, {
426
+ leaf: import("../trees/nullifier_leaf.js").NullifierLeaf;
429
427
  nextKey: import("@aztec/foundation/schemas").Fr;
430
428
  nextIndex: bigint;
431
429
  }>> | z.ZodPipe<z.ZodObject<{
432
430
  leaf: z.ZodPipe<z.ZodObject<{
433
- nullifier: z.ZodType<import("@aztec/foundation/schemas").Fr, string, z.core.$ZodTypeInternals<import("@aztec/foundation/schemas").Fr, string>>;
434
- }, z.core.$strip>, z.ZodTransform<import("../trees/nullifier_leaf.js").NullifierLeaf, {
435
- nullifier: import("@aztec/foundation/schemas").Fr;
431
+ slot: z.ZodType<import("@aztec/foundation/schemas").Fr, string, z.core.$ZodTypeInternals<import("@aztec/foundation/schemas").Fr, string>>;
432
+ value: z.ZodType<import("@aztec/foundation/schemas").Fr, string, z.core.$ZodTypeInternals<import("@aztec/foundation/schemas").Fr, string>>;
433
+ }, z.core.$strip>, z.ZodTransform<import("../trees/public_data_leaf.js").PublicDataTreeLeaf, {
434
+ slot: import("@aztec/foundation/schemas").Fr;
435
+ value: import("@aztec/foundation/schemas").Fr;
436
436
  }>>;
437
437
  nextKey: z.ZodType<import("@aztec/foundation/schemas").Fr, string, z.core.$ZodTypeInternals<import("@aztec/foundation/schemas").Fr, string>>;
438
438
  nextIndex: z.ZodPipe<z.ZodUnion<readonly [z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodCoercedBigInt<string | number | bigint>>;
439
- }, z.core.$strip>, z.ZodTransform<import("../trees/nullifier_leaf.js").NullifierLeafPreimage, {
440
- leaf: import("../trees/nullifier_leaf.js").NullifierLeaf;
439
+ }, z.core.$strip>, z.ZodTransform<import("../trees/public_data_leaf.js").PublicDataTreeLeafPreimage, {
440
+ leaf: import("../trees/public_data_leaf.js").PublicDataTreeLeaf;
441
441
  nextKey: import("@aztec/foundation/schemas").Fr;
442
442
  nextIndex: bigint;
443
443
  }>>;
@@ -461,28 +461,28 @@ export declare const ProvingJobInputs: z.ZodDiscriminatedUnion<[z.ZodObject<{
461
461
  index: z.ZodPipe<z.ZodUnion<readonly [z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodCoercedBigInt<string | number | bigint>>;
462
462
  leafPreimage: z.ZodPipe<z.ZodObject<{
463
463
  leaf: z.ZodPipe<z.ZodObject<{
464
- slot: z.ZodType<import("@aztec/foundation/schemas").Fr, string, z.core.$ZodTypeInternals<import("@aztec/foundation/schemas").Fr, string>>;
465
- value: z.ZodType<import("@aztec/foundation/schemas").Fr, string, z.core.$ZodTypeInternals<import("@aztec/foundation/schemas").Fr, string>>;
466
- }, z.core.$strip>, z.ZodTransform<import("../trees/public_data_leaf.js").PublicDataTreeLeaf, {
467
- slot: import("@aztec/foundation/schemas").Fr;
468
- value: import("@aztec/foundation/schemas").Fr;
464
+ nullifier: z.ZodType<import("@aztec/foundation/schemas").Fr, string, z.core.$ZodTypeInternals<import("@aztec/foundation/schemas").Fr, string>>;
465
+ }, z.core.$strip>, z.ZodTransform<import("../trees/nullifier_leaf.js").NullifierLeaf, {
466
+ nullifier: import("@aztec/foundation/schemas").Fr;
469
467
  }>>;
470
468
  nextKey: z.ZodType<import("@aztec/foundation/schemas").Fr, string, z.core.$ZodTypeInternals<import("@aztec/foundation/schemas").Fr, string>>;
471
469
  nextIndex: z.ZodPipe<z.ZodUnion<readonly [z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodCoercedBigInt<string | number | bigint>>;
472
- }, z.core.$strip>, z.ZodTransform<import("../trees/public_data_leaf.js").PublicDataTreeLeafPreimage, {
473
- leaf: import("../trees/public_data_leaf.js").PublicDataTreeLeaf;
470
+ }, z.core.$strip>, z.ZodTransform<import("../trees/nullifier_leaf.js").NullifierLeafPreimage, {
471
+ leaf: import("../trees/nullifier_leaf.js").NullifierLeaf;
474
472
  nextKey: import("@aztec/foundation/schemas").Fr;
475
473
  nextIndex: bigint;
476
474
  }>> | z.ZodPipe<z.ZodObject<{
477
475
  leaf: z.ZodPipe<z.ZodObject<{
478
- nullifier: z.ZodType<import("@aztec/foundation/schemas").Fr, string, z.core.$ZodTypeInternals<import("@aztec/foundation/schemas").Fr, string>>;
479
- }, z.core.$strip>, z.ZodTransform<import("../trees/nullifier_leaf.js").NullifierLeaf, {
480
- nullifier: import("@aztec/foundation/schemas").Fr;
476
+ slot: z.ZodType<import("@aztec/foundation/schemas").Fr, string, z.core.$ZodTypeInternals<import("@aztec/foundation/schemas").Fr, string>>;
477
+ value: z.ZodType<import("@aztec/foundation/schemas").Fr, string, z.core.$ZodTypeInternals<import("@aztec/foundation/schemas").Fr, string>>;
478
+ }, z.core.$strip>, z.ZodTransform<import("../trees/public_data_leaf.js").PublicDataTreeLeaf, {
479
+ slot: import("@aztec/foundation/schemas").Fr;
480
+ value: import("@aztec/foundation/schemas").Fr;
481
481
  }>>;
482
482
  nextKey: z.ZodType<import("@aztec/foundation/schemas").Fr, string, z.core.$ZodTypeInternals<import("@aztec/foundation/schemas").Fr, string>>;
483
483
  nextIndex: z.ZodPipe<z.ZodUnion<readonly [z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodCoercedBigInt<string | number | bigint>>;
484
- }, z.core.$strip>, z.ZodTransform<import("../trees/nullifier_leaf.js").NullifierLeafPreimage, {
485
- leaf: import("../trees/nullifier_leaf.js").NullifierLeaf;
484
+ }, z.core.$strip>, z.ZodTransform<import("../trees/public_data_leaf.js").PublicDataTreeLeafPreimage, {
485
+ leaf: import("../trees/public_data_leaf.js").PublicDataTreeLeaf;
486
486
  nextKey: import("@aztec/foundation/schemas").Fr;
487
487
  nextIndex: bigint;
488
488
  }>>;
@@ -529,18 +529,30 @@ export declare const ProvingJobInputs: z.ZodDiscriminatedUnion<[z.ZodObject<{
529
529
  }>>;
530
530
  treeId: z.ZodNumber;
531
531
  leaf: z.ZodPipe<z.ZodObject<{
532
+ nullifier: z.ZodType<import("@aztec/foundation/schemas").Fr, string, z.core.$ZodTypeInternals<import("@aztec/foundation/schemas").Fr, string>>;
533
+ }, z.core.$strip>, z.ZodTransform<import("../trees/nullifier_leaf.js").NullifierLeaf, {
534
+ nullifier: import("@aztec/foundation/schemas").Fr;
535
+ }>> | z.ZodPipe<z.ZodObject<{
532
536
  slot: z.ZodType<import("@aztec/foundation/schemas").Fr, string, z.core.$ZodTypeInternals<import("@aztec/foundation/schemas").Fr, string>>;
533
537
  value: z.ZodType<import("@aztec/foundation/schemas").Fr, string, z.core.$ZodTypeInternals<import("@aztec/foundation/schemas").Fr, string>>;
534
538
  }, z.core.$strip>, z.ZodTransform<import("../trees/public_data_leaf.js").PublicDataTreeLeaf, {
535
539
  slot: import("@aztec/foundation/schemas").Fr;
536
540
  value: import("@aztec/foundation/schemas").Fr;
537
- }>> | z.ZodPipe<z.ZodObject<{
538
- nullifier: z.ZodType<import("@aztec/foundation/schemas").Fr, string, z.core.$ZodTypeInternals<import("@aztec/foundation/schemas").Fr, string>>;
539
- }, z.core.$strip>, z.ZodTransform<import("../trees/nullifier_leaf.js").NullifierLeaf, {
540
- nullifier: import("@aztec/foundation/schemas").Fr;
541
541
  }>>;
542
542
  lowLeavesWitnessData: z.ZodObject<{
543
543
  leaf: z.ZodPipe<z.ZodObject<{
544
+ leaf: z.ZodPipe<z.ZodObject<{
545
+ nullifier: z.ZodType<import("@aztec/foundation/schemas").Fr, string, z.core.$ZodTypeInternals<import("@aztec/foundation/schemas").Fr, string>>;
546
+ }, z.core.$strip>, z.ZodTransform<import("../trees/nullifier_leaf.js").NullifierLeaf, {
547
+ nullifier: import("@aztec/foundation/schemas").Fr;
548
+ }>>;
549
+ nextKey: z.ZodType<import("@aztec/foundation/schemas").Fr, string, z.core.$ZodTypeInternals<import("@aztec/foundation/schemas").Fr, string>>;
550
+ nextIndex: z.ZodPipe<z.ZodUnion<readonly [z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodCoercedBigInt<string | number | bigint>>;
551
+ }, z.core.$strip>, z.ZodTransform<import("../trees/nullifier_leaf.js").NullifierLeafPreimage, {
552
+ leaf: import("../trees/nullifier_leaf.js").NullifierLeaf;
553
+ nextKey: import("@aztec/foundation/schemas").Fr;
554
+ nextIndex: bigint;
555
+ }>> | z.ZodPipe<z.ZodObject<{
544
556
  leaf: z.ZodPipe<z.ZodObject<{
545
557
  slot: z.ZodType<import("@aztec/foundation/schemas").Fr, string, z.core.$ZodTypeInternals<import("@aztec/foundation/schemas").Fr, string>>;
546
558
  value: z.ZodType<import("@aztec/foundation/schemas").Fr, string, z.core.$ZodTypeInternals<import("@aztec/foundation/schemas").Fr, string>>;
@@ -554,7 +566,12 @@ export declare const ProvingJobInputs: z.ZodDiscriminatedUnion<[z.ZodObject<{
554
566
  leaf: import("../trees/public_data_leaf.js").PublicDataTreeLeaf;
555
567
  nextKey: import("@aztec/foundation/schemas").Fr;
556
568
  nextIndex: bigint;
557
- }>> | z.ZodPipe<z.ZodObject<{
569
+ }>>;
570
+ index: z.ZodPipe<z.ZodUnion<readonly [z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodCoercedBigInt<string | number | bigint>>;
571
+ path: z.ZodArray<ZodFor<import("@aztec/foundation/schemas").Fr>>;
572
+ }, z.core.$strip>;
573
+ insertionWitnessData: z.ZodObject<{
574
+ leaf: z.ZodPipe<z.ZodObject<{
558
575
  leaf: z.ZodPipe<z.ZodObject<{
559
576
  nullifier: z.ZodType<import("@aztec/foundation/schemas").Fr, string, z.core.$ZodTypeInternals<import("@aztec/foundation/schemas").Fr, string>>;
560
577
  }, z.core.$strip>, z.ZodTransform<import("../trees/nullifier_leaf.js").NullifierLeaf, {
@@ -566,12 +583,7 @@ export declare const ProvingJobInputs: z.ZodDiscriminatedUnion<[z.ZodObject<{
566
583
  leaf: import("../trees/nullifier_leaf.js").NullifierLeaf;
567
584
  nextKey: import("@aztec/foundation/schemas").Fr;
568
585
  nextIndex: bigint;
569
- }>>;
570
- index: z.ZodPipe<z.ZodUnion<readonly [z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodCoercedBigInt<string | number | bigint>>;
571
- path: z.ZodArray<ZodFor<import("@aztec/foundation/schemas").Fr>>;
572
- }, z.core.$strip>;
573
- insertionWitnessData: z.ZodObject<{
574
- leaf: z.ZodPipe<z.ZodObject<{
586
+ }>> | z.ZodPipe<z.ZodObject<{
575
587
  leaf: z.ZodPipe<z.ZodObject<{
576
588
  slot: z.ZodType<import("@aztec/foundation/schemas").Fr, string, z.core.$ZodTypeInternals<import("@aztec/foundation/schemas").Fr, string>>;
577
589
  value: z.ZodType<import("@aztec/foundation/schemas").Fr, string, z.core.$ZodTypeInternals<import("@aztec/foundation/schemas").Fr, string>>;
@@ -585,18 +597,6 @@ export declare const ProvingJobInputs: z.ZodDiscriminatedUnion<[z.ZodObject<{
585
597
  leaf: import("../trees/public_data_leaf.js").PublicDataTreeLeaf;
586
598
  nextKey: import("@aztec/foundation/schemas").Fr;
587
599
  nextIndex: bigint;
588
- }>> | z.ZodPipe<z.ZodObject<{
589
- leaf: z.ZodPipe<z.ZodObject<{
590
- nullifier: z.ZodType<import("@aztec/foundation/schemas").Fr, string, z.core.$ZodTypeInternals<import("@aztec/foundation/schemas").Fr, string>>;
591
- }, z.core.$strip>, z.ZodTransform<import("../trees/nullifier_leaf.js").NullifierLeaf, {
592
- nullifier: import("@aztec/foundation/schemas").Fr;
593
- }>>;
594
- nextKey: z.ZodType<import("@aztec/foundation/schemas").Fr, string, z.core.$ZodTypeInternals<import("@aztec/foundation/schemas").Fr, string>>;
595
- nextIndex: z.ZodPipe<z.ZodUnion<readonly [z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodCoercedBigInt<string | number | bigint>>;
596
- }, z.core.$strip>, z.ZodTransform<import("../trees/nullifier_leaf.js").NullifierLeafPreimage, {
597
- leaf: import("../trees/nullifier_leaf.js").NullifierLeaf;
598
- nextKey: import("@aztec/foundation/schemas").Fr;
599
- nextIndex: bigint;
600
600
  }>>;
601
601
  index: z.ZodPipe<z.ZodUnion<readonly [z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodCoercedBigInt<string | number | bigint>>;
602
602
  path: z.ZodArray<ZodFor<import("@aztec/foundation/schemas").Fr>>;
@@ -649,18 +649,30 @@ export declare const ProvingJobInputs: z.ZodDiscriminatedUnion<[z.ZodObject<{
649
649
  }>>;
650
650
  treeId: z.ZodNumber;
651
651
  leaf: z.ZodPipe<z.ZodObject<{
652
+ nullifier: z.ZodType<import("@aztec/foundation/schemas").Fr, string, z.core.$ZodTypeInternals<import("@aztec/foundation/schemas").Fr, string>>;
653
+ }, z.core.$strip>, z.ZodTransform<import("../trees/nullifier_leaf.js").NullifierLeaf, {
654
+ nullifier: import("@aztec/foundation/schemas").Fr;
655
+ }>> | z.ZodPipe<z.ZodObject<{
652
656
  slot: z.ZodType<import("@aztec/foundation/schemas").Fr, string, z.core.$ZodTypeInternals<import("@aztec/foundation/schemas").Fr, string>>;
653
657
  value: z.ZodType<import("@aztec/foundation/schemas").Fr, string, z.core.$ZodTypeInternals<import("@aztec/foundation/schemas").Fr, string>>;
654
658
  }, z.core.$strip>, z.ZodTransform<import("../trees/public_data_leaf.js").PublicDataTreeLeaf, {
655
659
  slot: import("@aztec/foundation/schemas").Fr;
656
660
  value: import("@aztec/foundation/schemas").Fr;
657
- }>> | z.ZodPipe<z.ZodObject<{
658
- nullifier: z.ZodType<import("@aztec/foundation/schemas").Fr, string, z.core.$ZodTypeInternals<import("@aztec/foundation/schemas").Fr, string>>;
659
- }, z.core.$strip>, z.ZodTransform<import("../trees/nullifier_leaf.js").NullifierLeaf, {
660
- nullifier: import("@aztec/foundation/schemas").Fr;
661
661
  }>>;
662
662
  lowLeavesWitnessData: z.ZodObject<{
663
663
  leaf: z.ZodPipe<z.ZodObject<{
664
+ leaf: z.ZodPipe<z.ZodObject<{
665
+ nullifier: z.ZodType<import("@aztec/foundation/schemas").Fr, string, z.core.$ZodTypeInternals<import("@aztec/foundation/schemas").Fr, string>>;
666
+ }, z.core.$strip>, z.ZodTransform<import("../trees/nullifier_leaf.js").NullifierLeaf, {
667
+ nullifier: import("@aztec/foundation/schemas").Fr;
668
+ }>>;
669
+ nextKey: z.ZodType<import("@aztec/foundation/schemas").Fr, string, z.core.$ZodTypeInternals<import("@aztec/foundation/schemas").Fr, string>>;
670
+ nextIndex: z.ZodPipe<z.ZodUnion<readonly [z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodCoercedBigInt<string | number | bigint>>;
671
+ }, z.core.$strip>, z.ZodTransform<import("../trees/nullifier_leaf.js").NullifierLeafPreimage, {
672
+ leaf: import("../trees/nullifier_leaf.js").NullifierLeaf;
673
+ nextKey: import("@aztec/foundation/schemas").Fr;
674
+ nextIndex: bigint;
675
+ }>> | z.ZodPipe<z.ZodObject<{
664
676
  leaf: z.ZodPipe<z.ZodObject<{
665
677
  slot: z.ZodType<import("@aztec/foundation/schemas").Fr, string, z.core.$ZodTypeInternals<import("@aztec/foundation/schemas").Fr, string>>;
666
678
  value: z.ZodType<import("@aztec/foundation/schemas").Fr, string, z.core.$ZodTypeInternals<import("@aztec/foundation/schemas").Fr, string>>;
@@ -674,7 +686,12 @@ export declare const ProvingJobInputs: z.ZodDiscriminatedUnion<[z.ZodObject<{
674
686
  leaf: import("../trees/public_data_leaf.js").PublicDataTreeLeaf;
675
687
  nextKey: import("@aztec/foundation/schemas").Fr;
676
688
  nextIndex: bigint;
677
- }>> | z.ZodPipe<z.ZodObject<{
689
+ }>>;
690
+ index: z.ZodPipe<z.ZodUnion<readonly [z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodCoercedBigInt<string | number | bigint>>;
691
+ path: z.ZodArray<ZodFor<import("@aztec/foundation/schemas").Fr>>;
692
+ }, z.core.$strip>;
693
+ insertionWitnessData: z.ZodObject<{
694
+ leaf: z.ZodPipe<z.ZodObject<{
678
695
  leaf: z.ZodPipe<z.ZodObject<{
679
696
  nullifier: z.ZodType<import("@aztec/foundation/schemas").Fr, string, z.core.$ZodTypeInternals<import("@aztec/foundation/schemas").Fr, string>>;
680
697
  }, z.core.$strip>, z.ZodTransform<import("../trees/nullifier_leaf.js").NullifierLeaf, {
@@ -686,12 +703,7 @@ export declare const ProvingJobInputs: z.ZodDiscriminatedUnion<[z.ZodObject<{
686
703
  leaf: import("../trees/nullifier_leaf.js").NullifierLeaf;
687
704
  nextKey: import("@aztec/foundation/schemas").Fr;
688
705
  nextIndex: bigint;
689
- }>>;
690
- index: z.ZodPipe<z.ZodUnion<readonly [z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodCoercedBigInt<string | number | bigint>>;
691
- path: z.ZodArray<ZodFor<import("@aztec/foundation/schemas").Fr>>;
692
- }, z.core.$strip>;
693
- insertionWitnessData: z.ZodObject<{
694
- leaf: z.ZodPipe<z.ZodObject<{
706
+ }>> | z.ZodPipe<z.ZodObject<{
695
707
  leaf: z.ZodPipe<z.ZodObject<{
696
708
  slot: z.ZodType<import("@aztec/foundation/schemas").Fr, string, z.core.$ZodTypeInternals<import("@aztec/foundation/schemas").Fr, string>>;
697
709
  value: z.ZodType<import("@aztec/foundation/schemas").Fr, string, z.core.$ZodTypeInternals<import("@aztec/foundation/schemas").Fr, string>>;
@@ -705,18 +717,6 @@ export declare const ProvingJobInputs: z.ZodDiscriminatedUnion<[z.ZodObject<{
705
717
  leaf: import("../trees/public_data_leaf.js").PublicDataTreeLeaf;
706
718
  nextKey: import("@aztec/foundation/schemas").Fr;
707
719
  nextIndex: bigint;
708
- }>> | z.ZodPipe<z.ZodObject<{
709
- leaf: z.ZodPipe<z.ZodObject<{
710
- nullifier: z.ZodType<import("@aztec/foundation/schemas").Fr, string, z.core.$ZodTypeInternals<import("@aztec/foundation/schemas").Fr, string>>;
711
- }, z.core.$strip>, z.ZodTransform<import("../trees/nullifier_leaf.js").NullifierLeaf, {
712
- nullifier: import("@aztec/foundation/schemas").Fr;
713
- }>>;
714
- nextKey: z.ZodType<import("@aztec/foundation/schemas").Fr, string, z.core.$ZodTypeInternals<import("@aztec/foundation/schemas").Fr, string>>;
715
- nextIndex: z.ZodPipe<z.ZodUnion<readonly [z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodCoercedBigInt<string | number | bigint>>;
716
- }, z.core.$strip>, z.ZodTransform<import("../trees/nullifier_leaf.js").NullifierLeafPreimage, {
717
- leaf: import("../trees/nullifier_leaf.js").NullifierLeaf;
718
- nextKey: import("@aztec/foundation/schemas").Fr;
719
- nextIndex: bigint;
720
720
  }>>;
721
721
  index: z.ZodPipe<z.ZodUnion<readonly [z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodCoercedBigInt<string | number | bigint>>;
722
722
  path: z.ZodArray<ZodFor<import("@aztec/foundation/schemas").Fr>>;
@@ -17,6 +17,17 @@ export declare function computePreaddress(publicKeysHash: Fr, partialAddress: Fr
17
17
  export declare function computeAddress(publicKeys: PublicKeys, partialAddress: Fr): Promise<AztecAddress>;
18
18
  export declare function computeAddressSecret(preaddress: Fr, ivsk: Fq): Promise<Fq>;
19
19
  export declare function derivePublicKeyFromSecretKey(secretKey: Fq): Promise<PublicKey>;
20
+ /**
21
+ * The six master secret keys that fully define an account's privacy keys.
22
+ */
23
+ export type MasterSecretKeys = {
24
+ masterNullifierHidingKey: GrumpkinScalar;
25
+ masterIncomingViewingSecretKey: GrumpkinScalar;
26
+ masterOutgoingViewingSecretKey: GrumpkinScalar;
27
+ masterTaggingSecretKey: GrumpkinScalar;
28
+ masterMessageSigningSecretKey: GrumpkinScalar;
29
+ masterFallbackSecretKey: GrumpkinScalar;
30
+ };
20
31
  /**
21
32
  * Computes secret and public keys and public keys hash from a secret key.
22
33
  * @param secretKey - The secret key to derive keys from.
@@ -36,4 +47,23 @@ export declare function deriveKeys(secretKey: Fr): Promise<{
36
47
  masterFallbackPublicKey: import("@aztec/foundation/curves/grumpkin").Point;
37
48
  publicKeys: PublicKeys;
38
49
  }>;
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVyaXZhdGlvbi5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2tleXMvZGVyaXZhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUVuRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFNBQVMsRUFBaUIsTUFBTSxpQkFBaUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFHOUMsd0JBQWdCLDRCQUE0QixDQUFDLHdCQUF3QixFQUFFLGNBQWMsRUFBRSxHQUFHLEVBQUUsWUFBWSxHQUFHLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FFckg7QUFFRCx3QkFBZ0IsbUJBQW1CLENBQUMsR0FBRyxFQUFFLGNBQWMsRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxTQUFTLEdBQUcsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUc3RztBQUVELHdCQUFzQixjQUFjLENBQUMsSUFBSSxFQUFFLGNBQWMsRUFBRSxHQUFHLEVBQUUsWUFBWSxHQUFHLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FLekY7QUFFRCx3QkFBZ0IsOEJBQThCLENBQUMsU0FBUyxFQUFFLEVBQUUsR0FBRyxjQUFjLENBRTVFO0FBRUQsd0JBQWdCLG9DQUFvQyxDQUFDLFNBQVMsRUFBRSxFQUFFLEdBQUcsY0FBYyxDQUVsRjtBQUVELHdCQUFnQixvQ0FBb0MsQ0FBQyxTQUFTLEVBQUUsRUFBRSxHQUFHLGNBQWMsQ0FFbEY7QUFFRCx3QkFBZ0IsbUNBQW1DLENBQUMsU0FBUyxFQUFFLEVBQUUsR0FBRyxjQUFjLENBRWpGO0FBRUQsd0JBQWdCLDZCQUE2QixDQUFDLFNBQVMsRUFBRSxFQUFFLEdBQUcsY0FBYyxDQUUzRTtBQUVELHdCQUFnQixnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsRUFBRSxHQUFHLGNBQWMsQ0FHOUQ7QUFFRCx3QkFBZ0IsaUJBQWlCLENBQUMsY0FBYyxFQUFFLEVBQUUsRUFBRSxjQUFjLEVBQUUsRUFBRSxlQUV2RTtBQUVELHdCQUFzQixjQUFjLENBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FZdEc7QUFFRCx3QkFBc0Isb0JBQW9CLENBQUMsVUFBVSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRSxlQW9CbEU7QUFFRCx3QkFBZ0IsNEJBQTRCLENBQUMsU0FBUyxFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBRTlFO0FBRUQ7Ozs7R0FJRztBQUNILHdCQUFzQixVQUFVLENBQUMsU0FBUyxFQUFFLEVBQUU7Ozs7Ozs7Ozs7Ozs7R0E2QzdDIn0=
50
+ /**
51
+ * Derives the master public keys and the {@link PublicKeys} struct from a set of master secret keys.
52
+ * @param secretKeys - The master secret keys to derive public keys from.
53
+ * @returns The provided secret keys alongside the derived public keys.
54
+ */
55
+ export declare function deriveKeysFromMasterSecretKeys(secretKeys: MasterSecretKeys): Promise<{
56
+ masterNullifierHidingKey: Fq;
57
+ masterIncomingViewingSecretKey: Fq;
58
+ masterOutgoingViewingSecretKey: Fq;
59
+ masterTaggingSecretKey: Fq;
60
+ masterMessageSigningSecretKey: Fq;
61
+ masterFallbackSecretKey: Fq;
62
+ masterNullifierPublicKey: import("@aztec/foundation/curves/grumpkin").Point;
63
+ masterOutgoingViewingPublicKey: import("@aztec/foundation/curves/grumpkin").Point;
64
+ masterTaggingPublicKey: import("@aztec/foundation/curves/grumpkin").Point;
65
+ masterMessageSigningPublicKey: import("@aztec/foundation/curves/grumpkin").Point;
66
+ masterFallbackPublicKey: import("@aztec/foundation/curves/grumpkin").Point;
67
+ publicKeys: PublicKeys;
68
+ }>;
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVyaXZhdGlvbi5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2tleXMvZGVyaXZhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUVuRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFNBQVMsRUFBaUIsTUFBTSxpQkFBaUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFHOUMsd0JBQWdCLDRCQUE0QixDQUFDLHdCQUF3QixFQUFFLGNBQWMsRUFBRSxHQUFHLEVBQUUsWUFBWSxHQUFHLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FFckg7QUFFRCx3QkFBZ0IsbUJBQW1CLENBQUMsR0FBRyxFQUFFLGNBQWMsRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxTQUFTLEdBQUcsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUc3RztBQUVELHdCQUFzQixjQUFjLENBQUMsSUFBSSxFQUFFLGNBQWMsRUFBRSxHQUFHLEVBQUUsWUFBWSxHQUFHLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FLekY7QUFFRCx3QkFBZ0IsOEJBQThCLENBQUMsU0FBUyxFQUFFLEVBQUUsR0FBRyxjQUFjLENBRTVFO0FBRUQsd0JBQWdCLG9DQUFvQyxDQUFDLFNBQVMsRUFBRSxFQUFFLEdBQUcsY0FBYyxDQUVsRjtBQUVELHdCQUFnQixvQ0FBb0MsQ0FBQyxTQUFTLEVBQUUsRUFBRSxHQUFHLGNBQWMsQ0FFbEY7QUFFRCx3QkFBZ0IsbUNBQW1DLENBQUMsU0FBUyxFQUFFLEVBQUUsR0FBRyxjQUFjLENBRWpGO0FBRUQsd0JBQWdCLDZCQUE2QixDQUFDLFNBQVMsRUFBRSxFQUFFLEdBQUcsY0FBYyxDQUUzRTtBQUVELHdCQUFnQixnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsRUFBRSxHQUFHLGNBQWMsQ0FHOUQ7QUFFRCx3QkFBZ0IsaUJBQWlCLENBQUMsY0FBYyxFQUFFLEVBQUUsRUFBRSxjQUFjLEVBQUUsRUFBRSxlQUV2RTtBQUVELHdCQUFzQixjQUFjLENBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FZdEc7QUFFRCx3QkFBc0Isb0JBQW9CLENBQUMsVUFBVSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRSxlQW9CbEU7QUFFRCx3QkFBZ0IsNEJBQTRCLENBQUMsU0FBUyxFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBRTlFO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLE1BQU0sZ0JBQWdCLEdBQUc7SUFDN0Isd0JBQXdCLEVBQUUsY0FBYyxDQUFDO0lBQ3pDLDhCQUE4QixFQUFFLGNBQWMsQ0FBQztJQUMvQyw4QkFBOEIsRUFBRSxjQUFjLENBQUM7SUFDL0Msc0JBQXNCLEVBQUUsY0FBYyxDQUFDO0lBQ3ZDLDZCQUE2QixFQUFFLGNBQWMsQ0FBQztJQUM5Qyx1QkFBdUIsRUFBRSxjQUFjLENBQUM7Q0FDekMsQ0FBQztBQUVGOzs7O0dBSUc7QUFDSCx3QkFBZ0IsVUFBVSxDQUFDLFNBQVMsRUFBRSxFQUFFOzs7Ozs7Ozs7Ozs7O0dBV3ZDO0FBRUQ7Ozs7R0FJRztBQUNILHdCQUFzQiw4QkFBOEIsQ0FBQyxVQUFVLEVBQUUsZ0JBQWdCOzs7Ozs7Ozs7Ozs7O0dBNENoRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"derivation.d.ts","sourceRoot":"","sources":["../../src/keys/derivation.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAEnE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAiB,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG9C,wBAAgB,4BAA4B,CAAC,wBAAwB,EAAE,cAAc,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,EAAE,CAAC,CAErH;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,cAAc,EAAE,GAAG,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,EAAE,CAAC,CAG7G;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,EAAE,CAAC,CAKzF;AAED,wBAAgB,8BAA8B,CAAC,SAAS,EAAE,EAAE,GAAG,cAAc,CAE5E;AAED,wBAAgB,oCAAoC,CAAC,SAAS,EAAE,EAAE,GAAG,cAAc,CAElF;AAED,wBAAgB,oCAAoC,CAAC,SAAS,EAAE,EAAE,GAAG,cAAc,CAElF;AAED,wBAAgB,mCAAmC,CAAC,SAAS,EAAE,EAAE,GAAG,cAAc,CAEjF;AAED,wBAAgB,6BAA6B,CAAC,SAAS,EAAE,EAAE,GAAG,cAAc,CAE3E;AAED,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,EAAE,GAAG,cAAc,CAG9D;AAED,wBAAgB,iBAAiB,CAAC,cAAc,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,eAEvE;AAED,wBAAsB,cAAc,CAAC,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC,CAYtG;AAED,wBAAsB,oBAAoB,CAAC,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,eAoBlE;AAED,wBAAgB,4BAA4B,CAAC,SAAS,EAAE,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAE9E;AAED;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,SAAS,EAAE,EAAE;;;;;;;;;;;;;GA6C7C"}
1
+ {"version":3,"file":"derivation.d.ts","sourceRoot":"","sources":["../../src/keys/derivation.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAEnE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAiB,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG9C,wBAAgB,4BAA4B,CAAC,wBAAwB,EAAE,cAAc,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,EAAE,CAAC,CAErH;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,cAAc,EAAE,GAAG,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,EAAE,CAAC,CAG7G;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,EAAE,CAAC,CAKzF;AAED,wBAAgB,8BAA8B,CAAC,SAAS,EAAE,EAAE,GAAG,cAAc,CAE5E;AAED,wBAAgB,oCAAoC,CAAC,SAAS,EAAE,EAAE,GAAG,cAAc,CAElF;AAED,wBAAgB,oCAAoC,CAAC,SAAS,EAAE,EAAE,GAAG,cAAc,CAElF;AAED,wBAAgB,mCAAmC,CAAC,SAAS,EAAE,EAAE,GAAG,cAAc,CAEjF;AAED,wBAAgB,6BAA6B,CAAC,SAAS,EAAE,EAAE,GAAG,cAAc,CAE3E;AAED,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,EAAE,GAAG,cAAc,CAG9D;AAED,wBAAgB,iBAAiB,CAAC,cAAc,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,eAEvE;AAED,wBAAsB,cAAc,CAAC,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC,CAYtG;AAED,wBAAsB,oBAAoB,CAAC,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,eAoBlE;AAED,wBAAgB,4BAA4B,CAAC,SAAS,EAAE,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAE9E;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,wBAAwB,EAAE,cAAc,CAAC;IACzC,8BAA8B,EAAE,cAAc,CAAC;IAC/C,8BAA8B,EAAE,cAAc,CAAC;IAC/C,sBAAsB,EAAE,cAAc,CAAC;IACvC,6BAA6B,EAAE,cAAc,CAAC;IAC9C,uBAAuB,EAAE,cAAc,CAAC;CACzC,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,SAAS,EAAE,EAAE;;;;;;;;;;;;;GAWvC;AAED;;;;GAIG;AACH,wBAAsB,8BAA8B,CAAC,UAAU,EAAE,gBAAgB;;;;;;;;;;;;;GA4ChF"}
@@ -103,19 +103,27 @@ export function derivePublicKeyFromSecretKey(secretKey) {
103
103
  * Computes secret and public keys and public keys hash from a secret key.
104
104
  * @param secretKey - The secret key to derive keys from.
105
105
  * @returns The derived keys.
106
- */ export async function deriveKeys(secretKey) {
106
+ */ export function deriveKeys(secretKey) {
107
107
  // First we derive master secret/hiding keys - we use sha512 here because this derivation will never take place
108
108
  // in a circuit
109
- const masterNullifierHidingKey = deriveMasterNullifierHidingKey(secretKey);
110
- const masterIncomingViewingSecretKey = deriveMasterIncomingViewingSecretKey(secretKey);
111
- const masterOutgoingViewingSecretKey = deriveMasterOutgoingViewingSecretKey(secretKey);
112
- const masterTaggingSecretKey = sha512ToGrumpkinScalar([
113
- secretKey,
114
- DomainSeparator.TSK_M
115
- ]);
116
- const masterMessageSigningSecretKey = deriveMasterMessageSigningSecretKey(secretKey);
117
- const masterFallbackSecretKey = deriveMasterFallbackSecretKey(secretKey);
118
- // Then we derive master public keys
109
+ return deriveKeysFromMasterSecretKeys({
110
+ masterNullifierHidingKey: deriveMasterNullifierHidingKey(secretKey),
111
+ masterIncomingViewingSecretKey: deriveMasterIncomingViewingSecretKey(secretKey),
112
+ masterOutgoingViewingSecretKey: deriveMasterOutgoingViewingSecretKey(secretKey),
113
+ masterTaggingSecretKey: sha512ToGrumpkinScalar([
114
+ secretKey,
115
+ DomainSeparator.TSK_M
116
+ ]),
117
+ masterMessageSigningSecretKey: deriveMasterMessageSigningSecretKey(secretKey),
118
+ masterFallbackSecretKey: deriveMasterFallbackSecretKey(secretKey)
119
+ });
120
+ }
121
+ /**
122
+ * Derives the master public keys and the {@link PublicKeys} struct from a set of master secret keys.
123
+ * @param secretKeys - The master secret keys to derive public keys from.
124
+ * @returns The provided secret keys alongside the derived public keys.
125
+ */ export async function deriveKeysFromMasterSecretKeys(secretKeys) {
126
+ const { masterNullifierHidingKey, masterIncomingViewingSecretKey, masterOutgoingViewingSecretKey, masterTaggingSecretKey, masterMessageSigningSecretKey, masterFallbackSecretKey } = secretKeys;
119
127
  const masterNullifierPublicKey = await derivePublicKeyFromSecretKey(masterNullifierHidingKey);
120
128
  const masterIncomingViewingPublicKey = await derivePublicKeyFromSecretKey(masterIncomingViewingSecretKey);
121
129
  const masterOutgoingViewingPublicKey = await derivePublicKeyFromSecretKey(masterOutgoingViewingSecretKey);
@@ -19,22 +19,25 @@ export declare class AppTaggingSecret {
19
19
  /**
20
20
  * Derives an app-siloed, recipient-directional tagging secret from a shared tagging secret point.
21
21
  *
22
+ * App-silos the point via {@link appSiloEcdhSharedSecretPoint}, then directs the result to `recipient`:
23
+ * `h([s_app, recipient])`. The directional step stops a symmetric shared secret (ECDH against an address, or an
24
+ * arbitrary registered point) from colliding bidirectionally, so two parties never share a tag sequence.
25
+ *
22
26
  * The point is obtained either via {@link computeSharedTaggingSecret} (an ECDH key exchange against a sender) or
23
- * registered directly as a pre-shared secret. Each secret point yields a distinct tagging secret per (app, recipient)
24
- * pair.
27
+ * registered directly as a pre-shared secret.
25
28
  *
26
29
  * @param taggingSecretPoint - The shared tagging secret point (ECDH output, or a directly registered pre-shared secret)
27
30
  * @param app - Contract address to silo the secret to
28
31
  * @param recipient - Recipient of the log. Defines the "direction of the secret".
29
32
  * @returns The secret that can be used along with an index to compute a tag to be included in a log.
30
33
  */
31
- static compute(taggingSecretPoint: Point, app: AztecAddress, recipient: AztecAddress): Promise<AppTaggingSecret>;
34
+ static computeDirectional(taggingSecretPoint: Point, app: AztecAddress, recipient: AztecAddress): Promise<AppTaggingSecret>;
32
35
  /**
33
- * Derives the unconstrained tagging secret for `(externalAddress, recipient, app)` by performing the ECDH key
34
- * exchange against `externalAddress` and then siloing and directing the result. Returns undefined if
35
- * `externalAddress` is not a valid address.
36
+ * Derives the tagging secret for `(externalAddress, recipient, app)` by performing an ECDH key exchange against
37
+ * `externalAddress` to obtain the shared point, then siloing and directing it via {@link computeDirectional}.
38
+ * Returns undefined if `externalAddress` is not a valid address.
36
39
  */
37
- static computeUnconstrained(localAddress: CompleteAddress, localIvsk: Fq, externalAddress: AztecAddress, app: AztecAddress, recipient: AztecAddress): Promise<AppTaggingSecret | undefined>;
40
+ static computeViaEcdh(localAddress: CompleteAddress, localIvsk: Fq, externalAddress: AztecAddress, app: AztecAddress, recipient: AztecAddress): Promise<AppTaggingSecret | undefined>;
38
41
  toString(): string;
39
42
  static fromString(str: string): AppTaggingSecret;
40
43
  }
@@ -58,4 +61,4 @@ export declare const AppTaggingSecretSchema: z.ZodPipe<z.ZodObject<{
58
61
  * Returns undefined if `externalAddress` is an invalid address.
59
62
  */
60
63
  export declare function computeSharedTaggingSecret(localAddress: CompleteAddress, localIvsk: Fq, externalAddress: AztecAddress): Promise<Point | undefined>;
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwX3RhZ2dpbmdfc2VjcmV0LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG9ncy9hcHBfdGFnZ2luZ19zZWNyZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzdELE9BQU8sS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRS9ELE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRXZFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBT3BFOzs7Ozs7R0FNRztBQUNILHFCQUFhLGdCQUFnQjthQUVULE1BQU0sRUFBRSxFQUFFO2FBQ1YsR0FBRyxFQUFFLFlBQVk7YUFDakIsSUFBSSxFQUFFLG9CQUFvQjtJQUg1QyxZQUNrQixNQUFNLEVBQUUsRUFBRSxFQUNWLEdBQUcsRUFBRSxZQUFZLEVBQ2pCLElBQUksR0FBRSxvQkFBeUQsRUFDN0U7SUFFSjs7Ozs7Ozs7Ozs7T0FXRztJQUNILE9BQWEsT0FBTyxDQUNsQixrQkFBa0IsRUFBRSxLQUFLLEVBQ3pCLEdBQUcsRUFBRSxZQUFZLEVBQ2pCLFNBQVMsRUFBRSxZQUFZLEdBQ3RCLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUszQjtJQUVEOzs7O09BSUc7SUFDSCxPQUFhLG9CQUFvQixDQUMvQixZQUFZLEVBQUUsZUFBZSxFQUM3QixTQUFTLEVBQUUsRUFBRSxFQUNiLGVBQWUsRUFBRSxZQUFZLEVBQzdCLEdBQUcsRUFBRSxZQUFZLEVBQ2pCLFNBQVMsRUFBRSxZQUFZLEdBQ3RCLE9BQU8sQ0FBQyxnQkFBZ0IsR0FBRyxTQUFTLENBQUMsQ0FPdkM7SUFFRCxRQUFRLElBQUksTUFBTSxDQU1qQjtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLE1BQU0sR0FBRyxnQkFBZ0IsQ0FnQi9DO0NBQ0Y7QUFFRDs7R0FFRztBQUNILHdCQUFnQiwwQkFBMEIsQ0FBQyxHQUFHLEVBQUUsTUFBTSxHQUFHLGdCQUFnQixDQUV4RTtBQUVELGVBQU8sTUFBTSxzQkFBc0I7Ozs7Ozs7O0dBTTZDLENBQUM7QUFhakY7Ozs7O0dBS0c7QUFDSCx3QkFBc0IsMEJBQTBCLENBQzlDLFlBQVksRUFBRSxlQUFlLEVBQzdCLFNBQVMsRUFBRSxFQUFFLEVBQ2IsZUFBZSxFQUFFLFlBQVksR0FDNUIsT0FBTyxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUMsQ0FlNUIifQ==
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwX3RhZ2dpbmdfc2VjcmV0LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG9ncy9hcHBfdGFnZ2luZ19zZWNyZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzdELE9BQU8sS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRS9ELE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRXZFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBUXBFOzs7Ozs7R0FNRztBQUNILHFCQUFhLGdCQUFnQjthQUVULE1BQU0sRUFBRSxFQUFFO2FBQ1YsR0FBRyxFQUFFLFlBQVk7YUFDakIsSUFBSSxFQUFFLG9CQUFvQjtJQUg1QyxZQUNrQixNQUFNLEVBQUUsRUFBRSxFQUNWLEdBQUcsRUFBRSxZQUFZLEVBQ2pCLElBQUksR0FBRSxvQkFBeUQsRUFDN0U7SUFFSjs7Ozs7Ozs7Ozs7Ozs7T0FjRztJQUNILE9BQWEsa0JBQWtCLENBQzdCLGtCQUFrQixFQUFFLEtBQUssRUFDekIsR0FBRyxFQUFFLFlBQVksRUFDakIsU0FBUyxFQUFFLFlBQVksR0FDdEIsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBSzNCO0lBRUQ7Ozs7T0FJRztJQUNILE9BQWEsY0FBYyxDQUN6QixZQUFZLEVBQUUsZUFBZSxFQUM3QixTQUFTLEVBQUUsRUFBRSxFQUNiLGVBQWUsRUFBRSxZQUFZLEVBQzdCLEdBQUcsRUFBRSxZQUFZLEVBQ2pCLFNBQVMsRUFBRSxZQUFZLEdBQ3RCLE9BQU8sQ0FBQyxnQkFBZ0IsR0FBRyxTQUFTLENBQUMsQ0FPdkM7SUFFRCxRQUFRLElBQUksTUFBTSxDQU1qQjtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLE1BQU0sR0FBRyxnQkFBZ0IsQ0FnQi9DO0NBQ0Y7QUFFRDs7R0FFRztBQUNILHdCQUFnQiwwQkFBMEIsQ0FBQyxHQUFHLEVBQUUsTUFBTSxHQUFHLGdCQUFnQixDQUV4RTtBQUVELGVBQU8sTUFBTSxzQkFBc0I7Ozs7Ozs7O0dBTTZDLENBQUM7QUFhakY7Ozs7O0dBS0c7QUFDSCx3QkFBc0IsMEJBQTBCLENBQzlDLFlBQVksRUFBRSxlQUFlLEVBQzdCLFNBQVMsRUFBRSxFQUFFLEVBQ2IsZUFBZSxFQUFFLFlBQVksR0FDNUIsT0FBTyxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUMsQ0FlNUIifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"app_tagging_secret.d.ts","sourceRoot":"","sources":["../../src/logs/app_tagging_secret.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAE/D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAEvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAOpE;;;;;;GAMG;AACH,qBAAa,gBAAgB;aAET,MAAM,EAAE,EAAE;aACV,GAAG,EAAE,YAAY;aACjB,IAAI,EAAE,oBAAoB;IAH5C,YACkB,MAAM,EAAE,EAAE,EACV,GAAG,EAAE,YAAY,EACjB,IAAI,GAAE,oBAAyD,EAC7E;IAEJ;;;;;;;;;;;OAWG;IACH,OAAa,OAAO,CAClB,kBAAkB,EAAE,KAAK,EACzB,GAAG,EAAE,YAAY,EACjB,SAAS,EAAE,YAAY,GACtB,OAAO,CAAC,gBAAgB,CAAC,CAK3B;IAED;;;;OAIG;IACH,OAAa,oBAAoB,CAC/B,YAAY,EAAE,eAAe,EAC7B,SAAS,EAAE,EAAE,EACb,eAAe,EAAE,YAAY,EAC7B,GAAG,EAAE,YAAY,EACjB,SAAS,EAAE,YAAY,GACtB,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAOvC;IAED,QAAQ,IAAI,MAAM,CAMjB;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAgB/C;CACF;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAExE;AAED,eAAO,MAAM,sBAAsB;;;;;;;;GAM6C,CAAC;AAajF;;;;;GAKG;AACH,wBAAsB,0BAA0B,CAC9C,YAAY,EAAE,eAAe,EAC7B,SAAS,EAAE,EAAE,EACb,eAAe,EAAE,YAAY,GAC5B,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC,CAe5B"}
1
+ {"version":3,"file":"app_tagging_secret.d.ts","sourceRoot":"","sources":["../../src/logs/app_tagging_secret.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAE/D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAEvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAQpE;;;;;;GAMG;AACH,qBAAa,gBAAgB;aAET,MAAM,EAAE,EAAE;aACV,GAAG,EAAE,YAAY;aACjB,IAAI,EAAE,oBAAoB;IAH5C,YACkB,MAAM,EAAE,EAAE,EACV,GAAG,EAAE,YAAY,EACjB,IAAI,GAAE,oBAAyD,EAC7E;IAEJ;;;;;;;;;;;;;;OAcG;IACH,OAAa,kBAAkB,CAC7B,kBAAkB,EAAE,KAAK,EACzB,GAAG,EAAE,YAAY,EACjB,SAAS,EAAE,YAAY,GACtB,OAAO,CAAC,gBAAgB,CAAC,CAK3B;IAED;;;;OAIG;IACH,OAAa,cAAc,CACzB,YAAY,EAAE,eAAe,EAC7B,SAAS,EAAE,EAAE,EACb,eAAe,EAAE,YAAY,EAC7B,GAAG,EAAE,YAAY,EACjB,SAAS,EAAE,YAAY,GACtB,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAOvC;IAED,QAAQ,IAAI,MAAM,CAMjB;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAgB/C;CACF;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAExE;AAED,eAAO,MAAM,sBAAsB;;;;;;;;GAM6C,CAAC;AAajF;;;;;GAKG;AACH,wBAAsB,0BAA0B,CAC9C,YAAY,EAAE,eAAe,EAC7B,SAAS,EAAE,EAAE,EACb,eAAe,EAAE,YAAY,GAC5B,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC,CAe5B"}