@fastxyz/fastid-sdk 0.1.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/LICENSE +202 -0
- package/README.md +65 -0
- package/dist/address.d.ts +12 -0
- package/dist/address.d.ts.map +1 -0
- package/dist/address.js +57 -0
- package/dist/address.js.map +1 -0
- package/dist/canonical-json.d.ts +12 -0
- package/dist/canonical-json.d.ts.map +1 -0
- package/dist/canonical-json.js +95 -0
- package/dist/canonical-json.js.map +1 -0
- package/dist/claim-data.d.ts +9 -0
- package/dist/claim-data.d.ts.map +1 -0
- package/dist/claim-data.js +151 -0
- package/dist/claim-data.js.map +1 -0
- package/dist/claim-fee.d.ts +26 -0
- package/dist/claim-fee.d.ts.map +1 -0
- package/dist/claim-fee.js +144 -0
- package/dist/claim-fee.js.map +1 -0
- package/dist/claim-preflight.d.ts +7 -0
- package/dist/claim-preflight.d.ts.map +1 -0
- package/dist/claim-preflight.js +34 -0
- package/dist/claim-preflight.js.map +1 -0
- package/dist/claim-tx.d.ts +35 -0
- package/dist/claim-tx.d.ts.map +1 -0
- package/dist/claim-tx.js +140 -0
- package/dist/claim-tx.js.map +1 -0
- package/dist/claims.d.ts +44 -0
- package/dist/claims.d.ts.map +1 -0
- package/dist/claims.js +348 -0
- package/dist/claims.js.map +1 -0
- package/dist/client.d.ts +37 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +139 -0
- package/dist/client.js.map +1 -0
- package/dist/errors.d.ts +252 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +410 -0
- package/dist/errors.js.map +1 -0
- package/dist/fasttx.d.ts +10 -0
- package/dist/fasttx.d.ts.map +1 -0
- package/dist/fasttx.js +35 -0
- package/dist/fasttx.js.map +1 -0
- package/dist/http.d.ts +15 -0
- package/dist/http.d.ts.map +1 -0
- package/dist/http.js +67 -0
- package/dist/http.js.map +1 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -0
- package/dist/name.d.ts +15 -0
- package/dist/name.d.ts.map +1 -0
- package/dist/name.js +34 -0
- package/dist/name.js.map +1 -0
- package/dist/networks.d.ts +8 -0
- package/dist/networks.d.ts.map +1 -0
- package/dist/networks.js +32 -0
- package/dist/networks.js.map +1 -0
- package/dist/profile-message.d.ts +22 -0
- package/dist/profile-message.d.ts.map +1 -0
- package/dist/profile-message.js +53 -0
- package/dist/profile-message.js.map +1 -0
- package/dist/profile.d.ts +30 -0
- package/dist/profile.d.ts.map +1 -0
- package/dist/profile.js +363 -0
- package/dist/profile.js.map +1 -0
- package/dist/proofs.d.ts +92 -0
- package/dist/proofs.d.ts.map +1 -0
- package/dist/proofs.js +770 -0
- package/dist/proofs.js.map +1 -0
- package/dist/reads.d.ts +76 -0
- package/dist/reads.d.ts.map +1 -0
- package/dist/reads.js +244 -0
- package/dist/reads.js.map +1 -0
- package/dist/report-wire.d.ts +35 -0
- package/dist/report-wire.d.ts.map +1 -0
- package/dist/report-wire.js +131 -0
- package/dist/report-wire.js.map +1 -0
- package/dist/report.d.ts +36 -0
- package/dist/report.d.ts.map +1 -0
- package/dist/report.js +255 -0
- package/dist/report.js.map +1 -0
- package/dist/share.d.ts +9 -0
- package/dist/share.d.ts.map +1 -0
- package/dist/share.js +16 -0
- package/dist/share.js.map +1 -0
- package/dist/signer.d.ts +23 -0
- package/dist/signer.d.ts.map +1 -0
- package/dist/signer.js +73 -0
- package/dist/signer.js.map +1 -0
- package/dist/verify.d.ts +6 -0
- package/dist/verify.d.ts.map +1 -0
- package/dist/verify.js +33 -0
- package/dist/verify.js.map +1 -0
- package/package.json +53 -0
package/dist/fasttx.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { VersionedTransactionFromBcs } from "@fastxyz/schema";
|
|
2
|
+
export interface Registration {
|
|
3
|
+
txIdHex: string;
|
|
4
|
+
nonceDecimal: string;
|
|
5
|
+
network: string;
|
|
6
|
+
}
|
|
7
|
+
export type DomainVersionedTransaction = typeof VersionedTransactionFromBcs.Type;
|
|
8
|
+
export declare function txIdFromDomainTransaction(transaction: DomainVersionedTransaction): Promise<string>;
|
|
9
|
+
export declare function certToRegistration(cert: unknown): Promise<Registration>;
|
|
10
|
+
//# sourceMappingURL=fasttx.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fasttx.d.ts","sourceRoot":"","sources":["../src/fasttx.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,2BAA2B,EAE5B,MAAM,iBAAiB,CAAC;AAGzB,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,0BAA0B,GACpC,OAAO,2BAA2B,CAAC,IAAI,CAAC;AAE1C,wBAAsB,yBAAyB,CAC7C,WAAW,EAAE,0BAA0B,GACtC,OAAO,CAAC,MAAM,CAAC,CAIjB;AAED,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,CAmC7E"}
|
package/dist/fasttx.js
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { hashHex } from "@fastxyz/sdk";
|
|
2
|
+
import { TransactionCertificateFromRest, VersionedTransactionFromBcs, bcsSchema, } from "@fastxyz/schema";
|
|
3
|
+
import { Schema } from "effect";
|
|
4
|
+
export async function txIdFromDomainTransaction(transaction) {
|
|
5
|
+
const bcsInput = Schema.encodeSync(VersionedTransactionFromBcs)(transaction);
|
|
6
|
+
const prefixedHex = await hashHex(bcsSchema.VersionedTransaction, bcsInput);
|
|
7
|
+
return prefixedHex.replace(/^0x/i, "").toLowerCase();
|
|
8
|
+
}
|
|
9
|
+
export async function certToRegistration(cert) {
|
|
10
|
+
let decoded;
|
|
11
|
+
try {
|
|
12
|
+
decoded = Schema.decodeUnknownSync(TransactionCertificateFromRest)(cert);
|
|
13
|
+
}
|
|
14
|
+
catch (error) {
|
|
15
|
+
throw new Error(`Malformed transaction certificate: ${error instanceof Error ? error.message : String(error)}`);
|
|
16
|
+
}
|
|
17
|
+
const transaction = decoded.envelope.transaction;
|
|
18
|
+
let txIdHex;
|
|
19
|
+
try {
|
|
20
|
+
txIdHex = await txIdFromDomainTransaction(transaction);
|
|
21
|
+
}
|
|
22
|
+
catch (error) {
|
|
23
|
+
throw new Error(`Could not compute tx_id from certificate: ${error instanceof Error ? error.message : String(error)}`);
|
|
24
|
+
}
|
|
25
|
+
const value = transaction.value;
|
|
26
|
+
if (!value || value.nonce === undefined) {
|
|
27
|
+
throw new Error("Transaction certificate is missing a nonce; unrecognized transaction shape.");
|
|
28
|
+
}
|
|
29
|
+
return {
|
|
30
|
+
txIdHex,
|
|
31
|
+
nonceDecimal: value.nonce.toString(),
|
|
32
|
+
network: value.networkId ?? value.network ?? "",
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=fasttx.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fasttx.js","sourceRoot":"","sources":["../src/fasttx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EACL,8BAA8B,EAC9B,2BAA2B,EAC3B,SAAS,GACV,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAWhC,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,WAAuC;IAEvC,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,2BAA2B,CAAC,CAAC,WAAW,CAAC,CAAC;IAC7E,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;IAC5E,OAAO,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;AACvD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,IAAa;IACpD,IAAI,OAAmD,CAAC;IACxD,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,CAAC,iBAAiB,CAAC,8BAA8B,CAAC,CAAC,IAAI,CAAC,CAAC;IAC3E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,sCAAsC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAC/F,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;IACjD,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,yBAAyB,CAAC,WAAW,CAAC,CAAC;IACzD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,6CAA6C,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACtG,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GACT,WAGD,CAAC,KAAK,CAAC;IACR,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CACb,6EAA6E,CAC9E,CAAC;IACJ,CAAC;IACD,OAAO;QACL,OAAO;QACP,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE;QACpC,OAAO,EAAE,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,OAAO,IAAI,EAAE;KAChD,CAAC;AACJ,CAAC"}
|
package/dist/http.d.ts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export declare class HttpError extends Error {
|
|
2
|
+
readonly status: number;
|
|
3
|
+
readonly body: unknown;
|
|
4
|
+
constructor(status: number, body: unknown);
|
|
5
|
+
}
|
|
6
|
+
export declare class HttpClient {
|
|
7
|
+
#private;
|
|
8
|
+
constructor(origin: string, fetchImpl?: typeof fetch);
|
|
9
|
+
get origin(): string;
|
|
10
|
+
requestJson(path: string, init?: RequestInit): Promise<unknown>;
|
|
11
|
+
getJson(path: string): Promise<unknown>;
|
|
12
|
+
postJson(path: string, body: unknown): Promise<unknown>;
|
|
13
|
+
putJson(path: string, body: unknown): Promise<unknown>;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=http.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAAA,qBAAa,SAAU,SAAQ,KAAK;aAEhB,MAAM,EAAE,MAAM;aACd,IAAI,EAAE,OAAO;gBADb,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,OAAO;CAKhC;AAED,qBAAa,UAAU;;gBAIT,MAAM,EAAE,MAAM,EAAE,SAAS,GAAE,OAAO,KAAa;IAK3D,IAAI,MAAM,IAAI,MAAM,CAEnB;IAEK,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,WAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IA2BzE,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIvC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAQvD,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;CAOvD"}
|
package/dist/http.js
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
export class HttpError extends Error {
|
|
2
|
+
status;
|
|
3
|
+
body;
|
|
4
|
+
constructor(status, body) {
|
|
5
|
+
super(`HTTP request failed with status ${status}`);
|
|
6
|
+
this.status = status;
|
|
7
|
+
this.body = body;
|
|
8
|
+
this.name = "HttpError";
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
export class HttpClient {
|
|
12
|
+
#origin;
|
|
13
|
+
#fetch;
|
|
14
|
+
constructor(origin, fetchImpl = fetch) {
|
|
15
|
+
this.#origin = origin.replace(/\/+$/, "");
|
|
16
|
+
this.#fetch = fetchImpl;
|
|
17
|
+
}
|
|
18
|
+
get origin() {
|
|
19
|
+
return this.#origin;
|
|
20
|
+
}
|
|
21
|
+
async requestJson(path, init = {}) {
|
|
22
|
+
const headers = new Headers(init.headers);
|
|
23
|
+
if (!headers.has("accept"))
|
|
24
|
+
headers.set("accept", "application/json");
|
|
25
|
+
const response = await this.#fetch(`${this.#origin}${path}`, {
|
|
26
|
+
cache: "no-store",
|
|
27
|
+
...init,
|
|
28
|
+
headers,
|
|
29
|
+
});
|
|
30
|
+
const text = await response.text();
|
|
31
|
+
let body = null;
|
|
32
|
+
let parsed = false;
|
|
33
|
+
if (text.length > 0) {
|
|
34
|
+
try {
|
|
35
|
+
body = JSON.parse(text);
|
|
36
|
+
parsed = true;
|
|
37
|
+
}
|
|
38
|
+
catch {
|
|
39
|
+
body = text;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
if (!response.ok)
|
|
43
|
+
throw new HttpError(response.status, body);
|
|
44
|
+
if (text.length > 0 && !parsed) {
|
|
45
|
+
throw new HttpError(response.status, body);
|
|
46
|
+
}
|
|
47
|
+
return body;
|
|
48
|
+
}
|
|
49
|
+
getJson(path) {
|
|
50
|
+
return this.requestJson(path, { method: "GET" });
|
|
51
|
+
}
|
|
52
|
+
postJson(path, body) {
|
|
53
|
+
return this.requestJson(path, {
|
|
54
|
+
method: "POST",
|
|
55
|
+
headers: { "content-type": "application/json" },
|
|
56
|
+
body: JSON.stringify(body),
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
putJson(path, body) {
|
|
60
|
+
return this.requestJson(path, {
|
|
61
|
+
method: "PUT",
|
|
62
|
+
headers: { "content-type": "application/json" },
|
|
63
|
+
body: JSON.stringify(body),
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=http.js.map
|
package/dist/http.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,SAAU,SAAQ,KAAK;IAEhB;IACA;IAFlB,YACkB,MAAc,EACd,IAAa;QAE7B,KAAK,CAAC,mCAAmC,MAAM,EAAE,CAAC,CAAC;QAHnC,WAAM,GAAN,MAAM,CAAQ;QACd,SAAI,GAAJ,IAAI,CAAS;QAG7B,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;IAC1B,CAAC;CACF;AAED,MAAM,OAAO,UAAU;IACZ,OAAO,CAAS;IAChB,MAAM,CAAe;IAE9B,YAAY,MAAc,EAAE,YAA0B,KAAK;QACzD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;IAC1B,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,IAAY,EAAE,OAAoB,EAAE;QACpD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;QACtE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,EAAE,EAAE;YAC3D,KAAK,EAAE,UAAU;YACjB,GAAG,IAAI;YACP,OAAO;SACR,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,IAAI,IAAI,GAAY,IAAI,CAAC;QACzB,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,IAAI,CAAC;gBACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACxB,MAAM,GAAG,IAAI,CAAC;YAChB,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,GAAG,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,MAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC7D,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YAC/B,MAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC7C,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CAAC,IAAY;QAClB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,QAAQ,CAAC,IAAY,EAAE,IAAa;QAClC,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE;YAC5B,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAC;IACL,CAAC;IAED,OAAO,CAAC,IAAY,EAAE,IAAa;QACjC,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE;YAC5B,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAC;IACL,CAAC;CACF"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export { CLAIM_DATA_KINDS, CLAIM_DATA_V2_MAX_BYTES, CLAIM_DATA_V2_SCHEMA, claimDataHex, encodeClaimDataV2, isCanonicalClaimValue, isClaimDataKind, type ClaimDataKind, } from "./claim-data.js";
|
|
2
|
+
export { type PendingRegistration, type RegisteredClaim, type RevocableClaimKind, } from "./claims.js";
|
|
3
|
+
export { IdClient, type IdClientOptions } from "./client.js";
|
|
4
|
+
export * from "./errors.js";
|
|
5
|
+
export { HttpError } from "./http.js";
|
|
6
|
+
export { type IdNetwork } from "./networks.js";
|
|
7
|
+
export { type ProfileAvatarFile, type ProfileUpdateInput, type ProfileUpdateResult, } from "./profile.js";
|
|
8
|
+
export { type OAuthClaimInstructions, type OAuthProofReady, type OAuthProvider, type ProofWaitOptions, type WebsiteClaimInstructions, type XClaimSession, type XClaimStart, type XProofPost, type XVerificationResult, } from "./proofs.js";
|
|
9
|
+
export { type Availability, type AvailabilityReadOptions, type IdentityDocument, type ImportedWork, type OwnerLink, type OwnerLinks, type PropertyClaimedResult, type PropertyClaimKind, type ResolvedId, } from "./reads.js";
|
|
10
|
+
export { REPORT_BODY_LIMIT, REPORT_CIPHERTEXT_LIMIT, REPORT_TEXT_MAX, type ReportSeverity, type SubmitReportInput, type SubmitReportResult, } from "./report.js";
|
|
11
|
+
export { KeySigner, type Signer } from "./signer.js";
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,oBAAoB,EACpB,YAAY,EACZ,iBAAiB,EACjB,qBAAqB,EACrB,eAAe,EACf,KAAK,aAAa,GACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,kBAAkB,GACxB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,QAAQ,EAAE,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AAC7D,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,GACzB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,EAC7B,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,mBAAmB,GACzB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,uBAAuB,EAC5B,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,UAAU,GAChB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,eAAe,EACf,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,GACxB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,SAAS,EAAE,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { CLAIM_DATA_KINDS, CLAIM_DATA_V2_MAX_BYTES, CLAIM_DATA_V2_SCHEMA, claimDataHex, encodeClaimDataV2, isCanonicalClaimValue, isClaimDataKind, } from "./claim-data.js";
|
|
2
|
+
export { IdClient } from "./client.js";
|
|
3
|
+
export * from "./errors.js";
|
|
4
|
+
export { HttpError } from "./http.js";
|
|
5
|
+
export { REPORT_BODY_LIMIT, REPORT_CIPHERTEXT_LIMIT, REPORT_TEXT_MAX, } from "./report.js";
|
|
6
|
+
export { KeySigner } from "./signer.js";
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,oBAAoB,EACpB,YAAY,EACZ,iBAAiB,EACjB,qBAAqB,EACrB,eAAe,GAEhB,MAAM,iBAAiB,CAAC;AAMzB,OAAO,EAAE,QAAQ,EAAwB,MAAM,aAAa,CAAC;AAC7D,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AA6BtC,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,eAAe,GAIhB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,SAAS,EAAe,MAAM,aAAa,CAAC"}
|
package/dist/name.d.ts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export declare const RESERVED_LABELS: Set<string>;
|
|
2
|
+
export declare function isCanonicalName(input: string): boolean;
|
|
3
|
+
export declare function isFastAddress(input: string): boolean;
|
|
4
|
+
export type Query = {
|
|
5
|
+
kind: "name";
|
|
6
|
+
value: string;
|
|
7
|
+
} | {
|
|
8
|
+
kind: "address";
|
|
9
|
+
value: string;
|
|
10
|
+
} | {
|
|
11
|
+
kind: "invalid";
|
|
12
|
+
value: string;
|
|
13
|
+
};
|
|
14
|
+
export declare function classifyQuery(raw: string): Query;
|
|
15
|
+
//# sourceMappingURL=name.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"name.d.ts","sourceRoot":"","sources":["../src/name.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,eAAe,aAW1B,CAAC;AAIH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAKtD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED,MAAM,MAAM,KAAK,GACb;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC/B;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvC,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAKhD"}
|
package/dist/name.js
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
const LABEL = /^[a-z0-9_]{1,15}$/;
|
|
2
|
+
export const RESERVED_LABELS = new Set([
|
|
3
|
+
"api",
|
|
4
|
+
"admin",
|
|
5
|
+
"www",
|
|
6
|
+
"id",
|
|
7
|
+
"app",
|
|
8
|
+
"assets",
|
|
9
|
+
"static",
|
|
10
|
+
"_next",
|
|
11
|
+
"favicon",
|
|
12
|
+
"robots",
|
|
13
|
+
]);
|
|
14
|
+
const ADDRESS = /^fast1[023456789acdefghjklmnpqrstuvwxyz]{20,90}$/;
|
|
15
|
+
export function isCanonicalName(input) {
|
|
16
|
+
if (input !== input.toLowerCase())
|
|
17
|
+
return false;
|
|
18
|
+
const parts = input.split(".");
|
|
19
|
+
if (parts.length !== 2)
|
|
20
|
+
return false;
|
|
21
|
+
return parts.every((part) => LABEL.test(part) && !RESERVED_LABELS.has(part));
|
|
22
|
+
}
|
|
23
|
+
export function isFastAddress(input) {
|
|
24
|
+
return ADDRESS.test(input);
|
|
25
|
+
}
|
|
26
|
+
export function classifyQuery(raw) {
|
|
27
|
+
const value = raw.trim().toLowerCase();
|
|
28
|
+
if (isCanonicalName(value))
|
|
29
|
+
return { kind: "name", value };
|
|
30
|
+
if (isFastAddress(value))
|
|
31
|
+
return { kind: "address", value };
|
|
32
|
+
return { kind: "invalid", value };
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=name.js.map
|
package/dist/name.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"name.js","sourceRoot":"","sources":["../src/name.ts"],"names":[],"mappings":"AAAA,MAAM,KAAK,GAAG,mBAAmB,CAAC;AAElC,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;IACrC,KAAK;IACL,OAAO;IACP,KAAK;IACL,IAAI;IACJ,KAAK;IACL,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,SAAS;IACT,QAAQ;CACT,CAAC,CAAC;AAEH,MAAM,OAAO,GAAG,kDAAkD,CAAC;AAEnE,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,IAAI,KAAK,KAAK,KAAK,CAAC,WAAW,EAAE;QAAE,OAAO,KAAK,CAAC;IAChD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACrC,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AAC/E,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC;AAOD,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACvC,IAAI,eAAe,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAC3D,IAAI,aAAa,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IAC5D,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;AACpC,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export type IdNetwork = "fast:mainnet" | "fast:testnet";
|
|
2
|
+
export interface IdNetworkConfig {
|
|
3
|
+
networkId: IdNetwork;
|
|
4
|
+
idOrigin: string;
|
|
5
|
+
proxyUrl: string;
|
|
6
|
+
}
|
|
7
|
+
export declare function networkFor(networkId: string): IdNetworkConfig;
|
|
8
|
+
//# sourceMappingURL=networks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"networks.d.ts","sourceRoot":"","sources":["../src/networks.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,cAAc,GAAG,cAAc,CAAC;AAExD,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAmBD,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe,CAgB7D"}
|
package/dist/networks.js
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
const NETWORKS = {
|
|
2
|
+
"fast:mainnet": {
|
|
3
|
+
networkId: "fast:mainnet",
|
|
4
|
+
idOrigin: "https://id.fast.xyz",
|
|
5
|
+
proxyUrl: "https://api.fast.xyz/proxy",
|
|
6
|
+
},
|
|
7
|
+
"fast:testnet": {
|
|
8
|
+
networkId: "fast:testnet",
|
|
9
|
+
idOrigin: "https://testnet.id.fast.xyz",
|
|
10
|
+
proxyUrl: "https://testnet.api.fast.xyz/proxy",
|
|
11
|
+
},
|
|
12
|
+
};
|
|
13
|
+
function withoutTrailingSlash(value) {
|
|
14
|
+
return value.replace(/\/+$/, "");
|
|
15
|
+
}
|
|
16
|
+
export function networkFor(networkId) {
|
|
17
|
+
if (networkId !== "fast:mainnet" && networkId !== "fast:testnet") {
|
|
18
|
+
throw new Error(`Unknown network ${networkId}`);
|
|
19
|
+
}
|
|
20
|
+
const configured = NETWORKS[networkId];
|
|
21
|
+
const allowTestOverrides = networkId === "fast:testnet";
|
|
22
|
+
return {
|
|
23
|
+
networkId,
|
|
24
|
+
idOrigin: allowTestOverrides && process.env.ID_SDK_ORIGIN
|
|
25
|
+
? withoutTrailingSlash(process.env.ID_SDK_ORIGIN)
|
|
26
|
+
: configured.idOrigin,
|
|
27
|
+
proxyUrl: allowTestOverrides && process.env.ID_SDK_PROXY
|
|
28
|
+
? withoutTrailingSlash(process.env.ID_SDK_PROXY)
|
|
29
|
+
: configured.proxyUrl,
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=networks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"networks.js","sourceRoot":"","sources":["../src/networks.ts"],"names":[],"mappings":"AAQA,MAAM,QAAQ,GAAuC;IACnD,cAAc,EAAE;QACd,SAAS,EAAE,cAAc;QACzB,QAAQ,EAAE,qBAAqB;QAC/B,QAAQ,EAAE,4BAA4B;KACvC;IACD,cAAc,EAAE;QACd,SAAS,EAAE,cAAc;QACzB,QAAQ,EAAE,6BAA6B;QACvC,QAAQ,EAAE,oCAAoC;KAC/C;CACF,CAAC;AAEF,SAAS,oBAAoB,CAAC,KAAa;IACzC,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,SAAiB;IAC1C,IAAI,SAAS,KAAK,cAAc,IAAI,SAAS,KAAK,cAAc,EAAE,CAAC;QACjE,MAAM,IAAI,KAAK,CAAC,mBAAmB,SAAS,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,UAAU,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;IACvC,MAAM,kBAAkB,GAAG,SAAS,KAAK,cAAc,CAAC;IACxD,OAAO;QACL,SAAS;QACT,QAAQ,EAAE,kBAAkB,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa;YACvD,CAAC,CAAC,oBAAoB,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;YACjD,CAAC,CAAC,UAAU,CAAC,QAAQ;QACvB,QAAQ,EAAE,kBAAkB,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY;YACtD,CAAC,CAAC,oBAAoB,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;YAChD,CAAC,CAAC,UAAU,CAAC,QAAQ;KACxB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export type AvatarOp = {
|
|
2
|
+
kind: "nochange";
|
|
3
|
+
} | {
|
|
4
|
+
kind: "set";
|
|
5
|
+
digest: Uint8Array;
|
|
6
|
+
} | {
|
|
7
|
+
kind: "clear";
|
|
8
|
+
};
|
|
9
|
+
export interface ProfileMessageFields {
|
|
10
|
+
address: Uint8Array;
|
|
11
|
+
network: string;
|
|
12
|
+
displayName: string;
|
|
13
|
+
bio: string;
|
|
14
|
+
avatar: AvatarOp;
|
|
15
|
+
expiry: bigint;
|
|
16
|
+
serverNonce: Uint8Array;
|
|
17
|
+
}
|
|
18
|
+
export declare function displayNameOk(value: string): boolean;
|
|
19
|
+
export declare function bioOk(value: string): boolean;
|
|
20
|
+
/** Frozen §7d profile-message wire, byte-identical to the index implementation. */
|
|
21
|
+
export declare function encodeProfileMessage(fields: ProfileMessageFields): Uint8Array;
|
|
22
|
+
//# sourceMappingURL=profile-message.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profile-message.d.ts","sourceRoot":"","sources":["../src/profile-message.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAChB;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GACpB;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC;AAEtB,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,UAAU,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,QAAQ,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,UAAU,CAAC;CACzB;AAID,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE5C;AA4BD,mFAAmF;AACnF,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,oBAAoB,GAC3B,UAAU,CAkCZ"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
const DOMAIN = new TextEncoder().encode("fastid-profile-v1");
|
|
2
|
+
export function displayNameOk(value) {
|
|
3
|
+
return [...value].length <= 64;
|
|
4
|
+
}
|
|
5
|
+
export function bioOk(value) {
|
|
6
|
+
return [...value].length <= 512;
|
|
7
|
+
}
|
|
8
|
+
function u16be(value) {
|
|
9
|
+
return new Uint8Array([(value >> 8) & 0xff, value & 0xff]);
|
|
10
|
+
}
|
|
11
|
+
function u64be(value) {
|
|
12
|
+
const output = new Uint8Array(8);
|
|
13
|
+
let remaining = value & 0xffffffffffffffffn;
|
|
14
|
+
for (let index = 7; index >= 0; index -= 1) {
|
|
15
|
+
output[index] = Number(remaining & 0xffn);
|
|
16
|
+
remaining >>= 8n;
|
|
17
|
+
}
|
|
18
|
+
return output;
|
|
19
|
+
}
|
|
20
|
+
function concat(...arrays) {
|
|
21
|
+
const output = new Uint8Array(arrays.reduce((length, array) => length + array.length, 0));
|
|
22
|
+
let offset = 0;
|
|
23
|
+
for (const array of arrays) {
|
|
24
|
+
output.set(array, offset);
|
|
25
|
+
offset += array.length;
|
|
26
|
+
}
|
|
27
|
+
return output;
|
|
28
|
+
}
|
|
29
|
+
/** Frozen §7d profile-message wire, byte-identical to the index implementation. */
|
|
30
|
+
export function encodeProfileMessage(fields) {
|
|
31
|
+
const encoder = new TextEncoder();
|
|
32
|
+
const network = encoder.encode(fields.network);
|
|
33
|
+
const displayName = encoder.encode(fields.displayName);
|
|
34
|
+
const bio = encoder.encode(fields.bio);
|
|
35
|
+
if (network.length > 0xff)
|
|
36
|
+
throw new Error("network too long");
|
|
37
|
+
if (displayName.length > 0xffff)
|
|
38
|
+
throw new Error("display_name too long");
|
|
39
|
+
if (bio.length > 0xffff)
|
|
40
|
+
throw new Error("bio too long");
|
|
41
|
+
if (fields.address.length !== 32)
|
|
42
|
+
throw new Error("address must be 32 bytes");
|
|
43
|
+
if (fields.serverNonce.length !== 32) {
|
|
44
|
+
throw new Error("server nonce must be 32 bytes");
|
|
45
|
+
}
|
|
46
|
+
if (fields.avatar.kind === "set" && fields.avatar.digest.length !== 32) {
|
|
47
|
+
throw new Error("avatar digest must be 32 bytes");
|
|
48
|
+
}
|
|
49
|
+
const avatarFlag = fields.avatar.kind === "nochange" ? 0 : fields.avatar.kind === "set" ? 1 : 2;
|
|
50
|
+
const digest = fields.avatar.kind === "set" ? fields.avatar.digest : new Uint8Array();
|
|
51
|
+
return concat(DOMAIN, fields.address, new Uint8Array([network.length]), network, u16be(displayName.length), displayName, u16be(bio.length), bio, new Uint8Array([avatarFlag]), digest, u64be(fields.expiry), fields.serverNonce);
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=profile-message.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profile-message.js","sourceRoot":"","sources":["../src/profile-message.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { IdNetworkConfig } from "./networks.js";
|
|
2
|
+
import type { IdReads } from "./reads.js";
|
|
3
|
+
import type { Signer } from "./signer.js";
|
|
4
|
+
export interface ProfileAvatarFile {
|
|
5
|
+
bytes: Uint8Array;
|
|
6
|
+
type: string;
|
|
7
|
+
name: string;
|
|
8
|
+
}
|
|
9
|
+
export interface ProfileUpdateInput {
|
|
10
|
+
displayName?: string;
|
|
11
|
+
bio?: string;
|
|
12
|
+
/** Omit to keep the current avatar, pass null to clear it, or pass original file bytes to set it. */
|
|
13
|
+
avatar?: ProfileAvatarFile | null;
|
|
14
|
+
}
|
|
15
|
+
export interface ProfileUpdateResult {
|
|
16
|
+
status: "updated";
|
|
17
|
+
}
|
|
18
|
+
interface ProfileServiceOptions {
|
|
19
|
+
config: IdNetworkConfig;
|
|
20
|
+
signer: Signer;
|
|
21
|
+
reads: IdReads;
|
|
22
|
+
fetchImpl: typeof fetch;
|
|
23
|
+
}
|
|
24
|
+
export declare class ProfileService {
|
|
25
|
+
#private;
|
|
26
|
+
constructor(options: ProfileServiceOptions);
|
|
27
|
+
updateProfile(input: ProfileUpdateInput): Promise<ProfileUpdateResult>;
|
|
28
|
+
}
|
|
29
|
+
export {};
|
|
30
|
+
//# sourceMappingURL=profile.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../src/profile.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAQrD,OAAO,KAAK,EAAE,OAAO,EAAc,MAAM,YAAY,CAAC;AACtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAG1C,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,UAAU,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,qGAAqG;IACrG,MAAM,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;CACnC;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,SAAS,CAAC;CACnB;AAED,UAAU,qBAAqB;IAC7B,MAAM,EAAE,eAAe,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,OAAO,KAAK,CAAC;CACzB;AA2ND,qBAAa,cAAc;;gBAMb,OAAO,EAAE,qBAAqB;IAOpC,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;CAqM7E"}
|