@ant-design/web3-wagmi 1.2.0 → 2.0.1

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 (44) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/esm/interface.d.ts +5 -4
  3. package/dist/esm/wagmi-provider/config-provider.d.ts +6 -4
  4. package/dist/esm/wagmi-provider/config-provider.js +41 -41
  5. package/dist/esm/wagmi-provider/index.d.ts +8 -5
  6. package/dist/esm/wagmi-provider/index.js +27 -54
  7. package/dist/esm/wagmi-provider/methods/addNameToAccount.d.ts +2 -1
  8. package/dist/esm/wagmi-provider/methods/addNameToAccount.js +4 -4
  9. package/dist/esm/wagmi-provider/methods/getNFTMetadata.d.ts +2 -1
  10. package/dist/esm/wagmi-provider/methods/getNFTMetadata.js +3 -3
  11. package/dist/esm/wallets/coinbase-wallet.d.ts +2 -2
  12. package/dist/esm/wallets/coinbase-wallet.js +25 -23
  13. package/dist/esm/wallets/meta-mask.d.ts +2 -2
  14. package/dist/esm/wallets/meta-mask.js +44 -42
  15. package/dist/esm/wallets/safeheron.d.ts +2 -2
  16. package/dist/esm/wallets/safeheron.js +50 -40
  17. package/dist/esm/wallets/token-pocket.d.ts +2 -2
  18. package/dist/esm/wallets/token-pocket.js +9 -1
  19. package/dist/esm/wallets/universal-wallet.d.ts +2 -2
  20. package/dist/esm/wallets/universal-wallet.js +72 -33
  21. package/dist/esm/wallets/wallet-connect.d.ts +6 -1
  22. package/dist/esm/wallets/wallet-connect.js +57 -47
  23. package/dist/lib/interface.d.ts +5 -4
  24. package/dist/lib/wagmi-provider/config-provider.d.ts +6 -4
  25. package/dist/lib/wagmi-provider/config-provider.js +26 -29
  26. package/dist/lib/wagmi-provider/index.d.ts +8 -5
  27. package/dist/lib/wagmi-provider/index.js +21 -35
  28. package/dist/lib/wagmi-provider/methods/addNameToAccount.d.ts +2 -1
  29. package/dist/lib/wagmi-provider/methods/addNameToAccount.js +2 -2
  30. package/dist/lib/wagmi-provider/methods/getNFTMetadata.d.ts +2 -1
  31. package/dist/lib/wagmi-provider/methods/getNFTMetadata.js +2 -2
  32. package/dist/lib/wallets/coinbase-wallet.d.ts +2 -2
  33. package/dist/lib/wallets/coinbase-wallet.js +15 -11
  34. package/dist/lib/wallets/meta-mask.d.ts +2 -2
  35. package/dist/lib/wallets/meta-mask.js +18 -14
  36. package/dist/lib/wallets/safeheron.d.ts +2 -2
  37. package/dist/lib/wallets/safeheron.js +18 -14
  38. package/dist/lib/wallets/token-pocket.d.ts +2 -2
  39. package/dist/lib/wallets/token-pocket.js +7 -1
  40. package/dist/lib/wallets/universal-wallet.d.ts +2 -2
  41. package/dist/lib/wallets/universal-wallet.js +14 -14
  42. package/dist/lib/wallets/wallet-connect.d.ts +6 -1
  43. package/dist/lib/wallets/wallet-connect.js +28 -20
  44. package/package.json +7 -5
@@ -8,44 +8,54 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
8
8
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
9
9
  function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
10
10
  import { metadata_Safeheron } from '@ant-design/web3-assets';
