@phantom/browser-injected-sdk 1.0.2 → 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.
@@ -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,25 +238,13 @@ 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
  }
247
244
 
248
- // src/solana/getAccount.ts
249
- async function getAccount() {
250
- const provider = await getProvider();
251
- return provider.getAccount();
252
- }
253
-
254
245
  // src/solana/signAndSendTransaction.ts
255
246
  async function signAndSendTransaction(transaction) {
256
247
  const provider = await getProvider();
257
- if (!provider) {
258
- throw new Error("Provider not found.");
259
- }
260
248
  if (!provider.isConnected) {
261
249
  await provider.connect({ onlyIfTrusted: false });
262
250
  }
@@ -266,9 +254,6 @@ async function signAndSendTransaction(transaction) {
266
254
  // src/solana/signAndSendAllTransactions.ts
267
255
  async function signAndSendAllTransactions(transactions) {
268
256
  const provider = await getProvider();
269
- if (!provider) {
270
- throw new Error("Provider not found.");
271
- }
272
257
  if (!provider.isConnected) {
273
258
  await provider.connect({ onlyIfTrusted: false });
274
259
  }
@@ -278,9 +263,6 @@ async function signAndSendAllTransactions(transactions) {
278
263
  // src/solana/signTransaction.ts
279
264
  async function signTransaction(transaction) {
280
265
  const provider = await getProvider();
281
- if (!provider) {
282
- throw new Error("Provider not found.");
283
- }
284
266
  if (!provider.isConnected) {
285
267
  await provider.connect({ onlyIfTrusted: false });
286
268
  }
@@ -290,9 +272,6 @@ async function signTransaction(transaction) {
290
272
  // src/solana/signAllTransactions.ts
291
273
  async function signAllTransactions(transactions) {
292
274
  const provider = await getProvider();
293
- if (!provider) {
294
- throw new Error("Provider not found.");
295
- }
296
275
  if (!provider.isConnected) {
297
276
  await provider.connect({ onlyIfTrusted: false });
298
277
  }
@@ -302,9 +281,6 @@ async function signAllTransactions(transactions) {
302
281
  // src/solana/signMessage.ts
303
282
  async function signMessage(message, display) {
304
283
  const provider = await getProvider();
305
- if (!provider) {
306
- throw new Error("Provider not found.");
307
- }
308
284
  if (!provider.isConnected) {
309
285
  await provider.connect({ onlyIfTrusted: false });
310
286
  }
@@ -320,7 +296,7 @@ var Solana = class {
320
296
  get publicKey() {
321
297
  return this._publicKey;
322
298
  }
323
- get connected() {
299
+ get isConnected() {
324
300
  return this._publicKey !== null;
325
301
  }
326
302
  async connect(options) {
@@ -360,21 +336,6 @@ var Solana = class {
360
336
  async switchNetwork(_network) {
361
337
  return Promise.resolve();
362
338
  }
363
- async getPublicKey() {
364
- if (this._publicKey) {
365
- return this._publicKey;
366
- }
367
- try {
368
- const account = await getAccount();
369
- this._publicKey = account || null;
370
- return this._publicKey;
371
- } catch {
372
- return null;
373
- }
374
- }
375
- isConnected() {
376
- return this._publicKey !== null;
377
- }
378
339
  on(event, listener) {
379
340
  addEventListener(event, listener);
380
341
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@phantom/browser-injected-sdk",
3
- "version": "1.0.2",
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.2",
51
- "@phantom/constants": "^1.0.2",
52
- "@phantom/sdk-types": "^1.0.2"
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
- };