@interchain-kit/react 0.0.1-beta.5 → 0.0.1-beta.51
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/README.md +165 -12
- package/esm/hooks/index.js +3 -1
- package/esm/hooks/useAccount.js +20 -19
- package/esm/hooks/useChain.js +59 -20
- package/esm/hooks/useChainWallet.js +33 -10
- package/esm/hooks/useCurrentChainWallet.js +11 -0
- package/esm/hooks/useCurrentWallet.js +18 -0
- package/esm/hooks/useInterchainClient.js +14 -50
- package/esm/hooks/useOfflineSigner.js +14 -2
- package/esm/hooks/useRpcEndpoint.js +26 -0
- package/esm/hooks/useWalletManager.js +4 -3
- package/esm/modal/modal.js +72 -12
- package/esm/modal/provider.js +1 -2
- package/esm/modal/views/Astronaut.js +4 -0
- package/esm/modal/views/Connected.js +33 -0
- package/esm/modal/views/Connecting.js +24 -0
- package/esm/modal/views/NotExist.js +44 -0
- package/esm/modal/views/QRCode.js +20 -0
- package/esm/modal/views/Reject.js +14 -0
- package/esm/modal/views/WalletList.js +40 -0
- package/esm/modal/views/index.js +6 -0
- package/esm/provider.js +12 -9
- package/esm/types/index.js +1 -0
- package/esm/types/sign-client.js +1 -0
- package/esm/utils/helpers.js +11 -0
- package/esm/utils/index.js +1 -1
- package/esm/utils/wallet.js +8 -0
- package/hooks/index.d.ts +3 -1
- package/hooks/index.js +3 -1
- package/hooks/useAccount.d.ts +6 -2
- package/hooks/useAccount.js +20 -19
- package/hooks/useChain.d.ts +2 -2
- package/hooks/useChain.js +59 -20
- package/hooks/useChainWallet.d.ts +2 -2
- package/hooks/useChainWallet.js +33 -10
- package/hooks/useConfig.d.ts +1 -1
- package/hooks/useCurrentChainWallet.d.ts +2 -0
- package/hooks/useCurrentChainWallet.js +15 -0
- package/hooks/useCurrentWallet.d.ts +2 -0
- package/hooks/useCurrentWallet.js +22 -0
- package/hooks/useInterchainClient.d.ts +3 -11
- package/hooks/useInterchainClient.js +14 -50
- package/hooks/useOfflineSigner.d.ts +3 -0
- package/hooks/useOfflineSigner.js +14 -2
- package/hooks/useRpcEndpoint.d.ts +6 -0
- package/hooks/useRpcEndpoint.js +30 -0
- package/hooks/useWalletManager.js +3 -2
- package/modal/modal.js +71 -11
- package/modal/provider.js +1 -2
- package/modal/views/Astronaut.d.ts +2 -0
- package/modal/views/Astronaut.js +8 -0
- package/modal/views/Connected.d.ts +4 -0
- package/modal/views/Connected.js +38 -0
- package/modal/views/Connecting.d.ts +8 -0
- package/modal/views/Connecting.js +29 -0
- package/modal/views/NotExist.d.ts +8 -0
- package/modal/views/NotExist.js +49 -0
- package/modal/views/QRCode.d.ts +4 -0
- package/modal/views/QRCode.js +25 -0
- package/modal/views/Reject.d.ts +8 -0
- package/modal/views/Reject.js +19 -0
- package/modal/views/WalletList.d.ts +5 -0
- package/modal/views/WalletList.js +45 -0
- package/modal/views/index.d.ts +6 -0
- package/modal/views/index.js +22 -0
- package/package.json +15 -5
- package/provider.d.ts +8 -8
- package/provider.js +12 -9
- package/types/chain.d.ts +16 -10
- 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/types/wallet.d.ts +1 -1
- package/utils/helpers.d.ts +1 -0
- package/utils/helpers.js +15 -0
- package/utils/index.d.ts +1 -0
- package/utils/index.js +16 -0
- package/utils/wallet.d.ts +7 -0
- package/utils/wallet.js +12 -0
- package/esm/hooks/useActiveWallet.js +0 -5
- package/hooks/useActiveWallet.d.ts +0 -1
- package/hooks/useActiveWallet.js +0 -9
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
export function AstronautSvg(props) {
|
|
3
|
+
return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", className: "chakra-icon css-1plqj06", viewBox: "0 0 278 255", ...props, children: [_jsx("path", { fill: "#030609", d: "M136.844 254.8c70.527 0 127.7-57.039 127.7-127.4S207.371 0 136.844 0 9.144 57.039 9.144 127.4s57.173 127.4 127.7 127.4Z" }), _jsx("path", { fill: "#F6F5F3", d: "M85.444 22.2a2.9 2.9 0 1 0 0-5.8 2.9 2.9 0 0 0 0 5.8Zm122.7 19.9a2.9 2.9 0 1 0 0-5.801 2.9 2.9 0 0 0 0 5.8Zm18.5 68.5a2.9 2.9 0 1 0-.002-5.802 2.9 2.9 0 0 0 .002 5.802Zm-15.6 71.5a2.9 2.9 0 1 0-.002-5.802 2.9 2.9 0 0 0 .002 5.802Zm-8.8 36a2.9 2.9 0 1 0-.002-5.802 2.9 2.9 0 0 0 .002 5.802Zm-57.5 12.2a2.9 2.9 0 1 0-.002-5.802 2.9 2.9 0 0 0 .002 5.802Zm-32.9-24.2a2.9 2.9 0 1 0-.002-5.802 2.9 2.9 0 0 0 .002 5.802Zm-97.7-94a2.9 2.9 0 1 0-.001-5.8 2.9 2.9 0 0 0 0 5.8Zm34-62.1a2.9 2.9 0 1 0 0-5.8 2.9 2.9 0 0 0 0 5.8Z" }), _jsx("path", { fill: "#BA536A", d: "M235.944 47.1c9.6 11.7 17 25.1 22 39.7-4.5 4.5-10.7 7.4-17.6 7.4-13.4 0-24.2-10.7-24.2-23.8 0-11.6 8.5-21.3 19.8-23.3Z" }), _jsx("path", { fill: "#FF6B84", d: "M242.544 92.9c-13 0-23.6-10.6-23.6-23.7 0-10.6 7-19.6 16.7-22.6 9.7 11.9 17.4 25.6 22.4 40.5-4.2 3.6-9.6 5.8-15.5 5.8Z" }), _jsx("path", { fill: "#124899", d: "M144.744 246.7c0 2.8-.6 5.4-1.5 7.9-2.067.133-4.2.2-6.4.2-14.2 0-28-2.4-40.8-6.7 0-.5-.1-1-.1-1.4 0-13.1 10.9-23.8 24.4-23.8 13.5 0 24.4 10.7 24.4 23.8Z" }), _jsx("path", { fill: "#4CBAB6", d: "M145.644 249.2c0 1.8-.2 3.567-.6 5.3-2.667.2-5.4.3-8.2.3-13.5 0-26.5-2.1-38.7-6 .2-13.4 10.8-24.3 23.7-24.3 13.1 0 23.8 11.1 23.8 24.7Z" }), _jsx("path", { fill: "#D8DEDC", d: "M205.144 117.7c5.9 6.3 17.1 16.7 27.6 23.5 21.8 13.9 20.8 11.7 26.1 14l-8.8 27.9c-13.334-9.733-24.167-17.033-32.5-21.9-10.2-6.067-21.8-12.033-34.8-17.9l22.4-25.6Z" }), _jsx("path", { fill: "#839091", d: "M207.344 119.9c.4.467 2.066 2.1 5 4.9-2.667 5.933-5.067 10.333-7.2 13.2-5 6.8-5.3 6.5-10 11.2l-7.9-3.8 20.1-25.5Z" }), _jsx("path", { fill: "#9CA9A8", d: "M242.844 196.2c-6.934 1.333-10.367.2-10.3-3.4 0-8.4 5.1-7.8 18.6-10.2l-8.3 13.6Z" }), _jsx("path", { fill: "#DAE0DF", d: "M234.844 190.9c-.267-1.6.466-3.067 2.2-4.4 1.666-1.267 4.933-1.933 9.8-2-4.534 1.4-7.334 2.533-8.4 3.4-1 .867-2.2 1.867-3.6 3Z" }), _jsx("path", { fill: "#030609", d: "M251.844 156.9c-4.134-6.6-4.734-10.433-1.8-11.5 4.5-1.6 11.2-1 16.1 1 6.2 2.5 11.7 6.9 11.7 10.5 0 3.133-2.6 5.233-7.8 6.3 3.866 4.6 4.866 7.933 3 10-1.8 2.067-5.267 2.8-10.4 2.2 5 5.133 6.333 8.767 4 10.9-2.6 2.3-12.1 1.6-18.1-.9-5.2-2.1-14.2-12.6-11.5-15.8 1.733-2.133 5.5-3.2 11.3-3.2-5.334-3.067-7-5.567-5-7.5 2-1.867 4.833-2.533 8.5-2Z" }), _jsx("path", { fill: "#9CA9A8", d: "M252.344 148.9c2.9-1.1 8.3.5 12.3 1.8 3.9 1.2 10.5 5.7 9 8-1 1.6-3.267 2.567-6.8 2.9 4.133 5.933 4.966 9.267 2.5 10-3.7 1-11.8.8-11.3 1.3s11.1 10.2 6.5 12.5c-4.5 2.3-10.9.8-15.7-1.8-5.7-3-10.4-10-8.5-12 .733-.8 4.466-1.7 11.2-2.7-5.334-4-7.8-6.533-7.4-7.6.7-1.7 3-2.6 6.4-2.6h6.5c-5.934-5.533-7.5-8.8-4.7-9.8Z" }), _jsx("path", { fill: "#DAE0DF", d: "M256.544 155.2c-3.134-2.733-4.134-4.333-3-4.8 1.066-.4 2.9-.3 5.5.3-1.6 0-2.6.3-3 .9-.4.6-.234 1.8.5 3.6Zm-7.7 6.2c-.534 1.2-.3 2.367.7 3.5-3.2-1.4-4.434-2.666-3.7-3.8.733-1.133 3.4-1.533 8-1.2-2.8-.2-4.467.3-5 1.5Zm-4.3 12.4c-.467 1.067-.167 2.867.9 5.4-3.334-2.933-4.367-5.133-3.1-6.6 1.266-1.533 3.433-2.133 6.5-1.8-2.467.867-3.9 1.867-4.3 3Z" }), _jsx("path", { fill: "#D8DEDC", d: "M180.844 148.9c1.933 5.933 3.933 13.767 6 23.5 3.7 17.5 2.9 36.9-4.1 39.9-2.8 1.2-5.4 3.6-16.1 0-7.2-2.4-22.134-12.133-44.8-29.2l59-34.2Z" }), _jsx("path", { fill: "#687476", d: "M182.744 155.2c-3.2 10.933-12.3 19.7-27.3 26.3-7.334 3.267-16.334 5.4-27 6.4l-10.2-7.5 46.5-25.2h18Z" }), _jsx("path", { fill: "#D8DEDC", d: "M74.044 99.2c-7.467.867-13.3 1.533-17.5 2-1.934.2-4.767 1.167-8.5 2.9-3.2-4.333-5.434-8.533-6.7-12.6-1.5-4.6-3-15.4.2-21.7 2.2-4.2 14.366-9.067 36.5-14.6l-4 44Z" }), _jsx("path", { fill: "#839091", d: "m82.544 53.7-3.5 43.9-23.9 3.9c-1-4.333-1.434-7.933-1.3-10.8.8-14.133 2.466-24.1 5-29.9l23.7-7.1Z" }), _jsx("path", { fill: "#030609", d: "m189.144 137.5-6.4 17.7c-12.4 14.067-26.967 23.533-43.7 28.4-16.8 4.867-34.934 5.467-54.4 1.8l-68.8-32.5c.733-5.933 2.766-11.667 6.1-17.2 5-8.3 15.9-29.3 28.5-33 8.4-2.533 17.6-3.7 27.6-3.5l111.1 38.3Z" }), _jsx("path", { fill: "#D8DEDC", d: "M174.844 148.9c-15.334 26-42.1 37.233-80.3 33.7-16.6-1.6-41.934-12.333-76-32.2 3.666-4.733 5.833-8.467 6.5-11.2 1.1-4 2.4-7.2 6.5-9.5 4.1-2.4 9-6.9 11.7-8.8 4.8-3.5 4.6-9.7 7.2-10.4 4.266-1 12.3-1.933 24.1-2.8l100.3 41.2Z" }), _jsx("path", { fill: "#687476", d: "M113.844 150.7h63.5c-4.334 6.133-11.3 12.2-20.9 18.2-9.6 6-16.4 9-20.4 9-3.334 0-8.6-2.067-15.8-6.2-9.6-5.533-15.734-10.467-18.4-14.8l12-6.2Z" }), _jsx("path", { fill: "#839091", d: "m79.844 106.3 14.8 30.1-20.1 6.9c-5.8-7.667-9.534-12.967-11.2-15.9-1.667-2.933-4.267-8.867-7.8-17.8l24.3-3.3Z" }), _jsx("path", { fill: "#030609", d: "M142.144 166.5c40.869 0 74-33.937 74-75.8s-33.131-75.8-74-75.8-74 33.937-74 75.8 33.131 75.8 74 75.8Z" }), _jsx("path", { fill: "#D8DEDC", d: "M143.444 158.8c37.334 0 67.6-31.027 67.6-69.3 0-38.273-30.266-69.3-67.6-69.3-37.335 0-67.6 31.027-67.6 69.3 0 38.273 30.265 69.3 67.6 69.3Z" }), _jsx("path", { fill: "#fff", d: "M172.344 29.4c9.066 4.133 15.9 10.033 20.5 17.7-.534 1.933-7.367 4.033-20.5 6.3-4.667.8-8.934 1.4-12.8 1.8.066-5.467-.5-10.667-1.7-15.6-1.867-7.467-3.867-12.034-6-13.7 6.6-.867 13.433.3 20.5 3.5Z" }), _jsx("path", { fill: "#030609", d: "M85.444 50c23.133 6.6 44.366 9.566 63.7 8.9 19.333-.667 37.033-3.634 53.1-8.9 6.533 14.4 10.433 25.266 11.7 32.6 1.266 7.333.3 16.633-2.9 27.9-16.334 16.666-38.9 24.3-67.7 22.9-35.8-1.734-58.633-11.267-68.5-28.6-2.6-15.467-2.7-27.134-.3-35 2.4-7.934 6.033-14.534 10.9-19.8Z" }), _jsx("path", { fill: "#173D3E", d: "M96.744 75.6c5.7 1.4 15.8-.4 20.1 1.3 4.2 1.8 11.7 12.8 16.3 14.4 4.6 1.5 11.7-5.4 14-5 2.3.3 1.9 4.4 4.9 6.6 1.2.9 3.2 1.9 7.3 3 3.066.866 6.233 1.866 9.5 3-20.334 11.666-40.3 15.533-59.9 11.6-19.6-3.867-30.067-8.267-31.4-13.2-.467-4.667-.3-10.367.5-17.1.666-5.134 1.7-9.567 3.1-13.3 6.666 4.866 11.866 7.766 15.6 8.7Z" }), _jsx("path", { fill: "#276A69", d: "M77.344 91.7c2.733-.6 5.166-.2 7.3 1.2 3.1 2.1 14.7 9.3 18.7 10.8s24.9-.2 26.8-1.5c1.2-.934 3.1-1.7 5.7-2.3 3.333 2.733 5.933 4 7.8 3.8 2.7-.4 6 1.2 9.9-1.3 4-2.5 6-5.6 8.8-5.6 2.7 0 5.9 1.8 8 2.1 6.5 1.1 8.2-1.5 11-.5 2.8 1 4.2 1.5 8.8 1.3 3.066-.2 9.033-.834 17.9-1.9 1.6 4.466-3.534 11.333-15.4 20.6-6.3 4.9-19.3 12-55 12-5.8 0-27.9-1.1-46-14.5-11.4-8.334-16.167-16.4-14.3-24.2Z" }), _jsx("path", { fill: "#388688", d: "M122.844 103.5c4.466-.467 8.566-2.434 12.3-5.9l1.7 2.7c.133 2.266-.767 4.266-2.7 6-2.9 2.6-7.3 4.6-12.3 4.2-3.267-.2-7.934-2.334-14-6.4 5.4.133 10.4-.067 15-.6Zm27.8-.9c3.6-.6 6.7-2.7 9.2-5 1.666-1.534 3.9-1.534 6.7 0-1 .733-2 1.433-3 2.1-1.4 1-2.6 1.1-5.2 2.2s-6.6 4.4-13.8 4.4c-3 0-5.134-1.6-6.4-4.8 4.266 1.466 8.4 1.833 12.4 1.1h.1Z" }), _jsx("path", { fill: "#fff", d: "m159.344 60.9 20-2.5c4.2 14.266 4.833 36.333 1.9 66.2-4.067 1.266-7.634 2.3-10.7 3.1-4.6 1.2-8.934 1.866-13 2 2.533-7.667 3.633-19.5 3.3-35.5-.2-11.867-.7-22.967-1.5-33.3Zm40-6c2.4 2.7 7.5 10.9 8.8 20 1.9 14.4 1.3 21.5-.6 27.8-2.134 4-4.634 7.1-7.5 9.3-2.867 2.266-5.434 4.466-7.7 6.6 3.2-5.067 4.466-14.734 3.8-29-.667-15.134-2.534-26.134-5.6-33l8.8-1.7Z", opacity: 0.4 }), _jsx("path", { fill: "#030609", d: "M74.544 142.9c15.733-15.333 28.166-21.9 37.3-19.7 15.3 3.6 14.9 13.9 11.4 24.4-2.334 6.933-15.2 12.7-38.6 17.3l-10.1-22Z" }), _jsx("path", { fill: "#9CA9A8", d: "M78.144 146.2c4-4.667 11.233-8.5 21.7-11.5 15.8-4.5 18.3 4.3 18.4 7.2.2 3-1.4 7.2-6.4 8.8-3.334 1.067-11.567 3.8-24.7 8.2l-9-12.7Z" }), _jsx("path", { fill: "#515C5C", d: "m78.144 144.9 4.2-2.3c3.933 4.6 6.6 6.867 8 6.8 4.2-.1 9.3.4 9.5-.5.2-.6.866-2.7 2-6.3-.134 2.8-.134 4.5 0 5.1.2.9 9.1-.2 11.3-1.3 2-1 3.7-2.5 5.1-4.5.2 3.2-.534 5.367-2.2 6.5-3.6 2.6-13.234 6.1-28.9 10.5l-9-14Z" }), _jsx("path", { fill: "#DAE0DF", d: "M105.144 136.1c1-.3 6.2-.7 7.7 0 1 .467 1.633 1.5 1.9 3.1-.8-.733-1.767-1.433-2.9-2.1-.934-.533-3.167-.867-6.7-1Zm-4.5 7.8-1.5 4.2c-.267.867-2.367 1.067-6.3.6 2.466-.2 4.233-.8 5.3-1.8 1.133-.933 1.966-1.933 2.5-3Z" }), _jsx("path", { fill: "#030609", d: "M57.844 227.4c-.1 2.8 0 7.5-3.3 9.3-3.2 1.7-31 3.2-36.5-2.8-5.4-6-15.4-25.5-17.2-36.5-1.2-7.3-2-20.5 4-22.2 4-1.2 8.066-.833 12.2 1.1-3.934-5.933-5.9-11.4-5.9-16.4 0-3.6 1.3-9.5 5.9-10.5 3.066-.667 9.333-.167 18.8 1.5-2-7.2-2-12.2 0-15 6-8.5 22.5-7.2 27-6 4.5 1.3 39.8 37 42 46.4 1.4 5.7-2.3 21.4-6.7 24-1.867 1.133-6.1 2.1-12.7 2.9 4.2 8 4.2 13.4 0 16.2-4.267 2.867-13.467 2.867-27.6 0v8Z" }), _jsx("path", { fill: "#9CA9A8", d: "M38.844 152.9c-1.2-6.867-.7-11.034 1.5-12.5 3.2-2.3 12-2.7 16.5-2.2s5.1 8 11.5 12.2c11 7.3 24 25.3 25.5 28.8s.3 6 0 8.5-12.5 6.6-16 3.7c-1.4-1.1-7.2-8.4-12-12.2-4.667-3.8-9.1-6.567-13.3-8.3 7 7.8 10.933 12.566 11.8 14.3 1.3 2.6 4.1 10.2 7 12.2 2.9 2 10.1 7.8 11.2 8.6 1.1.9 1.6 8.9 1.1 10.4-1.8 2-15.3-4.6-17.3-5-2-.3-7.2-1.2-11.7-2.5-3.067-.8-10.5-7.8-22.3-21 2.733 8.866 5.333 14.9 7.8 18.1 3.6 4.8 6 12 9.2 12 4.5 0 3.8 9.2 1.7 10.9-2.2 1.8-18.3 1.4-24.7-1.5-4.7-2.1-24.5-46.5-19-48.2 7-2.3 11.8-1 14.2 1.3 1.533 1.533 3.133 3.1 4.8 4.7-6.867-19.067-8.367-28.834-4.5-29.3 4.466-.534 9.4-.934 14.8-1.2l1.5 4.7.5-4.2 3.2 1-3-3.3Z" }), _jsx("path", { fill: "#515C5C", d: "M12.244 178.1c-2 2.533-2.367 5.566-1.1 9.1 2 5.2 5.4 15 7.7 18.8 2.3 3.9 9.2 16.4 10.8 18.5 1 1.466 2.4 3.066 4.2 4.8-2.867-.267-5.367-.9-7.5-1.9-4.1-1.8-16.2-25.1-19-38.5-1.3-6.3-1.5-8.9 0-9.7 2.533-1.334 4.166-1.7 4.9-1.1Zm21.6 51.2c4.666-3 7.6-5.134 8.8-6.4a99.173 99.173 0 0 1 5.2-5.4c2.666.266 4.333.9 5 1.9 1 1.5-.4 8.9-1.8 9.5-2.4 1.1-5.1 1.3-6.9 1.4-3.867.133-7.3-.2-10.3-1Zm1.4-33c.9 3 3.7 7.6 6.1 11.6 2.533 4.266 4.233 7.033 5.1 8.3-8.2-7-12.9-12.667-14.1-17-1.2-4.334-1.2-8.1 0-11.3.533.533 1.5 3.333 2.9 8.4Zm47.3 9.7c1.6 2.9 2.3 7.7 1 10.4-.8 1.866-6.534.2-17.2-5 1.6-1.334 3-3.134 4.2-5.4 3.2-5.7 3.2-5.7 3.5-6.6 4.533 2.533 7.366 4.733 8.5 6.6Zm-20-23.4c2.533 3.533 5.033 8.066 7.5 13.6-6.334-4-11-8.534-14-13.6-2.334-4.067-4-8.634-5-13.7 5.733 6.466 9.566 11.033 11.5 13.7Zm12 5.3c3.2-.734 6.433-2.034 9.7-3.9 4.266-2.4 7.266-4.4 9-6 1.8 2.666 2 5.9.6 9.7-1.4 3.5-11.3 7.2-16 3.7-2-1.467-3.1-2.634-3.3-3.5Z" }), _jsx("path", { fill: "#DAE0DF", d: "M43.344 150.7c-.867-6.6.733-10.367 4.8-11.3 4-.867 8.133.566 12.4 4.3-4.534-1.2-7.9-1.634-10.1-1.3-2.134.333-4.5 3.1-7.1 8.3Zm-17.5 11c-.667 2-.334 7.833 1 17.5-5.2-12.4-6.467-19.4-3.8-21 3.2-1.934 6.8-1.934 10.8 0-4.667.333-7.334 1.5-8 3.5Zm-10.2 20.3c-1.134.533-2 2.5-2.6 5.9-1.667-5.8-1.334-8.7 1-8.7 3.666-.067 6.3 1.533 7.9 4.8-2.134-2.334-4.267-3-6.4-2h.1Z" })] }));
|
|
4
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { ConnectModalHead, ConnectModalStatus } from "@interchain-ui/react";
|
|
3
|
+
import { useAccount, useWalletManager } from "../../hooks";
|
|
4
|
+
import { useWalletModal } from "../provider";
|
|
5
|
+
import { getWalletInfo } from "../../utils";
|
|
6
|
+
import { AstronautSvg } from "./Astronaut";
|
|
7
|
+
import { useCurrentChainWallet } from "../../hooks/useCurrentChainWallet";
|
|
8
|
+
export const ConnectedHeader = ({ onBack }) => {
|
|
9
|
+
const currentWallet = useCurrentChainWallet();
|
|
10
|
+
const { close } = useWalletModal();
|
|
11
|
+
return (_jsx(ConnectModalHead, { title: currentWallet?.info?.prettyName || "", hasBackButton: true, onClose: close, onBack: onBack, closeButtonProps: { onClick: close } }));
|
|
12
|
+
};
|
|
13
|
+
export const ConnectedContent = () => {
|
|
14
|
+
const currentWallet = useCurrentChainWallet();
|
|
15
|
+
const walletManager = useWalletManager();
|
|
16
|
+
const { account } = useAccount(walletManager.currentChainName, currentWallet?.info?.name);
|
|
17
|
+
const { close } = useWalletModal();
|
|
18
|
+
if (!currentWallet) {
|
|
19
|
+
return null;
|
|
20
|
+
}
|
|
21
|
+
return (_jsx(ConnectModalStatus, { wallet: getWalletInfo(currentWallet), status: "Connected", connectedInfo: {
|
|
22
|
+
name: account?.username || "Wallet",
|
|
23
|
+
avatar: (_jsx(AstronautSvg, { style: {
|
|
24
|
+
fontSize: "inherit",
|
|
25
|
+
width: "100%",
|
|
26
|
+
height: "100%",
|
|
27
|
+
} })),
|
|
28
|
+
address: account?.address,
|
|
29
|
+
}, onDisconnect: async () => {
|
|
30
|
+
await currentWallet.disconnect();
|
|
31
|
+
close();
|
|
32
|
+
} }));
|
|
33
|
+
};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { ConnectModalHead, ConnectModalStatus } from "@interchain-ui/react";
|
|
3
|
+
import { useWalletModal } from "../provider";
|
|
4
|
+
export const ConnectingHeader = ({ wallet, onBack, }) => {
|
|
5
|
+
const { close } = useWalletModal();
|
|
6
|
+
return (_jsx(ConnectModalHead, { title: wallet.info.prettyName, hasBackButton: true, onClose: close, onBack: onBack, closeButtonProps: {
|
|
7
|
+
onClick: close,
|
|
8
|
+
} }));
|
|
9
|
+
};
|
|
10
|
+
export const ConnectingContent = ({ wallet }) => {
|
|
11
|
+
const { info: { prettyName, mode }, } = wallet;
|
|
12
|
+
let title = "Requesting Connection";
|
|
13
|
+
let desc = mode === "wallet-connect"
|
|
14
|
+
? `Approve ${prettyName} connection request on your mobile.`
|
|
15
|
+
: `Open the ${prettyName} browser extension to connect your wallet.`;
|
|
16
|
+
if (!wallet)
|
|
17
|
+
return null;
|
|
18
|
+
return (_jsx(ConnectModalStatus, { wallet: {
|
|
19
|
+
name: wallet.info.name,
|
|
20
|
+
prettyName: wallet.info.prettyName,
|
|
21
|
+
logo: wallet.info.logo,
|
|
22
|
+
mobileDisabled: true,
|
|
23
|
+
}, status: "Connecting", contentHeader: title, contentDesc: desc }));
|
|
24
|
+
};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { ConnectModalHead, ConnectModalStatus } from "@interchain-ui/react";
|
|
3
|
+
import { useWalletManager } from "../../hooks"; // replace with the actual path
|
|
4
|
+
import { useWalletModal } from "../provider";
|
|
5
|
+
import { useMemo } from "react";
|
|
6
|
+
import { FaAndroid } from "@react-icons/all-files/fa/FaAndroid";
|
|
7
|
+
import { GoDesktopDownload } from "@react-icons/all-files/go/GoDesktopDownload";
|
|
8
|
+
import { GrFirefox } from "@react-icons/all-files/gr/GrFirefox";
|
|
9
|
+
import { RiAppStoreFill } from "@react-icons/all-files/ri/RiAppStoreFill";
|
|
10
|
+
import { RiChromeFill } from "@react-icons/all-files/ri/RiChromeFill";
|
|
11
|
+
export const NotExistHeader = ({ wallet, onBack, }) => {
|
|
12
|
+
const { close } = useWalletModal();
|
|
13
|
+
return (_jsx(ConnectModalHead, { title: wallet?.info?.prettyName || "", hasBackButton: true, onClose: close, onBack: onBack, closeButtonProps: { onClick: close } }));
|
|
14
|
+
};
|
|
15
|
+
export const NotExistContent = ({ wallet }) => {
|
|
16
|
+
const walletManager = useWalletManager();
|
|
17
|
+
const downloadLink = useMemo(() => {
|
|
18
|
+
return walletManager.getDownloadLink(wallet.info.name);
|
|
19
|
+
}, [wallet?.info?.name]);
|
|
20
|
+
const onInstall = () => {
|
|
21
|
+
if (downloadLink) {
|
|
22
|
+
window.open(downloadLink.link, "_blank");
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
const IconComp = getIcon(walletManager.getEnv());
|
|
26
|
+
return (_jsx(ConnectModalStatus, { status: "NotExist", wallet: {
|
|
27
|
+
name: wallet?.info?.prettyName,
|
|
28
|
+
logo: typeof wallet?.info?.logo === "string" ? wallet?.info?.logo : "",
|
|
29
|
+
mobileDisabled: true,
|
|
30
|
+
}, contentHeader: `${wallet?.info?.prettyName} Not Installed`, contentDesc: true
|
|
31
|
+
? `If ${wallet?.info?.prettyName.toLowerCase()} is installed on your device, please refresh this page or follow the browser instruction.`
|
|
32
|
+
: `Download link not provided. Try searching it or consulting the developer team.`, onInstall: onInstall, installIcon: _jsx(IconComp, {}), disableInstall: downloadLink === null }));
|
|
33
|
+
};
|
|
34
|
+
function getIcon(env) {
|
|
35
|
+
if (env?.browser === "chrome")
|
|
36
|
+
return RiChromeFill;
|
|
37
|
+
if (env?.browser === "firefox")
|
|
38
|
+
return GrFirefox;
|
|
39
|
+
if (env?.os === "android")
|
|
40
|
+
return FaAndroid;
|
|
41
|
+
if (env?.os === "ios")
|
|
42
|
+
return RiAppStoreFill;
|
|
43
|
+
return GoDesktopDownload;
|
|
44
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { ConnectModalHead, ConnectModalQRCode } from "@interchain-ui/react";
|
|
3
|
+
import { useCurrentWallet, useWalletManager } from "../../hooks";
|
|
4
|
+
import { useWalletModal } from "../provider";
|
|
5
|
+
export const QRCodeHeader = ({ onBack }) => {
|
|
6
|
+
const currentWallet = useCurrentWallet();
|
|
7
|
+
const walletManager = useWalletManager();
|
|
8
|
+
const { close } = useWalletModal();
|
|
9
|
+
return (_jsx(ConnectModalHead, { title: currentWallet?.info?.prettyName || "", hasBackButton: true, onClose: () => void 0, onBack: async () => {
|
|
10
|
+
await walletManager.disconnect(currentWallet?.info?.name || "");
|
|
11
|
+
onBack();
|
|
12
|
+
}, closeButtonProps: { onClick: close } }));
|
|
13
|
+
};
|
|
14
|
+
export const QRCodeContent = () => {
|
|
15
|
+
const currentWalletRepository = useCurrentWallet();
|
|
16
|
+
const currentWallet = currentWalletRepository.wallet;
|
|
17
|
+
const walletManager = useWalletManager();
|
|
18
|
+
const data = currentWallet.pairingUri;
|
|
19
|
+
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 || "") }));
|
|
20
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { ConnectModalHead, ConnectModalStatus } from "@interchain-ui/react";
|
|
3
|
+
import { useWalletModal } from "../provider";
|
|
4
|
+
import { useWalletManager } from "../../hooks";
|
|
5
|
+
import { getWalletInfo } from "../../utils";
|
|
6
|
+
export const RejectHeader = ({ wallet, onBack, }) => {
|
|
7
|
+
const { close } = useWalletModal();
|
|
8
|
+
return (_jsx(ConnectModalHead, { title: wallet.info.prettyName, hasBackButton: true, onClose: close, onBack: onBack, closeButtonProps: { onClick: close } }));
|
|
9
|
+
};
|
|
10
|
+
export const RejectContent = ({ wallet }) => {
|
|
11
|
+
const walletManager = useWalletManager();
|
|
12
|
+
const { close } = useWalletModal();
|
|
13
|
+
return (_jsx(ConnectModalStatus, { status: "Rejected", wallet: getWalletInfo(wallet), contentHeader: "Request Rejected", contentDesc: wallet.errorMessage || "Connection permission is denied.", onConnect: () => walletManager.connect(wallet.info.name).then(close) }));
|
|
14
|
+
};
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { ConnectModalHead, ConnectModalWalletList } from "@interchain-ui/react";
|
|
3
|
+
import { useWalletModal } from "../provider";
|
|
4
|
+
import { useWalletManager } from "../../hooks";
|
|
5
|
+
export const WalletListHeader = () => {
|
|
6
|
+
const { close } = useWalletModal();
|
|
7
|
+
return (_jsx(ConnectModalHead, { title: "Select your wallet", hasBackButton: false, onClose: close, closeButtonProps: { onClick: close } }));
|
|
8
|
+
};
|
|
9
|
+
export const WalletListContent = ({ onSelectWallet, }) => {
|
|
10
|
+
const walletManager = useWalletManager();
|
|
11
|
+
const wallets = walletManager.wallets.map((w) => {
|
|
12
|
+
return {
|
|
13
|
+
name: w.info.name,
|
|
14
|
+
prettyName: w.info.prettyName,
|
|
15
|
+
logo: w.info.logo,
|
|
16
|
+
mobileDisabled: true,
|
|
17
|
+
shape: "list",
|
|
18
|
+
originalWallet: {
|
|
19
|
+
...w,
|
|
20
|
+
pairing: null,
|
|
21
|
+
},
|
|
22
|
+
};
|
|
23
|
+
});
|
|
24
|
+
const wcWallet = walletManager.wallets.find((w) => w.info.mode === "wallet-connect");
|
|
25
|
+
if (wcWallet) {
|
|
26
|
+
const activePairings = wcWallet.getActivePairing();
|
|
27
|
+
activePairings.forEach((pairing) => {
|
|
28
|
+
wallets.push({
|
|
29
|
+
name: pairing?.peerMetadata?.name,
|
|
30
|
+
prettyName: pairing?.peerMetadata?.name,
|
|
31
|
+
logo: pairing?.peerMetadata?.icons?.[0],
|
|
32
|
+
mobileDisabled: true,
|
|
33
|
+
shape: "list",
|
|
34
|
+
originalWallet: { ...wcWallet, pairing },
|
|
35
|
+
subLogo: wcWallet.info.logo,
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
return (_jsx(ConnectModalWalletList, { wallets: wallets, onWalletItemClick: onSelectWallet }));
|
|
40
|
+
};
|
package/esm/provider.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { useEffect, useMemo, useState } from
|
|
2
|
+
import { useEffect, useMemo, useState } from "react";
|
|
3
3
|
import { createContext, useContext } from "react";
|
|
4
|
-
import { WalletManager } from
|
|
5
|
-
import { WalletModalProvider } from
|
|
6
|
-
const
|
|
7
|
-
export const ChainProvider = ({ chains, assetLists, wallets, signerOptions, endpointOptions, children }) => {
|
|
4
|
+
import { WalletManager, WalletManagerState, } from "@interchain-kit/core";
|
|
5
|
+
import { WalletModalProvider } from "./modal";
|
|
6
|
+
const InterchainWalletContext = createContext(null);
|
|
7
|
+
export const ChainProvider = ({ chains, assetLists, wallets, signerOptions, endpointOptions, children, }) => {
|
|
8
8
|
const [_, forceRender] = useState({});
|
|
9
9
|
const walletManager = useMemo(() => {
|
|
10
10
|
return new WalletManager(chains, assetLists, wallets, signerOptions, endpointOptions, () => forceRender({}));
|
|
@@ -12,12 +12,15 @@ export const ChainProvider = ({ chains, assetLists, wallets, signerOptions, endp
|
|
|
12
12
|
useEffect(() => {
|
|
13
13
|
walletManager.init();
|
|
14
14
|
}, []);
|
|
15
|
-
|
|
15
|
+
if (walletManager.state === WalletManagerState.Initializing) {
|
|
16
|
+
return _jsx("div", { children: "Interchain Kit Initializing..." });
|
|
17
|
+
}
|
|
18
|
+
return (_jsx(InterchainWalletContext.Provider, { value: { walletManager }, children: _jsx(WalletModalProvider, { children: children }) }));
|
|
16
19
|
};
|
|
17
|
-
export const
|
|
18
|
-
const context = useContext(
|
|
20
|
+
export const useInterchainWalletContext = () => {
|
|
21
|
+
const context = useContext(InterchainWalletContext);
|
|
19
22
|
if (!context) {
|
|
20
|
-
throw new Error(
|
|
23
|
+
throw new Error("useInterChainWalletContext must be used within a InterChainProvider");
|
|
21
24
|
}
|
|
22
25
|
return context;
|
|
23
26
|
};
|
package/esm/types/index.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export function bindAllMethodsToContext(context) {
|
|
2
|
+
return new Proxy(context, {
|
|
3
|
+
get(target, prop, receiver) {
|
|
4
|
+
const value = Reflect.get(target, prop, receiver);
|
|
5
|
+
if (typeof value === 'function') {
|
|
6
|
+
return value.bind(context);
|
|
7
|
+
}
|
|
8
|
+
return value;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
}
|
package/esm/utils/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
export * from './wallet';
|
package/hooks/index.d.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
export * from './useWalletManager';
|
|
2
|
-
export * from './
|
|
2
|
+
export * from './useCurrentWallet';
|
|
3
3
|
export * from './useAccount';
|
|
4
4
|
export * from './useChain';
|
|
5
5
|
export * from './useConnect';
|
|
6
6
|
export * from './useChainWallet';
|
|
7
7
|
export * from './useConfig';
|
|
8
|
+
export * from './useOfflineSigner';
|
|
9
|
+
export * from './useRpcEndpoint';
|
package/hooks/index.js
CHANGED
|
@@ -15,9 +15,11 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./useWalletManager"), exports);
|
|
18
|
-
__exportStar(require("./
|
|
18
|
+
__exportStar(require("./useCurrentWallet"), exports);
|
|
19
19
|
__exportStar(require("./useAccount"), exports);
|
|
20
20
|
__exportStar(require("./useChain"), exports);
|
|
21
21
|
__exportStar(require("./useConnect"), exports);
|
|
22
22
|
__exportStar(require("./useChainWallet"), exports);
|
|
23
23
|
__exportStar(require("./useConfig"), exports);
|
|
24
|
+
__exportStar(require("./useOfflineSigner"), exports);
|
|
25
|
+
__exportStar(require("./useRpcEndpoint"), exports);
|
package/hooks/useAccount.d.ts
CHANGED
|
@@ -1,2 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
export declare const useAccount: (chainName: string, walletName: string) => {
|
|
2
|
+
account: import("@interchain-kit/core").WalletAccount;
|
|
3
|
+
isLoading: boolean;
|
|
4
|
+
error: Error;
|
|
5
|
+
getAccount: () => Promise<import("@interchain-kit/core").WalletAccount>;
|
|
6
|
+
};
|
package/hooks/useAccount.js
CHANGED
|
@@ -1,29 +1,30 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.useAccount = void 0;
|
|
4
|
-
const
|
|
4
|
+
const core_1 = require("@interchain-kit/core");
|
|
5
5
|
const useWalletManager_1 = require("./useWalletManager");
|
|
6
|
+
const react_1 = require("react");
|
|
6
7
|
const useAccount = (chainName, walletName) => {
|
|
7
8
|
const walletManager = (0, useWalletManager_1.useWalletManager)();
|
|
8
|
-
const
|
|
9
|
-
const [account, setAccount] = (0, react_1.useState)(null);
|
|
10
|
-
const chain = walletManager.chains.find(c => c.chainName === chainName);
|
|
11
|
-
const getAccount = async () => {
|
|
12
|
-
const account = await wallet.getAccount(chain.chainId);
|
|
13
|
-
setAccount(account);
|
|
14
|
-
};
|
|
9
|
+
const chainAccount = walletManager.getWalletRepositoryByName(walletName)?.getChainAccountByName(chainName);
|
|
15
10
|
(0, react_1.useEffect)(() => {
|
|
16
|
-
if (
|
|
17
|
-
|
|
11
|
+
if (chainAccount?.walletState === core_1.WalletState.Connected && chainName && walletName) {
|
|
12
|
+
chainAccount.getAccount();
|
|
18
13
|
}
|
|
19
|
-
}, [
|
|
20
|
-
(
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
14
|
+
}, [chainName, walletName, chainAccount?.walletState]);
|
|
15
|
+
if (chainAccount?.walletState === core_1.WalletState.Connected && chainName && walletName) {
|
|
16
|
+
return {
|
|
17
|
+
account: chainAccount?.account,
|
|
18
|
+
isLoading: chainAccount.getAccountState().loading,
|
|
19
|
+
error: chainAccount.getAccountState().error,
|
|
20
|
+
getAccount: () => chainAccount?.getAccount()
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
return {
|
|
24
|
+
account: undefined,
|
|
25
|
+
isLoading: false,
|
|
26
|
+
error: null,
|
|
27
|
+
getAccount: () => chainAccount?.getAccount()
|
|
28
|
+
};
|
|
28
29
|
};
|
|
29
30
|
exports.useAccount = useAccount;
|
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
|
@@ -3,41 +3,80 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.useChain = void 0;
|
|
4
4
|
const useWalletManager_1 = require("./useWalletManager");
|
|
5
5
|
const useAccount_1 = require("./useAccount");
|
|
6
|
-
const useActiveWallet_1 = require("./useActiveWallet");
|
|
7
6
|
const useInterchainClient_1 = require("./useInterchainClient");
|
|
8
7
|
const modal_1 = require("../modal");
|
|
8
|
+
const useRpcEndpoint_1 = require("./useRpcEndpoint");
|
|
9
|
+
const core_1 = require("@interchain-kit/core");
|
|
10
|
+
const useCurrentChainWallet_1 = require("./useCurrentChainWallet");
|
|
9
11
|
const useChain = (chainName) => {
|
|
10
12
|
const walletManager = (0, useWalletManager_1.useWalletManager)();
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
const
|
|
15
|
-
const
|
|
13
|
+
const chainAccount = (0, useCurrentChainWallet_1.useCurrentChainWallet)();
|
|
14
|
+
const chain = walletManager.getChainByName(chainName);
|
|
15
|
+
walletManager.currentChainName = chainName;
|
|
16
|
+
const walletName = chainAccount?.info?.name;
|
|
17
|
+
const rpcEndpointHook = (0, useRpcEndpoint_1.useRpcEndpoint)(chainName, walletName);
|
|
18
|
+
const accountHook = (0, useAccount_1.useAccount)(chainName, walletName);
|
|
19
|
+
const signingClientHook = (0, useInterchainClient_1.useInterchainClient)(chainName, walletName);
|
|
16
20
|
const { open, close } = (0, modal_1.useWalletModal)();
|
|
17
|
-
const clientFactory = walletManager.createClientFactory(activeWallet, chainName);
|
|
18
21
|
const cosmosKitUserChainReturnType = {
|
|
19
22
|
connect: () => {
|
|
20
|
-
if (
|
|
23
|
+
if (chainAccount?.walletState === core_1.WalletState.Connected) {
|
|
21
24
|
return;
|
|
22
25
|
}
|
|
26
|
+
walletManager.currentChainName = chainName;
|
|
27
|
+
open();
|
|
28
|
+
},
|
|
29
|
+
disconnect: async () => {
|
|
30
|
+
walletManager.currentChainName = chainName;
|
|
31
|
+
await chainAccount?.disconnect();
|
|
32
|
+
},
|
|
33
|
+
openView: () => {
|
|
34
|
+
walletManager.currentChainName = chainName;
|
|
23
35
|
open();
|
|
24
36
|
},
|
|
25
|
-
openView: open,
|
|
26
37
|
closeView: close,
|
|
27
|
-
getRpcEndpoint: () =>
|
|
28
|
-
status:
|
|
29
|
-
username: account?.username,
|
|
30
|
-
message:
|
|
31
|
-
getSigningCosmWasmClient: () => clientFactory.then((c) => c.getSigningCosmwasmClient()),
|
|
32
|
-
getSigningStargateClient: () => clientFactory.then((c) => c.getSigningStargateClient())
|
|
38
|
+
getRpcEndpoint: () => chainAccount.getRpcEndpoint(),
|
|
39
|
+
status: chainAccount?.walletState,
|
|
40
|
+
username: accountHook.account?.username,
|
|
41
|
+
message: chainAccount?.errorMessage
|
|
33
42
|
};
|
|
43
|
+
if (chainAccount && chainAccount?.walletState === core_1.WalletState.Connected) {
|
|
44
|
+
return {
|
|
45
|
+
logoUrl: walletManager.getChainLogoUrl(chainName),
|
|
46
|
+
chain,
|
|
47
|
+
assetList: chainAccount?.assetList,
|
|
48
|
+
address: accountHook.account?.address,
|
|
49
|
+
wallet: chainAccount,
|
|
50
|
+
rpcEndpoint: rpcEndpointHook.rpcEndpoint,
|
|
51
|
+
...cosmosKitUserChainReturnType, //for migration cosmos kit
|
|
52
|
+
signingClient: signingClientHook.signingClient,
|
|
53
|
+
getSigningClient: () => signingClientHook.getSigningClient(),
|
|
54
|
+
isRpcEndpointLoading: rpcEndpointHook.isLoading,
|
|
55
|
+
isAccountLoading: accountHook.isLoading,
|
|
56
|
+
isSigningClientLoading: signingClientHook.isLoading,
|
|
57
|
+
isLoading: rpcEndpointHook.isLoading || accountHook.isLoading || signingClientHook.isLoading,
|
|
58
|
+
getRpcEndpointError: rpcEndpointHook.error,
|
|
59
|
+
getSigningClientError: signingClientHook.error,
|
|
60
|
+
getAccountError: accountHook.error
|
|
61
|
+
};
|
|
62
|
+
}
|
|
34
63
|
return {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
64
|
+
logoUrl: walletManager.getChainLogoUrl(chainName),
|
|
65
|
+
chain,
|
|
66
|
+
assetList: chainAccount?.assetList,
|
|
67
|
+
address: accountHook.account?.address,
|
|
68
|
+
wallet: chainAccount,
|
|
69
|
+
rpcEndpoint: rpcEndpointHook.rpcEndpoint,
|
|
39
70
|
...cosmosKitUserChainReturnType, //for migration cosmos kit
|
|
40
|
-
|
|
71
|
+
signingClient: signingClientHook.signingClient,
|
|
72
|
+
getSigningClient: () => signingClientHook.getSigningClient(),
|
|
73
|
+
isRpcEndpointLoading: rpcEndpointHook.isLoading,
|
|
74
|
+
isAccountLoading: accountHook.isLoading,
|
|
75
|
+
isSigningClientLoading: signingClientHook.isLoading,
|
|
76
|
+
isLoading: rpcEndpointHook.isLoading || accountHook.isLoading || signingClientHook.isLoading,
|
|
77
|
+
getRpcEndpointError: rpcEndpointHook.error,
|
|
78
|
+
getSigningClientError: signingClientHook.error,
|
|
79
|
+
getAccountError: accountHook.error
|
|
41
80
|
};
|
|
42
81
|
};
|
|
43
82
|
exports.useChain = useChain;
|
|
@@ -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
|
@@ -4,19 +4,42 @@ exports.useChainWallet = void 0;
|
|
|
4
4
|
const useWalletManager_1 = require("./useWalletManager");
|
|
5
5
|
const useAccount_1 = require("./useAccount");
|
|
6
6
|
const useInterchainClient_1 = require("./useInterchainClient");
|
|
7
|
+
const useRpcEndpoint_1 = require("./useRpcEndpoint");
|
|
8
|
+
const core_1 = require("@interchain-kit/core");
|
|
7
9
|
const useChainWallet = (chainName, walletName) => {
|
|
8
10
|
const walletManager = (0, useWalletManager_1.useWalletManager)();
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
const
|
|
11
|
+
const walletRepository = walletManager.getWalletRepositoryByName(walletName);
|
|
12
|
+
const chainAccount = walletRepository.getChainAccountByName(chainName);
|
|
13
|
+
const rpcEndpointHook = (0, useRpcEndpoint_1.useRpcEndpoint)(chainName, walletName);
|
|
14
|
+
const accountHook = (0, useAccount_1.useAccount)(chainName, walletName);
|
|
15
|
+
const signingClientHook = (0, useInterchainClient_1.useInterchainClient)(chainName, walletName);
|
|
14
16
|
return {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
connect: () => {
|
|
18
|
+
if (!chainAccount && chainAccount.walletState === core_1.WalletState.Connected) {
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
chainAccount.connect();
|
|
22
|
+
},
|
|
23
|
+
disconnect: () => chainAccount.disconnect(),
|
|
24
|
+
getRpcEndpoint: () => chainAccount.getRpcEndpoint(),
|
|
25
|
+
status: chainAccount.walletState,
|
|
26
|
+
username: accountHook.account?.username,
|
|
27
|
+
message: chainAccount.errorMessage,
|
|
28
|
+
logoUrl: walletManager.getChainLogoUrl(chainName),
|
|
29
|
+
rpcEndpoint: rpcEndpointHook.rpcEndpoint,
|
|
30
|
+
chain: chainAccount.chain,
|
|
31
|
+
assetList: chainAccount.assetList,
|
|
32
|
+
address: accountHook.account?.address,
|
|
33
|
+
wallet: walletRepository,
|
|
34
|
+
signingClient: signingClientHook.signingClient,
|
|
35
|
+
getSigningClient: () => signingClientHook.getSigningClient(),
|
|
36
|
+
isRpcEndpointLoading: rpcEndpointHook.isLoading,
|
|
37
|
+
isAccountLoading: accountHook.isLoading,
|
|
38
|
+
isSigningClientLoading: signingClientHook.isLoading,
|
|
39
|
+
isLoading: rpcEndpointHook.isLoading || accountHook.isLoading || signingClientHook.isLoading,
|
|
40
|
+
getRpcEndpointError: rpcEndpointHook.error,
|
|
41
|
+
getSigningClientError: signingClientHook.error,
|
|
42
|
+
getAccountError: accountHook.error
|
|
20
43
|
};
|
|
21
44
|
};
|
|
22
45
|
exports.useChainWallet = useChainWallet;
|
package/hooks/useConfig.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AssetList, Chain } from "@chain-registry/v2-types";
|
|
2
|
-
import { EndpointOptions, SignerOptions } from "@
|
|
2
|
+
import { EndpointOptions, SignerOptions } from "@interchain-kit/core";
|
|
3
3
|
export declare const useConfig: () => {
|
|
4
4
|
updateChains: (chains: Chain[]) => Chain[];
|
|
5
5
|
updateAssetLists: (assetLists: AssetList[]) => AssetList[];
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useCurrentChainWallet = void 0;
|
|
4
|
+
const helpers_1 = require("../utils/helpers");
|
|
5
|
+
const useWalletManager_1 = require("./useWalletManager");
|
|
6
|
+
const useCurrentChainWallet = () => {
|
|
7
|
+
const walletManager = (0, useWalletManager_1.useWalletManager)();
|
|
8
|
+
const { currentChainName, currentWalletName } = walletManager;
|
|
9
|
+
const chainWallet = walletManager.getWalletRepositoryByName(currentWalletName)?.getChainAccountByName(currentChainName);
|
|
10
|
+
if (chainWallet) {
|
|
11
|
+
return (0, helpers_1.bindAllMethodsToContext)(chainWallet);
|
|
12
|
+
}
|
|
13
|
+
return {};
|
|
14
|
+
};
|
|
15
|
+
exports.useCurrentChainWallet = useCurrentChainWallet;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useCurrentWallet = void 0;
|
|
4
|
+
const useWalletManager_1 = require("./useWalletManager");
|
|
5
|
+
const modal_1 = require("../modal");
|
|
6
|
+
const helpers_1 = require("../utils/helpers");
|
|
7
|
+
const useCurrentWallet = () => {
|
|
8
|
+
const walletManager = (0, useWalletManager_1.useWalletManager)();
|
|
9
|
+
const { open } = (0, modal_1.useWalletModal)();
|
|
10
|
+
// useEffect(() => {
|
|
11
|
+
// if (!walletManager.currentWalletName && walletManager.state === WalletManagerState.Initialized) {
|
|
12
|
+
// open()
|
|
13
|
+
// }
|
|
14
|
+
// }, [walletManager.currentWalletName, walletManager.state])
|
|
15
|
+
const { currentWalletName, currentChainName, getWalletRepositoryByName } = walletManager;
|
|
16
|
+
const wallet = getWalletRepositoryByName(currentWalletName);
|
|
17
|
+
if (wallet) {
|
|
18
|
+
return (0, helpers_1.bindAllMethodsToContext)(wallet);
|
|
19
|
+
}
|
|
20
|
+
return {};
|
|
21
|
+
};
|
|
22
|
+
exports.useCurrentWallet = useCurrentWallet;
|
|
@@ -1,14 +1,6 @@
|
|
|
1
|
-
import { HttpEndpoint } from '@interchainjs/types';
|
|
2
|
-
import { CosmWasmSigningClient } from 'interchainjs/cosmwasm-stargate';
|
|
3
|
-
import { StargateSigningClient } from 'interchainjs/stargate';
|
|
4
|
-
import { SigningClient } from 'interchainjs/signing-client';
|
|
5
|
-
import { RpcQuery } from 'interchainjs/query/rpc';
|
|
6
1
|
export declare const useInterchainClient: (chainName: string, walletName: string) => {
|
|
7
|
-
|
|
8
|
-
signingClient: SigningClient;
|
|
9
|
-
queryClient: RpcQuery;
|
|
10
|
-
signingStargateClient: StargateSigningClient;
|
|
11
|
-
signingCosmWasmClient: CosmWasmSigningClient;
|
|
12
|
-
error: unknown;
|
|
2
|
+
signingClient: import("@interchainjs/cosmos/signing-client").SigningClient;
|
|
13
3
|
isLoading: boolean;
|
|
4
|
+
error: Error;
|
|
5
|
+
getSigningClient: () => Promise<import("@interchainjs/cosmos/signing-client").SigningClient>;
|
|
14
6
|
};
|