From bab6c7776e621772b85d09eb13a1e03a37fda62d Mon Sep 17 00:00:00 2001 From: Thunnini Date: Wed, 9 Oct 2024 00:17:52 +0900 Subject: [PATCH] =?UTF-8?q?AccountActivationModal=EC=97=90=EC=84=9C=20nonc?= =?UTF-8?q?e=20fetch=EB=A5=BC=20=EC=97=AC=EB=9F=AC=EB=B2=88=20=EC=8B=9C?= =?UTF-8?q?=EB=8F=84=ED=95=98=EB=8F=84=EB=A1=9D=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../account-activation-modal/index.tsx | 25 ++++++++++++++++--- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/apps/extension/src/pages/starknet/components/account-activation-modal/index.tsx b/apps/extension/src/pages/starknet/components/account-activation-modal/index.tsx index 6da0eb727a..c9cd4efe54 100644 --- a/apps/extension/src/pages/starknet/components/account-activation-modal/index.tsx +++ b/apps/extension/src/pages/starknet/components/account-activation-modal/index.tsx @@ -25,7 +25,7 @@ import { import { InExtensionMessageRequester } from "@keplr-wallet/router-extension"; import { BACKGROUND_PORT } from "@keplr-wallet/router"; import { FeeControl } from "../input/fee-control"; -import { ExtensionKVStore } from "@keplr-wallet/common"; +import { ExtensionKVStore, sleep } from "@keplr-wallet/common"; import { CoinPretty, Dec } from "@keplr-wallet/unit"; import { num } from "starknet"; import { useNotification } from "../../../../hooks/notification"; @@ -330,11 +330,28 @@ export const AccountActivationModal: FunctionComponent<{ }), "" ); + const starknetQueries = starknetQueriesStore.get(chainId); - starknetQueries.queryAccountNonce - .getNonce(account.starknetHexAddress) - .fetch(); + + (async () => { + // tx commit 이후의 state sync 시점이 이싱해서 일단 성공할때까지 2초 쉬면서 refresh 해본다. + const maxRetry = 15; + let retry = 0; + while (retry < maxRetry) { + const res = await starknetQueries.queryAccountNonce + .getNonce(account.starknetHexAddress) + .waitFreshResponse(); + if (res?.data) { + break; + } + + retry++; + + await sleep(2000); + } + })(); + if (feeConfig.fee != null) { starknetQueries.queryStarknetERC20Balance .getBalance(