From 0958bc091b91f53f78cc8353e5bb147a8b08b94d Mon Sep 17 00:00:00 2001 From: BenRey Date: Fri, 12 Jul 2024 14:17:40 +0200 Subject: [PATCH] fix status --- src/lib/massa-react/hooks/useWriteSmartContract.tsx | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/lib/massa-react/hooks/useWriteSmartContract.tsx b/src/lib/massa-react/hooks/useWriteSmartContract.tsx index 4b5f5881..0b089826 100644 --- a/src/lib/massa-react/hooks/useWriteSmartContract.tsx +++ b/src/lib/massa-react/hooks/useWriteSmartContract.tsx @@ -38,7 +38,6 @@ export function useWriteSmartContract( const [isSuccess, setIsSuccess] = useState(false); const [isError, setIsError] = useState(false); const [opId, setOpId] = useState(undefined); - const success = OperationStatus.SpeculativeSuccess || OperationStatus.Success; function resetState() { setIsPending(false); @@ -117,6 +116,7 @@ export function useWriteSmartContract( try { const publicClient = await clientFromNetwork(); + // TODO - get minimal fee from the network used by the wallet. For now, we are using the massa default node. fee = await getMinimalFee(publicClient, fee); let maxGas = await gasEstimation( @@ -148,7 +148,11 @@ export function useWriteSmartContract( const op = new Operation(publicClient, operationId); const finalStatus = await op.waitSpeculativeExecution(); - if (!success) { + if ( + ![OperationStatus.SpeculativeSuccess, OperationStatus.Success].includes( + finalStatus, + ) + ) { const errorMessage = `Operation failed with status: ${finalStatus}`; logSmartContractEvents(publicClient, operationId); throw new Error(errorMessage); @@ -161,7 +165,7 @@ export function useWriteSmartContract( setIsError(true); showToast( 'error', - messages.timeout || Intl.t('steps.failed-timeout'), + messages.error || Intl.t('steps.failed-timeout'), opId, ); } finally {