Skip to Content
dApps

Référence de l’API

Référence des méthodes et types du fournisseur Cosmos OneKey.


Méthodes

MéthodeDescription
enable(chainIds)Demander l’accès à une ou plusieurs chaînes ; se résout sans valeur
disable(chainIds)Désactiver une ou plusieurs chaînes
disconnect()Se déconnecter de toutes les chaînes
getKey(chainId)Obtenir la clé de compte pour la chaîne
signAmino(chainId, signer, signDoc)Signer une transaction encodée en Amino
signDirect(chainId, signer, signDoc)Signer une transaction encodée en Protobuf
sendTx(chainId, tx, mode)Diffuser une transaction signée
signArbitrary(chainId, signer, data)Signer un message arbitraire
verifyArbitrary(chainId, signer, data, signature)Vérifier une signature
signEthereum(chainId, signer, data, type)Signer des données Ethereum
experimentalSuggestChain(chainInfo)Ajouter une chaîne personnalisée
getOfflineSigner(chainId)Obtenir le signataire hors ligne Direct
getOfflineSignerOnlyAmino(chainId)Obtenir le signataire hors ligne Amino uniquement
getOfflineSignerAuto(chainId)Détecter automatiquement le meilleur type de signataire
getChainInfosWithoutEndpoints()Obtenir les informations de toutes les chaînes
getChainInfoWithoutEndpoints(chainId)Obtenir les informations d’une chaîne précise
ping()Vérifier la connexion
babylonConnectWallet()Se connecter au portefeuille Babylon
babylonGetKey()Obtenir la clé du portefeuille Babylon

Interface Key

interface Key { name: string // Human-readable name algo: string // Signing algorithm pubKey: Uint8Array // Public key bytes address: Uint8Array // Address bytes bech32Address: string // Bech32 formatted address isNanoLedger: boolean // Ledger compatibility flag isKeystone: boolean // True if Keystone hardware }

Types de documents de signature

Document de signature Amino

interface StdSignDoc { chain_id: string account_number: string sequence: string fee: { amount: { denom: string; amount: string }[] gas: string } msgs: { type: string value: any }[] memo: string }

Document de signature Direct

interface DirectSignDoc { bodyBytes: Uint8Array | null authInfoBytes: Uint8Array | null chainId: string | null accountNumber: Long | null }

Types de réponses de signature

interface AminoSignResponse { signed: StdSignDoc signature: StdSignature } interface DirectSignResponse { signed: DirectSignDoc signature: StdSignature } interface StdSignature { pub_key: { type: string value: string // Base64 encoded } signature: string // Base64 encoded }

Modes de diffusion

ModeDescription
blockAttendre l’inclusion dans un bloc
syncAttendre CheckTx
asyncRenvoyer immédiatement

Chaînes prises en charge

ChaîneID de chaîneDisponibilité dans le portefeuille
Cosmos Hubcosmoshub-4Vérifier dans le portefeuille cible
Osmosisosmosis-1Vérifier dans le portefeuille cible
Junojuno-1Vérifier dans le portefeuille cible
Stargazestargaze-1Vérifier dans le portefeuille cible
Akashakashnet-2Vérifier dans le portefeuille cible
Secret Networksecret-4Vérifier dans le portefeuille cible
Evmosevmos_9001-2Vérifier dans le portefeuille cible
Injectiveinjective-1Vérifier dans le portefeuille cible
PersonnaliséPropre à la chaîneDemander avec experimentalSuggestChain ; l’acceptation n’est pas garantie

Événements

ÉvénementDescription
keplr_keystorechangeCompte ou clé modifié
connectConnecté à la chaîne
disconnectDéconnecté
// Listen for keystore changes window.addEventListener('keplr_keystorechange', () => { console.log('Key changed, refresh account info') })

Codes d’erreur

CodeDescription
4001Demande rejetée par l’utilisateur
4100Non autorisé
-32603Erreur interne
Dernière mise à jour le