@multiplatform.one/web3 7.25.0 → 7.26.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.
Files changed (120) hide show
  1. package/dist/cjs/core/family.cjs +88 -0
  2. package/dist/cjs/core/family.native.js +115 -0
  3. package/dist/cjs/core/family.native.js.map +1 -0
  4. package/dist/cjs/core/index.cjs +41 -0
  5. package/dist/cjs/core/index.native.js +44 -0
  6. package/dist/cjs/core/index.native.js.map +1 -0
  7. package/dist/cjs/core/message.cjs +89 -0
  8. package/dist/cjs/core/message.native.js +104 -0
  9. package/dist/cjs/core/message.native.js.map +1 -0
  10. package/dist/cjs/core/names.cjs +51 -0
  11. package/dist/cjs/core/names.native.js +95 -0
  12. package/dist/cjs/core/names.native.js.map +1 -0
  13. package/dist/cjs/core/react.cjs +48 -0
  14. package/dist/cjs/core/react.native.js +52 -0
  15. package/dist/cjs/core/react.native.js.map +1 -0
  16. package/dist/cjs/core/store.cjs +450 -0
  17. package/dist/cjs/core/store.native.js +637 -0
  18. package/dist/cjs/core/store.native.js.map +1 -0
  19. package/dist/cjs/core/types.cjs +18 -0
  20. package/dist/cjs/core/types.native.js +21 -0
  21. package/dist/cjs/core/types.native.js.map +1 -0
  22. package/dist/cjs/index.cjs +2 -1
  23. package/dist/cjs/index.native.js +1 -0
  24. package/dist/cjs/index.native.js.map +1 -1
  25. package/dist/esm/core/family.mjs +62 -0
  26. package/dist/esm/core/family.mjs.map +1 -0
  27. package/dist/esm/core/family.native.js +86 -0
  28. package/dist/esm/core/family.native.js.map +1 -0
  29. package/dist/esm/core/index.mjs +7 -0
  30. package/dist/esm/core/index.mjs.map +1 -0
  31. package/dist/esm/core/index.native.js +7 -0
  32. package/dist/esm/core/index.native.js.map +1 -0
  33. package/dist/esm/core/message.mjs +63 -0
  34. package/dist/esm/core/message.mjs.map +1 -0
  35. package/dist/esm/core/message.native.js +75 -0
  36. package/dist/esm/core/message.native.js.map +1 -0
  37. package/dist/esm/core/names.mjs +25 -0
  38. package/dist/esm/core/names.mjs.map +1 -0
  39. package/dist/esm/core/names.native.js +66 -0
  40. package/dist/esm/core/names.native.js.map +1 -0
  41. package/dist/esm/core/react.mjs +21 -0
  42. package/dist/esm/core/react.mjs.map +1 -0
  43. package/dist/esm/core/react.native.js +22 -0
  44. package/dist/esm/core/react.native.js.map +1 -0
  45. package/dist/esm/core/store.mjs +424 -0
  46. package/dist/esm/core/store.mjs.map +1 -0
  47. package/dist/esm/core/store.native.js +608 -0
  48. package/dist/esm/core/store.native.js.map +1 -0
  49. package/dist/esm/core/types.mjs +2 -0
  50. package/dist/esm/core/types.mjs.map +1 -0
  51. package/dist/esm/core/types.native.js +2 -0
  52. package/dist/esm/core/types.native.js.map +1 -0
  53. package/dist/esm/index.mjs +1 -0
  54. package/dist/esm/index.mjs.map +1 -1
  55. package/dist/esm/index.native.js +1 -0
  56. package/dist/esm/index.native.js.map +1 -1
  57. package/dist/jsx/core/family.mjs +62 -0
  58. package/dist/jsx/core/family.mjs.map +1 -0
  59. package/dist/jsx/core/family.native.js +115 -0
  60. package/dist/jsx/core/family.native.js.map +1 -0
  61. package/dist/jsx/core/index.mjs +7 -0
  62. package/dist/jsx/core/index.mjs.map +1 -0
  63. package/dist/jsx/core/index.native.js +44 -0
  64. package/dist/jsx/core/index.native.js.map +1 -0
  65. package/dist/jsx/core/message.mjs +63 -0
  66. package/dist/jsx/core/message.mjs.map +1 -0
  67. package/dist/jsx/core/message.native.js +104 -0
  68. package/dist/jsx/core/message.native.js.map +1 -0
  69. package/dist/jsx/core/names.mjs +25 -0
  70. package/dist/jsx/core/names.mjs.map +1 -0
  71. package/dist/jsx/core/names.native.js +95 -0
  72. package/dist/jsx/core/names.native.js.map +1 -0
  73. package/dist/jsx/core/react.mjs +21 -0
  74. package/dist/jsx/core/react.mjs.map +1 -0
  75. package/dist/jsx/core/react.native.js +52 -0
  76. package/dist/jsx/core/react.native.js.map +1 -0
  77. package/dist/jsx/core/store.mjs +424 -0
  78. package/dist/jsx/core/store.mjs.map +1 -0
  79. package/dist/jsx/core/store.native.js +637 -0
  80. package/dist/jsx/core/store.native.js.map +1 -0
  81. package/dist/jsx/core/types.mjs +2 -0
  82. package/dist/jsx/core/types.mjs.map +1 -0
  83. package/dist/jsx/core/types.native.js +21 -0
  84. package/dist/jsx/core/types.native.js.map +1 -0
  85. package/dist/jsx/index.js +1 -0
  86. package/dist/jsx/index.js.map +1 -1
  87. package/dist/jsx/index.mjs +1 -0
  88. package/dist/jsx/index.mjs.map +1 -1
  89. package/dist/jsx/index.native.js +1 -0
  90. package/dist/jsx/index.native.js.map +1 -1
  91. package/package.json +6 -6
  92. package/src/core/family.spec.ts +117 -0
  93. package/src/core/family.ts +103 -0
  94. package/src/core/imports.spec.ts +82 -0
  95. package/src/core/index.ts +47 -0
  96. package/src/core/message.spec.ts +178 -0
  97. package/src/core/message.ts +119 -0
  98. package/src/core/names.ts +29 -0
  99. package/src/core/react.spec.tsx +75 -0
  100. package/src/core/react.ts +34 -0
  101. package/src/core/store.spec.ts +890 -0
  102. package/src/core/store.ts +558 -0
  103. package/src/core/types.ts +96 -0
  104. package/src/index.ts +4 -0
  105. package/types/core/family.d.ts +44 -0
  106. package/types/core/family.d.ts.map +1 -0
  107. package/types/core/index.d.ts +7 -0
  108. package/types/core/index.d.ts.map +1 -0
  109. package/types/core/message.d.ts +44 -0
  110. package/types/core/message.d.ts.map +1 -0
  111. package/types/core/names.d.ts +7 -0
  112. package/types/core/names.d.ts.map +1 -0
  113. package/types/core/react.d.ts +14 -0
  114. package/types/core/react.d.ts.map +1 -0
  115. package/types/core/store.d.ts +64 -0
  116. package/types/core/store.d.ts.map +1 -0
  117. package/types/core/types.d.ts +88 -0
  118. package/types/core/types.d.ts.map +1 -0
  119. package/types/index.d.ts +1 -0
  120. package/types/index.d.ts.map +1 -1
