diff --git a/src/context/Token.tsx b/src/context/Token.tsx index e381dc6..f551e8b 100644 --- a/src/context/Token.tsx +++ b/src/context/Token.tsx @@ -128,12 +128,18 @@ export function useOwnedTokenAccount( listener = provider.connection.onAccountChange( tokenAccount.publicKey, (info) => { - const token = parseTokenAccountData(info.data); - if (token.amount !== tokenAccount.account.amount) { - const index = _OWNED_TOKEN_ACCOUNTS_CACHE.indexOf(tokenAccount); - assert.ok(index >= 0); - _OWNED_TOKEN_ACCOUNTS_CACHE[index].account = token; - setRefresh((r) => r + 1); + if (info.data.length !== 0) { + try { + const token = parseTokenAccountData(info.data); + if (token.amount !== tokenAccount.account.amount) { + const index = _OWNED_TOKEN_ACCOUNTS_CACHE.indexOf(tokenAccount); + assert.ok(index >= 0); + _OWNED_TOKEN_ACCOUNTS_CACHE[index].account = token; + setRefresh((r) => r + 1); + } + } catch (error) { + console.log("Failed to decode token AccountInfo"); + } } } );