Skip to Content
dApps
Sur cette page

wallet_requestPermissions

Demande l’autorisation pour la dApp d’accéder à des méthodes précises. Cette fonctionnalité fait partie du système d’autorisations de portefeuille EIP-2255.


Paramètres

Array contenant un objet de demande d’autorisation :

ChampTypeDescription
eth_accountsobjectDemander l’accès aux comptes utilisateur

Valeur de retour

Array d’objets d’autorisation :

ChampTypeDescription
parentCapabilitystringLe nom de l’autorisation
datenumberHorodatage de l’octroi
caveatsarrayRestrictions de l’autorisation

Exemple

const permissions = await window.$onekey.ethereum.request({ method: 'wallet_requestPermissions', params: [{ eth_accounts: {} }] }) console.log('Granted permissions:', permissions) // [{ parentCapability: 'eth_accounts', date: 1234567890, caveats: [...] }]

Vérifier une autorisation précise

const permissions = await window.$onekey.ethereum.request({ method: 'wallet_requestPermissions', params: [{ eth_accounts: {} }] }) const hasAccountsPermission = permissions.some( p => p.parentCapability === 'eth_accounts' ) console.log('Has accounts permission:', hasAccountsPermission)

Erreurs

CodeMessageDescription
4001L’utilisateur a rejeté la demandeL’utilisateur a refusé la demande d’autorisation
-32602Paramètres non validesDemande d’autorisation non valide

Remarques

  • Actuellement, seule l’autorisation eth_accounts est prise en charge
  • L’appel de cette méthode déclenche la demande de connexion si l’utilisateur n’est pas déjà connecté
  • Les autorisations persistent jusqu’à leur révocation par l’utilisateur
  • Défini par EIP-2255 

Gérez les erreurs de méthode non prise en charge dans la version cible du portefeuille. L’autorisation d’accès au compte est distincte de la connectivité RPC et n’autorise pas à l’avance les signatures ou transactions. Pour une connexion de base, utilisez eth_requestAccounts.

Dernière mise à jour le