diff --git a/package.json b/package.json index 996f37e..f930064 100644 --- a/package.json +++ b/package.json @@ -3,29 +3,6 @@ "version": "0.1.0", "private": true, "license": "Apache-2.0", - "dependencies": { - "@cosmjs/cosmwasm": "^0.24.0-alpha.22", - "@cosmjs/encoding": "^0.24.0-alpha.22", - "@cosmjs/launchpad": "^0.24.0-alpha.22", - "@cosmjs/math": "^0.24.0-alpha.22", - "@cosmjs/stargate": "^0.24.0-alpha.22", - "@cosmjs/tendermint-rpc": "^0.24.0-alpha.22", - "@cosmjs/utils": "^0.24.0-alpha.22", - "@testing-library/jest-dom": "^5.11.4", - "@testing-library/react": "^11.1.0", - "@testing-library/user-event": "^12.1.10", - "@types/jest": "^26.0.15", - "@types/node": "^12.0.0", - "@types/react": "^16.9.53", - "@types/react-dom": "^16.9.8", - "react": "^17.0.1", - "react-dom": "^17.0.1", - "react-router-dom": "^5.2.0", - "react-scripts": "4.0.0", - "tailwindcss": "^1.9.6", - "typescript": "^4.0.3", - "web-vitals": "^0.2.4" - }, "scripts": { "build:tailwind": "tailwindcss build src/index.css -o src/tailwind.output.css", "prebuild": "NODE_ENV=production yarn build:tailwind", @@ -36,6 +13,7 @@ "start:base": "react-scripts start", "start": "yarn start:musselnet", "start:musselnet": "REACT_APP_NETWORK=musselnet yarn start:base", + "start:oysternet": "REACT_APP_NETWORK=oysternet yarn start:base", "test": "react-scripts test", "eject": "react-scripts eject" }, @@ -54,6 +32,30 @@ "last 1 safari version" ] }, + "dependencies": { + "@cosmjs/cosmwasm": "^0.25.4", + "@cosmjs/encoding": "^0.25.4", + "@cosmjs/launchpad": "^0.25.4", + "@cosmjs/math": "^0.25.4", + "@cosmjs/stargate": "^0.25.4", + "@cosmjs/tendermint-rpc": "^0.25.4", + "@cosmjs/utils": "^0.25.4", + "@testing-library/jest-dom": "^5.11.4", + "@testing-library/react": "^11.1.0", + "@testing-library/user-event": "^12.1.10", + "@types/jest": "^26.0.15", + "@types/node": "^12.0.0", + "@types/react": "^16.9.53", + "@types/react-dom": "^16.9.8", + "long": "^4.0.0", + "react": "^17.0.1", + "react-dom": "^17.0.1", + "react-router-dom": "^5.2.0", + "react-scripts": "4.0.0", + "tailwindcss": "^1.9.6", + "typescript": "^4.0.3", + "web-vitals": "^0.2.4" + }, "devDependencies": { "@types/react-router-dom": "^5.1.6", "@typescript-eslint/eslint-plugin": "^4.7.0", diff --git a/src/App/components/ChannelCounterpartyData.tsx b/src/App/components/ChannelCounterpartyData.tsx new file mode 100644 index 0000000..e4455ed --- /dev/null +++ b/src/App/components/ChannelCounterpartyData.tsx @@ -0,0 +1,18 @@ +import React from "react"; + +import { IbcChannelCounterparty } from "../../types/ibc"; +import { style } from "../style"; + +interface CounterpartyDataProps { + readonly counterparty?: IbcChannelCounterparty | null; +} + +export function CounterpartyData({ counterparty }: CounterpartyDataProps): JSX.Element { + return ( +
+ Counterparty + {counterparty?.portId && Port ID: {counterparty.portId}} + {counterparty?.channelId && Channel ID: {counterparty.channelId}} +
+ ); +} diff --git a/src/App/components/ConnectionCounterpartyData.tsx b/src/App/components/ConnectionCounterpartyData.tsx new file mode 100644 index 0000000..5e45de0 --- /dev/null +++ b/src/App/components/ConnectionCounterpartyData.tsx @@ -0,0 +1,22 @@ +import { toHex } from "@cosmjs/encoding"; +import React from "react"; + +import { IbcConnectionCounterparty } from "../../types/ibc"; +import { style } from "../style"; + +interface CounterpartyDataProps { + readonly counterparty?: IbcConnectionCounterparty | null; +} + +export function CounterpartyData({ counterparty }: CounterpartyDataProps): JSX.Element { + return ( +
+ Counterparty + {counterparty?.clientId && Client ID: {counterparty.clientId}} + {counterparty?.connectionId && Connection ID: {counterparty.connectionId}} + {counterparty?.prefix?.keyPrefix?.length ? ( + Prefix: {toHex(counterparty?.prefix?.keyPrefix)} + ) : null} +
+ ); +} diff --git a/src/App/components/CounterpartyData.tsx b/src/App/components/CounterpartyData.tsx deleted file mode 100644 index 34e660e..0000000 --- a/src/App/components/CounterpartyData.tsx +++ /dev/null @@ -1,24 +0,0 @@ -import { toHex } from "@cosmjs/encoding"; -import React from "react"; - -import { IbcChannelCounterparty, IbcConnectionCounterparty } from "../../types/ibc"; -import { style } from "../style"; - -interface CounterpartyDataProps { - readonly counterparty?: (IbcConnectionCounterparty & IbcChannelCounterparty) | null; -} - -export function CounterpartyData({ counterparty }: CounterpartyDataProps): JSX.Element { - return ( -
- Counterparty - {counterparty?.clientId ? Client ID: {counterparty.clientId} : null} - {counterparty?.connectionId ? Connection ID: {counterparty.connectionId} : null} - {counterparty?.prefix?.keyPrefix?.length ? ( - Prefix: {toHex(counterparty?.prefix?.keyPrefix)} - ) : null} - {counterparty?.portId ? Port ID: {counterparty.portId} : null} - {counterparty?.channelId ? Channel ID: {counterparty.channelId} : null} -
- ); -} diff --git a/src/App/routes/Acknowledgement/index.tsx b/src/App/routes/Acknowledgement/index.tsx index b6d7fc6..33f6b66 100644 --- a/src/App/routes/Acknowledgement/index.tsx +++ b/src/App/routes/Acknowledgement/index.tsx @@ -25,7 +25,7 @@ export function Acknowledgement(): JSX.Element { const sequenceNumber = Number.parseInt(sequence, 10); (async function updateAckResponse() { - const ackResponse = await getClient().ibc.unverified.packetAcknowledgement( + const ackResponse = await getClient().ibc.channel.packetAcknowledgement( portId, channelId, sequenceNumber, @@ -38,9 +38,9 @@ export function Acknowledgement(): JSX.Element {
Data - {portId ? Port ID: {portId} : null} - {channelId ? Channel ID: {channelId} : null} - {sequence ? Sequence: {sequence} : null} + {portId && Port ID: {portId}} + {channelId && Channel ID: {channelId}} + {sequence && Sequence: {sequence}} {ackResponse?.acknowledgement ? (
Proof: {ackResponse.proof?.length ? toHex(ackResponse.proof) : "–"} diff --git a/src/App/routes/Channel/AcknowledgementsList.tsx b/src/App/routes/Channel/AcknowledgementsList.tsx index 474130e..ed09736 100644 --- a/src/App/routes/Channel/AcknowledgementsList.tsx +++ b/src/App/routes/Channel/AcknowledgementsList.tsx @@ -27,11 +27,11 @@ export function AcknowledgementsList({ useEffect(() => { (async function updatePacketAcknowledgementsResponse() { - const acketAcknowledgementsResponse = await getClient().ibc.unverified.packetAcknowledgements( + const packetAcknowledgementsResponse = await getClient().ibc.channel.packetAcknowledgements( portId, channelId, ); - setPacketAcknowledgementsResponse(acketAcknowledgementsResponse); + setPacketAcknowledgementsResponse(packetAcknowledgementsResponse); })(); }, [getClient, portId, channelId]); diff --git a/src/App/routes/Channel/ChannelData.tsx b/src/App/routes/Channel/ChannelData.tsx index 182da9e..858929c 100644 --- a/src/App/routes/Channel/ChannelData.tsx +++ b/src/App/routes/Channel/ChannelData.tsx @@ -4,7 +4,7 @@ import React, { useEffect, useState } from "react"; import { useClient } from "../../../contexts/ClientContext"; import { IbcChannelResponse } from "../../../types/ibc"; import { printIbcChannelState, printIbcOrder } from "../../../utils/ibc"; -import { CounterpartyData } from "../../components/CounterpartyData"; +import { CounterpartyData } from "../../components/ChannelCounterpartyData"; import { HeightData } from "../../components/HeightData"; import { style } from "../../style"; @@ -19,7 +19,7 @@ export function ChannelData({ portId, channelId }: ChannelDataProps): JSX.Elemen useEffect(() => { (async function updateChannelResponse() { - const channelResponse = await getClient().ibc.unverified.channel(portId, channelId); + const channelResponse = await getClient().ibc.channel.channel(portId, channelId); setChannelResponse(channelResponse); })(); }, [getClient, portId, channelId]); @@ -27,8 +27,8 @@ export function ChannelData({ portId, channelId }: ChannelDataProps): JSX.Elemen return channelResponse?.channel ? (
Data
- {portId ?
Port ID: {portId}
: null} - {channelId ?
Channel ID: {channelId}
: null} + {portId &&
Port ID: {portId}
} + {channelId &&
Channel ID: {channelId}
}
Proof: {channelResponse.proof?.length ? toHex(channelResponse.proof) : "–"}
@@ -39,7 +39,7 @@ export function ChannelData({ portId, channelId }: ChannelDataProps): JSX.Elemen Ordering: {channelResponse.channel.ordering ? printIbcOrder(channelResponse.channel.ordering) : "–"} - + Connection hops:{" "} {channelResponse.channel.connectionHops ? channelResponse.channel.connectionHops.join(", ") : "–"} diff --git a/src/App/routes/Channel/CommitmentsList.tsx b/src/App/routes/Channel/CommitmentsList.tsx index 84a775d..e1ffd7f 100644 --- a/src/App/routes/Channel/CommitmentsList.tsx +++ b/src/App/routes/Channel/CommitmentsList.tsx @@ -21,7 +21,7 @@ export function CommitmentsList({ connectionId, portId, channelId }: Commitments useEffect(() => { (async function updatePacketCommitmentsResponse() { - const packetCommitmentsResponse = await getClient().ibc.unverified.packetCommitments(portId, channelId); + const packetCommitmentsResponse = await getClient().ibc.channel.packetCommitments(portId, channelId); setPacketCommitmentsResponse(packetCommitmentsResponse); })(); }, [getClient, portId, channelId]); diff --git a/src/App/routes/Channel/NextSequenceReceiveData.tsx b/src/App/routes/Channel/NextSequenceReceiveData.tsx index 4d4caad..f9c5429 100644 --- a/src/App/routes/Channel/NextSequenceReceiveData.tsx +++ b/src/App/routes/Channel/NextSequenceReceiveData.tsx @@ -17,7 +17,7 @@ export function NextSequenceReceiveData({ portId, channelId }: NextSequenceRecei useEffect(() => { (async function updateNextSequenceReceiveResponse() { - const nextSequenceReceiveResponse = await getClient().ibc.unverified.nextSequenceReceive( + const nextSequenceReceiveResponse = await getClient().ibc.channel.nextSequenceReceive( portId, channelId, ); diff --git a/src/App/routes/Channel/UnreceivedAcksList.tsx b/src/App/routes/Channel/UnreceivedAcksList.tsx index d62120d..7a94102 100644 --- a/src/App/routes/Channel/UnreceivedAcksList.tsx +++ b/src/App/routes/Channel/UnreceivedAcksList.tsx @@ -16,7 +16,7 @@ export function UnreceivedAcksList({ portId, channelId, sequence }: UnreceivedAc useEffect(() => { (async function updateUnreceivedAcksResponse() { - const unreceivedAcksResponse = await getClient().ibc.unverified.unreceivedAcks(portId, channelId, [ + const unreceivedAcksResponse = await getClient().ibc.channel.unreceivedAcks(portId, channelId, [ sequence, ]); setUnreceivedAcksResponse(unreceivedAcksResponse); diff --git a/src/App/routes/Channel/UnreceivedPacketsList.tsx b/src/App/routes/Channel/UnreceivedPacketsList.tsx index 7888472..66562d1 100644 --- a/src/App/routes/Channel/UnreceivedPacketsList.tsx +++ b/src/App/routes/Channel/UnreceivedPacketsList.tsx @@ -20,11 +20,9 @@ export function UnreceivedPacketsList({ useEffect(() => { (async function updateUnreceivedPacketsResponse() { - const unreceivedPacketsResponse = await getClient().ibc.unverified.unreceivedPackets( - portId, - channelId, - [sequence], - ); + const unreceivedPacketsResponse = await getClient().ibc.channel.unreceivedPackets(portId, channelId, [ + sequence, + ]); setUnreceivedPacketsResponse(unreceivedPacketsResponse); })(); }, [getClient, portId, channelId, sequence]); diff --git a/src/App/routes/Commitment/index.tsx b/src/App/routes/Commitment/index.tsx index 8d6310f..61225bb 100644 --- a/src/App/routes/Commitment/index.tsx +++ b/src/App/routes/Commitment/index.tsx @@ -1,4 +1,5 @@ import { toHex } from "@cosmjs/encoding"; +import Long from "long"; import React, { useEffect, useState } from "react"; import { useParams } from "react-router-dom"; @@ -25,10 +26,10 @@ export function Commitment(): JSX.Element { const sequenceNumber = Number.parseInt(sequence, 10); (async function updateCommitmentResponse() { - const commitmentResponse = await getClient().ibc.unverified.packetCommitment( + const commitmentResponse = await getClient().ibc.channel.packetCommitment( portId, channelId, - sequenceNumber, + Long.fromNumber(sequenceNumber), ); setCommitmentResponse(commitmentResponse); })(); @@ -38,9 +39,9 @@ export function Commitment(): JSX.Element {
Data - {portId ? Port ID: {portId} : null} - {channelId ? Channel ID: {channelId} : null} - {sequence ? Sequence: {sequence} : null} + {portId && Port ID: {portId}} + {channelId && Channel ID: {channelId}} + {sequence && Sequence: {sequence}} {commitmentResponse?.commitment ? (
Proof: {commitmentResponse.proof?.length ? toHex(commitmentResponse.proof) : "–"} diff --git a/src/App/routes/Connection/ChannelsList.tsx b/src/App/routes/Connection/ChannelsList.tsx index 38bad3f..affe4cf 100644 --- a/src/App/routes/Connection/ChannelsList.tsx +++ b/src/App/routes/Connection/ChannelsList.tsx @@ -22,7 +22,7 @@ export function ChannelsList({ connectionId }: ChannelsListProps): JSX.Element { useEffect(() => { (async function updateChannelsResponse() { - const channelsResponse = await getClient().ibc.unverified.connectionChannels(connectionId); + const channelsResponse = await getClient().ibc.channel.connectionChannels(connectionId); setChannelsResponse(channelsResponse); })(); }, [connectionId, getClient]); @@ -30,7 +30,7 @@ export function ChannelsList({ connectionId }: ChannelsListProps): JSX.Element { async function loadMoreChannels(): Promise { if (!channelsResponse?.pagination?.nextKey?.length) return; - const newChannelsResponse = await getClient().ibc.unverified.connectionChannels( + const newChannelsResponse = await getClient().ibc.channel.connectionChannels( connectionId, channelsResponse.pagination.nextKey, ); diff --git a/src/App/routes/Connection/ConnectionData.tsx b/src/App/routes/Connection/ConnectionData.tsx index 27a8dbd..4caffdb 100644 --- a/src/App/routes/Connection/ConnectionData.tsx +++ b/src/App/routes/Connection/ConnectionData.tsx @@ -4,7 +4,7 @@ import React, { useEffect, useState } from "react"; import { useClient } from "../../../contexts/ClientContext"; import { IbcConnectionResponse } from "../../../types/ibc"; import { printIbcConnectionState } from "../../../utils/ibc"; -import { CounterpartyData } from "../../components/CounterpartyData"; +import { CounterpartyData } from "../../components/ConnectionCounterpartyData"; import { HeightData } from "../../components/HeightData"; import { style } from "../../style"; @@ -18,7 +18,7 @@ export function ConnectionData({ connectionId }: ConnectionDataProps): JSX.Eleme useEffect(() => { (async function updateConnectionResponse() { - const connectionResponse = await getClient().ibc.unverified.connection(connectionId); + const connectionResponse = await getClient().ibc.connection.connection(connectionId); setConnectionResponse(connectionResponse); })(); }, [getClient, connectionId]); @@ -26,7 +26,7 @@ export function ConnectionData({ connectionId }: ConnectionDataProps): JSX.Eleme return connectionResponse?.connection ? (
Data
- {connectionId ?
Connection ID: {connectionId}
: null} + {connectionId &&
Connection ID: {connectionId}
}
Proof: {connectionResponse.proof?.length ? toHex(connectionResponse.proof) : "–"}
@@ -50,7 +50,7 @@ export function ConnectionData({ connectionId }: ConnectionDataProps): JSX.Eleme ) : ( No versions found )} - +
) : ( diff --git a/src/App/routes/Connections/index.tsx b/src/App/routes/Connections/index.tsx index fdeff7e..eae0b7f 100644 --- a/src/App/routes/Connections/index.tsx +++ b/src/App/routes/Connections/index.tsx @@ -30,7 +30,7 @@ export function Connections(): JSX.Element { useEffect(() => { (async function updateConnectionsResponse() { - const connectionsResponse = await getClient().ibc.unverified.connections(); + const connectionsResponse = await getClient().ibc.connection.connections(); setConnectionsResponse(connectionsResponse); const nonEmptyClientIds = @@ -48,7 +48,7 @@ export function Connections(): JSX.Element { async function loadMoreConnections(): Promise { if (!connectionsResponse?.pagination?.nextKey?.length) return; - const newConnectionsResponse = await getClient().ibc.unverified.connections( + const newConnectionsResponse = await getClient().ibc.connection.connections( connectionsResponse.pagination.nextKey, ); diff --git a/src/config.ts b/src/config.ts index 9d24d6e..6ea5c43 100644 --- a/src/config.ts +++ b/src/config.ts @@ -15,7 +15,11 @@ const musselnet: AppConfig = { rpcUrl: "https://rpc.musselnet.cosmwasm.com", }; -const configs: NetworkConfigs = { local, musselnet }; +const oysternet: AppConfig = { + rpcUrl: "rpc.oysternet.cosmwasm.com", +}; + +const configs: NetworkConfigs = { local, musselnet, oysternet }; function getAppConfig(): AppConfig { const network = process.env.REACT_APP_NETWORK; diff --git a/src/contexts/ClientContext.tsx b/src/contexts/ClientContext.tsx index 26fa069..733b508 100644 --- a/src/contexts/ClientContext.tsx +++ b/src/contexts/ClientContext.tsx @@ -1,5 +1,5 @@ import { IbcExtension, QueryClient, setupIbcExtension } from "@cosmjs/stargate"; -import { adaptor34, Client as TendermintClient } from "@cosmjs/tendermint-rpc"; +import { Tendermint34Client } from "@cosmjs/tendermint-rpc"; import React, { useEffect } from "react"; import { config } from "../config"; @@ -21,14 +21,14 @@ const ClientContext = React.createContext(defaultClientContex export const useClient = (): ClientContextType => React.useContext(ClientContext); export function ClientProvider({ children }: React.HTMLAttributes): JSX.Element { - const [tmClient, setTmClient] = React.useState(); + const [tmClient, setTmClient] = React.useState(); const [ibcClient, setIbcClient] = React.useState(); const [value, setValue] = React.useState(defaultClientContext); const [clientsAvailable, setClientsAvailable] = React.useState(false); useEffect(() => { (async function updateTmClient() { - const tmClient = await TendermintClient.connect(config.rpcUrl, adaptor34); + const tmClient = await Tendermint34Client.connect(config.rpcUrl); setTmClient(tmClient); })(); }, []); diff --git a/src/types/ibc.ts b/src/types/ibc.ts index fd568f3..e41dc9f 100644 --- a/src/types/ibc.ts +++ b/src/types/ibc.ts @@ -1,31 +1,27 @@ -import { codec } from "@cosmjs/stargate"; - -// IBC common types -export type IbcConnectionState = codec.ibc.core.connection.v1.State; -export const IbcConnectionState = codec.ibc.core.connection.v1.State; -export type IbcConnectionCounterparty = codec.ibc.core.connection.v1.ICounterparty; -export type IbcChannelState = codec.ibc.core.channel.v1.State; -export const IbcChannelState = codec.ibc.core.channel.v1.State; -export type IbcChannelCounterparty = codec.ibc.core.channel.v1.ICounterparty; -export type IbcOrder = codec.ibc.core.channel.v1.Order; -export const IbcOrder = codec.ibc.core.channel.v1.Order; -export type IbcHeight = codec.ibc.core.client.v1.IHeight; - -// IBC connection responses -export type IbcConnectionsResponse = codec.ibc.core.connection.v1.IQueryConnectionsResponse; -export type IbcClientConnectionsResponse = codec.ibc.core.connection.v1.IQueryClientConnectionsResponse; -export type IbcConnectionResponse = codec.ibc.core.connection.v1.IQueryConnectionResponse; - -// IBC channel responses -export type IbcChannelsResponse = codec.ibc.core.channel.v1.IQueryChannelsResponse; -export type IbcConnectionChannelsResponse = codec.ibc.core.channel.v1.IQueryConnectionChannelsResponse; -export type IbcChannelResponse = codec.ibc.core.channel.v1.IQueryChannelResponse; - -// IBC packet responses -export type IbcNextSequenceReceiveResponse = codec.ibc.core.channel.v1.IQueryNextSequenceReceiveResponse; -export type IbcPacketCommitmentsResponse = codec.ibc.core.channel.v1.IQueryPacketCommitmentsResponse; -export type IbcPacketCommitmentResponse = codec.ibc.core.channel.v1.IQueryPacketCommitmentResponse; -export type IbcPacketAcknowledgementsResponse = codec.ibc.core.channel.v1.IQueryPacketAcknowledgementsResponse; -export type IbcPacketAcknowledgementResponse = codec.ibc.core.channel.v1.IQueryPacketAcknowledgementResponse; -export type IbcUnreceivedPacketsResponse = codec.ibc.core.channel.v1.IQueryUnreceivedPacketsResponse; -export type IbcUnreceivedAcksResponse = codec.ibc.core.channel.v1.IQueryUnreceivedAcksResponse; +export { + Counterparty as IbcChannelCounterparty, + Order as IbcOrder, + State as IbcChannelState, +} from "@cosmjs/stargate/build/codec/ibc/core/channel/v1/channel"; +export { + QueryChannelResponse as IbcChannelResponse, + QueryChannelsResponse as IbcChannelsResponse, + QueryConnectionChannelsResponse as IbcConnectionChannelsResponse, + QueryNextSequenceReceiveResponse as IbcNextSequenceReceiveResponse, + QueryPacketAcknowledgementResponse as IbcPacketAcknowledgementResponse, + QueryPacketAcknowledgementsResponse as IbcPacketAcknowledgementsResponse, + QueryPacketCommitmentResponse as IbcPacketCommitmentResponse, + QueryPacketCommitmentsResponse as IbcPacketCommitmentsResponse, + QueryUnreceivedAcksResponse as IbcUnreceivedAcksResponse, + QueryUnreceivedPacketsResponse as IbcUnreceivedPacketsResponse, +} from "@cosmjs/stargate/build/codec/ibc/core/channel/v1/query"; +export { Height as IbcHeight } from "@cosmjs/stargate/build/codec/ibc/core/client/v1/client"; +export { + Counterparty as IbcConnectionCounterparty, + State as IbcConnectionState, +} from "@cosmjs/stargate/build/codec/ibc/core/connection/v1/connection"; +export { + QueryClientConnectionsResponse as IbcClientConnectionsResponse, + QueryConnectionResponse as IbcConnectionResponse, + QueryConnectionsResponse as IbcConnectionsResponse, +} from "@cosmjs/stargate/build/codec/ibc/core/connection/v1/query"; diff --git a/yarn.lock b/yarn.lock index 5496389..b95e086 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1032,140 +1032,149 @@ ripemd160 "^2.0.2" sha.js "^2.4.11" -"@cosmjs/cosmwasm-launchpad@^0.24.0-alpha.22": - version "0.24.0-alpha.22" - resolved "https://registry.yarnpkg.com/@cosmjs/cosmwasm-launchpad/-/cosmwasm-launchpad-0.24.0-alpha.22.tgz#5c984daeee950173de2cc2ab0fed45c6fd7949ef" - integrity sha512-AfugGhIa0tmWYxwBLk2IZlPJgHL/J/tudhQz9w/A+nazamRJhzaEi5KSUx6I7KpfH4yTO5YiM4yyQyO3IRJo5Q== - dependencies: - "@cosmjs/crypto" "^0.24.0-alpha.22" - "@cosmjs/encoding" "^0.24.0-alpha.22" - "@cosmjs/launchpad" "^0.24.0-alpha.22" - "@cosmjs/math" "^0.24.0-alpha.22" - "@cosmjs/utils" "^0.24.0-alpha.22" +"@cosmjs/amino@^0.25.4": + version "0.25.4" + resolved "https://registry.yarnpkg.com/@cosmjs/amino/-/amino-0.25.4.tgz#478da0e5933b50d22e412e17dcf6784eeeb7d937" + integrity sha512-S22PlzC/VoJirv5UpDYe4XIVtOHKHxGLYgpgBkv10P4vpEhD872R0G7dRfiZZ35lMbu0+vvJxn3e/pEOEVGcuA== + dependencies: + "@cosmjs/crypto" "^0.25.4" + "@cosmjs/encoding" "^0.25.4" + "@cosmjs/math" "^0.25.4" + "@cosmjs/utils" "^0.25.4" + +"@cosmjs/cosmwasm-launchpad@^0.25.4": + version "0.25.4" + resolved "https://registry.yarnpkg.com/@cosmjs/cosmwasm-launchpad/-/cosmwasm-launchpad-0.25.4.tgz#7a16ecc7101afbeb7ef9406e50d2220c4ceaab57" + integrity sha512-5gw3T6U1Q1DJqV8Xgmp4Q+5oTUZh1FFYHua0cLM+zVabFFgIBVaJIR4LsqiDI/acK3iacJxyEuDe7wlDf/fnEw== + dependencies: + "@cosmjs/crypto" "^0.25.4" + "@cosmjs/encoding" "^0.25.4" + "@cosmjs/launchpad" "^0.25.4" + "@cosmjs/math" "^0.25.4" + "@cosmjs/utils" "^0.25.4" pako "^2.0.2" -"@cosmjs/cosmwasm@^0.24.0-alpha.22": - version "0.24.0-alpha.22" - resolved "https://registry.yarnpkg.com/@cosmjs/cosmwasm/-/cosmwasm-0.24.0-alpha.22.tgz#0565ce361295b954c531ac8622589c3f69bfc358" - integrity sha512-G7NAmh//kP2rP9o2T+abD/yDBRsySMo3EyoXhbYeYIVEUONtQ4tVyyfv5cKt11cBTS52tdw7lyjucwCNXKgblw== +"@cosmjs/cosmwasm@^0.25.4": + version "0.25.4" + resolved "https://registry.yarnpkg.com/@cosmjs/cosmwasm/-/cosmwasm-0.25.4.tgz#f2b4be95c6dd9c503d0bba3bbde510329d5828d8" + integrity sha512-bTxoKkLOJ10v5cWcE2A7Rbkq2DYB7E7h1kTA+WSluhxTaowrJoMHQbH7tUwrs4pWs8jcODuzRerRvyVqz0eR6A== dependencies: - "@cosmjs/cosmwasm-launchpad" "^0.24.0-alpha.22" + "@cosmjs/cosmwasm-launchpad" "^0.25.4" -"@cosmjs/crypto@^0.24.0-alpha.22": - version "0.24.0-alpha.22" - resolved "https://registry.yarnpkg.com/@cosmjs/crypto/-/crypto-0.24.0-alpha.22.tgz#5a725d9c8d1ec89a14a580469427d79d8a1a9061" - integrity sha512-EWfVBRT4a7/ZbkclK4YSb1vOhvaXMGgLB1QXUZJdj9blKCOaKcqA6g8BnI6Xo64188LAnqh5hAl0mu9srQBJjQ== +"@cosmjs/crypto@^0.25.4": + version "0.25.4" + resolved "https://registry.yarnpkg.com/@cosmjs/crypto/-/crypto-0.25.4.tgz#0e526a8939773b43799bd013252642e08e389f75" + integrity sha512-xm7o2xMQIERFjG+hBa/5f+l1CNdXrXzGqhICo3VJuKsuFRtOtEw3w0dbV+3DOp2oxaUQvLBkLqdYXNBL+lmHlQ== dependencies: - "@cosmjs/encoding" "^0.24.0-alpha.22" - "@cosmjs/math" "^0.24.0-alpha.22" - "@cosmjs/utils" "^0.24.0-alpha.22" + "@cosmjs/encoding" "^0.25.4" + "@cosmjs/math" "^0.25.4" + "@cosmjs/utils" "^0.25.4" bip39 "^3.0.2" bn.js "^4.11.8" elliptic "^6.5.3" js-sha3 "^0.8.0" libsodium-wrappers "^0.7.6" - pbkdf2 "^3.1.1" ripemd160 "^2.0.2" sha.js "^2.4.11" - unorm "^1.5.0" -"@cosmjs/encoding@^0.24.0-alpha.22": - version "0.24.0-alpha.22" - resolved "https://registry.yarnpkg.com/@cosmjs/encoding/-/encoding-0.24.0-alpha.22.tgz#637eb145724df11aa2d87f08e4b470b62ac62fb0" - integrity sha512-0KjyejdUnkURXSSC1DEowp2dNMWGzuU93Q4KxBbuMYnQ+b4+A0S4XqboFDM48K4bDxpI2mtUa9AWZ8Y32+MaxQ== +"@cosmjs/encoding@^0.25.4": + version "0.25.4" + resolved "https://registry.yarnpkg.com/@cosmjs/encoding/-/encoding-0.25.4.tgz#7589f350410e91728f8377fef782117382873da6" + integrity sha512-wYwYYbCGwDyhaROX6EyZBaiMqpTME8oo7KaRChS6O/6w5hZcfWAyo0NVaHCv8atxt/h0lYroazEXxOVKY+uo6A== dependencies: base64-js "^1.3.0" bech32 "^1.1.4" readonly-date "^1.0.0" -"@cosmjs/json-rpc@^0.24.0-alpha.22": - version "0.24.0-alpha.22" - resolved "https://registry.yarnpkg.com/@cosmjs/json-rpc/-/json-rpc-0.24.0-alpha.22.tgz#25c7d6ee37b8b556a68a516446742ec645693b34" - integrity sha512-xQS9G0b62xoo6hb9dChjO4iYjsQRqJkBv6SmibsTy4RJoo8xHUUCeaojVWfZpsqNrdsVhDAQjOynU7Vy9o9Obg== +"@cosmjs/json-rpc@^0.25.4": + version "0.25.4" + resolved "https://registry.yarnpkg.com/@cosmjs/json-rpc/-/json-rpc-0.25.4.tgz#4109ebe5f6ab21561767c25e13ad7734dee94526" + integrity sha512-X3BzvzUpThD2o9+Ak2+icAqm8AAdWhCGB6Hl229DvKG1NUnXEKdwSxlI/VNw0IKT7ljy47Jv56syQiK5nFdXRQ== dependencies: - "@cosmjs/stream" "^0.24.0-alpha.22" + "@cosmjs/stream" "^0.25.4" xstream "^11.14.0" -"@cosmjs/launchpad@^0.24.0-alpha.22": - version "0.24.0-alpha.22" - resolved "https://registry.yarnpkg.com/@cosmjs/launchpad/-/launchpad-0.24.0-alpha.22.tgz#450a8742e319040f76857107d5126cddb4aef576" - integrity sha512-QJUibJvb9V5cRg23YcuV/Ns6osC4t/HqYLPZAtWp8Jtg+9mHtteap+DgallxGfep8kWOIWyzquH0xYbOfKE3SA== +"@cosmjs/launchpad@^0.25.4": + version "0.25.4" + resolved "https://registry.yarnpkg.com/@cosmjs/launchpad/-/launchpad-0.25.4.tgz#287a724a77fd7e82829cbfd3d47c67078b7a7a56" + integrity sha512-WjhGMXgzR/y7/KmOYEgSQe5wJxpPby4A/ZahQ4+CZpYx4EcwVAx92odOfd9g1FcOQjIvKJ88edGYPf8fQdvOVA== dependencies: - "@cosmjs/crypto" "^0.24.0-alpha.22" - "@cosmjs/encoding" "^0.24.0-alpha.22" - "@cosmjs/math" "^0.24.0-alpha.22" - "@cosmjs/utils" "^0.24.0-alpha.22" + "@cosmjs/amino" "^0.25.4" + "@cosmjs/crypto" "^0.25.4" + "@cosmjs/encoding" "^0.25.4" + "@cosmjs/math" "^0.25.4" + "@cosmjs/utils" "^0.25.4" axios "^0.21.1" fast-deep-equal "^3.1.3" -"@cosmjs/math@^0.24.0-alpha.22": - version "0.24.0-alpha.22" - resolved "https://registry.yarnpkg.com/@cosmjs/math/-/math-0.24.0-alpha.22.tgz#50d20250d08fdbc9ec7e47732bd5f480e1f73b48" - integrity sha512-QEREFkjTYRh2ofTMvfe/ZgREAOhQhUz0cnp4dIkqiUT3pRWSOpVRdksdLEX8IytFiqhoB779r1FifDMuBoFWYA== +"@cosmjs/math@^0.25.4": + version "0.25.4" + resolved "https://registry.yarnpkg.com/@cosmjs/math/-/math-0.25.4.tgz#1a70b26c18f990654dfd195a1a2b544b48269572" + integrity sha512-mnf5TgDObjx1yt1Vxkr3k/vncTL4FPRu3eSHjYM+EyQeNmy/Dld0fHFWxELeGqlQ09kVuqFY1jkKG2R96YRHww== dependencies: bn.js "^4.11.8" -"@cosmjs/proto-signing@^0.24.0-alpha.22": - version "0.24.0-alpha.22" - resolved "https://registry.yarnpkg.com/@cosmjs/proto-signing/-/proto-signing-0.24.0-alpha.22.tgz#9313deffbfbda108bffdeaa51ebdc314b8f5c21a" - integrity sha512-S66MMyCIXhspt2xXOsNoeqm0RKFQrg4tbkUk+s7GaajqcBh+gK1Sr6g830A4QR2YF0tdZNgJFGsLavhZzQ6ASw== +"@cosmjs/proto-signing@^0.25.4": + version "0.25.4" + resolved "https://registry.yarnpkg.com/@cosmjs/proto-signing/-/proto-signing-0.25.4.tgz#82a2bdfc105f66c8d9cdf2cfbb86e6da960ab49a" + integrity sha512-W9qJTH0LkOY/WsCe/V2hv6px7gZZxwh8TpLEKSSh4XOUjtqKHcr2jhbdXfi1CQm5lgbvEsovdzVv8VgbtgJxDQ== dependencies: - "@cosmjs/launchpad" "^0.24.0-alpha.22" + "@cosmjs/amino" "^0.25.4" long "^4.0.0" protobufjs "~6.10.2" -"@cosmjs/socket@^0.24.0-alpha.22": - version "0.24.0-alpha.22" - resolved "https://registry.yarnpkg.com/@cosmjs/socket/-/socket-0.24.0-alpha.22.tgz#040d841b357cfe455fff812800bbd75c7eee464c" - integrity sha512-nRbYyyu4YVs9ZsXXH6ki7QgqPkPrtPPe7le2cpD7B9Ahdm9WxI/dK9Mm3zjVu0rTitMhVMH01YvtmRjEUNZPXQ== +"@cosmjs/socket@^0.25.4": + version "0.25.4" + resolved "https://registry.yarnpkg.com/@cosmjs/socket/-/socket-0.25.4.tgz#f32bc7bb347ac26ee1be0c0a57614712bbb6c28c" + integrity sha512-hcL+2kISZ1qqgviNB8OFSzMyYGdiKsBp+j582WYJa+5h9rpZrNWJSm2BFe8hah5AvfYsVCZX1kn7jRu8dZpUnA== dependencies: - "@cosmjs/stream" "^0.24.0-alpha.22" + "@cosmjs/stream" "^0.25.4" isomorphic-ws "^4.0.1" - ws "^6.2.0" + ws "^7" xstream "^11.14.0" -"@cosmjs/stargate@^0.24.0-alpha.22": - version "0.24.0-alpha.22" - resolved "https://registry.yarnpkg.com/@cosmjs/stargate/-/stargate-0.24.0-alpha.22.tgz#10db834011c30fd176ea880bf3129bf0290a2d9a" - integrity sha512-i3QAslKsUtq33FaMm+tBgGW9yJ+8TOvPzgcuyrWr/Z9CbEAg2Uce96F27zn39Onu1VUW1/1ejlBWxF/bO3XHFQ== +"@cosmjs/stargate@^0.25.4": + version "0.25.4" + resolved "https://registry.yarnpkg.com/@cosmjs/stargate/-/stargate-0.25.4.tgz#49c0add61de229cfc725c35ec7f59e5077b04229" + integrity sha512-1VYPgkW9WysmcyiYEK26Z3q1ptcKfMG4wka5zVYfGIvM46NCCp2i6/M4TO4ZoSMAEU72TeBRiC1LzqFuji/cbA== dependencies: "@confio/ics23" "^0.6.3" - "@cosmjs/encoding" "^0.24.0-alpha.22" - "@cosmjs/launchpad" "^0.24.0-alpha.22" - "@cosmjs/math" "^0.24.0-alpha.22" - "@cosmjs/proto-signing" "^0.24.0-alpha.22" - "@cosmjs/stream" "^0.24.0-alpha.22" - "@cosmjs/tendermint-rpc" "^0.24.0-alpha.22" - "@cosmjs/utils" "^0.24.0-alpha.22" + "@cosmjs/amino" "^0.25.4" + "@cosmjs/encoding" "^0.25.4" + "@cosmjs/math" "^0.25.4" + "@cosmjs/proto-signing" "^0.25.4" + "@cosmjs/stream" "^0.25.4" + "@cosmjs/tendermint-rpc" "^0.25.4" + "@cosmjs/utils" "^0.25.4" long "^4.0.0" protobufjs "~6.10.2" -"@cosmjs/stream@^0.24.0-alpha.22": - version "0.24.0-alpha.22" - resolved "https://registry.yarnpkg.com/@cosmjs/stream/-/stream-0.24.0-alpha.22.tgz#9df54011efa737d21aec77e63929cf046b2998af" - integrity sha512-+AtNbIRa2b6hVRCoPEcDaTUyZZX4MC8+WXdhbHcsQwAyLAPnNhJUOt1GimomvaN8uTk0XkVTexMvfu2qCHUi7w== +"@cosmjs/stream@^0.25.4": + version "0.25.4" + resolved "https://registry.yarnpkg.com/@cosmjs/stream/-/stream-0.25.4.tgz#9b978ee27355d6d4268ebed7be6d6d701e6ccd50" + integrity sha512-Z/if46lnNyiGojzQgSi4ztaqDCJ4gljlmGw6hX/7MrPn5dtmaSqWjLep5CMh7moiR9ZaAeqRPTdUsb99CjiKMQ== dependencies: xstream "^11.14.0" -"@cosmjs/tendermint-rpc@^0.24.0-alpha.22": - version "0.24.0-alpha.22" - resolved "https://registry.yarnpkg.com/@cosmjs/tendermint-rpc/-/tendermint-rpc-0.24.0-alpha.22.tgz#67e388de37a81919671f0a5e7eabb6a018f26306" - integrity sha512-WZO824f92eSbCmaIiCRMT+CnTdPsjnkkJc8GD03HHZXO1/52GB9IUvq0t6oYDR/I49gzZ3n3Ejj+y9lrkZbYvw== - dependencies: - "@cosmjs/crypto" "^0.24.0-alpha.22" - "@cosmjs/encoding" "^0.24.0-alpha.22" - "@cosmjs/json-rpc" "^0.24.0-alpha.22" - "@cosmjs/math" "^0.24.0-alpha.22" - "@cosmjs/socket" "^0.24.0-alpha.22" - "@cosmjs/stream" "^0.24.0-alpha.22" +"@cosmjs/tendermint-rpc@^0.25.4": + version "0.25.4" + resolved "https://registry.yarnpkg.com/@cosmjs/tendermint-rpc/-/tendermint-rpc-0.25.4.tgz#8fcf8850ecbc4851a2763303bda8962779ee6d2b" + integrity sha512-F8qiSTtDcS7ZkfvX4RfodpoMG7C7kwLJ8P7umSeWe0wkLaO6NYoKcqxBGjc6E7XVy+XtJDyfF3gqNDJz5/Jtpg== + dependencies: + "@cosmjs/crypto" "^0.25.4" + "@cosmjs/encoding" "^0.25.4" + "@cosmjs/json-rpc" "^0.25.4" + "@cosmjs/math" "^0.25.4" + "@cosmjs/socket" "^0.25.4" + "@cosmjs/stream" "^0.25.4" axios "^0.21.1" readonly-date "^1.0.0" xstream "^11.14.0" -"@cosmjs/utils@^0.24.0-alpha.22": - version "0.24.0-alpha.22" - resolved "https://registry.yarnpkg.com/@cosmjs/utils/-/utils-0.24.0-alpha.22.tgz#b020e35527bfa681e1b3a6590b348d095faf6f84" - integrity sha512-FuAqHnMLdU860hRpUA8+G4F2aFOTEbF3LiDfLU4+EyVBxZjNrfJKgrouxP+vvN3J7zifPZ3Eqq9M36QLb/exBg== +"@cosmjs/utils@^0.25.4": + version "0.25.4" + resolved "https://registry.yarnpkg.com/@cosmjs/utils/-/utils-0.25.4.tgz#6e617543476e9e1f72bfcb6e263b273e01e4ba93" + integrity sha512-SRkE+Nc0hwuWdsUCQCF3HNWcxhm8UtTg2fIo8CJpecusYfKSGKzkeL1O/Ja/+xDpuTAXW2s2mfVyaAW5b5pHVQ== "@csstools/convert-colors@^1.4.0": version "1.4.0" @@ -3317,15 +3326,10 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001135: - version "1.0.30001150" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001150.tgz#6d0d829da654b0b233576de00335586bc2004df1" - integrity sha512-kiNKvihW0m36UhAFnl7bOAv0i1K1f6wpfVtTF5O5O82XzgtBnb05V0XeV3oZ968vfg2sRNChsHw8ASH2hDfoYQ== - -caniuse-lite@^1.0.30001125: - version "1.0.30001157" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001157.tgz#2d11aaeb239b340bc1aa730eca18a37fdb07a9ab" - integrity sha512-gOerH9Wz2IRZ2ZPdMfBvyOi3cjaz4O4dgNwPGzx8EhqAs4+2IL/O+fJsbt+znSigujoZG8bVcIAUM/I/E5K3MA== +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001125, caniuse-lite@^1.0.30001135: + version "1.0.30001235" + resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001235.tgz" + integrity sha512-zWEwIVqnzPkSAXOUlQnPW2oKoYb2aLQ4Q5ejdjBcnH63rfypaW34CxaeBn1VMya2XaEU3P/R2qHpWyj+l0BT1A== capture-exit@^2.0.0: version "2.0.0" @@ -8501,7 +8505,7 @@ path-type@^4.0.0: resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== -pbkdf2@^3.0.3, pbkdf2@^3.0.9, pbkdf2@^3.1.1: +pbkdf2@^3.0.3, pbkdf2@^3.0.9: version "3.1.1" resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.1.tgz#cb8724b0fada984596856d1a6ebafd3584654b94" integrity sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg== @@ -11542,11 +11546,6 @@ universalify@^1.0.0: resolved "https://registry.yarnpkg.com/universalify/-/universalify-1.0.0.tgz#b61a1da173e8435b2fe3c67d29b9adf8594bd16d" integrity sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug== -unorm@^1.5.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/unorm/-/unorm-1.6.0.tgz#029b289661fba714f1a9af439eb51d9b16c205af" - integrity sha512-b2/KCUlYZUeA7JFUuRJZPUtr4gZvBh7tavtv4fvk4+KV9pfGiR6CQAQAWl49ZpR3ts2dk4FYkP7EIgDJoiOLDA== - unpipe@1.0.0, unpipe@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" @@ -12164,17 +12163,17 @@ write@1.0.3: dependencies: mkdirp "^0.5.1" -ws@^6.2.0, ws@^6.2.1: +ws@^6.2.1: version "6.2.1" resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.1.tgz#442fdf0a47ed64f59b6a5d8ff130f4748ed524fb" integrity sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA== dependencies: async-limiter "~1.0.0" -ws@^7.2.3: - version "7.3.1" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.3.1.tgz#d0547bf67f7ce4f12a72dfe31262c68d7dc551c8" - integrity sha512-D3RuNkynyHmEJIpD2qrgVkc9DQ23OrN/moAwZX4L8DfvszsJxpjQuUq3LMx6HoYji9fbIOBY18XWBsAux1ZZUA== +ws@^7, ws@^7.2.3: + version "7.4.6" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c" + integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A== xml-name-validator@^3.0.0: version "3.0.0"