@trust402/sdk 0.2.7 → 0.3.2

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.
@@ -21,7 +21,7 @@ export type PriceInput = Readonly<{
21
21
  * the circuit's expected inputs. Witness builders for known circuits
22
22
  * are exported as convenience utilities (see below).
23
23
  */
24
- export type Trust402PublishInput = Readonly<{
24
+ export type PublishInput = Readonly<{
25
25
  /** Circuit ID registered with the Lemma API. */
26
26
  circuitId: string;
27
27
  /** Witness fields passed to prover.prove(). */
@@ -44,7 +44,7 @@ export type Trust402PublishInput = Readonly<{
44
44
  environment?: "sandbox" | "production";
45
45
  }>;
46
46
  /** Full listing returned after successful publish. */
47
- export type Trust402Listing = Readonly<{
47
+ export type Listing = Readonly<{
48
48
  listingRoot: string;
49
49
  schemaId: string;
50
50
  commitment: string;
@@ -66,7 +66,7 @@ export type Trust402Listing = Readonly<{
66
66
  createdAt: number;
67
67
  }>;
68
68
  /** Payload for blog-article content type. */
69
- export type BlogArticlePayload = Readonly<{
69
+ export type Article = Readonly<{
70
70
  author: string;
71
71
  body: string;
72
72
  published: number;
@@ -74,7 +74,7 @@ export type BlogArticlePayload = Readonly<{
74
74
  lang: string;
75
75
  }>;
76
76
  /** Result of a witness builder — the witness record plus the commitment. */
77
- export type WitnessResult = Readonly<{
77
+ export type Witness = Readonly<{
78
78
  witness: Readonly<Record<string, string>>;
79
79
  commitment: string;
80
80
  }>;
@@ -85,14 +85,14 @@ export type WitnessResult = Readonly<{
85
85
  * authorHash, published, integrityHash, words, langCode, commitment
86
86
  * where commitment = poseidon5([authorHash, published, integrityHash, words, langCode])
87
87
  */
88
- export declare const buildBlogArticleWitness: (payload: BlogArticlePayload) => WitnessResult;
88
+ export declare const blogArticle: (payload: Article) => Witness;
89
89
  /**
90
90
  * Build witness for content-commitment-v1.2 circuit.
91
91
  *
92
92
  * Uses the canonical normalizer: bytes → fieldElements → poseidon2
93
93
  * reduction → poseidon1.
94
94
  */
95
- export declare const buildContentCommitmentWitness: (bytes: Uint8Array) => WitnessResult;
95
+ export declare const contentCommitment: (bytes: Uint8Array) => Witness;
96
96
  /** Compute a sha256-based CID from raw bytes. */
97
97
  export declare const computeCid: (bytes: Uint8Array) => string;
98
98
  /**
@@ -106,7 +106,7 @@ export declare const computeCid: (bytes: Uint8Array) => string;
106
106
  * Circuit-agnostic: the caller chooses the circuitId and builds the
107
107
  * witness. Use the exported witness builders for known circuits.
108
108
  */
109
- export declare const publish: (client: LemmaClient, input: Trust402PublishInput) => Promise<Trust402Listing>;
109
+ export declare const publish: (client: LemmaClient, input: PublishInput) => Promise<Listing>;
110
110
  /**
111
111
  * Detect content type from a browser File object.
112
112
  * Used by dashboard before publish to show a badge.
@@ -1 +1 @@
1
- {"version":3,"file":"trust402.d.ts","sourceRoot":"","sources":["../src/trust402.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"trust402.d.ts","sourceRoot":"","sources":["../src/trust402.ts"],"names":[],"mappings":"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"}
package/dist/trust402.js CHANGED
@@ -71,7 +71,7 @@ const langToCode = (lang) => LANG_MAP[lang.toLowerCase()] ?? 0n;
71
71
  * authorHash, published, integrityHash, words, langCode, commitment
72
72
  * where commitment = poseidon5([authorHash, published, integrityHash, words, langCode])
73
73
  */
74
- export const buildBlogArticleWitness = (payload) => {
74
+ export const blogArticle = (payload) => {
75
75
  const authorHash = toScalar(payload.author);
76
76
  const published = BigInt(payload.published);
77
77
  const integrityHash = toScalar(payload.body);
@@ -97,7 +97,7 @@ export const buildBlogArticleWitness = (payload) => {
97
97
  * Uses the canonical normalizer: bytes → fieldElements → poseidon2
98
98
  * reduction → poseidon1.
99
99
  */
100
- export const buildContentCommitmentWitness = (bytes) => {
100
+ export const contentCommitment = (bytes) => {
101
101
  const elements = bytesToFieldElements(bytes);
102
102
  const fileHash = reduceElements(elements, (inputs) => poseidon2(inputs));
103
103
  const commitment = poseidon1([fileHash]);
@@ -1 +1 @@
1
- {"version":3,"file":"trust402.js","sourceRoot":"","sources":["../src/trust402.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"trust402.js","sourceRoot":"","sources":["../src/trust402.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trust402/sdk",
3
- "version": "0.2.7",
3
+ "version": "0.3.2",
4
4
  "license": "Apache-2.0",
5
5
  "repository": {
6
6
  "type": "git",
@@ -24,11 +24,17 @@
24
24
  "publishConfig": {
25
25
  "access": "public"
26
26
  },
27
+ "scripts": {
28
+ "build": "tsc -p tsconfig.json",
29
+ "type-check": "tsc -p tsconfig.json --noEmit",
30
+ "lint": "eslint 'src/**/*.ts'",
31
+ "test": "vitest run"
32
+ },
27
33
  "dependencies": {
34
+ "@lemmaoracle/sdk": "^0.0.37",
35
+ "@lemmaoracle/spec": "^0.0.36",
28
36
  "@noble/hashes": "^1.7.0",
29
- "poseidon-lite": "^0.2.0",
30
- "@lemmaoracle/sdk": "0.0.36",
31
- "@lemmaoracle/spec": "0.0.35"
37
+ "poseidon-lite": "^0.2.0"
32
38
  },
33
39
  "devDependencies": {
34
40
  "@typescript-eslint/eslint-plugin": "^8.56.1",
@@ -38,11 +44,5 @@
38
44
  "eslint-plugin-functional": "^9.0.4",
39
45
  "typescript": "^5.5.0",
40
46
  "vitest": "^2.1.0"
41
- },
42
- "scripts": {
43
- "build": "tsc -p tsconfig.json",
44
- "type-check": "tsc -p tsconfig.json --noEmit",
45
- "lint": "eslint 'src/**/*.ts'",
46
- "test": "vitest run"
47
47
  }
48
- }
48
+ }
package/LICENSE DELETED
@@ -1,80 +0,0 @@
1
- Business Source License 1.1
2
-
3
- License text copyright (c) 2017 MariaDB Corporation Ab, All Rights Reserved.
4
- "Business Source License" is a trademark of MariaDB Corporation Ab.
5
-
6
- Parameters
7
-
8
- Licensor: FRAME00 Inc.
9
- Additional Use Grant: You may use the Licensed Work for non-production
10
- purposes, including but not limited to evaluation,
11
- testing, research, and learning, including in
12
- hackathons, academic settings, and personal projects,
13
- provided that such use does not constitute a
14
- competing commercial service.
15
- Licensed Work: lemmaoracle/lemma
16
- (the software in this repository, excluding packages
17
- that contain their own LICENSE file)
18
- Change Date: 2030-05-01
19
-
20
- Change License: Apache License, Version 2.0
21
-
22
- Notice:
23
-
24
- The Licensed Work is provided under the Business Source License 1.1
25
- (BSL 1.1). You may not use the Licensed Work except in compliance with
26
- the BSL 1.1.
27
-
28
- You may produce and distribute the Licensed Work, in whole or in part,
29
- in Source or Object form, subject to the following conditions:
30
-
31
- 1. You must give any other recipients of the Licensed Work a copy of
32
- this License; and
33
-
34
- 2. You must cause any modified files to carry prominent notices stating
35
- that You changed the files; and
36
-
37
- 3. You must retain, in the Source form of any Licensed Work that You
38
- distribute, all copyright, patent, trademark, and attribution
39
- notices from the Source form of the Licensed Work, excluding those
40
- notices that do not pertain to any part of the Licensed Work; and
41
-
42
- 4. You may not use the Licensed Work to create a competing commercial
43
- service. A "competing commercial service" is a product or service
44
- that provides substantially the same functionality as the Licensed
45
- Work to third parties for commercial gain.
46
-
47
- 5. After the Change Date, the Licensed Work will be licensed under the
48
- Change License indicated above, and You may exercise the rights
49
- granted under the Change License without restriction.
50
-
51
- THE LICENSED WORK IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
52
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
53
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
54
- IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
55
- CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
56
- TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
57
- LICENSED WORK OR THE USE OR OTHER DEALINGS IN THE LICENSED WORK.
58
-
59
- ---
60
-
61
- This repository contains multiple packages under the `packages/` directory.
62
- Each package may have its own LICENSE file. If a package contains its own
63
- LICENSE file, that license takes precedence over this root LICENSE for the
64
- contents of that package directory.
65
-
66
- Package-specific licenses:
67
-
68
- BUSL-1.1 (this license, with the same Change Date and Change License):
69
- - packages/contracts
70
- - packages/relay
71
- - packages/passthrough
72
-
73
- Apache-2.0:
74
- - packages/sdk
75
- - packages/spec
76
- - packages/mcp
77
- - packages/parser
78
- - packages/x402
79
-
80
- (packages/web is private and not distributed; all rights reserved.)
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=trust402.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"trust402.test.d.ts","sourceRoot":"","sources":["../src/trust402.test.ts"],"names":[],"mappings":""}
@@ -1,308 +0,0 @@
1
- import { describe, it, expect, vi, beforeEach } from "vitest";
2
- import { publish, detectContentType, buildBlogArticleWitness, buildContentCommitmentWitness, computeCid, } from "./trust402.js";
3
- import { create, toScalar } from "@lemmaoracle/sdk";
4
- import { poseidon5 } from "poseidon-lite";
5
- // ---------------------------------------------------------------------------
6
- // detectContentType
7
- // ---------------------------------------------------------------------------
8
- describe("detectContentType", () => {
9
- it("detects image from MIME prefix", () => {
10
- expect(detectContentType({ type: "image/png", name: "photo.png" })).toBe("image");
11
- expect(detectContentType({ type: "image/jpeg", name: "img.jpg" })).toBe("image");
12
- });
13
- it("detects video from MIME prefix", () => {
14
- expect(detectContentType({ type: "video/mp4", name: "vid.mp4" })).toBe("video");
15
- });
16
- it("detects CSV from exact MIME match", () => {
17
- expect(detectContentType({ type: "text/csv", name: "data.csv" })).toBe("csv");
18
- });
19
- it("detects code from JSON MIME", () => {
20
- expect(detectContentType({
21
- type: "application/json",
22
- name: "config.json",
23
- })).toBe("code");
24
- });
25
- it("detects code from markdown", () => {
26
- expect(detectContentType({
27
- type: "text/markdown",
28
- name: "readme.md",
29
- })).toBe("code");
30
- });
31
- it("falls back to extension detection when MIME is unknown", () => {
32
- expect(detectContentType({
33
- type: "application/octet-stream",
34
- name: "data.csv",
35
- })).toBe("csv");
36
- expect(detectContentType({
37
- type: "application/octet-stream",
38
- name: "script.py",
39
- })).toBe("code");
40
- });
41
- it("returns generic for unknown types", () => {
42
- expect(detectContentType({
43
- type: "application/octet-stream",
44
- name: "file.xyz",
45
- })).toBe("generic");
46
- });
47
- });
48
- // ---------------------------------------------------------------------------
49
- // Witness builders
50
- // ---------------------------------------------------------------------------
51
- describe("buildBlogArticleWitness", () => {
52
- const payload = Object.freeze({
53
- author: "did:ethr:0xabc123",
54
- body: "Zero-knowledge proofs enable privacy-preserving verification.",
55
- published: 1714069800,
56
- words: 8,
57
- lang: "en",
58
- });
59
- it("returns witness with commitment field", () => {
60
- const result = buildBlogArticleWitness(payload);
61
- expect(result.witness).toHaveProperty("authorHash");
62
- expect(result.witness).toHaveProperty("published");
63
- expect(result.witness).toHaveProperty("integrityHash");
64
- expect(result.witness).toHaveProperty("words");
65
- expect(result.witness).toHaveProperty("langCode");
66
- expect(result.witness).toHaveProperty("commitment");
67
- expect(result.commitment).toBe(result.witness.commitment);
68
- });
69
- it("computes commitment as Poseidon5 of witness fields", () => {
70
- const result = buildBlogArticleWitness(payload);
71
- const authorHash = toScalar(payload.author);
72
- const published = BigInt(payload.published);
73
- const integrityHash = toScalar(payload.body);
74
- const words = BigInt(payload.words);
75
- const langCode = 1n; // "en"
76
- const expected = `0x${poseidon5([authorHash, published, integrityHash, words, langCode]).toString(16)}`;
77
- expect(result.commitment).toBe(expected);
78
- });
79
- it("is deterministic for same input", () => {
80
- expect(buildBlogArticleWitness(payload).commitment).toBe(buildBlogArticleWitness(payload).commitment);
81
- });
82
- it("produces different commitments for different payloads", () => {
83
- const different = buildBlogArticleWitness({ ...payload, body: "Different." });
84
- expect(different.commitment).not.toBe(buildBlogArticleWitness(payload).commitment);
85
- });
86
- it("maps unknown language to 0", () => {
87
- const result = buildBlogArticleWitness({ ...payload, lang: "xx" });
88
- expect(result.witness.langCode).toBe("0");
89
- });
90
- });
91
- describe("buildContentCommitmentWitness", () => {
92
- const bytes = new Uint8Array([0x48, 0x65, 0x6c, 0x6c, 0x6f]); // "Hello"
93
- it("returns witness with fileHash and commitment", () => {
94
- const result = buildContentCommitmentWitness(bytes);
95
- expect(result.witness).toHaveProperty("fileHash");
96
- expect(result.witness).toHaveProperty("commitment");
97
- expect(result.commitment).toBe(result.witness.commitment);
98
- });
99
- it("is deterministic for same input", () => {
100
- expect(buildContentCommitmentWitness(bytes).commitment).toBe(buildContentCommitmentWitness(bytes).commitment);
101
- });
102
- it("produces different commitments for different content", () => {
103
- const different = new Uint8Array([0x57, 0x6f, 0x72, 0x6c, 0x64]); // "World"
104
- expect(buildContentCommitmentWitness(bytes).commitment).not.toBe(buildContentCommitmentWitness(different).commitment);
105
- });
106
- });
107
- describe("computeCid", () => {
108
- it("returns sha256-prefixed hex CID", () => {
109
- const cid = computeCid(new Uint8Array([1, 2, 3]));
110
- expect(cid).toMatch(/^sha256:[0-9a-f]{64}$/);
111
- });
112
- it("is deterministic", () => {
113
- expect(computeCid(new Uint8Array([1]))).toBe(computeCid(new Uint8Array([1])));
114
- });
115
- });
116
- // ---------------------------------------------------------------------------
117
- // publish
118
- // ---------------------------------------------------------------------------
119
- describe("trust402.publish", () => {
120
- beforeEach(() => {
121
- vi.clearAllMocks();
122
- });
123
- /** Mock client that returns circuit metadata with no artifacts. */
124
- const setupMocks = () => {
125
- const mockFetch = vi.fn().mockImplementation((url) => {
126
- if (url.includes("/v1/circuits/")) {
127
- return Promise.resolve({
128
- ok: true,
129
- json: () => Promise.resolve({
130
- circuitId: url.split("/v1/circuits/")[1],
131
- schema: "test-schema",
132
- }),
133
- });
134
- }
135
- if (url.includes("/v1/proofs")) {
136
- return Promise.resolve({
137
- ok: true,
138
- json: () => Promise.resolve({
139
- status: "received",
140
- verificationId: "verif-001",
141
- }),
142
- });
143
- }
144
- if (url.includes("/v1/documents")) {
145
- return Promise.resolve({
146
- ok: true,
147
- json: () => Promise.resolve({
148
- status: "registered",
149
- docHash: "mock-doc-hash",
150
- }),
151
- });
152
- }
153
- return Promise.resolve({ ok: false });
154
- });
155
- const c = create({ apiBase: "http://localhost:8787" });
156
- c.fetcher = mockFetch;
157
- return c;
158
- };
159
- // ── Blog article via witness builder ───────────────────────────────
160
- describe("blog-article circuit", () => {
161
- const payload = Object.freeze({
162
- author: "did:ethr:0xabc123",
163
- body: "Zero-knowledge proofs enable privacy-preserving verification on decentralized networks.",
164
- published: 1714069800,
165
- words: 13,
166
- lang: "en",
167
- });
168
- const makeInput = () => {
169
- const { witness, commitment } = buildBlogArticleWitness(payload);
170
- return Object.freeze({
171
- circuitId: "blog-article-v1.2",
172
- witness,
173
- commitment,
174
- price: Object.freeze({ amount: 42000000, currency: "USDC" }),
175
- did: "did:ethr:0xabc123",
176
- metadata: Object.freeze({ title: "My Blog Post", version: "1.0.0" }),
177
- });
178
- };
179
- it("publishes a blog-article listing successfully", async () => {
180
- const client = setupMocks();
181
- const listing = await publish(client, makeInput());
182
- expect(listing).toHaveProperty("listingRoot");
183
- expect(listing).toHaveProperty("commitment");
184
- expect(listing).toHaveProperty("perSchemaProof");
185
- expect(listing.schemaId).toBe("blog-article-v1.2");
186
- expect(listing.did).toBe("did:ethr:0xabc123");
187
- expect(listing.perSchemaProof.circuitId).toBe("blog-article-v1.2");
188
- expect(listing.perSchemaProof.inputs.length).toBeGreaterThan(0);
189
- expect(listing.metadata).toEqual({ title: "My Blog Post", version: "1.0.0" });
190
- expect(listing.cid).toBeUndefined();
191
- });
192
- it("computes deterministic commitment from same witness", async () => {
193
- const client = setupMocks();
194
- const listing1 = await publish(client, makeInput());
195
- const listing2 = await publish(client, makeInput());
196
- expect(listing1.commitment).toBe(listing2.commitment);
197
- });
198
- it("generates unique listingRoots per call (random salt)", async () => {
199
- const client = setupMocks();
200
- const listing1 = await publish(client, makeInput());
201
- const listing2 = await publish(client, makeInput());
202
- expect(listing1.commitment).toBe(listing2.commitment);
203
- expect(listing1.listingRoot).not.toBe(listing2.listingRoot);
204
- });
205
- it("verifies commitment matches Poseidon5 of witness fields", async () => {
206
- const client = setupMocks();
207
- const listing = await publish(client, makeInput());
208
- const authorHash = toScalar(payload.author);
209
- const published = BigInt(payload.published);
210
- const integrityHash = toScalar(payload.body);
211
- const words = BigInt(payload.words);
212
- const langCode = 1n;
213
- const expected = `0x${poseidon5([authorHash, published, integrityHash, words, langCode]).toString(16)}`;
214
- expect(listing.commitment).toBe(expected);
215
- });
216
- });
217
- // ── Content commitment via witness builder ──────────────────────────
218
- describe("content-commitment circuit", () => {
219
- const bytes = new Uint8Array([0x48, 0x65, 0x6c, 0x6c, 0x6f]);
220
- const makeInput = () => {
221
- const { witness, commitment } = buildContentCommitmentWitness(bytes);
222
- return Object.freeze({
223
- circuitId: "content-commitment-v1.2",
224
- witness,
225
- commitment,
226
- cid: computeCid(bytes),
227
- price: Object.freeze({ amount: 10000000, currency: "USDC" }),
228
- did: "did:ethr:0xdef456",
229
- });
230
- };
231
- it("publishes a content-commitment listing with CID", async () => {
232
- const client = setupMocks();
233
- const listing = await publish(client, makeInput());
234
- expect(listing.schemaId).toBe("content-commitment-v1.2");
235
- expect(listing.perSchemaProof.circuitId).toBe("content-commitment-v1.2");
236
- expect(listing.cid).toMatch(/^sha256:[0-9a-f]{64}$/);
237
- });
238
- it("computes deterministic CID and commitment", async () => {
239
- const client = setupMocks();
240
- const listing1 = await publish(client, makeInput());
241
- const listing2 = await publish(client, makeInput());
242
- expect(listing1.cid).toBe(listing2.cid);
243
- expect(listing1.commitment).toBe(listing2.commitment);
244
- });
245
- it("passes environment as a query parameter on the proof submission URL", async () => {
246
- const client = setupMocks();
247
- const listing = await publish(client, Object.freeze({ ...makeInput(), environment: "production" }));
248
- const mockFetch = client.fetcher;
249
- const proofCall = mockFetch.mock.calls.find((call) => String(call[0]).includes("/v1/proofs") &&
250
- call[1]?.method === "POST");
251
- expect(proofCall).toBeDefined();
252
- expect(String(proofCall[0])).toContain("/v1/proofs?environment=production");
253
- const body = JSON.parse(proofCall[1].body);
254
- expect(body.environment).toBeUndefined();
255
- expect(listing.environment).toBe("production");
256
- });
257
- it("omits the environment query parameter when not set", async () => {
258
- const client = setupMocks();
259
- const listing = await publish(client, makeInput());
260
- const mockFetch = client.fetcher;
261
- const proofCall = mockFetch.mock.calls.find((call) => String(call[0]).includes("/v1/proofs") &&
262
- call[1]?.method === "POST");
263
- expect(proofCall).toBeDefined();
264
- expect(String(proofCall[0])).not.toContain("environment=");
265
- const body = JSON.parse(proofCall[1].body);
266
- expect(body.environment).toBeUndefined();
267
- expect(listing.environment).toBeUndefined();
268
- });
269
- });
270
- // ── Custom circuit (any circuitId) ──────────────────────────────────
271
- describe("custom circuit", () => {
272
- it("accepts arbitrary circuitId and witness", async () => {
273
- const client = setupMocks();
274
- const input = Object.freeze({
275
- circuitId: "blog-article-v1",
276
- witness: Object.freeze({
277
- foo: "0x1",
278
- bar: "42",
279
- commitment: "0xabc",
280
- }),
281
- commitment: "0xabc",
282
- price: Object.freeze({ amount: 5000, currency: "USDC" }),
283
- did: "did:pkh:eip155:8453:0xdead",
284
- });
285
- const listing = await publish(client, input);
286
- expect(listing.schemaId).toBe("blog-article-v1");
287
- expect(listing.commitment).toBe("0xabc");
288
- expect(listing.perSchemaProof.circuitId).toBe("blog-article-v1");
289
- });
290
- });
291
- // ── Error handling ──────────────────────────────────────────────────
292
- describe("error handling", () => {
293
- it("throws when prover.prove fails", async () => {
294
- const mockFetch = vi.fn().mockRejectedValue(new Error("Network error"));
295
- const client = create({ apiBase: "http://localhost:8787" });
296
- client.fetcher = mockFetch;
297
- const input = Object.freeze({
298
- circuitId: "content-commitment-v1.2",
299
- witness: Object.freeze({ fileHash: "0x1", commitment: "0x2" }),
300
- commitment: "0x2",
301
- price: Object.freeze({ amount: 100, currency: "USDC" }),
302
- did: "did:ethr:0xerr",
303
- });
304
- await expect(publish(client, input)).rejects.toThrow();
305
- });
306
- });
307
- });
308
- //# sourceMappingURL=trust402.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"trust402.test.js","sourceRoot":"","sources":["../src/trust402.test.ts"],"names":[],"mappings":"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"}