diff --git a/src/components/send/sendForm.vue b/src/components/send/sendForm.vue index 7663d27..c6dfc6d 100644 --- a/src/components/send/sendForm.vue +++ b/src/components/send/sendForm.vue @@ -300,7 +300,8 @@ async function proceed() { nonce = Number( await getNonceForArcanaSponsorship(scwInstance.scwAddress, rpc_url) ); - if (nonce > 15) { + console.log(nonce, "nonce"); + if (nonce >= 15) { await authStore.provider.request({ method: "_arcana_switchAccountType", params: { diff --git a/src/utils/getNonceForArcanaSponsorship.ts b/src/utils/getNonceForArcanaSponsorship.ts index 7780982..71350c0 100644 --- a/src/utils/getNonceForArcanaSponsorship.ts +++ b/src/utils/getNonceForArcanaSponsorship.ts @@ -7,6 +7,8 @@ async function getNonceForArcanaSponsorship( address: string, rpcUrl: string ): Promise { + const provider = new WebSocketProvider(rpcUrl); + const c = new ethers.Contract( VITE_APP_CONTRACT_ADDRESS_FOR_NONCE, [ @@ -35,10 +37,12 @@ async function getNonceForArcanaSponsorship( type: "function", }, ], - new WebSocketProvider(rpcUrl) + provider ); - return await c.getNonce(address, 0); + const nonce = await c.getNonce(address, 0); + await provider.destroy(); + return nonce; } export default getNonceForArcanaSponsorship;