@shadow-corp/nearconnect 1.0.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.
Files changed (179) hide show
  1. package/README.md +546 -0
  2. package/build/InjectedWallet.d.ts +22 -0
  3. package/build/InjectedWallet.js +58 -0
  4. package/build/InjectedWallet.js.map +1 -0
  5. package/build/NearConnector.d.ts +151 -0
  6. package/build/NearConnector.js +536 -0
  7. package/build/NearConnector.js.map +1 -0
  8. package/build/ParentFrameWallet.d.ts +22 -0
  9. package/build/ParentFrameWallet.js +66 -0
  10. package/build/ParentFrameWallet.js.map +1 -0
  11. package/build/SandboxedWallet/code.d.ts +7 -0
  12. package/build/SandboxedWallet/code.js +324 -0
  13. package/build/SandboxedWallet/code.js.map +1 -0
  14. package/build/SandboxedWallet/executor.d.ts +23 -0
  15. package/build/SandboxedWallet/executor.js +338 -0
  16. package/build/SandboxedWallet/executor.js.map +1 -0
  17. package/build/SandboxedWallet/iframe.d.ts +18 -0
  18. package/build/SandboxedWallet/iframe.js +78 -0
  19. package/build/SandboxedWallet/iframe.js.map +1 -0
  20. package/build/SandboxedWallet/index.d.ts +24 -0
  21. package/build/SandboxedWallet/index.js +54 -0
  22. package/build/SandboxedWallet/index.js.map +1 -0
  23. package/build/actions/index.d.ts +3 -0
  24. package/build/actions/index.js +105 -0
  25. package/build/actions/index.js.map +1 -0
  26. package/build/actions/types.d.ts +76 -0
  27. package/build/actions/types.js +3 -0
  28. package/build/actions/types.js.map +1 -0
  29. package/build/connection/health.d.ts +213 -0
  30. package/build/connection/health.js +391 -0
  31. package/build/connection/health.js.map +1 -0
  32. package/build/connection/index.d.ts +4 -0
  33. package/build/connection/index.js +48 -0
  34. package/build/connection/index.js.map +1 -0
  35. package/build/connection/reconnect.d.ts +261 -0
  36. package/build/connection/reconnect.js +454 -0
  37. package/build/connection/reconnect.js.map +1 -0
  38. package/build/connection/retry.d.ts +187 -0
  39. package/build/connection/retry.js +427 -0
  40. package/build/connection/retry.js.map +1 -0
  41. package/build/connection/state.d.ts +222 -0
  42. package/build/connection/state.js +431 -0
  43. package/build/connection/state.js.map +1 -0
  44. package/build/errors.d.ts +177 -0
  45. package/build/errors.js +546 -0
  46. package/build/errors.js.map +1 -0
  47. package/build/hardware/errors.d.ts +36 -0
  48. package/build/hardware/errors.js +127 -0
  49. package/build/hardware/errors.js.map +1 -0
  50. package/build/hardware/index.d.ts +7 -0
  51. package/build/hardware/index.js +39 -0
  52. package/build/hardware/index.js.map +1 -0
  53. package/build/hardware/near-app.d.ts +95 -0
  54. package/build/hardware/near-app.js +291 -0
  55. package/build/hardware/near-app.js.map +1 -0
  56. package/build/hardware/transport.d.ts +94 -0
  57. package/build/hardware/transport.js +267 -0
  58. package/build/hardware/transport.js.map +1 -0
  59. package/build/hardware/types.d.ts +98 -0
  60. package/build/hardware/types.js +72 -0
  61. package/build/hardware/types.js.map +1 -0
  62. package/build/helpers/analytics.d.ts +191 -0
  63. package/build/helpers/analytics.js +304 -0
  64. package/build/helpers/analytics.js.map +1 -0
  65. package/build/helpers/base58.d.ts +6 -0
  66. package/build/helpers/base58.js +47 -0
  67. package/build/helpers/base58.js.map +1 -0
  68. package/build/helpers/events.d.ts +42 -0
  69. package/build/helpers/events.js +68 -0
  70. package/build/helpers/events.js.map +1 -0
  71. package/build/helpers/html.d.ts +8 -0
  72. package/build/helpers/html.js +30 -0
  73. package/build/helpers/html.js.map +1 -0
  74. package/build/helpers/indexdb.d.ts +14 -0
  75. package/build/helpers/indexdb.js +166 -0
  76. package/build/helpers/indexdb.js.map +1 -0
  77. package/build/helpers/manifest.d.ts +147 -0
  78. package/build/helpers/manifest.js +329 -0
  79. package/build/helpers/manifest.js.map +1 -0
  80. package/build/helpers/queue.d.ts +11 -0
  81. package/build/helpers/queue.js +48 -0
  82. package/build/helpers/queue.js.map +1 -0
  83. package/build/helpers/session.d.ts +119 -0
  84. package/build/helpers/session.js +289 -0
  85. package/build/helpers/session.js.map +1 -0
  86. package/build/helpers/simulation.d.ts +128 -0
  87. package/build/helpers/simulation.js +441 -0
  88. package/build/helpers/simulation.js.map +1 -0
  89. package/build/helpers/storage.d.ts +58 -0
  90. package/build/helpers/storage.js +190 -0
  91. package/build/helpers/storage.js.map +1 -0
  92. package/build/helpers/trust.d.ts +157 -0
  93. package/build/helpers/trust.js +340 -0
  94. package/build/helpers/trust.js.map +1 -0
  95. package/build/helpers/url.d.ts +1 -0
  96. package/build/helpers/url.js +13 -0
  97. package/build/helpers/url.js.map +1 -0
  98. package/build/helpers/uuid.d.ts +1 -0
  99. package/build/helpers/uuid.js +14 -0
  100. package/build/helpers/uuid.js.map +1 -0
  101. package/build/index.d.ts +21 -0
  102. package/build/index.js +167 -0
  103. package/build/index.js.map +1 -0
  104. package/build/popups/IframeWalletPopup.d.ts +16 -0
  105. package/build/popups/IframeWalletPopup.js +38 -0
  106. package/build/popups/IframeWalletPopup.js.map +1 -0
  107. package/build/popups/NearWalletsPopup.d.ts +25 -0
  108. package/build/popups/NearWalletsPopup.js +153 -0
  109. package/build/popups/NearWalletsPopup.js.map +1 -0
  110. package/build/popups/Popup.d.ts +22 -0
  111. package/build/popups/Popup.js +94 -0
  112. package/build/popups/Popup.js.map +1 -0
  113. package/build/popups/styles.d.ts +1 -0
  114. package/build/popups/styles.js +257 -0
  115. package/build/popups/styles.js.map +1 -0
  116. package/build/security/audit-log.d.ts +123 -0
  117. package/build/security/audit-log.js +268 -0
  118. package/build/security/audit-log.js.map +1 -0
  119. package/build/security/csp.d.ts +68 -0
  120. package/build/security/csp.js +328 -0
  121. package/build/security/csp.js.map +1 -0
  122. package/build/security/index.d.ts +10 -0
  123. package/build/security/index.js +42 -0
  124. package/build/security/index.js.map +1 -0
  125. package/build/security/origin-guard.d.ts +90 -0
  126. package/build/security/origin-guard.js +244 -0
  127. package/build/security/origin-guard.js.map +1 -0
  128. package/build/security/rate-limiter.d.ts +84 -0
  129. package/build/security/rate-limiter.js +212 -0
  130. package/build/security/rate-limiter.js.map +1 -0
  131. package/build/security/secure-storage.d.ts +77 -0
  132. package/build/security/secure-storage.js +242 -0
  133. package/build/security/secure-storage.js.map +1 -0
  134. package/build/security/transaction-guard.d.ts +71 -0
  135. package/build/security/transaction-guard.js +239 -0
  136. package/build/security/transaction-guard.js.map +1 -0
  137. package/build/types.d.ts +508 -0
  138. package/build/types.js +3 -0
  139. package/build/types.js.map +1 -0
  140. package/build/ui/AccountSwitcherModal.d.ts +53 -0
  141. package/build/ui/AccountSwitcherModal.js +239 -0
  142. package/build/ui/AccountSwitcherModal.js.map +1 -0
  143. package/build/ui/Modal.d.ts +84 -0
  144. package/build/ui/Modal.js +278 -0
  145. package/build/ui/Modal.js.map +1 -0
  146. package/build/ui/TransactionModal.d.ts +84 -0
  147. package/build/ui/TransactionModal.js +406 -0
  148. package/build/ui/TransactionModal.js.map +1 -0
  149. package/build/ui/WalletSelectorModal.d.ts +97 -0
  150. package/build/ui/WalletSelectorModal.js +481 -0
  151. package/build/ui/WalletSelectorModal.js.map +1 -0
  152. package/build/ui/icons.d.ts +19 -0
  153. package/build/ui/icons.js +65 -0
  154. package/build/ui/icons.js.map +1 -0
  155. package/build/ui/index.d.ts +10 -0
  156. package/build/ui/index.js +31 -0
  157. package/build/ui/index.js.map +1 -0
  158. package/build/ui/styles.d.ts +5 -0
  159. package/build/ui/styles.js +973 -0
  160. package/build/ui/styles.js.map +1 -0
  161. package/build/ui/theme.d.ts +133 -0
  162. package/build/ui/theme.js +204 -0
  163. package/build/ui/theme.js.map +1 -0
  164. package/build/wallets/external/index.d.ts +4 -0
  165. package/build/wallets/external/index.js +9 -0
  166. package/build/wallets/external/index.js.map +1 -0
  167. package/build/wallets/external/manager.d.ts +152 -0
  168. package/build/wallets/external/manager.js +586 -0
  169. package/build/wallets/external/manager.js.map +1 -0
  170. package/build/wallets/privileged/index.d.ts +5 -0
  171. package/build/wallets/privileged/index.js +12 -0
  172. package/build/wallets/privileged/index.js.map +1 -0
  173. package/build/wallets/privileged/ledger.d.ts +132 -0
  174. package/build/wallets/privileged/ledger.js +563 -0
  175. package/build/wallets/privileged/ledger.js.map +1 -0
  176. package/build/wallets/privileged/manager.d.ts +54 -0
  177. package/build/wallets/privileged/manager.js +174 -0
  178. package/build/wallets/privileged/manager.js.map +1 -0
  179. package/package.json +33 -0
