@bit-buccaneers/wallet-abstraction 0.0.8 → 0.0.10

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/dev.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { injected, metaMask, coinbaseWallet } from '@wagmi/connectors';
2
- import { createConfig, getConnectors, signMessage, disconnect, connect, watchConnections } from '@wagmi/core';
2
+ import { createConfig, getConnectors, signMessage, disconnect, getConnections, connect, watchConnections } from '@wagmi/core';
3
3
  import { http } from 'viem';
4
4
  import { mainnet } from 'viem/chains';
5
5
  import bs582 from 'bs58';
@@ -174,7 +174,7 @@ var EVM_WALLET_ID_MAP = {
174
174
  coinbaseWalletSDK: "coinbase",
175
175
  "io.rabby": "rabby",
176
176
  "me.rainbow": "rainbow",
177
- "com.exodus.wallet": "exodus",
177
+ "com.exodus.web3-wallet": "exodus",
178
178
  walletConnect: "walletconnect"
179
179
  };
180
180
  var SOLANA_WALLET_ID_MAP = {
@@ -810,10 +810,12 @@ var createMetaMaskSolanaDappBrowserConnector = () => createDappBrowserSolanaConn
810
810
  // src/lib/connectors/solflare.ts
811
811
  var SOLFLARE_CONNECT_URL = "https://solflare.com/ul/v1/connect";
812
812
  var SOLFLARE_SIGN_MESSAGE_URL = "https://solflare.com/ul/v1/signMessage";
813
- var SOLFLARE_BROWSE_URL = "https://solflare.com/ul/v1/browse";
813
+ var buildSolflareBrowseUrl = () => `https://solflare.com/ul/v1/browse/${encodeURIComponent(
814
+ window.location.href
815
+ )}?ref=${encodeURIComponent(window.location.origin)}`;
814
816
  var createSolflareSolanaDappBrowserConnector = () => createDappBrowserSolanaConnector({
815
817
  walletId: "solflare",
816
- browseUrl: SOLFLARE_BROWSE_URL,
818
+ buildUrl: buildSolflareBrowseUrl,
817
819
  injectedKey: "isSolflare"
818
820
  });
819
821
  var SOLFLARE_CONFIG = {
@@ -885,12 +887,12 @@ var TRUST_CONFIG = {
885
887
  wcDeeplink: "https://link.trustwallet.com/wc",
886
888
  injectedKey: "isTrust"
887
889
  };
888
- var TRUST_BROWSE_URL = "https://link.trustwallet.com/open_url";
890
+ var buildTrustBrowseUrl = () => `https://link.trustwallet.com/open_url?url=${encodeURIComponent(window.location.href)}`;
889
891
  var createTrustEvmMobileConnector = () => createWcEvmConnector(TRUST_CONFIG);
890
892
  var createTrustSolanaMobileConnector = () => createWcSolanaConnector(TRUST_CONFIG);
891
893
  var createTrustSolanaDappBrowserConnector = () => createDappBrowserSolanaConnector({
892
894
  walletId: "trust",
893
- browseUrl: TRUST_BROWSE_URL,
895
+ buildUrl: buildTrustBrowseUrl,
894
896
  injectedKey: "isTrust"
895
897
  });
896
898
 
@@ -908,14 +910,8 @@ var EXODUS_CONFIG = {
908
910
  wcDeeplink: "https://exodus.com/wc",
909
911
  injectedKey: "isExodus"
910
912
  };
911
- var EXODUS_BROWSE_URL = "https://exodus.com/m/browser";
912
913
  var createExodusEvmMobileConnector = () => createWcEvmConnector(EXODUS_CONFIG);
913
914
  var createExodusSolanaMobileConnector = () => createWcSolanaConnector(EXODUS_CONFIG);
914
- var createExodusSolanaDappBrowserConnector = () => createDappBrowserSolanaConnector({
915
- walletId: "exodus",
916
- browseUrl: EXODUS_BROWSE_URL,
917
- injectedKey: "isExodus"
918
- });
919
915
 
920
916
  // src/lib/connectors/binance.ts
921
917
  var BINANCE_CONFIG = {
@@ -953,12 +949,17 @@ var createCoinbaseSolanaDappBrowserConnector = () => createDappBrowserSolanaConn
953
949
  });
954
950
 
955
951
  // src/lib/connectors/bitget.ts
956
- var BITGET_BROWSE_URL = "https://bkcode.vip/dapp";
952
+ var BITGET_CONFIG = {
953
+ walletId: "bitget",
954
+ wcDeeplink: "bitkeep://bkconnect",
955
+ injectedKey: "isBitKeep"
956
+ };
957
+ var buildBitgetBrowseUrl = () => `https://bkcode.vip?action=dapp&url=${encodeURIComponent(window.location.href)}`;
958
+ var createBitgetSolanaConnector = () => createWcSolanaConnector(BITGET_CONFIG);
957
959
  var createBitgetSolanaDappBrowserConnector = () => createDappBrowserSolanaConnector({
958
960
  walletId: "bitget",
959
- browseUrl: BITGET_BROWSE_URL,
960
961
  injectedKey: "isBitKeep",
961
- stripProtocol: true
962
+ buildUrl: buildBitgetBrowseUrl
962
963
  });
963
964
  var walletConfig = WALLETS.find((w) => w.id === "walletconnect");
964
965
  var disconnectWc2 = async () => {
@@ -1045,6 +1046,9 @@ var EVM_FALLBACK_CONNECTORS = [
1045
1046
  { id: "rainbow", create: createRainbowEvmMobileConnector },
1046
1047
  { id: "exodus", create: createExodusEvmMobileConnector }
1047
1048
  ];
1049
+ var cleanupWalletLocalStorage = () => {
1050
+ Object.keys(window.localStorage).filter((key) => key.startsWith("wagmi.")).forEach((key) => window.localStorage.removeItem(key));
1051
+ };
1048
1052
  var getEvmConnectors = () => {
1049
1053
  const wagmiConnectors = getConnectors(getEvmConfig());
1050
1054
  const connectors = wagmiConnectors.map((c) => ({
@@ -1056,11 +1060,14 @@ var getEvmConnectors = () => {
1056
1060
  wallet: {
1057
1061
  _connector: c,
1058
1062
  connect: async () => {
1063
+ const connections = getConnections(getEvmConfig());
1064
+ if (connections.length > 0) await disconnect(getEvmConfig());
1059
1065
  const result = await connect(getEvmConfig(), { connector: c });
1060
1066
  if (!result.accounts[0]) throw new Error("No accounts returned");
1061
1067
  return connectedResult(result.accounts[0], { chainId: result.chainId });
1062
1068
  },
1063
1069
  disconnect: async () => {
1070
+ cleanupWalletLocalStorage();
1064
1071
  await disconnect(getEvmConfig());
1065
1072
  },
1066
1073
  signMessage: async (message) => {
@@ -1190,11 +1197,10 @@ var SOLANA_FALLBACK_CONNECTORS = isMobile() ? [
1190
1197
  },
1191
1198
  {
1192
1199
  id: "exodus",
1193
- create: () => createSolanaMobileConnector(createExodusSolanaDappBrowserConnector())
1200
+ create: () => createSolanaMobileConnector(createExodusSolanaMobileConnector())
1194
1201
  }
1195
1202
  ] : [
1196
1203
  { id: "phantom", create: () => createSolanaMobileConnector(createPhantomSolanaConnector()) },
1197
- // { id: 'metamask', create: () => createSolanaMobileConnector(createMetaMaskSolanaConnector()) },
1198
1204
  {
1199
1205
  id: "solflare",
1200
1206
  create: () => createSolanaMobileConnector(createSolflareSolanaMobileConnector())
@@ -1204,6 +1210,7 @@ var SOLANA_FALLBACK_CONNECTORS = isMobile() ? [
1204
1210
  create: () => createSolanaMobileConnector(createTrustSolanaMobileConnector())
1205
1211
  },
1206
1212
  { id: "binance", create: () => createSolanaMobileConnector(createBinanceSolanaConnector()) },
1213
+ { id: "bitget", create: createBitgetSolanaConnector },
1207
1214
  {
1208
1215
  id: "exodus",
1209
1216
  create: () => createSolanaMobileConnector(createExodusSolanaMobileConnector())
@@ -1212,7 +1219,11 @@ var SOLANA_FALLBACK_CONNECTORS = isMobile() ? [
1212
1219
  var getSolanaWallets = () => {
1213
1220
  const { get } = getWallets();
1214
1221
  const wallets = get();
1215
- const connectors = wallets.filter(isWalletAdapterCompatibleStandardWallet).filter((w) => w.constructor.name !== "SolflareMetaMaskWallet").map(createSolanaConnector);
1222
+ const connectors = wallets.filter(isWalletAdapterCompatibleStandardWallet).filter((w) => {
1223
+ return w.constructor.name !== "SolflareMetaMaskWallet";
1224
+ }).map(createSolanaConnector);
1225
+ console.log({ wallets });
1226
+ console.log({ connectors });
1216
1227
  addFallbackConnectors(connectors, SOLANA_FALLBACK_CONNECTORS);
1217
1228
  return connectors;
1218
1229
  };
package/dist/dev.jsx CHANGED
@@ -25,7 +25,13 @@ var getEvmConfig = () => {
25
25
  };
26
26
 
27
27
  // src/lib/evm/connectors.ts
28
- import { connect, disconnect, getConnectors, signMessage as wagmiSignMessage } from "@wagmi/core";
28
+ import {
29
+ connect,
30
+ disconnect,
31
+ getConnections,
32
+ getConnectors,
33
+ signMessage as wagmiSignMessage
34
+ } from "@wagmi/core";
29
35
 
30
36
  // src/lib/core/constants.ts
31
37
  var STORAGE_KEYS = {
@@ -169,7 +175,7 @@ var EVM_WALLET_ID_MAP = {
169
175
  coinbaseWalletSDK: "coinbase",
170
176
  "io.rabby": "rabby",
171
177
  "me.rainbow": "rainbow",
172
- "com.exodus.wallet": "exodus",
178
+ "com.exodus.web3-wallet": "exodus",
173
179
  walletConnect: "walletconnect"
174
180
  };
175
181
  var SOLANA_WALLET_ID_MAP = {
@@ -818,10 +824,12 @@ var createMetaMaskSolanaDappBrowserConnector = () => createDappBrowserSolanaConn
818
824
  // src/lib/connectors/solflare.ts
819
825
  var SOLFLARE_CONNECT_URL = "https://solflare.com/ul/v1/connect";
820
826
  var SOLFLARE_SIGN_MESSAGE_URL = "https://solflare.com/ul/v1/signMessage";
821
- var SOLFLARE_BROWSE_URL = "https://solflare.com/ul/v1/browse";
827
+ var buildSolflareBrowseUrl = () => `https://solflare.com/ul/v1/browse/${encodeURIComponent(
828
+ window.location.href
829
+ )}?ref=${encodeURIComponent(window.location.origin)}`;
822
830
  var createSolflareSolanaDappBrowserConnector = () => createDappBrowserSolanaConnector({
823
831
  walletId: "solflare",
824
- browseUrl: SOLFLARE_BROWSE_URL,
832
+ buildUrl: buildSolflareBrowseUrl,
825
833
  injectedKey: "isSolflare"
826
834
  });
827
835
  var SOLFLARE_CONFIG = {
@@ -893,12 +901,12 @@ var TRUST_CONFIG = {
893
901
  wcDeeplink: "https://link.trustwallet.com/wc",
894
902
  injectedKey: "isTrust"
895
903
  };
896
- var TRUST_BROWSE_URL = "https://link.trustwallet.com/open_url";
904
+ var buildTrustBrowseUrl = () => `https://link.trustwallet.com/open_url?url=${encodeURIComponent(window.location.href)}`;
897
905
  var createTrustEvmMobileConnector = () => createWcEvmConnector(TRUST_CONFIG);
898
906
  var createTrustSolanaMobileConnector = () => createWcSolanaConnector(TRUST_CONFIG);
899
907
  var createTrustSolanaDappBrowserConnector = () => createDappBrowserSolanaConnector({
900
908
  walletId: "trust",
901
- browseUrl: TRUST_BROWSE_URL,
909
+ buildUrl: buildTrustBrowseUrl,
902
910
  injectedKey: "isTrust"
903
911
  });
904
912
 
@@ -916,14 +924,8 @@ var EXODUS_CONFIG = {
916
924
  wcDeeplink: "https://exodus.com/wc",
917
925
  injectedKey: "isExodus"
918
926
  };
919
- var EXODUS_BROWSE_URL = "https://exodus.com/m/browser";
920
927
  var createExodusEvmMobileConnector = () => createWcEvmConnector(EXODUS_CONFIG);
921
928
  var createExodusSolanaMobileConnector = () => createWcSolanaConnector(EXODUS_CONFIG);
922
- var createExodusSolanaDappBrowserConnector = () => createDappBrowserSolanaConnector({
923
- walletId: "exodus",
924
- browseUrl: EXODUS_BROWSE_URL,
925
- injectedKey: "isExodus"
926
- });
927
929
 
928
930
  // src/lib/connectors/binance.ts
929
931
  var BINANCE_CONFIG = {
@@ -961,12 +963,17 @@ var createCoinbaseSolanaDappBrowserConnector = () => createDappBrowserSolanaConn
961
963
  });
962
964
 
963
965
  // src/lib/connectors/bitget.ts
964
- var BITGET_BROWSE_URL = "https://bkcode.vip/dapp";
966
+ var BITGET_CONFIG = {
967
+ walletId: "bitget",
968
+ wcDeeplink: "bitkeep://bkconnect",
969
+ injectedKey: "isBitKeep"
970
+ };
971
+ var buildBitgetBrowseUrl = () => `https://bkcode.vip?action=dapp&url=${encodeURIComponent(window.location.href)}`;
972
+ var createBitgetSolanaConnector = () => createWcSolanaConnector(BITGET_CONFIG);
965
973
  var createBitgetSolanaDappBrowserConnector = () => createDappBrowserSolanaConnector({
966
974
  walletId: "bitget",
967
- browseUrl: BITGET_BROWSE_URL,
968
975
  injectedKey: "isBitKeep",
969
- stripProtocol: true
976
+ buildUrl: buildBitgetBrowseUrl
970
977
  });
971
978
 
972
979
  // src/lib/connectors/walletconnect.ts
@@ -1056,6 +1063,9 @@ var EVM_FALLBACK_CONNECTORS = [
1056
1063
  { id: "rainbow", create: createRainbowEvmMobileConnector },
1057
1064
  { id: "exodus", create: createExodusEvmMobileConnector }
1058
1065
  ];
1066
+ var cleanupWalletLocalStorage = () => {
1067
+ Object.keys(window.localStorage).filter((key) => key.startsWith("wagmi.")).forEach((key) => window.localStorage.removeItem(key));
1068
+ };
1059
1069
  var getEvmConnectors = () => {
1060
1070
  const wagmiConnectors = getConnectors(getEvmConfig());
1061
1071
  const connectors = wagmiConnectors.map((c) => ({
@@ -1067,11 +1077,14 @@ var getEvmConnectors = () => {
1067
1077
  wallet: {
1068
1078
  _connector: c,
1069
1079
  connect: async () => {
1080
+ const connections = getConnections(getEvmConfig());
1081
+ if (connections.length > 0) await disconnect(getEvmConfig());
1070
1082
  const result = await connect(getEvmConfig(), { connector: c });
1071
1083
  if (!result.accounts[0]) throw new Error("No accounts returned");
1072
1084
  return connectedResult(result.accounts[0], { chainId: result.chainId });
1073
1085
  },
1074
1086
  disconnect: async () => {
1087
+ cleanupWalletLocalStorage();
1075
1088
  await disconnect(getEvmConfig());
1076
1089
  },
1077
1090
  signMessage: async (message) => {
@@ -1211,11 +1224,10 @@ var SOLANA_FALLBACK_CONNECTORS = isMobile() ? [
1211
1224
  },
1212
1225
  {
1213
1226
  id: "exodus",
1214
- create: () => createSolanaMobileConnector(createExodusSolanaDappBrowserConnector())
1227
+ create: () => createSolanaMobileConnector(createExodusSolanaMobileConnector())
1215
1228
  }
1216
1229
  ] : [
1217
1230
  { id: "phantom", create: () => createSolanaMobileConnector(createPhantomSolanaConnector()) },
1218
- // { id: 'metamask', create: () => createSolanaMobileConnector(createMetaMaskSolanaConnector()) },
1219
1231
  {
1220
1232
  id: "solflare",
1221
1233
  create: () => createSolanaMobileConnector(createSolflareSolanaMobileConnector())
@@ -1225,6 +1237,7 @@ var SOLANA_FALLBACK_CONNECTORS = isMobile() ? [
1225
1237
  create: () => createSolanaMobileConnector(createTrustSolanaMobileConnector())
1226
1238
  },
1227
1239
  { id: "binance", create: () => createSolanaMobileConnector(createBinanceSolanaConnector()) },
1240
+ { id: "bitget", create: createBitgetSolanaConnector },
1228
1241
  {
1229
1242
  id: "exodus",
1230
1243
  create: () => createSolanaMobileConnector(createExodusSolanaMobileConnector())
@@ -1233,7 +1246,11 @@ var SOLANA_FALLBACK_CONNECTORS = isMobile() ? [
1233
1246
  var getSolanaWallets = () => {
1234
1247
  const { get } = getWallets();
1235
1248
  const wallets = get();
1236
- const connectors = wallets.filter(isWalletAdapterCompatibleStandardWallet).filter((w) => w.constructor.name !== "SolflareMetaMaskWallet").map(createSolanaConnector);
1249
+ const connectors = wallets.filter(isWalletAdapterCompatibleStandardWallet).filter((w) => {
1250
+ return w.constructor.name !== "SolflareMetaMaskWallet";
1251
+ }).map(createSolanaConnector);
1252
+ console.log({ wallets });
1253
+ console.log({ connectors });
1237
1254
  addFallbackConnectors(connectors, SOLANA_FALLBACK_CONNECTORS);
1238
1255
  return connectors;
1239
1256
  };
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { injected, metaMask, coinbaseWallet } from '@wagmi/connectors';
2
- import { createConfig, getConnectors, signMessage, disconnect, connect, watchConnections } from '@wagmi/core';
2
+ import { createConfig, getConnectors, signMessage, disconnect, getConnections, connect, watchConnections } from '@wagmi/core';
3
3
  import { http } from 'viem';
4
4
  import { mainnet } from 'viem/chains';
5
5
  import bs582 from 'bs58';
@@ -174,7 +174,7 @@ var EVM_WALLET_ID_MAP = {
174
174
  coinbaseWalletSDK: "coinbase",
175
175
  "io.rabby": "rabby",
176
176
  "me.rainbow": "rainbow",
177
- "com.exodus.wallet": "exodus",
177
+ "com.exodus.web3-wallet": "exodus",
178
178
  walletConnect: "walletconnect"
179
179
  };
180
180
  var SOLANA_WALLET_ID_MAP = {
@@ -805,10 +805,12 @@ var createMetaMaskSolanaDappBrowserConnector = () => createDappBrowserSolanaConn
805
805
  // src/lib/connectors/solflare.ts
806
806
  var SOLFLARE_CONNECT_URL = "https://solflare.com/ul/v1/connect";
807
807
  var SOLFLARE_SIGN_MESSAGE_URL = "https://solflare.com/ul/v1/signMessage";
808
- var SOLFLARE_BROWSE_URL = "https://solflare.com/ul/v1/browse";
808
+ var buildSolflareBrowseUrl = () => `https://solflare.com/ul/v1/browse/${encodeURIComponent(
809
+ window.location.href
810
+ )}?ref=${encodeURIComponent(window.location.origin)}`;
809
811
  var createSolflareSolanaDappBrowserConnector = () => createDappBrowserSolanaConnector({
810
812
  walletId: "solflare",
811
- browseUrl: SOLFLARE_BROWSE_URL,
813
+ buildUrl: buildSolflareBrowseUrl,
812
814
  injectedKey: "isSolflare"
813
815
  });
814
816
  var SOLFLARE_CONFIG = {
@@ -880,12 +882,12 @@ var TRUST_CONFIG = {
880
882
  wcDeeplink: "https://link.trustwallet.com/wc",
881
883
  injectedKey: "isTrust"
882
884
  };
883
- var TRUST_BROWSE_URL = "https://link.trustwallet.com/open_url";
885
+ var buildTrustBrowseUrl = () => `https://link.trustwallet.com/open_url?url=${encodeURIComponent(window.location.href)}`;
884
886
  var createTrustEvmMobileConnector = () => createWcEvmConnector(TRUST_CONFIG);
885
887
  var createTrustSolanaMobileConnector = () => createWcSolanaConnector(TRUST_CONFIG);
886
888
  var createTrustSolanaDappBrowserConnector = () => createDappBrowserSolanaConnector({
887
889
  walletId: "trust",
888
- browseUrl: TRUST_BROWSE_URL,
890
+ buildUrl: buildTrustBrowseUrl,
889
891
  injectedKey: "isTrust"
890
892
  });
891
893
 
@@ -903,14 +905,8 @@ var EXODUS_CONFIG = {
903
905
  wcDeeplink: "https://exodus.com/wc",
904
906
  injectedKey: "isExodus"
905
907
  };
906
- var EXODUS_BROWSE_URL = "https://exodus.com/m/browser";
907
908
  var createExodusEvmMobileConnector = () => createWcEvmConnector(EXODUS_CONFIG);
908
909
  var createExodusSolanaMobileConnector = () => createWcSolanaConnector(EXODUS_CONFIG);
909
- var createExodusSolanaDappBrowserConnector = () => createDappBrowserSolanaConnector({
910
- walletId: "exodus",
911
- browseUrl: EXODUS_BROWSE_URL,
912
- injectedKey: "isExodus"
913
- });
914
910
 
915
911
  // src/lib/connectors/binance.ts
916
912
  var BINANCE_CONFIG = {
@@ -948,12 +944,17 @@ var createCoinbaseSolanaDappBrowserConnector = () => createDappBrowserSolanaConn
948
944
  });
949
945
 
950
946
  // src/lib/connectors/bitget.ts
951
- var BITGET_BROWSE_URL = "https://bkcode.vip/dapp";
947
+ var BITGET_CONFIG = {
948
+ walletId: "bitget",
949
+ wcDeeplink: "bitkeep://bkconnect",
950
+ injectedKey: "isBitKeep"
951
+ };
952
+ var buildBitgetBrowseUrl = () => `https://bkcode.vip?action=dapp&url=${encodeURIComponent(window.location.href)}`;
953
+ var createBitgetSolanaConnector = () => createWcSolanaConnector(BITGET_CONFIG);
952
954
  var createBitgetSolanaDappBrowserConnector = () => createDappBrowserSolanaConnector({
953
955
  walletId: "bitget",
954
- browseUrl: BITGET_BROWSE_URL,
955
956
  injectedKey: "isBitKeep",
956
- stripProtocol: true
957
+ buildUrl: buildBitgetBrowseUrl
957
958
  });
958
959
  var walletConfig = WALLETS.find((w) => w.id === "walletconnect");
959
960
  var disconnectWc2 = async () => {
@@ -1040,6 +1041,9 @@ var EVM_FALLBACK_CONNECTORS = [
1040
1041
  { id: "rainbow", create: createRainbowEvmMobileConnector },
1041
1042
  { id: "exodus", create: createExodusEvmMobileConnector }
1042
1043
  ];
1044
+ var cleanupWalletLocalStorage = () => {
1045
+ Object.keys(window.localStorage).filter((key) => key.startsWith("wagmi.")).forEach((key) => window.localStorage.removeItem(key));
1046
+ };
1043
1047
  var getEvmConnectors = () => {
1044
1048
  const wagmiConnectors = getConnectors(getEvmConfig());
1045
1049
  const connectors = wagmiConnectors.map((c) => ({
@@ -1051,11 +1055,14 @@ var getEvmConnectors = () => {
1051
1055
  wallet: {
1052
1056
  _connector: c,
1053
1057
  connect: async () => {
1058
+ const connections = getConnections(getEvmConfig());
1059
+ if (connections.length > 0) await disconnect(getEvmConfig());
1054
1060
  const result = await connect(getEvmConfig(), { connector: c });
1055
1061
  if (!result.accounts[0]) throw new Error("No accounts returned");
1056
1062
  return connectedResult(result.accounts[0], { chainId: result.chainId });
1057
1063
  },
1058
1064
  disconnect: async () => {
1065
+ cleanupWalletLocalStorage();
1059
1066
  await disconnect(getEvmConfig());
1060
1067
  },
1061
1068
  signMessage: async (message) => {
@@ -1185,11 +1192,10 @@ var SOLANA_FALLBACK_CONNECTORS = isMobile() ? [
1185
1192
  },
1186
1193
  {
1187
1194
  id: "exodus",
1188
- create: () => createSolanaMobileConnector(createExodusSolanaDappBrowserConnector())
1195
+ create: () => createSolanaMobileConnector(createExodusSolanaMobileConnector())
1189
1196
  }
1190
1197
  ] : [
1191
1198
  { id: "phantom", create: () => createSolanaMobileConnector(createPhantomSolanaConnector()) },
1192
- // { id: 'metamask', create: () => createSolanaMobileConnector(createMetaMaskSolanaConnector()) },
1193
1199
  {
1194
1200
  id: "solflare",
1195
1201
  create: () => createSolanaMobileConnector(createSolflareSolanaMobileConnector())
@@ -1199,6 +1205,7 @@ var SOLANA_FALLBACK_CONNECTORS = isMobile() ? [
1199
1205
  create: () => createSolanaMobileConnector(createTrustSolanaMobileConnector())
1200
1206
  },
1201
1207
  { id: "binance", create: () => createSolanaMobileConnector(createBinanceSolanaConnector()) },
1208
+ { id: "bitget", create: createBitgetSolanaConnector },
1202
1209
  {
1203
1210
  id: "exodus",
1204
1211
  create: () => createSolanaMobileConnector(createExodusSolanaMobileConnector())
@@ -1207,7 +1214,9 @@ var SOLANA_FALLBACK_CONNECTORS = isMobile() ? [
1207
1214
  var getSolanaWallets = () => {
1208
1215
  const { get } = getWallets();
1209
1216
  const wallets = get();
1210
- const connectors = wallets.filter(isWalletAdapterCompatibleStandardWallet).filter((w) => w.constructor.name !== "SolflareMetaMaskWallet").map(createSolanaConnector);
1217
+ const connectors = wallets.filter(isWalletAdapterCompatibleStandardWallet).filter((w) => {
1218
+ return w.constructor.name !== "SolflareMetaMaskWallet";
1219
+ }).map(createSolanaConnector);
1211
1220
  addFallbackConnectors(connectors, SOLANA_FALLBACK_CONNECTORS);
1212
1221
  return connectors;
1213
1222
  };
package/dist/index.jsx CHANGED
@@ -25,7 +25,13 @@ var getEvmConfig = () => {
25
25
  };
26
26
 
27
27
  // src/lib/evm/connectors.ts
28
- import { connect, disconnect, getConnectors, signMessage as wagmiSignMessage } from "@wagmi/core";
28
+ import {
29
+ connect,
30
+ disconnect,
31
+ getConnections,
32
+ getConnectors,
33
+ signMessage as wagmiSignMessage
34
+ } from "@wagmi/core";
29
35
 
30
36
  // src/lib/core/constants.ts
31
37
  var STORAGE_KEYS = {
@@ -169,7 +175,7 @@ var EVM_WALLET_ID_MAP = {
169
175
  coinbaseWalletSDK: "coinbase",
170
176
  "io.rabby": "rabby",
171
177
  "me.rainbow": "rainbow",
172
- "com.exodus.wallet": "exodus",
178
+ "com.exodus.web3-wallet": "exodus",
173
179
  walletConnect: "walletconnect"
174
180
  };
175
181
  var SOLANA_WALLET_ID_MAP = {
@@ -813,10 +819,12 @@ var createMetaMaskSolanaDappBrowserConnector = () => createDappBrowserSolanaConn
813
819
  // src/lib/connectors/solflare.ts
814
820
  var SOLFLARE_CONNECT_URL = "https://solflare.com/ul/v1/connect";
815
821
  var SOLFLARE_SIGN_MESSAGE_URL = "https://solflare.com/ul/v1/signMessage";
816
- var SOLFLARE_BROWSE_URL = "https://solflare.com/ul/v1/browse";
822
+ var buildSolflareBrowseUrl = () => `https://solflare.com/ul/v1/browse/${encodeURIComponent(
823
+ window.location.href
824
+ )}?ref=${encodeURIComponent(window.location.origin)}`;
817
825
  var createSolflareSolanaDappBrowserConnector = () => createDappBrowserSolanaConnector({
818
826
  walletId: "solflare",
819
- browseUrl: SOLFLARE_BROWSE_URL,
827
+ buildUrl: buildSolflareBrowseUrl,
820
828
  injectedKey: "isSolflare"
821
829
  });
822
830
  var SOLFLARE_CONFIG = {
@@ -888,12 +896,12 @@ var TRUST_CONFIG = {
888
896
  wcDeeplink: "https://link.trustwallet.com/wc",
889
897
  injectedKey: "isTrust"
890
898
  };
891
- var TRUST_BROWSE_URL = "https://link.trustwallet.com/open_url";
899
+ var buildTrustBrowseUrl = () => `https://link.trustwallet.com/open_url?url=${encodeURIComponent(window.location.href)}`;
892
900
  var createTrustEvmMobileConnector = () => createWcEvmConnector(TRUST_CONFIG);
893
901
  var createTrustSolanaMobileConnector = () => createWcSolanaConnector(TRUST_CONFIG);
894
902
  var createTrustSolanaDappBrowserConnector = () => createDappBrowserSolanaConnector({
895
903
  walletId: "trust",
896
- browseUrl: TRUST_BROWSE_URL,
904
+ buildUrl: buildTrustBrowseUrl,
897
905
  injectedKey: "isTrust"
898
906
  });
899
907
 
@@ -911,14 +919,8 @@ var EXODUS_CONFIG = {
911
919
  wcDeeplink: "https://exodus.com/wc",
912
920
  injectedKey: "isExodus"
913
921
  };
914
- var EXODUS_BROWSE_URL = "https://exodus.com/m/browser";
915
922
  var createExodusEvmMobileConnector = () => createWcEvmConnector(EXODUS_CONFIG);
916
923
  var createExodusSolanaMobileConnector = () => createWcSolanaConnector(EXODUS_CONFIG);
917
- var createExodusSolanaDappBrowserConnector = () => createDappBrowserSolanaConnector({
918
- walletId: "exodus",
919
- browseUrl: EXODUS_BROWSE_URL,
920
- injectedKey: "isExodus"
921
- });
922
924
 
923
925
  // src/lib/connectors/binance.ts
924
926
  var BINANCE_CONFIG = {
@@ -956,12 +958,17 @@ var createCoinbaseSolanaDappBrowserConnector = () => createDappBrowserSolanaConn
956
958
  });
957
959
 
958
960
  // src/lib/connectors/bitget.ts
959
- var BITGET_BROWSE_URL = "https://bkcode.vip/dapp";
961
+ var BITGET_CONFIG = {
962
+ walletId: "bitget",
963
+ wcDeeplink: "bitkeep://bkconnect",
964
+ injectedKey: "isBitKeep"
965
+ };
966
+ var buildBitgetBrowseUrl = () => `https://bkcode.vip?action=dapp&url=${encodeURIComponent(window.location.href)}`;
967
+ var createBitgetSolanaConnector = () => createWcSolanaConnector(BITGET_CONFIG);
960
968
  var createBitgetSolanaDappBrowserConnector = () => createDappBrowserSolanaConnector({
961
969
  walletId: "bitget",
962
- browseUrl: BITGET_BROWSE_URL,
963
970
  injectedKey: "isBitKeep",
964
- stripProtocol: true
971
+ buildUrl: buildBitgetBrowseUrl
965
972
  });
966
973
 
967
974
  // src/lib/connectors/walletconnect.ts
@@ -1051,6 +1058,9 @@ var EVM_FALLBACK_CONNECTORS = [
1051
1058
  { id: "rainbow", create: createRainbowEvmMobileConnector },
1052
1059
  { id: "exodus", create: createExodusEvmMobileConnector }
1053
1060
  ];
1061
+ var cleanupWalletLocalStorage = () => {
1062
+ Object.keys(window.localStorage).filter((key) => key.startsWith("wagmi.")).forEach((key) => window.localStorage.removeItem(key));
1063
+ };
1054
1064
  var getEvmConnectors = () => {
1055
1065
  const wagmiConnectors = getConnectors(getEvmConfig());
1056
1066
  const connectors = wagmiConnectors.map((c) => ({
@@ -1062,11 +1072,14 @@ var getEvmConnectors = () => {
1062
1072
  wallet: {
1063
1073
  _connector: c,
1064
1074
  connect: async () => {
1075
+ const connections = getConnections(getEvmConfig());
1076
+ if (connections.length > 0) await disconnect(getEvmConfig());
1065
1077
  const result = await connect(getEvmConfig(), { connector: c });
1066
1078
  if (!result.accounts[0]) throw new Error("No accounts returned");
1067
1079
  return connectedResult(result.accounts[0], { chainId: result.chainId });
1068
1080
  },
1069
1081
  disconnect: async () => {
1082
+ cleanupWalletLocalStorage();
1070
1083
  await disconnect(getEvmConfig());
1071
1084
  },
1072
1085
  signMessage: async (message) => {
@@ -1206,11 +1219,10 @@ var SOLANA_FALLBACK_CONNECTORS = isMobile() ? [
1206
1219
  },
1207
1220
  {
1208
1221
  id: "exodus",
1209
- create: () => createSolanaMobileConnector(createExodusSolanaDappBrowserConnector())
1222
+ create: () => createSolanaMobileConnector(createExodusSolanaMobileConnector())
1210
1223
  }
1211
1224
  ] : [
1212
1225
  { id: "phantom", create: () => createSolanaMobileConnector(createPhantomSolanaConnector()) },
1213
- // { id: 'metamask', create: () => createSolanaMobileConnector(createMetaMaskSolanaConnector()) },
1214
1226
  {
1215
1227
  id: "solflare",
1216
1228
  create: () => createSolanaMobileConnector(createSolflareSolanaMobileConnector())
@@ -1220,6 +1232,7 @@ var SOLANA_FALLBACK_CONNECTORS = isMobile() ? [
1220
1232
  create: () => createSolanaMobileConnector(createTrustSolanaMobileConnector())
1221
1233
  },
1222
1234
  { id: "binance", create: () => createSolanaMobileConnector(createBinanceSolanaConnector()) },
1235
+ { id: "bitget", create: createBitgetSolanaConnector },
1223
1236
  {
1224
1237
  id: "exodus",
1225
1238
  create: () => createSolanaMobileConnector(createExodusSolanaMobileConnector())
@@ -1228,7 +1241,9 @@ var SOLANA_FALLBACK_CONNECTORS = isMobile() ? [
1228
1241
  var getSolanaWallets = () => {
1229
1242
  const { get } = getWallets();
1230
1243
  const wallets = get();
1231
- const connectors = wallets.filter(isWalletAdapterCompatibleStandardWallet).filter((w) => w.constructor.name !== "SolflareMetaMaskWallet").map(createSolanaConnector);
1244
+ const connectors = wallets.filter(isWalletAdapterCompatibleStandardWallet).filter((w) => {
1245
+ return w.constructor.name !== "SolflareMetaMaskWallet";
1246
+ }).map(createSolanaConnector);
1232
1247
  addFallbackConnectors(connectors, SOLANA_FALLBACK_CONNECTORS);
1233
1248
  return connectors;
1234
1249
  };
@@ -1,2 +1,3 @@
1
1
  import type { SolanaWalletConnector } from '../solana';
2
+ export declare const createBitgetSolanaConnector: () => SolanaWalletConnector;
2
3
  export declare const createBitgetSolanaDappBrowserConnector: () => SolanaWalletConnector;
@@ -7,5 +7,5 @@ export { createExodusEvmMobileConnector, createExodusSolanaMobileConnector, crea
7
7
  export { createBinanceEvmConnector, createBinanceSolanaConnector, createBinanceSolanaDappBrowserConnector, } from './binance';
8
8
  export { createOkxSolanaDappBrowserConnector } from './okx';
9
9
  export { createCoinbaseSolanaDappBrowserConnector } from './coinbase';
10
- export { createBitgetSolanaDappBrowserConnector } from './bitget';
10
+ export { createBitgetSolanaDappBrowserConnector, createBitgetSolanaConnector } from './bitget';
11
11
  export { createWalletConnectEvmConnector, createWalletConnectSolanaConnector, } from './walletconnect';
@@ -1,2 +1,3 @@
1
1
  import type { EvmWalletConnector } from './types';
2
+ export declare const cleanupWalletLocalStorage: () => void;
2
3
  export declare const getEvmConnectors: () => EvmWalletConnector[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bit-buccaneers/wallet-abstraction",
3
- "version": "0.0.8",
3
+ "version": "0.0.10",
4
4
  "description": "Solid.js web3 wallet abstraction for EVM and Solana",
5
5
  "license": "MIT",
6
6
  "author": "Bit Buccaneers",