From 3acabfd2a8b17ffaf0ca8ed5f97b69adf5ae69aa Mon Sep 17 00:00:00 2001 From: Anthony Laibe Date: Wed, 29 Sep 2021 12:09:33 +0200 Subject: [PATCH] refactor: ensure settings is accessed via model --- src/app/wallet/v1/views/token_list.nim | 13 +++++++++---- vendor/status-lib | 2 +- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/app/wallet/v1/views/token_list.nim b/src/app/wallet/v1/views/token_list.nim index f130d6bb5f..c72960d30a 100644 --- a/src/app/wallet/v1/views/token_list.nim +++ b/src/app/wallet/v1/views/token_list.nim @@ -21,14 +21,16 @@ type Address = UserRole + 4, Decimals = UserRole + 5 IsCustom = UserRole + 6 + GetTokenDetailsTaskArg = ref object of QObjectTaskArg + chainId: int address: string const getTokenDetailsTask: Task = proc(argEncoded: string) {.gcsafe, nimcall.} = let arg = decode[GetTokenDetailsTaskArg](argEncoded) try: let - tkn = newErc20Contract(getCurrentNetwork().toChainId(), arg.address.parseAddress) + tkn = newErc20Contract(arg.chainId, arg.address.parseAddress) decimals = tkn.tokenDecimals() output = %* { "address": arg.address, @@ -44,11 +46,12 @@ const getTokenDetailsTask: Task = proc(argEncoded: string) {.gcsafe, nimcall.} = } arg.finish(output) -proc getTokenDetails[T](self: T, slot: string, address: string) = +proc getTokenDetails[T](self: T, slot: string, chainId: int, address: string) = let arg = GetTokenDetailsTaskArg( tptr: cast[ByteAddress](getTokenDetailsTask), vptr: cast[ByteAddress](self.vptr), slot: slot, + chainId: chainId, address: address) self.appService.threadpool.start(arg) @@ -70,7 +73,8 @@ QtObject: proc loadDefaultTokens*(self:TokenList) = if self.tokens.len == 0: - self.tokens = allErc20ContractsByChainId(getCurrentNetwork().toChainId()) + let chainId = self.status.settings.getCurrentNetwork().toChainId() + self.tokens = allErc20ContractsByChainId(chainId) self.isCustom = false self.tokensLoaded(self.tokens.len) @@ -126,7 +130,8 @@ QtObject: TokenRoles.IsCustom.int:"isCustom"}.toTable proc getTokenDetails*(self: TokenList, address: string) {.slot.} = - self.getTokenDetails("tokenDetailsResolved", address) + let chainId = self.status.settings.getCurrentNetwork().toChainId() + self.getTokenDetails("tokenDetailsResolved", chainId, address) proc tokenDetailsWereResolved*(self: TokenList, tokenDetails: string) {.signal.} diff --git a/vendor/status-lib b/vendor/status-lib index cf2a43f9b3..e29ba9c9fa 160000 --- a/vendor/status-lib +++ b/vendor/status-lib @@ -1 +1 @@ -Subproject commit cf2a43f9b31da1862699bb5538d54a0e91a25ec5 +Subproject commit e29ba9c9faa391ec6c4c504edc37e044c8ff4736