@interop/was-conformance-suite 0.6.1 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -121,20 +121,28 @@ Options:
121
121
 
122
122
  The available suite ids (for `--suite`) are:
123
123
 
124
- | id | tests |
125
- | --------------------------- | -------------------------------------- |
126
- | `changes-query-api` | Collection changes query profile |
127
- | `client-backends` | WasClient -- BYOS backend registration |
128
- | `client-delegation` | WasClient -- Delegation |
129
- | `client-export-import` | WasClient -- Export / Import |
130
- | `client-resources` | WasClient -- Resources |
131
- | `client-spaces` | WasClient -- Spaces & Collections |
132
- | `collection-api` | Collections API |
133
- | `encryption-descriptor-api` | Encryption descriptor API |
134
- | `policy-api` | Access-control policy API |
135
- | `resource-api` | Resource API |
136
- | `server` | Server |
137
- | `spaces-api` | Spaces |
124
+ | id | tests |
125
+ | --------------------------- | ------------------------------------------------------- |
126
+ | `authz-ordering-api` | Authorization ordering (no-leak negatives) |
127
+ | `blinded-index-api` | Blinded-index query profile |
128
+ | `changes-query-api` | Collection changes query profile |
129
+ | `chunks-api` | Chunked Resources API |
130
+ | `client-backends` | WasClient -- BYOS backend registration |
131
+ | `client-delegation` | WasClient -- Delegation |
132
+ | `client-export-import` | WasClient -- Export / Import |
133
+ | `client-resources` | WasClient -- Resources |
134
+ | `client-spaces` | WasClient -- Spaces & Collections |
135
+ | `collection-api` | Collections API |
136
+ | `conditional-requests-api` | Conditional requests & caching |
137
+ | `delegation-cryptosuites` | Delegation-proof cryptosuites |
138
+ | `digest-api` | Request body integrity (Digest) negatives |
139
+ | `encryption-descriptor-api` | Encryption descriptor API |
140
+ | `invocation-target-api` | Capability invocationTarget binding |
141
+ | `policy-api` | Access-control policy API |
142
+ | `resource-api` | Resource API |
143
+ | `server` | Server |
144
+ | `spaces-api` | Spaces |
145
+ | `write-validation-api` | Write-validation negatives (reserved ids, Content-Type) |
138
146
 
139
147
  #### Environment-variable fallbacks
140
148
 
@@ -12,6 +12,12 @@ import type { ISigner } from '@interop/data-integrity-core';
12
12
  */
