Aller au contenu principal

Erreurs

Encapsulez toujours les requêtes de provider dans try / catch. Pali utilise autant que possible les erreurs standard de style JSON-RPC et EIP-1193, ainsi que des erreurs propres au portefeuille pour les réseaux non pris en charge, les restrictions de hardware wallet et les états 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);
}
}

Catégories courantes​

CodeSignification
4001L'utilisateur a rejeté la requête.
4100Compte ou méthode non autorisé.
4101La méthode n'est disponible que pour une autre famille de chaînes.
4200Méthode non prise en charge.
4900Provider déconnecté.
4901Provider déconnecté de la chaîne demandée.
5710La chaîne du bundle EIP-5792 n'a pas de RPC configuré dans le wallet (wallet_getCallsStatus / wallet_showCallsStatus).
5720Identifiant de bundle EIP-5792 dupliqué fourni par la dapp dans wallet_sendCalls.
5730Identifiant de bundle EIP-5792 inconnu dans wallet_getCallsStatus / wallet_showCallsStatus.

Voir Codes d'erreur pour la référence plus longue.

Réessayer des demandes interrompues​

Un délai dépassé, une fenêtre d’approbation fermée ou une connexion perdue ne prouvent pas toujours qu’une transaction n’a jamais été soumise. Avant de demander une autre signature ou un autre envoi, vérifiez tout hash de transaction connu, l’historique des transactions ou l’état du lot. Une diffusion dont l’envoi a été confirmé par le fournisseur reste réussie même si une mise à jour ultérieure de l’historique local échoue.

Réessayez les lectures ordinaires lorsque cela convient, mais ne rejouez pas automatiquement les demandes de signature, de création de portefeuille ou de diffusion après un résultat incertain. Si le compte ou le réseau a changé, obtenez une nouvelle approbation pour le contexte actuel. Pour une configuration de compte intelligent en attente, vérifiez son état sur le réseau d’origine avant de tenter un autre déploiement.