@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.
- package/LICENSE +58 -0
- package/README.md +169 -0
- package/dist/anchorStorage.d.ts +58 -0
- package/dist/anchorStorage.d.ts.map +1 -0
- package/dist/anchorStorage.js +72 -0
- package/dist/anchorStorage.js.map +1 -0
- package/dist/attestationAnchor.d.ts +10 -0
- package/dist/attestationAnchor.d.ts.map +1 -0
- package/dist/attestationAnchor.js +10 -0
- package/dist/attestationAnchor.js.map +1 -0
- package/dist/attestationStorage.d.ts +49 -0
- package/dist/attestationStorage.d.ts.map +1 -0
- package/dist/attestationStorage.js +78 -0
- package/dist/attestationStorage.js.map +1 -0
- package/dist/capabilities.d.ts +127 -0
- package/dist/capabilities.d.ts.map +1 -0
- package/dist/capabilities.js +210 -0
- package/dist/capabilities.js.map +1 -0
- package/dist/engineStorage.d.ts +106 -0
- package/dist/engineStorage.d.ts.map +1 -0
- package/dist/engineStorage.js +253 -0
- package/dist/engineStorage.js.map +1 -0
- package/dist/evidenceExport.d.ts +189 -0
- package/dist/evidenceExport.d.ts.map +1 -0
- package/dist/evidenceExport.js +517 -0
- package/dist/evidenceExport.js.map +1 -0
- package/dist/history.d.ts +114 -0
- package/dist/history.d.ts.map +1 -0
- package/dist/history.js +215 -0
- package/dist/history.js.map +1 -0
- package/dist/index.d.ts +269 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1223 -0
- package/dist/index.js.map +1 -0
- package/dist/lib.d.ts +31 -0
- package/dist/lib.d.ts.map +1 -0
- package/dist/lib.js +31 -0
- package/dist/lib.js.map +1 -0
- package/dist/limits.d.ts +44 -0
- package/dist/limits.d.ts.map +1 -0
- package/dist/limits.js +44 -0
- package/dist/limits.js.map +1 -0
- package/dist/lsAttestation.d.ts +21 -0
- package/dist/lsAttestation.d.ts.map +1 -0
- package/dist/lsAttestation.js +45 -0
- package/dist/lsAttestation.js.map +1 -0
- package/dist/lsDpp.d.ts +53 -0
- package/dist/lsDpp.d.ts.map +1 -0
- package/dist/lsDpp.js +148 -0
- package/dist/lsDpp.js.map +1 -0
- package/dist/lsUoraDpp.d.ts +55 -0
- package/dist/lsUoraDpp.d.ts.map +1 -0
- package/dist/lsUoraDpp.js +152 -0
- package/dist/lsUoraDpp.js.map +1 -0
- package/dist/policyConfig.d.ts +31 -0
- package/dist/policyConfig.d.ts.map +1 -0
- package/dist/policyConfig.js +112 -0
- package/dist/policyConfig.js.map +1 -0
- package/dist/retraction.d.ts +41 -0
- package/dist/retraction.d.ts.map +1 -0
- package/dist/retraction.js +147 -0
- package/dist/retraction.js.map +1 -0
- package/dist/storage.d.ts +117 -0
- package/dist/storage.d.ts.map +1 -0
- package/dist/storage.js +158 -0
- package/dist/storage.js.map +1 -0
- package/dist/sync.d.ts +75 -0
- package/dist/sync.d.ts.map +1 -0
- package/dist/sync.js +118 -0
- package/dist/sync.js.map +1 -0
- package/dist/tmAttestation.d.ts +36 -0
- package/dist/tmAttestation.d.ts.map +1 -0
- package/dist/tmAttestation.js +50 -0
- package/dist/tmAttestation.js.map +1 -0
- package/dist/tmDpp.d.ts +154 -0
- package/dist/tmDpp.d.ts.map +1 -0
- package/dist/tmDpp.js +397 -0
- package/dist/tmDpp.js.map +1 -0
- package/dist/tmUoraDpp.d.ts +73 -0
- package/dist/tmUoraDpp.d.ts.map +1 -0
- package/dist/tmUoraDpp.js +150 -0
- package/dist/tmUoraDpp.js.map +1 -0
- package/dist/uoraAnchor.d.ts +209 -0
- package/dist/uoraAnchor.d.ts.map +1 -0
- package/dist/uoraAnchor.js +433 -0
- package/dist/uoraAnchor.js.map +1 -0
- 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
|
package/dist/lib.js.map
ADDED
|
@@ -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"}
|
package/dist/limits.d.ts
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 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"}
|
package/dist/lsDpp.d.ts
ADDED
|
@@ -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"}
|