13
13
  export interface Actor {
14
14
  did: string;
15
+ /**
16
+ * The identity's own signer. `rootClient` and `was` are built from it; a
17
+ * suite needs it directly only to build a client of its own, e.g. one signing
18
+ * delegation proofs with a different cryptosuite.
19
+ */
20
+ signer: ISigner;
15
21
  rootClient: ZcapClient;
16
22
  was: WasClient;
17
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/harness/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAA;AAE3D;;;;;GAKG;AACH,MAAM,WAAW,KAAK;IACpB,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,EAAE,UAAU,CAAA;IACtB,GAAG,EAAE,SAAS,CAAA;CACf;AAED,iFAAiF;AACjF,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,OAAO,CAAA;CAChB;AAED,6DAA6D;AAC7D,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,KAAK,CAAA;IACZ,iBAAiB,EAAE,cAAc,CAAA;IACjC,GAAG,EAAE,KAAK,CAAA;CACX;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAA;IACjB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,MAAM,EAAE,MAAM,CAAA;IACd;;;OAGG;IACH,WAAW,EAAE,CAAC,OAAO,EAAE;QACrB,gBAAgB,EAAE,MAAM,CAAA;QACxB,UAAU,EAAE,UAAU,CAAA;KACvB,KAAK,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,GAAG,CAAA;KAAE,CAAC,CAAA;IAC9D;;;OAGG;IACH,cAAc,EAAE,CAAC,OAAO,EAAE;QAAE,GAAG,EAAE,SAAS,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,KAAK,CAAC,CAAA;IAC9E,yEAAyE;IACzE,SAAS,EAAE,CAAC,OAAO,EAAE;QAAE,MAAM,EAAE,OAAO,CAAA;KAAE,KAAK,SAAS,CAAA;IACtD,mDAAmD;IACnD,UAAU,EAAE,CAAC,OAAO,EAAE;QAAE,MAAM,EAAE,OAAO,CAAA;KAAE,KAAK,UAAU,CAAA;IACxD,6DAA6D;IAC7D,UAAU,EAAE,MAAM,MAAM,CAAA;IACxB,8EAA8E;IAC9E,gBAAgB,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAA;CAC9C;AAED;;;GAGG;AACH,MAAM,WAAW,WAAY,SAAQ,kBAAkB;IACrD,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,KAAK,CAAA;CACjC;AAED,MAAM,WAAW,QAAQ,CAAC,CAAC,GAAG,GAAG;IAC/B,uEAAuE;IACvE,EAAE,EAAE,MAAM,CAAA;IACV,sEAAsE;IACtE,IAAI,EAAE,MAAM,CAAA;IACZ,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,GAAG,EAAE,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACnD;AAED,0DAA0D;AAC1D,MAAM,WAAW,UAAU,CAAC,CAAC,GAAG,GAAG;IACjC,yDAAyD;IACzD,IAAI,EAAE,MAAM,CAAA;IACZ,yEAAyE;IACzE,KAAK,EAAE,CAAC,GAAG,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAC5D;AAED,MAAM,WAAW,KAAK,CAAC,CAAC,GAAG,GAAG;IAC5B,sCAAsC;IACtC,EAAE,EAAE,MAAM,CAAA;IACV,4EAA4E;IAC5E,IAAI,EAAE,MAAM,CAAA;IACZ,sEAAsE;IACtE,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,gFAAgF;IAChF,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,kBAAkB,KAAK,OAAO,CAAC,CAAC,CAAC,CAAA;IAC/C,sFAAsF;IACtF,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/D,6DAA6D;IAC7D,MAAM,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;IAC7B,kFAAkF;IAClF,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;CAC1B;AAED,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;AAEjD,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAA;IACf,sDAAsD;IACtD,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,gEAAgE;IAChE,QAAQ,EAAE,OAAO,CAAA;IACjB,MAAM,EAAE,UAAU,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,OAAO,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,UAAU,EAAE,CAAA;IACrB,0EAA0E;IAC1E,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,SAAS,CAAA;IACjB,6CAA6C;IAC7C,UAAU,EAAE,OAAO,CAAA;IACnB,MAAM,EAAE,WAAW,EAAE,CAAA;CACtB;AAED,MAAM,MAAM,QAAQ,GAChB;IACE,IAAI,EAAE,WAAW,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;CAClB,GACD;IACE,IAAI,EAAE,aAAa,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CAClB,GACD;IACE,IAAI,EAAE,YAAY,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,OAAO,CAAA;CAClB,GACD;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,GACxC;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,WAAW,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,SAAS,CAAA;CAAE,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/harness/types.ts"],"names":[],"mappings":"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"}
package/dist/helpers.d.ts CHANGED
@@ -7,6 +7,18 @@ import type { Space } from '@interop/was-client';
7
7
  import type { ISigner } from '@interop/data-integrity-core';
8
8
  import { v4 as uuidv4 } from 'uuid';
9
9
  import type { Actors, ConformanceContext } from './harness/types.js';
10
+ /**
11
+ * The suite's ZcapClient: delegation proofs are signed with `eddsa-jcs-2022`,
12
+ * which canonicalizes with JCS and so needs no JSON-LD document loader at
13
+ * signing time. That is what WAS clients now emit, so the required tests
14
+ * exercise the suite a server actually meets. `Ed25519Signature2020` is not
15
+ * gone from the suite: the optional `delegation-cryptosuites` suite asserts a
16
+ * server still accepts it, and accepts a chain that mixes the two.
17
+ *
18
+ * @param options {object}
19
+ * @param options.signer {ISigner}
20
+ * @returns {ZcapClient}
21
+ */
10
22
  export declare function zcapClient({ signer }: {
11
23
  signer: ISigner;
12
24
  }): ZcapClient;
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAC/C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAIhD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAA;AAC3D,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAA;AAEnC,OAAO,KAAK,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAapE,wBAAgB,UAAU,CAAC,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,GAAG,UAAU,CAMtE;AAED;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,EACxB,SAAS,EACT,MAAM,EACP,EAAE;IACD,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,OAAO,CAAA;CAChB,GAAG,SAAS,CAEZ;AAED,wBAAsB,gBAAgB,CAAC,EACrC,SAAS,EACV,EAAE;IACD,SAAS,EAAE,MAAM,CAAA;CAClB,GAAG,OAAO,CAAC,MAAM,CAAC,CAyClB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,WAAW,CAAC,EAChC,SAAS,EACT,eAAe,EACf,gBAAgB,EAChB,UAAU,EACX,EAAE;IACD,SAAS,EAAE,MAAM,CAAA;IACjB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,gBAAgB,EAAE,MAAM,CAAA;IACxB,UAAU,EAAE,UAAU,CAAA;CACvB,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,GAAG,CAAA;CAAE,CAAC,CAwB3D;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,cAAc,CAAC,EACnC,SAAS,EACT,eAAe,EACf,GAAG,EACH,IAAI,EACL,EAAE;IACD,SAAS,EAAE,MAAM,CAAA;IACjB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,GAAG,EAAE,SAAS,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,GAAG,OAAO,CAAC,KAAK,CAAC,CAmBjB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAMxD;AAED;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CAAC,EAClC,SAAS,EACT,eAAsB,EACvB,EAAE;IACD,SAAS,EAAE,MAAM,CAAA;IACjB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAChC,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAe9B;AAED,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,CAAA"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAC/C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAIhD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAA;AAC3D,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAA;AAEnC,OAAO,KAAK,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAapE;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CAAC,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,GAAG,UAAU,CAMtE;AAED;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,EACxB,SAAS,EACT,MAAM,EACP,EAAE;IACD,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,OAAO,CAAA;CAChB,GAAG,SAAS,CAEZ;AAED,wBAAsB,gBAAgB,CAAC,EACrC,SAAS,EACV,EAAE;IACD,SAAS,EAAE,MAAM,CAAA;CAClB,GAAG,OAAO,CAAC,MAAM,CAAC,CA2ClB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,WAAW,CAAC,EAChC,SAAS,EACT,eAAe,EACf,gBAAgB,EAChB,UAAU,EACX,EAAE;IACD,SAAS,EAAE,MAAM,CAAA;IACjB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,gBAAgB,EAAE,MAAM,CAAA;IACxB,UAAU,EAAE,UAAU,CAAA;CACvB,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,GAAG,CAAA;CAAE,CAAC,CAwB3D;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,cAAc,CAAC,EACnC,SAAS,EACT,eAAe,EACf,GAAG,EACH,IAAI,EACL,EAAE;IACD,SAAS,EAAE,MAAM,CAAA;IACjB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,GAAG,EAAE,SAAS,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,GAAG,OAAO,CAAC,KAAK,CAAC,CAmBjB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAMxD;AAED;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CAAC,EAClC,SAAS,EACT,eAAsB,EACvB,EAAE;IACD,SAAS,EAAE,MAAM,CAAA;IACjB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAChC,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAe9B;AAED,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,CAAA"}
package/dist/helpers.js CHANGED
@@ -4,7 +4,7 @@
4
4
  import { ZcapClient } from '@interop/ezcap';
