@interchain-kit/react 0.2.201 → 0.2.202

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.
@@ -13,14 +13,19 @@ export const WalletModal = () => {
13
13
  const [selectedWallet, setSelectedWallet] = useState(null);
14
14
  const { chain, status, wallet } = useChainWallet(currentChainName, currentWalletName);
15
15
  const handleConnect = async () => {
16
- if (wallet.originalWallet instanceof WCWallet) {
17
- wallet.originalWallet.setOnPairingUriCreatedCallback((uri) => {
18
- setQRCode(uri);
19
- });
16
+ try {
17
+ if (wallet.originalWallet instanceof WCWallet) {
18
+ wallet.originalWallet.setOnPairingUriCreatedCallback((uri) => {
19
+ setQRCode(uri);
20
+ });
21
+ }
22
+ await connect(selectedWallet?.info?.name, chain.chainName);
23
+ await getAccount(selectedWallet?.info?.name, chain.chainName);
24
+ setSelectedWallet(null);
25
+ }
26
+ catch (error) {
27
+ console.error("Failed to connect wallet:", error);
20
28
  }
21
- await connect(selectedWallet?.info?.name, chain.chainName);
22
- await getAccount(selectedWallet?.info?.name, chain.chainName);
23
- setSelectedWallet(null);
24
29
  };
25
30
  useEffect(() => {
26
31
  if (selectedWallet && currentWalletName && currentChainName) {
@@ -58,7 +63,7 @@ export const WalletModal = () => {
58
63
  status,
59
64
  modalIsOpen,
60
65
  selectedWallet,
61
- qrCode
66
+ qrCode,
62
67
  ]);
63
68
  const goBackList = () => setModalType("wallet-list");
64
69
  const { header, content } = useMemo(() => {
@@ -10,7 +10,6 @@ export const ConnectedHeader = ({ wallet, onBack, }) => {
10
10
  };
11
11
  export const ConnectedContent = ({ afterDisconnect, }) => {
12
12
  const { currentChainName, currentWalletName } = useWalletManager();
13
- console.log({ currentChainName, currentWalletName });
14
13
  const { address, username, wallet } = useChainWallet(currentChainName, currentWalletName);
15
14
  const { close } = useWalletModal();
16
15
  if (!wallet) {
package/esm/provider.js CHANGED
@@ -10,7 +10,8 @@ export const ChainProvider = ({ chains, assetLists, wallets, signerOptions, endp
10
10
  const walletManager = new WalletManager(chains, assetLists, wallets, signerOptions, endpointOptions);
11
11
  const store = useRef(createInterchainStore(walletManager));
12
12
  useEffect(() => {
13
- walletManager.init();
13
+ // walletManager.init();
14
+ store.current.getState().init();
14
15
  }, []);
15
16
  return (_jsx(InterchainWalletContext.Provider, { value: store.current, children: _jsx(WalletModalProvider, { children: children }) }));
16
17
  };
@@ -1,4 +1,4 @@
1
- import { WalletState } from "@interchain-kit/core";
1
+ import { clientNotExistError, WalletState } from "@interchain-kit/core";
2
2
  import { createStore } from "zustand";
3
3
  import { immer } from "zustand/middleware/immer";
4
4
  import { persist, createJSONStorage } from 'zustand/middleware';
@@ -49,7 +49,28 @@ export const createInterchainStore = (walletManager) => {
49
49
  draft.chainWalletState[targetIndex] = { ...draft.chainWalletState[targetIndex], ...data };
50
50
  });
51
51
  },
52
- init: () => walletManager.init(),
52
+ init: async () => {
53
+ const NotExistWallets = [];
54
+ await Promise.all(get().wallets.map(async (wallet) => {
55
+ try {
56
+ await wallet.init();
57
+ }
58
+ catch (error) {
59
+ if (error === clientNotExistError.message) {
60
+ NotExistWallets.push(wallet.info.name);
61
+ }
62
+ }
63
+ }));
64
+ set(draft => {
65
+ draft.chainWalletState = draft.chainWalletState.map(cws => {
66
+ if (NotExistWallets.includes(cws.walletName)) {
67
+ return { ...cws, walletState: WalletState.NotExist };
68
+ }
69
+ return cws;
70
+ });
71
+ });
72
+ // return walletManager.init()
73
+ },
53
74
  setCurrentChainName: (chainName) => {
54
75
  set(draft => { draft.currentChainName = chainName; });
55
76
  },
package/modal/modal.js CHANGED
@@ -16,14 +16,19 @@ const WalletModal = () => {
16
16
  const [selectedWallet, setSelectedWallet] = (0, react_1.useState)(null);
17
17
  const { chain, status, wallet } = (0, hooks_1.useChainWallet)(currentChainName, currentWalletName);
18
18
  const handleConnect = async () => {
19
- if (wallet.originalWallet instanceof core_1.WCWallet) {
20
- wallet.originalWallet.setOnPairingUriCreatedCallback((uri) => {
21
- setQRCode(uri);
22
- });
19
+ try {
20
+ if (wallet.originalWallet instanceof core_1.WCWallet) {
21
+ wallet.originalWallet.setOnPairingUriCreatedCallback((uri) => {
22
+ setQRCode(uri);
23
+ });
24
+ }
25
+ await connect(selectedWallet?.info?.name, chain.chainName);
26
+ await getAccount(selectedWallet?.info?.name, chain.chainName);
27
+ setSelectedWallet(null);
28
+ }
29
+ catch (error) {
30
+ console.error("Failed to connect wallet:", error);
23
31
  }
24
- await connect(selectedWallet?.info?.name, chain.chainName);
25
- await getAccount(selectedWallet?.info?.name, chain.chainName);
26
- setSelectedWallet(null);
27
32
  };
28
33
  (0, react_1.useEffect)(() => {
29
34
  if (selectedWallet && currentWalletName && currentChainName) {
@@ -61,7 +66,7 @@ const WalletModal = () => {
61
66
  status,
62
67
  modalIsOpen,
63
68
  selectedWallet,
64
- qrCode
69
+ qrCode,
65
70
  ]);
66
71
  const goBackList = () => setModalType("wallet-list");
67
72
  const { header, content } = (0, react_1.useMemo)(() => {
@@ -14,7 +14,6 @@ const ConnectedHeader = ({ wallet, onBack, }) => {
14
14
  exports.ConnectedHeader = ConnectedHeader;
15
15
  const ConnectedContent = ({ afterDisconnect, }) => {
16
16
  const { currentChainName, currentWalletName } = (0, hooks_1.useWalletManager)();
17
- console.log({ currentChainName, currentWalletName });
18
17
  const { address, username, wallet } = (0, hooks_1.useChainWallet)(currentChainName, currentWalletName);
19
18
  const { close } = (0, provider_1.useWalletModal)();
20
19
  if (!wallet) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@interchain-kit/react",
3
- "version": "0.2.201",
3
+ "version": "0.2.202",
4
4
  "author": "Hyperweb <developers@hyperweb.io>",
5
5
  "description": "interchain-kit wallet connector react package",
6
6
  "main": "index.js",
@@ -33,7 +33,7 @@
33
33
  "keywords": [],
34
34
  "dependencies": {
35
35
  "@chain-registry/v2-types": "^0.53.40",
36
- "@interchain-kit/core": "0.2.201",
36
+ "@interchain-kit/core": "0.2.202",
37
37
  "@interchain-ui/react": "1.26.1",
38
38
  "@interchainjs/cosmos": "1.9.3",
39
39
  "@interchainjs/cosmos-types": "1.9.3",
@@ -46,5 +46,5 @@
46
46
  "react-dom": "^18.3.1",
47
47
  "zustand": "^5.0.3"
48
48
  },
49
- "gitHead": "0e8792f853a2b27e74180885529070365918400b"
49
+ "gitHead": "60f30aa20fa8d8e0167ebe67ce195dda02dcb3ff"
50
50
  }
package/provider.js CHANGED
@@ -13,7 +13,8 @@ const ChainProvider = ({ chains, assetLists, wallets, signerOptions, endpointOpt
13
13
  const walletManager = new core_1.WalletManager(chains, assetLists, wallets, signerOptions, endpointOptions);
14
14
  const store = (0, react_1.useRef)((0, store_1.createInterchainStore)(walletManager));
15
15
  (0, react_1.useEffect)(() => {
16
- walletManager.init();
16
+ // walletManager.init();
17
+ store.current.getState().init();
17
18
  }, []);
18
19
  return ((0, jsx_runtime_1.jsx)(InterchainWalletContext.Provider, { value: store.current, children: (0, jsx_runtime_1.jsx)(modal_1.WalletModalProvider, { children: children }) }));
19
20
  };
package/store/index.js CHANGED
@@ -52,7 +52,28 @@ const createInterchainStore = (walletManager) => {
52
52
  draft.chainWalletState[targetIndex] = { ...draft.chainWalletState[targetIndex], ...data };
53
53
  });
54
54
  },
55
- init: () => walletManager.init(),
55
+ init: async () => {
56
+ const NotExistWallets = [];
57
+ await Promise.all(get().wallets.map(async (wallet) => {
58
+ try {
59
+ await wallet.init();
60
+ }
61
+ catch (error) {
62
+ if (error === core_1.clientNotExistError.message) {
63
+ NotExistWallets.push(wallet.info.name);
64
+ }
65
+ }
66
+ }));
67
+ set(draft => {
68
+ draft.chainWalletState = draft.chainWalletState.map(cws => {
69
+ if (NotExistWallets.includes(cws.walletName)) {
70
+ return { ...cws, walletState: core_1.WalletState.NotExist };
71
+ }
72
+ return cws;
73
+ });
74
+ });
75
+ // return walletManager.init()
76
+ },
56
77
  setCurrentChainName: (chainName) => {
57
78
  set(draft => { draft.currentChainName = chainName; });
58
79
  },