export const DIFFICULTY_RECEIVE = 0xfffffe0000000000n
export const DIFFICULTY_SEND = 0xfffffff800000000n
export const HARDENED_OFFSET = 0x80000000
+export const HEXCHAR = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F']
export const MAX_RAW = 0xFFFF_FFFF_FFFF_FFFF_FFFF_FFFF_FFFF_FFFFn
export const MAX_SUPPLY = 133_248_297_920_938_463_463_374_607_431_768_211_455n
export const NONCE_LENGTH = 24
//! SPDX-FileCopyrightText: 2025 Chris Duncan <chris@codecow.com>
//! SPDX-License-Identifier: GPL-3.0-or-later
-import { ALPHABET } from '../constants'
+import { ALPHABET, HEXCHAR } from '../constants'
const decoder: TextDecoder = new TextDecoder()
*/
toHex (bytes: ArrayBuffer | Uint8Array): string {
if (bytes instanceof ArrayBuffer) bytes = new Uint8Array(bytes)
- if (bytes.buffer instanceof ArrayBuffer && bytes.buffer.byteLength === 0) return ''
- return [...bytes]
- .map(byte => byte.toString(16).padStart(2, '0'))
- .join('')
- .toUpperCase()
+ let hex: string = ''
+ for (const byte of bytes) {
+ hex += HEXCHAR[byte >> 4] + HEXCHAR[byte & 15]
+ }
+ return hex
},
/**