From 3f213aa5ae3a62f1816e4833bc6b502c60a07f81 Mon Sep 17 00:00:00 2001 From: Shardul Aeer <49580849+secretshardul@users.noreply.github.com> Date: Sun, 19 Sep 2021 01:00:22 +0530 Subject: [PATCH] fix: Empty token buffer decode error (#84) --- src/context/Token.tsx | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) 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"); + } } } );