diff --git a/src/transaction/parsing.js b/src/transaction/parsing.js index 0ef28f8..cf723c4 100644 --- a/src/transaction/parsing.js +++ b/src/transaction/parsing.js @@ -302,7 +302,7 @@ export function parseTransaction(data) { export function parseExtra(extraBytes) { // Try Rust backend first (faster, matches C++ behavior exactly) const bt = getCurrentBackendType(); - if (bt === 'ffi' || bt === 'wasm') { + if (bt === 'ffi' || bt === 'wasm' || bt === 'jsi') { try { const backend = getCryptoBackend(); if (backend.parseExtra) { diff --git a/src/transaction/serialization.js b/src/transaction/serialization.js index 6e042b6..d245ff5 100644 --- a/src/transaction/serialization.js +++ b/src/transaction/serialization.js @@ -514,7 +514,7 @@ export function serializeGenInput(height) { export function serializeTxExtra(extra) { // Try Rust backend first (matches C++ behavior exactly) const bt = getCurrentBackendType(); - if (bt === 'ffi' || bt === 'wasm') { + if (bt === 'ffi' || bt === 'wasm' || bt === 'jsi') { try { const backend = getCryptoBackend(); if (backend.serializeTxExtra) { @@ -707,7 +707,7 @@ export function getTxPrefixHash(tx) { if (tx instanceof Uint8Array) { // Try Rust backend for raw bytes (pure keccak256, faster) const bt = getCurrentBackendType(); - if (bt === 'ffi' || bt === 'wasm') { + if (bt === 'ffi' || bt === 'wasm' || bt === 'jsi') { try { const backend = getCryptoBackend(); if (backend.computeTxPrefixHash) {