11
- export var SafeheronWallet = {
12
- name: 'Safeheron',
13
- create: function create(connector) {
14
- return _objectSpread(_objectSpread({}, metadata_Safeheron), {}, {
15
- hasWalletReady: function () {
16
- var _hasWalletReady = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
17
- return _regeneratorRuntime().wrap(function _callee$(_context) {
18
- while (1) switch (_context.prev = _context.next) {
19
- case 0:
20
- return _context.abrupt("return", !!(connector !== null && connector !== void 0 && connector.ready));
21
- case 1:
22
- case "end":
23
- return _context.stop();
24
- }
25
- }, _callee);
26
- }));
27
- function hasWalletReady() {
28
- return _hasWalletReady.apply(this, arguments);
29
- }
30
- return hasWalletReady;
31
- }(),
32
- hasExtensionInstalled: function () {
33
- var _hasExtensionInstalled = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
34
- return _regeneratorRuntime().wrap(function _callee2$(_context2) {
35
- while (1) switch (_context2.prev = _context2.next) {
36
- case 0:
37
- return _context2.abrupt("return", !!(connector !== null && connector !== void 0 && connector.ready));
38
- case 1:
39
- case "end":
40
- return _context2.stop();
41
- }
42
- }, _callee2);
43
- }));
44
- function hasExtensionInstalled() {
45
- return _hasExtensionInstalled.apply(this, arguments);
46
- }
47
- return hasExtensionInstalled;
48
- }()
49
- });
50
- }
11
+ export var SafeheronWallet = function SafeheronWallet(metadata) {
12
+ return {
13
+ connectors: ['Safeheron'],
14
+ create: function create(connectors) {
15
+ return _objectSpread(_objectSpread({}, metadata_Safeheron), {}, {
16
+ hasWalletReady: function () {
17
+ var _hasWalletReady = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
18
+ var _connectors$;
19
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
20
+ while (1) switch (_context.prev = _context.next) {
21
+ case 0:
22
+ _context.next = 2;
23
+ return connectors === null || connectors === void 0 || (_connectors$ = connectors[0]) === null || _connectors$ === void 0 ? void 0 : _connectors$.getProvider();
24
+ case 2:
25
+ return _context.abrupt("return", !!_context.sent);
26
+ case 3:
27
+ case "end":
28
+ return _context.stop();
29
+ }
30
+ }, _callee);
31
+ }));
32
+ function hasWalletReady() {
33
+ return _hasWalletReady.apply(this, arguments);
34
+ }
35
+ return hasWalletReady;
36
+ }(),
37
+ hasExtensionInstalled: function () {
38
+ var _hasExtensionInstalled = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
39
+ var _connectors$2;
40
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
41
+ while (1) switch (_context2.prev = _context2.next) {
42
+ case 0:
43
+ _context2.next = 2;
44
+ return connectors === null || connectors === void 0 || (_connectors$2 = connectors[0]) === null || _connectors$2 === void 0 ? void 0 : _connectors$2.getProvider();
45
+ case 2:
46
+ return _context2.abrupt("return", !!_context2.sent);
47
+ case 3:
48
+ case "end":
49
+ return _context2.stop();
50
+ }
51
+ }, _callee2);
52
+ }));
53
+ function hasExtensionInstalled() {
54
+ return _hasExtensionInstalled.apply(this, arguments);
55
+ }
56
+ return hasExtensionInstalled;
57
+ }()
58
+ }, metadata);
59
+ }
60
+ };
51
61
  };
@@ -1,2 +1,2 @@
1
- import { UniversalWallet } from './universal-wallet';
2
- export declare const TokenPocket: UniversalWallet;
1
+ import { EthereumWallet } from '../interface';
2
+ export declare const TokenPocket: EthereumWallet;
@@ -1,3 +1,11 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
5
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
6
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
1
7
  import { metadata_TokenPocket } from '@ant-design/web3-assets';
2
8
  import { UniversalWallet } from "./universal-wallet";
3
- export var TokenPocket = new UniversalWallet(metadata_TokenPocket);
9
+ export var TokenPocket = function TokenPocket(metadata) {
10
+ return new UniversalWallet(_objectSpread(_objectSpread({}, metadata_TokenPocket), metadata));
11
+ };
@@ -3,7 +3,7 @@ import type { Connector } from 'wagmi';
3
3
  import type { WalletFactory, WalletUseInWagmiAdapter } from '../interface';
4
4
  export declare class UniversalWallet implements WalletFactory {
5
5
  private wallet;
6
- name: string[];
6
+ connectors: string[];
7
7
  constructor(wallet: WalletMetadata);
8
- create: (connector?: Connector | Connector[]) => WalletUseInWagmiAdapter;
8
+ create: (connectors?: readonly Connector[]) => WalletUseInWagmiAdapter;
9
9
  }
