@depay/widgets 9.0.1 → 9.0.3

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
  }
@@ -806,6 +810,7 @@ var ConnectStack = (function (props) {
806
810
  case 3:
807
811
  account = _context2.sent;
808
812
  if (account) {
813
+ if (props.autoClose) close();
809
814
  if (props.resolve) props.resolve({
810
815
  wallet: wallet,
811
816
  account: account
@@ -1398,28 +1403,28 @@ var Connect = function Connect(options) {
1398
1403
  }
1399
1404
  return new Promise( /*#__PURE__*/function () {
1400
1405
  var _ref = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee(resolve, reject) {
1401
- var wallet, account;
1406
+ var connectedWallets, wallet, account;
1402
1407
  return regenerator.wrap(function _callee$(_context) {
1403
1408
  while (1) switch (_context.prev = _context.next) {
1404
1409
  case 0:
1405
- wallet = getWallets()[0];
1406
- if (!wallet) {
1407
- _context.next = 7;
1410
+ _context.next = 2;
1411
+ return getConnectedWallets();
1412
+ case 2:
1413
+ connectedWallets = _context.sent;
1414
+ if (!(connectedWallets && connectedWallets.length == 1)) {
1415
+ _context.next = 9;
1408
1416
  break;
1409
1417
  }
1410
- _context.next = 4;
1418
+ wallet = connectedWallets[0];
1419
+ _context.next = 7;
1411
1420
  return wallet.account();
1412
- case 4:
1421
+ case 7:
1413
1422
  account = _context.sent;
1414
- if (!account) {
1415
- _context.next = 7;
1416
- break;
1417
- }
1418
1423
  return _context.abrupt("return", resolve({
1419
1424
  wallet: wallet,
1420
1425
  account: account
1421
1426
  }));
1422
- case 7:
1427
+ case 9:
1423
1428
  mount({
1424
1429
  style: style,
1425
1430
  document: ensureDocument(document)
@@ -1444,7 +1449,7 @@ var Connect = function Connect(options) {
1444
1449
  }), /*#__PURE__*/React.createElement(PoweredBy, null))));
1445
1450
  };
1446
1451
  });
1447
- case 8:
1452
+ case 10:
1448
1453
  case "end":
1449
1454
  return _context.stop();
1450
1455
  }
@@ -21109,7 +21114,45 @@ var WalletProvider = (function (props) {
21109
21114
  props.connected(account);
21110
21115
  }
21111
21116
  };
21112
- if (walletState == 'connected' || recover != undefined && typeof recover != 'function') {
21117
+ useEffect(function () {
21118
+ if (recover == undefined) {
21119
+ var selectConnectedWallet = /*#__PURE__*/function () {
21120
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee() {
21121
+ var connectedWallets, _wallet, _account;
21122
+ return regenerator.wrap(function _callee$(_context) {
21123
+ while (1) switch (_context.prev = _context.next) {
21124
+ case 0:
21125
+ _context.next = 2;
21126
+ return getConnectedWallets();
21127
+ case 2:
21128
+ connectedWallets = _context.sent;
21129
+ if (!(connectedWallets && connectedWallets.length == 1)) {
21130
+ _context.next = 9;
21131
+ break;
21132
+ }
21133
+ _wallet = connectedWallets[0];
21134
+ _context.next = 7;
21135
+ return _wallet.account();
21136
+ case 7:
21137
+ _account = _context.sent;
21138
+ connected({
21139
+ account: _account,
21140
+ wallet: _wallet
21141
+ });
21142
+ case 9:
21143
+ case "end":
21144
+ return _context.stop();
21145
+ }
21146
+ }, _callee);
21147
+ }));
21148
+ return function selectConnectedWallet() {
21149
+ return _ref2.apply(this, arguments);
21150
+ };
21151
+ }();
21152
+ selectConnectedWallet();
21153
+ }
21154
+ }, []);
21155
+ if (walletState == 'connected' || recover != undefined) {
21113
21156
  return /*#__PURE__*/React.createElement(WalletContext.Provider, {
21114
21157
  value: {
21115
21158
  account: account,
@@ -21256,7 +21299,7 @@ var SignLoginDialog = (function (props) {
21256
21299
  message = _useContext2.message,
21257
21300
  endpoint = _useContext2.endpoint;
21258
21301
  var _useContext3 = useContext(ConfigurationContext),
21259
- recover = _useContext3.recover;
21302
+ recoverSignature = _useContext3.recoverSignature;
21260
21303
  var _useContext4 = useContext(WalletContext),
21261
21304
  wallet = _useContext4.wallet;
21262
21305
  if (!wallet) {
@@ -21264,8 +21307,8 @@ var SignLoginDialog = (function (props) {
21264
21307
  }
21265
21308
  wallet !== null && wallet !== void 0 && wallet.name ? wallet.name : 'wallet';
21266
21309
  var walletLogo = wallet !== null && wallet !== void 0 && wallet.logo ? wallet.logo : undefined;
21267
- if (typeof recover != 'function') {
21268
- recover = function recover(_ref) {
21310
+ if (typeof recoverSignature != 'function') {
21311
+ recoverSignature = function recoverSignature(_ref) {
21269
21312
  var message = _ref.message,
21270
21313
  signature = _ref.signature;
21271
21314
  return new Promise(function (resolve, reject) {
@@ -21294,7 +21337,7 @@ var SignLoginDialog = (function (props) {
21294
21337
  }
21295
21338
  var login = function login() {
21296
21339
  wallet.sign(message).then(function (signature) {
21297
- recover({
21340
+ recoverSignature({
21298
21341
  message: message,
21299
21342
  signature: signature
21300
21343
  }).then(props.resolve)["catch"](setError);
@@ -21380,7 +21423,7 @@ var Login = function Login(options) {
21380
21423
  configuration: {
21381
21424
  message: message,
21382
21425
  endpoint: endpoint || '/login',
21383
- recover: recover
21426
+ recoverSignature: recover
21384
21427
  }
21385
21428
  }, /*#__PURE__*/React.createElement(UpdatableProvider, null, /*#__PURE__*/React.createElement(ClosableProvider, {
21386
21429
  unmount: userClosedDialog