@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 +29 -18
- package/dist/dev.jsx +35 -18
- package/dist/index.js +27 -18
- package/dist/index.jsx +33 -18
- package/dist/lib/connectors/bitget.d.ts +1 -0
- package/dist/lib/connectors/index.d.ts +1 -1
- package/dist/lib/evm/connectors.d.ts +1 -0
- package/package.json +1 -1
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
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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(
|
|
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) =>
|
|
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 {
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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(
|
|
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) =>
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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(
|
|
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) =>
|
|
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 {
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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(
|
|
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) =>
|
|
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
|
};
|
|
@@ -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';
|