@polkadot-apps/signer 0.1.1

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.
Files changed (45) hide show
  1. package/dist/container.d.ts +11 -0
  2. package/dist/container.d.ts.map +1 -0
  3. package/dist/container.js +98 -0
  4. package/dist/container.js.map +1 -0
  5. package/dist/errors.d.ts +56 -0
  6. package/dist/errors.d.ts.map +1 -0
  7. package/dist/errors.js +226 -0
  8. package/dist/errors.js.map +1 -0
  9. package/dist/index.d.ts +15 -0
  10. package/dist/index.d.ts.map +1 -0
  11. package/dist/index.js +14 -0
  12. package/dist/index.js.map +1 -0
  13. package/dist/providers/dev.d.ts +39 -0
  14. package/dist/providers/dev.d.ts.map +1 -0
  15. package/dist/providers/dev.js +232 -0
  16. package/dist/providers/dev.js.map +1 -0
  17. package/dist/providers/extension.d.ts +46 -0
  18. package/dist/providers/extension.d.ts.map +1 -0
  19. package/dist/providers/extension.js +363 -0
  20. package/dist/providers/extension.js.map +1 -0
  21. package/dist/providers/host.d.ts +160 -0
  22. package/dist/providers/host.d.ts.map +1 -0
  23. package/dist/providers/host.js +724 -0
  24. package/dist/providers/host.js.map +1 -0
  25. package/dist/providers/types.d.ts +45 -0
  26. package/dist/providers/types.d.ts.map +1 -0
  27. package/dist/providers/types.js +2 -0
  28. package/dist/providers/types.js.map +1 -0
  29. package/dist/retry.d.ts +23 -0
  30. package/dist/retry.d.ts.map +1 -0
  31. package/dist/retry.js +197 -0
  32. package/dist/retry.js.map +1 -0
  33. package/dist/signer-manager.d.ts +168 -0
  34. package/dist/signer-manager.d.ts.map +1 -0
  35. package/dist/signer-manager.js +1447 -0
  36. package/dist/signer-manager.js.map +1 -0
  37. package/dist/sleep.d.ts +9 -0
  38. package/dist/sleep.d.ts.map +1 -0
  39. package/dist/sleep.js +85 -0
  40. package/dist/sleep.js.map +1 -0
  41. package/dist/types.d.ts +96 -0
  42. package/dist/types.d.ts.map +1 -0
  43. package/dist/types.js +71 -0
  44. package/dist/types.js.map +1 -0
  45. package/package.json +41 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signer-manager.js","sourceRoot":"","sources":["../src/signer-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Sleep for a given duration, cancellable via AbortSignal.
