feat(@general): lower case password
This commit is contained in:
parent
277de1b544
commit
5a8bc256b3
|
@ -1,4 +0,0 @@
|
||||||
import nimcrypto
|
|
||||||
|
|
||||||
proc hashString*(text: string): string =
|
|
||||||
result = "0x" & $keccak_256.digest(text)
|
|
|
@ -10,8 +10,18 @@ const ETH_DOMAIN* = ".eth"
|
||||||
proc arrayContains*[T](arr: seq[T], value: T): bool =
|
proc arrayContains*[T](arr: seq[T], value: T): bool =
|
||||||
return arr.any(x => x == value)
|
return arr.any(x => x == value)
|
||||||
|
|
||||||
proc hashPassword*(password: string): string =
|
proc hashPassword*(password: string, lower: bool = true): string =
|
||||||
result = "0x" & $keccak_256.digest(password)
|
let hashed = "0x" & $keccak_256.digest(password)
|
||||||
|
|
||||||
|
if lower:
|
||||||
|
return hashed.toLowerAscii()
|
||||||
|
|
||||||
|
return hashed
|
||||||
|
|
||||||
|
proc prefix*(methodName: string, isExt:bool = true): string =
|
||||||
|
result = "waku"
|
||||||
|
result = result & (if isExt: "ext_" else: "_")
|
||||||
|
result = result & methodName
|
||||||
|
|
||||||
proc generateSigningPhrase*(count: int): string =
|
proc generateSigningPhrase*(count: int): string =
|
||||||
let now = getTime()
|
let now = getTime()
|
||||||
|
|
|
@ -7,12 +7,13 @@ import ./dto/generated_accounts as dto_generated_accounts
|
||||||
from ../keycard/service import KeycardEvent, KeyDetails
|
from ../keycard/service import KeycardEvent, KeyDetails
|
||||||
import ../../../backend/general as status_general
|
import ../../../backend/general as status_general
|
||||||
import ../../../backend/core as status_core
|
import ../../../backend/core as status_core
|
||||||
|
import ../../../backend/privacy as status_privacy
|
||||||
|
|
||||||
import ../../../app/core/eventemitter
|
import ../../../app/core/eventemitter
|
||||||
import ../../../app/core/signals/types
|
import ../../../app/core/signals/types
|
||||||
import ../../../app/core/tasks/[qt, threadpool]
|
import ../../../app/core/tasks/[qt, threadpool]
|
||||||
import ../../../app/core/fleets/fleet_configuration
|
import ../../../app/core/fleets/fleet_configuration
|
||||||
import ../../common/[account_constants, network_constants, utils, string_utils]
|
import ../../common/[account_constants, network_constants, utils]
|
||||||
import ../../../constants as main_constants
|
import ../../../constants as main_constants
|
||||||
|
|
||||||
import ../settings/dto/settings as settings
|
import ../settings/dto/settings as settings
|
||||||
|
@ -377,7 +378,7 @@ QtObject:
|
||||||
error "error: ", procName="setupAccount", errDesription = description
|
error "error: ", procName="setupAccount", errDesription = description
|
||||||
return description
|
return description
|
||||||
|
|
||||||
let hashedPassword = hashString(password)
|
let hashedPassword = hashPassword(password)
|
||||||
discard self.storeAccount(accountId, hashedPassword)
|
discard self.storeAccount(accountId, hashedPassword)
|
||||||
discard self.storeDerivedAccounts(accountId, hashedPassword, PATHS)
|
discard self.storeDerivedAccounts(accountId, hashedPassword, PATHS)
|
||||||
self.loggedInAccount = self.saveAccountAndLogin(hashedPassword,
|
self.loggedInAccount = self.saveAccountAndLogin(hashedPassword,
|
||||||
|
@ -549,9 +550,35 @@ QtObject:
|
||||||
error "error: ", procName="importMnemonic", errName = e.name, errDesription = e.msg
|
error "error: ", procName="importMnemonic", errName = e.name, errDesription = e.msg
|
||||||
return e.msg
|
return e.msg
|
||||||
|
|
||||||
|
proc verifyAccountPassword*(self: Service, account: string, password: string): bool =
|
||||||
|
try:
|
||||||
|
let response = status_account.verifyAccountPassword(account, password, self.keyStoreDir)
|
||||||
|
if(response.result.contains("error")):
|
||||||
|
let errMsg = response.result["error"].getStr
|
||||||
|
if(errMsg.len == 0):
|
||||||
|
return true
|
||||||
|
else:
|
||||||
|
error "error: ", procName="verifyAccountPassword", errDesription = errMsg
|
||||||
|
return false
|
||||||
|
except Exception as e:
|
||||||
|
error "error: ", procName="verifyAccountPassword", errName = e.name, errDesription = e.msg
|
||||||
|
|
||||||
|
proc verifyDatabasePassword*(self: Service, keyuid: string, hashedPassword: string): bool =
|
||||||
|
try:
|
||||||
|
let response = status_account.verifyDatabasePassword(keyuid, hashedPassword)
|
||||||
|
if(response.result.contains("error")):
|
||||||
|
let errMsg = response.result["error"].getStr
|
||||||
|
if(errMsg.len == 0):
|
||||||
|
return true
|
||||||
|
else:
|
||||||
|
error "error: ", procName="verifyDatabasePassword", errDesription = errMsg
|
||||||
|
return false
|
||||||
|
except Exception as e:
|
||||||
|
error "error: ", procName="verifyDatabasePassword", errName = e.name, errDesription = e.msg
|
||||||
|
|
||||||
proc login*(self: Service, account: AccountDto, password: string): string =
|
proc login*(self: Service, account: AccountDto, password: string): string =
|
||||||
try:
|
try:
|
||||||
let hashedPassword = hashString(password)
|
let hashedPassword = hashPassword(password)
|
||||||
var thumbnailImage: string
|
var thumbnailImage: string
|
||||||
var largeImage: string
|
var largeImage: string
|
||||||
for img in account.images:
|
for img in account.images:
|
||||||
|
@ -615,17 +642,21 @@ QtObject:
|
||||||
"DiscV5BootstrapNodes": @[]
|
"DiscV5BootstrapNodes": @[]
|
||||||
}
|
}
|
||||||
|
|
||||||
let response = status_account.login(account.name, account.keyUid, account.kdfIterations, hashedPassword, thumbnailImage,
|
|
||||||
largeImage, $nodeCfg)
|
let isOldHashPassword = self.verifyDatabasePassword(account.keyUid, hashPassword(password, lower=false))
|
||||||
var error = "response doesn't contain \"error\""
|
if isOldHashPassword:
|
||||||
if(response.result.contains("error")):
|
discard status_privacy.lowerDatabasePassword(account.keyUid, password)
|
||||||
error = response.result["error"].getStr
|
|
||||||
if error == "":
|
let response = status_account.login(
|
||||||
|
account.name, account.keyUid, account.kdfIterations, hashedPassword, thumbnailImage, largeImage, $nodeCfg
|
||||||
|
)
|
||||||
|
if response.result{"error"}.getStr == "":
|
||||||
debug "Account logged in"
|
debug "Account logged in"
|
||||||
self.loggedInAccount = account
|
self.loggedInAccount = account
|
||||||
self.setLocalAccountSettingsFile()
|
self.setLocalAccountSettingsFile()
|
||||||
|
return ""
|
||||||
|
|
||||||
return error
|
return response.result{"error"}.getStr
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
error "error: ", procName="login", errName = e.name, errDesription = e.msg
|
error "error: ", procName="login", errName = e.name, errDesription = e.msg
|
||||||
|
@ -661,20 +692,6 @@ QtObject:
|
||||||
error "error: ", procName="loginAccountKeycard", errName = e.name, errDesription = e.msg
|
error "error: ", procName="loginAccountKeycard", errName = e.name, errDesription = e.msg
|
||||||
return e.msg
|
return e.msg
|
||||||
|
|
||||||
proc verifyAccountPassword*(self: Service, account: string, password: string): bool =
|
|
||||||
try:
|
|
||||||
let response = status_account.verifyAccountPassword(account, password, self.keyStoreDir)
|
|
||||||
if(response.result.contains("error")):
|
|
||||||
let errMsg = response.result["error"].getStr
|
|
||||||
if(errMsg.len == 0):
|
|
||||||
return true
|
|
||||||
else:
|
|
||||||
error "error: ", procName="verifyAccountPassword", errDesription = errMsg
|
|
||||||
return false
|
|
||||||
except Exception as e:
|
|
||||||
error "error: ", procName="verifyAccountPassword", errName = e.name, errDesription = e.msg
|
|
||||||
|
|
||||||
|
|
||||||
proc convertToKeycardAccount*(self: Service, currentPassword: string, newPassword: string) =
|
proc convertToKeycardAccount*(self: Service, currentPassword: string, newPassword: string) =
|
||||||
var accountDataJson = %* {
|
var accountDataJson = %* {
|
||||||
"key-uid": self.getLoggedInAccount().keyUid,
|
"key-uid": self.getLoggedInAccount().keyUid,
|
||||||
|
@ -689,7 +706,7 @@ QtObject:
|
||||||
error "error: ", procName="convertToKeycardAccount", errDesription = description
|
error "error: ", procName="convertToKeycardAccount", errDesription = description
|
||||||
return
|
return
|
||||||
|
|
||||||
let hashedCurrentPassword = hashString(currentPassword)
|
let hashedCurrentPassword = hashPassword(currentPassword)
|
||||||
let arg = ConvertToKeycardAccountTaskArg(
|
let arg = ConvertToKeycardAccountTaskArg(
|
||||||
tptr: cast[ByteAddress](convertToKeycardAccountTask),
|
tptr: cast[ByteAddress](convertToKeycardAccountTask),
|
||||||
vptr: cast[ByteAddress](self.vptr),
|
vptr: cast[ByteAddress](self.vptr),
|
||||||
|
@ -718,7 +735,7 @@ QtObject:
|
||||||
self.events.emit(SIGNAL_CONVERTING_PROFILE_KEYPAIR, ResultArgs(success: result))
|
self.events.emit(SIGNAL_CONVERTING_PROFILE_KEYPAIR, ResultArgs(success: result))
|
||||||
|
|
||||||
proc convertToRegularAccount*(self: Service, mnemonic: string, currentPassword: string, newPassword: string): string =
|
proc convertToRegularAccount*(self: Service, mnemonic: string, currentPassword: string, newPassword: string): string =
|
||||||
let hashedPassword = hashString(newPassword)
|
let hashedPassword = hashPassword(newPassword)
|
||||||
try:
|
try:
|
||||||
let response = status_account.convertToRegularAccount(mnemonic, currentPassword, hashedPassword)
|
let response = status_account.convertToRegularAccount(mnemonic, currentPassword, hashedPassword)
|
||||||
var errMsg = ""
|
var errMsg = ""
|
||||||
|
@ -733,7 +750,7 @@ QtObject:
|
||||||
|
|
||||||
proc verifyPassword*(self: Service, password: string): bool =
|
proc verifyPassword*(self: Service, password: string): bool =
|
||||||
try:
|
try:
|
||||||
let hashedPassword = hashString(password)
|
let hashedPassword = hashPassword(password)
|
||||||
let response = status_account.verifyPassword(hashedPassword)
|
let response = status_account.verifyPassword(hashedPassword)
|
||||||
return response.result.getBool
|
return response.result.getBool
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
|
|
@ -6,7 +6,7 @@ import ../settings/service as settings_service
|
||||||
import ../accounts/service as accounts_service
|
import ../accounts/service as accounts_service
|
||||||
import ../token/service as token_service
|
import ../token/service as token_service
|
||||||
import ../network/service as network_service
|
import ../network/service as network_service
|
||||||
import ../../common/[account_constants, string_utils]
|
import ../../common/[account_constants, utils]
|
||||||
import ../../../app/global/global_singleton
|
import ../../../app/global/global_singleton
|
||||||
|
|
||||||
import dto, derived_address, key_pair_dto
|
import dto, derived_address, key_pair_dto
|
||||||
|
@ -317,7 +317,7 @@ QtObject:
|
||||||
derivedFrom)
|
derivedFrom)
|
||||||
else:
|
else:
|
||||||
discard backend.generateAccountWithDerivedPath(
|
discard backend.generateAccountWithDerivedPath(
|
||||||
hashPassword(password),
|
utils.hashPassword(password),
|
||||||
accountName,
|
accountName,
|
||||||
color,
|
color,
|
||||||
emoji,
|
emoji,
|
||||||
|
@ -341,7 +341,7 @@ QtObject:
|
||||||
else:
|
else:
|
||||||
discard backend.addAccountWithPrivateKey(
|
discard backend.addAccountWithPrivateKey(
|
||||||
privateKey,
|
privateKey,
|
||||||
hashPassword(password),
|
utils.hashPassword(password),
|
||||||
accountName,
|
accountName,
|
||||||
color,
|
color,
|
||||||
emoji)
|
emoji)
|
||||||
|
@ -365,7 +365,7 @@ QtObject:
|
||||||
else:
|
else:
|
||||||
discard backend.addAccountWithMnemonicAndPath(
|
discard backend.addAccountWithMnemonicAndPath(
|
||||||
mnemonic,
|
mnemonic,
|
||||||
hashPassword(password),
|
utils.hashPassword(password),
|
||||||
accountName,
|
accountName,
|
||||||
color,
|
color,
|
||||||
emoji,
|
emoji,
|
||||||
|
@ -393,7 +393,7 @@ QtObject:
|
||||||
try:
|
try:
|
||||||
var hashedPassword = ""
|
var hashedPassword = ""
|
||||||
if password.len > 0:
|
if password.len > 0:
|
||||||
hashedPassword = hashString(password)
|
hashedPassword = utils.hashPassword(password)
|
||||||
discard status_go_accounts.deleteAccount(address, hashedPassword)
|
discard status_go_accounts.deleteAccount(address, hashedPassword)
|
||||||
let accountDeleted = self.removeAccount(address)
|
let accountDeleted = self.removeAccount(address)
|
||||||
self.events.emit(SIGNAL_WALLET_ACCOUNT_DELETED, AccountDeleted(account: accountDeleted))
|
self.events.emit(SIGNAL_WALLET_ACCOUNT_DELETED, AccountDeleted(account: accountDeleted))
|
||||||
|
@ -433,7 +433,7 @@ QtObject:
|
||||||
|
|
||||||
proc getDerivedAddress*(self: Service, password: string, derivedFrom: string, path: string, hashPassword: bool)=
|
proc getDerivedAddress*(self: Service, password: string, derivedFrom: string, path: string, hashPassword: bool)=
|
||||||
let arg = GetDerivedAddressTaskArg(
|
let arg = GetDerivedAddressTaskArg(
|
||||||
password: if hashPassword: hashPassword(password) else: password,
|
password: if hashPassword: utils.hashPassword(password) else: password,
|
||||||
derivedFrom: derivedFrom,
|
derivedFrom: derivedFrom,
|
||||||
path: path,
|
path: path,
|
||||||
tptr: cast[ByteAddress](getDerivedAddressTask),
|
tptr: cast[ByteAddress](getDerivedAddressTask),
|
||||||
|
@ -444,7 +444,7 @@ QtObject:
|
||||||
|
|
||||||
proc getDerivedAddressList*(self: Service, password: string, derivedFrom: string, path: string, pageSize: int, pageNumber: int, hashPassword: bool)=
|
proc getDerivedAddressList*(self: Service, password: string, derivedFrom: string, path: string, pageSize: int, pageNumber: int, hashPassword: bool)=
|
||||||
let arg = GetDerivedAddressesTaskArg(
|
let arg = GetDerivedAddressesTaskArg(
|
||||||
password: if hashPassword: hashPassword(password) else: password,
|
password: if hashPassword: utils.hashPassword(password) else: password,
|
||||||
derivedFrom: derivedFrom,
|
derivedFrom: derivedFrom,
|
||||||
path: path,
|
path: path,
|
||||||
pageSize: pageSize,
|
pageSize: pageSize,
|
||||||
|
@ -604,7 +604,7 @@ QtObject:
|
||||||
# in some contexts we just need to add keypair to the db, so password is not needed.
|
# in some contexts we just need to add keypair to the db, so password is not needed.
|
||||||
var hashedPassword = ""
|
var hashedPassword = ""
|
||||||
if password.len > 0:
|
if password.len > 0:
|
||||||
hashedPassword = hashString(password)
|
hashedPassword = utils.hashPassword(password)
|
||||||
let arg = AddMigratedKeyPairTaskArg(
|
let arg = AddMigratedKeyPairTaskArg(
|
||||||
tptr: cast[ByteAddress](addMigratedKeyPairTask),
|
tptr: cast[ByteAddress](addMigratedKeyPairTask),
|
||||||
vptr: cast[ByteAddress](self.vptr),
|
vptr: cast[ByteAddress](self.vptr),
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import json, json_serialization, chronicles, strutils
|
import json, json_serialization, chronicles, strutils
|
||||||
import ./core, ./utils
|
import ./core, ../app_service/common/utils
|
||||||
import ./response_type
|
import ./response_type
|
||||||
|
|
||||||
import status_go
|
import status_go
|
||||||
|
@ -300,6 +300,16 @@ proc verifyAccountPassword*(address: string, password: string, keystoreDir: stri
|
||||||
error "error doing rpc request", methodName = "verifyAccountPassword", exception=e.msg
|
error "error doing rpc request", methodName = "verifyAccountPassword", exception=e.msg
|
||||||
raise newException(RpcException, e.msg)
|
raise newException(RpcException, e.msg)
|
||||||
|
|
||||||
|
proc verifyDatabasePassword*(keyuid: string, hashedPassword: string):
|
||||||
|
RpcResponse[JsonNode] {.raises: [Exception].} =
|
||||||
|
try:
|
||||||
|
let response = status_go.verifyDatabasePassword(keyuid, hashedPassword)
|
||||||
|
result.result = Json.decode(response, JsonNode)
|
||||||
|
|
||||||
|
except RpcException as e:
|
||||||
|
error "error doing rpc request", methodName = "verifyDatabasePassword", exception=e.msg
|
||||||
|
raise newException(RpcException, e.msg)
|
||||||
|
|
||||||
proc storeIdentityImage*(keyUID: string, imagePath: string, aX, aY, bX, bY: int):
|
proc storeIdentityImage*(keyUID: string, imagePath: string, aX, aY, bX, bY: int):
|
||||||
RpcResponse[JsonNode] {.raises: [Exception].} =
|
RpcResponse[JsonNode] {.raises: [Exception].} =
|
||||||
let payload = %* [keyUID, imagePath, aX, aY, bX, bY]
|
let payload = %* [keyUID, imagePath, aX, aY, bX, bY]
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import json
|
import json
|
||||||
import core, utils
|
import core, ../app_service/common/utils
|
||||||
import response_type
|
import response_type
|
||||||
import ./backend
|
import ./backend
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import json, sequtils, sugar, strutils
|
import json, sequtils, sugar, strutils
|
||||||
import core, utils
|
import core, ../app_service/common/utils
|
||||||
import response_type
|
import response_type
|
||||||
import interpret/cropped_image
|
import interpret/cropped_image
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import json
|
import json
|
||||||
import core, utils
|
import core, ../app_service/common/utils
|
||||||
import response_type
|
import response_type
|
||||||
|
|
||||||
proc acceptRequestAddressForTransaction*(messageId: string, address: string): RpcResponse[JsonNode] {.raises: [Exception].} =
|
proc acceptRequestAddressForTransaction*(messageId: string, address: string): RpcResponse[JsonNode] {.raises: [Exception].} =
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import json, strutils
|
import json, strutils
|
||||||
import core, utils
|
import core, ../app_service/common/utils
|
||||||
import response_type
|
import response_type
|
||||||
|
|
||||||
import interpret/cropped_image
|
import interpret/cropped_image
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import json
|
import json
|
||||||
import ./eth
|
import ./eth
|
||||||
import ./utils
|
import ../app_service/common/utils
|
||||||
import ./core, ./response_type
|
import ./core, ./response_type
|
||||||
|
|
||||||
proc deployCollectibles*(chainId: int, deploymentParams: JsonNode, txData: JsonNode, password: string): RpcResponse[JsonNode] {.raises: [Exception].} =
|
proc deployCollectibles*(chainId: int, deploymentParams: JsonNode, txData: JsonNode, password: string): RpcResponse[JsonNode] {.raises: [Exception].} =
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import json, strmisc
|
import json, strmisc
|
||||||
import core, utils
|
import core, ../app_service/common/utils
|
||||||
import response_type
|
import response_type
|
||||||
|
|
||||||
export response_type
|
export response_type
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import json
|
import json
|
||||||
import ./core, ./response_type
|
import ./core, ./response_type
|
||||||
import ./utils
|
import ../app_service/common/utils
|
||||||
export response_type
|
export response_type
|
||||||
|
|
||||||
proc getEnsUsernames*(): RpcResponse[JsonNode] {.raises: [Exception].} =
|
proc getEnsUsernames*(): RpcResponse[JsonNode] {.raises: [Exception].} =
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import json, strutils, json_serialization, chronicles
|
import json, strutils, json_serialization, chronicles
|
||||||
import core, utils
|
import core, ../app_service/common/utils
|
||||||
import response_type
|
import response_type
|
||||||
|
|
||||||
import status_go
|
import status_go
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import json
|
import json
|
||||||
import core, utils
|
import core, ../app_service/common/utils
|
||||||
import response_type
|
import response_type
|
||||||
|
|
||||||
export response_type
|
export response_type
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import json, chronicles
|
import json, chronicles
|
||||||
import core, utils
|
import core, ../app_service/common/utils
|
||||||
import response_type
|
import response_type
|
||||||
|
|
||||||
export response_type
|
export response_type
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import json
|
import json
|
||||||
import core, utils
|
import core, ../app_service/common/utils
|
||||||
import response_type
|
import response_type
|
||||||
|
|
||||||
export response_type
|
export response_type
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import json
|
import json
|
||||||
import core, utils
|
import core, ../app_service/common/utils
|
||||||
import response_type
|
import response_type
|
||||||
|
|
||||||
export response_type
|
export response_type
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import json, json_serialization, chronicles
|
import json, json_serialization, chronicles
|
||||||
import ./core
|
import ./core
|
||||||
import ./response_type
|
import ./response_type
|
||||||
import utils
|
import ../app_service/common/utils
|
||||||
|
|
||||||
import status_go
|
import status_go
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import json, json_serialization, chronicles
|
import json, json_serialization, chronicles
|
||||||
import core, utils
|
import core, ../app_service/common/utils
|
||||||
import response_type
|
import response_type
|
||||||
|
|
||||||
import status_go
|
import status_go
|
||||||
|
@ -20,6 +20,18 @@ proc changeDatabasePassword*(keyUID: string, password: string, newPassword: stri
|
||||||
error "error", methodName = "changeDatabasePassword", exception=e.msg
|
error "error", methodName = "changeDatabasePassword", exception=e.msg
|
||||||
raise newException(RpcException, e.msg)
|
raise newException(RpcException, e.msg)
|
||||||
|
|
||||||
|
proc lowerDatabasePassword*(keyUID: string, password: string): RpcResponse[JsonNode]
|
||||||
|
{.raises: [Exception].} =
|
||||||
|
try:
|
||||||
|
let hashedPassword = hashPassword(password, lower=false)
|
||||||
|
let hashedNewPassword = hashPassword(password)
|
||||||
|
let response = status_go.changeDatabasePassword(keyUID, hashedPassword, hashedNewPassword)
|
||||||
|
result.result = Json.decode(response, JsonNode)
|
||||||
|
except RpcException as e:
|
||||||
|
error "error", methodName = "lowerDatabasePassword", exception=e.msg
|
||||||
|
raise newException(RpcException, e.msg)
|
||||||
|
|
||||||
|
|
||||||
proc getLinkPreviewWhitelist*(): RpcResponse[JsonNode] {.raises: [Exception].} =
|
proc getLinkPreviewWhitelist*(): RpcResponse[JsonNode] {.raises: [Exception].} =
|
||||||
let payload = %* []
|
let payload = %* []
|
||||||
result = callPrivateRPC("getLinkPreviewWhitelist".prefix, payload)
|
result = callPrivateRPC("getLinkPreviewWhitelist".prefix, payload)
|
|
@ -1,5 +1,5 @@
|
||||||
import json, json_serialization, chronicles
|
import json, json_serialization, chronicles
|
||||||
import ./utils
|
import ../app_service/common/utils
|
||||||
import ./core
|
import ./core
|
||||||
|
|
||||||
logScope:
|
logScope:
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import json
|
import json
|
||||||
import ./eth
|
import ./eth
|
||||||
import ./utils
|
import ../app_service/common/utils
|
||||||
import ./core, ./response_type
|
import ./core, ./response_type
|
||||||
import web3/[ethtypes, conversions]
|
import web3/[ethtypes, conversions]
|
||||||
|
|
||||||
|
|
|
@ -1,12 +0,0 @@
|
||||||
import nimcrypto
|
|
||||||
|
|
||||||
proc isWakuEnabled(): bool =
|
|
||||||
true # TODO:
|
|
||||||
|
|
||||||
proc prefix*(methodName: string, isExt:bool = true): string =
|
|
||||||
result = if isWakuEnabled(): "waku" else: "shh"
|
|
||||||
result = result & (if isExt: "ext_" else: "_")
|
|
||||||
result = result & methodName
|
|
||||||
|
|
||||||
proc hashPassword*(password: string): string =
|
|
||||||
result = "0x" & $keccak_256.digest(password)
|
|
|
@ -1 +1 @@
|
||||||
Subproject commit 8fed87fe272c4b49008cd7cc5950a96cd0751966
|
Subproject commit 4d2d359aec6a9db5fb684c97ebd52b82065d60f3
|
|
@ -1 +1 @@
|
||||||
Subproject commit 1d1a95091df0197199ea502aae24c823faf9b989
|
Subproject commit c786528965e4537dcf1fd7deea773bd9f3d99bbd
|
Loading…
Reference in New Issue