]> git.codecow.com Git - libnemo.git/commitdiff
Fix wallet refresh response handling.
authorChris Duncan <chris@codecow.com>
Mon, 3 Aug 2026 13:35:00 +0000 (06:35 -0700)
committerChris Duncan <chris@codecow.com>
Mon, 3 Aug 2026 13:35:00 +0000 (06:35 -0700)
src/lib/wallet/refresh.ts

index 13308f4e56963048a80faaff7956432607c286f8..aaa286f9d1d0106491ebbac6c9dc04248545f0a2 100644 (file)
@@ -40,16 +40,17 @@ export async function _refresh (wallet: Wallet, rpc: unknown, from: unknown, to:
                        json_block: true,
                        accounts: addresses
                }
-               const { balances } = await rpc.post('accounts_balances', data) as { balances: { [address: string]: { balance: string, receivable: string } } }
+               const { balances } = await rpc.post('accounts_balances', data) as { balances?: { [address: string]: { balance: string, receivable: string } } }
                const { frontiers } = await rpc.post('accounts_frontiers', data) as { frontiers: { [address: string]: string } }
                const { representatives } = await rpc.post('accounts_representatives', data) as { representatives: { [address: string]: string } }
                const { blocks } = await rpc.post('blocks_info', { json_block: true, hashes: Object.values(frontiers) }) as BlockInfo
                for (const account of accounts.values()) {
-                       account.balance = balances[account.address]?.balance
-                       account.receivable = balances[account.address]?.receivable
+                       account.balance = balances?.[account.address]?.balance ?? 0
+                       account.receivable = balances?.[account.address]?.receivable ?? 0
                        account.representative = representatives?.[account.address]
                        if (frontiers[account.address] != null) {
-                               account.representative ??= (await rpc.post('account_representative', { account: account.address }))?.representative
+                               const { representative: accountRepresentative } = await rpc.post('account_representative', { account: account.address }) as { representative: string }
+                               account.representative ??= accountRepresentative
                                account.frontier = frontiers[account.address]
                                const { subtype, contents: { balance, link, previous, representative, signature } } = blocks[account.frontier]
                                const frontierBlock = new Block(account, balance, previous, representative)