@ant-design/web3-wagmi 1.2.0 → 2.1.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 (52) hide show
  1. package/CHANGELOG.md +31 -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/index.d.ts +1 -0
  14. package/dist/esm/wallets/index.js +2 -1
  15. package/dist/esm/wallets/meta-mask.d.ts +2 -2
  16. package/dist/esm/wallets/meta-mask.js +44 -42
  17. package/dist/esm/wallets/okx-wallet.d.ts +2 -0
  18. package/dist/esm/wallets/okx-wallet.js +11 -0
  19. package/dist/esm/wallets/safeheron.d.ts +2 -2
  20. package/dist/esm/wallets/safeheron.js +50 -40
  21. package/dist/esm/wallets/token-pocket.d.ts +2 -2
  22. package/dist/esm/wallets/token-pocket.js +9 -1
  23. package/dist/esm/wallets/universal-wallet.d.ts +2 -2
  24. package/dist/esm/wallets/universal-wallet.js +72 -33
  25. package/dist/esm/wallets/wallet-connect.d.ts +6 -1
  26. package/dist/esm/wallets/wallet-connect.js +57 -47
  27. package/dist/lib/interface.d.ts +5 -4
  28. package/dist/lib/wagmi-provider/config-provider.d.ts +6 -4
  29. package/dist/lib/wagmi-provider/config-provider.js +26 -29
  30. package/dist/lib/wagmi-provider/index.d.ts +8 -5
  31. package/dist/lib/wagmi-provider/index.js +21 -35
  32. package/dist/lib/wagmi-provider/methods/addNameToAccount.d.ts +2 -1
  33. package/dist/lib/wagmi-provider/methods/addNameToAccount.js +2 -2
  34. package/dist/lib/wagmi-provider/methods/getNFTMetadata.d.ts +2 -1
  35. package/dist/lib/wagmi-provider/methods/getNFTMetadata.js +2 -2
  36. package/dist/lib/wallets/coinbase-wallet.d.ts +2 -2
  37. package/dist/lib/wallets/coinbase-wallet.js +15 -11
  38. package/dist/lib/wallets/index.d.ts +1 -0
  39. package/dist/lib/wallets/index.js +11 -0
  40. package/dist/lib/wallets/meta-mask.d.ts +2 -2
  41. package/dist/lib/wallets/meta-mask.js +18 -14
  42. package/dist/lib/wallets/okx-wallet.d.ts +2 -0
  43. package/dist/lib/wallets/okx-wallet.js +15 -0
  44. package/dist/lib/wallets/safeheron.d.ts +2 -2
  45. package/dist/lib/wallets/safeheron.js +18 -14
  46. package/dist/lib/wallets/token-pocket.d.ts +2 -2
  47. package/dist/lib/wallets/token-pocket.js +7 -1
  48. package/dist/lib/wallets/universal-wallet.d.ts +2 -2
  49. package/dist/lib/wallets/universal-wallet.js +14 -14
  50. package/dist/lib/wallets/wallet-connect.d.ts +6 -1
  51. package/dist/lib/wallets/wallet-connect.js +28 -20
  52. package/package.json +7 -5
package/CHANGELOG.md CHANGED
@@ -1,5 +1,36 @@
1
1
  # @ant-design/web3-wagmi
2
2
 
3
+ ## 2.1.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 77615f9: feat: Add OKX wallet info
8
+
9
+ ### Patch Changes
10
+
11
+ - Updated dependencies [f135178]
12
+ - Updated dependencies [77615f9]
13
+ - @ant-design/web3-common@1.3.1
14
+ - @ant-design/web3-assets@1.2.0
15
+
16
+ ## 2.0.1
17
+
18
+ ### Patch Changes
19
+
20
+ - 47a879d: chore: release @ant-design/web3-wagmi 2.x for wagmi 2.x
21
+
22
+ ## 2.0.0
23
+
24
+ ### Major Changes
25
+
26
+ - 337971f: feat: upgrade wagmi to 2.0
27
+
28
+ ### Patch Changes
29
+
30
+ - Updated dependencies [879548d]
31
+ - @ant-design/web3-common@1.3.0
32
+ - @ant-design/web3-assets@1.1.4
33
+
3
34
  ## 1.2.0