@@ -13,14 +13,12 @@ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input ==
13
13
  export var UniversalWallet = /*#__PURE__*/_createClass(function UniversalWallet(wallet) {
14
14
  var _this = this;
15
15
  _classCallCheck(this, UniversalWallet);
16
- _defineProperty(this, "name", []);
17
- _defineProperty(this, "create", function (connector) {
18
- var _walletConnector$opti;
19
- var connectors = connector;
20
- var walletConnector = connectors.find(function (item) {
16
+ _defineProperty(this, "connectors", []);
17
+ _defineProperty(this, "create", function (connectors) {
18
+ var walletConnector = connectors === null || connectors === void 0 ? void 0 : connectors.find(function (item) {
21
19
  return item.name === 'WalletConnect';
22
20
  });
23
- var injectedConnector = connectors.find(function (item) {
21
+ var injectedConnector = connectors === null || connectors === void 0 ? void 0 : connectors.find(function (item) {
24
22
  return item.name === _this.wallet.name;
25
23
  });
26
24
  var getQrCode = /*#__PURE__*/function () {
@@ -34,7 +32,7 @@ export var UniversalWallet = /*#__PURE__*/_createClass(function UniversalWallet(
34
32
  case 2:
35
33
  provider = _context.sent;
36
34
  return _context.abrupt("return", new Promise(function (resolve) {
37
- provider.on('display_uri', function (uri) {
35
+ provider === null || provider === void 0 || provider.on('display_uri', function (uri) {
38
36
  resolve({
39
37
  uri: uri
40
38
  });
@@ -50,29 +48,65 @@ export var UniversalWallet = /*#__PURE__*/_createClass(function UniversalWallet(
50
48
  return _ref.apply(this, arguments);
51
49
  };
52
50
  }();
53
- var _hasExtensionInstalled = function hasExtensionInstalled() {
54
- var _injectedConnector$op;
55
- var provider = injectedConnector === null || injectedConnector === void 0 || (_injectedConnector$op = injectedConnector.options) === null || _injectedConnector$op === void 0 ? void 0 : _injectedConnector$op.getProvider();
56
- return !!provider;
57
- };
51
+ var _hasExtensionInstalled = /*#__PURE__*/function () {
52
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
53
+ var provider;
54
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
55
+ while (1) switch (_context2.prev = _context2.next) {
56
+ case 0:
57
+ _context2.next = 2;
58
+ return injectedConnector === null || injectedConnector === void 0 ? void 0 : injectedConnector.getProvider();
59
+ case 2:
60
+ provider = _context2.sent;
61
+ return _context2.abrupt("return", !!provider);
62
+ case 4:
63
+ case "end":
64
+ return _context2.stop();
65
+ }
66
+ }, _callee2);
67
+ }));
68
+ return function hasExtensionInstalled() {
69
+ return _ref2.apply(this, arguments);
70
+ };
71
+ }();
58
72
  return _objectSpread(_objectSpread({}, _this.wallet), {}, {
59
- getWagmiConnector: function getWagmiConnector() {
60
- if (_hasExtensionInstalled()) {
61
- return injectedConnector;
73
+ getWagmiConnector: function () {
74
+ var _getWagmiConnector = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
75
+ return _regeneratorRuntime().wrap(function _callee3$(_context3) {
76
+ while (1) switch (_context3.prev = _context3.next) {
77
+ case 0:
78
+ _context3.next = 2;
79
+ return _hasExtensionInstalled();
80
+ case 2:
81
+ if (!_context3.sent) {
82
+ _context3.next = 4;
83
+ break;
84
+ }
85
+ return _context3.abrupt("return", injectedConnector);
86
+ case 4:
87
+ return _context3.abrupt("return", walletConnector);
88
+ case 5:
89
+ case "end":
90
+ return _context3.stop();
91
+ }
92
+ }, _callee3);
93
+ }));
94
+ function getWagmiConnector() {
95
+ return _getWagmiConnector.apply(this, arguments);
62
96
  }
63
- return walletConnector;
64
- },
97
+ return getWagmiConnector;
98
+ }(),
65
99
  hasExtensionInstalled: function () {
66
- var _hasExtensionInstalled2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
67
- return _regeneratorRuntime().wrap(function _callee2$(_context2) {
68
- while (1) switch (_context2.prev = _context2.next) {
100
+ var _hasExtensionInstalled2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
101
+ return _regeneratorRuntime().wrap(function _callee4$(_context4) {
102
+ while (1) switch (_context4.prev = _context4.next) {
69
103
  case 0:
70
- return _context2.abrupt("return", _hasExtensionInstalled());
104
+ return _context4.abrupt("return", _hasExtensionInstalled());
71
105
  case 1:
72
106
  case "end":
73
- return _context2.stop();
107
+ return _context4.stop();
74
108
  }
75
- }, _callee2);
109
+ }, _callee4);
76
110
  }));
77
111
  function hasExtensionInstalled() {
78
112
  return _hasExtensionInstalled2.apply(this, arguments);
@@ -80,33 +114,38 @@ export var UniversalWallet = /*#__PURE__*/_createClass(function UniversalWallet(
80
114
  return hasExtensionInstalled;
81
115
  }(),
82
116
  hasWalletReady: function () {
83
- var _hasWalletReady = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
84
- return _regeneratorRuntime().wrap(function _callee3$(_context3) {
85
- while (1) switch (_context3.prev = _context3.next) {
117
+ var _hasWalletReady = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5() {
118
+ var installed;
119
+ return _regeneratorRuntime().wrap(function _callee5$(_context5) {
120
+ while (1) switch (_context5.prev = _context5.next) {
86
121
  case 0:
87
- return _context3.abrupt("return", !!(_hasExtensionInstalled() || walletConnector));
88
- case 1:
122
+ _context5.next = 2;
123
+ return _hasExtensionInstalled();
124
+ case 2:
125
+ installed = _context5.sent;
126
+ return _context5.abrupt("return", !!(installed || walletConnector));
127
+ case 4:
89
128
  case "end":
90
- return _context3.stop();
129
+ return _context5.stop();
91
130
  }
92
- }, _callee3);
131
+ }, _callee5);
93
132
  }));
94
133
  function hasWalletReady() {
95
134
  return _hasWalletReady.apply(this, arguments);
96
135
  }
97
136
  return hasWalletReady;
98
137
  }(),
99
- getQrCode: (walletConnector === null || walletConnector === void 0 || (_walletConnector$opti = walletConnector.options) === null || _walletConnector$opti === void 0 ? void 0 : _walletConnector$opti.showQrModal) === false ? getQrCode : undefined
138
+ getQrCode: walletConnector ? getQrCode : undefined
100
139
  });
101
140
  });
102
141
  this.wallet = wallet;
103
142
  if (wallet.extensions) {
104
143
  // support injected connector
105
144
  // https://wagmi.sh/react/connectors/injected
106
- this.name.push(wallet.name);
145
+ this.connectors.push(wallet.name);
107
146
  }
108
147
  if (wallet.app) {
109
148
  // support WalletConnect https://wagmi.sh/react/connectors/walletConnect
110
- this.name.push('WalletConnect');
149
+ this.connectors.push('WalletConnect');
111
150
  }
112
151
  });
@@ -1,2 +1,7 @@
1
+ import { WalletMetadata } from '@ant-design/web3-common';
1
2
  import type { WalletFactory } from '../interface';
2
- export declare const WalletConnect: WalletFactory;
3
+ type EthereumWalletConnect = (metadata?: Partial<WalletMetadata> & {
4
+ useWalletConnectOfficialModal?: boolean;
5
+ }) => WalletFactory;
6
+ export declare const WalletConnect: EthereumWalletConnect;
7
+ export {};
@@ -1,4 +1,5 @@
1
1
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ var _excluded = ["useWalletConnectOfficialModal"];
2
3
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
4
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
5
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
@@ -7,56 +8,65 @@ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input ==
7
8
  function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
8
9
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
9
10
  function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
11
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
12
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
10
13
  import { metadata_WalletConnect } from '@ant-design/web3-assets';
11
- export var WalletConnect = {
12
- name: 'WalletConnect',
13
- create: function create(connector) {
14
- var getQrCode = /*#__PURE__*/function () {
15
- var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
16
- var provider;
17
- return _regeneratorRuntime().wrap(function _callee$(_context) {
18
- while (1) switch (_context.prev = _context.next) {
19
- case 0:
20
- _context.next = 2;
21
- return connector === null || connector === void 0 ? void 0 : connector.getProvider();
22
- case 2:
23
- provider = _context.sent;
24
- return _context.abrupt("return", new Promise(function (resolve) {
25
- provider.on('display_uri', function (uri) {
26
- resolve({
27
- uri: uri
28
- });
29
- });
30
- }));
31
- case 4:
32
- case "end":
33
- return _context.stop();
34
- }
35
- }, _callee);
36
- }));
37
- return function getQrCode() {
38
- return _ref.apply(this, arguments);
39
- };
40
- }();
41
- return _objectSpread(_objectSpread({}, metadata_WalletConnect), {}, {
42
- hasWalletReady: function () {
43
- var _hasWalletReady = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
44
- return _regeneratorRuntime().wrap(function _callee2$(_context2) {
45
- while (1) switch (_context2.prev = _context2.next) {
14
+ export var WalletConnect = function WalletConnect(metadata) {
15
+ var _ref = metadata || {},
16
+ _ref$useWalletConnect = _ref.useWalletConnectOfficialModal,
17
+ useWalletConnectOfficialModal = _ref$useWalletConnect === void 0 ? false : _ref$useWalletConnect,
18
+ rest = _objectWithoutProperties(_ref, _excluded);
19
+ return {
20
+ connectors: ['WalletConnect'],
21
+ create: function create(connectors) {
22
+ var getQrCode = /*#__PURE__*/function () {
23
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
24
+ var _connectors$;
25
+ var provider;
26
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
27
+ while (1) switch (_context.prev = _context.next) {
46
28
  case 0:
47
- return _context2.abrupt("return", true);
48
- case 1:
29
+ _context.next = 2;
30
+ return connectors === null || connectors === void 0 || (_connectors$ = connectors[0]) === null || _connectors$ === void 0 ? void 0 : _connectors$.getProvider();
31
+ case 2:
32
+ provider = _context.sent;
33
+ return _context.abrupt("return", new Promise(function (resolve) {
34
+ provider === null || provider === void 0 || provider.on('display_uri', function (uri) {
35
+ resolve({
36
+ uri: uri
37
+ });
38
+ });
39
+ }));
40
+ case 4:
49
41
  case "end":
50
- return _context2.stop();
42
+ return _context.stop();
51
43
  }
52
- }, _callee2);
44
+ }, _callee);
53
45
  }));
54
- function hasWalletReady() {
55
- return _hasWalletReady.apply(this, arguments);
56
- }
57
- return hasWalletReady;
58
- }(),
59
- getQrCode: (connector === null || connector === void 0 ? void 0 : connector.options.showQrModal) === false ? getQrCode : undefined
60
- });
61
- }
46
+ return function getQrCode() {
47
+ return _ref2.apply(this, arguments);
48
+ };
49
+ }();
50
+ return _objectSpread(_objectSpread({}, metadata_WalletConnect), {}, {
51
+ hasWalletReady: function () {
52
+ var _hasWalletReady = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
53
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
54
+ while (1) switch (_context2.prev = _context2.next) {
55
+ case 0:
56
+ return _context2.abrupt("return", true);
57
+ case 1:
58
+ case "end":
59
+ return _context2.stop();
60
+ }
61
+ }, _callee2);
62
+ }));
63
+ function hasWalletReady() {
64
+ return _hasWalletReady.apply(this, arguments);
65
+ }
66
+ return hasWalletReady;
67
+ }(),
68
+ getQrCode: useWalletConnectOfficialModal ? undefined : getQrCode
69
+ }, rest);
70
+ }
71
+ };
62
72
  };
