Saltar al contenido principal

Límites y errores

Límites​

QuéLímite
Fotogramas QR por escaneo2048 (BBQr: 1295)
Caracteres por fotograma4300
Texto escaneado que se conserva por sesión1 MiB
Carga útil decodificada (CBOR o PSBT)128 KiB
Anidamiento / elementos CBOR24 niveles / 20 000 elementos
Carga útil de vinculación a nivel de cartera (generada)4096 bytes
ID de solicitud16 bytes (eth-sign-request: 1–64)
Origen256 caracteres
Entradas y salidas de Bitcoin1–100 de cada
Calldata de EVM64 KiB
Mensaje personal de EVM1–8192 bytes
EIP-71232 tipos, 64 campos por tipo, arrays de hasta 128 elementos
Mensaje de TRON1–8192 bytes
Mensaje de Solana (sign-type 2)1–1024 bytes de texto UTF-8
Transacción de Solana1–64 instrucciones, paquete de 1232 bytes

Rechazos habituales​

Cuando BitTool Signer rechaza una solicitud, muestra un mensaje breve en el escáner o en la pantalla de revisión. Estos son los que encuentran con más frecuencia los integradores:

MensajeCausaSolución
Unsupported signing UR typeEl tipo UR no es ninguno de crypto-psbt, psbt, eth-sign-request, sol-sign-request, tron-sign-requestUsa los tipos del registro público; un código QR de vinculación no se puede firmar
Unsupported signing request fieldUna clave del mapa fuera de 1–7 (ETH) o de 1–6 (SOL/TRON)Elimina los campos personalizados
Invalid request UUID tag / requestId has invalid lengthEl ID de solicitud no va envuelto en el tag 37, o no tiene 16 bytes en SOL/TRON37(16 random bytes)
Signing path must be concreteUn comodín *, un hijo vacío o un índice ≥ 231Envía la ruta completa hasta la hoja con los indicadores hardened true/false
Transaction data type does not match payloaddata-type 1 con una transacción tipada, o 4 con RLP legacy1 para RLP legacy, 4 para sobres 0x01/0x02
Unprotected or missing-chain-ID EVM transactions are refusedTransacción legacy sin chain ID EIP-155Serializa con el chain ID (v = chainId, r = s = 0)
Chain ID does not match the signing requestLa transacción, la clave 4 y/o el dominio EIP-712 no coincidenHaz que todos los chain IDs sean iguales
Unsupported networkChain ID fuera de las ocho redes EVM compatibles, o una solicitud que no es de mainnetUsa una red compatible
Typed message has extra unsigned or missing fieldsLos campos de message difieren del tipo declaradoEnvía exactamente los campos declarados
Use strings for large typed integersUn número JSON mayor que 253 en datos EIP-712Codifícalo como cadena decimal
Full previous transactions (nonWitnessUtxo) are required …Entrada SegWit v0 o legacy sin nonWitnessUtxoAñade la transacción anterior completa
Only SIGHASH_ALL or Taproot SIGHASH_DEFAULT is acceptedOtro tipo de sighash en una entradaUsa SIGHASH_ALL
No unsigned input belongs to this wallet …Ninguna entrada tiene un bip32Derivation para la clave de esta carteraAñade los datos de derivación con la huella y la ruta correctas
Exactly one TRON contract is supported per transactionraw_data.contract tiene 0 entradas o variasUn contrato por transacción
TRON contract calls require an explicit fee limitTriggerSmartContract sin fee_limitDefine fee_limit
Invalid TRON timestamp or expirationFalta timestamp, o expiration ≤ timestampUsa los valores de tu nodo
Address lookup tables require independently trusted account data …Mensaje v0 de Solana con tablas de búsqueda de direccionesCompila con claves de cuenta estáticas
This wallet is not a required signer in the transactionLa clave 4 no está entre los firmantes obligatorios del mensajeUsa la cuenta que debe firmar
Solana message prefix could represent a transaction headerSe ha usado sign-type 2 para bytes que parecen una transacciónUsa sign-type 1 para las transacciones
Mixed UR fountain sessions / Multiple unrelated QR payloadsFotogramas de dos códigos QR distintos en un mismo escaneoMuestra una sola solicitud cada vez

Los textos de error proceden únicamente de las comprobaciones propias del motor. Las excepciones inesperadas se notifican como un error genérico, de modo que una carga útil maliciosa no puede inyectar texto en la interfaz del firmante.

Resultados de la asociación​

Antes de pedir la contraseña, la solicitud se asocia con las carteras del móvil. Solo se puede firmar con ready:

EstadoSignificado
readyExactamente una cartera tiene la clave; las tareas de firma quedan fijadas
noMatchNinguna cartera de este móvil tiene la clave solicitada (huella o ruta incorrectas, o la cartera no está importada)
missingSignerLa solicitud no indica qué clave debe firmar (sin datos de derivación ni dirección)
ambiguousEncaja más de una cartera, por ejemplo, la misma frase importada dos veces
setupRequiredHay que reconstruir los datos públicos de una cartera (una introducción de la contraseña)
invalidLa solicitud no es válida estructuralmente