@aztec/pxe 0.87.4 → 0.87.6
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/config/package_info.js +1 -1
- package/dest/contract_function_simulator/contract_function_simulator.d.ts +37 -0
- package/dest/contract_function_simulator/contract_function_simulator.d.ts.map +1 -0
- package/dest/contract_function_simulator/contract_function_simulator.js +117 -0
- package/dest/contract_function_simulator/execution_data_provider.d.ts +301 -0
- package/dest/contract_function_simulator/execution_data_provider.d.ts.map +1 -0
- package/dest/contract_function_simulator/execution_data_provider.js +14 -0
- package/dest/contract_function_simulator/execution_note_cache.d.ts +93 -0
- package/dest/contract_function_simulator/execution_note_cache.d.ts.map +1 -0
- package/dest/contract_function_simulator/execution_note_cache.js +180 -0
- package/dest/contract_function_simulator/hashed_values_cache.d.ts +28 -0
- package/dest/contract_function_simulator/hashed_values_cache.d.ts.map +1 -0
- package/dest/contract_function_simulator/hashed_values_cache.js +36 -0
- package/dest/contract_function_simulator/index.d.ts +10 -0
- package/dest/contract_function_simulator/index.d.ts.map +1 -0
- package/dest/contract_function_simulator/index.js +8 -0
- package/dest/contract_function_simulator/oracle/index.d.ts +14 -0
- package/dest/contract_function_simulator/oracle/index.d.ts.map +1 -0
- package/dest/contract_function_simulator/oracle/index.js +2 -0
- package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.d.ts +19 -0
- package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.d.ts.map +1 -0
- package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.js +24 -0
- package/dest/contract_function_simulator/oracle/oracle.d.ts +53 -0
- package/dest/contract_function_simulator/oracle/oracle.d.ts.map +1 -0
- package/dest/contract_function_simulator/oracle/oracle.js +317 -0
- package/dest/contract_function_simulator/oracle/private_execution.d.ts +24 -0
- package/dest/contract_function_simulator/oracle/private_execution.d.ts.map +1 -0
- package/dest/contract_function_simulator/oracle/private_execution.js +100 -0
- package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts +187 -0
- package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts.map +1 -0
- package/dest/contract_function_simulator/oracle/private_execution_oracle.js +325 -0
- package/dest/contract_function_simulator/oracle/typed_oracle.d.ts +83 -0
- package/dest/contract_function_simulator/oracle/typed_oracle.d.ts.map +1 -0
- package/dest/contract_function_simulator/oracle/typed_oracle.js +138 -0
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts +163 -0
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts.map +1 -0
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.js +257 -0
- package/dest/contract_function_simulator/pick_notes.d.ts +85 -0
- package/dest/contract_function_simulator/pick_notes.d.ts.map +1 -0
- package/dest/contract_function_simulator/pick_notes.js +51 -0
- package/dest/contract_function_simulator/proxied_node.d.ts +9 -0
- package/dest/contract_function_simulator/proxied_node.d.ts.map +1 -0
- package/dest/contract_function_simulator/proxied_node.js +27 -0
- package/dest/{pxe_oracle_interface → contract_function_simulator}/pxe_oracle_interface.d.ts +5 -4
- package/dest/contract_function_simulator/pxe_oracle_interface.d.ts.map +1 -0
- package/dest/{pxe_oracle_interface → contract_function_simulator}/pxe_oracle_interface.js +16 -15
- package/dest/contract_function_simulator/tagging_utils.d.ts.map +1 -0
- package/dest/entrypoints/client/bundle/index.d.ts +1 -1
- package/dest/entrypoints/client/bundle/index.d.ts.map +1 -1
- package/dest/entrypoints/client/bundle/index.js +1 -1
- package/dest/entrypoints/client/bundle/utils.js +3 -3
- package/dest/entrypoints/client/lazy/index.d.ts +1 -1
- package/dest/entrypoints/client/lazy/index.d.ts.map +1 -1
- package/dest/entrypoints/client/lazy/index.js +1 -1
- package/dest/entrypoints/client/lazy/utils.js +3 -3
- package/dest/entrypoints/server/index.d.ts +1 -1
- package/dest/entrypoints/server/index.d.ts.map +1 -1
- package/dest/entrypoints/server/index.js +1 -1
- package/dest/entrypoints/server/utils.d.ts +4 -4
- package/dest/entrypoints/server/utils.d.ts.map +1 -1
- package/dest/entrypoints/server/utils.js +12 -12
- package/dest/private_kernel/private_kernel_execution_prover.d.ts.map +1 -1
- package/dest/private_kernel/private_kernel_execution_prover.js +4 -4
- package/dest/pxe_service/pxe_service.d.ts +2 -2
- package/dest/pxe_service/pxe_service.d.ts.map +1 -1
- package/dest/pxe_service/pxe_service.js +46 -21
- package/dest/storage/note_data_provider/note_dao.d.ts +1 -1
- package/dest/storage/note_data_provider/note_dao.d.ts.map +1 -1
- package/package.json +17 -15
- package/src/config/package_info.ts +1 -1
- package/src/contract_function_simulator/contract_function_simulator.ts +193 -0
- package/src/contract_function_simulator/execution_data_provider.ts +391 -0
- package/src/contract_function_simulator/execution_note_cache.ts +217 -0
- package/src/contract_function_simulator/hashed_values_cache.ts +47 -0
- package/src/contract_function_simulator/index.ts +9 -0
- package/src/contract_function_simulator/oracle/index.ts +16 -0
- package/src/contract_function_simulator/oracle/message_load_oracle_inputs.ts +23 -0
- package/src/contract_function_simulator/oracle/oracle.ts +541 -0
- package/src/contract_function_simulator/oracle/private_execution.ts +171 -0
- package/src/contract_function_simulator/oracle/private_execution_oracle.ts +518 -0
- package/src/contract_function_simulator/oracle/typed_oracle.ts +273 -0
- package/src/contract_function_simulator/oracle/utility_execution_oracle.ts +384 -0
- package/src/contract_function_simulator/pick_notes.ts +141 -0
- package/src/contract_function_simulator/proxied_node.ts +33 -0
- package/src/{pxe_oracle_interface → contract_function_simulator}/pxe_oracle_interface.ts +18 -21
- package/src/entrypoints/client/bundle/index.ts +1 -1
- package/src/entrypoints/client/bundle/utils.ts +3 -3
- package/src/entrypoints/client/lazy/index.ts +1 -1
- package/src/entrypoints/client/lazy/utils.ts +3 -3
- package/src/entrypoints/server/index.ts +1 -1
- package/src/entrypoints/server/utils.ts +14 -14
- package/src/private_kernel/private_kernel_execution_prover.ts +5 -4
- package/src/pxe_service/pxe_service.ts +75 -39
- package/src/storage/note_data_provider/note_dao.ts +2 -1
- package/dest/pxe_oracle_interface/pxe_oracle_interface.d.ts.map +0 -1
- package/dest/pxe_oracle_interface/tagging_utils.d.ts.map +0 -1
- /package/dest/{pxe_oracle_interface → contract_function_simulator}/tagging_utils.d.ts +0 -0
- /package/dest/{pxe_oracle_interface → contract_function_simulator}/tagging_utils.js +0 -0
- /package/src/{pxe_oracle_interface → contract_function_simulator}/tagging_utils.ts +0 -0
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import type { L1_TO_L2_MSG_TREE_HEIGHT } from '@aztec/constants';
|
|
2
2
|
import { Fr, Point } from '@aztec/foundation/fields';
|
|
3
3
|
import type { KeyStore } from '@aztec/key-store';
|
|
4
|
-
import { type ExecutionDataProvider, MessageLoadOracleInputs } from '@aztec/simulator/client';
|
|
5
4
|
import { EventSelector, type FunctionArtifactWithContractName, FunctionSelector } from '@aztec/stdlib/abi';
|
|
6
5
|
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
7
6
|
import type { L2Block } from '@aztec/stdlib/block';
|
|
@@ -13,6 +12,8 @@ import { Note, type NoteStatus } from '@aztec/stdlib/note';
|
|
|
13
12
|
import { MerkleTreeId, type NullifierMembershipWitness, PublicDataWitness } from '@aztec/stdlib/trees';
|
|
14
13
|
import type { BlockHeader } from '@aztec/stdlib/tx';
|
|
15
14
|
import { TxHash } from '@aztec/stdlib/tx';
|
|
15
|
+
import type { ExecutionDataProvider, ExecutionStats } from '../contract_function_simulator/execution_data_provider.js';
|
|
16
|
+
import { MessageLoadOracleInputs } from '../contract_function_simulator/oracle/message_load_oracle_inputs.js';
|
|
16
17
|
import type { AddressDataProvider } from '../storage/address_data_provider/address_data_provider.js';
|
|
17
18
|
import type { CapsuleDataProvider } from '../storage/capsule_data_provider/capsule_data_provider.js';
|
|
18
19
|
import type { ContractDataProvider } from '../storage/contract_data_provider/contract_data_provider.js';
|
|
@@ -20,6 +21,7 @@ import type { NoteDataProvider } from '../storage/note_data_provider/note_data_p
|
|
|
20
21
|
import type { PrivateEventDataProvider } from '../storage/private_event_data_provider/private_event_data_provider.js';
|
|
21
22
|
import type { SyncDataProvider } from '../storage/sync_data_provider/sync_data_provider.js';
|
|
22
23
|
import type { TaggingDataProvider } from '../storage/tagging_data_provider/tagging_data_provider.js';
|
|
24
|
+
import type { ProxiedNode } from './proxied_node.js';
|
|
23
25
|
/**
|
|
24
26
|
* A data layer that provides and stores information needed for simulating/proving a transaction.
|
|
25
27
|
*/
|
|
@@ -35,7 +37,7 @@ export declare class PXEOracleInterface implements ExecutionDataProvider {
|
|
|
35
37
|
private addressDataProvider;
|
|
36
38
|
private privateEventDataProvider;
|
|
37
39
|
private log;
|
|
38
|
-
constructor(aztecNode: AztecNode, keyStore: KeyStore, contractDataProvider: ContractDataProvider, noteDataProvider: NoteDataProvider, capsuleDataProvider: CapsuleDataProvider, syncDataProvider: SyncDataProvider, taggingDataProvider: TaggingDataProvider, addressDataProvider: AddressDataProvider, privateEventDataProvider: PrivateEventDataProvider, log?: import("@aztec/foundation/log").Logger);
|
|
40
|
+
constructor(aztecNode: AztecNode | ProxiedNode, keyStore: KeyStore, contractDataProvider: ContractDataProvider, noteDataProvider: NoteDataProvider, capsuleDataProvider: CapsuleDataProvider, syncDataProvider: SyncDataProvider, taggingDataProvider: TaggingDataProvider, addressDataProvider: AddressDataProvider, privateEventDataProvider: PrivateEventDataProvider, log?: import("@aztec/foundation/log").Logger);
|
|
39
41
|
getKeyValidationRequest(pkMHash: Fr, contractAddress: AztecAddress): Promise<KeyValidationRequest>;
|
|
40
42
|
getCompleteAddress(account: AztecAddress): Promise<CompleteAddress>;
|
|
41
43
|
getContractInstance(address: AztecAddress): Promise<ContractInstance>;
|
|
@@ -59,8 +61,6 @@ export declare class PXEOracleInterface implements ExecutionDataProvider {
|
|
|
59
61
|
* @returns The l1 to l2 membership witness (index of message in the tree and sibling path).
|
|
60
62
|
*/
|
|
61
63
|
getL1ToL2MembershipWitness(contractAddress: AztecAddress, messageHash: Fr, secret: Fr): Promise<MessageLoadOracleInputs<typeof L1_TO_L2_MSG_TREE_HEIGHT>>;
|
|
62
|
-
getL1ToL2MessageHash(_leafIndex: bigint): Promise<Fr | undefined>;
|
|
63
|
-
getNoteHash(_leafIndex: bigint): Promise<Fr | undefined>;
|
|
64
64
|
getNullifierIndex(nullifier: Fr): Promise<bigint | undefined>;
|
|
65
65
|
getMembershipWitness(blockNumber: number, treeId: MerkleTreeId, leafValue: Fr): Promise<Fr[]>;
|
|
66
66
|
getNullifierMembershipWitnessAtLatestBlock(nullifier: Fr): Promise<NullifierMembershipWitness | undefined>;
|
|
@@ -142,5 +142,6 @@ export declare class PXEOracleInterface implements ExecutionDataProvider {
|
|
|
142
142
|
copyCapsule(contractAddress: AztecAddress, srcSlot: Fr, dstSlot: Fr, numEntries: number): Promise<void>;
|
|
143
143
|
getSharedSecret(address: AztecAddress, ephPk: Point): Promise<Point>;
|
|
144
144
|
storePrivateEventLog(contractAddress: AztecAddress, recipient: AztecAddress, eventSelector: EventSelector, msgContent: Fr[], txHash: TxHash, logIndexInTx: number, txIndexInBlock: number): Promise<void>;
|
|
145
|
+
getStats(): ExecutionStats;
|
|
145
146
|
}
|
|
146
147
|
//# sourceMappingURL=pxe_oracle_interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pxe_oracle_interface.d.ts","sourceRoot":"","sources":["../../src/contract_function_simulator/pxe_oracle_interface.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { timesParallel } from '@aztec/foundation/collection';
|
|
2
2
|
import { Fr } from '@aztec/foundation/fields';
|
|
3
3
|
import { createLogger } from '@aztec/foundation/log';
|
|
4
|
-
import { MessageLoadOracleInputs } from '@aztec/simulator/client';
|
|
5
4
|
import { getFunctionArtifact } from '@aztec/stdlib/abi';
|
|
6
5
|
import { computeUniqueNoteHash, siloNoteHash, siloNullifier } from '@aztec/stdlib/hash';
|
|
7
6
|
import { computeAddressSecret, computeAppTaggingSecret } from '@aztec/stdlib/keys';
|
|
@@ -9,6 +8,7 @@ import { IndexedTaggingSecret, LogWithTxData, PendingTaggedLog, deriveEcdhShared
|
|
|
9
8
|
import { getNonNullifiedL1ToL2MessageWitness } from '@aztec/stdlib/messaging';
|
|
10
9
|
import { Note } from '@aztec/stdlib/note';
|
|
11
10
|
import { MerkleTreeId } from '@aztec/stdlib/trees';
|
|
11
|
+
import { MessageLoadOracleInputs } from '../contract_function_simulator/oracle/message_load_oracle_inputs.js';
|
|
12
12
|
import { NoteDao } from '../storage/note_data_provider/note_dao.js';
|
|
13
13
|
import { WINDOW_HALF_SIZE, getIndexedTaggingSecretsForTheWindow, getInitialIndexesMap } from './tagging_utils.js';
|
|
14
14
|
/**
|
|
@@ -103,14 +103,6 @@ import { WINDOW_HALF_SIZE, getIndexedTaggingSecretsForTheWindow, getInitialIndex
|
|
|
103
103
|
// Assuming messageIndex is what you intended to use for the index in MessageLoadOracleInputs
|
|
104
104
|
return new MessageLoadOracleInputs(messageIndex, siblingPath);
|
|
105
105
|
}
|
|
106
|
-
// Only used in public.
|
|
107
|
-
getL1ToL2MessageHash(_leafIndex) {
|
|
108
|
-
throw new Error('Unimplemented in private!');
|
|
109
|
-
}
|
|
110
|
-
// We need this in public as part of the EXISTS calls - but isn't used in private
|
|
111
|
-
getNoteHash(_leafIndex) {
|
|
112
|
-
throw new Error('Unimplemented in private!');
|
|
113
|
-
}
|
|
114
106
|
async getNullifierIndex(nullifier) {
|
|
115
107
|
return await this.#findLeafIndex('latest', MerkleTreeId.NULLIFIER_TREE, nullifier);
|
|
116
108
|
}
|
|
@@ -461,9 +453,15 @@ import { WINDOW_HALF_SIZE, getIndexedTaggingSecretsForTheWindow, getInitialIndex
|
|
|
461
453
|
const uniqueNoteHash = await computeUniqueNoteHash(nonce, await siloNoteHash(contractAddress, noteHash));
|
|
462
454
|
const siloedNullifier = await siloNullifier(contractAddress, nullifier);
|
|
463
455
|
// We store notes by their index in the global note hash tree, which has the convenient side effect of validating
|
|
464
|
-
// note existence in said tree.
|
|
465
|
-
|
|
466
|
-
|
|
456
|
+
// note existence in said tree. We concurrently also check if the note's nullifier exists, performing all node
|
|
457
|
+
// queries in a single round-trip.
|
|
458
|
+
const [[uniqueNoteHashTreeIndexInBlock], [nullifierIndex]] = await Promise.all([
|
|
459
|
+
this.aztecNode.findLeavesIndexes(syncedBlockNumber, MerkleTreeId.NOTE_HASH_TREE, [
|
|
460
|
+
uniqueNoteHash
|
|
461
|
+
]),
|
|
462
|
+
this.aztecNode.findLeavesIndexes(syncedBlockNumber, MerkleTreeId.NULLIFIER_TREE, [
|
|
463
|
+
siloedNullifier
|
|
464
|
+
])
|
|
467
465
|
]);
|
|
468
466
|
if (uniqueNoteHashTreeIndexInBlock === undefined) {
|
|
469
467
|
throw new Error(`Note hash ${noteHash} (uniqued as ${uniqueNoteHash}) is not present on the tree at block ${syncedBlockNumber} (from tx ${txHash})`);
|
|
@@ -479,9 +477,6 @@ import { WINDOW_HALF_SIZE, getIndexedTaggingSecretsForTheWindow, getInitialIndex
|
|
|
479
477
|
noteHash: noteDao.noteHash.toString(),
|
|
480
478
|
nullifier: noteDao.siloedNullifier.toString()
|
|
481
479
|
});
|
|
482
|
-
const [nullifierIndex] = await this.aztecNode.findLeavesIndexes(syncedBlockNumber, MerkleTreeId.NULLIFIER_TREE, [
|
|
483
|
-
siloedNullifier
|
|
484
|
-
]);
|
|
485
480
|
if (nullifierIndex !== undefined) {
|
|
486
481
|
const { data: _, ...blockHashAndNum } = nullifierIndex;
|
|
487
482
|
await this.noteDataProvider.removeNullifiedNotes([
|
|
@@ -593,4 +588,10 @@ import { WINDOW_HALF_SIZE, getIndexedTaggingSecretsForTheWindow, getInitialIndex
|
|
|
593
588
|
}
|
|
594
589
|
return this.privateEventDataProvider.storePrivateEventLog(contractAddress, recipient, eventSelector, msgContent, txHash, logIndexInTx, txIndexInBlock, blockNumber);
|
|
595
590
|
}
|
|
591
|
+
getStats() {
|
|
592
|
+
const nodeRPCCalls = typeof this.aztecNode.getStats === 'function' ? this.aztecNode.getStats() : {};
|
|
593
|
+
return {
|
|
594
|
+
nodeRPCCalls
|
|
595
|
+
};
|
|
596
|
+
}
|
|
596
597
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tagging_utils.d.ts","sourceRoot":"","sources":["../../src/contract_function_simulator/tagging_utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAG1D,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAEnC,wBAAgB,oCAAoC,CAClD,iBAAiB,EAAE;IAAE,gBAAgB,EAAE,EAAE,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,EAAE,GAC3F,oBAAoB,EAAE,CAQxB;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,qBAAqB,EAAE,oBAAoB,EAAE,GAAG;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAQ3G"}
|
|
@@ -2,5 +2,5 @@ export * from '../../../pxe_service/index.js';
|
|
|
2
2
|
export * from '../../../config/index.js';
|
|
3
3
|
export * from '../../../storage/index.js';
|
|
4
4
|
export * from './utils.js';
|
|
5
|
-
export { PXEOracleInterface } from '../../../
|
|
5
|
+
export { PXEOracleInterface } from '../../../contract_function_simulator/pxe_oracle_interface.js';
|
|
6
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/entrypoints/client/bundle/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,kBAAkB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/entrypoints/client/bundle/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,kBAAkB,EAAE,MAAM,8DAA8D,CAAC"}
|
|
@@ -2,4 +2,4 @@ export * from '../../../pxe_service/index.js';
|
|
|
2
2
|
export * from '../../../config/index.js';
|
|
3
3
|
export * from '../../../storage/index.js';
|
|
4
4
|
export * from './utils.js';
|
|
5
|
-
export { PXEOracleInterface } from '../../../
|
|
5
|
+
export { PXEOracleInterface } from '../../../contract_function_simulator/pxe_oracle_interface.js';
|
|
@@ -27,11 +27,11 @@ import { PXEService } from '../../../pxe_service/pxe_service.js';
|
|
|
27
27
|
};
|
|
28
28
|
const storeLogger = loggers.store ? loggers.store : createLogger('pxe:data:idb' + (logSuffix ? `:${logSuffix}` : ''));
|
|
29
29
|
const store = options.store ?? await createStore('pxe_data', configWithContracts, storeLogger);
|
|
30
|
-
const
|
|
30
|
+
const simulator = new WASMSimulator();
|
|
31
31
|
const proverLogger = loggers.prover ? loggers.prover : createLogger('pxe:bb:wasm:bundle' + (logSuffix ? `:${logSuffix}` : ''));
|
|
32
|
-
const prover = options.prover ?? new BBWASMBundlePrivateKernelProver(
|
|
32
|
+
const prover = options.prover ?? new BBWASMBundlePrivateKernelProver(simulator, 16, proverLogger);
|
|
33
33
|
const protocolContractsProvider = new BundledProtocolContractsProvider();
|
|
34
34
|
const pxeLogger = loggers.pxe ? loggers.pxe : createLogger('pxe:service' + (logSuffix ? `:${logSuffix}` : ''));
|
|
35
|
-
const pxe = await PXEService.create(aztecNode, store, prover,
|
|
35
|
+
const pxe = await PXEService.create(aztecNode, store, prover, simulator, protocolContractsProvider, config, pxeLogger);
|
|
36
36
|
return pxe;
|
|
37
37
|
}
|
|
@@ -2,5 +2,5 @@ export * from '../../../pxe_service/index.js';
|
|
|
2
2
|
export * from '../../../config/index.js';
|
|
3
3
|
export * from '../../../storage/index.js';
|
|
4
4
|
export * from './utils.js';
|
|
5
|
-
export { PXEOracleInterface } from '../../../
|
|
5
|
+
export { PXEOracleInterface } from '../../../contract_function_simulator/pxe_oracle_interface.js';
|
|
6
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/entrypoints/client/lazy/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,kBAAkB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/entrypoints/client/lazy/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,kBAAkB,EAAE,MAAM,8DAA8D,CAAC"}
|
|
@@ -2,4 +2,4 @@ export * from '../../../pxe_service/index.js';
|
|
|
2
2
|
export * from '../../../config/index.js';
|
|
3
3
|
export * from '../../../storage/index.js';
|
|
4
4
|
export * from './utils.js';
|
|
5
|
-
export { PXEOracleInterface } from '../../../
|
|
5
|
+
export { PXEOracleInterface } from '../../../contract_function_simulator/pxe_oracle_interface.js';
|
|
@@ -26,11 +26,11 @@ import { PXEService } from '../../../pxe_service/pxe_service.js';
|
|
|
26
26
|
const loggers = options.loggers ?? {};
|
|
27
27
|
const storeLogger = loggers.store ? loggers.store : createLogger('pxe:data:idb' + (logSuffix ? `:${logSuffix}` : ''));
|
|
28
28
|
const store = options.store ?? await createStore('pxe_data', configWithContracts, storeLogger);
|
|
29
|
-
const
|
|
29
|
+
const simulator = new WASMSimulator();
|
|
30
30
|
const proverLogger = loggers.prover ? loggers.prover : createLogger('pxe:bb:wasm:bundle' + (logSuffix ? `:${logSuffix}` : ''));
|
|
31
|
-
const prover = options.prover ?? new BBWASMLazyPrivateKernelProver(
|
|
31
|
+
const prover = options.prover ?? new BBWASMLazyPrivateKernelProver(simulator, 16, proverLogger);
|
|
32
32
|
const protocolContractsProvider = new LazyProtocolContractsProvider();
|
|
33
33
|
const pxeLogger = loggers.pxe ? loggers.pxe : createLogger('pxe:service' + (logSuffix ? `:${logSuffix}` : ''));
|
|
34
|
-
const pxe = await PXEService.create(aztecNode, store, prover,
|
|
34
|
+
const pxe = await PXEService.create(aztecNode, store, prover, simulator, protocolContractsProvider, config, pxeLogger);
|
|
35
35
|
return pxe;
|
|
36
36
|
}
|
|
@@ -3,5 +3,5 @@ export * from '../../pxe_http/index.js';
|
|
|
3
3
|
export * from '../../config/index.js';
|
|
4
4
|
export * from '../../storage/index.js';
|
|
5
5
|
export * from './utils.js';
|
|
6
|
-
export { PXEOracleInterface } from '../../
|
|
6
|
+
export { PXEOracleInterface } from '../../contract_function_simulator/pxe_oracle_interface.js';
|
|
7
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/entrypoints/server/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,kBAAkB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/entrypoints/server/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,kBAAkB,EAAE,MAAM,2DAA2D,CAAC"}
|
|
@@ -3,4 +3,4 @@ export * from '../../pxe_http/index.js';
|
|
|
3
3
|
export * from '../../config/index.js';
|
|
4
4
|
export * from '../../storage/index.js';
|
|
5
5
|
export * from './utils.js';
|
|
6
|
-
export { PXEOracleInterface } from '../../
|
|
6
|
+
export { PXEOracleInterface } from '../../contract_function_simulator/pxe_oracle_interface.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type CircuitSimulator } from '@aztec/simulator/client';
|
|
2
2
|
import type { AztecNode } from '@aztec/stdlib/interfaces/client';
|
|
3
3
|
import type { PXEServiceConfig } from '../../config/index.js';
|
|
4
4
|
import { PXEService } from '../../pxe_service/pxe_service.js';
|
|
@@ -13,13 +13,13 @@ import type { PXECreationOptions } from '../pxe_creation_options.js';
|
|
|
13
13
|
*/
|
|
14
14
|
export declare function createPXEService(aztecNode: AztecNode, config: PXEServiceConfig, options?: PXECreationOptions): Promise<PXEService>;
|
|
15
15
|
/**
|
|
16
|
-
* Create and start an PXEService instance with the given AztecNode,
|
|
16
|
+
* Create and start an PXEService instance with the given AztecNode, Simulator and config.
|
|
17
17
|
*
|
|
18
18
|
* @param aztecNode - The AztecNode instance to be used by the server.
|
|
19
|
-
* @param
|
|
19
|
+
* @param simulator - The Simulator to use
|
|
20
20
|
* @param config - The PXE Service Config to use
|
|
21
21
|
* @param useLogSuffix - Whether to add a randomly generated suffix to the PXE debug logs.
|
|
22
22
|
* @returns A Promise that resolves to the started PXEService instance.
|
|
23
23
|
*/
|
|
24
|
-
export declare function
|
|
24
|
+
export declare function createPXEServiceWithSimulator(aztecNode: AztecNode, simulator: CircuitSimulator, config: PXEServiceConfig, options?: PXECreationOptions): Promise<PXEService>;
|
|
25
25
|
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/entrypoints/server/utils.ts"],"names":[],"mappings":"AAKA,OAAO,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/entrypoints/server/utils.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,KAAK,gBAAgB,EAItB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAEjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAE9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAErE;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,gBAAgB,EACxB,OAAO,GAAE,kBAAoC,uBAQ9C;AAED;;;;;;;;GAQG;AACH,wBAAsB,6BAA6B,CACjD,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,gBAAgB,EAC3B,MAAM,EAAE,gBAAgB,EACxB,OAAO,GAAE,kBAAoC,uBA4C9C"}
|
|
@@ -3,7 +3,7 @@ import { BBWASMBundlePrivateKernelProver } from '@aztec/bb-prover/client/wasm/bu
|
|
|
3
3
|
import { randomBytes } from '@aztec/foundation/crypto';
|
|
4
4
|
import { createLogger } from '@aztec/foundation/log';
|
|
5
5
|
import { BundledProtocolContractsProvider } from '@aztec/protocol-contracts/providers/bundle';
|
|
6
|
-
import { MemoryCircuitRecorder,
|
|
6
|
+
import { MemoryCircuitRecorder, SimulatorRecorderWrapper, WASMSimulator } from '@aztec/simulator/client';
|
|
7
7
|
import { FileCircuitRecorder } from '@aztec/simulator/testing';
|
|
8
8
|
import { PXEService } from '../../pxe_service/pxe_service.js';
|
|
9
9
|
import { PXE_DATA_SCHEMA_VERSION } from '../../storage/index.js';
|
|
@@ -17,20 +17,20 @@ import { PXE_DATA_SCHEMA_VERSION } from '../../storage/index.js';
|
|
|
17
17
|
*/ export function createPXEService(aztecNode, config, options = {
|
|
18
18
|
loggers: {}
|
|
19
19
|
}) {
|
|
20
|
-
const
|
|
20
|
+
const simulator = new WASMSimulator();
|
|
21
21
|
const recorder = process.env.CIRCUIT_RECORD_DIR ? new FileCircuitRecorder(process.env.CIRCUIT_RECORD_DIR) : new MemoryCircuitRecorder();
|
|
22
|
-
const
|
|
23
|
-
return
|
|
22
|
+
const simulatorWithRecorder = new SimulatorRecorderWrapper(simulator, recorder);
|
|
23
|
+
return createPXEServiceWithSimulator(aztecNode, simulatorWithRecorder, config, options);
|
|
24
24
|
}
|
|
25
25
|
/**
|
|
26
|
-
* Create and start an PXEService instance with the given AztecNode,
|
|
26
|
+
* Create and start an PXEService instance with the given AztecNode, Simulator and config.
|
|
27
27
|
*
|
|
28
28
|
* @param aztecNode - The AztecNode instance to be used by the server.
|
|
29
|
-
* @param
|
|
29
|
+
* @param simulator - The Simulator to use
|
|
30
30
|
* @param config - The PXE Service Config to use
|
|
31
31
|
* @param useLogSuffix - Whether to add a randomly generated suffix to the PXE debug logs.
|
|
32
32
|
* @returns A Promise that resolves to the started PXEService instance.
|
|
33
|
-
*/ export async function
|
|
33
|
+
*/ export async function createPXEServiceWithSimulator(aztecNode, simulator, config, options = {
|
|
34
34
|
loggers: {}
|
|
35
35
|
}) {
|
|
36
36
|
const logSuffix = typeof options.useLogSuffix === 'boolean' ? options.useLogSuffix ? randomBytes(3).toString('hex') : undefined : options.useLogSuffix;
|
|
@@ -49,20 +49,20 @@ import { PXE_DATA_SCHEMA_VERSION } from '../../storage/index.js';
|
|
|
49
49
|
options.store = await createStore('pxe_data', PXE_DATA_SCHEMA_VERSION, configWithContracts, storeLogger);
|
|
50
50
|
}
|
|
51
51
|
const proverLogger = loggers.prover ? loggers.prover : createLogger('pxe:bb:native' + (logSuffix ? `:${logSuffix}` : ''));
|
|
52
|
-
const prover = await createProver(config,
|
|
52
|
+
const prover = await createProver(config, simulator, proverLogger);
|
|
53
53
|
const protocolContractsProvider = new BundledProtocolContractsProvider();
|
|
54
54
|
const pxeLogger = loggers.pxe ? loggers.pxe : createLogger('pxe:service' + (logSuffix ? `:${logSuffix}` : ''));
|
|
55
|
-
const pxe = await PXEService.create(aztecNode, options.store, prover,
|
|
55
|
+
const pxe = await PXEService.create(aztecNode, options.store, prover, simulator, protocolContractsProvider, config, pxeLogger);
|
|
56
56
|
return pxe;
|
|
57
57
|
}
|
|
58
|
-
function createProver(config,
|
|
58
|
+
function createProver(config, simulator, logger) {
|
|
59
59
|
if (!config.bbBinaryPath || !config.bbWorkingDirectory) {
|
|
60
|
-
return new BBWASMBundlePrivateKernelProver(
|
|
60
|
+
return new BBWASMBundlePrivateKernelProver(simulator, 16, logger);
|
|
61
61
|
} else {
|
|
62
62
|
const bbConfig = config;
|
|
63
63
|
return BBNativePrivateKernelProver.new({
|
|
64
64
|
bbSkipCleanup: false,
|
|
65
65
|
...bbConfig
|
|
66
|
-
},
|
|
66
|
+
}, simulator, logger);
|
|
67
67
|
}
|
|
68
68
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"private_kernel_execution_prover.d.ts","sourceRoot":"","sources":["../../src/private_kernel/private_kernel_execution_prover.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAKL,KAAK,iCAAiC,EAKtC,KAAK,oCAAoC,EAE1C,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAEL,KAAK,sBAAsB,EAC3B,SAAS,EAIV,MAAM,kBAAkB,CAAC;AAI1B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAStE,MAAM,WAAW,kCAAkC;IACjD,QAAQ,EAAE,OAAO,CAAC;IAClB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,WAAW,EAAE,OAAO,GAAG,iBAAiB,GAAG,MAAM,GAAG,MAAM,CAAC;CAC5D;AAED;;;;;GAKG;AACH,qBAAa,4BAA4B;IAIrC,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,UAAU;IALpB,OAAO,CAAC,GAAG,CAAuD;gBAGxD,MAAM,EAAE,mBAAmB,EAC3B,YAAY,EAAE,mBAAmB,EACjC,UAAU,UAAQ;IAG5B;;;;;;;;;;OAUG;IACG,gBAAgB,CACpB,SAAS,EAAE,SAAS,EACpB,eAAe,EAAE,sBAAsB,EACvC,EAAE,QAAQ,EAAE,kBAAkB,EAAE,WAAW,EAAE,GAAE,kCAI9C,GACA,OAAO,CAAC,iCAAiC,CAAC,oCAAoC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"private_kernel_execution_prover.d.ts","sourceRoot":"","sources":["../../src/private_kernel/private_kernel_execution_prover.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAKL,KAAK,iCAAiC,EAKtC,KAAK,oCAAoC,EAE1C,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAEL,KAAK,sBAAsB,EAC3B,SAAS,EAIV,MAAM,kBAAkB,CAAC;AAI1B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAStE,MAAM,WAAW,kCAAkC;IACjD,QAAQ,EAAE,OAAO,CAAC;IAClB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,WAAW,EAAE,OAAO,GAAG,iBAAiB,GAAG,MAAM,GAAG,MAAM,CAAC;CAC5D;AAED;;;;;GAKG;AACH,qBAAa,4BAA4B;IAIrC,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,UAAU;IALpB,OAAO,CAAC,GAAG,CAAuD;gBAGxD,MAAM,EAAE,mBAAmB,EAC3B,YAAY,EAAE,mBAAmB,EACjC,UAAU,UAAQ;IAG5B;;;;;;;;;;OAUG;IACG,gBAAgB,CACpB,SAAS,EAAE,SAAS,EACpB,eAAe,EAAE,sBAAsB,EACvC,EAAE,QAAQ,EAAE,kBAAkB,EAAE,WAAW,EAAE,GAAE,kCAI9C,GACA,OAAO,CAAC,iCAAiC,CAAC,oCAAoC,CAAC,CAAC;YAsPrE,qBAAqB;CA2CpC"}
|
|
@@ -69,8 +69,8 @@ const NULL_SIMULATE_OUTPUT = {
|
|
|
69
69
|
if (!firstIteration) {
|
|
70
70
|
let resetBuilder = new PrivateKernelResetPrivateInputsBuilder(output, executionStack, noteHashNullifierCounterMap, validationRequestsSplitCounter);
|
|
71
71
|
while(resetBuilder.needsReset()){
|
|
72
|
-
const privateInputs = await resetBuilder.build(this.oracle, noteHashLeafIndexMap);
|
|
73
72
|
const witgenTimer = new Timer();
|
|
73
|
+
const privateInputs = await resetBuilder.build(this.oracle, noteHashLeafIndexMap);
|
|
74
74
|
output = generateWitnesses ? await this.proofCreator.generateResetOutput(privateInputs) : await this.proofCreator.simulateReset(privateInputs);
|
|
75
75
|
executionSteps.push({
|
|
76
76
|
functionName: 'private_kernel_reset',
|
|
@@ -101,10 +101,10 @@ const NULL_SIMULATE_OUTPUT = {
|
|
|
101
101
|
});
|
|
102
102
|
const privateCallData = await this.createPrivateCallData(currentExecution);
|
|
103
103
|
if (firstIteration) {
|
|
104
|
+
const witgenTimer = new Timer();
|
|
104
105
|
const proofInput = new PrivateKernelInitCircuitPrivateInputs(txRequest, getVKTreeRoot(), protocolContractTreeRoot, privateCallData, isPrivateOnlyTx, executionResult.firstNullifier);
|
|
105
106
|
this.log.debug(`Calling private kernel init with isPrivateOnly ${isPrivateOnlyTx} and firstNullifierHint ${proofInput.firstNullifierHint}`);
|
|
106
107
|
pushTestData('private-kernel-inputs-init', proofInput);
|
|
107
|
-
const witgenTimer = new Timer();
|
|
108
108
|
output = generateWitnesses ? await this.proofCreator.generateInitOutput(proofInput) : await this.proofCreator.simulateInit(proofInput);
|
|
109
109
|
executionSteps.push({
|
|
110
110
|
functionName: 'private_kernel_init',
|
|
@@ -116,11 +116,11 @@ const NULL_SIMULATE_OUTPUT = {
|
|
|
116
116
|
}
|
|
117
117
|
});
|
|
118
118
|
} else {
|
|
119
|
+
const witgenTimer = new Timer();
|
|
119
120
|
const previousVkMembershipWitness = await this.oracle.getVkMembershipWitness(output.verificationKey.keyAsFields);
|
|
120
121
|
const previousKernelData = new PrivateKernelData(output.publicInputs, output.verificationKey, Number(previousVkMembershipWitness.leafIndex), assertLength(previousVkMembershipWitness.siblingPath, VK_TREE_HEIGHT));
|
|
121
122
|
const proofInput = new PrivateKernelInnerCircuitPrivateInputs(previousKernelData, privateCallData);
|
|
122
123
|
pushTestData('private-kernel-inputs-inner', proofInput);
|
|
123
|
-
const witgenTimer = new Timer();
|
|
124
124
|
output = generateWitnesses ? await this.proofCreator.generateInnerOutput(proofInput) : await this.proofCreator.simulateInner(proofInput);
|
|
125
125
|
executionSteps.push({
|
|
126
126
|
functionName: 'private_kernel_inner',
|
|
@@ -137,8 +137,8 @@ const NULL_SIMULATE_OUTPUT = {
|
|
|
137
137
|
// Reset.
|
|
138
138
|
let resetBuilder = new PrivateKernelResetPrivateInputsBuilder(output, [], noteHashNullifierCounterMap, validationRequestsSplitCounter);
|
|
139
139
|
while(resetBuilder.needsReset()){
|
|
140
|
-
const privateInputs = await resetBuilder.build(this.oracle, noteHashLeafIndexMap);
|
|
141
140
|
const witgenTimer = new Timer();
|
|
141
|
+
const privateInputs = await resetBuilder.build(this.oracle, noteHashLeafIndexMap);
|
|
142
142
|
output = generateWitnesses ? await this.proofCreator.generateResetOutput(privateInputs) : await this.proofCreator.simulateReset(privateInputs);
|
|
143
143
|
executionSteps.push({
|
|
144
144
|
functionName: 'private_kernel_reset',
|
|
@@ -4,7 +4,7 @@ import { type Logger } from '@aztec/foundation/log';
|
|
|
4
4
|
import type { SiblingPath } from '@aztec/foundation/trees';
|
|
5
5
|
import type { AztecAsyncKVStore } from '@aztec/kv-store';
|
|
6
6
|
import { type ProtocolContractsProvider } from '@aztec/protocol-contracts';
|
|
7
|
-
import {
|
|
7
|
+
import type { CircuitSimulator } from '@aztec/simulator/client';
|
|
8
8
|
import { type ContractArtifact } from '@aztec/stdlib/abi';
|
|
9
9
|
import type { AuthWitness } from '@aztec/stdlib/auth-witness';
|
|
10
10
|
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
@@ -46,7 +46,7 @@ export declare class PXEService implements PXE {
|
|
|
46
46
|
*
|
|
47
47
|
* @returns A promise that resolves PXE service is ready to be used.
|
|
48
48
|
*/
|
|
49
|
-
static create(node: AztecNode, store: AztecAsyncKVStore, proofCreator: PrivateKernelProver,
|
|
49
|
+
static create(node: AztecNode, store: AztecAsyncKVStore, proofCreator: PrivateKernelProver, simulator: CircuitSimulator, protocolContractsProvider: ProtocolContractsProvider, config: PXEServiceConfig, loggerOrSuffix?: string | Logger): Promise<PXEService>;
|
|
50
50
|
isL1ToL2MessageSynced(l1ToL2Message: Fr): Promise<boolean>;
|
|
51
51
|
getL2ToL1MembershipWitness(blockNumber: number, l2Tol1Message: Fr): Promise<[bigint, SiblingPath<number>]>;
|
|
52
52
|
getTxReceipt(txHash: TxHash): Promise<TxReceipt>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pxe_service.d.ts","sourceRoot":"","sources":["../../src/pxe_service/pxe_service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAGlE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEzD,OAAO,EAEL,KAAK,yBAAyB,EAE/B,MAAM,2BAA2B,CAAC;AACnC,OAAO,
|
|
1
|
+
{"version":3,"file":"pxe_service.d.ts","sourceRoot":"","sources":["../../src/pxe_service/pxe_service.ts"],"names":[],"mappings":"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"}
|