@sundaeswap/wallet-lite 0.0.86 → 0.0.88-dev.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/classes/WalletObserver.class.js +76 -66
- package/dist/cjs/classes/WalletObserver.class.js.map +1 -1
- package/dist/cjs/react-components/WalletObserverProvider/hooks/useWalletObserverState.js +47 -39
- package/dist/cjs/react-components/WalletObserverProvider/hooks/useWalletObserverState.js.map +1 -1
- package/dist/cjs/react-components/hooks/useWalletObserver.js +2 -1
- package/dist/cjs/react-components/hooks/useWalletObserver.js.map +1 -1
- package/dist/esm/classes/WalletObserver.class.js +59 -50
- package/dist/esm/classes/WalletObserver.class.js.map +1 -1
- package/dist/esm/react-components/WalletObserverProvider/hooks/useWalletObserverState.js +9 -3
- package/dist/esm/react-components/WalletObserverProvider/hooks/useWalletObserverState.js.map +1 -1
- package/dist/esm/react-components/hooks/useWalletObserver.js +2 -1
- package/dist/esm/react-components/hooks/useWalletObserver.js.map +1 -1
- package/dist/types/classes/WalletObserver.class.d.ts +2 -2
- package/dist/types/classes/WalletObserver.class.d.ts.map +1 -1
- package/dist/types/react-components/WalletObserverProvider/hooks/useWalletObserverState.d.ts +1 -0
- package/dist/types/react-components/WalletObserverProvider/hooks/useWalletObserverState.d.ts.map +1 -1
- package/dist/types/react-components/hooks/useWalletObserver.d.ts.map +1 -1
- package/dist/types/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +4 -3
- package/src/classes/WalletObserver.class.ts +68 -57
- package/src/classes/__tests__/WalletObserver.test.ts +15 -4
- package/src/react-components/WalletObserverProvider/hooks/useWalletObserverState.ts +10 -3
- package/src/react-components/hooks/useWalletObserver.ts +2 -0
|
@@ -93,7 +93,7 @@ var WalletObserver = exports.WalletObserver = /*#__PURE__*/function (_WalletObse
|
|
|
93
93
|
* @returns {Promise<IWalletObserverSync<AssetMetadata>>} - A promise that resolves to the wallet sync data.
|
|
94
94
|
*/
|
|
95
95
|
_defineProperty(_this, "sync", /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
96
|
-
var start,
|
|
96
|
+
var start, newBalanceMap, _yield$Promise$all, _yield$Promise$all2, newNetwork, newUsedAddresses, newUnusedAddresses, newOutputs, newCollateral, newFeeAddress, result, end;
|
|
97
97
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
98
98
|
while (1) switch (_context.prev = _context.next) {
|
|
99
99
|
case 0:
|
|
@@ -107,11 +107,13 @@ var WalletObserver = exports.WalletObserver = /*#__PURE__*/function (_WalletObse
|
|
|
107
107
|
_context.prev = 3;
|
|
108
108
|
_this._performingSync = true;
|
|
109
109
|
_this.dispatch(_events.EWalletObserverEvents.SYNCING_WALLET_START);
|
|
110
|
+
|
|
111
|
+
// Check if account has changed.
|
|
110
112
|
_context.next = 8;
|
|
111
|
-
return _this.
|
|
113
|
+
return _this.getBalanceMap();
|
|
112
114
|
case 8:
|
|
113
|
-
|
|
114
|
-
if (!(
|
|
115
|
+
newBalanceMap = _context.sent;
|
|
116
|
+
if (!(newBalanceMap instanceof Error)) {
|
|
115
117
|
_context.next = 19;
|
|
116
118
|
break;
|
|
117
119
|
}
|
|
@@ -119,23 +121,23 @@ var WalletObserver = exports.WalletObserver = /*#__PURE__*/function (_WalletObse
|
|
|
119
121
|
return _this.syncApi();
|
|
120
122
|
case 12:
|
|
121
123
|
_context.next = 14;
|
|
122
|
-
return _this.
|
|
124
|
+
return _this.getBalanceMap();
|
|
123
125
|
case 14:
|
|
124
|
-
|
|
125
|
-
if (!(
|
|
126
|
+
newBalanceMap = _context.sent;
|
|
127
|
+
if (!(newBalanceMap instanceof Error)) {
|
|
126
128
|
_context.next = 19;
|
|
127
129
|
break;
|
|
128
130
|
}
|
|
129
131
|
_this.dispatch(_events.EWalletObserverEvents.SYNCING_WALLET_END);
|
|
130
132
|
_this._performingSync = false;
|
|
131
|
-
throw
|
|
133
|
+
throw newBalanceMap;
|
|
132
134
|
case 19:
|
|
133
135
|
_context.next = 21;
|
|
134
|
-
return Promise.all([_this.
|
|
136
|
+
return Promise.all([_this.getNetwork(), _this.getUsedAddresses(), _this.getUnusedAddresses(), _this.getUtxos(), _this.getCollateral(), _this.getFeeAddress()]);
|
|
135
137
|
case 21:
|
|
136
138
|
_yield$Promise$all = _context.sent;
|
|
137
139
|
_yield$Promise$all2 = _slicedToArray(_yield$Promise$all, 6);
|
|
138
|
-
|
|
140
|
+
newNetwork = _yield$Promise$all2[0];
|
|
139
141
|
newUsedAddresses = _yield$Promise$all2[1];
|
|
140
142
|
newUnusedAddresses = _yield$Promise$all2[2];
|
|
141
143
|
newOutputs = _yield$Promise$all2[3];
|
|
@@ -179,7 +181,7 @@ var WalletObserver = exports.WalletObserver = /*#__PURE__*/function (_WalletObse
|
|
|
179
181
|
* @returns {Promise<Cip30WalletApi | undefined>} - A promise that resolves to the API instance.
|
|
180
182
|
*/
|
|
181
183
|
_defineProperty(_this, "syncApi", /*#__PURE__*/function () {
|
|
182
|
-
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(activeWallet) {
|
|
184
|
+
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(activeWallet, abortSignal) {
|
|
183
185
|
var selectedWallet, attempts, shouldContinue, _window, _window2, _cardano$selectedWall, cardano, api;
|
|
184
186
|
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
185
187
|
while (1) switch (_context2.prev = _context2.next) {
|
|
@@ -193,65 +195,62 @@ var WalletObserver = exports.WalletObserver = /*#__PURE__*/function (_WalletObse
|
|
|
193
195
|
selectedWallet = activeWallet || _this.activeWallet;
|
|
194
196
|
attempts = 0;
|
|
195
197
|
shouldContinue = true;
|
|
196
|
-
|
|
198
|
+
abortSignal === null || abortSignal === void 0 || abortSignal.addEventListener("abort", function () {
|
|
199
|
+
shouldContinue = false;
|
|
200
|
+
});
|
|
201
|
+
case 6:
|
|
197
202
|
if (!shouldContinue) {
|
|
198
|
-
_context2.next =
|
|
203
|
+
_context2.next = 31;
|
|
199
204
|
break;
|
|
200
205
|
}
|
|
201
206
|
if (!(attempts === 10)) {
|
|
202
|
-
_context2.next =
|
|
207
|
+
_context2.next = 9;
|
|
203
208
|
break;
|
|
204
209
|
}
|
|
205
210
|
throw new Error("Could not reconnect to the selected wallet. Please check your extension.");
|
|
206
|
-
case
|
|
207
|
-
_context2.prev =
|
|
211
|
+
case 9:
|
|
212
|
+
_context2.prev = 9;
|
|
208
213
|
cardano = ((_window = window) === null || _window === void 0 ? void 0 : _window.cardano) || ((_window2 = window) === null || _window2 === void 0 || (_window2 = _window2.parent) === null || _window2 === void 0 ? void 0 : _window2.cardano);
|
|
209
|
-
_context2.next =
|
|
214
|
+
_context2.next = 13;
|
|
210
215
|
return cardano === null || cardano === void 0 || (_cardano$selectedWall = cardano[selectedWallet]) === null || _cardano$selectedWall === void 0 ? void 0 : _cardano$selectedWall.enable();
|
|
211
|
-
case
|
|
216
|
+
case 13:
|
|
212
217
|
api = _context2.sent;
|
|
213
|
-
if (api) {
|
|
214
|
-
_context2.next = 15;
|
|
215
|
-
break;
|
|
216
|
-
}
|
|
217
|
-
throw Error;
|
|
218
|
-
case 15:
|
|
219
218
|
_this.api = api;
|
|
220
|
-
_context2.next =
|
|
219
|
+
_context2.next = 17;
|
|
221
220
|
return api.getNetworkId();
|
|
222
|
-
case
|
|
221
|
+
case 17:
|
|
223
222
|
_this.network = _context2.sent;
|
|
224
223
|
shouldContinue = false;
|
|
225
|
-
_context2.next =
|
|
224
|
+
_context2.next = 29;
|
|
226
225
|
break;
|
|
227
|
-
case
|
|
228
|
-
_context2.prev =
|
|
229
|
-
_context2.t0 = _context2["catch"](
|
|
230
|
-
if (!(["user canceled connection", "User declined to sign the data."].includes(_context2.t0 === null || _context2.t0 === void 0 ? void 0 : _context2.t0.message) || (_context2.t0 === null || _context2.t0 === void 0 ? void 0 : _context2.t0.code) === _dappConnector.APIErrorCode.Refused)) {
|
|
231
|
-
_context2.next =
|
|
226
|
+
case 21:
|
|
227
|
+
_context2.prev = 21;
|
|
228
|
+
_context2.t0 = _context2["catch"](9);
|
|
229
|
+
if (!(["user canceled connection", "User declined to sign the data.", "Attempt to connect timed out after 10 seconds"].includes(_context2.t0 === null || _context2.t0 === void 0 ? void 0 : _context2.t0.message) || (_context2.t0 === null || _context2.t0 === void 0 ? void 0 : _context2.t0.code) === _dappConnector.APIErrorCode.Refused)) {
|
|
230
|
+
_context2.next = 26;
|
|
232
231
|
break;
|
|
233
232
|
}
|
|
234
233
|
shouldContinue = false;
|
|
235
234
|
return _context2.abrupt("return", undefined);
|
|
236
|
-
case
|
|
237
|
-
_context2.next =
|
|
235
|
+
case 26:
|
|
236
|
+
_context2.next = 28;
|
|
238
237
|
return new Promise(function (res) {
|
|
239
238
|
return setTimeout(res, 200);
|
|
240
239
|
});
|
|
241
|
-
case
|
|
240
|
+
case 28:
|
|
242
241
|
attempts++;
|
|
243
|
-
case
|
|
244
|
-
_context2.next =
|
|
242
|
+
case 29:
|
|
243
|
+
_context2.next = 6;
|
|
245
244
|
break;
|
|
246
|
-
case
|
|
245
|
+
case 31:
|
|
247
246
|
return _context2.abrupt("return", _this.api);
|
|
248
|
-
case
|
|
247
|
+
case 32:
|
|
249
248
|
case "end":
|
|
250
249
|
return _context2.stop();
|
|
251
250
|
}
|
|
252
|
-
}, _callee2, null, [[
|
|
251
|
+
}, _callee2, null, [[9, 21]]);
|
|
253
252
|
}));
|
|
254
|
-
return function (_x) {
|
|
253
|
+
return function (_x, _x2) {
|
|
255
254
|
return _ref2.apply(this, arguments);
|
|
256
255
|
};
|
|
257
256
|
}());
|
|
@@ -272,72 +271,78 @@ var WalletObserver = exports.WalletObserver = /*#__PURE__*/function (_WalletObse
|
|
|
272
271
|
* @return {Promise<IWalletObserverSync<AssetMetadata> | Error>}
|
|
273
272
|
*/
|
|
274
273
|
_defineProperty(_this, "connectWallet", /*#__PURE__*/function () {
|
|
275
|
-
var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(extension) {
|
|
276
|
-
var _window$cardano;
|
|
277
|
-
var start, attempts, extensionObject, _this$peerConnectInst, _window$cardano2, data, seed, end;
|
|
274
|
+
var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(extension, abortSignal) {
|
|
275
|
+
var start, _window$cardano, attempts, extensionObject, _this$peerConnectInst, _window$cardano2, api, data, seed, end;
|
|
278
276
|
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
279
277
|
while (1) switch (_context3.prev = _context3.next) {
|
|
280
278
|
case 0:
|
|
281
279
|
start = performance.now();
|
|
282
280
|
_this.dispatch(_events.EWalletObserverEvents.CONNECT_WALLET_START);
|
|
281
|
+
_context3.prev = 2;
|
|
283
282
|
attempts = 0;
|
|
284
283
|
extensionObject = (_window$cardano = window.cardano) === null || _window$cardano === void 0 ? void 0 : _window$cardano[extension]; // Disconnect any CIP45 connections.
|
|
285
284
|
if (!(extension !== null && extension !== void 0 && extension.includes("p2p"))) {
|
|
286
285
|
(_this$peerConnectInst = _this.peerConnectInstance) === null || _this$peerConnectInst === void 0 || _this$peerConnectInst.shutdownServer();
|
|
287
286
|
}
|
|
288
|
-
case
|
|
287
|
+
case 6:
|
|
289
288
|
if (!(typeof extensionObject === "undefined")) {
|
|
290
|
-
_context3.next =
|
|
289
|
+
_context3.next = 15;
|
|
291
290
|
break;
|
|
292
291
|
}
|
|
293
292
|
if (!(attempts === 40)) {
|
|
294
|
-
_context3.next =
|
|
293
|
+
_context3.next = 9;
|
|
295
294
|
break;
|
|
296
295
|
}
|
|
297
|
-
return _context3.abrupt("break",
|
|
298
|
-
case
|
|
299
|
-
_context3.next =
|
|
296
|
+
return _context3.abrupt("break", 15);
|
|
297
|
+
case 9:
|
|
298
|
+
_context3.next = 11;
|
|
300
299
|
return new Promise(function (res) {
|
|
301
300
|
return setTimeout(res, _this._options.connectTimeout / 40);
|
|
302
301
|
});
|
|
303
|
-
case
|
|
302
|
+
case 11:
|
|
304
303
|
extensionObject = (_window$cardano2 = window.cardano) === null || _window$cardano2 === void 0 ? void 0 : _window$cardano2[extension];
|
|
305
304
|
attempts++;
|
|
306
|
-
_context3.next =
|
|
305
|
+
_context3.next = 6;
|
|
307
306
|
break;
|
|
308
|
-
case
|
|
307
|
+
case 15:
|
|
309
308
|
if (extensionObject) {
|
|
310
309
|
_context3.next = 17;
|
|
311
310
|
break;
|
|
312
311
|
}
|
|
313
|
-
_this.dispatch(_events.EWalletObserverEvents.CONNECT_WALLET_END);
|
|
314
312
|
throw new Error("Wallet extension not found in the global context.");
|
|
315
313
|
case 17:
|
|
316
314
|
_this.activeWallet = extension;
|
|
317
315
|
_context3.next = 20;
|
|
318
|
-
return _this.syncApi(extension);
|
|
316
|
+
return _this.syncApi(extension, abortSignal);
|
|
319
317
|
case 20:
|
|
320
|
-
|
|
318
|
+
api = _context3.sent;
|
|
319
|
+
if (api) {
|
|
320
|
+
_context3.next = 23;
|
|
321
|
+
break;
|
|
322
|
+
}
|
|
323
|
+
throw new Error("API could not be found.");
|
|
324
|
+
case 23:
|
|
325
|
+
_context3.next = 25;
|
|
321
326
|
return _this.sync();
|
|
322
|
-
case
|
|
327
|
+
case 25:
|
|
323
328
|
data = _context3.sent;
|
|
324
329
|
if (!_this._options.persistence) {
|
|
325
|
-
_context3.next =
|
|
330
|
+
_context3.next = 32;
|
|
326
331
|
break;
|
|
327
332
|
}
|
|
328
333
|
if (!(data.usedAddresses instanceof Error)) {
|
|
329
|
-
_context3.next =
|
|
334
|
+
_context3.next = 30;
|
|
330
335
|
break;
|
|
331
336
|
}
|
|
332
337
|
data.usedAddresses.cause = "Could not get a list of used addresses from the wallet when trying to save the connection.";
|
|
333
338
|
throw data.usedAddresses;
|
|
334
|
-
case
|
|
339
|
+
case 30:
|
|
335
340
|
seed = {
|
|
336
341
|
activeWallet: extension,
|
|
337
342
|
mainAddress: data.usedAddresses[0]
|
|
338
343
|
};
|
|
339
344
|
window.localStorage.setItem(WalletObserver.PERSISTENCE_CACHE_KEY, JSON.stringify(seed));
|
|
340
|
-
case
|
|
345
|
+
case 32:
|
|
341
346
|
_this.dispatch(_events.EWalletObserverEvents.CONNECT_WALLET_END, _objectSpread(_objectSpread({}, data), {}, {
|
|
342
347
|
activeWallet: extension
|
|
343
348
|
}));
|
|
@@ -346,13 +351,18 @@ var WalletObserver = exports.WalletObserver = /*#__PURE__*/function (_WalletObse
|
|
|
346
351
|
console.log("connectWallet: ".concat(end - start, "ms"));
|
|
347
352
|
}
|
|
348
353
|
return _context3.abrupt("return", data);
|
|
349
|
-
case
|
|
354
|
+
case 38:
|
|
355
|
+
_context3.prev = 38;
|
|
356
|
+
_context3.t0 = _context3["catch"](2);
|
|
357
|
+
_this.dispatch(_events.EWalletObserverEvents.CONNECT_WALLET_END);
|
|
358
|
+
throw _context3.t0;
|
|
359
|
+
case 42:
|
|
350
360
|
case "end":
|
|
351
361
|
return _context3.stop();
|
|
352
362
|
}
|
|
353
|
-
}, _callee3);
|
|
363
|
+
}, _callee3, null, [[2, 38]]);
|
|
354
364
|
}));
|
|
355
|
-
return function (
|
|
365
|
+
return function (_x3, _x4) {
|
|
356
366
|
return _ref3.apply(this, arguments);
|
|
357
367
|
};
|
|
358
368
|
}());
|
|
@@ -859,7 +869,7 @@ var WalletObserver = exports.WalletObserver = /*#__PURE__*/function (_WalletObse
|
|
|
859
869
|
}
|
|
860
870
|
}, _callee12, null, [[10, 16]]);
|
|
861
871
|
}));
|
|
862
|
-
return function (
|
|
872
|
+
return function (_x5) {
|
|
863
873
|
return _ref12.apply(this, arguments);
|
|
864
874
|
};
|
|
865
875
|
}());
|
|
@@ -889,7 +899,7 @@ var WalletObserver = exports.WalletObserver = /*#__PURE__*/function (_WalletObse
|
|
|
889
899
|
}
|
|
890
900
|
}, _callee13);
|
|
891
901
|
}));
|
|
892
|
-
return function (
|
|
902
|
+
return function (_x6) {
|
|
893
903
|
return _ref14.apply(this, arguments);
|
|
894
904
|
};
|
|
895
905
|
}());
|