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 {