diff --git a/app/(app)/sla/components/beneficiary-contract-deploy-widget.tsx b/app/(app)/sla/components/beneficiary-contract-deploy-widget.tsx index 43148ef..14d6379 100644 --- a/app/(app)/sla/components/beneficiary-contract-deploy-widget.tsx +++ b/app/(app)/sla/components/beneficiary-contract-deploy-widget.tsx @@ -61,21 +61,21 @@ export function BeneficiaryContractDeployWidget({ resolver: zodResolver(formSchema), }); - const { - reset: resetForm, - formState: { isValid: isFormValid }, - } = form; + const { reset: resetForm } = form; - const [admin, provider, withdrawer] = useWatch({ + const values = useWatch({ control: form.control, - name: ["admin", "provider", "withdrawer"], }); const transaction = useMemo(() => { - if (!isFormValid) { + const validationResult = formSchema.safeParse(values); + + if (!validationResult.success) { return null; } + const { admin, provider, withdrawer } = validationResult.data; + const providerIdInteger = BigInt( provider.replaceAll(storageProviderIdPrefixRegex, "") ); @@ -89,7 +89,7 @@ export function BeneficiaryContractDeployWidget({ }), value: "0", }; - }, [admin, factoryAddress, isFormValid, provider, withdrawer]); + }, [factoryAddress, values]); const clear = useCallback(() => { resetForm(); @@ -101,8 +101,9 @@ export function BeneficiaryContractDeployWidget({ abi: beneficiaryFactoryAbi, address: factoryAddress, eventName: "ProxyCreated", + poll: true, + pollingInterval: 2_000, onLogs(logs) { - console.log(logs, transactionHash); const createdContactLog = logs.find((log) => { return log.transactionHash === transactionHash && !!log.args.proxy; });