@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.
- package/dest/block/l2_block_source.d.ts +22 -2
- package/dest/block/l2_block_source.d.ts.map +1 -1
- package/dest/block/l2_block_source.js +10 -0
- package/dest/block/l2_block_stream/event_driven_l2_block_stream.d.ts +39 -0
- package/dest/block/l2_block_stream/event_driven_l2_block_stream.d.ts.map +1 -0
- package/dest/block/l2_block_stream/event_driven_l2_block_stream.js +165 -0
- package/dest/block/l2_block_stream/index.d.ts +2 -1
- package/dest/block/l2_block_stream/index.d.ts.map +1 -1
- package/dest/block/l2_block_stream/index.js +1 -0
- package/dest/block/l2_block_stream/interfaces.d.ts +16 -2
- package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
- package/dest/block/l2_block_stream/interfaces.js +25 -1
- package/dest/block/l2_block_stream/l2_block_stream.d.ts +21 -35
- package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
- package/dest/block/l2_block_stream/l2_block_stream.js +5 -30
- package/dest/contract/contract_address.d.ts +3 -2
- package/dest/contract/contract_address.d.ts.map +1 -1
- package/dest/contract/partial_address.d.ts +9 -3
- package/dest/contract/partial_address.d.ts.map +1 -1
- package/dest/contract/partial_address.js +8 -2
- package/dest/interfaces/proving-job.d.ts +70 -70
- package/dest/keys/derivation.d.ts +31 -1
- package/dest/keys/derivation.d.ts.map +1 -1
- package/dest/keys/derivation.js +19 -11
- package/dest/logs/app_tagging_secret.d.ts +11 -8
- package/dest/logs/app_tagging_secret.d.ts.map +1 -1
- package/dest/logs/app_tagging_secret.js +14 -14
- package/dest/logs/shared_secret_derivation.d.ts +14 -7
- package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
- package/dest/logs/shared_secret_derivation.js +16 -8
- package/package.json +8 -8
- package/src/block/l2_block_source.ts +41 -0
- package/src/block/l2_block_stream/event_driven_l2_block_stream.ts +207 -0
- package/src/block/l2_block_stream/index.ts +1 -0
- package/src/block/l2_block_stream/interfaces.ts +35 -1
- package/src/block/l2_block_stream/l2_block_stream.ts +35 -62
- package/src/contract/contract_address.ts +2 -1
- package/src/contract/partial_address.ts +8 -2
- package/src/keys/derivation.ts +38 -9
- package/src/logs/app_tagging_secret.ts +14 -10
- 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 (
|
|
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 &&
|
|
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 &&
|
|
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 &&
|
|
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<
|
|
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,
|
|
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;
|
|
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
|
-
*
|
|
4
|
-
*
|
|
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,
|
|
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
|
|
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
|
-
*
|
|
3
|
-
*
|
|
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
|
-
|
|
420
|
-
|
|
421
|
-
|
|
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/
|
|
428
|
-
leaf: import("../trees/
|
|
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
|
-
|
|
434
|
-
|
|
435
|
-
|
|
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/
|
|
440
|
-
leaf: import("../trees/
|
|
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
|
-
|
|
465
|
-
|
|
466
|
-
|
|
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/
|
|
473
|
-
leaf: import("../trees/
|
|
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
|
-
|
|
479
|
-
|
|
480
|
-
|
|
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/
|
|
485
|
-
leaf: import("../trees/
|
|
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
|
-
}
|
|
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
|
-
}
|
|
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
|
-
|
|
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,
|
|
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"}
|
package/dest/keys/derivation.js
CHANGED
|
@@ -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
|
|
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
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
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.
|
|
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
|
|
34
|
+
static computeDirectional(taggingSecretPoint: Point, app: AztecAddress, recipient: AztecAddress): Promise<AppTaggingSecret>;
|
|
32
35
|
/**
|
|
33
|
-
* Derives the
|
|
34
|
-
*
|
|
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
|
|
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,
|
|
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;
|
|
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"}
|