Errores
Envuelve siempre las solicitudes de proveedor en try / catch. Pali usa errores estándar de estilo JSON-RPC y EIP-1193 cuando es posible, además de errores específicos de la billetera para redes no admitidas, restricciones de hardware wallet y estados passkey.
try {
await window.ethereum.request({
method: 'eth_sendTransaction',
params: [tx],
});
} catch (error) {
switch (error.code) {
case 4001:
console.log('User rejected the request.');
break;
case 4100:
console.log('The dapp is not authorized.');
break;
case 4200:
console.log('The method is unsupported.');
break;
default:
console.error(error);
}
}
Categorías comunes
| Código | Significado |
|---|---|
4001 | El usuario rechazó la solicitud. |
4100 | Cuenta o método no autorizado. |
4101 | El método solo está disponible para una familia de cadena diferente. |
4200 | Método no admitido. |
4900 | Proveedor desconectado. |
4901 | Proveedor desconectado de la cadena solicitada. |
5710 | La chain del bundle EIP-5792 no tiene RPC configurado en la wallet (wallet_getCallsStatus / wallet_showCallsStatus). |
5720 | Id de bundle EIP-5792 duplicado proporcionado por la dapp en wallet_sendCalls. |
5730 | Id de bundle EIP-5792 desconocido en wallet_getCallsStatus / wallet_showCallsStatus. |
Consulta Códigos de error para la referencia más extensa.
Reintentar solicitudes interrumpidas
Un tiempo de espera agotado, una ventana de aprobación cerrada o una conexión perdida no siempre demuestran que una transacción nunca se envió. Antes de solicitar otra firma u otro envío, comprueba cualquier hash de transacción conocido, el historial de transacciones o el estado del lote. Una transmisión confirmada por el proveedor sigue siendo un envío exitoso aunque falle una actualización posterior del historial local.
Reintenta las lecturas ordinarias cuando corresponda, pero no repitas automáticamente solicitudes de firma, creación de billeteras o transmisión tras un resultado incierto. Si cambió la cuenta o la red, obtén una nueva aprobación para el contexto actual. Si hay una configuración de cuenta inteligente pendiente, comprueba su estado en la red original antes de intentar otro despliegue.