diff --git a/app/components/AccountModule/assets/loading-ring.svg b/app/assets/loading-ring.svg similarity index 100% rename from app/components/AccountModule/assets/loading-ring.svg rename to app/assets/loading-ring.svg diff --git a/app/components/AccountModule/screens/ScreenConnecting.tsx b/app/components/AccountModule/screens/ScreenConnecting.tsx index 20fbf10..c1dc2ba 100644 --- a/app/components/AccountModule/screens/ScreenConnecting.tsx +++ b/app/components/AccountModule/screens/ScreenConnecting.tsx @@ -2,7 +2,7 @@ import { GU, textStyle, useTheme } from "@blossom-labs/rosette-ui"; import styled from "styled-components"; import { getWalletIconPath } from "../helpers"; -import { LoadingRing } from "../LoadingRing"; +import { LoadingRing } from "../../LoadingRing"; import { useAccounModuleStore } from "../use-account-module-store"; export const ScreenConnecting = () => { diff --git a/app/components/AccountModule/screens/ScreenPromptedAction.tsx b/app/components/AccountModule/screens/ScreenPromptedAction.tsx index fbcc895..5380c12 100644 --- a/app/components/AccountModule/screens/ScreenPromptedAction.tsx +++ b/app/components/AccountModule/screens/ScreenPromptedAction.tsx @@ -1,7 +1,7 @@ import { GU, textStyle } from "@blossom-labs/rosette-ui/"; import styled from "styled-components"; -import { LoadingRing } from "../LoadingRing"; +import { LoadingRing } from "../../LoadingRing"; import { useAccounModuleStore } from "../use-account-module-store"; export const ScreenPromptedAction = () => { diff --git a/app/components/ContractDescriptorScreen/FunctionDescriptor/index.tsx b/app/components/ContractDescriptorScreen/FunctionDescriptor/index.tsx index 46135da..faa78c3 100644 --- a/app/components/ContractDescriptorScreen/FunctionDescriptor/index.tsx +++ b/app/components/ContractDescriptorScreen/FunctionDescriptor/index.tsx @@ -7,6 +7,7 @@ import { TextInput, Header, textStyle, + Info, } from "@blossom-labs/rosette-ui"; import { forwardRef, memo, useCallback, useState } from "react"; import type { @@ -21,6 +22,8 @@ import { actions } from "../use-contract-descriptor-store"; import type { Function } from "../use-contract-descriptor-store"; import { DescriptionField } from "./DescriptionField"; import { canTab, getSelectionRange } from "~/utils/client/selection.client"; +import { useTxDescribe } from "@blossom-labs/rosette-react"; +import { constants } from "ethers"; type FunctionDescriptorProps = { fnDescriptorEntry: Function; @@ -33,6 +36,7 @@ export const FunctionDescriptor = memo( ({ fnDescriptorEntry, description, onEntryChange, ...props }, ref) => { const [showModal, setShowModal] = useState(false); const [callData, setCallData] = useState(""); + const [testDescriptionError, setTestDescriptionError] = useState(""); const entry = fnDescriptorEntry.entry; const { notice, status } = entry || {}; const descriptorStatus = status || FnDescriptionStatus.Available; @@ -69,7 +73,14 @@ export const FunctionDescriptor = memo( setShowModal(true); }; - const handleDescribeCalldata = () => {}; + const handleDescribeCalldata = useCallback( () => { + useTxDescribe({ + to: constants.AddressZero, + data: callData + }) + setTestDescriptionError() + },[]); + return ( @@ -109,6 +120,7 @@ export const FunctionDescriptor = memo( wide /> +