@meshconnect/web-link-sdk 3.2.13 → 3.2.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@meshconnect/web-link-sdk",
3
- "version": "3.2.13",
3
+ "version": "3.2.14",
4
4
  "description": "A client-side JS library for integrating with Mesh Connect",
5
5
  "exports": "./index.js",
6
6
  "license": "MIT",
@@ -22,7 +22,7 @@
22
22
  "util": "^0.12.4"
23
23
  },
24
24
  "dependencies": {
25
- "@meshconnect/node-api": "^2.0.21",
25
+ "@meshconnect/node-api": "^2.0.22",
26
26
  "@meshconnect/solana-web3.js": "^1.0.4",
27
27
  "bs58": "^5.0.0",
28
28
  "buffer": "^6.0.3",
@@ -1,3 +1,4 @@
1
+ var _a;
1
2
  import { SolanaWalletType } from './types';
2
3
  var identifyWalletType = function (provider) {
3
4
  if (provider.isPhantom)
@@ -10,25 +11,76 @@ var identifyWalletType = function (provider) {
10
11
  return SolanaWalletType.EXODUS;
11
12
  return SolanaWalletType.UNKNOWN;
12
13
  };
14
+ var walletValidations = (_a = {},
15
+ _a[SolanaWalletType.PHANTOM] = function (provider) {
16
+ return provider.isPhantom === true &&
17
+ provider.isSolflare !== true &&
18
+ provider.isTrust !== true &&
19
+ provider.isTrustWallet !== true &&
20
+ provider.isExodus !== true;
21
+ },
22
+ _a[SolanaWalletType.SOLFLARE] = function (provider) {
23
+ return provider.isSolflare === true &&
24
+ provider.isPhantom !== true &&
25
+ provider.isTrust !== true &&
26
+ provider.isTrustWallet !== true &&
27
+ provider.isExodus !== true;
28
+ },
29
+ _a[SolanaWalletType.TRUST] = function (provider) {
30
+ return (provider.isTrust === true || provider.isTrustWallet === true) &&
31
+ provider.isPhantom !== true &&
32
+ provider.isSolflare !== true &&
33
+ provider.isExodus !== true;
34
+ },
35
+ _a[SolanaWalletType.EXODUS] = function (provider) {
36
+ return provider.isExodus === true &&
37
+ provider.isSolflare !== true &&
38
+ provider.isTrust !== true &&
39
+ provider.isTrustWallet !== true;
40
+ },
41
+ // Note: Exodus may also inject isPhantom, so we don't exclude it
42
+ _a[SolanaWalletType.UNKNOWN] = function (provider) {
43
+ return provider.isPhantom !== true &&
44
+ provider.isSolflare !== true &&
45
+ provider.isTrust !== true &&
46
+ provider.isTrustWallet !== true &&
47
+ provider.isExodus !== true;
48
+ },
49
+ _a);
13
50
  var getProviderByType = function (type) {
14
- var _a, _b, _c, _d;
15
- // First try to get the provider directly using the wallet name
16
- var dynamicProvider = (_a = window[type]) === null || _a === void 0 ? void 0 : _a.solana;
17
- if (dynamicProvider) {
18
- return dynamicProvider;
19
- }
51
+ var _a, _b, _c;
20
52
  // Then check known provider locations
21
53
  switch (type) {
22
54
  case SolanaWalletType.PHANTOM:
23
- return (_b = window.phantom) === null || _b === void 0 ? void 0 : _b.solana;
55
+ if (((_a = window.phantom) === null || _a === void 0 ? void 0 : _a.solana) &&
56
+ walletValidations[type](window.phantom.solana)) {
57
+ return window.phantom.solana;
58
+ }
59
+ return undefined;
24
60
  case SolanaWalletType.SOLFLARE:
25
- return window.solflare;
61
+ if (window.solflare && walletValidations[type](window.solflare)) {
62
+ return window.solflare;
63
+ }
64
+ return undefined;
26
65
  case SolanaWalletType.TRUST:
27
- return (_c = window.trustwallet) === null || _c === void 0 ? void 0 : _c.solana;
66
+ if (((_b = window.trustwallet) === null || _b === void 0 ? void 0 : _b.solana) &&
67
+ walletValidations[type](window.trustwallet.solana)) {
68
+ return window.trustwallet.solana;
69
+ }
70
+ return undefined;
28
71
  case SolanaWalletType.EXODUS:
29
- return (_d = window.exodus) === null || _d === void 0 ? void 0 : _d.solana;
72
+ if (((_c = window.exodus) === null || _c === void 0 ? void 0 : _c.solana) &&
73
+ walletValidations[type](window.exodus.solana)) {
74
+ return window.exodus.solana;
75
+ }
76
+ return undefined;
30
77
  case SolanaWalletType.UNKNOWN:
31
- return window.solana;
78
+ if (window.solana && walletValidations[type](window.solana)) {
79
+ return window.solana;
80
+ }
81
+ return undefined;
82
+ default:
83
+ return undefined;
32
84
  }
33
85
  };
34
86
  export var findAvailableSolanaProviders = function () {
@@ -36,15 +36,14 @@ export interface SolanaProvider {
36
36
  signature: string;
37
37
  }>;
38
38
  sendTransaction?(transaction: Transaction | VersionedTransaction): Promise<string>;
39
+ isPhantom?: boolean;
40
+ isSolflare?: boolean;
41
+ isTrust?: boolean;
42
+ isTrustWallet?: boolean;
43
+ isExodus?: boolean;
39
44
  }
40
45
  export interface WindowWithSolanaProviders extends Window {
41
- solana?: SolanaProvider & {
42
- isPhantom?: boolean;
43
- isSolflare?: boolean;
44
- isTrust?: boolean;
45
- isTrustWallet?: boolean;
46
- isExodus?: boolean;
47
- };
46
+ solana?: SolanaProvider;
48
47
  phantom?: {
49
48
  solana?: SolanaProvider;
50
49
  };
@@ -1 +1 @@
1
- export declare const sdkVersion = "3.2.13";
1
+ export declare const sdkVersion = "3.2.14";
package/utils/version.js CHANGED
@@ -1 +1 @@
1
- export var sdkVersion = '3.2.13';
1
+ export var sdkVersion = '3.2.14';