diff --git a/.gitignore b/.gitignore index 0cb79197..6c3195ae 100644 --- a/.gitignore +++ b/.gitignore @@ -51,7 +51,6 @@ typings/ bundle-*.js /.vagrant .DS_Store -.vscode/ .idea/ /packages.png diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 00000000..65a19653 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "editor.defaultFormatter": "esbenp.prettier-vscode" +} diff --git a/package.json b/package.json index 0cb2c2a2..3a471cd3 100644 --- a/package.json +++ b/package.json @@ -15,10 +15,10 @@ "start": "web-dev-server --port=3000 packages/wallet/public/", "preview": "web-dev-server --port=3001 build/", "test": "yarn workspaces run test", - "pretty-fix": "prettier --write '**/*.{js,html}'", - "pretty-check": "prettier --check '**/*.{js,html}'", + "format": "prettier --write '**/*.{js,html}'", + "lint:format": "prettier --check '**/*.{js,html}'", "lint-fix": "yarn lint:eslint --fix && yarn lint:types", - "lint-check": "yarn lint", + "lint:check": "yarn lint", "lint": "yarn lint:types && yarn lint:eslint", "lint:types": "tsc -p jsconfig.json", "lint:eslint": "eslint '**/*.js'" @@ -52,7 +52,7 @@ "eslint-plugin-jsdoc": "^30.7.0", "eslint-plugin-jsx-a11y": "^6.4.0", "eslint-plugin-prettier": "^3.2.0", - "prettier": "^1.18.2", + "prettier": "3.0.0", "rollup-plugin-minify-html-literals": "^1.2.6", "rollup-plugin-multi-input": "^1.3.1", "rollup-plugin-summary": "^1.3.0", diff --git a/wallet/package.json b/wallet/package.json index e32c9535..6bf38867 100644 --- a/wallet/package.json +++ b/wallet/package.json @@ -17,11 +17,11 @@ "@agoric/smart-wallet": "^0.5.4-dev-6bce049.0", "@agoric/ui-components": "^0.3.9-dev-2c6fbc5.0", "@agoric/web-components": "^0.6.4-dev-2c6fbc5.0", - "@cosmjs/crypto": "0.29.3", - "@cosmjs/encoding": "0.29.3", - "@cosmjs/proto-signing": "0.29.3", - "@cosmjs/stargate": "0.29.3", - "@cosmjs/tendermint-rpc": "0.29.3", + "@cosmjs/crypto": "^0.31.1", + "@cosmjs/encoding": "^0.31.1", + "@cosmjs/proto-signing": "^0.31.1", + "@cosmjs/stargate": "^0.31.1", + "@cosmjs/tendermint-rpc": "^0.31.1", "@emotion/react": "^11.5.0", "@emotion/styled": "^11.3.0", "@endo/captp": "^3.1.1", @@ -45,7 +45,7 @@ }, "devDependencies": { "@agoric/vats": "^0.15.2-dev-6bce049.0", - "@keplr-wallet/types": "^0.11.7", + "@keplr-wallet/types": "^0.12.22", "@testing-library/jest-dom": "^5.11.4", "@testing-library/react": "^11.1.0", "@testing-library/user-event": "^12.1.10", @@ -64,7 +64,7 @@ "eslint-plugin-react-hooks": "^4.6.0", "npm-run-all": "^4.1.5", "patch-package": "^6.5.0", - "prettier": "^2.7.1", + "prettier": "3.0.0", "process": "^0.11.10", "react-app-rewire-multiple-entry": "^2.2.3", "react-app-rewired": "^2.2.1", @@ -83,9 +83,10 @@ "build": "yarn build:ses && yarn build:react", "build:ses": "cp node_modules/ses/dist/lockdown.umd.js public/", "build:react": "react-app-rewired build", - "format": "yarn prettier --write .", + "lint:format": "yarn prettier --check '**/*.{js,jsx,ts,tsx}'", + "format": "yarn prettier --write '**/*.{js,jsx,ts,tsx}'", "lint": "run-s --continue-on-error lint:*", - "lint:eslint": "eslint '**/*.{js,jsx}'", + "lint:eslint": "eslint '**/*.{js,jsx,ts,tsx}'", "lint:types": "yarn tsc", "lint-fix": "yarn lint:eslint --fix", "postinstall": "patch-package", diff --git a/wallet/public/tokens/statom.svg b/wallet/public/tokens/statom.svg new file mode 100644 index 00000000..d5c56bf0 --- /dev/null +++ b/wallet/public/tokens/statom.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/wallet/src/App.tsx b/wallet/src/App.tsx index 02586604..96822ee6 100644 --- a/wallet/src/App.tsx +++ b/wallet/src/App.tsx @@ -9,6 +9,11 @@ import Issuers from './views/Issuers'; import './App.scss'; +window.addEventListener('keplr_keystorechange', () => { + console.log('Key store in Keplr has changed.'); + window.location.reload(); +}); + const useStyles = makeStyles(theme => ({ main: { boxSizing: 'border-box', @@ -36,6 +41,7 @@ const useStyles = makeStyles(theme => ({ const App = () => { const classes = useStyles(useTheme()); + return ( diff --git a/wallet/src/components/ConnectionSettingsDialog.tsx b/wallet/src/components/ConnectionSettingsDialog.tsx index a6957bc9..99f90b2d 100644 --- a/wallet/src/components/ConnectionSettingsDialog.tsx +++ b/wallet/src/components/ConnectionSettingsDialog.tsx @@ -124,7 +124,7 @@ const ConnectionSettingsDialog = ({ break; case 'localhost': setConfig({ - href: `http://localhost:3000/wallet/network-config`, + href: `${window.location.origin}/wallet/network-config`, }); break; case 'custom': diff --git a/wallet/src/components/tests/ConnectionSettingsDialog.test.tsx b/wallet/src/components/tests/ConnectionSettingsDialog.test.tsx new file mode 100644 index 00000000..5fb1d510 --- /dev/null +++ b/wallet/src/components/tests/ConnectionSettingsDialog.test.tsx @@ -0,0 +1,74 @@ +import { mount } from 'enzyme'; +import ConnectionSettingsDialog from '../ConnectionSettingsDialog'; +import { + DEFAULT_CONNECTION_CONFIGS, + KnownNetworkConfigUrls, +} from '../../util/connections'; +import { Select, TextField, ThemeProvider, createTheme } from '@mui/material'; +import { act } from '@testing-library/react'; + +jest.mock('lodash-es/isEqual', () => () => true); + +const appTheme = createTheme({ + palette: { + // @ts-expect-error not in Palette + cancel: { + main: '#595959', + }, + }, +}); + +const MOCK_LOCALHOST = 'http://foobar:440'; + +const withApplicationContext = + (Component, _) => + ({ ...props }) => { + return ( + + + + ); + }; + +jest.mock('../../contexts/Application', () => { + return { withApplicationContext }; +}); + +describe('Connection setting dialog', () => { + const { location } = window; + + beforeAll(() => { + // @ts-expect-error mocking window.location + delete window.location; + + // @ts-expect-error mocking window.location + window.location = { origin: MOCK_LOCALHOST }; + }); + + afterAll(() => { + window.location = location; + }); + + test('displays the dapp', () => { + const component = mount( + , + ); + + const networkSelect = component.find(Select).first(); + act(() => + networkSelect.props().onChange({ target: { value: 'localhost' } }), + ); + component.update(); + + const textField = component.find(TextField).first(); + const inputField = textField.find('input').first(); + + expect(inputField.prop('value')).toEqual( + `${MOCK_LOCALHOST}/wallet/network-config`, + ); + }); +}); diff --git a/wallet/src/lockdown.ts b/wallet/src/lockdown.ts index fcb99b5c..e2cfa308 100644 --- a/wallet/src/lockdown.ts +++ b/wallet/src/lockdown.ts @@ -9,14 +9,6 @@ const consoleTaming = '%NODE_ENV%' === 'development' ? 'unsafe' : 'safe'; // eslint-disable-next-line no-constant-condition const errorTaming = '%NODE_ENV%' === 'development' ? 'unsafe' : 'safe'; -// eslint-disable-next-line no-restricted-properties -const { pow: mathPow } = Math; -// eslint-disable-next-line no-restricted-properties -Math.pow = (base, exp) => - typeof base === 'bigint' && typeof exp === 'bigint' - ? base ** exp - : mathPow(base, exp); - lockdown({ errorTaming, overrideTaming: 'severe', diff --git a/wallet/src/service/Offers.ts b/wallet/src/service/Offers.ts index b977359d..0ffc8e4b 100644 --- a/wallet/src/service/Offers.ts +++ b/wallet/src/service/Offers.ts @@ -121,9 +121,8 @@ export const getOfferService = ( const unserializedAmount = await E(boardIdMarshaller).unserialize( entry.amount, ); - entry.pursePetname = brandToPurse.get( - unserializedAmount.brand, - )?.pursePetname; + entry.pursePetname = brandToPurse.get(unserializedAmount.brand) + ?.pursePetname; entry.value = String(unserializedAmount.value); } return [kw, entry]; diff --git a/wallet/src/setupTests.ts b/wallet/src/setupTests.ts index 0ac3715c..b8099551 100644 --- a/wallet/src/setupTests.ts +++ b/wallet/src/setupTests.ts @@ -1,3 +1,4 @@ +/* eslint-disable import/no-extraneous-dependencies */ // jest-dom adds custom jest matchers for asserting on DOM nodes. // allows you to do things like: // expect(element).toHaveTextContent(/react/i) diff --git a/wallet/src/util/Icons.ts b/wallet/src/util/Icons.ts index c2b7cc5b..0341658e 100644 --- a/wallet/src/util/Icons.ts +++ b/wallet/src/util/Icons.ts @@ -9,6 +9,7 @@ export const icons = { USDT_grv: 'tokens/USDT_grv.webp', USDT_axl: 'tokens/USDT_axl.png', DAI_axl: 'tokens/DAI_axl.png', + stATOM: 'tokens/statom.svg', DAI_grv: 'tokens/DAI_grv.png', }; diff --git a/wallet/src/util/ibc-assets.ts b/wallet/src/util/ibc-assets.ts index 7c0d1b83..e4d389d8 100644 --- a/wallet/src/util/ibc-assets.ts +++ b/wallet/src/util/ibc-assets.ts @@ -26,7 +26,7 @@ export const ibcAssets: IbcAssets = { chainInfo: { chainName: 'Cosmos Hub', chainId: 'cosmoshub-4', - rpc: 'https://cosmoshub-rpc.stakely.io/', + rpc: 'https://cosmos-rpc.polkachu.com:443', addressPrefix: 'cosmos', explorerPath: 'cosmos', gas: '100000', @@ -39,9 +39,29 @@ export const ibcAssets: IbcAssets = { withdraw: { sourcePort: 'transfer', sourceChannel: 'channel-5', - // XXX This will be redundant once `agoricNames.vbankAssets` is published. denom: 'ibc/BA313C4A19DFBF943586C0387E6B11286F9E416B4DD27574E6909CABE0E342FA', }, }, + stATOM: { + chainInfo: { + chainName: 'Stride', + chainId: 'stride-1', + rpc: 'https://stride-rpc.polkachu.com:443', + addressPrefix: 'stride', + explorerPath: 'stride', + gas: '100000', + }, + deposit: { + sourcePort: 'transfer', + sourceChannel: 'channel-148', + denom: 'stuatom', + }, + withdraw: { + sourcePort: 'transfer', + sourceChannel: 'channel-59', + denom: + 'ibc/B1E6288B5A0224565D915D1F66716486F16D8A44BF33A9EC323DD6BA30764C35', + }, + }, }; diff --git a/wallet/src/util/ibcTransfer.ts b/wallet/src/util/ibcTransfer.ts index c1899b39..faec5b4c 100644 --- a/wallet/src/util/ibcTransfer.ts +++ b/wallet/src/util/ibcTransfer.ts @@ -8,7 +8,7 @@ const timeoutTimestampSeconds = () => Math.round(Date.now() / 1000) + secondsUntilTimeout; export const agoricChainId = 'agoric-3'; -const agoricRpc = 'https://agoric-rpc.stakely.io/'; +const agoricRpc = 'https://agoric-rpc.polkachu.com:443'; const agoricGas = '500000'; export const sendIbcTokens = async ( diff --git a/wallet/src/util/keyManagement.ts b/wallet/src/util/keyManagement.ts index eecb1e93..a15c0faa 100644 --- a/wallet/src/util/keyManagement.ts +++ b/wallet/src/util/keyManagement.ts @@ -250,7 +250,6 @@ export const makeBackgroundSigner = async ({ granter: string, rpcClient: import('@cosmjs/tendermint-rpc').Tendermint34Client, ): Promise => { - // @ts-expect-error const base = QueryClient.withExtensions(rpcClient); const rpc = createProtobufRpcClient(base); const queryService = new QueryClientImpl(rpc); @@ -403,7 +402,6 @@ export const makeInteractiveSigner = async ( }; const signingClient = await connectWithSigner(chainInfo.rpc, offlineSigner, { aminoTypes: new AminoTypes(converters), - // @ts-expect-error registry: SwingsetRegistry, }); console.debug('InteractiveSigner', { signingClient }); diff --git a/wallet/src/util/queryBankBalances.ts b/wallet/src/util/queryBankBalances.ts index d3cfb2fb..0e264f1e 100644 --- a/wallet/src/util/queryBankBalances.ts +++ b/wallet/src/util/queryBankBalances.ts @@ -11,7 +11,6 @@ export const queryBankBalances = async ( rpc: HttpEndpoint, ): Promise => { const tendermint = await Tendermint34Client.connect(rpc); - // @ts-expect-error const queryClient = new QueryClient(tendermint); const rpcClient = createProtobufRpcClient(queryClient); const bankQueryService = new QueryClientImpl(rpcClient); diff --git a/wallet/src/util/querySwingsetParams.ts b/wallet/src/util/querySwingsetParams.ts index b8671db2..ac81c624 100644 --- a/wallet/src/util/querySwingsetParams.ts +++ b/wallet/src/util/querySwingsetParams.ts @@ -18,16 +18,6 @@ export const querySwingsetParams = async ( ): Promise => { const http = new HttpClient(endpoint); const trpc = await Tendermint34Client.create(http); - /** - * XXX - * - * Argument of type - * 'import("~/wallet-app/wallet/node_modules/@cosmjs/tendermint-rpc/build/tendermint34/tendermint34client").Tendermint34Client' - * is not assignable to parameter of type - * 'import("~/wallet-app/wallet/node_modules/@cosmjs/stargate/node_modules/@cosmjs/tendermint-rpc/build/tendermint34/tendermint34client").Tendermint34Client'. - * Types have separate declarations of a private property 'client'. - */ - // @ts-expect-error const base = QueryClient.withExtensions(trpc); const rpc = createProtobufRpcClient(base); const queryService = new QueryClientImpl(rpc); diff --git a/yarn.lock b/yarn.lock index 163f7df8..52939b3c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1953,16 +1953,6 @@ triple-beam "1.3.0" winston "3.3.3" -"@cosmjs/amino@^0.29.3", "@cosmjs/amino@^0.29.5": - version "0.29.5" - resolved "https://registry.yarnpkg.com/@cosmjs/amino/-/amino-0.29.5.tgz#053b4739a90b15b9e2b781ccd484faf64bd49aec" - integrity sha512-Qo8jpC0BiziTSUqpkNatBcwtKNhCovUnFul9SlT/74JUCdLYaeG5hxr3q1cssQt++l4LvlcpF+OUXL48XjNjLw== - dependencies: - "@cosmjs/crypto" "^0.29.5" - "@cosmjs/encoding" "^0.29.5" - "@cosmjs/math" "^0.29.5" - "@cosmjs/utils" "^0.29.5" - "@cosmjs/amino@^0.30.1": version "0.30.1" resolved "https://registry.yarnpkg.com/@cosmjs/amino/-/amino-0.30.1.tgz#7c18c14627361ba6c88e3495700ceea1f76baace" @@ -1973,6 +1963,16 @@ "@cosmjs/math" "^0.30.1" "@cosmjs/utils" "^0.30.1" +"@cosmjs/amino@^0.31.1": + version "0.31.1" + resolved "https://registry.yarnpkg.com/@cosmjs/amino/-/amino-0.31.1.tgz#e6b4adc3ebe19ddfd953c67ee04b1eae488238af" + integrity sha512-kkB9IAkNEUFtjp/uwHv95TgM8VGJ4VWfZwrTyLNqBDD1EpSX2dsNrmUe7k8OMPzKlZUFcKmD4iA0qGvIwzjbGA== + dependencies: + "@cosmjs/crypto" "^0.31.1" + "@cosmjs/encoding" "^0.31.1" + "@cosmjs/math" "^0.31.1" + "@cosmjs/utils" "^0.31.1" + "@cosmjs/cosmwasm-stargate@^0.30.0": version "0.30.1" resolved "https://registry.yarnpkg.com/@cosmjs/cosmwasm-stargate/-/cosmwasm-stargate-0.30.1.tgz#6f9ca310f75433a3e30d683bc6aa24eadb345d79" @@ -1990,32 +1990,6 @@ long "^4.0.0" pako "^2.0.2" -"@cosmjs/crypto@0.29.3": - version "0.29.3" - resolved "https://registry.yarnpkg.com/@cosmjs/crypto/-/crypto-0.29.3.tgz#4af0ac1264f1638c31d03cfcbedf2fca36e17890" - integrity sha512-dOCYLLEOnn5idNgoAcdQnuvFXZx/BmLnb2Mh8ZZtw6peFNvRePfaMX12HerngkLVAcLBc/V6pZHWoj9DBrsvng== - dependencies: - "@cosmjs/encoding" "^0.29.3" - "@cosmjs/math" "^0.29.3" - "@cosmjs/utils" "^0.29.3" - "@noble/hashes" "^1" - bn.js "^5.2.0" - elliptic "^6.5.3" - libsodium-wrappers "^0.7.6" - -"@cosmjs/crypto@^0.29.3", "@cosmjs/crypto@^0.29.5": - version "0.29.5" - resolved "https://registry.yarnpkg.com/@cosmjs/crypto/-/crypto-0.29.5.tgz#ab99fc382b93d8a8db075780cf07487a0f9519fd" - integrity sha512-2bKkaLGictaNL0UipQCL6C1afaisv6k8Wr/GCLx9FqiyFkh9ZgRHDyetD64ZsjnWV/N/D44s/esI+k6oPREaiQ== - dependencies: - "@cosmjs/encoding" "^0.29.5" - "@cosmjs/math" "^0.29.5" - "@cosmjs/utils" "^0.29.5" - "@noble/hashes" "^1" - bn.js "^5.2.0" - elliptic "^6.5.4" - libsodium-wrappers "^0.7.6" - "@cosmjs/crypto@^0.30.0", "@cosmjs/crypto@^0.30.1": version "0.30.1" resolved "https://registry.yarnpkg.com/@cosmjs/crypto/-/crypto-0.30.1.tgz#21e94d5ca8f8ded16eee1389d2639cb5c43c3eb5" @@ -2029,28 +2003,32 @@ elliptic "^6.5.4" libsodium-wrappers "^0.7.6" -"@cosmjs/encoding@0.29.3": - version "0.29.3" - resolved "https://registry.yarnpkg.com/@cosmjs/encoding/-/encoding-0.29.3.tgz#191fe1192d78ac0f9eb01b6e0aa4ba976cfb2c7a" - integrity sha512-K6CTcDGovwzF3QOmLm9mWwjcu4Md64zCOBYgVK3boGbsaExP/6YAjT22e+yDsReXWlEUtSVCjqCC/9EEcwmYmg== +"@cosmjs/crypto@^0.31.1": + version "0.31.1" + resolved "https://registry.yarnpkg.com/@cosmjs/crypto/-/crypto-0.31.1.tgz#ce4917df0f7b38f0909a32020907ccff04acefe6" + integrity sha512-4R/SqdzdVzd4E5dpyEh1IKm5GbTqwDogutyIyyb1bcOXiX/x3CrvPI9Tb4WSIMDLvlb5TVzu2YnUV51Q1+6mMA== dependencies: - base64-js "^1.3.0" - bech32 "^1.1.4" - readonly-date "^1.0.0" + "@cosmjs/encoding" "^0.31.1" + "@cosmjs/math" "^0.31.1" + "@cosmjs/utils" "^0.31.1" + "@noble/hashes" "^1" + bn.js "^5.2.0" + elliptic "^6.5.4" + libsodium-wrappers-sumo "^0.7.11" -"@cosmjs/encoding@^0.29.3", "@cosmjs/encoding@^0.29.5": - version "0.29.5" - resolved "https://registry.yarnpkg.com/@cosmjs/encoding/-/encoding-0.29.5.tgz#009a4b1c596cdfd326f30ccfa79f5e56daa264f2" - integrity sha512-G4rGl/Jg4dMCw5u6PEZHZcoHnUBlukZODHbm/wcL4Uu91fkn5jVo5cXXZcvs4VCkArVGrEj/52eUgTZCmOBGWQ== +"@cosmjs/encoding@^0.30.0", "@cosmjs/encoding@^0.30.1": + version "0.30.1" + resolved "https://registry.yarnpkg.com/@cosmjs/encoding/-/encoding-0.30.1.tgz#b5c4e0ef7ceb1f2753688eb96400ed70f35c6058" + integrity sha512-rXmrTbgqwihORwJ3xYhIgQFfMSrwLu1s43RIK9I8EBudPx3KmnmyAKzMOVsRDo9edLFNuZ9GIvysUCwQfq3WlQ== dependencies: base64-js "^1.3.0" bech32 "^1.1.4" readonly-date "^1.0.0" -"@cosmjs/encoding@^0.30.0", "@cosmjs/encoding@^0.30.1": - version "0.30.1" - resolved "https://registry.yarnpkg.com/@cosmjs/encoding/-/encoding-0.30.1.tgz#b5c4e0ef7ceb1f2753688eb96400ed70f35c6058" - integrity sha512-rXmrTbgqwihORwJ3xYhIgQFfMSrwLu1s43RIK9I8EBudPx3KmnmyAKzMOVsRDo9edLFNuZ9GIvysUCwQfq3WlQ== +"@cosmjs/encoding@^0.31.1": + version "0.31.1" + resolved "https://registry.yarnpkg.com/@cosmjs/encoding/-/encoding-0.31.1.tgz#0041b2650c443d883e22f27c7d3cd7b844c6d0ec" + integrity sha512-IuxP6ewwX6vg9sUJ8ocJD92pkerI4lyG8J5ynAM3NaX3q+n+uMoPRSQXNeL9bnlrv01FF1kIm8if/f5F7ZPtkA== dependencies: base64-js "^1.3.0" bech32 "^1.1.4" @@ -2063,14 +2041,6 @@ dependencies: axios "^0.21.2" -"@cosmjs/json-rpc@^0.29.3", "@cosmjs/json-rpc@^0.29.5": - version "0.29.5" - resolved "https://registry.yarnpkg.com/@cosmjs/json-rpc/-/json-rpc-0.29.5.tgz#5e483a9bd98a6270f935adf0dfd8a1e7eb777fe4" - integrity sha512-C78+X06l+r9xwdM1yFWIpGl03LhB9NdM1xvZpQHwgCOl0Ir/WV8pw48y3Ez2awAoUBRfTeejPe4KvrE6NoIi/w== - dependencies: - "@cosmjs/stream" "^0.29.5" - xstream "^11.14.0" - "@cosmjs/json-rpc@^0.30.1": version "0.30.1" resolved "https://registry.yarnpkg.com/@cosmjs/json-rpc/-/json-rpc-0.30.1.tgz#16f21305fc167598c8a23a45549b85106b2372bc" @@ -2079,12 +2049,13 @@ "@cosmjs/stream" "^0.30.1" xstream "^11.14.0" -"@cosmjs/math@^0.29.3", "@cosmjs/math@^0.29.5": - version "0.29.5" - resolved "https://registry.yarnpkg.com/@cosmjs/math/-/math-0.29.5.tgz#722c96e080d6c2b62215ce9f4c70da7625b241b6" - integrity sha512-2GjKcv+A9f86MAWYLUkjhw1/WpRl2R1BTb3m9qPG7lzMA7ioYff9jY5SPCfafKdxM4TIQGxXQlYGewQL16O68Q== +"@cosmjs/json-rpc@^0.31.1": + version "0.31.1" + resolved "https://registry.yarnpkg.com/@cosmjs/json-rpc/-/json-rpc-0.31.1.tgz#54d1064adb3ebd0412b04f87a3c2029384e4cb5e" + integrity sha512-gIkCj2mUDHAxvmJnHtybXtMLZDeXrkDZlujjzhvJlWsIuj1kpZbKtYqh+eNlfwhMkMMAlQa/y4422jDmizW+ng== dependencies: - bn.js "^5.2.0" + "@cosmjs/stream" "^0.31.1" + xstream "^11.14.0" "@cosmjs/math@^0.30.0", "@cosmjs/math@^0.30.1": version "0.30.1" @@ -2093,31 +2064,12 @@ dependencies: bn.js "^5.2.0" -"@cosmjs/proto-signing@0.29.3": - version "0.29.3" - resolved "https://registry.yarnpkg.com/@cosmjs/proto-signing/-/proto-signing-0.29.3.tgz#fa5ed609ed2a0007d8d5eacbeb1f5a89ba1b77ff" - integrity sha512-Ai3l9THjMOrLJ4Ebn1Dgptwg6W5ZIRJqtnJjijHhGwTVC1WT0WdYU3aMZ7+PwubcA/cA1rH4ZTK7jrfYbra63g== - dependencies: - "@cosmjs/amino" "^0.29.3" - "@cosmjs/crypto" "^0.29.3" - "@cosmjs/encoding" "^0.29.3" - "@cosmjs/math" "^0.29.3" - "@cosmjs/utils" "^0.29.3" - cosmjs-types "^0.5.2" - long "^4.0.0" - -"@cosmjs/proto-signing@^0.29.3": - version "0.29.5" - resolved "https://registry.yarnpkg.com/@cosmjs/proto-signing/-/proto-signing-0.29.5.tgz#af3b62a46c2c2f1d2327d678b13b7262db1fe87c" - integrity sha512-QRrS7CiKaoETdgIqvi/7JC2qCwCR7lnWaUsTzh/XfRy3McLkEd+cXbKAW3cygykv7IN0VAEIhZd2lyIfT8KwNA== - dependencies: - "@cosmjs/amino" "^0.29.5" - "@cosmjs/crypto" "^0.29.5" - "@cosmjs/encoding" "^0.29.5" - "@cosmjs/math" "^0.29.5" - "@cosmjs/utils" "^0.29.5" - cosmjs-types "^0.5.2" - long "^4.0.0" +"@cosmjs/math@^0.31.1": + version "0.31.1" + resolved "https://registry.yarnpkg.com/@cosmjs/math/-/math-0.31.1.tgz#74c02cf237c2996b77661b636b014168b18d95e6" + integrity sha512-kiuHV6m6DSB8/4UV1qpFhlc4ul8SgLXTGRlYkYiIIP4l0YNeJ+OpPYaOlEgx4Unk2mW3/O2FWYj7Jc93+BWXng== + dependencies: + bn.js "^5.2.0" "@cosmjs/proto-signing@^0.30.0", "@cosmjs/proto-signing@^0.30.1": version "0.30.1" @@ -2132,15 +2084,18 @@ cosmjs-types "^0.7.1" long "^4.0.0" -"@cosmjs/socket@^0.29.3", "@cosmjs/socket@^0.29.5": - version "0.29.5" - resolved "https://registry.yarnpkg.com/@cosmjs/socket/-/socket-0.29.5.tgz#a48df6b4c45dc6a6ef8e47232725dd4aa556ac2d" - integrity sha512-5VYDupIWbIXq3ftPV1LkS5Ya/T7Ol/AzWVhNxZ79hPe/mBfv1bGau/LqIYOm2zxGlgm9hBHOTmWGqNYDwr9LNQ== - dependencies: - "@cosmjs/stream" "^0.29.5" - isomorphic-ws "^4.0.1" - ws "^7" - xstream "^11.14.0" +"@cosmjs/proto-signing@^0.31.1": + version "0.31.1" + resolved "https://registry.yarnpkg.com/@cosmjs/proto-signing/-/proto-signing-0.31.1.tgz#3929d5bee3c88c42b3bc3c4b9db4ab3bddb684c4" + integrity sha512-hipbBVrssPu+jnmRzQRP5hhS/mbz2nU7RvxG/B1ZcdNhr1AtZC5DN09OTUoEpMSRgyQvScXmk/NTbyf+xmCgYg== + dependencies: + "@cosmjs/amino" "^0.31.1" + "@cosmjs/crypto" "^0.31.1" + "@cosmjs/encoding" "^0.31.1" + "@cosmjs/math" "^0.31.1" + "@cosmjs/utils" "^0.31.1" + cosmjs-types "^0.8.0" + long "^4.0.0" "@cosmjs/socket@^0.30.1": version "0.30.1" @@ -2152,22 +2107,14 @@ ws "^7" xstream "^11.14.0" -"@cosmjs/stargate@0.29.3": - version "0.29.3" - resolved "https://registry.yarnpkg.com/@cosmjs/stargate/-/stargate-0.29.3.tgz#9bd303bfd32a7399a233e662864e7cc32e2607af" - integrity sha512-455TgXStCi6E8KDjnhDAM8wt6aLSjobH4Dixvd7Up1DfCH6UB9NkC/G0fMJANNcNXMaM4wSX14niTXwD1d31BA== +"@cosmjs/socket@^0.31.1": + version "0.31.1" + resolved "https://registry.yarnpkg.com/@cosmjs/socket/-/socket-0.31.1.tgz#887d4e9b6aad4b3d264d64a47bdb40bcfa9802ff" + integrity sha512-XTtEr+x3WGbqkzoGX0sCkwVqf5n+bBqDwqNgb+DWaBABQxHVRuuainrTVp0Yc91D3Iy2twLQzeBA9OrRxDSerw== dependencies: - "@confio/ics23" "^0.6.8" - "@cosmjs/amino" "^0.29.3" - "@cosmjs/encoding" "^0.29.3" - "@cosmjs/math" "^0.29.3" - "@cosmjs/proto-signing" "^0.29.3" - "@cosmjs/stream" "^0.29.3" - "@cosmjs/tendermint-rpc" "^0.29.3" - "@cosmjs/utils" "^0.29.3" - cosmjs-types "^0.5.2" - long "^4.0.0" - protobufjs "~6.11.3" + "@cosmjs/stream" "^0.31.1" + isomorphic-ws "^4.0.1" + ws "^7" xstream "^11.14.0" "@cosmjs/stargate@^0.30.0", "@cosmjs/stargate@^0.30.1": @@ -2188,11 +2135,22 @@ protobufjs "~6.11.3" xstream "^11.14.0" -"@cosmjs/stream@^0.29.3", "@cosmjs/stream@^0.29.5": - version "0.29.5" - resolved "https://registry.yarnpkg.com/@cosmjs/stream/-/stream-0.29.5.tgz#350981cac496d04939b92ee793b9b19f44bc1d4e" - integrity sha512-TToTDWyH1p05GBtF0Y8jFw2C+4783ueDCmDyxOMM6EU82IqpmIbfwcdMOCAm0JhnyMh+ocdebbFvnX/sGKzRAA== +"@cosmjs/stargate@^0.31.1": + version "0.31.1" + resolved "https://registry.yarnpkg.com/@cosmjs/stargate/-/stargate-0.31.1.tgz#7e2b0fd6f181250915b1d73ecf9dfbab6f3cdd0d" + integrity sha512-TqOJZYOH5W3sZIjR6949GfjhGXO3kSHQ3/KmE+SuKyMMmQ5fFZ45beawiRtVF0/CJg5RyPFyFGJKhb1Xxv3Lcg== dependencies: + "@confio/ics23" "^0.6.8" + "@cosmjs/amino" "^0.31.1" + "@cosmjs/encoding" "^0.31.1" + "@cosmjs/math" "^0.31.1" + "@cosmjs/proto-signing" "^0.31.1" + "@cosmjs/stream" "^0.31.1" + "@cosmjs/tendermint-rpc" "^0.31.1" + "@cosmjs/utils" "^0.31.1" + cosmjs-types "^0.8.0" + long "^4.0.0" + protobufjs "~6.11.3" xstream "^11.14.0" "@cosmjs/stream@^0.30.0", "@cosmjs/stream@^0.30.1": @@ -2202,36 +2160,11 @@ dependencies: xstream "^11.14.0" -"@cosmjs/tendermint-rpc@0.29.3": - version "0.29.3" - resolved "https://registry.yarnpkg.com/@cosmjs/tendermint-rpc/-/tendermint-rpc-0.29.3.tgz#054f80e5095cdf328d98fa7bcf23cd785435d247" - integrity sha512-4l3VacUMQdyGGqfzbZ02kEwlVdMVOdAeWJt2euoVdfUR/HT+TTzQrrL+ORj9PEooLLtwtMl9dqms8uEiblYBDg== - dependencies: - "@cosmjs/crypto" "^0.29.3" - "@cosmjs/encoding" "^0.29.3" - "@cosmjs/json-rpc" "^0.29.3" - "@cosmjs/math" "^0.29.3" - "@cosmjs/socket" "^0.29.3" - "@cosmjs/stream" "^0.29.3" - "@cosmjs/utils" "^0.29.3" - axios "^0.21.2" - readonly-date "^1.0.0" - xstream "^11.14.0" - -"@cosmjs/tendermint-rpc@^0.29.3": - version "0.29.5" - resolved "https://registry.yarnpkg.com/@cosmjs/tendermint-rpc/-/tendermint-rpc-0.29.5.tgz#f205c10464212bdf843f91bb2e4a093b618cb5c2" - integrity sha512-ar80twieuAxsy0x2za/aO3kBr2DFPAXDmk2ikDbmkda+qqfXgl35l9CVAAjKRqd9d+cRvbQyb5M4wy6XQpEV6w== - dependencies: - "@cosmjs/crypto" "^0.29.5" - "@cosmjs/encoding" "^0.29.5" - "@cosmjs/json-rpc" "^0.29.5" - "@cosmjs/math" "^0.29.5" - "@cosmjs/socket" "^0.29.5" - "@cosmjs/stream" "^0.29.5" - "@cosmjs/utils" "^0.29.5" - axios "^0.21.2" - readonly-date "^1.0.0" +"@cosmjs/stream@^0.31.1": + version "0.31.1" + resolved "https://registry.yarnpkg.com/@cosmjs/stream/-/stream-0.31.1.tgz#01bab56278bfe32cd601043949fcdc021a5f7ca7" + integrity sha512-xsIGD9bpBvYYZASajCyOevh1H5pDdbOWmvb4UwGZ78doGVz3IC3Kb9BZKJHIX2fjq9CMdGVJHmlM+Zp5aM8yZA== + dependencies: xstream "^11.14.0" "@cosmjs/tendermint-rpc@^0.30.0", "@cosmjs/tendermint-rpc@^0.30.1": @@ -2250,16 +2183,32 @@ readonly-date "^1.0.0" xstream "^11.14.0" -"@cosmjs/utils@^0.29.3", "@cosmjs/utils@^0.29.5": - version "0.29.5" - resolved "https://registry.yarnpkg.com/@cosmjs/utils/-/utils-0.29.5.tgz#3fed1b3528ae8c5f1eb5d29b68755bebfd3294ee" - integrity sha512-m7h+RXDUxOzEOGt4P+3OVPX7PuakZT3GBmaM/Y2u+abN3xZkziykD/NvedYFvvCCdQo714XcGl33bwifS9FZPQ== +"@cosmjs/tendermint-rpc@^0.31.1": + version "0.31.1" + resolved "https://registry.yarnpkg.com/@cosmjs/tendermint-rpc/-/tendermint-rpc-0.31.1.tgz#0699c6046fc8afd1eee3c648cfb3b896119ce52e" + integrity sha512-KX+wwi725sSePqIxfMPPOqg+xTETV8BHGOBhRhCZXEl5Fq48UlXXq3/yG1sn7K67ADC0kqHqcCF41Wn1GxNNPA== + dependencies: + "@cosmjs/crypto" "^0.31.1" + "@cosmjs/encoding" "^0.31.1" + "@cosmjs/json-rpc" "^0.31.1" + "@cosmjs/math" "^0.31.1" + "@cosmjs/socket" "^0.31.1" + "@cosmjs/stream" "^0.31.1" + "@cosmjs/utils" "^0.31.1" + axios "^0.21.2" + readonly-date "^1.0.0" + xstream "^11.14.0" "@cosmjs/utils@^0.30.0", "@cosmjs/utils@^0.30.1": version "0.30.1" resolved "https://registry.yarnpkg.com/@cosmjs/utils/-/utils-0.30.1.tgz#6d92582341be3c2ec8d82090253cfa4b7f959edb" integrity sha512-KvvX58MGMWh7xA+N+deCfunkA/ZNDvFLw4YbOmX3f/XBIkqrVY7qlotfy2aNb1kgp6h4B6Yc8YawJPDTfvWX7g== +"@cosmjs/utils@^0.31.1": + version "0.31.1" + resolved "https://registry.yarnpkg.com/@cosmjs/utils/-/utils-0.31.1.tgz#e6055cd7d722fa72df9cbd0d39cd1f7a9ac80483" + integrity sha512-n4Se1wu4GnKwztQHNFfJvUeWcpvx3o8cWhSbNs9JQShEuB3nv3R5lqFBtDCgHZF/emFQAP+ZjF8bTfCs9UBGhA== + "@csstools/normalize.css@*": version "12.0.0" resolved "https://registry.yarnpkg.com/@csstools/normalize.css/-/normalize.css-12.0.0.tgz#a9583a75c3f150667771f30b60d9f059473e62c4" @@ -3283,12 +3232,11 @@ "@jridgewell/resolve-uri" "3.1.0" "@jridgewell/sourcemap-codec" "1.4.14" -"@keplr-wallet/types@^0.11.7": - version "0.11.38" - resolved "https://registry.yarnpkg.com/@keplr-wallet/types/-/types-0.11.38.tgz#cfaaa4686d0c5b901ba987e6806ac9a17162f0a0" - integrity sha512-Lcfkh3OsQMdZ9zKQeV/P4tz+ig7SjKDIY9u5MdqairDAPLPCk4qenh9wDZguNW4CWzlW/FI1A/RqltqtJQGyLg== +"@keplr-wallet/types@^0.12.22": + version "0.12.22" + resolved "https://registry.yarnpkg.com/@keplr-wallet/types/-/types-0.12.22.tgz#4783b564eddd2477821156d720036595193dd466" + integrity sha512-b/+AG0gEYJF5A90FgK2a5LG14lKJybX4rbnjxJrD0TAfoNS1P6UlS7Zqm79/X+yuNcRntqPPbzyrdv+dtqDcGA== dependencies: - axios "^0.27.2" long "^4.0.0" "@leichtgewicht/ip-codec@^2.0.1": @@ -5568,14 +5516,6 @@ axios@0.21.4, axios@^0.21.2: dependencies: follow-redirects "^1.14.0" -axios@^0.27.2: - version "0.27.2" - resolved "https://registry.yarnpkg.com/axios/-/axios-0.27.2.tgz#207658cc8621606e586c85db4b41a750e756d972" - integrity sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ== - dependencies: - follow-redirects "^1.14.9" - form-data "^4.0.0" - axobject-query@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-3.1.1.tgz#3b6e5c6d4e43ca7ba51c5babf99d22a9c68485e1" @@ -6461,7 +6401,7 @@ cosmiconfig@^7.0.0: path-type "^4.0.0" yaml "^1.10.0" -cosmjs-types@^0.5.0, cosmjs-types@^0.5.2: +cosmjs-types@^0.5.0: version "0.5.2" resolved "https://registry.yarnpkg.com/cosmjs-types/-/cosmjs-types-0.5.2.tgz#2d42b354946f330dfb5c90a87fdc2a36f97b965d" integrity sha512-zxCtIJj8v3Di7s39uN4LNcN3HIE1z0B9Z0SPE8ZNQR0oSzsuSe1ACgxoFkvhkS7WBasCAFcglS11G2hyfd5tPg== @@ -6477,6 +6417,14 @@ cosmjs-types@^0.7.1: long "^4.0.0" protobufjs "~6.11.2" +cosmjs-types@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/cosmjs-types/-/cosmjs-types-0.8.0.tgz#2ed78f3e990f770229726f95f3ef5bf9e2b6859b" + integrity sha512-Q2Mj95Fl0PYMWEhA2LuGEIhipF7mQwd9gTQ85DdP9jjjopeoGaDxvmPa5nakNzsq7FnO1DMTatXTAx6bxMH7Lg== + dependencies: + long "^4.0.0" + protobufjs "~6.11.2" + cross-spawn@^6.0.5: version "6.0.5" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" @@ -7171,7 +7119,7 @@ electron-to-chromium@^1.4.284: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.295.tgz#911d5df67542bf7554336142eb302c5ec90bba66" integrity sha512-lEO94zqf1bDA3aepxwnWoHUjA8sZ+2owgcSZjYQy0+uOSEclJX0VieZC+r+wLpSxUHRd6gG32znTWmr+5iGzFw== -elliptic@^6.5.3, elliptic@^6.5.4: +elliptic@^6.5.4: version "6.5.4" resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== @@ -8206,7 +8154,7 @@ fn.name@1.x.x: resolved "https://registry.yarnpkg.com/fn.name/-/fn.name-1.1.0.tgz#26cad8017967aea8731bc42961d04a3d5988accc" integrity sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw== -follow-redirects@^1.0.0, follow-redirects@^1.14.0, follow-redirects@^1.14.9: +follow-redirects@^1.0.0, follow-redirects@^1.14.0: version "1.15.2" resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13" integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== @@ -8246,15 +8194,6 @@ form-data@^3.0.0: combined-stream "^1.0.8" mime-types "^2.1.12" -form-data@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" - integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.8" - mime-types "^2.1.12" - forwarded@0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" @@ -10232,6 +10171,18 @@ levn@~0.3.0: prelude-ls "~1.1.2" type-check "~0.3.2" +libsodium-sumo@^0.7.11: + version "0.7.11" + resolved "https://registry.yarnpkg.com/libsodium-sumo/-/libsodium-sumo-0.7.11.tgz#ab0389e2424fca5c1dc8c4fd394906190da88a11" + integrity sha512-bY+7ph7xpk51Ez2GbE10lXAQ5sJma6NghcIDaSPbM/G9elfrjLa0COHl/7P6Wb/JizQzl5UQontOOP1z0VwbLA== + +libsodium-wrappers-sumo@^0.7.11: + version "0.7.11" + resolved "https://registry.yarnpkg.com/libsodium-wrappers-sumo/-/libsodium-wrappers-sumo-0.7.11.tgz#d96329ee3c0e7ec7f5fcf4cdde16cc3a1ae91d82" + integrity sha512-DGypHOmJbB1nZn89KIfGOAkDgfv5N6SBGC3Qvmy/On0P0WD1JQvNRS/e3UL3aFF+xC0m+MYz5M+MnRnK2HMrKQ== + dependencies: + libsodium-sumo "^0.7.11" + libsodium-wrappers@^0.7.6: version "0.7.10" resolved "https://registry.yarnpkg.com/libsodium-wrappers/-/libsodium-wrappers-0.7.10.tgz#13ced44cacb0fc44d6ac9ce67d725956089ce733" @@ -11961,15 +11912,10 @@ prettier-linter-helpers@^1.0.0: dependencies: fast-diff "^1.1.2" -prettier@^1.18.2: - version "1.19.1" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb" - integrity sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew== - -prettier@^2.7.1: - version "2.8.4" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.4.tgz#34dd2595629bfbb79d344ac4a91ff948694463c3" - integrity sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw== +prettier@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.0.0.tgz#e7b19f691245a21d618c68bc54dc06122f6105ae" + integrity sha512-zBf5eHpwHOGPC47h0zrPyNn+eAEIdEzfywMoYn2XPi0P44Zp0tSq64rq0xAREh4auw2cJZHo9QUob+NqCQky4g== pretty-bytes@^5.3.0, pretty-bytes@^5.4.1: version "5.6.0"