@bsv/vsc 0.2.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 +107 -0
- package/artifacts/context-0.1.0.jsonld +127 -0
- package/artifacts/disclosure-0.1.0.schema.json +526 -0
- package/artifacts/epcis/NOTICE.md +11 -0
- package/artifacts/epcis/epcis-context-2.0.1.jsonld +593 -0
- package/artifacts/epcis/epcis-json-schema-2.0.1.json +2352 -0
- package/artifacts/epcis/query-schema-2.0.1.json +968 -0
- package/artifacts/external/NOTICE.md +3 -0
- package/artifacts/external/dpp-external-passport-1.context.jsonld +8 -0
- package/artifacts/external/dpp-external-passport-1.schema.json +158 -0
- package/artifacts/profile-0.1.0.json +100 -0
- package/artifacts/seal-0.1.0.schema.json +535 -0
- package/artifacts/w3c/NOTICE.md +3 -0
- package/artifacts/w3c/credentials-v2.jsonld +340 -0
- package/dist/context.d.ts +9 -0
- package/dist/context.d.ts.map +1 -0
- package/dist/context.js +50 -0
- package/dist/context.js.map +1 -0
- package/dist/crypto.d.ts +50 -0
- package/dist/crypto.d.ts.map +1 -0
- package/dist/crypto.js +141 -0
- package/dist/crypto.js.map +1 -0
- package/dist/did-web.d.ts +9 -0
- package/dist/did-web.d.ts.map +1 -0
- package/dist/did-web.js +66 -0
- package/dist/did-web.js.map +1 -0
- package/dist/epcis-source.d.ts +251 -0
- package/dist/epcis-source.d.ts.map +1 -0
- package/dist/epcis-source.js +573 -0
- package/dist/epcis-source.js.map +1 -0
- package/dist/epcis.d.ts +51 -0
- package/dist/epcis.d.ts.map +1 -0
- package/dist/epcis.js +171 -0
- package/dist/epcis.js.map +1 -0
- package/dist/exchange.d.ts +175 -0
- package/dist/exchange.d.ts.map +1 -0
- package/dist/exchange.js +491 -0
- package/dist/exchange.js.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -0
- package/dist/jcs.d.ts +25 -0
- package/dist/jcs.d.ts.map +1 -0
- package/dist/jcs.js +67 -0
- package/dist/jcs.js.map +1 -0
- package/dist/schema.d.ts +414 -0
- package/dist/schema.d.ts.map +1 -0
- package/dist/schema.js +537 -0
- package/dist/schema.js.map +1 -0
- package/dist/types.d.ts +159 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/validation.d.ts +22 -0
- package/dist/validation.d.ts.map +1 -0
- package/dist/validation.js +147 -0
- package/dist/validation.js.map +1 -0
- package/dist/verification.d.ts +10 -0
- package/dist/verification.d.ts.map +1 -0
- package/dist/verification.js +350 -0
- package/dist/verification.js.map +1 -0
- package/package.json +68 -0
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
# Owned external passport artefacts
|
|
2
|
+
|
|
3
|
+
`dpp-external-passport-1.schema.json` (`urn:bsv:dpp:external-passport:schema:1`) and `dpp-external-passport-1.context.jsonld` (`urn:bsv:dpp:external-passport:context:1`) are published by this repository for the `vc-di-ecdsa-rdfc-2019@1` exchange profile (spec/external-credential-profile.md). The context is served by the profile's document loader from these bytes and never from the network; the schema is the structural check of the profile. Both are versioned: a changed meaning is a new identifier, and their digests are recorded as `owned` artefacts in the profile manifest and held by a test.
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "urn:bsv:dpp:external-passport:schema:1",
|
|
4
|
+
"title": "External passport credential, version 1",
|
|
5
|
+
"description": "The minimal structural shape an externally issued passport credential must have to pass the schema check of the vc-di-ecdsa-rdfc-2019@1 exchange profile (spec/external-credential-profile.md): a W3C Verifiable Credentials 2.0 credential with one identified subject, a DID issuer and a Data Integrity proof. Structural validity is one check; proof, issuer binding, status, authority and subject binding are separate checks and none is implied by this schema.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"required": [
|
|
8
|
+
"@context",
|
|
9
|
+
"type",
|
|
10
|
+
"id",
|
|
11
|
+
"issuer",
|
|
12
|
+
"validFrom",
|
|
13
|
+
"credentialSubject",
|
|
14
|
+
"proof"
|
|
15
|
+
],
|
|
16
|
+
"properties": {
|
|
17
|
+
"@context": {
|
|
18
|
+
"type": "array",
|
|
19
|
+
"minItems": 1,
|
|
20
|
+
"items": {
|
|
21
|
+
"type": "string",
|
|
22
|
+
"minLength": 1
|
|
23
|
+
},
|
|
24
|
+
"contains": {
|
|
25
|
+
"const": "https://www.w3.org/ns/credentials/v2"
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
"type": {
|
|
29
|
+
"type": "array",
|
|
30
|
+
"minItems": 1,
|
|
31
|
+
"items": {
|
|
32
|
+
"type": "string",
|
|
33
|
+
"minLength": 1
|
|
34
|
+
},
|
|
35
|
+
"contains": {
|
|
36
|
+
"const": "VerifiableCredential"
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
"id": {
|
|
40
|
+
"type": "string",
|
|
41
|
+
"minLength": 1,
|
|
42
|
+
"format": "uri"
|
|
43
|
+
},
|
|
44
|
+
"issuer": {
|
|
45
|
+
"type": "string",
|
|
46
|
+
"minLength": 1,
|
|
47
|
+
"pattern": "^did:[a-z0-9]+:[^\\s]+$"
|
|
48
|
+
},
|
|
49
|
+
"validFrom": {
|
|
50
|
+
"type": "string",
|
|
51
|
+
"format": "date-time"
|
|
52
|
+
},
|
|
53
|
+
"validUntil": {
|
|
54
|
+
"type": "string",
|
|
55
|
+
"format": "date-time"
|
|
56
|
+
},
|
|
57
|
+
"credentialSubject": {
|
|
58
|
+
"type": "object",
|
|
59
|
+
"required": [
|
|
60
|
+
"id"
|
|
61
|
+
],
|
|
62
|
+
"properties": {
|
|
63
|
+
"id": {
|
|
64
|
+
"type": "string",
|
|
65
|
+
"minLength": 1,
|
|
66
|
+
"format": "uri"
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
"credentialStatus": {
|
|
71
|
+
"type": "object",
|
|
72
|
+
"required": [
|
|
73
|
+
"id",
|
|
74
|
+
"type",
|
|
75
|
+
"statusPurpose",
|
|
76
|
+
"statusListIndex",
|
|
77
|
+
"statusListCredential"
|
|
78
|
+
],
|
|
79
|
+
"additionalProperties": false,
|
|
80
|
+
"properties": {
|
|
81
|
+
"id": {
|
|
82
|
+
"type": "string",
|
|
83
|
+
"minLength": 1,
|
|
84
|
+
"format": "uri"
|
|
85
|
+
},
|
|
86
|
+
"type": {
|
|
87
|
+
"const": "BitstringStatusListEntry"
|
|
88
|
+
},
|
|
89
|
+
"statusPurpose": {
|
|
90
|
+
"enum": [
|
|
91
|
+
"revocation",
|
|
92
|
+
"suspension"
|
|
93
|
+
]
|
|
94
|
+
},
|
|
95
|
+
"statusListIndex": {
|
|
96
|
+
"type": "string",
|
|
97
|
+
"pattern": "^(0|[1-9][0-9]*)$"
|
|
98
|
+
},
|
|
99
|
+
"statusListCredential": {
|
|
100
|
+
"type": "string",
|
|
101
|
+
"minLength": 1,
|
|
102
|
+
"format": "uri"
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
},
|
|
106
|
+
"proof": {
|
|
107
|
+
"anyOf": [
|
|
108
|
+
{
|
|
109
|
+
"$ref": "#/$defs/proof"
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
"type": "array",
|
|
113
|
+
"minItems": 1,
|
|
114
|
+
"items": {
|
|
115
|
+
"$ref": "#/$defs/proof"
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
]
|
|
119
|
+
}
|
|
120
|
+
},
|
|
121
|
+
"$defs": {
|
|
122
|
+
"proof": {
|
|
123
|
+
"type": "object",
|
|
124
|
+
"required": [
|
|
125
|
+
"type",
|
|
126
|
+
"verificationMethod",
|
|
127
|
+
"proofPurpose",
|
|
128
|
+
"proofValue"
|
|
129
|
+
],
|
|
130
|
+
"properties": {
|
|
131
|
+
"type": {
|
|
132
|
+
"type": "string",
|
|
133
|
+
"minLength": 1
|
|
134
|
+
},
|
|
135
|
+
"cryptosuite": {
|
|
136
|
+
"type": "string",
|
|
137
|
+
"minLength": 1
|
|
138
|
+
},
|
|
139
|
+
"verificationMethod": {
|
|
140
|
+
"type": "string",
|
|
141
|
+
"minLength": 1
|
|
142
|
+
},
|
|
143
|
+
"proofPurpose": {
|
|
144
|
+
"type": "string",
|
|
145
|
+
"minLength": 1
|
|
146
|
+
},
|
|
147
|
+
"proofValue": {
|
|
148
|
+
"type": "string",
|
|
149
|
+
"pattern": "^[zu][A-Za-z0-9_-]+$"
|
|
150
|
+
},
|
|
151
|
+
"created": {
|
|
152
|
+
"type": "string",
|
|
153
|
+
"format": "date-time"
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
{
|
|
2
|
+
"profileId": "vsc-draft-compat/0.1.0",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"sealVersion": "1.0",
|
|
5
|
+
"upstreamRevision": "c279de3debcd6eab94a77034584d1750f5d65e6a",
|
|
6
|
+
"upstream": {
|
|
7
|
+
"core": "https://w3c-cg.github.io/vsc/specs/vsc-core.html",
|
|
8
|
+
"requirements": "https://w3c-cg.github.io/vsc/specs/vsc-requirements.html"
|
|
9
|
+
},
|
|
10
|
+
"conformanceClaim": "Local implementation profile with explicit upstream gaps; no W3C certification",
|
|
11
|
+
"context": "urn:bsv:vsc:context:0.1.0",
|
|
12
|
+
"schema": "urn:bsv:vsc:schema:0.1.0",
|
|
13
|
+
"implemented": [
|
|
14
|
+
"secured-seal-structure",
|
|
15
|
+
"Ed25519Signature2020",
|
|
16
|
+
"bbs-2023-base-and-derived",
|
|
17
|
+
"assertion-purpose-and-issuer-binding",
|
|
18
|
+
"did:web-with-explicit-origin-policy",
|
|
19
|
+
"authenticated-bitstring-status",
|
|
20
|
+
"scoped-signed-issuer-authority",
|
|
21
|
+
"custody-state-machine",
|
|
22
|
+
"parent-DAG-with-diamond-support",
|
|
23
|
+
"immutable-correction-projection",
|
|
24
|
+
"signed-correction-delegation",
|
|
25
|
+
"five-EPCIS-event-round-trips",
|
|
26
|
+
"strict-UTF8-and-duplicate-key-parsing"
|
|
27
|
+
],
|
|
28
|
+
"decisions": [
|
|
29
|
+
{
|
|
30
|
+
"id": "CTX-01",
|
|
31
|
+
"rule": "Owned pinned context; unknown domain extension payloads are signed JSON literals; no replacement under a W3C URL."
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"id": "TIME-01",
|
|
35
|
+
"rule": "validFrom and authenticated credentialStatus required despite omission in Core examples; validUntil enforced when present."
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"id": "DAG-01",
|
|
39
|
+
"rule": "Parent-only traversal; branch-height sequence; fork child identifiers preallocated; no mutation of signed references."
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"id": "CORR-01",
|
|
43
|
+
"rule": "Correction topology accepted; new correction chain starts at 1 and has exactly its target parent; signed scoped delegation required for another issuer; competing branches remain indeterminate."
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"id": "SD-01",
|
|
47
|
+
"rule": "Credential subject and mirrored predecessor references always disclosed in this local profile. Null original-record correction marker restored after RDF derivation."
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"id": "ASSURANCE-01",
|
|
51
|
+
"rule": "Verification concerns provided evidence; authority not-required is an explicit verifier policy warning; no global freshness or physical truth claim."
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"id": "EPCIS-01",
|
|
55
|
+
"rule": "Full input event retained in a signed round-trip vocabulary; insufficient values and unsupported dispositions are rejected."
|
|
56
|
+
}
|
|
57
|
+
],
|
|
58
|
+
"upstreamGates": [
|
|
59
|
+
{
|
|
60
|
+
"id": "UPSTREAM-CONTEXT",
|
|
61
|
+
"status": "unavailable",
|
|
62
|
+
"detail": "Referenced VSC JSON-LD context returns 404; this package uses its own versioned context."
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"id": "UPSTREAM-TESTS",
|
|
66
|
+
"status": "unavailable",
|
|
67
|
+
"detail": "Pinned upstream supplies a prose test matrix, not an executable suite."
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"id": "CROSS-IMPLEMENTATION",
|
|
71
|
+
"status": "not-claimed",
|
|
72
|
+
"detail": "Tests use independent calls to maintained suites, not separately implemented full VSC stacks."
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"id": "PRESENTATION-HTTP",
|
|
76
|
+
"status": "not-implemented",
|
|
77
|
+
"detail": "Request-bound BBS primitives provided; no complete HTTPS request-response transport implementation."
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"id": "INDUSTRY-PROFILES",
|
|
81
|
+
"status": "not-implemented",
|
|
82
|
+
"detail": "No pharmaceutical, food or regulatory compliance claim."
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"id": "PHYSICAL-BINDING",
|
|
86
|
+
"status": "separate-capability",
|
|
87
|
+
"detail": "Object DIDs may be carried independently; tag authentication and physical binding are not implemented here."
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"id": "GLOBAL-HISTORY",
|
|
91
|
+
"status": "not-claimed",
|
|
92
|
+
"detail": "No global completeness or latest-state assertion; results identify provided-evidence scope."
|
|
93
|
+
}
|
|
94
|
+
],
|
|
95
|
+
"artifactDigests": {
|
|
96
|
+
"context-0.1.0.jsonld": "3c74b79c50ebb151086c8bbe05222d0177a9d20c6f7b725b4e3a60645274cccc",
|
|
97
|
+
"seal-0.1.0.schema.json": "839123ea6a2ca459c62143a9a38ece281a7b91e719dca057b28baf4d53106d15",
|
|
98
|
+
"disclosure-0.1.0.schema.json": "94afb330c77d28454f98fa4ceb52e4dddc9c6abc8f34877c2917b47dc024c67d"
|
|
99
|
+
}
|
|
100
|
+
}
|