@phantom/browser-injected-sdk 1.0.3 → 1.0.4

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/index.js CHANGED
@@ -185,8 +185,12 @@ function splitUri(value) {
185
185
  return value.match(/(?:([^:/?#]+):)?(?:\/\/([^/?#]*))?([^?#]*)(?:\?([^#]*))?(?:#(.*))?/);
186
186
  }
187
187
 
188
+ // src/errors.ts
189
+ var PHANTOM_NOT_DETECTED = "Phantom wallet not detected.";
190
+ var ETHEREUM_PROVIDER_NOT_FOUND = "Ethereum provider not found on window.phantom.";
191
+
188
192
  // src/ethereum/strategies/injected.ts
189
- var MAX_RETRIES = 4;
193
+ var MAX_RETRIES = 6;
190
194
  var BASE_DELAY = 100;
191
195
  var _getProvider, getProvider_fn;
192
196
  var InjectedEthereumStrategy = class {
@@ -205,7 +209,11 @@ var InjectedEthereumStrategy = class {
205
209
  }
206
210
  retryCount++;
207
211
  if (retryCount >= MAX_RETRIES) {
208
- reject();
212
+ if (!isInstalled()) {
213
+ reject(new Error(PHANTOM_NOT_DETECTED));
214
+ } else {
215
+ reject(new Error(ETHEREUM_PROVIDER_NOT_FOUND));
216
+ }
209
217
  } else {
210
218
  scheduleRetry(resolve, reject);
211
219
  }
@@ -225,7 +233,7 @@ var InjectedEthereumStrategy = class {
225
233
  async connect({ onlyIfTrusted }) {
226
234
  const provider = __privateMethod(this, _getProvider, getProvider_fn).call(this);
227
235
  if (!provider) {
228
- throw new Error("Provider not found.");
236
+ throw new Error(ETHEREUM_PROVIDER_NOT_FOUND);
229
237
  }
230
238
  if (provider.isConnected && provider.selectedAddress) {
231
239
  return this.getAccounts();
@@ -257,7 +265,7 @@ var InjectedEthereumStrategy = class {
257
265
  async signMessage(message, address) {
258
266
  const provider = __privateMethod(this, _getProvider, getProvider_fn).call(this);
259
267
  if (!provider) {
260
- throw new Error("Provider not found.");
268
+ throw new Error(ETHEREUM_PROVIDER_NOT_FOUND);
261
269
  }
262
270
  if (!provider.isConnected) {
263
271
  throw new Error("Provider is not connected.");
@@ -271,7 +279,7 @@ var InjectedEthereumStrategy = class {
271
279
  async signPersonalMessage(message, address) {
272
280
  const provider = __privateMethod(this, _getProvider, getProvider_fn).call(this);
273
281
  if (!provider) {
274
- throw new Error("Provider not found.");
282
+ throw new Error(ETHEREUM_PROVIDER_NOT_FOUND);
275
283
  }
276
284
  if (!provider.isConnected) {
277
285
  throw new Error("Provider is not connected.");
@@ -285,7 +293,7 @@ var InjectedEthereumStrategy = class {
285
293
  async signTypedData(typedData, address) {
286
294
  const provider = __privateMethod(this, _getProvider, getProvider_fn).call(this);
287
295
  if (!provider) {
288
- throw new Error("Provider not found.");
296
+ throw new Error(ETHEREUM_PROVIDER_NOT_FOUND);
289
297
  }
290
298
  if (!provider.isConnected) {
291
299
  throw new Error("Provider is not connected.");
@@ -299,7 +307,7 @@ var InjectedEthereumStrategy = class {
299
307
  async signIn(signInData) {
300
308
  const provider = __privateMethod(this, _getProvider, getProvider_fn).call(this);
301
309
  if (!provider) {
302
- throw new Error("Provider not found.");
310
+ throw new Error(ETHEREUM_PROVIDER_NOT_FOUND);
303
311
  }
304
312
  const message = createSiweMessage(signInData);
305
313
  const address = provider.selectedAddress;
@@ -316,7 +324,7 @@ var InjectedEthereumStrategy = class {
316
324
  async sendTransaction(transaction) {
317
325
  const provider = __privateMethod(this, _getProvider, getProvider_fn).call(this);
318
326
  if (!provider) {
319
- throw new Error("Provider not found.");
327
+ throw new Error(ETHEREUM_PROVIDER_NOT_FOUND);
320
328
  }
321
329
  if (!provider.isConnected) {
322
330
  throw new Error("Provider is not connected.");
@@ -330,7 +338,7 @@ var InjectedEthereumStrategy = class {
330
338
  async signTransaction(transaction) {
331
339
  const provider = __privateMethod(this, _getProvider, getProvider_fn).call(this);
332
340
  if (!provider) {
333
- throw new Error("Provider not found.");
341
+ throw new Error(ETHEREUM_PROVIDER_NOT_FOUND);
334
342
  }
335
343
  if (!provider.isConnected) {
336
344
  throw new Error("Provider is not connected.");
@@ -344,7 +352,7 @@ var InjectedEthereumStrategy = class {
344
352
  async getChainId() {
345
353
  const provider = __privateMethod(this, _getProvider, getProvider_fn).call(this);
346
354
  if (!provider) {
347
- throw new Error("Provider not found.");
355
+ throw new Error(ETHEREUM_PROVIDER_NOT_FOUND);
348
356
  }
349
357
  const chainId = await provider.request({ method: "eth_chainId" });
350
358
  return chainId;
@@ -352,7 +360,7 @@ var InjectedEthereumStrategy = class {
352
360
  async switchChain(chainId) {
353
361
  const provider = __privateMethod(this, _getProvider, getProvider_fn).call(this);
354
362
  if (!provider) {
355
- throw new Error("Provider not found.");
363
+ throw new Error(ETHEREUM_PROVIDER_NOT_FOUND);
356
364
  }
357
365
  await provider.request({
358
366
  method: "wallet_switchEthereumChain",
@@ -362,29 +370,25 @@ var InjectedEthereumStrategy = class {
362
370
  async request(args) {
363
371
  const provider = __privateMethod(this, _getProvider, getProvider_fn).call(this);
364
372
  if (!provider) {
365
- throw new Error("Provider not found.");
373
+ throw new Error(ETHEREUM_PROVIDER_NOT_FOUND);
366
374
  }
367
375
  return await provider.request(args);
368
376
  }
369
377
  };
370
378
  _getProvider = new WeakSet();
371
379
  getProvider_fn = function() {
372
- if (typeof window === "undefined") {
380
+ if (!isInstalled()) {
373
381
  return void 0;
374
382
  }
375
- return window?.phantom?.ethereum;
383
+ return window.phantom.ethereum;
376
384
  };
377
385
 
378
386
  // src/ethereum/getProvider.ts
379
387
  async function getProvider(strategy = "injected" /* INJECTED */) {
380
388
  if (strategy === "injected") {
381
389
  const provider = new InjectedEthereumStrategy();
382
- try {
383
- await provider.load();
384
- return provider;
385
- } catch (error) {
386
- throw new Error("Provider not found.");
387
- }
390
+ await provider.load();
391
+ return provider;
388
392
  } else {
389
393
  throw new Error("Invalid provider type.");
390
394
  }
@@ -422,9 +426,6 @@ function triggerEvent(event, data) {
422
426
  // src/ethereum/connect.ts
423
427
  async function connect({ onlyIfTrusted = false } = {}) {
424
428
  const provider = await getProvider();
425
- if (!provider) {
426
- throw new Error("Provider not found.");
427
- }
428
429
  if (provider.isConnected) {
429
430
  const accounts = await provider.getAccounts();
430
431
  return accounts;
@@ -454,9 +455,6 @@ async function connect({ onlyIfTrusted = false } = {}) {
454
455
  // src/ethereum/disconnect.ts
455
456
  async function disconnect() {
456
457
  const provider = await getProvider();
457
- if (!provider) {
458
- throw new Error("Provider not found.");
459
- }
460
458
  await provider.disconnect();
461
459
  triggerEvent("disconnect", []);
462
460
  }
@@ -464,18 +462,12 @@ async function disconnect() {
464
462
  // src/ethereum/getAccounts.ts
465
463
  async function getAccounts() {
466
464
  const provider = await getProvider();
467
- if (!provider) {
468
- throw new Error("Provider not found.");
469
- }
470
465
  return provider.getAccounts();
471
466
  }
472
467
 
473
468
  // src/ethereum/signMessage.ts
474
469
  async function signPersonalMessage(message, address) {
475
470
  const provider = await getProvider();
476
- if (!provider) {
477
- throw new Error("Provider not found.");
478
- }
479
471
  if (!provider.isConnected) {
480
472
  await provider.connect({ onlyIfTrusted: false });
481
473
  }
@@ -483,9 +475,6 @@ async function signPersonalMessage(message, address) {
483
475
  }
484
476
  async function signTypedData(typedData, address) {
485
477
  const provider = await getProvider();
486
- if (!provider) {
487
- throw new Error("Provider not found.");
488
- }
489
478
  if (!provider.isConnected) {
490
479
  await provider.connect({ onlyIfTrusted: false });
491
480
  }
@@ -495,9 +484,6 @@ async function signTypedData(typedData, address) {
495
484
  // src/ethereum/sendTransaction.ts
496
485
  async function sendTransaction(transaction) {
497
486
  const provider = await getProvider();
498
- if (!provider) {
499
- throw new Error("Provider not found.");
500
- }
501
487
  if (!provider.isConnected) {
502
488
  await provider.connect({ onlyIfTrusted: false });
503
489
  }
@@ -505,9 +491,6 @@ async function sendTransaction(transaction) {
505
491
  }
506
492
  async function signTransaction(transaction) {
507
493
  const provider = await getProvider();
508
- if (!provider) {
509
- throw new Error("Provider not found.");
510
- }
511
494
  if (!provider.isConnected) {
512
495
  await provider.connect({ onlyIfTrusted: false });
513
496
  }
@@ -517,16 +500,10 @@ async function signTransaction(transaction) {
517
500
  // src/ethereum/chainUtils.ts
518
501
  async function getChainId() {
519
502
  const provider = await getProvider();
520
- if (!provider) {
521
- throw new Error("Provider not found.");
522
- }
523
503
  return provider.getChainId();
524
504
  }
525
505
  async function switchChain(chainId) {
526
506
  const provider = await getProvider();
527
- if (!provider) {
528
- throw new Error("Provider not found.");
529
- }
530
507
  return provider.switchChain(chainId);
531
508
  }
532
509
 
@@ -545,9 +522,6 @@ var Ethereum = class {
545
522
  }
546
523
  async request(args) {
547
524
  const provider = await getProvider();
548
- if (!provider) {
549
- throw new Error("Provider not found.");
550
- }
551
525
  const providerInstance = provider.getProvider();
552
526
  if (!providerInstance) {
553
527
  throw new Error("Provider instance not found.");
package/dist/index.mjs CHANGED
@@ -1,19 +1,11 @@
1
1
  import {
2
2
  createEthereumPlugin,
3
3
  createSiweMessage
4
- } from "./chunk-JJH6SEIK.mjs";
4
+ } from "./chunk-YVP5ANEI.mjs";
5
5
  import "./chunk-WUKYLWAZ.mjs";
6
- import "./chunk-GV6AIHPN.mjs";
7
-
8
- // src/extension/isInstalled.ts
9
- function isInstalled() {
10
- try {
11
- const phantom = window?.phantom;
12
- return !!phantom;
13
- } catch (error) {
14
- return false;
15
- }
16
- }
6
+ import {
7
+ isInstalled
8
+ } from "./chunk-RGKAWEP4.mjs";
17
9
 
18
10
  // src/extension/plugin.ts
19
11
  var extension = {
@@ -37,8 +37,22 @@ __export(solana_exports, {
37
37
  });
38
38
  module.exports = __toCommonJS(solana_exports);
39
39
 
40
+ // src/errors.ts
41
+ var PHANTOM_NOT_DETECTED = "Phantom wallet not detected.";
42
+ var SOLANA_PROVIDER_NOT_FOUND = "Solana provider not found on window.phantom.";
43
+
44
+ // src/extension/isInstalled.ts
45
+ function isInstalled() {
46
+ try {
47
+ const phantom = window?.phantom;
48
+ return !!phantom;
49
+ } catch (error) {
50
+ return false;
51
+ }
52
+ }
53
+
40
54
  // src/solana/strategies/injected.ts
41
- var MAX_RETRIES = 4;
55
+ var MAX_RETRIES = 6;
42
56
  var BASE_DELAY = 100;
43
57
  var _getProvider, getProvider_fn;
44
58
  var InjectedSolanaStrategy = class {
@@ -57,7 +71,11 @@ var InjectedSolanaStrategy = class {
57
71
  }
58
72
  retryCount++;
59
73
  if (retryCount >= MAX_RETRIES) {
60
- reject();
74
+ if (!isInstalled()) {
75
+ reject(new Error(PHANTOM_NOT_DETECTED));
76
+ } else {
77
+ reject(new Error(SOLANA_PROVIDER_NOT_FOUND));
78
+ }
61
79
  } else {
62
80
  scheduleRetry(resolve, reject);
63
81
  }
@@ -77,7 +95,7 @@ var InjectedSolanaStrategy = class {
77
95
  async connect({ onlyIfTrusted }) {
78
96
  const provider = __privateMethod(this, _getProvider, getProvider_fn).call(this);
79
97
  if (!provider) {
80
- throw new Error("Provider not found.");
98
+ throw new Error(SOLANA_PROVIDER_NOT_FOUND);
81
99
  }
82
100
  if (provider.isConnected && provider.publicKey) {
83
101
  return this.getAccount() ?? void 0;
@@ -92,7 +110,7 @@ var InjectedSolanaStrategy = class {
92
110
  async disconnect() {
93
111
  const provider = __privateMethod(this, _getProvider, getProvider_fn).call(this);
94
112
  if (!provider) {
95
- throw new Error("Provider not found.");
113
+ throw new Error(SOLANA_PROVIDER_NOT_FOUND);
96
114
  }
97
115
  await provider.disconnect();
98
116
  }
@@ -106,7 +124,7 @@ var InjectedSolanaStrategy = class {
106
124
  async signMessage(message, display) {
107
125
  const provider = __privateMethod(this, _getProvider, getProvider_fn).call(this);
108
126
  if (!provider) {
109
- throw new Error("Provider not found.");
127
+ throw new Error(SOLANA_PROVIDER_NOT_FOUND);
110
128
  }
111
129
  if (!provider.isConnected) {
112
130
  throw new Error("Provider is not connected.");
@@ -120,7 +138,7 @@ var InjectedSolanaStrategy = class {
120
138
  async signIn(signInData) {
121
139
  const provider = __privateMethod(this, _getProvider, getProvider_fn).call(this);
122
140
  if (!provider) {
123
- throw new Error("Provider not found.");
141
+ throw new Error(SOLANA_PROVIDER_NOT_FOUND);
124
142
  }
125
143
  const result = await provider.signIn(signInData);
126
144
  return {
@@ -132,7 +150,7 @@ var InjectedSolanaStrategy = class {
132
150
  async signAndSendTransaction(transaction) {
133
151
  const provider = __privateMethod(this, _getProvider, getProvider_fn).call(this);
134
152
  if (!provider) {
135
- throw new Error("Provider not found.");
153
+ throw new Error(SOLANA_PROVIDER_NOT_FOUND);
136
154
  }
137
155
  if (!provider.isConnected) {
138
156
  throw new Error("Provider is not connected.");
@@ -146,7 +164,7 @@ var InjectedSolanaStrategy = class {
146
164
  async signAndSendAllTransactions(transactions) {
147
165
  const provider = __privateMethod(this, _getProvider, getProvider_fn).call(this);
148
166
  if (!provider) {
149
- throw new Error("Provider not found.");
167
+ throw new Error(SOLANA_PROVIDER_NOT_FOUND);
150
168
  }
151
169
  if (!provider.isConnected) {
152
170
  throw new Error("Provider is not connected.");
@@ -163,7 +181,7 @@ var InjectedSolanaStrategy = class {
163
181
  async signTransaction(transaction) {
164
182
  const provider = __privateMethod(this, _getProvider, getProvider_fn).call(this);
165
183
  if (!provider) {
166
- throw new Error("Provider not found.");
184
+ throw new Error(SOLANA_PROVIDER_NOT_FOUND);
167
185
  }
168
186
  if (!provider.isConnected) {
169
187
  throw new Error("Provider is not connected.");
@@ -174,7 +192,7 @@ var InjectedSolanaStrategy = class {
174
192
  async signAllTransactions(transactions) {
175
193
  const provider = __privateMethod(this, _getProvider, getProvider_fn).call(this);
176
194
  if (!provider) {
177
- throw new Error("Provider not found.");
195
+ throw new Error(SOLANA_PROVIDER_NOT_FOUND);
178
196
  }
179
197
  if (!provider.isConnected) {
180
198
  throw new Error("Provider is not connected.");
@@ -185,22 +203,18 @@ var InjectedSolanaStrategy = class {
185
203
  };
186
204
  _getProvider = new WeakSet();
187
205
  getProvider_fn = function() {
188
- if (typeof window === "undefined") {
206
+ if (!isInstalled()) {
189
207
  return void 0;
190
208
  }
191
- return window?.phantom?.solana;
209
+ return window.phantom.solana;
192
210
  };
193
211
 
194
212
  // src/solana/getProvider.ts
195
213
  async function getProvider(strategy = "injected" /* INJECTED */) {
196
214
  if (strategy === "injected") {
197
215
  const provider = new InjectedSolanaStrategy();
198
- try {
199
- await provider.load();
200
- return provider;
201
- } catch (error) {
202
- throw new Error("Provider not found.");
203
- }
216
+ await provider.load();
217
+ return provider;
204
218
  } else {
205
219
  throw new Error("Invalid provider type.");
206
220
  }
@@ -240,9 +254,6 @@ function triggerEvent(event, ...args) {
240
254
  // src/solana/connect.ts
241
255
  async function connect({ onlyIfTrusted = false } = {}) {
242
256
  const provider = await getProvider();
243
- if (!provider) {
244
- throw new Error("Provider not found.");
245
- }
246
257
  if (provider.isConnected) {
247
258
  return provider.getAccount();
248
259
  }
@@ -271,9 +282,6 @@ async function connect({ onlyIfTrusted = false } = {}) {
271
282
  // src/solana/disconnect.ts
272
283
  async function disconnect() {
273
284
  const provider = await getProvider();
274
- if (!provider) {
275
- throw new Error("Provider not found.");
276
- }
277
285
  await provider.disconnect();
278
286
  triggerEvent("disconnect");
279
287
  }
@@ -281,9 +289,6 @@ async function disconnect() {
281
289
  // src/solana/signAndSendTransaction.ts
282
290
  async function signAndSendTransaction(transaction) {
283
291
  const provider = await getProvider();
284
- if (!provider) {
285
- throw new Error("Provider not found.");
286
- }
287
292
  if (!provider.isConnected) {
288
293
  await provider.connect({ onlyIfTrusted: false });
289
294
  }
@@ -293,9 +298,6 @@ async function signAndSendTransaction(transaction) {
293
298
  // src/solana/signAndSendAllTransactions.ts
294
299
  async function signAndSendAllTransactions(transactions) {
295
300
  const provider = await getProvider();
296
- if (!provider) {
297
- throw new Error("Provider not found.");
298
- }
299
301
  if (!provider.isConnected) {
300
302
  await provider.connect({ onlyIfTrusted: false });
301
303
  }
@@ -305,9 +307,6 @@ async function signAndSendAllTransactions(transactions) {
305
307
  // src/solana/signTransaction.ts
306
308
  async function signTransaction(transaction) {
307
309
  const provider = await getProvider();
308
- if (!provider) {
309
- throw new Error("Provider not found.");
310
- }
311
310
  if (!provider.isConnected) {
312
311
  await provider.connect({ onlyIfTrusted: false });
313
312
  }
@@ -317,9 +316,6 @@ async function signTransaction(transaction) {
317
316
  // src/solana/signAllTransactions.ts
318
317
  async function signAllTransactions(transactions) {
319
318
  const provider = await getProvider();
320
- if (!provider) {
321
- throw new Error("Provider not found.");
322
- }
323
319
  if (!provider.isConnected) {
324
320
  await provider.connect({ onlyIfTrusted: false });
325
321
  }
@@ -329,9 +325,6 @@ async function signAllTransactions(transactions) {
329
325
  // src/solana/signMessage.ts
330
326
  async function signMessage(message, display) {
331
327
  const provider = await getProvider();
332
- if (!provider) {
333
- throw new Error("Provider not found.");
334
- }
335
328
  if (!provider.isConnected) {
336
329
  await provider.connect({ onlyIfTrusted: false });
337
330
  }
@@ -1,11 +1,14 @@
1
1
  import "../chunk-WUKYLWAZ.mjs";
2
2
  import {
3
+ PHANTOM_NOT_DETECTED,
4
+ SOLANA_PROVIDER_NOT_FOUND,
3
5
  __privateAdd,
4
- __privateMethod
5
- } from "../chunk-GV6AIHPN.mjs";
6
+ __privateMethod,
7
+ isInstalled
8
+ } from "../chunk-RGKAWEP4.mjs";
6
9
 
7
10
  // src/solana/strategies/injected.ts
8
- var MAX_RETRIES = 4;
11
+ var MAX_RETRIES = 6;
9
12
  var BASE_DELAY = 100;
10
13
  var _getProvider, getProvider_fn;
11
14
  var InjectedSolanaStrategy = class {
@@ -24,7 +27,11 @@ var InjectedSolanaStrategy = class {
24
27
  }
25
28
  retryCount++;
26
29
  if (retryCount >= MAX_RETRIES) {
27
- reject();
30
+ if (!isInstalled()) {
31
+ reject(new Error(PHANTOM_NOT_DETECTED));
32
+ } else {
33
+ reject(new Error(SOLANA_PROVIDER_NOT_FOUND));
34
+ }
28
35
  } else {
29
36
  scheduleRetry(resolve, reject);
30
37
  }
@@ -44,7 +51,7 @@ var InjectedSolanaStrategy = class {
44
51
  async connect({ onlyIfTrusted }) {
45
52
  const provider = __privateMethod(this, _getProvider, getProvider_fn).call(this);
46
53
  if (!provider) {
47
- throw new Error("Provider not found.");
54
+ throw new Error(SOLANA_PROVIDER_NOT_FOUND);
48
55
  }
49
56
  if (provider.isConnected && provider.publicKey) {
50
57
  return this.getAccount() ?? void 0;
@@ -59,7 +66,7 @@ var InjectedSolanaStrategy = class {
59
66
  async disconnect() {
60
67
  const provider = __privateMethod(this, _getProvider, getProvider_fn).call(this);
61
68
  if (!provider) {
62
- throw new Error("Provider not found.");
69
+ throw new Error(SOLANA_PROVIDER_NOT_FOUND);
63
70
  }
64
71
  await provider.disconnect();
65
72
  }
@@ -73,7 +80,7 @@ var InjectedSolanaStrategy = class {
73
80
  async signMessage(message, display) {
74
81
  const provider = __privateMethod(this, _getProvider, getProvider_fn).call(this);
75
82
  if (!provider) {
76
- throw new Error("Provider not found.");
83
+ throw new Error(SOLANA_PROVIDER_NOT_FOUND);
77
84
  }
78
85
  if (!provider.isConnected) {
79
86
  throw new Error("Provider is not connected.");
@@ -87,7 +94,7 @@ var InjectedSolanaStrategy = class {
87
94
  async signIn(signInData) {
88
95
  const provider = __privateMethod(this, _getProvider, getProvider_fn).call(this);
89
96
  if (!provider) {
90
- throw new Error("Provider not found.");
97
+ throw new Error(SOLANA_PROVIDER_NOT_FOUND);
91
98
  }
92
99
  const result = await provider.signIn(signInData);
93
100
  return {
@@ -99,7 +106,7 @@ var InjectedSolanaStrategy = class {
99
106
  async signAndSendTransaction(transaction) {
100
107
  const provider = __privateMethod(this, _getProvider, getProvider_fn).call(this);
101
108
  if (!provider) {
102
- throw new Error("Provider not found.");
109
+ throw new Error(SOLANA_PROVIDER_NOT_FOUND);
103
110
  }
104
111
  if (!provider.isConnected) {
105
112
  throw new Error("Provider is not connected.");
@@ -113,7 +120,7 @@ var InjectedSolanaStrategy = class {
113
120
  async signAndSendAllTransactions(transactions) {
114
121
  const provider = __privateMethod(this, _getProvider, getProvider_fn).call(this);
115
122
  if (!provider) {
116
- throw new Error("Provider not found.");
123
+ throw new Error(SOLANA_PROVIDER_NOT_FOUND);
117
124
  }
118
125
  if (!provider.isConnected) {
119
126
  throw new Error("Provider is not connected.");
@@ -130,7 +137,7 @@ var InjectedSolanaStrategy = class {
130
137
  async signTransaction(transaction) {
131
138
  const provider = __privateMethod(this, _getProvider, getProvider_fn).call(this);
132
139
  if (!provider) {
133
- throw new Error("Provider not found.");
140
+ throw new Error(SOLANA_PROVIDER_NOT_FOUND);
134
141
  }
135
142
  if (!provider.isConnected) {
136
143
  throw new Error("Provider is not connected.");
@@ -141,7 +148,7 @@ var InjectedSolanaStrategy = class {
141
148
  async signAllTransactions(transactions) {
142
149
  const provider = __privateMethod(this, _getProvider, getProvider_fn).call(this);
143
150
  if (!provider) {
144
- throw new Error("Provider not found.");
151
+ throw new Error(SOLANA_PROVIDER_NOT_FOUND);
145
152
  }
146
153
  if (!provider.isConnected) {
147
154
  throw new Error("Provider is not connected.");
@@ -152,22 +159,18 @@ var InjectedSolanaStrategy = class {
152
159
  };
153
160
  _getProvider = new WeakSet();
154
161
  getProvider_fn = function() {
155
- if (typeof window === "undefined") {
162
+ if (!isInstalled()) {
156
163
  return void 0;
157
164
  }
158
- return window?.phantom?.solana;
165
+ return window.phantom.solana;
159
166
  };
160
167
 
161
168
  // src/solana/getProvider.ts
162
169
  async function getProvider(strategy = "injected" /* INJECTED */) {
163
170
  if (strategy === "injected") {
164
171
  const provider = new InjectedSolanaStrategy();
165
- try {
166
- await provider.load();
167
- return provider;
168
- } catch (error) {
169
- throw new Error("Provider not found.");
170
- }
172
+ await provider.load();
173
+ return provider;
171
174
  } else {
172
175
  throw new Error("Invalid provider type.");
173
176
  }
@@ -207,9 +210,6 @@ function triggerEvent(event, ...args) {
207
210
  // src/solana/connect.ts
208
211
  async function connect({ onlyIfTrusted = false } = {}) {
209
212
  const provider = await getProvider();
210
- if (!provider) {
211
- throw new Error("Provider not found.");
212
- }
213
213
  if (provider.isConnected) {
214
214
  return provider.getAccount();
215
215
  }
@@ -238,9 +238,6 @@ async function connect({ onlyIfTrusted = false } = {}) {
238
238
  // src/solana/disconnect.ts
239
239
  async function disconnect() {
240
240
  const provider = await getProvider();
241
- if (!provider) {
242
- throw new Error("Provider not found.");
243
- }
244
241
  await provider.disconnect();
245
242
  triggerEvent("disconnect");
246
243
  }
@@ -248,9 +245,6 @@ async function disconnect() {
248
245
  // src/solana/signAndSendTransaction.ts
249
246
  async function signAndSendTransaction(transaction) {
250
247
  const provider = await getProvider();
251
- if (!provider) {
252
- throw new Error("Provider not found.");
253
- }
254
248
  if (!provider.isConnected) {
255
249
  await provider.connect({ onlyIfTrusted: false });
256
250
  }
@@ -260,9 +254,6 @@ async function signAndSendTransaction(transaction) {
260
254
  // src/solana/signAndSendAllTransactions.ts
261
255
  async function signAndSendAllTransactions(transactions) {
262
256
  const provider = await getProvider();
263
- if (!provider) {
264
- throw new Error("Provider not found.");
265
- }
266
257
  if (!provider.isConnected) {
267
258
  await provider.connect({ onlyIfTrusted: false });
268
259
  }
@@ -272,9 +263,6 @@ async function signAndSendAllTransactions(transactions) {
272
263
  // src/solana/signTransaction.ts
273
264
  async function signTransaction(transaction) {
274
265
  const provider = await getProvider();
275
- if (!provider) {
276
- throw new Error("Provider not found.");
277
- }
278
266
  if (!provider.isConnected) {
279
267
  await provider.connect({ onlyIfTrusted: false });
280
268
  }
@@ -284,9 +272,6 @@ async function signTransaction(transaction) {
284
272
  // src/solana/signAllTransactions.ts
285
273
  async function signAllTransactions(transactions) {
286
274
  const provider = await getProvider();
287
- if (!provider) {
288
- throw new Error("Provider not found.");
289
- }
290
275
  if (!provider.isConnected) {
291
276
  await provider.connect({ onlyIfTrusted: false });
292
277
  }
@@ -296,9 +281,6 @@ async function signAllTransactions(transactions) {
296
281
  // src/solana/signMessage.ts
297
282
  async function signMessage(message, display) {
298
283
  const provider = await getProvider();
299
- if (!provider) {
300
- throw new Error("Provider not found.");
301
- }
302
284
  if (!provider.isConnected) {
303
285
  await provider.connect({ onlyIfTrusted: false });
304
286
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@phantom/browser-injected-sdk",
3
- "version": "1.0.3",
3
+ "version": "1.0.4",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/phantom/phantom-connect-sdk",
@@ -47,9 +47,9 @@
47
47
  "prettier": "prettier --write \"src/**/*.{ts,tsx}\""
48
48
  },
49
49
  "dependencies": {
50
- "@phantom/chain-interfaces": "^1.0.3",
51
- "@phantom/constants": "^1.0.3",
52
- "@phantom/sdk-types": "^1.0.3"
50
+ "@phantom/chain-interfaces": "^1.0.4",
51
+ "@phantom/constants": "^1.0.4",
52
+ "@phantom/sdk-types": "^1.0.4"
53
53
  },
54
54
  "devDependencies": {
55
55
  "@jest/fake-timers": "^29.7.0",
@@ -1,18 +0,0 @@
1
- var __accessCheck = (obj, member, msg) => {
2
- if (!member.has(obj))
3
- throw TypeError("Cannot " + msg);
4
- };
5
- var __privateAdd = (obj, member, value) => {
6
- if (member.has(obj))
7
- throw TypeError("Cannot add the same private member more than once");
8
- member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
9
- };
10
- var __privateMethod = (obj, member, method) => {
11
- __accessCheck(obj, member, "access private method");
12
- return method;
13
- };
14
-
15
- export {
16
- __privateAdd,
17
- __privateMethod
18
- };