Saltar al contenido principal

Límites y errores

Límites​

QuéLímite
Fotogramas QR por escaneo2,048 (BBQr: 1,295)
Caracteres por fotograma4,300
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 del emparejamiento a nivel de billetera (generada)4,096 bytes
ID de solicitud16 bytes (eth-sign-request: 1–64)
Origen256 caracteres
Entradas y salidas de Bitcoin1–100 de cada una
Calldata de EVM64 KiB
Mensaje personal de EVM1–8,192 bytes
EIP-71232 tipos, 64 campos por tipo, arreglos de hasta 128 elementos
Mensaje de TRON1–8,192 bytes
Mensaje de Solana (sign-type 2)1–1,024 bytes de texto UTF-8
Transacción de Solana1–64 instrucciones, paquete de 1,232 bytes

Rechazos comunes​

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 los integradores encuentran con más frecuencia:

MensajeCausaSolución
Unsupported signing UR typeEl tipo UR no es crypto-psbt, psbt, eth-sign-request, sol-sign-request ni tron-sign-requestUsa los tipos del registro público; un código QR de emparejamiento no se puede firmar
Unsupported signing request fieldUna clave de mapa fuera de 1–7 (ETH) o 1–6 (SOL/TRON)Elimina los campos personalizados
Invalid request UUID tag / requestId has invalid lengthEl ID de solicitud no está 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 de la hoja con indicadores de endurecimiento 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 de EIP-155Serialízala 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 nonWitnessUtxoAgrega la transacción previa 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 billeteraAgrega datos de derivación con la huella digital y la ruta correctas
Exactly one TRON contract is supported per transactionraw_data.contract tiene 0 o varias entradasUn contrato por transacción
TRON contract calls require an explicit fee limitTriggerSmartContract sin fee_limitEstablece 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úsquedaCompila con claves de cuenta estáticas
This wallet is not a required signer in the transactionLa clave 4 no está entre los firmantes requeridos del mensajeUsa la cuenta que debe firmar
Solana message prefix could represent a transaction headersign-type 2 usado para bytes que parecen una transacciónUsa sign-type 1 para transacciones
Mixed UR fountain sessions / Multiple unrelated QR payloadsFotogramas de dos códigos QR diferentes en un mismo escaneoMuestra una sola solicitud a la vez

Los textos de error provienen solo de las verificaciones propias del motor. Las excepciones inesperadas se reportan como un error genérico, de modo que una carga útil maliciosa no puede inyectar texto en la interfaz del firmador.

Resultados de la asociación​

Antes de pedir la contraseña, la solicitud se asocia con las billeteras del teléfono. Solo se puede firmar una solicitud en estado ready:

EstadoSignificado
readyExactamente una billetera tiene la clave; las tareas de firma están fijadas
noMatchNinguna billetera de este teléfono tiene la clave solicitada (huella digital o ruta incorrecta, o la billetera no está importada)
missingSignerLa solicitud no indica qué clave debe firmar (sin datos de derivación ni dirección)
ambiguousMás de una billetera encaja, por ejemplo, la misma frase importada dos veces
setupRequiredHay que reconstruir los datos públicos de una billetera (se ingresa la contraseña una vez)
invalidLa solicitud es estructuralmente inválida