@aztec/pxe 0.32.0 → 0.33.0
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/contract_data_oracle/index.d.ts +6 -6
- package/dest/contract_data_oracle/index.d.ts.map +1 -1
- package/dest/contract_data_oracle/index.js +1 -1
- package/dest/contract_data_oracle/private_functions_tree.d.ts +3 -3
- package/dest/contract_data_oracle/private_functions_tree.d.ts.map +1 -1
- package/dest/database/contracts/contract_artifact_db.d.ts +2 -2
- package/dest/database/contracts/contract_artifact_db.d.ts.map +1 -1
- package/dest/database/contracts/contract_instance_db.d.ts +2 -2
- package/dest/database/contracts/contract_instance_db.d.ts.map +1 -1
- package/dest/database/deferred_note_dao.d.ts +1 -1
- package/dest/database/deferred_note_dao.d.ts.map +1 -1
- package/dest/database/deferred_note_dao.js +1 -1
- package/dest/database/kv_pxe_database.d.ts +7 -7
- package/dest/database/kv_pxe_database.d.ts.map +1 -1
- package/dest/database/kv_pxe_database.js +1 -1
- package/dest/database/note_dao.d.ts +2 -2
- package/dest/database/note_dao.d.ts.map +1 -1
- package/dest/database/note_dao.js +1 -1
- package/dest/database/pxe_database.d.ts +11 -11
- package/dest/database/pxe_database.d.ts.map +1 -1
- package/dest/database/pxe_database_test_suite.d.ts +1 -1
- package/dest/database/pxe_database_test_suite.d.ts.map +1 -1
- package/dest/database/pxe_database_test_suite.js +1 -1
- package/dest/kernel_oracle/index.d.ts +4 -4
- package/dest/kernel_oracle/index.d.ts.map +1 -1
- package/dest/kernel_prover/hints_builder.d.ts +3 -3
- package/dest/kernel_prover/hints_builder.d.ts.map +1 -1
- package/dest/kernel_prover/kernel_prover.d.ts +5 -44
- package/dest/kernel_prover/kernel_prover.d.ts.map +1 -1
- package/dest/kernel_prover/kernel_prover.js +9 -37
- package/dest/kernel_prover/proof_creator.d.ts +3 -3
- package/dest/kernel_prover/proof_creator.d.ts.map +1 -1
- package/dest/kernel_prover/proof_creator.js +4 -3
- package/dest/kernel_prover/proving_data_oracle.d.ts +3 -3
- package/dest/kernel_prover/proving_data_oracle.d.ts.map +1 -1
- package/dest/note_processor/note_processor.d.ts +11 -13
- package/dest/note_processor/note_processor.d.ts.map +1 -1
- package/dest/note_processor/note_processor.js +18 -20
- package/dest/note_processor/produce_note_dao.d.ts +3 -3
- package/dest/note_processor/produce_note_dao.d.ts.map +1 -1
- package/dest/note_processor/produce_note_dao.js +1 -1
- package/dest/pxe_http/pxe_http_server.d.ts +1 -1
- package/dest/pxe_http/pxe_http_server.d.ts.map +1 -1
- package/dest/pxe_http/pxe_http_server.js +3 -3
- package/dest/pxe_service/create_pxe_service.d.ts +2 -2
- package/dest/pxe_service/create_pxe_service.d.ts.map +1 -1
- package/dest/pxe_service/pxe_service.d.ts +9 -8
- package/dest/pxe_service/pxe_service.d.ts.map +1 -1
- package/dest/pxe_service/pxe_service.js +52 -34
- package/dest/pxe_service/test/pxe_test_suite.d.ts +1 -1
- package/dest/pxe_service/test/pxe_test_suite.d.ts.map +1 -1
- package/dest/pxe_service/test/pxe_test_suite.js +3 -3
- package/dest/simulator/index.d.ts +2 -2
- package/dest/simulator/index.d.ts.map +1 -1
- package/dest/simulator_oracle/index.d.ts +7 -7
- package/dest/simulator_oracle/index.d.ts.map +1 -1
- package/dest/simulator_oracle/index.js +1 -1
- package/dest/synchronizer/synchronizer.d.ts +4 -4
- package/dest/synchronizer/synchronizer.d.ts.map +1 -1
- package/dest/synchronizer/synchronizer.js +9 -13
- package/package.json +22 -16
- package/src/contract_data_oracle/index.ts +9 -9
- package/src/contract_data_oracle/private_functions_tree.ts +3 -3
- package/src/database/contracts/contract_artifact_db.ts +2 -2
- package/src/database/contracts/contract_instance_db.ts +2 -2
- package/src/database/deferred_note_dao.ts +1 -1
- package/src/database/kv_pxe_database.ts +13 -7
- package/src/database/note_dao.ts +2 -2
- package/src/database/pxe_database.ts +12 -12
- package/src/database/pxe_database_test_suite.ts +3 -3
- package/src/kernel_oracle/index.ts +9 -9
- package/src/kernel_prover/hints_builder.ts +9 -9
- package/src/kernel_prover/kernel_prover.ts +29 -95
- package/src/kernel_prover/proof_creator.ts +15 -12
- package/src/kernel_prover/proving_data_oracle.ts +11 -11
- package/src/note_processor/note_processor.ts +29 -34
- package/src/note_processor/produce_note_dao.ts +3 -3
- package/src/pxe_http/pxe_http_server.ts +3 -2
- package/src/pxe_service/create_pxe_service.ts +2 -2
- package/src/pxe_service/pxe_service.ts +89 -66
- package/src/pxe_service/test/pxe_test_suite.ts +3 -3
- package/src/simulator/index.ts +2 -2
- package/src/simulator_oracle/index.ts +19 -19
- package/src/synchronizer/synchronizer.ts +23 -22
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CallRequest, Fr, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL, NoteHashReadRequestMembershipWitness, PrivateCallData,
|
|
1
|
+
import { CallRequest, Fr, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL, NoteHashReadRequestMembershipWitness, PrivateCallData, PrivateKernelCircuitPublicInputs, PrivateKernelData, PrivateKernelInitCircuitPrivateInputs, PrivateKernelInnerCircuitPrivateInputs, PrivateKernelTailCircuitPrivateInputs, VK_TREE_HEIGHT, VerificationKey, makeEmptyProof, } from '@aztec/circuits.js';
|
|
2
2
|
import { makeTuple } from '@aztec/foundation/array';
|
|
3
3
|
import { padArrayEnd } from '@aztec/foundation/collection';
|
|
4
4
|
import { createDebugLogger } from '@aztec/foundation/log';
|
|
@@ -31,11 +31,10 @@ export class KernelProver {
|
|
|
31
31
|
*/
|
|
32
32
|
async prove(txRequest, executionResult) {
|
|
33
33
|
const executionStack = [executionResult];
|
|
34
|
-
const newNotes = {};
|
|
35
34
|
let firstIteration = true;
|
|
36
35
|
let previousVerificationKey = VerificationKey.makeFake();
|
|
37
36
|
let output = {
|
|
38
|
-
publicInputs:
|
|
37
|
+
publicInputs: PrivateKernelCircuitPublicInputs.empty(),
|
|
39
38
|
proof: makeEmptyProof(),
|
|
40
39
|
};
|
|
41
40
|
while (executionStack.length) {
|
|
@@ -74,33 +73,26 @@ export class KernelProver {
|
|
|
74
73
|
}
|
|
75
74
|
else {
|
|
76
75
|
const previousVkMembershipWitness = await this.oracle.getVkMembershipWitness(previousVerificationKey);
|
|
77
|
-
const previousKernelData = new
|
|
76
|
+
const previousKernelData = new PrivateKernelData(output.publicInputs, output.proof, previousVerificationKey, Number(previousVkMembershipWitness.leafIndex), assertLength(previousVkMembershipWitness.siblingPath, VK_TREE_HEIGHT));
|
|
78
77
|
const proofInput = new PrivateKernelInnerCircuitPrivateInputs(previousKernelData, privateCallData);
|
|
79
78
|
pushTestData('private-kernel-inputs-inner', proofInput);
|
|
80
79
|
output = await this.proofCreator.createProofInner(proofInput);
|
|
81
80
|
}
|
|
82
|
-
(await this.getNewNotes(currentExecution)).forEach(n => {
|
|
83
|
-
newNotes[n.commitment.toString()] = n;
|
|
84
|
-
});
|
|
85
81
|
firstIteration = false;
|
|
86
82
|
previousVerificationKey = privateCallData.vk;
|
|
87
83
|
}
|
|
88
84
|
const previousVkMembershipWitness = await this.oracle.getVkMembershipWitness(previousVerificationKey);
|
|
89
|
-
const previousKernelData = new
|
|
85
|
+
const previousKernelData = new PrivateKernelData(output.publicInputs, output.proof, previousVerificationKey, Number(previousVkMembershipWitness.leafIndex), assertLength(previousVkMembershipWitness.siblingPath, VK_TREE_HEIGHT));
|
|
86
|
+
const readNoteHashHints = this.hintsBuilder.getNoteHashReadRequestHints(output.publicInputs.validationRequests.noteHashReadRequests, output.publicInputs.end.newNoteHashes);
|
|
87
|
+
const nullifierReadRequestHints = await this.hintsBuilder.getNullifierReadRequestHints(output.publicInputs.validationRequests.nullifierReadRequests, output.publicInputs.end.newNullifiers);
|
|
88
|
+
const masterNullifierSecretKeys = await this.hintsBuilder.getMasterNullifierSecretKeys(output.publicInputs.validationRequests.nullifierKeyValidationRequests);
|
|
90
89
|
const [sortedNoteHashes, sortedNoteHashesIndexes] = this.hintsBuilder.sortSideEffects(output.publicInputs.end.newNoteHashes);
|
|
91
90
|
const [sortedNullifiers, sortedNullifiersIndexes] = this.hintsBuilder.sortSideEffects(output.publicInputs.end.newNullifiers);
|
|
92
|
-
const readNoteHashHints = this.hintsBuilder.getNoteHashReadRequestHints(output.publicInputs.validationRequests.noteHashReadRequests, sortedNoteHashes);
|
|
93
|
-
const nullifierReadRequestHints = await this.hintsBuilder.getNullifierReadRequestHints(output.publicInputs.validationRequests.nullifierReadRequests, output.publicInputs.end.newNullifiers);
|
|
94
91
|
const nullifierNoteHashHints = this.hintsBuilder.getNullifierHints(mapTuple(sortedNullifiers, n => n.noteHash), sortedNoteHashes);
|
|
95
|
-
const masterNullifierSecretKeys = await this.hintsBuilder.getMasterNullifierSecretKeys(output.publicInputs.validationRequests.nullifierKeyValidationRequests);
|
|
96
92
|
this.log.debug(`Calling private kernel tail with hwm ${previousKernelData.publicInputs.minRevertibleSideEffectCounter}`);
|
|
97
93
|
const privateInputs = new PrivateKernelTailCircuitPrivateInputs(previousKernelData, sortedNoteHashes, sortedNoteHashesIndexes, readNoteHashHints, sortedNullifiers, sortedNullifiersIndexes, nullifierReadRequestHints, nullifierNoteHashHints, masterNullifierSecretKeys);
|
|
98
94
|
pushTestData('private-kernel-inputs-ordering', privateInputs);
|
|
99
|
-
|
|
100
|
-
// Only return the notes whose commitment is in the commitments of the final proof.
|
|
101
|
-
const finalNewCommitments = outputFinal.publicInputs.end.newNoteHashes;
|
|
102
|
-
const outputNotes = finalNewCommitments.map(c => newNotes[c.value.toString()]).filter(c => !!c);
|
|
103
|
-
return { ...outputFinal, outputNotes };
|
|
95
|
+
return await this.proofCreator.createProofTail(privateInputs);
|
|
104
96
|
}
|
|
105
97
|
async createPrivateCallData({ callStackItem, vk }, privateCallRequests, publicCallRequests, noteHashReadRequestMembershipWitnesses) {
|
|
106
98
|
const { contractAddress, functionData, publicInputs } = callStackItem;
|
|
@@ -132,25 +124,5 @@ export class KernelProver {
|
|
|
132
124
|
acirHash,
|
|
133
125
|
});
|
|
134
126
|
}
|
|
135
|
-
/**
|
|
136
|
-
* Retrieves the new output notes for a given execution result.
|
|
137
|
-
* The function maps over the new notes and associates them with their corresponding
|
|
138
|
-
* commitments in the public inputs of the execution result. It also includes the contract address
|
|
139
|
-
* from the call context of the public inputs.
|
|
140
|
-
*
|
|
141
|
-
* @param executionResult - The execution result object containing notes and public inputs.
|
|
142
|
-
* @returns An array of OutputNoteData objects, each representing an output note with its associated data.
|
|
143
|
-
*/
|
|
144
|
-
async getNewNotes(executionResult) {
|
|
145
|
-
const { callStackItem: { publicInputs }, newNotes, } = executionResult;
|
|
146
|
-
const contractAddress = publicInputs.callContext.storageContractAddress;
|
|
147
|
-
// Assuming that for each new commitment there's an output note added to the execution result.
|
|
148
|
-
const newNoteHashes = await this.proofCreator.getSiloedCommitments(publicInputs);
|
|
149
|
-
return newNotes.map((data, i) => ({
|
|
150
|
-
contractAddress,
|
|
151
|
-
data,
|
|
152
|
-
commitment: newNoteHashes[i],
|
|
153
|
-
}));
|
|
154
|
-
}
|
|
155
127
|
}
|
|
156
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
128
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2VybmVsX3Byb3Zlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9rZXJuZWxfcHJvdmVyL2tlcm5lbF9wcm92ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFdBQVcsRUFDWCxFQUFFLEVBR0Ysb0NBQW9DLEVBQ3BDLHNDQUFzQyxFQUN0QyxxQ0FBcUMsRUFDckMsb0NBQW9DLEVBQ3BDLGVBQWUsRUFDZixnQ0FBZ0MsRUFDaEMsaUJBQWlCLEVBQ2pCLHFDQUFxQyxFQUNyQyxzQ0FBc0MsRUFDdEMscUNBQXFDLEVBSXJDLGNBQWMsRUFDZCxlQUFlLEVBQ2YsY0FBYyxHQUNmLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUd6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGtCQUFrQixFQUE4RCxNQUFNLG9CQUFvQixDQUFDO0FBR3BIOzs7OztHQUtHO0FBQ0gsTUFBTSxPQUFPLFlBQVk7SUFJdkIsWUFBb0IsTUFBeUIsRUFBVSxlQUE2QixJQUFJLGtCQUFrQixFQUFFO1FBQXhGLFdBQU0sR0FBTixNQUFNLENBQW1CO1FBQVUsaUJBQVksR0FBWixZQUFZLENBQXlDO1FBSHBHLFFBQUcsR0FBRyxpQkFBaUIsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBSXJELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDL0Ms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
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { PrivateCircuitPublicInputs, PrivateKernelInitCircuitPrivateInputs, PrivateKernelInnerCircuitPrivateInputs,
|
|
2
|
-
import { Fr } from '@aztec/foundation/fields';
|
|
1
|
+
import { type PrivateCircuitPublicInputs, type PrivateKernelCircuitPublicInputs, type PrivateKernelInitCircuitPrivateInputs, type PrivateKernelInnerCircuitPrivateInputs, type PrivateKernelTailCircuitPrivateInputs, type PrivateKernelTailCircuitPublicInputs, type Proof } from '@aztec/circuits.js';
|
|
2
|
+
import { type Fr } from '@aztec/foundation/fields';
|
|
3
3
|
/**
|
|
4
4
|
* Represents the output of the proof creation process for init and inner private kernel circuit.
|
|
5
5
|
* Contains the public inputs required for the init and inner private kernel circuit and the generated proof.
|
|
@@ -8,7 +8,7 @@ export interface ProofOutput {
|
|
|
8
8
|
/**
|
|
9
9
|
* The public inputs required for the proof generation process.
|
|
10
10
|
*/
|
|
11
|
-
publicInputs:
|
|
11
|
+
publicInputs: PrivateKernelCircuitPublicInputs;
|
|
12
12
|
/**
|
|
13
13
|
* The zk-SNARK proof for the kernel execution.
|
|
14
14
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proof_creator.d.ts","sourceRoot":"","sources":["../../src/kernel_prover/proof_creator.ts"],"names":[],"mappings":"AACA,OAAO,EACL,0BAA0B,
|
|
1
|
+
{"version":3,"file":"proof_creator.d.ts","sourceRoot":"","sources":["../../src/kernel_prover/proof_creator.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,0BAA0B,EAC/B,KAAK,gCAAgC,EACrC,KAAK,qCAAqC,EAC1C,KAAK,sCAAsC,EAC3C,KAAK,qCAAqC,EAC1C,KAAK,oCAAoC,EACzC,KAAK,KAAK,EAEX,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAKnD;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,YAAY,EAAE,gCAAgC,CAAC;IAC/C;;OAEG;IACH,KAAK,EAAE,KAAK,CAAC;CACd;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,YAAY,EAAE,oCAAoC,CAAC;IACnD;;OAEG;IACH,KAAK,EAAE,KAAK,CAAC;CACd;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;;OAKG;IACH,oBAAoB,CAAC,YAAY,EAAE,0BAA0B,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;IAE9E;;;;;OAKG;IACH,eAAe,CAAC,uBAAuB,EAAE,qCAAqC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAEtG;;;;;OAKG;IACH,gBAAgB,CAAC,wBAAwB,EAAE,sCAAsC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAEzG;;;;;OAKG;IACH,eAAe,CAAC,uBAAuB,EAAE,qCAAqC,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAC5G;AAED;;;;;;GAMG;AACH,qBAAa,kBAAmB,YAAW,YAAY;IACzC,OAAO,CAAC,GAAG;gBAAH,GAAG,8CAAkD;IAElE,oBAAoB,CAAC,YAAY,EAAE,0BAA0B;IAQvD,eAAe,CAAC,aAAa,EAAE,qCAAqC,GAAG,OAAO,CAAC,WAAW,CAAC;IAkB3F,gBAAgB,CAAC,aAAa,EAAE,sCAAsC,GAAG,OAAO,CAAC,WAAW,CAAC;IAkB7F,eAAe,CAAC,aAAa,EAAE,qCAAqC,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAoB9G"}
|
|
@@ -2,7 +2,7 @@ import { makeEmptyProof, } from '@aztec/circuits.js';
|
|
|
2
2
|
import { siloNoteHash } from '@aztec/circuits.js/hash';
|
|
3
3
|
import { createDebugLogger } from '@aztec/foundation/log';
|
|
4
4
|
import { elapsed } from '@aztec/foundation/timer';
|
|
5
|
-
import { executeInit, executeInner, executeTail } from '@aztec/noir-protocol-circuits-types';
|
|
5
|
+
import { executeInit, executeInner, executeTail, executeTailForPublic } from '@aztec/noir-protocol-circuits-types';
|
|
6
6
|
/**
|
|
7
7
|
* The KernelProofCreator class is responsible for generating siloed commitments and zero-knowledge proofs
|
|
8
8
|
* for private kernel circuit. It leverages Barretenberg to perform cryptographic operations and proof creation.
|
|
@@ -51,7 +51,8 @@ export class KernelProofCreator {
|
|
|
51
51
|
};
|
|
52
52
|
}
|
|
53
53
|
async createProofTail(privateInputs) {
|
|
54
|
-
const
|
|
54
|
+
const isForPublic = privateInputs.isForPublic();
|
|
55
|
+
const [duration, result] = await elapsed(() => isForPublic ? executeTailForPublic(privateInputs) : executeTail(privateInputs));
|
|
55
56
|
this.log(`Simulated private kernel ordering`, {
|
|
56
57
|
eventName: 'circuit-simulation',
|
|
57
58
|
circuitName: 'private-kernel-ordering',
|
|
@@ -67,4 +68,4 @@ export class KernelProofCreator {
|
|
|
67
68
|
};
|
|
68
69
|
}
|
|
69
70
|
}
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvb2ZfY3JlYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9rZXJuZWxfcHJvdmVyL3Byb29mX2NyZWF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQVFMLGNBQWMsR0FDZixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV2RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFzRW5IOzs7Ozs7R0FNRztBQUNILE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsWUFBb0IsTUFBTSxpQkFBaUIsQ0FBQyw0QkFBNEIsQ0FBQztRQUFyRCxRQUFHLEdBQUgsR0FBRyxDQUFrRDtJQUFHLENBQUM7SUFFdEUsb0JBQW9CLENBQUMsWUFBd0M7UUFDbEUsTUFBTSxlQUFlLEdBQUcsWUFBWSxDQUFDLFdBQVcsQ0FBQyxzQkFBc0IsQ0FBQztRQUV4RSxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQ3BCLFlBQVksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLGVBQWUsRUFBRSxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FDOUYsQ0FBQztJQUNKLENBQUM7SUFFTSxLQUFLLENBQUMsZUFBZSxDQUFDLGFBQW9EO1FBQy9FLE1BQU0sQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7UUFDM0UsSUFBSSxDQUFDLEdBQUcsQ0FBQywrQkFBK0IsRUFBRTtZQUN4QyxTQUFTLEVBQUUsb0JBQW9CO1lBQy9CLFdBQVcsRUFBRSxxQkFBcUI7WUFDbEMsUUFBUTtZQUNSLFNBQVMsRUFBRSxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTTtZQUMxQyxVQUFVLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU07U0FDSixDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDO1FBQ3BELE1BQU0sS0FBSyxHQUFHLGNBQWMsRUFBRSxDQUFDO1FBRS9CLE9BQU87WUFDTCxZQUFZLEVBQUUsTUFBTTtZQUNwQixLQUFLLEVBQUUsS0FBSztTQUNiLENBQUM7SUFDSixDQUFDO0lBRU0sS0FBSyxDQUFDLGdCQUFnQixDQUFDLGFBQXFEO1FBQ2pGLE1BQU0sQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7UUFDNUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxnQ0FBZ0MsRUFBRTtZQUN6QyxTQUFTLEVBQUUsb0JBQW9CO1lBQy9CLFdBQVcsRUFBRSxzQkFBc0I7WUFDbkMsUUFBUTtZQUNSLFNBQVMsRUFBRSxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTTtZQUMxQyxVQUFVLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU07U0FDSixDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLEdBQUcsQ0FBQywwQ0FBMEMsQ0FBQyxDQUFDO1FBQ3JELE1BQU0sS0FBSyxHQUFHLGNBQWMsRUFBRSxDQUFDO1FBRS9CLE9BQU87WUFDTCxZQUFZLEVBQUUsTUFBTTtZQUNwQixLQUFLLEVBQUUsS0FBSztTQUNiLENBQUM7SUFDSixDQUFDO0lBRU0sS0FBSyxDQUFDLGVBQWUsQ0FBQyxhQUFvRDtRQUMvRSxNQUFNLFdBQVcsR0FBRyxhQUFhLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDaEQsTUFBTSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FDNUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUMvRSxDQUFDO1FBQ0YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxtQ0FBbUMsRUFBRTtZQUM1QyxTQUFTLEVBQUUsb0JBQW9CO1lBQy9CLFdBQVcsRUFBRSx5QkFBeUI7WUFDdEMsUUFBUTtZQUNSLFNBQVMsRUFBRSxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTTtZQUMxQyxVQUFVLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU07U0FDSixDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyw2Q0FBNkMsQ0FBQyxDQUFDO1FBQ3hELE1BQU0sS0FBSyxHQUFHLGNBQWMsRUFBRSxDQUFDO1FBRS9CLE9BQU87WUFDTCxZQUFZLEVBQUUsTUFBTTtZQUNwQixLQUFLLEVBQUUsS0FBSztTQUNiLENBQUM7SUFDSixDQUFDO0NBQ0YifQ==
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { NullifierMembershipWitness } from '@aztec/circuit-types';
|
|
2
|
-
import { FUNCTION_TREE_HEIGHT, Fr, FunctionSelector, GrumpkinPrivateKey, MembershipWitness, NOTE_HASH_TREE_HEIGHT, Point, VK_TREE_HEIGHT, VerificationKey } from '@aztec/circuits.js';
|
|
3
|
-
import { AztecAddress } from '@aztec/foundation/aztec-address';
|
|
1
|
+
import { type NullifierMembershipWitness } from '@aztec/circuit-types';
|
|
2
|
+
import { type FUNCTION_TREE_HEIGHT, type Fr, type FunctionSelector, type GrumpkinPrivateKey, type MembershipWitness, type NOTE_HASH_TREE_HEIGHT, type Point, type VK_TREE_HEIGHT, type VerificationKey } from '@aztec/circuits.js';
|
|
3
|
+
import { type AztecAddress } from '@aztec/foundation/aztec-address';
|
|
4
4
|
/**
|
|
5
5
|
* Provides functionality to fetch membership witnesses for verification keys,
|
|
6
6
|
* contract addresses, and function selectors in their respective merkle trees.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proving_data_oracle.d.ts","sourceRoot":"","sources":["../../src/kernel_prover/proving_data_oracle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"proving_data_oracle.d.ts","sourceRoot":"","sources":["../../src/kernel_prover/proving_data_oracle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,EAAE,EACP,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,KAAK,EACV,KAAK,cAAc,EACnB,KAAK,eAAe,EACrB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAEpE;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,8FAA8F;IAC9F,0BAA0B,CACxB,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC;QAAE,wBAAwB,EAAE,EAAE,CAAC;QAAC,cAAc,EAAE,EAAE,CAAC;QAAC,eAAe,EAAE,EAAE,CAAA;KAAE,CAAC,CAAC;IAEtF,kFAAkF;IAClF,0BAA0B,CACxB,eAAe,EAAE,EAAE,GAClB,OAAO,CAAC;QAAE,YAAY,EAAE,EAAE,CAAC;QAAC,wBAAwB,EAAE,EAAE,CAAC;QAAC,oBAAoB,EAAE,EAAE,CAAA;KAAE,CAAC,CAAC;IAEzF;;;;;;;;OAQG;IACH,4BAA4B,CAC1B,eAAe,EAAE,YAAY,EAC7B,QAAQ,EAAE,gBAAgB,GACzB,OAAO,CAAC,iBAAiB,CAAC,OAAO,oBAAoB,CAAC,CAAC,CAAC;IAE3D;;;;;;;;OAQG;IACH,sBAAsB,CAAC,EAAE,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC;IAE/F;;;;;OAKG;IACH,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,OAAO,qBAAqB,CAAC,CAAC,CAAC;IAEtG,6BAA6B,CAAC,SAAS,EAAE,EAAE,GAAG,OAAO,CAAC,0BAA0B,GAAG,SAAS,CAAC,CAAC;IAE9F;;;;OAIG;IACH,mBAAmB,IAAI,OAAO,CAAC,EAAE,CAAC,CAAC;IAEnC;;;;;OAKG;IACH,2BAA2B,CAAC,kBAAkB,EAAE,KAAK,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACrF"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { AztecNode, EncryptedL2BlockL2Logs, KeyStore,
|
|
2
|
-
import { NoteProcessorStats } from '@aztec/circuit-types/stats';
|
|
3
|
-
import { PublicKey } from '@aztec/circuits.js';
|
|
1
|
+
import { type AztecNode, type EncryptedL2BlockL2Logs, type KeyStore, type L2Block } from '@aztec/circuit-types';
|
|
2
|
+
import { type NoteProcessorStats } from '@aztec/circuit-types/stats';
|
|
3
|
+
import { type PublicKey } from '@aztec/circuits.js';
|
|
4
4
|
import { Timer } from '@aztec/foundation/timer';
|
|
5
5
|
import { DeferredNoteDao } from '../database/deferred_note_dao.js';
|
|
6
|
-
import { PxeDatabase } from '../database/index.js';
|
|
7
|
-
import { NoteDao } from '../database/note_dao.js';
|
|
6
|
+
import { type PxeDatabase } from '../database/index.js';
|
|
7
|
+
import { type NoteDao } from '../database/note_dao.js';
|
|
8
8
|
/**
|
|
9
9
|
* NoteProcessor is responsible for decrypting logs and converting them to notes via their originating contracts
|
|
10
10
|
* before storing them against their owner.
|
|
@@ -45,16 +45,14 @@ export declare class NoteProcessor {
|
|
|
45
45
|
};
|
|
46
46
|
private getSyncedToBlock;
|
|
47
47
|
/**
|
|
48
|
-
*
|
|
49
|
-
* It synchronizes the user's account by decrypting the encrypted logs and processing
|
|
50
|
-
* the transactions and auxiliary data associated with them.
|
|
51
|
-
* Throws an error if the number of block contexts and encrypted logs do not match.
|
|
48
|
+
* Extracts new user-relevant notes from the information contained in the provided L2 blocks and encrypted logs.
|
|
52
49
|
*
|
|
53
|
-
* @
|
|
54
|
-
* @param
|
|
50
|
+
* @throws If the number of blocks and encrypted logs do not match.
|
|
51
|
+
* @param l2Blocks - L2 blocks to be processed.
|
|
52
|
+
* @param encryptedL2BlockLogs - Encrypted logs associated with the L2 blocks.
|
|
55
53
|
* @returns A promise that resolves once the processing is completed.
|
|
56
54
|
*/
|
|
57
|
-
process(
|
|
55
|
+
process(l2Blocks: L2Block[], encryptedL2BlockLogs: EncryptedL2BlockL2Logs[]): Promise<void>;
|
|
58
56
|
/**
|
|
59
57
|
* Process the given blocks and their associated transaction auxiliary data.
|
|
60
58
|
* This function updates the database with information about new transactions,
|
|
@@ -62,7 +60,7 @@ export declare class NoteProcessor {
|
|
|
62
60
|
* transaction auxiliary data from the database. This function keeps track of new nullifiers
|
|
63
61
|
* and ensures all other transactions are updated with newly settled block information.
|
|
64
62
|
*
|
|
65
|
-
* @param blocksAndNotes - Array of objects containing
|
|
63
|
+
* @param blocksAndNotes - Array of objects containing L2 blocks, user-pertaining transaction indices, and NoteDaos.
|
|
66
64
|
*/
|
|
67
65
|
private processBlocksAndNotes;
|
|
68
66
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"note_processor.d.ts","sourceRoot":"","sources":["../../src/note_processor/note_processor.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,
|
|
1
|
+
{"version":3,"file":"note_processor.d.ts","sourceRoot":"","sources":["../../src/note_processor/note_processor.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,SAAS,EACd,KAAK,sBAAsB,EAC3B,KAAK,QAAQ,EAEb,KAAK,OAAO,EAEb,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAoD,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAItG,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAGhD,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAkBvD;;;GAGG;AACH,qBAAa,aAAa;IAQtB;;OAEG;aACa,SAAS,EAAE,SAAS;IACpC,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,GAAG;IAhBb,mEAAmE;IACnE,SAAgB,KAAK,EAAE,KAAK,CAAe;IAE3C,4CAA4C;IAC5C,SAAgB,KAAK,EAAE,kBAAkB,CAAwE;;IAG/G;;OAEG;IACa,SAAS,EAAE,SAAS,EAC5B,QAAQ,EAAE,QAAQ,EAClB,EAAE,EAAE,WAAW,EACf,IAAI,EAAE,SAAS,EACf,aAAa,GAAE,MAA6B,EAC5C,SAAS,2CAAuC,EAChD,GAAG,8CAA4C;IAGzD;;;;;;OAMG;IACU,cAAc;IAK3B;;OAEG;IACH,IAAW,MAAM;;MAEhB;IAED,OAAO,CAAC,gBAAgB;IAIxB;;;;;;;OAOG;IACU,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAkGxG;;;;;;;;OAQG;YACW,qBAAqB;IA0BnC;;;;OAIG;YACW,oBAAoB;IAalC;;;;;;;;OAQG;IACU,mBAAmB,CAAC,gBAAgB,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CA4B1F"}
|
|
@@ -50,20 +50,18 @@ export class NoteProcessor {
|
|
|
50
50
|
return this.db.getSynchedBlockNumberForPublicKey(this.publicKey) ?? this.startingBlock - 1;
|
|
51
51
|
}
|
|
52
52
|
/**
|
|
53
|
-
*
|
|
54
|
-
* It synchronizes the user's account by decrypting the encrypted logs and processing
|
|
55
|
-
* the transactions and auxiliary data associated with them.
|
|
56
|
-
* Throws an error if the number of block contexts and encrypted logs do not match.
|
|
53
|
+
* Extracts new user-relevant notes from the information contained in the provided L2 blocks and encrypted logs.
|
|
57
54
|
*
|
|
58
|
-
* @
|
|
59
|
-
* @param
|
|
55
|
+
* @throws If the number of blocks and encrypted logs do not match.
|
|
56
|
+
* @param l2Blocks - L2 blocks to be processed.
|
|
57
|
+
* @param encryptedL2BlockLogs - Encrypted logs associated with the L2 blocks.
|
|
60
58
|
* @returns A promise that resolves once the processing is completed.
|
|
61
59
|
*/
|
|
62
|
-
async process(
|
|
63
|
-
if (
|
|
64
|
-
throw new Error(`Number of blocks and EncryptedLogs is not equal. Received ${
|
|
60
|
+
async process(l2Blocks, encryptedL2BlockLogs) {
|
|
61
|
+
if (l2Blocks.length !== encryptedL2BlockLogs.length) {
|
|
62
|
+
throw new Error(`Number of blocks and EncryptedLogs is not equal. Received ${l2Blocks.length} blocks, ${encryptedL2BlockLogs.length} encrypted logs.`);
|
|
65
63
|
}
|
|
66
|
-
if (
|
|
64
|
+
if (l2Blocks.length === 0) {
|
|
67
65
|
return;
|
|
68
66
|
}
|
|
69
67
|
const curve = new Grumpkin();
|
|
@@ -74,9 +72,9 @@ export class NoteProcessor {
|
|
|
74
72
|
for (let blockIndex = 0; blockIndex < encryptedL2BlockLogs.length; ++blockIndex) {
|
|
75
73
|
this.stats.blocks++;
|
|
76
74
|
const { txLogs } = encryptedL2BlockLogs[blockIndex];
|
|
77
|
-
const
|
|
78
|
-
const
|
|
79
|
-
|
|
75
|
+
const block = l2Blocks[blockIndex];
|
|
76
|
+
const dataStartIndexForBlock = block.header.state.partial.noteHashTree.nextAvailableLeafIndex -
|
|
77
|
+
block.body.numberOfTxsIncludingPadded * MAX_NEW_NOTE_HASHES_PER_TX;
|
|
80
78
|
// We are using set for `userPertainingTxIndices` to avoid duplicates. This would happen in case there were
|
|
81
79
|
// multiple encrypted logs in a tx pertaining to a user.
|
|
82
80
|
const noteDaos = [];
|
|
@@ -84,7 +82,7 @@ export class NoteProcessor {
|
|
|
84
82
|
// Iterate over all the encrypted logs and try decrypting them. If successful, store the note.
|
|
85
83
|
for (let indexOfTxInABlock = 0; indexOfTxInABlock < txLogs.length; ++indexOfTxInABlock) {
|
|
86
84
|
this.stats.txs++;
|
|
87
|
-
const dataStartIndexForTx =
|
|
85
|
+
const dataStartIndexForTx = dataStartIndexForBlock + indexOfTxInABlock * MAX_NEW_NOTE_HASHES_PER_TX;
|
|
88
86
|
const newNoteHashes = block.body.txEffects[indexOfTxInABlock].noteHashes;
|
|
89
87
|
// Note: Each tx generates a `TxL2Logs` object and for this reason we can rely on its index corresponding
|
|
90
88
|
// to the index of a tx in a block.
|
|
@@ -97,7 +95,7 @@ export class NoteProcessor {
|
|
|
97
95
|
if (taggedNote?.notePayload) {
|
|
98
96
|
const { notePayload: payload } = taggedNote;
|
|
99
97
|
// We have successfully decrypted the data.
|
|
100
|
-
const txHash =
|
|
98
|
+
const txHash = block.body.txEffects[indexOfTxInABlock].txHash;
|
|
101
99
|
try {
|
|
102
100
|
const noteDao = await produceNoteDao(this.simulator, this.publicKey, payload, txHash, newNoteHashes, dataStartIndexForTx, excludedIndices);
|
|
103
101
|
noteDaos.push(noteDao);
|
|
@@ -120,13 +118,13 @@ export class NoteProcessor {
|
|
|
120
118
|
}
|
|
121
119
|
}
|
|
122
120
|
blocksAndNotes.push({
|
|
123
|
-
|
|
121
|
+
block: l2Blocks[blockIndex],
|
|
124
122
|
noteDaos,
|
|
125
123
|
});
|
|
126
124
|
}
|
|
127
125
|
await this.processBlocksAndNotes(blocksAndNotes);
|
|
128
126
|
await this.processDeferredNotes(deferredNoteDaos);
|
|
129
|
-
const syncedToBlock =
|
|
127
|
+
const syncedToBlock = l2Blocks[l2Blocks.length - 1].number;
|
|
130
128
|
await this.db.setSynchedBlockNumberForPublicKey(this.publicKey, syncedToBlock);
|
|
131
129
|
this.log(`Synched block ${syncedToBlock}`);
|
|
132
130
|
}
|
|
@@ -137,7 +135,7 @@ export class NoteProcessor {
|
|
|
137
135
|
* transaction auxiliary data from the database. This function keeps track of new nullifiers
|
|
138
136
|
* and ensures all other transactions are updated with newly settled block information.
|
|
139
137
|
*
|
|
140
|
-
* @param blocksAndNotes - Array of objects containing
|
|
138
|
+
* @param blocksAndNotes - Array of objects containing L2 blocks, user-pertaining transaction indices, and NoteDaos.
|
|
141
139
|
*/
|
|
142
140
|
async processBlocksAndNotes(blocksAndNotes) {
|
|
143
141
|
const noteDaos = blocksAndNotes.flatMap(b => b.noteDaos);
|
|
@@ -147,7 +145,7 @@ export class NoteProcessor {
|
|
|
147
145
|
this.log(`Added note for contract ${noteDao.contractAddress} at slot ${noteDao.storageSlot} with nullifier ${noteDao.siloedNullifier.toString()}`);
|
|
148
146
|
});
|
|
149
147
|
}
|
|
150
|
-
const newNullifiers = blocksAndNotes.flatMap(b => b.
|
|
148
|
+
const newNullifiers = blocksAndNotes.flatMap(b => b.block.body.txEffects.flatMap(txEffect => txEffect.nullifiers));
|
|
151
149
|
const removedNotes = await this.db.removeNullifiedNotes(newNullifiers, this.publicKey);
|
|
152
150
|
removedNotes.forEach(noteDao => {
|
|
153
151
|
this.log(`Removed note for contract ${noteDao.contractAddress} at slot ${noteDao.storageSlot} with nullifier ${noteDao.siloedNullifier.toString()}`);
|
|
@@ -194,4 +192,4 @@ export class NoteProcessor {
|
|
|
194
192
|
return noteDaos;
|
|
195
193
|
}
|
|
196
194
|
}
|
|
197
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
195
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90ZV9wcm9jZXNzb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbm90ZV9wcm9jZXNzb3Ivbm90ZV9wcm9jZXNzb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUlMLGFBQWEsRUFFYixVQUFVLEdBQ1gsTUFBTSxzQkFBc0IsQ0FBQztBQUU5QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsMEJBQTBCLEVBQWtCLE1BQU0sb0JBQW9CLENBQUM7QUFDdEcsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRTNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUV6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFHbkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBZ0J2RDs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sYUFBYTtJQU94QjtJQUNFOztPQUVHO0lBQ2EsU0FBb0IsRUFDNUIsUUFBa0IsRUFDbEIsRUFBZSxFQUNmLElBQWUsRUFDZixnQkFBd0Isb0JBQW9CLEVBQzVDLFlBQVksZ0JBQWdCLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLENBQUMsRUFDaEQsTUFBTSxpQkFBaUIsQ0FBQyxzQkFBc0IsQ0FBQztRQU52QyxjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQzVCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUNmLFNBQUksR0FBSixJQUFJLENBQVc7UUFDZixrQkFBYSxHQUFiLGFBQWEsQ0FBK0I7UUFDNUMsY0FBUyxHQUFU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
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { L1NotePayload, TxHash } from '@aztec/circuit-types';
|
|
2
|
-
import { Fr, PublicKey } from '@aztec/circuits.js';
|
|
3
|
-
import { AcirSimulator } from '@aztec/simulator';
|
|
1
|
+
import { type L1NotePayload, type TxHash } from '@aztec/circuit-types';
|
|
2
|
+
import { Fr, type PublicKey } from '@aztec/circuits.js';
|
|
3
|
+
import { type AcirSimulator } from '@aztec/simulator';
|
|
4
4
|
import { NoteDao } from '../database/note_dao.js';
|
|
5
5
|
/**
|
|
6
6
|
* Decodes a note from a transaction that we know was intended for us.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"produce_note_dao.d.ts","sourceRoot":"","sources":["../../src/note_processor/produce_note_dao.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"produce_note_dao.d.ts","sourceRoot":"","sources":["../../src/note_processor/produce_note_dao.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,EAAE,EAAE,EAAE,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAElD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,cAAc,CAClC,SAAS,EAAE,aAAa,EACxB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,EAAE,EAAE,EACnB,mBAAmB,EAAE,MAAM,EAC3B,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,GAC3B,OAAO,CAAC,OAAO,CAAC,CAsBlB"}
|
|
@@ -89,4 +89,4 @@ https://github.com/AztecProtocol/aztec-packages/issues/1641`;
|
|
|
89
89
|
siloedNullifier: siloNullifier(contractAddress, innerNullifier),
|
|
90
90
|
};
|
|
91
91
|
}
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjZV9ub3RlX2Rhby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ub3RlX3Byb2Nlc3Nvci9wcm9kdWNlX25vdGVfZGFvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxFQUFFLEVBQWtCLE1BQU0sb0JBQW9CLENBQUM7QUFDeEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBR2hGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVsRDs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsY0FBYyxDQUNsQyxTQUF3QixFQUN4QixTQUFvQixFQUNwQixPQUFzQixFQUN0QixNQUFjLEVBQ2QsYUFBbUIsRUFDbkIsbUJBQTJCLEVBQzNCLGVBQTRCO0lBRTVCLE1BQU0sRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsR0FBRyxNQUFNLHlCQUF5QixDQUNoRyxTQUFTLEVBQ1QsYUFBYSxFQUNiLE1BQU0sRUFDTixPQUFPLEVBQ1AsZUFBZSxDQUNoQixDQUFDO0lBQ0YsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixHQUFHLGVBQWUsQ0FBQyxDQUFDO0lBQzVELGVBQWUsRUFBRSxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDdEMsT0FBTyxJQUFJLE9BQU8sQ0FDaEIsT0FBTyxDQUFDLElBQUksRUFDWixPQUFPLENBQUMsZUFBZSxFQUN2QixPQUFPLENBQUMsV0FBVyxFQUNuQixPQUFPLENBQUMsVUFBVSxFQUNsQixNQUFNLEVBQ04sS0FBSyxFQUNMLGFBQWEsRUFDYixlQUFlLEVBQ2YsS0FBSyxFQUNMLFNBQVMsQ0FDVixDQUFDO0FBQ0osQ0FBQztBQUVEOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsS0FBSyxVQUFVLHlCQUF5QixDQUN0QyxTQUF3QixFQUN4QixXQUFpQixFQUNqQixNQUFjLEVBQ2QsRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQWlCLEVBQ2pFLGVBQTRCO0lBRTVCLElBQUksZUFBZSxHQUFHLENBQUMsQ0FBQztJQUN4QixJQUFJLEtBQXFCLENBQUM7SUFDMUIsSUFBSSxhQUE2QixDQUFDO0lBQ2xDLElBQUksY0FBOEIsQ0FBQztJQUNuQyxJQUFJLG9CQUFvQyxDQUFDO0lBQ3pDLElBQUksY0FBOEIsQ0FBQztJQUNuQyxNQUFNLGNBQWMsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBRXhELE9BQU8sZUFBZSxHQUFHLFdBQVcsQ0FBQyxNQUFNLEVBQUUsRUFBRSxlQUFlLEVBQUUsQ0FBQztRQUMvRCxJQUFJLGVBQWUsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQztZQUN6QyxTQUFTO1FBQ1gsQ0FBQztRQUVELE1BQU0sVUFBVSxHQUFHLFdBQVcsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNoRCxJQUFJLFVBQVUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDL0IsTUFBTTtRQUNSLENBQUM7UUFFRCxNQUFNLGFBQWEsR0FBRyxzQkFBc0IsQ0FBQyxjQUFjLEVBQUUsZUFBZSxDQUFDLENBQUM7UUFDOUUsQ0FBQyxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsb0JBQW9CLEVBQUUsY0FBYyxFQUFFO1lBQ3RFLE1BQU0sU0FBUyxDQUFDLDJCQUEyQixDQUFDLGVBQWUsRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQzlHLElBQUksVUFBVSxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLENBQUM7WUFDNUMsS0FBSyxHQUFHLGFBQWEsQ0FBQztZQUN0QixNQUFNO1FBQ1IsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDWCxJQUFJLFdBQVcsQ0FBQztRQUNoQixJQUFJLGNBQWMsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUNoQyxXQUFXLEdBQUcsaURBQWlELENBQUM7UUFDbEUsQ0FBQzthQUFNLENBQUM7WUFDTixXQUFXLEdBQUc7Ozs7O0VBS2xCLGNBQWMsQ0FBQyxRQUFRLEVBQUU7Ozs7Ozs0REFNaUMsQ0FBQztRQUN6RCxDQUFDO1FBRUQsTUFBTSxJQUFJLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsT0FBTztRQUNMLGVBQWU7UUFDZixLQUFLO1FBQ0wsYUFBYSxFQUFFLGFBQWM7UUFDN0IsZUFBZSxFQUFFLGFBQWEsQ0FBQyxlQUFlLEVBQUUsY0FBZSxDQUFDO0tBQ2pFLENBQUM7QUFDSixDQUFDIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pxe_http_server.d.ts","sourceRoot":"","sources":["../../src/pxe_http/pxe_http_server.ts"],"names":[],"mappings":";AAAA,OAAO,EAUL,GAAG,
|
|
1
|
+
{"version":3,"file":"pxe_http_server.d.ts","sourceRoot":"","sources":["../../src/pxe_http/pxe_http_server.ts"],"names":[],"mappings":";AAAA,OAAO,EAUL,KAAK,GAAG,EAQT,MAAM,sBAAsB,CAAC;AAK9B,OAAO,EAAE,aAAa,EAAiC,MAAM,mCAAmC,CAAC;AAEjG,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,GAAG,GAAG,aAAa,CAwBjE;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM,CAStF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AuthWitness, CompleteAddress, EncryptedL2BlockL2Logs, ExtendedNote, ExtendedUnencryptedL2Log, L2Block, LogId, Note, NullifierMembershipWitness, Tx, TxEffect, TxExecutionRequest, TxHash, TxReceipt, UnencryptedL2BlockL2Logs, } from '@aztec/circuit-types';
|
|
1
|
+
import { AuthWitness, CompleteAddress, EncryptedL2BlockL2Logs, ExtendedNote, ExtendedUnencryptedL2Log, L2Block, LogId, Note, NullifierMembershipWitness, SimulatedTx, Tx, TxEffect, TxExecutionRequest, TxHash, TxReceipt, UnencryptedL2BlockL2Logs, } from '@aztec/circuit-types';
|
|
2
2
|
import { FunctionSelector } from '@aztec/circuits.js';
|
|
3
3
|
import { AztecAddress } from '@aztec/foundation/aztec-address';
|
|
4
4
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
@@ -27,7 +27,7 @@ export function createPXERpcServer(pxeService) {
|
|
|
27
27
|
L2Block,
|
|
28
28
|
TxEffect,
|
|
29
29
|
LogId,
|
|
30
|
-
}, { Tx, TxReceipt, EncryptedL2BlockL2Logs, UnencryptedL2BlockL2Logs, NullifierMembershipWitness }, ['start', 'stop']);
|
|
30
|
+
}, { SimulatedTx, Tx, TxReceipt, EncryptedL2BlockL2Logs, UnencryptedL2BlockL2Logs, NullifierMembershipWitness }, ['start', 'stop']);
|
|
31
31
|
}
|
|
32
32
|
/**
|
|
33
33
|
* Creates an http server that forwards calls to the PXE and starts it on the given port.
|
|
@@ -43,4 +43,4 @@ export function startPXEHttpServer(pxeService, port) {
|
|
|
43
43
|
httpServer.listen(port);
|
|
44
44
|
return httpServer;
|
|
45
45
|
}
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHhlX2h0dHBfc2VydmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3B4ZV9odHRwL3B4ZV9odHRwX3NlcnZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsV0FBVyxFQUNYLGVBQWUsRUFDZixzQkFBc0IsRUFDdEIsWUFBWSxFQUNaLHdCQUF3QixFQUN4QixPQUFPLEVBQ1AsS0FBSyxFQUNMLElBQUksRUFDSiwwQkFBMEIsRUFFMUIsV0FBVyxFQUNYLEVBQUUsRUFDRixRQUFRLEVBQ1Isa0JBQWtCLEVBQ2xCLE1BQU0sRUFDTixTQUFTLEVBQ1Qsd0JBQXdCLEdBQ3pCLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsRUFBRSxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsYUFBYSxFQUFFLDZCQUE2QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFakcsT0FBTyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBRXhCOzs7R0FHRztBQUNILE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxVQUFlO0lBQ2hELE9BQU8sSUFBSSxhQUFhLENBQ3RCLFVBQVUsRUFDVjtRQUNFLGVBQWU7UUFDZixZQUFZO1FBQ1osa0JBQWtCO1FBQ2xCLHdCQUF3QjtRQUN4QixnQkFBZ0I7UUFDaEIsTUFBTTtRQUNOLFVBQVU7UUFDVixLQUFLO1FBQ0wsRUFBRTtRQUNGLGNBQWM7UUFDZCxJQUFJO1FBQ0osWUFBWTtRQUNaLFdBQVc7UUFDWCxPQUFPO1FBQ1AsUUFBUTtRQUNSLEtBQUs7S0FDTixFQUNELEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsc0JBQXNCLEVBQUUsd0JBQXdCLEVBQUUsMEJBQTBCLEVBQUUsRUFDNUcsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQ2xCLENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsVUFBZSxFQUFFLElBQXFCO0lBQ3ZFLE1BQU0sU0FBUyxHQUFHLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2pELE1BQU0sU0FBUyxHQUFHLDZCQUE2QixDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBRXRFLE1BQU0sR0FBRyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUMvQixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFeEIsT0FBTyxVQUFVLENBQUM7QUFDcEIsQ0FBQyJ9
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AztecNode } from '@aztec/circuit-types';
|
|
2
|
-
import { PXEServiceConfig } from '../config/index.js';
|
|
1
|
+
import { type AztecNode } from '@aztec/circuit-types';
|
|
2
|
+
import { type PXEServiceConfig } from '../config/index.js';
|
|
3
3
|
import { PXEService } from './pxe_service.js';
|
|
4
4
|
/**
|
|
5
5
|
* Create and start an PXEService instance with the given AztecNode.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create_pxe_service.d.ts","sourceRoot":"","sources":["../../src/pxe_service/create_pxe_service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"create_pxe_service.d.ts","sourceRoot":"","sources":["../../src/pxe_service/create_pxe_service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAatD,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C;;;;;;;;;GASG;AACH,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,gBAAgB,EACxB,YAAY,GAAE,MAAM,GAAG,OAAO,GAAG,SAAqB,uBA2BvD"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { AuthWitness, AztecNode, ExtendedNote, GetUnencryptedLogsResponse, KeyStore, L2Block, LogFilter, NoteFilter, PXE, Tx, TxEffect, TxExecutionRequest, TxHash, TxReceipt } from '@aztec/circuit-types';
|
|
2
|
-
import { AztecAddress, CompleteAddress, GrumpkinPrivateKey, PartialAddress } from '@aztec/circuits.js';
|
|
3
|
-
import { ContractArtifact, DecodedReturn } from '@aztec/foundation/abi';
|
|
1
|
+
import { type AuthWitness, type AztecNode, ExtendedNote, type GetUnencryptedLogsResponse, type KeyStore, type L2Block, type LogFilter, type NoteFilter, type PXE, SimulatedTx, Tx, type TxEffect, type TxExecutionRequest, type TxHash, type TxReceipt } from '@aztec/circuit-types';
|
|
2
|
+
import { AztecAddress, CompleteAddress, type GrumpkinPrivateKey, type PartialAddress } from '@aztec/circuits.js';
|
|
3
|
+
import { type ContractArtifact, type DecodedReturn } from '@aztec/foundation/abi';
|
|
4
4
|
import { Fr } from '@aztec/foundation/fields';
|
|
5
|
-
import { ContractClassWithId, ContractInstanceWithAddress } from '@aztec/types/contracts';
|
|
6
|
-
import { NodeInfo } from '@aztec/types/interfaces';
|
|
7
|
-
import { PXEServiceConfig } from '../config/index.js';
|
|
8
|
-
import { PxeDatabase } from '../database/index.js';
|
|
5
|
+
import { type ContractClassWithId, type ContractInstanceWithAddress } from '@aztec/types/contracts';
|
|
6
|
+
import { type NodeInfo } from '@aztec/types/interfaces';
|
|
7
|
+
import { type PXEServiceConfig } from '../config/index.js';
|
|
8
|
+
import { type PxeDatabase } from '../database/index.js';
|
|
9
9
|
/**
|
|
10
10
|
* A Private eXecution Environment (PXE) implementation.
|
|
11
11
|
*/
|
|
@@ -68,7 +68,8 @@ export declare class PXEService implements PXE {
|
|
|
68
68
|
*/
|
|
69
69
|
getNoteNonces(note: ExtendedNote): Promise<Fr[]>;
|
|
70
70
|
getBlock(blockNumber: number): Promise<L2Block | undefined>;
|
|
71
|
-
|
|
71
|
+
proveTx(txRequest: TxExecutionRequest, simulatePublic: boolean): Promise<Tx>;
|
|
72
|
+
simulateTx(txRequest: TxExecutionRequest, simulatePublic: boolean, msgSender?: AztecAddress | undefined): Promise<SimulatedTx>;
|
|
72
73
|
sendTx(tx: Tx): Promise<TxHash>;
|
|
73
74
|
viewTx(functionName: string, args: any[], to: AztecAddress, _from?: AztecAddress): Promise<DecodedReturn>;
|
|
74
75
|
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,EACL,WAAW,
|
|
1
|
+
{"version":3,"file":"pxe_service.d.ts","sourceRoot":"","sources":["../../src/pxe_service/pxe_service.ts"],"names":[],"mappings":"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"}
|