From 9fa17b7c012ccadfab302bf68f8dd16246bc44ff Mon Sep 17 00:00:00 2001 From: Chris Duncan Date: Fri, 7 Aug 2026 14:11:04 -0700 Subject: [PATCH] Fix rep in change block being overwritten by burn account. --- src/lib/account/refresh.ts | 5 +++-- src/lib/wallet/refresh.ts | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/lib/account/refresh.ts b/src/lib/account/refresh.ts index 34e8074..a34c03f 100644 --- a/src/lib/account/refresh.ts +++ b/src/lib/account/refresh.ts @@ -3,6 +3,7 @@ import { Account } from '.' import { Block } from '../block' +import { BURN_PUBLIC_KEY } from '../constants' import { Rpc } from '../rpc' import { AccountInfoRequest } from '../rpc/account_info' import { BlockInfoRequest } from '../rpc/block_info' @@ -54,7 +55,7 @@ export async function _refresh (account: Account, rpc: unknown): Promise { if (typeof confirmedFrontierBlock[confirmedFrontierSubtype] !== 'function') { throw new TypeError('Unknown subtype of confirmed frontier block', { cause: confirmedFrontierSubtype }) } - confirmedFrontierBlock[confirmedFrontierSubtype](confirmedFrontierContents.link, 0).signature = confirmedFrontierContents.signature + confirmedFrontierBlock[confirmedFrontierSubtype](confirmedFrontierContents.link === BURN_PUBLIC_KEY ? confirmedFrontierContents.representative : confirmedFrontierContents.link, 0).signature = confirmedFrontierContents.signature account.confirmed_frontier_block = confirmedFrontierBlock const reqFrontierBlockInfo: BlockInfoRequest = { @@ -84,6 +85,6 @@ export async function _refresh (account: Account, rpc: unknown): Promise { if (typeof frontierBlock[frontierSubtype] !== 'function') { throw new TypeError('Unknown subtype of frontier block', { cause: frontierSubtype }) } - frontierBlock[frontierSubtype](frontierContents.link, 0).signature = frontierContents.signature + frontierBlock[frontierSubtype](frontierContents.link === BURN_PUBLIC_KEY ? frontierContents.representative : frontierContents.link, 0).signature = frontierContents.signature account.frontier_block = frontierBlock } diff --git a/src/lib/wallet/refresh.ts b/src/lib/wallet/refresh.ts index 354811e..23a9ac9 100644 --- a/src/lib/wallet/refresh.ts +++ b/src/lib/wallet/refresh.ts @@ -3,6 +3,7 @@ import { Account } from '../account' import { Block } from '../block' +import { BURN_PUBLIC_KEY } from '../constants' import { Rpc } from '../rpc' import { Wallet } from '../wallet' @@ -43,7 +44,7 @@ export async function _refresh (wallet: Wallet, rpc: unknown, from: unknown, to: if (typeof frontierBlock[subtype] !== 'function') { throw new TypeError('Unknown frontier block subtype', { cause: subtype }) } - frontierBlock[subtype](link, 0).signature = signature + frontierBlock[subtype](link === BURN_PUBLIC_KEY ? representative : link, 0).signature = signature account.frontier_block = frontierBlock } } -- 2.52.0