@@ -1,9 +1,10 @@
1
- import type { Wallet } from '@ant-design/web3-common';
1
+ import type { Wallet, WalletMetadata } from '@ant-design/web3-common';
2
2
  import type { Connector } from 'wagmi';
3
3
  export interface WalletUseInWagmiAdapter extends Wallet {
4
- getWagmiConnector?: () => Connector | undefined;
4
+ getWagmiConnector?: () => Promise<Connector | undefined>;
5
5
  }
6
+ export type EthereumWallet = (metadata?: Partial<WalletMetadata>) => WalletFactory;
6
7
  export interface WalletFactory {
7
- name: Connector['name'] | Connector['name'][];
8
- create: (connector?: Connector | Connector[]) => WalletUseInWagmiAdapter;
8
+ connectors: Connector['name'][];
9
+ create: (connector?: readonly Connector[]) => WalletUseInWagmiAdapter;
9
10
  }
@@ -1,14 +1,16 @@
1
1
  import React from 'react';
2
2
  import { type Chain, type Locale } from '@ant-design/web3-common';
3
- import { type Chain as WagmiChain, type Connector as WagmiConnector } from 'wagmi';
3
+ import { Chain as WagmiChain } from 'viem';
4
+ import { type Connector as WagmiConnector } from 'wagmi';
4
5
  import type { WalletFactory } from '../interface';
