Erros
Sempre envolva solicitações de provider em try / catch. A Pali usa erros no estilo JSON-RPC e EIP-1193 padrão quando possível, além de erros específicos da carteira para redes sem suporte, restrições de hardware wallet e estados de 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);
}
}
Categorias comuns
| Código | Significado |
|---|---|
4001 | Usuário rejeitou a solicitação. |
4100 | Conta ou método não autorizado. |
4101 | O método está disponível apenas para uma família de chain diferente. |
4200 | Método sem suporte. |
4900 | Provider desconectado. |
4901 | Provider desconectado da chain solicitada. |
5710 | A chain do bundle EIP-5792 não tem RPC configurado na wallet (wallet_getCallsStatus / wallet_showCallsStatus). |
5720 | Id de bundle EIP-5792 duplicado fornecido pela dapp em wallet_sendCalls. |
5730 | Id de bundle EIP-5792 desconhecido em wallet_getCallsStatus / wallet_showCallsStatus. |
Veja Códigos de erro para a referência mais longa.
Repetir solicitações interrompidas
Um tempo limite excedido, uma janela de aprovação fechada ou uma conexão perdida nem sempre provam que uma transação nunca foi enviada. Antes de solicitar outra assinatura ou outro envio, confira qualquer hash de transação conhecido, o histórico de transações ou o status do lote. Um broadcast reconhecido pelo provedor continua sendo um envio bem-sucedido mesmo se uma atualização posterior do histórico local falhar.
Repita leituras comuns quando for apropriado, mas não reproduza automaticamente solicitações de assinatura, criação de carteira ou broadcast após um resultado incerto. Se a conta ou a rede mudou, obtenha uma nova aprovação para o contexto atual. Se houver uma configuração de conta inteligente pendente, confira seu status na rede original antes de tentar outra implantação.