From 977e8bc0552700b26824ad8add8c016e58d91b18 Mon Sep 17 00:00:00 2001 From: Mircea Hasegan Date: Fri, 24 Jan 2025 19:27:58 +0100 Subject: [PATCH] chore(wallet): refetch only if tip has changed Limit tx build refetches of delegation info. --- packages/wallet/src/Wallets/BaseWallet.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/wallet/src/Wallets/BaseWallet.ts b/packages/wallet/src/Wallets/BaseWallet.ts index aa5e2207415..8fa786e2370 100644 --- a/packages/wallet/src/Wallets/BaseWallet.ts +++ b/packages/wallet/src/Wallets/BaseWallet.ts @@ -112,6 +112,7 @@ import { RetryBackoffConfig } from 'backoff-rxjs'; import { Shutdown, contextLogger, deepEquals } from '@cardano-sdk/util'; import { WalletStores, createInMemoryWalletStores } from '../persistence'; import { getScriptAddress } from './internals'; +import { onlyDistinctBlockRefetch } from '../services/DrepInfoTracker'; import isEqual from 'lodash/isEqual.js'; import uniq from 'lodash/uniq.js'; @@ -521,7 +522,7 @@ export class BaseWallet implements ObservableWallet { knownAddresses$: this.addresses$, logger: contextLogger(this.#logger, 'delegation'), protocolParameters$: this.protocolParameters$, - refetchRewardAccountInfo$: this.#refetchRewardAccountInfo$, + refetchRewardAccountInfo$: onlyDistinctBlockRefetch(this.#refetchRewardAccountInfo$, this.tip$), retryBackoffConfig, rewardAccountAddresses$: this.addresses$.pipe( map((addresses) => uniq(addresses.map((groupedAddress) => groupedAddress.rewardAccount)))