]> git.codecow.com Git - libnemo.git/commitdiff
Fix bugs in data transfer to workers.
authorChris Duncan <chris@zoso.dev>
Fri, 18 Jul 2025 06:31:44 +0000 (23:31 -0700)
committerChris Duncan <chris@zoso.dev>
Fri, 18 Jul 2025 06:31:44 +0000 (23:31 -0700)
src/lib/account.ts
src/lib/wallets/wallet.ts
src/lib/workers/safe.ts

index 3044ea15893fd1088eb16ea9c18dded71291dcbc..3fd4b0608e013a64cca1033a1c6c61d205e947b3 100644 (file)
@@ -429,7 +429,7 @@ export class Account {
        static #isKeyPairs (input: unknown): input is KeyPair[] {\r
                if (Array.isArray(input)) {\r
                        for (const i of input) {\r
-                               if (typeof input !== 'object') {\r
+                               if (typeof i !== 'object') {\r
                                        return false\r
                                }\r
                                const obj = i as { [key: string]: unknown }\r
index 166ede5f5381eb062ab1a261c760be7b5479c2b3..fa46e43fbf9ff021bdc3166e6f5628393452ae91 100644 (file)
@@ -171,11 +171,11 @@ export abstract class Wallet {
                        const encoded = utf8.toBytes(serialized)\r
                        const headers = {\r
                                method: 'set',\r
-                               store: 'Wallet',\r
-                               password: new Uint8Array(password).buffer\r
+                               store: 'Wallet'\r
                        }\r
                        const data: Data = {\r
-                               [this.id]: encoded.buffer\r
+                               [this.id]: encoded.buffer,\r
+                               password: password.buffer\r
                        }\r
                        const success = await SafeWorker.assign(headers, data)\r
                        if (!success) {\r
@@ -237,9 +237,11 @@ export abstract class Wallet {
                                method: 'get',\r
                                name: this.id,\r
                                store: 'Wallet',\r
-                               password: new Uint8Array(password).buffer\r
                        }\r
-                       const response = await SafeWorker.assign(headers)\r
+                       const data = {\r
+                               password: password.buffer\r
+                       }\r
+                       const response = await SafeWorker.assign(headers, data)\r
                        const decoded = bytes.toUtf8(response[this.id])\r
                        const deserialized = JSON.parse(decoded)\r
                        let { id, mnemonic, seed } = deserialized\r
index 44ea2f464adcfb516ca9ba280af9daf16a19ce6b..a94d5eb28137a9420e2499572d550a637339639a 100644 (file)
@@ -22,9 +22,13 @@ export class Safe extends WorkerInterface {
        }
 
        static async work (headers: Headers, data: Data): Promise<any> {
+               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 {