@bit-buccaneers/wallet-abstraction 0.0.14 → 0.0.15
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 +20 -30
- package/dist/dev.jsx +20 -30
- package/dist/index.js +20 -30
- package/dist/index.jsx +20 -30
- package/dist/lib/connectors/index.d.ts +2 -2
- package/dist/lib/connectors/okx.d.ts +1 -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 = {
|
|
@@ -905,6 +891,7 @@ var createOkxSolanaDappBrowserConnector = () => createDappBrowserSolanaConnector
|
|
|
905
891
|
injectedKey: "isOkxWallet",
|
|
906
892
|
buildUrl: buildOkxBrowseUrl
|
|
907
893
|
});
|
|
894
|
+
var createOkxSolanaConnector = () => createDownloadOnlySolanaConnector({ walletId: "okx" });
|
|
908
895
|
|
|
909
896
|
// src/lib/connectors/coinbase.ts
|
|
910
897
|
var buildCoinbaseBrowseUrl = () => `cbwallet://dapp?url=${encodeURIComponent(window.location.href)}`;
|
|
@@ -1009,13 +996,25 @@ var EVM_FALLBACK_CONNECTORS = [
|
|
|
1009
996
|
id: "phantom",
|
|
1010
997
|
create: isMobile() ? createPhantomEvmConnectorDeeplink : createPhantomEvmConnector
|
|
1011
998
|
},
|
|
1012
|
-
{ id: "metamask", create: createMetaMaskEvmConnector },
|
|
999
|
+
...isMobile() ? [] : [{ id: "metamask", create: createMetaMaskEvmConnector }],
|
|
1013
1000
|
{ id: "trust", create: createTrustEvmMobileConnector },
|
|
1014
1001
|
{ id: "binance", create: createBinanceEvmConnector },
|
|
1015
1002
|
{ id: "rainbow", create: createRainbowEvmMobileConnector },
|
|
1016
|
-
{ id: "
|
|
1003
|
+
...isMobile() ? [] : [{ id: "rabby", create: createRabbyEvmConnector }]
|
|
1017
1004
|
];
|
|
1018
1005
|
var sleep = (ms) => new Promise((r) => window.setTimeout(r, ms));
|
|
1006
|
+
var checkEvmWalletInstalled = (connectorId) => {
|
|
1007
|
+
if (typeof window === "undefined" || !window.ethereum) return false;
|
|
1008
|
+
const providers = window.ethereum.providers ?? [window.ethereum];
|
|
1009
|
+
switch (connectorId) {
|
|
1010
|
+
case "metaMaskSDK":
|
|
1011
|
+
return providers.some((p) => p.isMetaMask && !p.isBraveWallet);
|
|
1012
|
+
case "coinbaseWalletSDK":
|
|
1013
|
+
return providers.some((p) => p.isCoinbaseWallet);
|
|
1014
|
+
default:
|
|
1015
|
+
return true;
|
|
1016
|
+
}
|
|
1017
|
+
};
|
|
1019
1018
|
var cleanupWalletLocalStorage = () => {
|
|
1020
1019
|
Object.keys(window.localStorage).filter((key) => key.startsWith("wagmi.")).forEach((key) => window.localStorage.removeItem(key));
|
|
1021
1020
|
};
|
|
@@ -1026,7 +1025,7 @@ var getEvmConnectors = () => {
|
|
|
1026
1025
|
name: c.name,
|
|
1027
1026
|
icon: c.icon,
|
|
1028
1027
|
type: "evm",
|
|
1029
|
-
installed:
|
|
1028
|
+
installed: checkEvmWalletInstalled(c.id),
|
|
1030
1029
|
wallet: {
|
|
1031
1030
|
_connector: c,
|
|
1032
1031
|
connect: async () => {
|
|
@@ -1228,10 +1227,6 @@ var SOLANA_FALLBACK_CONNECTORS = isMobile() ? [
|
|
|
1228
1227
|
{
|
|
1229
1228
|
id: "binance",
|
|
1230
1229
|
create: () => createSolanaMobileConnector(createBinanceSolanaDappBrowserConnector())
|
|
1231
|
-
},
|
|
1232
|
-
{
|
|
1233
|
-
id: "exodus",
|
|
1234
|
-
create: () => createSolanaMobileConnector(createExodusSolanaMobileConnector())
|
|
1235
1230
|
}
|
|
1236
1231
|
] : [
|
|
1237
1232
|
{ id: "phantom", create: () => createSolanaMobileConnector(createPhantomSolanaConnector()) },
|
|
@@ -1245,10 +1240,7 @@ var SOLANA_FALLBACK_CONNECTORS = isMobile() ? [
|
|
|
1245
1240
|
},
|
|
1246
1241
|
{ id: "binance", create: () => createSolanaMobileConnector(createBinanceSolanaConnector()) },
|
|
1247
1242
|
{ id: "bitget", create: createBitgetSolanaConnector },
|
|
1248
|
-
{
|
|
1249
|
-
id: "exodus",
|
|
1250
|
-
create: () => createSolanaMobileConnector(createExodusSolanaMobileConnector())
|
|
1251
|
-
}
|
|
1243
|
+
{ id: "okx", create: createOkxSolanaConnector }
|
|
1252
1244
|
];
|
|
1253
1245
|
var getSolanaWallets = () => {
|
|
1254
1246
|
const { get } = getWallets();
|
|
@@ -1261,8 +1253,6 @@ var getSolanaWallets = () => {
|
|
|
1261
1253
|
seenNames.add(w.name);
|
|
1262
1254
|
return true;
|
|
1263
1255
|
}).map(createSolanaConnector);
|
|
1264
|
-
console.log("wallets", { wallets });
|
|
1265
|
-
console.log("connectors", { connectors });
|
|
1266
1256
|
addFallbackConnectors(connectors, SOLANA_FALLBACK_CONNECTORS);
|
|
1267
1257
|
return connectors;
|
|
1268
1258
|
};
|
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 = {
|
|
@@ -913,6 +899,7 @@ var createOkxSolanaDappBrowserConnector = () => createDappBrowserSolanaConnector
|
|
|
913
899
|
injectedKey: "isOkxWallet",
|
|
914
900
|
buildUrl: buildOkxBrowseUrl
|
|
915
901
|
});
|
|
902
|
+
var createOkxSolanaConnector = () => createDownloadOnlySolanaConnector({ walletId: "okx" });
|
|
916
903
|
|
|
917
904
|
// src/lib/connectors/coinbase.ts
|
|
918
905
|
var buildCoinbaseBrowseUrl = () => `cbwallet://dapp?url=${encodeURIComponent(window.location.href)}`;
|
|
@@ -1020,13 +1007,25 @@ var EVM_FALLBACK_CONNECTORS = [
|
|
|
1020
1007
|
id: "phantom",
|
|
1021
1008
|
create: isMobile() ? createPhantomEvmConnectorDeeplink : createPhantomEvmConnector
|
|
1022
1009
|
},
|
|
1023
|
-
{ id: "metamask", create: createMetaMaskEvmConnector },
|
|
1010
|
+
...isMobile() ? [] : [{ id: "metamask", create: createMetaMaskEvmConnector }],
|
|
1024
1011
|
{ id: "trust", create: createTrustEvmMobileConnector },
|
|
1025
1012
|
{ id: "binance", create: createBinanceEvmConnector },
|
|
1026
1013
|
{ id: "rainbow", create: createRainbowEvmMobileConnector },
|
|
1027
|
-
{ id: "
|
|
1014
|
+
...isMobile() ? [] : [{ id: "rabby", create: createRabbyEvmConnector }]
|
|
1028
1015
|
];
|
|
1029
1016
|
var sleep = (ms) => new Promise((r) => window.setTimeout(r, ms));
|
|
1017
|
+
var checkEvmWalletInstalled = (connectorId) => {
|
|
1018
|
+
if (typeof window === "undefined" || !window.ethereum) return false;
|
|
1019
|
+
const providers = window.ethereum.providers ?? [window.ethereum];
|
|
1020
|
+
switch (connectorId) {
|
|
1021
|
+
case "metaMaskSDK":
|
|
1022
|
+
return providers.some((p) => p.isMetaMask && !p.isBraveWallet);
|
|
1023
|
+
case "coinbaseWalletSDK":
|
|
1024
|
+
return providers.some((p) => p.isCoinbaseWallet);
|
|
1025
|
+
default:
|
|
1026
|
+
return true;
|
|
1027
|
+
}
|
|
1028
|
+
};
|
|
1030
1029
|
var cleanupWalletLocalStorage = () => {
|
|
1031
1030
|
Object.keys(window.localStorage).filter((key) => key.startsWith("wagmi.")).forEach((key) => window.localStorage.removeItem(key));
|
|
1032
1031
|
};
|
|
@@ -1037,7 +1036,7 @@ var getEvmConnectors = () => {
|
|
|
1037
1036
|
name: c.name,
|
|
1038
1037
|
icon: c.icon,
|
|
1039
1038
|
type: "evm",
|
|
1040
|
-
installed:
|
|
1039
|
+
installed: checkEvmWalletInstalled(c.id),
|
|
1041
1040
|
wallet: {
|
|
1042
1041
|
_connector: c,
|
|
1043
1042
|
connect: async () => {
|
|
@@ -1260,10 +1259,6 @@ var SOLANA_FALLBACK_CONNECTORS = isMobile() ? [
|
|
|
1260
1259
|
{
|
|
1261
1260
|
id: "binance",
|
|
1262
1261
|
create: () => createSolanaMobileConnector(createBinanceSolanaDappBrowserConnector())
|
|
1263
|
-
},
|
|
1264
|
-
{
|
|
1265
|
-
id: "exodus",
|
|
1266
|
-
create: () => createSolanaMobileConnector(createExodusSolanaMobileConnector())
|
|
1267
1262
|
}
|
|
1268
1263
|
] : [
|
|
1269
1264
|
{ id: "phantom", create: () => createSolanaMobileConnector(createPhantomSolanaConnector()) },
|
|
@@ -1277,10 +1272,7 @@ var SOLANA_FALLBACK_CONNECTORS = isMobile() ? [
|
|
|
1277
1272
|
},
|
|
1278
1273
|
{ id: "binance", create: () => createSolanaMobileConnector(createBinanceSolanaConnector()) },
|
|
1279
1274
|
{ id: "bitget", create: createBitgetSolanaConnector },
|
|
1280
|
-
{
|
|
1281
|
-
id: "exodus",
|
|
1282
|
-
create: () => createSolanaMobileConnector(createExodusSolanaMobileConnector())
|
|
1283
|
-
}
|
|
1275
|
+
{ id: "okx", create: createOkxSolanaConnector }
|
|
1284
1276
|
];
|
|
1285
1277
|
var getSolanaWallets = () => {
|
|
1286
1278
|
const { get } = getWallets();
|
|
@@ -1293,8 +1285,6 @@ var getSolanaWallets = () => {
|
|
|
1293
1285
|
seenNames.add(w.name);
|
|
1294
1286
|
return true;
|
|
1295
1287
|
}).map(createSolanaConnector);
|
|
1296
|
-
console.log("wallets", { wallets });
|
|
1297
|
-
console.log("connectors", { connectors });
|
|
1298
1288
|
addFallbackConnectors(connectors, SOLANA_FALLBACK_CONNECTORS);
|
|
1299
1289
|
return connectors;
|
|
1300
1290
|
};
|
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 = {
|
|
@@ -905,6 +891,7 @@ var createOkxSolanaDappBrowserConnector = () => createDappBrowserSolanaConnector
|
|
|
905
891
|
injectedKey: "isOkxWallet",
|
|
906
892
|
buildUrl: buildOkxBrowseUrl
|
|
907
893
|
});
|
|
894
|
+
var createOkxSolanaConnector = () => createDownloadOnlySolanaConnector({ walletId: "okx" });
|
|
908
895
|
|
|
909
896
|
// src/lib/connectors/coinbase.ts
|
|
910
897
|
var buildCoinbaseBrowseUrl = () => `cbwallet://dapp?url=${encodeURIComponent(window.location.href)}`;
|
|
@@ -1009,13 +996,25 @@ var EVM_FALLBACK_CONNECTORS = [
|
|
|
1009
996
|
id: "phantom",
|
|
1010
997
|
create: isMobile() ? createPhantomEvmConnectorDeeplink : createPhantomEvmConnector
|
|
1011
998
|
},
|
|
1012
|
-
{ id: "metamask", create: createMetaMaskEvmConnector },
|
|
999
|
+
...isMobile() ? [] : [{ id: "metamask", create: createMetaMaskEvmConnector }],
|
|
1013
1000
|
{ id: "trust", create: createTrustEvmMobileConnector },
|
|
1014
1001
|
{ id: "binance", create: createBinanceEvmConnector },
|
|
1015
1002
|
{ id: "rainbow", create: createRainbowEvmMobileConnector },
|
|
1016
|
-
{ id: "
|
|
1003
|
+
...isMobile() ? [] : [{ id: "rabby", create: createRabbyEvmConnector }]
|
|
1017
1004
|
];
|
|
1018
1005
|
var sleep = (ms) => new Promise((r) => window.setTimeout(r, ms));
|
|
1006
|
+
var checkEvmWalletInstalled = (connectorId) => {
|
|
1007
|
+
if (typeof window === "undefined" || !window.ethereum) return false;
|
|
1008
|
+
const providers = window.ethereum.providers ?? [window.ethereum];
|
|
1009
|
+
switch (connectorId) {
|
|
1010
|
+
case "metaMaskSDK":
|
|
1011
|
+
return providers.some((p) => p.isMetaMask && !p.isBraveWallet);
|
|
1012
|
+
case "coinbaseWalletSDK":
|
|
1013
|
+
return providers.some((p) => p.isCoinbaseWallet);
|
|
1014
|
+
default:
|
|
1015
|
+
return true;
|
|
1016
|
+
}
|
|
1017
|
+
};
|
|
1019
1018
|
var cleanupWalletLocalStorage = () => {
|
|
1020
1019
|
Object.keys(window.localStorage).filter((key) => key.startsWith("wagmi.")).forEach((key) => window.localStorage.removeItem(key));
|
|
1021
1020
|
};
|
|
@@ -1026,7 +1025,7 @@ var getEvmConnectors = () => {
|
|
|
1026
1025
|
name: c.name,
|
|
1027
1026
|
icon: c.icon,
|
|
1028
1027
|
type: "evm",
|
|
1029
|
-
installed:
|
|
1028
|
+
installed: checkEvmWalletInstalled(c.id),
|
|
1030
1029
|
wallet: {
|
|
1031
1030
|
_connector: c,
|
|
1032
1031
|
connect: async () => {
|
|
@@ -1228,10 +1227,6 @@ var SOLANA_FALLBACK_CONNECTORS = isMobile() ? [
|
|
|
1228
1227
|
{
|
|
1229
1228
|
id: "binance",
|
|
1230
1229
|
create: () => createSolanaMobileConnector(createBinanceSolanaDappBrowserConnector())
|
|
1231
|
-
},
|
|
1232
|
-
{
|
|
1233
|
-
id: "exodus",
|
|
1234
|
-
create: () => createSolanaMobileConnector(createExodusSolanaMobileConnector())
|
|
1235
1230
|
}
|
|
1236
1231
|
] : [
|
|
1237
1232
|
{ id: "phantom", create: () => createSolanaMobileConnector(createPhantomSolanaConnector()) },
|
|
@@ -1245,10 +1240,7 @@ var SOLANA_FALLBACK_CONNECTORS = isMobile() ? [
|
|
|
1245
1240
|
},
|
|
1246
1241
|
{ id: "binance", create: () => createSolanaMobileConnector(createBinanceSolanaConnector()) },
|
|
1247
1242
|
{ id: "bitget", create: createBitgetSolanaConnector },
|
|
1248
|
-
{
|
|
1249
|
-
id: "exodus",
|
|
1250
|
-
create: () => createSolanaMobileConnector(createExodusSolanaMobileConnector())
|
|
1251
|
-
}
|
|
1243
|
+
{ id: "okx", create: createOkxSolanaConnector }
|
|
1252
1244
|
];
|
|
1253
1245
|
var getSolanaWallets = () => {
|
|
1254
1246
|
const { get } = getWallets();
|
|
@@ -1261,8 +1253,6 @@ var getSolanaWallets = () => {
|
|
|
1261
1253
|
seenNames.add(w.name);
|
|
1262
1254
|
return true;
|
|
1263
1255
|
}).map(createSolanaConnector);
|
|
1264
|
-
console.log("wallets", { wallets });
|
|
1265
|
-
console.log("connectors", { connectors });
|
|
1266
1256
|
addFallbackConnectors(connectors, SOLANA_FALLBACK_CONNECTORS);
|
|
1267
1257
|
return connectors;
|
|
1268
1258
|
};
|
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 = {
|
|
@@ -913,6 +899,7 @@ var createOkxSolanaDappBrowserConnector = () => createDappBrowserSolanaConnector
|
|
|
913
899
|
injectedKey: "isOkxWallet",
|
|
914
900
|
buildUrl: buildOkxBrowseUrl
|
|
915
901
|
});
|
|
902
|
+
var createOkxSolanaConnector = () => createDownloadOnlySolanaConnector({ walletId: "okx" });
|
|
916
903
|
|
|
917
904
|
// src/lib/connectors/coinbase.ts
|
|
918
905
|
var buildCoinbaseBrowseUrl = () => `cbwallet://dapp?url=${encodeURIComponent(window.location.href)}`;
|
|
@@ -1020,13 +1007,25 @@ var EVM_FALLBACK_CONNECTORS = [
|
|
|
1020
1007
|
id: "phantom",
|
|
1021
1008
|
create: isMobile() ? createPhantomEvmConnectorDeeplink : createPhantomEvmConnector
|
|
1022
1009
|
},
|
|
1023
|
-
{ id: "metamask", create: createMetaMaskEvmConnector },
|
|
1010
|
+
...isMobile() ? [] : [{ id: "metamask", create: createMetaMaskEvmConnector }],
|
|
1024
1011
|
{ id: "trust", create: createTrustEvmMobileConnector },
|
|
1025
1012
|
{ id: "binance", create: createBinanceEvmConnector },
|
|
1026
1013
|
{ id: "rainbow", create: createRainbowEvmMobileConnector },
|
|
1027
|
-
{ id: "
|
|
1014
|
+
...isMobile() ? [] : [{ id: "rabby", create: createRabbyEvmConnector }]
|
|
1028
1015
|
];
|
|
1029
1016
|
var sleep = (ms) => new Promise((r) => window.setTimeout(r, ms));
|
|
1017
|
+
var checkEvmWalletInstalled = (connectorId) => {
|
|
1018
|
+
if (typeof window === "undefined" || !window.ethereum) return false;
|
|
1019
|
+
const providers = window.ethereum.providers ?? [window.ethereum];
|
|
1020
|
+
switch (connectorId) {
|
|
1021
|
+
case "metaMaskSDK":
|
|
1022
|
+
return providers.some((p) => p.isMetaMask && !p.isBraveWallet);
|
|
1023
|
+
case "coinbaseWalletSDK":
|
|
1024
|
+
return providers.some((p) => p.isCoinbaseWallet);
|
|
1025
|
+
default:
|
|
1026
|
+
return true;
|
|
1027
|
+
}
|
|
1028
|
+
};
|
|
1030
1029
|
var cleanupWalletLocalStorage = () => {
|
|
1031
1030
|
Object.keys(window.localStorage).filter((key) => key.startsWith("wagmi.")).forEach((key) => window.localStorage.removeItem(key));
|
|
1032
1031
|
};
|
|
@@ -1037,7 +1036,7 @@ var getEvmConnectors = () => {
|
|
|
1037
1036
|
name: c.name,
|
|
1038
1037
|
icon: c.icon,
|
|
1039
1038
|
type: "evm",
|
|
1040
|
-
installed:
|
|
1039
|
+
installed: checkEvmWalletInstalled(c.id),
|
|
1041
1040
|
wallet: {
|
|
1042
1041
|
_connector: c,
|
|
1043
1042
|
connect: async () => {
|
|
@@ -1260,10 +1259,6 @@ var SOLANA_FALLBACK_CONNECTORS = isMobile() ? [
|
|
|
1260
1259
|
{
|
|
1261
1260
|
id: "binance",
|
|
1262
1261
|
create: () => createSolanaMobileConnector(createBinanceSolanaDappBrowserConnector())
|
|
1263
|
-
},
|
|
1264
|
-
{
|
|
1265
|
-
id: "exodus",
|
|
1266
|
-
create: () => createSolanaMobileConnector(createExodusSolanaMobileConnector())
|
|
1267
1262
|
}
|
|
1268
1263
|
] : [
|
|
1269
1264
|
{ id: "phantom", create: () => createSolanaMobileConnector(createPhantomSolanaConnector()) },
|
|
@@ -1277,10 +1272,7 @@ var SOLANA_FALLBACK_CONNECTORS = isMobile() ? [
|
|
|
1277
1272
|
},
|
|
1278
1273
|
{ id: "binance", create: () => createSolanaMobileConnector(createBinanceSolanaConnector()) },
|
|
1279
1274
|
{ id: "bitget", create: createBitgetSolanaConnector },
|
|
1280
|
-
{
|
|
1281
|
-
id: "exodus",
|
|
1282
|
-
create: () => createSolanaMobileConnector(createExodusSolanaMobileConnector())
|
|
1283
|
-
}
|
|
1275
|
+
{ id: "okx", create: createOkxSolanaConnector }
|
|
1284
1276
|
];
|
|
1285
1277
|
var getSolanaWallets = () => {
|
|
1286
1278
|
const { get } = getWallets();
|
|
@@ -1293,8 +1285,6 @@ var getSolanaWallets = () => {
|
|
|
1293
1285
|
seenNames.add(w.name);
|
|
1294
1286
|
return true;
|
|
1295
1287
|
}).map(createSolanaConnector);
|
|
1296
|
-
console.log("wallets", { wallets });
|
|
1297
|
-
console.log("connectors", { connectors });
|
|
1298
1288
|
addFallbackConnectors(connectors, SOLANA_FALLBACK_CONNECTORS);
|
|
1299
1289
|
return connectors;
|
|
1300
1290
|
};
|
|
@@ -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 { createOkxSolanaDappBrowserConnector, createOkxSolanaConnector } from './okx';
|
|
9
9
|
export { createCoinbaseSolanaDappBrowserConnector } from './coinbase';
|
|
10
10
|
export { createBitgetSolanaDappBrowserConnector, createBitgetSolanaConnector } from './bitget';
|
|
11
11
|
export { createWalletConnectEvmConnector, createWalletConnectSolanaConnector, } from './walletconnect';
|
|
@@ -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;
|