Skip to content

Commit

Permalink
Merge pull request #703 from alleslabs/feat/v1-contract-query-msgs
Browse files Browse the repository at this point in the history
v1 contract query msgs
  • Loading branch information
evilpeach committed Dec 27, 2023
2 parents 7882521 + 523125e commit 8fd82b2
Show file tree
Hide file tree
Showing 8 changed files with 36 additions and 62 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### Improvements

- [#703](https://github.com/alleslabs/celatone-frontend/pull/703) api v1 - contract's query msgs
- [#697](https://github.com/alleslabs/celatone-frontend/pull/697) api v1 - contract tables (migrations and related proposals)
- [#696](https://github.com/alleslabs/celatone-frontend/pull/696) api v1 - block details
- [#695](https://github.com/alleslabs/celatone-frontend/pull/695) api v1 - contract states
Expand Down
2 changes: 1 addition & 1 deletion src/lib/app-provider/env.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ export enum CELATONE_QUERY_KEYS {
CONTRACT_DETAIL_BY_CONTRACT_ADDRESS = "CELATONE_QUERY_CONTRACT_DETAIL_BY_CONTRACT_ADDRESS",
CONTRACT_CW2_INFO = "CELATONE_QUERY_CONTRACT_CW2_INFO",
CONTRACT_INFO = "CELATONE_QUERY_CONTRACT_INFO",
CONTRACT_QUERY_CMDS = "CELATONE_QUERY_CONTRACT_QUERY_CMDS",
CONTRACT_QUERY_MSGS = "CELATONE_QUERY_CONTRACT_QUERY_MSGS",
CONTRACT_QUERY = "CELATONE_QUERY_CONTRACT_QUERY",
CONTRACT_STATE = "CELATONE_QUERY_CONTRACT_STATE",
// ACCOUNT
Expand Down
1 change: 0 additions & 1 deletion src/lib/hooks/index.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
export * from "./useCodeFilter";
export * from "./useExecuteCmds";
export * from "./useHandleSave";
export * from "./useQueryCmds";
export * from "./useRedo";
export * from "./useSingleMessageProps";
export * from "./useToast";
Expand Down
55 changes: 0 additions & 55 deletions src/lib/hooks/useQueryCmds.ts

This file was deleted.

7 changes: 4 additions & 3 deletions src/lib/pages/contract-details/components/CommandSection.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,9 @@ import {
ViewSchemaModal,
} from "lib/components/json-schema";
import { Tooltip } from "lib/components/Tooltip";
import { useExecuteCmds, useQueryCmds } from "lib/hooks";
import { useExecuteCmds } from "lib/hooks";
import { useSchemaStore } from "lib/providers/store";
import { useContractQueryMsgs } from "lib/services/contractService";
import type { ContractAddr } from "lib/types";
import { encode, jsonPrettify } from "lib/utils";

Expand Down Expand Up @@ -94,8 +95,8 @@ export const CommandSection = observer(
const jsonSchema = getSchemaByCodeHash(codeHash);
const attached = Boolean(jsonSchema);

const { isFetching: isQueryCmdsFetching, queryCmds } =
useQueryCmds(contractAddress);
const { isFetching: isQueryCmdsFetching, data: queryCmds = [] } =
useContractQueryMsgs(contractAddress);
const { isFetching: isExecuteCmdsFetching, execCmds } =
useExecuteCmds(contractAddress);

Expand Down
5 changes: 3 additions & 2 deletions src/lib/pages/query/components/JsonQuery.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@ import JsonInput from "lib/components/json/JsonInput";
import JsonReadOnly from "lib/components/json/JsonReadOnly";
import { LoadingOverlay } from "lib/components/LoadingOverlay";
import { DEFAULT_RPC_ERROR } from "lib/data";
import { useQueryCmds } from "lib/hooks";
import { useContractStore } from "lib/providers/store";
import { queryData } from "lib/services/contract";
import { useContractQueryMsgs } from "lib/services/contractService";
import type { ContractAddr, HumanAddr, RpcQueryError } from "lib/types";
import {
jsonPrettify,
Expand All @@ -42,7 +42,8 @@ interface JsonQueryProps {
}

export const JsonQuery = ({ contractAddress, initialMsg }: JsonQueryProps) => {
const { isFetching: cmdsFetching, queryCmds } = useQueryCmds(contractAddress);
const { isFetching: cmdsFetching, data: queryCmds = [] } =
useContractQueryMsgs(contractAddress);
const lcdEndpoint = useBaseApiRoute("rest");
const { addActivity } = useContractStore();
const { address } = useCurrentChain();
Expand Down
16 changes: 16 additions & 0 deletions src/lib/services/contract.ts
Original file line number Diff line number Diff line change
Expand Up @@ -199,3 +199,19 @@ export const getContractTableCounts = async (
},
})
.then((res) => zContractTableCounts.parse(res.data));

const zContractQueryMsgs = z
.object({
query: z.array(z.string()),
})
.transform((val) =>
val.query.map<[string, string]>((msg) => [msg, `{"${msg}": {}}`])
);

export const getContractQueryMsgs = async (
endpoint: string,
contractAddress: ContractAddr
) =>
axios
.get(`${endpoint}/${encodeURIComponent(contractAddress)}/query-msgs`)
.then(({ data }) => zContractQueryMsgs.parse(data));
11 changes: 11 additions & 0 deletions src/lib/services/contractService.ts
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ import { parseTxHashOpt, parseDateOpt } from "lib/utils";
import { getCodeIdInfo } from "./code";
import {
getAdminContractsByAddress,
getContractQueryMsgs,
getContractTableCounts,
getInstantiatedContractsByAddress,
getMigrationHistoriesByContractAddress,
Expand Down Expand Up @@ -456,3 +457,13 @@ export const useContractTableCounts = (
{ enabled: !!address, retry: 1, refetchOnWindowFocus: false }
);
};

export const useContractQueryMsgs = (contractAddress: ContractAddr) => {
const endpoint = useBaseApiRoute("contracts");

return useQuery(
[CELATONE_QUERY_KEYS.CONTRACT_QUERY_MSGS, endpoint, contractAddress],
async () => getContractQueryMsgs(endpoint, contractAddress),
{ retry: false, cacheTime: 0, refetchOnWindowFocus: false }
);
};

2 comments on commit 8fd82b2

@vercel
Copy link

@vercel vercel bot commented on 8fd82b2 Dec 27, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@vercel
Copy link

@vercel vercel bot commented on 8fd82b2 Dec 27, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please sign in to comment.