From: Chris Duncan Date: Thu, 30 Apr 2026 19:36:58 +0000 (-0700) Subject: Reorganization. X-Git-Url: https://git.codecow.com/?a=commitdiff_plain;h=9154361a1b12ccadabba493b1b961508f4a81962;p=libnemo.git Reorganization. --- diff --git a/src/lib/wallet/sign.ts b/src/lib/wallet/sign.ts index 96eb6e9..5b5d000 100644 --- a/src/lib/wallet/sign.ts +++ b/src/lib/wallet/sign.ts @@ -7,39 +7,6 @@ import { Ledger } from '../ledger' import { Vault } from '../vault' import { Wallet } from '../wallet' -export async function _signData (wallet: Wallet, vault: Vault, index: number, address: string, data: string | string[]): Promise -export async function _signData (wallet: Wallet, vault: Vault, index: unknown, address: unknown, data: unknown): Promise { - try { - if (typeof index !== 'number') { - throw new TypeError('Index must be a number', { cause: index }) - } - if (typeof address !== 'string') { - throw new TypeError('Address must be a string', { cause: address }) - } - const message = Array.isArray(data) ? data : [data] - if (message.some(s => typeof s !== 'string')) { - throw new TypeError('Data to sign must be strings', { cause: data }) - } - if (wallet.type === 'Ledger') { - return await Ledger.sign(index, message[0]) - } - if (navigator.userActivation?.isActive === false) { - throw new DOMException( - 'Signing request was blocked due to lack of user activation', - 'NotAllowedError' - ) - } - const { signature } = await vault.request({ - action: 'sign', - index, - message: utf8.toBuffer(message.join('')) - }) - return bytes.toHex(new Uint8Array(signature)) - } catch (err) { - throw new Error('Failed to sign data', { cause: err }) - } -} - export async function _signBlock (wallet: Wallet, vault: Vault, index: number, address: string, block: Block, frontier?: Block): Promise export async function _signBlock (wallet: Wallet, vault: Vault, index: unknown, address: unknown, block: unknown, frontier?: unknown): Promise { try { @@ -79,3 +46,36 @@ export async function _signBlock (wallet: Wallet, vault: Vault, index: unknown, throw new Error(`Failed to sign block`, { cause: err }) } } + +export async function _signData (wallet: Wallet, vault: Vault, index: number, address: string, data: string | string[]): Promise +export async function _signData (wallet: Wallet, vault: Vault, index: unknown, address: unknown, data: unknown): Promise { + try { + if (typeof index !== 'number') { + throw new TypeError('Index must be a number', { cause: index }) + } + if (typeof address !== 'string') { + throw new TypeError('Address must be a string', { cause: address }) + } + const message = Array.isArray(data) ? data : [data] + if (message.some(s => typeof s !== 'string')) { + throw new TypeError('Data to sign must be strings', { cause: data }) + } + if (wallet.type === 'Ledger') { + return await Ledger.sign(index, message[0]) + } + if (navigator.userActivation?.isActive === false) { + throw new DOMException( + 'Signing request was blocked due to lack of user activation', + 'NotAllowedError' + ) + } + const { signature } = await vault.request({ + action: 'sign', + index, + message: utf8.toBuffer(message.join('')) + }) + return bytes.toHex(new Uint8Array(signature)) + } catch (err) { + throw new Error('Failed to sign data', { cause: err }) + } +}