@@ -0,0 +1,637 @@
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 store_exports = {};
26
+ __export(store_exports, {
27
+ createConnectionStore: () => createConnectionStore,
28
+ defaultConnectionStorageKey: () => defaultConnectionStorageKey
29
+ });
30
+ module.exports = __toCommonJS(store_exports);
31
+ var import_family = require("./family.native.js");
32
+ var defaultConnectionStorageKey = "mpo.web3.connection";
33
+ var disconnected = Object.freeze({
34
+ status: "disconnected",
35
+ family: null,
36
+ connector: null,
37
+ address: null,
38
+ chainId: null,
39
+ client: null
40
+ });
41
+ var superseded = function superseded2() {
42
+ return new Error("wallet connect superseded");
43
+ };
44
+ function browserStorage() {
45
+ try {
46
+ var storage = globalThis.localStorage;
47
+ return storage && typeof storage.getItem === "function" ? storage : null;
48
+ } catch (unused) {
49
+ return null;
50
+ }
51
+ }
52
+ function parseSaved(raw) {
53
+ if (!raw) return null;
54
+ try {
55
+ var value = JSON.parse(raw);
56
+ return typeof (value === null || value === void 0 ? void 0 : value.family) === "string" && typeof value.connectorId === "string" ? {
57
+ family: value.family,
58
+ connectorId: value.connectorId
59
+ } : null;
60
+ } catch (unused) {
61
+ return null;
62
+ }
63
+ }
64
+ var sameConnector = function sameConnector2(a, b) {
65
+ return a.id === b.id && a.name === b.name && a.icon === b.icon && a.installed === b.installed;
66
+ };
67
+ var holdersByDriver = /* @__PURE__ */new WeakMap();
68
+ function createConnectionStore(options) {
69
+ var _options_storageKey, _options_closeTimeout;
70
+ var registry = Array.isArray(options.families) ? (0, import_family.createFamilyRegistry)(options.families) : options.families;
71
+ var storage = options.storage === void 0 ? browserStorage() : options.storage;
72
+ var key = (_options_storageKey = options.storageKey) !== null && _options_storageKey !== void 0 ? _options_storageKey : defaultConnectionStorageKey;
73
+ var requestedClose = (_options_closeTimeout = options.closeTimeout) !== null && _options_closeTimeout !== void 0 ? _options_closeTimeout : 1e4;
74
+ var closeTimeout = Number.isNaN(requestedClose) ? 1e4 : Math.max(0, requestedClose);
75
+ var drivers = /* @__PURE__ */new Map();
76
+ var holders = /* @__PURE__ */new Map();
77
+ var listeners = /* @__PURE__ */new Set();
78
+ var connectorListeners = /* @__PURE__ */new Set();
79
+ var connectorWatches = /* @__PURE__ */new Map();
80
+ var closing = /* @__PURE__ */new Map();
81
+ var inflight = /* @__PURE__ */new Map();
82
+ var state = disconnected;
83
+ var active = null;
84
+ var pending = null;
85
+ var operation = 0;
86
+ var clientRequest = 0;
87
+ var restoring = null;
88
+ var connectorSnapshot = Object.freeze([]);
89
+ var destroyed = false;
90
+ var keptAtDestroy = [];
91
+ var set = function set2(next) {
92
+ state = next;
93
+ var _iteratorNormalCompletion = true,
94
+ _didIteratorError = false,
95
+ _iteratorError = void 0;
96
+ try {
97
+ for (var _iterator = listeners[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
98
+ var listener = _step.value;
99
+ listener();
100
+ }
101
+ } catch (err) {
102
+ _didIteratorError = true;
103
+ _iteratorError = err;
104
+ } finally {
105
+ try {
106
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
107
+ _iterator.return();
108
+ }
109
+ } finally {
110
+ if (_didIteratorError) {
111
+ throw _iteratorError;
112
+ }
113
+ }
114
+ }
115
+ };
116
+ var watchConnectors = function watchConnectors2(driver) {
117
+ if (connectorListeners.size === 0 || connectorWatches.has(driver) || !driver.watchConnectors) {
118
+ return;
119
+ }
120
+ connectorWatches.set(driver, driver.watchConnectors(function () {
121
+ var _iteratorNormalCompletion = true,
122
+ _didIteratorError = false,
123
+ _iteratorError = void 0;
124
+ try {
125
+ for (var _iterator = connectorListeners[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
126
+ var listener = _step.value;
127
+ listener();
128
+ }
129
+ } catch (err) {
130
+ _didIteratorError = true;
131
+ _iteratorError = err;
132
+ } finally {
133
+ try {
134
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
135
+ _iterator.return();
136
+ }
137
+ } finally {
138
+ if (_didIteratorError) {
139
+ throw _iteratorError;
140
+ }
141
+ }
142
+ }
143
+ }));
144
+ };
145
+ var unwatchConnectors = function unwatchConnectors2() {
146
+ var _iteratorNormalCompletion = true,
147
+ _didIteratorError = false,
148
+ _iteratorError = void 0;
149
+ try {
150
+ for (var _iterator = connectorWatches.values()[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
151
+ var unwatch = _step.value;
152
+ unwatch();
153
+ }
154
+ } catch (err) {
155
+ _didIteratorError = true;
156
+ _iteratorError = err;
157
+ } finally {
158
+ try {
159
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
160
+ _iterator.return();
161
+ }
162
+ } finally {
163
+ if (_didIteratorError) {
164
+ throw _iteratorError;
165
+ }
166
+ }
167
+ }
168
+ connectorWatches.clear();
169
+ };
170
+ var hold = function hold2(driver) {
171
+ if (destroyed || holders.has(driver)) return;
172
+ var held = function held2() {
173
+ return [active, pending].flatMap(function (entry) {
174
+ return (entry === null || entry === void 0 ? void 0 : entry.driver) === driver ? [entry.connectorId] : [];
175
+ });
176
+ };
177
+ holders.set(driver, held);
178
+ var all = holdersByDriver.get(driver);
179
+ if (!all) {
180
+ all = /* @__PURE__ */new Set();
181
+ holdersByDriver.set(driver, all);
182
+ }
183
+ all.add(held);
184
+ };
185
+ var driverFor = function driverFor2(family) {
186
+ if (family.connectionless || !family.driver) {
187
+ throw new Error(`wallet family ${family.id} is connectionless; it signs without connecting`);
188
+ }
189
+ var driver = drivers.get(family.id);
190
+ if (!driver) {
191
+ driver = family.driver();
192
+ drivers.set(family.id, driver);
193
+ hold(driver);
194
+ }
195
+ watchConnectors(driver);
196
+ return driver;
197
+ };
198
+ var heldElsewhere = function heldElsewhere2(driver) {
199
+ var _holdersByDriver_get;
200
+ return [...((_holdersByDriver_get = holdersByDriver.get(driver)) !== null && _holdersByDriver_get !== void 0 ? _holdersByDriver_get : [])].filter(function (held) {
201
+ return held !== holders.get(driver);
202
+ }).flatMap(function (held) {
203
+ return held();
204
+ });
205
+ };
206
+ var connectorFor = function connectorFor2(driver, id) {
207
+ var _driver_connectors_find;
208
+ return (_driver_connectors_find = driver.connectors().find(function (connector) {
209
+ return connector.id === id;
210
+ })) !== null && _driver_connectors_find !== void 0 ? _driver_connectors_find : {
211
+ id,
212
+ name: id
213
+ };
214
+ };
215
+ var save = async function save2(value) {
216
+ if (!storage) return;
217
+ try {
218
+ if (value) await storage.setItem(key, JSON.stringify(value));else await storage.removeItem(key);
219
+ } catch (unused) {}
220
+ };
221
+ var load = async function load2() {
222
+ if (!storage) return null;
223
+ try {
224
+ return parseSaved(await storage.getItem(key));
225
+ } catch (unused) {
226
+ return null;
227
+ }
228
+ };
229
+ var closeDriver = function closeDriver2(driver, connectorId) {
230
+ var previous = closing.get(driver);
231
+ var run = async function () {
232
+ await previous;
233
+ var timer;
234
+ var closed = async function () {
235
+ return driver.disconnect(connectorId);
236
+ }().catch(function () {});
237
+ if (closeTimeout === Number.POSITIVE_INFINITY) await closed;else {
238
+ await Promise.race([closed, new Promise(function (resolve) {
239
+ timer = setTimeout(resolve, Math.min(closeTimeout, 2147483647));
240
+ })]);
241
+ clearTimeout(timer);
242
+ }
243
+ }();
244
+ closing.set(driver, run);
245
+ void run.then(function () {
246
+ if (closing.get(driver) === run) closing.delete(driver);
247
+ });
248
+ return run;
249
+ };
250
+ var release = function release2() {
251
+ active === null || active === void 0 ? void 0 : active.unsubscribe();
252
+ active = null;
253
+ clientRequest++;
254
+ };
255
+ var closeActive = async function closeActive2() {
256
+ var previous = active;
257
+ release();
258
+ if (previous) await closeDriver(previous.driver);
259
+ };
260
+ var settleStale = async function settleStale2(driver, connectorId, account) {
261
+ if (!account) return;
262
+ var inUse = [...(destroyed ? keptAtDestroy : [active, pending]).filter(function (entry) {
263
+ return (entry === null || entry === void 0 ? void 0 : entry.driver) === driver;
264
+ }).map(function (entry) {
265
+ return entry === null || entry === void 0 ? void 0 : entry.connectorId;
266
+ }), ...heldElsewhere(driver)];
267
+ if (inUse.includes(connectorId)) return;
268
+ if (inUse.length === 0 && !destroyed) await closeDriver(driver);else await closeDriver(driver, connectorId);
269
+ };
270
+ var closeOrphan = async function closeOrphan2(driver, connectorId) {
271
+ var left = driver.getState();
272
+ if (!left.account) return;
273
+ if (destroyed) {
274
+ if (left.connectorId === connectorId) {
275
+ await settleStale(driver, connectorId, left.account);
276
+ }
277
+ } else if (left.connectorId !== null) {
278
+ await settleStale(driver, left.connectorId, left.account);
279
+ } else if (![active, pending].some(function (entry) {
280
+ return (entry === null || entry === void 0 ? void 0 : entry.driver) === driver;
281
+ }) && heldElsewhere(driver).length === 0) {
282
+ await closeDriver(driver);
283
+ }
284
+ };
285
+ var track = function track2(driver, connectorId) {
286
+ var _counts_get;
287
+ var counts = inflight.get(driver);
288
+ if (!counts) {
289
+ counts = /* @__PURE__ */new Map();
290
+ inflight.set(driver, counts);
291
+ }
292
+ counts.set(connectorId, ((_counts_get = counts.get(connectorId)) !== null && _counts_get !== void 0 ? _counts_get : 0) + 1);
293
+ return function () {
294
+ var _counts_get2;
295
+ var left = ((_counts_get2 = counts.get(connectorId)) !== null && _counts_get2 !== void 0 ? _counts_get2 : 1) - 1;
296
+ if (left > 0) counts.set(connectorId, left);else counts.delete(connectorId);
297
+ };
298
+ };
299
+ var clientFor = function clientFor2(driver, driverState) {
300
+ var request = ++clientRequest;
301
+ var result;
302
+ try {
303
+ var _ref;
304
+ var _driver_client;
305
+ result = (_ref = (_driver_client = driver.client) === null || _driver_client === void 0 ? void 0 : _driver_client.call(driver, driverState)) !== null && _ref !== void 0 ? _ref : null;
306
+ } catch (unused) {
307
+ return null;
308
+ }
309
+ if (result === null || typeof result.then !== "function") {
310
+ return result;
311
+ }
312
+ result.then(function (client) {
313
+ if (request === clientRequest && (active === null || active === void 0 ? void 0 : active.driver) === driver && client) {
314
+ set(Object.freeze({
315
+ ...state,
316
+ client
317
+ }));
318
+ }
319
+ }, function () {});
320
+ return null;
321
+ };
322
+ var activate = function activate2(family, driver, connector, account) {
323
+ var _account_chainId;
324
+ release();
325
+ var onChange = function onChange2() {
326
+ var _driverState_connectorId, _driverState_account_chainId;
327
+ var _inflight_get, _state_connector, _state_connector1;
328
+ if ((active === null || active === void 0 ? void 0 : active.driver) !== driver) return;
329
+ var driverState = driver.getState();
330
+ if (!driverState.account) {
331
+ if (driverState.status === "connecting" || driverState.status === "reconnecting") return;
332
+ release();
333
+ operation++;
334
+ set(disconnected);
335
+ return;
336
+ }
337
+ var connectorId = (_driverState_connectorId = driverState.connectorId) !== null && _driverState_connectorId !== void 0 ? _driverState_connectorId : active.connectorId;
338
+ if (connectorId !== active.connectorId && ((_inflight_get = inflight.get(driver)) === null || _inflight_get === void 0 ? void 0 : _inflight_get.get(connectorId))) return;
339
+ var chainId = (_driverState_account_chainId = driverState.account.chainId) !== null && _driverState_account_chainId !== void 0 ? _driverState_account_chainId : null;
340
+ if (connectorId === ((_state_connector = state.connector) === null || _state_connector === void 0 ? void 0 : _state_connector.id) && driverState.account.address === state.address && chainId === state.chainId) {
341
+ return;
342
+ }
343
+ var nextConnector = connectorId === ((_state_connector1 = state.connector) === null || _state_connector1 === void 0 ? void 0 : _state_connector1.id) && state.connector ? state.connector : connectorFor(driver, connectorId);
344
+ if (connectorId !== active.connectorId) {
345
+ active.connectorId = connectorId;
346
+ void save({
347
+ family: family.id,
348
+ connectorId
349
+ });
350
+ }
351
+ set(Object.freeze({
352
+ status: "connected",
353
+ family: family.id,
354
+ connector: nextConnector,
355
+ address: driverState.account.address,
356
+ chainId,
357
+ client: clientFor(driver, {
358
+ ...driverState,
359
+ connectorId
360
+ })
361
+ }));
362
+ };
363
+ active = {
364
+ driver,
365
+ connectorId: connector.id,
366
+ unsubscribe: driver.subscribe(onChange)
367
+ };
368
+ set(Object.freeze({
369
+ status: "connected",
370
+ family: family.id,
371
+ connector,
372
+ address: account.address,
373
+ chainId: (_account_chainId = account.chainId) !== null && _account_chainId !== void 0 ? _account_chainId : null,
374
+ client: clientFor(driver, {
375
+ status: "connected",
376
+ connectorId: connector.id,
377
+ account
378
+ })
379
+ }));
380
+ };
381
+ return {
382
+ registry,
383
+ getState: function getState() {
384
+ return state;
385
+ },
386
+ subscribe(listener) {
387
+ listeners.add(listener);
388
+ return function () {
389
+ listeners.delete(listener);
390
+ };
391
+ },
392
+ connectors() {
393
+ var next = [];
394
+ var _iteratorNormalCompletion = true,
395
+ _didIteratorError = false,
396
+ _iteratorError = void 0;
397
+ try {
398
+ for (var _iterator = registry.families[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
399
+ var family = _step.value;
400
+ if (family.connectionless) continue;
401
+ var _iteratorNormalCompletion1 = true,
402
+ _didIteratorError1 = false,
403
+ _iteratorError1 = void 0;
404
+ try {
405
+ for (var _iterator1 = driverFor(family).connectors()[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
406
+ var connector = _step1.value;
407
+ next.push({
408
+ family: family.id,
409
+ connector
410
+ });
411
+ }
412
+ } catch (err) {
413
+ _didIteratorError1 = true;
414
+ _iteratorError1 = err;
415
+ } finally {
416
+ try {
417
+ if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
418
+ _iterator1.return();
419
+ }
420
+ } finally {
421
+ if (_didIteratorError1) {
422
+ throw _iteratorError1;
423
+ }
424
+ }
425
+ }
426
+ }
427
+ } catch (err) {
428
+ _didIteratorError = true;
429
+ _iteratorError = err;
430
+ } finally {
431
+ try {
432
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
433
+ _iterator.return();
434
+ }
435
+ } finally {
436
+ if (_didIteratorError) {
437
+ throw _iteratorError;
438
+ }
439
+ }
440
+ }
441
+ var unchanged = next.length === connectorSnapshot.length && next.every(function (entry, index) {
442
+ var previous = connectorSnapshot[index];
443
+ return previous !== void 0 && entry.family === previous.family && sameConnector(entry.connector, previous.connector);
444
+ });
445
+ if (!unchanged) connectorSnapshot = Object.freeze(next.map(function (entry) {
446
+ return Object.freeze(entry);
447
+ }));
448
+ return connectorSnapshot;
449
+ },
450
+ subscribeConnectors(listener) {
451
+ connectorListeners.add(listener);
452
+ var _iteratorNormalCompletion = true,
453
+ _didIteratorError = false,
454
+ _iteratorError = void 0;
455
+ try {
456
+ for (var _iterator = registry.families[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
457
+ var family = _step.value;
458
+ if (!family.connectionless) driverFor(family);
459
+ }
460
+ } catch (err) {
461
+ _didIteratorError = true;
462
+ _iteratorError = err;
463
+ } finally {
464
+ try {
465
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
466
+ _iterator.return();
467
+ }
468
+ } finally {
469
+ if (_didIteratorError) {
470
+ throw _iteratorError;
471
+ }
472
+ }
473
+ }
474
+ return function () {
475
+ connectorListeners.delete(listener);
476
+ if (connectorListeners.size === 0) unwatchConnectors();
477
+ };
478
+ },
479
+ async connect(familyName, connectorId, connectOptions) {
480
+ if (destroyed) throw new Error("this connection store was destroyed");
481
+ var family = registry.require(familyName);
482
+ var driver = driverFor(family);
483
+ var connector = connectorFor(driver, connectorId);
484
+ var current = ++operation;
485
+ restoring = null;
486
+ pending = {
487
+ driver,
488
+ connectorId
489
+ };
490
+ var closingActive = closeActive();
491
+ set(Object.freeze({
492
+ ...disconnected,
493
+ status: "connecting",
494
+ family: family.id,
495
+ connector
496
+ }));
497
+ await closingActive;
498
+ if (current === operation) await save(null);
499
+ await closing.get(driver);
500
+ var untrack = track(driver, connectorId);
501
+ var account;
502
+ var asked = false;
503
+ try {
504
+ try {
505
+ if (current !== operation) throw superseded();
506
+ asked = true;
507
+ account = await driver.connect(connectorId, connectOptions);
508
+ } catch (error) {
509
+ if (current === operation) {
510
+ pending = null;
511
+ set(disconnected);
512
+ }
513
+ if (asked || !destroyed) await closeOrphan(driver, connectorId);
514
+ throw error;
515
+ }
516
+ if (current !== operation) {
517
+ await settleStale(driver, connectorId, account);
518
+ throw superseded();
519
+ }
520
+ } finally {
521
+ untrack();
522
+ }
523
+ pending = null;
524
+ activate(family, driver, connector, account);
525
+ await save({
526
+ family: family.id,
527
+ connectorId
528
+ });
529
+ return state;
530
+ },
531
+ async disconnect() {
532
+ operation++;
533
+ restoring = null;
534
+ pending = null;
535
+ var closingActive = closeActive();
536
+ set(disconnected);
537
+ await save(null);
538
+ await closingActive;
539
+ },
540
+ reconnect() {
541
+ if (restoring) return restoring;
542
+ if (destroyed || state.status !== "disconnected") return Promise.resolve(state);
543
+ var current = ++operation;
544
+ var attempt = async function () {
545
+ var saved = await load();
546
+ if (current !== operation || !saved) return state;
547
+ var family = registry.get(saved.family);
548
+ if (!family || family.connectionless || !family.driver) return state;
549
+ var driver = driverFor(family);
550
+ var connector = connectorFor(driver, saved.connectorId);
551
+ pending = {
552
+ driver,
553
+ connectorId: saved.connectorId
554
+ };
555
+ set(Object.freeze({
556
+ ...disconnected,
557
+ status: "reconnecting",
558
+ family: family.id,
559
+ connector
560
+ }));
561
+ await closing.get(driver);
562
+ var untrack = track(driver, saved.connectorId);
563
+ var account;
564
+ try {
565
+ try {
566
+ if (current !== operation) return state;
567
+ account = await driver.reconnect(saved.connectorId);
568
+ } catch (unused) {
569
+ if (current === operation) {
570
+ pending = null;
571
+ set(disconnected);
572
+ }
573
+ await closeOrphan(driver, saved.connectorId);
574
+ return state;
575
+ }
576
+ if (current !== operation) {
577
+ await settleStale(driver, saved.connectorId, account);
578
+ return state;
579
+ }
580
+ } finally {
581
+ untrack();
582
+ }
583
+ pending = null;
584
+ if (!account) {
585
+ set(disconnected);
586
+ await save(null);
587
+ await closeOrphan(driver, saved.connectorId);
588
+ return state;
589
+ }
590
+ activate(family, driver, connector, account);
591
+ return state;
592
+ }();
593
+ restoring = attempt;
594
+ var settled = function settled2() {
595
+ if (restoring === attempt) restoring = null;
596
+ };
597
+ void attempt.then(settled, settled);
598
+ return attempt;
599
+ },
600
+ destroy() {
601
+ var _holdersByDriver_get;
602
+ if (destroyed) return;
603
+ destroyed = true;
604
+ keptAtDestroy = [active, pending];
605
+ var _iteratorNormalCompletion = true,
606
+ _didIteratorError = false,
607
+ _iteratorError = void 0;
608
+ try {
609
+ for (var _iterator = holders[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
610
+ var [driver, held] = _step.value;
611
+ (_holdersByDriver_get = holdersByDriver.get(driver)) === null || _holdersByDriver_get === void 0 ? void 0 : _holdersByDriver_get.delete(held);
612
+ }
613
+ } catch (err) {
614
+ _didIteratorError = true;
615
+ _iteratorError = err;
616
+ } finally {
617
+ try {
618
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
619
+ _iterator.return();
620
+ }
621
+ } finally {
622
+ if (_didIteratorError) {
623
+ throw _iteratorError;
624
+ }
625
+ }
626
+ }
627
+ operation++;
628
+ restoring = null;
629
+ pending = null;
630
+ release();
631
+ unwatchConnectors();
632
+ connectorListeners.clear();
633
+ listeners.clear();
634
+ }
635
+ };
636
+ }
637
+ //# sourceMappingURL=store.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","store_exports","createConnectionStore","defaultConnectionStorageKey","module","exports","import_family","require","disconnected","freeze","status","family","connector","address","chainId","client","superseded","superseded2","Error","browserStorage","storage","globalThis","localStorage","getItem","unused","parseSaved","raw","JSON","parse","connectorId","sameConnector","sameConnector2","a","b","id","icon","installed","holdersByDriver","WeakMap","options","_options_storageKey","_options_closeTimeout","registry","Array","isArray","families","createFamilyRegistry","storageKey","requestedClose","closeTimeout","Number","isNaN","Math","max","drivers","Map","holders","listeners","Set","connectorListeners","connectorWatches","closing","inflight","state","active","pending","operation","clientRequest","restoring","connectorSnapshot","destroyed","keptAtDestroy","set","set2","next","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","done","listener","err","return","watchConnectors","watchConnectors2","driver","size","has","unwatchConnectors","unwatchConnectors2","values","unwatch","clear","hold","hold2","held","held2","flatMap","entry","add","driverFor","driverFor2","connectionless","heldElsewhere","heldElsewhere2","_holdersByDriver_get","filter","connectorFor","connectorFor2","_driver_connectors_find","connectors","find","save","save2","setItem","stringify","removeItem","load","load2","closeDriver","closeDriver2","previous","run","timer","closed","disconnect","catch","POSITIVE_INFINITY","Promise","race","resolve","setTimeout","min","clearTimeout","then","delete","release","release2","unsubscribe","closeActive","closeActive2","settleStale","settleStale2","account","inUse","map","includes","length","closeOrphan","closeOrphan2","left","getState","some","track","track2","_counts_get","counts","_counts_get2","clientFor","clientFor2","driverState","request","result","_ref","_driver_client","activate","activate2","_account_chainId","onChange","onChange2","_driverState_connectorId","_driverState_account_chainId","_inflight_get","_state_connector","_state_connector1","nextConnector","subscribe"],"sources":["../../../src/core/store.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=types.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":[],"sourcesContent":[],"mappings":"","ignoreList":[]}