@bit-buccaneers/wallet-abstraction 0.0.14 → 0.0.16
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 +27 -32
- package/dist/dev.jsx +27 -32
- package/dist/index.js +27 -32
- package/dist/index.jsx +27 -32
- package/dist/lib/connectors/index.d.ts +2 -2
- package/dist/lib/connectors/okx.d.ts +3 -0
- package/dist/lib/connectors/rabby.d.ts +2 -0
- package/dist/lib/wallets/config.d.ts +1 -1
- package/package.json +1 -1
- package/dist/lib/connectors/exodus.d.ts +0 -5
package/dist/dev.js
CHANGED
|
@@ -150,12 +150,6 @@ var WALLETS = [
|
|
|
150
150
|
icon: "https://iconic.dynamic-static-assets.com/icons/sprite.svg#rainbow",
|
|
151
151
|
chromeExtensionUrl: "https://chromewebstore.google.com/detail/rainbow/opfgelmcmbiajamepnmloijbpoleiama"
|
|
152
152
|
},
|
|
153
|
-
{
|
|
154
|
-
id: "exodus",
|
|
155
|
-
name: "Exodus",
|
|
156
|
-
icon: "https://iconic.dynamic-static-assets.com/icons/sprite.svg#exodus",
|
|
157
|
-
chromeExtensionUrl: "https://chromewebstore.google.com/detail/aholpfdialjgjfhomihkjbmgjidlcdno"
|
|
158
|
-
},
|
|
159
153
|
{
|
|
160
154
|
id: "walletconnect",
|
|
161
155
|
name: "WalletConnect",
|
|
@@ -174,14 +168,12 @@ var EVM_WALLET_ID_MAP = {
|
|
|
174
168
|
coinbaseWalletSDK: "coinbase",
|
|
175
169
|
"io.rabby": "rabby",
|
|
176
170
|
"me.rainbow": "rainbow",
|
|
177
|
-
"com.exodus.web3-wallet": "exodus",
|
|
178
171
|
walletConnect: "walletconnect"
|
|
179
172
|
};
|
|
180
173
|
var SOLANA_WALLET_ID_MAP = {
|
|
181
174
|
"binance-wallet": "binance",
|
|
182
175
|
"bitget-wallet": "bitget",
|
|
183
|
-
"okx-wallet": "okx"
|
|
184
|
-
"exodus-wallet": "exodus"
|
|
176
|
+
"okx-wallet": "okx"
|
|
185
177
|
};
|
|
186
178
|
var normalizeEvmWalletId = (id) => EVM_WALLET_ID_MAP[id] || id.toLowerCase().replace(/sdk$/i, "");
|
|
187
179
|
var normalizeSolanaWalletId = (id) => SOLANA_WALLET_ID_MAP[id] || id.replace(/-wallet$/, "");
|
|
@@ -874,14 +866,8 @@ var RAINBOW_CONFIG = {
|
|
|
874
866
|
};
|
|
875
867
|
var createRainbowEvmMobileConnector = () => createWcEvmConnector(RAINBOW_CONFIG);
|
|
876
868
|
|
|
877
|
-
// src/lib/connectors/
|
|
878
|
-
var
|
|
879
|
-
walletId: "exodus",
|
|
880
|
-
wcDeeplink: "https://exodus.com/wc",
|
|
881
|
-
injectedKey: "isExodus"
|
|
882
|
-
};
|
|
883
|
-
var createExodusEvmMobileConnector = () => createWcEvmConnector(EXODUS_CONFIG);
|
|
884
|
-
var createExodusSolanaMobileConnector = () => createWcSolanaConnector(EXODUS_CONFIG);
|
|
869
|
+
// src/lib/connectors/rabby.ts
|
|
870
|
+
var createRabbyEvmConnector = () => createDownloadOnlyEvmConnector({ walletId: "rabby" });
|
|
885
871
|
|
|
886
872
|
// src/lib/connectors/binance.ts
|
|
887
873
|
var BINANCE_CONFIG = {
|
|
@@ -899,7 +885,14 @@ var createBinanceSolanaDappBrowserConnector = () => createDappBrowserSolanaConne
|
|
|
899
885
|
});
|
|
900
886
|
|
|
901
887
|
// src/lib/connectors/okx.ts
|
|
888
|
+
var OKX_CONFIG = {
|
|
889
|
+
walletId: "okx",
|
|
890
|
+
wcDeeplink: "okx://wallet/wc",
|
|
891
|
+
injectedKey: "isOkxWallet"
|
|
892
|
+
};
|
|
902
893
|
var buildOkxBrowseUrl = () => `okx://wallet/dapp/url?dappUrl=${encodeURIComponent(window.location.href)}`;
|
|
894
|
+
var createOkxEvmConnector = () => createWcEvmConnector(OKX_CONFIG);
|
|
895
|
+
var createOkxSolanaConnector = () => createWcSolanaConnector(OKX_CONFIG);
|
|
903
896
|
var createOkxSolanaDappBrowserConnector = () => createDappBrowserSolanaConnector({
|
|
904
897
|
walletId: "okx",
|
|
905
898
|
injectedKey: "isOkxWallet",
|
|
@@ -934,7 +927,6 @@ var disconnectWc2 = async () => {
|
|
|
934
927
|
}
|
|
935
928
|
};
|
|
936
929
|
var createWalletConnectEvmConnector = () => {
|
|
937
|
-
if (isMobile()) return null;
|
|
938
930
|
return {
|
|
939
931
|
id: walletConfig.id,
|
|
940
932
|
name: walletConfig.name,
|
|
@@ -968,7 +960,6 @@ var createWalletConnectEvmConnector = () => {
|
|
|
968
960
|
};
|
|
969
961
|
};
|
|
970
962
|
var createWalletConnectSolanaConnector = () => {
|
|
971
|
-
if (isMobile()) return null;
|
|
972
963
|
return {
|
|
973
964
|
id: walletConfig.id,
|
|
974
965
|
name: walletConfig.name,
|
|
@@ -1009,13 +1000,26 @@ var EVM_FALLBACK_CONNECTORS = [
|
|
|
1009
1000
|
id: "phantom",
|
|
1010
1001
|
create: isMobile() ? createPhantomEvmConnectorDeeplink : createPhantomEvmConnector
|
|
1011
1002
|
},
|
|
1012
|
-
{ id: "metamask", create: createMetaMaskEvmConnector },
|
|
1003
|
+
...isMobile() ? [] : [{ id: "metamask", create: createMetaMaskEvmConnector }],
|
|
1013
1004
|
{ id: "trust", create: createTrustEvmMobileConnector },
|
|
1014
1005
|
{ id: "binance", create: createBinanceEvmConnector },
|
|
1006
|
+
{ id: "okx", create: createOkxEvmConnector },
|
|
1015
1007
|
{ id: "rainbow", create: createRainbowEvmMobileConnector },
|
|
1016
|
-
{ id: "
|
|
1008
|
+
...isMobile() ? [] : [{ id: "rabby", create: createRabbyEvmConnector }]
|
|
1017
1009
|
];
|
|
1018
1010
|
var sleep = (ms) => new Promise((r) => window.setTimeout(r, ms));
|
|
1011
|
+
var checkEvmWalletInstalled = (connectorId) => {
|
|
1012
|
+
if (typeof window === "undefined" || !window.ethereum) return false;
|
|
1013
|
+
const providers = window.ethereum.providers ?? [window.ethereum];
|
|
1014
|
+
switch (connectorId) {
|
|
1015
|
+
case "metaMaskSDK":
|
|
1016
|
+
return providers.some((p) => p.isMetaMask && !p.isBraveWallet);
|
|
1017
|
+
case "coinbaseWalletSDK":
|
|
1018
|
+
return providers.some((p) => p.isCoinbaseWallet);
|
|
1019
|
+
default:
|
|
1020
|
+
return true;
|
|
1021
|
+
}
|
|
1022
|
+
};
|
|
1019
1023
|
var cleanupWalletLocalStorage = () => {
|
|
1020
1024
|
Object.keys(window.localStorage).filter((key) => key.startsWith("wagmi.")).forEach((key) => window.localStorage.removeItem(key));
|
|
1021
1025
|
};
|
|
@@ -1026,7 +1030,7 @@ var getEvmConnectors = () => {
|
|
|
1026
1030
|
name: c.name,
|
|
1027
1031
|
icon: c.icon,
|
|
1028
1032
|
type: "evm",
|
|
1029
|
-
installed:
|
|
1033
|
+
installed: checkEvmWalletInstalled(c.id),
|
|
1030
1034
|
wallet: {
|
|
1031
1035
|
_connector: c,
|
|
1032
1036
|
connect: async () => {
|
|
@@ -1228,10 +1232,6 @@ var SOLANA_FALLBACK_CONNECTORS = isMobile() ? [
|
|
|
1228
1232
|
{
|
|
1229
1233
|
id: "binance",
|
|
1230
1234
|
create: () => createSolanaMobileConnector(createBinanceSolanaDappBrowserConnector())
|
|
1231
|
-
},
|
|
1232
|
-
{
|
|
1233
|
-
id: "exodus",
|
|
1234
|
-
create: () => createSolanaMobileConnector(createExodusSolanaMobileConnector())
|
|
1235
1235
|
}
|
|
1236
1236
|
] : [
|
|
1237
1237
|
{ id: "phantom", create: () => createSolanaMobileConnector(createPhantomSolanaConnector()) },
|
|
@@ -1245,10 +1245,7 @@ var SOLANA_FALLBACK_CONNECTORS = isMobile() ? [
|
|
|
1245
1245
|
},
|
|
1246
1246
|
{ id: "binance", create: () => createSolanaMobileConnector(createBinanceSolanaConnector()) },
|
|
1247
1247
|
{ id: "bitget", create: createBitgetSolanaConnector },
|
|
1248
|
-
{
|
|
1249
|
-
id: "exodus",
|
|
1250
|
-
create: () => createSolanaMobileConnector(createExodusSolanaMobileConnector())
|
|
1251
|
-
}
|
|
1248
|
+
{ id: "okx", create: createOkxSolanaConnector }
|
|
1252
1249
|
];
|
|
1253
1250
|
var getSolanaWallets = () => {
|
|
1254
1251
|
const { get } = getWallets();
|
|
@@ -1261,8 +1258,6 @@ var getSolanaWallets = () => {
|
|
|
1261
1258
|
seenNames.add(w.name);
|
|
1262
1259
|
return true;
|
|
1263
1260
|
}).map(createSolanaConnector);
|
|
1264
|
-
console.log("wallets", { wallets });
|
|
1265
|
-
console.log("connectors", { connectors });
|
|
1266
1261
|
addFallbackConnectors(connectors, SOLANA_FALLBACK_CONNECTORS);
|
|
1267
1262
|
return connectors;
|
|
1268
1263
|
};
|
package/dist/dev.jsx
CHANGED
|
@@ -145,12 +145,6 @@ var WALLETS = [
|
|
|
145
145
|
icon: "https://iconic.dynamic-static-assets.com/icons/sprite.svg#rainbow",
|
|
146
146
|
chromeExtensionUrl: "https://chromewebstore.google.com/detail/rainbow/opfgelmcmbiajamepnmloijbpoleiama"
|
|
147
147
|
},
|
|
148
|
-
{
|
|
149
|
-
id: "exodus",
|
|
150
|
-
name: "Exodus",
|
|
151
|
-
icon: "https://iconic.dynamic-static-assets.com/icons/sprite.svg#exodus",
|
|
152
|
-
chromeExtensionUrl: "https://chromewebstore.google.com/detail/aholpfdialjgjfhomihkjbmgjidlcdno"
|
|
153
|
-
},
|
|
154
148
|
{
|
|
155
149
|
id: "walletconnect",
|
|
156
150
|
name: "WalletConnect",
|
|
@@ -169,14 +163,12 @@ var EVM_WALLET_ID_MAP = {
|
|
|
169
163
|
coinbaseWalletSDK: "coinbase",
|
|
170
164
|
"io.rabby": "rabby",
|
|
171
165
|
"me.rainbow": "rainbow",
|
|
172
|
-
"com.exodus.web3-wallet": "exodus",
|
|
173
166
|
walletConnect: "walletconnect"
|
|
174
167
|
};
|
|
175
168
|
var SOLANA_WALLET_ID_MAP = {
|
|
176
169
|
"binance-wallet": "binance",
|
|
177
170
|
"bitget-wallet": "bitget",
|
|
178
|
-
"okx-wallet": "okx"
|
|
179
|
-
"exodus-wallet": "exodus"
|
|
171
|
+
"okx-wallet": "okx"
|
|
180
172
|
};
|
|
181
173
|
var normalizeEvmWalletId = (id) => EVM_WALLET_ID_MAP[id] || id.toLowerCase().replace(/sdk$/i, "");
|
|
182
174
|
var normalizeSolanaWalletId = (id) => SOLANA_WALLET_ID_MAP[id] || id.replace(/-wallet$/, "");
|
|
@@ -882,14 +874,8 @@ var RAINBOW_CONFIG = {
|
|
|
882
874
|
};
|
|
883
875
|
var createRainbowEvmMobileConnector = () => createWcEvmConnector(RAINBOW_CONFIG);
|
|
884
876
|
|
|
885
|
-
// src/lib/connectors/
|
|
886
|
-
var
|
|
887
|
-
walletId: "exodus",
|
|
888
|
-
wcDeeplink: "https://exodus.com/wc",
|
|
889
|
-
injectedKey: "isExodus"
|
|
890
|
-
};
|
|
891
|
-
var createExodusEvmMobileConnector = () => createWcEvmConnector(EXODUS_CONFIG);
|
|
892
|
-
var createExodusSolanaMobileConnector = () => createWcSolanaConnector(EXODUS_CONFIG);
|
|
877
|
+
// src/lib/connectors/rabby.ts
|
|
878
|
+
var createRabbyEvmConnector = () => createDownloadOnlyEvmConnector({ walletId: "rabby" });
|
|
893
879
|
|
|
894
880
|
// src/lib/connectors/binance.ts
|
|
895
881
|
var BINANCE_CONFIG = {
|
|
@@ -907,7 +893,14 @@ var createBinanceSolanaDappBrowserConnector = () => createDappBrowserSolanaConne
|
|
|
907
893
|
});
|
|
908
894
|
|
|
909
895
|
// src/lib/connectors/okx.ts
|
|
896
|
+
var OKX_CONFIG = {
|
|
897
|
+
walletId: "okx",
|
|
898
|
+
wcDeeplink: "okx://wallet/wc",
|
|
899
|
+
injectedKey: "isOkxWallet"
|
|
900
|
+
};
|
|
910
901
|
var buildOkxBrowseUrl = () => `okx://wallet/dapp/url?dappUrl=${encodeURIComponent(window.location.href)}`;
|
|
902
|
+
var createOkxEvmConnector = () => createWcEvmConnector(OKX_CONFIG);
|
|
903
|
+
var createOkxSolanaConnector = () => createWcSolanaConnector(OKX_CONFIG);
|
|
911
904
|
var createOkxSolanaDappBrowserConnector = () => createDappBrowserSolanaConnector({
|
|
912
905
|
walletId: "okx",
|
|
913
906
|
injectedKey: "isOkxWallet",
|
|
@@ -945,7 +938,6 @@ var disconnectWc2 = async () => {
|
|
|
945
938
|
}
|
|
946
939
|
};
|
|
947
940
|
var createWalletConnectEvmConnector = () => {
|
|
948
|
-
if (isMobile()) return null;
|
|
949
941
|
return {
|
|
950
942
|
id: walletConfig.id,
|
|
951
943
|
name: walletConfig.name,
|
|
@@ -979,7 +971,6 @@ var createWalletConnectEvmConnector = () => {
|
|
|
979
971
|
};
|
|
980
972
|
};
|
|
981
973
|
var createWalletConnectSolanaConnector = () => {
|
|
982
|
-
if (isMobile()) return null;
|
|
983
974
|
return {
|
|
984
975
|
id: walletConfig.id,
|
|
985
976
|
name: walletConfig.name,
|
|
@@ -1020,13 +1011,26 @@ var EVM_FALLBACK_CONNECTORS = [
|
|
|
1020
1011
|
id: "phantom",
|
|
1021
1012
|
create: isMobile() ? createPhantomEvmConnectorDeeplink : createPhantomEvmConnector
|
|
1022
1013
|
},
|
|
1023
|
-
{ id: "metamask", create: createMetaMaskEvmConnector },
|
|
1014
|
+
...isMobile() ? [] : [{ id: "metamask", create: createMetaMaskEvmConnector }],
|
|
1024
1015
|
{ id: "trust", create: createTrustEvmMobileConnector },
|
|
1025
1016
|
{ id: "binance", create: createBinanceEvmConnector },
|
|
1017
|
+
{ id: "okx", create: createOkxEvmConnector },
|
|
1026
1018
|
{ id: "rainbow", create: createRainbowEvmMobileConnector },
|
|
1027
|
-
{ id: "
|
|
1019
|
+
...isMobile() ? [] : [{ id: "rabby", create: createRabbyEvmConnector }]
|
|
1028
1020
|
];
|
|
1029
1021
|
var sleep = (ms) => new Promise((r) => window.setTimeout(r, ms));
|
|
1022
|
+
var checkEvmWalletInstalled = (connectorId) => {
|
|
1023
|
+
if (typeof window === "undefined" || !window.ethereum) return false;
|
|
1024
|
+
const providers = window.ethereum.providers ?? [window.ethereum];
|
|
1025
|
+
switch (connectorId) {
|
|
1026
|
+
case "metaMaskSDK":
|
|
1027
|
+
return providers.some((p) => p.isMetaMask && !p.isBraveWallet);
|
|
1028
|
+
case "coinbaseWalletSDK":
|
|
1029
|
+
return providers.some((p) => p.isCoinbaseWallet);
|
|
1030
|
+
default:
|
|
1031
|
+
return true;
|
|
1032
|
+
}
|
|
1033
|
+
};
|
|
1030
1034
|
var cleanupWalletLocalStorage = () => {
|
|
1031
1035
|
Object.keys(window.localStorage).filter((key) => key.startsWith("wagmi.")).forEach((key) => window.localStorage.removeItem(key));
|
|
1032
1036
|
};
|
|
@@ -1037,7 +1041,7 @@ var getEvmConnectors = () => {
|
|
|
1037
1041
|
name: c.name,
|
|
1038
1042
|
icon: c.icon,
|
|
1039
1043
|
type: "evm",
|
|
1040
|
-
installed:
|
|
1044
|
+
installed: checkEvmWalletInstalled(c.id),
|
|
1041
1045
|
wallet: {
|
|
1042
1046
|
_connector: c,
|
|
1043
1047
|
connect: async () => {
|
|
@@ -1260,10 +1264,6 @@ var SOLANA_FALLBACK_CONNECTORS = isMobile() ? [
|
|
|
1260
1264
|
{
|
|
1261
1265
|
id: "binance",
|
|
1262
1266
|
create: () => createSolanaMobileConnector(createBinanceSolanaDappBrowserConnector())
|
|
1263
|
-
},
|
|
1264
|
-
{
|
|
1265
|
-
id: "exodus",
|
|
1266
|
-
create: () => createSolanaMobileConnector(createExodusSolanaMobileConnector())
|
|
1267
1267
|
}
|
|
1268
1268
|
] : [
|
|
1269
1269
|
{ id: "phantom", create: () => createSolanaMobileConnector(createPhantomSolanaConnector()) },
|
|
@@ -1277,10 +1277,7 @@ var SOLANA_FALLBACK_CONNECTORS = isMobile() ? [
|
|
|
1277
1277
|
},
|
|
1278
1278
|
{ id: "binance", create: () => createSolanaMobileConnector(createBinanceSolanaConnector()) },
|
|
1279
1279
|
{ id: "bitget", create: createBitgetSolanaConnector },
|
|
1280
|
-
{
|
|
1281
|
-
id: "exodus",
|
|
1282
|
-
create: () => createSolanaMobileConnector(createExodusSolanaMobileConnector())
|
|
1283
|
-
}
|
|
1280
|
+
{ id: "okx", create: createOkxSolanaConnector }
|
|
1284
1281
|
];
|
|
1285
1282
|
var getSolanaWallets = () => {
|
|
1286
1283
|
const { get } = getWallets();
|
|
@@ -1293,8 +1290,6 @@ var getSolanaWallets = () => {
|
|
|
1293
1290
|
seenNames.add(w.name);
|
|
1294
1291
|
return true;
|
|
1295
1292
|
}).map(createSolanaConnector);
|
|
1296
|
-
console.log("wallets", { wallets });
|
|
1297
|
-
console.log("connectors", { connectors });
|
|
1298
1293
|
addFallbackConnectors(connectors, SOLANA_FALLBACK_CONNECTORS);
|
|
1299
1294
|
return connectors;
|
|
1300
1295
|
};
|
package/dist/index.js
CHANGED
|
@@ -150,12 +150,6 @@ var WALLETS = [
|
|
|
150
150
|
icon: "https://iconic.dynamic-static-assets.com/icons/sprite.svg#rainbow",
|
|
151
151
|
chromeExtensionUrl: "https://chromewebstore.google.com/detail/rainbow/opfgelmcmbiajamepnmloijbpoleiama"
|
|
152
152
|
},
|
|
153
|
-
{
|
|
154
|
-
id: "exodus",
|
|
155
|
-
name: "Exodus",
|
|
156
|
-
icon: "https://iconic.dynamic-static-assets.com/icons/sprite.svg#exodus",
|
|
157
|
-
chromeExtensionUrl: "https://chromewebstore.google.com/detail/aholpfdialjgjfhomihkjbmgjidlcdno"
|
|
158
|
-
},
|
|
159
153
|
{
|
|
160
154
|
id: "walletconnect",
|
|
161
155
|
name: "WalletConnect",
|
|
@@ -174,14 +168,12 @@ var EVM_WALLET_ID_MAP = {
|
|
|
174
168
|
coinbaseWalletSDK: "coinbase",
|
|
175
169
|
"io.rabby": "rabby",
|
|
176
170
|
"me.rainbow": "rainbow",
|
|
177
|
-
"com.exodus.web3-wallet": "exodus",
|
|
178
171
|
walletConnect: "walletconnect"
|
|
179
172
|
};
|
|
180
173
|
var SOLANA_WALLET_ID_MAP = {
|
|
181
174
|
"binance-wallet": "binance",
|
|
182
175
|
"bitget-wallet": "bitget",
|
|
183
|
-
"okx-wallet": "okx"
|
|
184
|
-
"exodus-wallet": "exodus"
|
|
176
|
+
"okx-wallet": "okx"
|
|
185
177
|
};
|
|
186
178
|
var normalizeEvmWalletId = (id) => EVM_WALLET_ID_MAP[id] || id.toLowerCase().replace(/sdk$/i, "");
|
|
187
179
|
var normalizeSolanaWalletId = (id) => SOLANA_WALLET_ID_MAP[id] || id.replace(/-wallet$/, "");
|
|
@@ -874,14 +866,8 @@ var RAINBOW_CONFIG = {
|
|
|
874
866
|
};
|
|
875
867
|
var createRainbowEvmMobileConnector = () => createWcEvmConnector(RAINBOW_CONFIG);
|
|
876
868
|
|
|
877
|
-
// src/lib/connectors/
|
|
878
|
-
var
|
|
879
|
-
walletId: "exodus",
|
|
880
|
-
wcDeeplink: "https://exodus.com/wc",
|
|
881
|
-
injectedKey: "isExodus"
|
|
882
|
-
};
|
|
883
|
-
var createExodusEvmMobileConnector = () => createWcEvmConnector(EXODUS_CONFIG);
|
|
884
|
-
var createExodusSolanaMobileConnector = () => createWcSolanaConnector(EXODUS_CONFIG);
|
|
869
|
+
// src/lib/connectors/rabby.ts
|
|
870
|
+
var createRabbyEvmConnector = () => createDownloadOnlyEvmConnector({ walletId: "rabby" });
|
|
885
871
|
|
|
886
872
|
// src/lib/connectors/binance.ts
|
|
887
873
|
var BINANCE_CONFIG = {
|
|
@@ -899,7 +885,14 @@ var createBinanceSolanaDappBrowserConnector = () => createDappBrowserSolanaConne
|
|
|
899
885
|
});
|
|
900
886
|
|
|
901
887
|
// src/lib/connectors/okx.ts
|
|
888
|
+
var OKX_CONFIG = {
|
|
889
|
+
walletId: "okx",
|
|
890
|
+
wcDeeplink: "okx://wallet/wc",
|
|
891
|
+
injectedKey: "isOkxWallet"
|
|
892
|
+
};
|
|
902
893
|
var buildOkxBrowseUrl = () => `okx://wallet/dapp/url?dappUrl=${encodeURIComponent(window.location.href)}`;
|
|
894
|
+
var createOkxEvmConnector = () => createWcEvmConnector(OKX_CONFIG);
|
|
895
|
+
var createOkxSolanaConnector = () => createWcSolanaConnector(OKX_CONFIG);
|
|
903
896
|
var createOkxSolanaDappBrowserConnector = () => createDappBrowserSolanaConnector({
|
|
904
897
|
walletId: "okx",
|
|
905
898
|
injectedKey: "isOkxWallet",
|
|
@@ -934,7 +927,6 @@ var disconnectWc2 = async () => {
|
|
|
934
927
|
}
|
|
935
928
|
};
|
|
936
929
|
var createWalletConnectEvmConnector = () => {
|
|
937
|
-
if (isMobile()) return null;
|
|
938
930
|
return {
|
|
939
931
|
id: walletConfig.id,
|
|
940
932
|
name: walletConfig.name,
|
|
@@ -968,7 +960,6 @@ var createWalletConnectEvmConnector = () => {
|
|
|
968
960
|
};
|
|
969
961
|
};
|
|
970
962
|
var createWalletConnectSolanaConnector = () => {
|
|
971
|
-
if (isMobile()) return null;
|
|
972
963
|
return {
|
|
973
964
|
id: walletConfig.id,
|
|
974
965
|
name: walletConfig.name,
|
|
@@ -1009,13 +1000,26 @@ var EVM_FALLBACK_CONNECTORS = [
|
|
|
1009
1000
|
id: "phantom",
|
|
1010
1001
|
create: isMobile() ? createPhantomEvmConnectorDeeplink : createPhantomEvmConnector
|
|
1011
1002
|
},
|
|
1012
|
-
{ id: "metamask", create: createMetaMaskEvmConnector },
|
|
1003
|
+
...isMobile() ? [] : [{ id: "metamask", create: createMetaMaskEvmConnector }],
|
|
1013
1004
|
{ id: "trust", create: createTrustEvmMobileConnector },
|
|
1014
1005
|
{ id: "binance", create: createBinanceEvmConnector },
|
|
1006
|
+
{ id: "okx", create: createOkxEvmConnector },
|
|
1015
1007
|
{ id: "rainbow", create: createRainbowEvmMobileConnector },
|
|
1016
|
-
{ id: "
|
|
1008
|
+
...isMobile() ? [] : [{ id: "rabby", create: createRabbyEvmConnector }]
|
|
1017
1009
|
];
|
|
1018
1010
|
var sleep = (ms) => new Promise((r) => window.setTimeout(r, ms));
|
|
1011
|
+
var checkEvmWalletInstalled = (connectorId) => {
|
|
1012
|
+
if (typeof window === "undefined" || !window.ethereum) return false;
|
|
1013
|
+
const providers = window.ethereum.providers ?? [window.ethereum];
|
|
1014
|
+
switch (connectorId) {
|
|
1015
|
+
case "metaMaskSDK":
|
|
1016
|
+
return providers.some((p) => p.isMetaMask && !p.isBraveWallet);
|
|
1017
|
+
case "coinbaseWalletSDK":
|
|
1018
|
+
return providers.some((p) => p.isCoinbaseWallet);
|
|
1019
|
+
default:
|
|
1020
|
+
return true;
|
|
1021
|
+
}
|
|
1022
|
+
};
|
|
1019
1023
|
var cleanupWalletLocalStorage = () => {
|
|
1020
1024
|
Object.keys(window.localStorage).filter((key) => key.startsWith("wagmi.")).forEach((key) => window.localStorage.removeItem(key));
|
|
1021
1025
|
};
|
|
@@ -1026,7 +1030,7 @@ var getEvmConnectors = () => {
|
|
|
1026
1030
|
name: c.name,
|
|
1027
1031
|
icon: c.icon,
|
|
1028
1032
|
type: "evm",
|
|
1029
|
-
installed:
|
|
1033
|
+
installed: checkEvmWalletInstalled(c.id),
|
|
1030
1034
|
wallet: {
|
|
1031
1035
|
_connector: c,
|
|
1032
1036
|
connect: async () => {
|
|
@@ -1228,10 +1232,6 @@ var SOLANA_FALLBACK_CONNECTORS = isMobile() ? [
|
|
|
1228
1232
|
{
|
|
1229
1233
|
id: "binance",
|
|
1230
1234
|
create: () => createSolanaMobileConnector(createBinanceSolanaDappBrowserConnector())
|
|
1231
|
-
},
|
|
1232
|
-
{
|
|
1233
|
-
id: "exodus",
|
|
1234
|
-
create: () => createSolanaMobileConnector(createExodusSolanaMobileConnector())
|
|
1235
1235
|
}
|
|
1236
1236
|
] : [
|
|
1237
1237
|
{ id: "phantom", create: () => createSolanaMobileConnector(createPhantomSolanaConnector()) },
|
|
@@ -1245,10 +1245,7 @@ var SOLANA_FALLBACK_CONNECTORS = isMobile() ? [
|
|
|
1245
1245
|
},
|
|
1246
1246
|
{ id: "binance", create: () => createSolanaMobileConnector(createBinanceSolanaConnector()) },
|
|
1247
1247
|
{ id: "bitget", create: createBitgetSolanaConnector },
|
|
1248
|
-
{
|
|
1249
|
-
id: "exodus",
|
|
1250
|
-
create: () => createSolanaMobileConnector(createExodusSolanaMobileConnector())
|
|
1251
|
-
}
|
|
1248
|
+
{ id: "okx", create: createOkxSolanaConnector }
|
|
1252
1249
|
];
|
|
1253
1250
|
var getSolanaWallets = () => {
|
|
1254
1251
|
const { get } = getWallets();
|
|
@@ -1261,8 +1258,6 @@ var getSolanaWallets = () => {
|
|
|
1261
1258
|
seenNames.add(w.name);
|
|
1262
1259
|
return true;
|
|
1263
1260
|
}).map(createSolanaConnector);
|
|
1264
|
-
console.log("wallets", { wallets });
|
|
1265
|
-
console.log("connectors", { connectors });
|
|
1266
1261
|
addFallbackConnectors(connectors, SOLANA_FALLBACK_CONNECTORS);
|
|
1267
1262
|
return connectors;
|
|
1268
1263
|
};
|
package/dist/index.jsx
CHANGED
|
@@ -145,12 +145,6 @@ var WALLETS = [
|
|
|
145
145
|
icon: "https://iconic.dynamic-static-assets.com/icons/sprite.svg#rainbow",
|
|
146
146
|
chromeExtensionUrl: "https://chromewebstore.google.com/detail/rainbow/opfgelmcmbiajamepnmloijbpoleiama"
|
|
147
147
|
},
|
|
148
|
-
{
|
|
149
|
-
id: "exodus",
|
|
150
|
-
name: "Exodus",
|
|
151
|
-
icon: "https://iconic.dynamic-static-assets.com/icons/sprite.svg#exodus",
|
|
152
|
-
chromeExtensionUrl: "https://chromewebstore.google.com/detail/aholpfdialjgjfhomihkjbmgjidlcdno"
|
|
153
|
-
},
|
|
154
148
|
{
|
|
155
149
|
id: "walletconnect",
|
|
156
150
|
name: "WalletConnect",
|
|
@@ -169,14 +163,12 @@ var EVM_WALLET_ID_MAP = {
|
|
|
169
163
|
coinbaseWalletSDK: "coinbase",
|
|
170
164
|
"io.rabby": "rabby",
|
|
171
165
|
"me.rainbow": "rainbow",
|
|
172
|
-
"com.exodus.web3-wallet": "exodus",
|
|
173
166
|
walletConnect: "walletconnect"
|
|
174
167
|
};
|
|
175
168
|
var SOLANA_WALLET_ID_MAP = {
|
|
176
169
|
"binance-wallet": "binance",
|
|
177
170
|
"bitget-wallet": "bitget",
|
|
178
|
-
"okx-wallet": "okx"
|
|
179
|
-
"exodus-wallet": "exodus"
|
|
171
|
+
"okx-wallet": "okx"
|
|
180
172
|
};
|
|
181
173
|
var normalizeEvmWalletId = (id) => EVM_WALLET_ID_MAP[id] || id.toLowerCase().replace(/sdk$/i, "");
|
|
182
174
|
var normalizeSolanaWalletId = (id) => SOLANA_WALLET_ID_MAP[id] || id.replace(/-wallet$/, "");
|
|
@@ -882,14 +874,8 @@ var RAINBOW_CONFIG = {
|
|
|
882
874
|
};
|
|
883
875
|
var createRainbowEvmMobileConnector = () => createWcEvmConnector(RAINBOW_CONFIG);
|
|
884
876
|
|
|
885
|
-
// src/lib/connectors/
|
|
886
|
-
var
|
|
887
|
-
walletId: "exodus",
|
|
888
|
-
wcDeeplink: "https://exodus.com/wc",
|
|
889
|
-
injectedKey: "isExodus"
|
|
890
|
-
};
|
|
891
|
-
var createExodusEvmMobileConnector = () => createWcEvmConnector(EXODUS_CONFIG);
|
|
892
|
-
var createExodusSolanaMobileConnector = () => createWcSolanaConnector(EXODUS_CONFIG);
|
|
877
|
+
// src/lib/connectors/rabby.ts
|
|
878
|
+
var createRabbyEvmConnector = () => createDownloadOnlyEvmConnector({ walletId: "rabby" });
|
|
893
879
|
|
|
894
880
|
// src/lib/connectors/binance.ts
|
|
895
881
|
var BINANCE_CONFIG = {
|
|
@@ -907,7 +893,14 @@ var createBinanceSolanaDappBrowserConnector = () => createDappBrowserSolanaConne
|
|
|
907
893
|
});
|
|
908
894
|
|
|
909
895
|
// src/lib/connectors/okx.ts
|
|
896
|
+
var OKX_CONFIG = {
|
|
897
|
+
walletId: "okx",
|
|
898
|
+
wcDeeplink: "okx://wallet/wc",
|
|
899
|
+
injectedKey: "isOkxWallet"
|
|
900
|
+
};
|
|
910
901
|
var buildOkxBrowseUrl = () => `okx://wallet/dapp/url?dappUrl=${encodeURIComponent(window.location.href)}`;
|
|
902
|
+
var createOkxEvmConnector = () => createWcEvmConnector(OKX_CONFIG);
|
|
903
|
+
var createOkxSolanaConnector = () => createWcSolanaConnector(OKX_CONFIG);
|
|
911
904
|
var createOkxSolanaDappBrowserConnector = () => createDappBrowserSolanaConnector({
|
|
912
905
|
walletId: "okx",
|
|
913
906
|
injectedKey: "isOkxWallet",
|
|
@@ -945,7 +938,6 @@ var disconnectWc2 = async () => {
|
|
|
945
938
|
}
|
|
946
939
|
};
|
|
947
940
|
var createWalletConnectEvmConnector = () => {
|
|
948
|
-
if (isMobile()) return null;
|
|
949
941
|
return {
|
|
950
942
|
id: walletConfig.id,
|
|
951
943
|
name: walletConfig.name,
|
|
@@ -979,7 +971,6 @@ var createWalletConnectEvmConnector = () => {
|
|
|
979
971
|
};
|
|
980
972
|
};
|
|
981
973
|
var createWalletConnectSolanaConnector = () => {
|
|
982
|
-
if (isMobile()) return null;
|
|
983
974
|
return {
|
|
984
975
|
id: walletConfig.id,
|
|
985
976
|
name: walletConfig.name,
|
|
@@ -1020,13 +1011,26 @@ var EVM_FALLBACK_CONNECTORS = [
|
|
|
1020
1011
|
id: "phantom",
|
|
1021
1012
|
create: isMobile() ? createPhantomEvmConnectorDeeplink : createPhantomEvmConnector
|
|
1022
1013
|
},
|
|
1023
|
-
{ id: "metamask", create: createMetaMaskEvmConnector },
|
|
1014
|
+
...isMobile() ? [] : [{ id: "metamask", create: createMetaMaskEvmConnector }],
|
|
1024
1015
|
{ id: "trust", create: createTrustEvmMobileConnector },
|
|
1025
1016
|
{ id: "binance", create: createBinanceEvmConnector },
|
|
1017
|
+
{ id: "okx", create: createOkxEvmConnector },
|
|
1026
1018
|
{ id: "rainbow", create: createRainbowEvmMobileConnector },
|
|
1027
|
-
{ id: "
|
|
1019
|
+
...isMobile() ? [] : [{ id: "rabby", create: createRabbyEvmConnector }]
|
|
1028
1020
|
];
|
|
1029
1021
|
var sleep = (ms) => new Promise((r) => window.setTimeout(r, ms));
|
|
1022
|
+
var checkEvmWalletInstalled = (connectorId) => {
|
|
1023
|
+
if (typeof window === "undefined" || !window.ethereum) return false;
|
|
1024
|
+
const providers = window.ethereum.providers ?? [window.ethereum];
|
|
1025
|
+
switch (connectorId) {
|
|
1026
|
+
case "metaMaskSDK":
|
|
1027
|
+
return providers.some((p) => p.isMetaMask && !p.isBraveWallet);
|
|
1028
|
+
case "coinbaseWalletSDK":
|
|
1029
|
+
return providers.some((p) => p.isCoinbaseWallet);
|
|
1030
|
+
default:
|
|
1031
|
+
return true;
|
|
1032
|
+
}
|
|
1033
|
+
};
|
|
1030
1034
|
var cleanupWalletLocalStorage = () => {
|
|
1031
1035
|
Object.keys(window.localStorage).filter((key) => key.startsWith("wagmi.")).forEach((key) => window.localStorage.removeItem(key));
|
|
1032
1036
|
};
|
|
@@ -1037,7 +1041,7 @@ var getEvmConnectors = () => {
|
|
|
1037
1041
|
name: c.name,
|
|
1038
1042
|
icon: c.icon,
|
|
1039
1043
|
type: "evm",
|
|
1040
|
-
installed:
|
|
1044
|
+
installed: checkEvmWalletInstalled(c.id),
|
|
1041
1045
|
wallet: {
|
|
1042
1046
|
_connector: c,
|
|
1043
1047
|
connect: async () => {
|
|
@@ -1260,10 +1264,6 @@ var SOLANA_FALLBACK_CONNECTORS = isMobile() ? [
|
|
|
1260
1264
|
{
|
|
1261
1265
|
id: "binance",
|
|
1262
1266
|
create: () => createSolanaMobileConnector(createBinanceSolanaDappBrowserConnector())
|
|
1263
|
-
},
|
|
1264
|
-
{
|
|
1265
|
-
id: "exodus",
|
|
1266
|
-
create: () => createSolanaMobileConnector(createExodusSolanaMobileConnector())
|
|
1267
1267
|
}
|
|
1268
1268
|
] : [
|
|
1269
1269
|
{ id: "phantom", create: () => createSolanaMobileConnector(createPhantomSolanaConnector()) },
|
|
@@ -1277,10 +1277,7 @@ var SOLANA_FALLBACK_CONNECTORS = isMobile() ? [
|
|
|
1277
1277
|
},
|
|
1278
1278
|
{ id: "binance", create: () => createSolanaMobileConnector(createBinanceSolanaConnector()) },
|
|
1279
1279
|
{ id: "bitget", create: createBitgetSolanaConnector },
|
|
1280
|
-
{
|
|
1281
|
-
id: "exodus",
|
|
1282
|
-
create: () => createSolanaMobileConnector(createExodusSolanaMobileConnector())
|
|
1283
|
-
}
|
|
1280
|
+
{ id: "okx", create: createOkxSolanaConnector }
|
|
1284
1281
|
];
|
|
1285
1282
|
var getSolanaWallets = () => {
|
|
1286
1283
|
const { get } = getWallets();
|
|
@@ -1293,8 +1290,6 @@ var getSolanaWallets = () => {
|
|
|
1293
1290
|
seenNames.add(w.name);
|
|
1294
1291
|
return true;
|
|
1295
1292
|
}).map(createSolanaConnector);
|
|
1296
|
-
console.log("wallets", { wallets });
|
|
1297
|
-
console.log("connectors", { connectors });
|
|
1298
1293
|
addFallbackConnectors(connectors, SOLANA_FALLBACK_CONNECTORS);
|
|
1299
1294
|
return connectors;
|
|
1300
1295
|
};
|
|
@@ -3,9 +3,9 @@ export { createMetaMaskEvmConnector, createMetaMaskSolanaConnector, createMetaMa
|
|
|
3
3
|
export { createSolflareSolanaMobileConnector, createSolflareSolanaDappBrowserConnector, isSolflareMobilePending, handleSolflareMobileCallback, restoreSolflareMobileSession, isSolflareSignPending, handleSolflareSignCallback, } from './solflare';
|
|
4
4
|
export { createTrustEvmMobileConnector, createTrustSolanaMobileConnector, createTrustSolanaDappBrowserConnector, } from './trust';
|
|
5
5
|
export { createRainbowEvmMobileConnector } from './rainbow';
|
|
6
|
-
export {
|
|
6
|
+
export { createRabbyEvmConnector } from './rabby';
|
|
7
7
|
export { createBinanceEvmConnector, createBinanceSolanaConnector, createBinanceSolanaDappBrowserConnector, } from './binance';
|
|
8
|
-
export { createOkxSolanaDappBrowserConnector } from './okx';
|
|
8
|
+
export { createOkxEvmConnector, createOkxSolanaConnector, createOkxSolanaDappBrowserConnector, } from './okx';
|
|
9
9
|
export { createCoinbaseSolanaDappBrowserConnector } from './coinbase';
|
|
10
10
|
export { createBitgetSolanaDappBrowserConnector, createBitgetSolanaConnector } from './bitget';
|
|
11
11
|
export { createWalletConnectEvmConnector, createWalletConnectSolanaConnector, } from './walletconnect';
|
|
@@ -1,2 +1,5 @@
|
|
|
1
|
+
import type { EvmWalletConnector } from '../evm';
|
|
1
2
|
import type { SolanaWalletConnector } from '../solana';
|
|
3
|
+
export declare const createOkxEvmConnector: () => EvmWalletConnector;
|
|
4
|
+
export declare const createOkxSolanaConnector: () => SolanaWalletConnector;
|
|
2
5
|
export declare const createOkxSolanaDappBrowserConnector: () => SolanaWalletConnector;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const WALLET_IDS: readonly ["walletconnect", "metamask", "phantom", "okx", "coinbase", "binance", "bitget", "solflare", "trust", "rabby", "rainbow"
|
|
1
|
+
export declare const WALLET_IDS: readonly ["walletconnect", "metamask", "phantom", "okx", "coinbase", "binance", "bitget", "solflare", "trust", "rabby", "rainbow"];
|
|
2
2
|
export type WalletId = (typeof WALLET_IDS)[number];
|
|
3
3
|
export interface WalletConfig {
|
|
4
4
|
id: WalletId;
|
package/package.json
CHANGED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import type { EvmWalletConnector } from '../evm';
|
|
2
|
-
import type { SolanaWalletConnector } from '../solana';
|
|
3
|
-
export declare const createExodusEvmMobileConnector: () => EvmWalletConnector;
|
|
4
|
-
export declare const createExodusSolanaMobileConnector: () => SolanaWalletConnector;
|
|
5
|
-
export declare const createExodusSolanaDappBrowserConnector: () => SolanaWalletConnector;
|