@aztec/pxe 0.60.0 → 0.62.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/database/deferred_note_dao.d.ts +8 -21
- package/dest/database/deferred_note_dao.d.ts.map +1 -1
- package/dest/database/deferred_note_dao.js +9 -19
- package/dest/database/incoming_note_dao.d.ts +3 -3
- package/dest/database/incoming_note_dao.d.ts.map +1 -1
- package/dest/database/incoming_note_dao.js +6 -6
- package/dest/database/kv_pxe_database.d.ts +11 -6
- package/dest/database/kv_pxe_database.d.ts.map +1 -1
- package/dest/database/kv_pxe_database.js +75 -42
- package/dest/database/outgoing_note_dao.d.ts +1 -1
- package/dest/database/outgoing_note_dao.d.ts.map +1 -1
- package/dest/database/outgoing_note_dao.js +3 -3
- package/dest/database/pxe_database.d.ts +37 -5
- package/dest/database/pxe_database.d.ts.map +1 -1
- package/dest/database/pxe_database_test_suite.d.ts.map +1 -1
- package/dest/database/pxe_database_test_suite.js +11 -11
- package/dest/index.d.ts +1 -1
- package/dest/index.d.ts.map +1 -1
- package/dest/index.js +1 -1
- package/dest/note_processor/note_processor.d.ts +1 -5
- package/dest/note_processor/note_processor.d.ts.map +1 -1
- package/dest/note_processor/note_processor.js +57 -58
- package/dest/note_processor/utils/add_public_values_to_payload.d.ts +10 -0
- package/dest/note_processor/utils/add_public_values_to_payload.d.ts.map +1 -0
- package/dest/note_processor/utils/add_public_values_to_payload.js +48 -0
- package/dest/note_processor/utils/brute_force_note_info.d.ts +8 -3
- package/dest/note_processor/utils/brute_force_note_info.d.ts.map +1 -1
- package/dest/note_processor/utils/brute_force_note_info.js +6 -3
- package/dest/note_processor/utils/produce_note_daos.d.ts +2 -2
- package/dest/note_processor/utils/produce_note_daos.d.ts.map +1 -1
- package/dest/note_processor/utils/produce_note_daos.js +8 -10
- package/dest/note_processor/utils/produce_note_daos_for_key.d.ts +3 -3
- package/dest/note_processor/utils/produce_note_daos_for_key.d.ts.map +1 -1
- package/dest/note_processor/utils/produce_note_daos_for_key.js +7 -61
- package/dest/pxe_http/pxe_http_server.d.ts.map +1 -1
- package/dest/pxe_http/pxe_http_server.js +23 -21
- package/dest/pxe_service/pxe_service.d.ts +15 -7
- package/dest/pxe_service/pxe_service.d.ts.map +1 -1
- package/dest/pxe_service/pxe_service.js +59 -42
- package/dest/pxe_service/test/pxe_test_suite.d.ts.map +1 -1
- package/dest/pxe_service/test/pxe_test_suite.js +2 -32
- package/dest/simulator_oracle/index.d.ts +41 -2
- package/dest/simulator_oracle/index.d.ts.map +1 -1
- package/dest/simulator_oracle/index.js +104 -2
- package/dest/synchronizer/synchronizer.d.ts +1 -1
- package/dest/synchronizer/synchronizer.d.ts.map +1 -1
- package/dest/synchronizer/synchronizer.js +8 -8
- package/package.json +16 -14
- package/src/database/deferred_note_dao.ts +7 -20
- package/src/database/incoming_note_dao.ts +6 -5
- package/src/database/kv_pxe_database.ts +91 -45
- package/src/database/outgoing_note_dao.ts +4 -3
- package/src/database/pxe_database.ts +42 -4
- package/src/database/pxe_database_test_suite.ts +12 -20
- package/src/index.ts +1 -1
- package/src/note_processor/note_processor.ts +91 -87
- package/src/note_processor/utils/add_public_values_to_payload.ts +63 -0
- package/src/note_processor/utils/brute_force_note_info.ts +11 -3
- package/src/note_processor/utils/produce_note_daos.ts +11 -13
- package/src/note_processor/utils/produce_note_daos_for_key.ts +19 -114
- package/src/pxe_http/pxe_http_server.ts +22 -19
- package/src/pxe_service/pxe_service.ts +71 -46
- package/src/pxe_service/test/pxe_test_suite.ts +1 -53
- package/src/simulator_oracle/index.ts +131 -1
- package/src/synchronizer/synchronizer.ts +7 -7
- package/dest/note_processor/utils/add_nullable_field_to_payload.d.ts +0 -12
- package/dest/note_processor/utils/add_nullable_field_to_payload.d.ts.map +0 -1
- package/dest/note_processor/utils/add_nullable_field_to_payload.js +0 -46
- package/src/note_processor/utils/add_nullable_field_to_payload.ts +0 -67
|
@@ -7,14 +7,17 @@ import { Fr } from '@aztec/foundation/fields';
|
|
|
7
7
|
* @remarks This method assists in identifying spent notes in the note hash tree.
|
|
8
8
|
* @param siloedNoteHashes - Note hashes in the tx. One of them should correspond to the note we are looking for
|
|
9
9
|
* @param txHash - Hash of a tx the note was emitted in.
|
|
10
|
-
* @param
|
|
10
|
+
* @param contractAddress - Address of the contract the note was emitted in.
|
|
11
|
+
* @param storageSlot - Storage slot of the note.
|
|
12
|
+
* @param noteTypeId - Type of the note.
|
|
13
|
+
* @param note - Note items.
|
|
11
14
|
* @param excludedIndices - Indices that have been assigned a note in the same tx. Notes in a tx can have the same
|
|
12
15
|
* l1NotePayload. We need to find a different index for each replicate.
|
|
13
16
|
* @param computeNullifier - A flag indicating whether to compute the nullifier or just return 0.
|
|
14
17
|
* @returns Nonce, index, inner hash and siloed nullifier for a given note.
|
|
15
18
|
* @throws If cannot find the nonce for the note.
|
|
16
19
|
*/
|
|
17
|
-
export async function bruteForceNoteInfo(simulator, siloedNoteHashes, txHash,
|
|
20
|
+
export async function bruteForceNoteInfo(simulator, siloedNoteHashes, txHash, contractAddress, storageSlot, noteTypeId, note, excludedIndices, computeNullifier) {
|
|
18
21
|
let noteHashIndex = 0;
|
|
19
22
|
let nonce;
|
|
20
23
|
let noteHash;
|
|
@@ -49,4 +52,4 @@ export async function bruteForceNoteInfo(simulator, siloedNoteHashes, txHash, {
|
|
|
49
52
|
txHash,
|
|
50
53
|
};
|
|
51
54
|
}
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJ1dGVfZm9yY2Vfbm90ZV9pbmZvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL25vdGVfcHJvY2Vzc29yL3V0aWxzL2JydXRlX2ZvcmNlX25vdGVfaW5mby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFOUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBVzlDOzs7Ozs7Ozs7Ozs7Ozs7O0dBZ0JHO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSxrQkFBa0IsQ0FDdEMsU0FBd0IsRUFDeEIsZ0JBQXNCLEVBQ3RCLE1BQWMsRUFDZCxlQUE2QixFQUM3QixXQUFlLEVBQ2YsVUFBd0IsRUFDeEIsSUFBVSxFQUNWLGVBQTRCLEVBQzVCLGdCQUF5QjtJQUV6QixJQUFJLGFBQWEsR0FBRyxDQUFDLENBQUM7SUFDdEIsSUFBSSxLQUFxQixDQUFDO0lBQzFCLElBQUksUUFBd0IsQ0FBQztJQUM3QixJQUFJLGNBQThCLENBQUM7SUFDbkMsSUFBSSxjQUE4QixDQUFDO0lBQ25DLE1BQU0sY0FBYyxHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFFeEQsT0FBTyxhQUFhLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLEVBQUUsYUFBYSxFQUFFLENBQUM7UUFDaEUsSUFBSSxlQUFlLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7WUFDdkMsU0FBUztRQUNYLENBQUM7UUFFRCxNQUFNLDBCQUEwQixHQUFHLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ25FLElBQUksMEJBQTBCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQy9DLE1BQU07UUFDUixDQUFDO1FBRUQsTUFBTSxhQUFhLEdBQUcsb0JBQW9CLENBQUMsY0FBYyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQzFFLENBQUMsRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxHQUFHLE1BQU0sU0FBUyxDQUFDLHNDQUFzQyxDQUNwRyxlQUFlLEVBQ2YsYUFBYSxFQUNiLFdBQVcsRUFDWCxVQUFVLEVBQ1YsZ0JBQWdCLEVBQ2hCLElBQUksQ0FDTCxDQUFDLENBQUM7UUFFSCxJQUFJLDBCQUEwQixDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDO1lBQ3RELEtBQUssR0FBRyxhQUFhLENBQUM7WUFDdEIsTUFBTTtRQUNSLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ1gsOEVBQThFO1FBQzlFLGtHQUFrRztRQUNsRyxNQUFNLElBQUksS0FBSyxDQUFDLGdEQUFnRCxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELE9BQU87UUFDTCxhQUFhO1FBQ2IsS0FBSztRQUNMLFFBQVEsRUFBRSxRQUFTO1FBQ25CLGVBQWUsRUFBRSxhQUFhLENBQUMsZUFBZSxFQUFFLGNBQWUsQ0FBQztRQUNoRSxNQUFNO0tBQ1AsQ0FBQztBQUNKLENBQUMifQ==
|
|
@@ -14,7 +14,7 @@ import { type PxeDatabase } from '../../database/pxe_database.js';
|
|
|
14
14
|
*
|
|
15
15
|
* @param simulator - An instance of AcirSimulator.
|
|
16
16
|
* @param db - An instance of PxeDatabase.
|
|
17
|
-
* @param
|
|
17
|
+
* @param addressPoint - The public counterpart to the address secret, which is used in the decryption of incoming note logs.
|
|
18
18
|
* @param ovpkM - The public counterpart to the secret key to be used in the decryption of outgoing note logs.
|
|
19
19
|
* @param payload - An instance of l1NotePayload.
|
|
20
20
|
* @param txHash - The hash of the transaction that created the note. Equivalent to the first nullifier of the transaction.
|
|
@@ -25,7 +25,7 @@ import { type PxeDatabase } from '../../database/pxe_database.js';
|
|
|
25
25
|
* @param unencryptedLogs - Unencrypted logs for the transaction (used to complete partial notes).
|
|
26
26
|
* @returns An object containing the incoming, outgoing, and deferred notes.
|
|
27
27
|
*/
|
|
28
|
-
export declare function produceNoteDaos(simulator: AcirSimulator, db: PxeDatabase,
|
|
28
|
+
export declare function produceNoteDaos(simulator: AcirSimulator, db: PxeDatabase, addressPoint: PublicKey | undefined, ovpkM: PublicKey | undefined, payload: L1NotePayload, txHash: TxHash, noteHashes: Fr[], dataStartIndexForTx: number, excludedIndices: Set<number>, logger: Logger, unencryptedLogs: UnencryptedTxL2Logs): Promise<{
|
|
29
29
|
incomingNote: IncomingNoteDao | undefined;
|
|
30
30
|
outgoingNote: OutgoingNoteDao | undefined;
|
|
31
31
|
incomingDeferredNote: DeferredNoteDao | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"produce_note_daos.d.ts","sourceRoot":"","sources":["../../../src/note_processor/utils/produce_note_daos.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,SAAS,EAAE,KAAK,MAAM,EAAE,KAAK,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AACjH,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAGlE;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,eAAe,CACnC,SAAS,EAAE,aAAa,EACxB,EAAE,EAAE,WAAW,EACf,
|
|
1
|
+
{"version":3,"file":"produce_note_daos.d.ts","sourceRoot":"","sources":["../../../src/note_processor/utils/produce_note_daos.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,SAAS,EAAE,KAAK,MAAM,EAAE,KAAK,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AACjH,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAGlE;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,eAAe,CACnC,SAAS,EAAE,aAAa,EACxB,EAAE,EAAE,WAAW,EACf,YAAY,EAAE,SAAS,GAAG,SAAS,EACnC,KAAK,EAAE,SAAS,GAAG,SAAS,EAC5B,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,EAAE,EAAE,EAChB,mBAAmB,EAAE,MAAM,EAC3B,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,EAC5B,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,mBAAmB,GACnC,OAAO,CAAC;IACT,YAAY,EAAE,eAAe,GAAG,SAAS,CAAC;IAC1C,YAAY,EAAE,eAAe,GAAG,SAAS,CAAC;IAC1C,oBAAoB,EAAE,eAAe,GAAG,SAAS,CAAC;IAClD,oBAAoB,EAAE,eAAe,GAAG,SAAS,CAAC;CACnD,CAAC,CAgED"}
|
|
@@ -9,7 +9,7 @@ import { produceNoteDaosForKey } from './produce_note_daos_for_key.js';
|
|
|
9
9
|
*
|
|
10
10
|
* @param simulator - An instance of AcirSimulator.
|
|
11
11
|
* @param db - An instance of PxeDatabase.
|
|
12
|
-
* @param
|
|
12
|
+
* @param addressPoint - The public counterpart to the address secret, which is used in the decryption of incoming note logs.
|
|
13
13
|
* @param ovpkM - The public counterpart to the secret key to be used in the decryption of outgoing note logs.
|
|
14
14
|
* @param payload - An instance of l1NotePayload.
|
|
15
15
|
* @param txHash - The hash of the transaction that created the note. Equivalent to the first nullifier of the transaction.
|
|
@@ -20,24 +20,22 @@ import { produceNoteDaosForKey } from './produce_note_daos_for_key.js';
|
|
|
20
20
|
* @param unencryptedLogs - Unencrypted logs for the transaction (used to complete partial notes).
|
|
21
21
|
* @returns An object containing the incoming, outgoing, and deferred notes.
|
|
22
22
|
*/
|
|
23
|
-
export async function produceNoteDaos(simulator, db,
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
if (!ivpkM && !ovpkM) {
|
|
27
|
-
throw new Error('Both ivpkM and ovpkM are undefined. Cannot create note.');
|
|
23
|
+
export async function produceNoteDaos(simulator, db, addressPoint, ovpkM, payload, txHash, noteHashes, dataStartIndexForTx, excludedIndices, logger, unencryptedLogs) {
|
|
24
|
+
if (!addressPoint && !ovpkM) {
|
|
25
|
+
throw new Error('Both addressPoint and ovpkM are undefined. Cannot create note.');
|
|
28
26
|
}
|
|
29
27
|
let incomingNote;
|
|
30
28
|
let outgoingNote;
|
|
31
29
|
let incomingDeferredNote;
|
|
32
30
|
let outgoingDeferredNote;
|
|
33
|
-
if (
|
|
34
|
-
[incomingNote, incomingDeferredNote] = await produceNoteDaosForKey(simulator, db,
|
|
31
|
+
if (addressPoint) {
|
|
32
|
+
[incomingNote, incomingDeferredNote] = await produceNoteDaosForKey(simulator, db, addressPoint, payload, txHash, noteHashes, dataStartIndexForTx, excludedIndices, logger, unencryptedLogs, IncomingNoteDao.fromPayloadAndNoteInfo);
|
|
35
33
|
}
|
|
36
34
|
if (ovpkM) {
|
|
37
35
|
if (incomingNote) {
|
|
38
36
|
// Incoming note is defined meaning that this PXE has both the incoming and outgoing keys. We can skip computing
|
|
39
37
|
// note hash and note index since we already have them in the incoming note.
|
|
40
|
-
outgoingNote = new OutgoingNoteDao(
|
|
38
|
+
outgoingNote = new OutgoingNoteDao(incomingNote.note, incomingNote.contractAddress, incomingNote.storageSlot, incomingNote.noteTypeId, incomingNote.txHash, incomingNote.nonce, incomingNote.noteHash, incomingNote.index, ovpkM);
|
|
41
39
|
}
|
|
42
40
|
else {
|
|
43
41
|
[outgoingNote, outgoingDeferredNote] = await produceNoteDaosForKey(simulator, db, ovpkM, payload, txHash, noteHashes, dataStartIndexForTx, excludedIndices, logger, unencryptedLogs, OutgoingNoteDao.fromPayloadAndNoteInfo);
|
|
@@ -50,4 +48,4 @@ export async function produceNoteDaos(simulator, db, ivpkM, ovpkM, payload, txHa
|
|
|
50
48
|
outgoingDeferredNote,
|
|
51
49
|
};
|
|
52
50
|
}
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjZV9ub3RlX2Rhb3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbm90ZV9wcm9jZXNzb3IvdXRpbHMvcHJvZHVjZV9ub3RlX2Rhb3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUV0RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUV2RTs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0JHO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSxlQUFlLENBQ25DLFNBQXdCLEVBQ3hCLEVBQWUsRUFDZixZQUFtQyxFQUNuQyxLQUE0QixFQUM1QixPQUFzQixFQUN0QixNQUFjLEVBQ2QsVUFBZ0IsRUFDaEIsbUJBQTJCLEVBQzNCLGVBQTRCLEVBQzVCLE1BQWMsRUFDZCxlQUFvQztJQU9wQyxJQUFJLENBQUMsWUFBWSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDNUIsTUFBTSxJQUFJLEtBQUssQ0FBQyxnRUFBZ0UsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFRCxJQUFJLFlBQXlDLENBQUM7SUFDOUMsSUFBSSxZQUF5QyxDQUFDO0lBQzlDLElBQUksb0JBQWlELENBQUM7SUFDdEQsSUFBSSxvQkFBaUQsQ0FBQztJQUV0RCxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2pCLENBQUMsWUFBWSxFQUFFLG9CQUFvQixDQUFDLEdBQUcsTUFBTSxxQkFBcUIsQ0FDaEUsU0FBUyxFQUNULEVBQUUsRUFDRixZQUFZLEVBQ1osT0FBTyxFQUNQLE1BQU0sRUFDTixVQUFVLEVBQ1YsbUJBQW1CLEVBQ25CLGVBQWUsRUFDZixNQUFNLEVBQ04sZUFBZSxFQUNmLGVBQWUsQ0FBQyxzQkFBc0IsQ0FDdkMsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFJLEtBQUssRUFBRSxDQUFDO1FBQ1YsSUFBSSxZQUFZLEVBQUUsQ0FBQztZQUNqQixnSEFBZ0g7WUFDaEgsNEVBQTRFO1lBQzVFLFlBQVksR0FBRyxJQUFJLGVBQWUsQ0FDaEMsWUFBWSxDQUFDLElBQUksRUFDakIsWUFBWSxDQUFDLGVBQWUsRUFDNUIsWUFBWSxDQUFDLFdBQVcsRUFDeEIsWUFBWSxDQUFDLFVBQVUsRUFDdkIsWUFBWSxDQUFDLE1BQU0sRUFDbkIsWUFBWSxDQUFDLEtBQUssRUFDbEIsWUFBWSxDQUFDLFFBQVEsRUFDckIsWUFBWSxDQUFDLEtBQUssRUFDbEIsS0FBSyxDQUNOLENBQUM7UUFDSixDQUFDO2FBQU0sQ0FBQztZQUNOLENBQUMsWUFBWSxFQUFFLG9CQUFvQixDQUFDLEdBQUcsTUFBTSxxQkFBcUIsQ0FDaEUsU0FBUyxFQUNULEVBQUUsRUFDRixLQUFLLEVBQ0wsT0FBTyxFQUNQLE1BQU0sRUFDTixVQUFVLEVBQ1YsbUJBQW1CLEVBQ25CLGVBQWUsRUFDZixNQUFNLEVBQ04sZUFBZSxFQUNmLGVBQWUsQ0FBQyxzQkFBc0IsQ0FDdkMsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTztRQUNMLFlBQVk7UUFDWixZQUFZO1FBQ1osb0JBQW9CO1FBQ3BCLG9CQUFvQjtLQUNyQixDQUFDO0FBQ0osQ0FBQyJ9
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { type L1NotePayload, type TxHash, UnencryptedTxL2Logs } from '@aztec/circuit-types';
|
|
2
|
-
import { Fr, type PublicKey } from '@aztec/circuits.js';
|
|
1
|
+
import { type L1NotePayload, type Note, type TxHash, type UnencryptedTxL2Logs } from '@aztec/circuit-types';
|
|
2
|
+
import { type Fr, type PublicKey } from '@aztec/circuits.js';
|
|
3
3
|
import { type Logger } from '@aztec/foundation/log';
|
|
4
4
|
import { type AcirSimulator } from '@aztec/simulator';
|
|
5
5
|
import { DeferredNoteDao } from '../../database/deferred_note_dao.js';
|
|
6
6
|
import { type PxeDatabase } from '../../database/pxe_database.js';
|
|
7
7
|
import { type NoteInfo } from './brute_force_note_info.js';
|
|
8
|
-
export declare function produceNoteDaosForKey<T>(simulator: AcirSimulator, db: PxeDatabase, pkM: PublicKey, payload: L1NotePayload, txHash: TxHash, noteHashes: Fr[], dataStartIndexForTx: number, excludedIndices: Set<number>, logger: Logger, unencryptedLogs: UnencryptedTxL2Logs, daoConstructor: (payload: L1NotePayload, noteInfo: NoteInfo, dataStartIndexForTx: number, pkM: PublicKey) => T): Promise<[T | undefined, DeferredNoteDao | undefined]>;
|
|
8
|
+
export declare function produceNoteDaosForKey<T>(simulator: AcirSimulator, db: PxeDatabase, pkM: PublicKey, payload: L1NotePayload, txHash: TxHash, noteHashes: Fr[], dataStartIndexForTx: number, excludedIndices: Set<number>, logger: Logger, unencryptedLogs: UnencryptedTxL2Logs, daoConstructor: (note: Note, payload: L1NotePayload, noteInfo: NoteInfo, dataStartIndexForTx: number, pkM: PublicKey) => T): Promise<[T | undefined, DeferredNoteDao | undefined]>;
|
|
9
9
|
//# sourceMappingURL=produce_note_daos_for_key.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"produce_note_daos_for_key.d.ts","sourceRoot":"","sources":["../../../src/note_processor/utils/produce_note_daos_for_key.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,MAAM,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"produce_note_daos_for_key.d.ts","sourceRoot":"","sources":["../../../src/note_processor/utils/produce_note_daos_for_key.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,IAAI,EAAE,KAAK,MAAM,EAAE,KAAK,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC5G,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,KAAK,aAAa,EAAyB,MAAM,kBAAkB,CAAC;AAE7E,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAElE,OAAO,EAAE,KAAK,QAAQ,EAAsB,MAAM,4BAA4B,CAAC;AAE/E,wBAAsB,qBAAqB,CAAC,CAAC,EAC3C,SAAS,EAAE,aAAa,EACxB,EAAE,EAAE,WAAW,EACf,GAAG,EAAE,SAAS,EACd,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,EAAE,EAAE,EAChB,mBAAmB,EAAE,MAAM,EAC3B,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,EAC5B,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,mBAAmB,EACpC,cAAc,EAAE,CACd,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,QAAQ,EAClB,mBAAmB,EAAE,MAAM,EAC3B,GAAG,EAAE,SAAS,KACX,CAAC,GACL,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,EAAE,eAAe,GAAG,SAAS,CAAC,CAAC,CAiCvD"}
|
|
@@ -1,31 +1,21 @@
|
|
|
1
|
-
import { UnencryptedTxL2Logs } from '@aztec/circuit-types';
|
|
2
|
-
import { Fr } from '@aztec/circuits.js';
|
|
3
1
|
import { ContractNotFoundError } from '@aztec/simulator';
|
|
4
2
|
import { DeferredNoteDao } from '../../database/deferred_note_dao.js';
|
|
5
|
-
import {
|
|
3
|
+
import { getOrderedNoteItems } from './add_public_values_to_payload.js';
|
|
6
4
|
import { bruteForceNoteInfo } from './brute_force_note_info.js';
|
|
7
5
|
export async function produceNoteDaosForKey(simulator, db, pkM, payload, txHash, noteHashes, dataStartIndexForTx, excludedIndices, logger, unencryptedLogs, daoConstructor) {
|
|
8
6
|
let noteDao;
|
|
9
7
|
let deferredNoteDao;
|
|
10
8
|
try {
|
|
11
|
-
|
|
9
|
+
// We get the note by merging publicly and privately delivered note values.
|
|
10
|
+
const note = await getOrderedNoteItems(db, payload);
|
|
11
|
+
const noteInfo = await bruteForceNoteInfo(simulator, noteHashes, txHash, payload.contractAddress, payload.storageSlot, payload.noteTypeId, note, excludedIndices, true);
|
|
12
12
|
excludedIndices?.add(noteInfo.noteHashIndex);
|
|
13
|
-
noteDao = daoConstructor(payload, noteInfo, dataStartIndexForTx, pkM);
|
|
13
|
+
noteDao = daoConstructor(note, payload, noteInfo, dataStartIndexForTx, pkM);
|
|
14
14
|
}
|
|
15
15
|
catch (e) {
|
|
16
16
|
if (e instanceof ContractNotFoundError) {
|
|
17
17
|
logger.warn(e.message);
|
|
18
|
-
deferredNoteDao = new DeferredNoteDao(pkM, payload
|
|
19
|
-
}
|
|
20
|
-
else if (e.message.includes('failed to solve blackbox function: embedded_curve_add') ||
|
|
21
|
-
e.message.includes('Could not find key prefix.')) {
|
|
22
|
-
// TODO(#8769): This branch is a temporary partial notes delivery solution that should be eventually replaced.
|
|
23
|
-
// Both error messages above occur only when we are dealing with a partial note and are thrown when calling
|
|
24
|
-
// `note.compute_note_hash()` or `note.compute_nullifier_without_context()`
|
|
25
|
-
// in `compute_note_hash_and_optionally_a_nullifier` function. It occurs with partial notes because in the
|
|
26
|
-
// partial flow we receive a note log of a note that is missing some fields here and then we try to compute
|
|
27
|
-
// the note hash with MSM while some of the fields are zeroed out (or get a nsk for zero npk_m_hash).
|
|
28
|
-
noteDao = await handlePartialNote(simulator, db, pkM, payload, txHash, noteHashes, dataStartIndexForTx, excludedIndices, logger, unencryptedLogs, daoConstructor);
|
|
18
|
+
deferredNoteDao = new DeferredNoteDao(pkM, payload, txHash, noteHashes, dataStartIndexForTx, unencryptedLogs);
|
|
29
19
|
}
|
|
30
20
|
else {
|
|
31
21
|
logger.error(`Could not process note because of "${e}". Discarding note...`);
|
|
@@ -33,48 +23,4 @@ export async function produceNoteDaosForKey(simulator, db, pkM, payload, txHash,
|
|
|
33
23
|
}
|
|
34
24
|
return [noteDao, deferredNoteDao];
|
|
35
25
|
}
|
|
36
|
-
|
|
37
|
-
let noteDao;
|
|
38
|
-
for (const functionLogs of unencryptedLogs.functionLogs) {
|
|
39
|
-
for (const log of functionLogs.logs) {
|
|
40
|
-
const { data } = log;
|
|
41
|
-
// It is the expectation that partial notes will have the corresponding unencrypted log be multiple
|
|
42
|
-
// of Fr.SIZE_IN_BYTES as the nullable fields should be simply concatenated.
|
|
43
|
-
if (data.length % Fr.SIZE_IN_BYTES === 0) {
|
|
44
|
-
const nullableFields = [];
|
|
45
|
-
for (let i = 0; i < data.length; i += Fr.SIZE_IN_BYTES) {
|
|
46
|
-
const chunk = data.subarray(i, i + Fr.SIZE_IN_BYTES);
|
|
47
|
-
nullableFields.push(Fr.fromBuffer(chunk));
|
|
48
|
-
}
|
|
49
|
-
// We insert the nullable fields into the note and then we try to produce the note dao again
|
|
50
|
-
const payloadWithNullableFields = await addNullableFieldsToPayload(db, payload, nullableFields);
|
|
51
|
-
let deferredNoteDao;
|
|
52
|
-
try {
|
|
53
|
-
[noteDao, deferredNoteDao] = await produceNoteDaosForKey(simulator, db, pkM, payloadWithNullableFields, txHash, noteHashes, dataStartIndexForTx, excludedIndices, logger, UnencryptedTxL2Logs.empty(), // We set unencrypted logs to empty to prevent infinite recursion.
|
|
54
|
-
daoConstructor);
|
|
55
|
-
}
|
|
56
|
-
catch (e) {
|
|
57
|
-
// We ignore the key prefix error because that is expected to be triggered when an incorrect value
|
|
58
|
-
// is inserted at the position of `npk_m_hash`. This happens commonly because we are brute forcing
|
|
59
|
-
// the unencrypted logs.
|
|
60
|
-
if (!e.message.includes('Could not find key prefix.')) {
|
|
61
|
-
throw e;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
if (deferredNoteDao) {
|
|
65
|
-
// This should not happen as we should first get contract not found error before the blackbox func error.
|
|
66
|
-
throw new Error('Partial notes should never be deferred.');
|
|
67
|
-
}
|
|
68
|
-
if (noteDao) {
|
|
69
|
-
// We managed to complete the partial note so we terminate the search.
|
|
70
|
-
break;
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
if (!noteDao) {
|
|
76
|
-
logger.error(`Partial note note found. Discarding note...`);
|
|
77
|
-
}
|
|
78
|
-
return noteDao;
|
|
79
|
-
}
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjZV9ub3RlX2Rhb3NfZm9yX2tleS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ub3RlX3Byb2Nlc3Nvci91dGlscy9wcm9kdWNlX25vdGVfZGFvc19mb3Jfa2V5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBbUMsbUJBQW1CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM1RixPQUFPLEVBQUUsRUFBRSxFQUFrQixNQUFNLG9CQUFvQixDQUFDO0FBRXhELE9BQU8sRUFBc0IscUJBQXFCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUU3RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFdEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDaEYsT0FBTyxFQUFpQixrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRS9FLE1BQU0sQ0FBQyxLQUFLLFVBQVUscUJBQXFCLENBQ3pDLFNBQXdCLEVBQ3hCLEVBQWUsRUFDZixHQUFjLEVBQ2QsT0FBc0IsRUFDdEIsTUFBYyxFQUNkLFVBQWdCLEVBQ2hCLG1CQUEyQixFQUMzQixlQUE0QixFQUM1QixNQUFjLEVBQ2QsZUFBb0MsRUFDcEMsY0FBOEc7SUFFOUcsSUFBSSxPQUFzQixDQUFDO0lBQzNCLElBQUksZUFBNEMsQ0FBQztJQUVqRCxJQUFJLENBQUM7UUFDSCxNQUFNLFFBQVEsR0FBRyxNQUFNLGtCQUFrQixDQUN2QyxTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFDTixPQUFPLEVBQ1AsZUFBZSxFQUNmLElBQUksQ0FDTCxDQUFDO1FBQ0YsZUFBZSxFQUFFLEdBQUcsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFN0MsT0FBTyxHQUFHLGNBQWMsQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLG1CQUFtQixFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFBQyxPQUFP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
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjZV9ub3RlX2Rhb3NfZm9yX2tleS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ub3RlX3Byb2Nlc3Nvci91dGlscy9wcm9kdWNlX25vdGVfZGFvc19mb3Jfa2V5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBc0IscUJBQXFCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUU3RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFdEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDeEUsT0FBTyxFQUFpQixrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRS9FLE1BQU0sQ0FBQyxLQUFLLFVBQVUscUJBQXFCLENBQ3pDLFNBQXdCLEVBQ3hCLEVBQWUsRUFDZixHQUFjLEVBQ2QsT0FBc0IsRUFDdEIsTUFBYyxFQUNkLFVBQWdCLEVBQ2hCLG1CQUEyQixFQUMzQixlQUE0QixFQUM1QixNQUFjLEVBQ2QsZUFBb0MsRUFDcEMsY0FNTTtJQUVOLElBQUksT0FBc0IsQ0FBQztJQUMzQixJQUFJLGVBQTRDLENBQUM7SUFFakQsSUFBSSxDQUFDO1FBQ0gsMkVBQTJFO1FBQzNFLE1BQU0sSUFBSSxHQUFHLE1BQU0sbUJBQW1CLENBQUMsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRXBELE1BQU0sUUFBUSxHQUFHLE1BQU0sa0JBQWtCLENBQ3ZDLFNBQVMsRUFDVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLE9BQU8sQ0FBQyxlQUFlLEVBQ3ZCLE9BQU8sQ0FBQyxXQUFXLEVBQ25CLE9BQU8sQ0FBQyxVQUFVLEVBQ2xCLElBQUksRUFDSixlQUFlLEVBQ2YsSUFBSSxDQUNMLENBQUM7UUFDRixlQUFlLEVBQUUsR0FBRyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUU3QyxPQUFPLEdBQUcsY0FBYyxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLG1CQUFtQixFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLFlBQVkscUJBQXFCLEVBQUUsQ0FBQztZQUN2QyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUV2QixlQUFlLEdBQUcsSUFBSSxlQUFlLENBQUMsR0FBRyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLG1CQUFtQixFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBQ2hILENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxDQUFDLEtBQUssQ0FBQyxzQ0FBc0MsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQy9FLENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxDQUFDLE9BQU8sRUFBRSxlQUFlLENBQUMsQ0FBQztBQUNwQyxDQUFDIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pxe_http_server.d.ts","sourceRoot":"","sources":["../../src/pxe_http/pxe_http_server.ts"],"names":[],"mappings":";AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"pxe_http_server.d.ts","sourceRoot":"","sources":["../../src/pxe_http/pxe_http_server.ts"],"names":[],"mappings":";AAAA,OAAO,EAeL,KAAK,GAAG,EAaT,MAAM,sBAAsB,CAAC;AAO9B,OAAO,EAAE,aAAa,EAAiC,MAAM,mCAAmC,CAAC;AAEjG,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,GAAG,GAAG,aAAa,CA8CjE;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM,CAStF"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { AuthWitness, CompleteAddress, CountedNoteLog, CountedPublicExecutionRequest, EncryptedL2Log, EncryptedL2NoteLog, EncryptedNoteL2BlockL2Logs, ExtendedNote, ExtendedUnencryptedL2Log, L2Block, LogId, Note, NullifierMembershipWitness, PrivateExecutionResult, SiblingPath, Tx, TxEffect, TxExecutionRequest, TxHash, TxProvingResult, TxReceipt, TxSimulationResult, UnencryptedL2BlockL2Logs, UnencryptedL2Log, UniqueNote, } from '@aztec/circuit-types';
|
|
1
|
+
import { AuthWitness, CompleteAddress, CountedNoteLog, CountedPublicExecutionRequest, EncryptedL2Log, EncryptedL2NoteLog, EncryptedNoteL2BlockL2Logs, EventMetadata, ExtendedNote, ExtendedUnencryptedL2Log, L2Block, LogId, Note, NullifierMembershipWitness, PrivateExecutionResult, SiblingPath, Tx, TxEffect, TxExecutionRequest, TxHash, TxProvingResult, TxReceipt, TxSimulationResult, UnencryptedL2BlockL2Logs, UnencryptedL2Log, UniqueNote, } from '@aztec/circuit-types';
|
|
2
2
|
import { FunctionSelector, PrivateCircuitPublicInputs, PublicKeys } from '@aztec/circuits.js';
|
|
3
|
-
import { NoteSelector } from '@aztec/foundation/abi';
|
|
3
|
+
import { EventSelector, NoteSelector } from '@aztec/foundation/abi';
|
|
4
4
|
import { AztecAddress } from '@aztec/foundation/aztec-address';
|
|
5
5
|
import { Buffer32 } from '@aztec/foundation/buffer';
|
|
6
6
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
@@ -13,42 +13,44 @@ import http from 'http';
|
|
|
13
13
|
*/
|
|
14
14
|
export function createPXERpcServer(pxeService) {
|
|
15
15
|
return new JsonRpcServer(pxeService, {
|
|
16
|
-
|
|
16
|
+
AuthWitness,
|
|
17
17
|
AztecAddress,
|
|
18
|
-
TxExecutionRequest,
|
|
19
|
-
ExtendedUnencryptedL2Log,
|
|
20
|
-
FunctionSelector,
|
|
21
|
-
TxHash,
|
|
22
18
|
Buffer32,
|
|
19
|
+
CompleteAddress,
|
|
23
20
|
EthAddress,
|
|
24
|
-
|
|
21
|
+
EventSelector,
|
|
22
|
+
ExtendedNote,
|
|
23
|
+
ExtendedUnencryptedL2Log,
|
|
25
24
|
Fr,
|
|
25
|
+
FunctionSelector,
|
|
26
26
|
GrumpkinScalar,
|
|
27
|
+
L2Block,
|
|
28
|
+
LogId,
|
|
27
29
|
Note,
|
|
28
|
-
|
|
30
|
+
Point,
|
|
29
31
|
PublicKeys,
|
|
30
|
-
UniqueNote,
|
|
31
32
|
SiblingPath,
|
|
32
|
-
AuthWitness,
|
|
33
|
-
L2Block,
|
|
34
33
|
TxEffect,
|
|
35
|
-
|
|
34
|
+
TxExecutionRequest,
|
|
35
|
+
TxHash,
|
|
36
|
+
UniqueNote,
|
|
36
37
|
}, {
|
|
37
|
-
|
|
38
|
-
|
|
38
|
+
CountedPublicExecutionRequest,
|
|
39
|
+
CountedNoteLog,
|
|
39
40
|
EncryptedL2Log,
|
|
40
|
-
|
|
41
|
+
EncryptedL2NoteLog,
|
|
42
|
+
EncryptedNoteL2BlockL2Logs,
|
|
43
|
+
EventMetadata,
|
|
41
44
|
NoteSelector,
|
|
42
45
|
NullifierMembershipWitness,
|
|
43
|
-
TxSimulationResult,
|
|
44
|
-
TxProvingResult,
|
|
45
46
|
PrivateCircuitPublicInputs,
|
|
46
47
|
PrivateExecutionResult,
|
|
47
|
-
|
|
48
|
-
|
|
48
|
+
TxSimulationResult,
|
|
49
|
+
TxProvingResult,
|
|
49
50
|
Tx,
|
|
50
51
|
TxReceipt,
|
|
51
52
|
UnencryptedL2BlockL2Logs,
|
|
53
|
+
UnencryptedL2Log,
|
|
52
54
|
}, ['start', 'stop']);
|
|
53
55
|
}
|
|
54
56
|
/**
|
|
@@ -65,4 +67,4 @@ export function startPXEHttpServer(pxeService, port) {
|
|
|
65
67
|
httpServer.listen(port);
|
|
66
68
|
return httpServer;
|
|
67
69
|
}
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHhlX2h0dHBfc2VydmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3B4ZV9odHRwL3B4ZV9odHRwX3NlcnZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsV0FBVyxFQUNYLGVBQWUsRUFDZixjQUFjLEVBQ2QsNkJBQTZCLEVBQzdCLGNBQWMsRUFDZCxrQkFBa0IsRUFDbEIsMEJBQTBCLEVBQzFCLGFBQWEsRUFDYixZQUFZLEVBQ1osd0JBQXdCLEVBQ3hCLE9BQU8sRUFDUCxLQUFLLEVBQ0wsSUFBSSxFQUNKLDBCQUEwQixFQUUxQixzQkFBc0IsRUFDdEIsV0FBVyxFQUNYLEVBQUUsRUFDRixRQUFRLEVBQ1Isa0JBQWtCLEVBQ2xCLE1BQU0sRUFDTixlQUFlLEVBQ2YsU0FBUyxFQUNULGtCQUFrQixFQUNsQix3QkFBd0IsRUFDeEIsZ0JBQWdCLEVBQ2hCLFVBQVUsR0FDWCxNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSwwQkFBMEIsRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM5RixPQUFPLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzNELE9BQU8sRUFBRSxFQUFFLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxhQUFhLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUVqRyxPQUFPLElBQUksTUFBTSxNQUFNLENBQUM7QUFFeEI7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLGtCQUFrQixDQUFDLFVBQWU7SUFDaEQsT0FBTyxJQUFJLGFBQWEsQ0FDdEIsVUFBVSxFQUNWO1FBQ0UsV0FBVztRQUNYLFlBQVk7UUFDWixRQUFRO1FBQ1IsZUFBZTtRQUNmLFVBQVU7UUFDVixhQUFhO1FBQ2IsWUFBWTtRQUNaLHdCQUF3QjtRQUN4QixFQUFFO1FBQ0YsZ0JBQWdCO1FBQ2hCLGNBQWM7UUFDZCxPQUFPO1FBQ1AsS0FBSztRQUNMLElBQUk7UUFDSixLQUFLO1FBQ0wsVUFBVTtRQUNWLFdBQVc7UUFDWCxRQUFRO1FBQ1Isa0JBQWtCO1FBQ2xCLE1BQU07UUFDTixVQUFVO0tBQ1gsRUFDRDtRQUNFLDZCQUE2QjtRQUM3QixjQUFjO1FBQ2QsY0FBYztRQUNkLGtCQUFrQjtRQUNsQiwwQkFBMEI7UUFDMUIsYUFBYTtRQUNiLFlBQVk7UUFDWiwwQkFBMEI7UUFDMUIsMEJBQTBCO1FBQzFCLHNCQUFzQjtRQUN0QixrQkFBa0I7UUFDbEIsZUFBZTtRQUNmLEVBQUU7UUFDRixTQUFTO1FBQ1Qsd0JBQXdCO1FBQ3hCLGdCQUFnQjtLQUNqQixFQUNELENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUNsQixDQUFDO0FBQ0osQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLGtCQUFrQixDQUFDLFVBQWUsRUFBRSxJQUFxQjtJQUN2RSxNQUFNLFNBQVMsR0FBRyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNqRCxNQUFNLFNBQVMsR0FBRyw2QkFBNkIsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUV0RSxNQUFNLEdBQUcsR0FBRyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDL0IsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUNyRCxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRXhCLE9BQU8sVUFBVSxDQUFDO0FBQ3BCLENBQUMifQ==
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { type AuthWitness, type AztecNode,
|
|
1
|
+
import { type AuthWitness, type AztecNode, EventMetadata, EventType, type ExtendedNote, type GetUnencryptedLogsResponse, type IncomingNotesFilter, type L2Block, type LogFilter, type OutgoingNotesFilter, type PXE, type PXEInfo, type PrivateExecutionResult, type PrivateKernelProver, type SiblingPath, type Tx, type TxEffect, type TxExecutionRequest, type TxHash, TxProvingResult, type TxReceipt, TxSimulationResult, UniqueNote } from '@aztec/circuit-types';
|
|
2
2
|
import { type NoteProcessorStats } from '@aztec/circuit-types/stats';
|
|
3
3
|
import { type AztecAddress, type CompleteAddress, type ContractClassWithId, type ContractInstanceWithAddress, type L1_TO_L2_MSG_TREE_HEIGHT, type NodeInfo, type PartialAddress } from '@aztec/circuits.js';
|
|
4
|
-
import { type AbiDecoded, type ContractArtifact } from '@aztec/foundation/abi';
|
|
4
|
+
import { type AbiDecoded, type AbiType, type ContractArtifact, EventSelector } from '@aztec/foundation/abi';
|
|
5
5
|
import { Fr, type Point } from '@aztec/foundation/fields';
|
|
6
6
|
import { type KeyStore } from '@aztec/key-store';
|
|
7
7
|
import { type PXEServiceConfig } from '../config/index.js';
|
|
@@ -48,11 +48,11 @@ export declare class PXEService implements PXE {
|
|
|
48
48
|
getContractClass(id: Fr): Promise<ContractClassWithId | undefined>;
|
|
49
49
|
getContractArtifact(id: Fr): Promise<ContractArtifact | undefined>;
|
|
50
50
|
registerAccount(secretKey: Fr, partialAddress: PartialAddress): Promise<CompleteAddress>;
|
|
51
|
+
registerContact(address: AztecAddress): Promise<AztecAddress>;
|
|
52
|
+
getContacts(): Promise<AztecAddress[]>;
|
|
53
|
+
removeContact(address: AztecAddress): Promise<void>;
|
|
51
54
|
getRegisteredAccounts(): Promise<CompleteAddress[]>;
|
|
52
55
|
getRegisteredAccount(address: AztecAddress): Promise<CompleteAddress | undefined>;
|
|
53
|
-
registerRecipient(recipient: CompleteAddress): Promise<void>;
|
|
54
|
-
getRecipients(): Promise<CompleteAddress[]>;
|
|
55
|
-
getRecipient(address: AztecAddress): Promise<CompleteAddress | undefined>;
|
|
56
56
|
registerContractClass(artifact: ContractArtifact): Promise<void>;
|
|
57
57
|
registerContract(contract: {
|
|
58
58
|
instance: ContractInstanceWithAddress;
|
|
@@ -96,8 +96,16 @@ export declare class PXEService implements PXE {
|
|
|
96
96
|
isContractClassPubliclyRegistered(id: Fr): Promise<boolean>;
|
|
97
97
|
isContractPubliclyDeployed(address: AztecAddress): Promise<boolean>;
|
|
98
98
|
isContractInitialized(address: AztecAddress): Promise<boolean>;
|
|
99
|
-
getEvents<T>(type: EventType.Encrypted,
|
|
100
|
-
|
|
99
|
+
getEvents<T>(type: EventType.Encrypted, event: {
|
|
100
|
+
eventSelector: EventSelector;
|
|
101
|
+
abiType: AbiType;
|
|
102
|
+
fieldNames: string[];
|
|
103
|
+
}, from: number, limit: number, vpks: Point[]): Promise<T[]>;
|
|
104
|
+
getEvents<T>(type: EventType.Unencrypted, event: {
|
|
105
|
+
eventSelector: EventSelector;
|
|
106
|
+
abiType: AbiType;
|
|
107
|
+
fieldNames: string[];
|
|
108
|
+
}, from: number, limit: number): Promise<T[]>;
|
|
101
109
|
getEncryptedEvents<T>(from: number, limit: number, eventMetadata: EventMetadata<T>, vpks: Point[]): Promise<T[]>;
|
|
102
110
|
getUnencryptedEvents<T>(from: number, limit: number, eventMetadata: EventMetadata<T>): Promise<T[]>;
|
|
103
111
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pxe_service.d.ts","sourceRoot":"","sources":["../../src/pxe_service/pxe_service.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,
|
|
1
|
+
{"version":3,"file":"pxe_service.d.ts","sourceRoot":"","sources":["../../src/pxe_service/pxe_service.ts"],"names":[],"mappings":"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"}
|