@phantom/browser-sdk 1.0.0-beta.13 → 1.0.0-beta.14
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/README.md +1 -10
- package/dist/index.d.ts +1 -5
- package/dist/index.js +70 -27
- package/dist/index.mjs +70 -27
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -315,7 +315,7 @@ Connect to wallet and get addresses for configured AddressTypes.
|
|
|
315
315
|
|
|
316
316
|
```typescript
|
|
317
317
|
const result = await sdk.connect();
|
|
318
|
-
// Returns: {
|
|
318
|
+
// Returns: { addresses: WalletAddress[] }
|
|
319
319
|
// addresses only includes types from addressTypes config
|
|
320
320
|
```
|
|
321
321
|
|
|
@@ -344,15 +344,6 @@ Check if SDK is connected to a wallet.
|
|
|
344
344
|
const connected = sdk.isConnected();
|
|
345
345
|
```
|
|
346
346
|
|
|
347
|
-
#### getWalletId()
|
|
348
|
-
|
|
349
|
-
Get the wallet ID (embedded wallets only).
|
|
350
|
-
|
|
351
|
-
```typescript
|
|
352
|
-
const walletId = sdk.getWalletId();
|
|
353
|
-
// Returns string for embedded wallets, null for injected
|
|
354
|
-
```
|
|
355
|
-
|
|
356
347
|
### Solana Chain Methods
|
|
357
348
|
|
|
358
349
|
#### signMessage(message)
|
package/dist/index.d.ts
CHANGED
|
@@ -157,10 +157,6 @@ declare class BrowserSDK {
|
|
|
157
157
|
* Get information about the current provider
|
|
158
158
|
*/
|
|
159
159
|
getCurrentProviderInfo(): ProviderPreference | null;
|
|
160
|
-
/**
|
|
161
|
-
* Get the wallet ID (for embedded wallets)
|
|
162
|
-
*/
|
|
163
|
-
getWalletId(): string | null;
|
|
164
160
|
/**
|
|
165
161
|
* Check if Phantom extension is installed
|
|
166
162
|
*/
|
|
@@ -178,7 +174,7 @@ declare class BrowserSDK {
|
|
|
178
174
|
/**
|
|
179
175
|
* Attempt auto-connection using existing session
|
|
180
176
|
* Should be called after setting up event listeners
|
|
181
|
-
*
|
|
177
|
+
* Tries embedded provider first, then injected provider as fallback
|
|
182
178
|
*/
|
|
183
179
|
autoConnect(): Promise<void>;
|
|
184
180
|
/**
|
package/dist/index.js
CHANGED
|
@@ -508,7 +508,6 @@ var InjectedProvider = class {
|
|
|
508
508
|
const result = {
|
|
509
509
|
addresses: this.addresses,
|
|
510
510
|
status: "completed"
|
|
511
|
-
// walletId is not applicable for injected providers
|
|
512
511
|
};
|
|
513
512
|
this.emit("connect", {
|
|
514
513
|
addresses: this.addresses,
|
|
@@ -947,7 +946,7 @@ var BrowserAuthProvider = class {
|
|
|
947
946
|
redirect_uri: phantomOptions.redirectUrl || (typeof window !== "undefined" ? this.getValidatedCurrentUrl() : ""),
|
|
948
947
|
session_id: phantomOptions.sessionId,
|
|
949
948
|
clear_previous_session: true.toString(),
|
|
950
|
-
sdk_version: "1.0.0-beta.
|
|
949
|
+
sdk_version: "1.0.0-beta.14"
|
|
951
950
|
});
|
|
952
951
|
if (phantomOptions.provider) {
|
|
953
952
|
debug.log(DebugCategory.PHANTOM_CONNECT_AUTH, "Provider specified, will skip selection", {
|
|
@@ -1245,7 +1244,7 @@ var EmbeddedProvider = class extends import_embedded_provider_core.EmbeddedProvi
|
|
|
1245
1244
|
// Full user agent for more detailed info
|
|
1246
1245
|
[import_constants2.ANALYTICS_HEADERS.APP_ID]: config.appId,
|
|
1247
1246
|
[import_constants2.ANALYTICS_HEADERS.WALLET_TYPE]: config.embeddedWalletType,
|
|
1248
|
-
[import_constants2.ANALYTICS_HEADERS.SDK_VERSION]: "1.0.0-beta.
|
|
1247
|
+
[import_constants2.ANALYTICS_HEADERS.SDK_VERSION]: "1.0.0-beta.14"
|
|
1249
1248
|
// Replaced at build time
|
|
1250
1249
|
}
|
|
1251
1250
|
};
|
|
@@ -1264,7 +1263,6 @@ var ProviderManager = class {
|
|
|
1264
1263
|
this.providers = /* @__PURE__ */ new Map();
|
|
1265
1264
|
this.currentProvider = null;
|
|
1266
1265
|
this.currentProviderKey = null;
|
|
1267
|
-
this.walletId = null;
|
|
1268
1266
|
// Event management for forwarding provider events
|
|
1269
1267
|
this.eventListeners = /* @__PURE__ */ new Map();
|
|
1270
1268
|
this.providerForwardingSetup = /* @__PURE__ */ new WeakSet();
|
|
@@ -1300,7 +1298,6 @@ var ProviderManager = class {
|
|
|
1300
1298
|
}
|
|
1301
1299
|
this.currentProvider = this.providers.get(key);
|
|
1302
1300
|
this.currentProviderKey = key;
|
|
1303
|
-
this.walletId = null;
|
|
1304
1301
|
this.ensureProviderEventForwarding();
|
|
1305
1302
|
return this.currentProvider;
|
|
1306
1303
|
}
|
|
@@ -1337,14 +1334,11 @@ var ProviderManager = class {
|
|
|
1337
1334
|
}
|
|
1338
1335
|
debug.log(DebugCategory.PROVIDER_MANAGER, "Delegating to provider connect method");
|
|
1339
1336
|
const result = await this.currentProvider.connect(authOptions);
|
|
1340
|
-
this.walletId = result.walletId || null;
|
|
1341
1337
|
debug.log(DebugCategory.PROVIDER_MANAGER, "Connection successful, saving preferences", {
|
|
1342
|
-
walletId: this.walletId,
|
|
1343
1338
|
addressCount: result.addresses?.length || 0
|
|
1344
1339
|
});
|
|
1345
1340
|
this.saveProviderPreference();
|
|
1346
1341
|
debug.info(DebugCategory.PROVIDER_MANAGER, "Connect completed", {
|
|
1347
|
-
walletId: this.walletId,
|
|
1348
1342
|
addresses: result.addresses
|
|
1349
1343
|
});
|
|
1350
1344
|
return result;
|
|
@@ -1356,7 +1350,6 @@ var ProviderManager = class {
|
|
|
1356
1350
|
if (!this.currentProvider)
|
|
1357
1351
|
return;
|
|
1358
1352
|
await this.currentProvider.disconnect();
|
|
1359
|
-
this.walletId = null;
|
|
1360
1353
|
}
|
|
1361
1354
|
/**
|
|
1362
1355
|
* Get addresses from current provider
|
|
@@ -1374,10 +1367,61 @@ var ProviderManager = class {
|
|
|
1374
1367
|
return this.currentProvider?.isConnected() ?? false;
|
|
1375
1368
|
}
|
|
1376
1369
|
/**
|
|
1377
|
-
*
|
|
1370
|
+
* Attempt auto-connect with fallback strategy
|
|
1371
|
+
* Tries embedded provider first if it exists, then injected provider
|
|
1372
|
+
* Returns true if any provider successfully connected
|
|
1378
1373
|
*/
|
|
1379
|
-
|
|
1380
|
-
|
|
1374
|
+
async autoConnect() {
|
|
1375
|
+
debug.log(DebugCategory.PROVIDER_MANAGER, "Starting auto-connect with fallback strategy");
|
|
1376
|
+
const embeddedWalletType = this.config.embeddedWalletType || "user-wallet";
|
|
1377
|
+
const embeddedKey = this.getProviderKey("embedded", embeddedWalletType);
|
|
1378
|
+
if (this.providers.has(embeddedKey)) {
|
|
1379
|
+
debug.log(DebugCategory.PROVIDER_MANAGER, "Trying auto-connect with existing embedded provider");
|
|
1380
|
+
const embeddedProvider = this.providers.get(embeddedKey);
|
|
1381
|
+
try {
|
|
1382
|
+
const previousProvider = this.currentProvider;
|
|
1383
|
+
const previousKey = this.currentProviderKey;
|
|
1384
|
+
this.currentProvider = embeddedProvider;
|
|
1385
|
+
this.currentProviderKey = embeddedKey;
|
|
1386
|
+
this.ensureProviderEventForwarding();
|
|
1387
|
+
await embeddedProvider.autoConnect();
|
|
1388
|
+
if (embeddedProvider.isConnected()) {
|
|
1389
|
+
debug.info(DebugCategory.PROVIDER_MANAGER, "Embedded auto-connect successful");
|
|
1390
|
+
this.saveProviderPreference();
|
|
1391
|
+
return true;
|
|
1392
|
+
} else {
|
|
1393
|
+
debug.log(DebugCategory.PROVIDER_MANAGER, "Embedded provider did not connect, restoring previous provider");
|
|
1394
|
+
this.currentProvider = previousProvider;
|
|
1395
|
+
this.currentProviderKey = previousKey;
|
|
1396
|
+
}
|
|
1397
|
+
} catch (error) {
|
|
1398
|
+
debug.log(DebugCategory.PROVIDER_MANAGER, "Embedded auto-connect failed", {
|
|
1399
|
+
error: error.message
|
|
1400
|
+
});
|
|
1401
|
+
}
|
|
1402
|
+
}
|
|
1403
|
+
const injectedKey = this.getProviderKey("injected");
|
|
1404
|
+
if (this.providers.has(injectedKey)) {
|
|
1405
|
+
debug.log(DebugCategory.PROVIDER_MANAGER, "Trying auto-connect with existing injected provider");
|
|
1406
|
+
const injectedProvider = this.providers.get(injectedKey);
|
|
1407
|
+
try {
|
|
1408
|
+
this.currentProvider = injectedProvider;
|
|
1409
|
+
this.currentProviderKey = injectedKey;
|
|
1410
|
+
this.ensureProviderEventForwarding();
|
|
1411
|
+
await injectedProvider.autoConnect();
|
|
1412
|
+
if (injectedProvider.isConnected()) {
|
|
1413
|
+
debug.info(DebugCategory.PROVIDER_MANAGER, "Injected auto-connect successful");
|
|
1414
|
+
this.saveProviderPreference();
|
|
1415
|
+
return true;
|
|
1416
|
+
}
|
|
1417
|
+
} catch (error) {
|
|
1418
|
+
debug.log(DebugCategory.PROVIDER_MANAGER, "Injected auto-connect failed", {
|
|
1419
|
+
error: error.message
|
|
1420
|
+
});
|
|
1421
|
+
}
|
|
1422
|
+
}
|
|
1423
|
+
debug.log(DebugCategory.PROVIDER_MANAGER, "Auto-connect failed for all existing providers");
|
|
1424
|
+
return false;
|
|
1381
1425
|
}
|
|
1382
1426
|
/**
|
|
1383
1427
|
* Add event listener - stores callback and ensures current provider forwards events to ProviderManager
|
|
@@ -1460,11 +1504,17 @@ var ProviderManager = class {
|
|
|
1460
1504
|
}
|
|
1461
1505
|
/**
|
|
1462
1506
|
* Set default provider based on initial config
|
|
1507
|
+
* Creates both embedded and injected providers for autoConnect fallback
|
|
1463
1508
|
*/
|
|
1464
1509
|
setDefaultProvider() {
|
|
1465
1510
|
const defaultType = this.config.providerType || "embedded";
|
|
1466
1511
|
const defaultEmbeddedType = this.config.embeddedWalletType || "user-wallet";
|
|
1467
|
-
this.
|
|
1512
|
+
if (this.config.appId) {
|
|
1513
|
+
debug.log(DebugCategory.PROVIDER_MANAGER, "Creating embedded provider");
|
|
1514
|
+
this.createProvider("embedded", defaultEmbeddedType);
|
|
1515
|
+
}
|
|
1516
|
+
debug.log(DebugCategory.PROVIDER_MANAGER, "Creating injected provider");
|
|
1517
|
+
this.createProvider("injected");
|
|
1468
1518
|
this.switchProvider(defaultType, { embeddedWalletType: defaultEmbeddedType });
|
|
1469
1519
|
}
|
|
1470
1520
|
/**
|
|
@@ -1625,7 +1675,6 @@ var BrowserSDK = class {
|
|
|
1625
1675
|
const result = await this.providerManager.connect(options);
|
|
1626
1676
|
debug.info(DebugCategory.BROWSER_SDK, "Connection successful", {
|
|
1627
1677
|
addressCount: result.addresses.length,
|
|
1628
|
-
walletId: result.walletId,
|
|
1629
1678
|
status: result.status
|
|
1630
1679
|
});
|
|
1631
1680
|
return result;
|
|
@@ -1682,12 +1731,6 @@ var BrowserSDK = class {
|
|
|
1682
1731
|
getCurrentProviderInfo() {
|
|
1683
1732
|
return this.providerManager.getCurrentProviderInfo();
|
|
1684
1733
|
}
|
|
1685
|
-
/**
|
|
1686
|
-
* Get the wallet ID (for embedded wallets)
|
|
1687
|
-
*/
|
|
1688
|
-
getWalletId() {
|
|
1689
|
-
return this.providerManager.getWalletId();
|
|
1690
|
-
}
|
|
1691
1734
|
// ===== UTILITY METHODS =====
|
|
1692
1735
|
/**
|
|
1693
1736
|
* Check if Phantom extension is installed
|
|
@@ -1714,17 +1757,17 @@ var BrowserSDK = class {
|
|
|
1714
1757
|
/**
|
|
1715
1758
|
* Attempt auto-connection using existing session
|
|
1716
1759
|
* Should be called after setting up event listeners
|
|
1717
|
-
*
|
|
1760
|
+
* Tries embedded provider first, then injected provider as fallback
|
|
1718
1761
|
*/
|
|
1719
1762
|
async autoConnect() {
|
|
1720
|
-
debug.log(DebugCategory.BROWSER_SDK, "Attempting auto-connect");
|
|
1721
|
-
const
|
|
1722
|
-
if (
|
|
1723
|
-
|
|
1724
|
-
} else {
|
|
1725
|
-
debug.warn(DebugCategory.BROWSER_SDK, "Current provider does not support auto-connect", {
|
|
1763
|
+
debug.log(DebugCategory.BROWSER_SDK, "Attempting auto-connect with fallback strategy");
|
|
1764
|
+
const result = await this.providerManager.autoConnect();
|
|
1765
|
+
if (result) {
|
|
1766
|
+
debug.info(DebugCategory.BROWSER_SDK, "Auto-connect successful", {
|
|
1726
1767
|
providerType: this.getCurrentProviderInfo()?.type
|
|
1727
1768
|
});
|
|
1769
|
+
} else {
|
|
1770
|
+
debug.log(DebugCategory.BROWSER_SDK, "Auto-connect failed for all providers");
|
|
1728
1771
|
}
|
|
1729
1772
|
}
|
|
1730
1773
|
/**
|
package/dist/index.mjs
CHANGED
|
@@ -472,7 +472,6 @@ var InjectedProvider = class {
|
|
|
472
472
|
const result = {
|
|
473
473
|
addresses: this.addresses,
|
|
474
474
|
status: "completed"
|
|
475
|
-
// walletId is not applicable for injected providers
|
|
476
475
|
};
|
|
477
476
|
this.emit("connect", {
|
|
478
477
|
addresses: this.addresses,
|
|
@@ -911,7 +910,7 @@ var BrowserAuthProvider = class {
|
|
|
911
910
|
redirect_uri: phantomOptions.redirectUrl || (typeof window !== "undefined" ? this.getValidatedCurrentUrl() : ""),
|
|
912
911
|
session_id: phantomOptions.sessionId,
|
|
913
912
|
clear_previous_session: true.toString(),
|
|
914
|
-
sdk_version: "1.0.0-beta.
|
|
913
|
+
sdk_version: "1.0.0-beta.14"
|
|
915
914
|
});
|
|
916
915
|
if (phantomOptions.provider) {
|
|
917
916
|
debug.log(DebugCategory.PHANTOM_CONNECT_AUTH, "Provider specified, will skip selection", {
|
|
@@ -1209,7 +1208,7 @@ var EmbeddedProvider = class extends CoreEmbeddedProvider {
|
|
|
1209
1208
|
// Full user agent for more detailed info
|
|
1210
1209
|
[ANALYTICS_HEADERS.APP_ID]: config.appId,
|
|
1211
1210
|
[ANALYTICS_HEADERS.WALLET_TYPE]: config.embeddedWalletType,
|
|
1212
|
-
[ANALYTICS_HEADERS.SDK_VERSION]: "1.0.0-beta.
|
|
1211
|
+
[ANALYTICS_HEADERS.SDK_VERSION]: "1.0.0-beta.14"
|
|
1213
1212
|
// Replaced at build time
|
|
1214
1213
|
}
|
|
1215
1214
|
};
|
|
@@ -1228,7 +1227,6 @@ var ProviderManager = class {
|
|
|
1228
1227
|
this.providers = /* @__PURE__ */ new Map();
|
|
1229
1228
|
this.currentProvider = null;
|
|
1230
1229
|
this.currentProviderKey = null;
|
|
1231
|
-
this.walletId = null;
|
|
1232
1230
|
// Event management for forwarding provider events
|
|
1233
1231
|
this.eventListeners = /* @__PURE__ */ new Map();
|
|
1234
1232
|
this.providerForwardingSetup = /* @__PURE__ */ new WeakSet();
|
|
@@ -1264,7 +1262,6 @@ var ProviderManager = class {
|
|
|
1264
1262
|
}
|
|
1265
1263
|
this.currentProvider = this.providers.get(key);
|
|
1266
1264
|
this.currentProviderKey = key;
|
|
1267
|
-
this.walletId = null;
|
|
1268
1265
|
this.ensureProviderEventForwarding();
|
|
1269
1266
|
return this.currentProvider;
|
|
1270
1267
|
}
|
|
@@ -1301,14 +1298,11 @@ var ProviderManager = class {
|
|
|
1301
1298
|
}
|
|
1302
1299
|
debug.log(DebugCategory.PROVIDER_MANAGER, "Delegating to provider connect method");
|
|
1303
1300
|
const result = await this.currentProvider.connect(authOptions);
|
|
1304
|
-
this.walletId = result.walletId || null;
|
|
1305
1301
|
debug.log(DebugCategory.PROVIDER_MANAGER, "Connection successful, saving preferences", {
|
|
1306
|
-
walletId: this.walletId,
|
|
1307
1302
|
addressCount: result.addresses?.length || 0
|
|
1308
1303
|
});
|
|
1309
1304
|
this.saveProviderPreference();
|
|
1310
1305
|
debug.info(DebugCategory.PROVIDER_MANAGER, "Connect completed", {
|
|
1311
|
-
walletId: this.walletId,
|
|
1312
1306
|
addresses: result.addresses
|
|
1313
1307
|
});
|
|
1314
1308
|
return result;
|
|
@@ -1320,7 +1314,6 @@ var ProviderManager = class {
|
|
|
1320
1314
|
if (!this.currentProvider)
|
|
1321
1315
|
return;
|
|
1322
1316
|
await this.currentProvider.disconnect();
|
|
1323
|
-
this.walletId = null;
|
|
1324
1317
|
}
|
|
1325
1318
|
/**
|
|
1326
1319
|
* Get addresses from current provider
|
|
@@ -1338,10 +1331,61 @@ var ProviderManager = class {
|
|
|
1338
1331
|
return this.currentProvider?.isConnected() ?? false;
|
|
1339
1332
|
}
|
|
1340
1333
|
/**
|
|
1341
|
-
*
|
|
1334
|
+
* Attempt auto-connect with fallback strategy
|
|
1335
|
+
* Tries embedded provider first if it exists, then injected provider
|
|
1336
|
+
* Returns true if any provider successfully connected
|
|
1342
1337
|
*/
|
|
1343
|
-
|
|
1344
|
-
|
|
1338
|
+
async autoConnect() {
|
|
1339
|
+
debug.log(DebugCategory.PROVIDER_MANAGER, "Starting auto-connect with fallback strategy");
|
|
1340
|
+
const embeddedWalletType = this.config.embeddedWalletType || "user-wallet";
|
|
1341
|
+
const embeddedKey = this.getProviderKey("embedded", embeddedWalletType);
|
|
1342
|
+
if (this.providers.has(embeddedKey)) {
|
|
1343
|
+
debug.log(DebugCategory.PROVIDER_MANAGER, "Trying auto-connect with existing embedded provider");
|
|
1344
|
+
const embeddedProvider = this.providers.get(embeddedKey);
|
|
1345
|
+
try {
|
|
1346
|
+
const previousProvider = this.currentProvider;
|
|
1347
|
+
const previousKey = this.currentProviderKey;
|
|
1348
|
+
this.currentProvider = embeddedProvider;
|
|
1349
|
+
this.currentProviderKey = embeddedKey;
|
|
1350
|
+
this.ensureProviderEventForwarding();
|
|
1351
|
+
await embeddedProvider.autoConnect();
|
|
1352
|
+
if (embeddedProvider.isConnected()) {
|
|
1353
|
+
debug.info(DebugCategory.PROVIDER_MANAGER, "Embedded auto-connect successful");
|
|
1354
|
+
this.saveProviderPreference();
|
|
1355
|
+
return true;
|
|
1356
|
+
} else {
|
|
1357
|
+
debug.log(DebugCategory.PROVIDER_MANAGER, "Embedded provider did not connect, restoring previous provider");
|
|
1358
|
+
this.currentProvider = previousProvider;
|
|
1359
|
+
this.currentProviderKey = previousKey;
|
|
1360
|
+
}
|
|
1361
|
+
} catch (error) {
|
|
1362
|
+
debug.log(DebugCategory.PROVIDER_MANAGER, "Embedded auto-connect failed", {
|
|
1363
|
+
error: error.message
|
|
1364
|
+
});
|
|
1365
|
+
}
|
|
1366
|
+
}
|
|
1367
|
+
const injectedKey = this.getProviderKey("injected");
|
|
1368
|
+
if (this.providers.has(injectedKey)) {
|
|
1369
|
+
debug.log(DebugCategory.PROVIDER_MANAGER, "Trying auto-connect with existing injected provider");
|
|
1370
|
+
const injectedProvider = this.providers.get(injectedKey);
|
|
1371
|
+
try {
|
|
1372
|
+
this.currentProvider = injectedProvider;
|
|
1373
|
+
this.currentProviderKey = injectedKey;
|
|
1374
|
+
this.ensureProviderEventForwarding();
|
|
1375
|
+
await injectedProvider.autoConnect();
|
|
1376
|
+
if (injectedProvider.isConnected()) {
|
|
1377
|
+
debug.info(DebugCategory.PROVIDER_MANAGER, "Injected auto-connect successful");
|
|
1378
|
+
this.saveProviderPreference();
|
|
1379
|
+
return true;
|
|
1380
|
+
}
|
|
1381
|
+
} catch (error) {
|
|
1382
|
+
debug.log(DebugCategory.PROVIDER_MANAGER, "Injected auto-connect failed", {
|
|
1383
|
+
error: error.message
|
|
1384
|
+
});
|
|
1385
|
+
}
|
|
1386
|
+
}
|
|
1387
|
+
debug.log(DebugCategory.PROVIDER_MANAGER, "Auto-connect failed for all existing providers");
|
|
1388
|
+
return false;
|
|
1345
1389
|
}
|
|
1346
1390
|
/**
|
|
1347
1391
|
* Add event listener - stores callback and ensures current provider forwards events to ProviderManager
|
|
@@ -1424,11 +1468,17 @@ var ProviderManager = class {
|
|
|
1424
1468
|
}
|
|
1425
1469
|
/**
|
|
1426
1470
|
* Set default provider based on initial config
|
|
1471
|
+
* Creates both embedded and injected providers for autoConnect fallback
|
|
1427
1472
|
*/
|
|
1428
1473
|
setDefaultProvider() {
|
|
1429
1474
|
const defaultType = this.config.providerType || "embedded";
|
|
1430
1475
|
const defaultEmbeddedType = this.config.embeddedWalletType || "user-wallet";
|
|
1431
|
-
this.
|
|
1476
|
+
if (this.config.appId) {
|
|
1477
|
+
debug.log(DebugCategory.PROVIDER_MANAGER, "Creating embedded provider");
|
|
1478
|
+
this.createProvider("embedded", defaultEmbeddedType);
|
|
1479
|
+
}
|
|
1480
|
+
debug.log(DebugCategory.PROVIDER_MANAGER, "Creating injected provider");
|
|
1481
|
+
this.createProvider("injected");
|
|
1432
1482
|
this.switchProvider(defaultType, { embeddedWalletType: defaultEmbeddedType });
|
|
1433
1483
|
}
|
|
1434
1484
|
/**
|
|
@@ -1589,7 +1639,6 @@ var BrowserSDK = class {
|
|
|
1589
1639
|
const result = await this.providerManager.connect(options);
|
|
1590
1640
|
debug.info(DebugCategory.BROWSER_SDK, "Connection successful", {
|
|
1591
1641
|
addressCount: result.addresses.length,
|
|
1592
|
-
walletId: result.walletId,
|
|
1593
1642
|
status: result.status
|
|
1594
1643
|
});
|
|
1595
1644
|
return result;
|
|
@@ -1646,12 +1695,6 @@ var BrowserSDK = class {
|
|
|
1646
1695
|
getCurrentProviderInfo() {
|
|
1647
1696
|
return this.providerManager.getCurrentProviderInfo();
|
|
1648
1697
|
}
|
|
1649
|
-
/**
|
|
1650
|
-
* Get the wallet ID (for embedded wallets)
|
|
1651
|
-
*/
|
|
1652
|
-
getWalletId() {
|
|
1653
|
-
return this.providerManager.getWalletId();
|
|
1654
|
-
}
|
|
1655
1698
|
// ===== UTILITY METHODS =====
|
|
1656
1699
|
/**
|
|
1657
1700
|
* Check if Phantom extension is installed
|
|
@@ -1678,17 +1721,17 @@ var BrowserSDK = class {
|
|
|
1678
1721
|
/**
|
|
1679
1722
|
* Attempt auto-connection using existing session
|
|
1680
1723
|
* Should be called after setting up event listeners
|
|
1681
|
-
*
|
|
1724
|
+
* Tries embedded provider first, then injected provider as fallback
|
|
1682
1725
|
*/
|
|
1683
1726
|
async autoConnect() {
|
|
1684
|
-
debug.log(DebugCategory.BROWSER_SDK, "Attempting auto-connect");
|
|
1685
|
-
const
|
|
1686
|
-
if (
|
|
1687
|
-
|
|
1688
|
-
} else {
|
|
1689
|
-
debug.warn(DebugCategory.BROWSER_SDK, "Current provider does not support auto-connect", {
|
|
1727
|
+
debug.log(DebugCategory.BROWSER_SDK, "Attempting auto-connect with fallback strategy");
|
|
1728
|
+
const result = await this.providerManager.autoConnect();
|
|
1729
|
+
if (result) {
|
|
1730
|
+
debug.info(DebugCategory.BROWSER_SDK, "Auto-connect successful", {
|
|
1690
1731
|
providerType: this.getCurrentProviderInfo()?.type
|
|
1691
1732
|
});
|
|
1733
|
+
} else {
|
|
1734
|
+
debug.log(DebugCategory.BROWSER_SDK, "Auto-connect failed for all providers");
|
|
1692
1735
|
}
|
|
1693
1736
|
}
|
|
1694
1737
|
/**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@phantom/browser-sdk",
|
|
3
|
-
"version": "1.0.0-beta.
|
|
3
|
+
"version": "1.0.0-beta.14",
|
|
4
4
|
"description": "Browser SDK for Phantom Wallet",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.mjs",
|
|
@@ -31,9 +31,9 @@
|
|
|
31
31
|
"@phantom/base64url": "^1.0.0-beta.7",
|
|
32
32
|
"@phantom/browser-injected-sdk": "^1.0.0-beta.5",
|
|
33
33
|
"@phantom/chain-interfaces": "^1.0.0-beta.7",
|
|
34
|
-
"@phantom/client": "^1.0.0-beta.
|
|
34
|
+
"@phantom/client": "^1.0.0-beta.14",
|
|
35
35
|
"@phantom/constants": "^1.0.0-beta.7",
|
|
36
|
-
"@phantom/embedded-provider-core": "^1.0.0-beta.
|
|
36
|
+
"@phantom/embedded-provider-core": "^1.0.0-beta.14",
|
|
37
37
|
"@phantom/indexed-db-stamper": "^1.0.0-beta.1",
|
|
38
38
|
"@phantom/parsers": "^1.0.0-beta.7",
|
|
39
39
|
"@phantom/sdk-types": "^1.0.0-beta.7",
|