Skip to content

Commit 9113e22

Browse files
committed
implement WalletUserAssetDataObserver to the stores that need to update after cached balances are refreshed.
1 parent a2f15ba commit 9113e22

8 files changed

+72
-3
lines changed

ios/brave-ios/Sources/BraveWallet/Crypto/Stores/AccountActivityStore.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -511,6 +511,7 @@ class AccountActivityStore: ObservableObject, WalletObserverStore {
511511

512512
extension AccountActivityStore: WalletUserAssetDataObserver {
513513
public func cachedBalanceRefreshed() {
514+
update()
514515
}
515516

516517
public func userAssetUpdated() {

ios/brave-ios/Sources/BraveWallet/Crypto/Stores/AccountsStore.swift

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ class AccountsStore: ObservableObject, WalletObserverStore {
7272

7373
func setupObservers() {
7474
guard !isObserving else { return }
75+
self.userAssetManager.addUserAssetDataObserver(self)
7576
self.keyringServiceObserver = KeyringServiceObserver(
7677
keyringService: keyringService,
7778
_accountsChanged: { [weak self] in
@@ -326,3 +327,12 @@ class AccountsStore: ObservableObject, WalletObserverStore {
326327
tokenBalancesCache[account.id]?[tokenId]
327328
}
328329
}
330+
331+
extension AccountsStore: WalletUserAssetDataObserver {
332+
func cachedBalanceRefreshed() {
333+
update()
334+
}
335+
336+
func userAssetUpdated() {
337+
}
338+
}

ios/brave-ios/Sources/BraveWallet/Crypto/Stores/AssetDetailStore.swift

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,7 @@ class AssetDetailStore: ObservableObject, WalletObserverStore {
170170

171171
func setupObservers() {
172172
guard !isObserving else { return }
173+
self.assetManager.addUserAssetDataObserver(self)
173174
self.keyringServiceObserver = KeyringServiceObserver(
174175
keyringService: keyringService,
175176
_accountsChanged: { [weak self] in
@@ -697,3 +698,12 @@ extension AssetDetailStore: BraveWalletBraveWalletServiceObserver {
697698
func onResetWallet() {
698699
}
699700
}
701+
702+
extension AssetDetailStore: WalletUserAssetDataObserver {
703+
func cachedBalanceRefreshed() {
704+
update()
705+
}
706+
707+
func userAssetUpdated() {
708+
}
709+
}

ios/brave-ios/Sources/BraveWallet/Crypto/Stores/NFTDetailStore.swift

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,8 @@ class NFTDetailStore: ObservableObject, WalletObserverStore {
118118
}
119119

120120
func setupObservers() {
121+
guard !isObserving else { return }
122+
self.assetManager.addUserAssetDataObserver(self)
121123
self.txServiceObserver = TxServiceObserver(
122124
txService: txService,
123125
_onTransactionStatusChanged: { [weak self] txInfo in
@@ -142,9 +144,7 @@ class NFTDetailStore: ObservableObject, WalletObserverStore {
142144
networkInfo = network
143145
}
144146

145-
if owner == nil {
146-
updateOwner()
147-
}
147+
updateOwner()
148148

149149
if nftMetadata == nil {
150150
isLoading = true
@@ -224,3 +224,12 @@ class NFTDetailStore: ObservableObject, WalletObserverStore {
224224
}
225225
}
226226
}
227+
228+
extension NFTDetailStore: WalletUserAssetDataObserver {
229+
func cachedBalanceRefreshed() {
230+
update()
231+
}
232+
233+
func userAssetUpdated() {
234+
}
235+
}

ios/brave-ios/Sources/BraveWallet/Crypto/Stores/SendTokenStore.swift

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -226,6 +226,7 @@ public class SendTokenStore: ObservableObject, WalletObserverStore {
226226

227227
func setupObservers() {
228228
guard !isObserving else { return }
229+
self.assetManager.addUserAssetDataObserver(self)
229230
self.keyringServiceObserver = KeyringServiceObserver(
230231
keyringService: keyringService,
231232
_selectedWalletAccountChanged: { [weak self] _ in
@@ -986,3 +987,12 @@ public class SendTokenStore: ObservableObject, WalletObserverStore {
986987
return await rpcService.fetchNFTMetadata(tokens: tokens, ipfsApi: ipfsApi)
987988
}
988989
}
990+
991+
extension SendTokenStore: WalletUserAssetDataObserver {
992+
public func cachedBalanceRefreshed() {
993+
update()
994+
}
995+
996+
public func userAssetUpdated() {
997+
}
998+
}

ios/brave-ios/Sources/BraveWallet/Crypto/Stores/SwapTokenStore.swift

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -244,6 +244,7 @@ public class SwapTokenStore: ObservableObject, WalletObserverStore {
244244

245245
func setupObservers() {
246246
guard !isObserving else { return }
247+
self.assetManager.addUserAssetDataObserver(self)
247248
self.keyringServiceObserver = KeyringServiceObserver(
248249
keyringService: keyringService,
249250
_selectedWalletAccountChanged: { [weak self] account in
@@ -1323,3 +1324,16 @@ public class SwapTokenStore: ObservableObject, WalletObserverStore {
13231324
}
13241325
#endif
13251326
}
1327+
1328+
extension SwapTokenStore: WalletUserAssetDataObserver {
1329+
public func cachedBalanceRefreshed() {
1330+
if let token = selectedFromToken {
1331+
fetchTokenBalance(for: token) { [weak self] balance in
1332+
self?.selectedFromTokenBalance = balance
1333+
}
1334+
}
1335+
}
1336+
1337+
public func userAssetUpdated() {
1338+
}
1339+
}

ios/brave-ios/Sources/BraveWallet/Crypto/Stores/TransactionConfirmationStore.swift

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -210,6 +210,7 @@ public class TransactionConfirmationStore: ObservableObject, WalletObserverStore
210210

211211
func setupObservers() {
212212
guard !isObserving else { return }
213+
self.assetManager.addUserAssetDataObserver(self)
213214
self.txServiceObserver = TxServiceObserver(
214215
txService: txService,
215216
_onNewUnapprovedTx: { _ in
@@ -998,3 +999,16 @@ struct TransactionProviderError {
998999
let code: Int
9991000
let message: String
10001001
}
1002+
1003+
extension TransactionConfirmationStore: WalletUserAssetDataObserver {
1004+
public func cachedBalanceRefreshed() {
1005+
updateTransaction(
1006+
with: activeTransaction,
1007+
shouldFetchCurrentAllowance: false,
1008+
shouldFetchGasTokenBalance: true
1009+
)
1010+
}
1011+
1012+
public func userAssetUpdated() {
1013+
}
1014+
}

ios/brave-ios/Sources/BraveWallet/WalletUserAssetManager.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,7 @@ public class WalletUserAssetManager: WalletUserAssetManagerType, WalletObserverS
115115
keyringServiceObserver = nil
116116
txServiceObserver = nil
117117
walletServiceObserver = nil
118+
dataObservers.removeAllObjects()
118119
}
119120

120121
public func setupObservers() {

0 commit comments

Comments
 (0)