5
6
  export interface AntDesignWeb3ConfigProviderProps {
7
+ chainAssets: Chain[];
8
+ walletFactorys: WalletFactory[];
6
9
  locale?: Locale;
7
- assets?: (WalletFactory | Chain)[];
8
10
  children?: React.ReactNode;
9
11
  ens?: boolean;
10
12
  balance?: boolean;
11
- availableChains: WagmiChain[];
12
- availableConnectors: WagmiConnector[];
13
+ readonly availableChains: readonly WagmiChain[];
14
+ readonly availableConnectors: readonly WagmiConnector[];
13
15
  }
14
16
  export declare const AntDesignWeb3ConfigProvider: React.FC<AntDesignWeb3ConfigProviderProps>;
@@ -13,7 +13,8 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
13
13
  const AntDesignWeb3ConfigProvider = props => {
14
14
  const {
15
15
  children,
16
- assets,
16
+ chainAssets,
17
+ walletFactorys,
17
18
  availableChains,
18
19
  availableConnectors,
19
20
  ens,
@@ -22,18 +23,17 @@ const AntDesignWeb3ConfigProvider = props => {
22
23
  } = props;
23
24
  const {
24
25
  address,
25
- isDisconnected
26
+ isDisconnected,
27
+ chain
26
28
  } = (0, _wagmi.useAccount)();
29
+ const config = (0, _wagmi.useConfig)();
27
30
  const [account, setAccount] = _react.default.useState();
28
31
  const {
29
32
  connectAsync
30
33
  } = (0, _wagmi.useConnect)();
31
34
  const {
32
- switchNetwork
33
- } = (0, _wagmi.useSwitchNetwork)();
34
- const {
35
- chain
36
- } = (0, _wagmi.useNetwork)();
35
+ switchChain
36
+ } = (0, _wagmi.useSwitchChain)();
37
37
  const {
38
38
  disconnectAsync
39
39
  } = (0, _wagmi.useDisconnect)();
@@ -52,41 +52,33 @@ const AntDesignWeb3ConfigProvider = props => {
52
52
  const a = {
53
53
  address
54
54
  };
55
- setAccount(ens ? await (0, _methods.addNameToAccount)(a) : a);
55
+ setAccount(ens ? await (0, _methods.addNameToAccount)(config, a) : a);
56
56
  };
57
57
  updateAccounts();
58
58
  }, [address, isDisconnected, chain, ens]);
