diff --git a/src/app/modules/main/wallet_section/all_tokens/flat_tokens_model.nim b/src/app/modules/main/wallet_section/all_tokens/flat_tokens_model.nim index bae650feb2..e9fdd8095a 100644 --- a/src/app/modules/main/wallet_section/all_tokens/flat_tokens_model.nim +++ b/src/app/modules/main/wallet_section/all_tokens/flat_tokens_model.nim @@ -40,6 +40,13 @@ QtObject: marketValuesDelegate: io_interface.TokenMarketValuesDataSource tokenMarketDetails: seq[MarketDetailsItem] + # Forward declaration + proc modelUpdatedCallback(self: FlatTokensModel): proc() + proc tokenDetailsUpdatedCallback(self: FlatTokensModel): proc() + proc tokenMarketValuesUpdatedCallback(self: FlatTokensModel): proc() + proc tokenPreferencesUpdatedCallback(self: FlatTokensModel): proc() + proc currencyFormatsUpdatedCallback(self: FlatTokensModel): proc() + proc setup(self: FlatTokensModel) = self.QAbstractListModel.setup @@ -56,6 +63,11 @@ QtObject: result.delegate = delegate result.marketValuesDelegate = marketValuesDelegate result.tokenMarketDetails = @[] + result.delegate.subscribeToModelUpdates(result.modelUpdatedCallback()) + result.delegate.subscribeToTokenDetailsUpdates(result.tokenDetailsUpdatedCallback()) + result.delegate.subscribeToTokenMarketValuesUpdates(result.tokenMarketValuesUpdatedCallback()) + result.delegate.subscribeToTokenPreferencesUpdates(result.tokenPreferencesUpdatedCallback()) + result.delegate.subscribeToCurrencyFormatsUpdates(result.currencyFormatsUpdatedCallback()) method rowCount(self: FlatTokensModel, index: QModelIndex = nil): int = return self.delegate.getFlatTokensList().len @@ -138,7 +150,7 @@ QtObject: of ModelRole.Position: result = newQVariant(self.delegate.getTokenPreferences(item.symbol).position) - proc modelsUpdated*(self: FlatTokensModel) = + proc modelsUpdated(self: FlatTokensModel) = self.beginResetModel() self.tokenMarketDetails = @[] for token in self.delegate.getFlatTokensList(): @@ -155,12 +167,6 @@ QtObject: defer: lastindex.delete self.dataChanged(index, lastindex, @[ModelRole.MarketDetails.int, ModelRole.MarketDetailsLoading.int]) - proc tokensMarketValuesUpdated*(self: FlatTokensModel) = - self.marketDetailsDataChanged() - - proc tokensMarketValuesAboutToUpdate*(self: FlatTokensModel) = - self.marketDetailsDataChanged() - proc detailsDataChanged(self: FlatTokensModel) = if self.delegate.getFlatTokensList().len > 0: let index = self.createIndex(0, 0, nil) @@ -169,20 +175,29 @@ QtObject: defer: lastindex.delete self.dataChanged(index, lastindex, @[ModelRole.Description.int, ModelRole.WebsiteUrl.int, ModelRole.DetailsLoading.int]) - proc tokensDetailsAboutToUpdate*(self: FlatTokensModel) = - self.detailsDataChanged() - - proc tokensDetailsUpdated*(self: FlatTokensModel) = - self.detailsDataChanged() - - proc currencyFormatsUpdated*(self: FlatTokensModel) = + proc currencyFormatsUpdated(self: FlatTokensModel) = for marketDetails in self.tokenMarketDetails: marketDetails.updateCurrencyFormat() - proc tokenPreferencesUpdated*(self: FlatTokensModel) = + proc tokenPreferencesUpdated(self: FlatTokensModel) = if self.delegate.getFlatTokensList().len > 0: let index = self.createIndex(0, 0, nil) let lastindex = self.createIndex(self.delegate.getFlatTokensList().len-1, 0, nil) defer: index.delete defer: lastindex.delete - self.dataChanged(index, lastindex, @[ModelRole.Visible.int, ModelRole.Position.int]) \ No newline at end of file + self.dataChanged(index, lastindex, @[ModelRole.Visible.int, ModelRole.Position.int]) + + proc modelUpdatedCallback(self: FlatTokensModel): proc() = + return proc() = self.modelsUpdated() + + proc tokenDetailsUpdatedCallback(self: FlatTokensModel): proc() = + return proc() = self.detailsDataChanged() + + proc tokenMarketValuesUpdatedCallback(self: FlatTokensModel): proc() = + return proc() = self.marketDetailsDataChanged() + + proc tokenPreferencesUpdatedCallback(self: FlatTokensModel): proc() = + return proc() = self.tokenPreferencesUpdated() + + proc currencyFormatsUpdatedCallback(self: FlatTokensModel): proc() = + return proc() = self.currencyFormatsUpdated() diff --git a/src/app/modules/main/wallet_section/all_tokens/io_interface.nim b/src/app/modules/main/wallet_section/all_tokens/io_interface.nim index f51dbdfd1e..f87f7bffd8 100644 --- a/src/app/modules/main/wallet_section/all_tokens/io_interface.nim +++ b/src/app/modules/main/wallet_section/all_tokens/io_interface.nim @@ -4,7 +4,8 @@ import app/modules/shared_models/currency_amount type SourcesOfTokensModelDataSource* = tuple[ - getSourcesOfTokensList: proc(): var seq[SupportedSourcesItem] + getSourcesOfTokensList: proc(): var seq[SupportedSourcesItem], + subscribeToModelUpdates: proc(callback: proc()) ] type FlatTokenModelDataSource* = tuple[ @@ -14,6 +15,11 @@ type getCommunityTokenDescription: proc(chainId: int, address: string): string, getTokensDetailsLoading: proc(): bool, getTokensMarketValuesLoading: proc(): bool, + subscribeToModelUpdates: proc(callback: proc()), + subscribeToTokenDetailsUpdates: proc(callback: proc()), + subscribeToTokenMarketValuesUpdates: proc(callback: proc()), + subscribeToTokenPreferencesUpdates: proc(callback: proc()), + subscribeToCurrencyFormatsUpdates: proc(callback: proc()) ] type TokenBySymbolModelDataSource* = tuple[ @@ -23,6 +29,11 @@ type getCommunityTokenDescription: proc(addressPerChain: seq[AddressPerChain]): string, getTokensDetailsLoading: proc(): bool, getTokensMarketValuesLoading: proc(): bool, + subscribeToModelUpdates: proc(callback: proc()), + subscribeToTokenDetailsUpdates: proc(callback: proc()), + subscribeToTokenMarketValuesUpdates: proc(callback: proc()), + subscribeToTokenPreferencesUpdates: proc(callback: proc()), + subscribeToCurrencyFormatsUpdates: proc(callback: proc()) ] type TokenMarketValuesDataSource* = tuple[ diff --git a/src/app/modules/main/wallet_section/all_tokens/module.nim b/src/app/modules/main/wallet_section/all_tokens/module.nim index d3e56513e6..d079b51445 100644 --- a/src/app/modules/main/wallet_section/all_tokens/module.nim +++ b/src/app/modules/main/wallet_section/all_tokens/module.nim @@ -24,6 +24,11 @@ type controller: Controller moduleLoaded: bool addresses: seq[string] + modelUpdatedSubscribers: seq[proc()] + tokensDetailsUpdatedSubscribers: seq[proc()] + tokensMarketValuesUpdatedSubscribers: seq[proc()] + tokenPreferencesUpdatedSubscribers: seq[proc()] + currencyFormatsUpdatedSubscribers: seq[proc()] proc newModule*( delegate: delegate_interface.AccessInterface, @@ -55,27 +60,28 @@ method load*(self: Module) = # Passing on the events for changes in model to abstract model self.events.on(SIGNAL_TOKENS_LIST_UPDATED) do(e: Args): - self.view.modelsUpdated() self.view.setTokenListUpdatedAt(self.controller.getTokenListUpdatedAt()) - self.events.on(SIGNAL_TOKENS_DETAILS_ABOUT_TO_BE_UPDATED) do(e: Args): - self.view.tokensDetailsAboutToUpdate() + for modelUpdatedSubscriber in self.modelUpdatedSubscribers: + modelUpdatedSubscriber() self.events.on(SIGNAL_TOKENS_DETAILS_UPDATED) do(e: Args): - self.view.tokensDetailsUpdated() - self.events.on(SIGNAL_TOKENS_MARKET_VALUES_ABOUT_TO_BE_UPDATED) do(e: Args): - self.view.tokensMarketValuesAboutToUpdate() + for tokensDetailsUpdatedSubscriber in self.tokensDetailsUpdatedSubscribers: + tokensDetailsUpdatedSubscriber() self.events.on(SIGNAL_TOKENS_MARKET_VALUES_UPDATED) do(e: Args): - self.view.tokensMarketValuesUpdated() - self.events.on(SIGNAL_TOKENS_PRICES_ABOUT_TO_BE_UPDATED) do(e: Args): - self.view.tokensMarketValuesAboutToUpdate() + for tokensMarketValuesUpdatedSubscriber in self.tokensMarketValuesUpdatedSubscribers: + tokensMarketValuesUpdatedSubscriber() self.events.on(SIGNAL_TOKENS_PRICES_UPDATED) do(e: Args): - self.view.tokensMarketValuesUpdated() + for tokensMarketValuesUpdatedSubscriber in self.tokensMarketValuesUpdatedSubscribers: + tokensMarketValuesUpdatedSubscriber() self.events.on(SIGNAL_TOKEN_PREFERENCES_UPDATED) do(e: Args): - self.view.tokenPreferencesUpdated() + for tokenPreferencesUpdatedSubscriber in self.tokenPreferencesUpdatedSubscribers: + tokenPreferencesUpdatedSubscriber() self.events.on(SIGNAL_COMMUNITY_TOKENS_DETAILS_LOADED) do(e: Args): - self.view.tokensDetailsUpdated() + for tokensDetailsUpdatedSubscriber in self.tokensDetailsUpdatedSubscribers: + tokensDetailsUpdatedSubscriber() self.events.on(SIGNAL_CURRENCY_FORMATS_UPDATED) do(e:Args): - self.view.currencyFormatsUpdated() + for currencyFormatsUpdatedSubscriber in self.currencyFormatsUpdatedSubscribers: + currencyFormatsUpdatedSubscriber() self.controller.init() self.view.load() @@ -108,7 +114,8 @@ method tokenBalanceHistoryDataResolved*(self: Module, balanceHistoryJson: string method getSourcesOfTokensModelDataSource*(self: Module): SourcesOfTokensModelDataSource = return ( - getSourcesOfTokensList: proc(): var seq[SupportedSourcesItem] = self.controller.getSourcesOfTokensList() + getSourcesOfTokensList: proc(): var seq[SupportedSourcesItem] = self.controller.getSourcesOfTokensList(), + subscribeToModelUpdates: proc(callback: proc()) = self.modelUpdatedSubscribers.add(callback) ) method getFlatTokenModelDataSource*(self: Module): FlatTokenModelDataSource = @@ -118,7 +125,12 @@ method getFlatTokenModelDataSource*(self: Module): FlatTokenModelDataSource = getTokenPreferences: proc(symbol: string): TokenPreferencesItem = self.controller.getTokenPreferences(symbol), getCommunityTokenDescription: proc(chainId: int, address: string): string = self.controller.getCommunityTokenDescription(chainId, address), getTokensDetailsLoading: proc(): bool = self.controller.getTokensDetailsLoading(), - getTokensMarketValuesLoading: proc(): bool = self.controller.getTokensMarketValuesLoading() + getTokensMarketValuesLoading: proc(): bool = self.controller.getTokensMarketValuesLoading(), + subscribeToModelUpdates: proc(callback: proc()) = self.modelUpdatedSubscribers.add(callback), + subscribeToTokenDetailsUpdates: proc(callback: proc()) = self.tokensDetailsUpdatedSubscribers.add(callback), + subscribeToTokenMarketValuesUpdates: proc(callback: proc()) = self.tokensMarketValuesUpdatedSubscribers.add(callback), + subscribeToTokenPreferencesUpdates: proc(callback: proc()) = self.tokenPreferencesUpdatedSubscribers.add(callback), + subscribeToCurrencyFormatsUpdates: proc(callback: proc()) = self.currencyFormatsUpdatedSubscribers.add(callback) ) method getTokenBySymbolModelDataSource*(self: Module): TokenBySymbolModelDataSource = @@ -128,7 +140,12 @@ method getTokenBySymbolModelDataSource*(self: Module): TokenBySymbolModelDataSou getTokenPreferences: proc(symbol: string): TokenPreferencesItem = self.controller.getTokenPreferences(symbol), getCommunityTokenDescription: proc(addressPerChain: seq[AddressPerChain]): string = self.controller.getCommunityTokenDescription(addressPerChain), getTokensDetailsLoading: proc(): bool = self.controller.getTokensDetailsLoading(), - getTokensMarketValuesLoading: proc(): bool = self.controller.getTokensMarketValuesLoading() + getTokensMarketValuesLoading: proc(): bool = self.controller.getTokensMarketValuesLoading(), + subscribeToModelUpdates: proc(callback: proc()) = self.modelUpdatedSubscribers.add(callback), + subscribeToTokenDetailsUpdates: proc(callback: proc()) = self.tokensDetailsUpdatedSubscribers.add(callback), + subscribeToTokenMarketValuesUpdates: proc(callback: proc()) = self.tokensMarketValuesUpdatedSubscribers.add(callback), + subscribeToTokenPreferencesUpdates: proc(callback: proc()) = self.tokenPreferencesUpdatedSubscribers.add(callback), + subscribeToCurrencyFormatsUpdates: proc(callback: proc()) = self.currencyFormatsUpdatedSubscribers.add(callback) ) method getTokenMarketValuesDataSource*(self: Module): TokenMarketValuesDataSource = diff --git a/src/app/modules/main/wallet_section/all_tokens/sources_of_tokens_model.nim b/src/app/modules/main/wallet_section/all_tokens/sources_of_tokens_model.nim index 0300b51c76..e6e9eb2e37 100644 --- a/src/app/modules/main/wallet_section/all_tokens/sources_of_tokens_model.nim +++ b/src/app/modules/main/wallet_section/all_tokens/sources_of_tokens_model.nim @@ -17,6 +17,9 @@ QtObject: type SourcesOfTokensModel* = ref object of QAbstractListModel delegate: io_interface.SourcesOfTokensModelDataSource + # Forward declaration + proc modelUpdatedCallback(self: SourcesOfTokensModel): proc() + proc setup(self: SourcesOfTokensModel) = self.QAbstractListModel.setup @@ -27,6 +30,7 @@ QtObject: new(result, delete) result.setup result.delegate = delegate + result.delegate.subscribeToModelUpdates(result.modelUpdatedCallback()) method rowCount(self: SourcesOfTokensModel, index: QModelIndex = nil): int = return self.delegate.getSourcesOfTokensList().len @@ -69,6 +73,9 @@ QtObject: of ModelRole.TokensCount: result = newQVariant(item.tokensCount) - proc modelsUpdated*(self: SourcesOfTokensModel) = + proc modelsUpdated(self: SourcesOfTokensModel) = self.beginResetModel() self.endResetModel() + + proc modelUpdatedCallback(self: SourcesOfTokensModel): proc() = + return proc() = self.modelsUpdated() diff --git a/src/app/modules/main/wallet_section/all_tokens/token_by_symbol_model.nim b/src/app/modules/main/wallet_section/all_tokens/token_by_symbol_model.nim index 98fb3a2c28..66a25d1872 100644 --- a/src/app/modules/main/wallet_section/all_tokens/token_by_symbol_model.nim +++ b/src/app/modules/main/wallet_section/all_tokens/token_by_symbol_model.nim @@ -40,6 +40,13 @@ QtObject: addressPerChainModel: seq[AddressPerChainModel] tokenMarketDetails: seq[MarketDetailsItem] + # Forward declaration + proc modelUpdatedCallback(self: TokensBySymbolModel): proc() + proc tokenDetailsUpdatedCallback(self: TokensBySymbolModel): proc() + proc tokenMarketValuesUpdatedCallback(self: TokensBySymbolModel): proc() + proc tokenPreferencesUpdatedCallback(self: TokensBySymbolModel): proc() + proc currencyFormatsUpdatedCallback(self: TokensBySymbolModel): proc() + proc setup(self: TokensBySymbolModel) = self.QAbstractListModel.setup self.addressPerChainModel = @[] @@ -59,6 +66,11 @@ QtObject: result.delegate = delegate result.marketValuesDelegate = marketValuesDelegate result.tokenMarketDetails = @[] + result.delegate.subscribeToModelUpdates(result.modelUpdatedCallback()) + result.delegate.subscribeToTokenDetailsUpdates(result.tokenDetailsUpdatedCallback()) + result.delegate.subscribeToTokenMarketValuesUpdates(result.tokenMarketValuesUpdatedCallback()) + result.delegate.subscribeToTokenPreferencesUpdates(result.tokenPreferencesUpdatedCallback()) + result.delegate.subscribeToCurrencyFormatsUpdates(result.currencyFormatsUpdatedCallback()) method rowCount(self: TokensBySymbolModel, index: QModelIndex = nil): int = return self.delegate.getTokenBySymbolList().len @@ -139,7 +151,7 @@ QtObject: of ModelRole.Position: result = newQVariant(self.delegate.getTokenPreferences(item.symbol).position) - proc modelsUpdated*(self: TokensBySymbolModel) = + proc modelsUpdated(self: TokensBySymbolModel) = self.beginResetModel() self.tokenMarketDetails = @[] self.addressPerChainModel = @[] @@ -151,7 +163,7 @@ QtObject: self.tokenMarketDetails.add(newMarketDetailsItem(self.marketValuesDelegate, symbol)) self.endResetModel() - proc tokensMarketValuesUpdated*(self: TokensBySymbolModel) = + proc tokensMarketValuesUpdated(self: TokensBySymbolModel) = if not self.delegate.getTokensMarketValuesLoading(): if self.delegate.getTokenBySymbolList().len > 0: let index = self.createIndex(0, 0, nil) @@ -160,15 +172,7 @@ QtObject: defer: lastindex.delete self.dataChanged(index, lastindex, @[ModelRole.MarketDetails.int, ModelRole.MarketDetailsLoading.int]) - proc tokensMarketValuesAboutToUpdate*(self: TokensBySymbolModel) = - if self.delegate.getTokenBySymbolList().len > 0: - let index = self.createIndex(0, 0, nil) - let lastindex = self.createIndex(self.delegate.getTokenBySymbolList().len-1, 0, nil) - defer: index.delete - defer: lastindex.delete - self.dataChanged(index, lastindex, @[ModelRole.MarketDetails.int, ModelRole.MarketDetailsLoading.int]) - - proc tokensDetailsAboutToUpdate*(self: TokensBySymbolModel) = + proc tokensDetailsUpdated(self: TokensBySymbolModel) = if self.delegate.getTokenBySymbolList().len > 0: let index = self.createIndex(0, 0, nil) let lastindex = self.createIndex(self.delegate.getTokenBySymbolList().len-1, 0, nil) @@ -176,22 +180,29 @@ QtObject: defer: lastindex.delete self.dataChanged(index, lastindex, @[ModelRole.Description.int, ModelRole.WebsiteUrl.int, ModelRole.DetailsLoading.int]) - proc tokensDetailsUpdated*(self: TokensBySymbolModel) = - if self.delegate.getTokenBySymbolList().len > 0: - let index = self.createIndex(0, 0, nil) - let lastindex = self.createIndex(self.delegate.getTokenBySymbolList().len-1, 0, nil) - defer: index.delete - defer: lastindex.delete - self.dataChanged(index, lastindex, @[ModelRole.Description.int, ModelRole.WebsiteUrl.int, ModelRole.DetailsLoading.int]) - - proc currencyFormatsUpdated*(self: TokensBySymbolModel) = + proc currencyFormatsUpdated(self: TokensBySymbolModel) = for marketDetails in self.tokenMarketDetails: marketDetails.updateCurrencyFormat() - proc tokenPreferencesUpdated*(self: TokensBySymbolModel) = + proc tokenPreferencesUpdated(self: TokensBySymbolModel) = if self.delegate.getTokenBySymbolList().len > 0: let index = self.createIndex(0, 0, nil) let lastindex = self.createIndex(self.delegate.getTokenBySymbolList().len-1, 0, nil) defer: index.delete defer: lastindex.delete - self.dataChanged(index, lastindex, @[ModelRole.Visible.int, ModelRole.Position.int]) \ No newline at end of file + self.dataChanged(index, lastindex, @[ModelRole.Visible.int, ModelRole.Position.int]) + + proc modelUpdatedCallback(self: TokensBySymbolModel): proc() = + return proc() = self.modelsUpdated() + + proc tokenDetailsUpdatedCallback(self: TokensBySymbolModel): proc() = + return proc() = self.tokensDetailsUpdated() + + proc tokenMarketValuesUpdatedCallback(self: TokensBySymbolModel): proc() = + return proc() = self.tokensMarketValuesUpdated() + + proc tokenPreferencesUpdatedCallback(self: TokensBySymbolModel): proc() = + return proc() = self.tokenPreferencesUpdated() + + proc currencyFormatsUpdatedCallback(self: TokensBySymbolModel): proc() = + return proc() = self.currencyFormatsUpdated() diff --git a/src/app/modules/main/wallet_section/all_tokens/view.nim b/src/app/modules/main/wallet_section/all_tokens/view.nim index b579d40cde..3ba86c1541 100644 --- a/src/app/modules/main/wallet_section/all_tokens/view.nim +++ b/src/app/modules/main/wallet_section/all_tokens/view.nim @@ -30,7 +30,8 @@ QtObject: result.delegate = delegate result.marketHistoryIsLoading = false result.balanceHistoryIsLoading = false - result.sourcesOfTokensModel = newSourcesOfTokensModel(delegate.getSourcesOfTokensModelDataSource()) + result.sourcesOfTokensModel = newSourcesOfTokensModel( + delegate.getSourcesOfTokensModelDataSource()) result.flatTokensModel = newFlatTokensModel( delegate.getFlatTokenModelDataSource(), delegate.getTokenMarketValuesDataSource()) @@ -116,35 +117,6 @@ QtObject: read = getTokensBySymbolModel notify = tokensBySymbolModelChanged - proc modelsUpdated*(self: View) = - self.sourcesOfTokensModel.modelsUpdated() - self.flatTokensModel.modelsUpdated() - self.tokensBySymbolModel.modelsUpdated() - - proc tokensMarketValuesUpdated*(self: View) = - self.flatTokensModel.tokensMarketValuesUpdated() - self.tokensBySymbolModel.tokensMarketValuesUpdated() - - proc tokensMarketValuesAboutToUpdate*(self: View) = - self.flatTokensModel.tokensMarketValuesAboutToUpdate() - self.tokensBySymbolModel.tokensMarketValuesAboutToUpdate() - - proc tokensDetailsAboutToUpdate*(self: View) = - self.flatTokensModel.tokensDetailsAboutToUpdate() - self.tokensBySymbolModel.tokensDetailsAboutToUpdate() - - proc tokensDetailsUpdated*(self: View) = - self.flatTokensModel.tokensDetailsUpdated() - self.tokensBySymbolModel.tokensDetailsUpdated() - - proc currencyFormatsUpdated*(self: View) = - self.flatTokensModel.currencyFormatsUpdated() - self.tokensBySymbolModel.currencyFormatsUpdated() - - proc tokenPreferencesUpdated*(self: View) = - self.flatTokensModel.tokenPreferencesUpdated() - self.tokensBySymbolModel.tokenPreferencesUpdated() - proc updateTokenPreferences*(self: View, tokenPreferencesJson: string) {.slot.} = self.delegate.updateTokenPreferences(tokenPreferencesJson) diff --git a/src/app_service/service/token/service.nim b/src/app_service/service/token/service.nim index e74adb1519..b90ffe3b71 100644 --- a/src/app_service/service/token/service.nim +++ b/src/app_service/service/token/service.nim @@ -31,10 +31,7 @@ const CRYPTO_SUB_UNITS_TO_FACTOR = { # Signals which may be emitted by this service: const SIGNAL_TOKEN_HISTORICAL_DATA_LOADED* = "tokenHistoricalDataLoaded" const SIGNAL_TOKENS_LIST_UPDATED* = "tokensListUpdated" -const SIGNAL_TOKENS_DETAILS_ABOUT_TO_BE_UPDATED* = "tokensDetailsAboutToBeUpdated" const SIGNAL_TOKENS_DETAILS_UPDATED* = "tokensDetailsUpdated" -const SIGNAL_TOKENS_MARKET_VALUES_ABOUT_TO_BE_UPDATED* = "tokensMarketValuesAboutToBeUpdated" -const SIGNAL_TOKENS_PRICES_ABOUT_TO_BE_UPDATED* = "tokensPricesValuesAboutToBeUpdated" const SIGNAL_TOKENS_MARKET_VALUES_UPDATED* = "tokensMarketValuesUpdated" const SIGNAL_TOKENS_PRICES_UPDATED* = "tokensPricesValuesUpdated" const SIGNAL_TOKEN_PREFERENCES_UPDATED* = "tokenPreferencesUpdated" @@ -104,7 +101,6 @@ QtObject: proc fetchTokensMarketValues(self: Service, symbols: seq[string]) = self.tokensMarketDetailsLoading = true - defer: self.events.emit(SIGNAL_TOKENS_MARKET_VALUES_ABOUT_TO_BE_UPDATED, Args()) let arg = FetchTokensMarketValuesTaskArg( tptr: fetchTokensMarketValuesTask, vptr: cast[ByteAddress](self.vptr), @@ -187,7 +183,6 @@ QtObject: proc fetchTokensPrices(self: Service, symbols: seq[string]) = self.tokensPricesLoading = true - defer: self.events.emit(SIGNAL_TOKENS_PRICES_ABOUT_TO_BE_UPDATED, Args()) let arg = FetchTokensPricesTaskArg( tptr: fetchTokensPricesTask, vptr: cast[ByteAddress](self.vptr),