@aztec/pxe 0.61.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.
Files changed (49) hide show
  1. package/dest/database/deferred_note_dao.d.ts +2 -2
  2. package/dest/database/deferred_note_dao.d.ts.map +1 -1
  3. package/dest/database/deferred_note_dao.js +2 -2
  4. package/dest/database/incoming_note_dao.d.ts +3 -3
  5. package/dest/database/incoming_note_dao.d.ts.map +1 -1
  6. package/dest/database/incoming_note_dao.js +6 -6
  7. package/dest/database/kv_pxe_database.d.ts +8 -5
  8. package/dest/database/kv_pxe_database.d.ts.map +1 -1
  9. package/dest/database/kv_pxe_database.js +63 -44
  10. package/dest/database/outgoing_note_dao.d.ts +1 -1
  11. package/dest/database/outgoing_note_dao.js +2 -2
  12. package/dest/database/pxe_database.d.ts +33 -3
  13. package/dest/database/pxe_database.d.ts.map +1 -1
  14. package/dest/database/pxe_database_test_suite.d.ts.map +1 -1
  15. package/dest/database/pxe_database_test_suite.js +11 -11
  16. package/dest/index.d.ts +1 -1
  17. package/dest/index.d.ts.map +1 -1
  18. package/dest/index.js +1 -1
  19. package/dest/note_processor/note_processor.d.ts.map +1 -1
  20. package/dest/note_processor/note_processor.js +9 -8
  21. package/dest/note_processor/utils/produce_note_daos.d.ts +2 -2
  22. package/dest/note_processor/utils/produce_note_daos.d.ts.map +1 -1
  23. package/dest/note_processor/utils/produce_note_daos.js +7 -7
  24. package/dest/pxe_http/pxe_http_server.d.ts.map +1 -1
  25. package/dest/pxe_http/pxe_http_server.js +23 -21
  26. package/dest/pxe_service/pxe_service.d.ts +15 -7
  27. package/dest/pxe_service/pxe_service.d.ts.map +1 -1
  28. package/dest/pxe_service/pxe_service.js +42 -39
  29. package/dest/pxe_service/test/pxe_test_suite.d.ts.map +1 -1
  30. package/dest/pxe_service/test/pxe_test_suite.js +2 -32
  31. package/dest/simulator_oracle/index.d.ts +24 -1
  32. package/dest/simulator_oracle/index.d.ts.map +1 -1
  33. package/dest/simulator_oracle/index.js +81 -18
  34. package/dest/synchronizer/synchronizer.js +6 -6
  35. package/package.json +16 -14
  36. package/src/database/deferred_note_dao.ts +1 -1
  37. package/src/database/incoming_note_dao.ts +4 -4
  38. package/src/database/kv_pxe_database.ts +72 -46
  39. package/src/database/outgoing_note_dao.ts +2 -2
  40. package/src/database/pxe_database.ts +36 -2
  41. package/src/database/pxe_database_test_suite.ts +12 -20
  42. package/src/index.ts +1 -1
  43. package/src/note_processor/note_processor.ts +12 -9
  44. package/src/note_processor/utils/produce_note_daos.ts +6 -6
  45. package/src/pxe_http/pxe_http_server.ts +22 -19
  46. package/src/pxe_service/pxe_service.ts +50 -44
  47. package/src/pxe_service/test/pxe_test_suite.ts +1 -53
  48. package/src/simulator_oracle/index.ts +93 -14
  49. package/src/synchronizer/synchronizer.ts +5 -5
@@ -9,7 +9,7 @@ import { BufferReader } from '@aztec/foundation/serialize';
9
9
  * So keep the state that we need to decode it later.
10
10
  */
