Skip to content

Commit

Permalink
chore: fix nim build warnings (#12796)
Browse files Browse the repository at this point in the history
* chore: turn off  'generic methods are deprecated' warnings
* chore: fix homebrew bottles version and macos-min-version
* chore: suppress dotherside deprecation warnings
* chore: fix more nim unused import warnings
* chore(qt.nim): explicit cstring conversion to fix warning
* chore: fix all baseless methods
  • Loading branch information
igor-sirotin committed Nov 20, 2023
1 parent 9665e07 commit a2e8655
Show file tree
Hide file tree
Showing 35 changed files with 102 additions and 78 deletions.
16 changes: 9 additions & 7 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -74,12 +74,13 @@ else
endif

ifeq ($(detected_OS),Darwin)
CFLAGS := -mmacosx-version-min=10.14
CFLAGS := -mmacosx-version-min=11.0
export CFLAGS
CGO_CFLAGS := -mmacosx-version-min=10.14
CGO_CFLAGS := -mmacosx-version-min=11.0
export CGO_CFLAGS
LIBSTATUS_EXT := dylib
MACOSX_DEPLOYMENT_TARGET := 10.14
# keep in sync with BOTTLE_MACOS_VERSION
MACOSX_DEPLOYMENT_TARGET := 11.0
export MACOSX_DEPLOYMENT_TARGET
PKG_TARGET := pkg-macos
RUN_TARGET := run-macos
Expand Down Expand Up @@ -123,13 +124,14 @@ ifeq ($(detected_OS),Darwin)
BOTTLES_DIR := $(shell pwd)/bottles
BOTTLES := $(addprefix $(BOTTLES_DIR)/,openssl@1.1 pcre)
ifeq ($(QT_ARCH),arm64)
EXCLUDE_BOTTLES := 'linux'
# keep in sync with MACOSX_DEPLOYMENT_TARGET
BOTTLE_MACOS_VERSION := 'arm64_big_sur'
else
EXCLUDE_BOTTLES := 'arm|linux'
BOTTLE_MACOS_VERSION := 'big_sur'
endif
$(BOTTLES): | $(BOTTLES_DIR)
echo -e "\033[92mFetching:\033[39m $(notdir $@) bottle arch $(QT_ARCH)"
./scripts/fetch-brew-bottle.sh $(notdir $@) $(EXCLUDE_BOTTLES)
echo -e "\033[92mFetching:\033[39m $(notdir $@) bottle arch $(QT_ARCH) $(BOTTLE_MACOS_VERSION)"
./scripts/fetch-brew-bottle.sh $(notdir $@) $(BOTTLE_MACOS_VERSION) $(HANDLE_OUTPUT)

$(BOTTLES_DIR):
echo -e "\033[92mUpdating:\033[39m macOS Homebrew"
Expand Down
4 changes: 2 additions & 2 deletions config.nims
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@ if defined(macosx):
switch("passL", "bottles/pcre/lib/libpcre.a")
# https://code.videolan.org/videolan/VLCKit/-/issues/232
switch("passL", "-Wl,-no_compact_unwind")
# set the minimum supported macOS version to 10.14
switch("passC", "-mmacosx-version-min=10.14")
# set the minimum supported macOS version to 11.0
switch("passC", "-mmacosx-version-min=11.0")
elif defined(windows):
--app:gui
--tlsEmulation:off
Expand Down
9 changes: 3 additions & 6 deletions scripts/fetch-brew-bottle.sh
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,7 @@ function get_gh_pkgs_token() {
}

function get_bottle_json() {
brew info --json=v1 "${1}" | jq "
.[0].bottle.stable.files | to_entries
| map(select(.key | test(\"${2}\") | not))
| first.value"
brew info --json=v1 "${1}" | jq ".[0].bottle.stable.files[\"${2}\"]"
}

function fetch_bottle() {
Expand Down Expand Up @@ -50,7 +47,7 @@ else
fi

echo "${BOTTLE_NAME} - Finding bottle URL"
echo "Excluding: ${BOTTLE_FILTER}"
echo "${BOTTLE_NAME} - Selecting: ${BOTTLE_FILTER}"

BOTTLE_JSON=$(get_bottle_json "${BOTTLE_NAME}" "${BOTTLE_FILTER}")
BOTTLE_URL=$(echo "${BOTTLE_JSON}" | jq -r .url)
Expand All @@ -61,7 +58,7 @@ if [[ -z "${BOTTLE_URL}" ]] || [[ -z "${BOTTLE_SHA}" ]]; then
exit 1
fi

echo "${BOTTLE_NAME} - Fetching bottle for macOS"
echo "${BOTTLE_NAME} - Fetching bottle for macOS, bottle sha256: ${BOTTLE_SHA}"
fetch_bottle "${BOTTLE_PATH}" "${BOTTLE_URL}"
trap "rm -fr ${BOTTLE_PATH}" EXIT ERR INT QUIT

Expand Down
4 changes: 2 additions & 2 deletions src/app/core/tasks/qt.nim
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ type
slot*: string

proc finish*[T](arg: QObjectTaskArg, payload: T) =
signal_handler(cast[pointer](arg.vptr), Json.encode(payload), arg.slot)
signal_handler(cast[pointer](arg.vptr), cstring(Json.encode(payload)), cstring(arg.slot))

proc finish*(arg: QObjectTaskArg, payload: string) =
signal_handler(cast[pointer](arg.vptr), payload, arg.slot)
signal_handler(cast[pointer](arg.vptr), cstring(payload), cstring(arg.slot))
2 changes: 1 addition & 1 deletion src/app/modules/main/activity_center/view.nim
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import NimQml, json, strutils, sequtils, strformat, std/tables
import NimQml, json, strutils, sequtils, std/tables
import ../../../../app_service/service/activity_center/service as activity_center_service

import ./model
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import io_interface, tables, sequtils, strutils, sugar, sets
import io_interface, tables, sets


import ../../../../../../app_service/service/settings/service as settings_service
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import NimQml, tables, sets
import NimQml, tables

import ../../../../../../app_service/service/gif/dto
import ../../../../../../app_service/service/message/dto/link_preview
Expand Down Expand Up @@ -99,7 +99,7 @@ method viewDidLoad*(self: AccessInterface) {.base.} =
method setText*(self: AccessInterface, text: string, unfurlUrls: bool) {.base.} =
raise newException(ValueError, "No implementation available")

method getPlainText*(self: AccessInterface): string =
method getPlainText*(self: AccessInterface): string {.base.} =
raise newException(ValueError, "No implementation available")

method setLinkPreviewUrls*(self: AccessInterface, urls: seq[string]) {.base.} =
Expand All @@ -114,22 +114,22 @@ method clearLinkPreviewCache*(self: AccessInterface) {.base.} =
method linkPreviewsFromCache*(self: AccessInterface, urls: seq[string]): Table[string, LinkPreview] {.base.} =
raise newException(ValueError, "No implementation available")

method reloadUnfurlingPlan*(self: AccessInterface) =
method reloadUnfurlingPlan*(self: AccessInterface) {.base.} =
raise newException(ValueError, "No implementation available")

method loadLinkPreviews*(self: AccessInterface, urls: seq[string]) {.base.} =
raise newException(ValueError, "No implementation available")

method getLinkPreviewEnabled*(self: AccessInterface): bool =
method getLinkPreviewEnabled*(self: AccessInterface): bool {.base.} =
raise newException(ValueError, "No implementation available")

method setLinkPreviewEnabled*(self: AccessInterface, enabled: bool) =
method setLinkPreviewEnabled*(self: AccessInterface, enabled: bool) {.base.} =
raise newException(ValueError, "No implementation available")

method setAskToEnableLinkPreview*(self: AccessInterface, value: bool) =
method setAskToEnableLinkPreview*(self: AccessInterface, value: bool) {.base.} =
raise newException(ValueError, "No implementation available")

method setLinkPreviewEnabledForThisMessage*(self: AccessInterface, enabled: bool) =
method setLinkPreviewEnabledForThisMessage*(self: AccessInterface, enabled: bool) {.base.} =
raise newException(ValueError, "No implementation available")

method setUrls*(self: AccessInterface, urls: seq[string]) {.base.} =
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import NimQml, tables, sets
import NimQml, tables
import io_interface
import ../io_interface as delegate_interface
import view, controller
Expand Down
9 changes: 0 additions & 9 deletions src/app/modules/main/chat_section/io_interface.nim
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ import ../../../../app_service/service/shared_urls/service as shared_urls_servic
import model as chats_model
import item as chat_item

import ../../../core/eventemitter
import ../../../core/unique_event_emitter

type
Expand Down Expand Up @@ -64,14 +63,6 @@ method activeItemSet*(self: AccessInterface, itemId: string) {.base.} =
method makeChatWithIdActive*(self: AccessInterface, chatId: string) {.base.} =
raise newException(ValueError, "No implementation available")

method addNewChat*(self: AccessInterface, chatDto: ChatDto, belongsToCommunity: bool, events: EventEmitter,
settingsService: settings_service.Service, contactService: contact_service.Service,
chatService: chat_service.Service, communityService: community_service.Service,
messageService: message_service.Service, gifService: gif_service.Service,
mailserversService: mailservers_service.Service, sharedUrlsService: shared_urls_service.Service,
setChatAsActive: bool = true, insertIntoModel: bool = true): Item {.base.} =
raise newException(ValueError, "No implementation available")

method doesCatOrChatExist*(self: AccessInterface, chatId: string): bool {.base.} =
raise newException(ValueError, "No implementation available")

Expand Down
2 changes: 1 addition & 1 deletion src/app/modules/main/chat_section/module.nim
Original file line number Diff line number Diff line change
Expand Up @@ -516,7 +516,7 @@ method onActiveSectionChange*(self: Module, sectionId: string) =
method chatsModel*(self: Module): chats_model.Model =
return self.view.chatsModel()

method addNewChat*(
proc addNewChat*(
self: Module,
chatDto: ChatDto,
channelGroup: ChannelGroupDto,
Expand Down
3 changes: 3 additions & 0 deletions src/app/modules/main/communities/io_interface.nim
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,9 @@ method communityInfoRequestFailed*(self: AccessInterface, communityId: string, e
method onImportCommunityErrorOccured*(self: AccessInterface, communityId: string, error: string) {.base.} =
raise newException(ValueError, "No implementation available")

method onImportCommunityCancelled*(self: AccessInterface, communityId: string) {.base.} =
raise newException(ValueError, "No implementation available")

method viewDidLoad*(self: AccessInterface) {.base.} =
raise newException(ValueError, "No implementation available")

Expand Down
6 changes: 3 additions & 3 deletions src/app/modules/main/communities/module.nim
Original file line number Diff line number Diff line change
Expand Up @@ -421,7 +421,7 @@ method importCommunity*(self: Module, communityId: string) =
method onImportCommunityErrorOccured*(self: Module, communityId: string, error: string) =
self.view.emitImportingCommunityStateChangedSignal(communityId, ImportCommunityState.ImportingError.int, error)

method onImportCommunityCanceled*(self: Module, communityId: string) =
method onImportCommunityCancelled*(self: Module, communityId: string) =
self.view.emitImportingCommunityStateChangedSignal(communityId, ImportCommunityState.ImportingCanceled.int, errorMsg = "")

method requestExtractDiscordChannelsAndCategories*(self: Module, filesToImport: seq[string]) =
Expand Down Expand Up @@ -656,7 +656,7 @@ method shareCommunityChannelUrlWithChatKey*(self: Module, communityId: string, c
method shareCommunityChannelUrlWithData*(self: Module, communityId: string, chatId: string): string =
return self.controller.shareCommunityChannelUrlWithData(communityId, chatId)

method signRevealedAddressesThatBelongToRegularKeypairs(self: Module): bool =
proc signRevealedAddressesThatBelongToRegularKeypairs(self: Module): bool =
var signingParams: seq[SignParamsDto]
for address, details in self.joiningCommunityDetails.addressesToShare.pairs:
if details.signature.len > 0:
Expand Down Expand Up @@ -923,4 +923,4 @@ method onCommunityMemberRevealedAccountsLoaded*(self: Module, communityId, membe
if revealedAccount.isAirdropAddress:
airdropAddress = revealedAccount.address

self.view.setMyRevealedAddressesForCurrentCommunity($(%*addresses), airdropAddress)
self.view.setMyRevealedAddressesForCurrentCommunity($(%*addresses), airdropAddress)
4 changes: 4 additions & 0 deletions src/app/modules/main/module.nim
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,8 @@ type
pendingSpectateRequest: SpectateRequest
statusDeepLinkToActivate: string

{.push warning[Deprecated]: off.}

# Forward declaration
method calculateProfileSectionHasNotification*[T](self: Module[T]): bool
proc switchToContactOrDisplayUserProfile[T](self: Module[T], publicKey: string)
Expand Down Expand Up @@ -1567,3 +1569,5 @@ method insertMockedKeycardAction*[T](self: Module[T], cardIndex: int) =

method removeMockedKeycardAction*[T](self: Module[T]) =
self.keycardService.removeMockedKeycardAction()

{.pop.}
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,6 @@ proc shareCommunityToUsers*(self: Controller, communityID: string, pubKeys: stri
proc leaveCommunity*(self: Controller, communityID: string) =
self.communityService.leaveCommunity(communityID)

method setCommunityMuted*(self: Controller, communityID: string, mutedType: int) =
proc setCommunityMuted*(self: Controller, communityID: string, mutedType: int) =
self.communityService.setCommunityMuted(communityID, mutedType)

6 changes: 3 additions & 3 deletions src/app/modules/main/profile_section/communities/view.nim
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,11 @@ QtObject:
proc load*(self: View) =
self.delegate.viewDidLoad()

method shareCommunityToUsers*(self: View, communityID: string, pubKeysJSON: string, inviteMessage: string): string {.slot.} =
proc shareCommunityToUsers*(self: View, communityID: string, pubKeysJSON: string, inviteMessage: string): string {.slot.} =
result = self.delegate.shareCommunityToUsers(communityID, pubKeysJSON, inviteMessage)

method leaveCommunity*(self: View, communityID: string) {.slot.} =
proc leaveCommunity*(self: View, communityID: string) {.slot.} =
self.delegate.leaveCommunity(communityID)

method setCommunityMuted*(self: View, communityID: string, mutedType: int) {.slot.} =
proc setCommunityMuted*(self: View, communityID: string, mutedType: int) {.slot.} =
self.delegate.setCommunityMuted(communityID, mutedType)
2 changes: 1 addition & 1 deletion src/app/modules/main/profile_section/keycard/module.nim
Original file line number Diff line number Diff line change
Expand Up @@ -304,7 +304,7 @@ method onLoggedInUserImageChanged*(self: Module) =
return
self.view.keycardDetailsModel().setImage(singletonInstance.userProfile.getKeyUid(), singletonInstance.userProfile.getIcon())

method resolveRelatedKeycardsForKeypair(self: Module, keypair: KeypairDto) =
proc resolveRelatedKeycardsForKeypair(self: Module, keypair: KeypairDto) =
if keypair.keyUid.len == 0:
error "cannot rebuild keycards for a keypair with empty keyUid"
return
Expand Down
6 changes: 3 additions & 3 deletions src/app/modules/main/profile_section/privacy/controller.nim
Original file line number Diff line number Diff line change
Expand Up @@ -95,18 +95,18 @@ proc getMessagesFromContactsOnly*(self: Controller): bool =
proc setMessagesFromContactsOnly*(self: Controller, value: bool): bool =
return self.settingsService.saveMessagesFromContactsOnly(value)

method urlUnfurlingMode*(self: Controller): int {.base.} =
proc urlUnfurlingMode*(self: Controller): int =
return int(self.settingsService.urlUnfurlingMode())

method setUrlUnfurlingMode*(self: Controller, value: int) {.base.} =
proc setUrlUnfurlingMode*(self: Controller, value: int) =
let mode = toUrlUnfurlingMode(value)
if not self.settingsService.saveUrlUnfurlingMode(mode):
error "failed to save url unfurling mode setting", value

proc validatePassword*(self: Controller, password: string): bool =
return self.privacyService.validatePassword(password)

method getPasswordStrengthScore*(self: Controller, password, userName: string): int =
proc getPasswordStrengthScore*(self: Controller, password, userName: string): int =
return self.generalService.getPasswordStrengthScore(password, userName)

proc storeToKeychain*(self: Controller, data: string) =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ method getModuleAsVariant*(self: Module): QVariant =
method getCollectiblesModel*(self: Module): QVariant =
return self.collectiblesController.getModelAsVariant()

method convertWalletAccountDtoToKeyPairAccountItem(self: Module, account: WalletAccountDto): KeyPairAccountItem =
proc convertWalletAccountDtoToKeyPairAccountItem(self: Module, account: WalletAccountDto): KeyPairAccountItem =
result = newKeyPairAccountItem(
name = account.name,
path = account.path,
Expand All @@ -81,15 +81,15 @@ method convertWalletAccountDtoToKeyPairAccountItem(self: Module, account: Wallet
testPreferredChainIds = account.testPreferredChainIds,
hideFromTotalBalance = account.hideFromTotalBalance)

method setBalance(self: Module, accountsTokens: OrderedTable[string, seq[WalletTokenDto]]) =
proc setBalance(self: Module, accountsTokens: OrderedTable[string, seq[WalletTokenDto]]) =
let enabledChainIds = self.controller.getEnabledChainIds()
let currency = self.controller.getCurrentCurrency()
let currencyFormat = self.controller.getCurrencyFormat(currency)
for address, tokens in accountsTokens.pairs:
let balance = currencyAmountToItem(tokens.map(t => t.getCurrencyBalance(enabledChainIds, currency)).foldl(a + b, 0.0),currencyFormat)
self.view.setBalanceForKeyPairs(address, balance)

method createKeypairItems*(self: Module, walletAccounts: seq[WalletAccountDto]): seq[KeyPairItem] =
proc createKeypairItems(self: Module, walletAccounts: seq[WalletAccountDto]): seq[KeyPairItem] =
var keyPairItems = keypairs.buildKeyPairsList(self.controller.getKeypairs(), excludeAlreadyMigratedPairs = false,
excludePrivateKeyKeypairs = false, self.controller.areTestNetworksEnabled())

Expand Down
5 changes: 4 additions & 1 deletion src/app/modules/main/profile_section/wallet/io_interface.nim
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,9 @@ method load*(self: AccessInterface) {.base.} =
method isLoaded*(self: AccessInterface): bool {.base.} =
raise newException(ValueError, "No implementation available")

method viewDidLoad*(self: AccessInterface) {.base.} =
raise newException(ValueError, "No implementation available")

# View Delegate Interface
# Delegate for the view must be declared here due to use of QtObject and multi
# inheritance, which is not well supported in Nim.
Expand Down Expand Up @@ -53,4 +56,4 @@ method hasPairedDevices*(self: AccessInterface): bool {.base.} =
raise newException(ValueError, "No implementation available")

method onLocalPairingStatusUpdate*(self: AccessInterface, data: LocalPairingStatus) {.base.} =
raise newException(ValueError, "No implementation available")
raise newException(ValueError, "No implementation available")
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ proc checkIfModuleDidLoad(self: Module) =
method viewDidLoad*(self: Module) =
self.checkIfModuleDidLoad()

method areTestNetworksEnabled*(self: Module): bool =
proc areTestNetworksEnabled*(self: Module): bool =
return self.controller.areTestNetworksEnabled()

method toggleTestNetworksEnabled*(self: Module) =
Expand Down
3 changes: 3 additions & 0 deletions src/app/modules/main/shared_urls/io_interface.nim
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@ method delete*(self: AccessInterface) {.base.} =
method load*(self: AccessInterface) {.base.} =
raise newException(ValueError, "No implementation available")

method isLoaded*(self: AccessInterface): bool {.base.} =
raise newException(ValueError, "No implementation available")

method viewDidLoad*(self: AccessInterface) {.base.} =
raise newException(ValueError, "No implementation available")

Expand Down
6 changes: 3 additions & 3 deletions src/app/modules/main/wallet_section/all_tokens/controller.nim
Original file line number Diff line number Diff line change
Expand Up @@ -35,13 +35,13 @@ proc init*(self: Controller) =
let args = TokenBalanceHistoryDataArgs(e)
self.delegate.tokenBalanceHistoryDataResolved(args.result)

method findTokenSymbolByAddress*(self: Controller, address: string): string =
proc findTokenSymbolByAddress*(self: Controller, address: string): string =
return self.walletAccountService.findTokenSymbolByAddress(address)

method getHistoricalDataForToken*(self: Controller, symbol: string, currency: string, range: int) =
proc getHistoricalDataForToken*(self: Controller, symbol: string, currency: string, range: int) =
self.tokenService.getHistoricalDataForToken(symbol, currency, range)

method fetchHistoricalBalanceForTokenAsJson*(self: Controller, address: string, tokenSymbol: string, currencySymbol: string, timeIntervalEnum: int) =
proc fetchHistoricalBalanceForTokenAsJson*(self: Controller, address: string, tokenSymbol: string, currencySymbol: string, timeIntervalEnum: int) =
self.tokenService.fetchHistoricalBalanceForTokenAsJson(address, tokenSymbol, currencySymbol, BalanceHistoryTimeInterval(timeIntervalEnum))

proc getSourcesOfTokensList*(self: Controller): var seq[SupportedSourcesItem] =
Expand Down
6 changes: 3 additions & 3 deletions src/app/modules/main/wallet_section/all_tokens/module.nim
Original file line number Diff line number Diff line change
Expand Up @@ -74,13 +74,13 @@ method fetchHistoricalBalanceForTokenAsJson*(self: Module, address: string, toke
method tokenBalanceHistoryDataResolved*(self: Module, balanceHistoryJson: string) =
self.view.setTokenBalanceHistoryDataReady(balanceHistoryJson)

method getFlatTokensList*(self: Module): var seq[TokenItem] =
proc getFlatTokensList*(self: Module): var seq[TokenItem] =
return self.controller.getFlatTokensList()

method getTokenBySymbolList*(self: Module): var seq[TokenBySymbolItem] =
proc getTokenBySymbolList*(self: Module): var seq[TokenBySymbolItem] =
return self.controller.getTokenBySymbolList()

method getSourcesOfTokensList*(self: Module): var seq[SupportedSourcesItem] =
proc getSourcesOfTokensList*(self: Module): var seq[SupportedSourcesItem] =
return self.controller.getSourcesOfTokensList()

# Interfaces for getting lists from the service files into the abstract models
Expand Down
2 changes: 1 addition & 1 deletion src/app/modules/main/wallet_section/module.nim
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,7 @@ method setTotalCurrencyBalance*(self: Module) =
var addresses = walletAccounts.filter(a => not a.hideFromTotalBalance).map(a => a.address)
self.view.setTotalCurrencyBalance(self.controller.getCurrencyBalance(addresses))

method notifyFilterChanged(self: Module) =
proc notifyFilterChanged(self: Module) =
self.overviewModule.filterChanged(self.filter.addresses, self.filter.chainIds, self.filter.allAddresses)
self.assetsModule.filterChanged(self.filter.addresses, self.filter.chainIds)
self.accountsModule.filterChanged(self.filter.addresses, self.filter.chainIds)
Expand Down
2 changes: 1 addition & 1 deletion src/app/modules/main/wallet_section/networks/module.nim
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ method load*(self: Module) =
method isLoaded*(self: Module): bool =
return self.moduleLoaded

method areTestNetworksEnabled*(self: Module): bool =
proc areTestNetworksEnabled*(self: Module): bool =
return self.controller.areTestNetworksEnabled()

proc checkIfModuleDidLoad(self: Module) =
Expand Down
Loading

0 comments on commit a2e8655

Please sign in to comment.