@depay/widgets 9.0.1 → 9.0.2

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/esm/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import React, { useState, useContext, useEffect, useCallback, useRef } from 'react';
2
2
  import { NavigateStackContext, ReactDialogStack } from '@depay/react-dialog-stack';
3
- import { getWallets, wallets } from '@depay/web3-wallets';
3
+ import { getWallets, getConnectedWallets, wallets } from '@depay/web3-wallets';
4
4
  import ReactDOM from 'react-dom';
5
5
  import { ReactShadowDOM } from '@depay/react-shadow-dom';
6
6
  import { ethers } from 'ethers';
@@ -653,23 +653,27 @@ var SelectWalletDialog = (function (props) {
653
653
  var wallet = getWallets()[0];
654
654
  useEffect(function () {
655
655
  _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee() {
656
- var account;
656
+ var connectedWallets, account;
657
657
  return regenerator.wrap(function _callee$(_context) {
658
658
  while (1) switch (_context.prev = _context.next) {
659
659
  case 0:
660
- if (!wallet) {
661
- _context.next = 5;
660
+ _context.next = 2;
661
+ return getConnectedWallets();
662
+ case 2:
663
+ connectedWallets = _context.sent;
664
+ if (!(wallet && connectedWallets == 0)) {
665
+ _context.next = 8;
662
666
  break;
663
667
  }
664
- _context.next = 3;
668
+ _context.next = 6;
665
669
  return wallet.account();
666
- case 3:
670
+ case 6:
667
671
  account = _context.sent;
668
672
  if (account == undefined) {
669
673
  navigate('ConnectingWallet');
670
674
  props.connect(wallet);
671
675
  }
672
- case 5:
676
+ case 8:
673
677
  case "end":
674
678
  return _context.stop();
675
679
  }
@@ -1398,28 +1402,28 @@ var Connect = function Connect(options) {
1398
1402
  }
1399
1403
  return new Promise( /*#__PURE__*/function () {
1400
1404
  var _ref = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee(resolve, reject) {
1401
- var wallet, account;
1405
+ var connectedWallets, wallet, account;
1402
1406
  return regenerator.wrap(function _callee$(_context) {
1403
1407
  while (1) switch (_context.prev = _context.next) {
1404
1408
  case 0:
1405
- wallet = getWallets()[0];
1406
- if (!wallet) {
1407
- _context.next = 7;
1409
+ _context.next = 2;
1410
+ return getConnectedWallets();
1411
+ case 2:
1412
+ connectedWallets = _context.sent;
1413
+ if (!(connectedWallets && connectedWallets.length == 1)) {
1414
+ _context.next = 9;
1408
1415
  break;
1409
1416
  }
1410
- _context.next = 4;
1417
+ wallet = connectedWallets[0];
1418
+ _context.next = 7;
1411
1419
  return wallet.account();
1412
- case 4:
1420
+ case 7:
1413
1421
  account = _context.sent;
1414
- if (!account) {
1415
- _context.next = 7;
1416
- break;
1417
- }
1418
1422
  return _context.abrupt("return", resolve({
1419
1423
  wallet: wallet,
1420
1424
  account: account
1421
1425
  }));
1422
- case 7:
1426
+ case 9:
1423
1427
  mount({
1424
1428
  style: style,
1425
1429
  document: ensureDocument(document)
@@ -1444,7 +1448,7 @@ var Connect = function Connect(options) {
1444
1448
  }), /*#__PURE__*/React.createElement(PoweredBy, null))));
1445
1449
  };
1446
1450
  });
1447
- case 8:
1451
+ case 10:
1448
1452
  case "end":
1449
1453
  return _context.stop();
1450
1454
  }
@@ -21109,6 +21113,44 @@ var WalletProvider = (function (props) {
21109
21113
  props.connected(account);
21110
21114
  }
21111
21115
  };
21116
+ useEffect(function () {
21117
+ if (recover == undefined || typeof recover == 'function') {
21118
+ var selectConnectedWallet = /*#__PURE__*/function () {
21119
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee() {
21120
+ var connectedWallets, _wallet, _account;
21121
+ return regenerator.wrap(function _callee$(_context) {
21122
+ while (1) switch (_context.prev = _context.next) {
21123
+ case 0:
21124
+ _context.next = 2;
21125
+ return getConnectedWallets();
21126
+ case 2:
21127
+ connectedWallets = _context.sent;
21128
+ if (!(connectedWallets && connectedWallets.length == 1)) {
21129
+ _context.next = 9;
21130
+ break;
21131
+ }
21132
+ _wallet = connectedWallets[0];
21133
+ _context.next = 7;
21134
+ return _wallet.account();
21135
+ case 7:
21136
+ _account = _context.sent;
21137
+ connected({
21138
+ account: _account,
21139
+ wallet: _wallet
21140
+ });
21141
+ case 9:
21142
+ case "end":
21143
+ return _context.stop();
21144
+ }
21145
+ }, _callee);
21146
+ }));
21147
+ return function selectConnectedWallet() {
21148
+ return _ref2.apply(this, arguments);
21149
+ };
21150
+ }();
21151
+ selectConnectedWallet();
21152
+ }
21153
+ }, []);
21112
21154
  if (walletState == 'connected' || recover != undefined && typeof recover != 'function') {
21113
21155
  return /*#__PURE__*/React.createElement(WalletContext.Provider, {
21114
21156
  value: {