@openvtc/trust-tasks 0.28.22 → 0.28.24
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/CHANGELOG.md +87 -0
- package/dist/_shared/components.d.ts +520 -0
- package/dist/_shared/components.d.ts.map +1 -1
- package/dist/index.d.ts +45 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +45 -0
- package/dist/index.js.map +1 -1
- package/dist/messaging/mux/_shared/0.1/mux.d.ts +16 -0
- package/dist/messaging/mux/_shared/0.1/mux.d.ts.map +1 -0
- package/dist/messaging/mux/_shared/0.1/mux.js +6 -0
- package/dist/messaging/mux/_shared/0.1/mux.js.map +1 -0
- package/dist/messaging/mux/attach/0.1/payload.d.ts +996 -0
- package/dist/messaging/mux/attach/0.1/payload.d.ts.map +1 -0
- package/dist/messaging/mux/attach/0.1/payload.js +594 -0
- package/dist/messaging/mux/attach/0.1/payload.js.map +1 -0
- package/dist/messaging/mux/detach/0.1/payload.d.ts +398 -0
- package/dist/messaging/mux/detach/0.1/payload.d.ts.map +1 -0
- package/dist/messaging/mux/detach/0.1/payload.js +215 -0
- package/dist/messaging/mux/detach/0.1/payload.js.map +1 -0
- package/dist/messaging/mux/event/0.1/payload.d.ts +513 -0
- package/dist/messaging/mux/event/0.1/payload.d.ts.map +1 -0
- package/dist/messaging/mux/event/0.1/payload.js +260 -0
- package/dist/messaging/mux/event/0.1/payload.js.map +1 -0
- package/dist/messaging/mux/grant/0.1/payload.d.ts +1008 -0
- package/dist/messaging/mux/grant/0.1/payload.d.ts.map +1 -0
- package/dist/messaging/mux/grant/0.1/payload.js +606 -0
- package/dist/messaging/mux/grant/0.1/payload.js.map +1 -0
- package/dist/messaging/mux/list/0.1/payload.d.ts +1241 -0
- package/dist/messaging/mux/list/0.1/payload.d.ts.map +1 -0
- package/dist/messaging/mux/list/0.1/payload.js +715 -0
- package/dist/messaging/mux/list/0.1/payload.js.map +1 -0
- package/dist/messaging/mux/notice/0.1/payload.d.ts +489 -0
- package/dist/messaging/mux/notice/0.1/payload.d.ts.map +1 -0
- package/dist/messaging/mux/notice/0.1/payload.js +249 -0
- package/dist/messaging/mux/notice/0.1/payload.js.map +1 -0
- package/dist/messaging/mux/revoke/0.1/payload.d.ts +585 -0
- package/dist/messaging/mux/revoke/0.1/payload.d.ts.map +1 -0
- package/dist/messaging/mux/revoke/0.1/payload.js +311 -0
- package/dist/messaging/mux/revoke/0.1/payload.js.map +1 -0
- package/dist/messaging/mux/revoke-all/0.1/payload.d.ts +682 -0
- package/dist/messaging/mux/revoke-all/0.1/payload.d.ts.map +1 -0
- package/dist/messaging/mux/revoke-all/0.1/payload.js +397 -0
- package/dist/messaging/mux/revoke-all/0.1/payload.js.map +1 -0
- package/dist/messaging/mux/update/0.1/payload.d.ts +995 -0
- package/dist/messaging/mux/update/0.1/payload.d.ts.map +1 -0
- package/dist/messaging/mux/update/0.1/payload.js +586 -0
- package/dist/messaging/mux/update/0.1/payload.js.map +1 -0
- package/dist/vta/_shared/0.1/memory-record.d.ts +22 -0
- package/dist/vta/_shared/0.1/memory-record.d.ts.map +1 -0
- package/dist/vta/_shared/0.1/memory-record.js +6 -0
- package/dist/vta/_shared/0.1/memory-record.js.map +1 -0
- package/dist/vta/memory/delete/0.1/payload.d.ts +13 -2
- package/dist/vta/memory/delete/0.1/payload.d.ts.map +1 -1
- package/dist/vta/memory/delete/0.1/payload.js +1 -1
- package/dist/vta/memory/delete/0.1/payload.js.map +1 -1
- package/dist/vta/memory/delete/0.2/payload.d.ts +415 -0
- package/dist/vta/memory/delete/0.2/payload.d.ts.map +1 -0
- package/dist/vta/memory/delete/0.2/payload.js +224 -0
- package/dist/vta/memory/delete/0.2/payload.js.map +1 -0
- package/dist/vta/memory/get/0.1/payload.d.ts +646 -0
- package/dist/vta/memory/get/0.1/payload.d.ts.map +1 -0
- package/dist/vta/memory/get/0.1/payload.js +349 -0
- package/dist/vta/memory/get/0.1/payload.js.map +1 -0
- package/dist/vta/memory/list/0.1/payload.d.ts +13 -2
- package/dist/vta/memory/list/0.1/payload.d.ts.map +1 -1
- package/dist/vta/memory/list/0.1/payload.js +1 -1
- package/dist/vta/memory/list/0.1/payload.js.map +1 -1
- package/dist/vta/memory/list/0.2/payload.d.ts +693 -0
- package/dist/vta/memory/list/0.2/payload.d.ts.map +1 -0
- package/dist/vta/memory/list/0.2/payload.js +363 -0
- package/dist/vta/memory/list/0.2/payload.js.map +1 -0
- package/dist/vta/memory/put/0.1/payload.d.ts +13 -2
- package/dist/vta/memory/put/0.1/payload.d.ts.map +1 -1
- package/dist/vta/memory/put/0.1/payload.js +1 -1
- package/dist/vta/memory/put/0.1/payload.js.map +1 -1
- package/dist/vta/memory/put/0.2/payload.d.ts +490 -0
- package/dist/vta/memory/put/0.2/payload.d.ts.map +1 -0
- package/dist/vta/memory/put/0.2/payload.js +264 -0
- package/dist/vta/memory/put/0.2/payload.js.map +1 -0
- package/dist/vtc/members/rotate/0.1/payload.d.ts +12 -5
- package/dist/vtc/members/rotate/0.1/payload.d.ts.map +1 -1
- package/dist/vtc/members/rotate/0.1/payload.js +8 -2
- package/dist/vtc/members/rotate/0.1/payload.js.map +1 -1
- package/package.json +1 -1
- package/src/_shared/components.ts +581 -0
- package/src/index.ts +45 -0
- package/src/messaging/mux/_shared/0.1/mux.ts +17 -0
- package/src/messaging/mux/attach/0.1/payload.ts +682 -0
- package/src/messaging/mux/detach/0.1/payload.ts +278 -0
- package/src/messaging/mux/event/0.1/payload.ts +371 -0
- package/src/messaging/mux/grant/0.1/payload.ts +710 -0
- package/src/messaging/mux/list/0.1/payload.ts +793 -0
- package/src/messaging/mux/notice/0.1/payload.ts +362 -0
- package/src/messaging/mux/revoke/0.1/payload.ts +389 -0
- package/src/messaging/mux/revoke-all/0.1/payload.ts +452 -0
- package/src/messaging/mux/update/0.1/payload.ts +644 -0
- package/src/vta/_shared/0.1/memory-record.ts +23 -0
- package/src/vta/memory/delete/0.1/payload.ts +14 -3
- package/src/vta/memory/delete/0.2/payload.ts +288 -0
- package/src/vta/memory/get/0.1/payload.ts +414 -0
- package/src/vta/memory/list/0.1/payload.ts +14 -3
- package/src/vta/memory/list/0.2/payload.ts +445 -0
- package/src/vta/memory/put/0.1/payload.ts +14 -3
- package/src/vta/memory/put/0.2/payload.ts +333 -0
- package/src/vtc/members/rotate/0.1/payload.ts +12 -3
|
@@ -0,0 +1,682 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated by scripts/build-ts-bindings.mjs — DO NOT EDIT BY HAND.
|
|
3
|
+
* Source: specs/messaging/mux/revoke-all/0.1/payload.schema.json
|
|
4
|
+
*/
|
|
5
|
+
import type { DataIntegrityProof, Ext, MuxDataIntegrityProof, MuxDid, RevokeAllStatement } from "../../../../_shared/components.js";
|
|
6
|
+
/**
|
|
7
|
+
* A member DID, proving current control with a signed revoke-all statement, advances its epoch at the mediator and so voids every grant on it at once. The outer document members are owned by the framework — SPEC §6.3.
|
|
8
|
+
*/
|
|
9
|
+
export interface MessagingMuxRevokeAllPayload {
|
|
10
|
+
/**
|
|
11
|
+
* The revoke-all statement; the member DID is its `issuer`.
|
|
12
|
+
*/
|
|
13
|
+
revocation: RevokeAllStatement;
|
|
14
|
+
/**
|
|
15
|
+
* Ecosystem-defined extension members per SPEC.md §4.5.1.
|
|
16
|
+
*/
|
|
17
|
+
ext?: Ext;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* The success response to a messaging/mux/revoke-all request. Carried in a Trust Task document whose type is https://trusttasks.org/spec/messaging/mux/revoke-all/0.1#response.
|
|
21
|
+
*/
|
|
22
|
+
export interface MessagingMuxRevokeAllResponsePayload {
|
|
23
|
+
did: MuxDid;
|
|
24
|
+
/**
|
|
25
|
+
* The member DID's epoch now in force; a new grant must carry it.
|
|
26
|
+
*/
|
|
27
|
+
epoch: number;
|
|
28
|
+
/**
|
|
29
|
+
* False when the epoch named in the proof had already been voided, so nothing changed.
|
|
30
|
+
*/
|
|
31
|
+
epochAdvanced: boolean;
|
|
32
|
+
/**
|
|
33
|
+
* How many grants that were active this request moved to `epochRevoked`.
|
|
34
|
+
*/
|
|
35
|
+
revokedGrants: number;
|
|
36
|
+
/**
|
|
37
|
+
* Ecosystem-defined extension members per SPEC.md §4.5.1.
|
|
38
|
+
*/
|
|
39
|
+
ext?: Ext;
|
|
40
|
+
}
|
|
41
|
+
/** Shared definitions this specification references, re-exported under the names it used to declare them with. */
|
|
42
|
+
export type { DataIntegrityProof, Ext, MuxDataIntegrityProof, MuxDid, RevokeAllStatement };
|
|
43
|
+
/** Trust Task type URI. */
|
|
44
|
+
export declare const TYPE_URI: "https://trusttasks.org/spec/messaging/mux/revoke-all/0.1";
|
|
45
|
+
/**
|
|
46
|
+
* The earlier version of this specification that this one declares it
|
|
47
|
+
* extends (front matter `extends`, SPEC §5.2 "Declared extension"), or
|
|
48
|
+
* `null`. Only the direct declaration — follow the chain with
|
|
49
|
+
* `extendsChain` / `readForSpec`.
|
|
50
|
+
*/
|
|
51
|
+
export declare const EXTENDS: string | null;
|
|
52
|
+
/**
|
|
53
|
+
* Why this version is deprecated, or `null` while it is current. A
|
|
54
|
+
* superseded or retired version is still supported, and is withdrawn from
|
|
55
|
+
* this package in a later scheduled batch (SPEC "Superseded and Withdrawn
|
|
56
|
+
* Versions").
|
|
57
|
+
*/
|
|
58
|
+
export declare const DEPRECATION: string | null;
|
|
59
|
+
/** Stable alias for this specification's request payload shape. */
|
|
60
|
+
export type Payload = MessagingMuxRevokeAllPayload;
|
|
61
|
+
/** Trust Task response type URI (request type URI + "#response"). */
|
|
62
|
+
export declare const RESPONSE_TYPE_URI: "https://trusttasks.org/spec/messaging/mux/revoke-all/0.1#response";
|
|
63
|
+
/** Stable alias for this specification's success-response payload shape. */
|
|
64
|
+
export type Response = MessagingMuxRevokeAllResponsePayload;
|
|
65
|
+
/**
|
|
66
|
+
* This specification's payload schema, as a value.
|
|
67
|
+
*
|
|
68
|
+
* SPEC.md §7.2 item 2 is performed against this. It is shipped as data
|
|
69
|
+
* rather than only as a `.json` file because TypeScript types are erased
|
|
70
|
+
* at runtime: without a schema a consumer has nothing to validate, and
|
|
71
|
+
* every REQUIRED payload member is optional in practice. Cross-file
|
|
72
|
+
* `$ref`s are already inlined, so it needs no resolver.
|
|
73
|
+
*/
|
|
74
|
+
export declare const PAYLOAD_SCHEMA: {
|
|
75
|
+
readonly $schema: "https://json-schema.org/draft/2020-12/schema";
|
|
76
|
+
readonly $id: "https://trusttasks.org/spec/messaging/mux/revoke-all/0.1";
|
|
77
|
+
readonly title: "Messaging — Mux Revoke All — payload";
|
|
78
|
+
readonly description: "A member DID, proving current control with a signed revoke-all statement, advances its epoch at the mediator and so voids every grant on it at once. The outer document members are owned by the framework — SPEC §6.3.";
|
|
79
|
+
readonly type: "object";
|
|
80
|
+
readonly additionalProperties: false;
|
|
81
|
+
readonly required: readonly ["revocation"];
|
|
82
|
+
readonly properties: {
|
|
83
|
+
readonly revocation: {
|
|
84
|
+
readonly $ref: "#/$defs/RevokeAllStatement";
|
|
85
|
+
readonly description: "The revoke-all statement; the member DID is its `issuer`.";
|
|
86
|
+
};
|
|
87
|
+
readonly ext: {
|
|
88
|
+
readonly $ref: "#/$defs/Ext";
|
|
89
|
+
readonly description: "Ecosystem-defined extension members per SPEC.md §4.5.1.";
|
|
90
|
+
};
|
|
91
|
+
};
|
|
92
|
+
readonly $defs: {
|
|
93
|
+
readonly Response: {
|
|
94
|
+
readonly $anchor: "response";
|
|
95
|
+
readonly title: "Messaging — Mux Revoke All — response payload";
|
|
96
|
+
readonly description: "The success response to a messaging/mux/revoke-all request. Carried in a Trust Task document whose type is https://trusttasks.org/spec/messaging/mux/revoke-all/0.1#response.";
|
|
97
|
+
readonly type: "object";
|
|
98
|
+
readonly additionalProperties: false;
|
|
99
|
+
readonly required: readonly ["did", "epoch", "epochAdvanced", "revokedGrants"];
|
|
100
|
+
readonly properties: {
|
|
101
|
+
readonly did: {
|
|
102
|
+
readonly $ref: "#/$defs/MuxDid";
|
|
103
|
+
};
|
|
104
|
+
readonly epoch: {
|
|
105
|
+
readonly type: "integer";
|
|
106
|
+
readonly minimum: 0;
|
|
107
|
+
readonly description: "The member DID's epoch now in force; a new grant must carry it.";
|
|
108
|
+
};
|
|
109
|
+
readonly epochAdvanced: {
|
|
110
|
+
readonly type: "boolean";
|
|
111
|
+
readonly description: "False when the epoch named in the proof had already been voided, so nothing changed.";
|
|
112
|
+
};
|
|
113
|
+
readonly revokedGrants: {
|
|
114
|
+
readonly type: "integer";
|
|
115
|
+
readonly minimum: 0;
|
|
116
|
+
readonly description: "How many grants that were active this request moved to `epochRevoked`.";
|
|
117
|
+
};
|
|
118
|
+
readonly ext: {
|
|
119
|
+
readonly $ref: "#/$defs/Ext";
|
|
120
|
+
readonly description: "Ecosystem-defined extension members per SPEC.md §4.5.1.";
|
|
121
|
+
};
|
|
122
|
+
};
|
|
123
|
+
};
|
|
124
|
+
readonly Ext: {
|
|
125
|
+
readonly title: "Ext";
|
|
126
|
+
readonly description: "Vendor-namespaced extension object per SPEC.md §4.5.1. Each immediate key MUST be a reverse-DNS namespace; structure under each namespace is opaque to the framework.";
|
|
127
|
+
readonly type: "object";
|
|
128
|
+
readonly minProperties: 1;
|
|
129
|
+
readonly additionalProperties: true;
|
|
130
|
+
readonly propertyNames: {
|
|
131
|
+
readonly pattern: "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$";
|
|
132
|
+
};
|
|
133
|
+
};
|
|
134
|
+
readonly MuxDid: {
|
|
135
|
+
readonly title: "MuxDid";
|
|
136
|
+
readonly type: "string";
|
|
137
|
+
readonly minLength: 7;
|
|
138
|
+
readonly maxLength: 2048;
|
|
139
|
+
readonly pattern: "^did:[a-z0-9]+:\\S+$";
|
|
140
|
+
readonly description: "A DID, carried verbatim and compared by exact string equality. Unlike the messaging family's `Vid`, never a hash: the mediator resolves it to verify a statement signed by it. For a member DID reached over TSP, the TSP VID is the DID itself.";
|
|
141
|
+
};
|
|
142
|
+
readonly RevokeAllStatement: {
|
|
143
|
+
readonly title: "RevokeAllStatement";
|
|
144
|
+
readonly type: "object";
|
|
145
|
+
readonly additionalProperties: false;
|
|
146
|
+
readonly required: readonly ["type", "issuer", "audience", "epoch", "iat", "exp", "proof"];
|
|
147
|
+
readonly description: "A member DID's statement, proving current control of it, that every grant on it signed under `epoch` or earlier is void. Signed by the member with an embedded Data Integrity proof whose purpose is `authentication`.";
|
|
148
|
+
readonly properties: {
|
|
149
|
+
readonly type: {
|
|
150
|
+
readonly type: "string";
|
|
151
|
+
readonly const: "muxRevokeAll";
|
|
152
|
+
readonly description: "Always `muxRevokeAll`; names the statement kind, so a statement of one kind is never accepted as another.";
|
|
153
|
+
};
|
|
154
|
+
readonly issuer: {
|
|
155
|
+
readonly $ref: "#/$defs/MuxDid";
|
|
156
|
+
readonly description: "The member DID: the signer, and the DID the statement concerns.";
|
|
157
|
+
};
|
|
158
|
+
readonly audience: {
|
|
159
|
+
readonly $ref: "#/$defs/MuxDid";
|
|
160
|
+
readonly description: "The mediator's DID. A statement names exactly one mediator and is refused by every other.";
|
|
161
|
+
};
|
|
162
|
+
readonly epoch: {
|
|
163
|
+
readonly type: "integer";
|
|
164
|
+
readonly minimum: 0;
|
|
165
|
+
readonly description: "The epoch being voided: the member DID's current one.";
|
|
166
|
+
};
|
|
167
|
+
readonly iat: {
|
|
168
|
+
readonly type: "integer";
|
|
169
|
+
readonly minimum: 0;
|
|
170
|
+
readonly description: "JWT NumericDate (RFC 7519 §2), whole seconds since 1970-01-01T00:00:00Z UTC: when the statement was signed. MUST NOT be more than 60 seconds in the mediator's future.";
|
|
171
|
+
};
|
|
172
|
+
readonly exp: {
|
|
173
|
+
readonly type: "integer";
|
|
174
|
+
readonly minimum: 0;
|
|
175
|
+
readonly description: "JWT NumericDate (RFC 7519 §2): when the statement stops being accepted. REQUIRED; MUST be after `iat` and in the future.";
|
|
176
|
+
};
|
|
177
|
+
readonly proof: {
|
|
178
|
+
readonly $ref: "#/$defs/MuxDataIntegrityProof";
|
|
179
|
+
};
|
|
180
|
+
};
|
|
181
|
+
};
|
|
182
|
+
readonly MuxDataIntegrityProof: {
|
|
183
|
+
readonly title: "MuxDataIntegrityProof";
|
|
184
|
+
readonly type: "object";
|
|
185
|
+
readonly additionalProperties: false;
|
|
186
|
+
readonly required: readonly ["type", "cryptosuite", "verificationMethod", "proofPurpose", "proofValue"];
|
|
187
|
+
readonly description: "The W3C Data Integrity proof embedded in a mux statement, made by the member DID: the format and verifier Trust Tasks already use for document proofs (SPEC §4.7). The proof covers the whole statement except `proof` itself, as the cryptosuite defines. Closed: a member Data Integrity defines but this list omits is refused.";
|
|
188
|
+
readonly properties: {
|
|
189
|
+
readonly type: {
|
|
190
|
+
readonly type: "string";
|
|
191
|
+
readonly const: "DataIntegrityProof";
|
|
192
|
+
};
|
|
193
|
+
readonly cryptosuite: {
|
|
194
|
+
readonly type: "string";
|
|
195
|
+
readonly enum: readonly ["eddsa-jcs-2022", "eddsa-rdfc-2022"];
|
|
196
|
+
readonly description: "The W3C Data Integrity EdDSA cryptosuite used.";
|
|
197
|
+
};
|
|
198
|
+
readonly verificationMethod: {
|
|
199
|
+
readonly type: "string";
|
|
200
|
+
readonly minLength: 5;
|
|
201
|
+
readonly maxLength: 2048;
|
|
202
|
+
readonly pattern: "^did:\\S+#\\S+$";
|
|
203
|
+
readonly description: "The DID URL of the verification method that signed. MUST be controlled by the statement's `issuer` and listed in that DID's current `authentication` relationship.";
|
|
204
|
+
};
|
|
205
|
+
readonly proofPurpose: {
|
|
206
|
+
readonly type: "string";
|
|
207
|
+
readonly minLength: 1;
|
|
208
|
+
readonly maxLength: 64;
|
|
209
|
+
readonly description: "MUST be `authentication`. Any other value is refused with `messaging/mux:proofPurposeInvalid` — a proof made for another relationship (an `assertionMethod` credential signature, say) is never accepted as control of the DID.";
|
|
210
|
+
};
|
|
211
|
+
readonly created: {
|
|
212
|
+
readonly type: "string";
|
|
213
|
+
readonly format: "date-time";
|
|
214
|
+
readonly description: "OPTIONAL: when the proof was made, as Data Integrity defines it. Covered by the proof; the statement's own `iat` is what the mediator checks.";
|
|
215
|
+
};
|
|
216
|
+
readonly proofValue: {
|
|
217
|
+
readonly type: "string";
|
|
218
|
+
readonly minLength: 2;
|
|
219
|
+
readonly maxLength: 4096;
|
|
220
|
+
readonly pattern: "^z[1-9A-HJ-NP-Za-km-z]+$";
|
|
221
|
+
readonly description: "The multibase (base58btc) signature.";
|
|
222
|
+
};
|
|
223
|
+
};
|
|
224
|
+
};
|
|
225
|
+
};
|
|
226
|
+
};
|
|
227
|
+
/** As {@link PAYLOAD_SCHEMA}, for the success-response variant. */
|
|
228
|
+
export declare const RESPONSE_PAYLOAD_SCHEMA: {
|
|
229
|
+
readonly $schema: "https://json-schema.org/draft/2020-12/schema";
|
|
230
|
+
readonly $ref: "#/$defs/Response";
|
|
231
|
+
readonly $defs: {
|
|
232
|
+
readonly Response: {
|
|
233
|
+
readonly $anchor: "response";
|
|
234
|
+
readonly title: "Messaging — Mux Revoke All — response payload";
|
|
235
|
+
readonly description: "The success response to a messaging/mux/revoke-all request. Carried in a Trust Task document whose type is https://trusttasks.org/spec/messaging/mux/revoke-all/0.1#response.";
|
|
236
|
+
readonly type: "object";
|
|
237
|
+
readonly additionalProperties: false;
|
|
238
|
+
readonly required: readonly ["did", "epoch", "epochAdvanced", "revokedGrants"];
|
|
239
|
+
readonly properties: {
|
|
240
|
+
readonly did: {
|
|
241
|
+
readonly $ref: "#/$defs/MuxDid";
|
|
242
|
+
};
|
|
243
|
+
readonly epoch: {
|
|
244
|
+
readonly type: "integer";
|
|
245
|
+
readonly minimum: 0;
|
|
246
|
+
readonly description: "The member DID's epoch now in force; a new grant must carry it.";
|
|
247
|
+
};
|
|
248
|
+
readonly epochAdvanced: {
|
|
249
|
+
readonly type: "boolean";
|
|
250
|
+
readonly description: "False when the epoch named in the proof had already been voided, so nothing changed.";
|
|
251
|
+
};
|
|
252
|
+
readonly revokedGrants: {
|
|
253
|
+
readonly type: "integer";
|
|
254
|
+
readonly minimum: 0;
|
|
255
|
+
readonly description: "How many grants that were active this request moved to `epochRevoked`.";
|
|
256
|
+
};
|
|
257
|
+
readonly ext: {
|
|
258
|
+
readonly $ref: "#/$defs/Ext";
|
|
259
|
+
readonly description: "Ecosystem-defined extension members per SPEC.md §4.5.1.";
|
|
260
|
+
};
|
|
261
|
+
};
|
|
262
|
+
};
|
|
263
|
+
readonly Ext: {
|
|
264
|
+
readonly title: "Ext";
|
|
265
|
+
readonly description: "Vendor-namespaced extension object per SPEC.md §4.5.1. Each immediate key MUST be a reverse-DNS namespace; structure under each namespace is opaque to the framework.";
|
|
266
|
+
readonly type: "object";
|
|
267
|
+
readonly minProperties: 1;
|
|
268
|
+
readonly additionalProperties: true;
|
|
269
|
+
readonly propertyNames: {
|
|
270
|
+
readonly pattern: "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$";
|
|
271
|
+
};
|
|
272
|
+
};
|
|
273
|
+
readonly MuxDid: {
|
|
274
|
+
readonly title: "MuxDid";
|
|
275
|
+
readonly type: "string";
|
|
276
|
+
readonly minLength: 7;
|
|
277
|
+
readonly maxLength: 2048;
|
|
278
|
+
readonly pattern: "^did:[a-z0-9]+:\\S+$";
|
|
279
|
+
readonly description: "A DID, carried verbatim and compared by exact string equality. Unlike the messaging family's `Vid`, never a hash: the mediator resolves it to verify a statement signed by it. For a member DID reached over TSP, the TSP VID is the DID itself.";
|
|
280
|
+
};
|
|
281
|
+
readonly RevokeAllStatement: {
|
|
282
|
+
readonly title: "RevokeAllStatement";
|
|
283
|
+
readonly type: "object";
|
|
284
|
+
readonly additionalProperties: false;
|
|
285
|
+
readonly required: readonly ["type", "issuer", "audience", "epoch", "iat", "exp", "proof"];
|
|
286
|
+
readonly description: "A member DID's statement, proving current control of it, that every grant on it signed under `epoch` or earlier is void. Signed by the member with an embedded Data Integrity proof whose purpose is `authentication`.";
|
|
287
|
+
readonly properties: {
|
|
288
|
+
readonly type: {
|
|
289
|
+
readonly type: "string";
|
|
290
|
+
readonly const: "muxRevokeAll";
|
|
291
|
+
readonly description: "Always `muxRevokeAll`; names the statement kind, so a statement of one kind is never accepted as another.";
|
|
292
|
+
};
|
|
293
|
+
readonly issuer: {
|
|
294
|
+
readonly $ref: "#/$defs/MuxDid";
|
|
295
|
+
readonly description: "The member DID: the signer, and the DID the statement concerns.";
|
|
296
|
+
};
|
|
297
|
+
readonly audience: {
|
|
298
|
+
readonly $ref: "#/$defs/MuxDid";
|
|
299
|
+
readonly description: "The mediator's DID. A statement names exactly one mediator and is refused by every other.";
|
|
300
|
+
};
|
|
301
|
+
readonly epoch: {
|
|
302
|
+
readonly type: "integer";
|
|
303
|
+
readonly minimum: 0;
|
|
304
|
+
readonly description: "The epoch being voided: the member DID's current one.";
|
|
305
|
+
};
|
|
306
|
+
readonly iat: {
|
|
307
|
+
readonly type: "integer";
|
|
308
|
+
readonly minimum: 0;
|
|
309
|
+
readonly description: "JWT NumericDate (RFC 7519 §2), whole seconds since 1970-01-01T00:00:00Z UTC: when the statement was signed. MUST NOT be more than 60 seconds in the mediator's future.";
|
|
310
|
+
};
|
|
311
|
+
readonly exp: {
|
|
312
|
+
readonly type: "integer";
|
|
313
|
+
readonly minimum: 0;
|
|
314
|
+
readonly description: "JWT NumericDate (RFC 7519 §2): when the statement stops being accepted. REQUIRED; MUST be after `iat` and in the future.";
|
|
315
|
+
};
|
|
316
|
+
readonly proof: {
|
|
317
|
+
readonly $ref: "#/$defs/MuxDataIntegrityProof";
|
|
318
|
+
};
|
|
319
|
+
};
|
|
320
|
+
};
|
|
321
|
+
readonly MuxDataIntegrityProof: {
|
|
322
|
+
readonly title: "MuxDataIntegrityProof";
|
|
323
|
+
readonly type: "object";
|
|
324
|
+
readonly additionalProperties: false;
|
|
325
|
+
readonly required: readonly ["type", "cryptosuite", "verificationMethod", "proofPurpose", "proofValue"];
|
|
326
|
+
readonly description: "The W3C Data Integrity proof embedded in a mux statement, made by the member DID: the format and verifier Trust Tasks already use for document proofs (SPEC §4.7). The proof covers the whole statement except `proof` itself, as the cryptosuite defines. Closed: a member Data Integrity defines but this list omits is refused.";
|
|
327
|
+
readonly properties: {
|
|
328
|
+
readonly type: {
|
|
329
|
+
readonly type: "string";
|
|
330
|
+
readonly const: "DataIntegrityProof";
|
|
331
|
+
};
|
|
332
|
+
readonly cryptosuite: {
|
|
333
|
+
readonly type: "string";
|
|
334
|
+
readonly enum: readonly ["eddsa-jcs-2022", "eddsa-rdfc-2022"];
|
|
335
|
+
readonly description: "The W3C Data Integrity EdDSA cryptosuite used.";
|
|
336
|
+
};
|
|
337
|
+
readonly verificationMethod: {
|
|
338
|
+
readonly type: "string";
|
|
339
|
+
readonly minLength: 5;
|
|
340
|
+
readonly maxLength: 2048;
|
|
341
|
+
readonly pattern: "^did:\\S+#\\S+$";
|
|
342
|
+
readonly description: "The DID URL of the verification method that signed. MUST be controlled by the statement's `issuer` and listed in that DID's current `authentication` relationship.";
|
|
343
|
+
};
|
|
344
|
+
readonly proofPurpose: {
|
|
345
|
+
readonly type: "string";
|
|
346
|
+
readonly minLength: 1;
|
|
347
|
+
readonly maxLength: 64;
|
|
348
|
+
readonly description: "MUST be `authentication`. Any other value is refused with `messaging/mux:proofPurposeInvalid` — a proof made for another relationship (an `assertionMethod` credential signature, say) is never accepted as control of the DID.";
|
|
349
|
+
};
|
|
350
|
+
readonly created: {
|
|
351
|
+
readonly type: "string";
|
|
352
|
+
readonly format: "date-time";
|
|
353
|
+
readonly description: "OPTIONAL: when the proof was made, as Data Integrity defines it. Covered by the proof; the statement's own `iat` is what the mediator checks.";
|
|
354
|
+
};
|
|
355
|
+
readonly proofValue: {
|
|
356
|
+
readonly type: "string";
|
|
357
|
+
readonly minLength: 2;
|
|
358
|
+
readonly maxLength: 4096;
|
|
359
|
+
readonly pattern: "^z[1-9A-HJ-NP-Za-km-z]+$";
|
|
360
|
+
readonly description: "The multibase (base58btc) signature.";
|
|
361
|
+
};
|
|
362
|
+
};
|
|
363
|
+
};
|
|
364
|
+
};
|
|
365
|
+
};
|
|
366
|
+
/**
|
|
367
|
+
* SPEC.md §7.2 policy for the request variant, from this specification's
|
|
368
|
+
* front matter. Pass to `consumeInbound` — items 5b, 7 and 8 are
|
|
369
|
+
* per-specification and cannot be derived from the document alone, and
|
|
370
|
+
* item 2 needs the schema this carries.
|
|
371
|
+
*/
|
|
372
|
+
export declare const SPEC: {
|
|
373
|
+
readonly typeUri: "https://trusttasks.org/spec/messaging/mux/revoke-all/0.1";
|
|
374
|
+
readonly isBearer: false;
|
|
375
|
+
readonly isProofRequired: true;
|
|
376
|
+
readonly isRecipientRequired: true;
|
|
377
|
+
readonly isIssuedAtRequired: true;
|
|
378
|
+
readonly payloadSchema: {
|
|
379
|
+
readonly $schema: "https://json-schema.org/draft/2020-12/schema";
|
|
380
|
+
readonly $id: "https://trusttasks.org/spec/messaging/mux/revoke-all/0.1";
|
|
381
|
+
readonly title: "Messaging — Mux Revoke All — payload";
|
|
382
|
+
readonly description: "A member DID, proving current control with a signed revoke-all statement, advances its epoch at the mediator and so voids every grant on it at once. The outer document members are owned by the framework — SPEC §6.3.";
|
|
383
|
+
readonly type: "object";
|
|
384
|
+
readonly additionalProperties: false;
|
|
385
|
+
readonly required: readonly ["revocation"];
|
|
386
|
+
readonly properties: {
|
|
387
|
+
readonly revocation: {
|
|
388
|
+
readonly $ref: "#/$defs/RevokeAllStatement";
|
|
389
|
+
readonly description: "The revoke-all statement; the member DID is its `issuer`.";
|
|
390
|
+
};
|
|
391
|
+
readonly ext: {
|
|
392
|
+
readonly $ref: "#/$defs/Ext";
|
|
393
|
+
readonly description: "Ecosystem-defined extension members per SPEC.md §4.5.1.";
|
|
394
|
+
};
|
|
395
|
+
};
|
|
396
|
+
readonly $defs: {
|
|
397
|
+
readonly Response: {
|
|
398
|
+
readonly $anchor: "response";
|
|
399
|
+
readonly title: "Messaging — Mux Revoke All — response payload";
|
|
400
|
+
readonly description: "The success response to a messaging/mux/revoke-all request. Carried in a Trust Task document whose type is https://trusttasks.org/spec/messaging/mux/revoke-all/0.1#response.";
|
|
401
|
+
readonly type: "object";
|
|
402
|
+
readonly additionalProperties: false;
|
|
403
|
+
readonly required: readonly ["did", "epoch", "epochAdvanced", "revokedGrants"];
|
|
404
|
+
readonly properties: {
|
|
405
|
+
readonly did: {
|
|
406
|
+
readonly $ref: "#/$defs/MuxDid";
|
|
407
|
+
};
|
|
408
|
+
readonly epoch: {
|
|
409
|
+
readonly type: "integer";
|
|
410
|
+
readonly minimum: 0;
|
|
411
|
+
readonly description: "The member DID's epoch now in force; a new grant must carry it.";
|
|
412
|
+
};
|
|
413
|
+
readonly epochAdvanced: {
|
|
414
|
+
readonly type: "boolean";
|
|
415
|
+
readonly description: "False when the epoch named in the proof had already been voided, so nothing changed.";
|
|
416
|
+
};
|
|
417
|
+
readonly revokedGrants: {
|
|
418
|
+
readonly type: "integer";
|
|
419
|
+
readonly minimum: 0;
|
|
420
|
+
readonly description: "How many grants that were active this request moved to `epochRevoked`.";
|
|
421
|
+
};
|
|
422
|
+
readonly ext: {
|
|
423
|
+
readonly $ref: "#/$defs/Ext";
|
|
424
|
+
readonly description: "Ecosystem-defined extension members per SPEC.md §4.5.1.";
|
|
425
|
+
};
|
|
426
|
+
};
|
|
427
|
+
};
|
|
428
|
+
readonly Ext: {
|
|
429
|
+
readonly title: "Ext";
|
|
430
|
+
readonly description: "Vendor-namespaced extension object per SPEC.md §4.5.1. Each immediate key MUST be a reverse-DNS namespace; structure under each namespace is opaque to the framework.";
|
|
431
|
+
readonly type: "object";
|
|
432
|
+
readonly minProperties: 1;
|
|
433
|
+
readonly additionalProperties: true;
|
|
434
|
+
readonly propertyNames: {
|
|
435
|
+
readonly pattern: "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$";
|
|
436
|
+
};
|
|
437
|
+
};
|
|
438
|
+
readonly MuxDid: {
|
|
439
|
+
readonly title: "MuxDid";
|
|
440
|
+
readonly type: "string";
|
|
441
|
+
readonly minLength: 7;
|
|
442
|
+
readonly maxLength: 2048;
|
|
443
|
+
readonly pattern: "^did:[a-z0-9]+:\\S+$";
|
|
444
|
+
readonly description: "A DID, carried verbatim and compared by exact string equality. Unlike the messaging family's `Vid`, never a hash: the mediator resolves it to verify a statement signed by it. For a member DID reached over TSP, the TSP VID is the DID itself.";
|
|
445
|
+
};
|
|
446
|
+
readonly RevokeAllStatement: {
|
|
447
|
+
readonly title: "RevokeAllStatement";
|
|
448
|
+
readonly type: "object";
|
|
449
|
+
readonly additionalProperties: false;
|
|
450
|
+
readonly required: readonly ["type", "issuer", "audience", "epoch", "iat", "exp", "proof"];
|
|
451
|
+
readonly description: "A member DID's statement, proving current control of it, that every grant on it signed under `epoch` or earlier is void. Signed by the member with an embedded Data Integrity proof whose purpose is `authentication`.";
|
|
452
|
+
readonly properties: {
|
|
453
|
+
readonly type: {
|
|
454
|
+
readonly type: "string";
|
|
455
|
+
readonly const: "muxRevokeAll";
|
|
456
|
+
readonly description: "Always `muxRevokeAll`; names the statement kind, so a statement of one kind is never accepted as another.";
|
|
457
|
+
};
|
|
458
|
+
readonly issuer: {
|
|
459
|
+
readonly $ref: "#/$defs/MuxDid";
|
|
460
|
+
readonly description: "The member DID: the signer, and the DID the statement concerns.";
|
|
461
|
+
};
|
|
462
|
+
readonly audience: {
|
|
463
|
+
readonly $ref: "#/$defs/MuxDid";
|
|
464
|
+
readonly description: "The mediator's DID. A statement names exactly one mediator and is refused by every other.";
|
|
465
|
+
};
|
|
466
|
+
readonly epoch: {
|
|
467
|
+
readonly type: "integer";
|
|
468
|
+
readonly minimum: 0;
|
|
469
|
+
readonly description: "The epoch being voided: the member DID's current one.";
|
|
470
|
+
};
|
|
471
|
+
readonly iat: {
|
|
472
|
+
readonly type: "integer";
|
|
473
|
+
readonly minimum: 0;
|
|
474
|
+
readonly description: "JWT NumericDate (RFC 7519 §2), whole seconds since 1970-01-01T00:00:00Z UTC: when the statement was signed. MUST NOT be more than 60 seconds in the mediator's future.";
|
|
475
|
+
};
|
|
476
|
+
readonly exp: {
|
|
477
|
+
readonly type: "integer";
|
|
478
|
+
readonly minimum: 0;
|
|
479
|
+
readonly description: "JWT NumericDate (RFC 7519 §2): when the statement stops being accepted. REQUIRED; MUST be after `iat` and in the future.";
|
|
480
|
+
};
|
|
481
|
+
readonly proof: {
|
|
482
|
+
readonly $ref: "#/$defs/MuxDataIntegrityProof";
|
|
483
|
+
};
|
|
484
|
+
};
|
|
485
|
+
};
|
|
486
|
+
readonly MuxDataIntegrityProof: {
|
|
487
|
+
readonly title: "MuxDataIntegrityProof";
|
|
488
|
+
readonly type: "object";
|
|
489
|
+
readonly additionalProperties: false;
|
|
490
|
+
readonly required: readonly ["type", "cryptosuite", "verificationMethod", "proofPurpose", "proofValue"];
|
|
491
|
+
readonly description: "The W3C Data Integrity proof embedded in a mux statement, made by the member DID: the format and verifier Trust Tasks already use for document proofs (SPEC §4.7). The proof covers the whole statement except `proof` itself, as the cryptosuite defines. Closed: a member Data Integrity defines but this list omits is refused.";
|
|
492
|
+
readonly properties: {
|
|
493
|
+
readonly type: {
|
|
494
|
+
readonly type: "string";
|
|
495
|
+
readonly const: "DataIntegrityProof";
|
|
496
|
+
};
|
|
497
|
+
readonly cryptosuite: {
|
|
498
|
+
readonly type: "string";
|
|
499
|
+
readonly enum: readonly ["eddsa-jcs-2022", "eddsa-rdfc-2022"];
|
|
500
|
+
readonly description: "The W3C Data Integrity EdDSA cryptosuite used.";
|
|
501
|
+
};
|
|
502
|
+
readonly verificationMethod: {
|
|
503
|
+
readonly type: "string";
|
|
504
|
+
readonly minLength: 5;
|
|
505
|
+
readonly maxLength: 2048;
|
|
506
|
+
readonly pattern: "^did:\\S+#\\S+$";
|
|
507
|
+
readonly description: "The DID URL of the verification method that signed. MUST be controlled by the statement's `issuer` and listed in that DID's current `authentication` relationship.";
|
|
508
|
+
};
|
|
509
|
+
readonly proofPurpose: {
|
|
510
|
+
readonly type: "string";
|
|
511
|
+
readonly minLength: 1;
|
|
512
|
+
readonly maxLength: 64;
|
|
513
|
+
readonly description: "MUST be `authentication`. Any other value is refused with `messaging/mux:proofPurposeInvalid` — a proof made for another relationship (an `assertionMethod` credential signature, say) is never accepted as control of the DID.";
|
|
514
|
+
};
|
|
515
|
+
readonly created: {
|
|
516
|
+
readonly type: "string";
|
|
517
|
+
readonly format: "date-time";
|
|
518
|
+
readonly description: "OPTIONAL: when the proof was made, as Data Integrity defines it. Covered by the proof; the statement's own `iat` is what the mediator checks.";
|
|
519
|
+
};
|
|
520
|
+
readonly proofValue: {
|
|
521
|
+
readonly type: "string";
|
|
522
|
+
readonly minLength: 2;
|
|
523
|
+
readonly maxLength: 4096;
|
|
524
|
+
readonly pattern: "^z[1-9A-HJ-NP-Za-km-z]+$";
|
|
525
|
+
readonly description: "The multibase (base58btc) signature.";
|
|
526
|
+
};
|
|
527
|
+
};
|
|
528
|
+
};
|
|
529
|
+
};
|
|
530
|
+
};
|
|
531
|
+
};
|
|
532
|
+
/**
|
|
533
|
+
* SPEC.md §7.2 policy for the success-response variant. `isRecipientRequired`
|
|
534
|
+
* tracks the *issuer* party's requirement because a response swaps the
|
|
535
|
+
* parties (§7.3 item 5).
|
|
536
|
+
*/
|
|
537
|
+
export declare const RESPONSE_SPEC: {
|
|
538
|
+
readonly typeUri: "https://trusttasks.org/spec/messaging/mux/revoke-all/0.1#response";
|
|
539
|
+
readonly isBearer: false;
|
|
540
|
+
readonly isProofRequired: false;
|
|
541
|
+
readonly isRecipientRequired: true;
|
|
542
|
+
readonly isIssuedAtRequired: true;
|
|
543
|
+
readonly payloadSchema: {
|
|
544
|
+
readonly $schema: "https://json-schema.org/draft/2020-12/schema";
|
|
545
|
+
readonly $ref: "#/$defs/Response";
|
|
546
|
+
readonly $defs: {
|
|
547
|
+
readonly Response: {
|
|
548
|
+
readonly $anchor: "response";
|
|
549
|
+
readonly title: "Messaging — Mux Revoke All — response payload";
|
|
550
|
+
readonly description: "The success response to a messaging/mux/revoke-all request. Carried in a Trust Task document whose type is https://trusttasks.org/spec/messaging/mux/revoke-all/0.1#response.";
|
|
551
|
+
readonly type: "object";
|
|
552
|
+
readonly additionalProperties: false;
|
|
553
|
+
readonly required: readonly ["did", "epoch", "epochAdvanced", "revokedGrants"];
|
|
554
|
+
readonly properties: {
|
|
555
|
+
readonly did: {
|
|
556
|
+
readonly $ref: "#/$defs/MuxDid";
|
|
557
|
+
};
|
|
558
|
+
readonly epoch: {
|
|
559
|
+
readonly type: "integer";
|
|
560
|
+
readonly minimum: 0;
|
|
561
|
+
readonly description: "The member DID's epoch now in force; a new grant must carry it.";
|
|
562
|
+
};
|
|
563
|
+
readonly epochAdvanced: {
|
|
564
|
+
readonly type: "boolean";
|
|
565
|
+
readonly description: "False when the epoch named in the proof had already been voided, so nothing changed.";
|
|
566
|
+
};
|
|
567
|
+
readonly revokedGrants: {
|
|
568
|
+
readonly type: "integer";
|
|
569
|
+
readonly minimum: 0;
|
|
570
|
+
readonly description: "How many grants that were active this request moved to `epochRevoked`.";
|
|
571
|
+
};
|
|
572
|
+
readonly ext: {
|
|
573
|
+
readonly $ref: "#/$defs/Ext";
|
|
574
|
+
readonly description: "Ecosystem-defined extension members per SPEC.md §4.5.1.";
|
|
575
|
+
};
|
|
576
|
+
};
|
|
577
|
+
};
|
|
578
|
+
readonly Ext: {
|
|
579
|
+
readonly title: "Ext";
|
|
580
|
+
readonly description: "Vendor-namespaced extension object per SPEC.md §4.5.1. Each immediate key MUST be a reverse-DNS namespace; structure under each namespace is opaque to the framework.";
|
|
581
|
+
readonly type: "object";
|
|
582
|
+
readonly minProperties: 1;
|
|
583
|
+
readonly additionalProperties: true;
|
|
584
|
+
readonly propertyNames: {
|
|
585
|
+
readonly pattern: "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$";
|
|
586
|
+
};
|
|
587
|
+
};
|
|
588
|
+
readonly MuxDid: {
|
|
589
|
+
readonly title: "MuxDid";
|
|
590
|
+
readonly type: "string";
|
|
591
|
+
readonly minLength: 7;
|
|
592
|
+
readonly maxLength: 2048;
|
|
593
|
+
readonly pattern: "^did:[a-z0-9]+:\\S+$";
|
|
594
|
+
readonly description: "A DID, carried verbatim and compared by exact string equality. Unlike the messaging family's `Vid`, never a hash: the mediator resolves it to verify a statement signed by it. For a member DID reached over TSP, the TSP VID is the DID itself.";
|
|
595
|
+
};
|
|
596
|
+
readonly RevokeAllStatement: {
|
|
597
|
+
readonly title: "RevokeAllStatement";
|
|
598
|
+
readonly type: "object";
|
|
599
|
+
readonly additionalProperties: false;
|
|
600
|
+
readonly required: readonly ["type", "issuer", "audience", "epoch", "iat", "exp", "proof"];
|
|
601
|
+
readonly description: "A member DID's statement, proving current control of it, that every grant on it signed under `epoch` or earlier is void. Signed by the member with an embedded Data Integrity proof whose purpose is `authentication`.";
|
|
602
|
+
readonly properties: {
|
|
603
|
+
readonly type: {
|
|
604
|
+
readonly type: "string";
|
|
605
|
+
readonly const: "muxRevokeAll";
|
|
606
|
+
readonly description: "Always `muxRevokeAll`; names the statement kind, so a statement of one kind is never accepted as another.";
|
|
607
|
+
};
|
|
608
|
+
readonly issuer: {
|
|
609
|
+
readonly $ref: "#/$defs/MuxDid";
|
|
610
|
+
readonly description: "The member DID: the signer, and the DID the statement concerns.";
|
|
611
|
+
};
|
|
612
|
+
readonly audience: {
|
|
613
|
+
readonly $ref: "#/$defs/MuxDid";
|
|
614
|
+
readonly description: "The mediator's DID. A statement names exactly one mediator and is refused by every other.";
|
|
615
|
+
};
|
|
616
|
+
readonly epoch: {
|
|
617
|
+
readonly type: "integer";
|
|
618
|
+
readonly minimum: 0;
|
|
619
|
+
readonly description: "The epoch being voided: the member DID's current one.";
|
|
620
|
+
};
|
|
621
|
+
readonly iat: {
|
|
622
|
+
readonly type: "integer";
|
|
623
|
+
readonly minimum: 0;
|
|
624
|
+
readonly description: "JWT NumericDate (RFC 7519 §2), whole seconds since 1970-01-01T00:00:00Z UTC: when the statement was signed. MUST NOT be more than 60 seconds in the mediator's future.";
|
|
625
|
+
};
|
|
626
|
+
readonly exp: {
|
|
627
|
+
readonly type: "integer";
|
|
628
|
+
readonly minimum: 0;
|
|
629
|
+
readonly description: "JWT NumericDate (RFC 7519 §2): when the statement stops being accepted. REQUIRED; MUST be after `iat` and in the future.";
|
|
630
|
+
};
|
|
631
|
+
readonly proof: {
|
|
632
|
+
readonly $ref: "#/$defs/MuxDataIntegrityProof";
|
|
633
|
+
};
|
|
634
|
+
};
|
|
635
|
+
};
|
|
636
|
+
readonly MuxDataIntegrityProof: {
|
|
637
|
+
readonly title: "MuxDataIntegrityProof";
|
|
638
|
+
readonly type: "object";
|
|
639
|
+
readonly additionalProperties: false;
|
|
640
|
+
readonly required: readonly ["type", "cryptosuite", "verificationMethod", "proofPurpose", "proofValue"];
|
|
641
|
+
readonly description: "The W3C Data Integrity proof embedded in a mux statement, made by the member DID: the format and verifier Trust Tasks already use for document proofs (SPEC §4.7). The proof covers the whole statement except `proof` itself, as the cryptosuite defines. Closed: a member Data Integrity defines but this list omits is refused.";
|
|
642
|
+
readonly properties: {
|
|
643
|
+
readonly type: {
|
|
644
|
+
readonly type: "string";
|
|
645
|
+
readonly const: "DataIntegrityProof";
|
|
646
|
+
};
|
|
647
|
+
readonly cryptosuite: {
|
|
648
|
+
readonly type: "string";
|
|
649
|
+
readonly enum: readonly ["eddsa-jcs-2022", "eddsa-rdfc-2022"];
|
|
650
|
+
readonly description: "The W3C Data Integrity EdDSA cryptosuite used.";
|
|
651
|
+
};
|
|
652
|
+
readonly verificationMethod: {
|
|
653
|
+
readonly type: "string";
|
|
654
|
+
readonly minLength: 5;
|
|
655
|
+
readonly maxLength: 2048;
|
|
656
|
+
readonly pattern: "^did:\\S+#\\S+$";
|
|
657
|
+
readonly description: "The DID URL of the verification method that signed. MUST be controlled by the statement's `issuer` and listed in that DID's current `authentication` relationship.";
|
|
658
|
+
};
|
|
659
|
+
readonly proofPurpose: {
|
|
660
|
+
readonly type: "string";
|
|
661
|
+
readonly minLength: 1;
|
|
662
|
+
readonly maxLength: 64;
|
|
663
|
+
readonly description: "MUST be `authentication`. Any other value is refused with `messaging/mux:proofPurposeInvalid` — a proof made for another relationship (an `assertionMethod` credential signature, say) is never accepted as control of the DID.";
|
|
664
|
+
};
|
|
665
|
+
readonly created: {
|
|
666
|
+
readonly type: "string";
|
|
667
|
+
readonly format: "date-time";
|
|
668
|
+
readonly description: "OPTIONAL: when the proof was made, as Data Integrity defines it. Covered by the proof; the statement's own `iat` is what the mediator checks.";
|
|
669
|
+
};
|
|
670
|
+
readonly proofValue: {
|
|
671
|
+
readonly type: "string";
|
|
672
|
+
readonly minLength: 2;
|
|
673
|
+
readonly maxLength: 4096;
|
|
674
|
+
readonly pattern: "^z[1-9A-HJ-NP-Za-km-z]+$";
|
|
675
|
+
readonly description: "The multibase (base58btc) signature.";
|
|
676
|
+
};
|
|
677
|
+
};
|
|
678
|
+
};
|
|
679
|
+
};
|
|
680
|
+
};
|
|
681
|
+
};
|
|
682
|
+
//# sourceMappingURL=payload.d.ts.map
|