Skip to content

Commit

Permalink
feat(docs): added request and fixed bug
Browse files Browse the repository at this point in the history
  • Loading branch information
aednikanov committed Sep 26, 2024
1 parent 947fcb4 commit 09c9820
Show file tree
Hide file tree
Showing 4 changed files with 46 additions and 22 deletions.
5 changes: 1 addition & 4 deletions src/components/ParserOpenRPC/ProjectsBox/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -58,10 +58,7 @@ const ProjectsBox = () => {
if (options?.length > 0) {
setUserAPIKey(options[0].value);
}
if (!walletLinked) {
setUserAPIKey("");
}
}, [options.length, walletLinked]);
}, [options.length]);

useEffect(() => {
if (walletLinked) {
Expand Down
4 changes: 2 additions & 2 deletions src/components/ParserOpenRPC/RequestBox/index.tsx
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
import React, {useContext, useMemo} from "react";
import React, { useContext, useMemo } from "react";
import clsx from "clsx";
import CodeBlock from "@theme/CodeBlock";
import { MethodParam } from "@site/src/components/ParserOpenRPC/interfaces";
import styles from "./styles.module.css";
import global from "../global.module.css";
import { Tooltip } from "@site/src/components/Tooltip";
import {MetamaskProviderContext} from "@site/src/theme/Root";
import { MetamaskProviderContext } from "@site/src/theme/Root";

interface RequestBoxProps {
isMetamaskInstalled: boolean;
Expand Down
58 changes: 42 additions & 16 deletions src/components/ParserOpenRPC/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -51,10 +51,18 @@ export default function ParserOpenRPC({
const [isDrawerContentFixed, setIsDrawerContentFixed] = useState(false);
const [drawerLabel, setDrawerLabel] = useState(null);
const [isComplexTypeView, setIsComplexTypeView] = useState(false);
const { metaMaskAccount, metaMaskProvider } = useContext(
const { metaMaskAccount, metaMaskProvider, userAPIKey } = useContext(
MetamaskProviderContext
);
const { colorMode } = useColorMode();
const trackAnalyticsForRequest = (response) => {
trackClickForSegment({
eventName: "Request Sent",
clickType: "Request Sent",
userExperience: "B",
...(response?.code && { responseStatus: response.code }),
});
}
const openModal = () => {
setModalOpen(true);
trackClickForSegment({
Expand Down Expand Up @@ -147,21 +155,39 @@ export default function ParserOpenRPC({
};

const onSubmitRequestHandle = async () => {
if (!metaMaskProvider) return;
try {
const response = await metaMaskProvider?.request({
method: method,
params: paramsData,
});
setReqResult(response);
trackClickForSegment({
eventName: "Request Sent",
clickType: "Request Sent",
userExperience: "B",
...(response?.code && { responseStatus: response.code }),
});
} catch (e) {
setReqResult(e);
if (isMetamaskNetwork) {
if (!metaMaskProvider) return
try {
const response = await metaMaskProvider?.request({
method: method,
params: paramsData
})
setReqResult(response);
trackAnalyticsForRequest(response);
} catch (e) {
setReqResult(e);
}
} else {
const NETWORK_URL = "https://linea-mainnet.infura.io";
const URL = `${NETWORK_URL}/v3/${userAPIKey}`;
let params = {
method: "POST",
"Content-Type": "application/json",
body: JSON.stringify({
jsonrpc: "2.0",
method,
params: paramsData,
id: 1,
}),
};
const res = await fetch(URL, params);
if (res.ok) {
const response = await res.json();
setReqResult(response.result);
trackAnalyticsForRequest(response.result);
} else {
console.error("error");
}
}
};

Expand Down
1 change: 1 addition & 0 deletions src/theme/Root.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -202,6 +202,7 @@ export const LoginProvider = ({ children }) => {
setMetaMaskAccount(undefined);
setProjects({});
setWalletLinked(undefined);
setUserAPIKey("");
clearStorage();
} catch (err) {
console.warn("failed to disconnect..", err);
Expand Down

0 comments on commit 09c9820

Please sign in to comment.