@bsv/dpp-overlay-topics 0.4.0-beta.1

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 (87) hide show
  1. package/LICENSE +58 -0
  2. package/README.md +169 -0
  3. package/dist/anchorStorage.d.ts +58 -0
  4. package/dist/anchorStorage.d.ts.map +1 -0
  5. package/dist/anchorStorage.js +72 -0
  6. package/dist/anchorStorage.js.map +1 -0
  7. package/dist/attestationAnchor.d.ts +10 -0
  8. package/dist/attestationAnchor.d.ts.map +1 -0
  9. package/dist/attestationAnchor.js +10 -0
  10. package/dist/attestationAnchor.js.map +1 -0
  11. package/dist/attestationStorage.d.ts +49 -0
  12. package/dist/attestationStorage.d.ts.map +1 -0
  13. package/dist/attestationStorage.js +78 -0
  14. package/dist/attestationStorage.js.map +1 -0
  15. package/dist/capabilities.d.ts +127 -0
  16. package/dist/capabilities.d.ts.map +1 -0
  17. package/dist/capabilities.js +210 -0
  18. package/dist/capabilities.js.map +1 -0
  19. package/dist/engineStorage.d.ts +106 -0
  20. package/dist/engineStorage.d.ts.map +1 -0
  21. package/dist/engineStorage.js +253 -0
  22. package/dist/engineStorage.js.map +1 -0
  23. package/dist/evidenceExport.d.ts +189 -0
  24. package/dist/evidenceExport.d.ts.map +1 -0
  25. package/dist/evidenceExport.js +517 -0
  26. package/dist/evidenceExport.js.map +1 -0
  27. package/dist/history.d.ts +114 -0
  28. package/dist/history.d.ts.map +1 -0
  29. package/dist/history.js +215 -0
  30. package/dist/history.js.map +1 -0
  31. package/dist/index.d.ts +269 -0
  32. package/dist/index.d.ts.map +1 -0
  33. package/dist/index.js +1223 -0
  34. package/dist/index.js.map +1 -0
  35. package/dist/lib.d.ts +31 -0
  36. package/dist/lib.d.ts.map +1 -0
  37. package/dist/lib.js +31 -0
  38. package/dist/lib.js.map +1 -0
  39. package/dist/limits.d.ts +44 -0
  40. package/dist/limits.d.ts.map +1 -0
  41. package/dist/limits.js +44 -0
  42. package/dist/limits.js.map +1 -0
  43. package/dist/lsAttestation.d.ts +21 -0
  44. package/dist/lsAttestation.d.ts.map +1 -0
  45. package/dist/lsAttestation.js +45 -0
  46. package/dist/lsAttestation.js.map +1 -0
  47. package/dist/lsDpp.d.ts +53 -0
  48. package/dist/lsDpp.d.ts.map +1 -0
  49. package/dist/lsDpp.js +148 -0
  50. package/dist/lsDpp.js.map +1 -0
  51. package/dist/lsUoraDpp.d.ts +55 -0
  52. package/dist/lsUoraDpp.d.ts.map +1 -0
  53. package/dist/lsUoraDpp.js +152 -0
  54. package/dist/lsUoraDpp.js.map +1 -0
  55. package/dist/policyConfig.d.ts +31 -0
  56. package/dist/policyConfig.d.ts.map +1 -0
  57. package/dist/policyConfig.js +112 -0
  58. package/dist/policyConfig.js.map +1 -0
  59. package/dist/retraction.d.ts +41 -0
  60. package/dist/retraction.d.ts.map +1 -0
  61. package/dist/retraction.js +147 -0
  62. package/dist/retraction.js.map +1 -0
  63. package/dist/storage.d.ts +117 -0
  64. package/dist/storage.d.ts.map +1 -0
  65. package/dist/storage.js +158 -0
  66. package/dist/storage.js.map +1 -0
  67. package/dist/sync.d.ts +75 -0
  68. package/dist/sync.d.ts.map +1 -0
  69. package/dist/sync.js +118 -0
  70. package/dist/sync.js.map +1 -0
  71. package/dist/tmAttestation.d.ts +36 -0
  72. package/dist/tmAttestation.d.ts.map +1 -0
  73. package/dist/tmAttestation.js +50 -0
  74. package/dist/tmAttestation.js.map +1 -0
  75. package/dist/tmDpp.d.ts +154 -0
  76. package/dist/tmDpp.d.ts.map +1 -0
  77. package/dist/tmDpp.js +397 -0
  78. package/dist/tmDpp.js.map +1 -0
  79. package/dist/tmUoraDpp.d.ts +73 -0
  80. package/dist/tmUoraDpp.d.ts.map +1 -0
  81. package/dist/tmUoraDpp.js +150 -0
  82. package/dist/tmUoraDpp.js.map +1 -0
  83. package/dist/uoraAnchor.d.ts +209 -0
  84. package/dist/uoraAnchor.d.ts.map +1 -0
  85. package/dist/uoraAnchor.js +433 -0
  86. package/dist/uoraAnchor.js.map +1 -0
  87. package/package.json +51 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/lib.d.ts ADDED
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Library surface of the DPP overlay node: the topic managers, lookup services
3
+ * and record stores, importable by other packages (the backend's offline
4
+ * demo mode and tests). The node entry point is index.ts.
5
+ *
6
+ * Two rails, deliberately separate. `tm_dpp`/`ls_dpp` carry the passport
7
+ * itself and depend on `@bsv/dpp-core`. `tm_uora_dpp`/`ls_uora_dpp` carry the
8
+ * attestation anchors that say what a named party claimed about a passport,
9
+ * and depend on nothing of ours: they are written to be dropped into a shared
10
+ * overlay instance that has never heard of this programme's token core.
11
+ */
12
+ export { DppTopicManager, DPP_TOPIC, type DppAdmissionOptions } from './tmDpp.js';
13
+ export * from './attestationAnchor.js';
14
+ export * from './attestationStorage.js';
15
+ export * from './tmAttestation.js';
16
+ export * from './lsAttestation.js';
17
+ export { DppLookupService, DPP_SERVICE, MAX_LOOKUP_RESULTS, type DppLookupQuery } from './lsDpp.js';
18
+ export { InMemoryDppStorage, MongoDppStorage, selectorFilter, type DppRecord, type DppRecordInput, type DppRecordStore, type RecordSelector, type SequenceRange, } from './storage.js';
19
+ export { InMemoryOverlayStorage, MongoOverlayStorage, type RetractableStorage } from './engineStorage.js';
20
+ export * from './limits.js';
21
+ export * from './policyConfig.js';
22
+ export * from './history.js';
23
+ export * from './capabilities.js';
24
+ export * from './evidenceExport.js';
25
+ export * from './retraction.js';
26
+ export * from './sync.js';
27
+ export { UoraAnchorTopicManager } from './tmUoraDpp.js';
28
+ export { UoraAnchorLookupService, UORA_SERVICE, UORA_TOPIC } from './lsUoraDpp.js';
29
+ export { InMemoryUoraAnchorStorage, MongoUoraAnchorStorage, MAX_ANCHOR_RESULTS, type UoraAnchorQuery, type UoraAnchorRecord, type UoraAnchorStore, } from './anchorStorage.js';
30
+ export { didKeyFromIdentityKey, expectedLockingKey, identityKeyFromDidKey, tryParseUoraAnchor, uoraAnchorFields, uoraAnchorPrefix, uoraAnchorSigningPreimage, UORA_ANCHOR_BASKET, UORA_ANCHOR_FIELD_COUNT, UORA_ANCHOR_PREFIX, UORA_ANCHOR_PREFIX_V1, UORA_ANCHOR_PREFIX_V2, UORA_ANCHOR_PROTOCOL, type UoraAnchor, } from './uoraAnchor.js';
31
+ //# sourceMappingURL=lib.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,KAAK,mBAAmB,EAAE,MAAM,YAAY,CAAA;AACjF,cAAc,wBAAwB,CAAA;AACtC,cAAc,yBAAyB,CAAA;AACvC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,kBAAkB,EAAE,KAAK,cAAc,EAAE,MAAM,YAAY,CAAA;AACnG,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,aAAa,GACnB,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AACzG,cAAc,aAAa,CAAA;AAC3B,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,WAAW,CAAA;AACzB,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AACvD,OAAO,EAAE,uBAAuB,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAClF,OAAO,EACL,yBAAyB,EACzB,sBAAsB,EACtB,kBAAkB,EAClB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,eAAe,GACrB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,yBAAyB,EACzB,kBAAkB,EAClB,uBAAuB,EACvB,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,KAAK,UAAU,GAChB,MAAM,iBAAiB,CAAA"}
package/dist/lib.js ADDED
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Library surface of the DPP overlay node: the topic managers, lookup services
3
+ * and record stores, importable by other packages (the backend's offline
4
+ * demo mode and tests). The node entry point is index.ts.
5
+ *
6
+ * Two rails, deliberately separate. `tm_dpp`/`ls_dpp` carry the passport
7
+ * itself and depend on `@bsv/dpp-core`. `tm_uora_dpp`/`ls_uora_dpp` carry the
8
+ * attestation anchors that say what a named party claimed about a passport,
9
+ * and depend on nothing of ours: they are written to be dropped into a shared
10
+ * overlay instance that has never heard of this programme's token core.
11
+ */
12
+ export { DppTopicManager, DPP_TOPIC } from './tmDpp.js';
13
+ export * from './attestationAnchor.js';
14
+ export * from './attestationStorage.js';
15
+ export * from './tmAttestation.js';
16
+ export * from './lsAttestation.js';
17
+ export { DppLookupService, DPP_SERVICE, MAX_LOOKUP_RESULTS } from './lsDpp.js';
18
+ export { InMemoryDppStorage, MongoDppStorage, selectorFilter, } from './storage.js';
19
+ export { InMemoryOverlayStorage, MongoOverlayStorage } from './engineStorage.js';
20
+ export * from './limits.js';
21
+ export * from './policyConfig.js';
22
+ export * from './history.js';
23
+ export * from './capabilities.js';
24
+ export * from './evidenceExport.js';
25
+ export * from './retraction.js';
26
+ export * from './sync.js';
27
+ export { UoraAnchorTopicManager } from './tmUoraDpp.js';
28
+ export { UoraAnchorLookupService, UORA_SERVICE, UORA_TOPIC } from './lsUoraDpp.js';
29
+ export { InMemoryUoraAnchorStorage, MongoUoraAnchorStorage, MAX_ANCHOR_RESULTS, } from './anchorStorage.js';
30
+ export { didKeyFromIdentityKey, expectedLockingKey, identityKeyFromDidKey, tryParseUoraAnchor, uoraAnchorFields, uoraAnchorPrefix, uoraAnchorSigningPreimage, UORA_ANCHOR_BASKET, UORA_ANCHOR_FIELD_COUNT, UORA_ANCHOR_PREFIX, UORA_ANCHOR_PREFIX_V1, UORA_ANCHOR_PREFIX_V2, UORA_ANCHOR_PROTOCOL, } from './uoraAnchor.js';
31
+ //# sourceMappingURL=lib.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lib.js","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,eAAe,EAAE,SAAS,EAA4B,MAAM,YAAY,CAAA;AACjF,cAAc,wBAAwB,CAAA;AACtC,cAAc,yBAAyB,CAAA;AACvC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,kBAAkB,EAAuB,MAAM,YAAY,CAAA;AACnG,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,cAAc,GAMf,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAA2B,MAAM,oBAAoB,CAAA;AACzG,cAAc,aAAa,CAAA;AAC3B,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,WAAW,CAAA;AACzB,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AACvD,OAAO,EAAE,uBAAuB,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAClF,OAAO,EACL,yBAAyB,EACzB,sBAAsB,EACtB,kBAAkB,GAInB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,yBAAyB,EACzB,kBAAkB,EAClB,uBAAuB,EACvB,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,GAErB,MAAM,iBAAiB,CAAA"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * The bounds the node publishes in its capability document and enforces on
3
+ * the wire. They live here, in one module with no imports, so the routes, the
4
+ * paginator and the capability document read the same numbers and none of
5
+ * them can drift from what `contracts/overlay.yaml` says.
6
+ */
7
+ /** Refuse absurd bodies before buffering them. A DPP BEEF is a few KB. */
8
+ export declare const MAX_BODY_BYTES: number;
9
+ /** A /history page holds this many items unless the caller asks for fewer or more. */
10
+ export declare const DEFAULT_PAGE_SIZE = 100;
11
+ /**
12
+ * The most items one /history page carries, and the most records one export
13
+ * read fetches at a time. Equal to the bounded lookup's cap on purpose: a
14
+ * caller who tunes one number has tuned both.
15
+ */
16
+ export declare const MAX_PAGE_SIZE = 500;
17
+ /**
18
+ * How long a /history snapshot stays resumable. Long enough for a slow reader
19
+ * to walk a long lifecycle, short enough that a cursor from yesterday does not
20
+ * quietly continue from the middle of a history that has since grown
21
+ * (`spec/portable-evidence.md` section 1: an expired snapshot answers a named
22
+ * restart, never a silent continuation).
23
+ */
24
+ export declare const SNAPSHOT_TTL_MS: number;
25
+ /**
26
+ * The most states one evidence package carries, the newest by the store's
27
+ * sequence, as the bounded lookup keeps the newest. The remainder is declared
28
+ * absent by outpoint, so a package never implies a history it does not hold
29
+ * and an unauthenticated GET never parses and signs an unbounded number of
30
+ * transactions. The same number bounds one part of the complete export
31
+ * (`spec/portable-evidence.md` section 2), which reaches the remainder in
32
+ * further parts over the same snapshot instead of declaring it absent.
33
+ */
34
+ export declare const MAX_EXPORT_STATES = 500;
35
+ /**
36
+ * The most transaction and proof bytes one part of the complete export
37
+ * carries before the part closes: a part holds at most MAX_EXPORT_STATES
38
+ * states and closes early once their raw transactions and BEEFs exceed this
39
+ * many bytes, always with at least one state, so the work of one request is
40
+ * bounded by both counts whatever a lineage's transactions weigh. Base64 in
41
+ * the envelope adds a third to what the wire carries.
42
+ */
43
+ export declare const MAX_EXPORT_PART_BYTES: number;
44
+ //# sourceMappingURL=limits.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"limits.d.ts","sourceRoot":"","sources":["../src/limits.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,0EAA0E;AAC1E,eAAO,MAAM,cAAc,QAAkB,CAAA;AAE7C,sFAAsF;AACtF,eAAO,MAAM,iBAAiB,MAAM,CAAA;AAEpC;;;;GAIG;AACH,eAAO,MAAM,aAAa,MAAM,CAAA;AAEhC;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,QAAiB,CAAA;AAE7C;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,MAAM,CAAA;AAEpC;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,QAAmB,CAAA"}
package/dist/limits.js ADDED
@@ -0,0 +1,44 @@
1
+ /**
2
+ * The bounds the node publishes in its capability document and enforces on
3
+ * the wire. They live here, in one module with no imports, so the routes, the
4
+ * paginator and the capability document read the same numbers and none of
5
+ * them can drift from what `contracts/overlay.yaml` says.
6
+ */
7
+ /** Refuse absurd bodies before buffering them. A DPP BEEF is a few KB. */
8
+ export const MAX_BODY_BYTES = 8 * 1024 * 1024;
9
+ /** A /history page holds this many items unless the caller asks for fewer or more. */
10
+ export const DEFAULT_PAGE_SIZE = 100;
11
+ /**
12
+ * The most items one /history page carries, and the most records one export
13
+ * read fetches at a time. Equal to the bounded lookup's cap on purpose: a
14
+ * caller who tunes one number has tuned both.
15
+ */
16
+ export const MAX_PAGE_SIZE = 500;
17
+ /**
18
+ * How long a /history snapshot stays resumable. Long enough for a slow reader
19
+ * to walk a long lifecycle, short enough that a cursor from yesterday does not
20
+ * quietly continue from the middle of a history that has since grown
21
+ * (`spec/portable-evidence.md` section 1: an expired snapshot answers a named
22
+ * restart, never a silent continuation).
23
+ */
24
+ export const SNAPSHOT_TTL_MS = 10 * 60 * 1000;
25
+ /**
26
+ * The most states one evidence package carries, the newest by the store's
27
+ * sequence, as the bounded lookup keeps the newest. The remainder is declared
28
+ * absent by outpoint, so a package never implies a history it does not hold
29
+ * and an unauthenticated GET never parses and signs an unbounded number of
30
+ * transactions. The same number bounds one part of the complete export
31
+ * (`spec/portable-evidence.md` section 2), which reaches the remainder in
32
+ * further parts over the same snapshot instead of declaring it absent.
33
+ */
34
+ export const MAX_EXPORT_STATES = 500;
35
+ /**
36
+ * The most transaction and proof bytes one part of the complete export
37
+ * carries before the part closes: a part holds at most MAX_EXPORT_STATES
38
+ * states and closes early once their raw transactions and BEEFs exceed this
39
+ * many bytes, always with at least one state, so the work of one request is
40
+ * bounded by both counts whatever a lineage's transactions weigh. Base64 in
41
+ * the envelope adds a third to what the wire carries.
42
+ */
43
+ export const MAX_EXPORT_PART_BYTES = 16 * 1024 * 1024;
44
+ //# sourceMappingURL=limits.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"limits.js","sourceRoot":"","sources":["../src/limits.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,0EAA0E;AAC1E,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAA;AAE7C,sFAAsF;AACtF,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAA;AAEpC;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAAA;AAEhC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;AAE7C;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAA;AAEpC;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAA"}
@@ -0,0 +1,21 @@
1
+ import type { LookupFormula, LookupQuestion, LookupService, OutputAdmittedByTopic, OutputSpent } from '@bsv/overlay';
2
+ import { type AttestationStore } from './attestationStorage.js';
3
+ export declare const ATTESTATION_SERVICE = "ls_attestation";
4
+ export declare class AttestationLookupService implements LookupService {
5
+ private readonly storage;
6
+ readonly admissionMode: "locking-script";
7
+ readonly spendNotificationMode: "txid";
8
+ constructor(storage: AttestationStore);
9
+ outputAdmittedByTopic(payload: OutputAdmittedByTopic): Promise<void>;
10
+ outputSpent(payload: OutputSpent): Promise<void>;
11
+ outputNoLongerRetainedInHistory(txid: string, outputIndex: number, topic: string): Promise<void>;
12
+ outputEvicted(txid: string, outputIndex: number): Promise<void>;
13
+ lookup(question: LookupQuestion): Promise<LookupFormula>;
14
+ getDocumentation(): Promise<string>;
15
+ getMetaData(): Promise<{
16
+ name: string;
17
+ shortDescription: string;
18
+ version: string;
19
+ }>;
20
+ }
21
+ //# sourceMappingURL=lsAttestation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lsAttestation.d.ts","sourceRoot":"","sources":["../src/lsAttestation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAEpH,OAAO,EAA4B,KAAK,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAGzF,eAAO,MAAM,mBAAmB,mBAAmB,CAAA;AAEnD,qBAAa,wBAAyB,YAAW,aAAa;IAGhD,OAAO,CAAC,QAAQ,CAAC,OAAO;IAFpC,QAAQ,CAAC,aAAa,EAAG,gBAAgB,CAAS;IAClD,QAAQ,CAAC,qBAAqB,EAAG,MAAM,CAAS;gBACnB,OAAO,EAAE,gBAAgB;IAEhD,qBAAqB,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAQpE,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAGhD,+BAA+B,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAGhG,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAC/D,MAAM,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;IAKxD,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC;IAGnC,WAAW,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAG1F"}
@@ -0,0 +1,45 @@
1
+ import { decodeAttestationAnchor } from './attestationAnchor.js';
2
+ import { validateAttestationQuery } from './attestationStorage.js';
3
+ import { ATTESTATION_TOPIC } from './tmAttestation.js';
4
+ export const ATTESTATION_SERVICE = 'ls_attestation';
5
+ export class AttestationLookupService {
6
+ storage;
7
+ admissionMode = 'locking-script';
8
+ spendNotificationMode = 'txid';
9
+ constructor(storage) {
10
+ this.storage = storage;
11
+ }
12
+ async outputAdmittedByTopic(payload) {
13
+ if (payload.mode !== 'locking-script')
14
+ throw new Error('Invalid admission mode');
15
+ if (payload.topic !== ATTESTATION_TOPIC)
16
+ return;
17
+ const anchor = decodeAttestationAnchor(payload.lockingScript);
18
+ if (!anchor)
19
+ throw new Error('admitted output is not a valid current attestation anchor');
20
+ const { signature: _signature, ...metadata } = anchor;
21
+ await this.storage.insert({ ...metadata, txid: payload.txid, outputIndex: payload.outputIndex, createdAt: new Date() });
22
+ }
23
+ async outputSpent(payload) {
24
+ if (payload.mode !== 'txid')
25
+ throw new Error('Invalid spend notification mode');
26
+ }
27
+ async outputNoLongerRetainedInHistory(txid, outputIndex, topic) {
28
+ if (topic === ATTESTATION_TOPIC)
29
+ await this.storage.delete(txid, outputIndex);
30
+ }
31
+ async outputEvicted(txid, outputIndex) { await this.storage.delete(txid, outputIndex); }
32
+ async lookup(question) {
33
+ if (question.service !== ATTESTATION_SERVICE)
34
+ throw new Error(`Unsupported service ${question.service}`);
35
+ const records = await this.storage.find(validateAttestationQuery(question.query));
36
+ return records.map(({ txid, outputIndex }) => ({ txid, outputIndex }));
37
+ }
38
+ async getDocumentation() {
39
+ return `${ATTESTATION_SERVICE} returns BRC-24 anchor outpoints. Require an exact issuer, subject, attestationId, digest or anchoredBy selector; attestationType, representation and mediaType may narrow it. limit is an integer from 1 to 500, default 100. Results sort by txid then outputIndex. Set after to the last returned {txid,outputIndex} to continue until an empty page. Pagination observes the current index, not a global snapshot. Unknown fields are rejected. Fetch the original secured bytes separately and verify their digest, metadata and credential proof. Legacy results are queried through ls_uora_dpp.`;
40
+ }
41
+ async getMetaData() {
42
+ return { name: ATTESTATION_SERVICE, shortDescription: 'Lookup for complete-representation BSV attestation anchors', version: '1.0.0' };
43
+ }
44
+ }
45
+ //# sourceMappingURL=lsAttestation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lsAttestation.js","sourceRoot":"","sources":["../src/lsAttestation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAA;AAChE,OAAO,EAAE,wBAAwB,EAAyB,MAAM,yBAAyB,CAAA;AACzF,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAEtD,MAAM,CAAC,MAAM,mBAAmB,GAAG,gBAAgB,CAAA;AAEnD,MAAM,OAAO,wBAAwB;IAGN;IAFpB,aAAa,GAAG,gBAAyB,CAAA;IACzC,qBAAqB,GAAG,MAAe,CAAA;IAChD,YAA6B,OAAyB;QAAzB,YAAO,GAAP,OAAO,CAAkB;IAAG,CAAC;IAE1D,KAAK,CAAC,qBAAqB,CAAC,OAA8B;QACxD,IAAI,OAAO,CAAC,IAAI,KAAK,gBAAgB;YAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;QAChF,IAAI,OAAO,CAAC,KAAK,KAAK,iBAAiB;YAAE,OAAM;QAC/C,MAAM,MAAM,GAAG,uBAAuB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;QAC7D,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAA;QACzF,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,QAAQ,EAAE,GAAG,MAAM,CAAA;QACrD,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,GAAG,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,CAAA;IACzH,CAAC;IACD,KAAK,CAAC,WAAW,CAAC,OAAoB;QACpC,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;IACjF,CAAC;IACD,KAAK,CAAC,+BAA+B,CAAC,IAAY,EAAE,WAAmB,EAAE,KAAa;QACpF,IAAI,KAAK,KAAK,iBAAiB;YAAE,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;IAC/E,CAAC;IACD,KAAK,CAAC,aAAa,CAAC,IAAY,EAAE,WAAmB,IAAmB,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA,CAAC,CAAC;IACtH,KAAK,CAAC,MAAM,CAAC,QAAwB;QACnC,IAAI,QAAQ,CAAC,OAAO,KAAK,mBAAmB;YAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAA;QACxG,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;QACjF,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,CAAA;IACxE,CAAC;IACD,KAAK,CAAC,gBAAgB;QACpB,OAAO,GAAG,mBAAmB,ykBAAykB,CAAA;IACxmB,CAAC;IACD,KAAK,CAAC,WAAW;QACf,OAAO,EAAE,IAAI,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,4DAA4D,EAAE,OAAO,EAAE,OAAO,EAAE,CAAA;IACxI,CAAC;CACF"}
@@ -0,0 +1,53 @@
1
+ import type { LookupFormula, LookupQuestion, LookupService, OutputAdmittedByTopic, OutputSpent } from '@bsv/overlay';
2
+ import type { DppRecordStore } from './storage.js';
3
+ export declare const DPP_SERVICE = "ls_dpp";
4
+ export interface DppLookupQuery {
5
+ passportId?: string;
6
+ uid?: string;
7
+ }
8
+ /**
9
+ * Answers stay bounded whatever the caller asks for; matches the anchor
10
+ * rail's MAX_ANCHOR_RESULTS. A lifecycle this long has never existed, but the
11
+ * cap is what stands between one query and a BEEF hydrated per stored state.
12
+ */
13
+ export declare const MAX_LOOKUP_RESULTS = 500;
14
+ /**
15
+ * ls_dpp - passport lookup (`spec/services.md` §2).
16
+ *
17
+ * Indexed on passport_id and chip UID (the data-carrier property inside
18
+ * payload_public). Returns the tip plus the ordered history: spent states are
19
+ * kept (the engine retains them via tm_dpp's coinsToRetain) so a fresh device
20
+ * can resolve and verify the full lifecycle. Clients order the result with
21
+ * dpp-core's chainFromBeef; record order here is best-effort.
22
+ */
23
+ export declare class DppLookupService implements LookupService {
24
+ private readonly storage;
25
+ readonly admissionMode: "locking-script";
26
+ readonly spendNotificationMode: "txid";
27
+ /**
28
+ * Spends the Engine has announced whose spending transaction has not yet
29
+ * been admitted, by spending txid. The Engine tells every lookup service
30
+ * that a previous coin was spent before it says whether the spending
31
+ * transaction was admitted, and it says so even when the topic manager
32
+ * refused that transaction (a refused spend of the tip keeps the tip, see
33
+ * tmDpp.ts). A spend is therefore recorded only once the admission of the
34
+ * spending transaction follows, which in `Engine.submit` is the same call
35
+ * when it happens at all; a spend nobody confirms names a state this index
36
+ * never held, and the tip stays a tip. Bounded, because a refused spend
37
+ * leaves its entry behind.
38
+ */
39
+ private readonly pendingSpends;
40
+ constructor(storage: DppRecordStore);
41
+ outputAdmittedByTopic(payload: OutputAdmittedByTopic): Promise<void>;
42
+ outputSpent(payload: OutputSpent): Promise<void>;
43
+ outputNoLongerRetainedInHistory(txid: string, outputIndex: number, topic: string): Promise<void>;
44
+ outputEvicted(txid: string, outputIndex: number): Promise<void>;
45
+ lookup(question: LookupQuestion): Promise<LookupFormula>;
46
+ getDocumentation(): Promise<string>;
47
+ getMetaData(): Promise<{
48
+ name: string;
49
+ shortDescription: string;
50
+ version?: string;
51
+ }>;
52
+ }
53
+ //# sourceMappingURL=lsDpp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lsDpp.d.ts","sourceRoot":"","sources":["../src/lsDpp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,aAAa,EACb,qBAAqB,EACrB,WAAW,EACZ,MAAM,cAAc,CAAA;AAGrB,OAAO,KAAK,EAAkB,cAAc,EAAE,MAAM,cAAc,CAAA;AAElE,eAAO,MAAM,WAAW,WAAW,CAAA;AAEnC,MAAM,WAAW,cAAc;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,MAAM,CAAA;AAKrC;;;;;;;;GAQG;AACH,qBAAa,gBAAiB,YAAW,aAAa;IAkBxC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAjBpC,QAAQ,CAAC,aAAa,EAAG,gBAAgB,CAAS;IAClD,QAAQ,CAAC,qBAAqB,EAAG,MAAM,CAAS;IAEhD;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAkE;gBAEnE,OAAO,EAAE,cAAc;IAE9C,qBAAqB,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAoCpE,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAehD,+BAA+B,CACnC,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC;IAKV,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/D,MAAM,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;IAuBxD,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC;IAanC,WAAW,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAO3F"}
package/dist/lsDpp.js ADDED
@@ -0,0 +1,148 @@
1
+ import { PAYLOAD_DATA_CARRIER_KEY, tryParseDppOutput } from '@bsv/dpp-core';
2
+ import { DPP_TOPIC } from './tmDpp.js';
3
+ export const DPP_SERVICE = 'ls_dpp';
4
+ /**
5
+ * Answers stay bounded whatever the caller asks for; matches the anchor
6
+ * rail's MAX_ANCHOR_RESULTS. A lifecycle this long has never existed, but the
7
+ * cap is what stands between one query and a BEEF hydrated per stored state.
8
+ */
9
+ export const MAX_LOOKUP_RESULTS = 500;
10
+ /** Unconfirmed spend announcements kept, at most; a refused spend leaves one behind. */
11
+ const PENDING_SPENDS = 1000;
12
+ /**
13
+ * ls_dpp - passport lookup (`spec/services.md` §2).
14
+ *
15
+ * Indexed on passport_id and chip UID (the data-carrier property inside
16
+ * payload_public). Returns the tip plus the ordered history: spent states are
17
+ * kept (the engine retains them via tm_dpp's coinsToRetain) so a fresh device
18
+ * can resolve and verify the full lifecycle. Clients order the result with
19
+ * dpp-core's chainFromBeef; record order here is best-effort.
20
+ */
21
+ export class DppLookupService {
22
+ storage;
23
+ admissionMode = 'locking-script';
24
+ spendNotificationMode = 'txid';
25
+ /**
26
+ * Spends the Engine has announced whose spending transaction has not yet
27
+ * been admitted, by spending txid. The Engine tells every lookup service
28
+ * that a previous coin was spent before it says whether the spending
29
+ * transaction was admitted, and it says so even when the topic manager
30
+ * refused that transaction (a refused spend of the tip keeps the tip, see
31
+ * tmDpp.ts). A spend is therefore recorded only once the admission of the
32
+ * spending transaction follows, which in `Engine.submit` is the same call
33
+ * when it happens at all; a spend nobody confirms names a state this index
34
+ * never held, and the tip stays a tip. Bounded, because a refused spend
35
+ * leaves its entry behind.
36
+ */
37
+ pendingSpends = new Map();
38
+ constructor(storage) {
39
+ this.storage = storage;
40
+ }
41
+ async outputAdmittedByTopic(payload) {
42
+ if (payload.mode !== 'locking-script')
43
+ throw new Error('Invalid admission mode');
44
+ if (payload.topic !== DPP_TOPIC)
45
+ return;
46
+ const parsed = tryParseDppOutput(payload.lockingScript);
47
+ if (parsed == null)
48
+ return;
49
+ const { state } = parsed;
50
+ let uid = '';
51
+ try {
52
+ const publicPayload = JSON.parse(state.payloadPublic);
53
+ const carrier = publicPayload[PAYLOAD_DATA_CARRIER_KEY];
54
+ if (typeof carrier === 'string')
55
+ uid = carrier;
56
+ }
57
+ catch {
58
+ // payload_public was validated as JSON at admission; defensive only
59
+ }
60
+ // The store assigns the record's sequence at insert (storage.ts).
61
+ const record = {
62
+ txid: payload.txid,
63
+ outputIndex: payload.outputIndex,
64
+ passportId: state.passportId,
65
+ uid,
66
+ op: state.op,
67
+ timestamp: state.timestamp,
68
+ previousTxid: state.previousTxid,
69
+ spent: false,
70
+ spendingTxid: '',
71
+ createdAt: new Date(),
72
+ };
73
+ await this.storage.insert(record);
74
+ // The admission confirms the spends the Engine announced for it.
75
+ const spends = this.pendingSpends.get(payload.txid);
76
+ if (spends != null) {
77
+ this.pendingSpends.delete(payload.txid);
78
+ for (const spent of spends)
79
+ await this.storage.markSpent(spent.txid, spent.outputIndex, payload.txid);
80
+ }
81
+ }
82
+ async outputSpent(payload) {
83
+ if (payload.mode !== 'txid')
84
+ throw new Error('Invalid spend notification mode');
85
+ if (payload.topic !== DPP_TOPIC)
86
+ return;
87
+ // Spent states remain part of the lifecycle history (`spec/record-model.md` §1):
88
+ // the record is marked, never removed, and only once the spender is admitted.
89
+ const spends = this.pendingSpends.get(payload.spendingTxid) ?? [];
90
+ spends.push({ txid: payload.txid, outputIndex: payload.outputIndex });
91
+ this.pendingSpends.set(payload.spendingTxid, spends);
92
+ while (this.pendingSpends.size > PENDING_SPENDS) {
93
+ const oldest = this.pendingSpends.keys().next().value;
94
+ if (oldest == null)
95
+ break;
96
+ this.pendingSpends.delete(oldest);
97
+ }
98
+ }
99
+ async outputNoLongerRetainedInHistory(txid, outputIndex, topic) {
100
+ if (topic !== DPP_TOPIC)
101
+ return;
102
+ await this.storage.delete(txid, outputIndex);
103
+ }
104
+ async outputEvicted(txid, outputIndex) {
105
+ await this.storage.delete(txid, outputIndex);
106
+ }
107
+ async lookup(question) {
108
+ if (question.service !== DPP_SERVICE)
109
+ throw new Error(`Unsupported service ${question.service}`);
110
+ // Non-empty strings only, checked here and not only at the HTTP handler,
111
+ // because MiniOverlay calls this directly and MongoDppStorage would run
112
+ // whatever object it is handed as a filter.
113
+ const query = (question.query ?? {});
114
+ const passportId = typeof query.passportId === 'string' && query.passportId !== '' ? query.passportId : undefined;
115
+ const uid = typeof query.uid === 'string' && query.uid !== '' ? query.uid : undefined;
116
+ if (passportId == null && uid == null) {
117
+ throw new Error('Query must provide passportId or uid');
118
+ }
119
+ const records = passportId != null
120
+ ? await this.storage.findByPassport(passportId)
121
+ : await this.storage.findByUid(uid);
122
+ // The newest states survive the cap so the tip stays resolvable; a caller
123
+ // holding a truncated history sees verification fail, not a stale tip.
124
+ return records
125
+ .slice(-MAX_LOOKUP_RESULTS)
126
+ .map((r) => ({ txid: r.txid, outputIndex: r.outputIndex }));
127
+ }
128
+ async getDocumentation() {
129
+ return [
130
+ `# ${DPP_SERVICE}`,
131
+ '',
132
+ 'Lookup for DPP passports, indexed on passport_id and chip UID.',
133
+ 'Query: { "passportId": "..." } or { "uid": "..." }.',
134
+ 'Answers contain the tip plus all retained historical states as BEEF,',
135
+ 'bounded to the newest 500; order with dpp-core chainFromBeef and verify',
136
+ 'with verifyChain. GET /history pages the complete history over a stable',
137
+ 'snapshot and GET /evidence-package exports it (spec/portable-evidence.md).',
138
+ ].join('\n');
139
+ }
140
+ async getMetaData() {
141
+ return {
142
+ name: DPP_SERVICE,
143
+ shortDescription: 'Digital Product Passport lookup (tip + lifecycle history)',
144
+ version: '1.0.0',
145
+ };
146
+ }
147
+ }
148
+ //# sourceMappingURL=lsDpp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lsDpp.js","sourceRoot":"","sources":["../src/lsDpp.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ import type { LookupFormula, LookupQuestion, LookupService, OutputAdmittedByTopic, OutputSpent } from '@bsv/overlay';
2
+ import type { UoraAnchorStore } from './anchorStorage.js';
3
+ export declare const UORA_TOPIC = "tm_uora_dpp";
4
+ export declare const UORA_SERVICE = "ls_uora_dpp";
5
+ /**
6
+ * `ls_uora_dpp`: the DID-keyed lookup.
7
+ *
8
+ * The question this exists to answer is "what has this party attested", keyed
9
+ * on the issuer's `did:key`, and it is the question no index over the v1 anchor
10
+ * format could answer at all: a v1 anchor names no issuer, so an indexer
11
+ * holding one has a digest and no idea whose claim it covers.
12
+ *
13
+ * Four other selectors come free from the same fields and are worth having:
14
+ * the subject (every claim about one passport, from every party), the
15
+ * attestation id (the anchor for one known claim), the digest (given an
16
+ * attestation in hand, has anyone anchored exactly this), and the UORA type,
17
+ * which narrows any of the others.
18
+ *
19
+ * ## What the answer is, and what it is not
20
+ *
21
+ * The answer is outputs, as BRC-24 requires, so the caller receives the anchors
22
+ * as chain data and checks them without trusting this service. That matters
23
+ * more here than for a passport lookup: this index is derived from the outputs,
24
+ * so an index that lied would be caught by the caller reading the same outputs
25
+ * it just returned.
26
+ *
27
+ * The answer is **not** the attestations. Those are never on chain, by the
28
+ * privacy rule, so a caller who wants the claim itself fetches it from the
29
+ * resolver and checks its digest against the anchor this returned. The anchor
30
+ * is the proof; the resolver is merely convenient.
31
+ */
32
+ export declare class UoraAnchorLookupService implements LookupService {
33
+ private readonly storage;
34
+ readonly admissionMode: "locking-script";
35
+ readonly spendNotificationMode: "txid";
36
+ constructor(storage: UoraAnchorStore);
37
+ outputAdmittedByTopic(payload: OutputAdmittedByTopic): Promise<void>;
38
+ /**
39
+ * An anchor is a leaf and should never be spent. If one is, the claim it
40
+ * carries is unaffected: the digest sat at that point in the chain's order
41
+ * whatever later happened to the satoshi. So the record stays, and the spend
42
+ * is not recorded, because nothing about this index turns on it.
43
+ */
44
+ outputSpent(payload: OutputSpent): Promise<void>;
45
+ outputNoLongerRetainedInHistory(txid: string, outputIndex: number, topic: string): Promise<void>;
46
+ outputEvicted(txid: string, outputIndex: number): Promise<void>;
47
+ lookup(question: LookupQuestion): Promise<LookupFormula>;
48
+ getDocumentation(): Promise<string>;
49
+ getMetaData(): Promise<{
50
+ name: string;
51
+ shortDescription: string;
52
+ version?: string;
53
+ }>;
54
+ }
55
+ //# sourceMappingURL=lsUoraDpp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lsUoraDpp.d.ts","sourceRoot":"","sources":["../src/lsUoraDpp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,aAAa,EACb,qBAAqB,EACrB,WAAW,EACZ,MAAM,cAAc,CAAA;AAErB,OAAO,KAAK,EAAmB,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAE1E,eAAO,MAAM,UAAU,gBAAgB,CAAA;AACvC,eAAO,MAAM,YAAY,gBAAgB,CAAA;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,qBAAa,uBAAwB,YAAW,aAAa;IAI/C,OAAO,CAAC,QAAQ,CAAC,OAAO;IAHpC,QAAQ,CAAC,aAAa,EAAG,gBAAgB,CAAS;IAClD,QAAQ,CAAC,qBAAqB,EAAG,MAAM,CAAS;gBAEnB,OAAO,EAAE,eAAe;IAE/C,qBAAqB,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAuB1E;;;;;OAKG;IACG,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhD,+BAA+B,CACnC,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC;IAKV,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/D,MAAM,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;IA0CxD,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC;IAyBnC,WAAW,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAO3F"}