59
59
  const wallets = _react.default.useMemo(() => {
60
- const walletFactorys = assets?.filter(item => item.create);
61
60
  availableConnectors.forEach(connector => {
62
61
  // check use assets config and console.error for alert
63
- const walletFactory = walletFactorys?.find(item => item.name === connector.name || item.name?.includes(connector.name));
62
+ const walletFactory = walletFactorys?.find(item => item.connectors?.includes(connector.name));
64
63
  if (!walletFactory?.create) {
65
- console.error(`Can not find wallet factory for ${connector.name}, you should config it in WagmiWeb3ConfigProvider 'assets'.`);
64
+ console.error(`Can not find wallet factory for ${connector.name}, you should config it in WagmiWeb3ConfigProvider 'wallets'.`);
66
65
  }
67
66
  });
68
67
 
69
68
  // Generate Wallet for @ant-design/web3
70
69
  const allWallet = walletFactorys?.map(factory => {
71
- let connector;
72
- if (typeof factory.name === 'string') {
73
- // this wallet factory only for one connector
74
- connector = availableConnectors.find(item => item.name === factory.name);
75
- } else {
76
- // for multiple connectors
77
- connector = factory.name.map(name => availableConnectors.find(item => item.name === name)).filter(item => item !== undefined);
78
- }
79
- if (!connector || Array.isArray(connector) && connector.length === 0) {
70
+ const connectors = factory.connectors.map(name => availableConnectors.find(item => item.name === name)).filter(item => !!item);
71
+ if (connectors.length === 0) {
80
72
  // Not config connector for this wallet factory, ignore it.
81
73
  return null;
82
74
  }
83
- return factory.create(connector);
75
+ return factory.create(connectors);
84
76
  }).filter(item => item !== null);
85
77
  return allWallet;
86
- }, [availableConnectors, assets]);
78
+ }, [availableConnectors, walletFactorys]);
87
79
  const chainList = _react.default.useMemo(() => {
88
80
  return availableChains.map(item => {
89
- const c = assets?.find(asset => {
81
+ const c = chainAssets?.find(asset => {
90
82
  return asset.id === item.id;
91
83
  });
92
84
  if (c?.id) {
@@ -100,7 +92,7 @@ const AntDesignWeb3ConfigProvider = props => {
100
92
  return null;
101
93
  }
102
94
  }).filter(item => item !== null);
103
- }, [availableChains, assets]);
95
+ }, [availableChains, chainAssets]);
104
96
  _react.default.useEffect(() => {
105
97
  if (!chain && currentChain) {
106
98
  // not connected any chain, keep current chain
@@ -110,7 +102,7 @@ const AntDesignWeb3ConfigProvider = props => {
110
102
  if (!currentWagmiChain) {
111
103
  return;
112
104
  }
113
- let c = assets?.find(item => item.id === currentWagmiChain?.id);
105
+ let c = chainAssets?.find(item => item.id === currentWagmiChain?.id);
114
106
  if (!c?.id) {
115
107
  c = {
116
108
  id: currentWagmiChain.id,
@@ -119,7 +111,7 @@ const AntDesignWeb3ConfigProvider = props => {
119
111
  }
120
112
  setCurrentChain(c);
121
113
  return;
122
- }, [chain, assets, availableChains, currentChain]);
114
+ }, [chain, chainAssets, availableChains, currentChain]);
123
115
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_web3Common.Web3ConfigProvider, {
124
116
  locale: locale,
125
117
  availableChains: chainList,
@@ -133,10 +125,13 @@ const AntDesignWeb3ConfigProvider = props => {
133
125
  } : undefined,
134
126
  availableWallets: wallets,
135
127
  connect: async wallet => {
136
- let connector = wallet?.getWagmiConnector?.();
128
+ let connector = await wallet?.getWagmiConnector?.();
137
129
  if (!connector) {
138
130
  connector = availableConnectors.find(item => item.name === wallet?.name);
139
131
  }
132
+ if (!connector) {
133
+ throw new Error(`Can not find connector for ${wallet?.name}`);
134
+ }
140
135
  await connectAsync({
141
136
  connector,
142
137
  chainId: currentChain?.id
@@ -150,13 +145,15 @@ const AntDesignWeb3ConfigProvider = props => {
150
145
  // hava not connected any chain
151
146
  setCurrentChain(c);
152
147
  } else {
153
- switchNetwork?.(c.id);
148
+ switchChain?.({
149
+ chainId: c.id
150
+ });
154
151
  }
155
152
  },
156
153
  getNFTMetadata: async ({
157
154
  address: contractAddress,
158
155
  tokenId
159
- }) => (0, _methods.getNFTMetadata)(contractAddress, tokenId, chain?.id),
156
+ }) => (0, _methods.getNFTMetadata)(config, contractAddress, tokenId, chain?.id),
160
157
  children: children
161
158
  });
162
159
  };
@@ -1,12 +1,15 @@
1
1
  import React from 'react';
2
2
  import type { Chain, Locale } from '@ant-design/web3-common';
3
- import type { Config, PublicClient, WebSocketPublicClient } from 'wagmi';
3
+ import { QueryClient } from '@tanstack/react-query';
4
+ import type { Config } from 'wagmi';
4
5
  import type { WalletFactory } from '../interface';
5
- export type WagmiWeb3ConfigProviderProps<TPublicClient extends PublicClient = PublicClient, TWebSocketPublicClient extends WebSocketPublicClient = WebSocketPublicClient> = {
6
- config: Config<TPublicClient, TWebSocketPublicClient>;
6
+ export type WagmiWeb3ConfigProviderProps = {
7
+ config: Config;
7
8
  locale?: Locale;
8
- assets?: (Chain | WalletFactory)[];
9
+ wallets?: WalletFactory[];
10
+ chains?: Chain[];
9
11
  ens?: boolean;
12
+ queryClient?: QueryClient;
10
13
  balance?: boolean;
11
14
  };
12
- export declare function WagmiWeb3ConfigProvider<TPublicClient extends PublicClient, TWebSocketPublicClient extends WebSocketPublicClient>({ children, assets, ens, locale, balance, config, ...restProps }: React.PropsWithChildren<WagmiWeb3ConfigProviderProps<TPublicClient, TWebSocketPublicClient>>): React.ReactElement;
15
+ export declare function WagmiWeb3ConfigProvider({ children, wallets, chains, ens, locale, balance, config, queryClient, ...restProps }: React.PropsWithChildren<WagmiWeb3ConfigProviderProps>): React.ReactElement;