From 10ab8660504a8fa8e4b43fc9bd99c1025e84c8fe Mon Sep 17 00:00:00 2001 From: Chris Duncan Date: Mon, 4 Aug 2025 14:49:24 -0700 Subject: [PATCH] Adjust default exports used in Safe worker to allow easier import. --- src/lib/bip39-wordlist.ts | 2 ++ src/lib/constants.ts | 26 ++++++++++++++++++++++++++ src/lib/convert.ts | 1 - src/lib/safe.ts | 8 ++++---- 4 files changed, 32 insertions(+), 5 deletions(-) diff --git a/src/lib/bip39-wordlist.ts b/src/lib/bip39-wordlist.ts index 7c78594..c57e5b0 100644 --- a/src/lib/bip39-wordlist.ts +++ b/src/lib/bip39-wordlist.ts @@ -2054,3 +2054,5 @@ export const Bip39Words: readonly string[] = Object.freeze([ 'zone', 'zoo' ]) + +export default JSON.stringify(Bip39Words) diff --git a/src/lib/constants.ts b/src/lib/constants.ts index be56b4a..d1b0b58 100644 --- a/src/lib/constants.ts +++ b/src/lib/constants.ts @@ -58,3 +58,29 @@ export const UNITS: { [key: string]: number } = Object.freeze({ KNANO: 33, MNANO: 36 }) + +export default ` + const ACCOUNT_KEY_BYTE_LENGTH = ${ACCOUNT_KEY_BYTE_LENGTH} + const ACCOUNT_KEY_HEX_LENGTH = ${ACCOUNT_KEY_HEX_LENGTH} + const ADDRESS_GAP = ${ADDRESS_GAP} + const ALPHABET = '${ALPHABET}' + const BIP39_ITERATIONS = ${BIP39_ITERATIONS} + const BIP44_PURPOSE = ${BIP44_PURPOSE} + const BIP44_COIN_NANO = ${BIP44_COIN_NANO} + const BURN_ADDRESS = '${BURN_ADDRESS}' + const HARDENED_OFFSET = ${HARDENED_OFFSET} + const NONCE_LENGTH = ${NONCE_LENGTH} + const PBKDF2_ITERATIONS = ${PBKDF2_ITERATIONS} + const PREAMBLE = '${PREAMBLE}' + const PREFIX = '${PREFIX}' + const PREFIX_LEGACY = '${PREFIX_LEGACY}' + const SEED_LENGTH_BIP44 = ${SEED_LENGTH_BIP44} + const SEED_LENGTH_BLAKE2B = ${SEED_LENGTH_BLAKE2B} + const SLIP10_ED25519 = '${SLIP10_ED25519}' + const DIFFICULTY_RECEIVE = ${DIFFICULTY_RECEIVE} + const DIFFICULTY_SEND = ${DIFFICULTY_SEND} + const XNO = '${XNO}' + const LEDGER_STATUS_CODES = ${JSON.stringify(LEDGER_STATUS_CODES)} + const LEDGER_ADPU_CODES = ${JSON.stringify(LEDGER_ADPU_CODES)} + const UNITS = ${JSON.stringify(UNITS)} +` diff --git a/src/lib/convert.ts b/src/lib/convert.ts index fdcf291..38dd256 100644 --- a/src/lib/convert.ts +++ b/src/lib/convert.ts @@ -341,7 +341,6 @@ export class utf8 { } export default ` - const ALPHABET = '${ALPHABET}' const base32 = ${base32} const bin = ${bin} const bytes = ${bytes} diff --git a/src/lib/safe.ts b/src/lib/safe.ts index 2c3c041..9838fc9 100644 --- a/src/lib/safe.ts +++ b/src/lib/safe.ts @@ -5,11 +5,11 @@ import { parentPort } from 'node:worker_threads' import { Bip39Mnemonic } from './bip39-mnemonic.js' -import { Bip39Words } from './bip39-wordlist' +import { default as Bip39Words } from './bip39-wordlist' import { Bip44Ckd } from './bip44-ckd' import { Blake2b } from './blake2b' import { Blake2bCkd } from './blake2b-ckd' -import { BIP39_ITERATIONS } from './constants' +import { default as Constants, BIP44_COIN_NANO } from './constants' import { default as Convert, bytes, hex, utf8 } from './convert.js' import { Entropy } from './entropy' import { NanoNaCl } from './nano-nacl' @@ -510,9 +510,9 @@ NODE: importWorkerThreads = `import { parentPort } from 'node:worker_threads'` export default ` ${importWorkerThreads} ${Convert} - const BIP39_ITERATIONS = ${BIP39_ITERATIONS} + ${Constants} const Bip39Mnemonic = ${Bip39Mnemonic} - const Bip39Words = ["${Bip39Words.join('","')}"] + const Bip39Words = ${Bip39Words} const Bip44Ckd = ${Bip44Ckd} const Blake2b = ${Blake2b} const Blake2bCkd = ${Blake2bCkd} -- 2.47.3