@trustware/sdk-staging 1.1.3-staging.33 → 1.1.4-staging.35

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.
@@ -287,7 +287,7 @@ declare class WalletManager {
287
287
  private _providerCleanup;
288
288
  private _connectedWalletId;
289
289
  get status(): Status;
290
- get error(): unknown;
290
+ get error(): string | null;
291
291
  get detected(): DetectedWallet[];
292
292
  get wallet(): WalletInterFaceAPI | null;
293
293
  get simple(): SimpleWalletInterface | null;
@@ -304,7 +304,13 @@ declare class WalletManager {
304
304
  }): Promise<void>;
305
305
  connectDetected(target: DetectedWallet, opts?: {
306
306
  wagmi?: WagmiBridge;
307
- }): Promise<void>;
307
+ }): Promise<{
308
+ error: null;
309
+ api: WalletInterFaceAPI;
310
+ } | {
311
+ error: string;
312
+ api: WalletInterFaceAPI | null;
313
+ } | undefined>;
308
314
  disconnect(wagmi?: WagmiBridge): Promise<void>;
309
315
  /** Directly attach a pre-provided wallet interface (from old provider prop). */
310
316
  attachWallet(api: WalletInterFaceAPI): void;
@@ -287,7 +287,7 @@ declare class WalletManager {
287
287
  private _providerCleanup;
288
288
  private _connectedWalletId;
289
289
  get status(): Status;
290
- get error(): unknown;
290
+ get error(): string | null;
291
291
  get detected(): DetectedWallet[];
292
292
  get wallet(): WalletInterFaceAPI | null;
293
293
  get simple(): SimpleWalletInterface | null;
@@ -304,7 +304,13 @@ declare class WalletManager {
304
304
  }): Promise<void>;
305
305
  connectDetected(target: DetectedWallet, opts?: {
306
306
  wagmi?: WagmiBridge;
307
- }): Promise<void>;
307
+ }): Promise<{
308
+ error: null;
309
+ api: WalletInterFaceAPI;
310
+ } | {
311
+ error: string;
312
+ api: WalletInterFaceAPI | null;
313
+ } | undefined>;
308
314
  disconnect(wagmi?: WagmiBridge): Promise<void>;
309
315
  /** Directly attach a pre-provided wallet interface (from old provider prop). */
310
316
  attachWallet(api: WalletInterFaceAPI): void;
package/dist/wallet.cjs CHANGED
@@ -249,7 +249,7 @@ var import_web3 = require("@solana/web3.js");
249
249
 
250
250
  // src/constants.ts
251
251
  var SDK_NAME = "@trustware/sdk";
252
- var SDK_VERSION = "1.1.3-staging.33";
252
+ var SDK_VERSION = "1.1.4-staging.35";
253
253
  var API_ROOT = "https://bv-staging-api.trustware.io";
254
254
  var API_PREFIX = "/api";
255
255
  var ASSETS_BASE_URL = "https://app.trustware.io";
@@ -770,9 +770,18 @@ async function connectDetectedWallet(dw, opts) {
770
770
  throw new Error("WalletConnect connection failed. Please try again.");
771
771
  }
772
772
  if (dw.via === "solana-window" || dw.meta.ecosystem === "solana") {
773
- const api2 = toWalletInterfaceFromDetected(dw);
774
- if (touchAddress) await api2.getAddress();
775
- return { via: "eip1193", api: api2 };
773
+ try {
774
+ const provider = dw.provider;
775
+ await provider.connect();
776
+ return {
777
+ via: "eip1193",
778
+ api: toWalletInterfaceFromDetected(dw),
779
+ error: null
780
+ };
781
+ } catch (err) {
782
+ const errorMsg = err instanceof Error ? err.message : String(err);
783
+ return { via: "eip1193", api: null, error: errorMsg };
784
+ }
776
785
  }
777
786
  if (wagmi) {
778
787
  const conn = pickWagmiConnector(
@@ -783,12 +792,12 @@ async function connectDetectedWallet(dw, opts) {
783
792
  );
784
793
  if (conn) {
785
794
  await wagmi.connect(conn);
786
- return { via: "wagmi", api: null };
795
+ return { via: "wagmi", api: null, error: null };
787
796
  }
788
797
  }
789
798
  const api = toWalletInterfaceFromDetected(dw);
790
799
  if (touchAddress) await api.getAddress();
791
- return { via: "eip1193", api };
800
+ return { via: "eip1193", api, error: null };
792
801
  }
793
802
 
794
803
  // src/wallets/detect.ts
@@ -2324,6 +2333,7 @@ var WalletManager = class {
2324
2333
  this._wallet = null;
2325
2334
  this._detected = [];
2326
2335
  this._listeners = /* @__PURE__ */ new Set();
2336
+ this._error = null;
2327
2337
  this._identity = new IdentityStore();
2328
2338
  this._providerCleanup = null;
2329
2339
  this._connectedWalletId = null;
@@ -2378,18 +2388,25 @@ var WalletManager = class {
2378
2388
  this.clearConnectedWalletState();
2379
2389
  this.emit();
2380
2390
  try {
2381
- const { api } = await connectDetectedWallet(target, {
2391
+ const { api, error } = await connectDetectedWallet(target, {
2382
2392
  wagmi: opts?.wagmi
2383
2393
  });
2384
- if (api) {
2394
+ if (api && !error) {
2385
2395
  this._wallet = api;
2386
2396
  this._connectedWalletId = target.meta.id;
2387
2397
  this.bindProviderEvents(target);
2388
2398
  await this.syncIdentityFromWallet(target.meta.id);
2399
+ this._status = "connected";
2400
+ this._error = null;
2401
+ return { error: null, api };
2402
+ }
2403
+ if (error) {
2404
+ this._status = "error";
2405
+ this._error = error;
2406
+ return { error, api };
2389
2407
  }
2390
- this._status = "connected";
2391
2408
  } catch (e2) {
2392
- this._error = e2;
2409
+ this._error = e2 instanceof Error ? e2.message : String(e2);
2393
2410
  this._status = "error";
2394
2411
  this.clearConnectedWalletState();
2395
2412
  } finally {