From 2fb3bdb5c8fb14a6b56c412211c4be84077e0d2b Mon Sep 17 00:00:00 2001 From: Zetazzz Date: Wed, 4 Sep 2024 11:34:38 +0800 Subject: [PATCH] import histroy --- .editorconfig | 12 + .gitattributes | 2 + .github/workflows/run-tests.yml | 34 + .gitignore | 2 +- .gitpod.yml | 11 + .vscode/cosmos-kit.code-workspace | 35 + .vscode/settings.json | 2 +- INTEGRATING-WALLETS.md | 5 + README.md | 1 - jest.config.js | 7 + lerna.json | 2 +- packages/core/.editorconfig | 12 + packages/core/.eslintignore | 7 + packages/core/.eslintrc.json | 82 ++ packages/core/.gitignore | 48 + packages/core/.npmignore | 33 + packages/core/.npmrc | 1 + packages/core/.prettierrc.json | 7 + packages/core/LICENSE | 33 + packages/core/README.md | 6 +- .../core/__tests__/bases/chain-wallet.test.ts | 444 +++++++ .../core/__tests__/bases/main-wallet.test.ts | 387 ++++++ packages/core/__tests__/bases/state.test.ts | 135 ++ packages/core/__tests__/bases/wallet.test.ts | 302 +++++ packages/core/__tests__/manager.test.ts | 349 +++++ .../__tests__/name-serveice-class.test.ts | 55 + packages/core/__tests__/repository.test.ts | 286 ++++ packages/core/__tests__/utils/check.test.ts | 37 + packages/core/__tests__/utils/convert.test.ts | 38 + .../core/__tests__/utils/endpoint.test.ts | 155 +++ packages/core/__tests__/utils/error.test.ts | 25 + packages/core/__tests__/utils/logger.test.ts | 68 + packages/core/__tests__/utils/map.test.ts | 44 + packages/core/__tests__/utils/math.test.ts | 30 + .../core/__tests__/utils/name-service.test.ts | 61 + packages/core/__tests__/utils/session.test.ts | 45 + packages/core/__tests__/utils/status.test.ts | 49 + packages/core/index.ts | 2 + packages/core/src/bases/chain-wallet.ts | 467 +++++++ packages/core/src/bases/index.ts | 4 + packages/core/src/bases/main-wallet.ts | 252 ++++ packages/core/src/bases/state.ts | 125 ++ packages/core/src/bases/wallet.ts | 260 ++++ packages/core/src/config.ts | 27 + packages/core/src/cosmiframe/constants.ts | 3 + packages/core/src/cosmiframe/cosmiframe.ts | 7 + .../src/cosmiframe/extension/chain-wallet.ts | 8 + .../core/src/cosmiframe/extension/client.ts | 116 ++ .../core/src/cosmiframe/extension/index.ts | 4 + .../src/cosmiframe/extension/main-wallet.ts | 43 + .../core/src/cosmiframe/extension/registry.ts | 20 + .../core/src/cosmiframe/extension/types.ts | 5 + packages/core/src/cosmiframe/index.ts | 3 + packages/core/src/index.ts | 2 +- packages/core/src/manager.ts | 513 +++++++ packages/core/src/name-service.ts | 26 + packages/core/src/repository.ts | 276 ++++ packages/core/src/types/chain.ts | 2 +- packages/core/src/types/hook.ts | 176 +++ packages/core/src/types/index.ts | 2 +- packages/core/src/types/manager.ts | 2 +- packages/core/src/types/view.ts | 45 + packages/core/src/types/wallet.ts | 2 +- packages/core/src/utils/check.ts | 16 + packages/core/src/utils/convert.ts | 41 + packages/core/src/utils/endpoint.ts | 2 +- packages/core/src/utils/error.ts | 23 + packages/core/src/utils/index.ts | 2 +- packages/core/src/utils/logger.ts | 76 ++ packages/core/src/utils/map.ts | 8 + packages/core/src/utils/math.ts | 12 + packages/core/src/utils/name-service.ts | 30 + packages/core/src/utils/session.ts | 19 + packages/core/src/utils/status.ts | 27 + .../test-utils/mock-extension/constant.ts | 2 + .../mock-extension/extension/chain-wallet.ts | 8 + .../mock-extension/extension/client.ts | 155 +++ .../mock-extension/extension/index.ts | 4 + .../mock-extension/extension/main-wallet.ts | 22 + .../mock-extension/extension/registry.ts | 27 + .../mock-extension/extension/types.ts | 87 ++ .../mock-extension/extension/utils.ts | 12 + .../core/test-utils/mock-extension/index.ts | 2 + .../core/test-utils/mock-extension/mock.ts | 5 + packages/core/test-utils/mocker/index.ts | 163 +++ packages/core/test-utils/mocker/setup.ts | 12 + packages/cosmos-kit/.editorconfig | 12 + packages/cosmos-kit/.eslintignore | 7 + packages/cosmos-kit/.gitignore | 48 + packages/cosmos-kit/.npmrc | 1 + packages/cosmos-kit/.prettierrc.json | 7 + packages/cosmos-kit/CHANGELOG.md | 488 +++++++ packages/cosmos-kit/LICENSE | 33 + packages/cosmos-kit/README.md | 181 +++ packages/cosmos-kit/jest.config.js | 195 +++ packages/cosmos-kit/package.json | 96 ++ packages/cosmos-kit/src/index.ts | 20 + packages/cosmos-kit/src/wallets.ts | 229 ++++ packages/cosmos-kit/test/wallets.test.ts | 36 + packages/cosmos-kit/tsconfig.json | 9 + packages/docs/.gitignore | 3 + packages/docs/.markdownlint.json | 3 + packages/docs/CHANGELOG.md | 1055 +++++++++++++++ packages/docs/components/card.tsx | 111 ++ packages/docs/components/hooks.tsx | 40 + packages/docs/components/index.tsx | 4 + .../docs/components/react/address-card.tsx | 117 ++ packages/docs/components/react/astronaut.tsx | 156 +++ packages/docs/components/react/chain-card.tsx | 49 + .../docs/components/react/choose-chain.tsx | 175 +++ .../components/react/handleChangeColor.tsx | 9 + packages/docs/components/react/index.ts | 6 + packages/docs/components/react/user-card.tsx | 45 + .../docs/components/react/wallet-connect.tsx | 243 ++++ packages/docs/components/react/warn-block.tsx | 41 + packages/docs/components/types.tsx | 86 ++ packages/docs/components/wallet.tsx | 78 ++ packages/docs/config/seo.js | 36 + packages/docs/config/site.js | 27 + packages/docs/next-env.d.ts | 5 + packages/docs/next.config.js | 62 + packages/docs/package.json | 60 + packages/docs/pages/_app.tsx | 93 ++ packages/docs/pages/_meta.json | 10 + packages/docs/pages/advanced.md | 82 ++ packages/docs/pages/cookbook/_meta.json | 4 + .../pages/cookbook/connect-multi-chains.mdx | 56 + packages/docs/pages/cookbook/sign.mdx | 41 + packages/docs/pages/get-started.mdx | 105 ++ packages/docs/pages/hooks/_meta.json | 12 + packages/docs/pages/hooks/index.mdx | 26 + .../docs/pages/hooks/use-chain-wallet.mdx | 100 ++ packages/docs/pages/hooks/use-chain.mdx | 103 ++ packages/docs/pages/hooks/use-chains.mdx | 60 + packages/docs/pages/hooks/use-iframe.mdx | 58 + packages/docs/pages/hooks/use-manager.mdx | 39 + packages/docs/pages/hooks/use-modal-theme.mdx | 23 + .../docs/pages/hooks/use-name-service.mdx | 26 + .../docs/pages/hooks/use-wallet-client.mdx | 24 + packages/docs/pages/hooks/use-wallet.mdx | 29 + packages/docs/pages/index.mdx | 103 ++ .../docs/pages/integrating-wallets/_meta.json | 25 + .../adding-all-wallets.mdx | 56 + .../adding-new-wallets.mdx | 133 ++ .../docs/pages/integrating-wallets/cdc.mdx | 43 + .../pages/integrating-wallets/compass.mdx | 43 + .../cosmos-metamask-extension.mdx | 36 + .../integrating-wallets/cosmostation.mdx | 44 + .../docs/pages/integrating-wallets/exodus.mdx | 43 + .../docs/pages/integrating-wallets/fin.mdx | 43 + .../pages/integrating-wallets/frontier.mdx | 43 + .../integrating-wallets/galaxy-station.mdx | 43 + .../docs/pages/integrating-wallets/index.mdx | 13 + .../docs/pages/integrating-wallets/keplr.mdx | 44 + .../leap-capsule-social-login.mdx | 117 ++ .../leap-metamask-comos-snap.mdx | 36 + .../docs/pages/integrating-wallets/leap.mdx | 45 + .../docs/pages/integrating-wallets/ledger.mdx | 52 + .../docs/pages/integrating-wallets/ninji.mdx | 43 + .../docs/pages/integrating-wallets/okto.mdx | 38 + .../docs/pages/integrating-wallets/okx.mdx | 43 + .../docs/pages/integrating-wallets/omni.mdx | 43 + .../docs/pages/integrating-wallets/shell.mdx | 43 + .../pages/integrating-wallets/station.mdx | 43 + .../pages/integrating-wallets/tailwind.mdx | 43 + .../docs/pages/integrating-wallets/trust.mdx | 44 + .../docs/pages/integrating-wallets/vectis.mdx | 43 + .../pages/integrating-wallets/web3auth.mdx | 93 ++ .../docs/pages/integrating-wallets/xdefi.mdx | 43 + packages/docs/pages/migration-to-v2.mdx | 476 +++++++ packages/docs/pages/provider/_meta.json | 3 + .../docs/pages/provider/chain-provider.mdx | 514 +++++++ packages/docs/public/android-icon-192x192.png | Bin 0 -> 19978 bytes packages/docs/public/apple-icon-180x180.png | Bin 0 -> 18710 bytes .../new-interchain-ui.png | Bin 0 -> 634888 bytes .../new-v2-cosmos-kit.png | Bin 0 -> 602063 bytes .../old-cosmology-ui.png | Bin 0 -> 579900 bytes .../old-v1-cosmos-kit.png | Bin 0 -> 565828 bytes .../favicon copy.ico.sb-8992bd4b-4LqWuo | Bin 0 -> 14037 bytes packages/docs/public/favicon-16x16.png | Bin 0 -> 2504 bytes packages/docs/public/favicon-32x32.png | Bin 0 -> 3855 bytes packages/docs/public/favicon-96x96.png | Bin 0 -> 10424 bytes packages/docs/public/favicon.ico | Bin 0 -> 14037 bytes packages/docs/public/ms-icon-144x144.png | Bin 0 -> 16592 bytes packages/docs/seo/prepare.sh | 22 + packages/docs/seo/seo.js | 217 +++ packages/docs/styles/globals.css | 4 + packages/docs/theme.config.tsx | 82 ++ packages/docs/tsconfig.json | 30 + packages/example-lite/.gitignore | 1 + packages/example-lite/CHANGELOG.md | 178 +++ .../example-lite/components/custom-modal.tsx | 71 + packages/example-lite/next-env.d.ts | 5 + packages/example-lite/next.config.js | 23 + packages/example-lite/package.json | 30 + packages/example-lite/pages/_app.tsx | 25 + packages/example-lite/pages/index.tsx | 14 + packages/example-lite/tsconfig.json | 29 + packages/example/.eslintrc.json | 73 + packages/example/.gitignore | 36 + packages/example/CHANGELOG.md | 1179 +++++++++++++++++ packages/example/LICENSE | 21 + packages/example/README.md | 36 + packages/example/components.json | 15 + packages/example/components/badge.tsx | 36 + packages/example/components/button.tsx | 56 + packages/example/components/card.tsx | 83 ++ .../example/components/chain-wallet-card.tsx | 58 + .../example/components/chains-tx-wallet.tsx | 111 ++ .../example/components/custom-connected.tsx | 40 + packages/example/components/dropdown-menu.tsx | 205 +++ packages/example/components/index.ts | 4 + packages/example/components/layout.tsx | 19 + packages/example/components/mode-toggle.tsx | 56 + .../example/components/react/address-card.tsx | 87 ++ .../example/components/react/astronaut.tsx | 156 +++ .../example/components/react/chain-card.tsx | 11 + .../components/react/handleChangeColor.tsx | 9 + packages/example/components/react/index.ts | 7 + .../components/react/send-tokens-card.tsx | 64 + .../example/components/react/user-card.tsx | 23 + .../components/react/wallet-connect.tsx | 160 +++ .../example/components/react/warn-block.tsx | 48 + .../example/components/theme-provider.tsx | 7 + packages/example/components/types.tsx | 78 ++ packages/example/config/seo.js | 35 + packages/example/config/site.js | 28 + packages/example/hooks/index.ts | 11 + packages/example/lib/utils.ts | 6 + packages/example/next.config.js | 64 + packages/example/package.json | 89 ++ packages/example/pages/_app.tsx | 239 ++++ packages/example/pages/add-chain.tsx | 117 ++ packages/example/pages/add-cw20.tsx | 83 ++ packages/example/pages/chain/[name].tsx | 134 ++ packages/example/pages/chain/query.tsx | 33 + packages/example/pages/cosmoshub.tsx | 38 + packages/example/pages/endpoint.tsx | 42 + packages/example/pages/event.tsx | 35 + packages/example/pages/gov.tsx | 50 + packages/example/pages/iframe-alert.tsx | 119 ++ packages/example/pages/iframe.tsx | 113 ++ packages/example/pages/index.tsx | 115 ++ packages/example/pages/ledger.tsx | 169 +++ packages/example/pages/ns.tsx | 21 + packages/example/pages/ns2.tsx | 19 + packages/example/pages/test.tsx | 15 + packages/example/pages/tx.tsx | 231 ++++ packages/example/pages/use-chain-wallet.tsx | 20 + packages/example/pages/use-chain.tsx | 34 + packages/example/pages/use-chains.tsx | 71 + packages/example/pages/use-wallet-client.tsx | 7 + packages/example/pages/use-wallet.tsx | 17 + packages/example/pages/user-agent.tsx | 24 + .../example/pages/wallet-manager/index.tsx | 11 + .../pages/wallet-manager/main-wallets.tsx | 62 + .../pages/wallet-manager/wallet-manager.tsx | 120 ++ .../pages/wallet-manager/wallet-operate.tsx | 124 ++ .../pages/wallet-manager/wallet-repo.tsx | 64 + .../pages/wallet-manager/wallet-repos.tsx | 61 + packages/example/pages/wc.tsx | 76 ++ packages/example/postcss.config.js | 6 + packages/example/public/favicon.ico | Bin 0 -> 14037 bytes packages/example/seo/prepare.sh | 22 + packages/example/seo/seo.js | 218 +++ packages/example/style/global.css | 105 ++ packages/example/tailwind.config.js | 76 ++ packages/example/tsconfig.json | 25 + packages/example/wc/client.ts | 33 + packages/ins/.editorconfig | 12 + packages/ins/.eslintignore | 7 + packages/ins/.eslintrc.json | 82 ++ packages/ins/.gitignore | 48 + packages/ins/.npmignore | 32 + packages/ins/.npmrc | 1 + packages/ins/.prettierrc.json | 7 + packages/ins/CHANGELOG.md | 126 ++ packages/ins/LICENSE | 33 + packages/ins/README.md | 37 + packages/ins/index.ts | 2 + packages/ins/package.json | 70 + .../ins/src/__tests__/name-service.test.ts | 79 ++ packages/ins/src/config.ts | 55 + packages/ins/src/index.ts | 2 + packages/ins/src/name-service.ts | 149 +++ packages/ins/tsconfig.json | 9 + packages/react-lite/.editorconfig | 12 + packages/react-lite/.eslintignore | 7 + packages/react-lite/.eslintrc.json | 82 ++ packages/react-lite/.gitignore | 49 + packages/react-lite/.npmignore | 32 + packages/react-lite/.npmrc | 1 + packages/react-lite/.prettierrc.json | 7 + packages/react-lite/CHANGELOG.md | 956 +++++++++++++ packages/react-lite/LICENSE | 33 + packages/react-lite/README.md | 61 + .../react-lite/__test__/useChain.test.tsx | 72 + .../__test__/useChainWallet.test.tsx | 26 + .../react-lite/__test__/useChains.test.tsx | 87 ++ .../react-lite/__test__/useManager.test.tsx | 29 + .../__test__/useNameService.test.tsx | 61 + .../react-lite/__test__/useWallet.test.tsx | 32 + .../__test__/useWalletClient.test.tsx | 45 + packages/react-lite/index.ts | 2 + packages/react-lite/jest.config.js | 20 + packages/react-lite/jest.setup.js | 108 ++ packages/react-lite/package.json | 95 ++ packages/react-lite/src/hooks/index.ts | 8 + packages/react-lite/src/hooks/useChain.ts | 82 ++ .../react-lite/src/hooks/useChainWallet.ts | 30 + packages/react-lite/src/hooks/useChains.ts | 99 ++ packages/react-lite/src/hooks/useIframe.ts | 193 +++ packages/react-lite/src/hooks/useManager.ts | 44 + .../react-lite/src/hooks/useNameService.ts | 51 + packages/react-lite/src/hooks/useWallet.ts | 50 + .../react-lite/src/hooks/useWalletClient.ts | 36 + packages/react-lite/src/index.ts | 2 + packages/react-lite/src/provider.tsx | 162 +++ packages/react-lite/src/utils.ts | 238 ++++ .../test-utils/chain-provider-wrapper.tsx | 53 + .../test-utils/custom-render-hook.tsx | 60 + packages/react-lite/test-utils/index.ts | 2 + packages/react-lite/tsconfig.json | 10 + packages/react/.editorconfig | 12 + packages/react/.eslintignore | 7 + packages/react/.eslintrc.json | 82 ++ packages/react/.gitignore | 49 + packages/react/.npmignore | 32 + packages/react/.npmrc | 1 + packages/react/.prettierrc.json | 7 + packages/react/LICENSE | 33 + packages/react/index.ts | 2 + packages/react/src/context/index.ts | 1 + .../src/context/useSelectedWalletContext.tsx | 29 + packages/react/src/hooks/index.ts | 2 +- packages/react/src/hooks/useModalTheme.ts | 17 + packages/react/src/index.ts | 2 +- .../react/src/modal/components/Astronaut.tsx | 163 +++ packages/react/src/modal/components/index.ts | 1 + .../src/modal/components/views/Connected.tsx | 54 + .../src/modal/components/views/Connecting.tsx | 46 + .../src/modal/components/views/Error.tsx | 36 + .../src/modal/components/views/NotExist.tsx | 61 + .../src/modal/components/views/QRCode.tsx | 85 ++ .../src/modal/components/views/Rejected.tsx | 41 + .../src/modal/components/views/WalletList.tsx | 107 ++ .../src/modal/components/views/config.ts | 50 + .../react/src/modal/components/views/index.ts | 8 + packages/react/src/modal/constant.ts | 2 + packages/react/src/modal/index.ts | 2 +- packages/react/src/modal/modal.tsx | 26 +- packages/react/src/provider.tsx | 72 +- packages/walletconnect/.editorconfig | 12 + packages/walletconnect/.eslintignore | 7 + packages/walletconnect/.eslintrc.json | 82 ++ packages/walletconnect/.gitignore | 48 + packages/walletconnect/.npmignore | 32 + packages/walletconnect/.npmrc | 1 + packages/walletconnect/.prettierrc.json | 7 + packages/walletconnect/CHANGELOG.md | 859 ++++++++++++ packages/walletconnect/LICENSE | 33 + packages/walletconnect/README.md | 42 + packages/walletconnect/index.ts | 2 + packages/walletconnect/package.json | 87 ++ packages/walletconnect/src/chain-wallet.ts | 27 + packages/walletconnect/src/client.ts | 729 ++++++++++ packages/walletconnect/src/index.ts | 4 + packages/walletconnect/src/main-wallet.ts | 50 + packages/walletconnect/src/types.ts | 36 + packages/walletconnect/src/utils/core.ts | 55 + packages/walletconnect/src/utils/index.ts | 1 + packages/walletconnect/tsconfig.json | 9 + public/images/logos/wallets/cdcwallet.png | Bin 0 -> 31356 bytes public/images/logos/wallets/coin98.png | Bin 0 -> 211439 bytes public/images/logos/wallets/compass.png | Bin 0 -> 24263 bytes public/images/logos/wallets/cosmostation.png | Bin 0 -> 49439 bytes public/images/logos/wallets/exodus.png | Bin 0 -> 23607 bytes public/images/logos/wallets/frontier.png | Bin 0 -> 3460 bytes public/images/logos/wallets/galaxystation.svg | 589 ++++++++ public/images/logos/wallets/keplr.svg | 10 + public/images/logos/wallets/leap.png | Bin 0 -> 3136 bytes public/images/logos/wallets/ledger.png | Bin 0 -> 2546 bytes public/images/logos/wallets/okxwallet.svg | 4 + public/images/logos/wallets/omni.png | Bin 0 -> 4129 bytes public/images/logos/wallets/station.svg | 12 + public/images/logos/wallets/trust.png | Bin 0 -> 4401 bytes public/images/logos/wallets/vectis.png | Bin 0 -> 23614 bytes public/images/logos/wallets/web3auth.svg | 7 + public/images/logos/wallets/xdefi.svg | 16 + public/images/wallet-connect.svg | 1 + wallets/cdcwallet-extension/.editorconfig | 12 + wallets/cdcwallet-extension/.eslintignore | 7 + wallets/cdcwallet-extension/.eslintrc.json | 82 ++ wallets/cdcwallet-extension/.gitignore | 48 + wallets/cdcwallet-extension/.npmignore | 32 + wallets/cdcwallet-extension/.npmrc | 1 + wallets/cdcwallet-extension/.prettierrc.json | 7 + wallets/cdcwallet-extension/CHANGELOG.md | 35 + wallets/cdcwallet-extension/LICENSE | 33 + wallets/cdcwallet-extension/README.md | 40 + wallets/cdcwallet-extension/index.ts | 2 + wallets/cdcwallet-extension/package.json | 74 ++ wallets/cdcwallet-extension/src/cdcwallet.ts | 5 + wallets/cdcwallet-extension/src/constant.ts | 2 + .../src/extension/chain-wallet.ts | 7 + .../src/extension/client.ts | 154 +++ .../src/extension/index.ts | 4 + .../src/extension/main-wallet.ts | 22 + .../src/extension/registry.ts | 35 + .../src/extension/types.ts | 86 ++ .../src/extension/utils.ts | 49 + wallets/cdcwallet-extension/src/index.ts | 2 + wallets/cdcwallet-extension/tsconfig.json | 9 + wallets/cdcwallet/.editorconfig | 12 + wallets/cdcwallet/.eslintignore | 7 + wallets/cdcwallet/.eslintrc.json | 82 ++ wallets/cdcwallet/.gitignore | 48 + wallets/cdcwallet/.npmignore | 32 + wallets/cdcwallet/.npmrc | 1 + wallets/cdcwallet/.prettierrc.json | 7 + wallets/cdcwallet/CHANGELOG.md | 35 + wallets/cdcwallet/LICENSE | 33 + wallets/cdcwallet/README.md | 40 + wallets/cdcwallet/index.ts | 2 + wallets/cdcwallet/package.json | 63 + wallets/cdcwallet/src/index.ts | 3 + wallets/cdcwallet/tsconfig.json | 9 + wallets/coin98-extension/.editorconfig | 12 + wallets/coin98-extension/.eslintignore | 7 + wallets/coin98-extension/.eslintrc.json | 82 ++ wallets/coin98-extension/.gitignore | 48 + wallets/coin98-extension/.npmignore | 32 + wallets/coin98-extension/.npmrc | 1 + wallets/coin98-extension/.prettierrc.json | 7 + wallets/coin98-extension/LICENSE | 33 + wallets/coin98-extension/index.ts | 2 + wallets/coin98-extension/src/coin98.ts | 9 + wallets/coin98-extension/src/config.ts | 208 +++ .../src/extension/chain-wallet.ts | 7 + .../coin98-extension/src/extension/client.ts | 162 +++ .../coin98-extension/src/extension/index.ts | 3 + .../src/extension/main-wallet.ts | 26 + .../src/extension/registry.ts | 25 + .../coin98-extension/src/extension/types.ts | 3 + .../coin98-extension/src/extension/utils.ts | 50 + wallets/coin98-extension/src/index.ts | 2 +- wallets/coin98/.editorconfig | 12 + wallets/coin98/.eslintignore | 7 + wallets/coin98/.eslintrc.json | 82 ++ wallets/coin98/.gitignore | 48 + wallets/coin98/.npmignore | 32 + wallets/coin98/.npmrc | 1 + wallets/coin98/.prettierrc.json | 7 + wallets/coin98/CHANGELOG.md | 452 +++++++ wallets/coin98/LICENSE | 33 + wallets/coin98/README.md | 40 + wallets/coin98/index.ts | 2 + wallets/coin98/package.json | 59 + wallets/coin98/src/index.ts | 3 + wallets/coin98/tsconfig.json | 9 + wallets/compass-extension/.editorconfig | 12 + wallets/compass-extension/.eslintignore | 7 + wallets/compass-extension/.eslintrc.json | 82 ++ wallets/compass-extension/.gitignore | 48 + wallets/compass-extension/.npmignore | 32 + wallets/compass-extension/.npmrc | 1 + wallets/compass-extension/.prettierrc.json | 7 + wallets/compass-extension/CHANGELOG.md | 414 ++++++ wallets/compass-extension/LICENSE | 33 + wallets/compass-extension/README.md | 40 + wallets/compass-extension/index.ts | 2 + wallets/compass-extension/package.json | 71 + wallets/compass-extension/src/compass.ts | 5 + wallets/compass-extension/src/constant.ts | 2 + .../src/extension/chain-wallet.ts | 7 + .../compass-extension/src/extension/client.ts | 154 +++ .../compass-extension/src/extension/index.ts | 4 + .../src/extension/main-wallet.ts | 22 + .../src/extension/registry.ts | 27 + .../compass-extension/src/extension/types.ts | 85 ++ .../compass-extension/src/extension/utils.ts | 47 + wallets/compass-extension/src/index.ts | 2 + wallets/compass-extension/tsconfig.json | 9 + wallets/compass/.editorconfig | 12 + wallets/compass/.eslintignore | 7 + wallets/compass/.eslintrc.json | 82 ++ wallets/compass/.gitignore | 48 + wallets/compass/.npmignore | 32 + wallets/compass/.npmrc | 1 + wallets/compass/.prettierrc.json | 7 + wallets/compass/CHANGELOG.md | 412 ++++++ wallets/compass/LICENSE | 33 + wallets/compass/README.md | 40 + wallets/compass/index.ts | 2 + wallets/compass/package.json | 60 + wallets/compass/src/index.ts | 3 + wallets/compass/tsconfig.json | 9 + .../cosmos-extension-metamask/.editorconfig | 12 + .../cosmos-extension-metamask/.eslintignore | 7 + .../cosmos-extension-metamask/.eslintrc.json | 82 ++ wallets/cosmos-extension-metamask/.gitignore | 48 + wallets/cosmos-extension-metamask/.npmignore | 32 + wallets/cosmos-extension-metamask/.npmrc | 1 + .../.prettierrc.json | 7 + .../cosmos-extension-metamask/CHANGELOG.md | 828 ++++++++++++ wallets/cosmos-extension-metamask/LICENSE | 33 + wallets/cosmos-extension-metamask/README.md | 40 + wallets/cosmos-extension-metamask/index.ts | 2 + .../cosmos-extension-metamask/package.json | 73 + .../cosmos-extension-metamask/src/constant.ts | 2 + .../src/cosmos-metamask-extension.ts | 5 + .../src/extension/chain-wallet.ts | 7 + .../src/extension/client.ts | 153 +++ .../src/extension/index.ts | 4 + .../src/extension/main-wallet.ts | 20 + .../src/extension/registry.ts | 29 + .../src/extension/types.ts | 8 + .../src/extension/utils.ts | 46 + .../cosmos-extension-metamask/src/index.ts | 2 + .../cosmos-extension-metamask/tsconfig.json | 9 + wallets/cosmostation-extension/.editorconfig | 12 + wallets/cosmostation-extension/.eslintignore | 7 + wallets/cosmostation-extension/.eslintrc.json | 82 ++ wallets/cosmostation-extension/.gitignore | 48 + wallets/cosmostation-extension/.npmignore | 32 + wallets/cosmostation-extension/.npmrc | 1 + .../cosmostation-extension/.prettierrc.json | 7 + wallets/cosmostation-extension/CHANGELOG.md | 788 +++++++++++ wallets/cosmostation-extension/LICENSE | 33 + wallets/cosmostation-extension/README.md | 40 + wallets/cosmostation-extension/index.ts | 2 + wallets/cosmostation-extension/package.json | 71 + .../cosmostation-extension/src/constant.ts | 2 + .../src/cosmostation.ts | 10 + .../src/extension/chain-wallet.ts | 8 + .../src/extension/client.ts | 242 ++++ .../src/extension/index.ts | 3 + .../src/extension/main-wallet.ts | 24 + .../src/extension/registry.ts | 30 + .../src/extension/types.ts | 35 + .../src/extension/utils.ts | 48 + wallets/cosmostation-extension/src/index.ts | 2 + wallets/cosmostation-extension/tsconfig.json | 9 + wallets/cosmostation-mobile/.editorconfig | 12 + wallets/cosmostation-mobile/.eslintignore | 7 + wallets/cosmostation-mobile/.eslintrc.json | 82 ++ wallets/cosmostation-mobile/.gitignore | 48 + wallets/cosmostation-mobile/.npmignore | 32 + wallets/cosmostation-mobile/.npmrc | 1 + wallets/cosmostation-mobile/.prettierrc.json | 7 + wallets/cosmostation-mobile/CHANGELOG.md | 782 +++++++++++ wallets/cosmostation-mobile/LICENSE | 33 + wallets/cosmostation-mobile/README.md | 40 + wallets/cosmostation-mobile/index.ts | 2 + wallets/cosmostation-mobile/package.json | 67 + wallets/cosmostation-mobile/src/constant.ts | 2 + .../cosmostation-mobile/src/cosmostation.ts | 8 + wallets/cosmostation-mobile/src/index.ts | 2 + .../src/wallet-connect/chain-wallet.ts | 9 + .../src/wallet-connect/client.ts | 8 + .../src/wallet-connect/index.ts | 3 + .../src/wallet-connect/main-wallet.ts | 15 + .../src/wallet-connect/registry.ts | 38 + wallets/cosmostation-mobile/tsconfig.json | 9 + wallets/cosmostation/.editorconfig | 12 + wallets/cosmostation/.eslintignore | 7 + wallets/cosmostation/.eslintrc.json | 82 ++ wallets/cosmostation/.gitignore | 48 + wallets/cosmostation/.npmignore | 32 + wallets/cosmostation/.npmrc | 1 + wallets/cosmostation/.prettierrc.json | 7 + wallets/cosmostation/CHANGELOG.md | 796 +++++++++++ wallets/cosmostation/LICENSE | 33 + wallets/cosmostation/README.md | 40 + wallets/cosmostation/index.ts | 2 + wallets/cosmostation/package.json | 65 + wallets/cosmostation/src/index.ts | 6 + wallets/cosmostation/tsconfig.json | 9 + wallets/exodus-extension/.editorconfig | 12 + wallets/exodus-extension/.eslintignore | 7 + wallets/exodus-extension/.eslintrc.json | 82 ++ wallets/exodus-extension/.gitignore | 48 + wallets/exodus-extension/.npmignore | 32 + wallets/exodus-extension/.npmrc | 1 + wallets/exodus-extension/.prettierrc.json | 7 + wallets/exodus-extension/CHANGELOG.md | 386 ++++++ wallets/exodus-extension/LICENSE | 33 + wallets/exodus-extension/README.md | 40 + wallets/exodus-extension/index.ts | 2 + wallets/exodus-extension/package.json | 65 + wallets/exodus-extension/src/config.ts | 7 + wallets/exodus-extension/src/constant.ts | 2 + wallets/exodus-extension/src/constants.ts | 2 + wallets/exodus-extension/src/exodus.ts | 9 + .../src/extension/chain-wallet.ts | 7 + .../exodus-extension/src/extension/client.ts | 62 + .../exodus-extension/src/extension/index.ts | 3 + .../src/extension/main-wallet.ts | 30 + .../src/extension/registry.ts | 30 + .../exodus-extension/src/extension/utils.ts | 43 + wallets/exodus-extension/src/index.ts | 3 + wallets/exodus-extension/src/types.ts | 40 + wallets/exodus-extension/tsconfig.json | 9 + wallets/exodus/.editorconfig | 12 + wallets/exodus/.eslintignore | 7 + wallets/exodus/.eslintrc.json | 82 ++ wallets/exodus/.gitignore | 48 + wallets/exodus/.prettierrc.json | 7 + wallets/exodus/CHANGELOG.md | 374 ++++++ wallets/exodus/README.md | 40 + wallets/exodus/index.ts | 2 + wallets/exodus/package.json | 54 + wallets/exodus/src/index.ts | 3 + wallets/exodus/tsconfig.json | 9 + wallets/fin-extension/.editorconfig | 12 + wallets/fin-extension/.eslintignore | 7 + wallets/fin-extension/.eslintrc.json | 82 ++ wallets/fin-extension/.gitignore | 48 + wallets/fin-extension/.npmignore | 32 + wallets/fin-extension/.npmrc | 1 + wallets/fin-extension/.prettierrc.json | 7 + wallets/fin-extension/CHANGELOG.md | 357 +++++ wallets/fin-extension/LICENSE | 33 + wallets/fin-extension/README.md | 26 + wallets/fin-extension/index.ts | 2 + wallets/fin-extension/package.json | 72 + wallets/fin-extension/src/config.ts | 8 + .../src/extension/chain-wallet.ts | 7 + wallets/fin-extension/src/extension/client.ts | 148 +++ wallets/fin-extension/src/extension/index.ts | 3 + .../src/extension/main-wallet.ts | 26 + .../fin-extension/src/extension/registry.ts | 27 + wallets/fin-extension/src/extension/types.ts | 63 + wallets/fin-extension/src/extension/utils.ts | 45 + wallets/fin-extension/src/fin.ts | 9 + wallets/fin-extension/src/index.ts | 3 + wallets/fin-extension/tsconfig.json | 9 + wallets/fin/.editorconfig | 12 + wallets/fin/.eslintignore | 7 + wallets/fin/.eslintrc.json | 82 ++ wallets/fin/.gitignore | 48 + wallets/fin/.npmignore | 32 + wallets/fin/.npmrc | 1 + wallets/fin/.prettierrc.json | 7 + wallets/fin/CHANGELOG.md | 354 +++++ wallets/fin/LICENSE | 33 + wallets/fin/README.md | 26 + wallets/fin/index.ts | 2 + wallets/fin/package.json | 59 + wallets/fin/src/index.ts | 3 + wallets/fin/tsconfig.json | 9 + wallets/frontier-extension/.editorconfig | 12 + wallets/frontier-extension/.eslintignore | 7 + wallets/frontier-extension/.eslintrc.json | 82 ++ wallets/frontier-extension/.gitignore | 48 + wallets/frontier-extension/.npmignore | 32 + wallets/frontier-extension/.npmrc | 1 + wallets/frontier-extension/.prettierrc.json | 7 + wallets/frontier-extension/CHANGELOG.md | 543 ++++++++ wallets/frontier-extension/LICENSE | 33 + wallets/frontier-extension/README.md | 40 + wallets/frontier-extension/index.ts | 2 + wallets/frontier-extension/package.json | 69 + wallets/frontier-extension/src/constant.ts | 2 + .../src/extension/chain-wallet.ts | 7 + .../src/extension/client.ts | 119 ++ .../frontier-extension/src/extension/index.ts | 4 + .../src/extension/main-wallet.ts | 22 + .../src/extension/registry.ts | 26 + .../frontier-extension/src/extension/types.ts | 56 + .../frontier-extension/src/extension/utils.ts | 49 + wallets/frontier-extension/src/frontier.ts | 5 + wallets/frontier-extension/src/index.ts | 2 + wallets/frontier-extension/tsconfig.json | 9 + wallets/frontier/.editorconfig | 12 + wallets/frontier/.eslintignore | 7 + wallets/frontier/.eslintrc.json | 82 ++ wallets/frontier/.gitignore | 48 + wallets/frontier/.npmignore | 32 + wallets/frontier/.npmrc | 1 + wallets/frontier/.prettierrc.json | 7 + wallets/frontier/CHANGELOG.md | 780 +++++++++++ wallets/frontier/LICENSE | 33 + wallets/frontier/README.md | 40 + wallets/frontier/index.ts | 2 + wallets/frontier/package.json | 59 + wallets/frontier/src/index.ts | 3 + wallets/frontier/tsconfig.json | 9 + .../galaxy-station-extension/.editorconfig | 12 + .../galaxy-station-extension/.eslintignore | 7 + .../galaxy-station-extension/.eslintrc.json | 82 ++ wallets/galaxy-station-extension/.gitignore | 48 + wallets/galaxy-station-extension/.npmignore | 32 + wallets/galaxy-station-extension/.npmrc | 1 + .../galaxy-station-extension/.prettierrc.json | 7 + wallets/galaxy-station-extension/CHANGELOG.md | 474 +++++++ wallets/galaxy-station-extension/LICENSE | 33 + wallets/galaxy-station-extension/README.md | 40 + wallets/galaxy-station-extension/index.ts | 2 + wallets/galaxy-station-extension/package.json | 68 + .../galaxy-station-extension/src/constant.ts | 2 + .../src/extension/chain-wallet.ts | 7 + .../src/extension/client.ts | 83 ++ .../src/extension/index.ts | 4 + .../src/extension/main-wallet.ts | 24 + .../src/extension/registry.ts | 25 + .../src/extension/types.ts | 19 + .../src/extension/utils.ts | 47 + .../src/galaxy-station.ts | 10 + wallets/galaxy-station-extension/src/index.ts | 2 + .../galaxy-station-extension/tsconfig.json | 9 + wallets/galaxy-station/.editorconfig | 12 + wallets/galaxy-station/.eslintignore | 7 + wallets/galaxy-station/.eslintrc.json | 82 ++ wallets/galaxy-station/.gitignore | 48 + wallets/galaxy-station/.prettierrc.json | 7 + wallets/galaxy-station/CHANGELOG.md | 686 ++++++++++ wallets/galaxy-station/README.md | 40 + wallets/galaxy-station/index.ts | 2 + wallets/galaxy-station/package.json | 54 + wallets/galaxy-station/src/index.ts | 3 + wallets/galaxy-station/tsconfig.json | 9 + wallets/initia-extension/.editorconfig | 12 + wallets/initia-extension/.eslintignore | 7 + wallets/initia-extension/.eslintrc.json | 82 ++ wallets/initia-extension/.gitignore | 48 + wallets/initia-extension/.npmignore | 32 + wallets/initia-extension/.npmrc | 1 + wallets/initia-extension/.prettierrc.json | 7 + wallets/initia-extension/CHANGELOG.md | 126 ++ wallets/initia-extension/LICENSE | 33 + wallets/initia-extension/README.md | 36 + wallets/initia-extension/index.ts | 2 + wallets/initia-extension/package.json | 77 ++ wallets/initia-extension/src/constant.ts | 2 + .../src/extension/chain-wallet.ts | 7 + .../initia-extension/src/extension/client.ts | 60 + .../initia-extension/src/extension/index.ts | 3 + .../src/extension/main-wallet.ts | 22 + .../src/extension/registry.ts | 25 + .../initia-extension/src/extension/type.ts | 19 + .../initia-extension/src/extension/utils.ts | 48 + wallets/initia-extension/src/index.ts | 3 + wallets/initia-extension/src/initia.ts | 5 + wallets/initia-extension/tsconfig.json | 9 + wallets/initia/.editorconfig | 12 + wallets/initia/.eslintignore | 7 + wallets/initia/.eslintrc.json | 82 ++ wallets/initia/.gitignore | 48 + wallets/initia/.npmignore | 32 + wallets/initia/.npmrc | 1 + wallets/initia/.prettierrc.json | 7 + wallets/initia/CHANGELOG.md | 125 ++ wallets/initia/LICENSE | 33 + wallets/initia/README.md | 36 + wallets/initia/index.ts | 2 + wallets/initia/package.json | 65 + wallets/initia/src/index.ts | 3 + wallets/initia/tsconfig.json | 9 + wallets/keplr-extension/.editorconfig | 12 + wallets/keplr-extension/.eslintignore | 7 + wallets/keplr-extension/.eslintrc.json | 82 ++ wallets/keplr-extension/.gitignore | 48 + wallets/keplr-extension/.npmignore | 32 + wallets/keplr-extension/.npmrc | 1 + wallets/keplr-extension/.prettierrc.json | 7 + wallets/keplr-extension/LICENSE | 33 + wallets/keplr-extension/index.ts | 2 + wallets/keplr-extension/src/config.ts | 208 +++ .../src/extension/chain-wallet.ts | 7 + .../keplr-extension/src/extension/client.ts | 214 +++ .../keplr-extension/src/extension/index.ts | 3 + .../src/extension/main-wallet.ts | 26 + .../keplr-extension/src/extension/registry.ts | 78 ++ .../keplr-extension/src/extension/session.ts | 99 ++ wallets/keplr-extension/src/index.ts | 2 +- wallets/keplr-extension/src/keplr.ts | 9 + wallets/keplr-mobile/.editorconfig | 12 + wallets/keplr-mobile/.eslintignore | 7 + wallets/keplr-mobile/.eslintrc.json | 82 ++ wallets/keplr-mobile/.gitignore | 48 + wallets/keplr-mobile/.npmignore | 32 + wallets/keplr-mobile/.npmrc | 1 + wallets/keplr-mobile/.prettierrc.json | 7 + wallets/keplr-mobile/LICENSE | 33 + wallets/keplr-mobile/index.ts | 2 + wallets/keplr-mobile/src/config.ts | 208 +++ wallets/keplr-mobile/src/index.ts | 2 +- wallets/keplr-mobile/src/keplr.ts | 6 + .../src/wallet-connect/chain-wallet.ts | 12 + .../keplr-mobile/src/wallet-connect/client.ts | 289 ++++ .../keplr-mobile/src/wallet-connect/index.ts | 3 + .../src/wallet-connect/main-wallet.ts | 46 + .../src/wallet-connect/registry.ts | 110 ++ wallets/keplr/.editorconfig | 12 + wallets/keplr/.eslintignore | 7 + wallets/keplr/.eslintrc.json | 82 ++ wallets/keplr/.gitignore | 48 + wallets/keplr/.npmignore | 32 + wallets/keplr/.npmrc | 1 + wallets/keplr/.prettierrc.json | 7 + wallets/keplr/CHANGELOG.md | 957 +++++++++++++ wallets/keplr/LICENSE | 33 + wallets/keplr/README.md | 40 + wallets/keplr/index.ts | 2 + wallets/keplr/package.json | 72 + wallets/keplr/src/index.ts | 6 + wallets/keplr/tsconfig.json | 9 + .../leap-capsule-social-login/.editorconfig | 12 + .../leap-capsule-social-login/.eslintignore | 7 + .../leap-capsule-social-login/.eslintrc.json | 82 ++ wallets/leap-capsule-social-login/.gitignore | 48 + wallets/leap-capsule-social-login/.npmignore | 32 + wallets/leap-capsule-social-login/.npmrc | 1 + .../.prettierrc.json | 7 + .../leap-capsule-social-login/CHANGELOG.md | 764 +++++++++++ wallets/leap-capsule-social-login/LICENSE | 33 + wallets/leap-capsule-social-login/README.md | 153 +++ wallets/leap-capsule-social-login/index.ts | 2 + .../leap-capsule-social-login/package.json | 71 + .../src/chain-wallet.ts | 7 + .../leap-capsule-social-login/src/client.ts | 74 ++ .../leap-capsule-social-login/src/constant.ts | 2 + .../leap-capsule-social-login/src/index.ts | 5 + .../src/leap-social.ts | 7 + .../src/main-wallet.ts | 35 + .../leap-capsule-social-login/src/registry.ts | 15 + .../leap-capsule-social-login/src/types.ts | 45 + .../leap-capsule-social-login/tsconfig.json | 9 + wallets/leap-extension/.editorconfig | 12 + wallets/leap-extension/.eslintignore | 7 + wallets/leap-extension/.eslintrc.json | 82 ++ wallets/leap-extension/.gitignore | 48 + wallets/leap-extension/.npmignore | 32 + wallets/leap-extension/.npmrc | 1 + wallets/leap-extension/.prettierrc.json | 7 + wallets/leap-extension/LICENSE | 33 + wallets/leap-extension/index.ts | 2 + .../src/extension/chain-wallet.ts | 7 + .../leap-extension/src/extension/client.ts | 154 +++ wallets/leap-extension/src/extension/index.ts | 4 + .../src/extension/main-wallet.ts | 22 + .../leap-extension/src/extension/registry.ts | 26 + wallets/leap-extension/src/extension/types.ts | 86 ++ wallets/leap-extension/src/extension/utils.ts | 47 + wallets/leap-extension/src/index.ts | 2 +- wallets/leap-extension/src/leap.ts | 5 + .../leap-metamask-cosmos-snap/.editorconfig | 12 + .../leap-metamask-cosmos-snap/.eslintignore | 7 + .../leap-metamask-cosmos-snap/.eslintrc.json | 82 ++ wallets/leap-metamask-cosmos-snap/.gitignore | 48 + wallets/leap-metamask-cosmos-snap/.npmignore | 32 + wallets/leap-metamask-cosmos-snap/.npmrc | 1 + .../.prettierrc.json | 7 + .../leap-metamask-cosmos-snap/CHANGELOG.md | 822 ++++++++++++ wallets/leap-metamask-cosmos-snap/LICENSE | 33 + wallets/leap-metamask-cosmos-snap/README.md | 40 + wallets/leap-metamask-cosmos-snap/index.ts | 2 + .../leap-metamask-cosmos-snap/package.json | 73 + .../leap-metamask-cosmos-snap/src/constant.ts | 5 + .../src/extension/chain-wallet.ts | 7 + .../src/extension/client.ts | 160 +++ .../src/extension/index.ts | 3 + .../src/extension/main-wallet.ts | 22 + .../src/extension/registry.ts | 29 + .../src/extension/utils.ts | 45 + .../leap-metamask-cosmos-snap/src/index.ts | 2 + .../src/leap-metamask-cosmos-snap.ts | 5 + .../leap-metamask-cosmos-snap/tsconfig.json | 13 + wallets/leap-mobile/.editorconfig | 12 + wallets/leap-mobile/.eslintignore | 7 + wallets/leap-mobile/.eslintrc.json | 82 ++ wallets/leap-mobile/.gitignore | 48 + wallets/leap-mobile/.npmignore | 32 + wallets/leap-mobile/.npmrc | 1 + wallets/leap-mobile/.prettierrc.json | 7 + wallets/leap-mobile/LICENSE | 33 + wallets/leap-mobile/index.ts | 2 + wallets/leap-mobile/src/index.ts | 2 +- wallets/leap-mobile/src/leap.ts | 5 + .../src/wallet-connect/chain-wallet.ts | 9 + .../leap-mobile/src/wallet-connect/client.ts | 8 + .../leap-mobile/src/wallet-connect/index.ts | 3 + .../src/wallet-connect/main-wallet.ts | 12 + .../src/wallet-connect/registry.ts | 61 + .../leap-mobile/src/wallet-connect/types.ts | 8 + wallets/leap/.editorconfig | 12 + wallets/leap/.eslintignore | 7 + wallets/leap/.eslintrc.json | 82 ++ wallets/leap/.gitignore | 48 + wallets/leap/.npmignore | 32 + wallets/leap/.npmrc | 1 + wallets/leap/.prettierrc.json | 7 + wallets/leap/CHANGELOG.md | 842 ++++++++++++ wallets/leap/LICENSE | 33 + wallets/leap/README.md | 40 + wallets/leap/index.ts | 2 + wallets/leap/package.json | 61 + wallets/leap/src/index.ts | 5 + wallets/leap/tsconfig.json | 9 + wallets/ledger/.editorconfig | 12 + wallets/ledger/.eslintignore | 7 + wallets/ledger/.eslintrc.json | 82 ++ wallets/ledger/.gitignore | 48 + wallets/ledger/.npmignore | 32 + wallets/ledger/.npmrc | 1 + wallets/ledger/.prettierrc.json | 7 + wallets/ledger/LICENSE | 33 + wallets/ledger/index.ts | 2 + wallets/ledger/src/ledger.ts | 6 + .../ledger/src/web-usb-hid/chain-wallet.ts | 7 + wallets/ledger/src/web-usb-hid/client.ts | 54 + wallets/ledger/src/web-usb-hid/index.ts | 4 + wallets/ledger/src/web-usb-hid/main-wallet.ts | 27 + wallets/ledger/src/web-usb-hid/registry.ts | 13 + wallets/ledger/src/web-usb-hid/utils.ts | 25 + wallets/ninji-extension/.editorconfig | 12 + wallets/ninji-extension/.eslintignore | 7 + wallets/ninji-extension/.eslintrc.json | 82 ++ wallets/ninji-extension/.gitignore | 48 + wallets/ninji-extension/.npmignore | 32 + wallets/ninji-extension/.npmrc | 1 + wallets/ninji-extension/.prettierrc.json | 7 + wallets/ninji-extension/CHANGELOG.md | 144 ++ wallets/ninji-extension/LICENSE | 33 + wallets/ninji-extension/README.md | 38 + wallets/ninji-extension/index.ts | 2 + wallets/ninji-extension/package.json | 70 + wallets/ninji-extension/src/constant.ts | 2 + .../src/extension/chain-wallet.ts | 7 + .../ninji-extension/src/extension/client.ts | 142 ++ .../ninji-extension/src/extension/index.ts | 4 + .../src/extension/main-wallet.ts | 22 + .../ninji-extension/src/extension/registry.ts | 26 + .../ninji-extension/src/extension/types.ts | 61 + .../ninji-extension/src/extension/utils.ts | 47 + wallets/ninji-extension/src/index.ts | 2 + wallets/ninji-extension/src/ninji.ts | 5 + wallets/ninji-extension/tsconfig.json | 9 + wallets/ninji/.editorconfig | 12 + wallets/ninji/.eslintignore | 7 + wallets/ninji/.eslintrc.json | 82 ++ wallets/ninji/.gitignore | 48 + wallets/ninji/.npmignore | 32 + wallets/ninji/.npmrc | 1 + wallets/ninji/.prettierrc.json | 7 + wallets/ninji/CHANGELOG.md | 144 ++ wallets/ninji/LICENSE | 33 + wallets/ninji/README.md | 38 + wallets/ninji/index.ts | 2 + wallets/ninji/package.json | 60 + wallets/ninji/src/index.ts | 3 + wallets/ninji/tsconfig.json | 9 + wallets/okto-extension/.editorconfig | 12 + wallets/okto-extension/.eslintignore | 7 + wallets/okto-extension/.eslintrc.json | 82 ++ wallets/okto-extension/.gitignore | 48 + wallets/okto-extension/.npmignore | 32 + wallets/okto-extension/.npmrc | 1 + wallets/okto-extension/.prettierrc.json | 7 + wallets/okto-extension/CHANGELOG.md | 754 +++++++++++ wallets/okto-extension/LICENSE | 32 + wallets/okto-extension/README.md | 40 + wallets/okto-extension/index.ts | 2 + wallets/okto-extension/package.json | 69 + wallets/okto-extension/src/constant.ts | 2 + .../src/extension/chain-wallet.ts | 7 + .../okto-extension/src/extension/client.ts | 152 +++ wallets/okto-extension/src/extension/index.ts | 4 + .../src/extension/main-wallet.ts | 23 + .../okto-extension/src/extension/registry.ts | 19 + wallets/okto-extension/src/extension/types.ts | 105 ++ wallets/okto-extension/src/extension/utils.ts | 47 + wallets/okto-extension/src/index.ts | 2 + wallets/okto-extension/src/okto.ts | 5 + wallets/okto-extension/tsconfig.json | 10 + wallets/okxwallet-extension/.editorconfig | 12 + wallets/okxwallet-extension/.eslintignore | 7 + wallets/okxwallet-extension/.eslintrc.json | 82 ++ wallets/okxwallet-extension/.gitignore | 48 + wallets/okxwallet-extension/.npmignore | 32 + wallets/okxwallet-extension/.npmrc | 1 + wallets/okxwallet-extension/.prettierrc.json | 7 + wallets/okxwallet-extension/CHANGELOG.md | 297 +++++ wallets/okxwallet-extension/LICENSE | 33 + wallets/okxwallet-extension/README.md | 41 + wallets/okxwallet-extension/index.ts | 2 + wallets/okxwallet-extension/package.json | 69 + wallets/okxwallet-extension/src/config.ts | 208 +++ wallets/okxwallet-extension/src/constant.ts | 2 + .../src/extension/chain-wallet.ts | 7 + .../src/extension/client.ts | 94 ++ .../src/extension/index.ts | 3 + .../src/extension/main-wallet.ts | 24 + .../src/extension/registry.ts | 30 + .../src/extension/types.ts | 47 + .../src/extension/utils.ts | 51 + wallets/okxwallet-extension/src/index.ts | 3 + wallets/okxwallet-extension/src/okxwallet.ts | 5 + wallets/okxwallet-extension/tsconfig.json | 9 + wallets/okxwallet/.editorconfig | 12 + wallets/okxwallet/.eslintignore | 7 + wallets/okxwallet/.eslintrc.json | 82 ++ wallets/okxwallet/.gitignore | 48 + wallets/okxwallet/.npmignore | 32 + wallets/okxwallet/.npmrc | 1 + wallets/okxwallet/.prettierrc.json | 7 + wallets/okxwallet/CHANGELOG.md | 294 ++++ wallets/okxwallet/LICENSE | 33 + wallets/okxwallet/README.md | 41 + wallets/okxwallet/index.ts | 2 + wallets/okxwallet/package.json | 59 + wallets/okxwallet/src/index.ts | 3 + wallets/okxwallet/tsconfig.json | 9 + wallets/omni-mobile/.editorconfig | 12 + wallets/omni-mobile/.eslintignore | 7 + wallets/omni-mobile/.eslintrc.json | 82 ++ wallets/omni-mobile/.gitignore | 48 + wallets/omni-mobile/.npmignore | 32 + wallets/omni-mobile/.npmrc | 1 + wallets/omni-mobile/.prettierrc.json | 7 + wallets/omni-mobile/CHANGELOG.md | 917 +++++++++++++ wallets/omni-mobile/LICENSE | 33 + wallets/omni-mobile/README.md | 40 + wallets/omni-mobile/index.ts | 2 + wallets/omni-mobile/package.json | 82 ++ wallets/omni-mobile/src/config.ts | 208 +++ wallets/omni-mobile/src/constant.ts | 2 + wallets/omni-mobile/src/index.ts | 2 + wallets/omni-mobile/src/omni.ts | 6 + .../src/wallet-connect/chain-wallet.ts | 9 + .../omni-mobile/src/wallet-connect/client.ts | 46 + .../omni-mobile/src/wallet-connect/index.ts | 3 + .../src/wallet-connect/main-wallet.ts | 15 + .../src/wallet-connect/registry.ts | 36 + wallets/omni-mobile/tsconfig.json | 9 + wallets/omni/.editorconfig | 12 + wallets/omni/.eslintignore | 7 + wallets/omni/.eslintrc.json | 82 ++ wallets/omni/.gitignore | 48 + wallets/omni/.npmignore | 32 + wallets/omni/.npmrc | 1 + wallets/omni/.prettierrc.json | 7 + wallets/omni/CHANGELOG.md | 915 +++++++++++++ wallets/omni/LICENSE | 33 + wallets/omni/README.md | 40 + wallets/omni/index.ts | 2 + wallets/omni/package.json | 71 + wallets/omni/src/index.ts | 3 + wallets/omni/tsconfig.json | 9 + wallets/owallet-extension/.editorconfig | 12 + wallets/owallet-extension/.eslintignore | 7 + wallets/owallet-extension/.eslintrc.json | 82 ++ wallets/owallet-extension/.gitignore | 48 + wallets/owallet-extension/.npmignore | 32 + wallets/owallet-extension/.npmrc | 1 + wallets/owallet-extension/.prettierrc.json | 7 + wallets/owallet-extension/CHANGELOG.md | 72 + wallets/owallet-extension/LICENSE | 33 + wallets/owallet-extension/README.md | 39 + wallets/owallet-extension/index.ts | 2 + wallets/owallet-extension/package.json | 83 ++ wallets/owallet-extension/src/config.ts | 212 +++ wallets/owallet-extension/src/constant.ts | 2 + .../src/extension/chain-wallet.ts | 7 + .../owallet-extension/src/extension/client.ts | 191 +++ .../owallet-extension/src/extension/index.ts | 3 + .../src/extension/main-wallet.ts | 26 + .../src/extension/registry.ts | 37 + .../owallet-extension/src/extension/utils.ts | 44 + wallets/owallet-extension/src/index.ts | 4 + wallets/owallet-extension/src/owallet.ts | 9 + wallets/owallet-extension/tsconfig.json | 9 + wallets/owallet/.editorconfig | 12 + wallets/owallet/.eslintignore | 7 + wallets/owallet/.eslintrc.json | 82 ++ wallets/owallet/.gitignore | 48 + wallets/owallet/.npmignore | 32 + wallets/owallet/.npmrc | 1 + wallets/owallet/.prettierrc.json | 7 + wallets/owallet/CHANGELOG.md | 72 + wallets/owallet/LICENSE | 33 + wallets/owallet/README.md | 40 + wallets/owallet/index.ts | 2 + wallets/owallet/package.json | 71 + wallets/owallet/src/index.ts | 3 + wallets/owallet/tsconfig.json | 9 + wallets/shell-extension/.editorconfig | 12 + wallets/shell-extension/.eslintignore | 7 + wallets/shell-extension/.eslintrc.json | 82 ++ wallets/shell-extension/.gitignore | 48 + wallets/shell-extension/.npmignore | 32 + wallets/shell-extension/.npmrc | 1 + wallets/shell-extension/.prettierrc.json | 7 + wallets/shell-extension/CHANGELOG.md | 895 +++++++++++++ wallets/shell-extension/LICENSE | 33 + wallets/shell-extension/README.md | 38 + wallets/shell-extension/index.ts | 2 + wallets/shell-extension/package.json | 82 ++ wallets/shell-extension/src/config.ts | 212 +++ wallets/shell-extension/src/constant.ts | 2 + .../src/extension/chain-wallet.ts | 7 + .../shell-extension/src/extension/client.ts | 151 +++ .../shell-extension/src/extension/index.ts | 3 + .../src/extension/main-wallet.ts | 26 + .../shell-extension/src/extension/registry.ts | 22 + .../shell-extension/src/extension/types.ts | 152 +++ .../shell-extension/src/extension/utils.ts | 60 + wallets/shell-extension/src/index.ts | 3 + wallets/shell-extension/src/shell.ts | 9 + wallets/shell-extension/tsconfig.json | 9 + wallets/shell/.editorconfig | 12 + wallets/shell/.eslintignore | 7 + wallets/shell/.eslintrc.json | 82 ++ wallets/shell/.gitignore | 48 + wallets/shell/.npmignore | 32 + wallets/shell/.npmrc | 1 + wallets/shell/.prettierrc.json | 7 + wallets/shell/CHANGELOG.md | 899 +++++++++++++ wallets/shell/LICENSE | 33 + wallets/shell/README.md | 26 + wallets/shell/index.ts | 2 + wallets/shell/package.json | 71 + wallets/shell/src/index.ts | 3 + wallets/shell/tsconfig.json | 9 + wallets/station-extension/.editorconfig | 12 + wallets/station-extension/.eslintignore | 7 + wallets/station-extension/.eslintrc.json | 82 ++ wallets/station-extension/.gitignore | 48 + wallets/station-extension/.npmignore | 32 + wallets/station-extension/.npmrc | 1 + wallets/station-extension/.prettierrc.json | 7 + wallets/station-extension/CHANGELOG.md | 478 +++++++ wallets/station-extension/LICENSE | 33 + wallets/station-extension/README.md | 40 + wallets/station-extension/index.ts | 2 + wallets/station-extension/package.json | 77 ++ wallets/station-extension/src/constant.ts | 2 + .../src/extension/chain-wallet.ts | 7 + .../station-extension/src/extension/client.ts | 83 ++ .../station-extension/src/extension/index.ts | 4 + .../src/extension/main-wallet.ts | 22 + .../src/extension/registry.ts | 38 + .../station-extension/src/extension/types.ts | 19 + .../station-extension/src/extension/utils.ts | 47 + wallets/station-extension/src/index.ts | 2 + wallets/station-extension/src/station.ts | 5 + wallets/station-extension/tsconfig.json | 9 + wallets/station/.editorconfig | 12 + wallets/station/.eslintignore | 7 + wallets/station/.eslintrc.json | 82 ++ wallets/station/.gitignore | 48 + wallets/station/.prettierrc.json | 7 + wallets/station/CHANGELOG.md | 690 ++++++++++ wallets/station/README.md | 40 + wallets/station/index.ts | 2 + wallets/station/package.json | 59 + wallets/station/src/index.ts | 3 + wallets/station/tsconfig.json | 9 + wallets/tailwind-extension/.editorconfig | 12 + wallets/tailwind-extension/.eslintignore | 7 + wallets/tailwind-extension/.eslintrc.json | 82 ++ wallets/tailwind-extension/.gitignore | 48 + wallets/tailwind-extension/.npmignore | 32 + wallets/tailwind-extension/.npmrc | 1 + wallets/tailwind-extension/.prettierrc.json | 7 + wallets/tailwind-extension/CHANGELOG.md | 80 ++ wallets/tailwind-extension/LICENSE | 33 + wallets/tailwind-extension/README.md | 40 + wallets/tailwind-extension/index.ts | 1 + wallets/tailwind-extension/package.json | 63 + wallets/tailwind-extension/src/constants.ts | 23 + .../tailwind-extension/src/extension/index.ts | 2 + .../tailwind-extension/src/extension/utils.ts | 43 + .../src/extension/wallet.ts | 69 + wallets/tailwind-extension/src/index.ts | 3 + wallets/tailwind-extension/src/tailwind.ts | 8 + wallets/tailwind-extension/tsconfig.json | 9 + wallets/tailwind/.editorconfig | 12 + wallets/tailwind/.eslintignore | 7 + wallets/tailwind/.eslintrc.json | 82 ++ wallets/tailwind/.gitignore | 48 + wallets/tailwind/.npmignore | 32 + wallets/tailwind/.npmrc | 1 + wallets/tailwind/.prettierrc.json | 7 + wallets/tailwind/CHANGELOG.md | 84 ++ wallets/tailwind/LICENSE | 33 + wallets/tailwind/README.md | 40 + wallets/tailwind/index.ts | 1 + wallets/tailwind/package.json | 64 + wallets/tailwind/src/index.ts | 3 + wallets/tailwind/tsconfig.json | 9 + wallets/trust-extension/.editorconfig | 12 + wallets/trust-extension/.eslintignore | 7 + wallets/trust-extension/.eslintrc.json | 82 ++ wallets/trust-extension/.gitignore | 48 + wallets/trust-extension/.prettierrc.json | 7 + wallets/trust-extension/CHANGELOG.md | 662 +++++++++ wallets/trust-extension/LICENSE | 33 + wallets/trust-extension/README.md | 40 + wallets/trust-extension/index.ts | 2 + wallets/trust-extension/package.json | 67 + wallets/trust-extension/src/constant.ts | 2 + .../src/extension/chain-wallet.ts | 7 + .../trust-extension/src/extension/client.ts | 48 + .../trust-extension/src/extension/index.ts | 4 + .../src/extension/main-wallet.ts | 22 + .../trust-extension/src/extension/registry.ts | 27 + .../trust-extension/src/extension/types.ts | 39 + .../trust-extension/src/extension/utils.ts | 51 + wallets/trust-extension/src/index.ts | 2 + wallets/trust-extension/src/trust.ts | 5 + wallets/trust-extension/tsconfig.json | 9 + wallets/trust-mobile/.editorconfig | 12 + wallets/trust-mobile/.eslintignore | 7 + wallets/trust-mobile/.eslintrc.json | 82 ++ wallets/trust-mobile/.gitignore | 48 + wallets/trust-mobile/.npmignore | 32 + wallets/trust-mobile/.npmrc | 1 + wallets/trust-mobile/.prettierrc.json | 7 + wallets/trust-mobile/CHANGELOG.md | 919 +++++++++++++ wallets/trust-mobile/LICENSE | 33 + wallets/trust-mobile/README.md | 40 + wallets/trust-mobile/index.ts | 2 + wallets/trust-mobile/package.json | 82 ++ wallets/trust-mobile/src/constant.ts | 2 + wallets/trust-mobile/src/index.ts | 2 + wallets/trust-mobile/src/trust.ts | 5 + .../src/wallet-connect/chain-wallet.ts | 9 + .../trust-mobile/src/wallet-connect/client.ts | 40 + .../trust-mobile/src/wallet-connect/index.ts | 3 + .../src/wallet-connect/main-wallet.ts | 15 + .../src/wallet-connect/registry.ts | 36 + wallets/trust-mobile/tsconfig.json | 9 + wallets/trust/.editorconfig | 12 + wallets/trust/.eslintignore | 7 + wallets/trust/.eslintrc.json | 82 ++ wallets/trust/.gitignore | 48 + wallets/trust/.prettierrc.json | 7 + wallets/trust/CHANGELOG.md | 682 ++++++++++ wallets/trust/LICENSE | 33 + wallets/trust/README.md | 40 + wallets/trust/index.ts | 2 + wallets/trust/package.json | 58 + wallets/trust/src/index.ts | 4 + wallets/trust/tsconfig.json | 9 + wallets/vectis-extension/.editorconfig | 12 + wallets/vectis-extension/.eslintignore | 7 + wallets/vectis-extension/.eslintrc.json | 82 ++ wallets/vectis-extension/.gitignore | 48 + wallets/vectis-extension/.prettierrc.json | 7 + wallets/vectis-extension/CHANGELOG.md | 670 ++++++++++ wallets/vectis-extension/README.md | 40 + wallets/vectis-extension/index.ts | 2 + wallets/vectis-extension/package.json | 70 + wallets/vectis-extension/src/constant.ts | 2 + .../src/extension/chain-wallet.ts | 7 + .../vectis-extension/src/extension/client.ts | 117 ++ .../vectis-extension/src/extension/index.ts | 4 + .../src/extension/main-wallet.ts | 22 + .../src/extension/registry.ts | 24 + .../vectis-extension/src/extension/types.ts | 58 + .../vectis-extension/src/extension/utils.ts | 43 + wallets/vectis-extension/src/index.ts | 2 + wallets/vectis-extension/src/vectis.ts | 5 + wallets/vectis-extension/tsconfig.json | 9 + wallets/vectis/.editorconfig | 12 + wallets/vectis/.eslintignore | 7 + wallets/vectis/.eslintrc.json | 82 ++ wallets/vectis/.gitignore | 48 + wallets/vectis/.prettierrc.json | 7 + wallets/vectis/CHANGELOG.md | 668 ++++++++++ wallets/vectis/README.md | 40 + wallets/vectis/index.ts | 2 + wallets/vectis/package.json | 59 + wallets/vectis/src/index.ts | 5 + wallets/vectis/tsconfig.json | 9 + wallets/web3auth/.editorconfig | 12 + wallets/web3auth/.eslintignore | 7 + wallets/web3auth/.eslintrc.json | 82 ++ wallets/web3auth/.gitignore | 49 + wallets/web3auth/.npmignore | 32 + wallets/web3auth/.npmrc | 1 + wallets/web3auth/.prettierrc.json | 7 + wallets/web3auth/CHANGELOG.md | 464 +++++++ wallets/web3auth/LICENSE | 33 + wallets/web3auth/README.md | 28 + wallets/web3auth/index.ts | 2 + wallets/web3auth/package.json | 82 ++ wallets/web3auth/src/constant.ts | 2 + .../web3auth/src/extension/chain-wallet.ts | 7 + wallets/web3auth/src/extension/client.ts | 280 ++++ wallets/web3auth/src/extension/index.ts | 7 + wallets/web3auth/src/extension/main-wallet.ts | 96 ++ wallets/web3auth/src/extension/registry.ts | 14 + wallets/web3auth/src/extension/signer.ts | 211 +++ wallets/web3auth/src/extension/types.ts | 144 ++ wallets/web3auth/src/extension/utils.ts | 218 +++ .../web3auth/src/extension/web3auth.worker.ts | 180 +++ wallets/web3auth/src/index.ts | 2 + wallets/web3auth/src/web3auth.ts | 21 + wallets/web3auth/tsconfig.json | 11 + wallets/xdefi-extension/.editorconfig | 12 + wallets/xdefi-extension/.eslintignore | 7 + wallets/xdefi-extension/.eslintrc.json | 82 ++ wallets/xdefi-extension/.gitignore | 48 + wallets/xdefi-extension/.npmignore | 32 + wallets/xdefi-extension/.npmrc | 1 + wallets/xdefi-extension/.prettierrc.json | 7 + wallets/xdefi-extension/CHANGELOG.md | 793 +++++++++++ wallets/xdefi-extension/LICENSE | 33 + wallets/xdefi-extension/README.md | 40 + wallets/xdefi-extension/index.ts | 2 + wallets/xdefi-extension/package.json | 69 + wallets/xdefi-extension/src/constant.ts | 2 + .../src/extension/chain-wallet.ts | 7 + .../xdefi-extension/src/extension/client.ts | 119 ++ .../xdefi-extension/src/extension/index.ts | 4 + .../src/extension/main-wallet.ts | 22 + .../xdefi-extension/src/extension/registry.ts | 24 + .../xdefi-extension/src/extension/types.ts | 72 + .../xdefi-extension/src/extension/utils.ts | 54 + wallets/xdefi-extension/src/index.ts | 2 + wallets/xdefi-extension/src/xdefi.ts | 5 + wallets/xdefi-extension/tsconfig.json | 9 + wallets/xdefi/.editorconfig | 12 + wallets/xdefi/.eslintignore | 7 + wallets/xdefi/.eslintrc.json | 82 ++ wallets/xdefi/.gitignore | 48 + wallets/xdefi/.npmignore | 32 + wallets/xdefi/.npmrc | 1 + wallets/xdefi/.prettierrc.json | 7 + wallets/xdefi/CHANGELOG.md | 752 +++++++++++ wallets/xdefi/LICENSE | 33 + wallets/xdefi/README.md | 40 + wallets/xdefi/index.ts | 2 + wallets/xdefi/package.json | 59 + wallets/xdefi/src/index.ts | 3 + wallets/xdefi/tsconfig.json | 9 + 1339 files changed, 78965 insertions(+), 63 deletions(-) create mode 100644 .editorconfig create mode 100644 .gitattributes create mode 100644 .github/workflows/run-tests.yml create mode 100644 .gitpod.yml create mode 100644 .vscode/cosmos-kit.code-workspace create mode 100644 INTEGRATING-WALLETS.md create mode 100644 jest.config.js create mode 100644 packages/core/.editorconfig create mode 100644 packages/core/.eslintignore create mode 100644 packages/core/.eslintrc.json create mode 100644 packages/core/.gitignore create mode 100644 packages/core/.npmignore create mode 100644 packages/core/.npmrc create mode 100644 packages/core/.prettierrc.json create mode 100644 packages/core/LICENSE create mode 100644 packages/core/__tests__/bases/chain-wallet.test.ts create mode 100644 packages/core/__tests__/bases/main-wallet.test.ts create mode 100644 packages/core/__tests__/bases/state.test.ts create mode 100644 packages/core/__tests__/bases/wallet.test.ts create mode 100644 packages/core/__tests__/manager.test.ts create mode 100644 packages/core/__tests__/name-serveice-class.test.ts create mode 100644 packages/core/__tests__/repository.test.ts create mode 100644 packages/core/__tests__/utils/check.test.ts create mode 100644 packages/core/__tests__/utils/convert.test.ts create mode 100644 packages/core/__tests__/utils/endpoint.test.ts create mode 100644 packages/core/__tests__/utils/error.test.ts create mode 100644 packages/core/__tests__/utils/logger.test.ts create mode 100644 packages/core/__tests__/utils/map.test.ts create mode 100644 packages/core/__tests__/utils/math.test.ts create mode 100644 packages/core/__tests__/utils/name-service.test.ts create mode 100644 packages/core/__tests__/utils/session.test.ts create mode 100644 packages/core/__tests__/utils/status.test.ts create mode 100644 packages/core/index.ts create mode 100644 packages/core/src/bases/chain-wallet.ts create mode 100644 packages/core/src/bases/index.ts create mode 100644 packages/core/src/bases/main-wallet.ts create mode 100644 packages/core/src/bases/state.ts create mode 100644 packages/core/src/bases/wallet.ts create mode 100644 packages/core/src/config.ts create mode 100644 packages/core/src/cosmiframe/constants.ts create mode 100644 packages/core/src/cosmiframe/cosmiframe.ts create mode 100644 packages/core/src/cosmiframe/extension/chain-wallet.ts create mode 100644 packages/core/src/cosmiframe/extension/client.ts create mode 100644 packages/core/src/cosmiframe/extension/index.ts create mode 100644 packages/core/src/cosmiframe/extension/main-wallet.ts create mode 100644 packages/core/src/cosmiframe/extension/registry.ts create mode 100644 packages/core/src/cosmiframe/extension/types.ts create mode 100644 packages/core/src/cosmiframe/index.ts create mode 100644 packages/core/src/manager.ts create mode 100644 packages/core/src/name-service.ts create mode 100644 packages/core/src/repository.ts create mode 100644 packages/core/src/types/hook.ts create mode 100644 packages/core/src/types/view.ts create mode 100644 packages/core/src/utils/check.ts create mode 100644 packages/core/src/utils/convert.ts create mode 100644 packages/core/src/utils/error.ts create mode 100644 packages/core/src/utils/logger.ts create mode 100644 packages/core/src/utils/map.ts create mode 100644 packages/core/src/utils/math.ts create mode 100644 packages/core/src/utils/name-service.ts create mode 100644 packages/core/src/utils/session.ts create mode 100644 packages/core/src/utils/status.ts create mode 100644 packages/core/test-utils/mock-extension/constant.ts create mode 100644 packages/core/test-utils/mock-extension/extension/chain-wallet.ts create mode 100644 packages/core/test-utils/mock-extension/extension/client.ts create mode 100644 packages/core/test-utils/mock-extension/extension/index.ts create mode 100644 packages/core/test-utils/mock-extension/extension/main-wallet.ts create mode 100644 packages/core/test-utils/mock-extension/extension/registry.ts create mode 100644 packages/core/test-utils/mock-extension/extension/types.ts create mode 100644 packages/core/test-utils/mock-extension/extension/utils.ts create mode 100644 packages/core/test-utils/mock-extension/index.ts create mode 100644 packages/core/test-utils/mock-extension/mock.ts create mode 100644 packages/core/test-utils/mocker/index.ts create mode 100644 packages/core/test-utils/mocker/setup.ts create mode 100644 packages/cosmos-kit/.editorconfig create mode 100644 packages/cosmos-kit/.eslintignore create mode 100644 packages/cosmos-kit/.gitignore create mode 100644 packages/cosmos-kit/.npmrc create mode 100644 packages/cosmos-kit/.prettierrc.json create mode 100644 packages/cosmos-kit/CHANGELOG.md create mode 100644 packages/cosmos-kit/LICENSE create mode 100644 packages/cosmos-kit/README.md create mode 100644 packages/cosmos-kit/jest.config.js create mode 100644 packages/cosmos-kit/package.json create mode 100644 packages/cosmos-kit/src/index.ts create mode 100644 packages/cosmos-kit/src/wallets.ts create mode 100644 packages/cosmos-kit/test/wallets.test.ts create mode 100644 packages/cosmos-kit/tsconfig.json create mode 100644 packages/docs/.gitignore create mode 100644 packages/docs/.markdownlint.json create mode 100644 packages/docs/CHANGELOG.md create mode 100644 packages/docs/components/card.tsx create mode 100644 packages/docs/components/hooks.tsx create mode 100644 packages/docs/components/index.tsx create mode 100644 packages/docs/components/react/address-card.tsx create mode 100644 packages/docs/components/react/astronaut.tsx create mode 100644 packages/docs/components/react/chain-card.tsx create mode 100644 packages/docs/components/react/choose-chain.tsx create mode 100644 packages/docs/components/react/handleChangeColor.tsx create mode 100644 packages/docs/components/react/index.ts create mode 100644 packages/docs/components/react/user-card.tsx create mode 100644 packages/docs/components/react/wallet-connect.tsx create mode 100644 packages/docs/components/react/warn-block.tsx create mode 100644 packages/docs/components/types.tsx create mode 100644 packages/docs/components/wallet.tsx create mode 100644 packages/docs/config/seo.js create mode 100644 packages/docs/config/site.js create mode 100644 packages/docs/next-env.d.ts create mode 100644 packages/docs/next.config.js create mode 100644 packages/docs/package.json create mode 100644 packages/docs/pages/_app.tsx create mode 100644 packages/docs/pages/_meta.json create mode 100644 packages/docs/pages/advanced.md create mode 100644 packages/docs/pages/cookbook/_meta.json create mode 100644 packages/docs/pages/cookbook/connect-multi-chains.mdx create mode 100644 packages/docs/pages/cookbook/sign.mdx create mode 100644 packages/docs/pages/get-started.mdx create mode 100644 packages/docs/pages/hooks/_meta.json create mode 100644 packages/docs/pages/hooks/index.mdx create mode 100644 packages/docs/pages/hooks/use-chain-wallet.mdx create mode 100644 packages/docs/pages/hooks/use-chain.mdx create mode 100644 packages/docs/pages/hooks/use-chains.mdx create mode 100644 packages/docs/pages/hooks/use-iframe.mdx create mode 100644 packages/docs/pages/hooks/use-manager.mdx create mode 100644 packages/docs/pages/hooks/use-modal-theme.mdx create mode 100644 packages/docs/pages/hooks/use-name-service.mdx create mode 100644 packages/docs/pages/hooks/use-wallet-client.mdx create mode 100644 packages/docs/pages/hooks/use-wallet.mdx create mode 100644 packages/docs/pages/index.mdx create mode 100644 packages/docs/pages/integrating-wallets/_meta.json create mode 100644 packages/docs/pages/integrating-wallets/adding-all-wallets.mdx create mode 100644 packages/docs/pages/integrating-wallets/adding-new-wallets.mdx create mode 100644 packages/docs/pages/integrating-wallets/cdc.mdx create mode 100644 packages/docs/pages/integrating-wallets/compass.mdx create mode 100644 packages/docs/pages/integrating-wallets/cosmos-metamask-extension.mdx create mode 100644 packages/docs/pages/integrating-wallets/cosmostation.mdx create mode 100644 packages/docs/pages/integrating-wallets/exodus.mdx create mode 100644 packages/docs/pages/integrating-wallets/fin.mdx create mode 100644 packages/docs/pages/integrating-wallets/frontier.mdx create mode 100644 packages/docs/pages/integrating-wallets/galaxy-station.mdx create mode 100644 packages/docs/pages/integrating-wallets/index.mdx create mode 100644 packages/docs/pages/integrating-wallets/keplr.mdx create mode 100644 packages/docs/pages/integrating-wallets/leap-capsule-social-login.mdx create mode 100644 packages/docs/pages/integrating-wallets/leap-metamask-comos-snap.mdx create mode 100644 packages/docs/pages/integrating-wallets/leap.mdx create mode 100644 packages/docs/pages/integrating-wallets/ledger.mdx create mode 100644 packages/docs/pages/integrating-wallets/ninji.mdx create mode 100644 packages/docs/pages/integrating-wallets/okto.mdx create mode 100644 packages/docs/pages/integrating-wallets/okx.mdx create mode 100644 packages/docs/pages/integrating-wallets/omni.mdx create mode 100644 packages/docs/pages/integrating-wallets/shell.mdx create mode 100644 packages/docs/pages/integrating-wallets/station.mdx create mode 100644 packages/docs/pages/integrating-wallets/tailwind.mdx create mode 100644 packages/docs/pages/integrating-wallets/trust.mdx create mode 100644 packages/docs/pages/integrating-wallets/vectis.mdx create mode 100644 packages/docs/pages/integrating-wallets/web3auth.mdx create mode 100644 packages/docs/pages/integrating-wallets/xdefi.mdx create mode 100644 packages/docs/pages/migration-to-v2.mdx create mode 100644 packages/docs/pages/provider/_meta.json create mode 100644 packages/docs/pages/provider/chain-provider.mdx create mode 100644 packages/docs/public/android-icon-192x192.png create mode 100644 packages/docs/public/apple-icon-180x180.png create mode 100644 packages/docs/public/bundle-size-screenshots/new-interchain-ui.png create mode 100644 packages/docs/public/bundle-size-screenshots/new-v2-cosmos-kit.png create mode 100644 packages/docs/public/bundle-size-screenshots/old-cosmology-ui.png create mode 100644 packages/docs/public/bundle-size-screenshots/old-v1-cosmos-kit.png create mode 100644 packages/docs/public/favicon copy.ico.sb-8992bd4b-4LqWuo create mode 100644 packages/docs/public/favicon-16x16.png create mode 100644 packages/docs/public/favicon-32x32.png create mode 100644 packages/docs/public/favicon-96x96.png create mode 100644 packages/docs/public/favicon.ico create mode 100644 packages/docs/public/ms-icon-144x144.png create mode 100755 packages/docs/seo/prepare.sh create mode 100644 packages/docs/seo/seo.js create mode 100644 packages/docs/styles/globals.css create mode 100644 packages/docs/theme.config.tsx create mode 100644 packages/docs/tsconfig.json create mode 100644 packages/example-lite/.gitignore create mode 100644 packages/example-lite/CHANGELOG.md create mode 100644 packages/example-lite/components/custom-modal.tsx create mode 100644 packages/example-lite/next-env.d.ts create mode 100644 packages/example-lite/next.config.js create mode 100644 packages/example-lite/package.json create mode 100644 packages/example-lite/pages/_app.tsx create mode 100644 packages/example-lite/pages/index.tsx create mode 100644 packages/example-lite/tsconfig.json create mode 100644 packages/example/.eslintrc.json create mode 100644 packages/example/.gitignore create mode 100644 packages/example/CHANGELOG.md create mode 100644 packages/example/LICENSE create mode 100644 packages/example/README.md create mode 100644 packages/example/components.json create mode 100644 packages/example/components/badge.tsx create mode 100644 packages/example/components/button.tsx create mode 100644 packages/example/components/card.tsx create mode 100644 packages/example/components/chain-wallet-card.tsx create mode 100644 packages/example/components/chains-tx-wallet.tsx create mode 100644 packages/example/components/custom-connected.tsx create mode 100644 packages/example/components/dropdown-menu.tsx create mode 100644 packages/example/components/index.ts create mode 100644 packages/example/components/layout.tsx create mode 100644 packages/example/components/mode-toggle.tsx create mode 100644 packages/example/components/react/address-card.tsx create mode 100644 packages/example/components/react/astronaut.tsx create mode 100644 packages/example/components/react/chain-card.tsx create mode 100644 packages/example/components/react/handleChangeColor.tsx create mode 100644 packages/example/components/react/index.ts create mode 100644 packages/example/components/react/send-tokens-card.tsx create mode 100644 packages/example/components/react/user-card.tsx create mode 100644 packages/example/components/react/wallet-connect.tsx create mode 100644 packages/example/components/react/warn-block.tsx create mode 100644 packages/example/components/theme-provider.tsx create mode 100644 packages/example/components/types.tsx create mode 100644 packages/example/config/seo.js create mode 100644 packages/example/config/site.js create mode 100644 packages/example/hooks/index.ts create mode 100644 packages/example/lib/utils.ts create mode 100644 packages/example/next.config.js create mode 100644 packages/example/package.json create mode 100644 packages/example/pages/_app.tsx create mode 100644 packages/example/pages/add-chain.tsx create mode 100644 packages/example/pages/add-cw20.tsx create mode 100644 packages/example/pages/chain/[name].tsx create mode 100644 packages/example/pages/chain/query.tsx create mode 100644 packages/example/pages/cosmoshub.tsx create mode 100644 packages/example/pages/endpoint.tsx create mode 100644 packages/example/pages/event.tsx create mode 100644 packages/example/pages/gov.tsx create mode 100644 packages/example/pages/iframe-alert.tsx create mode 100644 packages/example/pages/iframe.tsx create mode 100644 packages/example/pages/index.tsx create mode 100644 packages/example/pages/ledger.tsx create mode 100644 packages/example/pages/ns.tsx create mode 100644 packages/example/pages/ns2.tsx create mode 100644 packages/example/pages/test.tsx create mode 100644 packages/example/pages/tx.tsx create mode 100644 packages/example/pages/use-chain-wallet.tsx create mode 100644 packages/example/pages/use-chain.tsx create mode 100644 packages/example/pages/use-chains.tsx create mode 100644 packages/example/pages/use-wallet-client.tsx create mode 100644 packages/example/pages/use-wallet.tsx create mode 100644 packages/example/pages/user-agent.tsx create mode 100644 packages/example/pages/wallet-manager/index.tsx create mode 100644 packages/example/pages/wallet-manager/main-wallets.tsx create mode 100644 packages/example/pages/wallet-manager/wallet-manager.tsx create mode 100644 packages/example/pages/wallet-manager/wallet-operate.tsx create mode 100644 packages/example/pages/wallet-manager/wallet-repo.tsx create mode 100644 packages/example/pages/wallet-manager/wallet-repos.tsx create mode 100644 packages/example/pages/wc.tsx create mode 100644 packages/example/postcss.config.js create mode 100644 packages/example/public/favicon.ico create mode 100755 packages/example/seo/prepare.sh create mode 100644 packages/example/seo/seo.js create mode 100644 packages/example/style/global.css create mode 100644 packages/example/tailwind.config.js create mode 100644 packages/example/tsconfig.json create mode 100644 packages/example/wc/client.ts create mode 100644 packages/ins/.editorconfig create mode 100644 packages/ins/.eslintignore create mode 100644 packages/ins/.eslintrc.json create mode 100644 packages/ins/.gitignore create mode 100644 packages/ins/.npmignore create mode 100644 packages/ins/.npmrc create mode 100644 packages/ins/.prettierrc.json create mode 100644 packages/ins/CHANGELOG.md create mode 100644 packages/ins/LICENSE create mode 100644 packages/ins/README.md create mode 100644 packages/ins/index.ts create mode 100644 packages/ins/package.json create mode 100644 packages/ins/src/__tests__/name-service.test.ts create mode 100644 packages/ins/src/config.ts create mode 100644 packages/ins/src/index.ts create mode 100644 packages/ins/src/name-service.ts create mode 100644 packages/ins/tsconfig.json create mode 100644 packages/react-lite/.editorconfig create mode 100644 packages/react-lite/.eslintignore create mode 100644 packages/react-lite/.eslintrc.json create mode 100644 packages/react-lite/.gitignore create mode 100644 packages/react-lite/.npmignore create mode 100644 packages/react-lite/.npmrc create mode 100644 packages/react-lite/.prettierrc.json create mode 100644 packages/react-lite/CHANGELOG.md create mode 100644 packages/react-lite/LICENSE create mode 100644 packages/react-lite/README.md create mode 100644 packages/react-lite/__test__/useChain.test.tsx create mode 100644 packages/react-lite/__test__/useChainWallet.test.tsx create mode 100644 packages/react-lite/__test__/useChains.test.tsx create mode 100644 packages/react-lite/__test__/useManager.test.tsx create mode 100644 packages/react-lite/__test__/useNameService.test.tsx create mode 100644 packages/react-lite/__test__/useWallet.test.tsx create mode 100644 packages/react-lite/__test__/useWalletClient.test.tsx create mode 100644 packages/react-lite/index.ts create mode 100644 packages/react-lite/jest.config.js create mode 100644 packages/react-lite/jest.setup.js create mode 100644 packages/react-lite/package.json create mode 100644 packages/react-lite/src/hooks/index.ts create mode 100644 packages/react-lite/src/hooks/useChain.ts create mode 100644 packages/react-lite/src/hooks/useChainWallet.ts create mode 100644 packages/react-lite/src/hooks/useChains.ts create mode 100644 packages/react-lite/src/hooks/useIframe.ts create mode 100644 packages/react-lite/src/hooks/useManager.ts create mode 100644 packages/react-lite/src/hooks/useNameService.ts create mode 100644 packages/react-lite/src/hooks/useWallet.ts create mode 100644 packages/react-lite/src/hooks/useWalletClient.ts create mode 100644 packages/react-lite/src/index.ts create mode 100644 packages/react-lite/src/provider.tsx create mode 100644 packages/react-lite/src/utils.ts create mode 100644 packages/react-lite/test-utils/chain-provider-wrapper.tsx create mode 100644 packages/react-lite/test-utils/custom-render-hook.tsx create mode 100644 packages/react-lite/test-utils/index.ts create mode 100644 packages/react-lite/tsconfig.json create mode 100644 packages/react/.editorconfig create mode 100644 packages/react/.eslintignore create mode 100644 packages/react/.eslintrc.json create mode 100644 packages/react/.gitignore create mode 100644 packages/react/.npmignore create mode 100644 packages/react/.npmrc create mode 100644 packages/react/.prettierrc.json create mode 100644 packages/react/LICENSE create mode 100644 packages/react/index.ts create mode 100644 packages/react/src/context/index.ts create mode 100644 packages/react/src/context/useSelectedWalletContext.tsx create mode 100644 packages/react/src/hooks/useModalTheme.ts create mode 100644 packages/react/src/modal/components/Astronaut.tsx create mode 100644 packages/react/src/modal/components/index.ts create mode 100644 packages/react/src/modal/components/views/Connected.tsx create mode 100644 packages/react/src/modal/components/views/Connecting.tsx create mode 100644 packages/react/src/modal/components/views/Error.tsx create mode 100644 packages/react/src/modal/components/views/NotExist.tsx create mode 100644 packages/react/src/modal/components/views/QRCode.tsx create mode 100644 packages/react/src/modal/components/views/Rejected.tsx create mode 100644 packages/react/src/modal/components/views/WalletList.tsx create mode 100644 packages/react/src/modal/components/views/config.ts create mode 100644 packages/react/src/modal/components/views/index.ts create mode 100644 packages/react/src/modal/constant.ts create mode 100644 packages/walletconnect/.editorconfig create mode 100644 packages/walletconnect/.eslintignore create mode 100644 packages/walletconnect/.eslintrc.json create mode 100644 packages/walletconnect/.gitignore create mode 100644 packages/walletconnect/.npmignore create mode 100644 packages/walletconnect/.npmrc create mode 100644 packages/walletconnect/.prettierrc.json create mode 100644 packages/walletconnect/CHANGELOG.md create mode 100644 packages/walletconnect/LICENSE create mode 100644 packages/walletconnect/README.md create mode 100644 packages/walletconnect/index.ts create mode 100644 packages/walletconnect/package.json create mode 100644 packages/walletconnect/src/chain-wallet.ts create mode 100644 packages/walletconnect/src/client.ts create mode 100644 packages/walletconnect/src/index.ts create mode 100644 packages/walletconnect/src/main-wallet.ts create mode 100644 packages/walletconnect/src/types.ts create mode 100644 packages/walletconnect/src/utils/core.ts create mode 100644 packages/walletconnect/src/utils/index.ts create mode 100644 packages/walletconnect/tsconfig.json create mode 100644 public/images/logos/wallets/cdcwallet.png create mode 100644 public/images/logos/wallets/coin98.png create mode 100644 public/images/logos/wallets/compass.png create mode 100644 public/images/logos/wallets/cosmostation.png create mode 100644 public/images/logos/wallets/exodus.png create mode 100644 public/images/logos/wallets/frontier.png create mode 100644 public/images/logos/wallets/galaxystation.svg create mode 100644 public/images/logos/wallets/keplr.svg create mode 100644 public/images/logos/wallets/leap.png create mode 100644 public/images/logos/wallets/ledger.png create mode 100644 public/images/logos/wallets/okxwallet.svg create mode 100644 public/images/logos/wallets/omni.png create mode 100644 public/images/logos/wallets/station.svg create mode 100644 public/images/logos/wallets/trust.png create mode 100644 public/images/logos/wallets/vectis.png create mode 100644 public/images/logos/wallets/web3auth.svg create mode 100644 public/images/logos/wallets/xdefi.svg create mode 100644 public/images/wallet-connect.svg create mode 100644 wallets/cdcwallet-extension/.editorconfig create mode 100644 wallets/cdcwallet-extension/.eslintignore create mode 100644 wallets/cdcwallet-extension/.eslintrc.json create mode 100644 wallets/cdcwallet-extension/.gitignore create mode 100644 wallets/cdcwallet-extension/.npmignore create mode 100644 wallets/cdcwallet-extension/.npmrc create mode 100644 wallets/cdcwallet-extension/.prettierrc.json create mode 100644 wallets/cdcwallet-extension/CHANGELOG.md create mode 100644 wallets/cdcwallet-extension/LICENSE create mode 100644 wallets/cdcwallet-extension/README.md create mode 100644 wallets/cdcwallet-extension/index.ts create mode 100644 wallets/cdcwallet-extension/package.json create mode 100644 wallets/cdcwallet-extension/src/cdcwallet.ts create mode 100644 wallets/cdcwallet-extension/src/constant.ts create mode 100644 wallets/cdcwallet-extension/src/extension/chain-wallet.ts create mode 100644 wallets/cdcwallet-extension/src/extension/client.ts create mode 100644 wallets/cdcwallet-extension/src/extension/index.ts create mode 100644 wallets/cdcwallet-extension/src/extension/main-wallet.ts create mode 100644 wallets/cdcwallet-extension/src/extension/registry.ts create mode 100644 wallets/cdcwallet-extension/src/extension/types.ts create mode 100644 wallets/cdcwallet-extension/src/extension/utils.ts create mode 100644 wallets/cdcwallet-extension/src/index.ts create mode 100644 wallets/cdcwallet-extension/tsconfig.json create mode 100644 wallets/cdcwallet/.editorconfig create mode 100644 wallets/cdcwallet/.eslintignore create mode 100644 wallets/cdcwallet/.eslintrc.json create mode 100644 wallets/cdcwallet/.gitignore create mode 100644 wallets/cdcwallet/.npmignore create mode 100644 wallets/cdcwallet/.npmrc create mode 100644 wallets/cdcwallet/.prettierrc.json create mode 100644 wallets/cdcwallet/CHANGELOG.md create mode 100644 wallets/cdcwallet/LICENSE create mode 100644 wallets/cdcwallet/README.md create mode 100644 wallets/cdcwallet/index.ts create mode 100644 wallets/cdcwallet/package.json create mode 100644 wallets/cdcwallet/src/index.ts create mode 100644 wallets/cdcwallet/tsconfig.json create mode 100644 wallets/coin98-extension/.editorconfig create mode 100644 wallets/coin98-extension/.eslintignore create mode 100644 wallets/coin98-extension/.eslintrc.json create mode 100644 wallets/coin98-extension/.gitignore create mode 100644 wallets/coin98-extension/.npmignore create mode 100644 wallets/coin98-extension/.npmrc create mode 100644 wallets/coin98-extension/.prettierrc.json create mode 100644 wallets/coin98-extension/LICENSE create mode 100644 wallets/coin98-extension/index.ts create mode 100644 wallets/coin98-extension/src/coin98.ts create mode 100644 wallets/coin98-extension/src/config.ts create mode 100644 wallets/coin98-extension/src/extension/chain-wallet.ts create mode 100644 wallets/coin98-extension/src/extension/client.ts create mode 100644 wallets/coin98-extension/src/extension/index.ts create mode 100644 wallets/coin98-extension/src/extension/main-wallet.ts create mode 100644 wallets/coin98-extension/src/extension/registry.ts create mode 100644 wallets/coin98-extension/src/extension/types.ts create mode 100644 wallets/coin98-extension/src/extension/utils.ts create mode 100644 wallets/coin98/.editorconfig create mode 100644 wallets/coin98/.eslintignore create mode 100644 wallets/coin98/.eslintrc.json create mode 100644 wallets/coin98/.gitignore create mode 100644 wallets/coin98/.npmignore create mode 100644 wallets/coin98/.npmrc create mode 100644 wallets/coin98/.prettierrc.json create mode 100644 wallets/coin98/CHANGELOG.md create mode 100644 wallets/coin98/LICENSE create mode 100644 wallets/coin98/README.md create mode 100644 wallets/coin98/index.ts create mode 100644 wallets/coin98/package.json create mode 100644 wallets/coin98/src/index.ts create mode 100644 wallets/coin98/tsconfig.json create mode 100644 wallets/compass-extension/.editorconfig create mode 100644 wallets/compass-extension/.eslintignore create mode 100644 wallets/compass-extension/.eslintrc.json create mode 100644 wallets/compass-extension/.gitignore create mode 100644 wallets/compass-extension/.npmignore create mode 100644 wallets/compass-extension/.npmrc create mode 100644 wallets/compass-extension/.prettierrc.json create mode 100644 wallets/compass-extension/CHANGELOG.md create mode 100644 wallets/compass-extension/LICENSE create mode 100644 wallets/compass-extension/README.md create mode 100644 wallets/compass-extension/index.ts create mode 100644 wallets/compass-extension/package.json create mode 100644 wallets/compass-extension/src/compass.ts create mode 100644 wallets/compass-extension/src/constant.ts create mode 100644 wallets/compass-extension/src/extension/chain-wallet.ts create mode 100644 wallets/compass-extension/src/extension/client.ts create mode 100644 wallets/compass-extension/src/extension/index.ts create mode 100644 wallets/compass-extension/src/extension/main-wallet.ts create mode 100644 wallets/compass-extension/src/extension/registry.ts create mode 100644 wallets/compass-extension/src/extension/types.ts create mode 100644 wallets/compass-extension/src/extension/utils.ts create mode 100644 wallets/compass-extension/src/index.ts create mode 100644 wallets/compass-extension/tsconfig.json create mode 100644 wallets/compass/.editorconfig create mode 100644 wallets/compass/.eslintignore create mode 100644 wallets/compass/.eslintrc.json create mode 100644 wallets/compass/.gitignore create mode 100644 wallets/compass/.npmignore create mode 100644 wallets/compass/.npmrc create mode 100644 wallets/compass/.prettierrc.json create mode 100644 wallets/compass/CHANGELOG.md create mode 100644 wallets/compass/LICENSE create mode 100644 wallets/compass/README.md create mode 100644 wallets/compass/index.ts create mode 100644 wallets/compass/package.json create mode 100644 wallets/compass/src/index.ts create mode 100644 wallets/compass/tsconfig.json create mode 100644 wallets/cosmos-extension-metamask/.editorconfig create mode 100644 wallets/cosmos-extension-metamask/.eslintignore create mode 100644 wallets/cosmos-extension-metamask/.eslintrc.json create mode 100644 wallets/cosmos-extension-metamask/.gitignore create mode 100644 wallets/cosmos-extension-metamask/.npmignore create mode 100644 wallets/cosmos-extension-metamask/.npmrc create mode 100644 wallets/cosmos-extension-metamask/.prettierrc.json create mode 100644 wallets/cosmos-extension-metamask/CHANGELOG.md create mode 100644 wallets/cosmos-extension-metamask/LICENSE create mode 100644 wallets/cosmos-extension-metamask/README.md create mode 100644 wallets/cosmos-extension-metamask/index.ts create mode 100644 wallets/cosmos-extension-metamask/package.json create mode 100644 wallets/cosmos-extension-metamask/src/constant.ts create mode 100644 wallets/cosmos-extension-metamask/src/cosmos-metamask-extension.ts create mode 100644 wallets/cosmos-extension-metamask/src/extension/chain-wallet.ts create mode 100644 wallets/cosmos-extension-metamask/src/extension/client.ts create mode 100644 wallets/cosmos-extension-metamask/src/extension/index.ts create mode 100644 wallets/cosmos-extension-metamask/src/extension/main-wallet.ts create mode 100644 wallets/cosmos-extension-metamask/src/extension/registry.ts create mode 100644 wallets/cosmos-extension-metamask/src/extension/types.ts create mode 100644 wallets/cosmos-extension-metamask/src/extension/utils.ts create mode 100644 wallets/cosmos-extension-metamask/src/index.ts create mode 100644 wallets/cosmos-extension-metamask/tsconfig.json create mode 100644 wallets/cosmostation-extension/.editorconfig create mode 100644 wallets/cosmostation-extension/.eslintignore create mode 100644 wallets/cosmostation-extension/.eslintrc.json create mode 100644 wallets/cosmostation-extension/.gitignore create mode 100644 wallets/cosmostation-extension/.npmignore create mode 100644 wallets/cosmostation-extension/.npmrc create mode 100644 wallets/cosmostation-extension/.prettierrc.json create mode 100644 wallets/cosmostation-extension/CHANGELOG.md create mode 100644 wallets/cosmostation-extension/LICENSE create mode 100644 wallets/cosmostation-extension/README.md create mode 100644 wallets/cosmostation-extension/index.ts create mode 100644 wallets/cosmostation-extension/package.json create mode 100644 wallets/cosmostation-extension/src/constant.ts create mode 100644 wallets/cosmostation-extension/src/cosmostation.ts create mode 100644 wallets/cosmostation-extension/src/extension/chain-wallet.ts create mode 100644 wallets/cosmostation-extension/src/extension/client.ts create mode 100644 wallets/cosmostation-extension/src/extension/index.ts create mode 100644 wallets/cosmostation-extension/src/extension/main-wallet.ts create mode 100644 wallets/cosmostation-extension/src/extension/registry.ts create mode 100644 wallets/cosmostation-extension/src/extension/types.ts create mode 100644 wallets/cosmostation-extension/src/extension/utils.ts create mode 100644 wallets/cosmostation-extension/src/index.ts create mode 100644 wallets/cosmostation-extension/tsconfig.json create mode 100644 wallets/cosmostation-mobile/.editorconfig create mode 100644 wallets/cosmostation-mobile/.eslintignore create mode 100644 wallets/cosmostation-mobile/.eslintrc.json create mode 100644 wallets/cosmostation-mobile/.gitignore create mode 100644 wallets/cosmostation-mobile/.npmignore create mode 100644 wallets/cosmostation-mobile/.npmrc create mode 100644 wallets/cosmostation-mobile/.prettierrc.json create mode 100644 wallets/cosmostation-mobile/CHANGELOG.md create mode 100644 wallets/cosmostation-mobile/LICENSE create mode 100644 wallets/cosmostation-mobile/README.md create mode 100644 wallets/cosmostation-mobile/index.ts create mode 100644 wallets/cosmostation-mobile/package.json create mode 100644 wallets/cosmostation-mobile/src/constant.ts create mode 100644 wallets/cosmostation-mobile/src/cosmostation.ts create mode 100644 wallets/cosmostation-mobile/src/index.ts create mode 100644 wallets/cosmostation-mobile/src/wallet-connect/chain-wallet.ts create mode 100644 wallets/cosmostation-mobile/src/wallet-connect/client.ts create mode 100644 wallets/cosmostation-mobile/src/wallet-connect/index.ts create mode 100644 wallets/cosmostation-mobile/src/wallet-connect/main-wallet.ts create mode 100644 wallets/cosmostation-mobile/src/wallet-connect/registry.ts create mode 100644 wallets/cosmostation-mobile/tsconfig.json create mode 100644 wallets/cosmostation/.editorconfig create mode 100644 wallets/cosmostation/.eslintignore create mode 100644 wallets/cosmostation/.eslintrc.json create mode 100644 wallets/cosmostation/.gitignore create mode 100644 wallets/cosmostation/.npmignore create mode 100644 wallets/cosmostation/.npmrc create mode 100644 wallets/cosmostation/.prettierrc.json create mode 100644 wallets/cosmostation/CHANGELOG.md create mode 100644 wallets/cosmostation/LICENSE create mode 100644 wallets/cosmostation/README.md create mode 100644 wallets/cosmostation/index.ts create mode 100644 wallets/cosmostation/package.json create mode 100644 wallets/cosmostation/src/index.ts create mode 100644 wallets/cosmostation/tsconfig.json create mode 100644 wallets/exodus-extension/.editorconfig create mode 100644 wallets/exodus-extension/.eslintignore create mode 100644 wallets/exodus-extension/.eslintrc.json create mode 100644 wallets/exodus-extension/.gitignore create mode 100644 wallets/exodus-extension/.npmignore create mode 100644 wallets/exodus-extension/.npmrc create mode 100644 wallets/exodus-extension/.prettierrc.json create mode 100644 wallets/exodus-extension/CHANGELOG.md create mode 100644 wallets/exodus-extension/LICENSE create mode 100644 wallets/exodus-extension/README.md create mode 100644 wallets/exodus-extension/index.ts create mode 100644 wallets/exodus-extension/package.json create mode 100644 wallets/exodus-extension/src/config.ts create mode 100644 wallets/exodus-extension/src/constant.ts create mode 100644 wallets/exodus-extension/src/constants.ts create mode 100644 wallets/exodus-extension/src/exodus.ts create mode 100644 wallets/exodus-extension/src/extension/chain-wallet.ts create mode 100644 wallets/exodus-extension/src/extension/client.ts create mode 100644 wallets/exodus-extension/src/extension/index.ts create mode 100644 wallets/exodus-extension/src/extension/main-wallet.ts create mode 100644 wallets/exodus-extension/src/extension/registry.ts create mode 100644 wallets/exodus-extension/src/extension/utils.ts create mode 100644 wallets/exodus-extension/src/index.ts create mode 100644 wallets/exodus-extension/src/types.ts create mode 100644 wallets/exodus-extension/tsconfig.json create mode 100644 wallets/exodus/.editorconfig create mode 100644 wallets/exodus/.eslintignore create mode 100644 wallets/exodus/.eslintrc.json create mode 100644 wallets/exodus/.gitignore create mode 100644 wallets/exodus/.prettierrc.json create mode 100644 wallets/exodus/CHANGELOG.md create mode 100644 wallets/exodus/README.md create mode 100644 wallets/exodus/index.ts create mode 100644 wallets/exodus/package.json create mode 100644 wallets/exodus/src/index.ts create mode 100644 wallets/exodus/tsconfig.json create mode 100644 wallets/fin-extension/.editorconfig create mode 100644 wallets/fin-extension/.eslintignore create mode 100644 wallets/fin-extension/.eslintrc.json create mode 100644 wallets/fin-extension/.gitignore create mode 100644 wallets/fin-extension/.npmignore create mode 100644 wallets/fin-extension/.npmrc create mode 100644 wallets/fin-extension/.prettierrc.json create mode 100644 wallets/fin-extension/CHANGELOG.md create mode 100644 wallets/fin-extension/LICENSE create mode 100644 wallets/fin-extension/README.md create mode 100644 wallets/fin-extension/index.ts create mode 100644 wallets/fin-extension/package.json create mode 100644 wallets/fin-extension/src/config.ts create mode 100644 wallets/fin-extension/src/extension/chain-wallet.ts create mode 100644 wallets/fin-extension/src/extension/client.ts create mode 100644 wallets/fin-extension/src/extension/index.ts create mode 100644 wallets/fin-extension/src/extension/main-wallet.ts create mode 100644 wallets/fin-extension/src/extension/registry.ts create mode 100644 wallets/fin-extension/src/extension/types.ts create mode 100644 wallets/fin-extension/src/extension/utils.ts create mode 100644 wallets/fin-extension/src/fin.ts create mode 100644 wallets/fin-extension/src/index.ts create mode 100644 wallets/fin-extension/tsconfig.json create mode 100644 wallets/fin/.editorconfig create mode 100644 wallets/fin/.eslintignore create mode 100644 wallets/fin/.eslintrc.json create mode 100644 wallets/fin/.gitignore create mode 100644 wallets/fin/.npmignore create mode 100644 wallets/fin/.npmrc create mode 100644 wallets/fin/.prettierrc.json create mode 100644 wallets/fin/CHANGELOG.md create mode 100644 wallets/fin/LICENSE create mode 100644 wallets/fin/README.md create mode 100644 wallets/fin/index.ts create mode 100644 wallets/fin/package.json create mode 100644 wallets/fin/src/index.ts create mode 100644 wallets/fin/tsconfig.json create mode 100644 wallets/frontier-extension/.editorconfig create mode 100644 wallets/frontier-extension/.eslintignore create mode 100644 wallets/frontier-extension/.eslintrc.json create mode 100644 wallets/frontier-extension/.gitignore create mode 100644 wallets/frontier-extension/.npmignore create mode 100644 wallets/frontier-extension/.npmrc create mode 100644 wallets/frontier-extension/.prettierrc.json create mode 100644 wallets/frontier-extension/CHANGELOG.md create mode 100644 wallets/frontier-extension/LICENSE create mode 100644 wallets/frontier-extension/README.md create mode 100644 wallets/frontier-extension/index.ts create mode 100644 wallets/frontier-extension/package.json create mode 100644 wallets/frontier-extension/src/constant.ts create mode 100644 wallets/frontier-extension/src/extension/chain-wallet.ts create mode 100644 wallets/frontier-extension/src/extension/client.ts create mode 100644 wallets/frontier-extension/src/extension/index.ts create mode 100644 wallets/frontier-extension/src/extension/main-wallet.ts create mode 100644 wallets/frontier-extension/src/extension/registry.ts create mode 100644 wallets/frontier-extension/src/extension/types.ts create mode 100644 wallets/frontier-extension/src/extension/utils.ts create mode 100644 wallets/frontier-extension/src/frontier.ts create mode 100644 wallets/frontier-extension/src/index.ts create mode 100644 wallets/frontier-extension/tsconfig.json create mode 100644 wallets/frontier/.editorconfig create mode 100644 wallets/frontier/.eslintignore create mode 100644 wallets/frontier/.eslintrc.json create mode 100644 wallets/frontier/.gitignore create mode 100644 wallets/frontier/.npmignore create mode 100644 wallets/frontier/.npmrc create mode 100644 wallets/frontier/.prettierrc.json create mode 100644 wallets/frontier/CHANGELOG.md create mode 100644 wallets/frontier/LICENSE create mode 100644 wallets/frontier/README.md create mode 100644 wallets/frontier/index.ts create mode 100644 wallets/frontier/package.json create mode 100644 wallets/frontier/src/index.ts create mode 100644 wallets/frontier/tsconfig.json create mode 100644 wallets/galaxy-station-extension/.editorconfig create mode 100644 wallets/galaxy-station-extension/.eslintignore create mode 100644 wallets/galaxy-station-extension/.eslintrc.json create mode 100644 wallets/galaxy-station-extension/.gitignore create mode 100644 wallets/galaxy-station-extension/.npmignore create mode 100644 wallets/galaxy-station-extension/.npmrc create mode 100644 wallets/galaxy-station-extension/.prettierrc.json create mode 100644 wallets/galaxy-station-extension/CHANGELOG.md create mode 100644 wallets/galaxy-station-extension/LICENSE create mode 100644 wallets/galaxy-station-extension/README.md create mode 100644 wallets/galaxy-station-extension/index.ts create mode 100644 wallets/galaxy-station-extension/package.json create mode 100644 wallets/galaxy-station-extension/src/constant.ts create mode 100644 wallets/galaxy-station-extension/src/extension/chain-wallet.ts create mode 100644 wallets/galaxy-station-extension/src/extension/client.ts create mode 100644 wallets/galaxy-station-extension/src/extension/index.ts create mode 100644 wallets/galaxy-station-extension/src/extension/main-wallet.ts create mode 100644 wallets/galaxy-station-extension/src/extension/registry.ts create mode 100644 wallets/galaxy-station-extension/src/extension/types.ts create mode 100644 wallets/galaxy-station-extension/src/extension/utils.ts create mode 100644 wallets/galaxy-station-extension/src/galaxy-station.ts create mode 100644 wallets/galaxy-station-extension/src/index.ts create mode 100644 wallets/galaxy-station-extension/tsconfig.json create mode 100644 wallets/galaxy-station/.editorconfig create mode 100644 wallets/galaxy-station/.eslintignore create mode 100644 wallets/galaxy-station/.eslintrc.json create mode 100644 wallets/galaxy-station/.gitignore create mode 100644 wallets/galaxy-station/.prettierrc.json create mode 100644 wallets/galaxy-station/CHANGELOG.md create mode 100644 wallets/galaxy-station/README.md create mode 100644 wallets/galaxy-station/index.ts create mode 100644 wallets/galaxy-station/package.json create mode 100644 wallets/galaxy-station/src/index.ts create mode 100644 wallets/galaxy-station/tsconfig.json create mode 100644 wallets/initia-extension/.editorconfig create mode 100644 wallets/initia-extension/.eslintignore create mode 100644 wallets/initia-extension/.eslintrc.json create mode 100644 wallets/initia-extension/.gitignore create mode 100644 wallets/initia-extension/.npmignore create mode 100644 wallets/initia-extension/.npmrc create mode 100644 wallets/initia-extension/.prettierrc.json create mode 100644 wallets/initia-extension/CHANGELOG.md create mode 100644 wallets/initia-extension/LICENSE create mode 100644 wallets/initia-extension/README.md create mode 100644 wallets/initia-extension/index.ts create mode 100644 wallets/initia-extension/package.json create mode 100644 wallets/initia-extension/src/constant.ts create mode 100644 wallets/initia-extension/src/extension/chain-wallet.ts create mode 100644 wallets/initia-extension/src/extension/client.ts create mode 100644 wallets/initia-extension/src/extension/index.ts create mode 100644 wallets/initia-extension/src/extension/main-wallet.ts create mode 100644 wallets/initia-extension/src/extension/registry.ts create mode 100644 wallets/initia-extension/src/extension/type.ts create mode 100644 wallets/initia-extension/src/extension/utils.ts create mode 100644 wallets/initia-extension/src/index.ts create mode 100644 wallets/initia-extension/src/initia.ts create mode 100644 wallets/initia-extension/tsconfig.json create mode 100644 wallets/initia/.editorconfig create mode 100644 wallets/initia/.eslintignore create mode 100644 wallets/initia/.eslintrc.json create mode 100644 wallets/initia/.gitignore create mode 100644 wallets/initia/.npmignore create mode 100644 wallets/initia/.npmrc create mode 100644 wallets/initia/.prettierrc.json create mode 100644 wallets/initia/CHANGELOG.md create mode 100644 wallets/initia/LICENSE create mode 100644 wallets/initia/README.md create mode 100644 wallets/initia/index.ts create mode 100644 wallets/initia/package.json create mode 100644 wallets/initia/src/index.ts create mode 100644 wallets/initia/tsconfig.json create mode 100644 wallets/keplr-extension/.editorconfig create mode 100644 wallets/keplr-extension/.eslintignore create mode 100644 wallets/keplr-extension/.eslintrc.json create mode 100644 wallets/keplr-extension/.gitignore create mode 100644 wallets/keplr-extension/.npmignore create mode 100644 wallets/keplr-extension/.npmrc create mode 100644 wallets/keplr-extension/.prettierrc.json create mode 100644 wallets/keplr-extension/LICENSE create mode 100644 wallets/keplr-extension/index.ts create mode 100644 wallets/keplr-extension/src/config.ts create mode 100644 wallets/keplr-extension/src/extension/chain-wallet.ts create mode 100644 wallets/keplr-extension/src/extension/client.ts create mode 100644 wallets/keplr-extension/src/extension/index.ts create mode 100644 wallets/keplr-extension/src/extension/main-wallet.ts create mode 100644 wallets/keplr-extension/src/extension/registry.ts create mode 100644 wallets/keplr-extension/src/extension/session.ts create mode 100644 wallets/keplr-extension/src/keplr.ts create mode 100644 wallets/keplr-mobile/.editorconfig create mode 100644 wallets/keplr-mobile/.eslintignore create mode 100644 wallets/keplr-mobile/.eslintrc.json create mode 100644 wallets/keplr-mobile/.gitignore create mode 100644 wallets/keplr-mobile/.npmignore create mode 100644 wallets/keplr-mobile/.npmrc create mode 100644 wallets/keplr-mobile/.prettierrc.json create mode 100644 wallets/keplr-mobile/LICENSE create mode 100644 wallets/keplr-mobile/index.ts create mode 100644 wallets/keplr-mobile/src/config.ts create mode 100644 wallets/keplr-mobile/src/keplr.ts create mode 100644 wallets/keplr-mobile/src/wallet-connect/chain-wallet.ts create mode 100644 wallets/keplr-mobile/src/wallet-connect/client.ts create mode 100644 wallets/keplr-mobile/src/wallet-connect/index.ts create mode 100644 wallets/keplr-mobile/src/wallet-connect/main-wallet.ts create mode 100644 wallets/keplr-mobile/src/wallet-connect/registry.ts create mode 100644 wallets/keplr/.editorconfig create mode 100644 wallets/keplr/.eslintignore create mode 100644 wallets/keplr/.eslintrc.json create mode 100644 wallets/keplr/.gitignore create mode 100644 wallets/keplr/.npmignore create mode 100644 wallets/keplr/.npmrc create mode 100644 wallets/keplr/.prettierrc.json create mode 100644 wallets/keplr/CHANGELOG.md create mode 100644 wallets/keplr/LICENSE create mode 100644 wallets/keplr/README.md create mode 100644 wallets/keplr/index.ts create mode 100644 wallets/keplr/package.json create mode 100644 wallets/keplr/src/index.ts create mode 100644 wallets/keplr/tsconfig.json create mode 100644 wallets/leap-capsule-social-login/.editorconfig create mode 100644 wallets/leap-capsule-social-login/.eslintignore create mode 100644 wallets/leap-capsule-social-login/.eslintrc.json create mode 100644 wallets/leap-capsule-social-login/.gitignore create mode 100644 wallets/leap-capsule-social-login/.npmignore create mode 100644 wallets/leap-capsule-social-login/.npmrc create mode 100644 wallets/leap-capsule-social-login/.prettierrc.json create mode 100644 wallets/leap-capsule-social-login/CHANGELOG.md create mode 100644 wallets/leap-capsule-social-login/LICENSE create mode 100644 wallets/leap-capsule-social-login/README.md create mode 100644 wallets/leap-capsule-social-login/index.ts create mode 100644 wallets/leap-capsule-social-login/package.json create mode 100644 wallets/leap-capsule-social-login/src/chain-wallet.ts create mode 100644 wallets/leap-capsule-social-login/src/client.ts create mode 100644 wallets/leap-capsule-social-login/src/constant.ts create mode 100644 wallets/leap-capsule-social-login/src/index.ts create mode 100644 wallets/leap-capsule-social-login/src/leap-social.ts create mode 100644 wallets/leap-capsule-social-login/src/main-wallet.ts create mode 100644 wallets/leap-capsule-social-login/src/registry.ts create mode 100644 wallets/leap-capsule-social-login/src/types.ts create mode 100644 wallets/leap-capsule-social-login/tsconfig.json create mode 100644 wallets/leap-extension/.editorconfig create mode 100644 wallets/leap-extension/.eslintignore create mode 100644 wallets/leap-extension/.eslintrc.json create mode 100644 wallets/leap-extension/.gitignore create mode 100644 wallets/leap-extension/.npmignore create mode 100644 wallets/leap-extension/.npmrc create mode 100644 wallets/leap-extension/.prettierrc.json create mode 100644 wallets/leap-extension/LICENSE create mode 100644 wallets/leap-extension/index.ts create mode 100644 wallets/leap-extension/src/extension/chain-wallet.ts create mode 100644 wallets/leap-extension/src/extension/client.ts create mode 100644 wallets/leap-extension/src/extension/index.ts create mode 100644 wallets/leap-extension/src/extension/main-wallet.ts create mode 100644 wallets/leap-extension/src/extension/registry.ts create mode 100644 wallets/leap-extension/src/extension/types.ts create mode 100644 wallets/leap-extension/src/extension/utils.ts create mode 100644 wallets/leap-extension/src/leap.ts create mode 100644 wallets/leap-metamask-cosmos-snap/.editorconfig create mode 100644 wallets/leap-metamask-cosmos-snap/.eslintignore create mode 100644 wallets/leap-metamask-cosmos-snap/.eslintrc.json create mode 100644 wallets/leap-metamask-cosmos-snap/.gitignore create mode 100644 wallets/leap-metamask-cosmos-snap/.npmignore create mode 100644 wallets/leap-metamask-cosmos-snap/.npmrc create mode 100644 wallets/leap-metamask-cosmos-snap/.prettierrc.json create mode 100644 wallets/leap-metamask-cosmos-snap/CHANGELOG.md create mode 100644 wallets/leap-metamask-cosmos-snap/LICENSE create mode 100644 wallets/leap-metamask-cosmos-snap/README.md create mode 100644 wallets/leap-metamask-cosmos-snap/index.ts create mode 100644 wallets/leap-metamask-cosmos-snap/package.json create mode 100644 wallets/leap-metamask-cosmos-snap/src/constant.ts create mode 100644 wallets/leap-metamask-cosmos-snap/src/extension/chain-wallet.ts create mode 100644 wallets/leap-metamask-cosmos-snap/src/extension/client.ts create mode 100644 wallets/leap-metamask-cosmos-snap/src/extension/index.ts create mode 100644 wallets/leap-metamask-cosmos-snap/src/extension/main-wallet.ts create mode 100644 wallets/leap-metamask-cosmos-snap/src/extension/registry.ts create mode 100644 wallets/leap-metamask-cosmos-snap/src/extension/utils.ts create mode 100644 wallets/leap-metamask-cosmos-snap/src/index.ts create mode 100644 wallets/leap-metamask-cosmos-snap/src/leap-metamask-cosmos-snap.ts create mode 100644 wallets/leap-metamask-cosmos-snap/tsconfig.json create mode 100644 wallets/leap-mobile/.editorconfig create mode 100644 wallets/leap-mobile/.eslintignore create mode 100644 wallets/leap-mobile/.eslintrc.json create mode 100644 wallets/leap-mobile/.gitignore create mode 100644 wallets/leap-mobile/.npmignore create mode 100644 wallets/leap-mobile/.npmrc create mode 100644 wallets/leap-mobile/.prettierrc.json create mode 100644 wallets/leap-mobile/LICENSE create mode 100644 wallets/leap-mobile/index.ts create mode 100644 wallets/leap-mobile/src/leap.ts create mode 100644 wallets/leap-mobile/src/wallet-connect/chain-wallet.ts create mode 100644 wallets/leap-mobile/src/wallet-connect/client.ts create mode 100644 wallets/leap-mobile/src/wallet-connect/index.ts create mode 100644 wallets/leap-mobile/src/wallet-connect/main-wallet.ts create mode 100644 wallets/leap-mobile/src/wallet-connect/registry.ts create mode 100644 wallets/leap-mobile/src/wallet-connect/types.ts create mode 100644 wallets/leap/.editorconfig create mode 100644 wallets/leap/.eslintignore create mode 100644 wallets/leap/.eslintrc.json create mode 100644 wallets/leap/.gitignore create mode 100644 wallets/leap/.npmignore create mode 100644 wallets/leap/.npmrc create mode 100644 wallets/leap/.prettierrc.json create mode 100644 wallets/leap/CHANGELOG.md create mode 100644 wallets/leap/LICENSE create mode 100644 wallets/leap/README.md create mode 100644 wallets/leap/index.ts create mode 100644 wallets/leap/package.json create mode 100644 wallets/leap/src/index.ts create mode 100644 wallets/leap/tsconfig.json create mode 100644 wallets/ledger/.editorconfig create mode 100644 wallets/ledger/.eslintignore create mode 100644 wallets/ledger/.eslintrc.json create mode 100644 wallets/ledger/.gitignore create mode 100644 wallets/ledger/.npmignore create mode 100644 wallets/ledger/.npmrc create mode 100644 wallets/ledger/.prettierrc.json create mode 100644 wallets/ledger/LICENSE create mode 100644 wallets/ledger/index.ts create mode 100644 wallets/ledger/src/ledger.ts create mode 100644 wallets/ledger/src/web-usb-hid/chain-wallet.ts create mode 100644 wallets/ledger/src/web-usb-hid/client.ts create mode 100644 wallets/ledger/src/web-usb-hid/index.ts create mode 100644 wallets/ledger/src/web-usb-hid/main-wallet.ts create mode 100644 wallets/ledger/src/web-usb-hid/registry.ts create mode 100644 wallets/ledger/src/web-usb-hid/utils.ts create mode 100644 wallets/ninji-extension/.editorconfig create mode 100644 wallets/ninji-extension/.eslintignore create mode 100644 wallets/ninji-extension/.eslintrc.json create mode 100644 wallets/ninji-extension/.gitignore create mode 100644 wallets/ninji-extension/.npmignore create mode 100644 wallets/ninji-extension/.npmrc create mode 100644 wallets/ninji-extension/.prettierrc.json create mode 100644 wallets/ninji-extension/CHANGELOG.md create mode 100644 wallets/ninji-extension/LICENSE create mode 100644 wallets/ninji-extension/README.md create mode 100644 wallets/ninji-extension/index.ts create mode 100644 wallets/ninji-extension/package.json create mode 100644 wallets/ninji-extension/src/constant.ts create mode 100644 wallets/ninji-extension/src/extension/chain-wallet.ts create mode 100644 wallets/ninji-extension/src/extension/client.ts create mode 100644 wallets/ninji-extension/src/extension/index.ts create mode 100644 wallets/ninji-extension/src/extension/main-wallet.ts create mode 100644 wallets/ninji-extension/src/extension/registry.ts create mode 100644 wallets/ninji-extension/src/extension/types.ts create mode 100644 wallets/ninji-extension/src/extension/utils.ts create mode 100644 wallets/ninji-extension/src/index.ts create mode 100644 wallets/ninji-extension/src/ninji.ts create mode 100644 wallets/ninji-extension/tsconfig.json create mode 100644 wallets/ninji/.editorconfig create mode 100644 wallets/ninji/.eslintignore create mode 100644 wallets/ninji/.eslintrc.json create mode 100644 wallets/ninji/.gitignore create mode 100644 wallets/ninji/.npmignore create mode 100644 wallets/ninji/.npmrc create mode 100644 wallets/ninji/.prettierrc.json create mode 100644 wallets/ninji/CHANGELOG.md create mode 100644 wallets/ninji/LICENSE create mode 100644 wallets/ninji/README.md create mode 100644 wallets/ninji/index.ts create mode 100644 wallets/ninji/package.json create mode 100644 wallets/ninji/src/index.ts create mode 100644 wallets/ninji/tsconfig.json create mode 100644 wallets/okto-extension/.editorconfig create mode 100644 wallets/okto-extension/.eslintignore create mode 100644 wallets/okto-extension/.eslintrc.json create mode 100644 wallets/okto-extension/.gitignore create mode 100644 wallets/okto-extension/.npmignore create mode 100644 wallets/okto-extension/.npmrc create mode 100644 wallets/okto-extension/.prettierrc.json create mode 100644 wallets/okto-extension/CHANGELOG.md create mode 100644 wallets/okto-extension/LICENSE create mode 100644 wallets/okto-extension/README.md create mode 100644 wallets/okto-extension/index.ts create mode 100644 wallets/okto-extension/package.json create mode 100644 wallets/okto-extension/src/constant.ts create mode 100644 wallets/okto-extension/src/extension/chain-wallet.ts create mode 100644 wallets/okto-extension/src/extension/client.ts create mode 100644 wallets/okto-extension/src/extension/index.ts create mode 100644 wallets/okto-extension/src/extension/main-wallet.ts create mode 100644 wallets/okto-extension/src/extension/registry.ts create mode 100644 wallets/okto-extension/src/extension/types.ts create mode 100644 wallets/okto-extension/src/extension/utils.ts create mode 100644 wallets/okto-extension/src/index.ts create mode 100644 wallets/okto-extension/src/okto.ts create mode 100644 wallets/okto-extension/tsconfig.json create mode 100644 wallets/okxwallet-extension/.editorconfig create mode 100644 wallets/okxwallet-extension/.eslintignore create mode 100644 wallets/okxwallet-extension/.eslintrc.json create mode 100644 wallets/okxwallet-extension/.gitignore create mode 100644 wallets/okxwallet-extension/.npmignore create mode 100644 wallets/okxwallet-extension/.npmrc create mode 100644 wallets/okxwallet-extension/.prettierrc.json create mode 100644 wallets/okxwallet-extension/CHANGELOG.md create mode 100644 wallets/okxwallet-extension/LICENSE create mode 100644 wallets/okxwallet-extension/README.md create mode 100644 wallets/okxwallet-extension/index.ts create mode 100644 wallets/okxwallet-extension/package.json create mode 100644 wallets/okxwallet-extension/src/config.ts create mode 100644 wallets/okxwallet-extension/src/constant.ts create mode 100644 wallets/okxwallet-extension/src/extension/chain-wallet.ts create mode 100644 wallets/okxwallet-extension/src/extension/client.ts create mode 100644 wallets/okxwallet-extension/src/extension/index.ts create mode 100644 wallets/okxwallet-extension/src/extension/main-wallet.ts create mode 100644 wallets/okxwallet-extension/src/extension/registry.ts create mode 100644 wallets/okxwallet-extension/src/extension/types.ts create mode 100644 wallets/okxwallet-extension/src/extension/utils.ts create mode 100644 wallets/okxwallet-extension/src/index.ts create mode 100644 wallets/okxwallet-extension/src/okxwallet.ts create mode 100644 wallets/okxwallet-extension/tsconfig.json create mode 100644 wallets/okxwallet/.editorconfig create mode 100644 wallets/okxwallet/.eslintignore create mode 100644 wallets/okxwallet/.eslintrc.json create mode 100644 wallets/okxwallet/.gitignore create mode 100644 wallets/okxwallet/.npmignore create mode 100644 wallets/okxwallet/.npmrc create mode 100644 wallets/okxwallet/.prettierrc.json create mode 100644 wallets/okxwallet/CHANGELOG.md create mode 100644 wallets/okxwallet/LICENSE create mode 100644 wallets/okxwallet/README.md create mode 100644 wallets/okxwallet/index.ts create mode 100644 wallets/okxwallet/package.json create mode 100644 wallets/okxwallet/src/index.ts create mode 100644 wallets/okxwallet/tsconfig.json create mode 100644 wallets/omni-mobile/.editorconfig create mode 100644 wallets/omni-mobile/.eslintignore create mode 100644 wallets/omni-mobile/.eslintrc.json create mode 100644 wallets/omni-mobile/.gitignore create mode 100644 wallets/omni-mobile/.npmignore create mode 100644 wallets/omni-mobile/.npmrc create mode 100644 wallets/omni-mobile/.prettierrc.json create mode 100644 wallets/omni-mobile/CHANGELOG.md create mode 100644 wallets/omni-mobile/LICENSE create mode 100644 wallets/omni-mobile/README.md create mode 100644 wallets/omni-mobile/index.ts create mode 100644 wallets/omni-mobile/package.json create mode 100644 wallets/omni-mobile/src/config.ts create mode 100644 wallets/omni-mobile/src/constant.ts create mode 100644 wallets/omni-mobile/src/index.ts create mode 100644 wallets/omni-mobile/src/omni.ts create mode 100644 wallets/omni-mobile/src/wallet-connect/chain-wallet.ts create mode 100644 wallets/omni-mobile/src/wallet-connect/client.ts create mode 100644 wallets/omni-mobile/src/wallet-connect/index.ts create mode 100644 wallets/omni-mobile/src/wallet-connect/main-wallet.ts create mode 100644 wallets/omni-mobile/src/wallet-connect/registry.ts create mode 100644 wallets/omni-mobile/tsconfig.json create mode 100644 wallets/omni/.editorconfig create mode 100644 wallets/omni/.eslintignore create mode 100644 wallets/omni/.eslintrc.json create mode 100644 wallets/omni/.gitignore create mode 100644 wallets/omni/.npmignore create mode 100644 wallets/omni/.npmrc create mode 100644 wallets/omni/.prettierrc.json create mode 100644 wallets/omni/CHANGELOG.md create mode 100644 wallets/omni/LICENSE create mode 100644 wallets/omni/README.md create mode 100644 wallets/omni/index.ts create mode 100644 wallets/omni/package.json create mode 100644 wallets/omni/src/index.ts create mode 100644 wallets/omni/tsconfig.json create mode 100644 wallets/owallet-extension/.editorconfig create mode 100644 wallets/owallet-extension/.eslintignore create mode 100644 wallets/owallet-extension/.eslintrc.json create mode 100644 wallets/owallet-extension/.gitignore create mode 100644 wallets/owallet-extension/.npmignore create mode 100644 wallets/owallet-extension/.npmrc create mode 100644 wallets/owallet-extension/.prettierrc.json create mode 100644 wallets/owallet-extension/CHANGELOG.md create mode 100644 wallets/owallet-extension/LICENSE create mode 100644 wallets/owallet-extension/README.md create mode 100644 wallets/owallet-extension/index.ts create mode 100644 wallets/owallet-extension/package.json create mode 100644 wallets/owallet-extension/src/config.ts create mode 100644 wallets/owallet-extension/src/constant.ts create mode 100644 wallets/owallet-extension/src/extension/chain-wallet.ts create mode 100644 wallets/owallet-extension/src/extension/client.ts create mode 100644 wallets/owallet-extension/src/extension/index.ts create mode 100644 wallets/owallet-extension/src/extension/main-wallet.ts create mode 100644 wallets/owallet-extension/src/extension/registry.ts create mode 100644 wallets/owallet-extension/src/extension/utils.ts create mode 100644 wallets/owallet-extension/src/index.ts create mode 100644 wallets/owallet-extension/src/owallet.ts create mode 100644 wallets/owallet-extension/tsconfig.json create mode 100644 wallets/owallet/.editorconfig create mode 100644 wallets/owallet/.eslintignore create mode 100644 wallets/owallet/.eslintrc.json create mode 100644 wallets/owallet/.gitignore create mode 100644 wallets/owallet/.npmignore create mode 100644 wallets/owallet/.npmrc create mode 100644 wallets/owallet/.prettierrc.json create mode 100644 wallets/owallet/CHANGELOG.md create mode 100644 wallets/owallet/LICENSE create mode 100644 wallets/owallet/README.md create mode 100644 wallets/owallet/index.ts create mode 100644 wallets/owallet/package.json create mode 100644 wallets/owallet/src/index.ts create mode 100644 wallets/owallet/tsconfig.json create mode 100644 wallets/shell-extension/.editorconfig create mode 100644 wallets/shell-extension/.eslintignore create mode 100644 wallets/shell-extension/.eslintrc.json create mode 100644 wallets/shell-extension/.gitignore create mode 100644 wallets/shell-extension/.npmignore create mode 100644 wallets/shell-extension/.npmrc create mode 100644 wallets/shell-extension/.prettierrc.json create mode 100644 wallets/shell-extension/CHANGELOG.md create mode 100644 wallets/shell-extension/LICENSE create mode 100644 wallets/shell-extension/README.md create mode 100644 wallets/shell-extension/index.ts create mode 100644 wallets/shell-extension/package.json create mode 100644 wallets/shell-extension/src/config.ts create mode 100644 wallets/shell-extension/src/constant.ts create mode 100644 wallets/shell-extension/src/extension/chain-wallet.ts create mode 100644 wallets/shell-extension/src/extension/client.ts create mode 100644 wallets/shell-extension/src/extension/index.ts create mode 100644 wallets/shell-extension/src/extension/main-wallet.ts create mode 100644 wallets/shell-extension/src/extension/registry.ts create mode 100644 wallets/shell-extension/src/extension/types.ts create mode 100644 wallets/shell-extension/src/extension/utils.ts create mode 100644 wallets/shell-extension/src/index.ts create mode 100644 wallets/shell-extension/src/shell.ts create mode 100644 wallets/shell-extension/tsconfig.json create mode 100644 wallets/shell/.editorconfig create mode 100644 wallets/shell/.eslintignore create mode 100644 wallets/shell/.eslintrc.json create mode 100644 wallets/shell/.gitignore create mode 100644 wallets/shell/.npmignore create mode 100644 wallets/shell/.npmrc create mode 100644 wallets/shell/.prettierrc.json create mode 100644 wallets/shell/CHANGELOG.md create mode 100644 wallets/shell/LICENSE create mode 100644 wallets/shell/README.md create mode 100644 wallets/shell/index.ts create mode 100644 wallets/shell/package.json create mode 100644 wallets/shell/src/index.ts create mode 100644 wallets/shell/tsconfig.json create mode 100644 wallets/station-extension/.editorconfig create mode 100644 wallets/station-extension/.eslintignore create mode 100644 wallets/station-extension/.eslintrc.json create mode 100644 wallets/station-extension/.gitignore create mode 100644 wallets/station-extension/.npmignore create mode 100644 wallets/station-extension/.npmrc create mode 100644 wallets/station-extension/.prettierrc.json create mode 100644 wallets/station-extension/CHANGELOG.md create mode 100644 wallets/station-extension/LICENSE create mode 100644 wallets/station-extension/README.md create mode 100644 wallets/station-extension/index.ts create mode 100644 wallets/station-extension/package.json create mode 100644 wallets/station-extension/src/constant.ts create mode 100644 wallets/station-extension/src/extension/chain-wallet.ts create mode 100644 wallets/station-extension/src/extension/client.ts create mode 100644 wallets/station-extension/src/extension/index.ts create mode 100644 wallets/station-extension/src/extension/main-wallet.ts create mode 100644 wallets/station-extension/src/extension/registry.ts create mode 100644 wallets/station-extension/src/extension/types.ts create mode 100644 wallets/station-extension/src/extension/utils.ts create mode 100644 wallets/station-extension/src/index.ts create mode 100644 wallets/station-extension/src/station.ts create mode 100644 wallets/station-extension/tsconfig.json create mode 100644 wallets/station/.editorconfig create mode 100644 wallets/station/.eslintignore create mode 100644 wallets/station/.eslintrc.json create mode 100644 wallets/station/.gitignore create mode 100644 wallets/station/.prettierrc.json create mode 100644 wallets/station/CHANGELOG.md create mode 100644 wallets/station/README.md create mode 100644 wallets/station/index.ts create mode 100644 wallets/station/package.json create mode 100644 wallets/station/src/index.ts create mode 100644 wallets/station/tsconfig.json create mode 100644 wallets/tailwind-extension/.editorconfig create mode 100644 wallets/tailwind-extension/.eslintignore create mode 100644 wallets/tailwind-extension/.eslintrc.json create mode 100644 wallets/tailwind-extension/.gitignore create mode 100644 wallets/tailwind-extension/.npmignore create mode 100644 wallets/tailwind-extension/.npmrc create mode 100644 wallets/tailwind-extension/.prettierrc.json create mode 100644 wallets/tailwind-extension/CHANGELOG.md create mode 100644 wallets/tailwind-extension/LICENSE create mode 100644 wallets/tailwind-extension/README.md create mode 100644 wallets/tailwind-extension/index.ts create mode 100644 wallets/tailwind-extension/package.json create mode 100644 wallets/tailwind-extension/src/constants.ts create mode 100644 wallets/tailwind-extension/src/extension/index.ts create mode 100644 wallets/tailwind-extension/src/extension/utils.ts create mode 100644 wallets/tailwind-extension/src/extension/wallet.ts create mode 100644 wallets/tailwind-extension/src/index.ts create mode 100644 wallets/tailwind-extension/src/tailwind.ts create mode 100644 wallets/tailwind-extension/tsconfig.json create mode 100644 wallets/tailwind/.editorconfig create mode 100644 wallets/tailwind/.eslintignore create mode 100644 wallets/tailwind/.eslintrc.json create mode 100644 wallets/tailwind/.gitignore create mode 100644 wallets/tailwind/.npmignore create mode 100644 wallets/tailwind/.npmrc create mode 100644 wallets/tailwind/.prettierrc.json create mode 100644 wallets/tailwind/CHANGELOG.md create mode 100644 wallets/tailwind/LICENSE create mode 100644 wallets/tailwind/README.md create mode 100644 wallets/tailwind/index.ts create mode 100644 wallets/tailwind/package.json create mode 100644 wallets/tailwind/src/index.ts create mode 100644 wallets/tailwind/tsconfig.json create mode 100644 wallets/trust-extension/.editorconfig create mode 100644 wallets/trust-extension/.eslintignore create mode 100644 wallets/trust-extension/.eslintrc.json create mode 100644 wallets/trust-extension/.gitignore create mode 100644 wallets/trust-extension/.prettierrc.json create mode 100644 wallets/trust-extension/CHANGELOG.md create mode 100644 wallets/trust-extension/LICENSE create mode 100644 wallets/trust-extension/README.md create mode 100644 wallets/trust-extension/index.ts create mode 100644 wallets/trust-extension/package.json create mode 100644 wallets/trust-extension/src/constant.ts create mode 100644 wallets/trust-extension/src/extension/chain-wallet.ts create mode 100644 wallets/trust-extension/src/extension/client.ts create mode 100644 wallets/trust-extension/src/extension/index.ts create mode 100644 wallets/trust-extension/src/extension/main-wallet.ts create mode 100644 wallets/trust-extension/src/extension/registry.ts create mode 100644 wallets/trust-extension/src/extension/types.ts create mode 100644 wallets/trust-extension/src/extension/utils.ts create mode 100644 wallets/trust-extension/src/index.ts create mode 100644 wallets/trust-extension/src/trust.ts create mode 100644 wallets/trust-extension/tsconfig.json create mode 100644 wallets/trust-mobile/.editorconfig create mode 100644 wallets/trust-mobile/.eslintignore create mode 100644 wallets/trust-mobile/.eslintrc.json create mode 100644 wallets/trust-mobile/.gitignore create mode 100644 wallets/trust-mobile/.npmignore create mode 100644 wallets/trust-mobile/.npmrc create mode 100644 wallets/trust-mobile/.prettierrc.json create mode 100644 wallets/trust-mobile/CHANGELOG.md create mode 100644 wallets/trust-mobile/LICENSE create mode 100644 wallets/trust-mobile/README.md create mode 100644 wallets/trust-mobile/index.ts create mode 100644 wallets/trust-mobile/package.json create mode 100644 wallets/trust-mobile/src/constant.ts create mode 100644 wallets/trust-mobile/src/index.ts create mode 100644 wallets/trust-mobile/src/trust.ts create mode 100644 wallets/trust-mobile/src/wallet-connect/chain-wallet.ts create mode 100644 wallets/trust-mobile/src/wallet-connect/client.ts create mode 100644 wallets/trust-mobile/src/wallet-connect/index.ts create mode 100644 wallets/trust-mobile/src/wallet-connect/main-wallet.ts create mode 100644 wallets/trust-mobile/src/wallet-connect/registry.ts create mode 100644 wallets/trust-mobile/tsconfig.json create mode 100644 wallets/trust/.editorconfig create mode 100644 wallets/trust/.eslintignore create mode 100644 wallets/trust/.eslintrc.json create mode 100644 wallets/trust/.gitignore create mode 100644 wallets/trust/.prettierrc.json create mode 100644 wallets/trust/CHANGELOG.md create mode 100644 wallets/trust/LICENSE create mode 100644 wallets/trust/README.md create mode 100644 wallets/trust/index.ts create mode 100644 wallets/trust/package.json create mode 100644 wallets/trust/src/index.ts create mode 100644 wallets/trust/tsconfig.json create mode 100644 wallets/vectis-extension/.editorconfig create mode 100644 wallets/vectis-extension/.eslintignore create mode 100644 wallets/vectis-extension/.eslintrc.json create mode 100644 wallets/vectis-extension/.gitignore create mode 100644 wallets/vectis-extension/.prettierrc.json create mode 100644 wallets/vectis-extension/CHANGELOG.md create mode 100644 wallets/vectis-extension/README.md create mode 100644 wallets/vectis-extension/index.ts create mode 100644 wallets/vectis-extension/package.json create mode 100644 wallets/vectis-extension/src/constant.ts create mode 100644 wallets/vectis-extension/src/extension/chain-wallet.ts create mode 100644 wallets/vectis-extension/src/extension/client.ts create mode 100644 wallets/vectis-extension/src/extension/index.ts create mode 100644 wallets/vectis-extension/src/extension/main-wallet.ts create mode 100644 wallets/vectis-extension/src/extension/registry.ts create mode 100644 wallets/vectis-extension/src/extension/types.ts create mode 100644 wallets/vectis-extension/src/extension/utils.ts create mode 100644 wallets/vectis-extension/src/index.ts create mode 100644 wallets/vectis-extension/src/vectis.ts create mode 100644 wallets/vectis-extension/tsconfig.json create mode 100644 wallets/vectis/.editorconfig create mode 100644 wallets/vectis/.eslintignore create mode 100644 wallets/vectis/.eslintrc.json create mode 100644 wallets/vectis/.gitignore create mode 100644 wallets/vectis/.prettierrc.json create mode 100644 wallets/vectis/CHANGELOG.md create mode 100644 wallets/vectis/README.md create mode 100644 wallets/vectis/index.ts create mode 100644 wallets/vectis/package.json create mode 100644 wallets/vectis/src/index.ts create mode 100644 wallets/vectis/tsconfig.json create mode 100644 wallets/web3auth/.editorconfig create mode 100644 wallets/web3auth/.eslintignore create mode 100644 wallets/web3auth/.eslintrc.json create mode 100644 wallets/web3auth/.gitignore create mode 100644 wallets/web3auth/.npmignore create mode 100644 wallets/web3auth/.npmrc create mode 100644 wallets/web3auth/.prettierrc.json create mode 100644 wallets/web3auth/CHANGELOG.md create mode 100644 wallets/web3auth/LICENSE create mode 100644 wallets/web3auth/README.md create mode 100644 wallets/web3auth/index.ts create mode 100644 wallets/web3auth/package.json create mode 100644 wallets/web3auth/src/constant.ts create mode 100644 wallets/web3auth/src/extension/chain-wallet.ts create mode 100644 wallets/web3auth/src/extension/client.ts create mode 100644 wallets/web3auth/src/extension/index.ts create mode 100644 wallets/web3auth/src/extension/main-wallet.ts create mode 100644 wallets/web3auth/src/extension/registry.ts create mode 100644 wallets/web3auth/src/extension/signer.ts create mode 100644 wallets/web3auth/src/extension/types.ts create mode 100644 wallets/web3auth/src/extension/utils.ts create mode 100644 wallets/web3auth/src/extension/web3auth.worker.ts create mode 100644 wallets/web3auth/src/index.ts create mode 100644 wallets/web3auth/src/web3auth.ts create mode 100644 wallets/web3auth/tsconfig.json create mode 100644 wallets/xdefi-extension/.editorconfig create mode 100644 wallets/xdefi-extension/.eslintignore create mode 100644 wallets/xdefi-extension/.eslintrc.json create mode 100644 wallets/xdefi-extension/.gitignore create mode 100644 wallets/xdefi-extension/.npmignore create mode 100644 wallets/xdefi-extension/.npmrc create mode 100644 wallets/xdefi-extension/.prettierrc.json create mode 100644 wallets/xdefi-extension/CHANGELOG.md create mode 100644 wallets/xdefi-extension/LICENSE create mode 100644 wallets/xdefi-extension/README.md create mode 100644 wallets/xdefi-extension/index.ts create mode 100644 wallets/xdefi-extension/package.json create mode 100644 wallets/xdefi-extension/src/constant.ts create mode 100644 wallets/xdefi-extension/src/extension/chain-wallet.ts create mode 100644 wallets/xdefi-extension/src/extension/client.ts create mode 100644 wallets/xdefi-extension/src/extension/index.ts create mode 100644 wallets/xdefi-extension/src/extension/main-wallet.ts create mode 100644 wallets/xdefi-extension/src/extension/registry.ts create mode 100644 wallets/xdefi-extension/src/extension/types.ts create mode 100644 wallets/xdefi-extension/src/extension/utils.ts create mode 100644 wallets/xdefi-extension/src/index.ts create mode 100644 wallets/xdefi-extension/src/xdefi.ts create mode 100644 wallets/xdefi-extension/tsconfig.json create mode 100644 wallets/xdefi/.editorconfig create mode 100644 wallets/xdefi/.eslintignore create mode 100644 wallets/xdefi/.eslintrc.json create mode 100644 wallets/xdefi/.gitignore create mode 100644 wallets/xdefi/.npmignore create mode 100644 wallets/xdefi/.npmrc create mode 100644 wallets/xdefi/.prettierrc.json create mode 100644 wallets/xdefi/CHANGELOG.md create mode 100644 wallets/xdefi/LICENSE create mode 100644 wallets/xdefi/README.md create mode 100644 wallets/xdefi/index.ts create mode 100644 wallets/xdefi/package.json create mode 100644 wallets/xdefi/src/index.ts create mode 100644 wallets/xdefi/tsconfig.json diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 000000000..4a7ea3036 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,12 @@ +root = true + +[*] +indent_style = space +indent_size = 2 +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true + +[*.md] +trim_trailing_whitespace = false diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 000000000..1bf410caa --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +* text=auto +*.js text eol=lf \ No newline at end of file diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml new file mode 100644 index 000000000..6ad5a7251 --- /dev/null +++ b/.github/workflows/run-tests.yml @@ -0,0 +1,34 @@ +name: Run Tests + +on: + push: + + pull_request: + types: [opened, reopened] + + workflow_dispatch: + +jobs: + run-tests: + runs-on: ubuntu-latest + steps: + - name: checkout 🛎️ + uses: actions/checkout@v4 + + - name: node + uses: actions/setup-node@v4 + with: + node-version: 20.9.0 + + - name: Deps + run: | + yarn + yarn build + + - name: Test + run: | + cd packages/core && yarn test + + - name: Test React Lite + run: | + cd packages/react-lite && yarn test diff --git a/.gitignore b/.gitignore index cb78b8395..dd9211393 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,4 @@ **/.DS_Store **/dist **/yarn-error.log -lerna-debug.log \ No newline at end of file +lerna-debug.log diff --git a/.gitpod.yml b/.gitpod.yml new file mode 100644 index 000000000..525964b49 --- /dev/null +++ b/.gitpod.yml @@ -0,0 +1,11 @@ +# This configuration file was automatically generated by Gitpod. +# Please adjust to your needs (see https://www.gitpod.io/docs/introduction/learn-gitpod/gitpod-yaml) +# and commit this file to your remote git repository to share the goodness with others. + +# Learn more from ready-to-use templates: https://www.gitpod.io/docs/introduction/getting-started/quickstart + +tasks: + - init: yarn install && yarn run build + command: yarn run watch + + diff --git a/.vscode/cosmos-kit.code-workspace b/.vscode/cosmos-kit.code-workspace new file mode 100644 index 000000000..3d29d530b --- /dev/null +++ b/.vscode/cosmos-kit.code-workspace @@ -0,0 +1,35 @@ +{ + "folders": [ + { + "path": "../packages/core/" + }, + { + "path": "../packages/docs/" + }, + { + "path": "../packages/example/" + }, + { + "path": "../packages/ins/" + }, + { + "path": "../packages/react/" + }, + { + "path": "../packages/react-lite/" + }, + { + "path": "../packages/walletconnect/" + }, + { + "path": "../public/" + }, + { + "path": "../wallets/" + }, + + ], + "settings": { + "jest.jestCommandLine": "yarn test" + } +} diff --git a/.vscode/settings.json b/.vscode/settings.json index 23fd35f0e..f89ed5f1d 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,3 +1,3 @@ { "editor.formatOnSave": true -} \ No newline at end of file +} diff --git a/INTEGRATING-WALLETS.md b/INTEGRATING-WALLETS.md new file mode 100644 index 000000000..c7117fe84 --- /dev/null +++ b/INTEGRATING-WALLETS.md @@ -0,0 +1,5 @@ +# Integrating Wallets + +[supported wallets](https://docs.cosmology.zone/cosmos-kit/integrating-wallets#supported-wallets) + +[How to integrate new wallets into CosmosKit](https://docs.cosmology.zone/cosmos-kit/integrating-wallets/adding-new-wallets) diff --git a/README.md b/README.md index 7c1e4cda6..181be1420 100644 --- a/README.md +++ b/README.md @@ -43,7 +43,6 @@ Checkout these related projects: 🛠 Built by Cosmology — if you like our tools, please consider delegating to [our validator ⚛️](https://cosmology.zone/validator) - ## Disclaimer AS DESCRIBED IN THE LICENSES, THE SOFTWARE IS PROVIDED “AS IS”, AT YOUR OWN RISK, AND WITHOUT WARRANTIES OF ANY KIND. diff --git a/jest.config.js b/jest.config.js new file mode 100644 index 000000000..005e4a82e --- /dev/null +++ b/jest.config.js @@ -0,0 +1,7 @@ +module.exports = { + projects: ['/packages/*/jest.config.js'], + coverageDirectory: '/coverage', + transform: { + '^.+\\.(js|jsx|ts|tsx)$': 'babel-jest', + }, +} diff --git a/lerna.json b/lerna.json index 73dd3434e..3d4861006 100644 --- a/lerna.json +++ b/lerna.json @@ -24,4 +24,4 @@ } }, "useWorkspaces": true -} \ No newline at end of file +} diff --git a/packages/core/.editorconfig b/packages/core/.editorconfig new file mode 100644 index 000000000..4a7ea3036 --- /dev/null +++ b/packages/core/.editorconfig @@ -0,0 +1,12 @@ +root = true + +[*] +indent_style = space +indent_size = 2 +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true + +[*.md] +trim_trailing_whitespace = false diff --git a/packages/core/.eslintignore b/packages/core/.eslintignore new file mode 100644 index 000000000..8f0b997cd --- /dev/null +++ b/packages/core/.eslintignore @@ -0,0 +1,7 @@ +node_modules/ +dist/ +main/ +module/ +./types/ +coverage/ +/index.ts \ No newline at end of file diff --git a/packages/core/.eslintrc.json b/packages/core/.eslintrc.json new file mode 100644 index 000000000..d95fc326b --- /dev/null +++ b/packages/core/.eslintrc.json @@ -0,0 +1,82 @@ +{ + "plugins": [ + "@typescript-eslint", + "simple-import-sort", + "unused-imports" + ], + "extends": [ + "eslint:recommended", + "plugin:@typescript-eslint/recommended", + // configures both eslint-plugin-prettier and eslint-config-prettier + "plugin:prettier/recommended" + ], + "parser": "@typescript-eslint/parser", + "parserOptions": { + "ecmaVersion": 2020, + "sourceType": "module", + "project": "tsconfig.json" + }, + "env": { + "es6": true, + "browser": true, + "node": true, + "jest": true + }, + "rules": { + "simple-import-sort/imports": 2, + "simple-import-sort/exports": 2, + "prettier/prettier": 2, + "unused-imports/no-unused-imports": 2, + "no-console": 1, + "no-debugger": 2, + "no-alert": 2, + "no-await-in-loop": 0, + "no-prototype-builtins": 0, + "no-return-assign": [ + "error", + "except-parens" + ], + "no-restricted-syntax": [ + 2, + "ForInStatement", + "LabeledStatement", + "WithStatement" + ], + "no-unused-vars": 0, + "@typescript-eslint/no-unused-vars": [ + "warn", + { + "argsIgnorePattern": "React|res|next|^_" + } + ], + "prefer-const": [ + "error", + { + "destructuring": "all" + } + ], + "no-unused-expressions": [ + 2, + { + "allowTaggedTemplates": true + } + ], + "comma-dangle": 0, + "jsx-quotes": [ + 2, + "prefer-double" + ], + "linebreak-style": [ + "error", + "unix" + ], + "quotes": [ + 2, + "single", + { + "avoidEscape": true, + "allowTemplateLiterals": true + } + ] + } +} \ No newline at end of file diff --git a/packages/core/.gitignore b/packages/core/.gitignore new file mode 100644 index 000000000..d93985ec4 --- /dev/null +++ b/packages/core/.gitignore @@ -0,0 +1,48 @@ +# Logs +logs +*.log +npm-debug.log* + +# Runtime data +pids +*.pid +*.seed + +# dist +main +module + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage + +# nyc test coverage +.nyc_output + +# Compiled binary addons (http://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules +jspm_packages + +# Optional npm cache directory +.npm + +# Optional REPL history +.node_repl_history + +# Editors +.idea + +# Lib +lib + +# npm package lock +package-lock.json +yarn.lock + +# others +.DS_Store \ No newline at end of file diff --git a/packages/core/.npmignore b/packages/core/.npmignore new file mode 100644 index 000000000..3b1b560cf --- /dev/null +++ b/packages/core/.npmignore @@ -0,0 +1,33 @@ +*.log +npm-debug.log* + +# Coverage directory used by tools like istanbul +coverage +.nyc_output + +# Dependency directories +node_modules + +# npm package lock +package-lock.json +yarn.lock + +# project files +test-utils +__fixtures__ +__tests__ +.babelrc +.babelrc.js +.editorconfig +.eslintignore +.eslintrc +.eslintrc.js +.gitignore +.travis.yml +.vscode +CHANGELOG.md +examples +jest.config.js +package.json +src +test diff --git a/packages/core/.npmrc b/packages/core/.npmrc new file mode 100644 index 000000000..a21347f1b --- /dev/null +++ b/packages/core/.npmrc @@ -0,0 +1 @@ +scripts-prepend-node-path=true \ No newline at end of file diff --git a/packages/core/.prettierrc.json b/packages/core/.prettierrc.json new file mode 100644 index 000000000..4aa2a0dc9 --- /dev/null +++ b/packages/core/.prettierrc.json @@ -0,0 +1,7 @@ +{ + "trailingComma": "es5", + "tabWidth": 2, + "semi": true, + "singleQuote": true, + "useTabs": false +} \ No newline at end of file diff --git a/packages/core/LICENSE b/packages/core/LICENSE new file mode 100644 index 000000000..b3ac161b5 --- /dev/null +++ b/packages/core/LICENSE @@ -0,0 +1,33 @@ +The Clear BSD License + +Copyright (c) 2024 Cosmos Kit Contributors +Copyright (c) 2024 Interweb, Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted (subject to the limitations in the disclaimer +below) provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. + +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY +THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. diff --git a/packages/core/README.md b/packages/core/README.md index 38a7c56ee..c1e5eefd2 100644 --- a/packages/core/README.md +++ b/packages/core/README.md @@ -97,14 +97,14 @@ classDiagram } class KeplrMobileWallet { - + } class LeapExtensionWallet { } class LeapMobileWallet { - + } class CosmosSigner { @@ -118,4 +118,4 @@ classDiagram } -``` \ No newline at end of file +``` diff --git a/packages/core/__tests__/bases/chain-wallet.test.ts b/packages/core/__tests__/bases/chain-wallet.test.ts new file mode 100644 index 000000000..94199b327 --- /dev/null +++ b/packages/core/__tests__/bases/chain-wallet.test.ts @@ -0,0 +1,444 @@ +import { Decimal } from '@cosmjs/math'; +import { EncodeObject } from '@cosmjs/proto-signing'; +import { CosmWasmClient, SigningCosmWasmClientOptions } from '@cosmjs/cosmwasm-stargate'; +import { StargateClientOptions } from '@cosmjs/stargate'; +import { mockExtensionInfo as walletInfo } from '../../test-utils/mock-extension/extension/registry'; +import { chains, assets } from 'chain-registry' +import { AssetList, Chain } from "@chain-registry/types"; +import { ChainWalletBase } from '../../src/bases/chain-wallet'; +import { ChainRecord, Endpoints, State } from '../../src/types'; +import nock from 'nock' +import { nameServiceRegistries } from '../../src/config'; +import { TxRaw } from 'cosmjs-types/cosmos/tx/v1beta1/tx'; + + + +function storageMock() { + let storage = {}; + + return { + setItem: function (key, value) { + storage[key] = value || ''; + }, + getItem: function (key) { + return key in storage ? storage[key] : null; + }, + removeItem: function (key) { + delete storage[key]; + }, + get length() { + return Object.keys(storage).length; + }, + key: function (i) { + const keys = Object.keys(storage); + return keys[i] || null; + } + }; +} + +const storageMockInstance = storageMock() + +// Mock global window object +global.window = { + // @ts-ignore + localStorage: storageMockInstance +} + +describe('ChainWalletBase', () => { + let chainWallet: ChainWalletBase; + let chainMock: Chain; + let assetListMock: AssetList; + let preferredEndpointsMock: Endpoints; + let chainRecordMock: ChainRecord; + let stargateMock: StargateClientOptions = expect.any(Object); + let signingCosmwasmMock: SigningCosmWasmClientOptions = expect.any(Object); + + const stargateClientConnectMock = jest.fn() + const stargateClientConnectWithSignerMock = jest.fn() + const stargateCalculateFeeMock = jest.fn() + jest.mock('@cosmjs/stargate', () => { + return { + StargateClient: { + connect: stargateClientConnectMock, + }, + SigningStargateClient: { + connectWithSigner: stargateClientConnectWithSignerMock + }, + calculateFee: stargateCalculateFeeMock + } + }) + const cosmwasmClientConnectMock = jest.fn() + const cosmwasmClientConnectWithSignerMock = jest.fn() + jest.mock('@cosmjs/cosmwasm-stargate', () => { + return { + CosmWasmClient: { + connect: cosmwasmClientConnectMock + }, + SigningCosmWasmClient: { + connectWithSigner: cosmwasmClientConnectWithSignerMock + } + } + }) + const NameServiceMock = jest.fn() + jest.mock('../../src/name-service.ts', () => { + return { + NameService: NameServiceMock + } + }) + + const slowRpcURL = 'http://fake-rpc-endpoint.slow' + const fastRpcURL = 'http://fake-rpc-endpoint.fast' + const slowRestURL = 'http://fake-rest-endpoint.slow' + const fastRestURL = 'http://fake-rest-endpoint.fast' + + beforeEach(() => { + nock(slowRestURL).get('/cosmos/base/tendermint/v1beta1/node_info').delayConnection(5).reply(200, 'ok') + nock(fastRestURL).get('/cosmos/base/tendermint/v1beta1/node_info').reply(200, 'ok') + nock(slowRpcURL).post('/').delayConnection(5).reply(200, 'ok') + nock(fastRpcURL).post('/').reply(200, 'ok') + }) + + afterAll(() => { + nock.restore() + }) + + beforeEach(() => { + chainMock = chains.find((c) => c.chain_name === 'osmosis') as Chain; + assetListMock = assets.find((a) => a.chain_name === 'osmosis') as AssetList; + preferredEndpointsMock = { + isLazy: false, + rpc: [slowRpcURL, fastRpcURL], + rest: [slowRestURL, fastRestURL] + } + chainRecordMock = { + name: 'osmosis', + chain: chainMock, + assetList: assetListMock, + preferredEndpoints: preferredEndpointsMock, + clientOptions: { + signingStargate: undefined, + stargate: stargateMock, + signingCosmwasm: signingCosmwasmMock + } + }; + chainWallet = new ChainWalletBase(walletInfo, chainRecordMock); + }); + + afterEach(() => { + storageMockInstance.removeItem('cosmos-kit@2:core//accounts'); + }) + + it('should have the correct assets', () => { + expect(chainWallet.assets).toBe(assetListMock.assets); + }); + + it('should have the correct isTestNet', () => { + expect(chainWallet.isTestNet).toBeFalsy(); + }) + + it('should have the correct preferred endpoints', () => { + expect(chainWallet.preferredEndpoints).toBe(preferredEndpointsMock); + }) + + it('should get right rpc endpoint', () => { + expect(chainWallet.rpcEndpoints).toBe(preferredEndpointsMock.rpc); + }) + + it('should get right rest endpoint', () => { + expect(chainWallet.restEndpoints).toBe(preferredEndpointsMock.rest); + }) + + it('should get right isLazy', () => { + expect(chainWallet.isLazy).toBe(preferredEndpointsMock.isLazy); + }) + + it('should have the correct addEndpoints function', () => { + const newEndpoints = { + isLazy: true, + rpc: ['http://rpc.testnet.osmosis.zone:26657'], + } + chainWallet.addEndpoints(newEndpoints); + expect(chainWallet.preferredEndpoints.rpc?.length).toEqual(3); + }) + + it('should have the correct chain name', () => { + expect(chainWallet.chainName).toBe(chainRecordMock.name); + }) + + it('should have the correct chain logo URL', () => { + expect(chainWallet.chainLogoUrl).toBe(assetListMock.assets[0]?.logo_URIs?.svg || assetListMock.assets[0].logo_URIs?.png || undefined); + }); + + it('should have the correct chain ID', () => { + expect(chainWallet.chainId).toBe(chainMock.chain_id); + }); + + it('should have the stargateOptions', () => { + expect(chainWallet.stargateOptions).toEqual(chainRecordMock.clientOptions?.stargate); + }) + + it('should have the correct signing options', () => { + expect(chainWallet.signingStargateOptions).toEqual(chainRecordMock.clientOptions?.stargate) + }); + + it('should have the correct signing cosmwasm options', () => { + expect(chainWallet.signingCosmwasmOptions).toEqual(chainRecordMock.clientOptions?.signingCosmwasm); + }) + + it('should have the correct assets', () => { + expect(chainWallet.assets).toEqual(assetListMock.assets); + }) + + it('should have the correct chainId', () => { + expect(chainWallet.chainId).toBe(chainMock.chain_id); + }) + + it('should have cosmwasm enabled', () => { + expect(chainWallet.cosmwasmEnabled).toBe(chainMock.codebase?.cosmwasm_enabled); + }); + + it('should have the correct address', () => { + const mockData = { + namespace: 'cosmos', + chainId: 'cosmoshub-4', + address: 'cosmos1...' + }; + chainWallet.setData(mockData) + expect(chainWallet.address).toBe(mockData.address); + }) + + it('should have the correct namespace', () => { + const mockData = { + namespace: 'cosmos', + chainId: 'cosmoshub-4', + address: 'cosmos1...' + }; + chainWallet.setData(mockData) + expect(chainWallet.namespace).toBe(mockData.namespace); + }) + + it('should set Data correctly', () => { + const data = { + namespace: 'cosmos', + chainId: 'cosmoshub-4', + address: 'cosmos1...' + }; + + const localStorageSetItemMock = jest.spyOn(window.localStorage, 'setItem'); + chainWallet.setData(data); + expect(chainWallet.mutable.data).toEqual(data); + expect(localStorageSetItemMock).toHaveBeenCalled() + expect(window.localStorage.getItem('cosmos-kit@2:core//accounts')).toEqual(JSON.stringify([data])); + }) + + it('should throw an error when calling initClient', () => { + expect(() => chainWallet.initClient()).toThrow('initClient not implemented'); + }); + + it('should update state and data correctly', async () => { + const mockData = { + namespace: 'cosmos', + chainId: 'cosmoshub-4', + address: 'cosmos1...' + }; + jest.spyOn(chainWallet, 'client', 'get').mockReturnValue({ + getSimpleAccount: jest.fn().mockResolvedValue(mockData), + }); + const setStateMock = jest.spyOn(chainWallet, 'setState') + await chainWallet.update(); + + expect(setStateMock.mock.calls[0][0]).toBe(State.Pending); + expect(setStateMock.mock.calls[1][0]).toBe(State.Done); + expect(chainWallet.data.namespace).toBe(mockData.namespace); + }); + + it('should set error state when update failed', async () => { + const errorMessageFromWalletInfo = (walletInfo.rejectMessage as { source: string }).source + const mockError = new Error(errorMessageFromWalletInfo); + jest.spyOn(chainWallet, 'client', 'get').mockReturnValue({ + getSimpleAccount: jest.fn().mockRejectedValue(mockError), + }) + expect(chainWallet.state).toBe(State.Init); + await chainWallet.update(); + expect(chainWallet.state).toBe(State.Error); + expect(chainWallet.rejectMessageSource).toBe(errorMessageFromWalletInfo); + expect(chainWallet.rejectMatched(mockError)).toBeTruthy() + }); + + it('should call connectChains when update passing connect: true', () => { + const connectChainsMockFn = jest.fn() + chainWallet.connectChains = connectChainsMockFn; + chainWallet.update({ connect: true }); + expect(connectChainsMockFn).toHaveBeenCalled() + }) + + it('should get rpc endpoint', async () => { + expect(await chainWallet.getRpcEndpoint(true)).toBe(slowRpcURL); + }) + + it('should get rest endpoint', async () => { + expect(await chainWallet.getRestEndpoint(true)).toBe(slowRestURL); + }) + + it('should get fastest rpc endpoint', async () => { + expect(await chainWallet.getRpcEndpoint()).toBe(fastRpcURL); + }) + + it('should get fastest rest endpoint', async () => { + expect(await chainWallet.getRestEndpoint()).toBe(fastRestURL); + }) + + it('should call getStargateClient correctly', async () => { + await chainWallet.getStargateClient() + expect(stargateClientConnectMock).toHaveBeenCalledWith(fastRpcURL, stargateMock) + }) + + it('should call getCosmWasmClient correctly', async () => { + await chainWallet.getCosmWasmClient() + expect(cosmwasmClientConnectMock).toHaveBeenCalledWith(fastRpcURL) + }) + + it('should call getNameService correctly', async () => { + const clientMock = expect.any(CosmWasmClient) + chainWallet.getCosmWasmClient = jest.fn().mockResolvedValue(clientMock) + await chainWallet.getNameService() + expect(NameServiceMock).toBeCalledWith(clientMock, nameServiceRegistries[0]) + }) + + it('should call initOfflineSigner correctly', async () => { + expect(() => chainWallet.initOfflineSigner()).rejects.toThrow('WalletClient is not initialized') + //mock initial client + const walletClient = { + getSimpleAccount: jest.fn(), + getOfflineSigner: jest.fn(), + } + jest.spyOn(chainWallet, 'client', 'get').mockReturnValue(walletClient); + await chainWallet.initOfflineSigner('amino') + expect(chainWallet.preferredSignType).toBe('amino') + expect(chainWallet.client.getOfflineSigner).toHaveBeenCalledWith(chainWallet.chainId, 'amino') + }) + + it('should call getSigningStargateClient correctly', async () => { + //mock initial client + const walletClient = { + getSimpleAccount: jest.fn(), + getOfflineSigner: jest.fn(), + } + chainWallet.offlineSigner = { getAccounts: jest.fn(), signAmino: jest.fn() } + jest.spyOn(chainWallet, 'client', 'get').mockReturnValue(walletClient); + await chainWallet.getSigningStargateClient() + expect(stargateClientConnectWithSignerMock).toBeCalledWith(fastRpcURL, chainWallet.offlineSigner, signingCosmwasmMock) + }) + + it('should call getSigningCosmWasmClient correctly', async () => { + //mock initial client + const walletClient = { + getSimpleAccount: jest.fn(), + getOfflineSigner: jest.fn(), + } + jest.spyOn(chainWallet, 'client', 'get').mockReturnValue(walletClient); + + //without offlineSigner + chainWallet.initOfflineSigner = jest.fn() + await chainWallet.getSigningCosmWasmClient() + expect(chainWallet.initOfflineSigner).toBeCalled() + + //with offlineSigner + chainWallet.offlineSigner = { getAccounts: jest.fn(), signAmino: jest.fn() } + await chainWallet.getSigningCosmWasmClient() + expect(cosmwasmClientConnectWithSignerMock).toBeCalledWith(fastRpcURL, chainWallet.offlineSigner, signingCosmwasmMock) + }) + + it('should call estimateFee correctly', async () => { + const encode: EncodeObject[] = [{ + typeUrl: 'typeUrl', + value: 'value' + }] + expect(() => chainWallet.estimateFee(encode)).rejects.toThrow('Address is required to estimate fee. Try connect to fetch address.') + + jest.spyOn(chainWallet, 'address', 'get').mockReturnValue('cosmos1...') + expect(() => chainWallet.estimateFee(encode)).rejects.toThrow("Gas price must be set in the client options when auto gas is used.") + + const stargateGasPrice = { + amount: expect.any(Decimal), + denom: 'uatom' + } + const simulateMock = jest.fn().mockResolvedValue(10000) + jest.spyOn(chainWallet, 'signingStargateOptions', 'get').mockReturnValue({ + gasPrice: stargateGasPrice + }) + jest.spyOn(chainWallet, 'getSigningStargateClient').mockResolvedValue({ + simulate: simulateMock + } as any) + await chainWallet.estimateFee(encode, 'stargate', 'memo', 5) + expect(simulateMock).toBeCalledWith("cosmos1...", encode, expect.any(String)) + expect(stargateCalculateFeeMock).toBeCalledWith(5 * 10000, stargateGasPrice) + }) + + it('should call sign correctly', async () => { + const encode: EncodeObject[] = [{ + typeUrl: 'typeUrl', + value: 'value' + }] + expect(() => chainWallet.sign(encode)).rejects.toThrow('Address is required to estimate fee. Try connect to fetch address.') + + const signMock = jest.fn() + const estimateFee = { amount: { denom: 'uatom', amount: 1000 } } as any + jest.spyOn(chainWallet, 'getSigningStargateClient').mockResolvedValue({ + sign: signMock + } as any) + jest.spyOn(chainWallet, 'address', 'get').mockReturnValue('cosmos1...') + jest.spyOn(chainWallet, 'estimateFee').mockResolvedValue(estimateFee) + + await chainWallet.sign(encode, 1000, 'memo', 'stargate') + expect(signMock).toBeCalledWith('cosmos1...', encode, estimateFee, 'memo') + + const fee = { amount: [{ denom: 'uatom', amount: '100000' }], gas: 'gas' } + await chainWallet.sign(encode, fee, 'memo', 'stargate') + expect(signMock).toBeCalledWith('cosmos1...', encode, fee, 'memo') + }) + + + it('should call broadcast correctly', async () => { + const broadcastTxMock = jest.fn() + const txRaw = { typeUrl: 'typeUrl' } as unknown as TxRaw + const signingStargateOptions = { + broadcastTimeoutMs: 1, + broadcastPollIntervalMs: 11 + } + + jest.spyOn(chainWallet, 'getSigningStargateClient').mockResolvedValue({ + broadcastTx: broadcastTxMock + } as any) + jest.mock('cosmjs-types/cosmos/tx/v1beta1/tx', () => ({ + TxRaw: { + encode: jest.fn().mockImplementation(() => ({ + finish: jest.fn().mockReturnValue('txRaw') + })) + } + })) + jest.spyOn(chainWallet, 'signingStargateOptions', 'get').mockReturnValue(signingStargateOptions) + + await chainWallet.broadcast(txRaw) + expect(broadcastTxMock).toBeCalledWith( + 'txRaw', + signingStargateOptions.broadcastTimeoutMs, + signingStargateOptions.broadcastPollIntervalMs + ) + }) + + it('should call signAndBroadcast correctly', async () => { + const encode: EncodeObject[] = [{ + typeUrl: 'typeUrl', + value: 'value' + }] + chainWallet.sign = jest.fn().mockResolvedValue('txRaw') + chainWallet.broadcast = jest.fn() + await chainWallet.signAndBroadcast(encode, 1000, 'memo', 'stargate') + + expect(chainWallet.sign).toBeCalledWith(encode, 1000, 'memo', 'stargate') + expect(chainWallet.broadcast).toBeCalledWith('txRaw', 'stargate') + }) + +}); + diff --git a/packages/core/__tests__/bases/main-wallet.test.ts b/packages/core/__tests__/bases/main-wallet.test.ts new file mode 100644 index 000000000..df38a5358 --- /dev/null +++ b/packages/core/__tests__/bases/main-wallet.test.ts @@ -0,0 +1,387 @@ + +import { AssetList, Chain } from '@chain-registry/types'; +import { ChainRecord, EndpointOptions, Endpoints, State, WalletStatus } from '../../src/types'; +import { mockExtensionInfo as walletInfo } from '../../test-utils/mock-extension/extension/registry'; +import { StargateClientOptions } from '@cosmjs/stargate'; +import { SigningCosmWasmClientOptions } from '@cosmjs/cosmwasm-stargate'; +import { ChainMockExtension } from '../../test-utils/mock-extension/extension/chain-wallet'; +import { MockExtensionWallet } from '../../test-utils/mock-extension/extension/main-wallet'; +import { ChainWalletBase } from '../../src/bases'; +import { COSMIFRAME_WALLET_ID } from '../../src/cosmiframe/constants'; + +function storageMock() { + let storage = {}; + + return { + setItem: function (key, value) { + storage[key] = value || ''; + }, + getItem: function (key) { + return key in storage ? storage[key] : null; + }, + removeItem: function (key) { + delete storage[key]; + }, + get length() { + return Object.keys(storage).length; + }, + key: function (i) { + const keys = Object.keys(storage); + return keys[i] || null; + } + }; +} + +const storageMockInstance = storageMock() + +// Mock global window object +global.window = { + // @ts-ignore + localStorage: storageMockInstance +} + + +describe('MainWalletBase', () => { + let mainWallet: MockExtensionWallet; + let chainWallet: ChainMockExtension; + let chainRecordMock: ChainRecord; + + + let chainMock: Chain; + let assetListMock: AssetList; + let preferredEndpointsMock: Endpoints; + let stargateMock: StargateClientOptions = expect.any(Object); + let signingCosmwasmMock: SigningCosmWasmClientOptions = expect.any(Object); + + + beforeEach(() => { + chainRecordMock = { + name: 'osmosis', + chain: chainMock, + assetList: assetListMock, + preferredEndpoints: preferredEndpointsMock, + clientOptions: { + signingStargate: undefined, + stargate: stargateMock, + signingCosmwasm: signingCosmwasmMock + } + }; + chainWallet = new ChainMockExtension(walletInfo, chainRecordMock); + mainWallet = new MockExtensionWallet(walletInfo); + }); + + afterEach(() => { + jest.clearAllMocks(); + }); + + it('should initialize MainWalletBase', () => { + expect(mainWallet).toBeDefined(); + expect(mainWallet.ChainWallet).toBe(ChainMockExtension); + expect(mainWallet.emitter).toBeDefined(); + expect(mainWallet.preferredEndpoints).toBeUndefined(); + }); + + it('should initialize the client when calling initingClient', () => { + const actionsMock = { + clientState: jest.fn(), + clientMessage: jest.fn(), + } + const initingClientMock1 = jest.fn() + const initingClientMock2 = jest.fn() + + jest.spyOn(mainWallet, 'chainWalletMap', 'get').mockReturnValue(new Map([ + ['osmosis1', { initingClient: initingClientMock1 } as any], + ['osmosis2', { initingClient: initingClientMock2 } as any] + ])) + mainWallet.setActions(actionsMock) + mainWallet.initingClient(); + expect(mainWallet.clientMutable.state).toBe(State.Pending) + expect(mainWallet.clientMutable.message).toBeUndefined(); + expect(mainWallet.clientMutable.data).toBeUndefined(); + expect(mainWallet.actions?.clientState).toHaveBeenCalledWith(State.Pending); + expect(mainWallet.actions?.clientMessage).toHaveBeenCalledWith(undefined); + expect(initingClientMock1).toHaveBeenCalled(); + expect(initingClientMock2).toHaveBeenCalled(); + }); + + it('should initialize the client when calling initingDone', () => { + const actionsMock = { + clientState: jest.fn(), + clientMessage: jest.fn(), + } + const initClientDoneMock1 = jest.fn() + const initClientDoneMock2 = jest.fn() + + jest.spyOn(mainWallet, 'chainWalletMap', 'get').mockReturnValue(new Map([ + ['osmosis1', { initClientDone: initClientDoneMock1 } as any], + ['osmosis2', { initClientDone: initClientDoneMock2 } as any] + ])) + + mainWallet.setActions(actionsMock) + const walletClient = {} as any + mainWallet.initClientDone(walletClient); + expect(mainWallet.clientMutable.state).toBe(State.Done) + expect(mainWallet.clientMutable.message).toBeUndefined(); + expect(mainWallet.clientMutable.data).toBe(walletClient); + expect(mainWallet.actions?.clientState).toHaveBeenCalledWith(State.Done); + expect(mainWallet.actions?.clientMessage).toHaveBeenCalledWith(undefined); + expect(initClientDoneMock1).toHaveBeenCalledWith(walletClient); + expect(initClientDoneMock2).toHaveBeenCalledWith(walletClient); + }); + + it('should initialize the client when calling initClientError', () => { + const actionsMock = { + clientState: jest.fn(), + clientMessage: jest.fn(), + } + const initClientErrorMock1 = jest.fn() + const initClientErrorMock2 = jest.fn() + + jest.spyOn(mainWallet, 'chainWalletMap', 'get').mockReturnValue(new Map([ + ['osmosis1', { initClientError: initClientErrorMock1 } as any], + ['osmosis2', { initClientError: initClientErrorMock2 } as any] + ])) + + mainWallet.setActions(actionsMock) + const error = new Error('error when initializing client') + mainWallet.initClientError(error); + expect(mainWallet.clientMutable.state).toBe(State.Error) + expect(mainWallet.clientMutable.message).toBe(error.message); + expect(mainWallet.actions?.clientState).toBeCalledWith(State.Error); + expect(mainWallet.actions?.clientMessage).toBeCalledWith(error.message); + expect(initClientErrorMock1).toHaveBeenCalledWith(error); + expect(initClientErrorMock2).toHaveBeenCalledWith(error); + }); + + it('should add endpoints to chain wallets', () => { + const endpoints: EndpointOptions['endpoints'] = { + 'chain1': { + rpc: ['https://rpc.chain1.com'], + rest: ['https://rest.chain1.com'], + }, + 'chain2': { + rpc: ['https://rpc.chain2.com'], + rest: ['https://rest.chain2.com'], + }, + } + const wallet1 = { chainName: 'chain1', addEndpoints: jest.fn() } + const wallet2 = { chainName: 'chain2', addEndpoints: jest.fn() } + jest.spyOn(mainWallet, 'getChainWalletList').mockReturnValue([ + wallet1, wallet2 + ] as any[]) + mainWallet.addEnpoints(endpoints); + expect(wallet1.addEndpoints).toHaveBeenCalledWith(endpoints[wallet1.chainName]); + expect(wallet2.addEndpoints).toHaveBeenCalledWith(endpoints[wallet2.chainName]); + }); + + it('should set chains', () => { + const chains = [ + { + name: 'chain1', + preferredEndpoints: { + rpc: ['https://rpc.chain1.com'], + rest: ['https://rest.chain1.com'], + }, + isLazy: true + }, + { + name: 'chain2', + preferredEndpoints: { + rpc: ['https://rpc.chain2.com'], + rest: ['https://rest.chain2.com'], + }, + }, + ]; + mainWallet.setChains(chains); + expect(mainWallet.chainWalletMap).toBeDefined(); + expect(mainWallet.chainWalletMap?.size).toBe(2); + const chainWallet1 = mainWallet.getChainWallet('chain1'); + const chainWallet2 = mainWallet.getChainWallet('chain2'); + expect(chainWallet1).toBeDefined(); + expect(chainWallet2).toBeDefined(); + expect(chainWallet1?.chainName).toBe('chain1'); + expect(chainWallet2?.chainName).toBe('chain2'); + expect(chainWallet1?.preferredEndpoints).toEqual({ + rpc: ['https://rpc.chain1.com', 'https://rpc.cosmos.directory/chain1'], + rest: ['https://rest.chain1.com', 'https://rest.cosmos.directory/chain1'], + }); + expect(chainWallet2?.preferredEndpoints).toEqual({ + rpc: ['https://rpc.chain2.com', 'https://rpc.cosmos.directory/chain2'], + rest: ['https://rest.chain2.com', 'https://rest.cosmos.directory/chain2'], + }); + }); + + + it('should get chain wallet', () => { + const chainWallet1: ChainWalletBase = { chainName: 'chain1' } as any; + const chainWallet2: ChainWalletBase = { chainName: 'chain2' } as any; + jest.spyOn(mainWallet, 'chainWalletMap', 'get').mockReturnValue( + new Map([ + ['chain1', chainWallet1], + ['chain2', chainWallet2], + ]) + ); + + const result1 = mainWallet.getChainWallet('chain1'); + const result2 = mainWallet.getChainWallet('chain2'); + const result3 = mainWallet.getChainWallet('chain3'); + + expect(result1).toBe(chainWallet1); + expect(result2).toBe(chainWallet2); + expect(result3).toBeUndefined(); + }); + + it('should get chain wallet list', () => { + const chainWallet1: ChainWalletBase = { chainName: 'chain1', isActive: true } as any; + const chainWallet2: ChainWalletBase = { chainName: 'chain2', isActive: false } as any; + const chainWallet3: ChainWalletBase = { chainName: 'chain3', isActive: true } as any; + chainWallet1.isActive = true; + chainWallet2.isActive = false; + chainWallet3.isActive = true; + jest.spyOn(mainWallet, 'chainWalletMap', 'get').mockReturnValue( + new Map([ + ['chain1', chainWallet1], + ['chain2', chainWallet2], + ['chain3', chainWallet3], + ]) + ) + const activeChainWallets = mainWallet.getChainWalletList(true); + const allChainWallets = mainWallet.getChainWalletList(false); + expect(activeChainWallets).toHaveLength(2); + expect(activeChainWallets).toContain(chainWallet1); + expect(activeChainWallets).toContain(chainWallet3); + expect(allChainWallets).toHaveLength(3); + expect(allChainWallets).toContain(chainWallet1); + expect(allChainWallets).toContain(chainWallet2); + expect(allChainWallets).toContain(chainWallet3); + }); + + it('should get global status and message', () => { + let status, message + const chainWalletConnected: ChainWalletBase = { walletStatus: WalletStatus.Connected, isWalletNotExist: false, message: 'Chain 1 connected' } as any; + const chainWalletNotExist: ChainWalletBase = { walletStatus: WalletStatus.NotExist, isWalletNotExist: true, message: 'Chain 2 not exist' } as any; + const chainWalletConnecting: ChainWalletBase = { walletStatus: WalletStatus.Connecting, isWalletConnecting: true } as any; + const chainWalletDisconnected: ChainWalletBase = { walletStatus: WalletStatus.Disconnected, isWalletDisconnected: true } as any; + const chainWalletReject: ChainWalletBase = { walletStatus: WalletStatus.Rejected, isWalletRejected: true, message: 'Chain 5 rejected' } as any; + const chainWalletError: ChainWalletBase = { walletStatus: WalletStatus.Error, isError: true, message: 'Chain 6 error' } as any; + + jest.spyOn(mainWallet, 'getChainWalletList').mockReturnValue([ + chainWalletConnected + ]); + [status, message] = mainWallet.getGlobalStatusAndMessage(); + expect(status).toBe(WalletStatus.Connected); + expect(message).toBeUndefined(); + + jest.spyOn(mainWallet, 'getChainWalletList').mockReturnValue([ + chainWalletConnected, + chainWalletNotExist + ]); + [status, message] = mainWallet.getGlobalStatusAndMessage(); + expect(status).toBe(chainWalletNotExist.walletStatus); + expect(message).toBe(chainWalletNotExist.message); + + jest.spyOn(mainWallet, 'getChainWalletList').mockReturnValue([ + chainWalletConnected, + chainWalletConnecting + ]); + [status, message] = mainWallet.getGlobalStatusAndMessage(); + expect(status).toBe(chainWalletConnecting.walletStatus); + expect(message).toBeUndefined(); + + jest.spyOn(mainWallet, 'getChainWalletList').mockReturnValue([ + chainWalletConnected, + chainWalletDisconnected + ]); + [status, message] = mainWallet.getGlobalStatusAndMessage(); + expect(status).toBe(chainWalletDisconnected.walletStatus); + expect(message).toBe('Exist disconnected wallets') + + jest.spyOn(mainWallet, 'getChainWalletList').mockReturnValue([ + chainWalletConnected, + chainWalletReject + ]); + [status, message] = mainWallet.getGlobalStatusAndMessage(); + expect(status).toBe(chainWalletReject.walletStatus); + expect(message).toBe(chainWalletReject.message); + + jest.spyOn(mainWallet, 'getChainWalletList').mockReturnValue([ + chainWalletConnected, + chainWalletError + ]); + [status, message] = mainWallet.getGlobalStatusAndMessage(); + expect(status).toBe(chainWalletError.walletStatus); + expect(message).toBe(chainWalletError.message); + + }); + + it('should update main wallet', async () => { + jest.spyOn(mainWallet, 'setData') + jest.spyOn(mainWallet, 'setMessage') + jest.spyOn(mainWallet, 'setState') + jest.spyOn(mainWallet, 'activate') + jest.spyOn(window.localStorage, 'setItem'); + await mainWallet.update(); + expect(mainWallet.setData).toBeCalledWith(undefined); + expect(mainWallet.setMessage).toBeCalledWith(undefined); + expect(mainWallet.setState).toBeCalledWith('Done'); + expect(mainWallet.activate).toBeCalledWith(); + expect(window.localStorage.setItem).toBeCalledWith('cosmos-kit@2:core//current-wallet', 'mock-extension'); + + jest.spyOn(mainWallet, 'walletStatus', 'get').mockReturnValue(WalletStatus.NotExist); + jest.spyOn(window.localStorage, 'removeItem'); + await mainWallet.update(); + expect(window.localStorage.removeItem).toBeCalledWith('cosmos-kit@2:core//current-wallet'); + }); + + it('should reset main wallet', () => { + jest.spyOn(mainWallet, 'setData') + jest.spyOn(mainWallet, 'setMessage') + jest.spyOn(mainWallet, 'setState') + jest.spyOn(mainWallet, 'inactivate') + mainWallet.reset(); + expect(mainWallet.setData).toBeCalledWith(undefined); + expect(mainWallet.setMessage).toBeCalledWith(undefined); + expect(mainWallet.setState).toBeCalledWith('Init'); + expect(mainWallet.inactivate).toBeCalled(); + }); + + it('should connect all chain wallets', async () => { + const mobileChainWallet1: ChainWalletBase = { isModeWalletConnect: true, connectChains: () => { } } as any; + const mobileChainWallet2: ChainWalletBase = { isModeWalletConnect: true, connectChains: () => { } } as any; + + const chainWallet1: ChainWalletBase = { chainName: 'chain1', connect: jest.fn() } as any; + const chainWallet2: ChainWalletBase = { chainName: 'chain1', connect: jest.fn() } as any; + const chainWalletExclude: ChainWalletBase = { chainName: 'excludeChainName', connect: jest.fn() } as any; + + jest.spyOn(mainWallet, 'getChainWalletList').mockReturnValue([ + mobileChainWallet1, mobileChainWallet2 + ]) + + expect(await mainWallet.connectAll()).toBeUndefined() + + jest.spyOn(mainWallet, 'getChainWalletList').mockReturnValue([ + chainWallet1, chainWallet2, chainWalletExclude + ]) + await mainWallet.connectAll(true, 'excludeChainName') + expect(chainWallet1.connect).toBeCalled() + expect(chainWallet2.connect).toBeCalled() + expect(chainWalletExclude.connect).not.toBeCalled() + }); + + + it('should disconnect all chain wallets', async () => { + const chainWallet1: ChainWalletBase = { chainName: 'chain1', disconnect: jest.fn() } as any; + const chainWallet2: ChainWalletBase = { chainName: 'chain2', disconnect: jest.fn() } as any; + const chainWallet3: ChainWalletBase = { chainName: 'excludeChainName', disconnect: jest.fn() } as any; + + jest.spyOn(mainWallet, 'getChainWalletList').mockReturnValue([ + chainWallet1, chainWallet2, chainWallet3 + ]) + const disconnectOption = { walletconnect: { removeAllPairings: true } } + await mainWallet.disconnectAll(true, 'excludeChainName', disconnectOption); + expect(chainWallet1.disconnect).toBeCalledWith(false, disconnectOption); + expect(chainWallet1.disconnect).toBeCalledWith(false, disconnectOption); + expect(chainWallet3.disconnect).not.toBeCalled(); + }); + +}); diff --git a/packages/core/__tests__/bases/state.test.ts b/packages/core/__tests__/bases/state.test.ts new file mode 100644 index 000000000..b3fb9d575 --- /dev/null +++ b/packages/core/__tests__/bases/state.test.ts @@ -0,0 +1,135 @@ +import { StateBase } from '../../src/bases/state'; +import { DappEnv, State, WalletStatus } from '../../src/types'; + +describe('StateBase', () => { + let stateBase: StateBase; + beforeEach(() => { + stateBase = new StateBase(); + }); + + it('should initialize with state "Init"', () => { + expect(stateBase.state).toBe('Init'); + }); + + it('should set the state', () => { + stateBase.setState(State.Done); + expect(stateBase.state).toBe('Done'); + }); + + it('should set the data', () => { + const data = { foo: 'bar' }; + stateBase.setData(data); + expect(stateBase.data).toBe(data); + }); + + it('should set the message', () => { + const message = 'Hello, world!'; + stateBase.setMessage(message); + expect(stateBase.message).toBe(message); + }); + + it('should reset the state, data, and message', () => { + stateBase.setState(State.Done); + stateBase.setData({ foo: 'bar' }); + stateBase.setMessage('Hello, world!'); + stateBase.reset(); + expect(stateBase.state).toBe('Init'); + expect(stateBase.data).toBeUndefined(); + expect(stateBase.message).toBeUndefined(); + }); + + it('should set the environment', () => { + const env = { + device: 'desktop', + os: 'macos', + browser: 'chrome', + }; + stateBase.setEnv(env as DappEnv); + expect(stateBase.env).toBe(env); + }); + + it('should set the actions', () => { + const actions = { action1: jest.fn(), action2: jest.fn() }; + stateBase.setActions(actions); + expect(stateBase.actions).toBe(actions); + }); + + it('should check if it is mobile', () => { + // Mock the isMobile function + jest.spyOn(stateBase, 'env', 'get').mockReturnValue({ device: 'mobile' }); + expect(stateBase.isMobile).toBe(true); + }); + + it('should check if it is initialized', () => { + // Mock the isInit function + jest.spyOn(stateBase, 'state', 'get').mockReturnValue(State.Init); + expect(stateBase.isInit).toBe(true); + }); + + it('should check if it is done', () => { + // Mock the isDone function + jest.spyOn(stateBase, 'state', 'get').mockReturnValue(State.Done); + expect(stateBase.isDone).toBe(true); + }); + + it('should check if there is an error', () => { + // Mock the isError function + jest.spyOn(stateBase, 'state', 'get').mockReturnValue(State.Error); + expect(stateBase.isError).toBe(true); + }); + + it('should check if it is pending', () => { + // Mock the isPending function + jest.spyOn(stateBase, 'state', 'get').mockReturnValue(State.Pending); + expect(stateBase.isPending).toBe(true); + }); + + it('should get the wallet status', async () => { + let walletStatus: WalletStatus = WalletStatus.Disconnected; + // Mock the walletStatus function + expect(stateBase.walletStatus).toBe(walletStatus); + }); + + it('should check if the wallet is once connected', () => { + // Mock the isWalletOnceConnect function + jest.spyOn(stateBase, 'isWalletOnceConnect', 'get').mockReturnValue(true); + expect(stateBase.isWalletOnceConnect).toBe(true); + }); + + it('should check if the wallet is connecting', () => { + // Mock the isWalletConnecting function + jest.spyOn(stateBase, 'walletStatus', 'get').mockReturnValue(WalletStatus.Connecting); + expect(stateBase.isWalletConnecting).toBe(true); + }); + + it('should check if the wallet is connected', () => { + // Mock the isWalletConnected function + jest.spyOn(stateBase, 'walletStatus', 'get').mockReturnValue(WalletStatus.Connected); + expect(stateBase.isWalletConnected).toBe(true); + }); + + it('should check if the wallet is disconnected', () => { + // Mock the isWalletDisconnected function + jest.spyOn(stateBase, 'walletStatus', 'get').mockReturnValue(WalletStatus.Disconnected); + expect(stateBase.isWalletDisconnected).toBe(true); + }); + + it('should check if the wallet is rejected', () => { + // Mock the isWalletRejected function + jest.spyOn(stateBase, 'walletStatus', 'get').mockReturnValue(WalletStatus.Rejected); + expect(stateBase.isWalletRejected).toBe(true); + }); + + it('should check if the wallet does not exist', () => { + // Mock the isWalletNotExist function + jest.spyOn(stateBase, 'walletStatus', 'get').mockReturnValue(WalletStatus.NotExist); + expect(stateBase.isWalletNotExist).toBe(true); + }); + + it('should check if there is a wallet error', () => { + // Mock the isWalletError function + jest.spyOn(stateBase, 'walletStatus', 'get').mockReturnValue(WalletStatus.Error); + expect(stateBase.isWalletError).toBe(true); + }); + +}); diff --git a/packages/core/__tests__/bases/wallet.test.ts b/packages/core/__tests__/bases/wallet.test.ts new file mode 100644 index 000000000..d92eba2ad --- /dev/null +++ b/packages/core/__tests__/bases/wallet.test.ts @@ -0,0 +1,302 @@ +import { WalletBase } from '../../src/bases' +import { mockExtensionInfo as walletInfo } from '../../test-utils/mock-extension/extension/registry'; +import { Callbacks, DisconnectOptions, State, WalletClient } from '../../src/types'; // Replace 'path/to/callbacks' with the actual path to the Callbacks type +import { EventEmitter } from 'stream'; +import { ClientNotExistError, ConnectError, RejectedError } from '../../src/utils'; + +class WalletBaseImplement extends WalletBase { + chainName: string; + initClient(options?: any): void | Promise { + throw new Error('Method not implemented.'); + } + update(): void | Promise { + throw new Error('Method not implemented.'); + } +} + +function storageMock() { + let storage = {}; + + return { + setItem: function (key, value) { + storage[key] = value || ''; + }, + getItem: function (key) { + return key in storage ? storage[key] : null; + }, + removeItem: function (key) { + delete storage[key]; + }, + get length() { + return Object.keys(storage).length; + }, + key: function (i) { + const keys = Object.keys(storage); + return keys[i] || null; + } + }; +} + +const storageMockInstance = storageMock() + +// Mock global window object +global.window = { + // @ts-ignore + localStorage: storageMockInstance +} + +describe('WalletBase', () => { + let wallet: WalletBaseImplement; + + beforeEach(() => { + wallet = new WalletBaseImplement(walletInfo); + wallet.chainName = 'cosmoshub-4' + }); + + afterEach(() => { + // Clean up + }); + + it('should initialize with the correct wallet info', () => { + expect(wallet.walletInfo.name).toBe('mock-extension'); + expect(wallet.walletInfo.prettyName).toBe('Mock'); + }); + + it('should get appUrl', () => { + const client: WalletClient = { + getSimpleAccount: jest.fn(), + appUrl: { + state: State.Done, + data: { + native: 'http://native.com' + } + } + }; + jest.spyOn(wallet, 'client', 'get').mockReturnValue(client); + expect(wallet.appUrl).toMatchObject({ state: 'Done', data: { native: 'http://native.com' } }) + }) + + it('should get qrUrl', () => { + const client: WalletClient = { + getSimpleAccount: jest.fn(), + qrUrl: { + state: State.Done, + data: 'http://qrl.com' + } + }; + jest.spyOn(wallet, 'client', 'get').mockReturnValue(client); + expect(wallet.qrUrl).toMatchObject({ state: 'Done', data: 'http://qrl.com' }) + }) + + it('should activate the wallet', () => { + wallet.activate(); + expect(wallet.isActive).toBe(true); + }); + + it('should inactivate the wallet', () => { + wallet.inactivate(); + expect(wallet.isActive).toBe(false); + }); + + it('should set walletInfo when constructor', () => { + expect(wallet.walletInfo).toBe(walletInfo); + }) + + it('should get client data', () => { + const client: WalletClient = { getSimpleAccount: jest.fn() }; + jest.spyOn(wallet, 'client', 'get').mockReturnValue(client); + expect(wallet.client).toBe(client) + }) + + it('should initialize the client', () => { + wallet.initingClient(); + expect(wallet.clientMutable.state).toBe(State.Pending); + expect(wallet.clientMutable.message).toBeUndefined(); + expect(wallet.clientMutable.data).toBeUndefined(); + }); + + it('should set the client after initialization', () => { + const client: WalletClient = { getSimpleAccount: jest.fn() }; + wallet.initClientDone(client); + expect(wallet.clientMutable.data).toBe(client); + expect(wallet.clientMutable.state).toBe(State.Done); + expect(wallet.clientMutable.message).toBeUndefined(); + }); + + it('should set the error message after client initialization error', () => { + const error = new Error('Client initialization error'); + wallet.initClientError(error); + expect(wallet.clientMutable.message).toBe('Client initialization error'); + expect(wallet.clientMutable.state).toBe(State.Error); + }); + + it('should get the wallet name', () => { + expect(wallet.walletName).toBe('mock-extension'); + }); + + it('should get the wallet pretty name', () => { + expect(wallet.walletPrettyName).toBe('Mock'); + }); + + it('should return true for isModeExtension when wallet mode is extension', () => { + expect(wallet.isModeExtension).toBe(true); + }); + + it('should return false for isModeWalletConnect when wallet mode is not WalletConnect', () => { + expect(wallet.isModeWalletConnect).toBe(false); + }); + + it('should get right download info', async () => { + jest.spyOn(wallet, 'env', 'get').mockReturnValue({ device: 'desktop', browser: 'chrome', os: 'ios' }); + expect(wallet.downloadInfo).toMatchObject({ + device: 'desktop', + browser: 'chrome', + link: 'https://chrome.google.com/webstore/detail/mock-cosmos-wallet/fcfcfllfndlomdhbehjjcoimbgofdncg', + }); + + jest.spyOn(wallet, 'env', 'get').mockReturnValue({}); + expect(wallet.downloadInfo).toMatchObject({ + link: 'https://chrome.google.com/webstore/detail/mock-cosmos-wallet/fcfcfllfndlomdhbehjjcoimbgofdncg', + },); + }); + + it('should get the reject message source', () => { + expect(wallet.rejectMessageSource).toBe('Request rejected'); + + jest.spyOn(wallet, 'walletInfo', 'get').mockReturnValue({ + rejectMessage: 'reject Message define as string' + } as any); + expect(wallet.rejectMessageSource).toBe('reject Message define as string'); + }); + + + it('should get the reject message target', () => { + jest.spyOn(wallet, 'walletInfo', 'get').mockReturnValue({ + rejectMessage: { + target: 'Target reject Message define as target' + } + } as any); + expect(wallet.rejectMessageTarget).toBe('Target reject Message define as target'); + + jest.spyOn(wallet, 'walletInfo', 'get').mockReturnValue({ + rejectMessage: 'Target reject Message define as string' + } as any); + expect(wallet.rejectMessageTarget).toBe(undefined); + }); + + it('should get the reject code', () => { + expect(wallet.rejectCode).toBe(404); + }); + + it('should register and call update callbacks', () => { + const callback1: Callbacks = { + beforeConnect: jest.fn(), + } + + const callback2 = { + beforeConnect: jest.fn(), + beforeDisconnect: jest.fn(), + afterConnect: jest.fn(), + } + wallet.updateCallbacks(callback1); + expect(wallet.callbacks).toMatchObject(callback1) + wallet.updateCallbacks(callback2); + expect(wallet.callbacks).toMatchObject(callback2) + }); + + it('should call disconnect method with sync and options parameters', async () => { + const sync = true; + const options: DisconnectOptions = { + walletconnect: { + removeAllPairings: true + } + }; + const callbacks: Callbacks = { + beforeDisconnect: jest.fn(), + afterDisconnect: jest.fn() + } + const walletClient = { + getSimpleAccount: jest.fn(), + disconnect: jest.fn() + } + + wallet.emitter = new EventEmitter(); + const emitMock = jest.spyOn(wallet.emitter, 'emit').mockImplementation((event, chainName) => true) + const resetMock = jest.spyOn(wallet, 'reset').mockImplementation(() => true) + + const localStorageRemoveItemMock = jest.spyOn(window.localStorage, 'removeItem'); + + wallet.updateCallbacks(callbacks) + wallet.initClientDone(walletClient) + + await wallet.disconnect(sync, options); + + expect(callbacks.beforeDisconnect).toHaveBeenCalled() + expect(callbacks.afterDisconnect).toHaveBeenCalled() + expect(walletClient.disconnect).toHaveBeenCalledWith(options) + expect(emitMock).toHaveBeenCalledWith('sync_disconnect', 'cosmoshub-4') + expect(resetMock).toHaveBeenCalled() + expect(localStorageRemoveItemMock).toBeCalledWith("cosmos-kit@2:core//current-wallet") + }); + + + it('should set the client as not exist', () => { + wallet.setClientNotExist(); + expect(wallet.mutable).toMatchObject({ message: ClientNotExistError.message, state: State.Error }) + + const error = new Error('what ever error message'); + wallet.setClientNotExist(error); + expect(wallet.mutable).toMatchObject({ message: ClientNotExistError.message, state: State.Error }) + }); + + it('should set the wallet as rejected', () => { + wallet.setRejected(); + expect(wallet.mutable).toMatchObject({ message: RejectedError.message, state: State.Error }); + + const error = new Error('what ever error message'); + wallet.setRejected(error); + expect(wallet.mutable).toMatchObject({ message: RejectedError.message, state: State.Error }); + }); + + it('should set the error message', () => { + const errorMessage = 'Test error message'; + wallet.setError(errorMessage); + expect(wallet.mutable).toMatchObject({ message: errorMessage, state: State.Error }); + + wallet.throwErrors = true; + expect(() => wallet.setError(errorMessage)).toThrowError(errorMessage) + + wallet.throwErrors = 'connect_only' + expect(() => wallet.setError(new ConnectError('connect error'))).toThrowError('connect error') + }); + + it('should connect to the wallet', async () => { + const sync = true; + const callbacks: Callbacks = { + beforeConnect: jest.fn(), + afterConnect: jest.fn() + } + const walletClient = { + getSimpleAccount: jest.fn(), + connect: jest.fn() + } + wallet.emitter = new EventEmitter(); + const emitMock = jest.spyOn(wallet.emitter, 'emit').mockImplementation((event, chainName) => true) + const updateMock = jest.spyOn(wallet, 'update').mockImplementation(() => { }) + + wallet.updateCallbacks(callbacks) + wallet.initClientDone(walletClient) + await wallet.connect(sync); + expect(callbacks.beforeConnect).toHaveBeenCalled() + expect(callbacks.afterConnect).toHaveBeenCalled() + expect(emitMock).toHaveBeenCalledWith('sync_connect', 'cosmoshub-4') + expect(updateMock).toHaveBeenCalled() + + jest.spyOn(wallet, 'isMobile', 'get').mockReturnValue(true); + jest.spyOn(wallet, 'walletInfo', 'get').mockReturnValue({ mobileDisabled: true } as any); + const setErrorMock = jest.spyOn(wallet, 'setError').mockImplementation(() => { }) + await wallet.connect(sync); + expect(setErrorMock).toBeCalledWith(new ConnectError('This wallet is not supported on mobile, please use desktop browsers.')) + }); + +}); diff --git a/packages/core/__tests__/manager.test.ts b/packages/core/__tests__/manager.test.ts new file mode 100644 index 000000000..a2a1732b6 --- /dev/null +++ b/packages/core/__tests__/manager.test.ts @@ -0,0 +1,349 @@ +import { WalletConnectOptions } from './../src/types/wallet'; +import { EndpointOptions, SessionOptions, SignerOptions } from './../src/types/manager'; +import { assets } from 'chain-registry'; +import { MainWalletBase } from '../src/bases'; +import { WalletManager } from '../src/manager'; +import { convertChain, Logger, WalletNotProvidedError } from '../src/utils'; +import { EventEmitter } from 'stream'; +import { wallets } from '../test-utils/mock-extension'; +import { WalletRepo } from '../src/repository'; + +const getLogo = (chainName: string) => { + const asset = assets.find(a => a.chain_name === chainName); + return asset?.assets[0].logo_URIs?.svg || asset?.assets[0].logo_URIs?.png || undefined +} + +function storageMock() { + let storage = {}; + + return { + setItem: function (key, value) { + storage[key] = value || ''; + }, + getItem: function (key) { + return key in storage ? storage[key] : null; + }, + removeItem: function (key) { + delete storage[key]; + }, + get length() { + return Object.keys(storage).length; + }, + key: function (i) { + const keys = Object.keys(storage); + return keys[i] || null; + } + }; +} + +const storageMockInstance = storageMock() + +// Mock global window object +global.window = { + // @ts-ignore + localStorage: storageMockInstance, + dispatchEvent: jest.fn(), + addEventListener: jest.fn(), + removeEventListener: jest.fn(), + navigator: { + userAgent: 'jest' + } as any +} + + +jest.mock('bowser', () => { + const originalModule = jest.requireActual('bowser') + return { + ...originalModule, + getParser: jest.fn().mockReturnValue({ + getBrowserName: jest.fn().mockReturnValue('firefox'), + getOSName: jest.fn().mockReturnValue('windows'), + getPlatform: jest.fn().mockReturnValue({ type: 'mobile' }), + }) + } +}) + +describe('WalletManager', () => { + + let chainNames = ['osmosis', 'juno'] + let walletManager: WalletManager; + let throwErrors = true + let subscribeConnectEvents = true + let allowedCosmiframeParentOrigins: string[] = [] + let logger = new Logger() + let sessionOptions: SessionOptions = { duration: 100 } + let NameServiceName = 'testNameServiceName' + let walletConnectOptions: WalletConnectOptions = { + signClient: { projectId: 'testProjectId' } + } + let signerOptions: SignerOptions = {} + let endpointOptions: EndpointOptions = { + isLazy: true, + } + + const walletMock = wallets[0] + const mainWallets: MainWalletBase[] = [walletMock] + const getNameServiceRegistryFromNameMock = jest.fn() + beforeEach(() => { + + jest.mock('../src/utils', () => ({ + getNameServiceRegistryFromName: getNameServiceRegistryFromNameMock + })) + + + walletManager = new WalletManager( + chainNames, + mainWallets, + logger, + throwErrors, + subscribeConnectEvents, + allowedCosmiframeParentOrigins, + assets, + NameServiceName, + walletConnectOptions, + signerOptions, + endpointOptions, + sessionOptions + ) + }) + + afterEach(() => { + jest.clearAllMocks() + }) + + it('should have right instance', () => { + expect(walletManager.throwErrors).toBeTruthy() + expect(walletManager.logger).toBe(logger) + expect(walletManager.coreEmitter).toBeInstanceOf(EventEmitter) + expect(walletManager.defaultNameService).toBe(NameServiceName) + expect(walletManager.walletConnectOptions).toBe(walletConnectOptions) + }) + + it('should initialize wallet manager', () => { + + jest.spyOn(walletMock, 'setChains') + + walletManager.init( + chainNames, + assets, + mainWallets, + walletConnectOptions, + signerOptions, + endpointOptions + ); + + expect(walletManager.isLazy).toBe(endpointOptions.isLazy) + expect(walletManager.chainRecords).toMatchObject(chainNames.map(c => convertChain(c, assets, {}, {}, endpointOptions.isLazy))) + walletManager.mainWallets.forEach(w => { + expect(w.logger).toBe(walletManager.logger) + expect(w.throwErrors).toBe(walletManager.throwErrors) + expect(w.session).toBe(walletManager.session) + expect(w.walletConnectOptions).toBe(walletManager.walletConnectOptions) + expect(w.setChains).toBeCalledWith(walletManager.chainRecords) + }) + }); + + it('should set wallet repel value', () => { + const value = false; + + jest.spyOn(window.localStorage, 'setItem') + + walletManager.setWalletRepel(value); + expect(walletManager.repelWallet).toBe(value); + walletManager.walletRepos.forEach((repo) => { + expect(repo.repelWallet).toBe(value); + }) + + expect(window.localStorage.setItem).toBeCalledWith("cosmos-kit@2:core//repel-wallet", value.toString()) + }); + + it('should add endpoints', () => { + jest.spyOn(walletMock, 'addEnpoints') + + const endpoints: EndpointOptions['endpoints'] = { + 'chain1': { + rest: ['http://rest.localhost:1317'], + rpc: ['http://rpc.localhost:26657'] + }, + 'chain2': { + rest: ['http://rest.localhost:1317'], + rpc: ['http://rpc.localhost:26657'] + } + }; + + walletManager.addEndpoints(endpoints); + + walletManager.mainWallets.forEach(mw => { + expect(mw.addEnpoints).toBeCalledWith(endpoints) + }) + }); + + it('should addChains functional', () => { + walletManager.addChains(['osmosis'], assets); + expect(walletManager.chainRecords).toHaveLength(2) + expect(walletManager.walletRepos).toHaveLength(2) + walletManager.addChains(['stargaze'], assets); + expect(walletManager.chainRecords).toHaveLength(3) + expect(walletManager.walletRepos).toHaveLength(3) + }); + + it('should register event handlers with on()', () => { + const event = 'refresh_connection'; + const handler = jest.fn(); + walletManager.on(event, handler); + expect(walletManager.coreEmitter.listenerCount(event)).toBe(1); + expect(walletManager.coreEmitter.listeners(event)).toContain(handler); + }); + + it('should unregister event handlers with off()', () => { + const event = 'refresh_connection'; + const handler = jest.fn(); + walletManager.on(event, handler); + walletManager.off(event, handler); + expect(walletManager.coreEmitter.listenerCount(event)).toBe(0); + expect(walletManager.coreEmitter.listeners(event)).not.toContain(handler); + }); + + it('should activeRepos return right active wallet repose', () => { + const walletRepos: WalletRepo[] = [{ isActive: true }, { isActive: false }, { isActive: true }] as any + walletManager.walletRepos = walletRepos; + expect(walletManager.activeRepos).toHaveLength(2) + }); + + it('should getMainWallet return right wallet', () => { + const chainName1 = 'mock-extension'; + const mainWallet1 = walletManager.getMainWallet(chainName1); + expect(mainWallet1).toBe(walletMock); + + const chainName2 = 'mock-extension-non-existent'; + expect(() => walletManager.getMainWallet(chainName2)).toThrowError(new WalletNotProvidedError('mock-extension-non-existent')) + }); + + it('should getWalletRepo return right wallet repo', () => { + const chainName1 = 'osmosis'; + const walletRepo1 = walletManager.getWalletRepo(chainName1); + expect(walletRepo1).toBeInstanceOf(WalletRepo); + expect(walletRepo1.chainName).toBe(chainName1); + const chainName2 = 'juno'; + const walletRepo2 = walletManager.getWalletRepo(chainName2); + expect(walletRepo2).toBeInstanceOf(WalletRepo); + expect(walletRepo2.chainName).toBe(chainName2); + const chainName3 = 'non-existent-chain'; + expect(() => walletManager.getWalletRepo(chainName3)).toThrowError(new Error(`Chain ${chainName3} is not provided.`)); + }); + + it('should getChainWallet return right chain wallet', () => { + const chainName1 = 'osmosis'; + const walletName1 = 'mock-extension'; + const chainWallet1 = walletManager.getChainWallet(chainName1, walletName1); + expect(chainWallet1.chainName).toBe(chainName1); + expect(chainWallet1.walletName).toBe(walletName1); + + const chainName2 = 'juno'; + const walletName2 = 'mock-extension'; + const chainWallet2 = walletManager.getChainWallet(chainName2, walletName2); + expect(chainWallet2.chainName).toBe(chainName2); + expect(chainWallet2.walletName).toBe(walletName2); + + const chainName3 = 'non-existent-chain'; + const walletName3 = 'mock-extension'; + expect(() => walletManager.getChainWallet(chainName3, walletName3)).toThrowError(new Error(`${chainName3} is not provided!`)); + const chainName4 = 'osmosis'; + const walletName4 = 'non-existent-wallet'; + expect(() => walletManager.getChainWallet(chainName4, walletName4)).toThrowError(new WalletNotProvidedError('non-existent-wallet')); + }); + + it('should getChainRecord return right chain record', () => { + const chainName1 = 'osmosis'; + const chainRecord1 = walletManager.getChainRecord(chainName1); + expect(chainRecord1.name).toBe(chainName1); + const chainName2 = 'juno'; + const chainRecord2 = walletManager.getChainRecord(chainName2); + expect(chainRecord2.name).toBe(chainName2); + const chainName3 = 'non-existent-chain'; + expect(() => walletManager.getChainRecord(chainName3)).toThrowError(new Error(`${chainName3} is not provided!`)); + }); + + it('should getChainLog return right logo url', () => { + const chainName1 = 'osmosis'; + const logo1 = getLogo(chainName1) as string + const chainLogo1 = walletManager.getChainLogo(chainName1); + expect(chainLogo1).toBe(logo1); + + const chainName2 = 'juno'; + const logo2 = getLogo(chainName2) as string + const chainLogo2 = walletManager.getChainLogo(chainName2); + expect(chainLogo2).toBe(logo2); + }); + + it('should getNameService return the error for unknown NameService', async () => { + getNameServiceRegistryFromNameMock.mockReturnValue(undefined) + await expect(walletManager.getNameService()).rejects.toThrowError(new Error('Unknown defaultNameService testNameServiceName')) + + getNameServiceRegistryFromNameMock.mockReturnValue({ chainName: 'osmosis' }) + jest.spyOn(walletManager, 'getWalletRepo').mockImplementation(() => { + return { + getNameService: jest.fn() + } as any + }) + await walletManager.getNameService() + expect(walletManager.getWalletRepo).toBeCalledWith('osmosis') + + await walletManager.getNameService('test') + expect(walletManager.getWalletRepo).toBeCalledWith('test') + }); + + // it('should handle Cosmiframe Keystore Change Event', () => { + // const event = new MessageEvent(COSMIFRAME_KEYSTORECHANGE_EVENT); + // console.log("a", event) + // walletManager._handleCosmiframeKeystoreChangeEvent(event); + // expect(window.dispatchEvent).toBeCalledWith(new Event(COSMIFRAME_KEYSTORECHANGE_EVENT)) + // }); + + it('should call onMounted function', async () => { + jest.spyOn(walletManager, 'setEnv') + const env = { "browser": "firefox", "device": "mobile", "os": "windows" } + walletManager.cosmiframeEnabled = true + walletManager.walletRepos = [{ setEnv: jest.fn() }, { setEnv: jest.fn() }, { setEnv: jest.fn() }] as any + walletManager.mainWallets = [ + { setEnv: jest.fn(), walletInfo: { connectEventNamesOnWindow: ['event1', 'event2'] }, initClient: jest.fn() }, + { setEnv: jest.fn(), walletInfo: { connectEventNamesOnWindow: ['event1', 'event2'] }, initClient: jest.fn() }, + { setEnv: jest.fn(), walletInfo: { connectEventNamesOnWindow: ['event1', 'event2'] }, initClient: jest.fn() }] as any + await walletManager.onMounted() + expect(window.addEventListener).toBeCalledWith('message', walletManager._handleCosmiframeKeystoreChangeEvent) + expect(walletManager.setEnv).toBeCalledWith(env) + walletManager.walletRepos.forEach(wr => { + expect(wr.setEnv).toBeCalledWith(env) + }) + }); + + it('should binding events when call onMounted function', async () => { + const env = { "browser": "firefox", "device": "mobile", "os": "windows" } + walletManager.mainWallets = [ + { setEnv: jest.fn(), walletInfo: { connectEventNamesOnWindow: ['event11', 'event12'] }, initClient: jest.fn() }, + { setEnv: jest.fn(), walletInfo: { connectEventNamesOnWindow: ['event21', 'event22'] }, initClient: jest.fn() }, + { setEnv: jest.fn(), walletInfo: { connectEventNamesOnWindow: ['event31', 'event32'] }, initClient: jest.fn() }] as any + await walletManager.onMounted() + walletManager.mainWallets.forEach(w => { + expect(w.setEnv).toBeCalledWith(env) + }) + expect(window.addEventListener).toBeCalledTimes(6) + }) + + it('should call onUnmounted function', () => { + walletManager.cosmiframeEnabled = true + walletManager.onUnmounted(); + expect(window.removeEventListener).toBeCalledWith('message', walletManager._handleCosmiframeKeystoreChangeEvent); + }); + + it('should binding events when call onUnmounted function', async () => { + walletManager.mainWallets = [ + { setEnv: jest.fn(), walletInfo: { connectEventNamesOnWindow: ['event11', 'event12'] }, initClient: jest.fn() }, + { setEnv: jest.fn(), walletInfo: { connectEventNamesOnWindow: ['event21', 'event22'] }, initClient: jest.fn() }, + { setEnv: jest.fn(), walletInfo: { connectEventNamesOnWindow: ['event31', 'event32'] }, initClient: jest.fn() }] as any + await walletManager.onUnmounted() + + expect(window.removeEventListener).toBeCalledTimes(6) + }) + +}); diff --git a/packages/core/__tests__/name-serveice-class.test.ts b/packages/core/__tests__/name-serveice-class.test.ts new file mode 100644 index 000000000..ca8ad5de1 --- /dev/null +++ b/packages/core/__tests__/name-serveice-class.test.ts @@ -0,0 +1,55 @@ +import type { CosmWasmClient } from '@cosmjs/cosmwasm-stargate'; +import { NameServiceRegistry } from '../src/types'; +import { NameService } from '../src/name-service'; + + +describe('NameService', () => { + const mockClient: CosmWasmClient = {} as CosmWasmClient; + const mockRegistry: NameServiceRegistry = {} as NameServiceRegistry; + + it('Instantiates correctly', () => { + const nameService = new NameService(mockClient, mockRegistry); + expect(nameService.client).toEqual(mockClient); + expect(nameService.registry).toEqual(mockRegistry); + }); + + it('Resolves a name for a given address', async () => { + const mockAddress = 'cosmos1abcdefg'; + const mockResult = { name: 'Alice' }; + + mockRegistry.contract = 'registryContract'; + mockRegistry.getQueryMsg = jest.fn().mockReturnValue('queryMsg'); + + mockClient.queryContractSmart = jest.fn().mockResolvedValue(mockResult); + + const nameService = new NameService(mockClient, mockRegistry); + const result = await nameService.resolveName(mockAddress); + + expect(mockRegistry.getQueryMsg).toHaveBeenCalledWith(mockAddress); + expect(mockClient.queryContractSmart).toHaveBeenCalledWith( + mockRegistry.contract, + 'queryMsg' + ); + expect(result).toEqual(mockResult); + }); + + it('Returns undefined if an error occurs during name resolution', async () => { + jest.spyOn(console, 'error').mockImplementation(() => { }); + const mockAddress = 'cosmos1abcdefg'; + + mockRegistry.contract = 'registryContract'; + mockRegistry.getQueryMsg = jest.fn().mockReturnValue('queryMsg'); + + mockClient.queryContractSmart = jest.fn().mockRejectedValue(new Error('Query failed')); + + const nameService = new NameService(mockClient, mockRegistry); + const result = await nameService.resolveName(mockAddress); + + expect(mockRegistry.getQueryMsg).toHaveBeenCalledWith(mockAddress); + expect(mockClient.queryContractSmart).toHaveBeenCalledWith( + mockRegistry.contract, + 'queryMsg' + ); + expect(result).toBeUndefined(); + }); +}); diff --git a/packages/core/__tests__/repository.test.ts b/packages/core/__tests__/repository.test.ts new file mode 100644 index 000000000..6345fde66 --- /dev/null +++ b/packages/core/__tests__/repository.test.ts @@ -0,0 +1,286 @@ +import { ChainWalletBase } from '../src/bases'; +import { WalletRepo } from '../src/repository'; +import { ChainRecord, DappEnv } from '../src/types'; +import { chains, assets } from 'chain-registry'; +import { StargateClient } from '@cosmjs/stargate'; +import { CosmWasmClient } from '@cosmjs/cosmwasm-stargate'; +import { NameService } from '../src/name-service'; + +describe('WalletRepo', () => { + let walletRepo: WalletRepo; + let chainRecord: ChainRecord; + let wallets: ChainWalletBase[] + beforeEach(() => { + // Create a new instance of WalletRepo before each test + chainRecord = { + name: 'test-chain', + chain: chains.find(c => c.chain_name === 'osmosis'), + assetList: assets.find(a => a.chain_name === 'osmosis') + } + wallets = [ + { + walletName: 'test-wallet-1', + updateCallbacks: jest.fn(), + walletInfo: { mobileDisabled: true } + } as any, + { + walletName: 'test-wallet-2', + updateCallbacks: jest.fn(), + walletInfo: { mobileDisabled: true } + } as any, + { + walletName: 'test-wallet-mobile1', + updateCallbacks: jest.fn(), + walletInfo: { mobileDisabled: false } + } as any, + { + walletName: 'test-wallet-mobile2', + updateCallbacks: jest.fn(), + walletInfo: { mobileDisabled: () => false } + } + ] + walletRepo = new WalletRepo(chainRecord, wallets); + }); + + afterEach(() => { + jest.clearAllMocks(); + }) + + it('should initialize with default values', () => { + expect(walletRepo.isActive).toBe(false); + expect(walletRepo.chainRecord).toEqual(chainRecord); + expect(walletRepo.namespace).toBe('cosmos'); + expect(walletRepo.repelWallet).toBe(true); + expect(walletRepo.fetchInfo).toBe(false); + }); + + it('should set environment', () => { + const wallets = Array.from({ length: 3 }).map(() => { + return { setEnv: jest.fn() } as unknown as ChainWalletBase; + }) + jest.spyOn(walletRepo, 'wallets', 'get').mockReturnValue(wallets); + const env: DappEnv = { + device: 'desktop', + os: 'windows', + browser: 'chrome', + }; + + walletRepo.setEnv(env); + expect(walletRepo.env).toEqual(env); + walletRepo.wallets.forEach((wallet) => { + expect(wallet.setEnv).toBeCalledWith(env); + }); + }); + + it('should activate', () => { + const wallets = Array.from({ length: 3 }).map(() => { + return { activate: jest.fn() } as unknown as ChainWalletBase; + }) + jest.spyOn(walletRepo, 'wallets', 'get').mockReturnValue(wallets); + walletRepo.activate(); + expect(walletRepo.isActive).toEqual(true); + walletRepo.wallets.forEach((wallet) => { + expect(wallet.activate).toBeCalledWith(); + }); + }) + + it('should get chain name', () => { + const chainName = walletRepo.chainName; + expect(chainName).toBe('test-chain'); + }); + + it('should get chain logo', () => { + const chainLogo = walletRepo.chainLogo; + const uri = chainRecord.assetList?.assets[0]?.logo_URIs?.svg || chainRecord.assetList?.assets[0]?.logo_URIs?.png || undefined; + expect(chainLogo).toBe(uri) + }); + + it('should get wallets', () => { + expect(walletRepo.wallets).toEqual(wallets); + }); + + it('should get platform enabled wallets', () => { + expect(walletRepo.platformEnabledWallets).toBe(wallets); + + jest.spyOn(walletRepo, 'isMobile', 'get').mockReturnValue(true); + + expect(walletRepo.platformEnabledWallets).toHaveLength(2) + + }); + + it('should check if it is a single wallet', () => { + expect(walletRepo.isSingleWallet).toBe(false); + const multipleWallets = [ + { + walletName: 'test-wallet-1', + } as any + ]; + jest.spyOn(walletRepo, 'wallets', 'get').mockReturnValue(multipleWallets); + expect(walletRepo.isSingleWallet).toBe(true); + }); + + it('should get current wallet', async () => { + const currentWallet = { + walletName: 'test-wallet-1', + } as any; + jest.spyOn(walletRepo, 'wallets', 'get').mockReturnValue([currentWallet]); + expect(walletRepo.current).toBe(currentWallet); + + + walletRepo.logger = { warn: jest.fn() } as any + walletRepo.repelWallet = false; + expect(walletRepo.current).toBeUndefined(); + }); + + it('should get wallet by name', () => { + expect(walletRepo.getWallet('test-wallet-1')).toBe(wallets[0]); + expect(walletRepo.getWallet('non-existent-wallet')).toBeUndefined(); + }); + + it('should open view', () => { + const actions = { + viewWalletRepo: jest.fn(), + viewOpen: jest.fn(), + }; + walletRepo.actions = actions; + walletRepo.openView(); + expect(actions.viewWalletRepo).toHaveBeenCalledWith(walletRepo); + expect(actions.viewOpen).toHaveBeenCalledWith(true); + }); + + it('should close view', () => { + const actions = { + viewOpen: jest.fn(), + }; + walletRepo.actions = actions; + walletRepo.closeView(); + expect(actions.viewOpen).toHaveBeenCalledWith(false); + }); + + it('should connect wallet', async () => { + const wallet = { connect: jest.fn() }; + walletRepo.getWallet = jest.fn().mockReturnValue(wallet); + jest.spyOn(walletRepo, 'openView'); + await walletRepo.connect('test-wallet-1'); + expect(wallet.connect).toHaveBeenCalledWith(true); + + await walletRepo.connect(); + expect(walletRepo.openView).toHaveBeenCalled(); + }); + + it('should disconnect wallet', async () => { + const options = { + walletconnect: { + removeAllPairings: true + } + } + + const walletToGet = { disconnect: jest.fn() }; + const currentWallet = { disconnect: jest.fn() } + jest.spyOn(walletRepo, 'getWallet').mockReturnValue(walletToGet as any); + jest.spyOn(walletRepo, 'current', 'get').mockReturnValue(currentWallet as any); + + await walletRepo.disconnect('test-wallet-1', true, options); + expect(walletToGet.disconnect).toHaveBeenCalledWith(true, options); + + await walletRepo.disconnect(); + expect(currentWallet.disconnect).toHaveBeenCalledWith(true, undefined) + }); + + it('should get RPC endpoint', async () => { + const wallet1 = { getRpcEndpoint: jest.fn().mockRejectedValue('error1') }; + const wallet2 = { getRpcEndpoint: jest.fn().mockResolvedValue('endpoint') }; + jest.spyOn(walletRepo, 'wallets', 'get').mockReturnValue([wallet1, wallet2] as any); + const result = await walletRepo.getRpcEndpoint(); + expect(result).toBe('endpoint'); + expect(wallet1.getRpcEndpoint).toHaveBeenCalled(); + expect(wallet2.getRpcEndpoint).toHaveBeenCalled(); + + const walletRpcEndpointError1 = { getRpcEndpoint: jest.fn().mockRejectedValue('error1') }; + const walletRpcEndpointError2 = { getRpcEndpoint: jest.fn().mockRejectedValue('error2') }; + jest.spyOn(walletRepo, 'wallets', 'get').mockReturnValue([walletRpcEndpointError1, walletRpcEndpointError2] as any); + await expect(walletRepo.getRpcEndpoint()).rejects.toEqual(`No valid RPC endpoint for chain ${walletRepo.chainName}!`); + expect(walletRpcEndpointError1.getRpcEndpoint).toHaveBeenCalled(); + expect(walletRpcEndpointError2.getRpcEndpoint).toHaveBeenCalled(); + }); + + it('should get REST endpoint', async () => { + const wallet1 = { getRestEndpoint: jest.fn().mockRejectedValue('error1') }; + const wallet2 = { getRestEndpoint: jest.fn().mockResolvedValue('endpoint') }; + jest.spyOn(walletRepo, 'wallets', 'get').mockReturnValue([wallet1, wallet2] as any); + const result = await walletRepo.getRestEndpoint(); + expect(result).toBe('endpoint'); + expect(wallet1.getRestEndpoint).toHaveBeenCalled(); + expect(wallet2.getRestEndpoint).toHaveBeenCalled(); + + const walletRestEndpointError1 = { getRestEndpoint: jest.fn().mockRejectedValue('error1') }; + const walletRestEndpointError2 = { getRestEndpoint: jest.fn().mockRejectedValue('error2') }; + jest.spyOn(walletRepo, 'wallets', 'get').mockReturnValue([walletRestEndpointError1, walletRestEndpointError2] as any); + await expect(walletRepo.getRestEndpoint()).rejects.toEqual(`No valid REST endpoint for chain ${walletRepo.chainName}!`); + expect(walletRestEndpointError1.getRestEndpoint).toHaveBeenCalled(); + expect(walletRestEndpointError2.getRestEndpoint).toHaveBeenCalled(); + }); + + it('should get Stargate client', async () => { + const walletStargate1: StargateClient = { chainId: 'stargate1' } as any + const walletStargate2: StargateClient = { chainId: 'stargate2' } as any + const wallet1 = { getStargateClient: jest.fn().mockRejectedValue(walletStargate1) }; + const wallet2 = { getStargateClient: jest.fn().mockResolvedValue(walletStargate2) }; + jest.spyOn(walletRepo, 'wallets', 'get').mockReturnValue([wallet1, wallet2] as any); + const result = await walletRepo.getStargateClient(); + expect(result).toBe(walletStargate2); + expect(wallet1.getStargateClient).toHaveBeenCalled(); + expect(wallet2.getStargateClient).toHaveBeenCalled(); + + const walletStargateClientError1 = { getStargateClient: jest.fn().mockRejectedValue('error1') }; + const walletStargateClientError2 = { getStargateClient: jest.fn().mockRejectedValue('error2') }; + jest.spyOn(walletRepo, 'wallets', 'get').mockReturnValue([walletStargateClientError1, walletStargateClientError2] as any); + await expect(walletRepo.getStargateClient()).rejects.toEqual(`Something wrong! Probably no valid RPC endpoint for chain ${walletRepo.chainName}.`); + expect(walletStargateClientError1.getStargateClient).toHaveBeenCalled(); + expect(walletStargateClientError2.getStargateClient).toHaveBeenCalled(); + }); + + it('should get CosmWasm client', async () => { + const walletCosmWasm1: CosmWasmClient = { chainId: 'cosmwasm1' } as any; + const walletCosmWasm2: CosmWasmClient = { chainId: 'cosmwasm2' } as any; + const wallet1 = { getCosmWasmClient: jest.fn().mockRejectedValue(walletCosmWasm1) }; + const wallet2 = { getCosmWasmClient: jest.fn().mockResolvedValue(walletCosmWasm2) }; + jest.spyOn(walletRepo, 'wallets', 'get').mockReturnValue([wallet1, wallet2] as any); + const result = await walletRepo.getCosmWasmClient(); + expect(result).toBe(walletCosmWasm2); + expect(wallet1.getCosmWasmClient).toHaveBeenCalled(); + expect(wallet2.getCosmWasmClient).toHaveBeenCalled(); + + const walletCosmWasmClientError1 = { getCosmWasmClient: jest.fn().mockRejectedValue('error1') }; + const walletCosmWasmClientError2 = { getCosmWasmClient: jest.fn().mockRejectedValue('error2') }; + jest.spyOn(walletRepo, 'wallets', 'get').mockReturnValue([walletCosmWasmClientError1, walletCosmWasmClientError2] as any); + await expect(walletRepo.getCosmWasmClient()).rejects.toEqual(`Something wrong! Probably no valid RPC endpoint for chain ${walletRepo.chainName}.`); + expect(walletCosmWasmClientError1.getCosmWasmClient).toHaveBeenCalled(); + expect(walletCosmWasmClientError2.getCosmWasmClient).toHaveBeenCalled(); + }); + + it('should get NameService', async () => { + const walletNameService1: NameService = { + client: { chainId: 'nameservice1' }, + registry: { name: 'icns1' } + } as any; + const walletNameService2: NameService = { + client: { chainId: 'nameservice2' }, + registry: { name: 'icns2' } + } as any; + const wallet1 = { getNameService: jest.fn().mockRejectedValue(walletNameService1) }; + const wallet2 = { getNameService: jest.fn().mockResolvedValue(walletNameService2) }; + jest.spyOn(walletRepo, 'wallets', 'get').mockReturnValue([wallet1, wallet2] as any); + const result = await walletRepo.getNameService(); + expect(result).toBe(walletNameService2); + expect(wallet1.getNameService).toHaveBeenCalled(); + expect(wallet2.getNameService).toHaveBeenCalled(); + const walletNameServiceError1 = { getNameService: jest.fn().mockRejectedValue('error1') }; + const walletNameServiceError2 = { getNameService: jest.fn().mockRejectedValue('error2') }; + jest.spyOn(walletRepo, 'wallets', 'get').mockReturnValue([walletNameServiceError1, walletNameServiceError2] as any); + await expect(walletRepo.getNameService()).rejects.toEqual(`Something wrong! Probably no valid RPC endpoint or name service is not registered for chain ${walletRepo.chainName}.`); + expect(walletNameServiceError1.getNameService).toHaveBeenCalled(); + expect(walletNameServiceError2.getNameService).toHaveBeenCalled(); + }); + +}); diff --git a/packages/core/__tests__/utils/check.test.ts b/packages/core/__tests__/utils/check.test.ts new file mode 100644 index 000000000..0d59d83f3 --- /dev/null +++ b/packages/core/__tests__/utils/check.test.ts @@ -0,0 +1,37 @@ +import { checkInit, checkKey } from '../../src/utils/check'; + +describe('checkInit', () => { + it('should throw an error if target is undefined', () => { + expect(() => { + checkInit(undefined); + }).toThrowError('Variable is not inited!'); + }); + + it('should throw an error if target is null', () => { + expect(() => { + checkInit(null); + }).toThrowError('Variable is not inited!'); + }); + + it('should throw a custom error message if provided', () => { + expect(() => { + checkInit(undefined, 'myTarget', 'Custom error message'); + }).toThrowError('Custom error message'); + }); +}); + +describe('checkKey', () => { + it('should throw an error if key does not exist in the target Map', () => { + const target = new Map(); + expect(() => { + checkKey(target, 'myKey', 'myMap'); + }).toThrowError('myKey not existed in Map myMap!'); + }); + + it('should throw a custom error message if provided', () => { + const target = new Map(); + expect(() => { + checkKey(target, 'myKey', 'myMap', 'Custom error message'); + }).toThrowError('Custom error message'); + }); +}); diff --git a/packages/core/__tests__/utils/convert.test.ts b/packages/core/__tests__/utils/convert.test.ts new file mode 100644 index 000000000..51c08c1c7 --- /dev/null +++ b/packages/core/__tests__/utils/convert.test.ts @@ -0,0 +1,38 @@ +import { convertChain } from '../../src/utils/convert'; +import { chains, assets } from 'chain-registry' + +describe('convertChain', () => { + + it('should get converted result correctly', () => { + const chainName = 'osmosis' + const assetList = assets.find(a => a.chain_name === chainName); + const signerOptions = { + stargate: jest.fn().mockReturnValue('stargate'), + signingStargate: jest.fn().mockReturnValue('signingStargate'), + signingCosmwasm: jest.fn().mockReturnValue('signingCosmwasm'), + preferredSignType: jest.fn().mockReturnValue('preferredSignType'), + }; + const preferredEndpoints = { isLazy: true, rpc: ['http://test.rpc.com'], reset: ['http://test.rest.com'] }; + const isLazy = false; + const logger = undefined; + + const result = { + name: chainName, + chain: void 0, + assetList, + clientOptions: { + stargate: 'stargate', + signingStargate: 'signingStargate', + signingCosmwasm: 'signingCosmwasm', + preferredSignType: 'preferredSignType', + }, + preferredEndpoints: preferredEndpoints + } + + expect(convertChain(chainName, assets, signerOptions, preferredEndpoints, isLazy, logger)).toEqual(result); + expect(signerOptions.stargate).toBeCalledWith(chainName) + expect(signerOptions.signingStargate).toBeCalledWith(chainName) + expect(signerOptions.signingCosmwasm).toBeCalledWith(chainName) + expect(signerOptions.preferredSignType).toBeCalledWith(chainName) + }); +}); diff --git a/packages/core/__tests__/utils/endpoint.test.ts b/packages/core/__tests__/utils/endpoint.test.ts new file mode 100644 index 000000000..54ba2d15f --- /dev/null +++ b/packages/core/__tests__/utils/endpoint.test.ts @@ -0,0 +1,155 @@ +import { ExtendedHttpEndpoint } from '../../src/types'; +import { getFastestEndpoint, isValidEndpoint, getIsLazy } from '../../src/utils/endpoint'; +import nock from 'nock' + +describe('Endpoint Utils', () => { + const fastUrl = 'http://fast.com'; + const slowUrl = 'http://slow.com'; + + beforeEach(() => { + nock(fastUrl).get('/cosmos/base/tendermint/v1beta1/node_info').reply(200, 'ok'); + nock(slowUrl).get('/cosmos/base/tendermint/v1beta1/node_info').delayConnection(50).reply(200, 'ok'); + nock(fastUrl).post('/').reply(200, 'ok'); + nock(slowUrl).post('/').delayConnection(50).reply(200, 'ok'); + }) + + afterEach(() => { + nock.cleanAll(); + }) + + describe('getFastestEndpoint', () => { + it('should return the fastest valid endpoint', async () => { + const endpoints = [fastUrl, slowUrl]; + const nodeType = 'rpc'; + const logger = undefined; + + const result = await getFastestEndpoint(endpoints, nodeType, logger); + + expect(result).toBe(fastUrl) + }); + + it('should reject if no valid endpoint is found', async () => { + const endpoints = ['http://invalid1.com', 'http://invalid2.com', 'http://invalid3.com']; + const nodeType = 'rpc'; + const logger = undefined; + + await expect(() => getFastestEndpoint(endpoints, nodeType, logger)).rejects.toThrow() + }); + }); + + describe('isValidEndpoint', () => { + it('should return true for a valid endpoint', async () => { + const endpoint = fastUrl; + const nodeType = 'rest'; + const isLazy = false; + const logger = undefined; + + const result = await isValidEndpoint(endpoint, nodeType, isLazy, logger); + + expect(result).toBe(true); + }); + + it('should return true for a valid ExtendedHttpEndpoint with rest node type', async () => { + const extendedEndpoint: ExtendedHttpEndpoint = { + url: fastUrl, + isLazy: false, + headers: { 'Content-Type': 'application/json' }, + }; + const nodeType = 'rest'; + const isLazy = false; + const logger = undefined; + + const result = await isValidEndpoint(extendedEndpoint, nodeType, isLazy, logger); + + expect(result).toBe(true); + }); + + it('should return true for a valid ExtendedHttpEndpoint with rpc node type', async () => { + const extendedEndpoint: ExtendedHttpEndpoint = { + url: fastUrl, + isLazy: false, + headers: { 'Content-Type': 'application/json' }, + }; + const nodeType = 'rpc'; + const isLazy = false; + const logger = undefined; + + const result = await isValidEndpoint(extendedEndpoint, nodeType, isLazy, logger); + + expect(result).toBe(true); + }); + + it('should return false for an invalid endpoint', async () => { + const endpoint = 'http://invalid-endpoint.com'; + const nodeType = 'rpc'; + const isLazy = false; + const logger = undefined; + + const result = await isValidEndpoint(endpoint, nodeType, isLazy, logger); + + expect(result).toBe(false); + }); + }); + + describe('getIsLazy', () => { + it('should return the value of parameterIsLazy if defined', () => { + const globalIsLazy = undefined; + const chainIsLazy = undefined; + const endpointIsLazy = undefined; + const parameterIsLazy = true; + const logger = undefined; + + const result = getIsLazy(globalIsLazy, chainIsLazy, endpointIsLazy, parameterIsLazy, logger); + + expect(result).toBe(true); + }); + + it('should return the value of endpointIsLazy if defined', () => { + const globalIsLazy = undefined; + const chainIsLazy = undefined; + const endpointIsLazy = true; + const parameterIsLazy = undefined; + const logger = undefined; + + const result = getIsLazy(globalIsLazy, chainIsLazy, endpointIsLazy, parameterIsLazy, logger); + + expect(result).toBe(true); + }); + + it('should return the value of chainIsLazy if defined', () => { + const globalIsLazy = undefined; + const chainIsLazy = true; + const endpointIsLazy = undefined; + const parameterIsLazy = undefined; + const logger = undefined; + + const result = getIsLazy(globalIsLazy, chainIsLazy, endpointIsLazy, parameterIsLazy, logger); + + expect(result).toBe(true); + }); + + it('should return the value of globalIsLazy if defined', () => { + const globalIsLazy = true; + const chainIsLazy = undefined; + const endpointIsLazy = undefined; + const parameterIsLazy = undefined; + const logger = undefined; + + const result = getIsLazy(globalIsLazy, chainIsLazy, endpointIsLazy, parameterIsLazy, logger); + + expect(result).toBe(true); + }); + + it('should return false if no lazy flag is defined', () => { + const globalIsLazy = undefined; + const chainIsLazy = undefined; + const endpointIsLazy = undefined; + const parameterIsLazy = undefined; + const logger = undefined; + + const result = getIsLazy(globalIsLazy, chainIsLazy, endpointIsLazy, parameterIsLazy, logger); + + expect(result).toBe(false); + }); + }); +}); diff --git a/packages/core/__tests__/utils/error.test.ts b/packages/core/__tests__/utils/error.test.ts new file mode 100644 index 000000000..fd4d8bcfd --- /dev/null +++ b/packages/core/__tests__/utils/error.test.ts @@ -0,0 +1,25 @@ +import { ConnectError, WalletNotProvidedError } from "../../src/utils"; + +describe('ConnectError', () => { + it('should create an instance with the provided message', () => { + const errorMessage = 'Test error message'; + const error = new ConnectError(errorMessage); + expect(error).toBeInstanceOf(ConnectError); + expect(error.message).toBe(errorMessage); + }); + + it('should create an instance with an empty message if no message is provided', () => { + const error = new ConnectError(); + expect(error).toBeInstanceOf(ConnectError); + expect(error.message).toBe(''); + }); +}); + +describe('WalletNotProvidedError', () => { + it('should create an instance with the provided message', () => { + const walletName = 'Test wallet name'; + const error = new WalletNotProvidedError(walletName); + expect(error).toBeInstanceOf(WalletNotProvidedError); + expect(error.walletName).toBe(walletName); + }); +}); diff --git a/packages/core/__tests__/utils/logger.test.ts b/packages/core/__tests__/utils/logger.test.ts new file mode 100644 index 000000000..3db7751b6 --- /dev/null +++ b/packages/core/__tests__/utils/logger.test.ts @@ -0,0 +1,68 @@ +import { Logger } from '../../src/utils'; + +describe('Logger Tests', () => { + let consoleLogSpy; + let logger; + + beforeEach(() => { + // Mock console methods + consoleLogSpy = jest.spyOn(console, 'log').mockImplementation(); + console.trace = console.debug = console.info = console.warn = console.error = jest.fn(); + // Create a new instance of Logger with INFO level + logger = new Logger('INFO'); + }); + + afterEach(() => { + // Restore original console methods + consoleLogSpy.mockRestore(); + }); + + it('Logger should be initialized with the correct log level', () => { + expect(logger.level).toBe('INFO'); + }); + + it('trace() should log only when level is TRACE or higher', () => { + logger.trace('Trace message'); + expect(console.trace).not.toHaveBeenCalled(); + + logger = new Logger('TRACE'); + logger.trace('Trace message'); + expect(console.trace).toHaveBeenCalled(); + }); + + it('debug() should log only when level is DEBUG or higher', () => { + logger.debug('Debug message'); + expect(console.debug).not.toHaveBeenCalled(); + + logger = new Logger('DEBUG'); + logger.debug('Debug message'); + expect(console.debug).toHaveBeenCalled(); + }); + + it('info() should log only when level is INFO or higher', () => { + logger.info('Info message'); + expect(console.info).toHaveBeenCalled(); + + logger = new Logger('WARN'); + logger.info('Info message'); + expect(console.info).toHaveBeenCalled(); + }); + + it('warn() should log only when level is WARN or higher', () => { + logger.warn('Warn message'); + expect(console.warn).toHaveBeenCalled(); + + logger = new Logger('ERROR'); + logger.warn('Warn message'); + expect(console.warn).toHaveBeenCalled(); + }); + + it('error() should log only when level is ERROR or higher', () => { + logger.error('Error message'); + expect(console.error).toHaveBeenCalled(); + + logger = new Logger('NONE'); + logger.error('Error message'); + expect(console.error).toHaveBeenCalled(); + }); +}); diff --git a/packages/core/__tests__/utils/map.test.ts b/packages/core/__tests__/utils/map.test.ts new file mode 100644 index 000000000..439eadb1c --- /dev/null +++ b/packages/core/__tests__/utils/map.test.ts @@ -0,0 +1,44 @@ +import { valuesApply } from '../../src/utils'; + +describe('valuesApply Tests', () => { + it('valuesApply should apply callback function to all values in the map', () => { + const originalMap = new Map([ + ['a', 1], + ['b', 2], + ['c', 3] + ]); + + const callbackFn = (value) => value * 2; + + const resultMap = valuesApply(originalMap, callbackFn); + + expect(resultMap.get('a')).toBe(2); + expect(resultMap.get('b')).toBe(4); + expect(resultMap.get('c')).toBe(6); + }); + + it('valuesApply should return a new map', () => { + const originalMap = new Map([ + ['a', 1], + ['b', 2], + ['c', 3] + ]); + + const callbackFn = (value) => value * 2; + + const resultMap = valuesApply(originalMap, callbackFn); + + expect(resultMap).not.toBe(originalMap); + expect(resultMap.size).toBe(originalMap.size); + }); + + it('valuesApply should handle empty map', () => { + const originalMap = new Map(); + + const callbackFn = (value) => value * 2; + + const resultMap = valuesApply(originalMap, callbackFn); + + expect(resultMap.size).toBe(0); + }); +}); diff --git a/packages/core/__tests__/utils/math.test.ts b/packages/core/__tests__/utils/math.test.ts new file mode 100644 index 000000000..feb837ef0 --- /dev/null +++ b/packages/core/__tests__/utils/math.test.ts @@ -0,0 +1,30 @@ +import { sum } from '../../src/utils'; + +describe('sum Tests', () => { + it('sum should return the correct sum of numbers', () => { + const numbers = [1, 2, 3, 4, 5]; + const callbackFn = (previousValue, currentValue) => previousValue + currentValue; + + const result = sum(numbers, callbackFn, 0); // Initial value of 0 + + expect(result).toBe(15); + }); + + it('sum should return initialValue for an empty iterable', () => { + const emptyArray: number[] = []; + const callbackFn = (previousValue, currentValue) => previousValue + currentValue; + + const result = sum(emptyArray, callbackFn, 10); // Initial value of 10 + + expect(result).toBe(10); + }); + + it('sum should handle callback function with initial value', () => { + const numbers = [1, 2, 3, 4, 5]; + const callbackFn = (previousValue, currentValue) => previousValue + currentValue; + + const result = sum(numbers, callbackFn, 10); // Initial value of 10 + + expect(result).toBe(25); // Sum of numbers (1 + 2 + 3 + 4 + 5) + initial value (10) + }); +}); diff --git a/packages/core/__tests__/utils/name-service.test.ts b/packages/core/__tests__/utils/name-service.test.ts new file mode 100644 index 000000000..a92bd0bf0 --- /dev/null +++ b/packages/core/__tests__/utils/name-service.test.ts @@ -0,0 +1,61 @@ +import { + getNameServiceRegistryFromChainName, + getNameServiceRegistryFromName, + getNameServiceNameFromChainName, + getChainNameFromNameServiceName, +} from '../../src/utils'; // Replace 'yourFile' with the actual path to your file +import { nameServiceRegistries } from '../../src/config'; // Assuming 'nameServiceRegistries' contains real data + +describe('Name Service Utility Functions Tests', () => { + test.each(nameServiceRegistries)( + 'getNameServiceRegistryFromChainName should return the correct registry for chain %p', + (chain) => { + const registry = getNameServiceRegistryFromChainName(chain.chainName); + expect(registry).toEqual(chain); + expect(registry.getQueryMsg('address')).toEqual(chain.getQueryMsg('address')); + } + ); + + test.each(nameServiceRegistries)( + 'getNameServiceRegistryFromName should return the correct registry for name %p', + (chain) => { + const registry = getNameServiceRegistryFromName(chain.name); + expect(registry).toEqual(chain); + } + ); + + test.each(nameServiceRegistries)( + 'getNameServiceNameFromChainName should return the correct name for chain %p', + (chain) => { + const name = getNameServiceNameFromChainName(chain.chainName); + expect(name).toBe(chain.name); + } + ); + + test.each(nameServiceRegistries)( + 'getChainNameFromNameServiceName should return the correct chain name for name %p', + (chain) => { + const chainName = getChainNameFromNameServiceName(chain.name); + expect(chainName).toBe(chain.chainName); + } + ); + + test('getNameServiceRegistryFromChainName should throw an error if no registry found', () => { + const nonExistentChainName = 'nonExistentChain'; + expect(() => getNameServiceRegistryFromChainName(nonExistentChainName)).toThrowError( + `No such name service registered with chain ${nonExistentChainName}` + ); + }); + + test('getNameServiceNameFromChainName should return undefined for non-existent chain', () => { + const nonExistentChainName = 'nonExistentChain'; + const result = getNameServiceNameFromChainName(nonExistentChainName); + expect(result).toBeUndefined(); + }); + + test('getChainNameFromNameServiceName should return undefined for non-existent name service', () => { + const nonExistentNameService = 'nonExistentNameService'; + const result = getChainNameFromNameServiceName(nonExistentNameService); + expect(result).toBeUndefined(); + }); +}); diff --git a/packages/core/__tests__/utils/session.test.ts b/packages/core/__tests__/utils/session.test.ts new file mode 100644 index 000000000..b9ae78379 --- /dev/null +++ b/packages/core/__tests__/utils/session.test.ts @@ -0,0 +1,45 @@ +import { Session } from '../../src/utils'; + +jest.useFakeTimers(); // 使用 Jest 提供的虚拟定时器 +jest.spyOn(global, 'setTimeout'); +jest.spyOn(global, 'clearTimeout'); + + +describe('Session', () => { + + beforeEach(() => { + jest.clearAllMocks() + jest.clearAllTimers() + }) + + it('should call callback after specified duration', () => { + const callback = jest.fn(); + const sessionOptions = { duration: 1000, callback }; + + const session = new Session(sessionOptions); + + session.update(); + + expect(setTimeout).toHaveBeenCalledTimes(1); + expect(setTimeout).toHaveBeenLastCalledWith(expect.any(Function), 1000); + + jest.advanceTimersByTime(1000); + + expect(callback).toHaveBeenCalledTimes(1); + }); + + it('should clear previous timeout before setting new one', () => { + const callback = jest.fn(); + const sessionOptions = { duration: 1000, callback }; + + const session = new Session(sessionOptions); + + session.update(); + + session.update(); + + expect(clearTimeout).toHaveBeenCalledTimes(1); + + expect(setTimeout).toHaveBeenCalledTimes(2); + }); +}); diff --git a/packages/core/__tests__/utils/status.test.ts b/packages/core/__tests__/utils/status.test.ts new file mode 100644 index 000000000..ab33b3902 --- /dev/null +++ b/packages/core/__tests__/utils/status.test.ts @@ -0,0 +1,49 @@ +import { State, WalletStatus } from '../../src/types'; +import { ClientNotExistError, getWalletStatusFromState, RejectedError } from "../../src/utils"; + +describe('getWalletStatusFromState', () => { + it('should return Connecting when state is Pending', () => { + const state = State.Pending + const walletStatus = getWalletStatusFromState(state); + expect(walletStatus).toBe(WalletStatus.Connecting); + }); + + it('should return Connected when state is Done', () => { + const state = State.Done + const walletStatus = getWalletStatusFromState(state); + expect(walletStatus).toBe(WalletStatus.Connected); + }); + + it('should return NotExist when state is Error and message is ClientNotExistError', () => { + const state = State.Error + const message = ClientNotExistError.message; + const walletStatus = getWalletStatusFromState(state, message); + expect(walletStatus).toBe(WalletStatus.NotExist); + }); + + it('should return Rejected when state is Error and message is RejectedError', () => { + const state = State.Error + const message = RejectedError.message; + const walletStatus = getWalletStatusFromState(state, message); + expect(walletStatus).toBe(WalletStatus.Rejected); + }); + + it('should return Error when state is Error and message is not recognized', () => { + const state = State.Error + const message = 'Some other error message'; + const walletStatus = getWalletStatusFromState(state, message); + expect(walletStatus).toBe(WalletStatus.Error); + }); + + it('should return Disconnected when state is Init', () => { + const state = State.Init + const walletStatus = getWalletStatusFromState(state); + expect(walletStatus).toBe(WalletStatus.Disconnected); + }); + + it('should return Disconnected when state is unknown', () => { + const state = 'UnknownState'; + const walletStatus = getWalletStatusFromState(state as State); + expect(walletStatus).toBe(WalletStatus.Disconnected); + }); +}); diff --git a/packages/core/index.ts b/packages/core/index.ts new file mode 100644 index 000000000..f9f79b4a1 --- /dev/null +++ b/packages/core/index.ts @@ -0,0 +1,2 @@ +// not for module, but for local development.. +export * from './src'; diff --git a/packages/core/src/bases/chain-wallet.ts b/packages/core/src/bases/chain-wallet.ts new file mode 100644 index 000000000..7aa29e2b9 --- /dev/null +++ b/packages/core/src/bases/chain-wallet.ts @@ -0,0 +1,467 @@ +/* eslint-disable no-unused-expressions */ +import { SigningCosmWasmClientOptions } from '@cosmjs/cosmwasm-stargate'; +import { EncodeObject, OfflineSigner } from '@cosmjs/proto-signing'; +import { + GasPrice, + SigningStargateClientOptions, + StargateClientOptions, + StdFee, +} from '@cosmjs/stargate'; +import type { TxRaw } from 'cosmjs-types/cosmos/tx/v1beta1/tx'; + +import { COSMIFRAME_WALLET_ID } from '../cosmiframe/constants'; +import { + ChainRecord, + CosmosClientType, + Endpoints, + ExtendedHttpEndpoint, + SignType, + SimpleAccount, + State, + Wallet, +} from '../types'; +import { ConnectError } from '../utils'; +import type { MainWalletBase } from './main-wallet'; +import { WalletBase } from './wallet'; + +export class ChainWalletBase extends WalletBase { + mainWallet: MainWalletBase; + chainRecord: ChainRecord; + protected _rpcEndpoint?: string | ExtendedHttpEndpoint; + protected _restEndpoint?: string | ExtendedHttpEndpoint; + connectChains?: () => Promise; + offlineSigner?: OfflineSigner; + namespace = 'cosmos'; + preferredSignType: SignType; + + constructor(walletInfo: Wallet, chainRecord: ChainRecord) { + super(walletInfo); + this.chainRecord = chainRecord; + this.preferredSignType = + chainRecord.clientOptions?.preferredSignType || 'amino'; + } + + get chain() { + return this.chainRecord.chain; + } + + get assetList() { + return this.chainRecord.assetList; + } + + get isTestNet() { + return this.chainName.includes('testnet'); + } + + get preferredEndpoints() { + return this.chainRecord.preferredEndpoints; + } + + get rpcEndpoints() { + return this.preferredEndpoints?.rpc || []; + } + + get restEndpoints() { + return this.preferredEndpoints?.rest || []; + } + + /** + * stands for real `chainIsLazy` considered both `globalIsLazy` and `chainIsLazy` settings + */ + get isLazy() { + return this.preferredEndpoints.isLazy; + } + + addEndpoints(endpoints?: Endpoints) { + this.chainRecord.preferredEndpoints = { + isLazy: endpoints?.isLazy ?? this.preferredEndpoints?.isLazy, + rpc: [...(endpoints?.rpc || []), ...(this.preferredEndpoints?.rpc || [])], + rest: [ + ...(endpoints?.rest || []), + ...(this.preferredEndpoints?.rest || []), + ], + }; + } + + get chainName() { + return this.chainRecord.name; + } + + get chainLogoUrl(): string | undefined { + return ( + // until chain_registry fix this + // this.chainInfo.chain.logo_URIs?.svg || + // this.chainInfo.chain.logo_URIs?.png || + // this.chainInfo.chain.logo_URIs?.jpeg || + this.assetList?.assets[0]?.logo_URIs?.svg || + this.assetList?.assets[0]?.logo_URIs?.png || + undefined + ); + } + + get stargateOptions(): StargateClientOptions | undefined { + return this.chainRecord.clientOptions?.stargate; + } + + get signingStargateOptions(): SigningStargateClientOptions | undefined { + return ( + this.chainRecord.clientOptions?.signingStargate || + this.chainRecord.clientOptions?.stargate + ); + } + + get signingCosmwasmOptions(): SigningCosmWasmClientOptions | undefined { + return this.chainRecord.clientOptions?.signingCosmwasm; + } + + get assets() { + return this.assetList?.assets; + } + + get chainId() { + return this.chain?.chain_id; + } + + get cosmwasmEnabled() { + return this.chain?.codebase?.cosmwasm_enabled; + } + + get username(): string | undefined { + return this.data?.username; + } + + get address(): string | undefined { + return this.data?.address; + } + + setData(data: SimpleAccount | undefined) { + this.logger?.debug( + `[Data Change] ${JSON.stringify(this.data)} -> ${JSON.stringify(data)} (${ + (this as any).chainName + }/${(this as any).walletName})` + ); + this._mutable.data = data; + this.actions?.data?.(data); + const accountsStr = window.localStorage.getItem( + 'cosmos-kit@2:core//accounts' + ); + let accounts: SimpleAccount[] = accountsStr ? JSON.parse(accountsStr) : []; + if (typeof data === 'undefined') { + accounts = accounts.filter( + (a) => a.chainId !== this.chainId || a.namespace !== this.namespace + ); + } else { + accounts = accounts.filter( + (a) => a.chainId !== this.chainId || a.namespace !== this.namespace + ); + accounts.push(data); + } + + window?.localStorage.setItem( + 'cosmos-kit@2:core//accounts', + JSON.stringify(accounts) + ); + this.session?.update(); + } + + initClient(_options?: any): void | Promise { + throw new Error('initClient not implemented'); + } + + async update(options = { connect: true }) { + this.setState(State.Pending); + this.setMessage(void 0); + + try { + if (options.connect) { + this.connectChains + ? await this.connectChains() + : await this?.client?.connect?.(this.chainId); + } + + let account: SimpleAccount; + try { + this.logger?.debug( + `Fetching ${this.walletName} ${this.chainId} account.` + ); + account = await this?.client?.getSimpleAccount(this.chainId); + } catch (error) { + if (this.rejectMatched(error as Error)) { + this.logger?.debug(`Fetching rejected.`); + this.setRejected(new ConnectError()); + return; + } + if (this.client && this?.client?.addChain) { + this.logger?.debug(`Going to add chain ${this.chainId}`); + await this.client.addChain(this.chainRecord); + account = await this.client.getSimpleAccount(this.chainId); + } else { + throw error; + } + } + + this.setData(account); + this.setState(State.Done); + this.setMessage(void 0); + } catch (e) { + // this.logger?.error(e); + if (e && this.rejectMatched(e as Error)) { + this.setRejected(new ConnectError()); + } else { + this.setError(new ConnectError((e as Error).message)); + } + } + if (!this.isWalletRejected && this.walletName !== COSMIFRAME_WALLET_ID) { + window?.localStorage.setItem( + 'cosmos-kit@2:core//current-wallet', + this.walletName + ); + } + } + + getRpcEndpoint = async ( + isLazy?: boolean + ): Promise => { + const { getIsLazy } = await import('../utils'); + const lazy = getIsLazy( + void 0, + this.isLazy, + (this._rpcEndpoint as any)?.isLazy, + isLazy, + this.logger + ); + + if (lazy) { + const endpoint = this._rpcEndpoint || this.rpcEndpoints[0]; + if (!endpoint) { + return Promise.reject('No endpoint available.'); + } + return endpoint; + } + + const nodeType = 'rpc'; + + const { isValidEndpoint } = await import('../utils'); + if ( + this._rpcEndpoint && + (await isValidEndpoint(this._rpcEndpoint, nodeType, lazy, this.logger)) + ) { + return this._rpcEndpoint; + } + + const { getFastestEndpoint } = await import('../utils'); + this._rpcEndpoint = await getFastestEndpoint( + this.rpcEndpoints, + nodeType, + this.logger + ); + return this._rpcEndpoint; + }; + + getRestEndpoint = async ( + isLazy?: boolean + ): Promise => { + const { getIsLazy } = await import('../utils'); + const lazy = getIsLazy( + void 0, + this.isLazy, + (this._restEndpoint as any)?.isLazy, + isLazy, + this.logger + ); + + if (lazy) { + const endpoint = this._restEndpoint || this.restEndpoints[0]; + if (!endpoint) { + return Promise.reject('No endpoint available.'); + } + return endpoint; + } + + const nodeType = 'rest'; + + const { isValidEndpoint } = await import('../utils'); + if ( + this._restEndpoint && + (await isValidEndpoint(this._restEndpoint, nodeType, lazy, this.logger)) + ) { + return this._restEndpoint; + } + + const { getFastestEndpoint } = await import('../utils'); + this._restEndpoint = await getFastestEndpoint( + this.restEndpoints, + nodeType, + this.logger + ); + return this._restEndpoint; + }; + + getStargateClient = async () => { + const rpcEndpoint = await this.getRpcEndpoint(); + const { StargateClient } = await import('@cosmjs/stargate'); + return StargateClient.connect(rpcEndpoint, this.stargateOptions); + }; + + getCosmWasmClient = async () => { + const rpcEndpoint = await this.getRpcEndpoint(); + const { CosmWasmClient } = await import('@cosmjs/cosmwasm-stargate'); + return CosmWasmClient.connect(rpcEndpoint); + }; + + getNameService = async () => { + const client = await this.getCosmWasmClient(); + const { getNameServiceRegistryFromChainName } = await import('../utils'); + const registry = getNameServiceRegistryFromChainName(this.chainName); + const { NameService } = await import('../name-service'); + return new NameService(client, registry); + }; + + async initOfflineSigner(preferredSignType?: SignType) { + if (typeof this.client === 'undefined') { + throw new Error('WalletClient is not initialized'); + } + if (preferredSignType) this.preferredSignType = preferredSignType; + this.offlineSigner = await this.client.getOfflineSigner( + this.chainId, + this.preferredSignType + ); + } + + getSigningStargateClient = async () => { + const rpcEndpoint = await this.getRpcEndpoint(); + + if (!this.offlineSigner) { + await this.initOfflineSigner(); + } + + const { SigningStargateClient } = await import('@cosmjs/stargate'); + + return SigningStargateClient.connectWithSigner( + rpcEndpoint, + this.offlineSigner, + this.signingStargateOptions + ); + }; + + getSigningCosmWasmClient = async () => { + const rpcEndpoint = await this.getRpcEndpoint(); + + if (!this.offlineSigner) { + await this.initOfflineSigner(); + } + + const { SigningCosmWasmClient } = await import('@cosmjs/cosmwasm-stargate'); + return SigningCosmWasmClient.connectWithSigner( + rpcEndpoint, + this.offlineSigner, + this.signingCosmwasmOptions + ); + }; + + protected getSigningClient = async (type?: CosmosClientType) => { + switch (type) { + case 'stargate': + return await this.getSigningStargateClient(); + case 'cosmwasm': + return await this.getSigningCosmWasmClient(); + default: + return this.getSigningStargateClient(); + } + }; + + estimateFee = async ( + messages: EncodeObject[], + type?: CosmosClientType, + memo?: string, + multiplier?: number + ) => { + if (!this.address) { + throw new Error( + 'Address is required to estimate fee. Try connect to fetch address.' + ); + } + + let gasPrice: GasPrice | undefined; + switch (type) { + case 'stargate': + gasPrice = this.signingStargateOptions?.gasPrice; + break; + case 'cosmwasm': + gasPrice = this.signingCosmwasmOptions?.gasPrice; + break; + default: + gasPrice = this.signingStargateOptions?.gasPrice; + break; + } + + if (!gasPrice) { + throw new Error( + 'Gas price must be set in the client options when auto gas is used.' + ); + } + const client = await this.getSigningClient(type); + const gasEstimation = await client.simulate(this.address, messages, memo); + const { calculateFee } = await import('@cosmjs/stargate'); + return calculateFee( + Math.round(gasEstimation * (multiplier || 1.4)), + gasPrice + ); + }; + + sign = async ( + messages: EncodeObject[], + fee?: StdFee | number, + memo?: string, + type?: CosmosClientType + ): Promise => { + if (!this.address) { + throw new Error( + 'Address is required to estimate fee. Try connect to fetch address.' + ); + } + const client = await this.getSigningClient(type); + let usedFee: StdFee; + if (typeof fee === 'undefined' || typeof fee === 'number') { + usedFee = await this.estimateFee(messages, type, memo, fee); + } else { + usedFee = fee; + } + + return await client.sign(this.address, messages, usedFee, memo || ''); + }; + + broadcast = async (signedMessages: TxRaw, type?: CosmosClientType) => { + const client = await this.getSigningClient(type); + const { TxRaw } = await import('cosmjs-types/cosmos/tx/v1beta1/tx'); + const txBytes = TxRaw.encode(signedMessages).finish(); + + let timeoutMs: number | undefined, pollIntervalMs: number | undefined; + switch (type) { + case 'stargate': + timeoutMs = this.signingStargateOptions?.broadcastTimeoutMs; + pollIntervalMs = this.signingStargateOptions?.broadcastPollIntervalMs; + break; + case 'cosmwasm': + timeoutMs = this.signingCosmwasmOptions?.broadcastTimeoutMs; + pollIntervalMs = this.signingCosmwasmOptions?.broadcastPollIntervalMs; + break; + default: + timeoutMs = this.signingStargateOptions?.broadcastTimeoutMs; + pollIntervalMs = this.signingStargateOptions?.broadcastPollIntervalMs; + break; + } + + return client.broadcastTx(txBytes, timeoutMs, pollIntervalMs); + }; + + signAndBroadcast = async ( + messages: EncodeObject[], + fee?: StdFee | number, + memo?: string, + type?: CosmosClientType + ) => { + const signedMessages = await this.sign(messages, fee, memo, type); + return this.broadcast(signedMessages, type); + }; +} diff --git a/packages/core/src/bases/index.ts b/packages/core/src/bases/index.ts new file mode 100644 index 000000000..722b303f4 --- /dev/null +++ b/packages/core/src/bases/index.ts @@ -0,0 +1,4 @@ +export * from './chain-wallet'; +export * from './main-wallet'; +export * from './state'; +export * from './wallet'; diff --git a/packages/core/src/bases/main-wallet.ts b/packages/core/src/bases/main-wallet.ts new file mode 100644 index 000000000..689a02d06 --- /dev/null +++ b/packages/core/src/bases/main-wallet.ts @@ -0,0 +1,252 @@ +/* eslint-disable @typescript-eslint/no-empty-function */ +import EventEmitter from 'events'; + +import { COSMIFRAME_WALLET_ID } from '../cosmiframe/constants'; +import { + ChainName, + ChainRecord, + DappEnv, + DisconnectOptions, + EndpointOptions, + IChainWallet, + State, + Wallet, + WalletClient, + WalletStatus, +} from '../types'; +import type { ChainWalletBase } from './chain-wallet'; +import { WalletBase } from './wallet'; + +export abstract class MainWalletBase extends WalletBase { + protected _chainWalletMap?: Map; + preferredEndpoints?: EndpointOptions['endpoints']; + ChainWallet: IChainWallet; + + constructor(walletInfo: Wallet, ChainWallet: IChainWallet) { + super(walletInfo); + this.ChainWallet = ChainWallet; + this.emitter = new EventEmitter(); + this.emitter.on('broadcast_client', (client: WalletClient) => { + this.logger?.debug( + `[Event Fired] \`broadcast_client\` (${this.walletName})` + ); + this.chainWalletMap?.forEach((chainWallet) => { + chainWallet.initClientDone(client); + }); + }); + this.emitter.on('broadcast_env', (env: DappEnv) => { + this.logger?.debug( + `[Event Fired] \`broadcast_env\` (${this.walletName})` + ); + this.chainWalletMap?.forEach((chainWallet) => { + chainWallet.setEnv(env); + }); + }); + this.emitter.on('sync_connect', async (chainName?: ChainName) => { + this.logger?.debug(`[Event Fired] \`sync_connect\` (${this.walletName})`); + await this.connectAll(true, chainName); + this.update(); + }); + this.emitter.on('sync_disconnect', async (chainName?: ChainName) => { + this.logger?.debug( + `[Event Fired] \`sync_disconnect\` (${this.walletName})` + ); + await this.disconnectAll(true, chainName); + this.reset(); + }); + this.emitter.on('reset', (chainIds: string[]) => { + this.logger?.debug(`[Event Fired] \`reset\` (${this.walletName})`); + chainIds.forEach((chainId) => + Array.from(this.chainWalletMap.values()) + .find((cw) => cw.chainId === chainId) + ?.reset() + ); + }); + } + + initingClient() { + this.clientMutable.state = State.Pending; + this.clientMutable.message = void 0; + this.clientMutable.data = void 0; + this.actions?.clientState?.(State.Pending); + this.actions?.clientMessage?.(void 0); + this.chainWalletMap?.forEach((chainWallet) => { + chainWallet.initingClient(); + }); + } + + initClientDone(client: WalletClient | undefined) { + this.clientMutable.data = client; + this.clientMutable.state = State.Done; + this.clientMutable.message = void 0; + this.actions?.clientState?.(State.Done); + this.actions?.clientMessage?.(void 0); + this.chainWalletMap?.forEach((chainWallet) => { + chainWallet.initClientDone(client); + }); + } + + initClientError(error: Error | undefined) { + this.clientMutable.message = error?.message; + this.clientMutable.state = State.Error; + this.actions?.clientState?.(State.Error); + this.actions?.clientMessage?.(error?.message); + this.chainWalletMap?.forEach((chainWallet) => { + chainWallet.initClientError(error); + }); + if (this.throwErrors === true) { + throw new Error(this.clientMutable.message); + } + } + + protected onSetChainsDone(): void { } + + private makeFinalEndpoints(chain: ChainRecord) { + const isTestNet = chain.name.includes('testnet'); + const preferredEndpoints = { + isLazy: chain.preferredEndpoints?.isLazy, + rpc: [ + ...(chain.preferredEndpoints?.rpc || []), + ...(this.preferredEndpoints?.[chain.name]?.rpc || []), + ...(chain.chain?.apis?.rpc?.map((e) => e.address) || []), + isTestNet + ? `https://rpc.testcosmos.directory/${chain.name}` + : `https://rpc.cosmos.directory/${chain.name}`, + ], + rest: [ + ...(chain.preferredEndpoints?.rest || []), + ...(this.preferredEndpoints?.[chain.name]?.rest || []), + ...(chain.chain?.apis?.rest?.map((e) => e.address) || []), + isTestNet + ? `https://rest.testcosmos.directory/${chain.name}` + : `https://rest.cosmos.directory/${chain.name}`, + ], + }; + return preferredEndpoints; + } + + addEnpoints(endpoints?: EndpointOptions['endpoints']) { + this.getChainWalletList(false).forEach((wallet) => { + wallet.addEndpoints(endpoints[wallet.chainName]); + }); + } + + setChains(chains: ChainRecord[], overwrite = true): void { + if (overwrite || !this._chainWalletMap) { + this._chainWalletMap = new Map(); + } + chains.forEach((chain) => { + const chainWallet = new this.ChainWallet(this.walletInfo, { + ...chain, + preferredEndpoints: this.makeFinalEndpoints(chain), + }); + + chainWallet.mainWallet = this; + chainWallet.emitter = this.emitter; + chainWallet.logger = this.logger; + chainWallet.throwErrors = this.throwErrors; + chainWallet.session = this.session; + chainWallet.walletConnectOptions = this.walletConnectOptions; + chainWallet.initClient = this.initClient; + + this._chainWalletMap!.set(chain.name, chainWallet); + }); + + this.onSetChainsDone(); + } + + get chainWalletMap() { + return this._chainWalletMap; + } + + getChainWallet = (chainName: string): ChainWalletBase | undefined => { + return this.chainWalletMap?.get(chainName); + }; + + getChainWalletList = (activeOnly = true) => { + const allChainWallets = Array.from(this.chainWalletMap.values()); + return activeOnly + ? allChainWallets.filter((w) => w.isActive) + : allChainWallets; + }; + + getGlobalStatusAndMessage = ( + activeOnly = true + ): [WalletStatus, string | undefined] => { + const chainWalletList = this.getChainWalletList(activeOnly); + + let wallet = chainWalletList.find((w) => w.isWalletNotExist); + if (wallet) return [wallet.walletStatus, wallet.message]; + + wallet = chainWalletList.find((w) => w.isWalletConnecting); + if (wallet) return [WalletStatus.Connecting, void 0]; + + wallet = chainWalletList.find((w) => w.isWalletDisconnected); + if (wallet) { + return [WalletStatus.Disconnected, 'Exist disconnected wallets']; + } + + wallet = chainWalletList.find((w) => w.isError || w.isWalletRejected); + if (wallet) return [wallet.walletStatus, wallet.message]; + + return [WalletStatus.Connected, void 0]; + }; + + async update() { + // in case nonexist wallet is set as current wallet + if (this.walletStatus === 'NotExist') { + return window.localStorage.removeItem('cosmos-kit@2:core//current-wallet'); + } + + this.setData(void 0); + this.setMessage(void 0); + this.setState(State.Done); + this.activate(); + if (this.walletName !== COSMIFRAME_WALLET_ID) { + window?.localStorage.setItem( + 'cosmos-kit@2:core//current-wallet', + this.walletName + ); + } + } + + reset() { + this.setData(void 0); + this.setMessage(void 0); + this.setState(State.Init); + this.inactivate(); + } + + async connectAll(activeOnly = true, exclude?: ChainName) { + const chainWalletList = this.getChainWalletList(activeOnly); + + // Avoid duplicate connect popups in wallet mobile Apps when using useChains + if ( + chainWalletList.length > 0 && + chainWalletList.every( + (wallet) => wallet.isModeWalletConnect && wallet.connectChains + ) + ) { + return; + } + + for (const w of chainWalletList) { + if (w.chainName !== exclude) { + await w.connect(); + } + } + } + + async disconnectAll( + activeOnly = true, + exclude?: ChainName, + options?: DisconnectOptions + ) { + const chainWalletList = this.getChainWalletList(activeOnly); + for (const w of chainWalletList) { + if (w.chainName !== exclude) { + await w.disconnect(false, options); + } + } + } +} diff --git a/packages/core/src/bases/state.ts b/packages/core/src/bases/state.ts new file mode 100644 index 000000000..9370c169d --- /dev/null +++ b/packages/core/src/bases/state.ts @@ -0,0 +1,125 @@ +import { Actions, DappEnv, Data, Mutable, State, StateActions, WalletStatus } from '../types'; +import { getWalletStatusFromState } from '../utils'; +import type { Logger } from '../utils'; + +export class StateBase { + protected _mutable: Mutable; + actions?: StateActions; + protected _env?: DappEnv; + logger?: Logger; + + constructor() { + this._mutable = { state: State.Init }; + } + + get env() { + return this._env; + } + + setEnv(env?: DappEnv) { + this._env = env; + } + + setActions = (actions: Actions) => { + this.actions = actions; + }; + + get isMobile() { + return this.env?.device === 'mobile'; + } + + get mutable() { + return this._mutable; + } + + get state() { + return this.mutable.state; + } + + get isInit() { + return this.state === 'Init'; + } + + get isDone() { + return this.state === 'Done'; + } + + get isError() { + return this.state === 'Error'; + } + + get isPending() { + return this.state === 'Pending'; + } + + get data() { + return this.mutable.data; + } + + get message() { + return this.mutable.message; + } + + setState(state: State) { + this.logger?.debug( + `[State Change] ${this.state} (${ + (this as any).walletStatus + }) -> ${state} (${(this as any).chainName}/${(this as any).walletName})` + ); + this._mutable.state = state; + this.actions?.state?.(state); + } + + setData(data: Data | undefined) { + this._mutable.data = data; + this.actions?.data?.(data); + } + + setMessage(message: string | undefined) { + this.logger?.debug( + `[Message Set] ${message} (${(this as any).chainName}/${ + (this as any).walletName + })` + ); + this._mutable.message = message; + this.actions?.message?.(message); + } + + reset() { + this.setData(undefined); + this.setMessage(undefined); + this.setState(State.Init); + } + + get walletStatus(): WalletStatus { + return getWalletStatusFromState(this.state, this.message); + } + + get isWalletOnceConnect() { + return this.isWalletConnected || this.isWalletError; + } + + get isWalletConnecting() { + return this.walletStatus === 'Connecting'; + } + + get isWalletConnected() { + return this.walletStatus === 'Connected'; + } + + get isWalletDisconnected() { + return this.walletStatus === 'Disconnected'; + } + + get isWalletRejected() { + return this.walletStatus === 'Rejected'; + } + + get isWalletNotExist() { + return this.walletStatus === 'NotExist'; + } + + get isWalletError() { + return this.walletStatus === 'Error'; + } +} diff --git a/packages/core/src/bases/wallet.ts b/packages/core/src/bases/wallet.ts new file mode 100644 index 000000000..3b1a4b150 --- /dev/null +++ b/packages/core/src/bases/wallet.ts @@ -0,0 +1,260 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable no-console */ +import type EventEmitter from 'events'; + +import { COSMIFRAME_WALLET_ID } from '../cosmiframe/constants'; +import { + Callbacks, + DisconnectOptions, + DownloadInfo, + Mutable, + State, + Wallet, + WalletClient, + WalletConnectOptions, +} from '../types'; +import type { Session } from '../utils'; +import { ClientNotExistError, ConnectError, RejectedError } from '../utils'; +import { StateBase } from './state'; + +export abstract class WalletBase extends StateBase { + clientMutable: Mutable = { state: State.Init }; + emitter?: EventEmitter; + protected _walletInfo: Wallet; + callbacks?: Callbacks; + session?: Session; + walletConnectOptions?: WalletConnectOptions; + /** + * isActive in mainWallet is not like chainWallet + * - mainWallet: activated when connected + * - chainWallet: activated when called by hooks (useChain, useChainWallet etc) + */ + isActive = false; + throwErrors: boolean | 'connect_only' = false; + + constructor(walletInfo: Wallet) { + super(); + this._walletInfo = walletInfo; + } + + get appUrl() { + return this.client?.appUrl; + } + + get qrUrl() { + return this.client?.qrUrl; + } + + activate() { + this.isActive = true; + } + + inactivate() { + this.isActive = false; + } + + get client() { + return this.clientMutable?.data; + } + + initingClient() { + this.clientMutable.state = State.Pending; + this.clientMutable.message = void 0; + this.clientMutable.data = void 0; + } + + initClientDone(client: WalletClient | undefined) { + this.clientMutable.data = client; + this.clientMutable.state = State.Done; + this.clientMutable.message = void 0; + } + + initClientError(error: Error | undefined) { + this.logger?.error( + `${this.walletPrettyName} initClientError: ${error?.message}` + ); + this.clientMutable.message = error?.message; + this.clientMutable.state = State.Error; + if (this.isModeExtension) { + this.setClientNotExist(); + } else { + this.setError(`InitClientError: ${error.message}`); + } + } + + get walletInfo(): Wallet { + return this._walletInfo; + } + + get isModeExtension() { + return this.walletInfo.mode === 'extension'; + } + + get isModeWalletConnect() { + return this.walletInfo.mode === 'wallet-connect'; + } + + get downloadInfo(): DownloadInfo | undefined { + let downloads: DownloadInfo[] = this.walletInfo.downloads || []; + + downloads = downloads.filter( + (d) => d.device === this.env?.device || !d.device + ); + + if (downloads.length === 1) { + return downloads[0]; + } + + downloads = downloads.filter((d) => d.os === this.env?.os || !d.os); + + if (downloads.length === 1) { + return downloads[0]; + } + + downloads = downloads.filter( + (d) => d.browser === this.env?.browser || !d.browser + ); + + return downloads[0]; + } + + get walletName() { + return this.walletInfo.name; + } + + get walletPrettyName() { + return this.walletInfo.prettyName; + } + + get rejectMessageSource() { + if (typeof this.walletInfo.rejectMessage === 'string') { + return this.walletInfo.rejectMessage; + } else { + return this.walletInfo.rejectMessage?.source; + } + } + + get rejectMessageTarget() { + if (typeof this.walletInfo.rejectMessage === 'string') { + return void 0; + } else { + return this.walletInfo.rejectMessage?.target; + } + } + + get rejectCode() { + return this.walletInfo.rejectCode; + } + + rejectMatched(e: Error) { + return ( + (this.rejectMessageSource && e.message === this.rejectMessageSource) || + (this.rejectCode && (e as any).code === this.rejectCode) + ); + } + + updateCallbacks(callbacks: Callbacks) { + this.callbacks = { ...this.callbacks, ...callbacks }; + } + + protected _disconnect = async ( + sync?: boolean, + options?: DisconnectOptions + ) => { + await this.callbacks?.beforeDisconnect?.(); + await this.client?.disconnect?.(options); + if (this.clientMutable.state !== State.Error) { + this.reset(); + } + if (this.walletName !== COSMIFRAME_WALLET_ID) { + window.localStorage.removeItem('cosmos-kit@2:core//current-wallet'); + } + if (sync) { + this.emitter?.emit('sync_disconnect', (this as any).chainName); + this.logger?.debug('[WALLET EVENT] Emit `sync_disconnect`'); + } + await this.callbacks?.afterDisconnect?.(); + }; + + disconnect = async (sync?: boolean, options?: DisconnectOptions) => { + await this._disconnect(sync, options); + }; + + setClientNotExist(e?: Error) { + const error = typeof e === 'undefined' ? new Error() : e; + error.message = ClientNotExistError.message; + this.setError(error); + } + + setRejected(e?: Error) { + const error = typeof e === 'undefined' ? new Error() : e; + error.message = RejectedError.message; + this.setError(error); + } + + setError(e?: Error | string) { + const error = + typeof e === 'string' || typeof e === 'undefined' ? new Error(e) : e; + this.setState(State.Error); + this.setMessage(error.message); + if (this.throwErrors === true) { + throw error; + } + if (this.throwErrors === 'connect_only' && error.name === 'ConnectError') { + throw error; + } + } + + connect = async (sync?: boolean) => { + await this.callbacks?.beforeConnect?.(); + + const mobileDisabled = + typeof this.walletInfo.mobileDisabled === 'boolean' + ? this.walletInfo.mobileDisabled + : this.walletInfo.mobileDisabled(); + + if (this.isMobile && mobileDisabled) { + this.setError( + new ConnectError( + 'This wallet is not supported on mobile, please use desktop browsers.' + ) + ); + return; + } + + if (sync) { + this.emitter?.emit('sync_connect', (this as any).chainName); + this.logger?.debug( + `[Event Emit] \`sync_connect\` (${(this as any).chainName}/${ + this.walletName + })` + ); + } + + try { + if (!this.client) { + this.setState(State.Pending); + this.setMessage('InitClient'); + await this.initClient( + this.walletInfo.mode === 'wallet-connect' + ? this.walletConnectOptions + : void 0 + ); + this.emitter?.emit('broadcast_client', this.client); + this.logger?.debug('[WALLET EVENT] Emit `broadcast_client`'); + if (!this.client) { + this.setClientNotExist(new ConnectError()); + return; + } + } + await this.update(); + } catch (error) { + this.setError(new ConnectError((error as Error).message)); + } + await this.callbacks?.afterConnect?.(); + }; + + abstract initClient(options?: any): void | Promise; + + abstract update(): void | Promise; +} diff --git a/packages/core/src/config.ts b/packages/core/src/config.ts new file mode 100644 index 000000000..167f061c7 --- /dev/null +++ b/packages/core/src/config.ts @@ -0,0 +1,27 @@ +import { Bech32Address, NameServiceRegistry } from './types'; + +export const nameServiceRegistries: NameServiceRegistry[] = [ + { + name: 'icns', + contract: 'osmo1xk0s8xgktn9x5vwcgtjdxqzadg88fgn33p8u9cnpdxwemvxscvast52cdd', + chainName: 'osmosis', + getQueryMsg: (address: Bech32Address) => { + return { + icns_names: { address }, + }; + }, + slip173: 'osmo', + }, + { + name: 'stargaze', + contract: + 'stars1fx74nkqkw2748av8j7ew7r3xt9cgjqduwn8m0ur5lhe49uhlsasszc5fhr', + chainName: 'stargaze', + getQueryMsg: (address: Bech32Address) => { + return { + name: { address }, + }; + }, + slip173: 'stars', + }, +]; diff --git a/packages/core/src/cosmiframe/constants.ts b/packages/core/src/cosmiframe/constants.ts new file mode 100644 index 000000000..860971b21 --- /dev/null +++ b/packages/core/src/cosmiframe/constants.ts @@ -0,0 +1,3 @@ +export const COSMIFRAME_WALLET_ID = 'cosmiframe'; +export const COSMIFRAME_KEYSTORECHANGE_EVENT = 'cosmiframe_keystorechange'; +export const COSMIFRAME_NOT_CONNECTED_MESSAGE = 'Cosmiframe not connected.'; diff --git a/packages/core/src/cosmiframe/cosmiframe.ts b/packages/core/src/cosmiframe/cosmiframe.ts new file mode 100644 index 000000000..4c36ebc9f --- /dev/null +++ b/packages/core/src/cosmiframe/cosmiframe.ts @@ -0,0 +1,7 @@ +import { cosmiframeExtensionInfo, CosmiframeWallet } from './extension'; + +export const makeCosmiframeWallet = (allowedParentOrigins: string[]) => + new CosmiframeWallet({ + ...cosmiframeExtensionInfo, + allowedParentOrigins, + }); diff --git a/packages/core/src/cosmiframe/extension/chain-wallet.ts b/packages/core/src/cosmiframe/extension/chain-wallet.ts new file mode 100644 index 000000000..a2bddc801 --- /dev/null +++ b/packages/core/src/cosmiframe/extension/chain-wallet.ts @@ -0,0 +1,8 @@ +import { ChainWalletBase } from '../../bases'; +import { ChainRecord, Wallet } from '../../types'; + +export class ChainWalletCosmiframe extends ChainWalletBase { + constructor(walletInfo: Wallet, chainInfo: ChainRecord) { + super(walletInfo, chainInfo); + } +} diff --git a/packages/core/src/cosmiframe/extension/client.ts b/packages/core/src/cosmiframe/extension/client.ts new file mode 100644 index 000000000..69e6bef4e --- /dev/null +++ b/packages/core/src/cosmiframe/extension/client.ts @@ -0,0 +1,116 @@ +import { StdSignature } from '@cosmjs/amino'; +import { Cosmiframe } from '@dao-dao/cosmiframe'; + +import { + ChainRecord, + SignType, + WalletAccount, + WalletClient, +} from '../../types'; + +export class CosmiframeClient implements WalletClient { + constructor(private cosmiframe: Cosmiframe) {} + + async getSimpleAccount(...params) { + return await this.cosmiframe.p.getSimpleAccount(...params); + } + + async connect(...params) { + return await this.cosmiframe.p.connect(...params); + } + + // Cannot implement because the event only makes sense in the context of the + // DOM where it happened, and references to the iframe's window are not + // available in the parent. + + // on(_type: string, _listener: EventListenerOrEventListenerObject) { + // throw new Error('Not implemented'); + // } + + // off(_type: string, _listener: EventListenerOrEventListenerObject) { + // throw new Error('Not implemented'); + // } + + async enable(...params) { + await this.cosmiframe.p.enable(...params); + } + + async suggestToken(...params) { + await this.cosmiframe.p.suggestToken(...params); + } + + async addChain(...params) { + // `clientOptions` in the chain record may contain + // `SigningStargateClientOptions` or `SigningCosmWasmClientOptions`, which + // may contain a types registry that cannot be cloned when using + // window.postMessage. `addChain` functions typically do not care about + // `clientOptions` as they are just used for adding chain metadata to a + // wallet, so we remove the `clientOptions` from the chain record here. + let chainRecord: ChainRecord = params[0]; + if (chainRecord && 'clientOptions' in chainRecord) { + chainRecord = { + ...chainRecord, + clientOptions: {}, + }; + params[0] = chainRecord; + } + + await this.cosmiframe.p.addChain(...params); + } + + async getAccount(...params) { + return await this.cosmiframe.p.getAccount(...params); + } + + getOfflineSigner(chainId: string, preferredSignType?: SignType) { + if (preferredSignType === 'direct') { + return this.getOfflineSignerDirect(chainId); + } else { + return this.getOfflineSignerAmino(chainId); + } + } + + getOfflineSignerAmino(chainId: string) { + return this.cosmiframe.getOfflineSignerAmino(chainId); + } + + getOfflineSignerDirect(chainId: string) { + return this.cosmiframe.getOfflineSignerDirect(chainId); + } + + async sign(...params) { + return await this.cosmiframe.p.sign(...params); + } + + async signAmino(...params) { + return await this.cosmiframe.p.signAmino(...params); + } + + async signDirect(...params) { + return await this.cosmiframe.p.signDirect(...params); + } + + async signArbitrary(...params): Promise { + return await this.cosmiframe.p.signArbitrary(...params); + } + + async getEnigmaPubKey(...params) { + return await this.cosmiframe.p.getEnigmaPubKey(...params); + } + + async getEnigmaTxEncryptionKey(...params) { + return await this.cosmiframe.p.getEnigmaTxEncryptionKey(...params); + } + + async enigmaEncrypt(...params) { + return await this.cosmiframe.p.enigmaEncrypt(...params); + } + + async enigmaDecrypt(...params) { + return await this.cosmiframe.p.enigmaDecrypt(...params); + } + + async sendTx(...params) { + return await this.cosmiframe.p.sendTx(...params); + } +} diff --git a/packages/core/src/cosmiframe/extension/index.ts b/packages/core/src/cosmiframe/extension/index.ts new file mode 100644 index 000000000..11bb61b90 --- /dev/null +++ b/packages/core/src/cosmiframe/extension/index.ts @@ -0,0 +1,4 @@ +export * from './chain-wallet'; +export * from './client'; +export * from './main-wallet'; +export * from './registry'; diff --git a/packages/core/src/cosmiframe/extension/main-wallet.ts b/packages/core/src/cosmiframe/extension/main-wallet.ts new file mode 100644 index 000000000..b8a8f39c3 --- /dev/null +++ b/packages/core/src/cosmiframe/extension/main-wallet.ts @@ -0,0 +1,43 @@ +import { Cosmiframe } from '@dao-dao/cosmiframe'; + +import { MainWalletBase } from '../../bases'; +import { ChainWalletCosmiframe } from './chain-wallet'; +import { CosmiframeClient } from './client'; +import { CosmiframeWalletInfo } from './types'; + +export class CosmiframeWallet extends MainWalletBase { + constructor(walletInfo: CosmiframeWalletInfo) { + super(walletInfo, ChainWalletCosmiframe); + } + + get walletInfo(): CosmiframeWalletInfo { + return this._walletInfo as CosmiframeWalletInfo; + } + + async initClient() { + this.initingClient(); + + const cosmiframe = new Cosmiframe(this.walletInfo.allowedParentOrigins); + const ready = await cosmiframe.isReady(); + + if (!ready) { + this.initClientError( + new Error( + 'Failed to detect Cosmiframe parent of allowed origin wrapping this app in an iframe.' + ) + ); + return; + } + + // Get metadata from parent. + const metadata = await cosmiframe.getMetadata(); + if (metadata?.name && typeof metadata.name === 'string') { + this.walletInfo.prettyName = metadata.name; + } + if (metadata?.imageUrl && typeof metadata.imageUrl === 'string') { + this.walletInfo.logo = metadata.imageUrl; + } + + this.initClientDone(new CosmiframeClient(cosmiframe)); + } +} diff --git a/packages/core/src/cosmiframe/extension/registry.ts b/packages/core/src/cosmiframe/extension/registry.ts new file mode 100644 index 000000000..ccf88136c --- /dev/null +++ b/packages/core/src/cosmiframe/extension/registry.ts @@ -0,0 +1,20 @@ +import { + COSMIFRAME_KEYSTORECHANGE_EVENT, + COSMIFRAME_WALLET_ID, +} from '../constants'; +import { CosmiframeWalletInfo } from './types'; + +export const cosmiframeExtensionInfo: CosmiframeWalletInfo = { + name: COSMIFRAME_WALLET_ID, + prettyName: 'Cosmiframe', + // A disconnected icon, since this should be overridden by the parent. + logo: 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHBhdGgKICAgIGZpbGw9IiM5MzkzOTMiCiAgICBkPSJNOC4xNCAxMC45NmMtLjA5LjMzLS4xNC42OC0uMTQgMS4wNCAwIDEuMS40NSAyLjEgMS4xNyAyLjgzbC0xLjQyIDEuNDJDNi42NyAxNS4xNiA2IDEzLjY2IDYgMTJjMC0uOTMuMjEtMS44LjU4LTIuNTlMNS4xMSA3Ljk0QzQuNCA5LjEzIDQgMTAuNTIgNCAxMmMwIDIuMjEuOSA0LjIxIDIuMzUgNS42NWwtMS40MiAxLjQyQzMuMTIgMTcuMjYgMiAxNC43NiAyIDEyYzAtMi4wNC42MS0zLjkzIDEuNjYtNS41MUwxLjM5IDQuMjIgMi44IDIuODFsMTguMzggMTguMzgtMS40MSAxLjQxTDguMTQgMTAuOTZ6bTkuMjggMy42M2MuMzctLjc5LjU4LTEuNjYuNTgtMi41OSAwLTEuNjYtLjY3LTMuMTYtMS43Ni00LjI0bC0xLjQyIDEuNDJDMTUuNTUgOS45IDE2IDEwLjkgMTYgMTJjMCAuMzYtLjA1LjcxLS4xNCAxLjA0bDEuNTYgMS41NXpNMjAgMTJjMCAxLjQ4LS40IDIuODctMS4xMSA0LjA2bDEuNDUgMS40NUMyMS4zOSAxNS45MyAyMiAxNC4wNCAyMiAxMmMwLTIuNzYtMS4xMi01LjI2LTIuOTMtNy4wN2wtMS40MiAxLjQyQzE5LjEgNy43OSAyMCA5Ljc5IDIwIDEyeiI+PC9wYXRoPgo8L3N2Zz4=', + mode: 'extension', + mobileDisabled: false, + rejectMessage: { + source: 'Request rejected', + }, + connectEventNamesOnWindow: [COSMIFRAME_KEYSTORECHANGE_EVENT], + // This will be overridden by the `makeCosmiframeWallet` function. + allowedParentOrigins: [], +}; diff --git a/packages/core/src/cosmiframe/extension/types.ts b/packages/core/src/cosmiframe/extension/types.ts new file mode 100644 index 000000000..f5b8dd304 --- /dev/null +++ b/packages/core/src/cosmiframe/extension/types.ts @@ -0,0 +1,5 @@ +import { Wallet } from '../../types'; + +export type CosmiframeWalletInfo = Wallet & { + allowedParentOrigins: string[]; +}; diff --git a/packages/core/src/cosmiframe/index.ts b/packages/core/src/cosmiframe/index.ts new file mode 100644 index 000000000..e96459256 --- /dev/null +++ b/packages/core/src/cosmiframe/index.ts @@ -0,0 +1,3 @@ +export * from './constants'; +export * from './cosmiframe'; +export * from './extension'; diff --git a/packages/core/src/index.ts b/packages/core/src/index.ts index 5cc28edfd..dfc002d17 100644 --- a/packages/core/src/index.ts +++ b/packages/core/src/index.ts @@ -5,4 +5,4 @@ export * from './types' export * from './utils' export * from './wallet-manager' export * from './ledger-wallet' -export * from './client' \ No newline at end of file +export * from './client' diff --git a/packages/core/src/manager.ts b/packages/core/src/manager.ts new file mode 100644 index 000000000..5bd804f2d --- /dev/null +++ b/packages/core/src/manager.ts @@ -0,0 +1,513 @@ +/* eslint-disable @typescript-eslint/no-non-null-assertion */ +import type { AssetList, Chain } from '@chain-registry/types'; +import { isInIframe } from '@dao-dao/cosmiframe'; +import Bowser from 'bowser'; +import EventEmitter from 'events'; + +import type { ChainWalletBase, MainWalletBase } from './bases'; +import { StateBase } from './bases'; +import { makeCosmiframeWallet } from './cosmiframe'; +import { + COSMIFRAME_KEYSTORECHANGE_EVENT, + COSMIFRAME_WALLET_ID, +} from './cosmiframe/constants'; +import type { NameService } from './name-service'; +import { WalletRepo } from './repository'; +import { + ChainName, + ChainRecord, + DeviceType, + EndpointOptions, + EventName, + NameServiceName, + OS, + SessionOptions, + SignerOptions, + SimpleAccount, + State, + WalletConnectOptions, + WalletName, +} from './types'; +import type { Logger } from './utils'; +import { convertChain, Session, WalletNotProvidedError } from './utils'; + +export class WalletManager extends StateBase { + chainRecords: ChainRecord[] = []; + walletRepos: WalletRepo[] = []; + defaultNameService: NameServiceName = 'icns'; + mainWallets: MainWalletBase[] = []; + coreEmitter: EventEmitter; + walletConnectOptions?: WalletConnectOptions; + readonly session: Session; + repelWallet = true; // only allow one wallet type to connect at one time. i.e. you cannot connect keplr and cosmostation at the same time + isLazy?: boolean; // stands for `globalIsLazy` setting + throwErrors: boolean | 'connect_only'; + subscribeConnectEvents: boolean; + cosmiframeEnabled: boolean; + private _reconnectMap = {}; + + constructor( + chains: (Chain | ChainName)[], + wallets: MainWalletBase[], + logger: Logger, + throwErrors: boolean | 'connect_only', + subscribeConnectEvents = true, + allowedCosmiframeParentOrigins?: string[], + assetLists?: AssetList[], + defaultNameService?: NameServiceName, + walletConnectOptions?: WalletConnectOptions, + signerOptions?: SignerOptions, + endpointOptions?: EndpointOptions, + sessionOptions?: SessionOptions + ) { + super(); + this.throwErrors = throwErrors; + this.subscribeConnectEvents = subscribeConnectEvents; + this.coreEmitter = new EventEmitter(); + this.logger = logger; + if (defaultNameService) this.defaultNameService = defaultNameService; + this.session = new Session({ + duration: 1800000, + callback: () => { + this.mainWallets.forEach((w) => w.disconnectAll(false)); + window?.localStorage.removeItem('cosmos-kit@2:core//accounts'); + window?.localStorage.removeItem('cosmos-kit@2:core//current-wallet'); + }, + ...sessionOptions, + }); + this.walletConnectOptions = walletConnectOptions; + this.cosmiframeEnabled = + isInIframe() && !!allowedCosmiframeParentOrigins?.length; + // Add Cosmiframe wallet to beginning of list if enabled. + wallets = [ + ...(this.cosmiframeEnabled + ? [makeCosmiframeWallet(allowedCosmiframeParentOrigins)] + : []), + ...wallets, + ]; + wallets.forEach( + ({ walletName }) => + (this._reconnectMap[walletName] = () => + this._reconnect(walletName, true)) + ); + this.init( + chains, + assetLists, + wallets, + walletConnectOptions, + signerOptions, + endpointOptions + ); + } + + init( + chains: (Chain | ChainName)[], + assetLists: AssetList[], + wallets: MainWalletBase[], + walletConnectOptions?: WalletConnectOptions, + signerOptions?: SignerOptions, + endpointOptions?: EndpointOptions + ) { + this.logger.info( + `${chains.length} chains and ${wallets.length} wallets are provided!` + ); + this.isLazy = endpointOptions?.isLazy; + + this.chainRecords = chains.map((chain) => { + const chainName = typeof chain === 'string' ? chain : chain.chain_name; + const converted = convertChain( + chain, + assetLists, + signerOptions, + endpointOptions?.endpoints?.[chainName], + this.isLazy, + this.logger + ); + return converted; + }); + + this.mainWallets = wallets.map((wallet) => { + wallet.logger = this.logger; + wallet.throwErrors = this.throwErrors; + wallet.session = this.session; + wallet.walletConnectOptions = this.walletConnectOptions; + wallet?.setChains(this.chainRecords); + return wallet; + }); + + this.chainRecords.forEach((chainRecord, index) => { + const repo = new WalletRepo( + chainRecord, + wallets.map(({ getChainWallet }) => getChainWallet(chainRecord.name)!) + ); + repo.logger = this.logger; + repo.repelWallet = this.repelWallet; + repo.session = this.session; + this.walletRepos.push(repo); + if (repo.fetchInfo) { + this.chainRecords[index] = repo.chainRecord; + } + }); + this.checkEndpoints(endpointOptions?.endpoints); + } + + private checkEndpoints(endpoints?: EndpointOptions['endpoints']) { + Object.keys(endpoints || {}).map((key) => { + if (this.chainRecords.findIndex((c) => c.name === key) === -1) { + this.logger?.warn( + `You are providing endpointOptions with unrecognized chain NAME ${key} (NOT found such chain in ChainProvider property "chains")` + ); + } + }); + } + + setWalletRepel(value: boolean) { + this.repelWallet = value; + this.walletRepos.forEach((repo) => (repo.repelWallet = value)); + window?.localStorage.setItem( + 'cosmos-kit@2:core//repel-wallet', + value.toString() + ); + } + + addEndpoints = (endpoints: EndpointOptions['endpoints']) => { + this.mainWallets.forEach((mainWallet) => { + mainWallet.addEnpoints(endpoints); + }); + }; + + addChains = ( + chains: (Chain | ChainName)[], + assetLists: AssetList[], + signerOptions?: SignerOptions, + endpoints?: EndpointOptions['endpoints'] + ) => { + const newChainRecords = chains.map((chain) => { + const chainName = typeof chain === 'string' ? chain : chain.chain_name; + return convertChain( + chain, + assetLists, + signerOptions, + endpoints?.[chainName], + this.isLazy, + this.logger + ); + }); + newChainRecords.forEach((chainRecord) => { + const index = this.chainRecords.findIndex( + (chainRecord2) => chainRecord2.name === chainRecord.name + ); + if (index == -1) { + this.chainRecords.push(chainRecord); + } else { + this.chainRecords[index] = chainRecord; + } + }); + + this.checkEndpoints(endpoints); + + this.mainWallets.forEach((wallet) => { + wallet.setChains(newChainRecords, false); + }); + + newChainRecords.forEach((chainRecord, i) => { + const repo = new WalletRepo( + chainRecord, + this.mainWallets.map( + ({ getChainWallet }) => getChainWallet(chainRecord.name)! + ) + ); + repo.setActions({ + viewOpen: this.actions?.viewOpen, + viewWalletRepo: this.actions?.viewWalletRepo, + }); + repo.wallets.forEach((w) => { + w.setActions({ + data: this.actions?.data, + state: this.actions?.state, + message: this.actions?.message, + }); + }); + repo.logger = this.logger; + repo.repelWallet = this.repelWallet; + repo.session = this.session; + + if (repo.fetchInfo) { + this.chainRecords[i] = repo.chainRecord; + } + + const index = this.walletRepos.findIndex( + (repo2) => repo2.chainName === repo.chainName + ); + if (index == -1) { + this.walletRepos.push(repo); + } else { + this.walletRepos[index] = repo; + } + }); + }; + + on = (event: EventName, handler: (params: any) => void) => { + this.coreEmitter.on(event, handler); + }; + + off = (event: EventName, handler: (params: any) => void) => { + this.coreEmitter.off(event, handler); + }; + + get activeRepos(): WalletRepo[] { + return this.walletRepos.filter((repo) => repo.isActive === true); + } + + getMainWallet = (walletName: WalletName): MainWalletBase => { + const wallet = this.mainWallets.find((w) => w.walletName === walletName); + + if (!wallet) { + throw new WalletNotProvidedError(walletName); + } + + return wallet; + }; + + getWalletRepo = (chainName: ChainName): WalletRepo => { + const walletRepo = this.walletRepos.find( + (wr) => wr.chainName === chainName + ); + + if (!walletRepo) { + throw new Error(`Chain ${chainName} is not provided.`); + } + + return walletRepo; + }; + + getChainWallet = ( + chainName: ChainName, + walletName: WalletName + ): ChainWalletBase => { + const chainWallet: ChainWalletBase | undefined = + this.getMainWallet(walletName).getChainWallet(chainName); + + if (!chainWallet) { + throw new Error(`${chainName} is not provided!`); + } + return chainWallet; + }; + + getChainRecord = (chainName: ChainName): ChainRecord => { + const chainRecord: ChainRecord | undefined = this.chainRecords.find( + (c) => c.name === chainName + ); + + if (!chainRecord) { + throw new Error(`${chainName} is not provided!`); + } + return chainRecord; + }; + + // get chain logo + getChainLogo = (chainName: ChainName): string | undefined => { + const chainRecord = this.getChainRecord(chainName); + return ( + // until chain_registry fix this + // chainRecord?.chain.logo_URIs?.svg || + // chainRecord?.chain.logo_URIs?.png || + // chainRecord?.chain.logo_URIs?.jpeg || + chainRecord?.assetList?.assets[0]?.logo_URIs?.svg || + chainRecord?.assetList?.assets[0]?.logo_URIs?.png || + undefined + ); + }; + + getNameService = async (chainName?: ChainName): Promise => { + let _chainName: ChainName; + if (!chainName) { + if (!this.defaultNameService) { + throw new Error('defaultNameService is undefined'); + } + const { getNameServiceRegistryFromName } = await import('./utils'); + const registry = getNameServiceRegistryFromName(this.defaultNameService); + if (!registry) { + throw new Error( + 'Unknown defaultNameService ' + this.defaultNameService + ); + } + _chainName = registry.chainName; + } else { + _chainName = chainName; + } + + return await this.getWalletRepo(_chainName).getNameService(); + }; + + private _reconnect = async ( + walletName: WalletName, + checkConnection = false + ) => { + if ( + checkConnection && + this.getMainWallet(walletName)?.isWalletDisconnected + ) { + return; + } + this.logger?.debug('[Event Emit] `refresh_connection` (manager)'); + this.coreEmitter.emit('refresh_connection'); + await this.getMainWallet(walletName).connect(); + await this.getMainWallet(walletName) + .getChainWalletList(true)[0] + ?.connect(true); + }; + + private _restoreAccounts = async () => { + const walletName = + // If Cosmiframe enabled, use it by default instead of stored wallet. + this.cosmiframeEnabled + ? COSMIFRAME_WALLET_ID + : window.localStorage.getItem('cosmos-kit@2:core//current-wallet'); + if (walletName) { + try { + const mainWallet = this.getMainWallet(walletName); + mainWallet.activate(); + + if (mainWallet.clientMutable.state === State.Done) { + const accountsStr = window.localStorage.getItem( + 'cosmos-kit@2:core//accounts' + ); + if (accountsStr && accountsStr !== '[]') { + const accounts: SimpleAccount[] = JSON.parse(accountsStr); + accounts.forEach((data) => { + const chainWallet = mainWallet + .getChainWalletList(false) + .find( + (w) => + w.chainRecord.chain?.chain_id === data.chainId && + w.namespace === data.namespace + ); + chainWallet?.activate(); + if (mainWallet.walletInfo.mode === 'wallet-connect') { + chainWallet?.setData(data); + chainWallet?.setState(State.Done); + } + }); + mainWallet.setState(State.Done); + } + } + + if (mainWallet.walletInfo.mode !== 'wallet-connect') { + await this._reconnect(walletName); + } + } catch (error) { + if (error instanceof WalletNotProvidedError) { + this.logger?.warn(error.message); + } else { + throw error; + } + } + } + }; + + _handleCosmiframeKeystoreChangeEvent = (event: MessageEvent) => { + if ( + typeof event.data === 'object' && + 'event' in event.data && + event.data.event === COSMIFRAME_KEYSTORECHANGE_EVENT + ) { + // Dispatch event to our window. + window.dispatchEvent(new Event(COSMIFRAME_KEYSTORECHANGE_EVENT)); + + // Reconnect if the parent updates. + this._reconnect(COSMIFRAME_WALLET_ID); + } + }; + + onMounted = async () => { + if (typeof window === 'undefined') return; + + // If Cosmiframe enabled, rebroadcast keystore change event messages as + // events and reconnect if the parent changes. Since the outer window can be + // a different origin (and it most likely is), it cannot dispatch events on + // our (the iframe's) window. Thus, it posts a message with the event name + // to our window and we broadcast it. + if (this.cosmiframeEnabled) { + window.addEventListener( + 'message', + this._handleCosmiframeKeystoreChangeEvent + ); + } + + const parser = Bowser.getParser(window.navigator.userAgent); + const env = { + browser: parser.getBrowserName(true), + device: (parser.getPlatform().type || 'desktop') as DeviceType, + os: parser.getOSName(true) as OS, + }; + this.setEnv(env); + this.walletRepos.forEach((repo) => repo.setEnv(env)); + + await Promise.all( + this.mainWallets.map(async (wallet) => { + wallet.setEnv(env); + wallet.emitter?.emit('broadcast_env', env); + if (this.subscribeConnectEvents) { + wallet.walletInfo.connectEventNamesOnWindow?.forEach((eventName) => { + window.addEventListener( + eventName, + this._reconnectMap[wallet.walletName]! + ); + this.logger?.debug(`Add "${eventName}" event listener to window`); + }); + wallet.walletInfo.connectEventNamesOnClient?.forEach( + async (eventName) => { + wallet.client?.on?.( + eventName, + this._reconnectMap[wallet.walletName]! + ); + this.logger?.debug( + `Add "${eventName}" event listener to wallet client ${wallet.walletPrettyName}` + ); + } + ); + } + + if (wallet.walletInfo.mode === 'wallet-connect') { + await wallet.initClient(this.walletConnectOptions); + } else { + await wallet.initClient(); + } + }) + ); + + await this._restoreAccounts(); + }; + + onUnmounted = () => { + if (typeof window === 'undefined') { + return; + } + + // If using Cosmiframe, stop listening for keystore change event. + if (this.cosmiframeEnabled) { + window.removeEventListener( + 'message', + this._handleCosmiframeKeystoreChangeEvent + ); + } + + this.mainWallets.forEach((wallet) => { + wallet.walletInfo.connectEventNamesOnWindow?.forEach((eventName) => { + window.removeEventListener( + eventName, + this._reconnectMap[wallet.walletName]! + ); + }); + wallet.walletInfo.connectEventNamesOnClient?.forEach( + async (eventName) => { + wallet.client?.off?.( + eventName, + this._reconnectMap[wallet.walletName]! + ); + } + ); + }); + }; +} diff --git a/packages/core/src/name-service.ts b/packages/core/src/name-service.ts new file mode 100644 index 000000000..4fa2b6d6f --- /dev/null +++ b/packages/core/src/name-service.ts @@ -0,0 +1,26 @@ +import type { CosmWasmClient } from '@cosmjs/cosmwasm-stargate'; +import { Bech32Address, NameServiceRegistry } from './types'; + +export class NameService { + client: CosmWasmClient; + registry: NameServiceRegistry; + + constructor(client: CosmWasmClient, registry: NameServiceRegistry) { + this.client = client; + this.registry = registry; + } + + async resolveName(address: Bech32Address): Promise { + try { + const { contract, getQueryMsg } = this.registry; + const result = await this.client.queryContractSmart( + contract, + getQueryMsg(address) + ); + return result; + } catch (e) { + console?.error(e); + return undefined; + } + } +} diff --git a/packages/core/src/repository.ts b/packages/core/src/repository.ts new file mode 100644 index 000000000..892c5a964 --- /dev/null +++ b/packages/core/src/repository.ts @@ -0,0 +1,276 @@ +/* eslint-disable no-empty */ +/* eslint-disable no-console */ +import { ChainRegistryFetcher } from '@chain-registry/client'; +import type { CosmWasmClient } from '@cosmjs/cosmwasm-stargate'; +import type { StargateClient } from '@cosmjs/stargate'; + +import type { ChainWalletBase } from './bases/chain-wallet'; +import { StateBase } from './bases/state'; +import type { NameService } from './name-service'; +import { + CallbackOptions, + ChainRecord, + DappEnv, + DisconnectOptions, + ExtendedHttpEndpoint, + WalletName, +} from './types'; +import type { Session } from './utils'; + +/** + * Store all ChainWallets for a particular Chain. + */ +export class WalletRepo extends StateBase { + isActive = false; + chainRecord: ChainRecord; + private _wallets: ChainWalletBase[]; + namespace = 'cosmos'; + session: Session; + repelWallet = true; + private callbackOptions?: CallbackOptions; + readonly fetchInfo: boolean = false; + + constructor(chainRecord: ChainRecord, wallets: ChainWalletBase[] = []) { + super(); + this.chainRecord = chainRecord; + this._wallets = wallets; + + if (this.repelWallet) { + this.wallets.forEach((w) => { + w.updateCallbacks({ + ...w.callbacks, + beforeConnect: async () => { + this.wallets.forEach(async (w2) => { + if (!w2.isWalletDisconnected && w2 !== w) { + await w2.disconnect( + false, + this.callbackOptions?.beforeConnect?.disconnect + ); + } + }); + }, + }); + }); + } + + if (!this.chainRecord.chain) { + this.fetchInfo = true; + const registry = new ChainRegistryFetcher({ + urls: [ + `https://raw.githubusercontent.com/cosmos/chain-registry/master/${chainRecord.name}/chain.json`, + ], + }); + registry + .fetchUrls() + .then(() => { + this.chainRecord.chain = registry.getChain(chainRecord.name); + this.actions?.render?.((i) => i + 1); + }) + .catch((e: Error) => { + this.chainRecord.chain = null; + this.logger?.warn( + `Failed to fetch chain info for chain ${chainRecord.name}: [${e.name}] ${e.message}` + ); + }); + } + if (!this.chainRecord.assetList) { + this.fetchInfo = true; + const registry = new ChainRegistryFetcher({ + urls: [ + `https://raw.githubusercontent.com/cosmos/chain-registry/master/${chainRecord.name}/assetlist.json`, + ], + }); + registry + .fetchUrls() + .then(() => { + this.chainRecord.assetList = registry.getChainAssetList( + chainRecord.name + ); + // this.actions?.render?.((i) => i + 1); + }) + .catch((e: Error) => { + this.chainRecord.assetList = null; + this.logger?.warn( + `Failed to fetch assetList info for chain ${chainRecord.name}: [${e.name}] ${e.message}` + ); + }); + } + if (this.fetchInfo) { + this._wallets.forEach( + (wallet) => (wallet.chainRecord = this.chainRecord) + ); + } + } + + setCallbackOptions(options?: CallbackOptions) { + this.callbackOptions = options; + } + + setEnv(env?: DappEnv): void { + this._env = env; + this.wallets.forEach((w) => w.setEnv(env)); + } + + activate() { + this.isActive = true; + this.wallets.forEach((w) => w.activate()); + } + + get chainName() { + return this.chainRecord.name; + } + + get chainLogo(): string | undefined { + return ( + // until chain_registry fix this + // this.chainInfo.chain.logo_URIs?.svg || + // this.chainInfo.chain.logo_URIs?.png || + // this.chainInfo.chain.logo_URIs?.jpeg || + this.chainRecord.assetList?.assets[0]?.logo_URIs?.svg || + this.chainRecord.assetList?.assets[0]?.logo_URIs?.png || + undefined + ); + } + + get wallets(): ChainWalletBase[] { + return this._wallets; + } + + get platformEnabledWallets(): ChainWalletBase[] { + return this.isMobile + ? this._wallets.filter((w) => + typeof w.walletInfo.mobileDisabled === 'boolean' + ? !w.walletInfo.mobileDisabled + : !w.walletInfo.mobileDisabled() + ) + : this._wallets; + } + + get isSingleWallet() { + return this.wallets.length === 1; + } + + get current(): ChainWalletBase | undefined { + if (!this.repelWallet) { + this.logger.warn( + 'when `repelWallet` is set false, `current` is always undefined.' + ); + return void 0; + } + + return this.wallets.find( + (w) => !w.isWalletNotExist && !w.isWalletDisconnected + ); + } + + getWallet = (walletName: WalletName): ChainWalletBase | undefined => { + return this.wallets.find((w) => w.walletName === walletName); + }; + + openView = () => { + this.actions?.viewWalletRepo?.(this); + this.actions?.viewOpen?.(true); + }; + + closeView = () => { + this.actions?.viewOpen?.(false); + }; + + connect = async (walletName?: WalletName, sync = true) => { + if (walletName) { + const wallet = this.getWallet(walletName); + await wallet?.connect(sync); + } else { + this.openView(); + } + }; + + disconnect = async ( + walletName?: WalletName, + sync = true, + options?: DisconnectOptions + ) => { + if (walletName) { + await this.getWallet(walletName)?.disconnect(sync, options); + } else { + await this.current.disconnect(sync, options); + } + }; + + getRpcEndpoint = async ( + isLazy?: boolean + ): Promise => { + for (const wallet of this.wallets) { + try { + return await wallet.getRpcEndpoint(isLazy); + } catch (error) { + this.logger?.debug( + `${(error as Error).name}: ${(error as Error).message}` + ); + } + } + return Promise.reject(`No valid RPC endpoint for chain ${this.chainName}!`); + }; + + getRestEndpoint = async ( + isLazy?: boolean + ): Promise => { + for (const wallet of this.wallets) { + try { + return await wallet.getRestEndpoint(isLazy); + } catch (error) { + this.logger?.debug( + `${(error as Error).name}: ${(error as Error).message}` + ); + } + } + return Promise.reject( + `No valid REST endpoint for chain ${this.chainName}!` + ); + }; + + getStargateClient = async (): Promise => { + for (const wallet of this.wallets) { + try { + return await wallet.getStargateClient(); + } catch (error) { + this.logger?.debug( + `${(error as Error).name}: ${(error as Error).message}` + ); + } + } + return Promise.reject( + `Something wrong! Probably no valid RPC endpoint for chain ${this.chainName}.` + ); + }; + + getCosmWasmClient = async (): Promise => { + for (const wallet of this.wallets) { + try { + return await wallet.getCosmWasmClient(); + } catch (error) { + this.logger?.debug( + `${(error as Error).name}: ${(error as Error).message}` + ); + } + } + return Promise.reject( + `Something wrong! Probably no valid RPC endpoint for chain ${this.chainName}.` + ); + }; + + getNameService = async (): Promise => { + for (const wallet of this.wallets) { + try { + return await wallet.getNameService(); + } catch (error) { + this.logger?.debug( + `${(error as Error).name}: ${(error as Error).message}` + ); + } + } + return Promise.reject( + `Something wrong! Probably no valid RPC endpoint or name service is not registered for chain ${this.chainName}.` + ); + }; +} diff --git a/packages/core/src/types/chain.ts b/packages/core/src/types/chain.ts index 5aad83aa0..32d8ccc3d 100644 --- a/packages/core/src/types/chain.ts +++ b/packages/core/src/types/chain.ts @@ -1 +1 @@ -export type ChainName = string \ No newline at end of file +export type ChainName = string diff --git a/packages/core/src/types/hook.ts b/packages/core/src/types/hook.ts new file mode 100644 index 000000000..490b51250 --- /dev/null +++ b/packages/core/src/types/hook.ts @@ -0,0 +1,176 @@ +import { AssetList, Chain } from '@chain-registry/types'; +import { + AminoSignResponse, + OfflineAminoSigner, + StdSignature, + StdSignDoc, +} from '@cosmjs/amino'; +import { + CosmWasmClient, + SigningCosmWasmClient, +} from '@cosmjs/cosmwasm-stargate'; +import { + DirectSignResponse, + EncodeObject, + OfflineDirectSigner, + OfflineSigner, +} from '@cosmjs/proto-signing'; +import { + DeliverTxResponse, + SigningStargateClient, + StargateClient, + StdFee, +} from '@cosmjs/stargate'; +import { TxRaw } from 'cosmjs-types/cosmos/tx/v1beta1/tx'; + +import { ChainWalletBase, MainWalletBase } from '../bases'; +import { NameService } from '../name-service'; +import { WalletRepo } from '../repository'; +import { ChainName, ChainRecord } from './chain'; +import { CosmosClientType, ModalTheme, Mutable, State } from './common'; +import { + EndpointOptions, + EventName, + ExtendedHttpEndpoint, + SignerOptions, +} from './manager'; +import { + AppUrl, + BroadcastMode, + DirectSignDoc, + DisconnectOptions, + NameServiceName, + SignOptions, + SuggestToken, + Wallet, + WalletAccount, + WalletClient, + WalletStatus, +} from './wallet'; + +export interface ChainWalletContext { + chainWallet: ChainWalletBase | undefined; + + chain: Chain; + assets: AssetList | undefined; + wallet: Wallet; + logoUrl: string | undefined; + address: string | undefined; + username: string | undefined; + message: string | undefined; + status: WalletStatus; + + isWalletDisconnected: boolean; + isWalletConnecting: boolean; + isWalletConnected: boolean; + isWalletRejected: boolean; + isWalletNotExist: boolean; + isWalletError: boolean; + + connect: () => Promise; + disconnect: (options?: DisconnectOptions) => Promise; + getRpcEndpoint: (isLazy?: boolean) => Promise; + getRestEndpoint: (isLazy?: boolean) => Promise; + getStargateClient: () => Promise; + getCosmWasmClient: () => Promise; + getSigningStargateClient: () => Promise; + getSigningCosmWasmClient: () => Promise; + getNameService: () => Promise; + + estimateFee: ( + messages: EncodeObject[], + type?: CosmosClientType, + memo?: string, + multiplier?: number + ) => Promise; + sign: ( + messages: EncodeObject[], + fee?: StdFee, + memo?: string, + type?: CosmosClientType + ) => Promise; + broadcast: ( + signedMessages: TxRaw, + type?: CosmosClientType + ) => Promise; + signAndBroadcast: ( + messages: EncodeObject[], + fee?: StdFee, + memo?: string, + type?: CosmosClientType + ) => Promise; + + // from wallet client + qrUrl: Mutable | undefined; + appUrl: Mutable | undefined; + defaultSignOptions: SignOptions; + + setDefaultSignOptions: (options: SignOptions) => void; + enable: () => Promise; + suggestToken: (data: SuggestToken) => Promise; + getAccount: () => Promise; + getOfflineSigner: () => OfflineSigner; + getOfflineSignerAmino: () => OfflineAminoSigner; + getOfflineSignerDirect: () => OfflineDirectSigner; + signAmino: ( + signer: string, + signDoc: StdSignDoc, + signOptions?: SignOptions + ) => Promise; + signDirect: ( + signer: string, + signDoc: DirectSignDoc, + signOptions?: SignOptions + ) => Promise; + signArbitrary: ( + signer: string, + data: string | Uint8Array + ) => Promise; + sendTx(tx: Uint8Array, mode: BroadcastMode): Promise; +} + +export interface ChainContext extends ChainWalletContext { + wallet: Wallet | undefined; + walletRepo: WalletRepo; + openView: () => void; + closeView: () => void; +} + +export interface ManagerContext { + chainRecords: ChainRecord[]; + walletRepos: WalletRepo[]; + mainWallets: MainWalletBase[]; + defaultNameService: NameServiceName; + getChainRecord: (chainName: ChainName) => ChainRecord; + getWalletRepo: (chainName: ChainName) => WalletRepo; + addChains: ( + chains: Chain[], + assetLists: AssetList[], + signerOptions?: SignerOptions, + endpoints?: EndpointOptions['endpoints'] + ) => void; + addEndpoints: (endpoints?: EndpointOptions['endpoints']) => void; + getChainLogo: (chainName: ChainName) => string | undefined; + getNameService: (chainName?: ChainName) => Promise; + on: (event: EventName, handler: (params: any) => void) => void; + off: (event: EventName, handler: (params: any) => void) => void; +} + +export interface ModalThemeContext { + modalTheme: ModalTheme; + setModalTheme: (theme: ModalTheme) => void; +} + +export interface WalletContext { + mainWallet: MainWalletBase | undefined; + chainWallets: ChainWalletBase[]; + wallet: Wallet | undefined; + status: WalletStatus; + message: string | undefined; +} + +export interface WalletClientContext { + client: WalletClient | undefined; + status: State; + message: string | undefined; +} diff --git a/packages/core/src/types/index.ts b/packages/core/src/types/index.ts index 6ddf8fafc..befae6040 100644 --- a/packages/core/src/types/index.ts +++ b/packages/core/src/types/index.ts @@ -1,4 +1,4 @@ export * from './wallet' export * from './common' export * from './manager' -export * from './chain' \ No newline at end of file +export * from './chain' diff --git a/packages/core/src/types/manager.ts b/packages/core/src/types/manager.ts index fdf5e108b..be0664377 100644 --- a/packages/core/src/types/manager.ts +++ b/packages/core/src/types/manager.ts @@ -25,4 +25,4 @@ export interface Config { assetLists: AssetList[]; signerOptions: SignerOptions; endpointOptions: EndpointOptions -} \ No newline at end of file +} diff --git a/packages/core/src/types/view.ts b/packages/core/src/types/view.ts new file mode 100644 index 000000000..bda350716 --- /dev/null +++ b/packages/core/src/types/view.ts @@ -0,0 +1,45 @@ +import { ChainWalletBase } from '../bases'; +import { WalletRepo } from '../repository'; +import { Dispatch } from './common'; +import { ModalOptions } from './wallet'; + +export enum ModalView { + WalletList = 'WalletList', + Connecting = 'Connecting', + Connected = 'Connected', + Error = 'Error', + NotExist = 'NotExist', + Rejected = 'Rejected', + QRCode = 'QRCode', +} + +export interface WalletModalProps { + isOpen: boolean; + setOpen: Dispatch; + walletRepo?: WalletRepo; +} + +export interface WalletViewProps { + onClose: () => void; + onReturn: () => void; + wallet: ChainWalletBase; + options?: ModalOptions; +} + +interface RefObject { + readonly current: T | null; +} + +export interface WalletListViewProps { + onClose: () => void; + wallets: ChainWalletBase[]; + initialFocus?: RefObject; +} + +type SingleWalletView = `${Exclude}`; + +export type ModalViews = { + [p in SingleWalletView]?: (props: WalletViewProps) => JSX.Element; +} & { + WalletList?: (props: WalletListViewProps) => JSX.Element; +}; diff --git a/packages/core/src/types/wallet.ts b/packages/core/src/types/wallet.ts index 49a641f3e..3ac546598 100644 --- a/packages/core/src/types/wallet.ts +++ b/packages/core/src/types/wallet.ts @@ -158,4 +158,4 @@ export const WcEventTypes = { proposal_expire: ( payload: SignClientTypes.EventArguments['proposal_expire'], ) => { }, -} as const; \ No newline at end of file +} as const; diff --git a/packages/core/src/utils/check.ts b/packages/core/src/utils/check.ts new file mode 100644 index 000000000..b9efd6137 --- /dev/null +++ b/packages/core/src/utils/check.ts @@ -0,0 +1,16 @@ +export function checkInit(target: unknown, targetName?: string, msg?: string) { + if (target === undefined || target === null) { + throw new Error(msg || `${targetName || 'Variable'} is not inited!`); + } +} + +export function checkKey( + target: Map, + key: string, + targetName?: string, + msg?: string +) { + if (!target.has(key)) { + throw new Error(msg || `${key} not existed in Map ${targetName}!`); + } +} diff --git a/packages/core/src/utils/convert.ts b/packages/core/src/utils/convert.ts new file mode 100644 index 000000000..d92f8dff9 --- /dev/null +++ b/packages/core/src/utils/convert.ts @@ -0,0 +1,41 @@ +import { AssetList, Chain } from '@chain-registry/types'; + +import { ChainName, ChainRecord, Endpoints, SignerOptions } from '../types'; +import { getIsLazy } from './endpoint'; +import { Logger } from './logger'; + +export function convertChain( + chain: Chain | ChainName, + assetLists: AssetList[], + signerOptions?: SignerOptions, + preferredEndpoints?: Endpoints, + isLazy?: boolean, + logger?: Logger +): ChainRecord { + const chainName = typeof chain === 'string' ? chain : chain.chain_name; + const assetList = assetLists.find((list) => list.chain_name === chainName); + const _preferredEndpoints = { + ...preferredEndpoints, + isLazy: getIsLazy( + isLazy, + preferredEndpoints?.isLazy, + void 0, + void 0, + logger + ), + }; + const converted = { + name: chainName, + chain: typeof chain === 'string' ? void 0 : chain, + assetList, + clientOptions: { + stargate: signerOptions?.stargate?.(chain), + signingStargate: signerOptions?.signingStargate?.(chain), + signingCosmwasm: signerOptions?.signingCosmwasm?.(chain), + preferredSignType: signerOptions?.preferredSignType?.(chain) || 'amino', + }, + preferredEndpoints: _preferredEndpoints, + }; + + return converted; +} diff --git a/packages/core/src/utils/endpoint.ts b/packages/core/src/utils/endpoint.ts index 72c64804f..ec804747c 100644 --- a/packages/core/src/utils/endpoint.ts +++ b/packages/core/src/utils/endpoint.ts @@ -66,4 +66,4 @@ export const getValidRestEndpoint = async (endpoints: (string | HttpEndpoint)[]) } } return rest -} \ No newline at end of file +} diff --git a/packages/core/src/utils/error.ts b/packages/core/src/utils/error.ts new file mode 100644 index 000000000..4a16e948f --- /dev/null +++ b/packages/core/src/utils/error.ts @@ -0,0 +1,23 @@ +// Wallet +export const ClientNotExistError = new Error('Client Not Exist!'); +export const RejectedError = new Error('Request Rejected!'); + +// QRCode +export const ExpiredError = new Error('Expired!'); + +export class WalletNotProvidedError extends Error { + readonly walletName: string; + + constructor(walletName: string) { + super(`Wallet ${walletName} is not provided.`); + this.walletName = walletName; + } +} + +export class ConnectError extends Error { + readonly name = 'ConnectError'; + + constructor(message?: string) { + super(message); + } +} diff --git a/packages/core/src/utils/index.ts b/packages/core/src/utils/index.ts index f613a434e..92de1cda5 100644 --- a/packages/core/src/utils/index.ts +++ b/packages/core/src/utils/index.ts @@ -1,4 +1,4 @@ export * from './extension' export * from './errors' export * from './observe' -export * from './endpoint' \ No newline at end of file +export * from './endpoint' diff --git a/packages/core/src/utils/logger.ts b/packages/core/src/utils/logger.ts new file mode 100644 index 000000000..167fd6c92 --- /dev/null +++ b/packages/core/src/utils/logger.ts @@ -0,0 +1,76 @@ +import { LogLevel } from '../types'; + +function wrap(logLevel: LogLevel, message?: any) { + switch (logLevel) { + case 'ERROR': + return [`%c${logLevel} -`, 'color: Red;', message]; + case 'WARN': + return [`%c${logLevel} -`, 'color: Orange;', message]; + case 'INFO': + return [`%c${logLevel} -`, 'color: Blue;', message]; + case 'DEBUG': + return [`%c${logLevel} -`, 'color: Purple;', message]; + case 'TRACE': + return [`%c${logLevel} -`, 'color: Brown;', message]; + } +} + +export class Logger { + private readonly logger: Console; + public readonly level: LogLevel; + public readonly levelOrder: LogLevel[] = [ + 'TRACE', + 'DEBUG', + 'INFO', + 'WARN', + 'ERROR', + 'NONE', + ]; + + public constructor(level: LogLevel = 'INFO') { + this.logger = console; + this.level = level; + } + + private compare(a: LogLevel, b: LogLevel) { + const aindex = this.levelOrder.indexOf(a); + const bindex = this.levelOrder.indexOf(b); + if (aindex > bindex) { + return 1; + } else if (aindex < bindex) { + return -1; + } else { + return 0; + } + } + + public trace(message?: any, ...optionalParams: any[]): void { + if (this.compare('TRACE', this.level) >= 0) { + this.logger.trace(...wrap('TRACE', message), ...optionalParams); + } + } + + public debug(message?: any, ...optionalParams: any[]): void { + if (this.compare('DEBUG', this.level) >= 0) { + this.logger.debug(...wrap('DEBUG', message), ...optionalParams); + } + } + + public info(message?: any, ...optionalParams: any[]): void { + if (this.compare('INFO', this.level) >= 0) { + this.logger.info(...wrap('INFO', message), ...optionalParams); + } + } + + public warn(message?: any, ...optionalParams: any[]): void { + if (this.compare('WARN', this.level) >= 0) { + this.logger.warn(...wrap('WARN', message), ...optionalParams); + } + } + + public error(message?: any, ...optionalParams: any[]): void { + if (this.compare('ERROR', this.level) >= 0) { + this.logger.error(...wrap('ERROR', message), ...optionalParams); + } + } +} diff --git a/packages/core/src/utils/map.ts b/packages/core/src/utils/map.ts new file mode 100644 index 000000000..a0962892c --- /dev/null +++ b/packages/core/src/utils/map.ts @@ -0,0 +1,8 @@ +export function valuesApply( + target: Map, + callbackfn: (value: V) => R +) { + return new Map( + Array.from(target).map(([key, value]) => [key, callbackfn(value)]) + ); +} diff --git a/packages/core/src/utils/math.ts b/packages/core/src/utils/math.ts new file mode 100644 index 000000000..0e99af4f4 --- /dev/null +++ b/packages/core/src/utils/math.ts @@ -0,0 +1,12 @@ +export function sum( + iterable: Iterable, + callbackfn: ( + previousValue: T, + currentValue: T, + currentIndex: number, + array: T[] + ) => T, + initialValue: T +) { + return Array.from(iterable).reduce(callbackfn, initialValue); +} diff --git a/packages/core/src/utils/name-service.ts b/packages/core/src/utils/name-service.ts new file mode 100644 index 000000000..38a4b1bcd --- /dev/null +++ b/packages/core/src/utils/name-service.ts @@ -0,0 +1,30 @@ +import { nameServiceRegistries } from '../config'; +import { ChainName, NameServiceName, NameServiceRegistry } from '../types'; + +export const getNameServiceRegistryFromChainName = ( + chainName: ChainName +): NameServiceRegistry => { + const registry = nameServiceRegistries.find((r) => r.chainName === chainName); + if (!registry) { + throw new Error('No such name service registered with chain ' + chainName); + } + return registry; +}; + +export const getNameServiceRegistryFromName = ( + name: NameServiceName +): NameServiceRegistry | undefined => { + return nameServiceRegistries.find((r) => r.name === name); +}; + +export const getNameServiceNameFromChainName = ( + chainName: ChainName +): NameServiceName | undefined => { + return nameServiceRegistries.find((r) => r.chainName === chainName)?.name; +}; + +export const getChainNameFromNameServiceName = ( + name: NameServiceName +): ChainName | undefined => { + return nameServiceRegistries.find((r) => r.name === name)?.chainName; +}; diff --git a/packages/core/src/utils/session.ts b/packages/core/src/utils/session.ts new file mode 100644 index 000000000..c1fb4d79a --- /dev/null +++ b/packages/core/src/utils/session.ts @@ -0,0 +1,19 @@ +import { SessionOptions } from '../types'; + +export class Session { + sessionOptions: SessionOptions; + timeoutId?: string | number | NodeJS.Timeout; + + constructor(sessionOptions: SessionOptions) { + this.sessionOptions = sessionOptions; + } + + update() { + if (typeof this.timeoutId !== 'undefined') { + clearTimeout(this.timeoutId); + } + this.timeoutId = setTimeout(() => { + this.sessionOptions.callback?.(); + }, this.sessionOptions.duration); + } +} diff --git a/packages/core/src/utils/status.ts b/packages/core/src/utils/status.ts new file mode 100644 index 000000000..1b02d7b27 --- /dev/null +++ b/packages/core/src/utils/status.ts @@ -0,0 +1,27 @@ +import { State, WalletStatus } from '../types'; +import { ClientNotExistError, RejectedError } from './error'; + +export const getWalletStatusFromState = ( + state: State, + message?: string +): WalletStatus => { + switch (state) { + case 'Pending': + return WalletStatus.Connecting; + case 'Done': + return WalletStatus.Connected; + case 'Error': + switch (message) { + case ClientNotExistError.message: + return WalletStatus.NotExist; + case RejectedError.message: + return WalletStatus.Rejected; + default: + return WalletStatus.Error; + } + case 'Init': + return WalletStatus.Disconnected; + default: + return WalletStatus.Disconnected; + } +}; diff --git a/packages/core/test-utils/mock-extension/constant.ts b/packages/core/test-utils/mock-extension/constant.ts new file mode 100644 index 000000000..88427e385 --- /dev/null +++ b/packages/core/test-utils/mock-extension/constant.ts @@ -0,0 +1,2 @@ +export const ICON = + 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTY2IiBoZWlnaHQ9IjE2NiIgdmlld0JveD0iMCAwIDE2NiAxNjYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF83ODBfNjEwKSI+CjxyZWN0IHdpZHRoPSIxNjYiIGhlaWdodD0iMTY2IiBmaWxsPSIjQzVGRkNFIi8+CjxwYXRoIGQ9Ik0xMzguNjE0IDEwMC40NDVDMTM4LjYxNCAxMjAuMjE3IDExNC40ODMgMTI4LjI1MiA4NC41MjE2IDEyOC4yNTJDNTQuNTYwMyAxMjguMjUyIDMwLjA3ODQgMTIwLjIxNyAzMC4wNzg0IDEwMC40NDVDMzAuMDc4NCA4MC42NzI0IDU0LjM4NDYgNjQuNjczIDg0LjM0NiA2NC42NzNDMTE0LjMwNyA2NC42NzMgMTM4LjYxNCA4MC43MDc0IDEzOC42MTQgMTAwLjQ0NVoiIGZpbGw9IiMyNEE5NUEiLz4KPHBhdGggZD0iTTEzMy4xMDMgNTcuMzQ3MkMxMzMuMTAzIDQ2LjkzNyAxMjQuNjAzIDM4LjQ4MzIgMTE0LjEzNiAzOC40ODMyQzEwOC42OTMgMzguNDgzMiAxMDMuNzg3IDQwLjc3MTkgMTAwLjMzIDQ0LjQxNzFDOTkuNzk0NCA0NC45ODE4IDk5LjAxMTggNDUuMjU2OSA5OC4yNDkgNDUuMTAyOUM5My44NjkgNDQuMjE4NSA4OS4yMzU1IDQzLjcyMzIgODQuNDU1NSA0My43MjMyQzc5LjY3NiA0My43MjMyIDc1LjA0MyA0NC4xODkzIDcwLjY2MzQgNDUuMDk1QzY5Ljg5OTggNDUuMjUyOSA2OS4xMTM4IDQ0Ljk4MjMgNjguNTc1IDQ0LjQxODZDNjUuMDkgNDAuNzcyNSA2MC4xODY3IDM4LjQ4MzIgNTQuNzc1MiAzOC40ODMyQzQ0LjMwOCAzOC40ODMyIDM1LjgwNzkgNDYuOTM3IDM1LjgwNzkgNTcuMzQ3MkMzNS44MDc5IDYwLjM4MzQgMzYuNTI2MiA2My4yMjczIDM3Ljc5MTMgNjUuNzU3QzM4LjA5NDMgNjYuMzYyOCAzOC4xMjQ4IDY3LjA3MjEgMzcuODYyNyA2Ny42OTY2QzM2LjYzNTMgNzAuNjIxMiAzNS45ODM1IDczLjcwOTEgMzUuOTgzNSA3Ni45MDk4QzM1Ljk4MzUgOTUuMjQ5OCA1Ny42OTA1IDExMC4wOTYgODQuNDU1NSAxMTAuMDk2QzExMS4yMjEgMTEwLjA5NiAxMzIuOTI4IDk1LjI0OTggMTMyLjkyOCA3Ni45MDk4QzEzMi45MjggNzMuNzA5MSAxMzIuMjc2IDcwLjYyMTIgMTMxLjA0OCA2Ny42OTY2QzEzMC43ODYgNjcuMDcyMSAxMzAuODE3IDY2LjM2MjggMTMxLjEyIDY1Ljc1N0MxMzIuMzg1IDYzLjIyNzMgMTMzLjEwMyA2MC4zODM0IDEzMy4xMDMgNTcuMzQ3MloiIGZpbGw9IiMzMkRBNkQiLz4KPHBhdGggZD0iTTUzLjIyNzEgNjcuODExOUM1OS42Mjg3IDY3LjgxMTkgNjQuODE4MyA2Mi42NTA2IDY0LjgxODMgNTYuMjgzOUM2NC44MTgzIDQ5LjkxNzEgNTkuNjI4NyA0NC43NTU5IDUzLjIyNzEgNDQuNzU1OUM0Ni44MjU1IDQ0Ljc1NTkgNDEuNjM2IDQ5LjkxNzEgNDEuNjM2IDU2LjI4MzlDNDEuNjM2IDYyLjY1MDYgNDYuODI1NSA2Ny44MTE5IDUzLjIyNzEgNjcuODExOVoiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGQ9Ik0xMTUuMDY1IDY3LjgxMTlDMTIxLjQ2NiA2Ny44MTE5IDEyNi42NTYgNjIuNjUwNiAxMjYuNjU2IDU2LjI4MzlDMTI2LjY1NiA0OS45MTcxIDEyMS40NjYgNDQuNzU1OSAxMTUuMDY1IDQ0Ljc1NTlDMTA4LjY2MyA0NC43NTU5IDEwMy40NzQgNDkuOTE3MSAxMDMuNDc0IDU2LjI4MzlDMTAzLjQ3NCA2Mi42NTA2IDEwOC42NjMgNjcuODExOSAxMTUuMDY1IDY3LjgxMTlaIiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBkPSJNNDcuMDc1OSAxMjYuODI5QzQ5LjU2OTggMTI2LjgyOSA1MS41MzY4IDEyNC42NjMgNTEuMjU1OCAxMjIuMjE4QzUwLjIzNzIgMTEzLjU1NCA0NS45MTY4IDk0Ljc5NSAyNi45MTQ0IDgzLjUxMTVDNi4wODM2OCA3MS4xMzg3IDE1Ljk5NDEgMTA0LjAzNCAyMC4xMzY1IDExNi4wMTlDMjAuOTc0NCAxMTguNDQzIDIwLjAwMjcgMTIxLjEzNSAxNy43NzgzIDEyMi40MTFMMTYuNDEyMSAxMjMuMTk2QzE0LjY1NTkgMTI0LjIwOSAxNS4zOTM1IDEyNi44MjkgMTcuMzk1NiAxMjYuODI5SDQ3LjA3NTlaIiBmaWxsPSIjMzJEQTZEIi8+CjxwYXRoIGQ9Ik0xMjIuNTY2IDEyNi44MjlDMTIwLjMxOCAxMjYuODI5IDExOC41NjIgMTI0LjY2MyAxMTguODA4IDEyMi4yMThDMTE5LjY4NiAxMTMuNTg5IDEyMy42MiA5NC43OTUgMTQwLjc2MSA4My41MTE1QzE1OS43NDEgNzEuMDQyNiAxNTAuNTAzIDEwNC41NDcgMTQ2LjgxNSAxMTYuMjk0QzE0Ni4wOTIgMTE4LjU5OCAxNDYuOTgyIDEyMS4xMDYgMTQ5LjAyMiAxMjIuMzk5TDE1MC4yOCAxMjMuMTk2QzE1MS44NiAxMjQuMjA5IDE1MS4xOTMgMTI2LjgyOSAxNDkuNDAyIDEyNi44MjlIMTIyLjU2NloiIGZpbGw9IiMzMkRBNkQiLz4KPHBhdGggZD0iTTUzLjI0MjggNjMuMTc4N0M1Ny4wNjE3IDYzLjE3ODcgNjAuMTU3NiA2MC4wODI4IDYwLjE1NzYgNTYuMjYzOUM2MC4xNTc2IDUyLjQ0NSA1Ny4wNjE3IDQ5LjM0OTEgNTMuMjQyOCA0OS4zNDkxQzQ5LjQyMzkgNDkuMzQ5MSA0Ni4zMjggNTIuNDQ1IDQ2LjMyOCA1Ni4yNjM5QzQ2LjMyOCA2MC4wODI4IDQ5LjQyMzkgNjMuMTc4NyA1My4yNDI4IDYzLjE3ODdaIiBmaWxsPSIjMDkyNTExIi8+CjxwYXRoIGQ9Ik0xMTUuMDgxIDYzLjE3ODdDMTE4LjkgNjMuMTc4NyAxMjEuOTk1IDYwLjA4MjggMTIxLjk5NSA1Ni4yNjM5QzEyMS45OTUgNTIuNDQ1IDExOC45IDQ5LjM0OTEgMTE1LjA4MSA0OS4zNDkxQzExMS4yNjIgNDkuMzQ5MSAxMDguMTY2IDUyLjQ0NSAxMDguMTY2IDU2LjI2MzlDMTA4LjE2NiA2MC4wODI4IDExMS4yNjIgNjMuMTc4NyAxMTUuMDgxIDYzLjE3ODdaIiBmaWxsPSIjMDkyNTExIi8+CjxwYXRoIGQ9Ik05OS43OTk1IDgzLjAxNzZDMTAxLjUxNCA4My4xNjUxIDEwMi44MSA4NC42ODYyIDEwMi4zNzggODYuMzUxOEMxMDIuMDI5IDg3LjY5NzkgMTAxLjUyOSA4OS4wMDM5IDEwMC44ODYgOTAuMjQ0MkM5OS43NjMgOTIuNDA5IDk4LjIyNDYgOTQuMzMxNSA5Ni4zNTg2IDk1LjkwMThDOTQuNDkyNyA5Ny40NzIyIDkyLjMzNTcgOTguNjU5NiA5MC4wMTA4IDk5LjM5NjNDODcuNjg2IDEwMC4xMzMgODUuMjM4OCAxMDAuNDA1IDgyLjgwOSAxMDAuMTk2QzgwLjM3OTEgOTkuOTg2NiA3OC4wMTQzIDk5LjMwMSA3NS44NDk0IDk4LjE3OEM3My42ODQ2IDk3LjA1NTEgNzEuNzYyMSA5NS41MTY3IDcwLjE5MTcgOTMuNjUwN0M2OC42MjE0IDkxLjc4NDggNjcuNDM0IDg5LjYyNzggNjYuNjk3MiA4Ny4zMDI5QzY2LjE3MDEgODUuNjM5NiA2NS44ODExIDgzLjkxMzUgNjUuODM1OSA4Mi4xNzYxQzY1LjgwNiA4MS4wMjk0IDY2LjgyNDQgODAuMTgwOCA2Ny45NjczIDgwLjI3OTFMODQuNDAwNyA4MS42OTI4TDk5Ljc5OTUgODMuMDE3NloiIGZpbGw9IiMwOTI1MTEiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF83ODBfNjEwIj4KPHJlY3Qgd2lkdGg9IjE2NiIgaGVpZ2h0PSIxNjYiIGZpbGw9IndoaXRlIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+Cg=='; diff --git a/packages/core/test-utils/mock-extension/extension/chain-wallet.ts b/packages/core/test-utils/mock-extension/extension/chain-wallet.ts new file mode 100644 index 000000000..812a7a594 --- /dev/null +++ b/packages/core/test-utils/mock-extension/extension/chain-wallet.ts @@ -0,0 +1,8 @@ +import { ChainWalletBase } from "../../../src/bases"; +import { ChainRecord, Wallet } from "../../../src/types"; + +export class ChainMockExtension extends ChainWalletBase { + constructor(walletInfo: Wallet, chainInfo: ChainRecord) { + super(walletInfo, chainInfo); + } +} diff --git a/packages/core/test-utils/mock-extension/extension/client.ts b/packages/core/test-utils/mock-extension/extension/client.ts new file mode 100644 index 000000000..5892b757b --- /dev/null +++ b/packages/core/test-utils/mock-extension/extension/client.ts @@ -0,0 +1,155 @@ +import { chainRegistryChainToKeplr } from '@chain-registry/keplr'; +import { StdSignature, StdSignDoc } from '@cosmjs/amino'; +import { Algo, OfflineDirectSigner } from '@cosmjs/proto-signing'; +import { + BroadcastMode, + ChainRecord, + ExtendedHttpEndpoint, + SignOptions, + SignType, + SuggestToken, +} from '@cosmos-kit/core'; +import Long from 'long'; + +import { DirectSignDoc, WalletClient } from '../../../src/types'; +import { Mock } from './types'; + +export class MockClient implements WalletClient { + readonly client: Mock; + private _defaultSignOptions: SignOptions = { + preferNoSetFee: false, + preferNoSetMemo: true, + disableBalanceCheck: true, + }; + + get defaultSignOptions() { + return this._defaultSignOptions; + } + + setDefaultSignOptions(options: SignOptions) { + this._defaultSignOptions = options; + } + + constructor(client: Mock) { + this.client = client; + } + + async enable(chainIds: string | string[]) { + await this.client.enable(chainIds); + } + + async suggestToken({ chainId, tokens, type }: SuggestToken) { + if (type === 'cw20') { + for (const { contractAddress } of tokens) { + await this.client.suggestCW20Token(chainId, contractAddress); + } + } + } + + async addChain(chainInfo: ChainRecord) { + const suggestChain = chainRegistryChainToKeplr( + chainInfo.chain, + chainInfo.assetList ? [chainInfo.assetList] : [] + ); + + if (chainInfo.preferredEndpoints?.rest?.[0]) { + (suggestChain.rest as string | ExtendedHttpEndpoint) = + chainInfo.preferredEndpoints?.rest?.[0]; + } + + if (chainInfo.preferredEndpoints?.rpc?.[0]) { + (suggestChain.rpc as string | ExtendedHttpEndpoint) = + chainInfo.preferredEndpoints?.rpc?.[0]; + } + + await this.client.experimentalSuggestChain(suggestChain); + } + + async disconnect() { + await this.client.disconnect(); + } + + async getSimpleAccount(chainId: string) { + const { address, username } = await this.getAccount(chainId); + return { + namespace: 'cosmos', + chainId, + address, + username, + }; + } + + async getAccount(chainId: string) { + const key = await this.client.getKey(chainId); + return { + username: key.name, + address: key.bech32Address, + algo: key.algo as Algo, + pubkey: key.pubKey, + isNanoLedger: key.isNanoLedger, + }; + } + + getOfflineSigner(chainId: string, preferredSignType?: SignType) { + switch (preferredSignType) { + case 'amino': + return this.getOfflineSignerAmino(chainId); + case 'direct': + return this.getOfflineSignerDirect(chainId); + default: + return this.getOfflineSignerAmino(chainId); + } + // return this.client.getOfflineSignerAuto(chainId); + } + + getOfflineSignerAmino(chainId: string) { + return this.client.getOfflineSignerOnlyAmino(chainId); + } + + getOfflineSignerDirect(chainId: string) { + return this.client.getOfflineSigner(chainId) as OfflineDirectSigner; + } + + async signAmino( + chainId: string, + signer: string, + signDoc: StdSignDoc, + signOptions?: SignOptions + ) { + return await this.client.signAmino( + chainId, + signer, + signDoc, + signOptions || this.defaultSignOptions + ); + } + + async signArbitrary( + chainId: string, + signer: string, + data: string | Uint8Array + ): Promise { + return await this.client.signArbitrary(chainId, signer, data); + } + + async signDirect( + chainId: string, + signer: string, + signDoc: DirectSignDoc, + signOptions?: SignOptions + ) { + return await this.client.signDirect( + chainId, + signer, + { + ...signDoc, + accountNumber: Long.fromString(signDoc.accountNumber.toString()), + }, + signOptions || this.defaultSignOptions + ); + } + + async sendTx(chainId: string, tx: Uint8Array, mode: BroadcastMode) { + return await this.client.sendTx(chainId, tx, mode); + } +} diff --git a/packages/core/test-utils/mock-extension/extension/index.ts b/packages/core/test-utils/mock-extension/extension/index.ts new file mode 100644 index 000000000..f488a5ae7 --- /dev/null +++ b/packages/core/test-utils/mock-extension/extension/index.ts @@ -0,0 +1,4 @@ +export * from './chain-wallet'; +export * from './main-wallet'; +export * from './registry'; +export * from './types'; diff --git a/packages/core/test-utils/mock-extension/extension/main-wallet.ts b/packages/core/test-utils/mock-extension/extension/main-wallet.ts new file mode 100644 index 000000000..7896b67a1 --- /dev/null +++ b/packages/core/test-utils/mock-extension/extension/main-wallet.ts @@ -0,0 +1,22 @@ + +import { MainWalletBase } from '../../../src/bases'; +import { Wallet } from '../../../src/types'; +import { ChainMockExtension } from './chain-wallet'; +import { MockClient } from './client'; +import { getMockFromExtension } from './utils'; + +export class MockExtensionWallet extends MainWalletBase { + constructor(walletInfo: Wallet) { + super(walletInfo, ChainMockExtension); + } + + async initClient() { + this.initingClient(); + try { + const mock = await getMockFromExtension(); + this.initClientDone(mock ? new MockClient(mock) : undefined); + } catch (error) { + this.initClientError(error); + } + } +} diff --git a/packages/core/test-utils/mock-extension/extension/registry.ts b/packages/core/test-utils/mock-extension/extension/registry.ts new file mode 100644 index 000000000..81e5254a3 --- /dev/null +++ b/packages/core/test-utils/mock-extension/extension/registry.ts @@ -0,0 +1,27 @@ + + +import { Wallet } from '../../../src/types'; +import { ICON } from '../constant'; + +export const mockExtensionInfo: Wallet = { + name: 'mock-extension', + prettyName: 'Mock', + logo: ICON, + mode: 'extension', + mobileDisabled: () => true, + rejectMessage: { + source: 'Request rejected', + }, + rejectCode: 404, + connectEventNamesOnWindow: ['mock_keystorechange'], + downloads: [ + { + device: 'desktop', + browser: 'chrome', + link: 'https://chrome.google.com/webstore/detail/mock-cosmos-wallet/fcfcfllfndlomdhbehjjcoimbgofdncg', + }, + { + link: 'https://chrome.google.com/webstore/detail/mock-cosmos-wallet/fcfcfllfndlomdhbehjjcoimbgofdncg', + }, + ], +}; diff --git a/packages/core/test-utils/mock-extension/extension/types.ts b/packages/core/test-utils/mock-extension/extension/types.ts new file mode 100644 index 000000000..32644b7dc --- /dev/null +++ b/packages/core/test-utils/mock-extension/extension/types.ts @@ -0,0 +1,87 @@ +import { + AminoSignResponse, + OfflineAminoSigner, + StdSignature, + StdSignDoc, +} from '@cosmjs/amino'; +import { OfflineDirectSigner, OfflineSigner } from '@cosmjs/proto-signing'; +import { DirectSignResponse } from '@cosmjs/proto-signing'; + +import type { ChainInfo } from '@keplr-wallet/types'; +import { BroadcastMode } from '../../../src/types'; + +export interface Key { + readonly name: string; + readonly algo: string; + readonly pubKey: Uint8Array; + readonly address: Uint8Array; + readonly bech32Address: string; + readonly isNanoLedger: boolean; +} +export interface MockSignOptions { + readonly preferNoSetFee?: boolean; + readonly preferNoSetMemo?: boolean; + readonly disableBalanceCheck?: boolean; +} + +export interface Mock { + defaultOptions: { + sign?: MockSignOptions; + }; + disconnect(): Promise; + enable(chainIds: string | string[]): Promise; + suggestToken(chainId: string, contractAddress: string): Promise; + suggestCW20Token(chainId: string, contractAddress: string): Promise; + mode: 'extension'; + getKey(chainId: string): Promise; + getOfflineSigner(chainId: string): OfflineAminoSigner & OfflineDirectSigner; + getOfflineSignerOnlyAmino(chainId: string): OfflineAminoSigner; + getOfflineSignerAuto(chainId: string): Promise; + signAmino( + chainId: string, + signer: string, + signDoc: StdSignDoc, + signOptions?: MockSignOptions + ): Promise; + signDirect( + chainId: string, + signer: string, + signDoc: { + /** SignDoc bodyBytes */ + bodyBytes?: Uint8Array | null; + /** SignDoc authInfoBytes */ + authInfoBytes?: Uint8Array | null; + /** SignDoc chainId */ + chainId?: string | null; + /** SignDoc accountNumber */ + accountNumber?: Long | null; + }, + signOptions?: MockSignOptions + ): Promise; + signArbitrary( + chainId: string, + signer: string, + data: string | Uint8Array + ): Promise; + getEnigmaPubKey(chainId: string): Promise; + getEnigmaTxEncryptionKey( + chainId: string, + nonce: Uint8Array + ): Promise; + enigmaEncrypt( + chainId: string, + contractCodeHash: string, + msg: object + ): Promise; + enigmaDecrypt( + chainId: string, + ciphertext: Uint8Array, + nonce: Uint8Array + ): Promise; + sendTx( + chainId: string, + tx: Uint8Array, + mode: BroadcastMode + ): Promise; + experimentalSuggestChain(chainInfo: ChainInfo): Promise; +} diff --git a/packages/core/test-utils/mock-extension/extension/utils.ts b/packages/core/test-utils/mock-extension/extension/utils.ts new file mode 100644 index 000000000..ac541902d --- /dev/null +++ b/packages/core/test-utils/mock-extension/extension/utils.ts @@ -0,0 +1,12 @@ +import { MockWallet } from '../../mocker'; // Ensure this path is correct +import { Mock } from './types'; + +interface MockWindow { + mock?: Mock; +} + +export const getMockFromExtension: ( + mockWindow?: MockWindow +) => Promise = async (_window: any) => { + return new MockWallet(); +}; diff --git a/packages/core/test-utils/mock-extension/index.ts b/packages/core/test-utils/mock-extension/index.ts new file mode 100644 index 000000000..478131c10 --- /dev/null +++ b/packages/core/test-utils/mock-extension/index.ts @@ -0,0 +1,2 @@ +export * from './extension'; +export * from './mock'; diff --git a/packages/core/test-utils/mock-extension/mock.ts b/packages/core/test-utils/mock-extension/mock.ts new file mode 100644 index 000000000..ba15321a6 --- /dev/null +++ b/packages/core/test-utils/mock-extension/mock.ts @@ -0,0 +1,5 @@ +import { mockExtensionInfo, MockExtensionWallet } from './extension'; + +const mockExtension = new MockExtensionWallet(mockExtensionInfo); + +export const wallets = [mockExtension]; diff --git a/packages/core/test-utils/mocker/index.ts b/packages/core/test-utils/mocker/index.ts new file mode 100644 index 000000000..2e7334d58 --- /dev/null +++ b/packages/core/test-utils/mocker/index.ts @@ -0,0 +1,163 @@ +// @ts-nocheck +import { + AminoSignResponse, + OfflineAminoSigner, + StdSignature, + StdSignDoc, +} from '@cosmjs/amino'; +import { OfflineDirectSigner, OfflineSigner } from '@cosmjs/proto-signing'; +import { DirectSignResponse } from '@cosmjs/proto-signing'; + +import Long from 'long'; + +import { Key, Mock, MockSignOptions } from '../mock-extension/extension/types'; +import { BroadcastMode } from '../../src/types'; + +export class MockWallet implements Mock { + defaultOptions = { + sign: { + preferNoSetFee: false, + preferNoSetMemo: false, + disableBalanceCheck: false, + }, + }; + + mode = 'extension' as const; + + async disconnect(): Promise { + // Simulate disconnect logic + } + + async enable(chainIds: string | string[]): Promise { + // Simulate enabling logic + } + + async suggestToken(chainId: string, contractAddress: string): Promise { + // Simulate suggesting a token + } + + async suggestCW20Token( + chainId: string, + contractAddress: string + ): Promise { + // Simulate suggesting a CW20 token + } + + async getKey(chainId: string): Promise { + return { + name: 'Test Key', + algo: 'secp256k1', + pubKey: new Uint8Array(), + address: new Uint8Array(), + bech32Address: 'cosmos1...', + isNanoLedger: false, + }; + } + + async getOfflineSigner( + chainId: string + ): OfflineAminoSigner & OfflineDirectSigner { + return { + // Implement Offline Signer logic as needed + getAccounts: jest.fn(), + signAmino: jest.fn(), + } as OfflineAminoSigner & OfflineDirectSigner; + } + + async getOfflineSignerOnlyAmino( + chainId: string + ): OfflineAminoSigner { + return { + // Implement Offline Amino Signer logic as needed + getAccounts: jest.fn(), + signAmino: jest.fn(), + } as OfflineAminoSigner; + } + + async getOfflineSignerAuto(chainId: string): Promise { + return { + // Implement Auto Signer logic as needed + getAccounts: jest.fn(), + signAmino: jest.fn(), + } as OfflineSigner; + } + + async signAmino( + chainId: string, + signer: string, + signDoc: StdSignDoc, + signOptions?: MockSignOptions + ): Promise { + return { + signed: signDoc, + signature: new Uint8Array(), + }; + } + + async signDirect( + chainId: string, + signer: string, + signDoc: { + bodyBytes?: Uint8Array | null; + authInfoBytes?: Uint8Array | null; + chainId?: string | null; + accountNumber?: Long | null; + }, + signOptions?: MockSignOptions + ): Promise { + return { + signed: signDoc, + signature: new Uint8Array(), + }; + } + + async signArbitrary( + chainId: string, + signer: string, + data: string | Uint8Array + ): Promise { + return { + pubKey: new Uint8Array(), + signature: new Uint8Array(), + }; + } + + async getEnigmaPubKey(chainId: string): Promise { + return new Uint8Array(); + } + + async getEnigmaTxEncryptionKey( + chainId: string, + nonce: Uint8Array + ): Promise { + return new Uint8Array(); + } + + async enigmaEncrypt( + chainId: string, + contractCodeHash: string, + msg: object + ): Promise { + return new Uint8Array(); + } + + async enigmaDecrypt( + chainId: string, + ciphertext: Uint8Array, + nonce: Uint8Array + ): Promise { + return new Uint8Array(); + } + + async sendTx( + chainId: string, + tx: Uint8Array, + mode: BroadcastMode + ): Promise { + return new Uint8Array(); + } + + async experimentalSuggestChain(chainInfo: ChainInfo): Promise { + // Simulate suggesting a chain + } +} diff --git a/packages/core/test-utils/mocker/setup.ts b/packages/core/test-utils/mocker/setup.ts new file mode 100644 index 000000000..cdfcdd70b --- /dev/null +++ b/packages/core/test-utils/mocker/setup.ts @@ -0,0 +1,12 @@ +import { getMockFromExtension } from '../mock-extension/extension/utils'; + +// Example of using getMockFromExtension in an application setting +export async function setupWallet() { + try { + const wallet = await getMockFromExtension(); + // Proceed with using the wallet + console.log('Wallet enabled:', wallet.mode); + } catch (error) { + console.error('Failed to get wallet:', error); + } +} diff --git a/packages/cosmos-kit/.editorconfig b/packages/cosmos-kit/.editorconfig new file mode 100644 index 000000000..fac40a5f5 --- /dev/null +++ b/packages/cosmos-kit/.editorconfig @@ -0,0 +1,12 @@ +root = true + +[*] +indent_style = space +indent_size = 2 +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true + +[*.md] +trim_trailing_whitespace = false \ No newline at end of file diff --git a/packages/cosmos-kit/.eslintignore b/packages/cosmos-kit/.eslintignore new file mode 100644 index 000000000..91689c308 --- /dev/null +++ b/packages/cosmos-kit/.eslintignore @@ -0,0 +1,7 @@ +node_modules/ +dist/ +main/ +module/ +types/ +coverage/ +/index.ts \ No newline at end of file diff --git a/packages/cosmos-kit/.gitignore b/packages/cosmos-kit/.gitignore new file mode 100644 index 000000000..a91a2f788 --- /dev/null +++ b/packages/cosmos-kit/.gitignore @@ -0,0 +1,48 @@ +# Logs +logs +*.log +npm-debug.log* + +# Runtime data +pids +*.pid +*.seed + +# dist +main +module + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage + +# nyc test coverage +.nyc_output + +# Compiled binary addons (http://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules +jspm_packages + +# Optional npm cache directory +.npm + +# Optional REPL history +.node_repl_history + +# Editors +.idea + +# Lib +lib + +# npm package lock +package-lock.json +yarn.lock + +# others +.DS_Store diff --git a/packages/cosmos-kit/.npmrc b/packages/cosmos-kit/.npmrc new file mode 100644 index 000000000..a21347f1b --- /dev/null +++ b/packages/cosmos-kit/.npmrc @@ -0,0 +1 @@ +scripts-prepend-node-path=true \ No newline at end of file diff --git a/packages/cosmos-kit/.prettierrc.json b/packages/cosmos-kit/.prettierrc.json new file mode 100644 index 000000000..4aa2a0dc9 --- /dev/null +++ b/packages/cosmos-kit/.prettierrc.json @@ -0,0 +1,7 @@ +{ + "trailingComma": "es5", + "tabWidth": 2, + "semi": true, + "singleQuote": true, + "useTabs": false +} \ No newline at end of file diff --git a/packages/cosmos-kit/CHANGELOG.md b/packages/cosmos-kit/CHANGELOG.md new file mode 100644 index 000000000..37d852248 --- /dev/null +++ b/packages/cosmos-kit/CHANGELOG.md @@ -0,0 +1,488 @@ +# Change Log + +All notable changes to this project will be documented in this file. +See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. + +# [2.19.0](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.18.4...cosmos-kit@2.19.0) (2024-08-01) + +**Note:** Version bump only for package cosmos-kit + + + + + +## [2.18.4](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.18.3...cosmos-kit@2.18.4) (2024-06-28) + +**Note:** Version bump only for package cosmos-kit + + + + + +## [2.18.3](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.18.2...cosmos-kit@2.18.3) (2024-06-28) + +**Note:** Version bump only for package cosmos-kit + + + + + +## [2.18.2](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.18.1...cosmos-kit@2.18.2) (2024-06-26) + +**Note:** Version bump only for package cosmos-kit + + + + + +## [2.18.1](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.18.0...cosmos-kit@2.18.1) (2024-06-26) + +**Note:** Version bump only for package cosmos-kit + + + + + +# [2.18.0](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.17.0...cosmos-kit@2.18.0) (2024-06-18) + +**Note:** Version bump only for package cosmos-kit + + + + + +# [2.17.0](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.16.0...cosmos-kit@2.17.0) (2024-06-12) + +**Note:** Version bump only for package cosmos-kit + + + + + +# [2.16.0](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.15.1...cosmos-kit@2.16.0) (2024-06-05) + + +### Features + +* add cdc wallet to all wallets list ([d3ad047](https://github.com/cosmology-tech/cosmos-kit/commit/d3ad047d281b751b1f5c51f0c91b45c4703bb338)) +* add cdc wallet to package deps ([f1ab3e0](https://github.com/cosmology-tech/cosmos-kit/commit/f1ab3e029bddcf59d20926709fcd784c6ba3e24b)) + + + + + +## [2.15.1](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.15.0...cosmos-kit@2.15.1) (2024-05-29) + +**Note:** Version bump only for package cosmos-kit + + + + + +# [2.15.0](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.14.0...cosmos-kit@2.15.0) (2024-05-28) + +**Note:** Version bump only for package cosmos-kit + + + + + +# [2.14.0](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.13.0...cosmos-kit@2.14.0) (2024-05-23) + +**Note:** Version bump only for package cosmos-kit + + + + + +# [2.13.0](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.12.0...cosmos-kit@2.13.0) (2024-05-22) + +**Note:** Version bump only for package cosmos-kit + + + + + +# [2.12.0](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.11.0...cosmos-kit@2.12.0) (2024-05-08) + +**Note:** Version bump only for package cosmos-kit + + + + + +# [2.11.0](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.10.3...cosmos-kit@2.11.0) (2024-05-08) + +**Note:** Version bump only for package cosmos-kit + + + + + +## [2.10.3](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.10.2...cosmos-kit@2.10.3) (2024-05-07) + +**Note:** Version bump only for package cosmos-kit + +## [2.10.2](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.10.1...cosmos-kit@2.10.2) (2024-04-28) + +**Note:** Version bump only for package cosmos-kit + +## [2.10.1](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.10.0...cosmos-kit@2.10.1) (2024-04-27) + +**Note:** Version bump only for package cosmos-kit + +# [2.10.0](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.9.4...cosmos-kit@2.10.0) (2024-04-20) + +**Note:** Version bump only for package cosmos-kit + +## [2.9.4](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.9.3...cosmos-kit@2.9.4) (2024-04-02) + +**Note:** Version bump only for package cosmos-kit + +## [2.9.3](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.9.2...cosmos-kit@2.9.3) (2024-03-07) + +**Note:** Version bump only for package cosmos-kit + +## [2.9.2](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.9.1...cosmos-kit@2.9.2) (2024-02-29) + +**Note:** Version bump only for package cosmos-kit + +## [2.9.1](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.9.0...cosmos-kit@2.9.1) (2024-02-28) + +**Note:** Version bump only for package cosmos-kit + +# [2.9.0](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.8.6...cosmos-kit@2.9.0) (2024-02-02) + +### Features + +- Add support for Trust Extension ([38b3653](https://github.com/cosmology-tech/cosmos-kit/commit/38b365326457e592f739dd5bb94dbbed5405f21d)) + +## [2.8.6](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.8.5...cosmos-kit@2.8.6) (2024-01-31) + +**Note:** Version bump only for package cosmos-kit + +## [2.8.5](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.8.4...cosmos-kit@2.8.5) (2024-01-31) + +**Note:** Version bump only for package cosmos-kit + +## [2.8.4](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.8.3...cosmos-kit@2.8.4) (2024-01-25) + +**Note:** Version bump only for package cosmos-kit + +## [2.8.3](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.8.2...cosmos-kit@2.8.3) (2024-01-23) + +**Note:** Version bump only for package cosmos-kit + +## [2.8.2](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.8.1...cosmos-kit@2.8.2) (2024-01-22) + +**Note:** Version bump only for package cosmos-kit + +## [2.8.1](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.8.0...cosmos-kit@2.8.1) (2024-01-22) + +**Note:** Version bump only for package cosmos-kit + +# [2.8.0](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.7.12...cosmos-kit@2.8.0) (2024-01-21) + +**Note:** Version bump only for package cosmos-kit + +## [2.7.12](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.7.11...cosmos-kit@2.7.12) (2024-01-21) + +**Note:** Version bump only for package cosmos-kit + +## [2.7.11](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.7.10...cosmos-kit@2.7.11) (2024-01-21) + +**Note:** Version bump only for package cosmos-kit + +## [2.7.10](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.7.9...cosmos-kit@2.7.10) (2024-01-21) + +**Note:** Version bump only for package cosmos-kit + +## [2.7.9](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.7.8...cosmos-kit@2.7.9) (2024-01-20) + +**Note:** Version bump only for package cosmos-kit + +## [2.7.8](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.7.7...cosmos-kit@2.7.8) (2024-01-20) + +**Note:** Version bump only for package cosmos-kit + +## [2.7.7](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.7.6...cosmos-kit@2.7.7) (2024-01-20) + +**Note:** Version bump only for package cosmos-kit + +## [2.7.6](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.7.5...cosmos-kit@2.7.6) (2024-01-20) + +**Note:** Version bump only for package cosmos-kit + +## [2.7.5](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.7.4...cosmos-kit@2.7.5) (2024-01-19) + +**Note:** Version bump only for package cosmos-kit + +## [2.7.4](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.7.3...cosmos-kit@2.7.4) (2024-01-19) + +**Note:** Version bump only for package cosmos-kit + +## [2.7.3](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.7.2...cosmos-kit@2.7.3) (2024-01-19) + +**Note:** Version bump only for package cosmos-kit + +## [2.7.2](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.7.1...cosmos-kit@2.7.2) (2024-01-15) + +**Note:** Version bump only for package cosmos-kit + +## [2.7.1](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.7.0...cosmos-kit@2.7.1) (2024-01-08) + +**Note:** Version bump only for package cosmos-kit + +# [2.7.0](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.6.4...cosmos-kit@2.7.0) (2024-01-07) + +**Note:** Version bump only for package cosmos-kit + +## [2.6.4](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.6.3...cosmos-kit@2.6.4) (2023-12-26) + +**Note:** Version bump only for package cosmos-kit + +## [2.6.3](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.6.2...cosmos-kit@2.6.3) (2023-12-25) + +**Note:** Version bump only for package cosmos-kit + +## [2.6.2](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.6.1...cosmos-kit@2.6.2) (2023-12-22) + +### Bug Fixes + +- client and wallet state wrongly changed ([6a26281](https://github.com/cosmology-tech/cosmos-kit/commit/6a262816879b10d2ffb38f03149374822e0ad635)) + +## [2.6.1](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.6.0...cosmos-kit@2.6.1) (2023-12-18) + +**Note:** Version bump only for package cosmos-kit + +# [2.6.0](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.5.17...cosmos-kit@2.6.0) (2023-12-15) + +**Note:** Version bump only for package cosmos-kit + +## [2.5.17](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.5.16...cosmos-kit@2.5.17) (2023-12-14) + +**Note:** Version bump only for package cosmos-kit + +## [2.5.16](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.5.15...cosmos-kit@2.5.16) (2023-12-14) + +**Note:** Version bump only for package cosmos-kit + +## [2.5.15](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.5.14...cosmos-kit@2.5.15) (2023-12-07) + +**Note:** Version bump only for package cosmos-kit + +## [2.5.14](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.5.13...cosmos-kit@2.5.14) (2023-11-27) + +**Note:** Version bump only for package cosmos-kit + +## [2.5.13](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.5.12...cosmos-kit@2.5.13) (2023-11-24) + +**Note:** Version bump only for package cosmos-kit + +## [2.5.12](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.5.11...cosmos-kit@2.5.12) (2023-11-23) + +**Note:** Version bump only for package cosmos-kit + +## [2.5.11](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.5.10...cosmos-kit@2.5.11) (2023-11-08) + +**Note:** Version bump only for package cosmos-kit + +## [2.5.10](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.5.9...cosmos-kit@2.5.10) (2023-11-06) + +**Note:** Version bump only for package cosmos-kit + +## [2.5.9](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.5.8...cosmos-kit@2.5.9) (2023-11-06) + +**Note:** Version bump only for package cosmos-kit + +## [2.5.8](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.5.7...cosmos-kit@2.5.8) (2023-11-06) + +**Note:** Version bump only for package cosmos-kit + +## [2.5.7](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.5.6...cosmos-kit@2.5.7) (2023-11-02) + +**Note:** Version bump only for package cosmos-kit + +## [2.5.6](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.5.5...cosmos-kit@2.5.6) (2023-10-31) + +**Note:** Version bump only for package cosmos-kit + +## [2.5.5](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.5.4...cosmos-kit@2.5.5) (2023-10-31) + +**Note:** Version bump only for package cosmos-kit + +## [2.5.4](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.5.3...cosmos-kit@2.5.4) (2023-10-19) + +**Note:** Version bump only for package cosmos-kit + +## [2.5.3](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.5.2...cosmos-kit@2.5.3) (2023-10-19) + +**Note:** Version bump only for package cosmos-kit + +## [2.5.2](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.5.1...cosmos-kit@2.5.2) (2023-10-18) + +**Note:** Version bump only for package cosmos-kit + +## [2.5.1](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.5.0...cosmos-kit@2.5.1) (2023-10-17) + +**Note:** Version bump only for package cosmos-kit + +# [2.5.0](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.4.12...cosmos-kit@2.5.0) (2023-10-07) + +**Note:** Version bump only for package cosmos-kit + +## [2.4.12](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.4.11...cosmos-kit@2.4.12) (2023-10-07) + +**Note:** Version bump only for package cosmos-kit + +## [2.4.11](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.4.10...cosmos-kit@2.4.11) (2023-10-05) + +**Note:** Version bump only for package cosmos-kit + +## [2.4.10](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.4.9...cosmos-kit@2.4.10) (2023-10-04) + +**Note:** Version bump only for package cosmos-kit + +## [2.4.9](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.4.8...cosmos-kit@2.4.9) (2023-09-26) + +**Note:** Version bump only for package cosmos-kit + +## [2.4.8](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.4.7...cosmos-kit@2.4.8) (2023-09-22) + +**Note:** Version bump only for package cosmos-kit + +## [2.4.7](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.4.6...cosmos-kit@2.4.7) (2023-09-18) + +**Note:** Version bump only for package cosmos-kit + +## [2.4.6](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.4.5...cosmos-kit@2.4.6) (2023-09-15) + +**Note:** Version bump only for package cosmos-kit + +## [2.4.5](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.4.4...cosmos-kit@2.4.5) (2023-09-13) + +**Note:** Version bump only for package cosmos-kit + +## [2.4.4](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.4.3...cosmos-kit@2.4.4) (2023-09-13) + +**Note:** Version bump only for package cosmos-kit + +## [2.4.3](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.4.2...cosmos-kit@2.4.3) (2023-09-12) + +**Note:** Version bump only for package cosmos-kit + +## [2.4.2](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.4.1...cosmos-kit@2.4.2) (2023-09-07) + +**Note:** Version bump only for package cosmos-kit + +## [2.4.1](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.4.0...cosmos-kit@2.4.1) (2023-09-07) + +**Note:** Version bump only for package cosmos-kit + +# [2.4.0](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.3.5...cosmos-kit@2.4.0) (2023-09-05) + +**Note:** Version bump only for package cosmos-kit + +## [2.3.5](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.3.4...cosmos-kit@2.3.5) (2023-09-02) + +**Note:** Version bump only for package cosmos-kit + +## [2.3.4](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.3.3...cosmos-kit@2.3.4) (2023-08-24) + +**Note:** Version bump only for package cosmos-kit + +## [2.3.3](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.3.2...cosmos-kit@2.3.3) (2023-08-24) + +**Note:** Version bump only for package cosmos-kit + +## [2.3.2](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.3.1...cosmos-kit@2.3.2) (2023-08-23) + +**Note:** Version bump only for package cosmos-kit + +## [2.3.1](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.3.0...cosmos-kit@2.3.1) (2023-08-21) + +**Note:** Version bump only for package cosmos-kit + +# [2.3.0](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.2.1...cosmos-kit@2.3.0) (2023-08-17) + +**Note:** Version bump only for package cosmos-kit + +## [2.2.1](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.2.0...cosmos-kit@2.2.1) (2023-08-17) + +**Note:** Version bump only for package cosmos-kit + +# [2.2.0](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.1.12...cosmos-kit@2.2.0) (2023-08-17) + +**Note:** Version bump only for package cosmos-kit + +## [2.1.12](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.1.11...cosmos-kit@2.1.12) (2023-08-17) + +**Note:** Version bump only for package cosmos-kit + +## [2.1.11](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.1.10...cosmos-kit@2.1.11) (2023-08-17) + +**Note:** Version bump only for package cosmos-kit + +## [2.1.10](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.1.9...cosmos-kit@2.1.10) (2023-08-17) + +**Note:** Version bump only for package cosmos-kit + +## [2.1.9](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.1.8...cosmos-kit@2.1.9) (2023-08-17) + +**Note:** Version bump only for package cosmos-kit + +## [2.1.8](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.1.7...cosmos-kit@2.1.8) (2023-08-17) + +**Note:** Version bump only for package cosmos-kit + +## [2.1.7](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.1.6...cosmos-kit@2.1.7) (2023-08-09) + +**Note:** Version bump only for package cosmos-kit + +## [2.1.6](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.1.5...cosmos-kit@2.1.6) (2023-08-07) + +**Note:** Version bump only for package cosmos-kit + +## [2.1.5](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.1.4...cosmos-kit@2.1.5) (2023-08-03) + +**Note:** Version bump only for package cosmos-kit + +## [2.1.4](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.1.3...cosmos-kit@2.1.4) (2023-08-03) + +**Note:** Version bump only for package cosmos-kit + +## [2.1.3](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.1.2...cosmos-kit@2.1.3) (2023-08-01) + +**Note:** Version bump only for package cosmos-kit + +## [2.1.2](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.1.1...cosmos-kit@2.1.2) (2023-07-31) + +**Note:** Version bump only for package cosmos-kit + +## [2.1.1](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.1.0...cosmos-kit@2.1.1) (2023-07-30) + +**Note:** Version bump only for package cosmos-kit + +# [2.1.0](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.0.5...cosmos-kit@2.1.0) (2023-07-28) + +**Note:** Version bump only for package cosmos-kit + +## [2.0.5](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@2.0.4...cosmos-kit@2.0.5) (2023-07-28) + +**Note:** Version bump only for package cosmos-kit + +## [2.0.4](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@0.12.3...cosmos-kit@2.0.4) (2023-07-27) + +**Note:** Version bump only for package cosmos-kit + +## [0.12.3](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@0.12.2...cosmos-kit@0.12.3) (2023-07-24) + +**Note:** Version bump only for package cosmos-kit + +## [0.12.2](https://github.com/cosmology-tech/cosmos-kit/compare/cosmos-kit@0.12.1...cosmos-kit@0.12.2) (2023-07-21) + +**Note:** Version bump only for package cosmos-kit + +## 0.12.1 (2023-07-21) + +**Note:** Version bump only for package cosmos-kit diff --git a/packages/cosmos-kit/LICENSE b/packages/cosmos-kit/LICENSE new file mode 100644 index 000000000..b3ac161b5 --- /dev/null +++ b/packages/cosmos-kit/LICENSE @@ -0,0 +1,33 @@ +The Clear BSD License + +Copyright (c) 2024 Cosmos Kit Contributors +Copyright (c) 2024 Interweb, Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted (subject to the limitations in the disclaimer +below) provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. + +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY +THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. diff --git a/packages/cosmos-kit/README.md b/packages/cosmos-kit/README.md new file mode 100644 index 000000000..36db13d5a --- /dev/null +++ b/packages/cosmos-kit/README.md @@ -0,0 +1,181 @@ +# cosmos-kit + +

+ +

+ +

+ + + + + + + + + +
+ + +

+ +Cosmos Kit is a univeral wallet adapter for developers to build apps that quickly and easily interact with Cosmos blockchains and wallets. + +## 🏁 Quickstart + +Get started quickly by using [create-cosmos-app](https://github.com/cosmology-tech/create-cosmos-app) to help you build high-quality Cosmos apps fast! + +## ⚙️ Configuration + +Check out [our docs here](https://docs.cosmology.zone/cosmos-kit/get-started) to configure CosmosKit. + +## ⚛️ CosmJS Signers + +If you want to get a cosmjs stargate or cosmwasm signer, [here are docs for our hooks](https://docs.cosmology.zone/cosmos-kit/hooks) + +## 📦 Packages + +| Name | Description | +| --- | --- | +| [cosmos-kit](https://github.com/cosmology-tech/cosmos-kit/tree/main/packages/cosmos-kit) | Single package for React developers to install Cosmos Kit | +| [@cosmos-kit/core](https://github.com/cosmology-tech/cosmos-kit/tree/main/packages/core) | Core Cosmos Kit functionality | +| [@cosmos-kit/walletconnect](https://github.com/cosmology-tech/cosmos-kit/tree/main/packages/walletconnect) | Mobile WalletConnect support for the Cosmos ecosystem | +| [@cosmos-kit/react](https://github.com/cosmology-tech/cosmos-kit/tree/main/packages/react) | React integration with Interchain UI Modal for simple usage | +| [@cosmos-kit/react-lite](https://github.com/cosmology-tech/cosmos-kit/tree/main/packages/react-lite) | A lightweight version of React integration without UI for customization | + +## 📦 Wallets + +Explore the range of wallet adapters available in our [wallets directory](https://github.com/cosmology-tech/cosmos-kit/tree/main/wallets). + +

+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +

+ + +## 🔌 Integrating Wallets + +See our docs on [integrating your wallet](https://docs.cosmology.zone/cosmos-kit/integrating-wallets) + +### 🚀 Running Example + +For high-level examples suitable for most developers, explore our [create-cosmos-app](https://github.com/cosmology-tech/create-cosmos-app). For a deeper, more technical understanding, this repository contains an example, which is also useful when integrating new wallets. + +```sh +yarn build +cd packages/example +yarn dev +``` + +#### [Basic Next.js Example](https://github.com/cosmology-tech/cosmos-kit/tree/main/packages/example) + +This example demonstrates a Next.js project that integrates the `@cosmos-kit/react` wallet adapter. Note that this example has historically been used by multiple teams to test PRs. + +#### ["vanilla" example showing how `WalletManager` works](https://github.com/cosmology-tech/cosmos-kit/tree/main/packages/example/pages/wallet-manager) + +This example is ideal for developers looking to create integrations for Vue.js, Svelte, or other frameworks. It uses a basic Next.js setup without relying on React-specific hooks, providing a clear model for building custom integrations. + +- `/wallet-manager` - Index page for wallet functionality +- `/wallet-manager/wallet-operate` - Operate Wallet Directly +- `/wallet-manager/main-wallets` - Show All Main Wallets +- `/wallet-manager/wallet-manager` - Wallet Manager Without Hook +- `/wallet-manager/wallet-repos` - Show All Wallet Repos +- `/wallet-manager/wallet-repo` - Show One Wallet Repo + +## 🛠 Developing + +Checkout the repository and bootstrap the yarn workspace: + +```sh +# Clone the repo. +git clone https://github.com/cosmology-tech/cosmos-kit +cd cosmos-kit +yarn +``` + +### Building + +```sh +yarn build +``` + +### Publishing + +``` +lerna publish +# lerna publish minor +# lerna publish major +``` + +## Related + +Checkout these related projects: + +- [@cosmology/telescope](https://github.com/cosmology-tech/telescope) Your Frontend Companion for Building with TypeScript with Cosmos SDK Modules. +- [@cosmwasm/ts-codegen](https://github.com/CosmWasm/ts-codegen) Convert your CosmWasm smart contracts into dev-friendly TypeScript classes. +- [chain-registry](https://github.com/cosmology-tech/chain-registry) Everything from token symbols, logos, and IBC denominations for all assets you want to support in your application. +- [cosmos-kit](https://github.com/cosmology-tech/cosmos-kit) Experience the convenience of connecting with a variety of web3 wallets through a single, streamlined interface. +- [create-cosmos-app](https://github.com/cosmology-tech/create-cosmos-app) Set up a modern Cosmos app by running one command. +- [interchain-ui](https://github.com/cosmology-tech/interchain-ui) The Interchain Design System, empowering developers with a flexible, easy-to-use UI kit. +- [starship](https://github.com/cosmology-tech/starship) Unified Testing and Development for the Interchain. + +## Credits + +🛠 Built by Cosmology — if you like our tools, please consider delegating to [our validator ⚛️](https://cosmology.zone/validator) + +## Disclaimer + +AS DESCRIBED IN THE LICENSES, THE SOFTWARE IS PROVIDED “AS IS”, AT YOUR OWN RISK, AND WITHOUT WARRANTIES OF ANY KIND. + +No developer or entity involved in creating this software will be liable for any claims or damages whatsoever associated with your use, inability to use, or your interaction with other users of the code, including any direct, indirect, incidental, special, exemplary, punitive or consequential damages, or loss of profits, cryptocurrencies, tokens, or anything else of value. diff --git a/packages/cosmos-kit/jest.config.js b/packages/cosmos-kit/jest.config.js new file mode 100644 index 000000000..2a3ce45e8 --- /dev/null +++ b/packages/cosmos-kit/jest.config.js @@ -0,0 +1,195 @@ +/* + * For a detailed explanation regarding each configuration property, visit: + * https://jestjs.io/docs/configuration + */ + +module.exports = { + // All imported modules in your tests should be mocked automatically + // automock: false, + + // Stop running tests after `n` failures + // bail: 0, + + // The directory where Jest should store its cached dependency information + // cacheDirectory: "/private/var/folders/2l/2cvqj9hx2cx2srtmbw7hhmzh0000gn/T/jest_dx", + + // Automatically clear mock calls, instances, contexts and results before every test + clearMocks: true, + + // Indicates whether the coverage information should be collected while executing the test + // collectCoverage: true, + + // An array of glob patterns indicating a set of files for which coverage information should be collected + // collectCoverageFrom: undefined, + + // The directory where Jest should output its coverage files + // coverageDirectory: "coverage", + + // An array of regexp pattern strings used to skip coverage collection + coveragePathIgnorePatterns: [ + "/node_modules/" + ], + + // Indicates which provider should be used to instrument code for coverage + // coverageProvider: "babel", + + // A list of reporter names that Jest uses when writing coverage reports + // coverageReporters: [ + // "json", + // "text", + // "lcov", + // "clover" + // ], + + // An object that configures minimum threshold enforcement for coverage results + // coverageThreshold: undefined, + + // A path to a custom dependency extractor + // dependencyExtractor: undefined, + + // Make calling deprecated APIs throw helpful error messages + // errorOnDeprecated: false, + + // The default configuration for fake timers + // fakeTimers: { + // "enableGlobally": false + // }, + + // Force coverage collection from ignored files using an array of glob patterns + // forceCoverageMatch: [], + + // A path to a module which exports an async function that is triggered once before all test suites + // globalSetup: undefined, + + // A path to a module which exports an async function that is triggered once after all test suites + // globalTeardown: undefined, + + // A set of global variables that need to be available in all test environments + // globals: {}, + + // The maximum amount of workers used to run your tests. Can be specified as % or a number. E.g. maxWorkers: 10% will use 10% of your CPU amount + 1 as the maximum worker number. maxWorkers: 2 will use a maximum of 2 workers. + // maxWorkers: "50%", + + // An array of directory names to be searched recursively up from the requiring module's location + // moduleDirectories: [ + // "node_modules" + // ], + + // An array of file extensions your modules use + moduleFileExtensions: [ + "js", + "mjs", + "cjs", + "jsx", + "ts", + "tsx", + "json", + "node" + ], + + // A map from regular expressions to module names or to arrays of module names that allow to stub out resources with a single module + // moduleNameMapper: {}, + + // An array of regexp pattern strings, matched against all module paths before considered 'visible' to the module loader + // modulePathIgnorePatterns: [], + + // Activates notifications for test results + // notify: false, + + // An enum that specifies notification mode. Requires { notify: true } + // notifyMode: "failure-change", + + // A preset that is used as a base for Jest's configuration + // preset: undefined, + + // Run tests from one or more projects + // projects: undefined, + + // Use this configuration option to add custom reporters to Jest + // reporters: undefined, + + // Automatically reset mock state before every test + // resetMocks: false, + + // Reset the module registry before running each individual test + // resetModules: false, + + // A path to a custom resolver + // resolver: undefined, + + // Automatically restore mock state and implementation before every test + // restoreMocks: false, + + // The root directory that Jest should scan for tests and modules within + // rootDir: undefined, + + // A list of paths to directories that Jest should use to search for files in + // roots: [ + // "" + // ], + + // Allows you to use a custom runner instead of Jest's default test runner + // runner: "jest-runner", + + // The paths to modules that run some code to configure or set up the testing environment before each test + // setupFiles: [], + + // A list of paths to modules that run some code to configure or set up the testing framework before each test + // setupFilesAfterEnv: [], + + // The number of seconds after which a test is considered as slow and reported as such in the results. + // slowTestThreshold: 5, + + // A list of paths to snapshot serializer modules Jest should use for snapshot testing + // snapshotSerializers: [], + + // The test environment that will be used for testing + // testEnvironment: "jsdom", + + // Options that will be passed to the testEnvironment + // testEnvironmentOptions: {}, + + // Adds a location field to test results + // testLocationInResults: false, + + // The glob patterns Jest uses to detect test files + testMatch: [ + "**/__tests__/**/*.[jt]s?(x)", + "**/?(*.)+(spec|test).[tj]s?(x)" + ], + + // An array of regexp pattern strings that are matched against all test paths, matched tests are skipped + // testPathIgnorePatterns: [ + // "/node_modules/" + // ], + + // The regexp pattern or array of patterns that Jest uses to detect test files + // testRegex: [], + + // This option allows the use of a custom results processor + // testResultsProcessor: undefined, + + // This option allows use of a custom test runner + // testRunner: "jest-circus/runner", + + // A map from regular expressions to paths to transformers + // transform: undefined, + + // An array of regexp pattern strings that are matched against all source file paths, matched files will skip transformation + // transformIgnorePatterns: [ + // "/node_modules/", + // "\\.pnp\\.[^\\/]+$" + // ], + + // An array of regexp pattern strings that are matched against all modules before the module loader will automatically return a mock for them + // unmockedModulePathPatterns: undefined, + + // Indicates whether each individual test should be reported during the run + // verbose: undefined, + + // An array of regexp patterns that are matched against all source file paths before re-running tests in watch mode + // watchPathIgnorePatterns: [], + + // Whether to use watchman for file crawling + // watchman: true, +}; diff --git a/packages/cosmos-kit/package.json b/packages/cosmos-kit/package.json new file mode 100644 index 000000000..ed607343b --- /dev/null +++ b/packages/cosmos-kit/package.json @@ -0,0 +1,96 @@ +{ + "name": "cosmos-kit", + "version": "2.19.0", + "description": "cosmos-kit wallet connector", + "author": "developers@cosmology.zone", + "contributors": [ + { + "name": "Jun Liu" + }, + { + "name": "Tom Wang" + }, + { + "name": "Dan Lynch" + }, + { + "name": "Noah Saso" + }, + { + "name": "Eliot Baker" + }, + { + "name": "Delivan Jeonghyeok Yoo" + } + ], + "homepage": "https://github.com/cosmology-tech/cosmos-kit#readme", + "license": "SEE LICENSE IN LICENSE", + "main": "cjs/index.js", + "module": "esm/index.js", + "types": "cjs/index.d.ts", + "directories": { + "lib": "src", + "test": "test" + }, + "files": [ + "cjs", + "esm", + "!CHANGELOG.md", + "!LICENSE" + ], + "scripts": { + "build:cjs": "yarn tsc -p tsconfig.json --outDir cjs --module commonjs || true", + "build:esm": "yarn tsc -p tsconfig.json --outDir esm --module es2022 || true", + "clean:cjs": "rimraf cjs", + "clean:esm": "rimraf esm", + "clean": "npm run clean:cjs && npm run clean:esm", + "build": "npm run clean && npm run build:cjs && npm run build:esm", + "prepare": "npm run build", + "lint": "eslint --ext .tsx,.ts .", + "format": "eslint --ext .tsx,.ts --fix .", + "test": "jest", + "test:watch": "jest --watch", + "test:debug": "node --inspect node_modules/.bin/jest --runInBand" + }, + "publishConfig": { + "access": "public" + }, + "repository": { + "type": "git", + "url": "https://github.com/cosmology-tech/cosmos-kit" + }, + "keywords": [ + "cosmos-kit", + "cosmos", + "keplr", + "leap", + "cosmostation", + "wallet" + ], + "bugs": { + "url": "https://github.com/cosmology-tech/cosmos-kit/issues" + }, + "dependencies": { + "@cosmos-kit/cdcwallet": "^2.13.2", + "@cosmos-kit/coin98": "^2.11.2", + "@cosmos-kit/compass": "^2.11.2", + "@cosmos-kit/cosmostation": "^2.12.0", + "@cosmos-kit/exodus": "^2.10.2", + "@cosmos-kit/fin": "^2.11.2", + "@cosmos-kit/frontier": "^2.10.2", + "@cosmos-kit/galaxy-station": "^2.10.2", + "@cosmos-kit/keplr": "^2.12.2", + "@cosmos-kit/leap": "^2.12.2", + "@cosmos-kit/ledger": "^2.11.2", + "@cosmos-kit/okxwallet-extension": "^2.11.2", + "@cosmos-kit/omni": "^2.10.2", + "@cosmos-kit/owallet": "^2.11.2", + "@cosmos-kit/shell": "^2.11.2", + "@cosmos-kit/station": "^2.10.2", + "@cosmos-kit/tailwind": "^1.5.2", + "@cosmos-kit/trust": "^2.11.2", + "@cosmos-kit/vectis": "^2.11.2", + "@cosmos-kit/xdefi": "^2.10.2" + }, + "gitHead": "2b5f2de5d9ed1580be4137736dfc6cce779679d1" +} diff --git a/packages/cosmos-kit/src/index.ts b/packages/cosmos-kit/src/index.ts new file mode 100644 index 000000000..5b9d7b14c --- /dev/null +++ b/packages/cosmos-kit/src/index.ts @@ -0,0 +1,20 @@ +export { wallets } from './wallets'; + +import { + ChainName, + ChainWalletBase, + SignerOptions, + WalletModalProps, + WalletStatus, +} from '@cosmos-kit/core'; + +export { + WalletStatus, + ChainWalletBase +}; + +export type { + ChainName, + SignerOptions, + WalletModalProps, +}; diff --git a/packages/cosmos-kit/src/wallets.ts b/packages/cosmos-kit/src/wallets.ts new file mode 100644 index 000000000..cd026269e --- /dev/null +++ b/packages/cosmos-kit/src/wallets.ts @@ -0,0 +1,229 @@ +import { MainWalletBase } from '@cosmos-kit/core'; +import { wallets as coin98Extension } from '@cosmos-kit/coin98-extension'; +import { wallets as compassExtension } from '@cosmos-kit/compass-extension'; +import { wallets as okxwalletExtension } from '@cosmos-kit/okxwallet-extension'; +import { wallets as cosmostationExtension } from '@cosmos-kit/cosmostation-extension'; +import { wallets as cosmostationMobile } from '@cosmos-kit/cosmostation-mobile'; +import { wallets as frontierExtension } from '@cosmos-kit/frontier-extension'; +import { wallets as keplrExtension } from '@cosmos-kit/keplr-extension'; +import { wallets as keplrMobile } from '@cosmos-kit/keplr-mobile'; +import { wallets as owalletExtension } from '@cosmos-kit/owallet-extension'; +import { wallets as leapExtension } from '@cosmos-kit/leap-extension'; +import { wallets as leapMobile } from '@cosmos-kit/leap-mobile'; +import { wallets as leapMetamaskCosmosSnap } from '@cosmos-kit/leap-metamask-cosmos-snap'; +import { wallets as ledgerUSB } from '@cosmos-kit/ledger'; +import { wallets as omniMobile } from '@cosmos-kit/omni-mobile'; +import { wallets as finExtension } from '@cosmos-kit/fin-extension'; +import { wallets as stationExtension } from '@cosmos-kit/station-extension'; +import { wallets as trustExtension } from '@cosmos-kit/trust-extension'; +import { wallets as trustMobile } from '@cosmos-kit/trust-mobile'; +import { wallets as shellExtension } from '@cosmos-kit/shell-extension'; +import { wallets as vectisExtension } from '@cosmos-kit/vectis-extension'; +import { wallets as xdefiExtension } from '@cosmos-kit/xdefi-extension'; +import { wallets as exodusExtension } from '@cosmos-kit/exodus-extension'; +import { wallets as tailwindWallet } from '@cosmos-kit/tailwind'; +import { wallets as galaxyStationExtension } from '@cosmos-kit/galaxy-station-extension'; +import { wallets as cdcwalletExtension } from '@cosmos-kit/cdcwallet-extension'; + +export type WalletName = + | 'keplr' + | 'cosmostation' + | 'ledger' + | 'okxwallet' + | 'station' + | 'leap' + | 'trust' + | 'xdefi' + | 'vectis' + | 'frontier' + | 'fin' + | 'omni' + | 'coin98' + | 'shell' + | 'compass' + | 'tailwind' + | 'owallet' + | 'exodus' + | 'galaxystation' + | 'cdcwallet'; + +export type WalletList< + E extends MainWalletBase | null, + M extends MainWalletBase | null +> = (E extends MainWalletBase + ? M extends MainWalletBase + ? [E, M] + : [E] + : M extends MainWalletBase + ? [M] + : []) & { + mobile: M | null; + extension: E | null; +}; + +export function createWalletList< + ExtensionWallet extends MainWalletBase | null, + MobileWallet extends MainWalletBase | null, + MetaMaskSnap extends MainWalletBase | null +>( + extension: ExtensionWallet | null, + mobile: MobileWallet | null, + snap?: MetaMaskSnap +) { + const list = [extension, mobile, snap].filter((wallet) => + Boolean(wallet) + ) as WalletList; + list.mobile = mobile; + list.extension = extension; + return list; +} + +export const keplr = createWalletList(keplrExtension[0], keplrMobile[0]); + +export const cosmostation = createWalletList( + cosmostationExtension[0], + cosmostationMobile[0] +); +export const ledger = ledgerUSB; +export const leap = createWalletList( + leapExtension[0], + leapMobile[0], + leapMetamaskCosmosSnap[0] +); +export const station = createWalletList(stationExtension[0], null); +export const okxwallet = createWalletList(okxwalletExtension[0], null); +export const trust = createWalletList(trustExtension[0], trustMobile[0]); +export const xdefi = createWalletList(xdefiExtension[0], null); +export const vectis = createWalletList(vectisExtension[0], null); +export const frontier = createWalletList(frontierExtension[0], null); +export const fin = createWalletList(finExtension[0], null); +export const omni = createWalletList(null, omniMobile[0]); +export const shell = createWalletList(shellExtension[0], null); +export const coin98 = createWalletList(coin98Extension[0], null); +export const compass = createWalletList(compassExtension[0], null); +export const exodus = createWalletList(exodusExtension[0], null); +export const tailwind = createWalletList(tailwindWallet[0], null); +export const owallet = createWalletList(owalletExtension[0], null); +export const galaxystation = createWalletList(galaxyStationExtension[0], null); +export const cdcwallet = createWalletList(cdcwalletExtension[0], null); + +export type SubWalletList = MainWalletBase[] & { + get mobile(): MainWalletBase[]; + get extension(): MainWalletBase[]; +}; + +export type AllWalletList = SubWalletList & { + keplr: typeof keplr; + cosmostation: typeof cosmostation; + ledger: typeof ledger; + okxwallet: typeof okxwallet; + station: typeof station; + leap: typeof leap; + trust: typeof trust; + xdefi: typeof xdefi; + vectis: typeof vectis; + frontier: typeof frontier; + fin: typeof fin; + omni: typeof omni; + coin98: typeof coin98; + compass: typeof compass; + exodus: typeof exodus; + tailwind: typeof tailwind; + owallet: typeof owallet; + galaxystation: typeof owallet; + cdcwallet: typeof cdcwallet; + for: (...names: WalletName[]) => SubWalletList; + not: (...names: WalletName[]) => SubWalletList; +}; + +export function defineGetters(wallets: MainWalletBase[]) { + return Object.defineProperties(wallets, { + mobile: { + get() { + return this.filter( + (wallet: MainWalletBase) => wallet.isModeWalletConnect + ); + }, + }, + extension: { + get() { + return this.filter((wallet: MainWalletBase) => wallet.isModeExtension); + }, + }, + }) as SubWalletList; +} + +export function createAllWalletList(ws: MainWalletBase[]) { + const wallets = ws.slice() as AllWalletList; + + wallets.keplr = keplr; + wallets.cosmostation = cosmostation; + wallets.ledger = ledger; + wallets.okxwallet = okxwallet; + wallets.station = station; + wallets.leap = leap; + wallets.trust = trust; + wallets.xdefi = xdefi; + wallets.vectis = vectis; + wallets.frontier = frontier; + wallets.fin = fin; + wallets.omni = omni; + wallets.coin98 = coin98; + wallets.compass = compass; + wallets.exodus = exodus; + wallets.tailwind = tailwind; + wallets.owallet = owallet; + wallets.galaxystation = galaxystation; + wallets.cdcwallet = cdcwallet; + + defineGetters(wallets); + + wallets.for = function (...ns: WalletName[]) { + const names = Array.from(new Set(ns)); + return defineGetters( + names + .map((name: WalletName) => + wallets.filter((wallet: MainWalletBase) => + wallet.walletInfo.name.startsWith(name) + ) + ) + .flat() + ); + }; + + wallets.not = function (...ns: WalletName[]) { + const names = Array.from(new Set(ns)); + return defineGetters( + wallets.filter( + (wallet: MainWalletBase) => + !names.some((name: WalletName) => + wallet.walletInfo.name.startsWith(name) + ) + ) + ); + }; + + return wallets; +} + +export const wallets = createAllWalletList([ + ...keplr, + ...leap, + ...ledger, + ...okxwallet, + ...station, + ...trust, + ...cosmostation, + ...xdefi, + ...vectis, + ...frontier, + ...fin, + ...omni, + ...coin98, + ...compass, + ...exodus, + ...tailwind, + ...owallet, + ...galaxystation, + ...cdcwallet, +]); diff --git a/packages/cosmos-kit/test/wallets.test.ts b/packages/cosmos-kit/test/wallets.test.ts new file mode 100644 index 000000000..d8baa4dd3 --- /dev/null +++ b/packages/cosmos-kit/test/wallets.test.ts @@ -0,0 +1,36 @@ +import { describe, expect, test } from '@jest/globals'; +import { wallets, keplr } from '../src/wallets'; + +describe('wallets', () => { + test('wallets has at least one wallet', () => { + expect(wallets.length).toBeGreaterThanOrEqual(1); + }); + + test('wallets.keplr', () => { + expect(wallets.keplr).toBeDefined(); + expect(wallets.keplr.length).toBe(2); + expect(wallets.keplr.length).toBe(keplr.length); + expect(wallets.keplr.mobile).toBe(keplr.mobile); + expect(wallets.keplr.extension).toBe(keplr.extension); + }); + + test('wallets.for()', () => { + const ws = wallets.for('keplr', 'cosmostation'); + expect(ws.length).toBe(4); + expect(ws.mobile.length).toBe(2); + expect(ws.extension.length).toBe(2); + }); + + test('wallets.not()', () => { + const ws = wallets.not('coin98', 'compass'); + expect(ws.length).toBe(wallets.length - 2); + }); + + test('wallets.mobile', () => { + expect(wallets.mobile.every((w) => w.isModeWalletConnect)).toBe(true); + }); + + test('wallets.extension', () => { + expect(wallets.extension.every((w) => w.isModeExtension)).toBe(true); + }); +}); diff --git a/packages/cosmos-kit/tsconfig.json b/packages/cosmos-kit/tsconfig.json new file mode 100644 index 000000000..d83288931 --- /dev/null +++ b/packages/cosmos-kit/tsconfig.json @@ -0,0 +1,9 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "baseUrl": ".", + "rootDir": "src" + }, + "include": ["src/**/*"], + "exclude": ["node_modules"] +} \ No newline at end of file diff --git a/packages/docs/.gitignore b/packages/docs/.gitignore new file mode 100644 index 000000000..a206e8411 --- /dev/null +++ b/packages/docs/.gitignore @@ -0,0 +1,3 @@ +.vercel +.next +/out \ No newline at end of file diff --git a/packages/docs/.markdownlint.json b/packages/docs/.markdownlint.json new file mode 100644 index 000000000..afa3a11a6 --- /dev/null +++ b/packages/docs/.markdownlint.json @@ -0,0 +1,3 @@ +{ + "MD051": false +} \ No newline at end of file diff --git a/packages/docs/CHANGELOG.md b/packages/docs/CHANGELOG.md new file mode 100644 index 000000000..dcf1f74a0 --- /dev/null +++ b/packages/docs/CHANGELOG.md @@ -0,0 +1,1055 @@ +# Change Log + +All notable changes to this project will be documented in this file. +See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. + +# [2.22.0](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.21.0...docs@2.22.0) (2024-08-01) + +**Note:** Version bump only for package docs + + + + + +# [2.21.0](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.20.0...docs@2.21.0) (2024-07-25) + +**Note:** Version bump only for package docs + + + + + +# [2.20.0](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.19.4...docs@2.20.0) (2024-07-11) + +**Note:** Version bump only for package docs + + + + + +## [2.19.4](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.19.3...docs@2.19.4) (2024-06-28) + +**Note:** Version bump only for package docs + + + + + +## [2.19.3](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.19.2...docs@2.19.3) (2024-06-28) + +**Note:** Version bump only for package docs + + + + + +## [2.19.2](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.19.1...docs@2.19.2) (2024-06-26) + +**Note:** Version bump only for package docs + + + + + +## [2.19.1](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.19.0...docs@2.19.1) (2024-06-26) + +**Note:** Version bump only for package docs + + + + + +# [2.19.0](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.18.0...docs@2.19.0) (2024-06-21) + +**Note:** Version bump only for package docs + + + + + +# [2.18.0](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.17.0...docs@2.18.0) (2024-06-18) + +**Note:** Version bump only for package docs + + + + + +# [2.17.0](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.16.0...docs@2.17.0) (2024-06-12) + +**Note:** Version bump only for package docs + + + + + +# [2.16.0](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.15.1...docs@2.16.0) (2024-06-05) + + +### Features + +* add cdc wallet integration doc ([43b3f68](https://github.com/cosmology-tech/cosmos-kit/commit/43b3f6878998f33ad5e14ea393541e43d269b445)) +* add cdc wallet to package deps ([f1ab3e0](https://github.com/cosmology-tech/cosmos-kit/commit/f1ab3e029bddcf59d20926709fcd784c6ba3e24b)) + + + + + +## [2.15.1](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.15.0...docs@2.15.1) (2024-05-29) + +**Note:** Version bump only for package docs + + + + + +# [2.15.0](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.14.0...docs@2.15.0) (2024-05-28) + +**Note:** Version bump only for package docs + + + + + +# [2.14.0](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.13.0...docs@2.14.0) (2024-05-23) + +**Note:** Version bump only for package docs + + + + + +# [2.13.0](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.12.0...docs@2.13.0) (2024-05-22) + +**Note:** Version bump only for package docs + + + + + +# [2.12.0](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.11.0...docs@2.12.0) (2024-05-08) + +**Note:** Version bump only for package docs + + + + + +# [2.11.0](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.10.1...docs@2.11.0) (2024-05-08) + +**Note:** Version bump only for package docs + + + + + +## [2.10.1](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.10.0...docs@2.10.1) (2024-04-27) + +### Bug Fixes + +- uninstalled wallet extensions never transition into NotExist state ([f52b5a7](https://github.com/cosmology-tech/cosmos-kit/commit/f52b5a7a64b1a6021b517baf06de6400e6719092)) + +# [2.10.0](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.9.11...docs@2.10.0) (2024-04-20) + +**Note:** Version bump only for package docs + +## [2.9.11](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.9.10...docs@2.9.11) (2024-04-02) + +**Note:** Version bump only for package docs + +## [2.9.10](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.9.9...docs@2.9.10) (2024-03-07) + +**Note:** Version bump only for package docs + +## [2.9.9](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.9.8...docs@2.9.9) (2024-02-29) + +**Note:** Version bump only for package docs + +## [2.9.8](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.9.7...docs@2.9.8) (2024-02-28) + +### Bug Fixes + +- **docs:** remove chakra ([02b0830](https://github.com/cosmology-tech/cosmos-kit/commit/02b0830889782e6c4ce1c1125d6635ed73f6fcea)) +- sync nextra theme with interchain ui theme ([160a0e9](https://github.com/cosmology-tech/cosmos-kit/commit/160a0e90f03de090e67db1403ee93c3ac60163e4)) + +## [2.9.7](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.9.6...docs@2.9.7) (2024-02-02) + +### Bug Fixes + +- replace docs dropdown with a new combobox and upgrade dependency version ([5c87bbf](https://github.com/cosmology-tech/cosmos-kit/commit/5c87bbf016e6770c0577891028e789c1d4fce390)) + +## [2.9.6](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.9.5...docs@2.9.6) (2024-01-31) + +**Note:** Version bump only for package docs + +## [2.9.5](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.9.4...docs@2.9.5) (2024-01-31) + +**Note:** Version bump only for package docs + +## [2.9.4](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.9.3...docs@2.9.4) (2024-01-25) + +**Note:** Version bump only for package docs + +## [2.9.3](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.9.2...docs@2.9.3) (2024-01-23) + +**Note:** Version bump only for package docs + +## [2.9.2](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.9.1...docs@2.9.2) (2024-01-22) + +### Bug Fixes + +- broken docs ([25b3bf5](https://github.com/cosmology-tech/cosmos-kit/commit/25b3bf55932c57f30c8687ad486a020eccebd646)) + +## [2.9.1](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.9.0...docs@2.9.1) (2024-01-22) + +**Note:** Version bump only for package docs + +# [2.9.0](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.8.12...docs@2.9.0) (2024-01-21) + +**Note:** Version bump only for package docs + +## [2.8.12](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.8.11...docs@2.8.12) (2024-01-21) + +**Note:** Version bump only for package docs + +## [2.8.11](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.8.10...docs@2.8.11) (2024-01-21) + +**Note:** Version bump only for package docs + +## [2.8.10](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.8.9...docs@2.8.10) (2024-01-21) + +**Note:** Version bump only for package docs + +## [2.8.9](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.8.8...docs@2.8.9) (2024-01-20) + +**Note:** Version bump only for package docs + +## [2.8.8](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.8.7...docs@2.8.8) (2024-01-20) + +**Note:** Version bump only for package docs + +## [2.8.7](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.8.6...docs@2.8.7) (2024-01-20) + +**Note:** Version bump only for package docs + +## [2.8.6](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.8.5...docs@2.8.6) (2024-01-20) + +**Note:** Version bump only for package docs + +## [2.8.5](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.8.4...docs@2.8.5) (2024-01-19) + +**Note:** Version bump only for package docs + +## [2.8.4](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.8.3...docs@2.8.4) (2024-01-19) + +**Note:** Version bump only for package docs + +## [2.8.3](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.8.2...docs@2.8.3) (2024-01-19) + +**Note:** Version bump only for package docs + +## [2.8.2](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.8.1...docs@2.8.2) (2024-01-15) + +**Note:** Version bump only for package docs + +## [2.8.1](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.8.0...docs@2.8.1) (2024-01-08) + +**Note:** Version bump only for package docs + +# [2.8.0](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.7.4...docs@2.8.0) (2024-01-07) + +**Note:** Version bump only for package docs + +## [2.7.4](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.7.3...docs@2.7.4) (2023-12-26) + +**Note:** Version bump only for package docs + +## [2.7.3](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.7.2...docs@2.7.3) (2023-12-25) + +**Note:** Version bump only for package docs + +## [2.7.2](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.7.1...docs@2.7.2) (2023-12-22) + +### Bug Fixes + +- client and wallet state wrongly changed ([6a26281](https://github.com/cosmology-tech/cosmos-kit/commit/6a262816879b10d2ffb38f03149374822e0ad635)) + +## [2.7.1](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.7.0...docs@2.7.1) (2023-12-18) + +### Bug Fixes + +- bump dependency ([ad6ac8f](https://github.com/cosmology-tech/cosmos-kit/commit/ad6ac8f2a42a8f018bd62f91b1124f6bf0590287)) + +# [2.7.0](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.6.18...docs@2.7.0) (2023-12-15) + +**Note:** Version bump only for package docs + +## [2.6.18](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.6.17...docs@2.6.18) (2023-12-14) + +**Note:** Version bump only for package docs + +## [2.6.17](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.6.16...docs@2.6.17) (2023-12-14) + +**Note:** Version bump only for package docs + +## [2.6.16](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.6.15...docs@2.6.16) (2023-12-07) + +**Note:** Version bump only for package docs + +## [2.6.15](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.6.14...docs@2.6.15) (2023-11-27) + +### Bug Fixes + +- **docs:** zIndex issue in chain dropdown ([5802cbc](https://github.com/cosmology-tech/cosmos-kit/commit/5802cbcb6cf2b2dd815995c2b0ee9567d93ec0c7)) + +## [2.6.14](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.6.13...docs@2.6.14) (2023-11-24) + +### Bug Fixes + +- **react:** move interchain ui to peerDependency to avoid css conflicts ([581c976](https://github.com/cosmology-tech/cosmos-kit/commit/581c9760f83765945d39385a5ef9e579df29d2db)) + +## [2.6.13](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.6.12...docs@2.6.13) (2023-11-23) + +**Note:** Version bump only for package docs + +## [2.6.12](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.6.11...docs@2.6.12) (2023-11-15) + +### Bug Fixes + +- add docs ([2c6ed55](https://github.com/cosmology-tech/cosmos-kit/commit/2c6ed552d30edabae4a9a6a5c86973d008dd62b8)) +- **react:** allow pass through custom classes to base modal ([cde4b7e](https://github.com/cosmology-tech/cosmos-kit/commit/cde4b7e2fcfbfd8e106eba4153e34d02a5c85887)) + +## [2.6.11](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.6.10...docs@2.6.11) (2023-11-08) + +**Note:** Version bump only for package docs + +## [2.6.10](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.6.9...docs@2.6.10) (2023-11-06) + +**Note:** Version bump only for package docs + +## [2.6.9](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.6.8...docs@2.6.9) (2023-11-06) + +**Note:** Version bump only for package docs + +## [2.6.8](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.6.7...docs@2.6.8) (2023-11-06) + +**Note:** Version bump only for package docs + +## [2.6.7](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.6.6...docs@2.6.7) (2023-11-02) + +### Bug Fixes + +- **react:** upgrade deps and fix small type issues ([2bedc28](https://github.com/cosmology-tech/cosmos-kit/commit/2bedc28023fc5cf73b90c21c9eed07e6c386e4d5)) +- stuff ([d8d8f00](https://github.com/cosmology-tech/cosmos-kit/commit/d8d8f003739c0402962e2250ff18fc21caad4ab6)) + +## [2.6.6](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.6.5...docs@2.6.6) (2023-10-31) + +**Note:** Version bump only for package docs + +## [2.6.5](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.6.4...docs@2.6.5) (2023-10-31) + +**Note:** Version bump only for package docs + +## [2.6.4](https://github.com/NoahSaso/cosmos-kit/compare/docs@2.6.3...docs@2.6.4) (2023-10-19) + +**Note:** Version bump only for package docs + +## [2.6.3](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.6.2...docs@2.6.3) (2023-10-19) + +**Note:** Version bump only for package docs + +## [2.6.2](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.6.1...docs@2.6.2) (2023-10-18) + +**Note:** Version bump only for package docs + +## [2.6.1](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.6.0...docs@2.6.1) (2023-10-17) + +**Note:** Version bump only for package docs + +# [2.6.0](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.5.13...docs@2.6.0) (2023-10-07) + +**Note:** Version bump only for package docs + +## [2.5.13](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.5.12...docs@2.5.13) (2023-10-07) + +**Note:** Version bump only for package docs + +## [2.5.12](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.5.11...docs@2.5.12) (2023-10-05) + +**Note:** Version bump only for package docs + +## [2.5.11](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.5.10...docs@2.5.11) (2023-10-04) + +**Note:** Version bump only for package docs + +## [2.5.10](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.5.9...docs@2.5.10) (2023-09-26) + +**Note:** Version bump only for package docs + +## [2.5.9](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.5.8...docs@2.5.9) (2023-09-22) + +**Note:** Version bump only for package docs + +## [2.5.8](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.5.7...docs@2.5.8) (2023-09-18) + +**Note:** Version bump only for package docs + +## [2.5.7](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.5.6...docs@2.5.7) (2023-09-15) + +**Note:** Version bump only for package docs + +## [2.5.6](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.5.5...docs@2.5.6) (2023-09-13) + +**Note:** Version bump only for package docs + +## [2.5.5](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.5.4...docs@2.5.5) (2023-09-13) + +**Note:** Version bump only for package docs + +## [2.5.4](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.5.3...docs@2.5.4) (2023-09-13) + +**Note:** Version bump only for package docs + +## [2.5.3](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.5.2...docs@2.5.3) (2023-09-12) + +**Note:** Version bump only for package docs + +## [2.5.2](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.5.1...docs@2.5.2) (2023-09-07) + +**Note:** Version bump only for package docs + +## [2.5.1](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.5.0...docs@2.5.1) (2023-09-07) + +**Note:** Version bump only for package docs + +# [2.5.0](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.4.6...docs@2.5.0) (2023-09-05) + +**Note:** Version bump only for package docs + +## [2.4.6](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.4.5...docs@2.4.6) (2023-09-02) + +### Bug Fixes + +- useChains bug when one chain has connected ([694c02c](https://github.com/cosmology-tech/cosmos-kit/commit/694c02c46c67fb70ff959134d81de6c0ee879f10)) + +## [2.4.5](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.4.4...docs@2.4.5) (2023-08-28) + +**Note:** Version bump only for package docs + +## [2.4.4](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.4.3...docs@2.4.4) (2023-08-24) + +**Note:** Version bump only for package docs + +## [2.4.3](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.4.2...docs@2.4.3) (2023-08-24) + +**Note:** Version bump only for package docs + +## [2.4.2](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.4.1...docs@2.4.2) (2023-08-23) + +**Note:** Version bump only for package docs + +## [2.4.1](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.4.0...docs@2.4.1) (2023-08-21) + +**Note:** Version bump only for package docs + +# [2.4.0](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.3.1...docs@2.4.0) (2023-08-17) + +**Note:** Version bump only for package docs + +## [2.3.1](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.3.0...docs@2.3.1) (2023-08-17) + +### Bug Fixes + +- rename prop ([85f97d6](https://github.com/cosmology-tech/cosmos-kit/commit/85f97d687f58ad9c4769fcc35f7767235c0e8955)) +- s ([f27484b](https://github.com/cosmology-tech/cosmos-kit/commit/f27484b9e464c4bec76ab5fbd5370ba06072b0d8)) + +# [2.3.0](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.2.7...docs@2.3.0) (2023-08-17) + +**Note:** Version bump only for package docs + +## [2.2.7](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.2.6...docs@2.2.7) (2023-08-17) + +**Note:** Version bump only for package docs + +## [2.2.6](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.2.5...docs@2.2.6) (2023-08-17) + +**Note:** Version bump only for package docs + +## [2.2.5](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.2.4...docs@2.2.5) (2023-08-17) + +**Note:** Version bump only for package docs + +## [2.2.4](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.2.3...docs@2.2.4) (2023-08-17) + +**Note:** Version bump only for package docs + +## [2.2.3](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.2.2...docs@2.2.3) (2023-08-17) + +**Note:** Version bump only for package docs + +## [2.2.2](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.2.1...docs@2.2.2) (2023-08-09) + +**Note:** Version bump only for package docs + +## [2.2.1](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.2.0...docs@2.2.1) (2023-08-07) + +**Note:** Version bump only for package docs + +# [2.2.0](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.1.6...docs@2.2.0) (2023-08-03) + +### Features + +- add platformEnabledWallets ([a48ffab](https://github.com/cosmology-tech/cosmos-kit/commit/a48ffabd6108363b24b5bdecb6a156a669758e4a)) + +## [2.1.6](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.1.5...docs@2.1.6) (2023-08-03) + +**Note:** Version bump only for package docs + +## [2.1.5](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.1.4...docs@2.1.5) (2023-08-01) + +**Note:** Version bump only for package docs + +## [2.1.4](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.1.3...docs@2.1.4) (2023-07-31) + +**Note:** Version bump only for package docs + +## [2.1.3](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.1.2...docs@2.1.3) (2023-07-31) + +**Note:** Version bump only for package docs + +## [2.1.2](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.1.1...docs@2.1.2) (2023-07-30) + +**Note:** Version bump only for package docs + +## [2.1.1](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.1.0...docs@2.1.1) (2023-07-28) + +**Note:** Version bump only for package docs + +# [2.1.0](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.0.5...docs@2.1.0) (2023-07-28) + +**Note:** Version bump only for package docs + +## [2.0.5](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.0.4...docs@2.0.5) (2023-07-28) + +**Note:** Version bump only for package docs + +## [2.0.4](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.0.3...docs@2.0.4) (2023-07-27) + +**Note:** Version bump only for package docs + +## [2.0.3](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.0.2...docs@2.0.3) (2023-07-24) + +**Note:** Version bump only for package docs + +## [2.0.2](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.0.1...docs@2.0.2) (2023-07-21) + +**Note:** Version bump only for package docs + +## [2.0.1](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.0.1-beta.9...docs@2.0.1) (2023-07-21) + +**Note:** Version bump only for package docs + +## [2.0.1-beta.9](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.0.1-beta.8...docs@2.0.1-beta.9) (2023-07-21) + +**Note:** Version bump only for package docs + +## [2.0.1-beta.8](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.0.1-beta.7...docs@2.0.1-beta.8) (2023-07-19) + +**Note:** Version bump only for package docs + +## [2.0.1-beta.7](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.0.1-beta.6...docs@2.0.1-beta.7) (2023-07-18) + +**Note:** Version bump only for package docs + +## [2.0.1-beta.6](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.0.1-beta.5...docs@2.0.1-beta.6) (2023-07-18) + +**Note:** Version bump only for package docs + +## [2.0.1-beta.5](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.0.1-beta.4...docs@2.0.1-beta.5) (2023-07-18) + +**Note:** Version bump only for package docs + +## [2.0.1-beta.4](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.0.1-beta.3...docs@2.0.1-beta.4) (2023-07-13) + +**Note:** Version bump only for package docs + +## [2.0.1-beta.3](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.0.1-beta.2...docs@2.0.1-beta.3) (2023-07-13) + +**Note:** Version bump only for package docs + +## [2.0.1-beta.2](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.0.1-beta.1...docs@2.0.1-beta.2) (2023-07-12) + +**Note:** Version bump only for package docs + +## [2.0.1-beta.1](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.0.1-beta.0...docs@2.0.1-beta.1) (2023-07-12) + +### Bug Fixes + +- react-icons bundle size ([549e7ed](https://github.com/cosmology-tech/cosmos-kit/commit/549e7ed135c12dc85d7aea556f645ba2b24c5ce8)) + +## [2.0.1-beta.0](https://github.com/cosmology-tech/cosmos-kit/compare/docs@2.0.0...docs@2.0.1-beta.0) (2023-07-11) + +### Bug Fixes + +- feedback from june ([c8cec87](https://github.com/cosmology-tech/cosmos-kit/commit/c8cec878b05196e66b7b539bb9290bbbbc52e328)) +- use interchain-ui package ([a63ff36](https://github.com/cosmology-tech/cosmos-kit/commit/a63ff3601b6143637e3f670d957f33561cc4968e)) + +# [2.0.0](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.11.1...docs@2.0.0) (2023-07-05) + +### Bug Fixes + +- bundle ([a3dc1c2](https://github.com/cosmology-tech/cosmos-kit/commit/a3dc1c21de2cf6dba0ea75fad4265d8a080b4a50)) +- docs and merge conflicts ([090bdf1](https://github.com/cosmology-tech/cosmos-kit/commit/090bdf1d98249d50bbded69af7d4689bce674af3)) +- mismatch version ([fcdf7ab](https://github.com/cosmology-tech/cosmos-kit/commit/fcdf7abdeee579ff6bff72af5fa88f175f75f470)) +- use tsup and prettify the index example ([cb4196a](https://github.com/cosmology-tech/cosmos-kit/commit/cb4196a1e34f708c355897274afbb80c1f46d1de)) + +## [1.11.1](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.11.0...docs@1.11.1) (2023-06-30) + +**Note:** Version bump only for package docs + +# [1.11.0](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.10.0...docs@1.11.0) (2023-06-27) + +### Features + +- connect to Ledger via Web USB / HID ([70c222d](https://github.com/cosmology-tech/cosmos-kit/commit/70c222d150e06955d765f8f521b0f74d79a66081)) + +# [1.10.0](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.9.42...docs@1.10.0) (2023-06-13) + +### Features + +- add signArbitrary to ChainWalletContext ([6f9a38a](https://github.com/cosmology-tech/cosmos-kit/commit/6f9a38a77d5d02d516f6f2482130a203ea2eee99)) +- embed logos in html ([8483c0b](https://github.com/cosmology-tech/cosmos-kit/commit/8483c0bb3f3b3a5dfb22e5644a3e695deadc92dd)) + +## [1.9.42](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.9.41...docs@1.9.42) (2023-06-09) + +**Note:** Version bump only for package docs + +## [1.9.41](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.9.40...docs@1.9.41) (2023-06-09) + +**Note:** Version bump only for package docs + +## [1.9.40](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.9.39...docs@1.9.40) (2023-06-08) + +**Note:** Version bump only for package docs + +## [1.9.39](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.9.38...docs@1.9.39) (2023-06-08) + +**Note:** Version bump only for package docs + +## [1.9.38](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.9.37...docs@1.9.38) (2023-06-05) + +**Note:** Version bump only for package docs + +## [1.9.37](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.9.36...docs@1.9.37) (2023-06-02) + +**Note:** Version bump only for package docs + +## [1.9.36](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.9.35...docs@1.9.36) (2023-06-01) + +**Note:** Version bump only for package docs + +## [1.9.35](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.9.34...docs@1.9.35) (2023-05-30) + +**Note:** Version bump only for package docs + +## [1.9.34](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.9.33...docs@1.9.34) (2023-05-23) + +**Note:** Version bump only for package docs + +## [1.9.33](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.9.32...docs@1.9.33) (2023-05-18) + +**Note:** Version bump only for package docs + +## [1.9.32](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.9.31...docs@1.9.32) (2023-05-17) + +**Note:** Version bump only for package docs + +## [1.9.31](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.9.30...docs@1.9.31) (2023-05-16) + +**Note:** Version bump only for package docs + +## [1.9.30](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.9.29...docs@1.9.30) (2023-05-15) + +**Note:** Version bump only for package docs + +## [1.9.29](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.9.28...docs@1.9.29) (2023-05-04) + +**Note:** Version bump only for package docs + +## [1.9.28](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.9.27...docs@1.9.28) (2023-05-04) + +**Note:** Version bump only for package docs + +## [1.9.27](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.9.26...docs@1.9.27) (2023-04-28) + +**Note:** Version bump only for package docs + +## [1.9.26](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.9.25...docs@1.9.26) (2023-04-25) + +**Note:** Version bump only for package docs + +## [1.9.25](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.9.24...docs@1.9.25) (2023-04-24) + +**Note:** Version bump only for package docs + +## [1.9.24](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.9.23...docs@1.9.24) (2023-04-24) + +**Note:** Version bump only for package docs + +## [1.9.23](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.9.22...docs@1.9.23) (2023-04-23) + +**Note:** Version bump only for package docs + +## [1.9.22](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.9.21...docs@1.9.22) (2023-04-20) + +**Note:** Version bump only for package docs + +## [1.9.21](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.9.20...docs@1.9.21) (2023-04-20) + +**Note:** Version bump only for package docs + +## [1.9.20](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.9.19...docs@1.9.20) (2023-04-14) + +**Note:** Version bump only for package docs + +## [1.9.19](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.9.18...docs@1.9.19) (2023-04-13) + +**Note:** Version bump only for package docs + +## [1.9.18](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.9.17...docs@1.9.18) (2023-04-07) + +**Note:** Version bump only for package docs + +## [1.9.17](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.9.16...docs@1.9.17) (2023-03-31) + +**Note:** Version bump only for package docs + +## [1.9.16](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.9.15...docs@1.9.16) (2023-03-27) + +**Note:** Version bump only for package docs + +## [1.9.15](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.9.14...docs@1.9.15) (2023-03-17) + +**Note:** Version bump only for package docs + +## [1.9.14](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.9.13...docs@1.9.14) (2023-03-15) + +**Note:** Version bump only for package docs + +## [1.9.13](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.9.12...docs@1.9.13) (2023-03-15) + +**Note:** Version bump only for package docs + +## [1.9.12](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.9.11...docs@1.9.12) (2023-03-15) + +**Note:** Version bump only for package docs + +## [1.9.11](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.9.10...docs@1.9.11) (2023-03-14) + +**Note:** Version bump only for package docs + +## [1.9.10](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.9.9...docs@1.9.10) (2023-03-14) + +**Note:** Version bump only for package docs + +## [1.9.9](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.9.8...docs@1.9.9) (2023-03-13) + +**Note:** Version bump only for package docs + +## [1.9.8](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.9.7...docs@1.9.8) (2023-03-13) + +**Note:** Version bump only for package docs + +## [1.9.7](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.9.6...docs@1.9.7) (2023-03-09) + +**Note:** Version bump only for package docs + +## [1.9.6](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.9.5...docs@1.9.6) (2023-03-08) + +**Note:** Version bump only for package docs + +## [1.9.5](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.9.4...docs@1.9.5) (2023-03-07) + +**Note:** Version bump only for package docs + +## [1.9.4](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.9.3...docs@1.9.4) (2023-03-03) + +**Note:** Version bump only for package docs + +## [1.9.3](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.9.2...docs@1.9.3) (2023-02-28) + +**Note:** Version bump only for package docs + +## [1.9.2](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.9.1...docs@1.9.2) (2023-02-28) + +**Note:** Version bump only for package docs + +## [1.9.1](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.9.0...docs@1.9.1) (2023-02-27) + +**Note:** Version bump only for package docs + +# [1.9.0](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.8.35...docs@1.9.0) (2023-02-27) + +### Features + +- leap account change and debug ([9006aac](https://github.com/cosmology-tech/cosmos-kit/commit/9006aac6c453262e9ac890c34616622b50dc5766)) + +## [1.8.35](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.8.34...docs@1.8.35) (2023-02-24) + +**Note:** Version bump only for package docs + +## [1.8.34](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.8.33...docs@1.8.34) (2023-02-24) + +**Note:** Version bump only for package docs + +## [1.8.33](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.8.32...docs@1.8.33) (2023-02-24) + +**Note:** Version bump only for package docs + +## [1.8.32](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.8.31...docs@1.8.32) (2023-02-23) + +**Note:** Version bump only for package docs + +## [1.8.31](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.8.30...docs@1.8.31) (2023-02-23) + +**Note:** Version bump only for package docs + +## [1.8.30](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.8.29...docs@1.8.30) (2023-02-23) + +**Note:** Version bump only for package docs + +## [1.8.29](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.8.28...docs@1.8.29) (2023-02-21) + +**Note:** Version bump only for package docs + +## [1.8.28](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.8.27...docs@1.8.28) (2023-02-21) + +**Note:** Version bump only for package docs + +## [1.8.27](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.8.26...docs@1.8.27) (2023-02-20) + +**Note:** Version bump only for package docs + +## [1.8.26](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.8.25...docs@1.8.26) (2023-02-20) + +**Note:** Version bump only for package docs + +## [1.8.25](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.8.24...docs@1.8.25) (2023-02-19) + +**Note:** Version bump only for package docs + +## [1.8.24](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.8.23...docs@1.8.24) (2023-02-17) + +**Note:** Version bump only for package docs + +## [1.8.23](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.8.22...docs@1.8.23) (2023-02-17) + +**Note:** Version bump only for package docs + +## [1.8.22](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.8.21...docs@1.8.22) (2023-02-16) + +**Note:** Version bump only for package docs + +## [1.8.21](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.8.20...docs@1.8.21) (2023-01-16) + +**Note:** Version bump only for package docs + +## [1.8.20](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.8.19...docs@1.8.20) (2023-01-14) + +**Note:** Version bump only for package docs + +## [1.8.19](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.8.18...docs@1.8.19) (2023-01-13) + +**Note:** Version bump only for package docs + +## [1.8.18](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.8.17...docs@1.8.18) (2023-01-12) + +**Note:** Version bump only for package docs + +## [1.8.17](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.8.16...docs@1.8.17) (2023-01-11) + +**Note:** Version bump only for package docs + +## [1.8.16](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.8.15...docs@1.8.16) (2023-01-11) + +**Note:** Version bump only for package docs + +## [1.8.15](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.8.14...docs@1.8.15) (2023-01-06) + +**Note:** Version bump only for package docs + +## [1.8.14](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.8.13...docs@1.8.14) (2022-12-16) + +**Note:** Version bump only for package docs + +## [1.8.13](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.8.12...docs@1.8.13) (2022-12-15) + +**Note:** Version bump only for package docs + +## [1.8.12](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.8.11...docs@1.8.12) (2022-12-15) + +**Note:** Version bump only for package docs + +## [1.8.11](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.8.10...docs@1.8.11) (2022-12-14) + +**Note:** Version bump only for package docs + +## [1.8.10](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.8.9...docs@1.8.10) (2022-12-11) + +**Note:** Version bump only for package docs + +## [1.8.9](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.8.8...docs@1.8.9) (2022-12-11) + +**Note:** Version bump only for package docs + +## [1.8.8](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.8.7...docs@1.8.8) (2022-12-08) + +**Note:** Version bump only for package docs + +## [1.8.7](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.8.6...docs@1.8.7) (2022-12-05) + +**Note:** Version bump only for package docs + +## [1.8.6](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.8.5...docs@1.8.6) (2022-12-05) + +**Note:** Version bump only for package docs + +## [1.8.5](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.8.4...docs@1.8.5) (2022-12-05) + +**Note:** Version bump only for package docs + +## [1.8.4](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.8.3...docs@1.8.4) (2022-12-05) + +**Note:** Version bump only for package docs + +## [1.8.3](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.8.2...docs@1.8.3) (2022-12-05) + +**Note:** Version bump only for package docs + +## [1.8.2](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.8.1...docs@1.8.2) (2022-12-05) + +**Note:** Version bump only for package docs + +## [1.8.1](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.8.0...docs@1.8.1) (2022-12-02) + +**Note:** Version bump only for package docs + +# [1.8.0](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.7.0...docs@1.8.0) (2022-12-02) + +**Note:** Version bump only for package docs + +# [1.7.0](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.6.0...docs@1.7.0) (2022-12-01) + +**Note:** Version bump only for package docs + +# [1.6.0](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.5.2...docs@1.6.0) (2022-12-01) + +**Note:** Version bump only for package docs + +## [1.5.2](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.5.1...docs@1.5.2) (2022-11-30) + +**Note:** Version bump only for package docs + +## [1.5.1](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.5.0...docs@1.5.1) (2022-11-22) + +**Note:** Version bump only for package docs + +# [1.5.0](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.4.14...docs@1.5.0) (2022-11-21) + +**Note:** Version bump only for package docs + +## [1.4.14](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.4.13...docs@1.4.14) (2022-11-18) + +**Note:** Version bump only for package docs + +## [1.4.13](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.4.12...docs@1.4.13) (2022-11-17) + +**Note:** Version bump only for package docs + +## [1.4.12](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.4.11...docs@1.4.12) (2022-11-17) + +**Note:** Version bump only for package docs + +## [1.4.11](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.4.10...docs@1.4.11) (2022-11-17) + +**Note:** Version bump only for package docs + +## [1.4.10](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.4.9...docs@1.4.10) (2022-11-17) + +**Note:** Version bump only for package docs + +## [1.4.9](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.4.8...docs@1.4.9) (2022-11-17) + +**Note:** Version bump only for package docs + +## [1.4.8](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.4.7...docs@1.4.8) (2022-11-16) + +**Note:** Version bump only for package docs + +## [1.4.7](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.4.6...docs@1.4.7) (2022-11-15) + +**Note:** Version bump only for package docs + +## [1.4.6](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.4.5...docs@1.4.6) (2022-11-15) + +**Note:** Version bump only for package docs + +## [1.4.5](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.4.4...docs@1.4.5) (2022-11-15) + +**Note:** Version bump only for package docs + +## [1.4.4](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.4.3...docs@1.4.4) (2022-11-15) + +**Note:** Version bump only for package docs + +## [1.4.3](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.4.2...docs@1.4.3) (2022-11-15) + +**Note:** Version bump only for package docs + +## [1.4.2](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.4.1...docs@1.4.2) (2022-11-15) + +**Note:** Version bump only for package docs + +## [1.4.1](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.4.0...docs@1.4.1) (2022-11-15) + +**Note:** Version bump only for package docs + +# [1.4.0](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.3.1...docs@1.4.0) (2022-11-15) + +**Note:** Version bump only for package docs + +## [1.3.1](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.3.0...docs@1.3.1) (2022-11-15) + +**Note:** Version bump only for package docs + +# [1.3.0](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.2.1...docs@1.3.0) (2022-11-14) + +**Note:** Version bump only for package docs + +## [1.2.1](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.2.0...docs@1.2.1) (2022-11-14) + +**Note:** Version bump only for package docs + +# [1.2.0](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.1.2...docs@1.2.0) (2022-11-10) + +**Note:** Version bump only for package docs + +## [1.1.2](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.1.1...docs@1.1.2) (2022-11-10) + +**Note:** Version bump only for package docs + +## [1.1.1](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.1.0...docs@1.1.1) (2022-11-08) + +**Note:** Version bump only for package docs + +# [1.1.0](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.0.2...docs@1.1.0) (2022-11-05) + +**Note:** Version bump only for package docs + +## [1.0.2](https://github.com/cosmology-tech/cosmos-kit/compare/docs@1.0.1...docs@1.0.2) (2022-11-04) + +**Note:** Version bump only for package docs + +## 1.0.1 (2022-11-04) + +**Note:** Version bump only for package docs diff --git a/packages/docs/components/card.tsx b/packages/docs/components/card.tsx new file mode 100644 index 000000000..243c8f1fb --- /dev/null +++ b/packages/docs/components/card.tsx @@ -0,0 +1,111 @@ +import { useChain } from "@cosmos-kit/react"; +import { MouseEventHandler } from "react"; +import { Box, useColorModeValue } from "@interchain-ui/react"; +import { + Astronaut, + Error, + Connected, + ConnectedShowAddress, + ConnectedUserInfo, + Connecting, + ConnectStatusWarn, + CopyAddressBtn, + Disconnected, + NotExist, + Rejected, + RejectedWarn, + WalletConnectComponent, +} from "."; + +export const WalletCardSection = ({ chainName }: { chainName: string }) => { + const { connect, openView, status, username, address, message, wallet } = + useChain(chainName); + + // Events + const onClickConnect: MouseEventHandler = async (e) => { + e.preventDefault(); + await connect(); + }; + + const onClickOpenView: MouseEventHandler = (e) => { + e.preventDefault(); + openView(); + }; + + // Components + const connectWalletButton = ( + + } + connecting={} + connected={ + + } + rejected={} + error={} + notExist={ + + } + /> + ); + + const connectWalletWarn = ( + + } + error={ + + } + /> + ); + + const userInfo = username && ( + } /> + ); + + const addressBtn = ( + } + /> + ); + + return ( + <> + + {userInfo} + {addressBtn} + + + {connectWalletButton} + + + + {connectWalletWarn && {connectWalletWarn}} + + ); +}; diff --git a/packages/docs/components/hooks.tsx b/packages/docs/components/hooks.tsx new file mode 100644 index 000000000..169060232 --- /dev/null +++ b/packages/docs/components/hooks.tsx @@ -0,0 +1,40 @@ +import * as React from "react"; + +interface UseNextraThemeOptions { + onThemeChange?: (theme: "light" | "dark") => void; +} + +export const useNextraTheme = (opts: UseNextraThemeOptions) => { + let [theme, setTheme] = React.useState<"light" | "dark">("light"); + + React.useEffect(() => { + const handleThemeChange = () => { + const htmlTag = document.getElementsByTagName("html")[0]; + + if (htmlTag.classList.contains("light")) { + opts.onThemeChange?.("light"); + setTheme("light"); + } else if (htmlTag.classList.contains("dark")) { + opts.onThemeChange?.("dark"); + setTheme("dark"); + } + }; + + // Initial theme check + handleThemeChange(); + + // Listen for class name changes + const observer = new MutationObserver(handleThemeChange); + + observer.observe(document.documentElement, { + attributes: true, + attributeFilter: ["class"], + }); + + return () => { + observer.disconnect(); // Clean up the observer + }; + }, []); + + return [theme, setTheme]; +}; diff --git a/packages/docs/components/index.tsx b/packages/docs/components/index.tsx new file mode 100644 index 000000000..caa0124b1 --- /dev/null +++ b/packages/docs/components/index.tsx @@ -0,0 +1,4 @@ +export * from "./types"; +export * from "./react"; +export * from "./wallet"; +export * from "./card"; diff --git a/packages/docs/components/react/address-card.tsx b/packages/docs/components/react/address-card.tsx new file mode 100644 index 000000000..ba3f5c1fd --- /dev/null +++ b/packages/docs/components/react/address-card.tsx @@ -0,0 +1,117 @@ +import Image from "next/image"; +import { Box, ClipboardCopyText, Stack } from "@interchain-ui/react"; +import { WalletStatus } from "cosmos-kit"; +import React, { ReactNode, useEffect, useState } from "react"; + +const SIZES = { + lg: { + height: 32, + walletImageSize: 144, + }, + md: { + height: 24, + walletImageSize: 96, + }, + sm: { + height: 20, + walletImageSize: 64, + }, +}; + +type CopyAddressType = { + address?: string; + walletIcon?: string; + isLoading?: boolean; + maxDisplayLength?: number; + size?: keyof typeof SIZES; +}; + +export const ConnectedShowAddress = ({ + address = "", + walletIcon, + isLoading, + size = "md", + maxDisplayLength, +}: CopyAddressType) => { + const [displayAddress, setDisplayAddress] = useState(""); + const defaultMaxLength = { + lg: 14, + md: 16, + sm: 18, + }; + + useEffect(() => { + if (!address) setDisplayAddress("address not identified yet"); + if (address && maxDisplayLength) + setDisplayAddress(stringTruncateFromCenter(address, maxDisplayLength)); + if (address && !maxDisplayLength) + setDisplayAddress( + stringTruncateFromCenter( + address, + defaultMaxLength[size as keyof typeof defaultMaxLength] + ) + ); + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [address]); + + const walletImgDimension = `${ + SIZES[size as keyof typeof SIZES].walletImageSize + }px`; + + const chainIcon = + address && walletIcon ? ( + + {displayAddress} + + ) : null; + + return ( + + {chainIcon} + + + ); +}; + +export const CopyAddressBtn = ({ + walletStatus, + connected, +}: { + walletStatus: WalletStatus; + connected: ReactNode; +}) => { + switch (walletStatus) { + case WalletStatus.Connected: + return <>{connected}; + default: + return <>; + } +}; + +function stringTruncateFromCenter(str: string, maxLength: number) { + const midChar = "…"; // character to insert into the center of the result + + if (str.length <= maxLength) return str; + + // length of beginning part + const left = Math.ceil(maxLength / 2); + + // start index of ending part + const right = str.length - Math.floor(maxLength / 2) + 1; + + return str.substring(0, left) + midChar + str.substring(right); +} diff --git a/packages/docs/components/react/astronaut.tsx b/packages/docs/components/react/astronaut.tsx new file mode 100644 index 000000000..0704133ad --- /dev/null +++ b/packages/docs/components/react/astronaut.tsx @@ -0,0 +1,156 @@ +export const Astronaut = (props: any) => ( + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +); diff --git a/packages/docs/components/react/chain-card.tsx b/packages/docs/components/react/chain-card.tsx new file mode 100644 index 000000000..b62d730f4 --- /dev/null +++ b/packages/docs/components/react/chain-card.tsx @@ -0,0 +1,49 @@ +import Image from "next/image"; +import { Text, Box, useTheme } from "@interchain-ui/react"; + +interface IChainCard { + prettyName: string; + icon?: string; +} + +export const ChainCard = (props: IChainCard) => { + const { theme } = useTheme(); + return ( + + + chain icon + + + + {props.prettyName} + + + ); +}; diff --git a/packages/docs/components/react/choose-chain.tsx b/packages/docs/components/react/choose-chain.tsx new file mode 100644 index 000000000..27b783eec --- /dev/null +++ b/packages/docs/components/react/choose-chain.tsx @@ -0,0 +1,175 @@ +import * as React from "react"; +import { + Box, + Combobox, + Text, + Stack, + Avatar, + Skeleton, + ThemeProvider, + useTheme, +} from "@interchain-ui/react"; +import { search } from "fast-fuzzy"; + +type Option = { + label: string; + value: string; +}; + +export interface ChainInfo { + chainName: string; + chainRoute?: string; + label: string; + value: string; + icon?: string; + disabled?: boolean; +} + +export interface ChooseChainProps { + chainName?: string; + chainInfos: ChainInfo[]; + onChange: (selectedItem: Option | null) => void; +} + +const ChainOption = (props: Option & { iconUrl: string }) => { + return ( + + name[0]} + size="sm" + src={props.iconUrl} + fallbackMode="bg" + /> + + + {props.label} + + + ); +}; + +export const ChooseChain = (props: ChooseChainProps) => { + const { chainName, chainInfos, onChange } = props; + const [selectedKey, setSelectedKey] = React.useState(); + const { themeClass } = useTheme(); + let [filterValue, setFilterValue] = React.useState(""); + + React.useEffect(() => { + // Init selected key to provided chainName + if (chainName && chainInfos.length > 0) { + const defaultChain = chainInfos.filter( + (options) => options.chainName === chainName + )[0]; + + setSelectedKey(defaultChain.value); + return setFilterValue(defaultChain.label); + } + + if (!chainName) setSelectedKey(undefined); + }, [chainInfos, chainName]); + + let filteredItems = React.useMemo(() => { + const initialItems = chainInfos + .map((chainInfo) => ({ + iconUrl: chainInfo.icon, + label: chainInfo.label, + value: chainInfo.value, + })) + .filter((chainInfo) => chainInfo.label && chainInfo.value); + + if (!filterValue) return initialItems; + + const filtered = search(filterValue, initialItems, { + keySelector(s) { + return [s.label, s.value]; + }, + }); + + return filtered; + }, [chainInfos, filterValue]); + + const avatarUrl = + filteredItems.find((i) => i.value === selectedKey)?.iconUrl ?? undefined; + + return ( + + + { + setFilterValue(value); + + if (!value) { + return setSelectedKey(undefined); + } + }} + selectedKey={selectedKey as string} + onSelectionChange={(item) => { + if (item) { + setSelectedKey(item); + + const found = + chainInfos.find((options) => options.value === item) ?? null; + + if (found) { + onChange?.(found); + } + } + }} + inputAddonStart={ + selectedKey && avatarUrl ? ( + name[0]} + size="sm" + src={avatarUrl} + fallbackMode="bg" + attributes={{ + paddingX: "$4", + }} + /> + ) : ( + + + + ) + } + styleProps={{ + width: { + mobile: "100%", + mdMobile: "350px", + }, + }} + > + {filteredItems.map((option) => ( + + + + ))} + + + + ); +}; diff --git a/packages/docs/components/react/handleChangeColor.tsx b/packages/docs/components/react/handleChangeColor.tsx new file mode 100644 index 000000000..c1f46bc5d --- /dev/null +++ b/packages/docs/components/react/handleChangeColor.tsx @@ -0,0 +1,9 @@ +// use for let color mode value fit Rules of Hooks +export function handleChangeColorModeValue( + colorMode: string, + light: any, + dark: any +) { + if (colorMode === "light") return light; + if (colorMode === "dark") return dark; +} diff --git a/packages/docs/components/react/index.ts b/packages/docs/components/react/index.ts new file mode 100644 index 000000000..b27b4c978 --- /dev/null +++ b/packages/docs/components/react/index.ts @@ -0,0 +1,6 @@ +export * from "./astronaut"; +export * from "./choose-chain"; +export * from "./wallet-connect"; +export * from "./warn-block"; +export * from "./user-card"; +export * from "./address-card"; diff --git a/packages/docs/components/react/user-card.tsx b/packages/docs/components/react/user-card.tsx new file mode 100644 index 000000000..07f1c679e --- /dev/null +++ b/packages/docs/components/react/user-card.tsx @@ -0,0 +1,45 @@ +import * as React from "react"; +import { Text, Stack, Box } from "@interchain-ui/react"; +import { ConnectedUserCardType } from "../types"; + +export const ConnectedUserInfo = ({ + username, + icon, +}: ConnectedUserCardType) => { + return ( + + {username && ( + <> + + {icon} + + + + {username} + + + )} + + ); +}; diff --git a/packages/docs/components/react/wallet-connect.tsx b/packages/docs/components/react/wallet-connect.tsx new file mode 100644 index 000000000..44faaeb84 --- /dev/null +++ b/packages/docs/components/react/wallet-connect.tsx @@ -0,0 +1,243 @@ +import * as React from "react"; +import { + Button, + Box, + Text, + Stack, + useColorModeValue, +} from "@interchain-ui/react"; +import { IoWallet } from "react-icons/io5"; +import { FiAlertTriangle } from "react-icons/fi"; +import { WalletStatus } from "cosmos-kit"; + +interface IConnectWalletButton { + buttonText?: string; + isLoading?: boolean; + isDisabled?: boolean; + onClickConnectBtn?: React.MouseEventHandler; +} + +export const ConnectWalletButton = ({ + buttonText, + isLoading, + isDisabled, + onClickConnectBtn, +}: IConnectWalletButton) => { + return ( + + ); +}; + +export const Disconnected = ({ + buttonText, + onClick, +}: { + buttonText: string; + onClick: React.MouseEventHandler; +}) => { + return ( + + ); +}; + +export const Connected = ({ + buttonText, + onClick, +}: { + buttonText: string; + onClick: React.MouseEventHandler; +}) => { + return ( + + ); +}; + +export const Connecting = () => { + return ; +}; + +export const Rejected = ({ + buttonText, + wordOfWarning, + onClick, +}: { + buttonText: string; + wordOfWarning?: string; + onClick: React.MouseEventHandler; +}) => { + const bg = useColorModeValue("$orange200", "$orange300"); + + return ( + + + + {wordOfWarning && ( + + + + + + + + Warning:  + + + {wordOfWarning} + + + )} + + ); +}; + +export const Error = ({ + buttonText, + wordOfWarning, + onClick, +}: { + buttonText: string; + wordOfWarning?: string; + onClick: React.MouseEventHandler; +}) => { + const bg = useColorModeValue("$orange200", "$orange300"); + + return ( + + + + {wordOfWarning && ( + + + + + + + + Warning:  + + + {wordOfWarning} + + + )} + + ); +}; + +export const NotExist = ({ + buttonText, + onClick, +}: { + buttonText: string; + onClick: React.MouseEventHandler; +}) => { + return ( + + ); +}; + +export const WalletConnectComponent = ({ + walletStatus, + disconnect, + connecting, + connected, + rejected, + error, + notExist, +}: { + walletStatus: WalletStatus; + disconnect: React.ReactNode; + connecting: React.ReactNode; + connected: React.ReactNode; + rejected: React.ReactNode; + error: React.ReactNode; + notExist: React.ReactNode; +}) => { + switch (walletStatus) { + case WalletStatus.Disconnected: + return <>{disconnect}; + case WalletStatus.Connecting: + return <>{connecting}; + case WalletStatus.Connected: + return <>{connected}; + case WalletStatus.Rejected: + return <>{rejected}; + case WalletStatus.Error: + return <>{error}; + case WalletStatus.NotExist: + return <>{notExist}; + default: + return <>{disconnect}; + } +}; diff --git a/packages/docs/components/react/warn-block.tsx b/packages/docs/components/react/warn-block.tsx new file mode 100644 index 000000000..17fd08e6b --- /dev/null +++ b/packages/docs/components/react/warn-block.tsx @@ -0,0 +1,41 @@ +import React, { ReactNode } from "react"; +import { WalletStatus } from "@cosmos-kit/core"; +import { Callout, CalloutProps } from "@interchain-ui/react"; + +export const RejectedWarn = ({ + wordOfWarning, + intent, +}: { + wordOfWarning?: string; + icon?: ReactNode; + intent?: CalloutProps["intent"]; +}) => { + return ( + + {wordOfWarning} + + ); +}; + +export const ConnectStatusWarn = ({ + walletStatus, + rejected, + error, +}: { + walletStatus: WalletStatus; + rejected: ReactNode; + error: ReactNode; +}) => { + switch (walletStatus) { + case "Rejected": + return <>{rejected}; + case "Error": + return <>{error}; + default: + return <>; + } +}; diff --git a/packages/docs/components/types.tsx b/packages/docs/components/types.tsx new file mode 100644 index 000000000..ef7474172 --- /dev/null +++ b/packages/docs/components/types.tsx @@ -0,0 +1,86 @@ +import { MouseEventHandler, ReactNode, RefObject } from 'react'; +import { IconType } from 'react-icons'; + +export enum WalletStatus { + NotInit = 'NotInit', + Loading = 'Loading', + Loaded = 'Loaded', + NotExist = 'NotExist', + Rejected = 'Rejected' +} + +export interface OptionBase { + variant?: string; + colorScheme?: string; + isFixed?: boolean; + isDisabled?: boolean; +} + +export interface ChangeChainDropdownType { + data: ChainOption[]; + selectedItem?: ChainOption; + onChange: handleSelectChainDropdown; + chainDropdownLoading?: boolean; +} + +export interface ChangeChainMenuType { + data: ChainOption[]; + value?: ChainOption; + onClose?: () => void; + onChange: handleSelectChainDropdown; + innerRef?: RefObject; +} + +export interface ChooseChainInfo { + chainName: string; + chainRoute?: string; + label: string; + value: string; + icon?: string; + disabled?: boolean; +} + +export interface ChainOption extends OptionBase { + isDisabled?: boolean; + label: string; + value: string; + icon?: string; + chainName: string; + chainRoute?: string; +} + +export type handleSelectChainDropdown = (value: ChainOption | null) => void; + +export interface ConnectWalletType { + buttonText?: string; + isLoading?: boolean; + isDisabled?: boolean; + icon?: IconType; + onClickConnectBtn?: MouseEventHandler; +} + +export interface ConnectedUserCardType { + walletIcon?: string; + username?: string; + icon?: ReactNode; +} + +export interface FeatureProps { + title: string; + text: string; + href: string; +} + +export interface ChainCardProps { + prettyName: string; + icon?: string; +} + +export type CopyAddressType = { + address?: string; + walletIcon?: string; + isLoading?: boolean; + maxDisplayLength?: number; + isRound?: boolean; + size?: string; +}; diff --git a/packages/docs/components/wallet.tsx b/packages/docs/components/wallet.tsx new file mode 100644 index 000000000..70d4b153d --- /dev/null +++ b/packages/docs/components/wallet.tsx @@ -0,0 +1,78 @@ +import { useManager } from "@cosmos-kit/react"; +import { ThemeProvider, useTheme, Box } from "@interchain-ui/react"; +import { useEffect, useMemo, useState } from "react"; +import { + ChainOption, + ChooseChain, + handleSelectChainDropdown, + ConnectWalletButton, +} from "."; +import { ChainName } from "@cosmos-kit/core"; +import { WalletCardSection } from "./card"; + +export const WalletSection = () => { + const { themeClass } = useTheme(); + + const [chainName, setChainName] = useState( + "cosmoshub" + ); + const { chainRecords, getChainLogo } = useManager(); + + const chainOptions = useMemo( + () => + chainRecords.map((chainRecord) => { + return { + chainName: chainRecord?.name, + label: chainRecord?.chain.pretty_name, + value: chainRecord?.name, + icon: getChainLogo(chainRecord.name), + }; + }), + [chainRecords, getChainLogo] + ); + + useEffect(() => { + setChainName(window.localStorage.getItem("selected-chain") || "cosmoshub"); + }, []); + + const onChainChange: handleSelectChainDropdown = async ( + selectedValue: ChainOption | null + ) => { + setChainName(selectedValue?.chainName); + if (selectedValue?.chainName) { + window?.localStorage.setItem("selected-chain", selectedValue?.chainName); + } else { + window?.localStorage.removeItem("selected-chain"); + } + }; + + return ( + +
+ + + + + {chainName ? ( + + ) : ( + + )} + + +
+
+ ); +}; diff --git a/packages/docs/config/seo.js b/packages/docs/config/seo.js new file mode 100644 index 000000000..dfb6e2bc6 --- /dev/null +++ b/packages/docs/config/seo.js @@ -0,0 +1,36 @@ +const siteUrl = 'https://docs.cosmoskit.com'; +const siteAddress = new URL(siteUrl); +const canonical = siteAddress.href.slice(0, -1); +const title = 'Cosmology™'; +const description = + 'Cosmology is built from the ground up to catalyze web3 development in the Cosmos.'; +const fbAppId = null; +module.exports = { + title, + canonical, + description, + openGraph: { + type: 'website', + url: siteUrl, + title, + description, + site_name: title, + images: [ + { + url: canonical + '/og/image.jpg', + width: 942, + height: 466, + alt: title + } + ] + }, + twitter: { + handle: '@cosmology_tech', + site: '@cosmology_tech' + }, + facebook: fbAppId + ? { + appId: fbAppId + } + : undefined +}; diff --git a/packages/docs/config/site.js b/packages/docs/config/site.js new file mode 100644 index 000000000..0fa2ead5d --- /dev/null +++ b/packages/docs/config/site.js @@ -0,0 +1,27 @@ +const siteUrl = 'https://docs.cosmoskit.com'; +const siteAddress = new URL(siteUrl); +const canonical = siteAddress.href.slice(0, -1); + +module.exports = { + company: { + nick: 'Cosmology', + name: 'Cosmology', + addr: ['San Francisco, CA'], + legalCounty: 'San Francisco', + legalState: 'California' + }, + site: { + siteUrl, + www: `www.${siteAddress.host}`, + host: siteAddress.host + }, + emails: { + hello: 'hello@cosmology.zone', + support: 'support@cosmology.zone', + abuse: 'abuse@cosmology.zone', + privacy: 'privacy@cosmology.zone', + legal: 'legal@cosmology.zone', + copyright: 'copyright@cosmology.zone', + arbitrationOptOut: 'arbitration-opt-out@cosmology.zone' + } +}; diff --git a/packages/docs/next-env.d.ts b/packages/docs/next-env.d.ts new file mode 100644 index 000000000..4f11a03dc --- /dev/null +++ b/packages/docs/next-env.d.ts @@ -0,0 +1,5 @@ +/// +/// + +// NOTE: This file should not be edited +// see https://nextjs.org/docs/basic-features/typescript for more information. diff --git a/packages/docs/next.config.js b/packages/docs/next.config.js new file mode 100644 index 000000000..500b4db6e --- /dev/null +++ b/packages/docs/next.config.js @@ -0,0 +1,62 @@ +const path = require("path"); +const withNextra = require("nextra")({ + theme: "nextra-theme-docs", + themeConfig: "./theme.config.tsx", + unstable_staticImage: true, + unstable_flexsearch: { + codeblock: false, + }, +}); + +module.exports = { + ...withNextra({ + reactStrictMode: true, + // webpack: ( + // config, + // { buildId, dev, isServer, defaultLoaders, nextRuntime, webpack } + // ) => { + // config.module.rules.push({ + // test: /\.(ts|tsx)$/, + // use: [ + // { + // loader: "babel-loader", + // options: { + // presets: [ + // "@babel/preset-env", + // ["@babel/preset-react", { runtime: "automatic" }], + // ["@babel/typescript", { allowDeclareFields: true }], + // ], + // plugins: ["inline-import-data-uri"], + // }, + // }, + // ], + // }); + + // config.resolve.extensions.push(".ts", ".tsx"); + // return config; + // }, + /** + * + * @param {import('webpack').Configuration} config + * @param {import('next/dist/server/config-shared').WebpackConfigContext} _context + * @returns {import('webpack').Configuration} + */ + webpack: (config, _context) => { + const overridePath = path.resolve( + __dirname, + "../..", + "node_modules/react" + ); + config.resolve.alias["react"] = overridePath; + return config; + }, + }), + images: { + domains: [ + "user-images.githubusercontent.com", + "github.com", + "img.shields.io", + ], + unoptimized: true, + }, +}; diff --git a/packages/docs/package.json b/packages/docs/package.json new file mode 100644 index 000000000..9f8945725 --- /dev/null +++ b/packages/docs/package.json @@ -0,0 +1,60 @@ +{ + "name": "docs", + "version": "2.22.0", + "private": true, + "main": "index.js", + "license": "MIT", + "scripts": { + "dev": "next dev", + "build": "next build", + "start": "next start", + "debug": "NODE_OPTIONS='--inspect' next dev", + "vercel-build": "yarn workspace nextra run build && yarn workspace nextra-theme-docs run build && yarn build", + "clean": "rimraf .next .turbo", + "export": "next build && next export", + "postexport": "npm run seo", + "seo": "node ./seo/seo.js", + "deploy": "AWS_PROFILE=webinc aws s3 sync out/ s3://docs.cosmoskit.com", + "invalidate": "AWS_PROFILE=webinc aws cloudfront create-invalidation --distribution-id EN5Y85FX893DG --paths \"/*\"", + "deploy:all": "npm run export && npm run deploy && ./seo/prepare.sh" + }, + "dependencies": { + "@cosmos-kit/core": "^2.13.1", + "@cosmos-kit/react": "^2.18.0", + "@interchain-ui/react": "^1.23.13", + "chain-registry": "^1.63.2", + "cosmos-kit": "^2.19.0", + "fast-fuzzy": "^1.12.0", + "flexsearch": "^0.7.43", + "framer-motion": "^9.0.7", + "next": "^13", + "nextra": "^2.9.0", + "nextra-theme-docs": "^2.9.0", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "react-icons": "4.4.0" + }, + "resolutions": { + "@types/react": "^18" + }, + "devDependencies": { + "@babel/preset-env": "7.22.7", + "@babel/preset-react": "7.22.5", + "@babel/preset-typescript": "7.22.5", + "@types/react": "18.2", + "@types/react-dom": "18.2", + "babel-loader": "9.1.2", + "babel-plugin-inline-import-data-uri": "1.0.1", + "postcss": "8.4.24", + "shadcn-ui": "0.2.3", + "tailwindcss": "3.3.2" + }, + "dependenciesMeta": { + "nextra": { + "injected": true + }, + "nextra-theme-docs": { + "injected": true + } + } +} diff --git a/packages/docs/pages/_app.tsx b/packages/docs/pages/_app.tsx new file mode 100644 index 000000000..fca93f4af --- /dev/null +++ b/packages/docs/pages/_app.tsx @@ -0,0 +1,93 @@ +import "@interchain-ui/react/styles"; +import "../styles/globals.css"; +import { wallets } from "cosmos-kit"; +import type { AppProps } from "next/app"; +import { assets, chains } from "chain-registry"; +import { ChainProvider } from "@cosmos-kit/react"; +import { ThemeProvider, useTheme } from "@interchain-ui/react"; +import { useNextraTheme } from "../components/hooks"; +// import { makeWeb3AuthWallets } from "@cosmos-kit/web3auth"; +import "nextra-theme-docs/style.css"; +import React from "react"; + +function MyApp({ Component, pageProps }: AppProps) { + // const web3AuthWallets = useMemo( + // () => + // makeWeb3AuthWallets({ + // loginMethods: [ + // { + // provider: "google", + // name: "Google", + // logo: "https://upload.wikimedia.org/wikipedia/commons/5/53/Google_%22G%22_Logo.svg", + // }, + // ], + // client: { + // clientId: "localhostid", + // web3AuthNetwork: "testnet", + // }, + // promptSign: async (...args) => + // // eslint-disable-next-line no-alert + // confirm("Sign transaction? \n" + JSON.stringify(args, null, 2)), + // }), + // [] + // ); + const { setTheme, themeClass, theme } = useTheme(); + + // Sync nextra theme with interchain ui theme + useNextraTheme({ + onThemeChange(theme) { + setTheme(theme); + }, + }); + + return ( + + +
+ +
+
+
+ ); +} + +export default MyApp; diff --git a/packages/docs/pages/_meta.json b/packages/docs/pages/_meta.json new file mode 100644 index 000000000..70b2bd2cb --- /dev/null +++ b/packages/docs/pages/_meta.json @@ -0,0 +1,10 @@ +{ + "index": "Introduction", + "get-started": "Get Started", + "migration-to-v2": "Migration to V2", + "provider": "Provider", + "hooks": "Hooks", + "cookbook": "Cookbook", + "integrating-wallets": "Integrating Wallets", + "advanced": "Advanced" +} diff --git a/packages/docs/pages/advanced.md b/packages/docs/pages/advanced.md new file mode 100644 index 000000000..a66f89561 --- /dev/null +++ b/packages/docs/pages/advanced.md @@ -0,0 +1,82 @@ +# Advanced + +## Code Structure + +To make user better understand the whole design structure of CosmosKit, here to briefly introduce some important classes from `@cosmos-kit/core`. + +There are four important classes. + +- WalletManager +- MainWalletBase +- ChainWalletBase +- WalletRepo + +Before all, we need to clarify that there are two types of entities in CosmosKit as a wallet adapter: **Chain** and **Wallet**. Chain is identified by chain name i.e. `cosmoshub`, `osmosis` etc. And wallet is identified by wallet name i.e. `keplr-extension`, `keplr-mobile`, `cosmostation-extension` etc. + +> Note that we're taking a single wallet application as a wallet in CosmosKit rather than the wallet product name. Taking `Keplr` as an example, we diffientiate `extension` and `mobile` in our code because they are connected via totally different codes. So for product `Keplr`, we have two wallets `keplr-extension` and `keplr-mobile` in CosmosKit. + +### WalletManager + +`WalletManager` is the entrance of the whole code and it manages all `WalletRepo`, `MainWalletBase`, `ChainWalletBase` instances in it. It also corresponds to `ChainProvider` in `@cosmos-kit/react-lite` and `@cosmos-kit/react`. You can find that the properties of JSX element `ChainProvider` are almost the same with the constructor arguments of `WalletManager`. All necesssary chain information and wallet information from `ChainProvider` will be passed to corresponding wallet classes via `WalletManager`. + +Three important properties/arguments in `ChainProvider`/`WalletManager` are `chains`, `assetLists` and `wallets`. `chains` and `assetLists` provide chain information, and `wallets` provides wallet information. Actually `wallets` is an array of `MainWalletBase` instances. Here leads to the second class `MainWalletBase`. + +### MainWalletBase + +`MainWalletBase` is meant to provide a base implementation and unified interface for all different wallets like `keplr-extension`, `keplr-mobile` and `cosmostation-extension`. Basically every wallet has it's own `MainWallet` class, which extends `MainWalletBase` in common, but with `WalletClient` implemented in different ways. In this way `WalletManager` can handle all different wallets no matter how different they're inside. + +> For practice you can take a look at [How to Integrate New Wallets into CosmosKit](/integrating-wallets/adding-new-wallets) + +`MainWalletBase` is only about wallet and it's not about any specifical chain. And it's responsible for initializing wallet client and managing all chain wallets. Here brings in the third class `ChainWalletBase`. + +> So far `MainWalletBase` is dealing with four different broadcast/synchronization events for chain wallets. +> +> - broadcast_client +> - broadcast_env +> - sync_connect +> - sync_disconnect +> +> See details below. + +### ChainWalletBase + +When you're trying to connect to a wallet, you always need to provide a target chain name so that the wallet knows what to response. So `ChainWalletBase` is the class actually being used for real connection. It's the finest grain of functionality that with chain specified and also wallet specified. + +We're separating `MainWalletBase` and `ChainWalletBase` because it's clearer to put some common properties like `wallet client` and `env` in the `MainWalletBase` to enable +centralized management and distribution (events `broadcast_client` and `broadcast_env`), and put only chain specified functionalities in `ChainWalletBase`. + +Basically how many `chains` are provided in `ChainProvider` or `WalletManager`, how many `ChainWalletBase` instances will be constructed for a wallet. `ChainWalletBase` instances are independent with each other unless `sync` is set `true`. All the synchronization are also handled in `MainWalletBase` (events `sync_connect` and `sync_disconnect`). + +### WalletRepo + +We have a class `MainWalletBase` with wallet specified to manage all chain wallets. All these chain wallets are with the same wallet name but different chain name. Accordingly we also have another class `WalletRepo`, which with chain specified to manage all chain wallets that with the same chain name but different wallet name. + +### MainWalletBase vs. WalletRepo + +#### 1. **MainWalletBase** +- **Purpose**: Manages a collection of chain wallets. +- **Key Identifier**: Wallet name. +- **Example**: It handles wallets like cosmoshub/keplr-extension, osmosis/keplr-extension, etc. These are wallets from different chains but with the same wallet name. + +#### 2. **WalletRepo** +- **Purpose**: Manages chain wallets too, but with a different approach. +- **Key Identifier**: Chain name. +- **Example**: It manages wallets like cosmoshub/keplr-extension, cosmoshub/keplr-mobile, etc. These are wallets from the same chain but with different wallet names. + +#### Common Point +- **Both MainWalletBase and WalletRepo** are involved in managing chain wallets, which are wallets associated with different blockchain networks. + +#### Key Differences +- **MainWalletBase**: Focuses on managing wallets based on the wallet’s name. It doesn’t matter what chain the wallet is from; as long as they share the same wallet name, MainWalletBase manages them. +- **WalletRepo**: Concentrates on managing wallets based on the chain’s name. Here, the specific wallet names don’t matter; WalletRepo groups and manages wallets that are on the same blockchain network. + +#### Practical Use +- **In some decentralized applications (dapps)**, the focus might be more on the blockchain network (chain) rather than the wallet itself. In such cases, WalletRepo is particularly useful because it provides a perspective based on the chain, allowing different wallets on the same chain to be managed together. + +#### Summary +- **MainWalletBase**: Manages wallets across different chains but with the same wallet name. +- **WalletRepo**: Manages different wallets on the same chain. + +In essence, these two classes offer different ways of organizing and accessing chain wallets, based on what the primary point of interest is (wallet name or chain name). + +So far `WalletRepo` is only used in [`WalletModal`](https://docs.cosmology.zone/cosmos-kit/provider/chain-provider#walletmodal) properties. diff --git a/packages/docs/pages/cookbook/_meta.json b/packages/docs/pages/cookbook/_meta.json new file mode 100644 index 000000000..0e0059b27 --- /dev/null +++ b/packages/docs/pages/cookbook/_meta.json @@ -0,0 +1,4 @@ +{ + "connect-multi-chains": "Connect Multiple Chains", + "sign": "Sign" +} diff --git a/packages/docs/pages/cookbook/connect-multi-chains.mdx b/packages/docs/pages/cookbook/connect-multi-chains.mdx new file mode 100644 index 000000000..edac9d8ab --- /dev/null +++ b/packages/docs/pages/cookbook/connect-multi-chains.mdx @@ -0,0 +1,56 @@ +## How to connect multiple chains? + +### 1. Use `useChains` Hook +CosmosKit introduces **[`useChains`](/hooks/use-chains)** hook starting from `v2.3.0`. Use it to connect to multiple chains. + +### 2. For A Specific Wallet (No Modal Required) + +Let's take `keplr-extension` for example. + +```javascript +import { useWalletClient } from "@cosmos-kit/react"; + +export default function Home() { + const { status, client } = useWalletClient("keplr-extension"); // or comostation-extension, leap-extension, etc. + + useEffect(() => { + if (status === "Done") { + client.enable?.(["cosmoshub-4", "osmosis-1", "juno-1"]); + client.getAccount?.("juno-4").then((account) => console.log(account)); + client.getAccount?.("osmosis-1").then((account) => console.log(account)); + client + .getAccount?.("cosmoshub-4") + .then((account) => console.log(account)); + } + }, [status]); + // ... +} +``` + +### 3. No Specific Wallets (Modal Required, Version Prior to `v2.3.0`) + +There's no `useChains` hook in CosmosKit then, so the best you can do is below. + +```javascript +export default function Home() { + const { openView } = useChain("cosmoshub"); // or juno, osmosis, etc. + const { status, client } = useWalletClient(); + + useEffect(() => { + if (status === "Done") { + client.enable?.(["cosmoshub-4", "osmosis-1", "juno-1"]); + client.getAccount?.("juno-4").then((account) => console.log(account)); + client.getAccount?.("osmosis-1").then((account) => console.log(account)); + client + .getAccount?.("cosmoshub-4") + .then((account) => console.log(account)); + } + }, [status]); + + return ( +
+ +
+ ); +} +``` diff --git a/packages/docs/pages/cookbook/sign.mdx b/packages/docs/pages/cookbook/sign.mdx new file mode 100644 index 000000000..32402d5a9 --- /dev/null +++ b/packages/docs/pages/cookbook/sign.mdx @@ -0,0 +1,41 @@ +# Sign + +## Global Settings + +```ts + { + return 'amino'; + } + }} +> + + + +const { getSigningStargateClient } = useChain('cosmoshub'); +const aminoSigningClient = await getSigningStargateClient(); +``` + +By default use `amino` signer. Or you need to set `return 'direct'` if `direct` signer required. + +## Individual Settings + +```ts +const { status, client } = useWalletClient('keplr-extension'); + +if (status === 'Done') { + /** + * OR: + * const aminoSigner = client.getOfflineSignerAmino('cosmoshub'); + * const directSigner = client.getOfflineSignerDirect('cosmoshub'); + */ + const aminoSigner = client.getOfflineSigner('cosmoshub', 'amino'); +} + +const aminoSigningClient = await SigningStargateClient.connectWithSigner( + rpcEndpoint, + aminoSigner + ); +``` \ No newline at end of file diff --git a/packages/docs/pages/get-started.mdx b/packages/docs/pages/get-started.mdx new file mode 100644 index 000000000..73f128e39 --- /dev/null +++ b/packages/docs/pages/get-started.mdx @@ -0,0 +1,105 @@ +# How to use CosmosKit + +> 💡 Make sure you are using `React18` +> +> `CosmosKit V1` is deprecated, we suggest using [`CosmosKit V2`](/migration-to-v2) +> +> `defaultSignOptions` has been preset as below in latest version (core >= 2.7, react-lite >= 2.5, react >= 2.9): + +```json +{ + preferNoSetFee: false, + preferNoSetMemo: true, + disableBalanceCheck: true, + }; +``` + +## Quickstart + +🏁 Get started quickly by using [create-cosmos-app](https://github.com/cosmology-tech/create-cosmos-app) to help you build high-quality Cosmos apps fast! + +## Use CosmosKit from Scratch + +### 1️⃣ Install Dependencies + +Taking `Keplr` wallet as an example. + +```sh +yarn add @cosmos-kit/react @cosmos-kit/keplr chain-registry +``` + +`@cosmos-kit/react` includes default modal made with `@interchain-ui/react`. If [customized modal](/provider/chain-provider/#customize-modal-with-walletmodal) is provided, you can use `@cosmos-kit/react-lite` instead to lighter your app. + +There are multiple wallets supported by CosmosKit. Details see [Integrating Wallets](/integrating-wallets) + +> Note: `@cosmjs/*` packages are peer dependencies in `@cosmos-kit/core`, so if you're not using `@cosmjs/*` in your dapp, `yarn install` would complain UNMET cosmjs peer dependencies. + +### 2️⃣ Wrap Provider + +First, add [`ChainProvider`](/provider/chain-provider) and provider [required properties](/provider/chain-provider#required-properties). + +Example: + +```tsx +import * as React from 'react'; + +import { ChainProvider } from '@cosmos-kit/react'; +import { chains, assets } from 'chain-registry'; +import { wallets } from '@cosmos-kit/keplr'; + +// Import this in your top-level route/layout +import "@interchain-ui/react/styles"; + +function CosmosApp() { + return ( + + + + ); +} +``` + +### 3️⃣ Consume with Hook + +Take `useChain` as an example. + +```tsx +import * as React from 'react'; + +import { useChain } from "@cosmos-kit/react"; + +function Component ({ chainName }: { chainName: string }) => { + const chainContext = useChain(chainName); + + const { + status, + username, + address, + message, + connect, + disconnect, + openView, + } = chainContext; +} +``` + +## Localstorage Settings + +### current wallet + +- **Key**: `cosmos-kit@2:core//current-wallet` +- **Type**: `string` + +It records current wallet name. You can use this key to implement auto-connection in dapp. And it will expire after provided [session duration](#sessionoptions). + +### accounts + +- **Key**: `cosmos-kit@2:core//accounts` +- **Type**: `SimpleAccount[]` + +It records the connected chains' account information. It's used for account restore when refreshing in CosmosKit. And it will expire after provided [session duration](#sessionoptions). diff --git a/packages/docs/pages/hooks/_meta.json b/packages/docs/pages/hooks/_meta.json new file mode 100644 index 000000000..2e5d71a71 --- /dev/null +++ b/packages/docs/pages/hooks/_meta.json @@ -0,0 +1,12 @@ +{ + "index": "Introduction", + "use-chain": "- useChain", + "use-chains": "- useChains", + "use-chain-wallet": "- useChainWallet", + "use-iframe": "- useIframe", + "use-manager": "- useManager", + "use-modal-theme": "- useModalTheme", + "use-name-service": "- useNameService", + "use-wallet": "- useWallet", + "use-wallet-client": "- useWalletClient" +} diff --git a/packages/docs/pages/hooks/index.mdx b/packages/docs/pages/hooks/index.mdx new file mode 100644 index 000000000..46bd8862e --- /dev/null +++ b/packages/docs/pages/hooks/index.mdx @@ -0,0 +1,26 @@ +There are multiple hooks provided in CosmosKit. They all require [**ChainProvider**](/provider/chain-provider) from either `@cosmos-kit/react` or `@cosmos-kit/react-lite` to provide necessary information. + +- [`useChain`](/hooks/use-chain): Provide chainWallet related properties and methods, and support multiple chains connected at one time. When `useChain` is called, corresponding chainWallets will be activated. + +- [`useChainWallet`](/hooks/use-chain-wallet): Provide chainWallet related properties and methods, and support multiple chains and wallets connected at one time. When `useChainWallet` is called, corresponding chainWallet will be activated. + +> See more information about [Differences Between `useChain` And `useChainWallet`](#differences-between-usechain-and-usechainwallet) + +- [`useManager`](/hooks/use-manager): Manage all chains and wallets. + +- [`useModalTheme`](/hooks/use-modal-theme): Manage default modal themes. + +- [`useNameService`](/hooks/use-name-service): Get alias name of address from a particular name server. + +- [`useWallet`](/hooks/use-wallet): Manage all chainWallets and the global status for a particular wallet. + +- [`useWalletClient`](/hooks/use-manager): Get the wallet client for a particular wallet. + +- [`useIframe`](/hooks/use-iframe): Set up an iframe that can access the currently connected wallet automatically. + +## Differences Between `useChain` And `useChainWallet` + +1. `useChainWallet` requires an extra parameter `walletName`. +2. `useChain` will pop up a wallet modal to connect while `useChainWallet` not. +3. `useChain` exposes extra `openView` and `closeView` methods and `walletRepo` property. +4. the return value of methods `getRpcEndpoint`, `getRestEndpoint`, `getStargateClient`, `getCosmWasmClient`, `getNameService` can be different between `useChain` and `useChainWallet`, because `useChain` explores all `chainWallets` related to the parameter `chainName`. diff --git a/packages/docs/pages/hooks/use-chain-wallet.mdx b/packages/docs/pages/hooks/use-chain-wallet.mdx new file mode 100644 index 000000000..e52866fe0 --- /dev/null +++ b/packages/docs/pages/hooks/use-chain-wallet.mdx @@ -0,0 +1,100 @@ +## Hook - useChainWallet + +- required provider: [**ChainProvider**](/provider/chain-provider) from either `@cosmos-kit/react` or `@cosmos-kit/react-lite` + +- parameters: + - **chainName**: `ChainName` ( = `string` ); + - **walletName**: `WalletName` ( = `string` ); + - **sync**: `boolean` = `true` + +> parameter `sync` means whether to synchronize connection and disconnection to all other activated chainWallets. + +- return type: [**ChainWalletContext**](#type-chainwalletcontext) + +## Type - ChainWalletContext + +### Properties + +| Name | Description | Type | Default | +| ------------------------ | -------------------------------------------- | ------------------------ | -------------- | +| **chain** | chain registry information | `Chain` | - | +| **assets** | chain assets information | `AssetList \| undefined` | `undefined` | +| **wallet** | current selected wallet registry information | `Wallet \| undefined` | `undefined` | +| **logoUrl** | chain logo url | `string \| undefined` | `undefined` | +| **address** | chain address from current selected wallet | `string \| undefined` | `undefined` | +| **username** | username from current selected wallet | `string \| undefined` | `undefined` | +| **message** | error/warn/info message | `string \| undefined` | `undefined` | +| **status** | wallet status | `WalletStatus` | `Disconnected` | +| **isWalletDisconnected** | if `status === 'Disconnected'` | `boolean` | `true` | +| **isWalletConnecting** | if `status === 'Connecting'` | `boolean` | `false` | +| **isWalletConnected** | if `status === 'Connected'` | `boolean` | `false` | +| **isWalletRejected** | if `status === 'Rejected'` | `boolean` | `false` | +| **isWalletNotExist** | if `status === 'NotExist'` | `boolean` | `false` | +| **isWalletError** | if `status === 'Error'` | `boolean` | `false` | + +### Methods + +| Name | Description | Parameters | Return Type | Is Async | +| ---------------------------- | ------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | -------------------------------- | -------- | +| **connect** | connect wallet | **wallet**?: `WalletName` | `void` | Y | +| **disconnect** | disconnect current selected wallet | - | `void` | Y | +| **getRpcEndpoint** | return rpc endpoint, `isLazy` explanation is [here](/provider/chain-provider#isLazy) | **isLazy**?: `boolean` | `string \| ExtendedHttpEndpoint` | Y | +| **getRestEndpoint** | return rest endpoint, `isLazy` explanation is [here](/provider/chain-provider#isLazy) | **isLazy**?: `boolean` | `string \| ExtendedHttpEndpoint` | Y | +| **getStargateClient** | - | - | `StargateClient` | Y | +| **getCosmWasmClient** | - | - | `CosmWasmClient` | Y | +| **getSigningStargateClient** | always validate endpoint in method | - | `SigningStargateClient` | Y | +| **getSigningCosmWasmClient** | always validate endpoint in method | - | `SigningCosmWasmClient` | Y | +| **getNameService** | get name service object supported on provided chain | - | `NameService` | Y | +| **estimateFee** | if **type** is `undefined`, default using `SigningStargateClient` | **messages**: `EncodeObject[]`,
**type**?: `CosmosClientType`,
**memo**?: `string`,
**multiplier**?: `number` | `StdFee` | Y | +| **sign** | using `cosmjs`. if **type** is `undefined`, default using `SigningStargateClient` | **messages**: `EncodeObject[]`,
**fee**?: `StdFee`,
**memo**?: `string`,
**type**?: `CosmosClientType` | `TxRaw` | Y | +| **broadcast** | if **type** is `undefined`, default using `SigningStargateClient` | **signedMessages**: `TxRaw`,
**type**?: `CosmosClientType`, | `DeliverTxResponse` | Y | +| **signAndBroadcast** | if **type** is `undefined`, default using `SigningStargateClient` | **messages**: `EncodeObject[]`,
**fee**?: `StdFee`,
**memo**?: `string`,
**type**?: `CosmosClientType`, | `DeliverTxResponse` | Y | + +### Properties from Wallet Client + +| Name | Description | Type | Default | +| ---------------------- | ----------- | ------------------ | ---------- | ----------- | +| **qrUrl** | - | `Mutable\ | undefined` | `undefined` | +| **appUrl** | - | `Mutable\ | undefined` | `undefined` | +| **defaultSignOptions** | - | `SignOptions` | as below | + +`defaultSignOptions`: + +```json +{ + preferNoSetFee: false, + preferNoSetMemo: true, + disableBalanceCheck: true, + }; +``` + +### Methods from Wallet Client + +> These methods are equal to wallet client methods with argument `chainId` assigned as `chainId` corresponding to hook argument `chainName`. If you want to directly use wallet client methods, choose hook [`useWalletClient`](/hooks/use-wallet-client) instead. + +| Name | Description | Parameters | Return Type | Is Async | +| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------ | --------------------- | -------- | +| **setDefaultSignOptions** | - | **options**: `SignOptions` | `void` | N | +| **enable** | - | - | `void` | Y | +| **getAccount** | - | - | `WalletAccount` | Y | +| **getOfflineSigner** | prioritize returning `preferredSignType` (in `ChainProvider` properties, by default `amino`) corresponding signer if it is available, otherwise return signer that is provided. | Y | +| **getOfflineSignerAmino** | - | - | `OfflineAminoSigner` | N | +| **getOfflineSignerDirect** | - | - | `OfflineDirectSigner` | N | +| **signAmino** | - | **signer**: `string`,
**signDoc**: `StdSignDoc`,
**signOptions**?: `SignOptions` | `AminoSignResponse` | Y | +| **signDirect** | - | **signer**: `string`,
**signDoc**: `StdSignDoc`,
**signOptions**?: `SignOptions` | `DirectSignResponse` | Y | +| **signArbitrary** | - | **signer**: `string`,
**data**: `string \| Uint8Array` | `StdSignature` | Y | +| **sendTx** | - | **tx**: `Uint8Array`,
**mode**: `BroadcastMode` | `Uint8Array` | Y | + +### Advanced + +**Used for deeper dive into the chain and wallet related objects** + +| Name | Description | Type | Default | +| --------------- | ------------------- | ------------------------------ | ----------- | +| **chainWallet** | current chainWallet | `ChainWalletBase \| undefined` | `undefined` | + +## Examples + +### [fetch address](https://github.com/cosmology-tech/cosmos-kit/blob/main/packages/example/pages/use-chain-wallet.tsx) + +### [governance](https://github.com/cosmology-tech/cosmos-kit/blob/main/packages/example/pages/gov.tsx) diff --git a/packages/docs/pages/hooks/use-chain.mdx b/packages/docs/pages/hooks/use-chain.mdx new file mode 100644 index 000000000..bc8eccf5e --- /dev/null +++ b/packages/docs/pages/hooks/use-chain.mdx @@ -0,0 +1,103 @@ +## Hook - useChain + +- required provider: [**ChainProvider**](/provider/chain-provider) from either `@cosmos-kit/react` or `@cosmos-kit/react-lite` + +> To use `useChain` with `ChainProvider` from `@cosmos-kit/react-lite`, property [`walletModal`](/provider/chain-provider#walletmodal) must be provided. Or you can choose `ChainProvider` from `@cosmos-kit/react`, which provides `DefaultModal`. Or you can use [`useChainWallet`](/hooks/use-chain-wallet) instead. + +- parameters: + - **chainName**: `ChainName` ( = `string` ); + - **sync**: `boolean` = `true` + +> parameter `sync` means whether to synchronize connection and disconnection to all other activated chainWallets. + +- return type: [**ChainContext**](#type-chaincontext) + +## Type - ChainContext + +### Properties + +| Name | Description | Type | Default | +| ------------------------ | -------------------------------------------- | ------------------------ | -------------- | +| **chain** | chain registry information | `Chain` | - | +| **assets** | chain assets information | `AssetList \| undefined` | `undefined` | +| **wallet** | current selected wallet registry information | `Wallet \| undefined` | `undefined` | +| **logoUrl** | chain logo url | `string \| undefined` | `undefined` | +| **address** | chain address from current selected wallet | `string \| undefined` | `undefined` | +| **username** | username from current selected wallet | `string \| undefined` | `undefined` | +| **message** | error/warn/info message | `string \| undefined` | `undefined` | +| **status** | wallet status | `WalletStatus` | `Disconnected` | +| **isWalletDisconnected** | if `status === 'Disconnected'` | `boolean` | `true` | +| **isWalletConnecting** | if `status === 'Connecting'` | `boolean` | `false` | +| **isWalletConnected** | if `status === 'Connected'` | `boolean` | `false` | +| **isWalletRejected** | if `status === 'Rejected'` | `boolean` | `false` | +| **isWalletNotExist** | if `status === 'NotExist'` | `boolean` | `false` | +| **isWalletError** | if `status === 'Error'` | `boolean` | `false` | + +### Methods + +| Name | Description | Parameters | Return Type | Is Async | +| ---------------------------- | ------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | -------------------------------- | -------- | +| **openView** | open modal | - | `void` | N | +| **closeView** | close modal | - | `void` | N | +| **connect** | connect wallet | **wallet**?: `WalletName` | `void` | Y | +| **disconnect** | disconnect current selected wallet | - | `void` | Y | +| **getRpcEndpoint** | return rpc endpoint, `isLazy` explanation is [here](/provider/chain-provider#isLazy) | **isLazy**?: `boolean` | `string \| ExtendedHttpEndpoint` | Y | +| **getRestEndpoint** | return rest endpoint, `isLazy` explanation is [here](/provider/chain-provider#isLazy) | **isLazy**?: `boolean` | `string \| ExtendedHttpEndpoint` | Y | +| **getStargateClient** | - | - | `StargateClient` | Y | +| **getCosmWasmClient** | - | - | `CosmWasmClient` | Y | +| **getSigningStargateClient** | always validate endpoint in method | - | `SigningStargateClient` | Y | +| **getSigningCosmWasmClient** | always validate endpoint in method | - | `SigningCosmWasmClient` | Y | +| **getNameService** | get name service object supported on provided chain | - | `NameService` | Y | +| **estimateFee** | if **type** is `undefined`, default using `SigningStargateClient` | **messages**: `EncodeObject[]`,
**type**?: `CosmosClientType`,
**memo**?: `string`,
**multiplier**?: `number` | `StdFee` | Y | +| **sign** | using `cosmjs`. if **type** is `undefined`, default using `SigningStargateClient` | **messages**: `EncodeObject[]`,
**fee**?: `StdFee`,
**memo**?: `string`,
**type**?: `CosmosClientType` | `TxRaw` | Y | +| **broadcast** | if **type** is `undefined`, default using `SigningStargateClient` | **signedMessages**: `TxRaw`,
**type**?: `CosmosClientType`, | `DeliverTxResponse` | Y | +| **signAndBroadcast** | if **type** is `undefined`, default using `SigningStargateClient` | **messages**: `EncodeObject[]`,
**fee**?: `StdFee`,
**memo**?: `string`,
**type**?: `CosmosClientType`, | `DeliverTxResponse` | Y | + +### Properties from Wallet Client + +| Name | Description | Type | Default | +| ---------------------- | ----------- | ------------------ | ---------- | ----------- | +| **qrUrl** | - | `Mutable\ | undefined` | `undefined` | +| **appUrl** | - | `Mutable\ | undefined` | `undefined` | +| **defaultSignOptions** | - | `SignOptions` | as below | + +`defaultSignOptions`: + +```json +{ + preferNoSetFee: false, + preferNoSetMemo: true, + disableBalanceCheck: true, + }; +``` + +### Methods from Wallet Client + +> These methods are equal to wallet client methods with argument `chainId` assigned as `chainId` corresponding to hook argument `chainName`. If you want to directly use wallet client methods, choose hook [`useWalletClient`](/hooks/use-wallet-client) instead. + +| Name | Description | Parameters | Return Type | Is Async | +| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------ | --------------------- | -------- | +| **setDefaultSignOptions** | - | **options**: `SignOptions` | `void` | N | +| **enable** | - | - | `void` | Y | +| **getAccount** | - | - | `WalletAccount` | Y | +| **getOfflineSigner** | prioritize returning `preferredSignType` (in `ChainProvider` properties, by default `amino`) corresponding signer if it is available, otherwise return signer that is provided. | - | `OfflineSigner` | Y | +| **getOfflineSignerAmino** | - | - | `OfflineAminoSigner` | N | +| **getOfflineSignerDirect** | - | - | `OfflineDirectSigner` | N | +| **signAmino** | - | **signer**: `string`,
**signDoc**: `StdSignDoc`,
**signOptions**?: `SignOptions` | `AminoSignResponse` | Y | +| **signDirect** | - | **signer**: `string`,
**signDoc**: `StdSignDoc`,
**signOptions**?: `SignOptions` | `DirectSignResponse` | Y | +| **sendTx** | - | **tx**: `Uint8Array`,
**mode**: `BroadcastMode` | `Uint8Array` | Y | + +### Advanced + +**Used for deeper dive into the chain and wallet related objects** + +| Name | Description | Type | Default | +| --------------- | ------------------------------------------------------------------ | ------------------------------ | ----------- | +| **chainWallet** | current chainWallet | `ChainWalletBase \| undefined` | `undefined` | +| **walletRepo** | wallet repository, you can get all the chainWallets from this repo | `WalletRepo` | - | + +## Examples + +### [fetch address](https://github.com/cosmology-tech/cosmos-kit/blob/main/packages/example/pages/index.tsx) + +### [fetch balance & send tokens](https://github.com/cosmology-tech/cosmos-kit/blob/main/packages/example/pages/tx.tsx) diff --git a/packages/docs/pages/hooks/use-chains.mdx b/packages/docs/pages/hooks/use-chains.mdx new file mode 100644 index 000000000..34483e1e6 --- /dev/null +++ b/packages/docs/pages/hooks/use-chains.mdx @@ -0,0 +1,60 @@ +## Hook - useChains + +- required provider: [**ChainProvider**](/provider/chain-provider) from either `@cosmos-kit/react` or `@cosmos-kit/react-lite` + +> To use `useChains` with `ChainProvider` from `@cosmos-kit/react-lite`, property [`walletModal`](/provider/chain-provider#walletmodal) must be provided. Or you can choose `ChainProvider` from `@cosmos-kit/react`, which provides `DefaultModal`. Or you can use [`useChainWallet`](/hooks/use-chain-wallet) instead. + +- parameters: + - **chainNames**: `ChainName[]` + - **sync**: `boolean` = `true` + +> parameter `sync` means whether to synchronize connection and disconnection to all other activated chainWallets. + +- return type: **Record<ChainName, [**ChainContext**](/hooks/use-chain#type-chaincontext)>** + +## Usage +```jsx +export default function () { + const chains = useChains(['cosmoshub', 'osmosis', 'stargaze', 'juno', 'akash']); + const connected = Object.values(chains).every(chain => chain.isWalletConnected); + const { connect, openView } = chains.cosmoshub; + + // Notice: calling chains.chainName.connect() will connect to all 5 chains above. + + return
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CodeValue
chains.cosmoshub.address{chains.cosmoshub.address}
chains.osmosis.address{chains.osmosis.address}
chains.stargaze.address{chains.stargaze.address}
chains.juno.address{chains.juno.address}
chains.akash.address{chains.akash.address}
+
; +} +``` diff --git a/packages/docs/pages/hooks/use-iframe.mdx b/packages/docs/pages/hooks/use-iframe.mdx new file mode 100644 index 000000000..ebe129ee4 --- /dev/null +++ b/packages/docs/pages/hooks/use-iframe.mdx @@ -0,0 +1,58 @@ +## Hook - useIframe + +- required provider: [**ChainProvider**](/provider/chain-provider) from either + `@cosmos-kit/react` or `@cosmos-kit/react-lite` + +- parameters: + - **walletName?**: `WalletName` ( = `string` ); + - **walletInfo?**: `{ prettyName?: string; logo?: string }` + - **accountReplacement?**: `(chainId: string) => AccountReplacement | Promise | undefined` + - **walletClientOverrides?**: `Partial>>` + - **aminoSignerOverrides?**: `Partial>>` + - **directSignerOverrides?**: `Partial>>` + +> `walletName` optionally chooses a wallet to use, like the +> [`useWallet`](./use-wallet) hook. If unset, the main wallet is used. +> +> `walletInfo` optionally sets the iframe's connected wallet metadata. If unset, +> the currently connected wallet metadata is used. +> +> `accountReplacement` optionally overrides the account details returned from +> the wallet. +> +> `walletClientOverrides`, `aminoSignerOverrides`, and `directSignerOverrides` +> allow fine-grained control over the various client methods such that the +> controlling app can heavily customize the wallet passthrough experience. For +> example, this allows the app to manually handle and wrap messages from the +> nested app, like a smart contract wallet may want to do. +> +> Explore the types to better understand how to implement advanced functionality. + +- return type: **`{ wallet: MainWalletBase; iframeRef: RefCallback}`** + +## Usage + +```jsx +export default function () { + const { iframeRef } = useIframe(); + const { connect, disconnect, isWalletConnected } = useChain("cosmoshub"); + + return ( +
+ + + +
+ ); +} +``` diff --git a/packages/docs/pages/hooks/use-manager.mdx b/packages/docs/pages/hooks/use-manager.mdx new file mode 100644 index 000000000..c2a068557 --- /dev/null +++ b/packages/docs/pages/hooks/use-manager.mdx @@ -0,0 +1,39 @@ +## Hook - useManager + +- required provider: [**ChainProvider**](https://docs.cosmology.zone/cosmos-kit/chain-provider) from either `@cosmos-kit/react` or `@cosmos-kit/react-lite` + +- return type: [**ManagerConext**](#type-managerconext) + +## Type - ManagerConext + +### properties + +| Name | Description | Type | Default | +| ---------------------- | -------------------------------------------------------------------------------- | ------------------ | ------- | +| **chainRecords** | contains all chain registry and assets information | `ChainRecord[]` | [] | +| **walletRepos** | contains all chain wallets information, each wallet repo identified with a chain | `WalletRepo[]` | [] | +| **mainWallets** | all main wallets information | `MainWalletBase[]` | [] | +| **defaultNameService** | - | `NameServiceName` | `icns` | + +### methods + +| Name | Description | Parameters | Return Type | Is Async | +| ------------------ | ------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------- | -------- | +| **getChainRecord** | get the basic info of a chain, which contains registry and assets information for this chain | **chainName**: `ChainName` | `ChainRecord` | N | +| **getChainLogo** | get chain logo url | **chainName**: `ChainName` | `string \| undefined` | N | +| **getWalletRepo** | get the wallet repository of a chain, which stores all chain wallets for this chain | **chainName**: `ChainName` | `WalletRepo` | N | +| **getNameService** | get name service object supported on provided chain, if chain not provided, using `defaultNameService` in `ChainProvider` | **chainName?**: `ChainName` | `NameService` | Y | +| **addChains** | add new chains in provider | **chains**: `Chain[]`,
**assetLists**: `AssetList[]`,
**signerOptions**?: `SignerOptions`,
**endpoints**?: `EndpointOptions["endpoints"]` | `void` | N | +| **addEndpoints** | add new endpoints | **endpoints**: `EndpointOptions["endpoints"]` | `void` | N | +| **on** | attach event handler to [events](#events) | **event**: `EventName`,
**handler**: `(params: any) => void` | `void` | N | +| **off** | remove attached event handler | **event**: `EventName`,
**handler**: `(params: any) => void` | `void` | N | + +## Events + +### refresh_connection + +Every time the registered events `connectEventNamesOnWindow` and `connectEventNamesOnClient` (see [wallet registry](https://docs.cosmology.zone/cosmos-kit/integrating-wallets/adding-new-wallets#optional-properties)) are triggered, and the dapp has been connected to the corresponding wallet, the `refresh_connection` event will also be triggered. + +## Examples + +### [add chain](https://github.com/cosmology-tech/cosmos-kit/blob/main/packages/example/pages/add-chain.tsx) diff --git a/packages/docs/pages/hooks/use-modal-theme.mdx b/packages/docs/pages/hooks/use-modal-theme.mdx new file mode 100644 index 000000000..1272ebaad --- /dev/null +++ b/packages/docs/pages/hooks/use-modal-theme.mdx @@ -0,0 +1,23 @@ +## Hook - useModalTheme + +If you're using default modal provided by CosmosKit, you might need this hook to get and set modal theme. + +- required provider: [**ChainProvider**](https://docs.cosmology.zone/cosmos-kit/chain-provider) from `@cosmos-kit/react` + +## Return Type - useModalTheme + +### properties + +| Name | Description | Type | Default | +| ----------- | ----------- | -- | -- | +| **modalTheme** | currently `light` or `dark` or `system` are available | `ModePreference` | `light` | + +### methods + +| Name | Description | Parameters | Return Type | Is Async | +| ----------- | ----------- | -- | -- | -- | +| **setModalTheme** | - | **theme**: `ModePreference` | `void` | N | + +## Examples + +### [dashboard](https://github.com/cosmology-tech/cosmos-kit/blob/main/packages/example/pages/index.tsx) diff --git a/packages/docs/pages/hooks/use-name-service.mdx b/packages/docs/pages/hooks/use-name-service.mdx new file mode 100644 index 000000000..c561f7738 --- /dev/null +++ b/packages/docs/pages/hooks/use-name-service.mdx @@ -0,0 +1,26 @@ +## Hook - useNameService + +- required provider: [**ChainProvider**](/provider/chain-provider) from either `@cosmos-kit/react` or `@cosmos-kit/react-lite` + +- parameters: + - **name?**: `NameServiceName` ( = `string` ); + +> Note: `name` is optional. if `name` is not provided, using the `defaultNameService` in `ChainProvider` + +- return type: [**Mutable\**](#type---mutablenameservice) + +## Type - Mutable\ + +### properties + +| Name | Description | Type | Default | +| ----------- | ----------- | -- | -- | +| **state** | - | `State` | `State.Init` | +| **data** | - | `NameService` | `undefined` | +| **message** | - | `string` | `undefined` | + +> Note: `state`, `data` and `message` are react states. + +## Examples + +### [name service](https://github.com/cosmology-tech/cosmos-kit/blob/main/packages/example/pages/ns2.tsx) \ No newline at end of file diff --git a/packages/docs/pages/hooks/use-wallet-client.mdx b/packages/docs/pages/hooks/use-wallet-client.mdx new file mode 100644 index 000000000..d32f25d2d --- /dev/null +++ b/packages/docs/pages/hooks/use-wallet-client.mdx @@ -0,0 +1,24 @@ +## Hook - useWalletClient + +- required provider: [**ChainProvider**](https://docs.cosmology.zone/cosmos-kit/chain-provider) from either `@cosmos-kit/react` or `@cosmos-kit/react-lite` + +- parameters: + - **walletName?**: `WalletName` ( = `string` ); + +> if `walletName` is `undefined`, using `currentWallet` instead. See LocalStorage key `cosmos-kit@2:core//current-wallet` + +- return type: [**WalletClientContext**](#type---walletclientcontext) + +## Type - WalletClientContext + +### Properties + +| Name | Description | Type | Default | +| ----------- | ------------------------------------------- | --------------------------- | ------------ | +| **client** | wallet client | `WalletClient \| undefined` | `undefined` | +| **status** | wallet client status | `State` | `State.Init` | +| **message** | error message if wallet client is undefined | `string \| undefined` | `undefined` | + +## Examples + +### [get account](https://github.com/cosmology-tech/cosmos-kit/blob/main/packages/example/pages/tx.tsx) diff --git a/packages/docs/pages/hooks/use-wallet.mdx b/packages/docs/pages/hooks/use-wallet.mdx new file mode 100644 index 000000000..eb989f292 --- /dev/null +++ b/packages/docs/pages/hooks/use-wallet.mdx @@ -0,0 +1,29 @@ +## Hook - useWallet + +- required provider: [**ChainProvider**](https://docs.cosmology.zone/cosmos-kit/chain-provider) from either `@cosmos-kit/react` or `@cosmos-kit/react-lite` + +- parameters: + - **walletName?**: `WalletName` ( = `string` ); + - **activeOnly**: `boolean` (default to be `true`); + +> If `walletName` is `undefined`, using `currentWallet` instead. See LocalStorage key `cosmos-kit@2:core//current-wallet`. If `currentWallet` is also undefined, return default values. + +> If `activeOnly` is `true`, only look at chainWallets with `isActive` true. When `useChain` is called, corresponding chainWallet will be activated. + +- return type: [**WalletContext**](#type---walletcontext) + +## Type - WalletContext + +### Properties + +| Name | Description | Type | Default | +| ---------------- | ------------------------------------------------------------------------------- | --------------------- | --------------------------- | +| **mainWallet** | the mainWallet | `MainWalletBase | undefined` | +| **chainWallets** | all the chainWallets (including chains that not be called by useChain) | `ChainWalletBase[]` | `[]` | +| **wallet** | wallet registry information | `Wallet \| undefined` | `undefined` | +| **status** | global wallet status involves all active chainWallets if `activeOnly` is `true` | `WalletStatus` | `WalletStatus.Disconnected` | +| **message** | - | `string \| undefined` | `undefined` | + +## Examples + +### [global wallet status](https://github.com/cosmology-tech/cosmos-kit/blob/main/packages/example/pages/index.tsx) diff --git a/packages/docs/pages/index.mdx b/packages/docs/pages/index.mdx new file mode 100644 index 000000000..abb8d8195 --- /dev/null +++ b/packages/docs/pages/index.mdx @@ -0,0 +1,103 @@ +import React from "react"; +import { WalletSection } from "../components"; + +# CosmosKit + +

+ cosmos-kit +

+ +
+
+ + + +
+
+ + + +
+ +
+ + + +
+
+ +Cosmos Kit is a univeral wallet adapter for developers to build apps that quickly and easily interact with Cosmos blockchains and wallets. + +## Get Started + +⚡️ [How to use CosmosKit](https://docs.cosmology.zone/cosmos-kit/get-started) + +## Try It Out! + + + +## Wallet Developers + +🔌 [How to integrate new wallets into CosmosKit](https://docs.cosmology.zone/cosmos-kit/integrating-wallets/adding-new-wallets) + +## Packages + +### [@cosmos-kit/core](https://github.com/cosmology-tech/cosmos-kit/tree/main/packages/core) + +Core package of CosmosKit, including types, utils and base classes. + +### [@cosmos-kit/react](https://github.com/cosmology-tech/cosmos-kit/tree/main/packages/react) + +A wallet adapter for React with mobile WalletConnect support for the Cosmos ecosystem. + +### [@cosmos-kit/react-lite](https://github.com/cosmology-tech/cosmos-kit/tree/main/packages/react-lite) + +A lighter version of `@cosmos-kit/react` without the default modal. + +### [@cosmos-kit/ins](https://github.com/cosmology-tech/cosmos-kit/tree/main/packages/ins) + +Interchain Name System implementation + +### [@cosmos-kit/walletconnect](https://github.com/cosmology-tech/cosmos-kit/tree/main/packages/walletconnect) + +[Wallet Connect V2](https://walletconnect.com/) support tools (usually used when integrating mobile wallets). + +### [WALLETS](/integrating-wallets) + +Wallets integrated in CosmosKit. + +### [@cosmos-kit/example](https://github.com/cosmology-tech/cosmos-kit/tree/main/packages/example) + +An example Next.js project integrating `@cosmos-kit/react` wallet adapter. + +## Related Projects + +### [create-cosmos-app](https://github.com/cosmology-tech/create-cosmos-app) + +Set up a modern Cosmos app by running one command ⚛️ + +### [chain-registry](https://github.com/cosmology-tech/chain-registry) + +An npm module for the official Cosmos chain-registry diff --git a/packages/docs/pages/integrating-wallets/_meta.json b/packages/docs/pages/integrating-wallets/_meta.json new file mode 100644 index 000000000..38bb740a3 --- /dev/null +++ b/packages/docs/pages/integrating-wallets/_meta.json @@ -0,0 +1,25 @@ +{ + "index": "Introduction", + "adding-new-wallets": "Adding New Wallets", + "adding-all-wallets": "Adding All Wallets", + "compass": "@ Compass Wallet", + "cosmos-metamask-extension": "@ Cosmos MetaMask Extension", + "cosmostation": "@ Cosmostation Wallet", + "exodus": "@ Exodus Wallet", + "fin": "@ Fin Wallet", + "frontier": "@ Frontier Wallet", + "keplr": "@ Keplr Wallet", + "leap": "@ Leap Wallet", + "leap-capsule-social-login": "@ Leap Capsule Social Login", + "leap-metamask-comos-snap": "@ Leap Cosmos MetaMask Snap", + "ledger": "@ Ledger", + "ninji": "@ Ninji", + "okx": "@ Okx Wallet", + "omni": "@ Omni Wallet", + "shell": "@ Shell Wallet", + "station": "@ Station Wallet", + "trust": "@ Trust Wallet", + "vectis": "@ Vectis Wallet", + "web3auth": "@ Web3Auth", + "xdefi": "@ Xdefi Wallet" +} diff --git a/packages/docs/pages/integrating-wallets/adding-all-wallets.mdx b/packages/docs/pages/integrating-wallets/adding-all-wallets.mdx new file mode 100644 index 000000000..fd4abcfc6 --- /dev/null +++ b/packages/docs/pages/integrating-wallets/adding-all-wallets.mdx @@ -0,0 +1,56 @@ +# How to Add All Wallets at Once + +The `cosmos-kit` package exports all supported `wallets` in CosmosKit. + +## Add `cosmos-kit` + +```sh +# npm +npm i cosmos-kit + +# pnpm +pnpm i cosmos-kit + +# yarn +yarn add cosmos-kit +``` + +## Import the wallets + +```js +import { wallets } from "cosmos-kit"; +``` + +## Add to your provider + +```js +function MyCosmosApp({ Component, pageProps }: AppProps) { + return ( + + + + ); +} + +export default MyCosmosApp; +``` + +## Subset of wallets +```js +import { wallets } from 'cosmos-kit' + +wallets.mobile // An array of mobile wallets +wallets.extension // An array of extension wallets +wallets.for('keplr', 'cosmostation') // [KeplrExtensionWallet, KeplrMobileWallet, CosmostationExtensionWallet, CosmostationMobileWallet] +wallets.for('keplr', 'cosmostation').mobile // [KeplrMobileWallet, CosmostationMobileWallet] +wallets.for('keplr', 'cosmostation').extension // [KeplrExtensionWallet, CosmostationExtensionWallet] +wallets.not('coin98', 'compass') // wallets except Coin98 and Compass +wallets.keplr // [KeplrExtensionWallet, KeplrMobileWallet] +wallets.keplr.mobile // KeplrMobileWallet +wallets.keplr.extension // KeplrExtensionWallet +``` \ No newline at end of file diff --git a/packages/docs/pages/integrating-wallets/adding-new-wallets.mdx b/packages/docs/pages/integrating-wallets/adding-new-wallets.mdx new file mode 100644 index 000000000..4c0235258 --- /dev/null +++ b/packages/docs/pages/integrating-wallets/adding-new-wallets.mdx @@ -0,0 +1,133 @@ +# How to Integrate New Wallets into CosmosKit + +## Quickly Add Extension Wallets + +1. Copy files in [Leap Extension](https://github.com/cosmology-tech/cosmos-kit/tree/main/wallets/leap-extension/src/extension) to your package; + +2. Replace `Leap` with your wallet name (_with first letter capitalized_) **globally**; + +3. Replace `leap` with your wallet name (_with first letter in lowercase_) **globally**; + +4. Edit file `client.ts`, `registry.ts`, `types.ts` and `utils.ts`. Replace what is different from Leap with the new wallet specificated methods/properties. + +5. Construct the MainWallet (_class in `main-wallet.ts`_) instance and put it into `ChainProvider` `wallets` property. + +## Quickly Add Mobile Wallets + +### For wallets support [Wallet Connect v2.0](https://docs.walletconnect.com/2.0) + +1. Copy files in [Keplr Mobile](https://github.com/cosmology-tech/cosmos-kit/tree/main/wallets/keplr-mobile/src/wallet-connect) to your package; + +2. Replace `Keplr` with your wallet name (_with first letter capitalized_) **globally**; + +3. Replace `keplr` with your wallet name (_with first letter in lowercase_) **globally**; + +4. Edit file `client.ts`, `registry.ts` and `types.ts`. Replace what is different from Keplr with the new wallet specificated methods/properties. For `client.ts`, the main replacement would happen in `getAppUrl` and the `method` parameter of `sendCustomRequest` + +5. Construct the MainWallet (_class in `main-wallet.ts`_) instance and put it into `ChainProvider` `wallets` property. + +## Add New Wallets from Scratch + +### 1️⃣ Prepare basic information for wallet + +#### Required properties + +| Key | Type | Description | +| ------------------------------- | ---------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| **name** | `WalletName = string` | identifier | +| **prettyName** | `string` | display name | +| **mode** | `WalletMode = 'extension' \| 'wallet-connect'` | wallet client type | +| **mobileDisabled**\* | `boolean` | display on mobile or not | +| **walletconnect** | `{ name: string; projectId: string; encoding?: BufferEncoding }` | only required when you are integrating mobile wallets based on [walletconnect](https://walletconnect.com/). If `encoding` is undefined, by default using `hex` to encode bytes | + +\* Usually `true` when **mode** is `wallet-connect`, `false` when **mode** is `extension`. + +#### Optional properties + +| Key | Type | Description | +| ----------------------------- | ---------------| ------------------------| +| **rejectMessage** | `string` \| `{ source: string; target?: string }` | `rejectMessage` or `rejectMessage.source` is error message string thrown by wallet app/extension when user rejects, while `rejectMessage.target` is `message` returned by hooks. If not provided, `target` would be `'Request Rejected!'` | +| **connectEventNamesOnWindow** | `string[]` | window event names to fire auto-connect | +| **connectEventNamesOnClient** | `string[]` | wallet client event names to fire auto-connect (make sure `on` and `off` methods are defined in [`WalletClient`](#2️⃣-implement-walletclient)) | +| **downloads** | [`DownloadInfo[]`](https://github.com/cosmology-tech/cosmos-kit/blob/ce50648487e73c1f6f17777347df7984168381af/packages/core/src/types/wallet.ts#L28-L31) | wallet app/extension download information | +| **logo** | `string` \| `{ major: string, minor: string }` | wallet logo url, display on default modal. For MetaMask Snaps, use `logo: { major: METAMASK_LOGO, minor: WALLET_LOGO }`| +| **extends** | 'MetaMask' | indicate it's a MetaMask Snap + +#### Examples + +- [Keplr Extension - Wallet Info](https://github.com/cosmology-tech/cosmos-kit/tree/main/wallets/keplr-extension/src/extension/registry.ts) + +- [Keplr Mobile - Wallet Info](https://github.com/cosmology-tech/cosmos-kit/tree/main/wallets/keplr-extension/src/wallet-connect/registry.ts) + +### 2️⃣ Implement `WalletClient` + +`MainWallet` is a class organizing all `ChainWallet`s. **It should extend `MainWalletBase` class**, in which protected `_chainWallets` property stores all `ChainWallet`s. + +#### Required methods + +| Key | Type | Description | +| -------------------- | --------------------------------------------- | ------------------------------------------------------- | +| **getSimpleAccount** | `(chainId: string) => Promise` | return account with address but without pubkey and algo | + +#### Optional methods + +| Key | Type | Description | +| -------------------- | --------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | +| **getAccount** | `(chainId: string) => Promise`\* | return account with address, pubkey and algo | +| **getOfflineSigner** | `(chainId: string, preferredSignType?: SignType) => Promise` | prioritize returning `preferredSignType` (by default `amino`) corresponding signer if it is available, otherwise return siger that is provided. | +| **enable** | `(chainIds: string \| string[]) => Promise` | give permission for the webpage to access wallet | +| **addChain** | `(chainInfo: ChainRecord) => Promise` | add new Cosmos-SDK based blockchains that isn't natively integrated to wallet app/extension | +| **on** | `(type: string, listener: EventListenerOrEventListenerObject) => void` | add event listener | +| **off** | `(type: string, listener: EventListenerOrEventListenerObject) => void` | remove event listener | + +#### Examples + +- [Keplr Client](https://github.com/cosmology-tech/cosmos-kit/tree/main/wallets/keplr-extension/src/extension/client.ts) + +### 3️⃣ Extend `ChainWalletBase` + +Create a `ChainWallet` class that extends `ChainWalletBase`. `ChainWallet` provides wallet information for a particular chain, e.g. `address`, `offlineSigner`, etc. + +`ChainWalletBase` has implemented a bunch of methods such as wallet connection, sign, broadcast, etc. [[learn more]](#). Therefore, normally you don't need to do any extra work inside `ChainWallet`. But feel free to overwrite these methods or add new methods/properties if customization is needed to meet new demand. + +#### Examples + +- [Keplr Extension - Chain Wallet](https://github.com/cosmology-tech/cosmos-kit/tree/main/wallets/keplr-extension/src/extension/chain-wallet.ts) + +- [Keplr Mobile - Chain Wallet](https://github.com/cosmology-tech/cosmos-kit/tree/main/packages/keplr/src/wallet-connect/chain-wallet.ts) + +### 4️⃣ Extend `MainWalletBase` + +Create a `MainWallet` class that extends `MainWalletBase`. `MainWallet` organizes all `ChainWallet`s, which are stored in protected member `_chainWallets`. + +> Note: Class `ChainWallet` created in [Step 3](#3️⃣-extend-chainWalletbase) is required in `MainWalletBase` construction. + +#### Required methods + +| Key | Type | +| -------------- | ------------------------------------------ | +| **initClient** | `() => void \| Promise`\* | + +\* `WalletClient` is the one implemented in [Step 2](#2️⃣-implement-walletclient). + +Also, feel free to overwrite methods in `MainWalletBase` or add new methods/properties if necessary. + +#### Examples + +- [Keplr Extension - Main Wallet](https://github.com/cosmology-tech/cosmos-kit/tree/main/wallets/keplr-extension/src/extension/main-wallet.ts) + +- [Keplr Mobile - Main Wallet](https://github.com/cosmology-tech/cosmos-kit/tree/main/packages/keplr/src/wallet-connect/main-wallet.ts) + +### 5️⃣ Get `MainWallet` instance + +You can construct your `MainWallet` Instance according to your `MainWallet` construct method now. Usually the `walletInfo` object prepared in [Step 1](#1️⃣-prepare-basic-information-for-wallet) is imported here as a construction argument. + +#### Examples + +- [keplrExtension & keplrMobile](https://github.com/cosmology-tech/cosmos-kit/tree/main/packages/keplr/src/keplr.ts) + +Last but not least, append this instance to the `wallets` property of [ChainProvider](/provider/chain-provider). + +## 6️⃣ Don't Forget To Update Docs + +Add `Markdown File` just like other wallets [here](https://github.com/cosmology-tech/cosmos-kit/tree/main/packages/docs/pages/integrating-wallets). diff --git a/packages/docs/pages/integrating-wallets/cdc.mdx b/packages/docs/pages/integrating-wallets/cdc.mdx new file mode 100644 index 000000000..b0b61b516 --- /dev/null +++ b/packages/docs/pages/integrating-wallets/cdc.mdx @@ -0,0 +1,43 @@ +# How to Add Crypto.com Wallet to CosmosKit + +There are two packages for Crypto.com Wallet + +- `@cosmos-kit/cdcwallet` +- `@cosmos-kit/cdcwallet-extension` + +`@cosmos-kit/cdcwallet` export all available Crypto.com wallets (currently only extension available), while if you only want to add a particular one, choose `@cosmos-kit/cdcwallet-extension` + +> Note: all these packages export `wallets` and it's an array of `MainWalletBase` + +Take `@cosmos-kit/cdcwallet` for example + +## add `@cosmos-kit/cdcwallet` + +``` +yarn add @cosmos-kit/cdcwallet +``` + +## import the wallets + +```js +import { wallets as cdcwallet } from "@cosmos-kit/cdcwallet"; +``` + +## add to your provider + +```js +function MyCosmosApp({ Component, pageProps }: AppProps) { + return ( + + + + ); +} + +export default MyCosmosApp; +``` diff --git a/packages/docs/pages/integrating-wallets/compass.mdx b/packages/docs/pages/integrating-wallets/compass.mdx new file mode 100644 index 000000000..96c61fc34 --- /dev/null +++ b/packages/docs/pages/integrating-wallets/compass.mdx @@ -0,0 +1,43 @@ +# How to Add Compass Wallet to CosmosKit + +There are two packages for compass + +- `@cosmos-kit/compass` +- `@cosmos-kit/compass-extension` + +`@cosmos-kit/compass` export all available compass wallets (currently only extension available), while if you only want to add a particular one, choose `@cosmos-kit/compass-extension` + +> Note: all these packages export `wallets` and it's an array of `MainWalletBase` + +Take `@cosmos-kit/compass` for example + +## add `@cosmos-kit/compass` + +``` +yarn add @cosmos-kit/compass +``` + +## import the wallets + +```js +import { wallets as compass } from "@cosmos-kit/compass"; +``` + +## add to your provider + +```js +function MyCosmosApp({ Component, pageProps }: AppProps) { + return ( + + + + ); +} + +export default MyCosmosApp; +``` diff --git a/packages/docs/pages/integrating-wallets/cosmos-metamask-extension.mdx b/packages/docs/pages/integrating-wallets/cosmos-metamask-extension.mdx new file mode 100644 index 000000000..2bad49ee3 --- /dev/null +++ b/packages/docs/pages/integrating-wallets/cosmos-metamask-extension.mdx @@ -0,0 +1,36 @@ +# How to Add Cosmos MetaMask Extension to CosmosKit + +- `@cosmos-kit/cosmos-extension-metamask` + +`@cosmos-kit/cosmos-extension-metamask` export wallets for connecting to the official Cosmos MetaMask Snap + +## add `@cosmos-kit/cosmos-extension-metamask` + +``` +yarn add @cosmos-kit/cosmos-extension-metamask +``` + +## import the wallets + +```js +import { wallets } from "@cosmos-kit/cosmos-extension-metamask"; +``` + +## add to your provider + +```js +function MyCosmosApp({ Component, pageProps }: AppProps) { + return ( + + + + ); +} + +export default MyCosmosApp; +``` diff --git a/packages/docs/pages/integrating-wallets/cosmostation.mdx b/packages/docs/pages/integrating-wallets/cosmostation.mdx new file mode 100644 index 000000000..42d93d6dd --- /dev/null +++ b/packages/docs/pages/integrating-wallets/cosmostation.mdx @@ -0,0 +1,44 @@ +# How to Add Cosmostation Wallet to CosmosKit + +There are three packages for cosmostation + +- `@cosmos-kit/cosmostation` +- `@cosmos-kit/cosmostation-extension` +- `@cosmos-kit/cosmostation-mobile` (using walletconnect v1, v2 is coming soon) + +`@cosmos-kit/cosmostation` export all available cosmostation wallets, while if you only want to add a particular one, choose `@cosmos-kit/cosmostation-extension` or `@cosmos-kit/cosmostation-mobile` + +> Note: all these packages export `wallets` and it's an array of `MainWalletBase` + +Take `@cosmos-kit/cosmostation` for example + +## add `@cosmos-kit/cosmostation` + +``` +yarn add @cosmos-kit/cosmostation +``` + +## import the wallets + +```js +import { wallets as cosmostation } from "@cosmos-kit/cosmostation"; +``` + +## add to your provider + +```js +function MyCosmosApp({ Component, pageProps }: AppProps) { + return ( + + + + ); +} + +export default MyCosmosApp; +``` diff --git a/packages/docs/pages/integrating-wallets/exodus.mdx b/packages/docs/pages/integrating-wallets/exodus.mdx new file mode 100644 index 000000000..6ee5e89db --- /dev/null +++ b/packages/docs/pages/integrating-wallets/exodus.mdx @@ -0,0 +1,43 @@ +# How to Add Exodus Wallet to CosmosKit + +There are two packages for exodus + +- `@cosmos-kit/exodus` +- `@cosmos-kit/exodus-extension` + +`@cosmos-kit/exodus` export all available exodus wallets (currently only extension available), while if you only want to add a particular one, choose `@cosmos-kit/exodus-extension` + +> Note: all these packages export `wallets` and it's an array of `MainWalletBase` + +Take `@cosmos-kit/exodus` for example + +## add `@cosmos-kit/exodus` + +``` +yarn add @cosmos-kit/exodus +``` + +## import the wallets + +```js +import { wallets as exodus } from "@cosmos-kit/exodus"; +``` + +## add to your provider + +```js +function MyCosmosApp({ Component, pageProps }: AppProps) { + return ( + + + + ); +} + +export default MyCosmosApp; +``` diff --git a/packages/docs/pages/integrating-wallets/fin.mdx b/packages/docs/pages/integrating-wallets/fin.mdx new file mode 100644 index 000000000..4309897aa --- /dev/null +++ b/packages/docs/pages/integrating-wallets/fin.mdx @@ -0,0 +1,43 @@ +# How to Add Fin Wallet to CosmosKit + +There are two packages for fin + +- `@cosmos-kit/fin` +- `@cosmos-kit/fin-extension` + +`@cosmos-kit/fin` export all available fin wallets (currently only extension available), while if you only want to add a particular one, choose `@cosmos-kit/fin-extension` + +> Note: all these packages export `wallets` and it's an array of `MainWalletBase` + +Take `@cosmos-kit/fin` for example + +## add `@cosmos-kit/fin` + +``` +yarn add @cosmos-kit/fin +``` + +## import the wallets + +```js +import { wallets as fin } from "@cosmos-kit/fin"; +``` + +## add to your provider + +```js +function MyCosmosApp({ Component, pageProps }: AppProps) { + return ( + + + + ); +} + +export default MyCosmosApp; +``` diff --git a/packages/docs/pages/integrating-wallets/frontier.mdx b/packages/docs/pages/integrating-wallets/frontier.mdx new file mode 100644 index 000000000..8455d06a7 --- /dev/null +++ b/packages/docs/pages/integrating-wallets/frontier.mdx @@ -0,0 +1,43 @@ +# How to Add Frontier Wallet to CosmosKit + +There are two packages for frontier + +- `@cosmos-kit/frontier` +- `@cosmos-kit/frontier-extension` + +`@cosmos-kit/frontier` export all available frontier wallets (currently only extension available), while if you only want to add a particular one, choose `@cosmos-kit/frontier-extension` + +> Note: all these packages export `wallets` and it's an array of `MainWalletBase` + +Take `@cosmos-kit/frontier` for example + +## add `@cosmos-kit/frontier` + +``` +yarn add @cosmos-kit/frontier +``` + +## import the wallets + +```js +import { wallets as frontier } from "@cosmos-kit/frontier"; +``` + +## add to your provider + +```js +function MyCosmosApp({ Component, pageProps }: AppProps) { + return ( + + + + ); +} + +export default MyCosmosApp; +``` diff --git a/packages/docs/pages/integrating-wallets/galaxy-station.mdx b/packages/docs/pages/integrating-wallets/galaxy-station.mdx new file mode 100644 index 000000000..1e1477508 --- /dev/null +++ b/packages/docs/pages/integrating-wallets/galaxy-station.mdx @@ -0,0 +1,43 @@ +# How to Add Galaxy Station Wallet to CosmosKit + +There are two packages for galaxy station + +- `@cosmos-kit/galaxy-station` +- `@cosmos-kit/galaxy-station-extension` + +`@cosmos-kit/galaxy-station` export all available galaxy station wallets (currently only extension available), while if you only want to add a particular one, choose `@cosmos-kit/galaxy-station-extension` + +> Note: all these packages export `wallets` and it's an array of `MainWalletBase` + +Take `@cosmos-kit/galaxy-station` for example + +## add `@cosmos-kit/galaxy-station` + +``` +yarn add @cosmos-kit/galaxy-station +``` + +## import the wallets + +```js +import { wallets as galaxy-station } from "@cosmos-kit/galaxy-station"; +``` + +## add to your provider + +```js +function MyCosmosApp({ Component, pageProps }: AppProps) { + return ( + + + + ); +} + +export default MyCosmosApp; +``` diff --git a/packages/docs/pages/integrating-wallets/index.mdx b/packages/docs/pages/integrating-wallets/index.mdx new file mode 100644 index 000000000..d6e7e38d7 --- /dev/null +++ b/packages/docs/pages/integrating-wallets/index.mdx @@ -0,0 +1,13 @@ +# Wallet Integrations + +## Wallet Providers + +If you are a wallet provider, please see the docs for adding your wallet to our repository as a supported wallet: + +#### 🔌 [Documentation for Wallet Providers to add a new Wallet](/integrating-wallets/adding-new-wallets) + +## Dapp developers + +### Supported Wallets + +See left sidebar (Titles starting with `@` are wallets supported by CosmosKit). diff --git a/packages/docs/pages/integrating-wallets/keplr.mdx b/packages/docs/pages/integrating-wallets/keplr.mdx new file mode 100644 index 000000000..9adaf9d54 --- /dev/null +++ b/packages/docs/pages/integrating-wallets/keplr.mdx @@ -0,0 +1,44 @@ +# How to Add Keplr Wallet to CosmosKit + +There are three packages for keplr + +- `@cosmos-kit/keplr` +- `@cosmos-kit/keplr-extension` +- `@cosmos-kit/keplr-mobile` + +`@cosmos-kit/keplr` export all available keplr wallets, while if you only want to add a particular one, choose `@cosmos-kit/keplr-extension` or `@cosmos-kit/keplr-mobile` + +> Note: all these packages export `wallets` and it's an array of `MainWalletBase` + +Take `@cosmos-kit/keplr` for example + +## install `@cosmos-kit/keplr` + +``` +yarn add @cosmos-kit/keplr +``` + +## import the wallets + +```js +import { wallets as keplr } from "@cosmos-kit/keplr"; +``` + +## add to your provider + +```js +function MyCosmosApp({ Component, pageProps }: AppProps) { + return ( + + + + ); +} + +export default MyCosmosApp; +``` diff --git a/packages/docs/pages/integrating-wallets/leap-capsule-social-login.mdx b/packages/docs/pages/integrating-wallets/leap-capsule-social-login.mdx new file mode 100644 index 000000000..a43a6c154 --- /dev/null +++ b/packages/docs/pages/integrating-wallets/leap-capsule-social-login.mdx @@ -0,0 +1,117 @@ +# @cosmos-kit/leap-capsule-social-login + + +`@cosmos-kit/leap-capsule-social-login` is the social login integration for CosmosKit using `@leapwallet/cosmos-social-login-capsule-provider` + +> You need install [@leapwallet/cosmos-social-login-capsule-provider-ui](https://www.npmjs.com/package/@leapwallet/cosmos-social-login-capsule-provider-ui) package for UI. + +> When you build it please have the environment variables `CAPSULE_API_KEY` and `CAPSULE_ENV` which you can request from [here](https://7f4shq8oyfd.typeform.com/to/F86oVLhb?typeform-source=usecapsule.com) + +## NextJS + +For nextjs we recommend to load the module dynamic or async as it is not yet supporting SSR. + +> When you build it please have the environment variables `NEXT_PUBLIC_CAPSULE_API_KEY` and `NEXT_PUBLIC_CAPSULE_ENV` which you can request from [here](https://7f4shq8oyfd.typeform.com/to/F86oVLhb?typeform-source=usecapsule.com) + +### In next.config.js + +> transpilePackages: ["@cosmos-kit/leap-social-login", "@leapwallet/capsule-web-sdk-lite", "@leapwallet/cosmos-social-login-capsule-provider"], + + +### For example + +```jsx + +function MyApp({ Component, pageProps }: AppProps) { + const defaultWallets: MainWalletBase[] = [...keplrWallets, ...leapWallets]; + const [wallets, setWallets] = useState(defaultWallets) + const [loadingWallets, setLoadingWallet] = useState(false); + + useEffect(() => { + setLoadingWallet(true) + import("@cosmos-kit/leap-capsule-social-login").then( + (CapsuleModule) => { + return CapsuleModule.wallets; + }, + ).then((leapSocialLogin) => { + setWallets([...keplrWallets, ...leapWallets, ...leapSocialLogin]) + setLoadingWallet(false); + }) + }, []) + + + if (loadingWallets) { + return <>Loading... + } + + + return ( + + + + + + + ); +} + +export default MyApp; + + +const LeapSocialLogin = dynamic( + () => + import("@leapwallet/cosmos-social-login-capsule-provider-ui").then( + (m) => m.CustomCapsuleModalView, + ), + { ssr: false }, +); + +export function CustomCapsuleModalViewX() { + const [showCapsuleModal, setShowCapsuleModal] = useState(false); + + useEffect(() => { + window.openCapsuleModal = () => { + setShowCapsuleModal(true); + } + }, []) + + return ( + <> + { + window.successFromCapsuleModal(); + }} + onLoginFailure={ + () => { + window.failureFromCapsuleModal(); + } + } + /> + + ); +} +``` diff --git a/packages/docs/pages/integrating-wallets/leap-metamask-comos-snap.mdx b/packages/docs/pages/integrating-wallets/leap-metamask-comos-snap.mdx new file mode 100644 index 000000000..69d259890 --- /dev/null +++ b/packages/docs/pages/integrating-wallets/leap-metamask-comos-snap.mdx @@ -0,0 +1,36 @@ +# How to Add Leap Metamask Cosmos Snap to CosmosKit + +- `@cosmos-kit/leap-metamask-cosmos-snap` + +`@cosmos-kit/leap-metamask-cosmos-snap` export wallets for connecting to the leap cosmos snap in metamask + +## add `@cosmos-kit/leap-metamask-cosmos-snap` + +``` +yarn add @cosmos-kit/leap-metamask-cosmos-snap +``` + +## import the wallets + +```js +import { wallets } from "@cosmos-kit/leap-metamask-cosmos-snap"; +``` + +## add to your provider + +```js +function MyCosmosApp({ Component, pageProps }: AppProps) { + return ( + + + + ); +} + +export default MyCosmosApp; +``` diff --git a/packages/docs/pages/integrating-wallets/leap.mdx b/packages/docs/pages/integrating-wallets/leap.mdx new file mode 100644 index 000000000..e6d8abdbe --- /dev/null +++ b/packages/docs/pages/integrating-wallets/leap.mdx @@ -0,0 +1,45 @@ +# How to Add Leap Wallet to CosmosKit + +There are three packages for leap + +- `@cosmos-kit/leap` +- `@cosmos-kit/leap-extension` +- `@cosmos-kit/leap-mobile` +- `@cosmos-kit/leap-metamask-cosmos-snap` + +`@cosmos-kit/leap` export all available leap wallets, while if you only want to add a particular one, choose `@cosmos-kit/leap-extension` or `@cosmos-kit/leap-mobile` or `@cosmos-kit/leap-metamask-cosmos-snap` + +> Note: all these packages export `wallets` and it's an array of `MainWalletBase` + +Take `@cosmos-kit/leap` for example + +## add `@cosmos-kit/leap` + +``` +yarn add @cosmos-kit/leap +``` + +## import the wallets + +```js +import { wallets as leap } from "@cosmos-kit/leap"; +``` + +## add to your provider + +```js +function MyCosmosApp({ Component, pageProps }: AppProps) { + return ( + + + + ); +} + +export default MyCosmosApp; +``` diff --git a/packages/docs/pages/integrating-wallets/ledger.mdx b/packages/docs/pages/integrating-wallets/ledger.mdx new file mode 100644 index 000000000..6f23e2703 --- /dev/null +++ b/packages/docs/pages/integrating-wallets/ledger.mdx @@ -0,0 +1,52 @@ +# How to Add Ledger to CosmosKit + +## Prerequisites + +1. Connect your Ledger device via an USB cable and unlock it. +2. Open the Cosmos app in Ledger, which shows `Cosmos Ready` in the screen. + +## Browser Support + +This package uses the [WebUSB](https://caniuse.com/webusb) API to connect to Ledger devices. +We recommend using the latest version of Chrome and Chrome Android. + +- https://developer.mozilla.org/en-US/docs/Web/API/USB/getDevices +- https://developer.mozilla.org/en-US/docs/Web/API/USB/requestDevice + +## Add `@cosmos-kit/ledger` + +```sh +# npm +npm i @cosmos-kit/ledger + +# pnpm +pnpm i @cosmos-kit/ledger + +# yarn +yarn add @cosmos-kit/ledger +``` + +## Import the wallets + +```js +import { wallets as ledger } from "@cosmos-kit/ledger"; +``` + +## Add to your provider + +```js +function MyCosmosApp({ Component, pageProps }: AppProps) { + return ( + + + + ); +} + +export default MyCosmosApp; +``` diff --git a/packages/docs/pages/integrating-wallets/ninji.mdx b/packages/docs/pages/integrating-wallets/ninji.mdx new file mode 100644 index 000000000..013e114d2 --- /dev/null +++ b/packages/docs/pages/integrating-wallets/ninji.mdx @@ -0,0 +1,43 @@ +# How to Add Ninji Wallet to CosmosKit + +There are two packages for ninji + +- `@cosmos-kit/ninji` +- `@cosmos-kit/ninji-extension` + +`@cosmos-kit/ninji` export all available ninji wallets (currently only extension available), while if you only want to add a particular one, choose `@cosmos-kit/ninji-extension` + +> Note: all these packages export `wallets` and it's an array of `MainWalletBase` + +Take `@cosmos-kit/ninji` for example + +## add `@cosmos-kit/ninji` + +``` +yarn add @cosmos-kit/ninji +``` + +## import the wallets + +```js +import { wallets as ninji } from "@cosmos-kit/ninji"; +``` + +## add to your provider + +```js +function MyCosmosApp({ Component, pageProps }: AppProps) { + return ( + + + + ); +} + +export default MyCosmosApp; +``` diff --git a/packages/docs/pages/integrating-wallets/okto.mdx b/packages/docs/pages/integrating-wallets/okto.mdx new file mode 100644 index 000000000..dbe303edd --- /dev/null +++ b/packages/docs/pages/integrating-wallets/okto.mdx @@ -0,0 +1,38 @@ +# How to Add Okto Wallet to CosmosKit + +There is one package for Okto + +- `@cosmos-kit/okto-extension` + +> Note: This package exports `wallets` and it's an array of `MainWalletBase`. + +## add `@cosmos-kit/okto-extension` + +``` +yarn add @cosmos-kit/okto +``` + +## import the wallets + +```js +import { wallets as okto } from "@cosmos-kit/okto"; +``` + +## add to your provider + +```js +function MyCosmosApp({ Component, pageProps }: AppProps) { + return ( + + + + ); +} + +export default MyCosmosApp; +``` diff --git a/packages/docs/pages/integrating-wallets/okx.mdx b/packages/docs/pages/integrating-wallets/okx.mdx new file mode 100644 index 000000000..b8bf5f74b --- /dev/null +++ b/packages/docs/pages/integrating-wallets/okx.mdx @@ -0,0 +1,43 @@ +# How to Add Okx Wallet to CosmosKit + +There are two packages for okxwallet + +- `@cosmos-kit/okxwallet` +- `@cosmos-kit/okxwallet-extension` + +`@cosmos-kit/okxwallet` export all available okxwallet wallets, while if you only want to add a particular one, choose `@cosmos-kit/okxwallet-extension` + +> Note: all these packages export `wallets` and it's an array of `MainWalletBase` + +Take `@cosmos-kit/okxwallet` for example + +## install `@cosmos-kit/okxwallet` + +``` +yarn add @cosmos-kit/okxwallet +``` + +## import the wallets + +```js +import { wallets as okxwallet } from "@cosmos-kit/okxwallet"; +``` + +## add to your provider + +```js +function MyCosmosApp({ Component, pageProps }: AppProps) { + return ( + + + + ); +} + +export default MyCosmosApp; +``` diff --git a/packages/docs/pages/integrating-wallets/omni.mdx b/packages/docs/pages/integrating-wallets/omni.mdx new file mode 100644 index 000000000..272ebbe05 --- /dev/null +++ b/packages/docs/pages/integrating-wallets/omni.mdx @@ -0,0 +1,43 @@ +# How to Add Omni Wallet to CosmosKit + +There are two packages for omni + +- `@cosmos-kit/omni` +- `@cosmos-kit/omni-mobile` + +`@cosmos-kit/omni` export all available omni wallets (currently only mobile available), while if you only want to add a particular one, choose `@cosmos-kit/omni-mobile` + +> Note: all these packages export `wallets` and it's an array of `MainWalletBase` + +Take `@cosmos-kit/omni` for example + +## add `@cosmos-kit/omni` + +``` +yarn add @cosmos-kit/omni +``` + +## import the wallets + +```js +import { wallets as omni } from "@cosmos-kit/omni"; +``` + +## add to your provider + +```js +function MyCosmosApp({ Component, pageProps }: AppProps) { + return ( + + + + ); +} + +export default MyCosmosApp; +``` diff --git a/packages/docs/pages/integrating-wallets/shell.mdx b/packages/docs/pages/integrating-wallets/shell.mdx new file mode 100644 index 000000000..8b262cbf9 --- /dev/null +++ b/packages/docs/pages/integrating-wallets/shell.mdx @@ -0,0 +1,43 @@ +# How to Add Shell Wallet to CosmosKit + +There are three packages for shell + +- `@cosmos-kit/shell` +- `@cosmos-kit/shell-extension` + +`@cosmos-kit/shell` export all available shell wallets, while if you only want to add a particular one, choose `@cosmos-kit/shell-extension` + +> Note: all these packages export `wallets` and it's an array of `MainWalletBase` + +Take `@cosmos-kit/shell` for example + +## install `@cosmos-kit/shell` + +``` +yarn add @cosmos-kit/shell +``` + +## import the wallets + +```js +import { wallets as shell } from "@cosmos-kit/shell"; +``` + +## add to your provider + +```js +function MyCosmosApp({ Component, pageProps }: AppProps) { + return ( + + + + ); +} + +export default MyCosmosApp; +``` diff --git a/packages/docs/pages/integrating-wallets/station.mdx b/packages/docs/pages/integrating-wallets/station.mdx new file mode 100644 index 000000000..90cf4b0df --- /dev/null +++ b/packages/docs/pages/integrating-wallets/station.mdx @@ -0,0 +1,43 @@ +# How to Add Station Wallet to CosmosKit + +There are two packages for station + +- `@cosmos-kit/station` +- `@cosmos-kit/station-extension` + +`@cosmos-kit/station` export all available station wallets (currently only extension available), while if you only want to add a particular one, choose `@cosmos-kit/station-extension` + +> Note: all these packages export `wallets` and it's an array of `MainWalletBase` + +Take `@cosmos-kit/station` for example + +## add `@cosmos-kit/station` + +``` +yarn add @cosmos-kit/station +``` + +## import the wallets + +```js +import { wallets as station } from "@cosmos-kit/station"; +``` + +## add to your provider + +```js +function MyCosmosApp({ Component, pageProps }: AppProps) { + return ( + + + + ); +} + +export default MyCosmosApp; +``` diff --git a/packages/docs/pages/integrating-wallets/tailwind.mdx b/packages/docs/pages/integrating-wallets/tailwind.mdx new file mode 100644 index 000000000..5dc41d501 --- /dev/null +++ b/packages/docs/pages/integrating-wallets/tailwind.mdx @@ -0,0 +1,43 @@ +# How to add TAILWIND Wallet to CosmosKit + +There are two packages for okxwallet + +- `@cosmos-kit/tailwind` +- `@cosmos-kit/tailwind-extension` + +`@cosmos-kit/tailwind` export all available okxwallet wallets, while if you only want to add a particular one, choose `@cosmos-kit/tailwind-extension` + +> Note: all these packages export `wallets` and it's an array of `MainWalletBase` + +Take `@cosmos-kit/tailwind` for example + +## install `@cosmos-kit/tailwind` + +```sh +yarn add @cosmos-kit/tailwind +``` + +## import the wallets + +```ts +import { wallets as tailwindWallet } from "@cosmos-kit/tailwind"; +``` + +## add to your provider + +```ts +function MyCosmosApp({ Component, pageProps }: AppProps) { + return ( + + + + ); +} + +export default MyCosmosApp; +``` diff --git a/packages/docs/pages/integrating-wallets/trust.mdx b/packages/docs/pages/integrating-wallets/trust.mdx new file mode 100644 index 000000000..a3b054c77 --- /dev/null +++ b/packages/docs/pages/integrating-wallets/trust.mdx @@ -0,0 +1,44 @@ +# How to Add Trust Wallet to CosmosKit + +There are three packages for Trust + +- `@cosmos-kit/trust` +- `@cosmos-kit/trust-extension` (NOT recommended) +- `@cosmos-kit/trust-mobile` + +> 💡 According to [Trust Doc](https://developer.trustwallet.com/developer/develop-for-trust/browser-extension), Trust Wallet Browser Extension currently supports only Ethereum & EVM chains, and support for Cosmos is still in progress. Because of the block from wallet side, `@cosmos-kit/trust-extension` is not fully implemented yet and we don't recommend to use it for now. +> +> Because of the reason above, only `@cosmos-kit/trust-mobile` is included in `@cosmos-kit/trust` so far. + +Take `@cosmos-kit/trust` for example + +## install `@cosmos-kit/trust` + +``` +yarn add @cosmos-kit/trust +``` + +## import the wallets + +```js +import { wallets as trust } from "@cosmos-kit/trust"; +``` + +## add to your provider + +```js +function MyCosmosApp({ Component, pageProps }: AppProps) { + return ( + + + + ); +} + +export default MyCosmosApp; +``` diff --git a/packages/docs/pages/integrating-wallets/vectis.mdx b/packages/docs/pages/integrating-wallets/vectis.mdx new file mode 100644 index 000000000..9e410daaf --- /dev/null +++ b/packages/docs/pages/integrating-wallets/vectis.mdx @@ -0,0 +1,43 @@ +# How to Add Vectis Wallet to CosmosKit + +There are two packages for vectis + +- `@cosmos-kit/vectis` +- `@cosmos-kit/vectis-extension` + +`@cosmos-kit/vectis` export all available vectis wallets (currently only extension available), while if you only want to add a particular one, choose `@cosmos-kit/vectis-extension` + +> Note: all these packages export `wallets` and it's an array of `MainWalletBase` + +Take `@cosmos-kit/vectis` for example + +## add `@cosmos-kit/vectis` + +``` +yarn add @cosmos-kit/vectis +``` + +## import the wallets + +```js +import { wallets as vectis } from "@cosmos-kit/vectis"; +``` + +## add to your provider + +```js +function MyCosmosApp({ Component, pageProps }: AppProps) { + return ( + + + + ); +} + +export default MyCosmosApp; +``` diff --git a/packages/docs/pages/integrating-wallets/web3auth.mdx b/packages/docs/pages/integrating-wallets/web3auth.mdx new file mode 100644 index 000000000..74a8aca89 --- /dev/null +++ b/packages/docs/pages/integrating-wallets/web3auth.mdx @@ -0,0 +1,93 @@ +# How to Add Web3Auth Wallet to CosmosKit + +> ### Note! This package is still on progress. it doesn't work on mobile yet and it's pretty vulnerable to XSS attacks. + +There is one package for web3auth + +- `@cosmos-kit/web3auth` + +> Note: all these packages export `wallets` and it's an array of `MainWalletBase` + +## install `@cosmos-kit/web3auth` + +``` +yarn add @cosmos-kit/web3auth +``` + +## import the wallets + +```js +import { makeWeb3AuthWallets, PromptSign } from "@cosmos-kit/web3auth"; +import { useMemo, useState } from "react"; +``` + +## set up web3auth account to retrieve a client ID + +https://web3auth.io/docs/dashboard-setup/ + +## add to your provider + +```js +function MyCosmosApp({ Component, pageProps }: AppProps) { + const [web3AuthPrompt, setWeb3AuthPrompt] = useState<{ + signData: SignData + resolve: (approved: boolean) => void + } | undefined>(); + const web3AuthWallets = useMemo( + () => + makeWeb3AuthWallets({ + loginMethods: [ + // add whichever login methods you want to support + { + provider: "google", + name: "Google", + logo: "https://upload.wikimedia.org/wikipedia/commons/5/53/Google_%22G%22_Logo.svg", + }, + ], + // get client ID and network from your web3auth dashboard: + // https://web3auth.io/docs/dashboard-setup/get-client-id + client: { + clientId: "localhostid", + web3AuthNetwork: "testnet", + }, + // set state to show data to sign and approve/reject buttons in modal + promptSign: async (_, signData) => + new Promise((resolve) => + setWeb3AuthPrompt({ + signData, + resolve: (approved) => { + setWeb3AuthPrompt(undefined); + resolve(approved); + }, + }) + ), + }), + [] + ); + + return ( + + + + {/* wallet signature prompt */} + web3AuthPrompt?.resolve(false)} + > + web3AuthPrompt?.resolve(true)} + reject={() => web3AuthPrompt?.resolve(false)} + /> + + + ); +} + +export default MyCosmosApp; +``` diff --git a/packages/docs/pages/integrating-wallets/xdefi.mdx b/packages/docs/pages/integrating-wallets/xdefi.mdx new file mode 100644 index 000000000..89a22b761 --- /dev/null +++ b/packages/docs/pages/integrating-wallets/xdefi.mdx @@ -0,0 +1,43 @@ +# How to Add Xdefi Wallet to CosmosKit + +There are two packages for xdefi + +- `@cosmos-kit/xdefi` +- `@cosmos-kit/xdefi-extension` + +`@cosmos-kit/xdefi` export all available xdefi wallets (currently only extension available), while if you only want to add a particular one, choose `@cosmos-kit/xdefi-extension` + +> Note: all these packages export `wallets` and it's an array of `MainWalletBase` + +Take `@cosmos-kit/xdefi` for example + +## add `@cosmos-kit/xdefi` + +``` +yarn add @cosmos-kit/xdefi +``` + +## import the wallets + +```js +import { wallets as xdefi } from "@cosmos-kit/xdefi"; +``` + +## add to your provider + +```js +function MyCosmosApp({ Component, pageProps }: AppProps) { + return ( + + + + ); +} + +export default MyCosmosApp; +``` diff --git a/packages/docs/pages/migration-to-v2.mdx b/packages/docs/pages/migration-to-v2.mdx new file mode 100644 index 000000000..85824d8a5 --- /dev/null +++ b/packages/docs/pages/migration-to-v2.mdx @@ -0,0 +1,476 @@ +# Migration from V1 to V2 + +## Major Changes + +1. `ChakraUI` Removed + +In CosmosKit V2, we discard the dependency on `ChakraUI` due to numerous runtime errors and the cost of CSS-in-JS. + +Main changes lie in `@cosmos-kit/react`, where the default modal locates. All the modal components are imported from `@interchain-ui/react`, which is our UI Kit in Cosmology. The latest `@interchain-ui/react` discards `ChakraUI` and instead adopts a pure CSS styling solution through a package called `vanilla-extract`. + +2. Build Process Changed + +In CosmosKit V2, we used pure `tsc` to compile CommonJS, ESM (es2022) instead of `babel`. Also, `.js` and `.d.ts` files are no longer to be separated in different folders, in this way non-index sources can easily find its corresponding types. + +## Migration Guides + +1. In CosmosKit V2, we require developers to install `@interchain-ui/react` and require **`import "@interchain-ui/react/styles"`** in your top-level route/layout if you are using our default modal in `@cosmos-kit/react`. i.e. in [`_app.tsx`](https://github.com/cosmology-tech/cosmos-kit/blob/af05600fd1913e0d3eb1bbef05382c1a06c6af69/packages/example/pages/_app.tsx#L4) for next project. + +2. We don't export `defaultTheme` anymore in `@cosmos-kit/react` in CosmosKit V2. + +3. `WrappedWithChakra` and `modalTheme` is removed in properties of `ChainProvider` from `@cosmos-kit/react`. + +4. `Web3Auth` wallet instance import has been replaced by constructing the wallet instance with a wallet generator function. In this way the web3auth implementation becomes much more secure, and also makes it support any of the login providers. See details [here](/integrating-wallets/web3auth) + +## Customizing the default modal + +Customizing the default modal styles is done through `modalTheme` prop of `` + +We are currently providing 2 ways to customize the default modal: + +1. Overriding the theme object: + +By using the `modalTheme.themeDefs` and `modalTheme.customTheme`, you can override all of the theme tokens however you want + +```TSX + + + {children} + +``` + +The full object shape of `themeDefs[index].vars` is as below + +```json +{ + colors: { + primary: ``, + body: ``, + background: ``, + link: ``, + linkHover: ``, + text: ``, + textSecondary: ``, + textDanger: ``, + textWarning: ``, + textPlaceholder: ``, + rewardBg: ``, + rewardContent: ``, + cardBg: ``, + inputBorder: ``, + inputBg: ``, + inputDangerBorder: ``, + inputDangerBg: ``, + inputDisabledBg: ``, + inputDisabledText: ``, + progressBg: ``, + progressValue: ``, + progressCursor: ``, + divider: ``, + menuItemBg: ``, + menuItemBgHovered: ``, + menuItemBgActive: ``, + skeletonBg: ``, + black: ``, + blackPrimary: ``, + white: ``, + transparent: ``, + current: ``, + whiteAlpha50: ``, + whiteAlpha100: ``, + whiteAlpha200: ``, + whiteAlpha300: ``, + whiteAlpha400: ``, + whiteAlpha500: ``, + whiteAlpha600: ``, + whiteAlpha700: ``, + whiteAlpha800: ``, + whiteAlpha900: ``, + blackAlpha50: ``, + blackAlpha100: ``, + blackAlpha200: ``, + blackAlpha300: ``, + blackAlpha400: ``, + blackAlpha500: ``, + blackAlpha600: ``, + blackAlpha700: ``, + blackAlpha800: ``, + blackAlpha900: ``, + gray50: ``, + gray100: ``, + gray200: ``, + gray300: ``, + gray400: ``, + gray500: ``, + gray600: ``, + gray700: ``, + gray800: ``, + gray900: ``, + red50: ``, + red100: ``, + red200: ``, + red300: ``, + red400: ``, + red500: ``, + red600: ``, + red700: ``, + red800: ``, + red900: ``, + orange50: ``, + orange100: ``, + orange200: ``, + orange300: ``, + orange400: ``, + orange500: ``, + orange600: ``, + orange700: ``, + orange800: ``, + orange900: ``, + yellow50: ``, + yellow100: ``, + yellow200: ``, + yellow300: ``, + yellow400: ``, + yellow500: ``, + yellow600: ``, + yellow700: ``, + yellow800: ``, + yellow900: ``, + green50: ``, + green100: ``, + green200: ``, + green300: ``, + green400: ``, + green500: ``, + green600: ``, + green700: ``, + green800: ``, + green900: ``, + blue50: ``, + blue100: ``, + blue200: ``, + blue300: ``, + blue400: ``, + blue500: ``, + blue600: ``, + blue700: ``, + blue800: ``, + blue900: ``, + primary50: ``, + primary100: ``, + primary200: ``, + primary300: ``, + primary400: ``, + primary500: ``, + primary600: ``, + primary700: ``, + primary800: ``, + primary900: ``, + purple50: ``, + purple100: ``, + purple200: ``, + purple300: ``, + purple400: ``, + purple500: ``, + purple600: ``, + purple700: ``, + purple800: ``, + purple900: ``, + }, + font: { + body: ``, + }, + space: { + "0": ``, + "1": ``, + "2": ``, + "3": ``, + "4": ``, + "5": ``, + "6": ``, + "7": ``, + "8": ``, + "9": ``, + "10": ``, + "11": ``, + "12": ``, + "13": ``, + "14": ``, + "15": ``, + "16": ``, + "17": ``, + "18": ``, + "19": ``, + "20": ``, + "21": ``, + "22": ``, + "23": ``, + "24": ``, + "25": ``, + "26": ``, + "27": ``, + "28": ``, + "29": ``, + "30": ``, + auto: ``, + full: ``, + fit: ``, + max: ``, + min: ``, + viewHeight: ``, + viewWidth: ``, + none: ``, + }, + borderWidth: { + none: ``, + sm: ``, + base: ``, + md: ``, + lg: ``, + xl: ``, + }, + borderStyle: { + none: ``, + solid: ``, + dotted: ``, + dashed: ``, + groove: ``, + ridge: ``, + hidden: ``, + double: ``, + inset: ``, + outset: ``, + unset: ``, + }, + boxShadow: { + xs: ``, + sm: ``, + base: ``, + md: ``, + lg: ``, + xl: ``, + "2xl": ``, + inset: ``, + primaryOutline: ``, + none: ``, + "dark-lg": ``, + }, + radii: { + none: ``, + sm: ``, + base: ``, + md: ``, + lg: ``, + xl: ``, + "2xl": ``, + "3xl": ``, + "4xl": ``, + full: ``, + }, + letterSpacing: { + tighter: ``, + tight: ``, + normal: ``, + wide: ``, + wider: ``, + widest: ``, + }, + lineHeight: { + normal: ``, + none: ``, + shorter: ``, + short: ``, + base: ``, + tall: ``, + taller: ``, + }, + fontWeight: { + hairline: ``, + thin: ``, + light: ``, + normal: ``, + medium: ``, + semibold: ``, + bold: ``, + extrabold: ``, + black: ``, + }, + fontSize: { + "3xs": ``, + "2xs": ``, + xs: ``, + sm: ``, + md: ``, + lg: ``, + xl: ``, + "2xl": ``, + "3xl": ``, + "4xl": ``, + "5xl": ``, + "6xl": ``, + "7xl": ``, + "8xl": ``, + "9xl": ``, + "10xl": ``, + "11xl": ``, + "12xl": ``, + "13xl": ``, + "14xl": ``, + "15xl": ``, + }, + zIndex: { + "0": ``, + "10": ``, + "20": ``, + "30": ``, + "40": ``, + "50": ``, + "100": ``, + auto: ``, + }, +} +``` + +2. Overriding css vars specific to a component. + +This is done through the `modalTheme.overrides` prop, which is a record with keys corresponding to a slot names and values are objects of overridable property name and its value in each theme mode. + +```json +{ + : { + : { light: , dark: } + } +} +``` + +Example: +```TSX + + {children} + +``` + +Supported overridable slots/components and their overridable state/attributes are: + +```json +{ + "button": [ + "bg", + "hoverBg", + "color", + "hoverColor" + ], + "clipboard-copy-text": [ + "color", + "borderColor" + ], + "connect-modal": [ + "bg", + "shadow" + ], + "connect-modal-install-button": [ + "bg", + "borderColor", + "color", + "shadow" + ], + "connect-modal-head-title": [ + "color" + ], + "connect-modal-wallet-button": [ + "color", + "bg", + "focusedBg", + "hoverBg", + "focusedShadow", + "hoverShadow", + ], + "connect-modal-wallet-button-label": [ + "color" + ], + "connect-modal-wallet-button-sublogo": [ + "bg", + "borderColor" + ], + "connect-modal-qr-code": [ + "bg", + "color", + "borderColor", + "shadow" + ], + "connect-modal-qr-code-shadow": [ + "bg" + ], + "connect-modal-qr-code-error": [ + "bg" + ], + "connect-modal-qr-code-error-button": [ + "bg", + "color", + "shadow" + ], + "connect-modal-qr-code-loading": [ + "bg" + ] +} +``` + +Additionally, you can customize the base modal class names using the follow properties of ``'s `modalTheme` prop: + +```ts +type ModalCustomizationProps = { + modalContainerClassName?: string; + modalContentClassName?: string; + modalChildrenClassName?: string; + modalContentStyles?: React.CSSProperties; +}; +``` + +## Improvement in bundle size in v2 + +Since we dropped Chakra UI to build our own foundational UI system. The bundle size dropped a lot. +Here are some screenshots and bundle size improvement + +### Core UI size improvement + +In the new package `@interchain-ui/react`, package size dropped from 362kb to 159kb (minified + gzipped) + +![Old](../public/bundle-size-screenshots/old-cosmology-ui.png) +![New](../public/bundle-size-screenshots/new-interchain-ui.png) + +### Cosmos Kit size improvement + +Additionally, we also reduce the bundle size of cosmos kit by significant amount, from 386kb to just 28kb (minified + gzipped) +![Old](../public/bundle-size-screenshots/old-v1-cosmos-kit.png) +![New](../public/bundle-size-screenshots/new-v2-cosmos-kit.png) + +We're pretty happy with the improvement in V2 so far and looking to improve it much more. diff --git a/packages/docs/pages/provider/_meta.json b/packages/docs/pages/provider/_meta.json new file mode 100644 index 000000000..cfbaa49ae --- /dev/null +++ b/packages/docs/pages/provider/_meta.json @@ -0,0 +1,3 @@ +{ + "chain-provider": "Chain Provider" +} \ No newline at end of file diff --git a/packages/docs/pages/provider/chain-provider.mdx b/packages/docs/pages/provider/chain-provider.mdx new file mode 100644 index 000000000..93e05716e --- /dev/null +++ b/packages/docs/pages/provider/chain-provider.mdx @@ -0,0 +1,514 @@ +Chain Provider provides necessary information for [hooks](/hooks). + +There are two `ChainProvider` from two packages (`@cosmos-kit/react` and `@cosmos-kit/react-lite`) respectively. They are basically the same only except that `ChainProvider` from `@cosmos-kit/react` has more properties of `default modal` (See [Properties for default modal ](#properties-for-default-modal) below). + +> Note: `preferredSignType` in [`signerOptions`](#signeroptions) determines which signer to use when signing document. By default using `amino` type. + +## Required Properties + +These properties are shared by `ChainProvider`s from `@cosmos-kit/react` and `@cosmos-kit/react-lite`. + +### chains + +Required property of type `(Chain | string)[]`. + +It defines supported chains. Any actions involving chains beyound it might cause errors. + +If chain has been registered in `@chain-registry/client`, you can also simply provide chain name (type `string`) here and it'll fetch the chain information automatically. + +See [`Chain` schema](https://github.com/cosmos/chain-registry/blob/master/chain.schema.json). + +#### adding localnet and testnets + +Example of adding `localosmosis` + +`_app.tsx`: + +```ts +import { ChainProvider } from '@cosmos-kit/react'; +import { wallets } from '@cosmos-kit/keplr'; +import { assets, chains } from 'chain-registry'; +import { getSigningCosmosClientOptions } from 'osmojs'; +import { GasPrice } from '@cosmjs/stargate'; + +import { SignerOptions } from '@cosmos-kit/core'; +import { Chain, AssetList } from '@chain-registry/types'; +import { localosmosis, localosmosisAssets } from '../config/localosmosis'; + +function App({ Component, pageProps }: AppProps) { + + const localosmosis: Chain = {...}; // with chain_name: 'localosmosis' + const localosmosisAssets: AssetList = {...}; // with chain_name: 'localosmosis' + + const signerOptions: SignerOptions = { + signingStargate: (_chain: Chain) => { + return getSigningCosmosClientOptions(); + }, + signingCosmwasm: (chain: Chain) => { + switch (chain.chain_name) { + case 'localosmosis': + return { + gasPrice: GasPrice.fromString('0.0025uosmo') + }; + } + } + }; + return ( + + + + ); +} +``` + +### wallets + +Required property of type `MainWalletBase[]` + +It defines supported wallets. There are several wallets out of box. + +```ts +import { wallets as keplrWallet } from "@cosmos-kit/keplr"; +import { wallets as cosmostationWallets } from "@cosmos-kit/cosmostation"; +import { wallets as leapwallets } from "@cosmos-kit/leap"; +``` + +If you don't like the default wallet settings such as icon, app name (they would be displayed on default modal), you can choose to provide your own settings by importing wallets like this. + +```ts +import { KeplrExtensionWallet, KeplrMobileWallet } from '@cosmos-kit/keplr'; + +const keplrExtensionInfo: Wallet = {...}; +const keplrMobileInfo: Wallet = {...}; + +const keplrExtension = new KeplrExtensionWallet(keplrExtensionInfo); +const KeplrMobile = new KeplrMobileWallet(keplrMobileInfo); + +export const wallets = [keplrExtension, KeplrMobile]; +``` + +In addition, you can integrate new wallets in a few steps. + +🔌 [How to integrate new wallets into CosmosKit](/integrating-wallets/adding-new-wallets) + +### walletconnectOptions + +Required when `mobile` wallets dependent on `@comos-kit/walletconnect`(implements walletconnect v2 connection) are added in [`wallets`](#wallets). + +**Type:** `WalletConnectOptions` + +```tsx +export interface WalletConnectOptions { + signClient: { projectId: string } & SignClientTypes.Options; +} +``` + +`projectId` is required and can be obtained from [WalletConnect Cloud](https://cloud.walletconnect.com/sign-in). Create (or use an existing) dapp project and copy its associated project id. + +## Optional Properties + +### assetLists + +Optional property of type `AssetList[]` (comes from `chain-registry`) + +It provides chains related assets information. If not provided, will fetch assets information with `@chain-registry/client` according to the chain name provided in [`chains`](#chains). + +See [`AssetList` schema](https://github.com/cosmos/chain-registry/blob/master/assetlist.schema.json). + +### walletModal + +Optional in most cases (Exception see [useChain](/hooks/use-chain)). + +**Type**: `({ isOpen, setOpen, walletRepo }: WalletModalProps) => JSX.Element` + +Basically the order of wallets follows the order of property `wallets` in ChainProvider, except that all mobiles are moved to the back. + +You can also define your own modal component with required props. + +#### customize modal with `walletModal` + +> Suggest customizing modal with [`modalViews`](#modalviews) instead if you only need to customize modal UI without involving any customized data logic. [`modalViews`](#modalviews) provides an easy and fast way to partially change the default modal UI. + +Example of using self-defined modal. + +`_app.tsx`: + +```tsx +import * as React from 'react'; + +import { ChainProvider } from '@cosmos-kit/react'; + +// Define Modal Component +const MyModal = ({ isOpen, setOpen, walletRepo, theme }: WalletModalPropsV2) => { + function onCloseModal() { + setOpen(false); + } + + return ( + + + Choose Wallet + + + {walletRepo.wallets.map(({ walletName, connect }) => ( + + ))} + + + + ); +}; + +function CosmosApp() { + return ( + + + + ); +} +``` + +### defaultNameService + +**Type:** `NameServiceName` = `string`; + +Currently two name services are registered: `'icns'` and `'stargaze'`. The default name service is `icns`. This property is only used in `getNameService` of `useManager` when prarameter `chainName` is undefined, and in `useNameService` when the prarameter `name` is not provided. Otherwise it will return the name service object corresponding to provided chain. Therefore it won't affect `getNameService` method returned by `useChain`, since `chainName` is always provide in `useChain`. + +### endpointOptions + +Optional property. Define preferred endpoints for each chain. + +**Type:** `EndpointOptions` + +> Note: From `@cosmos-kit/core@1.2.1` `EndpointOptions` type changes a little bit + +```tsx +export type ChainName = string; + +export interface ExtendedHttpEndpoint extends HttpEndpoint { + isLazy?: boolean; +} + +export interface Endpoints { + rpc?: (string | ExtendedHttpEndpoint)[]; + rest?: (string | ExtendedHttpEndpoint)[]; + isLazy?: boolean; +} + +// Expired Type: `type EndpointOptions = Record` + +export interface EndpointOptions { + isLazy?: boolean; + endpoints?: Record; +} +``` + +**Example:** + +```tsx + +``` + +#### isLazy + +**`isLazy` Explanation:** + +`isLazy` is used to control endpoints validation (get the fastest one when first validating). + +- When `isLazy` is `false`, will do endpoints validation +- When `isLazy` is `true`, will **disable** endpoints validation +- When `isLazy` is `undefined`, will inherit higher level explicitly set `isLazy`. If none is explicitly set, will do endpoints validation + +There are four levels of `isLazy` setting. + +**Four Levels of `isLazy`:** + +1. Global `isLazy`: `isLazy` in `EndpointOptions` is the highest level with the lowerst priority, which is meant to globally control all endpoints. + +2. Chain `isLazy`: `isLazy` in `Endpoints` will control all endpoints for a particular chain. If `isLazy` in `EndpointOptions` and `isLazy` in `Endpoints` are all set and don't agree, the latter predominates. + +3. Endpoint `isLazy`: `isLazy` in `ExtendedHttpEndpoint` only controls the one in `ExtendedHttpEndpoint` object. For signing or broadcasting a transaction, this one is the lowerst level and with the highest priority. + +4. Parameter `isLazy`: `isLazy` in `getRpcEndpoint` and `getRestEndpoint` prarameters. It also globally controls all endpoints. (Note: this one only affects getting endpoint functions with the highest priority, but won't affect signing or broadcasting a transaction.) + +The calculation of final `isLazy` can be seen [here](https://github.com/cosmology-tech/cosmos-kit/blob/main/packages/core/src/utils/endpoint.ts#L32-L59). + +**`isLazy` Examples:** + +- Disabling all endpoints validation + +```tsx +endpointOptions={{ + isLazy: true +}} +``` + +- Disabling `cosmoshub` endpoints validation + +```tsx +endpointOptions={{ + cosmoshub: { + isLazy: true + } +}} +``` + +- Disabling a particular endpoint validation + +```tsx +endpointOptions={{ + cosmoshub: { + rpc: [{ + url: 'http://test.com', + isLazy: true, + }] + } +}} +``` + +### sessionOptions + +Define connection session options. + +**Type:** `SessionOptions` + +```tsx +export interface SessionOptions { + duration: number; // ms + callback?: () => void; // when session expires +} +``` + +**Default:** + +```tsx +const sessionOptions: SessionOptions = { + duration: 1800000, // half an hour + callback: () => { + this.mainWallets.forEach((w) => w.disconnectAll(false)); + window?.localStorage.removeItem("cosmos-kit@2:core//current-wallet"); + }, +}; +``` + +### signerOptions + +Optional property. + +```ts +import * as React from "react"; + +import { Chain } from "@chain-registry/types"; +import { chains } from "chain-registry"; +import { GasPrice } from "@cosmjs/stargate"; +import { getSigningCosmosClientOptions } from "interchain"; +import { SignerOptions } from "@cosmos-kit/core"; +import { ChainProvider } from "@cosmos-kit/react"; +import { wallets } from '@cosmos-kit/keplr'; + +// construct signer options +const signerOptions: SignerOptions = { + signingStargate: (chain: Chain) => { + // return corresponding stargate options or undefined + return getSigningCosmosClientOptions(); + }, + signingCosmwasm: (chain: Chain) => { + // return corresponding cosmwasm options or undefined + switch (chain.chain_name) { + case "osmosis": + return { + gasPrice: GasPrice.fromString("0.0025uosmo"), + }; + case "juno": + return { + gasPrice: GasPrice.fromString("0.0025ujuno"), + }; + } + }, + preferredSignType: (chain: Chain) => { + // `preferredSignType` determines which signer is preferred for `getOfflineSigner` method. By default `amino`. It might affect the `OfflineSigner` used in `signingStargateClient` and `signingCosmwasmClient`. But if only one signer is provided, `getOfflineSigner` will always return this signer, `preferredSignType` won't affect anything. + return 'amino'; + } +}; + +function CosmosApp() { + return ( + + + + ); +} +``` + +### logLevel + +Optional property. By default `WARN`. + +**Type:** `'TRACE' | 'DEBUG' | 'INFO' | 'WARN' | 'ERROR' | 'NONE'` + +Will disable logs lower than the value of `logLevel` (The log level order is the same with the order above). + +If `logLevel` is `NONE`, no logs would be printed. + +### throwErrors + +Optional property. By default `false`. + +**Type:** `boolean | 'connect_only'` + +If set `true`, will throw error when wallet status to be `WalletStatus.Error`, `WalletStatus.Rejected` or `WalletStatus.NotExist`, or wallet client status to be `State.Error`. + +If set `connect_only`, will only throw connect errors. + +### subscribeConnectEvents + +Optional property. By default `true`. + +**Type:** `boolean` + +If set `false`, will NOT subscribe registered `connectEventNamesOnWindow` and `connectEventNamesOnClient` in [wallet registry](/integrating-wallets/adding-new-wallets#optional-properties). + +## Optional Properties Only for Default Modal + +These properties **only** exist in `ChainProvider` from `@cosmos-kit/react`, and only counts when property [`walletModal`](#walletmodal) is `undefined`. + +### modalTheme + +Optional property to customize default modal theme. + +**Type** + +```tsx +type ThemeCustomizationProps = Pick< + // This type comes from @interchain-ui/react + ThemeProviderProps, + "defaultTheme" | "overrides" | "themeDefs" | "customTheme" +>; +``` + +### modalViews + +Optional property of type `ModalViews`. + +**Type** + +```tsx +type ModalViewImpl = { + head: React.ReactNode; + content: React.ReactNode; +}; + +type ModalViewImplGetter = ( + props: WalletViewProps | WalletListViewProps +) => ModalViewImpl; + +type ModalViews = { + Connecting?: (props: WalletViewProps) => ModalViewImplGetter; + Connected?: (props: WalletViewProps) => ModalViewImplGetter; + Error?: (props: WalletViewProps) => ModalViewImplGetter; + NotExist?: (props: WalletViewProps) => ModalViewImplGetter; + Rejected?: (props: WalletViewProps) => ModalViewImplGetter; + QRCode?: (props: WalletViewProps) => ModalViewImplGetter; +} & { + WalletList?: (props: WalletListViewProps) => JSX.Element; +}; + +export interface WalletViewProps { + onClose: () => void; + onReturn: () => void; + wallet: ChainWalletBase; +} + +export interface WalletListViewProps { + onClose: () => void; + wallets: ChainWalletBase[]; +} +``` + +#### customize modal with `modalViews` + +Example of using self-defined modal views. + +`_app.tsx`: + +```tsx +import * as React from 'react'; + +import { ChainProvider } from '@cosmos-kit/react'; + +// Define Modal Connected View Component +const ConnectedView = ({ + onClose, + onReturn, + wallet, +}: WalletViewProps) => { + const { + walletInfo: { prettyName }, + username, + address, + } = wallet; + + return
{`${prettyName}/${username}/${address}`}
; +}; + +function CosmosApp() { + return ( + + + + ); +} +``` + +### modalOptions + +- `mobile.displayQRCodeEveryTime` + + By default `false`. When set `true`, it'll cause all existing pairings be removed everytime wallet is disconnected. It corresponds to the `DisconnectOptions.walletconnect.removeAllPairings` in `disconnect` method. + +### includeAllWalletsOnMobile + +Optional property. By default `false`, which means on mobile only wallets with registry value of `mobileDisabled` (or returned value of `mobileDisabled` function) is `false` or `undefined` be displayed on wallet list page of default modal. + +For example, most `extension` wallets are set `mobileDisabled` `true`. Therefore you can't see `extension` wallets on mobile by default. If you want to see all wallets on mobile, set `includeAllWalletsOnMobile` `true`; diff --git a/packages/docs/public/android-icon-192x192.png b/packages/docs/public/android-icon-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..51a1e7cb723ff1adeaa5055878e67dcde1df3042 GIT binary patch literal 19978 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 W<+J#5!OTn3NbjMsR{eeZsQ&?+57W8; literal 0 HcmV?d00001 diff --git a/packages/docs/public/apple-icon-180x180.png b/packages/docs/public/apple-icon-180x180.png new file mode 100644 index 0000000000000000000000000000000000000000..d0104d5c4fd05fb52be9630b859010735febd5c4 GIT binary patch literal 18710 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�JDb#xLaOmKZ&;?B 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�%Czko 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 w)5lZ)SV*d6v!gX^Y3{drC!^4Ec{8X5(-)mC}^ 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%0ANK6NM5E~vDS0==8hX=OH8#MZ2Zk-ifL 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 zξ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
Di@O%QpaarA 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�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�LO9O5L> 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 literal 0 HcmV?d00001 diff --git a/packages/docs/public/bundle-size-screenshots/old-cosmology-ui.png b/packages/docs/public/bundle-size-screenshots/old-cosmology-ui.png new file mode 100644 index 0000000000000000000000000000000000000000..35e89f0ad27f230bc8b0d557102247563a213ed7 GIT binary patch literal 579900 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≠x4JGeLZJvbmzsK0= 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 z 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 Hu0mjfWMZ|s literal 0 HcmV?d00001 diff --git a/packages/docs/public/bundle-size-screenshots/old-v1-cosmos-kit.png b/packages/docs/public/bundle-size-screenshots/old-v1-cosmos-kit.png new file mode 100644 index 0000000000000000000000000000000000000000..73d4a56f72f76c15fda952c67343204a7a097af3 GIT binary patch literal 565828 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ɱa|cuVVIt(#9hu-_wF}b&Kb7ljG+8_K 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

DaBHK_(Y+shFA8g09b2C^1Nm*= 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 YK-i!30fQYy!GAZds$5CGZ20(p0E2jc8~^|S literal 0 HcmV?d00001 diff --git a/packages/docs/public/bundle-size-screenshots/new-v2-cosmos-kit.png b/packages/docs/public/bundle-size-screenshots/new-v2-cosmos-kit.png new file mode 100644 index 0000000000000000000000000000000000000000..39b66d9199bc24033607c6c11a36942c5cea6bb1 GIT binary patch literal 602063 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≥M9-*zlfF@B(qubV0Dh$Zcbz7!bpY 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