4
35
 
5
36
  ### Minor Changes
@@ -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>;
@@ -10,13 +10,14 @@ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" !=
10
10
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
11
11
  import React from 'react';
12
12
  import { fillAddressWith0x, Web3ConfigProvider } from '@ant-design/web3-common';
13
- import { useAccount, useBalance, useConnect, useDisconnect, useNetwork, useSwitchNetwork } from 'wagmi';
13
+ import { useAccount, useBalance, useConfig, useConnect, useDisconnect, useSwitchChain } from 'wagmi';
14
14
  import { addNameToAccount, getNFTMetadata } from "./methods";
15
15
  import { jsx as _jsx } from "react/jsx-runtime";
16
16
  export var AntDesignWeb3ConfigProvider = function AntDesignWeb3ConfigProvider(props) {
17
17
  var _currentChain$nativeC;
18
18
  var children = props.children,
19
- assets = props.assets,
19
+ chainAssets = props.chainAssets,
20
+ walletFactorys = props.walletFactorys,
20
21
  availableChains = props.availableChains,
21
22
  availableConnectors = props.availableConnectors,
22
23
  ens = props.ens,
@@ -24,17 +25,17 @@ export var AntDesignWeb3ConfigProvider = function AntDesignWeb3ConfigProvider(pr
24
25
  locale = props.locale;
25
26
  var _useAccount = useAccount(),
26
27
  address = _useAccount.address,
27
- isDisconnected = _useAccount.isDisconnected;
28
+ isDisconnected = _useAccount.isDisconnected,
29
+ chain = _useAccount.chain;
30
+ var config = useConfig();
28
31
  var _React$useState = React.useState(),
29
32
  _React$useState2 = _slicedToArray(_React$useState, 2),
30
33
  account = _React$useState2[0],
31
34
  setAccount = _React$useState2[1];
32
35
  var _useConnect = useConnect(),
33
36
  connectAsync = _useConnect.connectAsync;
34
- var _useSwitchNetwork = useSwitchNetwork(),
35
- switchNetwork = _useSwitchNetwork.switchNetwork;
36
- var _useNetwork = useNetwork(),
37
- chain = _useNetwork.chain;
37
+ var _useSwitchChain = useSwitchChain(),
38
+ switchChain = _useSwitchChain.switchChain;
38
39
  var _useDisconnect = useDisconnect(),
39
40
  disconnectAsync = _useDisconnect.disconnectAsync;
40
41
  var _React$useState3 = React.useState(undefined),
@@ -65,7 +66,7 @@ export var AntDesignWeb3ConfigProvider = function AntDesignWeb3ConfigProvider(pr
65
66
  break;
66
67
  }
67
68
  _context.next = 5;
68
- return addNameToAccount(a);
69
+ return addNameToAccount(config, a);
69
70
  case 5:
70
71
  _context.t1 = _context.sent;
71
72
  _context.next = 9;
@@ -88,51 +89,39 @@ export var AntDesignWeb3ConfigProvider = function AntDesignWeb3ConfigProvider(pr
88
89
  updateAccounts();
89
90
  }, [address, isDisconnected, chain, ens]);
90
91
  var wallets = React.useMemo(function () {
91
- var walletFactorys = assets === null || assets === void 0 ? void 0 : assets.filter(function (item) {
92
- return item.create;
93
- });
94
92
  availableConnectors.forEach(function (connector) {
95
93
  // check use assets config and console.error for alert
96
94
  var walletFactory = walletFactorys === null || walletFactorys === void 0 ? void 0 : walletFactorys.find(function (item) {
97
- var _item$name;
98
- return item.name === connector.name || ((_item$name = item.name) === null || _item$name === void 0 ? void 0 : _item$name.includes(connector.name));
95
+ var _item$connectors;
96
+ return (_item$connectors = item.connectors) === null || _item$connectors === void 0 ? void 0 : _item$connectors.includes(connector.name);
99
97
  });
100
98
  if (!(walletFactory !== null && walletFactory !== void 0 && walletFactory.create)) {
101
- console.error("Can not find wallet factory for ".concat(connector.name, ", you should config it in WagmiWeb3ConfigProvider 'assets'."));
99
+ console.error("Can not find wallet factory for ".concat(connector.name, ", you should config it in WagmiWeb3ConfigProvider 'wallets'."));
102
100
  }
103
101
  });
104
102
 
105
103
  // Generate Wallet for @ant-design/web3
106
104
  var allWallet = walletFactorys === null || walletFactorys === void 0 ? void 0 : walletFactorys.map(function (factory) {
107
- var connector;
108
- if (typeof factory.name === 'string') {
109
- // this wallet factory only for one connector
110
- connector = availableConnectors.find(function (item) {
111
- return item.name === factory.name;
112
- });
113
- } else {
114
- // for multiple connectors
115
- connector = factory.name.map(function (name) {
116
- return availableConnectors.find(function (item) {
117
- return item.name === name;
118
- });
119
- }).filter(function (item) {
120
- return item !== undefined;
105
+ var connectors = factory.connectors.map(function (name) {
106
+ return availableConnectors.find(function (item) {
107
+ return item.name === name;
121
108
  });
122
- }
123
- if (!connector || Array.isArray(connector) && connector.length === 0) {
109
+ }).filter(function (item) {
110
+ return !!item;
111
+ });
112
+ if (connectors.length === 0) {
124
113
  // Not config connector for this wallet factory, ignore it.
125
114
  return null;
126
115
  }
127
- return factory.create(connector);
116
+ return factory.create(connectors);
128
117
  }).filter(function (item) {
129
118
  return item !== null;
130
119
  });
131
120
  return allWallet;
132
- }, [availableConnectors, assets]);
121
+ }, [availableConnectors, walletFactorys]);
133
122
  var chainList = React.useMemo(function () {
134
123
  return availableChains.map(function (item) {
135
- var c = assets === null || assets === void 0 ? void 0 : assets.find(function (asset) {
124
+ var c = chainAssets === null || chainAssets === void 0 ? void 0 : chainAssets.find(function (asset) {
136
125
  return asset.id === item.id;
137
126
  });
138
127
  if (c !== null && c !== void 0 && c.id) {
@@ -148,7 +137,7 @@ export var AntDesignWeb3ConfigProvider = function AntDesignWeb3ConfigProvider(pr
148
137
  }).filter(function (item) {
149
138
  return item !== null;
150
139
  });
151
- }, [availableChains, assets]);
140
+ }, [availableChains, chainAssets]);
152
141
  React.useEffect(function () {
153
142
  var _c;
154
143
  if (!chain && currentChain) {
@@ -159,7 +148,7 @@ export var AntDesignWeb3ConfigProvider = function AntDesignWeb3ConfigProvider(pr
159
148
  if (!currentWagmiChain) {
160
149
  return;
161
150
  }
162
- var c = assets === null || assets === void 0 ? void 0 : assets.find(function (item) {
151
+ var c = chainAssets === null || chainAssets === void 0 ? void 0 : chainAssets.find(function (item) {
163
152
  return item.id === (currentWagmiChain === null || currentWagmiChain === void 0 ? void 0 : currentWagmiChain.id);
164
153
  });
165
154
  if (!((_c = c) !== null && _c !== void 0 && _c.id)) {
@@ -170,7 +159,7 @@ export var AntDesignWeb3ConfigProvider = function AntDesignWeb3ConfigProvider(pr
170
159
  }
171
160
  setCurrentChain(c);
172
161
  return;
173
- }, [chain, assets, availableChains, currentChain]);
162
+ }, [chain, chainAssets, availableChains, currentChain]);
174
163
  return /*#__PURE__*/_jsx(Web3ConfigProvider, {
175
164
  locale: locale,
176
165
  availableChains: chainList,
@@ -190,18 +179,27 @@ export var AntDesignWeb3ConfigProvider = function AntDesignWeb3ConfigProvider(pr
190
179
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
191
180
  while (1) switch (_context2.prev = _context2.next) {
192
181
  case 0:
193
- connector = wallet === null || wallet === void 0 || (_getWagmiConnector = (_ref3 = wallet).getWagmiConnector) === null || _getWagmiConnector === void 0 ? void 0 : _getWagmiConnector.call(_ref3);
182
+ _context2.next = 2;
183
+ return wallet === null || wallet === void 0 || (_getWagmiConnector = (_ref3 = wallet).getWagmiConnector) === null || _getWagmiConnector === void 0 ? void 0 : _getWagmiConnector.call(_ref3);
184
+ case 2:
185
+ connector = _context2.sent;
194
186
  if (!connector) {
195
187
  connector = availableConnectors.find(function (item) {
196
188
  return item.name === (wallet === null || wallet === void 0 ? void 0 : wallet.name);
197
189
  });
198
190
  }
199
- _context2.next = 4;
191
+ if (connector) {
192
+ _context2.next = 6;
193
+ break;
194
+ }
195
+ throw new Error("Can not find connector for ".concat(wallet === null || wallet === void 0 ? void 0 : wallet.name));
196
+ case 6:
197
+ _context2.next = 8;
200
198
  return connectAsync({
201
199
  connector: connector,
202
200
  chainId: currentChain === null || currentChain === void 0 ? void 0 : currentChain.id
203
201
  });
204
- case 4:
202
+ case 8:
205
203
  case "end":
206
204
  return _context2.stop();
207
205
  }
@@ -232,7 +230,9 @@ export var AntDesignWeb3ConfigProvider = function AntDesignWeb3ConfigProvider(pr
232
230
  // hava not connected any chain
233
231
  setCurrentChain(c);
234
232
  } else {
235
- switchNetwork === null || switchNetwork === void 0 || switchNetwork(c.id);
233
+ switchChain === null || switchChain === void 0 || switchChain({
234
+ chainId: c.id
235
+ });
236
236
  }
237
237
  case 1:
238
238
  case "end":
@@ -251,7 +251,7 @@ export var AntDesignWeb3ConfigProvider = function AntDesignWeb3ConfigProvider(pr
251
251
  while (1) switch (_context5.prev = _context5.next) {
252
252
  case 0:
253
253
  contractAddress = _ref6.address, tokenId = _ref6.tokenId;
254
- return _context5.abrupt("return", getNFTMetadata(contractAddress, tokenId, chain === null || chain === void 0 ? void 0 : chain.id));
254
+ return _context5.abrupt("return", getNFTMetadata(config, contractAddress, tokenId, chain === null || chain === void 0 ? void 0 : chain.id));
255
255
  case 2:
256
256
  case "end":
257
257
  return _context5.stop();
@@ -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;
@@ -1,5 +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 = ["children", "assets", "ens", "locale", "balance", "config"];
2
+ var _excluded = ["children", "wallets", "chains", "ens", "locale", "balance", "config", "queryClient"];
3
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; }
4
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; }
5
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,77 +7,50 @@ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _ty
7
7
  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); }
8
8
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
9
9
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
10
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
10
11
  function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
11
12
  function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
12
- function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
13
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
14
13
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
15
14
  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; }
16
15
  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; }
17
16
  import React from 'react';
18
17
  // Built in popular chains
19
- import { Goerli, Mainnet } from '@ant-design/web3-assets';
20
- import { WagmiConfig } from 'wagmi';
21
- // MetaMask built-in
22
- import { MetaMask } from "../wallets";
18
+ import { Mainnet } from '@ant-design/web3-assets';
19
+ import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
20
+ import { WagmiProvider } from 'wagmi';
23
21
  import { AntDesignWeb3ConfigProvider } from "./config-provider";
24
22
  import { jsx as _jsx } from "react/jsx-runtime";
25
23
  export function WagmiWeb3ConfigProvider(_ref) {
26
24
  var children = _ref.children,
27
- _ref$assets = _ref.assets,
28
- assets = _ref$assets === void 0 ? [] : _ref$assets,
25
+ _ref$wallets = _ref.wallets,
26
+ wallets = _ref$wallets === void 0 ? [] : _ref$wallets,
27
+ _ref$chains = _ref.chains,
28
+ chains = _ref$chains === void 0 ? [] : _ref$chains,
29
29
  ens = _ref.ens,
30
30
  locale = _ref.locale,
31
31
  balance = _ref.balance,
32
32
  config = _ref.config,
33
+ queryClient = _ref.queryClient,
33
34
  restProps = _objectWithoutProperties(_ref, _excluded);
34
- var availableChains = React.useMemo(function () {
35
- var _config$publicClient$;
36
- // merge all available chains fro user select
37
- var chains = [];
38
- var _iterator = _createForOfIteratorHelper(config.connectors),
39
- _step;
40
- try {
41
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
42
- var connector = _step.value;
43
- connector.chains.forEach(function (chain) {
44
- if (chains.find(function (c) {
45
- return c.id === chain.id;
46
- })) return;
47
- chains.push(chain);
48
- });
49
- }
50
- } catch (err) {
51
- _iterator.e(err);
52
- } finally {
53
- _iterator.f();
54
- }
55
- (_config$publicClient$ = config.publicClient.chains) === null || _config$publicClient$ === void 0 || _config$publicClient$.forEach(function (chain) {
56
- if (chains.find(function (c) {
57
- return c.id === chain.id;
58
- })) return;
59
- chains.push(chain);
60
- });
61
- return chains;
62
- }, [config]);
63
- var assetsWithDefault = [].concat(_toConsumableArray(assets), [Mainnet, Goerli]);
64
- if (!assets.find(function (item) {
65
- return item.name === 'MetaMask' || Array.isArray(item.name) && item.name.includes('MetaMask');
66
- })) {
67
- // If user not set MetaMask, we will add it to the first
68
- assetsWithDefault.unshift(MetaMask);
69
- }
70
- return /*#__PURE__*/_jsx(WagmiConfig, _objectSpread(_objectSpread({
35
+ var chainAssets = [].concat(_toConsumableArray(chains), [Mainnet]);
36
+ var mergedQueryClient = React.useMemo(function () {
37
+ return queryClient !== null && queryClient !== void 0 ? queryClient : new QueryClient();
38
+ }, [queryClient]);
39
+ return /*#__PURE__*/_jsx(WagmiProvider, _objectSpread(_objectSpread({
71
40
  config: config
72
41
  }, restProps), {}, {
73
- children: /*#__PURE__*/_jsx(AntDesignWeb3ConfigProvider, {
74
- locale: locale,
75
- assets: assetsWithDefault,
76
- availableChains: availableChains,
77
- availableConnectors: config.connectors || [],
78
- ens: ens,
79
- balance: balance,
80
- children: children
42
+ children: /*#__PURE__*/_jsx(QueryClientProvider, {
43
+ client: mergedQueryClient,
44
+ children: /*#__PURE__*/_jsx(AntDesignWeb3ConfigProvider, {
45
+ locale: locale,
46
+ chainAssets: chainAssets,
47
+ walletFactorys: wallets,
48
+ availableChains: config.chains,
49
+ availableConnectors: config.connectors,
50
+ ens: ens,
51
+ balance: balance,
52
+ children: children
53
+ })
81
54
  })
82
55
  }));
83
56
  }
@@ -1,2 +1,3 @@
1
1
  import type { Account } from '@ant-design/web3-common';
2
- export declare function addNameToAccount(account: Account, chainId?: number): Promise<Account>;
2
+ import { type Config } from '@wagmi/core';
3
+ export declare function addNameToAccount(config: Config, account: Account, chainId?: number): Promise<Account>;
@@ -7,18 +7,18 @@ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _ty
7
7
  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); }
8
8
  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
9
  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); }); }; }
10
- import { fetchEnsName } from '@wagmi/core';
11
- export function addNameToAccount(_x, _x2) {
10
+ import { getEnsName } from '@wagmi/core';
11
+ export function addNameToAccount(_x, _x2, _x3) {
12
12
  return _addNameToAccount.apply(this, arguments);
13
13
  }
14
14
  function _addNameToAccount() {
15
- _addNameToAccount = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(account, chainId) {
15
+ _addNameToAccount = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(config, account, chainId) {
16
16
  var name;
17
17
  return _regeneratorRuntime().wrap(function _callee$(_context) {
18
18
  while (1) switch (_context.prev = _context.next) {
19
19
  case 0:
20
20
  _context.next = 2;
21
- return fetchEnsName({
21
+ return getEnsName(config, {
22
22
  address: account.address,
23
23
  chainId: chainId
24
24
  });
@@ -1,2 +1,3 @@
1
1
  import { type NFTMetadata } from '@ant-design/web3-common';
2
- export declare function getNFTMetadata(address: string, tokenId: bigint, chainId?: number): Promise<NFTMetadata>;
2
+ import { type Config } from '@wagmi/core';
3
+ export declare function getNFTMetadata(config: Config, address: string, tokenId: bigint, chainId?: number): Promise<NFTMetadata>;
@@ -4,17 +4,17 @@ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try
4
4
  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); }); }; }
5
5
  import { fillAddressWith0x, requestWeb3Asset } from '@ant-design/web3-common';
6
6
  import { readContract } from '@wagmi/core';
7
- export function getNFTMetadata(_x, _x2, _x3) {
7
+ export function getNFTMetadata(_x, _x2, _x3, _x4) {
8
8
  return _getNFTMetadata.apply(this, arguments);
9
9
  }
10
10
  function _getNFTMetadata() {
11
- _getNFTMetadata = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(address, tokenId, chainId) {
11
+ _getNFTMetadata = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(config, address, tokenId, chainId) {
12
12
  var tokenURI, metaInfo;
13
13
  return _regeneratorRuntime().wrap(function _callee$(_context) {
14
14
  while (1) switch (_context.prev = _context.next) {
15
15
  case 0:
16
16
  _context.next = 2;
17
- return readContract({
17
+ return readContract(config, {
18
18
  address: fillAddressWith0x(address),
19
19
  args: [tokenId],
20
20
  chainId: chainId,
@@ -1,2 +1,2 @@
1
- import type { WalletFactory } from '../interface';
2
- export declare const CoinbaseWallet: WalletFactory;
1
+ import type { EthereumWallet } from '../interface';
2
+ export declare const CoinbaseWallet: EthereumWallet;
@@ -8,27 +8,29 @@ 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_CoinbaseWallet } from '@ant-design/web3-assets';
11
- export var CoinbaseWallet = {
12
- name: 'Coinbase Wallet',
13
- create: function create() {
14
- return _objectSpread(_objectSpread({}, metadata_CoinbaseWallet), {}, {
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", true);
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
- });
33
- }
11
+ export var CoinbaseWallet = function CoinbaseWallet(metadata) {
12
+ return {
13
+ connectors: ['Coinbase Wallet'],
14
+ create: function create() {
15
+ return _objectSpread(_objectSpread({}, metadata_CoinbaseWallet), {}, {
16
+ hasWalletReady: function () {
17
+ var _hasWalletReady = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
18
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
19
+ while (1) switch (_context.prev = _context.next) {
20
+ case 0:
21
+ return _context.abrupt("return", true);
22
+ case 1:
23
+ case "end":
24
+ return _context.stop();
25
+ }
26
+ }, _callee);
27
+ }));
28
+ function hasWalletReady() {
29
+ return _hasWalletReady.apply(this, arguments);
30
+ }
31
+ return hasWalletReady;
32
+ }()
33
+ }, metadata);
34
+ }
35
+ };
34
36
  };
@@ -4,3 +4,4 @@ export * from './coinbase-wallet';
4
4
  export * from './token-pocket';
5
5
  export * from './safeheron';
6
6
  export * from './universal-wallet';
7
+ export * from './okx-wallet';
@@ -3,4 +3,5 @@ export * from "./wallet-connect";
3
3
  export * from "./coinbase-wallet";
4
4
  export * from "./token-pocket";
5
5
  export * from "./safeheron";
6
- export * from "./universal-wallet";
6
+ export * from "./universal-wallet";
7
+ export * from "./okx-wallet";
@@ -1,2 +1,2 @@
1
- import type { WalletFactory } from '../interface';
2
- export declare const MetaMask: WalletFactory;
1
+ import type { EthereumWallet } from '../interface';
2
+ export declare const MetaMask: EthereumWallet;