@interchain-kit/react 0.0.1-beta.33 → 0.0.1-beta.36
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/esm/hooks/useAccount.js +1 -1
- package/esm/hooks/useChain.js +5 -5
- package/esm/hooks/useChainWallet.js +32 -1
- package/esm/hooks/useInterchainClient.js +1 -1
- package/esm/hooks/useOfflineSigner.js +1 -1
- package/esm/modal/modal.js +2 -2
- package/esm/modal/views/Connected.js +3 -3
- package/esm/modal/views/Connecting.js +6 -6
- package/esm/modal/views/QRCode.js +3 -3
- package/esm/modal/views/Reject.js +2 -2
- package/esm/modal/views/WalletList.js +9 -9
- package/esm/types/index.js +1 -0
- package/esm/types/sign-client.js +1 -0
- package/esm/utils/wallet.js +3 -3
- package/hooks/useAccount.js +1 -1
- package/hooks/useChain.d.ts +2 -2
- package/hooks/useChain.js +4 -4
- package/hooks/useChainWallet.d.ts +2 -2
- package/hooks/useChainWallet.js +32 -1
- package/hooks/useInterchainClient.d.ts +2 -8
- package/hooks/useInterchainClient.js +1 -1
- package/hooks/useOfflineSigner.d.ts +2 -2
- package/hooks/useOfflineSigner.js +1 -1
- package/modal/modal.js +2 -2
- package/modal/views/Connected.js +3 -3
- package/modal/views/Connecting.js +6 -6
- package/modal/views/QRCode.js +3 -3
- package/modal/views/Reject.js +2 -2
- package/modal/views/WalletList.js +9 -9
- package/package.json +6 -6
- package/types/chain.d.ts +8 -1
- package/types/index.d.ts +1 -0
- package/types/index.js +1 -0
- package/types/sign-client.d.ts +2 -0
- package/types/sign-client.js +2 -0
- package/utils/wallet.js +3 -3
package/esm/hooks/useAccount.js
CHANGED
|
@@ -4,7 +4,7 @@ import { useWalletManager } from './useWalletManager';
|
|
|
4
4
|
export const useAccount = (chainName, walletName) => {
|
|
5
5
|
const walletManager = useWalletManager();
|
|
6
6
|
const wallet = useMemo(() => {
|
|
7
|
-
return walletManager.wallets.find(w => w.
|
|
7
|
+
return walletManager.wallets.find(w => w.info.name === walletName);
|
|
8
8
|
}, [walletManager, walletName]);
|
|
9
9
|
const [account, setAccount] = useState(null);
|
|
10
10
|
const chain = useMemo(() => {
|
package/esm/hooks/useChain.js
CHANGED
|
@@ -3,15 +3,15 @@ import { useAccount } from "./useAccount";
|
|
|
3
3
|
import { useCurrentWallet } from './useCurrentWallet';
|
|
4
4
|
import { useInterchainClient } from './useInterchainClient';
|
|
5
5
|
import { useWalletModal } from "../modal";
|
|
6
|
-
import { ChainNameNotExist } from "@interchain-kit/core";
|
|
6
|
+
import { ChainNameNotExist, WalletState } from "@interchain-kit/core";
|
|
7
7
|
import { useCallback } from "react";
|
|
8
8
|
export const useChain = (chainName) => {
|
|
9
9
|
const walletManager = useWalletManager();
|
|
10
10
|
const chainToShow = walletManager.chains.find((c) => c.chainName === chainName);
|
|
11
11
|
const assetList = walletManager.assetLists.find((a) => a.chainName === chainName);
|
|
12
12
|
const currentWallet = useCurrentWallet();
|
|
13
|
-
const account = useAccount(chainName, currentWallet?.
|
|
14
|
-
const interchainClient = useInterchainClient(chainName, currentWallet?.
|
|
13
|
+
const account = useAccount(chainName, currentWallet?.info?.name);
|
|
14
|
+
const interchainClient = useInterchainClient(chainName, currentWallet?.info?.name);
|
|
15
15
|
if (!chainToShow) {
|
|
16
16
|
throw new ChainNameNotExist(chainName);
|
|
17
17
|
}
|
|
@@ -20,11 +20,11 @@ export const useChain = (chainName) => {
|
|
|
20
20
|
return await walletManager.getRpcEndpoint(currentWallet, chainName);
|
|
21
21
|
}, [walletManager, currentWallet, chainName]);
|
|
22
22
|
const disconnect = useCallback(() => {
|
|
23
|
-
walletManager.disconnect(currentWallet?.
|
|
23
|
+
walletManager.disconnect(currentWallet?.info?.name);
|
|
24
24
|
}, [walletManager, currentWallet]);
|
|
25
25
|
const cosmosKitUserChainReturnType = {
|
|
26
26
|
connect: () => {
|
|
27
|
-
if (currentWallet) {
|
|
27
|
+
if (currentWallet?.walletState === WalletState.Connected) {
|
|
28
28
|
return;
|
|
29
29
|
}
|
|
30
30
|
open();
|
|
@@ -1,14 +1,45 @@
|
|
|
1
1
|
import { useWalletManager } from "./useWalletManager";
|
|
2
2
|
import { useAccount } from "./useAccount";
|
|
3
|
+
import { ChainNotExist, WalletNotExist, WalletState } from "@interchain-kit/core";
|
|
3
4
|
import { useInterchainClient } from "./useInterchainClient";
|
|
5
|
+
import { useCallback } from "react";
|
|
4
6
|
export const useChainWallet = (chainName, walletName) => {
|
|
5
7
|
const walletManager = useWalletManager();
|
|
6
8
|
const chainToShow = walletManager.chains.find((c) => c.chainName === chainName);
|
|
7
9
|
const assetList = walletManager.assetLists.find((a) => a.chainName === chainName);
|
|
8
|
-
const wallet = walletManager.wallets.find((w) => w.
|
|
10
|
+
const wallet = walletManager.wallets.find((w) => w.info.name === walletName);
|
|
9
11
|
const account = useAccount(chainName, walletName);
|
|
10
12
|
const interchainClient = useInterchainClient(chainName, walletName);
|
|
13
|
+
const connect = useCallback(() => {
|
|
14
|
+
if (!wallet) {
|
|
15
|
+
const error = new WalletNotExist(walletName);
|
|
16
|
+
console.error(error.message);
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
if (!chainToShow) {
|
|
20
|
+
const error = new ChainNotExist(chainName);
|
|
21
|
+
console.error(error.message);
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
if (wallet.walletState !== WalletState.Connected) {
|
|
25
|
+
walletManager.connect(wallet.info.name);
|
|
26
|
+
}
|
|
27
|
+
}, [chainName, walletName]);
|
|
28
|
+
const disconnect = useCallback(() => {
|
|
29
|
+
if (wallet.walletState === WalletState.Connected) {
|
|
30
|
+
walletManager.disconnect(wallet.info.name);
|
|
31
|
+
}
|
|
32
|
+
}, [chainName, walletName]);
|
|
33
|
+
const getRpcEndpoint = useCallback(async () => {
|
|
34
|
+
return walletManager.getRpcEndpoint(wallet, chainName);
|
|
35
|
+
}, []);
|
|
11
36
|
return {
|
|
37
|
+
connect,
|
|
38
|
+
disconnect,
|
|
39
|
+
getRpcEndpoint,
|
|
40
|
+
status: wallet?.walletState,
|
|
41
|
+
username: account?.username,
|
|
42
|
+
message: wallet?.errorMessage,
|
|
12
43
|
logoUrl: walletManager.getChainLogoUrl(chainName),
|
|
13
44
|
chain: chainToShow,
|
|
14
45
|
assetList,
|
|
@@ -10,7 +10,7 @@ export const useInterchainClient = (chainName, walletName) => {
|
|
|
10
10
|
const [isLoading, setIsLoading] = useState(false);
|
|
11
11
|
const walletManager = useWalletManager();
|
|
12
12
|
const account = useAccount(chainName, walletName);
|
|
13
|
-
const wallet = walletManager.wallets.find((w) => w.
|
|
13
|
+
const wallet = walletManager.wallets.find((w) => w.info.name === walletName);
|
|
14
14
|
const chainToShow = walletManager.chains.find((c) => c.chainName === chainName);
|
|
15
15
|
const initialize = async () => {
|
|
16
16
|
if (wallet && chainToShow && wallet?.walletState === WalletState.Connected) {
|
|
@@ -2,7 +2,7 @@ import { useEffect, useState } from "react";
|
|
|
2
2
|
import { useWalletManager } from "./useWalletManager";
|
|
3
3
|
export const useOfflineSigner = (chainName, walletName) => {
|
|
4
4
|
const walletManager = useWalletManager();
|
|
5
|
-
const wallet = walletManager.wallets.find((w) => w.
|
|
5
|
+
const wallet = walletManager.wallets.find((w) => w.info.name === walletName);
|
|
6
6
|
const [offlineSigner, setOfflineSigner] = useState(null);
|
|
7
7
|
useEffect(() => {
|
|
8
8
|
if (wallet && chainName) {
|
package/esm/modal/modal.js
CHANGED
|
@@ -16,7 +16,7 @@ export const WalletModal = () => {
|
|
|
16
16
|
const gotoWalletList = () => setModalView(defaultModalView);
|
|
17
17
|
useEffect(() => {
|
|
18
18
|
switch (true) {
|
|
19
|
-
case currentWallet?.
|
|
19
|
+
case currentWallet?.info?.mode === "wallet-connect":
|
|
20
20
|
setModalView({
|
|
21
21
|
header: _jsx(QRCodeHeader, { onBack: gotoWalletList }),
|
|
22
22
|
content: _jsx(QRCodeContent, {}),
|
|
@@ -34,7 +34,7 @@ export const WalletModal = () => {
|
|
|
34
34
|
content: _jsx(ConnectedContent, {}),
|
|
35
35
|
});
|
|
36
36
|
break;
|
|
37
|
-
case currentWallet?.walletState === WalletState.
|
|
37
|
+
case currentWallet?.walletState === WalletState.Rejected:
|
|
38
38
|
setModalView({
|
|
39
39
|
header: _jsx(RejectHeader, { onBack: gotoWalletList }),
|
|
40
40
|
content: _jsx(RejectContent, {}),
|
|
@@ -7,12 +7,12 @@ import { AstronautSvg } from "./Astronaut";
|
|
|
7
7
|
export const ConnectedHeader = ({ onBack }) => {
|
|
8
8
|
const currentWallet = useCurrentWallet();
|
|
9
9
|
const { close } = useWalletModal();
|
|
10
|
-
return (_jsx(ConnectModalHead, { title: currentWallet?.
|
|
10
|
+
return (_jsx(ConnectModalHead, { title: currentWallet?.info?.prettyName || "", hasBackButton: true, onClose: close, onBack: onBack, closeButtonProps: { onClick: close } }));
|
|
11
11
|
};
|
|
12
12
|
export const ConnectedContent = () => {
|
|
13
13
|
const currentWallet = useCurrentWallet();
|
|
14
14
|
const walletManager = useWalletManager();
|
|
15
|
-
const account = useAccount(walletManager.chains[0].chainName, currentWallet?.
|
|
15
|
+
const account = useAccount(walletManager.chains[0].chainName, currentWallet?.info?.name);
|
|
16
16
|
const { close } = useWalletModal();
|
|
17
17
|
if (!currentWallet) {
|
|
18
18
|
return null;
|
|
@@ -26,7 +26,7 @@ export const ConnectedContent = () => {
|
|
|
26
26
|
} })),
|
|
27
27
|
address: account?.address,
|
|
28
28
|
}, onDisconnect: async () => {
|
|
29
|
-
await walletManager.disconnect(currentWallet?.
|
|
29
|
+
await walletManager.disconnect(currentWallet?.info?.name);
|
|
30
30
|
close();
|
|
31
31
|
} }));
|
|
32
32
|
};
|
|
@@ -8,16 +8,16 @@ export const ConnectingHeader = ({ onBack }) => {
|
|
|
8
8
|
const walletManager = useWalletManager();
|
|
9
9
|
if (!currentWallet)
|
|
10
10
|
return null;
|
|
11
|
-
return (_jsx(ConnectModalHead, { title: currentWallet.
|
|
11
|
+
return (_jsx(ConnectModalHead, { title: currentWallet.info.prettyName, hasBackButton: true, onClose: close, onBack: onBack, closeButtonProps: {
|
|
12
12
|
onClick: async () => {
|
|
13
|
-
await walletManager.disconnect(currentWallet.
|
|
13
|
+
await walletManager.disconnect(currentWallet.info.name);
|
|
14
14
|
close();
|
|
15
15
|
},
|
|
16
16
|
} }));
|
|
17
17
|
};
|
|
18
18
|
export const ConnectingContent = () => {
|
|
19
19
|
const currentWallet = useCurrentWallet();
|
|
20
|
-
const {
|
|
20
|
+
const { info: { prettyName, mode }, } = currentWallet;
|
|
21
21
|
let title = "Requesting Connection";
|
|
22
22
|
let desc = mode === "wallet-connect"
|
|
23
23
|
? `Approve ${prettyName} connection request on your mobile.`
|
|
@@ -25,9 +25,9 @@ export const ConnectingContent = () => {
|
|
|
25
25
|
if (!currentWallet)
|
|
26
26
|
return null;
|
|
27
27
|
return (_jsx(ConnectModalStatus, { wallet: {
|
|
28
|
-
name: currentWallet.
|
|
29
|
-
prettyName: currentWallet.
|
|
30
|
-
logo: currentWallet.
|
|
28
|
+
name: currentWallet.info.name,
|
|
29
|
+
prettyName: currentWallet.info.prettyName,
|
|
30
|
+
logo: currentWallet.info.logo,
|
|
31
31
|
mobileDisabled: true,
|
|
32
32
|
}, status: "Connecting", contentHeader: title, contentDesc: desc }));
|
|
33
33
|
};
|
|
@@ -6,8 +6,8 @@ export const QRCodeHeader = ({ onBack }) => {
|
|
|
6
6
|
const currentWallet = useCurrentWallet();
|
|
7
7
|
const walletManager = useWalletManager();
|
|
8
8
|
const { close } = useWalletModal();
|
|
9
|
-
return (_jsx(ConnectModalHead, { title: currentWallet?.
|
|
10
|
-
await walletManager.disconnect(currentWallet?.
|
|
9
|
+
return (_jsx(ConnectModalHead, { title: currentWallet?.info?.prettyName || "", hasBackButton: true, onClose: () => void 0, onBack: async () => {
|
|
10
|
+
await walletManager.disconnect(currentWallet?.info?.name || "");
|
|
11
11
|
onBack();
|
|
12
12
|
}, closeButtonProps: { onClick: close } }));
|
|
13
13
|
};
|
|
@@ -15,5 +15,5 @@ export const QRCodeContent = () => {
|
|
|
15
15
|
const currentWallet = useCurrentWallet();
|
|
16
16
|
const walletManager = useWalletManager();
|
|
17
17
|
const data = currentWallet.pairingUri;
|
|
18
|
-
return (_jsx(ConnectModalQRCode, { status: data ? "Done" : "Pending", link: data, description: "Open App to connect", errorTitle: "errorTitle", errorDesc: currentWallet.errorMessage || "", onRefresh: () => walletManager.connect(currentWallet?.
|
|
18
|
+
return (_jsx(ConnectModalQRCode, { status: data ? "Done" : "Pending", link: data, description: "Open App to connect", errorTitle: "errorTitle", errorDesc: currentWallet.errorMessage || "", onRefresh: () => walletManager.connect(currentWallet?.info?.name || "") }));
|
|
19
19
|
};
|
|
@@ -6,11 +6,11 @@ import { getWalletInfo } from "../../utils";
|
|
|
6
6
|
export const RejectHeader = ({ onBack }) => {
|
|
7
7
|
const { close } = useWalletModal();
|
|
8
8
|
const currentWallet = useCurrentWallet();
|
|
9
|
-
return (_jsx(ConnectModalHead, { title: currentWallet.
|
|
9
|
+
return (_jsx(ConnectModalHead, { title: currentWallet.info.prettyName, hasBackButton: true, onClose: close, onBack: onBack, closeButtonProps: { onClick: close } }));
|
|
10
10
|
};
|
|
11
11
|
export const RejectContent = () => {
|
|
12
12
|
const currentWallet = useCurrentWallet();
|
|
13
13
|
const walletManager = useWalletManager();
|
|
14
14
|
const { close } = useWalletModal();
|
|
15
|
-
return (_jsx(ConnectModalStatus, { status: "Rejected", wallet: getWalletInfo(currentWallet), contentHeader: "Request Rejected", contentDesc: currentWallet.errorMessage || "Connection permission is denied.", onConnect: () => walletManager.connect(currentWallet.
|
|
15
|
+
return (_jsx(ConnectModalStatus, { status: "Rejected", wallet: getWalletInfo(currentWallet), contentHeader: "Request Rejected", contentDesc: currentWallet.errorMessage || "Connection permission is denied.", onConnect: () => walletManager.connect(currentWallet.info.name).then(close) }));
|
|
16
16
|
};
|
|
@@ -10,23 +10,23 @@ export const WalletListContent = () => {
|
|
|
10
10
|
const walletManager = useWalletManager();
|
|
11
11
|
const { close } = useWalletModal();
|
|
12
12
|
const wallets = walletManager.wallets.map((w) => {
|
|
13
|
-
return
|
|
14
|
-
name: w.
|
|
15
|
-
prettyName: w.
|
|
16
|
-
logo: w.
|
|
13
|
+
return {
|
|
14
|
+
name: w.info.name,
|
|
15
|
+
prettyName: w.info.prettyName,
|
|
16
|
+
logo: w.info.logo,
|
|
17
17
|
mobileDisabled: true,
|
|
18
|
-
shape:
|
|
19
|
-
originalWallet: w
|
|
20
|
-
}
|
|
18
|
+
shape: "list",
|
|
19
|
+
originalWallet: w,
|
|
20
|
+
};
|
|
21
21
|
});
|
|
22
22
|
const onWalletClick = async (wallet) => {
|
|
23
23
|
try {
|
|
24
|
-
await walletManager.connect(wallet.
|
|
24
|
+
await walletManager.connect(wallet.info.name);
|
|
25
25
|
close();
|
|
26
26
|
}
|
|
27
27
|
catch (error) {
|
|
28
28
|
console.log(error);
|
|
29
29
|
}
|
|
30
30
|
};
|
|
31
|
-
return _jsx(ConnectModalWalletList, { wallets: wallets, onWalletItemClick: onWalletClick });
|
|
31
|
+
return (_jsx(ConnectModalWalletList, { wallets: wallets, onWalletItemClick: onWalletClick }));
|
|
32
32
|
};
|
package/esm/types/index.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/esm/utils/wallet.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export const getWalletInfo = (wallet) => {
|
|
2
2
|
return {
|
|
3
|
-
name: wallet.
|
|
4
|
-
prettyName: wallet.
|
|
5
|
-
logo: wallet.
|
|
3
|
+
name: wallet.info.name,
|
|
4
|
+
prettyName: wallet.info.prettyName,
|
|
5
|
+
logo: wallet.info.logo,
|
|
6
6
|
mobileDisabled: true,
|
|
7
7
|
};
|
|
8
8
|
};
|
package/hooks/useAccount.js
CHANGED
|
@@ -7,7 +7,7 @@ const useWalletManager_1 = require("./useWalletManager");
|
|
|
7
7
|
const useAccount = (chainName, walletName) => {
|
|
8
8
|
const walletManager = (0, useWalletManager_1.useWalletManager)();
|
|
9
9
|
const wallet = (0, react_1.useMemo)(() => {
|
|
10
|
-
return walletManager.wallets.find(w => w.
|
|
10
|
+
return walletManager.wallets.find(w => w.info.name === walletName);
|
|
11
11
|
}, [walletManager, walletName]);
|
|
12
12
|
const [account, setAccount] = (0, react_1.useState)(null);
|
|
13
13
|
const chain = (0, react_1.useMemo)(() => {
|
package/hooks/useChain.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare const useChain: (chainName: string) => UseChainReturnType
|
|
1
|
+
import { UseChainReturnType } from '../types/chain';
|
|
2
|
+
export declare const useChain: (chainName: string) => UseChainReturnType;
|
package/hooks/useChain.js
CHANGED
|
@@ -13,8 +13,8 @@ const useChain = (chainName) => {
|
|
|
13
13
|
const chainToShow = walletManager.chains.find((c) => c.chainName === chainName);
|
|
14
14
|
const assetList = walletManager.assetLists.find((a) => a.chainName === chainName);
|
|
15
15
|
const currentWallet = (0, useCurrentWallet_1.useCurrentWallet)();
|
|
16
|
-
const account = (0, useAccount_1.useAccount)(chainName, currentWallet?.
|
|
17
|
-
const interchainClient = (0, useInterchainClient_1.useInterchainClient)(chainName, currentWallet?.
|
|
16
|
+
const account = (0, useAccount_1.useAccount)(chainName, currentWallet?.info?.name);
|
|
17
|
+
const interchainClient = (0, useInterchainClient_1.useInterchainClient)(chainName, currentWallet?.info?.name);
|
|
18
18
|
if (!chainToShow) {
|
|
19
19
|
throw new core_1.ChainNameNotExist(chainName);
|
|
20
20
|
}
|
|
@@ -23,11 +23,11 @@ const useChain = (chainName) => {
|
|
|
23
23
|
return await walletManager.getRpcEndpoint(currentWallet, chainName);
|
|
24
24
|
}, [walletManager, currentWallet, chainName]);
|
|
25
25
|
const disconnect = (0, react_1.useCallback)(() => {
|
|
26
|
-
walletManager.disconnect(currentWallet?.
|
|
26
|
+
walletManager.disconnect(currentWallet?.info?.name);
|
|
27
27
|
}, [walletManager, currentWallet]);
|
|
28
28
|
const cosmosKitUserChainReturnType = {
|
|
29
29
|
connect: () => {
|
|
30
|
-
if (currentWallet) {
|
|
30
|
+
if (currentWallet?.walletState === core_1.WalletState.Connected) {
|
|
31
31
|
return;
|
|
32
32
|
}
|
|
33
33
|
open();
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare const useChainWallet: (chainName: string, walletName: string) =>
|
|
1
|
+
import { UseChainWalletReturnType } from "../types/chain";
|
|
2
|
+
export declare const useChainWallet: (chainName: string, walletName: string) => UseChainWalletReturnType;
|
package/hooks/useChainWallet.js
CHANGED
|
@@ -3,15 +3,46 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.useChainWallet = void 0;
|
|
4
4
|
const useWalletManager_1 = require("./useWalletManager");
|
|
5
5
|
const useAccount_1 = require("./useAccount");
|
|
6
|
+
const core_1 = require("@interchain-kit/core");
|
|
6
7
|
const useInterchainClient_1 = require("./useInterchainClient");
|
|
8
|
+
const react_1 = require("react");
|
|
7
9
|
const useChainWallet = (chainName, walletName) => {
|
|
8
10
|
const walletManager = (0, useWalletManager_1.useWalletManager)();
|
|
9
11
|
const chainToShow = walletManager.chains.find((c) => c.chainName === chainName);
|
|
10
12
|
const assetList = walletManager.assetLists.find((a) => a.chainName === chainName);
|
|
11
|
-
const wallet = walletManager.wallets.find((w) => w.
|
|
13
|
+
const wallet = walletManager.wallets.find((w) => w.info.name === walletName);
|
|
12
14
|
const account = (0, useAccount_1.useAccount)(chainName, walletName);
|
|
13
15
|
const interchainClient = (0, useInterchainClient_1.useInterchainClient)(chainName, walletName);
|
|
16
|
+
const connect = (0, react_1.useCallback)(() => {
|
|
17
|
+
if (!wallet) {
|
|
18
|
+
const error = new core_1.WalletNotExist(walletName);
|
|
19
|
+
console.error(error.message);
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
if (!chainToShow) {
|
|
23
|
+
const error = new core_1.ChainNotExist(chainName);
|
|
24
|
+
console.error(error.message);
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
if (wallet.walletState !== core_1.WalletState.Connected) {
|
|
28
|
+
walletManager.connect(wallet.info.name);
|
|
29
|
+
}
|
|
30
|
+
}, [chainName, walletName]);
|
|
31
|
+
const disconnect = (0, react_1.useCallback)(() => {
|
|
32
|
+
if (wallet.walletState === core_1.WalletState.Connected) {
|
|
33
|
+
walletManager.disconnect(wallet.info.name);
|
|
34
|
+
}
|
|
35
|
+
}, [chainName, walletName]);
|
|
36
|
+
const getRpcEndpoint = (0, react_1.useCallback)(async () => {
|
|
37
|
+
return walletManager.getRpcEndpoint(wallet, chainName);
|
|
38
|
+
}, []);
|
|
14
39
|
return {
|
|
40
|
+
connect,
|
|
41
|
+
disconnect,
|
|
42
|
+
getRpcEndpoint,
|
|
43
|
+
status: wallet?.walletState,
|
|
44
|
+
username: account?.username,
|
|
45
|
+
message: wallet?.errorMessage,
|
|
15
46
|
logoUrl: walletManager.getChainLogoUrl(chainName),
|
|
16
47
|
chain: chainToShow,
|
|
17
48
|
assetList,
|
|
@@ -1,8 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
export declare const useInterchainClient: (chainName: string, walletName: string) => {
|
|
4
|
-
rpcEndpoint: string | HttpEndpoint;
|
|
5
|
-
signingClient: SigningClient;
|
|
6
|
-
error: unknown;
|
|
7
|
-
isLoading: boolean;
|
|
8
|
-
};
|
|
1
|
+
import { UseInterchainClientReturnType } from '../types/chain';
|
|
2
|
+
export declare const useInterchainClient: (chainName: string, walletName: string) => UseInterchainClientReturnType;
|
|
@@ -13,7 +13,7 @@ const useInterchainClient = (chainName, walletName) => {
|
|
|
13
13
|
const [isLoading, setIsLoading] = (0, react_1.useState)(false);
|
|
14
14
|
const walletManager = (0, useWalletManager_1.useWalletManager)();
|
|
15
15
|
const account = (0, useAccount_1.useAccount)(chainName, walletName);
|
|
16
|
-
const wallet = walletManager.wallets.find((w) => w.
|
|
16
|
+
const wallet = walletManager.wallets.find((w) => w.info.name === walletName);
|
|
17
17
|
const chainToShow = walletManager.chains.find((c) => c.chainName === chainName);
|
|
18
18
|
const initialize = async () => {
|
|
19
19
|
if (wallet && chainToShow && wallet?.walletState === core_1.WalletState.Connected) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ICosmosGeneralOfflineSigner } from '@interchainjs/cosmos/types/wallet';
|
|
2
2
|
export declare const useOfflineSigner: (chainName: string, walletName: string) => {
|
|
3
|
-
offlineSigner:
|
|
3
|
+
offlineSigner: ICosmosGeneralOfflineSigner;
|
|
4
4
|
};
|
|
@@ -5,7 +5,7 @@ const react_1 = require("react");
|
|
|
5
5
|
const useWalletManager_1 = require("./useWalletManager");
|
|
6
6
|
const useOfflineSigner = (chainName, walletName) => {
|
|
7
7
|
const walletManager = (0, useWalletManager_1.useWalletManager)();
|
|
8
|
-
const wallet = walletManager.wallets.find((w) => w.
|
|
8
|
+
const wallet = walletManager.wallets.find((w) => w.info.name === walletName);
|
|
9
9
|
const [offlineSigner, setOfflineSigner] = (0, react_1.useState)(null);
|
|
10
10
|
(0, react_1.useEffect)(() => {
|
|
11
11
|
if (wallet && chainName) {
|
package/modal/modal.js
CHANGED
|
@@ -19,7 +19,7 @@ const WalletModal = () => {
|
|
|
19
19
|
const gotoWalletList = () => setModalView(defaultModalView);
|
|
20
20
|
(0, react_2.useEffect)(() => {
|
|
21
21
|
switch (true) {
|
|
22
|
-
case currentWallet?.
|
|
22
|
+
case currentWallet?.info?.mode === "wallet-connect":
|
|
23
23
|
setModalView({
|
|
24
24
|
header: (0, jsx_runtime_1.jsx)(views_1.QRCodeHeader, { onBack: gotoWalletList }),
|
|
25
25
|
content: (0, jsx_runtime_1.jsx)(views_1.QRCodeContent, {}),
|
|
@@ -37,7 +37,7 @@ const WalletModal = () => {
|
|
|
37
37
|
content: (0, jsx_runtime_1.jsx)(views_1.ConnectedContent, {}),
|
|
38
38
|
});
|
|
39
39
|
break;
|
|
40
|
-
case currentWallet?.walletState === core_1.WalletState.
|
|
40
|
+
case currentWallet?.walletState === core_1.WalletState.Rejected:
|
|
41
41
|
setModalView({
|
|
42
42
|
header: (0, jsx_runtime_1.jsx)(views_1.RejectHeader, { onBack: gotoWalletList }),
|
|
43
43
|
content: (0, jsx_runtime_1.jsx)(views_1.RejectContent, {}),
|
package/modal/views/Connected.js
CHANGED
|
@@ -10,13 +10,13 @@ const Astronaut_1 = require("./Astronaut");
|
|
|
10
10
|
const ConnectedHeader = ({ onBack }) => {
|
|
11
11
|
const currentWallet = (0, hooks_1.useCurrentWallet)();
|
|
12
12
|
const { close } = (0, provider_1.useWalletModal)();
|
|
13
|
-
return ((0, jsx_runtime_1.jsx)(react_1.ConnectModalHead, { title: currentWallet?.
|
|
13
|
+
return ((0, jsx_runtime_1.jsx)(react_1.ConnectModalHead, { title: currentWallet?.info?.prettyName || "", hasBackButton: true, onClose: close, onBack: onBack, closeButtonProps: { onClick: close } }));
|
|
14
14
|
};
|
|
15
15
|
exports.ConnectedHeader = ConnectedHeader;
|
|
16
16
|
const ConnectedContent = () => {
|
|
17
17
|
const currentWallet = (0, hooks_1.useCurrentWallet)();
|
|
18
18
|
const walletManager = (0, hooks_1.useWalletManager)();
|
|
19
|
-
const account = (0, hooks_1.useAccount)(walletManager.chains[0].chainName, currentWallet?.
|
|
19
|
+
const account = (0, hooks_1.useAccount)(walletManager.chains[0].chainName, currentWallet?.info?.name);
|
|
20
20
|
const { close } = (0, provider_1.useWalletModal)();
|
|
21
21
|
if (!currentWallet) {
|
|
22
22
|
return null;
|
|
@@ -30,7 +30,7 @@ const ConnectedContent = () => {
|
|
|
30
30
|
} })),
|
|
31
31
|
address: account?.address,
|
|
32
32
|
}, onDisconnect: async () => {
|
|
33
|
-
await walletManager.disconnect(currentWallet?.
|
|
33
|
+
await walletManager.disconnect(currentWallet?.info?.name);
|
|
34
34
|
close();
|
|
35
35
|
} }));
|
|
36
36
|
};
|
|
@@ -11,9 +11,9 @@ const ConnectingHeader = ({ onBack }) => {
|
|
|
11
11
|
const walletManager = (0, hooks_1.useWalletManager)();
|
|
12
12
|
if (!currentWallet)
|
|
13
13
|
return null;
|
|
14
|
-
return ((0, jsx_runtime_1.jsx)(react_1.ConnectModalHead, { title: currentWallet.
|
|
14
|
+
return ((0, jsx_runtime_1.jsx)(react_1.ConnectModalHead, { title: currentWallet.info.prettyName, hasBackButton: true, onClose: close, onBack: onBack, closeButtonProps: {
|
|
15
15
|
onClick: async () => {
|
|
16
|
-
await walletManager.disconnect(currentWallet.
|
|
16
|
+
await walletManager.disconnect(currentWallet.info.name);
|
|
17
17
|
close();
|
|
18
18
|
},
|
|
19
19
|
} }));
|
|
@@ -21,7 +21,7 @@ const ConnectingHeader = ({ onBack }) => {
|
|
|
21
21
|
exports.ConnectingHeader = ConnectingHeader;
|
|
22
22
|
const ConnectingContent = () => {
|
|
23
23
|
const currentWallet = (0, hooks_1.useCurrentWallet)();
|
|
24
|
-
const {
|
|
24
|
+
const { info: { prettyName, mode }, } = currentWallet;
|
|
25
25
|
let title = "Requesting Connection";
|
|
26
26
|
let desc = mode === "wallet-connect"
|
|
27
27
|
? `Approve ${prettyName} connection request on your mobile.`
|
|
@@ -29,9 +29,9 @@ const ConnectingContent = () => {
|
|
|
29
29
|
if (!currentWallet)
|
|
30
30
|
return null;
|
|
31
31
|
return ((0, jsx_runtime_1.jsx)(react_1.ConnectModalStatus, { wallet: {
|
|
32
|
-
name: currentWallet.
|
|
33
|
-
prettyName: currentWallet.
|
|
34
|
-
logo: currentWallet.
|
|
32
|
+
name: currentWallet.info.name,
|
|
33
|
+
prettyName: currentWallet.info.prettyName,
|
|
34
|
+
logo: currentWallet.info.logo,
|
|
35
35
|
mobileDisabled: true,
|
|
36
36
|
}, status: "Connecting", contentHeader: title, contentDesc: desc }));
|
|
37
37
|
};
|
package/modal/views/QRCode.js
CHANGED
|
@@ -9,8 +9,8 @@ const QRCodeHeader = ({ onBack }) => {
|
|
|
9
9
|
const currentWallet = (0, hooks_1.useCurrentWallet)();
|
|
10
10
|
const walletManager = (0, hooks_1.useWalletManager)();
|
|
11
11
|
const { close } = (0, provider_1.useWalletModal)();
|
|
12
|
-
return ((0, jsx_runtime_1.jsx)(react_1.ConnectModalHead, { title: currentWallet?.
|
|
13
|
-
await walletManager.disconnect(currentWallet?.
|
|
12
|
+
return ((0, jsx_runtime_1.jsx)(react_1.ConnectModalHead, { title: currentWallet?.info?.prettyName || "", hasBackButton: true, onClose: () => void 0, onBack: async () => {
|
|
13
|
+
await walletManager.disconnect(currentWallet?.info?.name || "");
|
|
14
14
|
onBack();
|
|
15
15
|
}, closeButtonProps: { onClick: close } }));
|
|
16
16
|
};
|
|
@@ -19,6 +19,6 @@ const QRCodeContent = () => {
|
|
|
19
19
|
const currentWallet = (0, hooks_1.useCurrentWallet)();
|
|
20
20
|
const walletManager = (0, hooks_1.useWalletManager)();
|
|
21
21
|
const data = currentWallet.pairingUri;
|
|
22
|
-
return ((0, jsx_runtime_1.jsx)(react_1.ConnectModalQRCode, { status: data ? "Done" : "Pending", link: data, description: "Open App to connect", errorTitle: "errorTitle", errorDesc: currentWallet.errorMessage || "", onRefresh: () => walletManager.connect(currentWallet?.
|
|
22
|
+
return ((0, jsx_runtime_1.jsx)(react_1.ConnectModalQRCode, { status: data ? "Done" : "Pending", link: data, description: "Open App to connect", errorTitle: "errorTitle", errorDesc: currentWallet.errorMessage || "", onRefresh: () => walletManager.connect(currentWallet?.info?.name || "") }));
|
|
23
23
|
};
|
|
24
24
|
exports.QRCodeContent = QRCodeContent;
|
package/modal/views/Reject.js
CHANGED
|
@@ -9,13 +9,13 @@ const utils_1 = require("../../utils");
|
|
|
9
9
|
const RejectHeader = ({ onBack }) => {
|
|
10
10
|
const { close } = (0, provider_1.useWalletModal)();
|
|
11
11
|
const currentWallet = (0, hooks_1.useCurrentWallet)();
|
|
12
|
-
return ((0, jsx_runtime_1.jsx)(react_1.ConnectModalHead, { title: currentWallet.
|
|
12
|
+
return ((0, jsx_runtime_1.jsx)(react_1.ConnectModalHead, { title: currentWallet.info.prettyName, hasBackButton: true, onClose: close, onBack: onBack, closeButtonProps: { onClick: close } }));
|
|
13
13
|
};
|
|
14
14
|
exports.RejectHeader = RejectHeader;
|
|
15
15
|
const RejectContent = () => {
|
|
16
16
|
const currentWallet = (0, hooks_1.useCurrentWallet)();
|
|
17
17
|
const walletManager = (0, hooks_1.useWalletManager)();
|
|
18
18
|
const { close } = (0, provider_1.useWalletModal)();
|
|
19
|
-
return ((0, jsx_runtime_1.jsx)(react_1.ConnectModalStatus, { status: "Rejected", wallet: (0, utils_1.getWalletInfo)(currentWallet), contentHeader: "Request Rejected", contentDesc: currentWallet.errorMessage || "Connection permission is denied.", onConnect: () => walletManager.connect(currentWallet.
|
|
19
|
+
return ((0, jsx_runtime_1.jsx)(react_1.ConnectModalStatus, { status: "Rejected", wallet: (0, utils_1.getWalletInfo)(currentWallet), contentHeader: "Request Rejected", contentDesc: currentWallet.errorMessage || "Connection permission is denied.", onConnect: () => walletManager.connect(currentWallet.info.name).then(close) }));
|
|
20
20
|
};
|
|
21
21
|
exports.RejectContent = RejectContent;
|
|
@@ -14,24 +14,24 @@ const WalletListContent = () => {
|
|
|
14
14
|
const walletManager = (0, hooks_1.useWalletManager)();
|
|
15
15
|
const { close } = (0, provider_1.useWalletModal)();
|
|
16
16
|
const wallets = walletManager.wallets.map((w) => {
|
|
17
|
-
return
|
|
18
|
-
name: w.
|
|
19
|
-
prettyName: w.
|
|
20
|
-
logo: w.
|
|
17
|
+
return {
|
|
18
|
+
name: w.info.name,
|
|
19
|
+
prettyName: w.info.prettyName,
|
|
20
|
+
logo: w.info.logo,
|
|
21
21
|
mobileDisabled: true,
|
|
22
|
-
shape:
|
|
23
|
-
originalWallet: w
|
|
24
|
-
}
|
|
22
|
+
shape: "list",
|
|
23
|
+
originalWallet: w,
|
|
24
|
+
};
|
|
25
25
|
});
|
|
26
26
|
const onWalletClick = async (wallet) => {
|
|
27
27
|
try {
|
|
28
|
-
await walletManager.connect(wallet.
|
|
28
|
+
await walletManager.connect(wallet.info.name);
|
|
29
29
|
close();
|
|
30
30
|
}
|
|
31
31
|
catch (error) {
|
|
32
32
|
console.log(error);
|
|
33
33
|
}
|
|
34
34
|
};
|
|
35
|
-
return (0, jsx_runtime_1.jsx)(react_1.ConnectModalWalletList, { wallets: wallets, onWalletItemClick: onWalletClick });
|
|
35
|
+
return ((0, jsx_runtime_1.jsx)(react_1.ConnectModalWalletList, { wallets: wallets, onWalletItemClick: onWalletClick }));
|
|
36
36
|
};
|
|
37
37
|
exports.WalletListContent = WalletListContent;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@interchain-kit/react",
|
|
3
|
-
"version": "0.0.1-beta.
|
|
3
|
+
"version": "0.0.1-beta.36",
|
|
4
4
|
"author": "cosmology-tech <developers@cosmology.zone>",
|
|
5
5
|
"description": "interchain-kit wallet connector react package",
|
|
6
6
|
"main": "index.js",
|
|
@@ -33,15 +33,15 @@
|
|
|
33
33
|
"keywords": [],
|
|
34
34
|
"dependencies": {
|
|
35
35
|
"@chain-registry/v2-types": "^0.53.0",
|
|
36
|
-
"@interchain-kit/core": "0.0.1-beta.
|
|
36
|
+
"@interchain-kit/core": "0.0.1-beta.36",
|
|
37
37
|
"@interchain-ui/react": "1.24.0",
|
|
38
|
-
"@interchainjs/cosmos
|
|
39
|
-
"@interchainjs/
|
|
38
|
+
"@interchainjs/cosmos": "^0.0.1-beta.34",
|
|
39
|
+
"@interchainjs/cosmos-types": "0.0.1-beta.17",
|
|
40
40
|
"@types/react": "^18.3.3",
|
|
41
41
|
"@types/react-dom": "^18.3.0",
|
|
42
|
-
"interchainjs": "0.0.1-beta.
|
|
42
|
+
"interchainjs": "0.0.1-beta.27",
|
|
43
43
|
"react": "^18.3.1",
|
|
44
44
|
"react-dom": "^18.3.1"
|
|
45
45
|
},
|
|
46
|
-
"gitHead": "
|
|
46
|
+
"gitHead": "a9cc01ebfe784e8ce6166bf7053e0206e0ab6eb6"
|
|
47
47
|
}
|
package/types/chain.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { HttpEndpoint } from '@interchainjs/types';
|
|
2
|
-
import { SigningClient } from '@interchainjs/cosmos/signing-client';
|
|
3
2
|
import { Chain, AssetList } from '@chain-registry/v2-types';
|
|
4
3
|
import { BaseWallet, WalletState } from '@interchain-kit/core';
|
|
4
|
+
import { SigningClient } from './sign-client';
|
|
5
5
|
export type CosmosKitUseChainReturnType = {
|
|
6
6
|
connect: () => void;
|
|
7
7
|
disconnect: () => void;
|
|
@@ -22,4 +22,11 @@ export type UseChainReturnType = {
|
|
|
22
22
|
signingClient: SigningClient;
|
|
23
23
|
isLoading: boolean;
|
|
24
24
|
error: unknown;
|
|
25
|
+
} & CosmosKitUseChainReturnType;
|
|
26
|
+
export type UseChainWalletReturnType = Omit<UseChainReturnType, 'openView' | 'closeView'>;
|
|
27
|
+
export type UseInterchainClientReturnType = {
|
|
28
|
+
rpcEndpoint: string | HttpEndpoint | undefined;
|
|
29
|
+
signingClient: SigningClient | null;
|
|
30
|
+
error: string | unknown | null;
|
|
31
|
+
isLoading: boolean;
|
|
25
32
|
};
|
package/types/index.d.ts
CHANGED
package/types/index.js
CHANGED
package/utils/wallet.js
CHANGED
|
@@ -3,9 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.getWalletInfo = void 0;
|
|
4
4
|
const getWalletInfo = (wallet) => {
|
|
5
5
|
return {
|
|
6
|
-
name: wallet.
|
|
7
|
-
prettyName: wallet.
|
|
8
|
-
logo: wallet.
|
|
6
|
+
name: wallet.info.name,
|
|
7
|
+
prettyName: wallet.info.prettyName,
|
|
8
|
+
logo: wallet.info.logo,
|
|
9
9
|
mobileDisabled: true,
|
|
10
10
|
};
|
|
11
11
|
};
|