@multiplatform.one/web3 7.30.0 → 7.31.0
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/README.md +6 -2
- package/dist/cjs/connectkit/connectors/coinbaseWalletConnector.cjs +79 -0
- package/dist/cjs/connectkit/connectors/coinbaseWalletConnector.native.js +101 -0
- package/dist/cjs/connectkit/connectors/coinbaseWalletConnector.native.js.map +1 -0
- package/dist/cjs/connectkit/connectors/metaMaskConnectConnector.cjs +37 -2
- package/dist/cjs/connectkit/connectors/metaMaskConnectConnector.native.js +38 -2
- package/dist/cjs/connectkit/connectors/metaMaskConnectConnector.native.js.map +1 -1
- package/dist/cjs/connectkit/defaultConnectors.cjs +2 -2
- package/dist/cjs/connectkit/defaultConnectors.native.js +2 -2
- package/dist/cjs/connectkit/defaultConnectors.native.js.map +1 -1
- package/dist/esm/connectkit/connectors/coinbaseWalletConnector.mjs +42 -0
- package/dist/esm/connectkit/connectors/coinbaseWalletConnector.mjs.map +1 -0
- package/dist/esm/connectkit/connectors/coinbaseWalletConnector.native.js +61 -0
- package/dist/esm/connectkit/connectors/coinbaseWalletConnector.native.js.map +1 -0
- package/dist/esm/connectkit/connectors/metaMaskConnectConnector.mjs +37 -3
- package/dist/esm/connectkit/connectors/metaMaskConnectConnector.mjs.map +1 -1
- package/dist/esm/connectkit/connectors/metaMaskConnectConnector.native.js +38 -3
- package/dist/esm/connectkit/connectors/metaMaskConnectConnector.native.js.map +1 -1
- package/dist/esm/connectkit/defaultConnectors.mjs +2 -2
- package/dist/esm/connectkit/defaultConnectors.mjs.map +1 -1
- package/dist/esm/connectkit/defaultConnectors.native.js +2 -2
- package/dist/esm/connectkit/defaultConnectors.native.js.map +1 -1
- package/dist/jsx/connectkit/connectors/coinbaseWalletConnector.mjs +42 -0
- package/dist/jsx/connectkit/connectors/coinbaseWalletConnector.mjs.map +1 -0
- package/dist/jsx/connectkit/connectors/coinbaseWalletConnector.native.js +101 -0
- package/dist/jsx/connectkit/connectors/coinbaseWalletConnector.native.js.map +1 -0
- package/dist/jsx/connectkit/connectors/metaMaskConnectConnector.mjs +37 -3
- package/dist/jsx/connectkit/connectors/metaMaskConnectConnector.mjs.map +1 -1
- package/dist/jsx/connectkit/connectors/metaMaskConnectConnector.native.js +38 -2
- package/dist/jsx/connectkit/connectors/metaMaskConnectConnector.native.js.map +1 -1
- package/dist/jsx/connectkit/defaultConnectors.mjs +2 -2
- package/dist/jsx/connectkit/defaultConnectors.mjs.map +1 -1
- package/dist/jsx/connectkit/defaultConnectors.native.js +2 -2
- package/dist/jsx/connectkit/defaultConnectors.native.js.map +1 -1
- package/dist/keycloak/login.iife.js +303 -303
- package/package.json +7 -6
- package/src/connectkit/connectors/coinbaseWalletConnector.spec.ts +141 -0
- package/src/connectkit/connectors/coinbaseWalletConnector.ts +71 -0
- package/src/connectkit/connectors/metaMaskConnectConnector.spec.ts +179 -3
- package/src/connectkit/connectors/metaMaskConnectConnector.ts +78 -2
- package/src/connectkit/defaultConnectors.ts +3 -2
- package/types/connectkit/connectors/coinbaseWalletConnector.d.ts +5 -0
- package/types/connectkit/connectors/coinbaseWalletConnector.d.ts.map +1 -0
- package/types/connectkit/connectors/metaMaskConnectConnector.d.ts +8 -0
- package/types/connectkit/connectors/metaMaskConnectConnector.d.ts.map +1 -1
- package/types/connectkit/defaultConnectors.d.ts +1 -1
- package/types/connectkit/defaultConnectors.d.ts.map +1 -1
package/README.md
CHANGED
|
@@ -311,8 +311,12 @@ Android can later add Solana Mobile Wallet Adapter as a second signer.
|
|
|
311
311
|
|
|
312
312
|
MetaMask connects through MetaMask Connect (`@metamask/connect-evm`, connector
|
|
313
313
|
id `metaMaskSDK`): the extension on desktop, the MetaMask app over MetaMask's
|
|
314
|
-
own relay on mobile. Coinbase Wallet runs with telemetry off
|
|
315
|
-
|
|
314
|
+
own relay on mobile. Coinbase Wallet runs with telemetry off, and its SDK is
|
|
315
|
+
built only when the user picks it or the page restores its connection, since
|
|
316
|
+
building it sends a HEAD request for the page's own path. A browser that last
|
|
317
|
+
connected Coinbase Wallet still sends it on load, because wagmi keeps
|
|
318
|
+
`recentConnectorId` after a disconnect. Aave Account is opt-in
|
|
319
|
+
(`enableAaveAccount: true`).
|
|
316
320
|
|
|
317
321
|
## Bundler plugin (required)
|
|
318
322
|
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all) __defProp(target, name, {
|
|
9
|
+
get: all[name],
|
|
10
|
+
enumerable: true
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
var __copyProps = (to, from, except, desc) => {
|
|
14
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
16
|
+
get: () => from[key],
|
|
17
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
return to;
|
|
21
|
+
};
|
|
22
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
23
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
24
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
25
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
26
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
27
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
28
|
+
value: mod,
|
|
29
|
+
enumerable: true
|
|
30
|
+
}) : target, mod));
|
|
31
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
32
|
+
value: true
|
|
33
|
+
}), mod);
|
|
34
|
+
var coinbaseWalletConnector_exports = {};
|
|
35
|
+
__export(coinbaseWalletConnector_exports, {
|
|
36
|
+
coinbaseWalletConnector: () => coinbaseWalletConnector,
|
|
37
|
+
coinbaseWalletConnectorId: () => coinbaseWalletConnectorId
|
|
38
|
+
});
|
|
39
|
+
module.exports = __toCommonJS(coinbaseWalletConnector_exports);
|
|
40
|
+
var import_coinbaseWallet = require("wagmi/connectors/coinbaseWallet");
|
|
41
|
+
const coinbaseWalletConnectorId = "coinbaseWalletSDK";
|
|
42
|
+
async function heldConnectorIds(storage) {
|
|
43
|
+
const persisted = await storage?.getItem("store");
|
|
44
|
+
const connections = persisted?.state?.connections;
|
|
45
|
+
if (!(connections instanceof Map)) return [];
|
|
46
|
+
return [...connections.values()].flatMap(connection => connection?.connector?.id ?? []);
|
|
47
|
+
}
|
|
48
|
+
function coinbaseWalletConnector(parameters) {
|
|
49
|
+
const base = (0, import_coinbaseWallet.coinbaseWallet)(parameters);
|
|
50
|
+
return config => {
|
|
51
|
+
const connector = base(config);
|
|
52
|
+
const heldOnLoad = heldConnectorIds(config.storage).catch(() => []);
|
|
53
|
+
let picked = false;
|
|
54
|
+
const due = async () => {
|
|
55
|
+
if (picked) return true;
|
|
56
|
+
const [recent, held] = await Promise.all([config.storage?.getItem("recentConnectorId"), heldOnLoad]);
|
|
57
|
+
if (recent === coinbaseWalletConnectorId || held.includes(coinbaseWalletConnectorId)) picked = true;
|
|
58
|
+
return picked;
|
|
59
|
+
};
|
|
60
|
+
return {
|
|
61
|
+
...connector,
|
|
62
|
+
async setup() {
|
|
63
|
+
if (typeof window !== "undefined") void import("@coinbase/wallet-sdk").catch(() => void 0);
|
|
64
|
+
},
|
|
65
|
+
async connect(parameters2) {
|
|
66
|
+
picked = true;
|
|
67
|
+
return connector.connect.call(this, parameters2);
|
|
68
|
+
},
|
|
69
|
+
async getProvider(parameters2) {
|
|
70
|
+
if (!(await due())) return void 0;
|
|
71
|
+
return connector.getProvider.call(this, parameters2);
|
|
72
|
+
},
|
|
73
|
+
async isAuthorized() {
|
|
74
|
+
if (!(await due())) return false;
|
|
75
|
+
return connector.isAuthorized.call(this);
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
};
|
|
79
|
+
}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __create = Object.create;
|
|
4
|
+
var __defProp = Object.defineProperty;
|
|
5
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
6
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
8
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
9
|
+
var __export = (target, all) => {
|
|
10
|
+
for (var name in all) __defProp(target, name, {
|
|
11
|
+
get: all[name],
|
|
12
|
+
enumerable: true
|
|
13
|
+
});
|
|
14
|
+
};
|
|
15
|
+
var __copyProps = (to, from, except, desc) => {
|
|
16
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
17
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
18
|
+
get: () => from[key],
|
|
19
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
return to;
|
|
23
|
+
};
|
|
24
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
25
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
26
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
27
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
28
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
29
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
30
|
+
value: mod,
|
|
31
|
+
enumerable: true
|
|
32
|
+
}) : target, mod));
|
|
33
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
34
|
+
value: true
|
|
35
|
+
}), mod);
|
|
36
|
+
var coinbaseWalletConnector_exports = {};
|
|
37
|
+
__export(coinbaseWalletConnector_exports, {
|
|
38
|
+
coinbaseWalletConnector: () => coinbaseWalletConnector,
|
|
39
|
+
coinbaseWalletConnectorId: () => coinbaseWalletConnectorId
|
|
40
|
+
});
|
|
41
|
+
module.exports = __toCommonJS(coinbaseWalletConnector_exports);
|
|
42
|
+
var import_coinbaseWallet = require("wagmi/connectors/coinbaseWallet");
|
|
43
|
+
function _instanceof(left, right) {
|
|
44
|
+
"@swc/helpers - instanceof";
|
|
45
|
+
|
|
46
|
+
if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
|
|
47
|
+
return !!right[Symbol.hasInstance](left);
|
|
48
|
+
} else {
|
|
49
|
+
return left instanceof right;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
var coinbaseWalletConnectorId = "coinbaseWalletSDK";
|
|
53
|
+
async function heldConnectorIds(storage) {
|
|
54
|
+
var _persisted_state;
|
|
55
|
+
var persisted = await (storage === null || storage === void 0 ? void 0 : storage.getItem("store"));
|
|
56
|
+
var connections = persisted === null || persisted === void 0 ? void 0 : (_persisted_state = persisted.state) === null || _persisted_state === void 0 ? void 0 : _persisted_state.connections;
|
|
57
|
+
if (!_instanceof(connections, Map)) return [];
|
|
58
|
+
return [...connections.values()].flatMap(function (connection) {
|
|
59
|
+
var _ref;
|
|
60
|
+
var _connection_connector;
|
|
61
|
+
return (_ref = connection === null || connection === void 0 ? void 0 : (_connection_connector = connection.connector) === null || _connection_connector === void 0 ? void 0 : _connection_connector.id) !== null && _ref !== void 0 ? _ref : [];
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
function coinbaseWalletConnector(parameters) {
|
|
65
|
+
var base = (0, import_coinbaseWallet.coinbaseWallet)(parameters);
|
|
66
|
+
return function (config) {
|
|
67
|
+
var connector = base(config);
|
|
68
|
+
var heldOnLoad = heldConnectorIds(config.storage).catch(function () {
|
|
69
|
+
return [];
|
|
70
|
+
});
|
|
71
|
+
var picked = false;
|
|
72
|
+
var due = async function due2() {
|
|
73
|
+
var _config_storage;
|
|
74
|
+
if (picked) return true;
|
|
75
|
+
var [recent, held] = await Promise.all([(_config_storage = config.storage) === null || _config_storage === void 0 ? void 0 : _config_storage.getItem("recentConnectorId"), heldOnLoad]);
|
|
76
|
+
if (recent === coinbaseWalletConnectorId || held.includes(coinbaseWalletConnectorId)) picked = true;
|
|
77
|
+
return picked;
|
|
78
|
+
};
|
|
79
|
+
return {
|
|
80
|
+
...connector,
|
|
81
|
+
async setup() {
|
|
82
|
+
if (typeof window !== "undefined") void import("@coinbase/wallet-sdk").catch(function () {
|
|
83
|
+
return void 0;
|
|
84
|
+
});
|
|
85
|
+
},
|
|
86
|
+
async connect(parameters2) {
|
|
87
|
+
picked = true;
|
|
88
|
+
return connector.connect.call(this, parameters2);
|
|
89
|
+
},
|
|
90
|
+
async getProvider(parameters2) {
|
|
91
|
+
if (!(await due())) return void 0;
|
|
92
|
+
return connector.getProvider.call(this, parameters2);
|
|
93
|
+
},
|
|
94
|
+
async isAuthorized() {
|
|
95
|
+
if (!(await due())) return false;
|
|
96
|
+
return connector.isAuthorized.call(this);
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=coinbaseWalletConnector.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","coinbaseWalletConnector_exports","__export","coinbaseWalletConnector","coinbaseWalletConnectorId","module","exports","import_coinbaseWallet","require","_instanceof","left","right","Symbol","hasInstance","heldConnectorIds","storage","_persisted_state","persisted","getItem","connections","state","Map","values","flatMap","connection","_ref","_connection_connector","connector","id","parameters","base","coinbaseWallet","config","heldOnLoad","catch","picked","due","due2","_config_storage","recent","held","Promise","all","includes","setup","window"],"sources":["../../../../src/connectkit/connectors/coinbaseWalletConnector.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,+BAAA;AAAAC,QAAA,CAAAD,+BAAA;EAAAE,uBAAA,EAAAA,CAAA,KAAAA,uBAAA;EAAAC,yBAAA,EAAAA,CAAA,KAAAA;AAAA;AASAC,MAAA,CAAAC,OAAA,GAAAV,YAA8D,CAAAK,+BAAA;AAEvD,IAAAM,qBAAM,GAAAC,OAA4B;AAMzC,SAAAC,WAAeA,CAAAC,IAAA,EAAAC,KAAiB;EAC9B,2BAAyB;;EAIzB,IAAAA,KAAM,YAAc,OAAAC,MAAW,KAAO,eAAAD,KAAA,CAAAC,MAAA,CAAAC,WAAA;IACtC,OAAM,EAAAF,KAAA,CAAAC,MAAA,CAAAC,WAA6B,EAAAH,IAAA,CAAO;EAC1C,OAAO;IACL,OAACA,IAAA,YAAeC,KAAY;EAC9B;AACF;AAEO,IAAAP,yBAAS,sBAAkF;AAChG,eAAMU,gBAAOA,CAAAC,OAAA;EAEb,IAAAC,gBAAmB;EACjB,IAAAC,SAAM,UAAYF,OAAK,KAAM,QAAAA,OAAA,uBAAAA,OAAA,CAAAG,OAAA;EAG7B,IAAAC,WAAM,GAAAF,SAAa,aAAiBA,SAAO,KAAS,MAAM,QAAkB,KAAAD,gBAAA,GAAAC,SAAA,CAAAG,KAAA,cAAAJ,gBAAA,uBAAAA,gBAAA,CAAAG,WAAA;EAC5E,KAAAV,WAAa,CAAAU,WAAA,EAAAE,GAAA;EACb,QACE,GAAAF,WAAY,CAAAG,MAAO,GACnB,CAAAC,OAAA,CAAM,UAASC,UAAQ;IAAkB,IACvCC,IAAA;IAA2C,IAC3CC,qBAAA;IAAA,OACD,CAAAD,IAAA,GAAAD,UAAA,aAAAA,UAAA,wBAAAE,qBAAA,GAAAF,UAAA,CAAAG,SAAA,cAAAD,qBAAA,uBAAAA,qBAAA,CAAAE,EAAA,cAAAH,IAAA,cAAAA,IAAA;EACD;AACE;AACF,SAAAtB,uBAAOA,CAAA0B,UAAA;EAAA,IACTC,IAAA,OAAAvB,qBAAA,CAAAwB,cAAA,EAAAF,UAAA;EACA,iBAAOG,MAAA;IAAA,IACLL,SAAG,GAAAG,IAAA,CAAAE,MAAA;IAAA,IACHC,UAAM,GAAQnB,gBAAA,CAAAkB,MAAA,CAAAjB,OAAA,EAAAmB,KAAA;MAGZ,OAAI;IACF;IAAyD,IAC7DC,MAAA;IAAA,IACAC,GAAA,GAAM,eAAQC,IAAYR,CAAA;MACxB,IAAAS,eAAS;MACT,IAAAH,MAAO,SAAU;MACnB,KAAAI,MAAA,EAAAC,IAAA,UAAAC,OAAA,CAAAC,GAAA,EACA,CAAAJ,eAAkB,GAAAN,MAAA,CAAAjB,OAAY,cAAAuB,eAAA,uBAAAA,eAAA,CAAApB,OAAA,uBAC5Be,UAAM,CACN;MACF,IAAAM,MAAA,KAAAnC,yBAAA,IAAAoC,IAAA,CAAAG,QAAA,CAAAvC,yBAAA,GAAA+B,MAAA;MACA,OAAMA,MAAA;IACJ;IACA;MACF,GAAAR,SAAA;MACF,MAAAiB,MAAA;QACF,WAAAC,MAAA,sDAAAX,KAAA;UACF","ignoreList":[]}
|
|
@@ -36,11 +36,13 @@ __export(metaMaskConnectConnector_exports, {
|
|
|
36
36
|
metaMaskConnect: () => metaMaskConnect,
|
|
37
37
|
metaMaskConnectChainIds: () => metaMaskConnectChainIds,
|
|
38
38
|
metaMaskNetworks: () => metaMaskNetworks,
|
|
39
|
+
metaMaskSupportedNetworks: () => metaMaskSupportedNetworks,
|
|
39
40
|
resetMetaMaskConnectClient: () => resetMetaMaskConnectClient
|
|
40
41
|
});
|
|
41
42
|
module.exports = __toCommonJS(metaMaskConnectConnector_exports);
|
|
42
43
|
var import_wagmi = require("wagmi");
|
|
43
44
|
var import_viem = require("viem");
|
|
45
|
+
var import_chains = require("wagmi/chains");
|
|
44
46
|
var import_syntheticChains = require("./syntheticChains.cjs");
|
|
45
47
|
function metaMaskNetworks(chains, transports) {
|
|
46
48
|
const networks = {};
|
|
@@ -51,6 +53,31 @@ function metaMaskNetworks(chains, transports) {
|
|
|
51
53
|
}
|
|
52
54
|
return networks;
|
|
53
55
|
}
|
|
56
|
+
function metaMaskSupportedNetworks(networks, transports) {
|
|
57
|
+
const id = (0, import_viem.numberToHex)(import_chains.mainnet.id);
|
|
58
|
+
if (networks[id]) return networks;
|
|
59
|
+
return {
|
|
60
|
+
...networks,
|
|
61
|
+
[id]: metaMaskNetworks([import_chains.mainnet], transports)[id] ?? import_chains.mainnet.rpcUrls.default.http[0]
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
const offListMethods = /* @__PURE__ */new Set(["personal_sign", "eth_accounts", "eth_coinbase", "eth_chainId", "eth_requestAccounts", "net_version", "wallet_getPermissions", "wallet_requestPermissions", "wallet_revokePermissions", "wallet_switchEthereumChain", "wallet_addEthereumChain", "metamask_getProviderState", "metamask_sendDomainMetadata", "metamask_logWeb3ShimUsage", "wallet_registerOnboarding"]);
|
|
65
|
+
function listedChainsOnly(provider, mm, networks) {
|
|
66
|
+
const request = async args => {
|
|
67
|
+
const chainId = mm.getChainId();
|
|
68
|
+
if (chainId && !networks[(0, import_viem.numberToHex)(Number(chainId))] && !offListMethods.has(args.method)) throw Object.assign(new Error(`MetaMask is on chain ${Number(chainId)}, which this app does not list, so ${args.method} was not sent`), {
|
|
69
|
+
code: 4901
|
|
70
|
+
});
|
|
71
|
+
return provider.request(args);
|
|
72
|
+
};
|
|
73
|
+
return new Proxy(provider, {
|
|
74
|
+
get(target, property) {
|
|
75
|
+
if (property === "request") return request;
|
|
76
|
+
const value = Reflect.get(target, property);
|
|
77
|
+
return typeof value === "function" ? value.bind(target) : value;
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
}
|
|
54
81
|
function transportUrl(chain, transports) {
|
|
55
82
|
const transport = transports?.[chain.id]?.({
|
|
56
83
|
chain
|
|
@@ -157,8 +184,10 @@ function metaMaskConnect(parameters) {
|
|
|
157
184
|
return (0, import_wagmi.createConnector)(config => {
|
|
158
185
|
owner ??= config.emitter;
|
|
159
186
|
const networks = metaMaskNetworks(config.chains, config.transports);
|
|
187
|
+
const supportedNetworks = metaMaskSupportedNetworks(networks, config.transports);
|
|
160
188
|
const fallbackChainId = Number(Object.keys(networks)[0] ?? 1);
|
|
161
|
-
const instance = () => getClient(parameters,
|
|
189
|
+
const instance = () => getClient(parameters, supportedNetworks);
|
|
190
|
+
let guarded;
|
|
162
191
|
const claim = () => {
|
|
163
192
|
owner = config.emitter;
|
|
164
193
|
return instance();
|
|
@@ -207,7 +236,13 @@ function metaMaskConnect(parameters) {
|
|
|
207
236
|
return chainIdOf(await claim());
|
|
208
237
|
},
|
|
209
238
|
async getProvider() {
|
|
210
|
-
|
|
239
|
+
const mm = await claim();
|
|
240
|
+
const provider = mm.getProvider();
|
|
241
|
+
if (guarded?.provider !== provider) guarded = {
|
|
242
|
+
provider,
|
|
243
|
+
wrapped: listedChainsOnly(provider, mm, networks)
|
|
244
|
+
};
|
|
245
|
+
return guarded.wrapped;
|
|
211
246
|
},
|
|
212
247
|
async isAuthorized() {
|
|
213
248
|
try {
|
|
@@ -38,11 +38,13 @@ __export(metaMaskConnectConnector_exports, {
|
|
|
38
38
|
metaMaskConnect: () => metaMaskConnect,
|
|
39
39
|
metaMaskConnectChainIds: () => metaMaskConnectChainIds,
|
|
40
40
|
metaMaskNetworks: () => metaMaskNetworks,
|
|
41
|
+
metaMaskSupportedNetworks: () => metaMaskSupportedNetworks,
|
|
41
42
|
resetMetaMaskConnectClient: () => resetMetaMaskConnectClient
|
|
42
43
|
});
|
|
43
44
|
module.exports = __toCommonJS(metaMaskConnectConnector_exports);
|
|
44
45
|
var import_wagmi = require("wagmi");
|
|
45
46
|
var import_viem = require("viem");
|
|
47
|
+
var import_chains = require("wagmi/chains");
|
|
46
48
|
var import_syntheticChains = require("./syntheticChains.native.js");
|
|
47
49
|
function metaMaskNetworks(chains, transports) {
|
|
48
50
|
var networks = {};
|
|
@@ -73,6 +75,32 @@ function metaMaskNetworks(chains, transports) {
|
|
|
73
75
|
}
|
|
74
76
|
return networks;
|
|
75
77
|
}
|
|
78
|
+
function metaMaskSupportedNetworks(networks, transports) {
|
|
79
|
+
var _metaMaskNetworks_id;
|
|
80
|
+
var id = (0, import_viem.numberToHex)(import_chains.mainnet.id);
|
|
81
|
+
if (networks[id]) return networks;
|
|
82
|
+
return {
|
|
83
|
+
...networks,
|
|
84
|
+
[id]: (_metaMaskNetworks_id = metaMaskNetworks([import_chains.mainnet], transports)[id]) !== null && _metaMaskNetworks_id !== void 0 ? _metaMaskNetworks_id : import_chains.mainnet.rpcUrls.default.http[0]
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
var offListMethods = /* @__PURE__ */new Set(["personal_sign", "eth_accounts", "eth_coinbase", "eth_chainId", "eth_requestAccounts", "net_version", "wallet_getPermissions", "wallet_requestPermissions", "wallet_revokePermissions", "wallet_switchEthereumChain", "wallet_addEthereumChain", "metamask_getProviderState", "metamask_sendDomainMetadata", "metamask_logWeb3ShimUsage", "wallet_registerOnboarding"]);
|
|
88
|
+
function listedChainsOnly(provider, mm, networks) {
|
|
89
|
+
var request = async function request2(args) {
|
|
90
|
+
var chainId = mm.getChainId();
|
|
91
|
+
if (chainId && !networks[(0, import_viem.numberToHex)(Number(chainId))] && !offListMethods.has(args.method)) throw Object.assign(new Error(`MetaMask is on chain ${Number(chainId)}, which this app does not list, so ${args.method} was not sent`), {
|
|
92
|
+
code: 4901
|
|
93
|
+
});
|
|
94
|
+
return provider.request(args);
|
|
95
|
+
};
|
|
96
|
+
return new Proxy(provider, {
|
|
97
|
+
get(target, property) {
|
|
98
|
+
if (property === "request") return request;
|
|
99
|
+
var value = Reflect.get(target, property);
|
|
100
|
+
return typeof value === "function" ? value.bind(target) : value;
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
}
|
|
76
104
|
function transportUrl(chain, transports) {
|
|
77
105
|
var _transports_chain_id, _transport_value_transports, _transport_value, _value, _this;
|
|
78
106
|
var transport = transports === null || transports === void 0 ? void 0 : (_transports_chain_id = transports[chain.id]) === null || _transports_chain_id === void 0 ? void 0 : _transports_chain_id.call(transports, {
|
|
@@ -198,10 +226,12 @@ function metaMaskConnect(parameters) {
|
|
|
198
226
|
var _Object_keys_;
|
|
199
227
|
owner !== null && owner !== void 0 ? owner : owner = config.emitter;
|
|
200
228
|
var networks = metaMaskNetworks(config.chains, config.transports);
|
|
229
|
+
var supportedNetworks = metaMaskSupportedNetworks(networks, config.transports);
|
|
201
230
|
var fallbackChainId = Number((_Object_keys_ = Object.keys(networks)[0]) !== null && _Object_keys_ !== void 0 ? _Object_keys_ : 1);
|
|
202
231
|
var instance = function instance2() {
|
|
203
|
-
return getClient(parameters,
|
|
232
|
+
return getClient(parameters, supportedNetworks);
|
|
204
233
|
};
|
|
234
|
+
var guarded;
|
|
205
235
|
var claim = function claim2() {
|
|
206
236
|
owner = config.emitter;
|
|
207
237
|
return instance();
|
|
@@ -259,7 +289,13 @@ function metaMaskConnect(parameters) {
|
|
|
259
289
|
return chainIdOf(await claim());
|
|
260
290
|
},
|
|
261
291
|
async getProvider() {
|
|
262
|
-
|
|
292
|
+
var mm = await claim();
|
|
293
|
+
var provider = mm.getProvider();
|
|
294
|
+
if ((guarded === null || guarded === void 0 ? void 0 : guarded.provider) !== provider) guarded = {
|
|
295
|
+
provider,
|
|
296
|
+
wrapped: listedChainsOnly(provider, mm, networks)
|
|
297
|
+
};
|
|
298
|
+
return guarded.wrapped;
|
|
263
299
|
},
|
|
264
300
|
async isAuthorized() {
|
|
265
301
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","metaMaskConnectConnector_exports","__export","metaMaskConnect","metaMaskConnectChainIds","metaMaskNetworks","resetMetaMaskConnectClient","module","exports","import_wagmi","require","import_viem","import_syntheticChains","chains","transports","networks","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","chain","_chain_rpcUrls_default","isSyntheticChainId","id","url","transportUrl","rpcUrls","default","http","isUrl","numberToHex","err","return","_transports_chain_id","_transport_value_transports","_transport_value","_value","_this","transport","call","first","URL","unused","
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","metaMaskConnectConnector_exports","__export","metaMaskConnect","metaMaskConnectChainIds","metaMaskNetworks","metaMaskSupportedNetworks","resetMetaMaskConnectClient","module","exports","import_wagmi","require","import_viem","import_chains","import_syntheticChains","chains","transports","networks","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","chain","_chain_rpcUrls_default","isSyntheticChainId","id","url","transportUrl","rpcUrls","default","http","isUrl","numberToHex","err","return","_metaMaskNetworks_id","mainnet","offListMethods","Set","listedChainsOnly","provider","mm","request","request2","args","chainId","getChainId","Number","has","method","Object","assign","Error","code","Proxy","get","target","property","Reflect","bind","_transports_chain_id","_transport_value_transports","_transport_value","_value","_this","transport","call","first","URL","unused","ids","keys","includes","filter","client","owner","getClient","parameters","then","param","createEVMClient","_parameters_dapp_url","dapp","name","window","location","origin","iconUrl","api","supportedNetworks","analytics","enabled","skipAutoAnnounce","debug","headless","ui","preferredOpenLink","useDeeplink","mobile","eventHandlers","connect","param2","accounts","length","emit","map","a","getAddress","accountsChanged","chainChanged","disconnect","displayUri","uri","type","data","catch","rethrow","UserRejectedRequestError","ResourceUnavailableRpcError","createConnector","config","_Object_keys_","emitter","fallbackChainId","instance","instance2","guarded","claim","claim2","accountsOf","accountsOf2","chainIdOf","chainIdOf2","hex","rdns","setup","isReconnecting","arguments"],"sources":["../../../../src/connectkit/connectors/metaMaskConnectConnector.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -25,11 +25,11 @@ __export(defaultConnectors_exports, {
|
|
|
25
25
|
default: () => defaultConnectors_default
|
|
26
26
|
});
|
|
27
27
|
module.exports = __toCommonJS(defaultConnectors_exports);
|
|
28
|
-
var import_coinbaseWallet = require("wagmi/connectors/coinbaseWallet");
|
|
29
28
|
var import_safe = require("wagmi/connectors/safe");
|
|
30
29
|
var import_metaMaskConnectConnector = require("./connectors/metaMaskConnectConnector.cjs");
|
|
31
30
|
var import_embeddedDesktop = require("./connectors/embeddedDesktop.cjs");
|
|
32
31
|
var import_aaveAccountConnector = require("./connectors/aaveAccountConnector.cjs");
|
|
32
|
+
var import_coinbaseWalletConnector = require("./connectors/coinbaseWalletConnector.cjs");
|
|
33
33
|
const defaultConnectors = ({
|
|
34
34
|
app,
|
|
35
35
|
coinbaseWalletPreference,
|
|
@@ -56,7 +56,7 @@ const defaultConnectors = ({
|
|
|
56
56
|
iconUrl: app.icon
|
|
57
57
|
},
|
|
58
58
|
...((0, import_embeddedDesktop.isEmbeddedDesktopWebview)() ? (0, import_embeddedDesktop.metaMaskOptionsForEmbeddedDesktop)() : {})
|
|
59
|
-
}), (0,
|
|
59
|
+
}), (0, import_coinbaseWalletConnector.coinbaseWalletConnector)({
|
|
60
60
|
appName: app.name,
|
|
61
61
|
appLogoUrl: app.icon,
|
|
62
62
|
preference: {
|
|
@@ -27,11 +27,11 @@ __export(defaultConnectors_exports, {
|
|
|
27
27
|
default: () => defaultConnectors_default
|
|
28
28
|
});
|
|
29
29
|
module.exports = __toCommonJS(defaultConnectors_exports);
|
|
30
|
-
var import_coinbaseWallet = require("wagmi/connectors/coinbaseWallet");
|
|
31
30
|
var import_safe = require("wagmi/connectors/safe");
|
|
32
31
|
var import_metaMaskConnectConnector = require("./connectors/metaMaskConnectConnector.native.js");
|
|
33
32
|
var import_embeddedDesktop = require("./connectors/embeddedDesktop.native.js");
|
|
34
33
|
var import_aaveAccountConnector = require("./connectors/aaveAccountConnector.native.js");
|
|
34
|
+
var import_coinbaseWalletConnector = require("./connectors/coinbaseWalletConnector.native.js");
|
|
35
35
|
var defaultConnectors = function defaultConnectors2(param) {
|
|
36
36
|
var {
|
|
37
37
|
app,
|
|
@@ -60,7 +60,7 @@ var defaultConnectors = function defaultConnectors2(param) {
|
|
|
60
60
|
iconUrl: app.icon
|
|
61
61
|
},
|
|
62
62
|
...((0, import_embeddedDesktop.isEmbeddedDesktopWebview)() ? (0, import_embeddedDesktop.metaMaskOptionsForEmbeddedDesktop)() : {})
|
|
63
|
-
}), (0,
|
|
63
|
+
}), (0, import_coinbaseWalletConnector.coinbaseWalletConnector)({
|
|
64
64
|
appName: app.name,
|
|
65
65
|
appLogoUrl: app.icon,
|
|
66
66
|
preference: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","defaultConnectors_exports","__export","default","defaultConnectors_default","module","exports","
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","defaultConnectors_exports","__export","default","defaultConnectors_default","module","exports","import_safe","require","import_metaMaskConnectConnector","import_embeddedDesktop","import_aaveAccountConnector","import_coinbaseWalletConnector","defaultConnectors","defaultConnectors2","param","app","coinbaseWalletPreference","enableAaveAccount","aaveAccountOptions","_window","shouldUseSafeConnector","window","parent","connectors","aaveAccountConnector","push","safe","allowedDomains","metaMaskConnect","dapp","name","url","iconUrl","icon","isEmbeddedDesktopWebview","metaMaskOptionsForEmbeddedDesktop","coinbaseWalletConnector","appName","appLogoUrl","preference","options","telemetry"],"sources":["../../../src/connectkit/defaultConnectors.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,yBAAA;AAAAC,QAAA,CAAAD,yBAAA;EAAAE,OAAA,EAAAA,CAAA,KAAAC;AAAA;AAIAC,MAAA,CAAAC,OAAA,GAAAV,YAAqB,CAAAK,yBAAA;AACrB,IAAAM,WAAA,GAAAC,OAAA,wBAAgC;AAChC,IAAAC,+BAGO,GAAAD,OAAA;AAGP,IAAAE,sBAAA,GAAAF,OAAqC;AACrC,IAAAG,2BAAA,GAAAH,OAAwC;AAcxC,IAAAI,8BAA2B,GAAAJ,OAAA;AAAA,IACzBK,iBAAA,YAAAC,mBAAAC,KAAA;EACA;IAAAC,GAAA;IAAAC,wBAAA;IAAAC,iBAAA;IAAAC;EAAA,IAAAJ,KAAA;EACA,IAAAK,OAAA;EACA,IAAAC,sBAAA,YAAAC,MAAA,uBAAAF,OAAA,GAAAE,MAAA,cAAAF,OAAA,uBAAAA,OAAA,CAAAG,MAAA,MAAAD,MAAA;EACF,IAAmDE,UAAA,GAAAN,iBAAA,IACjD,IAAMP,2BAA2B,CAAAc,oBAAkB,EAAAN,kBAAgB,CAAQ,CAE3E,KAAM;EAKN,IAAIE,sBAAA,EAAwB;IAC1BG,UAAA,CAAWE,IAAA,KAAAnB,WAAA,CAAAoB,IAAA;MAAAC,cACT,GACE,iBAAiB,EAClB;IAEL;EAEA;EAAWJ,UAAA,CAAAE,IAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAMO,EACd,EAAAjB,+BAAM,CAAAoB,eAAA;IAAAC,IACJ;MACAC,IAAA,EAAKf,GAAI,CAAAe,IAAA;MACTC,GAAA,EAAAhB,GAAA,CAASgB,GAAA;MACXC,OAAA,EAAAjB,GAAA,CAAAkB;IACA;IACD,QAAAxB,sBAAA,CAAAyB,wBAAA,UAAAzB,sBAAA,CAAA0B,iCAAA;EAAA,IACuB,EACtB,EAAAxB,8BAAa,CAAAyB,uBAAA;IACbC,OAAA,EAAAtB,GAAY,CAAAe,IAAI;IAChBQ,UAAA,EAAYvB,GAAA,CAAAkB,IAAA;IAAAM,UACV,EAAS;MACTC,OAAG;MACH,GAAAxB,wBAAW;MACbyB,SAAA;IACD;EACH,EAUA;EACF,OAAAlB,UAAA;AAEA","ignoreList":[]}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { coinbaseWallet } from "wagmi/connectors/coinbaseWallet";
|
|
2
|
+
const coinbaseWalletConnectorId = "coinbaseWalletSDK";
|
|
3
|
+
async function heldConnectorIds(storage) {
|
|
4
|
+
const persisted = await storage?.getItem("store");
|
|
5
|
+
const connections = persisted?.state?.connections;
|
|
6
|
+
if (!(connections instanceof Map)) return [];
|
|
7
|
+
return [...connections.values()].flatMap(connection => connection?.connector?.id ?? []);
|
|
8
|
+
}
|
|
9
|
+
function coinbaseWalletConnector(parameters) {
|
|
10
|
+
const base = coinbaseWallet(parameters);
|
|
11
|
+
return config => {
|
|
12
|
+
const connector = base(config);
|
|
13
|
+
const heldOnLoad = heldConnectorIds(config.storage).catch(() => []);
|
|
14
|
+
let picked = false;
|
|
15
|
+
const due = async () => {
|
|
16
|
+
if (picked) return true;
|
|
17
|
+
const [recent, held] = await Promise.all([config.storage?.getItem("recentConnectorId"), heldOnLoad]);
|
|
18
|
+
if (recent === coinbaseWalletConnectorId || held.includes(coinbaseWalletConnectorId)) picked = true;
|
|
19
|
+
return picked;
|
|
20
|
+
};
|
|
21
|
+
return {
|
|
22
|
+
...connector,
|
|
23
|
+
async setup() {
|
|
24
|
+
if (typeof window !== "undefined") void import("@coinbase/wallet-sdk").catch(() => void 0);
|
|
25
|
+
},
|
|
26
|
+
async connect(parameters2) {
|
|
27
|
+
picked = true;
|
|
28
|
+
return connector.connect.call(this, parameters2);
|
|
29
|
+
},
|
|
30
|
+
async getProvider(parameters2) {
|
|
31
|
+
if (!(await due())) return void 0;
|
|
32
|
+
return connector.getProvider.call(this, parameters2);
|
|
33
|
+
},
|
|
34
|
+
async isAuthorized() {
|
|
35
|
+
if (!(await due())) return false;
|
|
36
|
+
return connector.isAuthorized.call(this);
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
export { coinbaseWalletConnector, coinbaseWalletConnectorId };
|
|
42
|
+
//# sourceMappingURL=coinbaseWalletConnector.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["coinbaseWallet","coinbaseWalletConnectorId","heldConnectorIds","storage","persisted","getItem","connections","state","Map","values","flatMap","connection","connector","id","coinbaseWalletConnector","parameters","base","config","heldOnLoad","catch","picked","due","recent","held","Promise","all","includes","setup","window","connect","call","getProvider","isAuthorized"],"sources":["../../../../src/connectkit/connectors/coinbaseWalletConnector.ts"],"sourcesContent":[null],"mappings":"AASA,SAASA,cAAA,QAAqD;AAEvD,MAAMC,yBAAA,GAA4B;AAMzC,eAAeC,iBAAiBC,OAAA,EAAwD;EACtF,MAAMC,SAAA,GAAa,MAAMD,OAAA,EAASE,OAAA,CAAQ,OAAgB;EAI1D,MAAMC,WAAA,GAAcF,SAAA,EAAWG,KAAA,EAAOD,WAAA;EACtC,IAAI,EAAEA,WAAA,YAAuBE,GAAA,GAAM,OAAO,EAAC;EAC3C,OAAO,CAAC,GAAIF,WAAA,CAAiDG,MAAA,CAAO,CAAC,EAAEC,OAAA,CACpEC,UAAA,IAAeA,UAAA,EAAYC,SAAA,EAAWC,EAAA,IAAM,EAC/C;AACF;AAEO,SAASC,wBAAwBC,UAAA,EAA0D;EAChG,MAAMC,IAAA,GAAOhB,cAAA,CAAee,UAAU;EAEtC,OAAQE,MAAA,IAAW;IACjB,MAAML,SAAA,GAAYI,IAAA,CAAKC,MAAM;IAG7B,MAAMC,UAAA,GAAahB,gBAAA,CAAiBe,MAAA,CAAOd,OAAO,EAAEgB,KAAA,CAAM,MAAgB,EAAE;IAC5E,IAAIC,MAAA,GAAS;IACb,MAAMC,GAAA,GAAM,MAAAA,CAAA,KAAY;MACtB,IAAID,MAAA,EAAQ,OAAO;MACnB,MAAM,CAACE,MAAA,EAAQC,IAAI,IAAI,MAAMC,OAAA,CAAQC,GAAA,CAAI,CACvCR,MAAA,CAAOd,OAAA,EAASE,OAAA,CAAQ,mBAAmB,GAC3Ca,UAAA,CACD;MACD,IAAII,MAAA,KAAWrB,yBAAA,IAA6BsB,IAAA,CAAKG,QAAA,CAASzB,yBAAyB,GACjFmB,MAAA,GAAS;MACX,OAAOA,MAAA;IACT;IACA,OAAO;MACL,GAAGR,SAAA;MACH,MAAMe,MAAA,EAAQ;QAGZ,IAAI,OAAOC,MAAA,KAAW,aACpB,KAAK,OAAO,sBAAsB,EAAET,KAAA,CAAM,MAAM,MAAS;MAC7D;MACA,MAAMU,QAAQd,WAAA,EAAY;QACxBK,MAAA,GAAS;QACT,OAAOR,SAAA,CAAUiB,OAAA,CAAQC,IAAA,CAAK,MAAMf,WAAU;MAChD;MACA,MAAMgB,YAAYhB,WAAA,EAAY;QAC5B,IAAI,EAAE,MAAMM,GAAA,CAAI,IAAI,OAAO;QAC3B,OAAOT,SAAA,CAAUmB,WAAA,CAAYD,IAAA,CAAK,MAAMf,WAAU;MACpD;MACA,MAAMiB,aAAA,EAAe;QACnB,IAAI,EAAE,MAAMX,GAAA,CAAI,IAAI,OAAO;QAC3B,OAAOT,SAAA,CAAUoB,YAAA,CAAaF,IAAA,CAAK,IAAI;MACzC;IACF;EACF;AACF","ignoreList":[]}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { coinbaseWallet } from "wagmi/connectors/coinbaseWallet";
|
|
2
|
+
function _instanceof(left, right) {
|
|
3
|
+
"@swc/helpers - instanceof";
|
|
4
|
+
|
|
5
|
+
if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
|
|
6
|
+
return !!right[Symbol.hasInstance](left);
|
|
7
|
+
} else {
|
|
8
|
+
return left instanceof right;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
var coinbaseWalletConnectorId = "coinbaseWalletSDK";
|
|
12
|
+
async function heldConnectorIds(storage) {
|
|
13
|
+
var _persisted_state;
|
|
14
|
+
var persisted = await (storage === null || storage === void 0 ? void 0 : storage.getItem("store"));
|
|
15
|
+
var connections = persisted === null || persisted === void 0 ? void 0 : (_persisted_state = persisted.state) === null || _persisted_state === void 0 ? void 0 : _persisted_state.connections;
|
|
16
|
+
if (!_instanceof(connections, Map)) return [];
|
|
17
|
+
return [...connections.values()].flatMap(function (connection) {
|
|
18
|
+
var _ref;
|
|
19
|
+
var _connection_connector;
|
|
20
|
+
return (_ref = connection === null || connection === void 0 ? void 0 : (_connection_connector = connection.connector) === null || _connection_connector === void 0 ? void 0 : _connection_connector.id) !== null && _ref !== void 0 ? _ref : [];
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
function coinbaseWalletConnector(parameters) {
|
|
24
|
+
var base = coinbaseWallet(parameters);
|
|
25
|
+
return function (config) {
|
|
26
|
+
var connector = base(config);
|
|
27
|
+
var heldOnLoad = heldConnectorIds(config.storage).catch(function () {
|
|
28
|
+
return [];
|
|
29
|
+
});
|
|
30
|
+
var picked = false;
|
|
31
|
+
var due = async function due2() {
|
|
32
|
+
var _config_storage;
|
|
33
|
+
if (picked) return true;
|
|
34
|
+
var [recent, held] = await Promise.all([(_config_storage = config.storage) === null || _config_storage === void 0 ? void 0 : _config_storage.getItem("recentConnectorId"), heldOnLoad]);
|
|
35
|
+
if (recent === coinbaseWalletConnectorId || held.includes(coinbaseWalletConnectorId)) picked = true;
|
|
36
|
+
return picked;
|
|
37
|
+
};
|
|
38
|
+
return {
|
|
39
|
+
...connector,
|
|
40
|
+
async setup() {
|
|
41
|
+
if (typeof window !== "undefined") void import("@coinbase/wallet-sdk").catch(function () {
|
|
42
|
+
return void 0;
|
|
43
|
+
});
|
|
44
|
+
},
|
|
45
|
+
async connect(parameters2) {
|
|
46
|
+
picked = true;
|
|
47
|
+
return connector.connect.call(this, parameters2);
|
|
48
|
+
},
|
|
49
|
+
async getProvider(parameters2) {
|
|
50
|
+
if (!(await due())) return void 0;
|
|
51
|
+
return connector.getProvider.call(this, parameters2);
|
|
52
|
+
},
|
|
53
|
+
async isAuthorized() {
|
|
54
|
+
if (!(await due())) return false;
|
|
55
|
+
return connector.isAuthorized.call(this);
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
export { coinbaseWalletConnector, coinbaseWalletConnectorId };
|
|
61
|
+
//# sourceMappingURL=coinbaseWalletConnector.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["coinbaseWallet","_instanceof","left","right","Symbol","hasInstance","coinbaseWalletConnectorId","heldConnectorIds","storage","_persisted_state","persisted","getItem","connections","state","Map","values","flatMap","connection","_ref","_connection_connector","connector","id","coinbaseWalletConnector","parameters","base","config","heldOnLoad","catch","picked","due","due2","_config_storage","recent","held","Promise","all","includes","setup","window"],"sources":["../../../../src/connectkit/connectors/coinbaseWalletConnector.ts"],"sourcesContent":[null],"mappings":"AASA,SAASA,cAAA,QAAqD;AAEvD,SAAMC,YAAAC,IAAA,EAAAC,KAAA,EAA4B;EAMzC,2BAAe;;EACb,IAAAA,KAAM,YAAa,OAAMC,MAAS,gBAAwB,IAAAD,KAAA,CAAAC,MAAA,CAAAC,WAAA;IAI1D,OAAM,EAAAF,KAAA,CAAAC,MAAc,CAAAC,WAAW,EAAAH,IAAO;EACtC,OAAM;IACN,OAAQA,IAAI,YAAiDC,KAAO;EAAG;AACvB;AAElD,IAAAG,yBAAA;AAEO,eAASC,iBAAAC,OAAwB;EACtC,IAAAC,gBAAa;EAEb,IAAAC,SAAQ,UAAWF,OAAA,aAAAA,OAAA,uBAAAA,OAAA,CAAAG,OAAA;EACjB,IAAAC,WAAM,GAAAF,SAAiB,KAAM,QAAAA,SAAA,wBAAAD,gBAAA,GAAAC,SAAA,CAAAG,KAAA,cAAAJ,gBAAA,uBAAAA,gBAAA,CAAAG,WAAA;EAG7B,KAAAX,WAAM,CAAAW,WAAa,EAAAE,GAAA,UAAiB,EAAO;EAC3C,OAAI,CACJ,GAAAF,WAAY,CAAAG,MAAA,GACV,CAAAC,OAAI,WAAQC,UAAO;IACnB,IAAAC,IAAM;IAAmC,IACvCC,qBAAgB;IAA2B,OAC3C,CAAAD,IAAA,GAAAD,UAAA,aAAAA,UAAA,wBAAAE,qBAAA,GAAAF,UAAA,CAAAG,SAAA,cAAAD,qBAAA,uBAAAA,qBAAA,CAAAE,EAAA,cAAAH,IAAA,cAAAA,IAAA;EAAA;AAEF;AACE,SAAAI,uBAASA,CAAAC,UAAA;EACX,IAAAC,IAAA,GAAOxB,cAAA,CAAAuB,UAAA;EAAA,OACT,UAAAE,MAAA;IACA,IAAAL,SAAO,GAAAI,IAAA,CAAAC,MAAA;IAAA,IACLC,UAAG,GAAAnB,gBAAA,CAAAkB,MAAA,CAAAjB,OAAA,EAAAmB,KAAA;MACH,OAAM;IAGJ;IACE,IAAAC,MAAA,GAAK,KAAO;IAA6C,IAC7DC,GAAA,kBAAAC,KAAA;MACA,IAAAC,eAAc;MACZ,IAAAH,MAAA,EAAS;MACT,KAAAI,MAAO,EAAAC,IAAA,IAAU,MAAQC,OAAK,CAAAC,GAAM,EACtC,CAAAJ,eAAA,GAAAN,MAAA,CAAAjB,OAAA,cAAAuB,eAAA,uBAAAA,eAAA,CAAApB,OAAA,uBACAe,UAAM,CACJ;MACA,IAAAM,MAAO,KAAA1B,yBAA2B,IAAM2B,IAAA,CAAAG,QAAU,CAAA9B,yBAAA,GAAAsB,MAAA;MACpD,OAAAA,MAAA;IAAA;IAEE;MACA,GAAAR,SAAO;MACT,MAAAiB,MAAA;QACF,WAAAC,MAAA,sDAAAX,KAAA;UACF;QACF","ignoreList":[]}
|