3
+ *
4
+ * Resolves immediately if the signal is already aborted.
5
+ * Cleans up the abort listener when the timer fires naturally
6
+ * to prevent listener accumulation in retry loops.
7
+ */
8
+ export declare function sleep(ms: number, signal?: AbortSignal): Promise<void>;
9
+ //# sourceMappingURL=sleep.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sleep.d.ts","sourceRoot":"","sources":["../src/sleep.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBrE"}
package/dist/sleep.js ADDED
@@ -0,0 +1,85 @@
1
+ /**
2
+ * Sleep for a given duration, cancellable via AbortSignal.
3
+ *
4
+ * Resolves immediately if the signal is already aborted.
5
+ * Cleans up the abort listener when the timer fires naturally
6
+ * to prevent listener accumulation in retry loops.
7
+ */
8
+ export function sleep(ms, signal) {
9
+ return new Promise((resolve) => {
10
+ if (signal?.aborted) {
11
+ resolve();
12
+ return;
13
+ }
14
+ const onDone = () => {
15
+ clearTimeout(timer);
16
+ signal?.removeEventListener("abort", onDone);
17
+ resolve();
18
+ };
19
+ const timer = setTimeout(onDone, ms);
20
+ signal?.addEventListener("abort", onDone, { once: true });
21
+ });
22
+ }
23
+ if (import.meta.vitest) {
24
+ const { test, expect, describe, vi, beforeEach, afterEach } = import.meta.vitest;
25
+ beforeEach(() => {
26
+ vi.useFakeTimers();
27
+ });
28
+ afterEach(() => {
29
+ vi.useRealTimers();
30
+ });
31
+ describe("sleep", () => {
32
+ test("resolves after specified duration", async () => {
33
+ let resolved = false;
34
+ sleep(100).then(() => {
35
+ resolved = true;
36
+ });
37
+ expect(resolved).toBe(false);
38
+ await vi.advanceTimersByTimeAsync(99);
39
+ expect(resolved).toBe(false);
40
+ await vi.advanceTimersByTimeAsync(1);
41
+ expect(resolved).toBe(true);
42
+ });
43
+ test("resolves immediately when signal is already aborted", async () => {
44
+ const controller = new AbortController();
45
+ controller.abort();
46
+ let resolved = false;
47
+ sleep(10_000, controller.signal).then(() => {
48
+ resolved = true;
49
+ });
50
+ // Should resolve on next microtask, not after 10s
51
+ await vi.advanceTimersByTimeAsync(0);
52
+ expect(resolved).toBe(true);
53
+ });
54
+ test("resolves early when signal is aborted during sleep", async () => {
55
+ const controller = new AbortController();
56
+ let resolved = false;
57
+ sleep(10_000, controller.signal).then(() => {
58
+ resolved = true;
59
+ });
60
+ await vi.advanceTimersByTimeAsync(50);
61
+ expect(resolved).toBe(false);
62
+ controller.abort();
63
+ await vi.advanceTimersByTimeAsync(0);
64
+ expect(resolved).toBe(true);
65
+ });
66
+ test("works without a signal", async () => {
67
+ let resolved = false;
68
+ sleep(50).then(() => {
69
+ resolved = true;
70
+ });
71
+ await vi.advanceTimersByTimeAsync(50);
72
+ expect(resolved).toBe(true);
73
+ });
74
+ test("cleans up abort listener after natural timer expiry", async () => {
75
+ const controller = new AbortController();
76
+ const addSpy = vi.spyOn(controller.signal, "addEventListener");
77
+ const removeSpy = vi.spyOn(controller.signal, "removeEventListener");
78
+ sleep(50, controller.signal);
79
+ expect(addSpy).toHaveBeenCalledTimes(1);
80
+ await vi.advanceTimersByTimeAsync(50);
81
+ expect(removeSpy).toHaveBeenCalledTimes(1);
82
+ });
83
+ });
84
+ }
85
+ //# sourceMappingURL=sleep.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sleep.js","sourceRoot":"","sources":["../src/sleep.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,96 @@
1
+ import type { PolkadotSigner } from "polkadot-api";
2
+ import type { SignerError } from "./errors.js";
3
+ /** Connection status for a signer provider. */
4
+ export type ConnectionStatus = "disconnected" | "connecting" | "connected";
5
+ /** Identifies the source of an account. */
6
+ export type ProviderType = "host" | "extension" | "dev";
7
+ /** A signing-capable account from any provider. */
8
+ export interface SignerAccount {
9
+ /** SS58 address (generic prefix 42 by default). */
10
+ address: string;
11
+ /**
12
+ * H160 EVM address derived from the public key.
13
+ *
14
+ * For native Substrate accounts: keccak256(publicKey), last 20 bytes.
15
+ * For EVM-derived accounts: strips the 0xEE padding.
16
+ * Used for pallet-revive / Asset Hub EVM contract interactions.
17
+ */
18
+ h160Address: `0x${string}`;
19
+ /** Raw public key (32 bytes). May be sr25519, ed25519, or ecdsa depending on the provider. */
20
+ publicKey: Uint8Array;
21
+ /** Human-readable name if available from the provider. */
22
+ name: string | null;
23
+ /** Which provider supplied this account. */
24
+ source: ProviderType;
25
+ /** Get the PolkadotSigner for this account. */
26
+ getSigner(): PolkadotSigner;
27
+ }
28
+ /** Full state snapshot emitted to subscribers. */
29
+ export interface SignerState {
30
+ /** Current connection status. */
31
+ status: ConnectionStatus;
32
+ /** All available accounts across all connected providers. */
33
+ accounts: readonly SignerAccount[];
34
+ /** Currently selected account (null if none selected). */
35
+ selectedAccount: SignerAccount | null;
36
+ /** Which provider is active (null if disconnected). */
37
+ activeProvider: ProviderType | null;
38
+ /** Last error (null if no error). */
39
+ error: SignerError | null;
40
+ }
41
+ /** Lightweight Result type for operations that can fail expectedly. */
42
+ export type Result<T, E> = {
43
+ ok: true;
44
+ value: T;
45
+ } | {
46
+ ok: false;
47
+ error: E;
48
+ };
49
+ /** Create a successful Result. */
50
+ export declare function ok<T>(value: T): Result<T, never>;
51
+ /** Create a failed Result. */
52
+ export declare function err<E>(error: E): Result<never, E>;
53
+ /** Factory function that creates a SignerProvider for a given type. */
54
+ export type ProviderFactory = (type: ProviderType) => import("./providers/types.js").SignerProvider;
55
+ /**
56
+ * Adapter for persisting the selected account address across sessions.
57
+ *
58
+ * `globalThis.localStorage` satisfies this interface. Pass a custom
59
+ * implementation for container environments (e.g., hostLocalStorage)
60
+ * or for testing.
61
+ */
62
+ export interface AccountPersistence {
63
+ getItem(key: string): string | null | Promise<string | null>;
64
+ setItem(key: string, value: string): void | Promise<void>;
65
+ removeItem(key: string): void | Promise<void>;
66
+ }
67
+ /** Options for SignerManager construction. */
68
+ export interface SignerManagerOptions {
69
+ /** SS58 prefix for address encoding. Default: 42 */
70
+ ss58Prefix?: number;
71
+ /**
72
+ * Maximum time in ms to wait for the Host API when inside a container.
73
+ * Applied as an AbortSignal timeout on the host provider connection.
74
+ * Only used during auto-detection inside containers.
75
+ * Default: 10_000
76
+ */
77
+ hostTimeout?: number;
78
+ /** Timeout in ms for extension injection delay. Default: 1_000 */
79
+ extensionTimeout?: number;
80
+ /** Maximum retry attempts for provider connection. Default: 3 */
81
+ maxRetries?: number;
82
+ /** Custom provider factory. Override to inject test doubles or custom providers. */
83
+ createProvider?: ProviderFactory;
84
+ /**
85
+ * App name used for storage key namespacing. Default: "polkadot-app"
86
+ * The selected account is persisted under `polkadot-apps:signer:{dappName}:selectedAccount`.
87
+ */
88
+ dappName?: string;
89
+ /**
90
+ * Storage adapter for persisting selected account.
91
+ * Defaults to `globalThis.localStorage` in browser, no-op in Node.
92
+ * Set to `null` to disable persistence entirely.
93
+ */
94
+ persistence?: AccountPersistence | null;
95
+ }
96
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,+CAA+C;AAC/C,MAAM,MAAM,gBAAgB,GAAG,cAAc,GAAG,YAAY,GAAG,WAAW,CAAC;AAE3E,2CAA2C;AAC3C,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,WAAW,GAAG,KAAK,CAAC;AAExD,mDAAmD;AACnD,MAAM,WAAW,aAAa;IAC1B,mDAAmD;IACnD,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;;OAMG;IACH,WAAW,EAAE,KAAK,MAAM,EAAE,CAAC;IAC3B,8FAA8F;IAC9F,SAAS,EAAE,UAAU,CAAC;IACtB,0DAA0D;IAC1D,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,4CAA4C;IAC5C,MAAM,EAAE,YAAY,CAAC;IACrB,+CAA+C;IAC/C,SAAS,IAAI,cAAc,CAAC;CAC/B;AAED,kDAAkD;AAClD,MAAM,WAAW,WAAW;IACxB,iCAAiC;IACjC,MAAM,EAAE,gBAAgB,CAAC;IACzB,6DAA6D;IAC7D,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAC;IACnC,0DAA0D;IAC1D,eAAe,EAAE,aAAa,GAAG,IAAI,CAAC;IACtC,uDAAuD;IACvD,cAAc,EAAE,YAAY,GAAG,IAAI,CAAC;IACpC,qCAAqC;IACrC,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC;CAC7B;AAED,uEAAuE;AACvE,MAAM,MAAM,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,CAAC;AAE5E,kCAAkC;AAClC,wBAAgB,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAEhD;AAED,8BAA8B;AAC9B,wBAAgB,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAEjD;AAED,uEAAuE;AACvE,MAAM,MAAM,eAAe,GAAG,CAAC,IAAI,EAAE,YAAY,KAAK,OAAO,sBAAsB,EAAE,cAAc,CAAC;AAEpG;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB;IAC/B,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC7D,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjD;AAED,8CAA8C;AAC9C,MAAM,WAAW,oBAAoB;IACjC,oDAAoD;IACpD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kEAAkE;IAClE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iEAAiE;IACjE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oFAAoF;IACpF,cAAc,CAAC,EAAE,eAAe,CAAC;IACjC;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,WAAW,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;CAC3C"}
package/dist/types.js ADDED
@@ -0,0 +1,71 @@
1
+ /** Create a successful Result. */
2
+ export function ok(value) {
3
+ return { ok: true, value };
4
+ }
5
+ /** Create a failed Result. */
6
+ export function err(error) {
7
+ return { ok: false, error };
8
+ }
9
+ if (import.meta.vitest) {
10
+ const { test, expect, describe } = import.meta.vitest;
11
+ describe("ok", () => {
12
+ test("produces ok result with value", () => {
13
+ const result = ok(42);
14
+ expect(result.ok).toBe(true);
15
+ expect(result).toEqual({ ok: true, value: 42 });
16
+ });
17
+ test("works with complex values", () => {
18
+ const result = ok({ name: "Alice", age: 30 });
19
+ expect(result.ok).toBe(true);
20
+ if (result.ok) {
21
+ expect(result.value.name).toBe("Alice");
22
+ }
23
+ });
24
+ test("works with null value", () => {
25
+ const result = ok(null);
26
+ expect(result).toEqual({ ok: true, value: null });
27
+ });
28
+ test("works with undefined value", () => {
29
+ const result = ok(undefined);
30
+ expect(result).toEqual({ ok: true, value: undefined });
31
+ });
32
+ });
33
+ describe("err", () => {
34
+ test("produces error result", () => {
35
+ const result = err("something went wrong");
36
+ expect(result.ok).toBe(false);
37
+ expect(result).toEqual({ ok: false, error: "something went wrong" });
38
+ });
39
+ test("works with typed error objects", () => {
40
+ const error = { type: "HOST_UNAVAILABLE", message: "no host" };
41
+ const result = err(error);
42
+ expect(result.ok).toBe(false);
43
+ if (!result.ok) {
44
+ expect(result.error.type).toBe("HOST_UNAVAILABLE");
45
+ }
46
+ });
47
+ });
48
+ describe("Result type narrowing", () => {
49
+ test("ok narrows to value access", () => {
50
+ const result = ok(42);
51
+ if (result.ok) {
52
+ const value = result.value;
53
+ expect(value).toBe(42);
54
+ }
55
+ else {
56
+ expect.unreachable("should be ok");
57
+ }
58
+ });
59
+ test("err narrows to error access", () => {
60
+ const result = err("fail");
61
+ if (!result.ok) {
62
+ const error = result.error;
63
+ expect(error).toBe("fail");
64
+ }
65
+ else {
66
+ expect.unreachable("should be err");
67
+ }
68
+ });
69
+ });
70
+ }
71
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,41 @@
1
+ {
2
+ "name": "@polkadot-apps/signer",
3
+ "version": "0.1.1",
4
+ "type": "module",
5
+ "main": "./dist/index.js",
6
+ "types": "./dist/index.d.ts",
7
+ "exports": {
8
+ ".": {
9
+ "source": "./src/index.ts",
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/index.js"
12
+ }
13
+ },
14
+ "files": [
15
+ "dist"
16
+ ],
17
+ "publishConfig": {
18
+ "access": "public"
19
+ },
20
+ "dependencies": {
21
+ "polkadot-api": "^1.23.3",
22
+ "@polkadot-apps/address": "0.3.1",
23
+ "@polkadot-apps/keys": "0.3.2",
24
+ "@polkadot-apps/logger": "0.1.3"
25
+ },
26
+ "peerDependencies": {
27
+ "@novasamatech/product-sdk": "^0.6.6"
28
+ },
29
+ "peerDependenciesMeta": {
30
+ "@novasamatech/product-sdk": {
31
+ "optional": true
32
+ }
33
+ },
34
+ "devDependencies": {
35
+ "typescript": "^5.9.3"
36
+ },
37
+ "scripts": {
38
+ "build": "tsc -p tsconfig.json",
39
+ "clean": "rm -rf dist"
40
+ }
41
+ }