@multiplatform.one/web3 7.16.0 → 7.18.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/dist/cjs/connectkit/components/Common/ConnectorList/index.cjs +33 -5
- package/dist/cjs/connectkit/components/Common/ConnectorList/index.native.js +38 -5
- package/dist/cjs/connectkit/components/Common/ConnectorList/index.native.js.map +1 -1
- package/dist/cjs/connectkit/components/ConnectButton/index.cjs +5 -0
- package/dist/cjs/connectkit/components/ConnectButton/index.native.js +5 -0
- package/dist/cjs/connectkit/components/ConnectButton/index.native.js.map +1 -1
- package/dist/cjs/connectkit/components/ConnectModal/ConnectWithInjector/index.cjs +9 -4
- package/dist/cjs/connectkit/components/ConnectModal/ConnectWithInjector/index.native.js +12 -7
- package/dist/cjs/connectkit/components/ConnectModal/ConnectWithInjector/index.native.js.map +1 -1
- package/dist/cjs/connectkit/index.cjs +5 -0
- package/dist/cjs/connectkit/index.native.js +5 -0
- package/dist/cjs/connectkit/index.native.js.map +1 -1
- package/dist/cjs/connectkit/openConnector/context.cjs +146 -0
- package/dist/cjs/connectkit/openConnector/context.native.js +188 -0
- package/dist/cjs/connectkit/openConnector/context.native.js.map +1 -0
- package/dist/cjs/connectkit/openConnector/device.cjs +42 -0
- package/dist/cjs/connectkit/openConnector/device.native.js +51 -0
- package/dist/cjs/connectkit/openConnector/device.native.js.map +1 -0
- package/dist/cjs/connectkit/openConnector/index.cjs +35 -0
- package/dist/cjs/connectkit/openConnector/index.native.js +38 -0
- package/dist/cjs/connectkit/openConnector/index.native.js.map +1 -0
- package/dist/cjs/connectkit/openConnector/launcher.cjs +133 -0
- package/dist/cjs/connectkit/openConnector/launcher.native.js +158 -0
- package/dist/cjs/connectkit/openConnector/launcher.native.js.map +1 -0
- package/dist/cjs/connectkit/screens.cjs +1 -10
- package/dist/cjs/connectkit/screens.native.js +1 -12
- package/dist/cjs/connectkit/screens.native.js.map +1 -1
- package/dist/cjs/connectkit/siwe/connectIntent.cjs +9 -5
- package/dist/cjs/connectkit/siwe/connectIntent.native.js +10 -3
- package/dist/cjs/connectkit/siwe/connectIntent.native.js.map +1 -1
- package/dist/cjs/connectkit/useWeb3Modal.cjs +21 -0
- package/dist/cjs/connectkit/useWeb3Modal.native.js +22 -0
- package/dist/cjs/connectkit/useWeb3Modal.native.js.map +1 -1
- package/dist/cjs/connectkit/web3Bridge.cjs +4 -1
- package/dist/cjs/connectkit/web3Bridge.native.js +4 -1
- package/dist/cjs/connectkit/web3Bridge.native.js.map +1 -1
- package/dist/cjs/connectkit/web3Provider.native.js.map +1 -1
- package/dist/esm/connectkit/components/Common/ConnectorList/index.mjs +34 -6
- package/dist/esm/connectkit/components/Common/ConnectorList/index.mjs.map +1 -1
- package/dist/esm/connectkit/components/Common/ConnectorList/index.native.js +39 -6
- package/dist/esm/connectkit/components/Common/ConnectorList/index.native.js.map +1 -1
- package/dist/esm/connectkit/components/ConnectButton/index.mjs +5 -0
- package/dist/esm/connectkit/components/ConnectButton/index.mjs.map +1 -1
- package/dist/esm/connectkit/components/ConnectButton/index.native.js +5 -0
- package/dist/esm/connectkit/components/ConnectButton/index.native.js.map +1 -1
- package/dist/esm/connectkit/components/ConnectModal/ConnectWithInjector/index.mjs +9 -4
- package/dist/esm/connectkit/components/ConnectModal/ConnectWithInjector/index.mjs.map +1 -1
- package/dist/esm/connectkit/components/ConnectModal/ConnectWithInjector/index.native.js +12 -7
- package/dist/esm/connectkit/components/ConnectModal/ConnectWithInjector/index.native.js.map +1 -1
- package/dist/esm/connectkit/index.mjs +3 -1
- package/dist/esm/connectkit/index.mjs.map +1 -1
- package/dist/esm/connectkit/index.native.js +3 -1
- package/dist/esm/connectkit/index.native.js.map +1 -1
- package/dist/esm/connectkit/openConnector/context.mjs +118 -0
- package/dist/esm/connectkit/openConnector/context.mjs.map +1 -0
- package/dist/esm/connectkit/openConnector/context.native.js +146 -0
- package/dist/esm/connectkit/openConnector/context.native.js.map +1 -0
- package/dist/esm/connectkit/openConnector/device.mjs +16 -0
- package/dist/esm/connectkit/openConnector/device.mjs.map +1 -0
- package/dist/esm/connectkit/openConnector/device.native.js +22 -0
- package/dist/esm/connectkit/openConnector/device.native.js.map +1 -0
- package/dist/esm/connectkit/openConnector/index.mjs +4 -0
- package/dist/esm/connectkit/openConnector/index.mjs.map +1 -0
- package/dist/esm/connectkit/openConnector/index.native.js +4 -0
- package/dist/esm/connectkit/openConnector/index.native.js.map +1 -0
- package/dist/esm/connectkit/openConnector/launcher.mjs +106 -0
- package/dist/esm/connectkit/openConnector/launcher.mjs.map +1 -0
- package/dist/esm/connectkit/openConnector/launcher.native.js +128 -0
- package/dist/esm/connectkit/openConnector/launcher.native.js.map +1 -0
- package/dist/esm/connectkit/screens.mjs +2 -11
- package/dist/esm/connectkit/screens.mjs.map +1 -1
- package/dist/esm/connectkit/screens.native.js +2 -13
- package/dist/esm/connectkit/screens.native.js.map +1 -1
- package/dist/esm/connectkit/siwe/connectIntent.mjs +9 -6
- package/dist/esm/connectkit/siwe/connectIntent.mjs.map +1 -1
- package/dist/esm/connectkit/siwe/connectIntent.native.js +10 -4
- package/dist/esm/connectkit/siwe/connectIntent.native.js.map +1 -1
- package/dist/esm/connectkit/useWeb3Modal.mjs +22 -1
- package/dist/esm/connectkit/useWeb3Modal.mjs.map +1 -1
- package/dist/esm/connectkit/useWeb3Modal.native.js +23 -1
- package/dist/esm/connectkit/useWeb3Modal.native.js.map +1 -1
- package/dist/esm/connectkit/web3Bridge.mjs +4 -1
- package/dist/esm/connectkit/web3Bridge.mjs.map +1 -1
- package/dist/esm/connectkit/web3Bridge.native.js +4 -1
- package/dist/esm/connectkit/web3Bridge.native.js.map +1 -1
- package/dist/esm/connectkit/web3Provider.mjs.map +1 -1
- package/dist/esm/connectkit/web3Provider.native.js.map +1 -1
- package/dist/jsx/connectkit/components/Common/ConnectorList/index.mjs +34 -6
- package/dist/jsx/connectkit/components/Common/ConnectorList/index.mjs.map +1 -1
- package/dist/jsx/connectkit/components/Common/ConnectorList/index.native.js +38 -5
- package/dist/jsx/connectkit/components/Common/ConnectorList/index.native.js.map +1 -1
- package/dist/jsx/connectkit/components/ConnectButton/index.mjs +5 -0
- package/dist/jsx/connectkit/components/ConnectButton/index.mjs.map +1 -1
- package/dist/jsx/connectkit/components/ConnectButton/index.native.js +5 -0
- package/dist/jsx/connectkit/components/ConnectButton/index.native.js.map +1 -1
- package/dist/jsx/connectkit/components/ConnectModal/ConnectWithInjector/index.mjs +9 -4
- package/dist/jsx/connectkit/components/ConnectModal/ConnectWithInjector/index.mjs.map +1 -1
- package/dist/jsx/connectkit/components/ConnectModal/ConnectWithInjector/index.native.js +12 -7
- package/dist/jsx/connectkit/components/ConnectModal/ConnectWithInjector/index.native.js.map +1 -1
- package/dist/jsx/connectkit/index.mjs +3 -1
- package/dist/jsx/connectkit/index.mjs.map +1 -1
- package/dist/jsx/connectkit/index.native.js +5 -0
- package/dist/jsx/connectkit/index.native.js.map +1 -1
- package/dist/jsx/connectkit/openConnector/context.mjs +118 -0
- package/dist/jsx/connectkit/openConnector/context.mjs.map +1 -0
- package/dist/jsx/connectkit/openConnector/context.native.js +188 -0
- package/dist/jsx/connectkit/openConnector/context.native.js.map +1 -0
- package/dist/jsx/connectkit/openConnector/device.mjs +16 -0
- package/dist/jsx/connectkit/openConnector/device.mjs.map +1 -0
- package/dist/jsx/connectkit/openConnector/device.native.js +51 -0
- package/dist/jsx/connectkit/openConnector/device.native.js.map +1 -0
- package/dist/jsx/connectkit/openConnector/index.mjs +4 -0
- package/dist/jsx/connectkit/openConnector/index.mjs.map +1 -0
- package/dist/jsx/connectkit/openConnector/index.native.js +38 -0
- package/dist/jsx/connectkit/openConnector/index.native.js.map +1 -0
- package/dist/jsx/connectkit/openConnector/launcher.mjs +106 -0
- package/dist/jsx/connectkit/openConnector/launcher.mjs.map +1 -0
- package/dist/jsx/connectkit/openConnector/launcher.native.js +158 -0
- package/dist/jsx/connectkit/openConnector/launcher.native.js.map +1 -0
- package/dist/jsx/connectkit/screens.mjs +2 -11
- package/dist/jsx/connectkit/screens.mjs.map +1 -1
- package/dist/jsx/connectkit/screens.native.js +1 -12
- package/dist/jsx/connectkit/screens.native.js.map +1 -1
- package/dist/jsx/connectkit/siwe/connectIntent.mjs +9 -6
- package/dist/jsx/connectkit/siwe/connectIntent.mjs.map +1 -1
- package/dist/jsx/connectkit/siwe/connectIntent.native.js +10 -3
- package/dist/jsx/connectkit/siwe/connectIntent.native.js.map +1 -1
- package/dist/jsx/connectkit/useWeb3Modal.mjs +22 -1
- package/dist/jsx/connectkit/useWeb3Modal.mjs.map +1 -1
- package/dist/jsx/connectkit/useWeb3Modal.native.js +22 -0
- package/dist/jsx/connectkit/useWeb3Modal.native.js.map +1 -1
- package/dist/jsx/connectkit/web3Bridge.mjs +4 -1
- package/dist/jsx/connectkit/web3Bridge.mjs.map +1 -1
- package/dist/jsx/connectkit/web3Bridge.native.js +4 -1
- package/dist/jsx/connectkit/web3Bridge.native.js.map +1 -1
- package/dist/jsx/connectkit/web3Provider.mjs.map +1 -1
- package/dist/jsx/connectkit/web3Provider.native.js.map +1 -1
- package/package.json +7 -6
- package/src/connectkit/components/Common/ConnectorList/index.tsx +30 -2
- package/src/connectkit/components/ConnectButton/index.tsx +5 -0
- package/src/connectkit/components/ConnectModal/ConnectWithInjector/index.tsx +13 -8
- package/src/connectkit/index.ts +8 -0
- package/src/connectkit/openConnector/context.tsx +176 -0
- package/src/connectkit/openConnector/device.spec.ts +86 -0
- package/src/connectkit/openConnector/device.ts +37 -0
- package/src/connectkit/openConnector/index.ts +18 -0
- package/src/connectkit/openConnector/launcher.spec.ts +325 -0
- package/src/connectkit/openConnector/launcher.ts +203 -0
- package/src/connectkit/openConnector/modal.spec.tsx +330 -0
- package/src/connectkit/screens.tsx +2 -11
- package/src/connectkit/siwe/connectIntent.spec.ts +90 -0
- package/src/connectkit/siwe/connectIntent.ts +19 -6
- package/src/connectkit/useWeb3Modal.ts +25 -1
- package/src/connectkit/web3Bridge.tsx +4 -1
- package/src/connectkit/web3Provider.tsx +4 -1
- package/types/connectkit/components/Common/ConnectorList/index.d.ts.map +1 -1
- package/types/connectkit/components/ConnectButton/index.d.ts.map +1 -1
- package/types/connectkit/components/ConnectModal/ConnectWithInjector/index.d.ts.map +1 -1
- package/types/connectkit/index.d.ts +2 -0
- package/types/connectkit/index.d.ts.map +1 -1
- package/types/connectkit/openConnector/context.d.ts +48 -0
- package/types/connectkit/openConnector/context.d.ts.map +1 -0
- package/types/connectkit/openConnector/device.d.ts +18 -0
- package/types/connectkit/openConnector/device.d.ts.map +1 -0
- package/types/connectkit/openConnector/index.d.ts +3 -0
- package/types/connectkit/openConnector/index.d.ts.map +1 -0
- package/types/connectkit/openConnector/launcher.d.ts +64 -0
- package/types/connectkit/openConnector/launcher.d.ts.map +1 -0
- package/types/connectkit/screens.d.ts.map +1 -1
- package/types/connectkit/siwe/connectIntent.d.ts +8 -3
- package/types/connectkit/siwe/connectIntent.d.ts.map +1 -1
- package/types/connectkit/useWeb3Modal.d.ts +16 -0
- package/types/connectkit/useWeb3Modal.d.ts.map +1 -1
- package/types/connectkit/web3Bridge.d.ts.map +1 -1
- package/types/connectkit/web3Provider.d.ts +4 -1
- package/types/connectkit/web3Provider.d.ts.map +1 -1
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all) __defProp(target, name, {
|
|
7
|
+
get: all[name],
|
|
8
|
+
enumerable: true
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
14
|
+
get: () => from[key],
|
|
15
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
21
|
+
value: true
|
|
22
|
+
}), mod);
|
|
23
|
+
var context_exports = {};
|
|
24
|
+
__export(context_exports, {
|
|
25
|
+
ConnectorLauncherProvider: () => ConnectorLauncherProvider,
|
|
26
|
+
getMobileOptions: () => getMobileOptions,
|
|
27
|
+
resolveWallet: () => resolveWallet,
|
|
28
|
+
useConnectorLauncher: () => useConnectorLauncher
|
|
29
|
+
});
|
|
30
|
+
module.exports = __toCommonJS(context_exports);
|
|
31
|
+
var import_react = require("react");
|
|
32
|
+
var import_wagmi = require("wagmi");
|
|
33
|
+
var import_connectkit = require("@multiplatform.one/connectkit");
|
|
34
|
+
var import_useConnect = require("../hooks/useConnect.cjs");
|
|
35
|
+
var import_useConnectors = require("../hooks/useConnectors.cjs");
|
|
36
|
+
var import_useWallets = require("../wallets/useWallets.cjs");
|
|
37
|
+
var import_connectIntent = require("../siwe/connectIntent.cjs");
|
|
38
|
+
var import_device = require("./device.cjs");
|
|
39
|
+
var import_launcher = require("./launcher.cjs");
|
|
40
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
41
|
+
const ConnectorLauncherContext = (0, import_react.createContext)(null);
|
|
42
|
+
function useConnectorLauncher() {
|
|
43
|
+
return (0, import_react.useContext)(ConnectorLauncherContext);
|
|
44
|
+
}
|
|
45
|
+
function getMobileOptions(options) {
|
|
46
|
+
return options?.mobile ?? {};
|
|
47
|
+
}
|
|
48
|
+
function resolveWallet(wallets, connectors, id) {
|
|
49
|
+
const direct = wallets.find(wallet => wallet.id === id);
|
|
50
|
+
if (direct) return direct;
|
|
51
|
+
const connector = connectors.find(c => c.id === id);
|
|
52
|
+
if (!connector) return void 0;
|
|
53
|
+
const rdns = connector.rdns === void 0 ? [] : [connector.rdns].flat();
|
|
54
|
+
return wallets.find(wallet => rdns.includes(wallet.id));
|
|
55
|
+
}
|
|
56
|
+
const ConnectorLauncherProvider = ({
|
|
57
|
+
children
|
|
58
|
+
}) => {
|
|
59
|
+
const context = (0, import_connectkit.useContext)();
|
|
60
|
+
const wallets = (0, import_useWallets.useWallets)();
|
|
61
|
+
const {
|
|
62
|
+
connectAsync
|
|
63
|
+
} = (0, import_useConnect.useConnect)();
|
|
64
|
+
const connectors = (0, import_useConnectors.useConnectors)();
|
|
65
|
+
const depsRef = (0, import_react.useRef)(null);
|
|
66
|
+
depsRef.current = {
|
|
67
|
+
connect: connector => connectAsync({
|
|
68
|
+
connector
|
|
69
|
+
}),
|
|
70
|
+
showConnecting: walletId => {
|
|
71
|
+
context.setConnector({
|
|
72
|
+
id: walletId
|
|
73
|
+
});
|
|
74
|
+
context.setRoute(import_connectkit.routes.CONNECT);
|
|
75
|
+
context.setOpen(true);
|
|
76
|
+
},
|
|
77
|
+
showList: () => {
|
|
78
|
+
context.setRoute(import_connectkit.routes.CONNECTORS);
|
|
79
|
+
context.setOpen(true);
|
|
80
|
+
},
|
|
81
|
+
onFailed: () => (0, import_connectIntent.clearConnectIntent)()
|
|
82
|
+
};
|
|
83
|
+
const latest = (0, import_react.useRef)({
|
|
84
|
+
wallets,
|
|
85
|
+
connectors,
|
|
86
|
+
options: context.options
|
|
87
|
+
});
|
|
88
|
+
latest.current = {
|
|
89
|
+
wallets,
|
|
90
|
+
connectors,
|
|
91
|
+
options: context.options
|
|
92
|
+
};
|
|
93
|
+
const launcher = (0, import_react.useMemo)(() => (0, import_launcher.createConnectorLauncher)(() => depsRef.current), []);
|
|
94
|
+
(0, import_react.useEffect)(() => () => launcher.cancel(), [launcher]);
|
|
95
|
+
const pending = (0, import_react.useSyncExternalStore)(launcher.subscribe, launcher.pending, launcher.pending);
|
|
96
|
+
const {
|
|
97
|
+
open,
|
|
98
|
+
route
|
|
99
|
+
} = context;
|
|
100
|
+
const shownId = context.connector?.id;
|
|
101
|
+
(0, import_react.useEffect)(() => {
|
|
102
|
+
if (!pending) return;
|
|
103
|
+
if (!open || route !== import_connectkit.routes.CONNECT || shownId !== pending.walletId) launcher.cancel();
|
|
104
|
+
}, [launcher, pending, open, route, shownId]);
|
|
105
|
+
(0, import_wagmi.useAccountEffect)({
|
|
106
|
+
onConnect: () => launcher.cancel()
|
|
107
|
+
});
|
|
108
|
+
const openConnector = (0, import_react.useCallback)((id, options = {}) => {
|
|
109
|
+
const {
|
|
110
|
+
wallets: wallets2,
|
|
111
|
+
connectors: connectors2
|
|
112
|
+
} = latest.current;
|
|
113
|
+
const wallet = resolveWallet(wallets2, connectors2, id);
|
|
114
|
+
if (!wallet) {
|
|
115
|
+
context.log(`openConnector: no connector ${id}, showing the wallet list.`);
|
|
116
|
+
depsRef.current.showList();
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
(0, import_connectIntent.setConnectIntent)();
|
|
120
|
+
launcher.open(wallet.id, wallet.connector, {
|
|
121
|
+
fallbackMs: options.fallbackMs ?? (0, import_device.defaultOpenConnectorFallbackMs)()
|
|
122
|
+
});
|
|
123
|
+
},
|
|
124
|
+
// context.log is stable enough for a debug line; the rest is read through refs.
|
|
125
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
126
|
+
[launcher]);
|
|
127
|
+
const openPreferredConnector = (0, import_react.useCallback)(() => {
|
|
128
|
+
const mobile = getMobileOptions(latest.current.options);
|
|
129
|
+
if (!mobile.preferredConnector || !(0, import_connectkit.isMobile)()) return false;
|
|
130
|
+
openConnector(mobile.preferredConnector, {
|
|
131
|
+
fallbackMs: mobile.fallbackMs
|
|
132
|
+
});
|
|
133
|
+
return true;
|
|
134
|
+
}, [openConnector]);
|
|
135
|
+
const value = (0, import_react.useMemo)(() => ({
|
|
136
|
+
openConnector,
|
|
137
|
+
openPreferredConnector,
|
|
138
|
+
pendingConnector: pending?.walletId ?? null,
|
|
139
|
+
pendingDeeplink: pending?.deeplink ?? null,
|
|
140
|
+
pending
|
|
141
|
+
}), [openConnector, openPreferredConnector, pending]);
|
|
142
|
+
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(ConnectorLauncherContext.Provider, {
|
|
143
|
+
value,
|
|
144
|
+
children
|
|
145
|
+
});
|
|
146
|
+
};
|
|
@@ -0,0 +1,188 @@
|
|
|
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 context_exports = {};
|
|
37
|
+
__export(context_exports, {
|
|
38
|
+
ConnectorLauncherProvider: () => ConnectorLauncherProvider,
|
|
39
|
+
getMobileOptions: () => getMobileOptions,
|
|
40
|
+
resolveWallet: () => resolveWallet,
|
|
41
|
+
useConnectorLauncher: () => useConnectorLauncher
|
|
42
|
+
});
|
|
43
|
+
module.exports = __toCommonJS(context_exports);
|
|
44
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
45
|
+
var import_react = __toESM(require("react"));
|
|
46
|
+
var import_wagmi = require("wagmi");
|
|
47
|
+
var import_connectkit = require("@multiplatform.one/connectkit");
|
|
48
|
+
var import_useConnect = require("../hooks/useConnect.native.js");
|
|
49
|
+
var import_useConnectors = require("../hooks/useConnectors.native.js");
|
|
50
|
+
var import_useWallets = require("../wallets/useWallets.native.js");
|
|
51
|
+
var import_connectIntent = require("../siwe/connectIntent.native.js");
|
|
52
|
+
var import_device = require("./device.native.js");
|
|
53
|
+
var import_launcher = require("./launcher.native.js");
|
|
54
|
+
var ConnectorLauncherContext = /* @__PURE__ */(0, import_react.createContext)(null);
|
|
55
|
+
function useConnectorLauncher() {
|
|
56
|
+
return (0, import_react.useContext)(ConnectorLauncherContext);
|
|
57
|
+
}
|
|
58
|
+
function getMobileOptions(options) {
|
|
59
|
+
var _ref;
|
|
60
|
+
return (_ref = options === null || options === void 0 ? void 0 : options.mobile) !== null && _ref !== void 0 ? _ref : {};
|
|
61
|
+
}
|
|
62
|
+
function resolveWallet(wallets, connectors, id) {
|
|
63
|
+
var direct = wallets.find(function (wallet) {
|
|
64
|
+
return wallet.id === id;
|
|
65
|
+
});
|
|
66
|
+
if (direct) return direct;
|
|
67
|
+
var connector = connectors.find(function (c) {
|
|
68
|
+
return c.id === id;
|
|
69
|
+
});
|
|
70
|
+
if (!connector) return void 0;
|
|
71
|
+
var rdns = connector.rdns === void 0 ? [] : [connector.rdns].flat();
|
|
72
|
+
return wallets.find(function (wallet) {
|
|
73
|
+
return rdns.includes(wallet.id);
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
var ConnectorLauncherProvider = function ConnectorLauncherProvider2(param) {
|
|
77
|
+
var {
|
|
78
|
+
children
|
|
79
|
+
} = param;
|
|
80
|
+
var _context_connector;
|
|
81
|
+
var context = (0, import_connectkit.useContext)();
|
|
82
|
+
var wallets = (0, import_useWallets.useWallets)();
|
|
83
|
+
var {
|
|
84
|
+
connectAsync
|
|
85
|
+
} = (0, import_useConnect.useConnect)();
|
|
86
|
+
var connectors = (0, import_useConnectors.useConnectors)();
|
|
87
|
+
var depsRef = (0, import_react.useRef)(null);
|
|
88
|
+
depsRef.current = {
|
|
89
|
+
connect: function connect(connector) {
|
|
90
|
+
return connectAsync({
|
|
91
|
+
connector
|
|
92
|
+
});
|
|
93
|
+
},
|
|
94
|
+
showConnecting: function showConnecting(walletId) {
|
|
95
|
+
context.setConnector({
|
|
96
|
+
id: walletId
|
|
97
|
+
});
|
|
98
|
+
context.setRoute(import_connectkit.routes.CONNECT);
|
|
99
|
+
context.setOpen(true);
|
|
100
|
+
},
|
|
101
|
+
showList: function showList() {
|
|
102
|
+
context.setRoute(import_connectkit.routes.CONNECTORS);
|
|
103
|
+
context.setOpen(true);
|
|
104
|
+
},
|
|
105
|
+
onFailed: function onFailed() {
|
|
106
|
+
return (0, import_connectIntent.clearConnectIntent)();
|
|
107
|
+
}
|
|
108
|
+
};
|
|
109
|
+
var latest = (0, import_react.useRef)({
|
|
110
|
+
wallets,
|
|
111
|
+
connectors,
|
|
112
|
+
options: context.options
|
|
113
|
+
});
|
|
114
|
+
latest.current = {
|
|
115
|
+
wallets,
|
|
116
|
+
connectors,
|
|
117
|
+
options: context.options
|
|
118
|
+
};
|
|
119
|
+
var launcher = (0, import_react.useMemo)(function () {
|
|
120
|
+
return (0, import_launcher.createConnectorLauncher)(function () {
|
|
121
|
+
return depsRef.current;
|
|
122
|
+
});
|
|
123
|
+
}, []);
|
|
124
|
+
(0, import_react.useEffect)(function () {
|
|
125
|
+
return function () {
|
|
126
|
+
return launcher.cancel();
|
|
127
|
+
};
|
|
128
|
+
}, [launcher]);
|
|
129
|
+
var pending = (0, import_react.useSyncExternalStore)(launcher.subscribe, launcher.pending, launcher.pending);
|
|
130
|
+
var {
|
|
131
|
+
open,
|
|
132
|
+
route
|
|
133
|
+
} = context;
|
|
134
|
+
var shownId = (_context_connector = context.connector) === null || _context_connector === void 0 ? void 0 : _context_connector.id;
|
|
135
|
+
(0, import_react.useEffect)(function () {
|
|
136
|
+
if (!pending) return;
|
|
137
|
+
if (!open || route !== import_connectkit.routes.CONNECT || shownId !== pending.walletId) launcher.cancel();
|
|
138
|
+
}, [launcher, pending, open, route, shownId]);
|
|
139
|
+
(0, import_wagmi.useAccountEffect)({
|
|
140
|
+
onConnect: function onConnect() {
|
|
141
|
+
return launcher.cancel();
|
|
142
|
+
}
|
|
143
|
+
});
|
|
144
|
+
var openConnector = (0, import_react.useCallback)(function (id) {
|
|
145
|
+
var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
146
|
+
var _options_fallbackMs;
|
|
147
|
+
var {
|
|
148
|
+
wallets: wallets2,
|
|
149
|
+
connectors: connectors2
|
|
150
|
+
} = latest.current;
|
|
151
|
+
var wallet = resolveWallet(wallets2, connectors2, id);
|
|
152
|
+
if (!wallet) {
|
|
153
|
+
context.log(`openConnector: no connector ${id}, showing the wallet list.`);
|
|
154
|
+
depsRef.current.showList();
|
|
155
|
+
return;
|
|
156
|
+
}
|
|
157
|
+
(0, import_connectIntent.setConnectIntent)();
|
|
158
|
+
launcher.open(wallet.id, wallet.connector, {
|
|
159
|
+
fallbackMs: (_options_fallbackMs = options.fallbackMs) !== null && _options_fallbackMs !== void 0 ? _options_fallbackMs : (0, import_device.defaultOpenConnectorFallbackMs)()
|
|
160
|
+
});
|
|
161
|
+
},
|
|
162
|
+
// context.log is stable enough for a debug line; the rest is read through refs.
|
|
163
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
164
|
+
[launcher]);
|
|
165
|
+
var openPreferredConnector = (0, import_react.useCallback)(function () {
|
|
166
|
+
var mobile = getMobileOptions(latest.current.options);
|
|
167
|
+
if (!mobile.preferredConnector || !(0, import_connectkit.isMobile)()) return false;
|
|
168
|
+
openConnector(mobile.preferredConnector, {
|
|
169
|
+
fallbackMs: mobile.fallbackMs
|
|
170
|
+
});
|
|
171
|
+
return true;
|
|
172
|
+
}, [openConnector]);
|
|
173
|
+
var value = (0, import_react.useMemo)(function () {
|
|
174
|
+
var _ref, _ref1;
|
|
175
|
+
return {
|
|
176
|
+
openConnector,
|
|
177
|
+
openPreferredConnector,
|
|
178
|
+
pendingConnector: (_ref = pending === null || pending === void 0 ? void 0 : pending.walletId) !== null && _ref !== void 0 ? _ref : null,
|
|
179
|
+
pendingDeeplink: (_ref1 = pending === null || pending === void 0 ? void 0 : pending.deeplink) !== null && _ref1 !== void 0 ? _ref1 : null,
|
|
180
|
+
pending
|
|
181
|
+
};
|
|
182
|
+
}, [openConnector, openPreferredConnector, pending]);
|
|
183
|
+
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(ConnectorLauncherContext.Provider, {
|
|
184
|
+
value,
|
|
185
|
+
children
|
|
186
|
+
});
|
|
187
|
+
};
|
|
188
|
+
//# sourceMappingURL=context.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["to","__toESM","mod","isNodeMode","target","__create","__getProtoOf","__copyProps","__esModule","__defProp","value","enumerable","__toCommonJS","context_exports","__export","ConnectorLauncherProvider","getMobileOptions","resolveWallet","useConnectorLauncher","module","exports","import_jsx_runtime","require","import_react","import_wagmi","import_connectkit","import_useConnect","import_useConnectors","import_useWallets","import_connectIntent","import_device","import_launcher","ConnectorLauncherContext","createContext","useContext","options","_ref","mobile","wallets","connectors","id","direct","find","wallet","connector","c","rdns","flat","includes","ConnectorLauncherProvider2","param","children","_context_connector","context","useWallets","connectAsync","useConnect","useConnectors","depsRef","useRef","current","connect","showConnecting","walletId","setConnector","setRoute","routes","CONNECT","setOpen","showList","CONNECTORS","onFailed","clearConnectIntent","latest","launcher","useMemo","createConnectorLauncher","useEffect","cancel"],"sources":["../../../../src/connectkit/openConnector/context.tsx"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;EAAA,OAAAA,EAAA;AAAA;AAAA,IAAAC,OAAA,GAAAA,CAAAC,GAAA,EAAAC,UAAA,EAAAC,MAAA,MAAAA,MAAA,GAAAF,GAAA,WAAAG,QAAA,CAAAC,YAAA,CAAAJ,GAAA,SAAAK,WAAA;AAAA;AAAA;AAAA;AAAA;AAAAJ,UAAA,KAAAD,GAAA,KAAAA,GAAA,CAAAM,UAAA,GAAAC,SAAA,CAAAL,MAAA;EAAAM,KAAA,EAAAR,GAAA;EAAAS,UAAA;AAAA,KAAAP,MAAA,EAAAF,GASA;AACA,IAAAU,YAAA,GAAAV,GAAA,IAKOK,WAAA,CAAAE,SAAA;EAAAC,KAAA;AAAA,IAAAR,GAAA;AAEP,IAAAW,eAAA,KAA2B;AAC3BC,QAAA,CAAAD,eAAA;EACAE,yBAA6C,EAAAA,CAAA,KAAAA,yBAAA;EAC7CC,gBAAA,EAAAA,CAAA,KAAAA,gBAAqD;EACrDC,aAAA,EAAAA,CAAA,KAA+CA,aAAA;EAC/CC,oBAKO,EAAAA,CAAA,KAAAA;AAkJH;AA/GJC,MAAM,CAAAC,OAAA,GAAAR,YAAA,CAAAC,eAA2B;AAG1B,IAAAQ,kBAAS,GAAAC,OAAsD;AACpE,IAAAC,YAAO,GAAAtB,OAAA,CAAAqB,OAAA,QAAgB;AACzB,IAAAE,YAAA,GAAAF,OAAA;AAEO,IAAAG,iBAAS,GAAAH,OAAiB,gCAAmD;AAClF,IAAAI,iBAAuD,GAAAJ,OAAW;AACpE,IAAAK,oBAAA,GAAAL,OAAA;AAOO,IAAAM,iBAAS,GACdN,OAAA,CACA,iCAEyB;AACzB,IAAAO,oBAAe,GAAQP,OAAM,kCAA2B;AACxD,IAAAQ,aAAY,GAAAR,OAAO;AACnB,IAAAS,eAAM,GAAYT,OAAA,uBAAiB,CAAM;AACzC,IAAAU,wBAAuB,sBAAAT,YAAA,CAAAU,aAAA;AACvB,SAAMf,oBAAiBA,CAAA;EACvB,OAAO,IAAAK,YAAc,CAAAW,UAAW,EAAAF,wBAAwB;AAC1D;AAEO,SAAMhB,iBAAAmB,OAAA,EAAsE;EACjF,IAAAC,IAAA;EACF,OAAM,CAAAA,IAAA,GAAAD,OAAA,aAAAA,OAAA,uBAAAA,OAAA,CAAAE,MAAA,cAAAD,IAAA,cAAAA,IAAA;AACJ;AACA,SAAMnB,aAAUA,CAAAqB,OAAA,EAAAC,UAAA,EAAAC,EAAA;EAChB,IAAAC,MAAQ,GAAAH,OAAA,CAAaI,IAAA,WAAIC,MAAA;IACzB,OAAMA,MAAA,CAAAH,EAAA,KAAaA,EAAA;EAEnB;EACA,IAAAC,MAAQ,SAAUA,MAAA;EAAA,IAChBG,SAAU,GAAAL,UAAc,CAAAG,IAAA,WAAeG,CAAA;IACvC,OAAAA,CAAA,CAAAL,EAAA,KAAgBA,EAAC;EACf;EACA,KAAAI,SAAQ,SAAS;EACjB,IAAAE,IAAA,GAAAF,SAAgB,CAAAE,IAAI,oBACtBF,SAAA,CAAAE,IAAA,EACAC,IAAA;EACE,OAAAT,OAAQ,CAAAI,IAAA,WAASC,MAAA;IACjB,OAAAG,IAAQ,CAAAE,QAAQ,CAAAL,MAAI,CAAAH,EAAA;EAAA,EACtB;AAAA;AACmC,IACrCzB,yBAAA,YAAAkC,2BAAAC,KAAA;EACA;IAAMC;EAAA,IAASD,KAAA;EACf,IAAAE,kBAAmB;EAEnB,IAAAC,OAAM,OAAA5B,iBAAW,CAAAS,UAAQ;EACzB,IAAAI,OAAA,OAAAV,iBAAgB,CAAA0B,UAAM,GAAS;EAC/B;IAAMC;EAAA,CAAU,OAAA7B,iBAAA,CAAA8B,UAAqB;EAIrC,IAAAjB,UAAc,OAAMZ,oBAAI,CAAA8B,aAAA;EACxB,IAAAC,OAAM,KAAU,EAAAnC,YAAQ,CAAAoC,MAAW;EACnCD,OAAA,CAAAE,OAAA;IACEC,OAAK,WAASA,QAAAjB,SAAA;MACd,OAAKW,YAAQ;QACXX;MAIJ;IAEA;IACEkB,cAAa,EAAiC,SAAMA,eAAAC,QAAA;MAClDV,OAAM,CAAEW,YAAA;QACRxB,EAAA,EAAMuB;MACN;MACEV,OAAA,CAAAY,QAAY,CAAAxC,iBAAA,CAAAyC,MAAA,CAAAC,OAAiC;MAC7Cd,OAAA,CAAAe,OAAQ,KAAQ;IAChB;IAAAC,QACF,WAAAA,SAAA;MAGAhB,OAAA,CAAAY,QAAA,CAAAxC,iBAAA,CAAAyC,MAAA,CAAAI,UAAiB;MACjBjB,OAAA,CAAAe,OAAc,MAAO;IAAsB;IACwBG,QAClE,WAAAA,SAAA;MACH,WAAA1C,oBAAA,CAAA2C,kBAAA;IAAA;EAAA;EAAA,IAGCC,MAAA,GAAQ,IAAAlD,YAAA,CAAAoC,MAAA;IACXrB,OAAA;IAEAC,UAAM;IACJJ,OAAM,EAAAkB,OAAS,CAAAlB;EACf;EACAsC,MAAA,CAAAb,OAAA,GAAc;IACdtB,OAAO;IACTC,UAAI;IAEJJ,OAAM,EAAAkB,OAAQ,CAAAlB;EAAA;EACL,IACLuC,QAAA,OAAAnD,YAAA,CAAAoD,OAAA;IAAA,OACA,IAAA5C,eAAA,CAAA6C,uBAAA;MACA,OAAAlB,OAAA,CAAAE,OAAkB;IAAqB,EACvC;EAAsC,KACtC;EAAA,EACF,EAAArC,YAAA,CAAAsD,SAAA;IACA,OAAC,YAAe;MAClB,OAAAH,QAAA,CAAAI,MAAA;IAEA;EAGF,I","ignoreList":[]}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all) __defProp(target, name, {
|
|
7
|
+
get: all[name],
|
|
8
|
+
enumerable: true
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
14
|
+
get: () => from[key],
|
|
15
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
21
|
+
value: true
|
|
22
|
+
}), mod);
|
|
23
|
+
var device_exports = {};
|
|
24
|
+
__export(device_exports, {
|
|
25
|
+
defaultOpenConnectorFallbackMs: () => defaultOpenConnectorFallbackMs,
|
|
26
|
+
isTouchDevice: () => isTouchDevice
|
|
27
|
+
});
|
|
28
|
+
module.exports = __toCommonJS(device_exports);
|
|
29
|
+
var import_connectkit = require("@multiplatform.one/connectkit");
|
|
30
|
+
var import_launcher = require("./launcher.cjs");
|
|
31
|
+
function isTouchDevice(nav = typeof navigator === "undefined" ? null : navigator, matchMedia = typeof window === "undefined" || !window.matchMedia ? null : query => window.matchMedia(query)) {
|
|
32
|
+
if (!nav || (nav.maxTouchPoints ?? 0) < 2) return false;
|
|
33
|
+
if (/Macintosh/.test(nav.userAgent ?? "")) return true;
|
|
34
|
+
try {
|
|
35
|
+
return matchMedia?.("(pointer: coarse)").matches ?? false;
|
|
36
|
+
} catch {
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
function defaultOpenConnectorFallbackMs() {
|
|
41
|
+
return (0, import_connectkit.isMobile)() || isTouchDevice() ? import_launcher.DEFAULT_OPEN_CONNECTOR_FALLBACK_MS : import_launcher.DEFAULT_DESKTOP_OPEN_CONNECTOR_FALLBACK_MS;
|
|
42
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
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 __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
23
|
+
value: true
|
|
24
|
+
}), mod);
|
|
25
|
+
var device_exports = {};
|
|
26
|
+
__export(device_exports, {
|
|
27
|
+
defaultOpenConnectorFallbackMs: () => defaultOpenConnectorFallbackMs,
|
|
28
|
+
isTouchDevice: () => isTouchDevice
|
|
29
|
+
});
|
|
30
|
+
module.exports = __toCommonJS(device_exports);
|
|
31
|
+
var import_connectkit = require("@multiplatform.one/connectkit");
|
|
32
|
+
var import_launcher = require("./launcher.native.js");
|
|
33
|
+
function isTouchDevice() {
|
|
34
|
+
var nav = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : typeof navigator === "undefined" ? null : navigator,
|
|
35
|
+
matchMedia = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : typeof window === "undefined" || !window.matchMedia ? null : function (query) {
|
|
36
|
+
return window.matchMedia(query);
|
|
37
|
+
};
|
|
38
|
+
var _nav_maxTouchPoints, _nav_userAgent;
|
|
39
|
+
if (!nav || ((_nav_maxTouchPoints = nav.maxTouchPoints) !== null && _nav_maxTouchPoints !== void 0 ? _nav_maxTouchPoints : 0) < 2) return false;
|
|
40
|
+
if (/Macintosh/.test((_nav_userAgent = nav.userAgent) !== null && _nav_userAgent !== void 0 ? _nav_userAgent : "")) return true;
|
|
41
|
+
try {
|
|
42
|
+
var _ref;
|
|
43
|
+
return (_ref = matchMedia === null || matchMedia === void 0 ? void 0 : matchMedia("(pointer: coarse)").matches) !== null && _ref !== void 0 ? _ref : false;
|
|
44
|
+
} catch (unused) {
|
|
45
|
+
return false;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
function defaultOpenConnectorFallbackMs() {
|
|
49
|
+
return (0, import_connectkit.isMobile)() || isTouchDevice() ? import_launcher.DEFAULT_OPEN_CONNECTOR_FALLBACK_MS : import_launcher.DEFAULT_DESKTOP_OPEN_CONNECTOR_FALLBACK_MS;
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=device.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","device_exports","__export","defaultOpenConnectorFallbackMs","isTouchDevice","module","exports","import_connectkit","require","import_launcher","nav","arguments","length","navigator","matchMedia","window","query","_nav_maxTouchPoints","_nav_userAgent","maxTouchPoints","test","userAgent","_ref","matches","unused"],"sources":["../../../../src/connectkit/openConnector/device.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,cAAA;AAAAC,QAAA,CAAAD,cAAA;EAAAE,8BAAA,EAAAA,CAAA,KAAAA,8BAAA;EAAAC,aAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAV,YAAyB,CAAAK,cAAA;AAEzB,IAAAM,iBAAA,GAGOC,OAAA;AAWA,IAAAC,eAAS,GAAAD,OACgB,uBAAO;AAKrC,SAAKJ,aAAYA,CAAA;EACjB,IAAIM,GAAA,GAAAC,SAAY,CAAAC,MAAS,QAAAD,SAAkB,QAAO,SAAAA,SAAA,aAAAE,SAAA,0BAAAA,SAAA;IAAAC,UAAA,GAAAH,SAAA,CAAAC,MAAA,QAAAD,SAAA,iBAAAA,SAAA,aAAAI,MAAA,qBAAAA,MAAA,CAAAD,UAAA,oBAAAE,KAAA;MAClD,OAAID,MAAA,CAAAD,UAAA,CAAAE,KAAA;IACF;EACF,IAAAC,mBAAQ,EAAAC,cAAA;EACN,KAAAR,GAAA,IAAO,EAAAO,mBAAA,GAAAP,GAAA,CAAAS,cAAA,cAAAF,mBAAA,cAAAA,mBAAA;EACT,gBAAAG,IAAA,EAAAF,cAAA,GAAAR,GAAA,CAAAW,SAAA,cAAAH,cAAA,cAAAA,cAAA;EACF;IAGO,IAAAI,IAAS;IACd,QAAAA,IAAO,GAAAR,UAAA,aAASA,UAAK,UAAc,IAC/B,SAAAA,UAAA,sBAAAS,OAAA,MACA,QAAAD,IAAA,cAAAA,IAAA;EACN,SAAAE,MAAA","ignoreList":[]}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all) __defProp(target, name, {
|
|
7
|
+
get: all[name],
|
|
8
|
+
enumerable: true
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
14
|
+
get: () => from[key],
|
|
15
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
21
|
+
value: true
|
|
22
|
+
}), mod);
|
|
23
|
+
var openConnector_exports = {};
|
|
24
|
+
__export(openConnector_exports, {
|
|
25
|
+
ConnectorLauncherProvider: () => import_context.ConnectorLauncherProvider,
|
|
26
|
+
DEFAULT_DESKTOP_OPEN_CONNECTOR_FALLBACK_MS: () => import_launcher.DEFAULT_DESKTOP_OPEN_CONNECTOR_FALLBACK_MS,
|
|
27
|
+
DEFAULT_OPEN_CONNECTOR_FALLBACK_MS: () => import_launcher.DEFAULT_OPEN_CONNECTOR_FALLBACK_MS,
|
|
28
|
+
createConnectorLauncher: () => import_launcher.createConnectorLauncher,
|
|
29
|
+
getMobileOptions: () => import_context.getMobileOptions,
|
|
30
|
+
resolveWallet: () => import_context.resolveWallet,
|
|
31
|
+
useConnectorLauncher: () => import_context.useConnectorLauncher
|
|
32
|
+
});
|
|
33
|
+
module.exports = __toCommonJS(openConnector_exports);
|
|
34
|
+
var import_launcher = require("./launcher.cjs");
|
|
35
|
+
var import_context = require("./context.cjs");
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
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 __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
23
|
+
value: true
|
|
24
|
+
}), mod);
|
|
25
|
+
var openConnector_exports = {};
|
|
26
|
+
__export(openConnector_exports, {
|
|
27
|
+
ConnectorLauncherProvider: () => import_context.ConnectorLauncherProvider,
|
|
28
|
+
DEFAULT_DESKTOP_OPEN_CONNECTOR_FALLBACK_MS: () => import_launcher.DEFAULT_DESKTOP_OPEN_CONNECTOR_FALLBACK_MS,
|
|
29
|
+
DEFAULT_OPEN_CONNECTOR_FALLBACK_MS: () => import_launcher.DEFAULT_OPEN_CONNECTOR_FALLBACK_MS,
|
|
30
|
+
createConnectorLauncher: () => import_launcher.createConnectorLauncher,
|
|
31
|
+
getMobileOptions: () => import_context.getMobileOptions,
|
|
32
|
+
resolveWallet: () => import_context.resolveWallet,
|
|
33
|
+
useConnectorLauncher: () => import_context.useConnectorLauncher
|
|
34
|
+
});
|
|
35
|
+
module.exports = __toCommonJS(openConnector_exports);
|
|
36
|
+
var import_launcher = require("./launcher.native.js");
|
|
37
|
+
var import_context = require("./context.native.js");
|
|
38
|
+
//# sourceMappingURL=index.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","openConnector_exports","__export","ConnectorLauncherProvider","import_context","DEFAULT_DESKTOP_OPEN_CONNECTOR_FALLBACK_MS","import_launcher","DEFAULT_OPEN_CONNECTOR_FALLBACK_MS","createConnectorLauncher","getMobileOptions","resolveWallet","useConnectorLauncher","module","exports","require"],"sources":["../../../../src/connectkit/openConnector/index.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,qBAAA;AAAAC,QAAA,CAAAD,qBAAA;EAAAE,yBAAA,EAAAA,CAAA,KAAAC,cAAA,CAAAD,yBAAA;EAAAE,0CAAA,EAAAA,CAAA,KAAAC,eAAA,CAAAD,0CAAA;EAAAE,kCAAA,EAAAA,CAAA,KAAAD,eAAA,CAAAC,kCAAA;EAAAC,uBAAA,EAAAA,CAAA,KAAAF,eAAA,CAAAE,uBAAA;EAAAC,gBAAA,EAAAA,CAAA,KAAAL,cAAA,CAAAK,gBAAA;EAAAC,aAAA,EAAAA,CAAA,KAAAN,cAAA,CAAAM,aAAA;EAAAC,oBAAA,EAAAA,CAAA,KAAAP,cAAA,CAAAO;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAjB,YAQO,CAAAK,qBAAA;AACP,IAAAK,eAAA,GAQOQ,OAAA","ignoreList":[]}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all) __defProp(target, name, {
|
|
7
|
+
get: all[name],
|
|
8
|
+
enumerable: true
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
14
|
+
get: () => from[key],
|
|
15
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
21
|
+
value: true
|
|
22
|
+
}), mod);
|
|
23
|
+
var launcher_exports = {};
|
|
24
|
+
__export(launcher_exports, {
|
|
25
|
+
DEFAULT_DESKTOP_OPEN_CONNECTOR_FALLBACK_MS: () => DEFAULT_DESKTOP_OPEN_CONNECTOR_FALLBACK_MS,
|
|
26
|
+
DEFAULT_OPEN_CONNECTOR_FALLBACK_MS: () => DEFAULT_OPEN_CONNECTOR_FALLBACK_MS,
|
|
27
|
+
createConnectorLauncher: () => createConnectorLauncher
|
|
28
|
+
});
|
|
29
|
+
module.exports = __toCommonJS(launcher_exports);
|
|
30
|
+
const DEFAULT_OPEN_CONNECTOR_FALLBACK_MS = 6e3;
|
|
31
|
+
const DEFAULT_DESKTOP_OPEN_CONNECTOR_FALLBACK_MS = 3e4;
|
|
32
|
+
function createConnectorLauncher(getDeps) {
|
|
33
|
+
let session = null;
|
|
34
|
+
const listeners = /* @__PURE__ */new Set();
|
|
35
|
+
const emit = () => listeners.forEach(listener => listener());
|
|
36
|
+
const end = s => {
|
|
37
|
+
if (session !== s) return;
|
|
38
|
+
s.stop();
|
|
39
|
+
session = null;
|
|
40
|
+
emit();
|
|
41
|
+
};
|
|
42
|
+
const open = (walletId, connector, options = {}) => {
|
|
43
|
+
const deps = getDeps();
|
|
44
|
+
const current = session;
|
|
45
|
+
if (current && current.pending.connector.uid === connector.uid) {
|
|
46
|
+
deps.connect(connector).then(() => end(current), () => void 0);
|
|
47
|
+
deps.showConnecting(current.pending.walletId);
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
if (current) end(current);
|
|
51
|
+
const win = deps.win ?? (typeof window !== "undefined" ? window : void 0);
|
|
52
|
+
const doc = deps.doc ?? (typeof document !== "undefined" ? document : void 0);
|
|
53
|
+
const fallbackMs = options.fallbackMs ?? 0;
|
|
54
|
+
let left = false;
|
|
55
|
+
let timer;
|
|
56
|
+
const disarm = () => {
|
|
57
|
+
if (timer !== void 0) clearTimeout(timer);
|
|
58
|
+
timer = void 0;
|
|
59
|
+
};
|
|
60
|
+
const arm = () => {
|
|
61
|
+
disarm();
|
|
62
|
+
if (fallbackMs <= 0) return;
|
|
63
|
+
timer = setTimeout(() => {
|
|
64
|
+
timer = void 0;
|
|
65
|
+
if (!left) fallBack();
|
|
66
|
+
}, fallbackMs);
|
|
67
|
+
};
|
|
68
|
+
const onLeave = () => {
|
|
69
|
+
left = true;
|
|
70
|
+
};
|
|
71
|
+
const onReturn = () => {
|
|
72
|
+
if (!left) return;
|
|
73
|
+
left = false;
|
|
74
|
+
arm();
|
|
75
|
+
};
|
|
76
|
+
const onVisibility = () => {
|
|
77
|
+
if (doc?.visibilityState === "hidden") onLeave();else onReturn();
|
|
78
|
+
};
|
|
79
|
+
const onMessage = message => {
|
|
80
|
+
if (session !== s || message.type !== "display_uri" || typeof message.data !== "string") {
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
s.pending = {
|
|
84
|
+
...s.pending,
|
|
85
|
+
deeplink: message.data
|
|
86
|
+
};
|
|
87
|
+
emit();
|
|
88
|
+
};
|
|
89
|
+
const s = {
|
|
90
|
+
pending: {
|
|
91
|
+
walletId,
|
|
92
|
+
connector
|
|
93
|
+
},
|
|
94
|
+
stop: () => {
|
|
95
|
+
disarm();
|
|
96
|
+
win?.removeEventListener("blur", onLeave);
|
|
97
|
+
win?.removeEventListener("pagehide", onLeave);
|
|
98
|
+
win?.removeEventListener("focus", onReturn);
|
|
99
|
+
win?.removeEventListener("pageshow", onReturn);
|
|
100
|
+
doc?.removeEventListener("visibilitychange", onVisibility);
|
|
101
|
+
connector.emitter?.off?.("message", onMessage);
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
session = s;
|
|
105
|
+
const fallBack = error => {
|
|
106
|
+
if (session !== s) return;
|
|
107
|
+
end(s);
|
|
108
|
+
if (error !== void 0) getDeps().onFailed?.(error);
|
|
109
|
+
getDeps().showList();
|
|
110
|
+
};
|
|
111
|
+
connector.emitter?.on?.("message", onMessage);
|
|
112
|
+
deps.connect(connector).then(() => end(s), error => fallBack(error ?? new Error("connect failed")));
|
|
113
|
+
win?.addEventListener("blur", onLeave);
|
|
114
|
+
win?.addEventListener("pagehide", onLeave);
|
|
115
|
+
win?.addEventListener("focus", onReturn);
|
|
116
|
+
win?.addEventListener("pageshow", onReturn);
|
|
117
|
+
doc?.addEventListener("visibilitychange", onVisibility);
|
|
118
|
+
arm();
|
|
119
|
+
deps.showConnecting(walletId);
|
|
120
|
+
emit();
|
|
121
|
+
};
|
|
122
|
+
return {
|
|
123
|
+
open,
|
|
124
|
+
pending: () => session?.pending ?? null,
|
|
125
|
+
subscribe: listener => {
|
|
126
|
+
listeners.add(listener);
|
|
127
|
+
return () => listeners.delete(listener);
|
|
128
|
+
},
|
|
129
|
+
cancel: () => {
|
|
130
|
+
if (session) end(session);
|
|
131
|
+
}
|
|
132
|
+
};
|
|
133
|
+
}
|