소스 검색

Fix the race condition by putting the setters at the end of the function (#1091)

guibescos 2 년 전
부모
커밋
b158f28c58
1개의 변경된 파일17개의 추가작업 그리고 25개의 파일을 삭제
  1. 17 25
      governance/xc_admin/packages/xc_admin_frontend/hooks/useMultisig.ts

+ 17 - 25
governance/xc_admin/packages/xc_admin_frontend/hooks/useMultisig.ts

@@ -101,39 +101,31 @@ export const useMultisig = (): MultisigHookData => {
           wallet: new NodeWallet(new Keypair()),
         })
         if (cancelled) return
-        setUpgradeMultisigAccount(
-          await readOnlySquads.getMultisig(UPGRADE_MULTISIG[multisigCluster])
+        const upgradeMultisigAccount = await readOnlySquads.getMultisig(
+          UPGRADE_MULTISIG[multisigCluster]
+        )
+
+        if (cancelled) return
+        const priceFeedMultisigAccount = await readOnlySquads.getMultisig(
+          PRICE_FEED_MULTISIG[multisigCluster]
         )
-        try {
-          if (cancelled) return
-          setPriceFeedMultisigAccount(
-            await readOnlySquads.getMultisig(
-              PRICE_FEED_MULTISIG[multisigCluster]
-            )
-          )
-        } catch (e) {
-          console.error(e)
-          setPriceFeedMultisigAccount(undefined)
-        }
 
         if (cancelled) return
         const upgradeProposals = await getSortedProposals(
           readOnlySquads,
           UPGRADE_MULTISIG[multisigCluster]
         )
+
+        if (cancelled) return
+        const sortedPriceFeedMultisigProposals = await getSortedProposals(
+          readOnlySquads,
+          PRICE_FEED_MULTISIG[multisigCluster]
+        )
+
+        setUpgradeMultisigAccount(upgradeMultisigAccount)
+        setPriceFeedMultisigAccount(priceFeedMultisigAccount)
         setUpgradeMultisigProposals(upgradeProposals)
-        try {
-          if (cancelled) return
-          const sortedPriceFeedMultisigProposals = await getSortedProposals(
-            readOnlySquads,
-            PRICE_FEED_MULTISIG[multisigCluster]
-          )
-          setPriceFeedMultisigProposals(sortedPriceFeedMultisigProposals)
-        } catch (e) {
-          console.error(e)
-          setAllProposalsIxsParsed([])
-          setPriceFeedMultisigProposals([])
-        }
+        setPriceFeedMultisigProposals(sortedPriceFeedMultisigProposals)
 
         setIsLoading(false)
       } catch (e) {