@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":"host.js","sourceRoot":"","sources":["../../src/providers/host.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ import type { SignerError } from "../errors.js";
2
+ import type { ConnectionStatus, ProviderType, Result, SignerAccount } from "../types.js";
3
+ /** Function that unsubscribes a listener when called. */
4
+ export type Unsubscribe = () => void;
5
+ /**
6
+ * Interface that all signer providers must implement.
7
+ *
8
+ * Providers are responsible for discovering accounts and creating signers
9
+ * from a specific source (Host API, browser extensions, dev accounts).
10
+ */
11
+ export interface SignerProvider {
12
+ /** Unique identifier for this provider type. */
13
+ readonly type: ProviderType;
14
+ /**
15
+ * Attempt to connect and discover accounts.
16
+ *
17
+ * @param signal - Optional AbortSignal to cancel the connection attempt.
18
+ * @returns Accounts on success, typed error on failure.
19
+ */
20
+ connect(signal?: AbortSignal): Promise<Result<SignerAccount[], SignerError>>;
21
+ /**
22
+ * Disconnect and clean up resources.
23
+ * Safe to call multiple times.
24
+ */
25
+ disconnect(): void;
26
+ /**
27
+ * Subscribe to connection status changes.
28
+ *
29
+ * Not all providers emit status changes — for example, dev accounts
30
+ * are always "connected" and never emit.
31
+ *
32
+ * @returns Unsubscribe function.
33
+ */
34
+ onStatusChange(callback: (status: ConnectionStatus) => void): Unsubscribe;
35
+ /**
36
+ * Subscribe to account list changes.
37
+ *
38
+ * Emitted when the set of available accounts changes (e.g., user
39
+ * connects/disconnects in the host wallet).
40
+ *
41
+ * @returns Unsubscribe function.
42
+ */
43
+ onAccountsChange(callback: (accounts: SignerAccount[]) => void): Unsubscribe;
44
+ }
45
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/providers/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEzF,yDAAyD;AACzD,MAAM,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC;AAErC;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC3B,gDAAgD;IAChD,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAE5B;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC;IAE7E;;;OAGG;IACH,UAAU,IAAI,IAAI,CAAC;IAEnB;;;;;;;OAOG;IACH,cAAc,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,GAAG,WAAW,CAAC;IAE1E;;;;;;;OAOG;IACH,gBAAgB,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,IAAI,GAAG,WAAW,CAAC;CAChF"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/providers/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,23 @@
1
+ import type { Result } from "./types.js";
2
+ /** Options for retry with exponential backoff. */
3
+ export interface RetryOptions {
4
+ /** Maximum number of attempts. Default: 3 */
5
+ maxAttempts?: number;
6
+ /** Initial delay in ms before first retry. Default: 500 */
7
+ initialDelay?: number;
8
+ /** Multiplier applied to delay after each attempt. Default: 2 */
9
+ backoffMultiplier?: number;
10
+ /** Maximum delay cap in ms. Default: 10_000 */
11
+ maxDelay?: number;
12
+ /** AbortSignal to cancel retries early. */
13
+ signal?: AbortSignal;
14
+ }
15
+ /**
16
+ * Retry an async operation with exponential backoff.
17
+ *
18
+ * Calls `fn` up to `maxAttempts` times. If `fn` returns an error result,
19
+ * waits with exponential backoff before the next attempt. Returns the first
20
+ * successful result or the last error.
21
+ */
22
+ export declare function withRetry<T, E>(fn: (attempt: number) => Promise<Result<T, E>>, options?: RetryOptions): Promise<Result<T, E>>;
23
+ //# sourceMappingURL=retry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../src/retry.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEzC,kDAAkD;AAClD,MAAM,WAAW,YAAY;IACzB,6CAA6C;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2DAA2D;IAC3D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iEAAiE;IACjE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2CAA2C;IAC3C,MAAM,CAAC,EAAE,WAAW,CAAC;CACxB;AAOD;;;;;;GAMG;AACH,wBAAsB,SAAS,CAAC,CAAC,EAAE,CAAC,EAChC,EAAE,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAC9C,OAAO,CAAC,EAAE,YAAY,GACvB,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CA6BvB"}
package/dist/retry.js ADDED
@@ -0,0 +1,197 @@
1
+ /**
2
+ * Result-based retry with exponential backoff for signer connection attempts.
3
+ *
4
+ * This retry utility works with `Result<T, E>` return values (not exceptions).
5
+ * It exists separately from the tx package's exception-based `withRetry` because:
6
+ *
7
+ * - **Signer retry**: retries connection attempts that return `Result<T, SignerError>`.
8
+ * Errors are expected values, not exceptional conditions. Supports AbortSignal.
9
+ * - **TX retry**: retries transaction submissions that throw exceptions.
10
+ * Non-retryable errors (dispatch, rejection, timeout) are detected and rethrown.
11
+ *
12
+ * Both use exponential backoff but serve different abstraction layers.
13
+ *
14
+ * @module
15
+ */
16
+ import { sleep } from "./sleep.js";
17
+ const DEFAULT_MAX_ATTEMPTS = 3;
18
+ const DEFAULT_INITIAL_DELAY = 500;
19
+ const DEFAULT_BACKOFF_MULTIPLIER = 2;
20
+ const DEFAULT_MAX_DELAY = 10_000;
21
+ /**
22
+ * Retry an async operation with exponential backoff.
23
+ *
24
+ * Calls `fn` up to `maxAttempts` times. If `fn` returns an error result,
25
+ * waits with exponential backoff before the next attempt. Returns the first
26
+ * successful result or the last error.
27
+ */
28
+ export async function withRetry(fn, options) {
29
+ const maxAttempts = Math.max(1, options?.maxAttempts ?? DEFAULT_MAX_ATTEMPTS);
30
+ const initialDelay = options?.initialDelay ?? DEFAULT_INITIAL_DELAY;
31
+ const backoffMultiplier = options?.backoffMultiplier ?? DEFAULT_BACKOFF_MULTIPLIER;
32
+ const maxDelay = options?.maxDelay ?? DEFAULT_MAX_DELAY;
33
+ const signal = options?.signal;
34
+ let lastResult;
35
+ let delay = initialDelay;
36
+ for (let attempt = 0; attempt < maxAttempts; attempt++) {
37
+ if (signal?.aborted && lastResult) {
38
+ return lastResult;
39
+ }
40
+ lastResult = await fn(attempt);
41
+ if (lastResult.ok) {
42
+ return lastResult;
43
+ }
44
+ // Don't delay after the last attempt
45
+ if (attempt < maxAttempts - 1) {
46
+ await sleep(delay, signal);
47
+ delay = Math.min(delay * backoffMultiplier, maxDelay);
48
+ }
49
+ }
50
+ // lastResult is always defined here since maxAttempts >= 1
51
+ return lastResult;
52
+ }
53
+ if (import.meta.vitest) {
54
+ const { test, expect, describe, vi, beforeEach, afterEach } = import.meta.vitest;
55
+ const { ok, err } = await import("./types.js");
56
+ beforeEach(() => {
57
+ vi.useFakeTimers();
58
+ });
59
+ afterEach(() => {
60
+ vi.useRealTimers();
61
+ });
62
+ describe("withRetry", () => {
63
+ test("succeeds on first attempt with no delay", async () => {
64
+ const fn = vi.fn().mockResolvedValue(ok("done"));
65
+ const promise = withRetry(fn);
66
+ const result = await promise;
67
+ expect(result).toEqual(ok("done"));
68
+ expect(fn).toHaveBeenCalledTimes(1);
69
+ expect(fn).toHaveBeenCalledWith(0);
70
+ });
71
+ test("retries on failure and succeeds on second attempt", async () => {
72
+ const fn = vi
73
+ .fn()
74
+ .mockResolvedValueOnce(err("fail1"))
75
+ .mockResolvedValueOnce(ok("success"));
76
+ const promise = withRetry(fn, { initialDelay: 100 });
77
+ await vi.advanceTimersByTimeAsync(100);
78
+ const result = await promise;
79
+ expect(result).toEqual(ok("success"));
80
+ expect(fn).toHaveBeenCalledTimes(2);
81
+ expect(fn).toHaveBeenNthCalledWith(1, 0);
82
+ expect(fn).toHaveBeenNthCalledWith(2, 1);
83
+ });
84
+ test("exhausts maxAttempts and returns last error", async () => {
85
+ const fn = vi
86
+ .fn()
87
+ .mockResolvedValueOnce(err("fail1"))
88
+ .mockResolvedValueOnce(err("fail2"))
89
+ .mockResolvedValueOnce(err("fail3"));
90
+ const promise = withRetry(fn, {
91
+ maxAttempts: 3,
92
+ initialDelay: 100,
93
+ backoffMultiplier: 2,
94
+ });
95
+ await vi.advanceTimersByTimeAsync(100); // delay after attempt 0
96
+ await vi.advanceTimersByTimeAsync(200); // delay after attempt 1
97
+ const result = await promise;
98
+ expect(result).toEqual(err("fail3"));
99
+ expect(fn).toHaveBeenCalledTimes(3);
100
+ });
101
+ test("respects AbortSignal cancellation", async () => {
102
+ const controller = new AbortController();
103
+ const fn = vi.fn().mockResolvedValue(err("fail"));
104
+ const promise = withRetry(fn, {
105
+ maxAttempts: 5,
106
+ initialDelay: 1000,
107
+ signal: controller.signal,
108
+ });
109
+ // First attempt runs, then abort during delay
110
+ await vi.advanceTimersByTimeAsync(0);
111
+ controller.abort();
112
+ await vi.advanceTimersByTimeAsync(0);
113
+ const result = await promise;
114
+ expect(result.ok).toBe(false);
115
+ // Should not have retried all 5 times
116
+ expect(fn.mock.calls.length).toBeLessThan(5);
117
+ });
118
+ test("backoff delay increases correctly", async () => {
119
+ const fn = vi
120
+ .fn()
121
+ .mockResolvedValueOnce(err("e1"))
122
+ .mockResolvedValueOnce(err("e2"))
123
+ .mockResolvedValueOnce(err("e3"))
124
+ .mockResolvedValueOnce(ok("done"));
125
+ const promise = withRetry(fn, {
126
+ maxAttempts: 4,
127
+ initialDelay: 100,
128
+ backoffMultiplier: 2,
129
+ });
130
+ // After attempt 0: delay 100ms
131
+ await vi.advanceTimersByTimeAsync(100);
132
+ // After attempt 1: delay 200ms
133
+ await vi.advanceTimersByTimeAsync(200);
134
+ // After attempt 2: delay 400ms
135
+ await vi.advanceTimersByTimeAsync(400);
136
+ const result = await promise;
137
+ expect(result).toEqual(ok("done"));
138
+ expect(fn).toHaveBeenCalledTimes(4);
139
+ });
140
+ test("caps delay at maxDelay", async () => {
141
+ let delayStart = 0;
142
+ const fn = vi.fn().mockImplementation(async () => {
143
+ delayStart = Date.now();
144
+ return err("fail");
145
+ });
146
+ const promise = withRetry(fn, {
147
+ maxAttempts: 4,
148
+ initialDelay: 5000,
149
+ backoffMultiplier: 3,
150
+ maxDelay: 8000,
151
+ });
152
+ // Attempt 0, delay 5000ms
153
+ await vi.advanceTimersByTimeAsync(5000);
154
+ // Attempt 1, delay min(15000, 8000) = 8000ms
155
+ await vi.advanceTimersByTimeAsync(8000);
156
+ // Attempt 2, delay min(24000, 8000) = 8000ms
157
+ await vi.advanceTimersByTimeAsync(8000);
158
+ const result = await promise;
159
+ expect(result.ok).toBe(false);
160
+ expect(fn).toHaveBeenCalledTimes(4);
161
+ });
162
+ test("attempt number is passed correctly to fn", async () => {
163
+ const attempts = [];
164
+ const fn = vi.fn().mockImplementation(async (attempt) => {
165
+ attempts.push(attempt);
166
+ return attempt < 2 ? err("retry") : ok("done");
167
+ });
168
+ const promise = withRetry(fn, {
169
+ maxAttempts: 3,
170
+ initialDelay: 50,
171
+ });
172
+ await vi.advanceTimersByTimeAsync(50);
173
+ await vi.advanceTimersByTimeAsync(100);
174
+ await promise;
175
+ expect(attempts).toEqual([0, 1, 2]);
176
+ });
177
+ test("single attempt with maxAttempts=1", async () => {
178
+ const fn = vi.fn().mockResolvedValue(err("fail"));
179
+ const result = await withRetry(fn, { maxAttempts: 1 });
180
+ expect(result).toEqual(err("fail"));
181
+ expect(fn).toHaveBeenCalledTimes(1);
182
+ });
183
+ test("signal already aborted before first attempt — fn still called once", async () => {
184
+ const controller = new AbortController();
185
+ controller.abort();
186
+ const fn = vi.fn().mockResolvedValue(err("fail"));
187
+ const result = await withRetry(fn, {
188
+ maxAttempts: 3,
189
+ signal: controller.signal,
190
+ });
191
+ expect(result.ok).toBe(false);
192
+ // fn is called once so it can produce a properly-typed error
193
+ expect(fn).toHaveBeenCalledTimes(1);
194
+ });
195
+ });
196
+ }
197
+ //# sourceMappingURL=retry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retry.js","sourceRoot":"","sources":["../src/retry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,168 @@
1
+ import type { PolkadotSigner } from "polkadot-api";
2
+ import { SignerError } from "./errors.js";
3
+ import type { ContextualAlias, RingLocation } from "./providers/host.js";
4
+ import type { ProviderType, Result, SignerAccount, SignerManagerOptions, SignerState } from "./types.js";
5
+ /**
6
+ * Core orchestrator for signer management.
7
+ *
8
+ * Manages account discovery and signer creation across multiple providers
9
+ * (Host API, browser extensions, dev accounts). Framework-agnostic —
10
+ * use the subscribe() pattern to integrate with React, Vue, or any framework.
11
+ *
12
+ * @example
13
+ * ```ts
14
+ * const manager = new SignerManager();
15
+ * manager.subscribe(state => console.log(state.status));
16
+ *
17
+ * // Auto-detect: tries Host API first, then browser extensions
18
+ * await manager.connect();
19
+ *
20
+ * // Or connect to a specific provider
21
+ * await manager.connect("dev");
22
+ *
23
+ * // Select account and get signer
24
+ * manager.selectAccount("5GrwvaEF...");
25
+ * const signer = manager.getSigner();
26
+ * ```
27
+ */
28
+ export declare class SignerManager {
29
+ private state;
30
+ private provider;
31
+ private subscribers;
32
+ private cleanups;
33
+ private isDestroyed;
34
+ private reconnectController;
35
+ private connectController;
36
+ private readonly ss58Prefix;
37
+ private readonly hostTimeout;
38
+ private readonly extensionTimeout;
39
+ private readonly maxRetries;
40
+ private readonly providerFactory;
41
+ private readonly dappName;
42
+ private readonly persistenceOption;
43
+ private resolvedPersistence;
44
+ constructor(options?: SignerManagerOptions);
45
+ private getPersistence;
46
+ /** Get a snapshot of the current state. */
47
+ getState(): SignerState;
48
+ /**
49
+ * Subscribe to state changes. The callback fires on every state mutation.
50
+ * Returns an unsubscribe function.
51
+ */
52
+ subscribe(callback: (state: SignerState) => void): () => void;
53
+ /**
54
+ * Connect to a provider.
55
+ *
56
+ * If no provider type is specified, runs environment-aware auto-detection:
57
+ *
58
+ * **Inside a container** (iframe/webview):
59
+ * 1. Try direct Host API connection (preferred, idiomatic path)
60
+ * 2. If host fails, try Spektr extension injection as fallback
61
+ * 3. If both fail, return error — no further fallback
62
+ *
63
+ * **Outside a container** (standalone browser):
64
+ * 1. Try browser extensions directly
65
+ * 2. If fails, return error — no host attempt
66
+ *
67
+ * When connecting to a specific provider, it is used directly.
68
+ */
69
+ connect(providerType?: ProviderType): Promise<Result<SignerAccount[], SignerError>>;
70
+ /** Disconnect from the current provider and reset state. */
71
+ disconnect(): void;
72
+ /**
73
+ * Select an account by address.
74
+ * Returns the account on success, or ACCOUNT_NOT_FOUND error.
75
+ */
76
+ selectAccount(address: string): Result<SignerAccount, SignerError>;
77
+ /**
78
+ * Get the PolkadotSigner for the currently selected account.
79
+ * Returns null if no account is selected or manager is disconnected.
80
+ */
81
+ getSigner(): PolkadotSigner | null;
82
+ /**
83
+ * Sign arbitrary bytes with the currently selected account.
84
+ *
85
+ * Convenience wrapper around `PolkadotSigner.signBytes` — useful for
86
+ * master key derivation, message signing, and proof generation without
87
+ * constructing a full transaction.
88
+ *
89
+ * Returns a SIGNING_FAILED error if no account is selected or signing fails.
90
+ */
91
+ signRaw(data: Uint8Array): Promise<Result<Uint8Array, SignerError>>;
92
+ /**
93
+ * Get an app-scoped product account from the host.
94
+ *
95
+ * Product accounts are derived by the host wallet for each app, identified
96
+ * by `dotNsIdentifier` (e.g., "mark3t.dot"). Only available when connected
97
+ * via the host provider — returns HOST_UNAVAILABLE otherwise.
98
+ *
99
+ * @example
100
+ * ```ts
101
+ * const result = await manager.getProductAccount("myapp.dot");
102
+ * if (result.ok) {
103
+ * const signer = result.value.getSigner();
104
+ * }
105
+ * ```
106
+ */
107
+ getProductAccount(dotNsIdentifier: string, derivationIndex?: number): Promise<Result<SignerAccount, SignerError>>;
108
+ /**
109
+ * Get a contextual alias for a product account via Ring VRF.
110
+ *
111
+ * Aliases prove account membership in a ring without revealing which
112
+ * account produced the alias. Only available when connected via the host
113
+ * provider — returns HOST_UNAVAILABLE otherwise.
114
+ */
115
+ getProductAccountAlias(dotNsIdentifier: string, derivationIndex?: number): Promise<Result<ContextualAlias, SignerError>>;
116
+ /**
117
+ * Create a Ring VRF proof for anonymous operations.
118
+ *
119
+ * Proves that the signer is a member of the ring at the given location
120
+ * without revealing which member. Only available when connected via the
121
+ * host provider — returns HOST_UNAVAILABLE otherwise.
122
+ */
123
+ createRingVRFProof(dotNsIdentifier: string, derivationIndex: number, location: RingLocation, message: Uint8Array): Promise<Result<Uint8Array, SignerError>>;
124
+ /**
125
+ * List available browser extensions.
126
+ *
127
+ * Async because extensions inject into `window.injectedWeb3` asynchronously
128
+ * after page load. Uses the same injection wait as the extension provider.
129
+ */
130
+ getAvailableExtensions(): Promise<string[]>;
131
+ /**
132
+ * Destroy the manager and release all resources.
133
+ * After calling destroy(), the manager is unusable.
134
+ */
135
+ destroy(): void;
136
+ /**
137
+ * Environment-aware auto-detection.
138
+ *
139
+ * Inside a container: direct Host API is the preferred, idiomatic path.
140
+ * If that fails, Spektr extension injection is tried as a fallback.
141
+ * Outside a container: browser extensions are the only viable path.
142
+ */
143
+ private autoDetect;
144
+ /**
145
+ * Container path: Host API (preferred) → Spektr injection (fallback) → error.
146
+ *
147
+ * The direct Host API is the idiomatic path for container environments.
148
+ * Spektr injection is a compatibility fallback that makes the host wallet
149
+ * appear as a browser extension via `window.injectedWeb3`.
150
+ */
151
+ private autoDetectContainer;
152
+ /** Standalone path: browser extensions only. */
153
+ private autoDetectStandalone;
154
+ private connectToProvider;
155
+ private createProvider;
156
+ private handleProviderStatusChange;
157
+ private attemptReconnect;
158
+ /** Returns the underlying HostProvider if connected via host, or null otherwise. */
159
+ private getHostProvider;
160
+ private cancelConnect;
161
+ private cancelReconnect;
162
+ private disconnectInternal;
163
+ private persistAccount;
164
+ private loadPersistedAccount;
165
+ private loadExtensionApi;
166
+ private setState;
167
+ }
168
+ //# sourceMappingURL=signer-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signer-manager.d.ts","sourceRoot":"","sources":["../src/signer-manager.ts"],"names":[],"mappings":"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"}