11
11
  export declare class DeferredNoteDao {
12
- /** IvpkM or OvpkM (depending on if incoming or outgoing) the note was encrypted with. */
12
+ /** Address Point or OvpkM (depending on if incoming or outgoing) the note was encrypted with. */
13
13
  publicKey: PublicKey;
14
14
  /** The note payload delivered via L1. */
15
15
  payload: L1NotePayload;
@@ -22,7 +22,7 @@ export declare class DeferredNoteDao {
22
22
  /** Unencrypted logs for the transaction (used to complete partial notes) */
23
23
  unencryptedLogs: UnencryptedTxL2Logs;
24
24
  constructor(
25
- /** IvpkM or OvpkM (depending on if incoming or outgoing) the note was encrypted with. */
25
+ /** Address Point or OvpkM (depending on if incoming or outgoing) the note was encrypted with. */
26
26
  publicKey: PublicKey,
27
27
  /** The note payload delivered via L1. */
28
28
  payload: L1NotePayload,
@@ -1 +1 @@
1
- {"version":3,"file":"deferred_note_dao.d.ts","sourceRoot":"","sources":["../../src/database/deferred_note_dao.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAAE,EAAE,EAAS,KAAK,SAAS,EAAU,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAE9E;;;;GAIG;AACH,qBAAa,eAAe;IAExB,yFAAyF;IAClF,SAAS,EAAE,SAAS;IAC3B,yCAAyC;IAClC,OAAO,EAAE,aAAa;IAC7B,+EAA+E;IACxE,MAAM,EAAE,MAAM;IACrB,6EAA6E;IACtE,UAAU,EAAE,EAAE,EAAE;IACvB,gFAAgF;IACzE,mBAAmB,EAAE,MAAM;IAClC,4EAA4E;IACrE,eAAe,EAAE,mBAAmB;;IAX3C,yFAAyF;IAClF,SAAS,EAAE,SAAS;IAC3B,yCAAyC;IAClC,OAAO,EAAE,aAAa;IAC7B,+EAA+E;IACxE,MAAM,EAAE,MAAM;IACrB,6EAA6E;IACtE,UAAU,EAAE,EAAE,EAAE;IACvB,gFAAgF;IACzE,mBAAmB,EAAE,MAAM;IAClC,4EAA4E;IACrE,eAAe,EAAE,mBAAmB;IAG7C,QAAQ,IAAI,MAAM;IAUlB,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;CAWhD"}
1
+ {"version":3,"file":"deferred_note_dao.d.ts","sourceRoot":"","sources":["../../src/database/deferred_note_dao.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAAE,EAAE,EAAS,KAAK,SAAS,EAAU,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAE9E;;;;GAIG;AACH,qBAAa,eAAe;IAExB,iGAAiG;IAC1F,SAAS,EAAE,SAAS;IAC3B,yCAAyC;IAClC,OAAO,EAAE,aAAa;IAC7B,+EAA+E;IACxE,MAAM,EAAE,MAAM;IACrB,6EAA6E;IACtE,UAAU,EAAE,EAAE,EAAE;IACvB,gFAAgF;IACzE,mBAAmB,EAAE,MAAM;IAClC,4EAA4E;IACrE,eAAe,EAAE,mBAAmB;;IAX3C,iGAAiG;IAC1F,SAAS,EAAE,SAAS;IAC3B,yCAAyC;IAClC,OAAO,EAAE,aAAa;IAC7B,+EAA+E;IACxE,MAAM,EAAE,MAAM;IACrB,6EAA6E;IACtE,UAAU,EAAE,EAAE,EAAE;IACvB,gFAAgF;IACzE,mBAAmB,EAAE,MAAM;IAClC,4EAA4E;IACrE,eAAe,EAAE,mBAAmB;IAG7C,QAAQ,IAAI,MAAM;IAUlB,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;CAWhD"}
@@ -8,7 +8,7 @@ import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
8
8
  */
9
9
  export class DeferredNoteDao {
10
10
  constructor(
11
- /** IvpkM or OvpkM (depending on if incoming or outgoing) the note was encrypted with. */
11
+ /** Address Point or OvpkM (depending on if incoming or outgoing) the note was encrypted with. */
12
12
  publicKey,
13
13
  /** The note payload delivered via L1. */
14
14
  payload,
@@ -35,4 +35,4 @@ export class DeferredNoteDao {
35
35
  return new DeferredNoteDao(reader.readObject(Point), reader.readObject(L1NotePayload), reader.readObject(TxHash), reader.readVector(Fr), reader.readNumber(), reader.readObject(UnencryptedTxL2Logs));
36
36
  }
37
37
  }
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmZXJyZWRfbm90ZV9kYW8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGF0YWJhc2UvZGVmZXJyZWRfbm90ZV9kYW8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRixPQUFPLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBa0IsTUFBTSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdkUsT0FBTyxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTlFOzs7O0dBSUc7QUFDSCxNQUFNLE9BQU8sZUFBZTtJQUMxQjtJQUNFLHlGQUF5RjtJQUNsRixTQUFvQjtJQUMzQix5Q0FBeUM7SUFDbEMsT0FBc0I7SUFDN0IsK0VBQStFO0lBQ3hFLE1BQWM7SUFDckIsNkVBQTZFO0lBQ3RFLFVBQWdCO0lBQ3ZCLGdGQUFnRjtJQUN6RSxtQkFBMkI7SUFDbEMsNEVBQTRFO0lBQ3JFLGVBQW9DO1FBVnBDLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFFcEIsWUFBTyxHQUFQLE9BQU8sQ0FBZTtRQUV0QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBRWQsZUFBVSxHQUFWLFVBQVUsQ0FBTTtRQUVoQix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQVE7UUFFM0Isb0JBQWUsR0FBZixlQUFlLENBQXFCO0lBQzFDLENBQUM7SUFFSixRQUFRO1FBQ04sT0FBTyxpQkFBaUIsQ0FDdEIsSUFBSSxDQUFDLFNBQVMsRUFDZCxJQUFJLENBQUMsT0FBTyxFQUNaLElBQUksQ0FBQyxNQUFNLEVBQ1gsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUMzQixJQUFJLENBQUMsbUJBQW1CLEVBQ3hCLElBQUksQ0FBQyxlQUFlLENBQ3JCLENBQUM7SUFDSixDQUFDO0lBQ0QsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUE2QjtRQUM3QyxNQUFNLE1BQU0sR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzdDLE9BQU8sSUFBSSxlQUFlLENBQ3hCLE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEVBQ3hCLE1BQU0sQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLEVBQ2hDLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQ3pCLE1BQU0sQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLEVBQ3JCLE1BQU0sQ0FBQyxVQUFVLEVBQUUsRUFDbkIsTUFBTSxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxDQUN2QyxDQUFDO0lBQ0osQ0FBQztDQUNGIn0=
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmZXJyZWRfbm90ZV9kYW8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGF0YWJhc2UvZGVmZXJyZWRfbm90ZV9kYW8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRixPQUFPLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBa0IsTUFBTSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdkUsT0FBTyxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTlFOzs7O0dBSUc7QUFDSCxNQUFNLE9BQU8sZUFBZTtJQUMxQjtJQUNFLGlHQUFpRztJQUMxRixTQUFvQjtJQUMzQix5Q0FBeUM7SUFDbEMsT0FBc0I7SUFDN0IsK0VBQStFO0lBQ3hFLE1BQWM7SUFDckIsNkVBQTZFO0lBQ3RFLFVBQWdCO0lBQ3ZCLGdGQUFnRjtJQUN6RSxtQkFBMkI7SUFDbEMsNEVBQTRFO0lBQ3JFLGVBQW9DO1FBVnBDLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFFcEIsWUFBTyxHQUFQLE9BQU8sQ0FBZTtRQUV0QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBRWQsZUFBVSxHQUFWLFVBQVUsQ0FBTTtRQUVoQix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQVE7UUFFM0Isb0JBQWUsR0FBZixlQUFlLENBQXFCO0lBQzFDLENBQUM7SUFFSixRQUFRO1FBQ04sT0FBTyxpQkFBaUIsQ0FDdEIsSUFBSSxDQUFDLFNBQVMsRUFDZCxJQUFJLENBQUMsT0FBTyxFQUNaLElBQUksQ0FBQyxNQUFNLEVBQ1gsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUMzQixJQUFJLENBQUMsbUJBQW1CLEVBQ3hCLElBQUksQ0FBQyxlQUFlLENBQ3JCLENBQUM7SUFDSixDQUFDO0lBQ0QsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUE2QjtRQUM3QyxNQUFNLE1BQU0sR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzdDLE9BQU8sSUFBSSxlQUFlLENBQ3hCLE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEVBQ3hCLE1BQU0sQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLEVBQ2hDLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQ3pCLE1BQU0sQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLEVBQ3JCLE1BQU0sQ0FBQyxVQUFVLEVBQUUsRUFDbkIsTUFBTSxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxDQUN2QyxDQUFDO0lBQ0osQ0FBQztDQUNGIn0=
@@ -35,7 +35,7 @@ export declare class IncomingNoteDao implements NoteData {
35
35
  /** The location of the relevant note in the note hash tree. */
36
36
  index: bigint;
37
37
  /** The public key with which the note was encrypted. */
38
- ivpkM: PublicKey;
38
+ addressPoint: PublicKey;
39
39
  constructor(
40
40
  /** The note as emitted from the Noir contract. */
41
41
  note: Note,
@@ -62,8 +62,8 @@ export declare class IncomingNoteDao implements NoteData {
62
62
  /** The location of the relevant note in the note hash tree. */
63
63
  index: bigint,
64
64
  /** The public key with which the note was encrypted. */
65
- ivpkM: PublicKey);
66
- static fromPayloadAndNoteInfo(note: Note, payload: L1NotePayload, noteInfo: NoteInfo, dataStartIndexForTx: number, ivpkM: PublicKey): IncomingNoteDao;
65
+ addressPoint: PublicKey);
66
+ static fromPayloadAndNoteInfo(note: Note, payload: L1NotePayload, noteInfo: NoteInfo, dataStartIndexForTx: number, addressPoint: PublicKey): IncomingNoteDao;
67
67
  toBuffer(): Buffer;
68
68
  static fromBuffer(buffer: Buffer | BufferReader): IncomingNoteDao;
69
69
  toString(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"incoming_note_dao.d.ts","sourceRoot":"","sources":["../../src/database/incoming_note_dao.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,EAAE,EAAS,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAEjE;;GAEG;AACH,qBAAa,eAAgB,YAAW,QAAQ;IAE5C,kDAAkD;IAC3C,IAAI,EAAE,IAAI;IACjB,oDAAoD;IAC7C,eAAe,EAAE,YAAY;IACpC,iEAAiE;IAC1D,WAAW,EAAE,EAAE;IACtB,iDAAiD;IAC1C,UAAU,EAAE,YAAY;IAC/B,kDAAkD;IAC3C,MAAM,EAAE,MAAM;IACrB,6BAA6B;IACtB,KAAK,EAAE,EAAE;IAChB;;;OAGG;IACI,QAAQ,EAAE,EAAE;IACnB;;;OAGG;IACI,eAAe,EAAE,EAAE;IAC1B,+DAA+D;IACxD,KAAK,EAAE,MAAM;IACpB,wDAAwD;IACjD,KAAK,EAAE,SAAS;;IAzBvB,kDAAkD;IAC3C,IAAI,EAAE,IAAI;IACjB,oDAAoD;IAC7C,eAAe,EAAE,YAAY;IACpC,iEAAiE;IAC1D,WAAW,EAAE,EAAE;IACtB,iDAAiD;IAC1C,UAAU,EAAE,YAAY;IAC/B,kDAAkD;IAC3C,MAAM,EAAE,MAAM;IACrB,6BAA6B;IACtB,KAAK,EAAE,EAAE;IAChB;;;OAGG;IACI,QAAQ,EAAE,EAAE;IACnB;;;OAGG;IACI,eAAe,EAAE,EAAE;IAC1B,+DAA+D;IACxD,KAAK,EAAE,MAAM;IACpB,wDAAwD;IACjD,KAAK,EAAE,SAAS;IAGzB,MAAM,CAAC,sBAAsB,CAC3B,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,QAAQ,EAClB,mBAAmB,EAAE,MAAM,EAC3B,KAAK,EAAE,SAAS;IAiBlB,QAAQ,IAAI,MAAM;IAclB,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IA4B/C,QAAQ;IAIR,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM;IAK7B;;;OAGG;IACI,OAAO;CAKf"}
1
+ {"version":3,"file":"incoming_note_dao.d.ts","sourceRoot":"","sources":["../../src/database/incoming_note_dao.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,EAAE,EAAS,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAEjE;;GAEG;AACH,qBAAa,eAAgB,YAAW,QAAQ;IAE5C,kDAAkD;IAC3C,IAAI,EAAE,IAAI;IACjB,oDAAoD;IAC7C,eAAe,EAAE,YAAY;IACpC,iEAAiE;IAC1D,WAAW,EAAE,EAAE;IACtB,iDAAiD;IAC1C,UAAU,EAAE,YAAY;IAC/B,kDAAkD;IAC3C,MAAM,EAAE,MAAM;IACrB,6BAA6B;IACtB,KAAK,EAAE,EAAE;IAChB;;;OAGG;IACI,QAAQ,EAAE,EAAE;IACnB;;;OAGG;IACI,eAAe,EAAE,EAAE;IAC1B,+DAA+D;IACxD,KAAK,EAAE,MAAM;IACpB,wDAAwD;IACjD,YAAY,EAAE,SAAS;;IAzB9B,kDAAkD;IAC3C,IAAI,EAAE,IAAI;IACjB,oDAAoD;IAC7C,eAAe,EAAE,YAAY;IACpC,iEAAiE;IAC1D,WAAW,EAAE,EAAE;IACtB,iDAAiD;IAC1C,UAAU,EAAE,YAAY;IAC/B,kDAAkD;IAC3C,MAAM,EAAE,MAAM;IACrB,6BAA6B;IACtB,KAAK,EAAE,EAAE;IAChB;;;OAGG;IACI,QAAQ,EAAE,EAAE;IACnB;;;OAGG;IACI,eAAe,EAAE,EAAE;IAC1B,+DAA+D;IACxD,KAAK,EAAE,MAAM;IACpB,wDAAwD;IACjD,YAAY,EAAE,SAAS;IAGhC,MAAM,CAAC,sBAAsB,CAC3B,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,QAAQ,EAClB,mBAAmB,EAAE,MAAM,EAC3B,YAAY,EAAE,SAAS;IAiBzB,QAAQ,IAAI,MAAM;IAclB,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IA4B/C,QAAQ;IAIR,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM;IAK7B;;;OAGG;IACI,OAAO;CAKf"}
@@ -33,7 +33,7 @@ export class IncomingNoteDao {
33
33
  /** The location of the relevant note in the note hash tree. */
34
34
  index,
35
35
  /** The public key with which the note was encrypted. */
36
- ivpkM) {
36
+ addressPoint) {
37
37
  this.note = note;
38
38
  this.contractAddress = contractAddress;
39
39
  this.storageSlot = storageSlot;
@@ -43,11 +43,11 @@ export class IncomingNoteDao {
43
43
  this.noteHash = noteHash;
44
44
  this.siloedNullifier = siloedNullifier;
45
45
  this.index = index;
46
- this.ivpkM = ivpkM;
46
+ this.addressPoint = addressPoint;
47
47
  }
48
- static fromPayloadAndNoteInfo(note, payload, noteInfo, dataStartIndexForTx, ivpkM) {
48
+ static fromPayloadAndNoteInfo(note, payload, noteInfo, dataStartIndexForTx, addressPoint) {
49
49
  const noteHashIndexInTheWholeTree = BigInt(dataStartIndexForTx + noteInfo.noteHashIndex);
50
- return new IncomingNoteDao(note, payload.contractAddress, payload.storageSlot, payload.noteTypeId, noteInfo.txHash, noteInfo.nonce, noteInfo.noteHash, noteInfo.siloedNullifier, noteHashIndexInTheWholeTree, ivpkM);
50
+ return new IncomingNoteDao(note, payload.contractAddress, payload.storageSlot, payload.noteTypeId, noteInfo.txHash, noteInfo.nonce, noteInfo.noteHash, noteInfo.siloedNullifier, noteHashIndexInTheWholeTree, addressPoint);
51
51
  }
52
52
  toBuffer() {
53
53
  return serializeToBuffer([
@@ -60,7 +60,7 @@ export class IncomingNoteDao {
60
60
  this.noteHash,
61
61
  this.siloedNullifier,
62
62
  this.index,
63
- this.ivpkM,
63
+ this.addressPoint,
64
64
  ]);
65
65
  }
66
66
  static fromBuffer(buffer) {
@@ -94,4 +94,4 @@ export class IncomingNoteDao {
94
94
  return noteSize + AztecAddress.SIZE_IN_BYTES + Fr.SIZE_IN_BYTES * 4 + TxHash.SIZE + Point.SIZE_IN_BYTES + indexSize;
95
95
  }
96
96
  }
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5jb21pbmdfbm90ZV9kYW8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGF0YWJhc2UvaW5jb21pbmdfbm90ZV9kYW8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFzQixJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEUsT0FBTyxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFrQixNQUFNLG9CQUFvQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBSzlFOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGVBQWU7SUFDMUI7SUFDRSxrREFBa0Q7SUFDM0MsSUFBVTtJQUNqQixvREFBb0Q7SUFDN0MsZUFBNkI7SUFDcEMsaUVBQWlFO0lBQzFELFdBQWU7SUFDdEIsaURBQWlEO0lBQzFDLFVBQXdCO0lBQy9CLGtEQUFrRDtJQUMzQyxNQUFjO0lBQ3JCLDZCQUE2QjtJQUN0QixLQUFTO0lBQ2hCOzs7T0FHRztJQUNJLFFBQVk7SUFDbkI7OztPQUdHO0lBQ0ksZUFBbUI7SUFDMUIsK0RBQStEO0lBQ3hELEtBQWE7SUFDcEIsd0RBQXdEO0lBQ2pELEtBQWdCO1FBeEJoQixTQUFJLEdBQUosSUFBSSxDQUFNO1FBRVYsb0JBQWUsR0FBZixlQUFlLENBQWM7UUFFN0IsZ0JBQVcsR0FBWCxXQUFXLENBQUk7UUFFZixlQUFVLEdBQVYsVUFBVSxDQUFjO1FBRXhCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFFZCxVQUFLLEdBQUwsS0FBSyxDQUFJO1FBS1QsYUFBUSxHQUFSLFFBQVEsQ0FBSTtRQUtaLG9CQUFlLEdBQWYsZUFBZSxDQUFJO1FBRW5CLFVBQUssR0FBTCxLQUFL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
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5jb21pbmdfbm90ZV9kYW8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGF0YWJhc2UvaW5jb21pbmdfbm90ZV9kYW8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFzQixJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEUsT0FBTyxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFrQixNQUFNLG9CQUFvQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBSzlFOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGVBQWU7SUFDMUI7SUFDRSxrREFBa0Q7SUFDM0MsSUFBVTtJQUNqQixvREFBb0Q7SUFDN0MsZUFBNkI7SUFDcEMsaUVBQWlFO0lBQzFELFdBQWU7SUFDdEIsaURBQWlEO0lBQzFDLFVBQXdCO0lBQy9CLGtEQUFrRDtJQUMzQyxNQUFjO0lBQ3JCLDZCQUE2QjtJQUN0QixLQUFTO0lBQ2hCOzs7T0FHRztJQUNJLFFBQVk7SUFDbkI7OztPQUdHO0lBQ0ksZUFBbUI7SUFDMUIsK0RBQStEO0lBQ3hELEtBQWE7SUFDcEIsd0RBQXdEO0lBQ2pELFlBQXVCO1FBeEJ2QixTQUFJLEdBQUosSUFBSSxDQUFNO1FBRVYsb0JBQWUsR0FBZixlQUFlLENBQWM7UUFFN0IsZ0JBQVcsR0FBWCxXQUFXLENBQUk7UUFFZixlQUFVLEdBQVYsVUFBVSxDQUFjO1FBRXhCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFFZCxVQUFLLEdBQUwsS0FBSyxDQUFJO1FBS1QsYUFBUSxHQUFSLFFBQVEsQ0FBSTtRQUtaLG9CQUFlLEdBQWYsZUFBZSxDQUFJO1FBRW5CLFVBQUssR0FBTCxLQUFL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
@@ -1,5 +1,5 @@
1
- import { type IncomingNotesFilter, type OutgoingNotesFilter, type PublicKey } from '@aztec/circuit-types';
2
- import { AztecAddress, CompleteAddress, type ContractInstanceWithAddress, Header } from '@aztec/circuits.js';
1
+ import { type IncomingNotesFilter, type OutgoingNotesFilter } from '@aztec/circuit-types';
2
+ import { AztecAddress, CompleteAddress, type ContractInstanceWithAddress, Header, type PublicKey, type TaggingSecret } from '@aztec/circuits.js';
3
3
  import { type ContractArtifact } from '@aztec/foundation/abi';
4
4
  import { Fr } from '@aztec/foundation/fields';
5
5
  import { type AztecKVStore } from '@aztec/kv-store';
@@ -36,7 +36,7 @@ export declare class KVPxeDatabase implements PxeDatabase {
36
36
  removeDeferredNotesByContract(contractAddress: AztecAddress): Promise<DeferredNoteDao[]>;
37
37
  getIncomingNotes(filter: IncomingNotesFilter): Promise<IncomingNoteDao[]>;
38
38
  getOutgoingNotes(filter: OutgoingNotesFilter): Promise<OutgoingNoteDao[]>;
39
- removeNullifiedNotes(nullifiers: Fr[], accountIvpkM: PublicKey): Promise<IncomingNoteDao[]>;
39
+ removeNullifiedNotes(nullifiers: Fr[], accountAddressPoint: PublicKey): Promise<IncomingNoteDao[]>;
40
40
  addNullifiedNote(note: IncomingNoteDao): Promise<void>;
41
41
  setHeader(header: Header): Promise<void>;
42
42
  getBlockNumber(): number | undefined;
@@ -44,10 +44,13 @@ export declare class KVPxeDatabase implements PxeDatabase {
44
44
  addCompleteAddress(completeAddress: CompleteAddress): Promise<boolean>;
45
45
  getCompleteAddress(account: AztecAddress): Promise<CompleteAddress | undefined>;
46
46
  getCompleteAddresses(): Promise<CompleteAddress[]>;
47
+ addContactAddress(address: AztecAddress): Promise<boolean>;
48
+ getContactAddresses(): AztecAddress[];
49
+ removeContactAddress(address: AztecAddress): Promise<boolean>;
47
50
  getSynchedBlockNumberForAccount(account: AztecAddress): number | undefined;
48
51
  setSynchedBlockNumberForAccount(account: AztecAddress, blockNumber: number): Promise<void>;
49
52
  estimateSize(): Promise<number>;
50
- incrementTaggingSecretsIndexes(appTaggingSecrets: Fr[]): Promise<void>;
51
- getTaggingSecretsIndexes(appTaggingSecrets: Fr[]): Promise<number[]>;
53
+ incrementTaggingSecretsIndexes(appTaggingSecretsWithRecipient: TaggingSecret[]): Promise<void>;
54
+ getTaggingSecretsIndexes(appTaggingSecretsWithRecipient: TaggingSecret[]): Promise<number[]>;
52
55
  }
53
56
  //# sourceMappingURL=kv_pxe_database.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"kv_pxe_database.d.ts","sourceRoot":"","sources":["../../src/database/kv_pxe_database.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kv_pxe_database.d.ts","sourceRoot":"","sources":["../../src/database/kv_pxe_database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,mBAAmB,EAA4B,KAAK,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AACpH,OAAO,EACL,YAAY,EACZ,eAAe,EACf,KAAK,2BAA2B,EAChC,MAAM,EACN,KAAK,SAAS,EAEd,KAAK,aAAa,EAEnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAEL,KAAK,YAAY,EAKlB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD;;GAEG;AACH,qBAAa,aAAc,YAAW,WAAW;;IAoCnC,OAAO,CAAC,EAAE;gBAAF,EAAE,EAAE,YAAY;IAmDvB,WAAW,CACtB,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,CAAC,2BAA2B,GAAG,gBAAgB,CAAC,GAAG,SAAS,CAAC;IAS3D,mBAAmB,CAAC,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5E,mBAAmB,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;IAMnE,mBAAmB,CAAC,QAAQ,EAAE,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC;IAO/E,mBAAmB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,2BAA2B,GAAG,SAAS,CAAC;IAK5F,qBAAqB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAI1C,cAAc,CAAC,WAAW,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAOnE,cAAc,CAAC,WAAW,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC;IAKpD,UAAU,CAAC,OAAO,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxC,UAAU,IAAI,OAAO,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC;IAKvC,OAAO,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAInE,QAAQ,CACZ,aAAa,EAAE,eAAe,EAAE,EAChC,aAAa,EAAE,eAAe,EAAE,EAChC,KAAK,GAAE,YAAgC,GACtC,OAAO,CAAC,IAAI,CAAC;IAgCV,gBAAgB,CAAC,aAAa,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAQvE,0BAA0B,CAAC,eAAe,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAgBrF;;;;OAIG;IACH,6BAA6B,CAAC,eAAe,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAqBxF,gBAAgB,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAsFzE,gBAAgB,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAkDzE,oBAAoB,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE,mBAAmB,EAAE,SAAS,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAmD5F,gBAAgB,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAYtD,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9C,cAAc,IAAI,MAAM,GAAG,SAAS;IASpC,SAAS,IAAI,MAAM;IAyBb,kBAAkB,CAAC,eAAe,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC;IAqC5E,kBAAkB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;IAI/E,oBAAoB,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAI5C,iBAAiB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;IAUhE,mBAAmB,IAAI,YAAY,EAAE;IAI/B,oBAAoB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;IAUnE,+BAA+B,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS;IAI1E,+BAA+B,CAAC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpF,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;IAoB/B,8BAA8B,CAAC,8BAA8B,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAYpG,wBAAwB,CAAC,8BAA8B,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAO7F"}
@@ -1,7 +1,7 @@
1
- var _KVPxeDatabase_instances, _KVPxeDatabase_synchronizedBlock, _KVPxeDatabase_addresses, _KVPxeDatabase_addressIndex, _KVPxeDatabase_authWitnesses, _KVPxeDatabase_capsules, _KVPxeDatabase_notes, _KVPxeDatabase_nullifiedNotes, _KVPxeDatabase_nullifierToNoteId, _KVPxeDatabase_nullifiedNotesByContract, _KVPxeDatabase_nullifiedNotesByStorageSlot, _KVPxeDatabase_nullifiedNotesByTxHash, _KVPxeDatabase_nullifiedNotesByIvpkM, _KVPxeDatabase_deferredNotes, _KVPxeDatabase_deferredNotesByContract, _KVPxeDatabase_syncedBlockPerPublicKey, _KVPxeDatabase_contractArtifacts, _KVPxeDatabase_contractInstances, _KVPxeDatabase_db, _KVPxeDatabase_outgoingNotes, _KVPxeDatabase_outgoingNotesByContract, _KVPxeDatabase_outgoingNotesByStorageSlot, _KVPxeDatabase_outgoingNotesByTxHash, _KVPxeDatabase_outgoingNotesByOvpkM, _KVPxeDatabase_scopes, _KVPxeDatabase_notesByContractAndScope, _KVPxeDatabase_notesByStorageSlotAndScope, _KVPxeDatabase_notesByTxHashAndScope, _KVPxeDatabase_notesByIvpkMAndScope, _KVPxeDatabase_taggingSecretIndexes, _KVPxeDatabase_addScope, _KVPxeDatabase_getCompleteAddress;
1
+ var _KVPxeDatabase_instances, _KVPxeDatabase_synchronizedBlock, _KVPxeDatabase_completeAddresses, _KVPxeDatabase_completeAddressIndex, _KVPxeDatabase_addressBook, _KVPxeDatabase_authWitnesses, _KVPxeDatabase_capsules, _KVPxeDatabase_notes, _KVPxeDatabase_nullifiedNotes, _KVPxeDatabase_nullifierToNoteId, _KVPxeDatabase_nullifiedNotesByContract, _KVPxeDatabase_nullifiedNotesByStorageSlot, _KVPxeDatabase_nullifiedNotesByTxHash, _KVPxeDatabase_nullifiedNotesByAddressPoint, _KVPxeDatabase_deferredNotes, _KVPxeDatabase_deferredNotesByContract, _KVPxeDatabase_syncedBlockPerPublicKey, _KVPxeDatabase_contractArtifacts, _KVPxeDatabase_contractInstances, _KVPxeDatabase_db, _KVPxeDatabase_outgoingNotes, _KVPxeDatabase_outgoingNotesByContract, _KVPxeDatabase_outgoingNotesByStorageSlot, _KVPxeDatabase_outgoingNotesByTxHash, _KVPxeDatabase_outgoingNotesByOvpkM, _KVPxeDatabase_scopes, _KVPxeDatabase_notesByContractAndScope, _KVPxeDatabase_notesByStorageSlotAndScope, _KVPxeDatabase_notesByTxHashAndScope, _KVPxeDatabase_notesByAddressPointAndScope, _KVPxeDatabase_taggingSecretIndexes, _KVPxeDatabase_addScope, _KVPxeDatabase_getCompleteAddress;
2
2
  import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
3
- import { MerkleTreeId, NoteStatus, } from '@aztec/circuit-types';
4
- import { AztecAddress, CompleteAddress, Header, SerializableContractInstance, } from '@aztec/circuits.js';
3
+ import { MerkleTreeId, NoteStatus } from '@aztec/circuit-types';
4
+ import { AztecAddress, CompleteAddress, Header, SerializableContractInstance, computePoint, } from '@aztec/circuits.js';
5
5
  import { toBufferBE } from '@aztec/foundation/bigint-buffer';
6
6
  import { Fr } from '@aztec/foundation/fields';
7
7
  import { contractArtifactFromBuffer, contractArtifactToBuffer } from '@aztec/types/abi';
@@ -16,8 +16,9 @@ export class KVPxeDatabase {
16
16
  _KVPxeDatabase_instances.add(this);
17
17
  this.db = db;
18
18
  _KVPxeDatabase_synchronizedBlock.set(this, void 0);
19
- _KVPxeDatabase_addresses.set(this, void 0);
20
- _KVPxeDatabase_addressIndex.set(this, void 0);
19
+ _KVPxeDatabase_completeAddresses.set(this, void 0);
20
+ _KVPxeDatabase_completeAddressIndex.set(this, void 0);
21
+ _KVPxeDatabase_addressBook.set(this, void 0);
21
22
  _KVPxeDatabase_authWitnesses.set(this, void 0);
22
23
  _KVPxeDatabase_capsules.set(this, void 0);
23
24
  _KVPxeDatabase_notes.set(this, void 0);
@@ -26,7 +27,7 @@ export class KVPxeDatabase {
26
27
  _KVPxeDatabase_nullifiedNotesByContract.set(this, void 0);
27
28
  _KVPxeDatabase_nullifiedNotesByStorageSlot.set(this, void 0);
28
29
  _KVPxeDatabase_nullifiedNotesByTxHash.set(this, void 0);
29
- _KVPxeDatabase_nullifiedNotesByIvpkM.set(this, void 0);
30
+ _KVPxeDatabase_nullifiedNotesByAddressPoint.set(this, void 0);
30
31
  _KVPxeDatabase_deferredNotes.set(this, void 0);
31
32
  _KVPxeDatabase_deferredNotesByContract.set(this, void 0);
32
33
  _KVPxeDatabase_syncedBlockPerPublicKey.set(this, void 0);
@@ -42,11 +43,12 @@ export class KVPxeDatabase {
42
43
  _KVPxeDatabase_notesByContractAndScope.set(this, void 0);
43
44
  _KVPxeDatabase_notesByStorageSlotAndScope.set(this, void 0);
44
45
  _KVPxeDatabase_notesByTxHashAndScope.set(this, void 0);
45
- _KVPxeDatabase_notesByIvpkMAndScope.set(this, void 0);
46
+ _KVPxeDatabase_notesByAddressPointAndScope.set(this, void 0);
46
47
  _KVPxeDatabase_taggingSecretIndexes.set(this, void 0);
47
48
  __classPrivateFieldSet(this, _KVPxeDatabase_db, db, "f");
48
- __classPrivateFieldSet(this, _KVPxeDatabase_addresses, db.openArray('addresses'), "f");
49
- __classPrivateFieldSet(this, _KVPxeDatabase_addressIndex, db.openMap('address_index'), "f");
49
+ __classPrivateFieldSet(this, _KVPxeDatabase_completeAddresses, db.openArray('complete_addresses'), "f");
50
+ __classPrivateFieldSet(this, _KVPxeDatabase_completeAddressIndex, db.openMap('complete_address_index'), "f");
51
+ __classPrivateFieldSet(this, _KVPxeDatabase_addressBook, db.openSet('address_book'), "f");
50
52
  __classPrivateFieldSet(this, _KVPxeDatabase_authWitnesses, db.openMap('auth_witnesses'), "f");
51
53
  __classPrivateFieldSet(this, _KVPxeDatabase_capsules, db.openArray('capsules'), "f");
52
54
  __classPrivateFieldSet(this, _KVPxeDatabase_contractArtifacts, db.openMap('contract_artifacts'), "f");
@@ -59,7 +61,7 @@ export class KVPxeDatabase {
59
61
  __classPrivateFieldSet(this, _KVPxeDatabase_nullifiedNotesByContract, db.openMultiMap('nullified_notes_by_contract'), "f");
60
62
  __classPrivateFieldSet(this, _KVPxeDatabase_nullifiedNotesByStorageSlot, db.openMultiMap('nullified_notes_by_storage_slot'), "f");
61
63
  __classPrivateFieldSet(this, _KVPxeDatabase_nullifiedNotesByTxHash, db.openMultiMap('nullified_notes_by_tx_hash'), "f");
62
- __classPrivateFieldSet(this, _KVPxeDatabase_nullifiedNotesByIvpkM, db.openMultiMap('nullified_notes_by_ivpk_m'), "f");
64
+ __classPrivateFieldSet(this, _KVPxeDatabase_nullifiedNotesByAddressPoint, db.openMultiMap('nullified_notes_by_address_point'), "f");
63
65
  __classPrivateFieldSet(this, _KVPxeDatabase_deferredNotes, db.openArray('deferred_notes'), "f");
64
66
  __classPrivateFieldSet(this, _KVPxeDatabase_deferredNotesByContract, db.openMultiMap('deferred_notes_by_contract'), "f");
65
67
  __classPrivateFieldSet(this, _KVPxeDatabase_outgoingNotes, db.openMap('outgoing_notes'), "f");
@@ -71,12 +73,12 @@ export class KVPxeDatabase {
71
73
  __classPrivateFieldSet(this, _KVPxeDatabase_notesByContractAndScope, new Map(), "f");
72
74
  __classPrivateFieldSet(this, _KVPxeDatabase_notesByStorageSlotAndScope, new Map(), "f");
73
75
  __classPrivateFieldSet(this, _KVPxeDatabase_notesByTxHashAndScope, new Map(), "f");
74
- __classPrivateFieldSet(this, _KVPxeDatabase_notesByIvpkMAndScope, new Map(), "f");
76
+ __classPrivateFieldSet(this, _KVPxeDatabase_notesByAddressPointAndScope, new Map(), "f");
75
77
  for (const scope of __classPrivateFieldGet(this, _KVPxeDatabase_scopes, "f").entries()) {
76
78
  __classPrivateFieldGet(this, _KVPxeDatabase_notesByContractAndScope, "f").set(scope, db.openMultiMap(`${scope}:notes_by_contract`));
77
79
  __classPrivateFieldGet(this, _KVPxeDatabase_notesByStorageSlotAndScope, "f").set(scope, db.openMultiMap(`${scope}:notes_by_storage_slot`));
78
80
  __classPrivateFieldGet(this, _KVPxeDatabase_notesByTxHashAndScope, "f").set(scope, db.openMultiMap(`${scope}:notes_by_tx_hash`));
79
- __classPrivateFieldGet(this, _KVPxeDatabase_notesByIvpkMAndScope, "f").set(scope, db.openMultiMap(`${scope}:notes_by_ivpk_m`));
81
+ __classPrivateFieldGet(this, _KVPxeDatabase_notesByAddressPointAndScope, "f").set(scope, db.openMultiMap(`${scope}:notes_by_address_point`));
80
82
  }
81
83
  __classPrivateFieldSet(this, _KVPxeDatabase_taggingSecretIndexes, db.openMap('tagging_secret_indices'), "f");
82
84
  }
@@ -139,7 +141,7 @@ export class KVPxeDatabase {
139
141
  void __classPrivateFieldGet(this, _KVPxeDatabase_notesByContractAndScope, "f").get(scope.toString()).set(dao.contractAddress.toString(), noteIndex);
140
142
  void __classPrivateFieldGet(this, _KVPxeDatabase_notesByStorageSlotAndScope, "f").get(scope.toString()).set(dao.storageSlot.toString(), noteIndex);
141
143
  void __classPrivateFieldGet(this, _KVPxeDatabase_notesByTxHashAndScope, "f").get(scope.toString()).set(dao.txHash.toString(), noteIndex);
142
- void __classPrivateFieldGet(this, _KVPxeDatabase_notesByIvpkMAndScope, "f").get(scope.toString()).set(dao.ivpkM.toString(), noteIndex);
144
+ void __classPrivateFieldGet(this, _KVPxeDatabase_notesByAddressPointAndScope, "f").get(scope.toString()).set(dao.addressPoint.toString(), noteIndex);
143
145
  }
144
146
  for (const dao of outgoingNotes) {
145
147
  const noteIndex = toBufferBE(dao.index, 32).toString('hex');
@@ -195,9 +197,7 @@ export class KVPxeDatabase {
195
197
  });
196
198
  }
197
199
  getIncomingNotes(filter) {
198
- const publicKey = filter.owner
199
- ? __classPrivateFieldGet(this, _KVPxeDatabase_instances, "m", _KVPxeDatabase_getCompleteAddress).call(this, filter.owner)?.publicKeys.masterIncomingViewingPublicKey
200
- : undefined;
200
+ const publicKey = filter.owner ? computePoint(filter.owner) : undefined;
201
201
  filter.status = filter.status ?? NoteStatus.ACTIVE;
202
202
  const candidateNoteSources = [];
203
203
  filter.scopes ?? (filter.scopes = [...__classPrivateFieldGet(this, _KVPxeDatabase_scopes, "f").entries()].map(addressString => AztecAddress.fromString(addressString)));
@@ -208,14 +208,14 @@ export class KVPxeDatabase {
208
208
  throw new Error('Trying to get incoming notes of an scope that is not in the PXE database');
209
209
  }
210
210
  activeNoteIdsPerScope.push(publicKey
211
- ? __classPrivateFieldGet(this, _KVPxeDatabase_notesByIvpkMAndScope, "f").get(formattedScopeString).getValues(publicKey.toString())
211
+ ? __classPrivateFieldGet(this, _KVPxeDatabase_notesByAddressPointAndScope, "f").get(formattedScopeString).getValues(publicKey.toString())
212
212
  : filter.txHash
213
213
  ? __classPrivateFieldGet(this, _KVPxeDatabase_notesByTxHashAndScope, "f").get(formattedScopeString).getValues(filter.txHash.toString())
214
214
  : filter.contractAddress
215
215
  ? __classPrivateFieldGet(this, _KVPxeDatabase_notesByContractAndScope, "f").get(formattedScopeString).getValues(filter.contractAddress.toString())
216
216
  : filter.storageSlot
217
217
  ? __classPrivateFieldGet(this, _KVPxeDatabase_notesByStorageSlotAndScope, "f").get(formattedScopeString).getValues(filter.storageSlot.toString())
218
- : __classPrivateFieldGet(this, _KVPxeDatabase_notesByIvpkMAndScope, "f").get(formattedScopeString).values());
218
+ : __classPrivateFieldGet(this, _KVPxeDatabase_notesByAddressPointAndScope, "f").get(formattedScopeString).values());
219
219
  }
220
220
  candidateNoteSources.push({
221
221
  ids: new Set(activeNoteIdsPerScope.flatMap(iterableIterator => [...iterableIterator])),
@@ -224,7 +224,7 @@ export class KVPxeDatabase {
224
224
  if (filter.status == NoteStatus.ACTIVE_OR_NULLIFIED) {
225
225
  candidateNoteSources.push({
226
226
  ids: publicKey
227
- ? __classPrivateFieldGet(this, _KVPxeDatabase_nullifiedNotesByIvpkM, "f").getValues(publicKey.toString())
227
+ ? __classPrivateFieldGet(this, _KVPxeDatabase_nullifiedNotesByAddressPoint, "f").getValues(publicKey.toString())
228
228
  : filter.txHash
229
229
  ? __classPrivateFieldGet(this, _KVPxeDatabase_nullifiedNotesByTxHash, "f").getValues(filter.txHash.toString())
230
230
  : filter.contractAddress
@@ -252,7 +252,7 @@ export class KVPxeDatabase {
252
252
  if (filter.storageSlot && !note.storageSlot.equals(filter.storageSlot)) {
253
253
  continue;
254
254
  }
255
- if (publicKey && !note.ivpkM.equals(publicKey)) {
255
+ if (publicKey && !note.addressPoint.equals(publicKey)) {
256
256
  continue;
257
257
  }
258
258
  if (filter.siloedNullifier && !note.siloedNullifier.equals(filter.siloedNullifier)) {
@@ -304,7 +304,7 @@ export class KVPxeDatabase {
304
304
  }
305
305
  return Promise.resolve(notes);
306
306
  }
307
- removeNullifiedNotes(nullifiers, accountIvpkM) {
307
+ removeNullifiedNotes(nullifiers, accountAddressPoint) {
308
308
  if (nullifiers.length === 0) {
309
309
  return Promise.resolve([]);
310
310
  }
@@ -321,14 +321,14 @@ export class KVPxeDatabase {
321
321
  continue;
322
322
  }
323
323
  const note = IncomingNoteDao.fromBuffer(noteBuffer);
324
- if (!note.ivpkM.equals(accountIvpkM)) {
324
+ if (!note.addressPoint.equals(accountAddressPoint)) {
325
325
  // tried to nullify someone else's note
326
326
  continue;
327
327
  }
328
328
  nullifiedNotes.push(note);
329
329
  void __classPrivateFieldGet(this, _KVPxeDatabase_notes, "f").delete(noteIndex);
330
330
  for (const scope in __classPrivateFieldGet(this, _KVPxeDatabase_scopes, "f").entries()) {
331
- void __classPrivateFieldGet(this, _KVPxeDatabase_notesByIvpkMAndScope, "f").get(scope).deleteValue(accountIvpkM.toString(), noteIndex);
331
+ void __classPrivateFieldGet(this, _KVPxeDatabase_notesByAddressPointAndScope, "f").get(scope).deleteValue(accountAddressPoint.toString(), noteIndex);
332
332
  void __classPrivateFieldGet(this, _KVPxeDatabase_notesByTxHashAndScope, "f").get(scope).deleteValue(note.txHash.toString(), noteIndex);
333
333
  void __classPrivateFieldGet(this, _KVPxeDatabase_notesByContractAndScope, "f").get(scope).deleteValue(note.contractAddress.toString(), noteIndex);
334
334
  void __classPrivateFieldGet(this, _KVPxeDatabase_notesByStorageSlotAndScope, "f").get(scope).deleteValue(note.storageSlot.toString(), noteIndex);
@@ -337,7 +337,7 @@ export class KVPxeDatabase {
337
337
  void __classPrivateFieldGet(this, _KVPxeDatabase_nullifiedNotesByContract, "f").set(note.contractAddress.toString(), noteIndex);
338
338
  void __classPrivateFieldGet(this, _KVPxeDatabase_nullifiedNotesByStorageSlot, "f").set(note.storageSlot.toString(), noteIndex);
339
339
  void __classPrivateFieldGet(this, _KVPxeDatabase_nullifiedNotesByTxHash, "f").set(note.txHash.toString(), noteIndex);
340
- void __classPrivateFieldGet(this, _KVPxeDatabase_nullifiedNotesByIvpkM, "f").set(note.ivpkM.toString(), noteIndex);
340
+ void __classPrivateFieldGet(this, _KVPxeDatabase_nullifiedNotesByAddressPoint, "f").set(note.addressPoint.toString(), noteIndex);
341
341
  void __classPrivateFieldGet(this, _KVPxeDatabase_nullifierToNoteId, "f").delete(nullifier.toString());
342
342
  }
343
343
  return nullifiedNotes;
@@ -349,7 +349,7 @@ export class KVPxeDatabase {
349
349
  await __classPrivateFieldGet(this, _KVPxeDatabase_nullifiedNotesByContract, "f").set(note.contractAddress.toString(), noteIndex);
350
350
  await __classPrivateFieldGet(this, _KVPxeDatabase_nullifiedNotesByStorageSlot, "f").set(note.storageSlot.toString(), noteIndex);
351
351
  await __classPrivateFieldGet(this, _KVPxeDatabase_nullifiedNotesByTxHash, "f").set(note.txHash.toString(), noteIndex);
352
- await __classPrivateFieldGet(this, _KVPxeDatabase_nullifiedNotesByIvpkM, "f").set(note.ivpkM.toString(), noteIndex);
352
+ await __classPrivateFieldGet(this, _KVPxeDatabase_nullifiedNotesByAddressPoint, "f").set(note.addressPoint.toString(), noteIndex);
353
353
  return Promise.resolve();
354
354
  }
355
355
  async setHeader(header) {
@@ -374,15 +374,15 @@ export class KVPxeDatabase {
374
374
  return __classPrivateFieldGet(this, _KVPxeDatabase_db, "f").transaction(() => {
375
375
  const addressString = completeAddress.address.toString();
376
376
  const buffer = completeAddress.toBuffer();
377
- const existing = __classPrivateFieldGet(this, _KVPxeDatabase_addressIndex, "f").get(addressString);
377
+ const existing = __classPrivateFieldGet(this, _KVPxeDatabase_completeAddressIndex, "f").get(addressString);
378
378
  if (typeof existing === 'undefined') {
379
- const index = __classPrivateFieldGet(this, _KVPxeDatabase_addresses, "f").length;
380
- void __classPrivateFieldGet(this, _KVPxeDatabase_addresses, "f").push(buffer);
381
- void __classPrivateFieldGet(this, _KVPxeDatabase_addressIndex, "f").set(addressString, index);
379
+ const index = __classPrivateFieldGet(this, _KVPxeDatabase_completeAddresses, "f").length;
380
+ void __classPrivateFieldGet(this, _KVPxeDatabase_completeAddresses, "f").push(buffer);
381
+ void __classPrivateFieldGet(this, _KVPxeDatabase_completeAddressIndex, "f").set(addressString, index);
382
382
  return true;
383
383
  }
384
384
  else {
385
- const existingBuffer = __classPrivateFieldGet(this, _KVPxeDatabase_addresses, "f").at(existing);
385
+ const existingBuffer = __classPrivateFieldGet(this, _KVPxeDatabase_completeAddresses, "f").at(existing);
386
386
  if (existingBuffer?.equals(buffer)) {
387
387
  return false;
388
388
  }
@@ -394,7 +394,24 @@ export class KVPxeDatabase {
394
394
  return Promise.resolve(__classPrivateFieldGet(this, _KVPxeDatabase_instances, "m", _KVPxeDatabase_getCompleteAddress).call(this, account));
395
395
  }
396
396
  getCompleteAddresses() {
397
- return Promise.resolve(Array.from(__classPrivateFieldGet(this, _KVPxeDatabase_addresses, "f")).map(v => CompleteAddress.fromBuffer(v)));
397
+ return Promise.resolve(Array.from(__classPrivateFieldGet(this, _KVPxeDatabase_completeAddresses, "f")).map(v => CompleteAddress.fromBuffer(v)));
398
+ }
399
+ async addContactAddress(address) {
400
+ if (__classPrivateFieldGet(this, _KVPxeDatabase_addressBook, "f").has(address.toString())) {
401
+ return false;
402
+ }
403
+ await __classPrivateFieldGet(this, _KVPxeDatabase_addressBook, "f").add(address.toString());
404
+ return true;
405
+ }
406
+ getContactAddresses() {
407
+ return [...__classPrivateFieldGet(this, _KVPxeDatabase_addressBook, "f").entries()].map(AztecAddress.fromString);
408
+ }
409
+ async removeContactAddress(address) {
410
+ if (!__classPrivateFieldGet(this, _KVPxeDatabase_addressBook, "f").has(address.toString())) {
411
+ return false;
412
+ }
413
+ await __classPrivateFieldGet(this, _KVPxeDatabase_addressBook, "f").delete(address.toString());
414
+ return true;
398
415
  }
399
416
  getSynchedBlockNumberForAccount(account) {
400
417
  return __classPrivateFieldGet(this, _KVPxeDatabase_syncedBlockPerPublicKey, "f").get(account.toString());
@@ -406,24 +423,26 @@ export class KVPxeDatabase {
406
423
  const incomingNotesSize = Array.from(await this.getIncomingNotes({})).reduce((sum, note) => sum + note.getSize(), 0);
407
424
  const outgoingNotesSize = Array.from(await this.getOutgoingNotes({})).reduce((sum, note) => sum + note.getSize(), 0);
408
425
  const authWitsSize = Array.from(__classPrivateFieldGet(this, _KVPxeDatabase_authWitnesses, "f").values()).reduce((sum, value) => sum + value.length * Fr.SIZE_IN_BYTES, 0);
409
- const addressesSize = __classPrivateFieldGet(this, _KVPxeDatabase_addresses, "f").length * CompleteAddress.SIZE_IN_BYTES;
426
+ const addressesSize = __classPrivateFieldGet(this, _KVPxeDatabase_completeAddresses, "f").length * CompleteAddress.SIZE_IN_BYTES;
410
427
  const treeRootsSize = Object.keys(MerkleTreeId).length * Fr.SIZE_IN_BYTES;
411
428
  return incomingNotesSize + outgoingNotesSize + treeRootsSize + authWitsSize + addressesSize;
412
429
  }
413
- async incrementTaggingSecretsIndexes(appTaggingSecrets) {
414
- const indexes = await this.getTaggingSecretsIndexes(appTaggingSecrets);
430
+ async incrementTaggingSecretsIndexes(appTaggingSecretsWithRecipient) {
431
+ const indexes = await this.getTaggingSecretsIndexes(appTaggingSecretsWithRecipient);
415
432
  await this.db.transaction(() => {
416
- indexes.forEach(index => {
417
- const nextIndex = index ? index + 1 : 1;
418
- void __classPrivateFieldGet(this, _KVPxeDatabase_taggingSecretIndexes, "f").set(appTaggingSecrets.toString(), nextIndex);
433
+ indexes.forEach((taggingSecretIndex, listIndex) => {
434
+ const nextIndex = taggingSecretIndex + 1;
435
+ const { secret, recipient } = appTaggingSecretsWithRecipient[listIndex];
436
+ const key = `${secret.toString()}-${recipient.toString()}`;
437
+ void __classPrivateFieldGet(this, _KVPxeDatabase_taggingSecretIndexes, "f").set(key, nextIndex);
419
438
  });
420
439
  });
421
440
  }
422
- getTaggingSecretsIndexes(appTaggingSecrets) {
423
- return this.db.transaction(() => appTaggingSecrets.map(secret => __classPrivateFieldGet(this, _KVPxeDatabase_taggingSecretIndexes, "f").get(secret.toString()) ?? 0));
441
+ getTaggingSecretsIndexes(appTaggingSecretsWithRecipient) {
442
+ return this.db.transaction(() => appTaggingSecretsWithRecipient.map(({ secret, recipient }) => __classPrivateFieldGet(this, _KVPxeDatabase_taggingSecretIndexes, "f").get(`${secret.toString()}-${recipient.toString()}`) ?? 0));
424
443
  }
425
444
  }
426
- _KVPxeDatabase_synchronizedBlock = new WeakMap(), _KVPxeDatabase_addresses = new WeakMap(), _KVPxeDatabase_addressIndex = new WeakMap(), _KVPxeDatabase_authWitnesses = new WeakMap(), _KVPxeDatabase_capsules = new WeakMap(), _KVPxeDatabase_notes = new WeakMap(), _KVPxeDatabase_nullifiedNotes = new WeakMap(), _KVPxeDatabase_nullifierToNoteId = new WeakMap(), _KVPxeDatabase_nullifiedNotesByContract = new WeakMap(), _KVPxeDatabase_nullifiedNotesByStorageSlot = new WeakMap(), _KVPxeDatabase_nullifiedNotesByTxHash = new WeakMap(), _KVPxeDatabase_nullifiedNotesByIvpkM = new WeakMap(), _KVPxeDatabase_deferredNotes = new WeakMap(), _KVPxeDatabase_deferredNotesByContract = new WeakMap(), _KVPxeDatabase_syncedBlockPerPublicKey = new WeakMap(), _KVPxeDatabase_contractArtifacts = new WeakMap(), _KVPxeDatabase_contractInstances = new WeakMap(), _KVPxeDatabase_db = new WeakMap(), _KVPxeDatabase_outgoingNotes = new WeakMap(), _KVPxeDatabase_outgoingNotesByContract = new WeakMap(), _KVPxeDatabase_outgoingNotesByStorageSlot = new WeakMap(), _KVPxeDatabase_outgoingNotesByTxHash = new WeakMap(), _KVPxeDatabase_outgoingNotesByOvpkM = new WeakMap(), _KVPxeDatabase_scopes = new WeakMap(), _KVPxeDatabase_notesByContractAndScope = new WeakMap(), _KVPxeDatabase_notesByStorageSlotAndScope = new WeakMap(), _KVPxeDatabase_notesByTxHashAndScope = new WeakMap(), _KVPxeDatabase_notesByIvpkMAndScope = new WeakMap(), _KVPxeDatabase_taggingSecretIndexes = new WeakMap(), _KVPxeDatabase_instances = new WeakSet(), _KVPxeDatabase_addScope = async function _KVPxeDatabase_addScope(scope) {
445
+ _KVPxeDatabase_synchronizedBlock = new WeakMap(), _KVPxeDatabase_completeAddresses = new WeakMap(), _KVPxeDatabase_completeAddressIndex = new WeakMap(), _KVPxeDatabase_addressBook = new WeakMap(), _KVPxeDatabase_authWitnesses = new WeakMap(), _KVPxeDatabase_capsules = new WeakMap(), _KVPxeDatabase_notes = new WeakMap(), _KVPxeDatabase_nullifiedNotes = new WeakMap(), _KVPxeDatabase_nullifierToNoteId = new WeakMap(), _KVPxeDatabase_nullifiedNotesByContract = new WeakMap(), _KVPxeDatabase_nullifiedNotesByStorageSlot = new WeakMap(), _KVPxeDatabase_nullifiedNotesByTxHash = new WeakMap(), _KVPxeDatabase_nullifiedNotesByAddressPoint = new WeakMap(), _KVPxeDatabase_deferredNotes = new WeakMap(), _KVPxeDatabase_deferredNotesByContract = new WeakMap(), _KVPxeDatabase_syncedBlockPerPublicKey = new WeakMap(), _KVPxeDatabase_contractArtifacts = new WeakMap(), _KVPxeDatabase_contractInstances = new WeakMap(), _KVPxeDatabase_db = new WeakMap(), _KVPxeDatabase_outgoingNotes = new WeakMap(), _KVPxeDatabase_outgoingNotesByContract = new WeakMap(), _KVPxeDatabase_outgoingNotesByStorageSlot = new WeakMap(), _KVPxeDatabase_outgoingNotesByTxHash = new WeakMap(), _KVPxeDatabase_outgoingNotesByOvpkM = new WeakMap(), _KVPxeDatabase_scopes = new WeakMap(), _KVPxeDatabase_notesByContractAndScope = new WeakMap(), _KVPxeDatabase_notesByStorageSlotAndScope = new WeakMap(), _KVPxeDatabase_notesByTxHashAndScope = new WeakMap(), _KVPxeDatabase_notesByAddressPointAndScope = new WeakMap(), _KVPxeDatabase_taggingSecretIndexes = new WeakMap(), _KVPxeDatabase_instances = new WeakSet(), _KVPxeDatabase_addScope = async function _KVPxeDatabase_addScope(scope) {
427
446
  const scopeString = scope.toString();
428
447
  if (__classPrivateFieldGet(this, _KVPxeDatabase_scopes, "f").has(scopeString)) {
429
448
  return false;
@@ -432,14 +451,14 @@ _KVPxeDatabase_synchronizedBlock = new WeakMap(), _KVPxeDatabase_addresses = new
432
451
  __classPrivateFieldGet(this, _KVPxeDatabase_notesByContractAndScope, "f").set(scopeString, __classPrivateFieldGet(this, _KVPxeDatabase_db, "f").openMultiMap(`${scopeString}:notes_by_contract`));
433
452
  __classPrivateFieldGet(this, _KVPxeDatabase_notesByStorageSlotAndScope, "f").set(scopeString, __classPrivateFieldGet(this, _KVPxeDatabase_db, "f").openMultiMap(`${scopeString}:notes_by_storage_slot`));
434
453
  __classPrivateFieldGet(this, _KVPxeDatabase_notesByTxHashAndScope, "f").set(scopeString, __classPrivateFieldGet(this, _KVPxeDatabase_db, "f").openMultiMap(`${scopeString}:notes_by_tx_hash`));
435
- __classPrivateFieldGet(this, _KVPxeDatabase_notesByIvpkMAndScope, "f").set(scopeString, __classPrivateFieldGet(this, _KVPxeDatabase_db, "f").openMultiMap(`${scopeString}:notes_by_ivpk_m`));
454
+ __classPrivateFieldGet(this, _KVPxeDatabase_notesByAddressPointAndScope, "f").set(scopeString, __classPrivateFieldGet(this, _KVPxeDatabase_db, "f").openMultiMap(`${scopeString}:notes_by_address_point`));
436
455
  return true;
437
456
  }, _KVPxeDatabase_getCompleteAddress = function _KVPxeDatabase_getCompleteAddress(address) {
438
- const index = __classPrivateFieldGet(this, _KVPxeDatabase_addressIndex, "f").get(address.toString());
457
+ const index = __classPrivateFieldGet(this, _KVPxeDatabase_completeAddressIndex, "f").get(address.toString());
439
458
  if (typeof index === 'undefined') {
440
459
  return undefined;
441
460
  }
442
- const value = __classPrivateFieldGet(this, _KVPxeDatabase_addresses, "f").at(index);
461
+ const value = __classPrivateFieldGet(this, _KVPxeDatabase_completeAddresses, "f").at(index);
443
462
  return value ? CompleteAddress.fromBuffer(value) : undefined;
444
463
  };
445
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3ZfcHhlX2RhdGFiYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RhdGFiYXNlL2t2X3B4ZV9kYXRhYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFFTCxZQUFZLEVBQ1osVUFBVSxHQUdYLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUNMLFlBQVksRUFDWixlQUFlLEVBRWYsTUFBTSxFQUNOLDRCQUE0QixHQUM3QixNQUFNLG9CQUFvQixDQUFDO0FBRTVCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM3RCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFTOUMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLHdCQUF3QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFeEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFHekQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sYUFBYTtJQW1DeEIsWUFBb0IsRUFBZ0I7O1FBQWhCLE9BQUUsR0FBRixFQUFFLENBQWM7UUFsQ3BDLG1EQUEyQztRQUMzQywyQ0FBK0I7UUFDL0IsOENBQXdDO1FBQ3hDLCtDQUEyQztRQUMzQywwQ0FBZ0M7UUFDaEMsdUNBQWlDO1FBQ2pDLGdEQUEwQztRQUMxQyxtREFBNkM7UUFFN0MsMERBQXlEO1FBQ3pELDZEQUE0RDtRQUM1RCx3REFBdUQ7UUFDdkQsdURBQXNEO1FBQ3RELCtDQUEwQztRQUMxQyx5REFBd0Q7UUFDeEQseURBQW1EO1FBQ25ELG1EQUE2QztRQUM3QyxtREFBNkM7UUFDN0Msb0NBQWtCO1FBRWxCLCtDQUF5QztRQUN6Qyx5REFBd0Q7UUFDeEQsNERBQTJEO1FBQzNELHVEQUFzRDtR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
464
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3ZfcHhlX2RhdGFiYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RhdGFiYXNlL2t2X3B4ZV9kYXRhYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFBNEIsWUFBWSxFQUFFLFVBQVUsRUFBNEIsTUFBTSxzQkFBc0IsQ0FBQztBQUNwSCxPQUFPLEVBQ0wsWUFBWSxFQUNaLGVBQWUsRUFFZixNQUFNLEVBRU4sNEJBQTRCLEVBRTVCLFlBQVksR0FDYixNQUFNLG9CQUFvQixDQUFDO0FBRTVCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM3RCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFTOUMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLHdCQUF3QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFeEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFHekQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sYUFBYTtJQW9DeEIsWUFBb0IsRUFBZ0I7O1FBQWhCLE9BQUUsR0FBRixFQUFFLENBQWM7UUFuQ3BDLG1EQUEyQztRQUMzQyxtREFBdUM7UUFDdkMsc0RBQWdEO1FBQ2hELDZDQUErQjtRQUMvQiwrQ0FBMkM7UUFDM0MsMENBQWdDO1FBQ2hDLHVDQUFpQztRQUNqQyxnREFBMEM7UUFDMUMsbURBQTZDO1FBRTdDLDBEQUF5RDtRQUN6RCw2REFBNEQ7UUFDNUQsd0RBQXVEO1FBQ3ZELDhEQUE2RDtRQUM3RCwrQ0FBMEM7UUFDMUMseURBQXdEO1FBQ3hELHlEQUFtRDtRQUNuRCxtREFBNkM7UUFDN0MsbURBQTZDO1FBQzdDLG9DQUFrQjtRQUVsQiwrQ0FBeUM7UUFDekMseURBQXdEO1FB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
@@ -52,7 +52,7 @@ export declare class OutgoingNoteDao {
52
52
  index: bigint,
53
53
  /** The public key with which the note was encrypted. */
54
54
  ovpkM: PublicKey);
55
- static fromPayloadAndNoteInfo(note: Note, payload: L1NotePayload, noteInfo: NoteInfo, dataStartIndexForTx: number, ivpkM: PublicKey): OutgoingNoteDao;
55
+ static fromPayloadAndNoteInfo(note: Note, payload: L1NotePayload, noteInfo: NoteInfo, dataStartIndexForTx: number, ovpkM: PublicKey): OutgoingNoteDao;
56
56
  toBuffer(): Buffer;
57
57
  static fromBuffer(buffer: Buffer | BufferReader): OutgoingNoteDao;
58
58
  toString(): string;