From: Chris Duncan Date: Fri, 18 Jul 2025 06:31:44 +0000 (-0700) Subject: Fix bugs in data transfer to workers. X-Git-Tag: v0.10.5~56^2~6 X-Git-Url: https://git.codecow.com/?a=commitdiff_plain;h=61293205394d8dbefcb4ba92500b8e4dfa5d29dd;p=libnemo.git Fix bugs in data transfer to workers. --- diff --git a/src/lib/account.ts b/src/lib/account.ts index 3044ea1..3fd4b06 100644 --- a/src/lib/account.ts +++ b/src/lib/account.ts @@ -429,7 +429,7 @@ export class Account { static #isKeyPairs (input: unknown): input is KeyPair[] { if (Array.isArray(input)) { for (const i of input) { - if (typeof input !== 'object') { + if (typeof i !== 'object') { return false } const obj = i as { [key: string]: unknown } diff --git a/src/lib/wallets/wallet.ts b/src/lib/wallets/wallet.ts index 166ede5..fa46e43 100644 --- a/src/lib/wallets/wallet.ts +++ b/src/lib/wallets/wallet.ts @@ -171,11 +171,11 @@ export abstract class Wallet { const encoded = utf8.toBytes(serialized) const headers = { method: 'set', - store: 'Wallet', - password: new Uint8Array(password).buffer + store: 'Wallet' } const data: Data = { - [this.id]: encoded.buffer + [this.id]: encoded.buffer, + password: password.buffer } const success = await SafeWorker.assign(headers, data) if (!success) { @@ -237,9 +237,11 @@ export abstract class Wallet { method: 'get', name: this.id, store: 'Wallet', - password: new Uint8Array(password).buffer } - const response = await SafeWorker.assign(headers) + const data = { + password: password.buffer + } + const response = await SafeWorker.assign(headers, data) const decoded = bytes.toUtf8(response[this.id]) const deserialized = JSON.parse(decoded) let { id, mnemonic, seed } = deserialized diff --git a/src/lib/workers/safe.ts b/src/lib/workers/safe.ts index 44ea2f4..a94d5eb 100644 --- a/src/lib/workers/safe.ts +++ b/src/lib/workers/safe.ts @@ -22,9 +22,13 @@ export class Safe extends WorkerInterface { } static async work (headers: Headers, data: Data): Promise { + console.warn('data 1', data) const { method, name, store } = headers const { password } = data + console.warn('password 1', password) delete data.password + console.warn('data 2', data) + console.warn('password 2', password) this.#storage = await this.#open(this.DB_NAME) let result try {