@@ -0,0 +1,586 @@
1
+ "use strict";
2
+ /**
3
+ * External Wallet Manager (Mobile + WalletConnect)
4
+ *
5
+ * Handles wallets that communicate via:
6
+ * - Deep links (mobile apps)
7
+ * - WalletConnect protocol
8
+ * - Redirect flows (web wallets on mobile)
9
+ */
10
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ var desc = Object.getOwnPropertyDescriptor(m, k);
13
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
14
+ desc = { enumerable: true, get: function() { return m[k]; } };
15
+ }
16
+ Object.defineProperty(o, k2, desc);
17
+ }) : (function(o, m, k, k2) {
18
+ if (k2 === undefined) k2 = k;
19
+ o[k2] = m[k];
20
+ }));
21
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
22
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
23
+ }) : function(o, v) {
24
+ o["default"] = v;
25
+ });
26
+ var __importStar = (this && this.__importStar) || (function () {
27
+ var ownKeys = function(o) {
28
+ ownKeys = Object.getOwnPropertyNames || function (o) {
29
+ var ar = [];
30
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
31
+ return ar;
32
+ };
33
+ return ownKeys(o);
34
+ };
35
+ return function (mod) {
36
+ if (mod && mod.__esModule) return mod;
37
+ var result = {};
38
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
39
+ __setModuleDefault(result, mod);
40
+ return result;
41
+ };
42
+ })();
43
+ Object.defineProperty(exports, "__esModule", { value: true });
44
+ exports.ExternalWalletManager = void 0;
45
+ // =============================================================================
46
+ // Manager
47
+ // =============================================================================
48
+ class ExternalWalletManager {
49
+ config;
50
+ wallets = new Map();
51
+ pendingRequests = new Map();
52
+ connectedWallet = null;
53
+ listeners = new Map();
54
+ // WalletConnect client (lazy loaded)
55
+ wcClient = null;
56
+ wcSession = null;
57
+ constructor(config) {
58
+ this.config = config;
59
+ for (const wallet of config.wallets) {
60
+ this.wallets.set(wallet.id, wallet);
61
+ }
62
+ this.setupCallbackListener();
63
+ }
64
+ // ===========================================================================
65
+ // Wallet Discovery
66
+ // ===========================================================================
67
+ getManifests() {
68
+ const manifests = [];
69
+ const isMobile = this.isMobileDevice();
70
+ for (const wallet of this.wallets.values()) {
71
+ // Only show mobile wallets on mobile devices (or WalletConnect anywhere)
72
+ const isAvailable = isMobile || wallet.type === 'walletconnect';
73
+ if (isAvailable) {
74
+ manifests.push({
75
+ id: wallet.id,
76
+ name: wallet.name,
77
+ iconUrl: wallet.icon,
78
+ type: 'external',
79
+ externalType: wallet.type,
80
+ platforms: wallet.platforms,
81
+ features: {
82
+ signTransaction: true,
83
+ signAndSendTransaction: true,
84
+ signMessage: !!wallet.deepLink?.signMessage,
85
+ },
86
+ });
87
+ }
88
+ }
89
+ return manifests;
90
+ }
91
+ isExternalWallet(walletId) {
92
+ return this.wallets.has(walletId);
93
+ }
94
+ // ===========================================================================
95
+ // Connection
96
+ // ===========================================================================
97
+ async connect(walletId) {
98
+ const wallet = this.wallets.get(walletId);
99
+ if (!wallet) {
100
+ throw new Error(`External wallet not found: ${walletId}`);
101
+ }
102
+ switch (wallet.type) {
103
+ case 'deeplink':
104
+ return this.connectViaDeepLink(wallet);
105
+ case 'walletconnect':
106
+ return this.connectViaWalletConnect(wallet);
107
+ case 'redirect':
108
+ return this.connectViaRedirect(wallet);
109
+ default:
110
+ throw new Error(`Unknown external wallet type: ${wallet.type}`);
111
+ }
112
+ }
113
+ async disconnect(walletId) {
114
+ const wallet = this.wallets.get(walletId);
115
+ if (!wallet)
116
+ return;
117
+ if (wallet.type === 'walletconnect' && this.wcSession) {
118
+ await this.disconnectWalletConnect();
119
+ }
120
+ this.connectedWallet = null;
121
+ this.clearSession();
122
+ }
123
+ isConnected(walletId) {
124
+ return this.connectedWallet?.id === walletId;
125
+ }
126
+ getAccounts(walletId) {
127
+ if (this.connectedWallet?.id === walletId) {
128
+ return this.connectedWallet.accounts;
129
+ }
130
+ return [];
131
+ }
132
+ // ===========================================================================
133
+ // Deep Link Connection
134
+ // ===========================================================================
135
+ async connectViaDeepLink(wallet) {
136
+ if (!wallet.deepLink) {
137
+ throw new Error('Wallet does not support deep links');
138
+ }
139
+ const requestId = this.generateRequestId();
140
+ const callbackUrl = this.buildCallbackUrl(requestId, 'signIn');
141
+ const params = new URLSearchParams({
142
+ callback_url: callbackUrl,
143
+ network: this.config.network,
144
+ app_name: this.config.appName,
145
+ request_id: requestId,
146
+ });
147
+ const deepLinkUrl = `${wallet.deepLink.scheme}://${wallet.deepLink.signIn}?${params}`;
148
+ return new Promise((resolve, reject) => {
149
+ this.pendingRequests.set(requestId, {
150
+ id: requestId,
151
+ type: 'signIn',
152
+ walletId: wallet.id,
153
+ timestamp: Date.now(),
154
+ payload: null,
155
+ resolve: (result) => {
156
+ const accounts = result;
157
+ this.connectedWallet = { id: wallet.id, accounts };
158
+ this.saveSession();
159
+ resolve(accounts);
160
+ },
161
+ reject,
162
+ });
163
+ this.openDeepLink(deepLinkUrl, wallet);
164
+ // 5 minute timeout
165
+ setTimeout(() => {
166
+ if (this.pendingRequests.has(requestId)) {
167
+ this.pendingRequests.delete(requestId);
168
+ reject(new Error('Connection timeout - wallet did not respond'));
169
+ }
170
+ }, 5 * 60 * 1000);
171
+ });
172
+ }
173
+ openDeepLink(url, wallet) {
174
+ const startTime = Date.now();
175
+ window.location.href = url;
176
+ // Fallback to app store if app not installed
177
+ setTimeout(() => {
178
+ if (Date.now() - startTime > 1500 && document.hasFocus()) {
179
+ this.emit('wallet:notInstalled', { walletId: wallet.id });
180
+ const storeUrl = this.getStoreUrl(wallet);
181
+ if (storeUrl && confirm(`${wallet.name} is not installed. Open app store?`)) {
182
+ window.location.href = storeUrl;
183
+ }
184
+ }
185
+ }, 2000);
186
+ }
187
+ // ===========================================================================
188
+ // WalletConnect Connection
189
+ // ===========================================================================
190
+ async connectViaWalletConnect(wallet) {
191
+ if (!wallet.walletConnect) {
192
+ throw new Error('Wallet does not support WalletConnect');
193
+ }
194
+ const client = await this.getWalletConnectClient(wallet.walletConnect);
195
+ const session = await client.connect({
196
+ requiredNamespaces: {
197
+ near: {
198
+ methods: ['near_signTransaction', 'near_signMessage'],
199
+ chains: [`near:${this.config.network}`],
200
+ events: ['accountsChanged'],
201
+ },
202
+ },
203
+ });
204
+ this.wcSession = session;
205
+ const accounts = this.parseWalletConnectAccounts(session);
206
+ this.connectedWallet = { id: wallet.id, accounts };
207
+ this.saveSession();
208
+ return accounts;
209
+ }
210
+ async getWalletConnectClient(config) {
211
+ if (this.wcClient)
212
+ return this.wcClient;
213
+ // Dynamic import WalletConnect
214
+ // @ts-ignore - WalletConnect is an optional peer dependency
215
+ const { SignClient } = await Promise.resolve().then(() => __importStar(require('@walletconnect/sign-client')));
216
+ this.wcClient = await SignClient.init({
217
+ projectId: config.projectId,
218
+ relayUrl: config.relayUrl || 'wss://relay.walletconnect.com',
219
+ metadata: config.metadata || {
220
+ name: this.config.appName,
221
+ description: 'NEAR dApp',
222
+ url: this.config.appUrl,
223
+ icons: [],
224
+ },
225
+ });
226
+ return this.wcClient;
227
+ }
228
+ async disconnectWalletConnect() {
229
+ if (this.wcClient && this.wcSession) {
230
+ try {
231
+ await this.wcClient.disconnect({
232
+ topic: this.wcSession.topic,
233
+ reason: { code: 6000, message: 'User disconnected' },
234
+ });
235
+ }
236
+ catch {
237
+ // Ignore disconnect errors
238
+ }
239
+ }
240
+ this.wcClient = null;
241
+ this.wcSession = null;
242
+ }
243
+ parseWalletConnectAccounts(session) {
244
+ const accounts = [];
245
+ const namespaces = session.namespaces?.near;
246
+ if (namespaces?.accounts) {
247
+ for (const account of namespaces.accounts) {
248
+ // Format: near:mainnet:account.near
249
+ const parts = account.split(':');
250
+ if (parts.length >= 3) {
251
+ accounts.push({
252
+ accountId: parts[2],
253
+ publicKey: undefined,
254
+ });
255
+ }
256
+ }
257
+ }
258
+ return accounts;
259
+ }
260
+ // ===========================================================================
261
+ // Redirect Connection (Web Wallets on Mobile)
262
+ // ===========================================================================
263
+ async connectViaRedirect(wallet) {
264
+ if (!wallet.redirect) {
265
+ throw new Error('Wallet does not support redirect');
266
+ }
267
+ const requestId = this.generateRequestId();
268
+ this.storePendingRedirect(requestId, 'signIn', wallet.id, null);
269
+ const params = new URLSearchParams({
270
+ callback_url: this.config.callbackUrl || window.location.href,
271
+ network: this.config.network,
272
+ app_name: this.config.appName,
273
+ request_id: requestId,
274
+ });
275
+ window.location.href = `${wallet.redirect.signInUrl}?${params}`;
276
+ // This promise won't resolve here - it will resolve when user returns
277
+ return new Promise(() => { });
278
+ }
279
+ // ===========================================================================
280
+ // Transaction Signing
281
+ // ===========================================================================
282
+ async signAndSendTransaction(walletId, tx) {
283
+ const wallet = this.wallets.get(walletId);
284
+ if (!wallet) {
285
+ throw new Error(`External wallet not found: ${walletId}`);
286
+ }
287
+ switch (wallet.type) {
288
+ case 'deeplink':
289
+ return this.signTransactionViaDeepLink(wallet, tx);
290
+ case 'walletconnect':
291
+ return this.signTransactionViaWalletConnect(wallet, tx);
292
+ case 'redirect':
293
+ return this.signTransactionViaRedirect(wallet, tx);
294
+ default:
295
+ throw new Error(`Unknown wallet type: ${wallet.type}`);
296
+ }
297
+ }
298
+ async signTransactionViaDeepLink(wallet, tx) {
299
+ if (!wallet.deepLink) {
300
+ throw new Error('Wallet does not support deep links');
301
+ }
302
+ const requestId = this.generateRequestId();
303
+ const callbackUrl = this.buildCallbackUrl(requestId, 'signTransaction');
304
+ const txPayload = btoa(JSON.stringify(tx));
305
+ const params = new URLSearchParams({
306
+ callback_url: callbackUrl,
307
+ request_id: requestId,
308
+ transaction: txPayload,
309
+ });
310
+ const deepLinkUrl = `${wallet.deepLink.scheme}://${wallet.deepLink.signTransaction}?${params}`;
311
+ return new Promise((resolve, reject) => {
312
+ this.pendingRequests.set(requestId, {
313
+ id: requestId,
314
+ type: 'signTransaction',
315
+ walletId: wallet.id,
316
+ timestamp: Date.now(),
317
+ payload: tx,
318
+ resolve: resolve,
319
+ reject,
320
+ });
321
+ this.openDeepLink(deepLinkUrl, wallet);
322
+ setTimeout(() => {
323
+ if (this.pendingRequests.has(requestId)) {
324
+ this.pendingRequests.delete(requestId);
325
+ reject(new Error('Transaction timeout - wallet did not respond'));
326
+ }
327
+ }, 5 * 60 * 1000);
328
+ });
329
+ }
330
+ async signTransactionViaWalletConnect(_wallet, tx) {
331
+ if (!this.wcClient || !this.wcSession) {
332
+ throw new Error('WalletConnect session not established');
333
+ }
334
+ const result = await this.wcClient.request({
335
+ topic: this.wcSession.topic,
336
+ chainId: `near:${this.config.network}`,
337
+ request: {
338
+ method: 'near_signAndSendTransaction',
339
+ params: { transaction: tx },
340
+ },
341
+ });
342
+ return result;
343
+ }
344
+ async signTransactionViaRedirect(wallet, tx) {
345
+ if (!wallet.redirect) {
346
+ throw new Error('Wallet does not support redirect');
347
+ }
348
+ const requestId = this.generateRequestId();
349
+ this.storePendingRedirect(requestId, 'signTransaction', wallet.id, tx);
350
+ const txPayload = btoa(JSON.stringify(tx));
351
+ const params = new URLSearchParams({
352
+ callback_url: this.config.callbackUrl || window.location.href,
353
+ request_id: requestId,
354
+ transaction: txPayload,
355
+ });
356
+ window.location.href = `${wallet.redirect.signTransactionUrl}?${params}`;
357
+ return new Promise(() => { });
358
+ }
359
+ // ===========================================================================
360
+ // Message Signing (NEP-413)
361
+ // ===========================================================================
362
+ async signMessage(walletId, params) {
363
+ const wallet = this.wallets.get(walletId);
364
+ if (!wallet) {
365
+ throw new Error(`External wallet not found: ${walletId}`);
366
+ }
367
+ if (wallet.type === 'walletconnect') {
368
+ return this.signMessageViaWalletConnect(wallet, params);
369
+ }
370
+ if (wallet.type === 'deeplink' && wallet.deepLink?.signMessage) {
371
+ return this.signMessageViaDeepLink(wallet, params);
372
+ }
373
+ throw new Error(`Wallet ${walletId} does not support message signing`);
374
+ }
375
+ async signMessageViaDeepLink(wallet, params) {
376
+ const requestId = this.generateRequestId();
377
+ const callbackUrl = this.buildCallbackUrl(requestId, 'signMessage');
378
+ const messagePayload = btoa(JSON.stringify(params));
379
+ const urlParams = new URLSearchParams({
380
+ callback_url: callbackUrl,
381
+ request_id: requestId,
382
+ message_payload: messagePayload,
383
+ });
384
+ const deepLinkUrl = `${wallet.deepLink.scheme}://${wallet.deepLink.signMessage}?${urlParams}`;
385
+ return new Promise((resolve, reject) => {
386
+ this.pendingRequests.set(requestId, {
387
+ id: requestId,
388
+ type: 'signMessage',
389
+ walletId: wallet.id,
390
+ timestamp: Date.now(),
391
+ payload: params,
392
+ resolve: resolve,
393
+ reject,
394
+ });
395
+ this.openDeepLink(deepLinkUrl, wallet);
396
+ setTimeout(() => {
397
+ if (this.pendingRequests.has(requestId)) {
398
+ this.pendingRequests.delete(requestId);
399
+ reject(new Error('Message signing timeout'));
400
+ }
401
+ }, 5 * 60 * 1000);
402
+ });
403
+ }
404
+ async signMessageViaWalletConnect(_wallet, params) {
405
+ if (!this.wcClient || !this.wcSession) {
406
+ throw new Error('WalletConnect session not established');
407
+ }
408
+ const result = await this.wcClient.request({
409
+ topic: this.wcSession.topic,
410
+ chainId: `near:${this.config.network}`,
411
+ request: {
412
+ method: 'near_signMessage',
413
+ params: {
414
+ message: params.message,
415
+ recipient: params.recipient,
416
+ nonce: Array.from(params.nonce),
417
+ },
418
+ },
419
+ });
420
+ return result;
421
+ }
422
+ // ===========================================================================
423
+ // Callback Handling
424
+ // ===========================================================================
425
+ setupCallbackListener() {
426
+ if (typeof window !== 'undefined') {
427
+ this.handleUrlCallback();
428
+ window.addEventListener('message', this.handlePostMessage.bind(this));
429
+ }
430
+ }
431
+ handleUrlCallback() {
432
+ const url = new URL(window.location.href);
433
+ const requestId = url.searchParams.get('request_id');
434
+ const result = url.searchParams.get('result');
435
+ const error = url.searchParams.get('error');
436
+ if (!requestId) {
437
+ const stored = this.getPendingRedirect();
438
+ if (stored && (result || error)) {
439
+ this.handleCallbackResult(stored.requestId, result, error);
440
+ this.clearPendingRedirect();
441
+ }
442
+ return;
443
+ }
444
+ this.handleCallbackResult(requestId, result, error);
445
+ // Clean URL
446
+ url.searchParams.delete('request_id');
447
+ url.searchParams.delete('result');
448
+ url.searchParams.delete('error');
449
+ window.history.replaceState({}, '', url.toString());
450
+ }
451
+ handlePostMessage(event) {
452
+ if (!event.data?.type?.startsWith('near_'))
453
+ return;
454
+ const { requestId, result, error } = event.data;
455
+ if (requestId) {
456
+ this.handleCallbackResult(requestId, JSON.stringify(result), error);
457
+ }
458
+ }
459
+ handleCallbackResult(requestId, result, error) {
460
+ const pending = this.pendingRequests.get(requestId);
461
+ if (!pending)
462
+ return;
463
+ this.pendingRequests.delete(requestId);
464
+ if (error) {
465
+ pending.reject(new Error(error));
466
+ return;
467
+ }
468
+ if (result) {
469
+ try {
470
+ const parsed = JSON.parse(atob(result));
471
+ pending.resolve(parsed);
472
+ }
473
+ catch {
474
+ pending.resolve(result);
475
+ }
476
+ }
477
+ }
478
+ // ===========================================================================
479
+ // Session Persistence
480
+ // ===========================================================================
481
+ saveSession() {
482
+ if (!this.connectedWallet)
483
+ return;
484
+ localStorage.setItem('near-connect:external-session', JSON.stringify({
485
+ walletId: this.connectedWallet.id,
486
+ accounts: this.connectedWallet.accounts,
487
+ timestamp: Date.now(),
488
+ }));
489
+ }
490
+ clearSession() {
491
+ localStorage.removeItem('near-connect:external-session');
492
+ }
493
+ async restoreSession() {
494
+ const stored = localStorage.getItem('near-connect:external-session');
495
+ if (!stored)
496
+ return null;
497
+ try {
498
+ const session = JSON.parse(stored);
499
+ // Check expiration (24 hours)
500
+ if (Date.now() - session.timestamp > 24 * 60 * 60 * 1000) {
501
+ this.clearSession();
502
+ return null;
503
+ }
504
+ this.connectedWallet = {
505
+ id: session.walletId,
506
+ accounts: session.accounts,
507
+ };
508
+ return session.accounts;
509
+ }
510
+ catch {
511
+ this.clearSession();
512
+ return null;
513
+ }
514
+ }
515
+ storePendingRedirect(requestId, type, walletId, payload) {
516
+ sessionStorage.setItem('near-connect:pending-redirect', JSON.stringify({
517
+ requestId,
518
+ type,
519
+ walletId,
520
+ payload,
521
+ timestamp: Date.now(),
522
+ }));
523
+ }
524
+ getPendingRedirect() {
525
+ const stored = sessionStorage.getItem('near-connect:pending-redirect');
526
+ if (!stored)
527
+ return null;
528
+ try {
529
+ return JSON.parse(stored);
530
+ }
531
+ catch {
532
+ return null;
533
+ }
534
+ }
535
+ clearPendingRedirect() {
536
+ sessionStorage.removeItem('near-connect:pending-redirect');
537
+ }
538
+ // ===========================================================================
539
+ // Utilities
540
+ // ===========================================================================
541
+ generateRequestId() {
542
+ return `${Date.now()}-${Math.random().toString(36).slice(2, 11)}`;
543
+ }
544
+ buildCallbackUrl(requestId, action) {
545
+ const base = this.config.callbackUrl || window.location.href.split('?')[0];
546
+ return `${base}?request_id=${requestId}&action=${action}`;
547
+ }
548
+ isMobileDevice() {
549
+ return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
550
+ }
551
+ getStoreUrl(wallet) {
552
+ const isIOS = /iPhone|iPad|iPod/i.test(navigator.userAgent);
553
+ return isIOS ? wallet.platforms.ios || null : wallet.platforms.android || null;
554
+ }
555
+ // ===========================================================================
556
+ // Events
557
+ // ===========================================================================
558
+ on(event, callback) {
559
+ if (!this.listeners.has(event)) {
560
+ this.listeners.set(event, new Set());
561
+ }
562
+ this.listeners.get(event).add(callback);
563
+ return () => this.listeners.get(event)?.delete(callback);
564
+ }
565
+ emit(event, data) {
566
+ this.listeners.get(event)?.forEach((cb) => {
567
+ try {
568
+ cb(data);
569
+ }
570
+ catch (e) {
571
+ console.error(`Error in ${event} listener:`, e);
572
+ }
573
+ });
574
+ }
575
+ // ===========================================================================
576
+ // Cleanup
577
+ // ===========================================================================
578
+ async destroy() {
579
+ await this.disconnectWalletConnect();
580
+ this.pendingRequests.clear();
581
+ this.listeners.clear();
582
+ this.connectedWallet = null;
583
+ }
584
+ }
585
+ exports.ExternalWalletManager = ExternalWalletManager;
586
+ //# sourceMappingURL=manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../../src/wallets/external/manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Privileged Wallet Tier (Hardware Wallets)
3
+ */
4
+ export { LedgerWallet, createLedgerWallet, type LedgerWalletAccount, type LedgerTransactionResult, type LedgerSignedTransaction, type LedgerSignMessageParams, type LedgerSignedMessage, } from './ledger';
5
+ export { PrivilegedWalletManager, type PrivilegedWalletManagerConfig, type PrivilegedWalletManagerEvents, type WalletManifest, } from './manager';
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ /**
3
+ * Privileged Wallet Tier (Hardware Wallets)
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.PrivilegedWalletManager = exports.createLedgerWallet = exports.LedgerWallet = void 0;
7
+ var ledger_1 = require("./ledger");
8
+ Object.defineProperty(exports, "LedgerWallet", { enumerable: true, get: function () { return ledger_1.LedgerWallet; } });
9
+ Object.defineProperty(exports, "createLedgerWallet", { enumerable: true, get: function () { return ledger_1.createLedgerWallet; } });
10
+ var manager_1 = require("./manager");
11
+ Object.defineProperty(exports, "PrivilegedWalletManager", { enumerable: true, get: function () { return manager_1.PrivilegedWalletManager; } });
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/wallets/privileged/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,mCAQkB;AAPhB,sGAAA,YAAY,OAAA;AACZ,4GAAA,kBAAkB,OAAA;AAQpB,qCAKmB;AAJjB,kHAAA,uBAAuB,OAAA"}