@unlink-xyz/core 0.1.4 → 0.1.6
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/dist/account/account.d.ts +1 -1
- package/dist/account/account.d.ts.map +1 -1
- package/dist/browser/index.js +225 -67
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/wallet/index.js +224 -66
- package/dist/browser/wallet/index.js.map +1 -1
- package/dist/clients/http.d.ts.map +1 -1
- package/dist/config.d.ts +14 -8
- package/dist/config.d.ts.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3581 -207
- package/dist/index.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/tsup.config.d.ts.map +1 -1
- package/dist/utils/async.js.map +1 -1
- package/dist/utils/validators.d.ts +1 -1
- package/dist/wallet/adapter.d.ts.map +1 -1
- package/dist/wallet/index.js +3569 -193
- package/dist/wallet/index.js.map +1 -1
- package/dist/wallet/sdk.d.ts +6 -7
- package/dist/wallet/sdk.d.ts.map +1 -1
- package/dist/wallet/types.d.ts +12 -14
- package/dist/wallet/types.d.ts.map +1 -1
- package/dist/wallet/unlink-wallet.d.ts +7 -8
- package/dist/wallet/unlink-wallet.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tsup.config.d.ts","sourceRoot":"","sources":["../tsup.config.ts"],"names":[],"mappings":"AAEA;;;;GAIG;;AACH,
|
|
1
|
+
{"version":3,"file":"tsup.config.d.ts","sourceRoot":"","sources":["../tsup.config.ts"],"names":[],"mappings":"AAEA;;;;GAIG;;AACH,wBAoCG"}
|
package/dist/utils/async.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../clients/http.ts","../../utils/async.ts"],"sourcesContent":["import ky, { TimeoutError } from \"ky\";\n\nimport { InitializationError } from \"../errors.js\";\n\nexport type FetchLike = (\n input: RequestInfo | URL,\n init?: RequestInit,\n) => Promise<Response>;\n\n/**\n * Resolve fetch implementation from options or global.\n * @param providedFetch - Optional fetch implementation\n * @returns Fetch function or undefined if not available\n */\nexport function resolveFetch(\n providedFetch?: FetchLike,\n): typeof fetch | undefined {\n return providedFetch ?? (typeof fetch === \"function\" ? fetch : undefined);\n}\n\nexport type JsonHttpDeps = { fetch: FetchLike };\n\nexport type JsonRequestOptions = {\n method: \"GET\" | \"POST\" | \"PUT\" | \"PATCH\" | \"DELETE\";\n path: string;\n query?: Record<string, string | number | boolean | undefined>;\n json?: unknown;\n body?: BodyInit;\n headers?: HeadersInit;\n signal?: AbortSignal;\n};\n\nexport type JsonHttpClient = {\n request<T>(opts: JsonRequestOptions): Promise<T>;\n};\n\nexport class HttpError extends Error {\n readonly status: number;\n readonly body: unknown;\n\n constructor(message: string, status: number, body: unknown) {\n super(message);\n this.status = status;\n this.body = body;\n }\n}\n\nasync function readErrorBodySafe(res: Response) {\n try {\n return await res.clone().json();\n } catch {\n const text = await res.text();\n return text || null;\n }\n}\n\nexport function createJsonHttpClient(\n baseUrl: string,\n deps: JsonHttpDeps,\n): JsonHttpClient {\n if (!baseUrl) throw new InitializationError(\"baseUrl is required\");\n if (!deps?.fetch) throw new InitializationError(\"deps.fetch is required\");\n\n // Ensure `fetch` is invoked with a global `this` to avoid \"Illegal invocation\"\n // errors in some browser environments when the function is extracted. // TODO: can we fix this in another way?\n const fetchImpl: FetchLike = (...args) => deps.fetch.apply(globalThis, args);\n\n const api = ky.create({\n prefixUrl: baseUrl.replace(/\\/+$/, \"\"),\n fetch: fetchImpl,\n // Disable ky's automatic error throwing to prevent browser DevTools\n // from logging expected 404s as network errors\n throwHttpErrors: false,\n });\n\n return {\n async request<T>(opts: JsonRequestOptions): Promise<T> {\n let res
|
|
1
|
+
{"version":3,"sources":["../../clients/http.ts","../../utils/async.ts"],"sourcesContent":["import ky, { TimeoutError } from \"ky\";\n\nimport { InitializationError } from \"../errors.js\";\n\nexport type FetchLike = (\n input: RequestInfo | URL,\n init?: RequestInit,\n) => Promise<Response>;\n\n/**\n * Resolve fetch implementation from options or global.\n * @param providedFetch - Optional fetch implementation\n * @returns Fetch function or undefined if not available\n */\nexport function resolveFetch(\n providedFetch?: FetchLike,\n): typeof fetch | undefined {\n return providedFetch ?? (typeof fetch === \"function\" ? fetch : undefined);\n}\n\nexport type JsonHttpDeps = { fetch: FetchLike };\n\nexport type JsonRequestOptions = {\n method: \"GET\" | \"POST\" | \"PUT\" | \"PATCH\" | \"DELETE\";\n path: string;\n query?: Record<string, string | number | boolean | undefined>;\n json?: unknown;\n body?: BodyInit;\n headers?: HeadersInit;\n signal?: AbortSignal;\n};\n\nexport type JsonHttpClient = {\n request<T>(opts: JsonRequestOptions): Promise<T>;\n};\n\nexport class HttpError extends Error {\n readonly status: number;\n readonly body: unknown;\n\n constructor(message: string, status: number, body: unknown) {\n super(message);\n this.status = status;\n this.body = body;\n }\n}\n\nasync function readErrorBodySafe(res: Response) {\n try {\n return await res.clone().json();\n } catch {\n const text = await res.text();\n return text || null;\n }\n}\n\nexport function createJsonHttpClient(\n baseUrl: string,\n deps: JsonHttpDeps,\n): JsonHttpClient {\n if (!baseUrl) throw new InitializationError(\"baseUrl is required\");\n if (!deps?.fetch) throw new InitializationError(\"deps.fetch is required\");\n\n // Ensure `fetch` is invoked with a global `this` to avoid \"Illegal invocation\"\n // errors in some browser environments when the function is extracted. // TODO: can we fix this in another way?\n const fetchImpl: FetchLike = (...args) => deps.fetch.apply(globalThis, args);\n\n const api = ky.create({\n prefixUrl: baseUrl.replace(/\\/+$/, \"\"),\n fetch: fetchImpl,\n // Disable ky's automatic error throwing to prevent browser DevTools\n // from logging expected 404s as network errors\n throwHttpErrors: false,\n retry: 0,\n });\n\n const RETRYABLE_STATUSES = [502, 503, 504];\n const MAX_RETRIES = 3;\n const BASE_DELAY_MS = 500;\n\n return {\n async request<T>(opts: JsonRequestOptions): Promise<T> {\n let res!: Response;\n\n for (let attempt = 0; attempt <= MAX_RETRIES; attempt++) {\n try {\n res = await api(opts.path.replace(/^\\//, \"\"), {\n method: opts.method,\n searchParams: opts.query,\n json: opts.json,\n body: opts.body,\n headers: opts.headers,\n signal: opts.signal,\n });\n } catch (err) {\n // Only network-level errors reach here (timeout, connection refused, etc.)\n if (err instanceof TimeoutError) {\n throw new HttpError(\"HTTP timeout\", 408, null);\n }\n throw new HttpError(\n err instanceof Error ? err.message : \"Network error\",\n 0,\n null,\n );\n }\n\n if (RETRYABLE_STATUSES.includes(res.status) && attempt < MAX_RETRIES) {\n const delay = BASE_DELAY_MS * 2 ** attempt + Math.random() * 200;\n await new Promise((r) => setTimeout(r, delay));\n continue;\n }\n break;\n }\n\n // HTTP status errors handled outside try-catch - no redundant catch/rethrow\n if (!res.ok) {\n const body = await readErrorBodySafe(res);\n throw new HttpError(\n `HTTP ${res.status} ${res.statusText}`.trim(),\n res.status,\n body,\n );\n }\n\n return (await res.json()) as T;\n },\n };\n}\n","import { HttpError } from \"../clients/http.js\";\n\n/**\n * Promise-based delay utility.\n */\nexport function sleep(ms: number): Promise<void> {\n return new Promise((resolve) => setTimeout(resolve, ms));\n}\n\n/**\n * Type guard for HTTP 404 errors.\n */\nexport function isNotFoundError(err: unknown): err is HttpError {\n return err instanceof HttpError && err.status === 404;\n}\n\n/**\n * Race a promise against a timeout, rejecting if the timeout fires first.\n * Properly cleans up the timeout to avoid memory leaks.\n *\n * @param promise - The promise to race against the timeout\n * @param ms - Timeout in milliseconds\n * @param error - Error to throw on timeout (string message or Error instance)\n */\nexport async function withTimeout<T>(\n promise: Promise<T>,\n ms: number,\n error?: string | Error,\n): Promise<T> {\n let timeoutId: ReturnType<typeof setTimeout> | undefined;\n return Promise.race([\n promise,\n new Promise<never>((_, reject) => {\n timeoutId = setTimeout(() => {\n reject(\n error instanceof Error\n ? error\n : new Error(error ?? `Operation timed out after ${ms}ms`),\n );\n }, ms);\n }),\n ]).finally(() => {\n if (timeoutId !== undefined) clearTimeout(timeoutId);\n });\n}\n"],"mappings":";AAAA,OAAO,MAAM,oBAAoB;AAoC1B,IAAM,YAAN,cAAwB,MAAM;AAAA,EAC1B;AAAA,EACA;AAAA,EAET,YAAY,SAAiB,QAAgB,MAAe;AAC1D,UAAM,OAAO;AACb,SAAK,SAAS;AACd,SAAK,OAAO;AAAA,EACd;AACF;;;ACxCO,SAAS,MAAM,IAA2B;AAC/C,SAAO,IAAI,QAAQ,CAAC,YAAY,WAAW,SAAS,EAAE,CAAC;AACzD;AAKO,SAAS,gBAAgB,KAAgC;AAC9D,SAAO,eAAe,aAAa,IAAI,WAAW;AACpD;AAUA,eAAsB,YACpB,SACA,IACA,OACY;AACZ,MAAI;AACJ,SAAO,QAAQ,KAAK;AAAA,IAClB;AAAA,IACA,IAAI,QAAe,CAAC,GAAG,WAAW;AAChC,kBAAY,WAAW,MAAM;AAC3B;AAAA,UACE,iBAAiB,QACb,QACA,IAAI,MAAM,SAAS,6BAA6B,EAAE,IAAI;AAAA,QAC5D;AAAA,MACF,GAAG,EAAE;AAAA,IACP,CAAC;AAAA,EACH,CAAC,EAAE,QAAQ,MAAM;AACf,QAAI,cAAc,OAAW,cAAa,SAAS;AAAA,EACrD,CAAC;AACH;","names":[]}
|
|
@@ -31,7 +31,7 @@ export type ParsedZkAddress = {
|
|
|
31
31
|
chain?: Chain;
|
|
32
32
|
};
|
|
33
33
|
/**
|
|
34
|
-
* Parses a Bech32m ZK address (
|
|
34
|
+
* Parses a Bech32m ZK address (unlink1...) into its components.
|
|
35
35
|
*
|
|
36
36
|
* @param value - The Bech32m address string
|
|
37
37
|
* @returns Parsed address with masterPublicKey, viewingPublicKey, and optional chain
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../wallet/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE1E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAKzE,OAAO,EAEL,QAAQ,EAGT,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EACV,cAAc,EAEd,kBAAkB,EACnB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAOxE,OAAO,KAAK,EAKV,gBAAgB,EAEjB,MAAM,YAAY,CAAC;AAKpB,KAAK,iBAAiB,GAAG,IAAI,CAC3B,UAAU,CAAC,OAAO,uBAAuB,CAAC,EAC1C,aAAa,CACd,CAAC;AAOF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,EAAE,kBAAkB,CAAC;IAC/B,MAAM,EAAE,cAAc,CAAC;IACvB,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,oBAAoB,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7C,aAAa,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,MAAM,CAAC;IAChD,iBAAiB,CAAC,EAAE,OAAO,eAAe,CAAC;IAC3C,UAAU,CAAC,EAAE,OAAO,QAAQ,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,MAAM,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,MAAM,CAAC;CACtB,CAAC;AAmEF,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,kBAAkB,GACvB,gBAAgB,
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../wallet/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE1E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAKzE,OAAO,EAEL,QAAQ,EAGT,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EACV,cAAc,EAEd,kBAAkB,EACnB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAOxE,OAAO,KAAK,EAKV,gBAAgB,EAEjB,MAAM,YAAY,CAAC;AAKpB,KAAK,iBAAiB,GAAG,IAAI,CAC3B,UAAU,CAAC,OAAO,uBAAuB,CAAC,EAC1C,aAAa,CACd,CAAC;AAOF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,EAAE,kBAAkB,CAAC;IAC/B,MAAM,EAAE,cAAc,CAAC;IACvB,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,oBAAoB,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7C,aAAa,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,MAAM,CAAC;IAChD,iBAAiB,CAAC,EAAE,OAAO,eAAe,CAAC;IAC3C,UAAU,CAAC,EAAE,OAAO,QAAQ,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,MAAM,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,MAAM,CAAC;CACtB,CAAC;AAmEF,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,kBAAkB,GACvB,gBAAgB,CAkNlB"}
|