5
5
  import { WasClient } from '@interop/was-client';
6
6
  import { decodeSecretKeySeed } from '@digitalcredentials/bnid';
7
- import { Ed25519Signature2020 } from '@interop/ed25519-signature';
7
+ import { EddsaJcs2022 } from '@interop/ed25519-signature/eddsa-jcs-2022';
8
8
  import { Ed25519VerificationKey } from '@interop/ed25519-verification-key';
9
9
  import { v4 as uuidv4 } from 'uuid';
10
10
  /**
@@ -17,9 +17,21 @@ const secretKeySeeds = {
17
17
  bob: 'z1AmpBeBetWxKMBpAcHsztGogaUki1LXWANSzTd5CiYoikA',
18
18
  bobDelegatedApp: 'z1AfgF2HQvQaaAhod3KEYUHwY5epGtP5QmbEMKtMFf8XcYk'
19
19
  };
20
+ /**
21
+ * The suite's ZcapClient: delegation proofs are signed with `eddsa-jcs-2022`,
22
+ * which canonicalizes with JCS and so needs no JSON-LD document loader at
23
+ * signing time. That is what WAS clients now emit, so the required tests
24
+ * exercise the suite a server actually meets. `Ed25519Signature2020` is not
25
+ * gone from the suite: the optional `delegation-cryptosuites` suite asserts a
26
+ * server still accepts it, and accepts a chain that mixes the two.
27
+ *
28
+ * @param options {object}
29
+ * @param options.signer {ISigner}
30
+ * @returns {ZcapClient}
31
+ */
20
32
  export function zcapClient({ signer }) {
21
33
  return new ZcapClient({
22
- SuiteClass: Ed25519Signature2020,
34
+ SuiteClass: EddsaJcs2022,
23
35
  invocationSigner: signer,
24
36
  delegationSigner: signer
25
37
  });
@@ -59,6 +71,7 @@ export async function buildZcapClients({ serverUrl }) {
59
71
  return {
60
72
  alice: {
61
73
  did: aliceRootDid,
74
+ signer: aliceSigner,
62
75
  // Low-level ZcapClient -- kept for raw request()/delegate() calls.
63
76
  rootClient: zcapClient({ signer: aliceSigner }),
64
77
  // High-level WAS client wrapping the same signer.
@@ -70,6 +83,7 @@ export async function buildZcapClients({ serverUrl }) {
70
83
  },
71
84
  bob: {
72
85
  did: bobRootDid,
86
+ signer: bobSigner,
73
87
  rootClient: zcapClient({ signer: bobSigner }),
74
88
  was: wasClient({ serverUrl, signer: bobSigner })
75
89
  }
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { Suite } from '../harness/types.js';
2
+ interface State {
3
+ alice: any;
4
+ aliceDelegatedApp: any;
5
+ bob: any;
6
+ docUrl: string;
7
+ spaceId: string;
8
+ }
9
+ export declare const delegationCryptosuitesApi: Suite<State>;
10
+ export {};
11
+ //# sourceMappingURL=delegation-cryptosuites-api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delegation-cryptosuites-api.d.ts","sourceRoot":"","sources":["../../src/suites/delegation-cryptosuites-api.ts"],"names":[],"mappings":"AAuCA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAEhD,UAAU,KAAK;IACb,KAAK,EAAE,GAAG,CAAA;IACV,iBAAiB,EAAE,GAAG,CAAA;IACtB,GAAG,EAAE,GAAG,CAAA;IACR,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;CAChB;AA+BD,eAAO,MAAM,yBAAyB,EAAE,KAAK,CAAC,KAAK,CA0IlD,CAAA"}
@@ -0,0 +1,194 @@
1
+ /*!
2
+ * Copyright (c) 2026 Interop Alliance. All rights reserved.
3
+ */
4
+ /**
5
+ * WAS conformance tests -- delegation-proof cryptosuites (OPTIONAL).
6
+ *
7
+ * A delegated capability's `proof` is a signature on the document, separate
8
+ * from the capability invocation's HTTP signature. This suite asserts a server
9
+ * accepts both cryptosuites in use, rather than the run silently tracking
10
+ * whichever one it happens to send.
11
+ *
12
+ * The two are not on the same footing. The rest of this conformance suite signs
13
+ * its delegations with `eddsa-jcs-2022`, which canonicalizes with JCS and so
14
+ * costs no JSON-LD canonicalization; that is what current WAS clients emit, so
15
+ * every delegated test in the required set already depends on a server
16
+ * accepting it, and the test for it here is required too.
17
+ *
18
+ * `Ed25519Signature2020` is the older suite, and its tests are marked optional:
19
+ * a server may reasonably have moved past it, and the spec's authorization
20
+ * profile names no cryptosuite at all. Accepting it is still what keeps two
21
+ * populations working -- clients that have not upgraded, and wallets that
22
+ * recorded a grant before the switch and submit that stored capability back for
23
+ * revocation under the suite it was signed with.
24
+ *
25
+ * The two are told apart by `proof.type` and `proof.cryptosuite`, with no
26
+ * heuristic, so a server may accept both at once and the links of a single
27
+ * chain may mix them. The mixed-chain test here runs the one direction any
28
+ * client can produce unaided: an `Ed25519Signature2020` parent with an
29
+ * `eddsa-jcs-2022` child. The reverse needs the old-suite client to be handed a
30
+ * document loader serving the data-integrity context -- URDNA2015 expands the
31
+ * parent embedded in `proof.capabilityChain` -- and it throws at signing time,
32
+ * on the client, before any server sees the chain. That is a client-side
33
+ * limitation rather than a server property, so it is out of scope here.
34
+ */
35
+ import { ZcapClient } from '@interop/ezcap';
36
+ import { Ed25519Signature2020 } from '@interop/ed25519-signature';
37
+ import assert from '../harness/assert.js';
38
+ /**
39
+ * A ZcapClient signing its delegation proofs with `Ed25519Signature2020` -- the
40
+ * older suite, as a client that has not upgraded still sends it. The suite's
41
+ * own `ctx.zcapClient` is the `eddsa-jcs-2022` counterpart.
42
+ *
43
+ * @param options {object}
44
+ * @param options.signer {ISigner}
45
+ * @returns {ZcapClient}
46
+ */
47
+ function legacyZcapClient({ signer }) {
48
+ return new ZcapClient({
49
+ SuiteClass: Ed25519Signature2020,
50
+ invocationSigner: signer,
51
+ delegationSigner: signer
52
+ });
53
+ }
54
+ /**
55
+ * The delegation proof of a freshly delegated capability. `proof` may be a
56
+ * single proof or a set of them; `delegate()` produces exactly one.
57
+ *
58
+ * @param capability {any}
59
+ * @returns {Record<string, string>}
60
+ */
61
+ function delegationProof(capability) {
62
+ const { proof } = capability;
63
+ return Array.isArray(proof) ? proof[0] : proof;
64
+ }
65
+ export const delegationCryptosuitesApi = {
66
+ id: 'delegation-cryptosuites',
67
+ name: 'Delegation-proof cryptosuites',
68
+ specRefs: ['https://wallet.storage/spec#delegation'],
69
+ setup: async (ctx) => {
70
+ const alice = { ...ctx.actors.alice };
71
+ const aliceDelegatedApp = { ...ctx.actors.aliceDelegatedApp };
72
+ const bob = { ...ctx.actors.bob };
73
+ const spaceId = ctx.generateId();
74
+ const resourceId = ctx.generateId();
75
+ await ctx.createSpace({
76
+ spaceDescription: {
77
+ id: spaceId,
78
+ name: "Alice's Cryptosuite Space",
79
+ controller: alice.did
80
+ },
81
+ rootClient: alice.rootClient
82
+ });
83
+ await alice.rootClient.request({
84
+ url: new URL(`/space/${spaceId}/`, ctx.serverUrl).toString(),
85
+ method: 'POST',
86
+ action: 'POST',
87
+ json: { id: 'credentials', name: 'Verifiable Credentials' }
88
+ });
89
+ const docUrl = new URL(`/space/${spaceId}/credentials/${resourceId}`, ctx.serverUrl).toString();
90
+ await alice.rootClient.request({
91
+ url: docUrl,
92
+ method: 'PUT',
93
+ action: 'PUT',
94
+ json: { id: resourceId, hello: 'world' }
95
+ });
96
+ return { alice, aliceDelegatedApp, bob, docUrl, spaceId };
97
+ },
98
+ teardown: async (ctx, state) => {
99
+ try {
100
+ await state.alice.rootClient.request({
101
+ url: new URL(`/space/${state.spaceId}`, ctx.serverUrl).toString(),
102
+ method: 'DELETE'
103
+ });
104
+ }
105
+ catch {
106
+ /* best-effort cleanup */
107
+ }
108
+ },
109
+ tests: [
110
+ {
111
+ id: 'cryptosuites.eddsa-jcs-2022',
112
+ name: 'accepts a delegation proof signed with eddsa-jcs-2022',
113
+ specRefs: ['https://wallet.storage/spec#delegation'],
114
+ run: async (ctx, state) => {
115
+ const { alice, aliceDelegatedApp, docUrl } = state;
116
+ const capability = await alice.rootClient.delegate({
117
+ allowedActions: ['GET'],
118
+ invocationTarget: docUrl,
119
+ controller: aliceDelegatedApp.did
120
+ });
121
+ const proof = delegationProof(capability);
122
+ assert.equal(proof.type, 'DataIntegrityProof');
123
+ assert.equal(proof.cryptosuite, 'eddsa-jcs-2022');
124
+ const response = await ctx
125
+ .zcapClient({ signer: aliceDelegatedApp.signer })
126
+ .request({ url: docUrl, method: 'GET', action: 'GET', capability });
127
+ assert.equal(response.status, 200);
128
+ assert.equal(response.data.hello, 'world');
129
+ }
130
+ },
131
+ {
132
+ id: 'cryptosuites.ed25519-signature-2020',
133
+ name: 'accepts a delegation proof signed with Ed25519Signature2020',
134
+ // Optional: the older suite, which a server may reasonably no longer
135
+ // accept. The spec names no cryptosuite either way.
136
+ optional: true,
137
+ specRefs: ['https://wallet.storage/spec#delegation'],
138
+ run: async (ctx, state) => {
139
+ const { alice, aliceDelegatedApp, docUrl } = state;
140
+ // Alice's own signer, but a client on the older suite -- the shape a
141
+ // client that has not upgraded still sends.
142
+ const capability = await legacyZcapClient({
143
+ signer: alice.signer
144
+ }).delegate({
145
+ allowedActions: ['GET'],
146
+ invocationTarget: docUrl,
147
+ controller: aliceDelegatedApp.did
148
+ });
149
+ assert.equal(delegationProof(capability).type, 'Ed25519Signature2020');
150
+ const response = await ctx
151
+ .zcapClient({ signer: aliceDelegatedApp.signer })
152
+ .request({ url: docUrl, method: 'GET', action: 'GET', capability });
153
+ assert.equal(response.status, 200);
154
+ assert.equal(response.data.hello, 'world');
155
+ }
156
+ },
157
+ {
158
+ id: 'cryptosuites.mixed-chain',
159
+ name: 'accepts a chain whose links mix the two cryptosuites',
160
+ // Optional for the same reason: its parent link is Ed25519Signature2020.
161
+ optional: true,
162
+ specRefs: ['https://wallet.storage/spec#delegation'],
163
+ run: async (ctx, state) => {
164
+ const { alice, aliceDelegatedApp, bob, docUrl } = state;
165
+ // An Ed25519Signature2020 parent...
166
+ const parent = await legacyZcapClient({
167
+ signer: alice.signer
168
+ }).delegate({
169
+ allowedActions: ['GET'],
170
+ invocationTarget: docUrl,
171
+ controller: aliceDelegatedApp.did
172
+ });
173
+ // ...re-delegated by an upgraded client, so the child is JCS-signed.
174
+ const child = await ctx
175
+ .zcapClient({ signer: aliceDelegatedApp.signer })
176
+ .delegate({
177
+ capability: parent,
178
+ allowedActions: ['GET'],
179
+ controller: bob.did
180
+ });
181
+ assert.equal(delegationProof(child).cryptosuite, 'eddsa-jcs-2022');
182
+ const response = await bob.rootClient.request({
183
+ url: docUrl,
184
+ method: 'GET',
185
+ action: 'GET',
186
+ capability: child
187
+ });
188
+ assert.equal(response.status, 200);
189
+ assert.equal(response.data.hello, 'world');
190
+ }
191
+ }
192
+ ]
193
+ };
194
+ //# sourceMappingURL=delegation-cryptosuites-api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delegation-cryptosuites-api.js","sourceRoot":"","sources":["../../src/suites/delegation-cryptosuites-api.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@ import { clientResources } from './client-resources.js';
13
13
  import { clientSpaces } from './client-spaces.js';
14
14
  import { collectionApi } from './collection-api.js';
15
15
  import { conditionalRequestsApi } from './conditional-requests-api.js';
16
+ import { delegationCryptosuitesApi } from './delegation-cryptosuites-api.js';
16
17
  import { digestApi } from './digest-api.js';
17
18
  import { encryptionDescriptorApi } from './encryption-descriptor-api.js';
18
19
  import { invocationTargetApi } from './invocation-target-api.js';
@@ -26,5 +27,5 @@ import { writeValidationApi } from './write-validation-api.js';
26
27
  * original file-alphabetical execution order of the ported suite).
27
28
  */
28
29
  export declare const suites: Array<Suite<any>>;
29
- export { authzOrderingApi, blindedIndexApi, changesQueryApi, chunksApi, clientBackends, clientDelegation, clientExportImport, clientResources, clientSpaces, collectionApi, conditionalRequestsApi, digestApi, encryptionDescriptorApi, invocationTargetApi, policyApi, resourceApi, server, spacesApi, writeValidationApi };
30
+ export { authzOrderingApi, blindedIndexApi, changesQueryApi, chunksApi, clientBackends, clientDelegation, clientExportImport, clientResources, clientSpaces, collectionApi, conditionalRequestsApi, delegationCryptosuitesApi, digestApi, encryptionDescriptorApi, invocationTargetApi, policyApi, resourceApi, server, spacesApi, writeValidationApi };
30
31
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/suites/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAEhD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAA;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAA;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAE9D;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAoBpC,CAAA;AAED,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,SAAS,EACT,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,aAAa,EACb,sBAAsB,EACtB,SAAS,EACT,uBAAuB,EACvB,mBAAmB,EACnB,SAAS,EACT,WAAW,EACX,MAAM,EACN,SAAS,EACT,kBAAkB,EACnB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/suites/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAEhD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAA;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAA;AAC5E,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAA;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAE9D;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAqBpC,CAAA;AAED,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,SAAS,EACT,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,aAAa,EACb,sBAAsB,EACtB,yBAAyB,EACzB,SAAS,EACT,uBAAuB,EACvB,mBAAmB,EACnB,SAAS,EACT,WAAW,EACX,MAAM,EACN,SAAS,EACT,kBAAkB,EACnB,CAAA"}
@@ -9,6 +9,7 @@ import { clientResources } from './client-resources.js';
9
9
  import { clientSpaces } from './client-spaces.js';
10
10
  import { collectionApi } from './collection-api.js';
11
11
  import { conditionalRequestsApi } from './conditional-requests-api.js';
12
+ import { delegationCryptosuitesApi } from './delegation-cryptosuites-api.js';
12
13
  import { digestApi } from './digest-api.js';
13
14
  import { encryptionDescriptorApi } from './encryption-descriptor-api.js';
14
15
  import { invocationTargetApi } from './invocation-target-api.js';
@@ -33,6 +34,7 @@ export const suites = [
33
34
  clientSpaces,
34
35
  collectionApi,
35
36
  conditionalRequestsApi,
37
+ delegationCryptosuitesApi,
36
38
  digestApi,
37
39
  encryptionDescriptorApi,
38
40
  invocationTargetApi,
@@ -42,5 +44,5 @@ export const suites = [
42
44
  spacesApi,
43
45
  writeValidationApi
44
46
  ];
45
- export { authzOrderingApi, blindedIndexApi, changesQueryApi, chunksApi, clientBackends, clientDelegation, clientExportImport, clientResources, clientSpaces, collectionApi, conditionalRequestsApi, digestApi, encryptionDescriptorApi, invocationTargetApi, policyApi, resourceApi, server, spacesApi, writeValidationApi };
47
+ export { authzOrderingApi, blindedIndexApi, changesQueryApi, chunksApi, clientBackends, clientDelegation, clientExportImport, clientResources, clientSpaces, collectionApi, conditionalRequestsApi, delegationCryptosuitesApi, digestApi, encryptionDescriptorApi, invocationTargetApi, policyApi, resourceApi, server, spacesApi, writeValidationApi };
46
48
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/suites/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAA;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAA;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAE9D;;;GAGG;AACH,MAAM,CAAC,MAAM,MAAM,GAAsB;IACvC,gBAAgB;IAChB,eAAe;IACf,eAAe;IACf,SAAS;IACT,cAAc;IACd,gBAAgB;IAChB,kBAAkB;IAClB,eAAe;IACf,YAAY;IACZ,aAAa;IACb,sBAAsB;IACtB,SAAS;IACT,uBAAuB;IACvB,mBAAmB;IACnB,SAAS;IACT,WAAW;IACX,MAAM;IACN,SAAS;IACT,kBAAkB;CACnB,CAAA;AAED,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,SAAS,EACT,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,aAAa,EACb,sBAAsB,EACtB,SAAS,EACT,uBAAuB,EACvB,mBAAmB,EACnB,SAAS,EACT,WAAW,EACX,MAAM,EACN,SAAS,EACT,kBAAkB,EACnB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/suites/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAA;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAA;AAC5E,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAA;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAE9D;;;GAGG;AACH,MAAM,CAAC,MAAM,MAAM,GAAsB;IACvC,gBAAgB;IAChB,eAAe;IACf,eAAe;IACf,SAAS;IACT,cAAc;IACd,gBAAgB;IAChB,kBAAkB;IAClB,eAAe;IACf,YAAY;IACZ,aAAa;IACb,sBAAsB;IACtB,yBAAyB;IACzB,SAAS;IACT,uBAAuB;IACvB,mBAAmB;IACnB,SAAS;IACT,WAAW;IACX,MAAM;IACN,SAAS;IACT,kBAAkB;CACnB,CAAA;AAED,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,SAAS,EACT,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,aAAa,EACb,sBAAsB,EACtB,yBAAyB,EACzB,SAAS,EACT,uBAAuB,EACvB,mBAAmB,EACnB,SAAS,EACT,WAAW,EACX,MAAM,EACN,SAAS,EACT,kBAAkB,EACnB,CAAA"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@interop/was-conformance-suite",
3
3
  "description": "Conformance test suite for Wallet Attached Storage (WAS) servers, runnable as a CLI or in the browser.",
4
- "version": "0.6.1",
4
+ "version": "0.7.0",
5
5
  "type": "module",
6
6
  "scripts": {
7
7
  "build": "pnpm run clear && tsc",
@@ -43,7 +43,7 @@
43
43
  "dependencies": {
44
44
  "@digitalcredentials/bnid": "^5.0.0",
45
45
  "@interop/data-integrity-core": "^8.7.1",
46
- "@interop/ed25519-signature": "^7.1.4",
46
+ "@interop/ed25519-signature": "^7.2.0",
47
47
  "@interop/ed25519-verification-key": "^8.0.4",
48
48
  "@interop/ezcap": "^7.4.3",
49
49
  "@interop/http-digest-header": "^3.1.0",