Skip to Content
dApps

Referencia de la API

Referencia de los métodos y tipos del proveedor de Cosmos de OneKey.


Métodos

MétodoDescripción
enable(chainIds)Solicitar acceso a una o varias cadenas; la promesa se resuelve sin valor
disable(chainIds)Deshabilitar una o varias cadenas
disconnect()Desconectar de todas las cadenas
getKey(chainId)Obtener la clave de cuenta para una cadena
signAmino(chainId, signer, signDoc)Firmar una transacción codificada con Amino
signDirect(chainId, signer, signDoc)Firmar una transacción codificada con Protobuf
sendTx(chainId, tx, mode)Difundir una transacción firmada
signArbitrary(chainId, signer, data)Firmar un mensaje arbitrario
verifyArbitrary(chainId, signer, data, signature)Verificar la firma
signEthereum(chainId, signer, data, type)Firmar datos de Ethereum
experimentalSuggestChain(chainInfo)Añadir una cadena personalizada
getOfflineSigner(chainId)Obtener el firmante sin conexión Direct
getOfflineSignerOnlyAmino(chainId)Obtener el firmante sin conexión exclusivo de Amino
getOfflineSignerAuto(chainId)Detectar automáticamente el mejor tipo de firmante
getChainInfosWithoutEndpoints()Obtener información de todas las cadenas
getChainInfoWithoutEndpoints(chainId)Obtener información de una cadena específica
ping()Comprobar la conexión
babylonConnectWallet()Conectar a la cartera Babylon
babylonGetKey()Obtener la clave de la cartera Babylon

Interfaz 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 }

Tipos de documentos de firma

Documento de firma 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 }

Documento de firma Direct

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

Tipos de respuesta de firma

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 }

Modos de difusión

ModoDescripción
blockEsperar a la inclusión en un bloque
syncEsperar a CheckTx
asyncDevolver de inmediato

Cadenas compatibles

CadenaID de cadenaDisponibilidad en la cartera
Cosmos Hubcosmoshub-4Verificar en la cartera de destino
Osmosisosmosis-1Verificar en la cartera de destino
Junojuno-1Verificar en la cartera de destino
Stargazestargaze-1Verificar en la cartera de destino
Akashakashnet-2Verificar en la cartera de destino
Secret Networksecret-4Verificar en la cartera de destino
Evmosevmos_9001-2Verificar en la cartera de destino
Injectiveinjective-1Verificar en la cartera de destino
PersonalizadoEspecífico de la cadenaSolicitar con experimentalSuggestChain; no se garantiza su aceptación

Eventos

EventoDescripción
keplr_keystorechangeCuenta o clave cambiada
connectConectado a la cadena
disconnectDesconectado
// Listen for keystore changes window.addEventListener('keplr_keystorechange', () => { console.log('Key changed, refresh account info') })

Códigos de error

CódigoDescripción
4001El usuario rechazó la solicitud
4100Sin autorización
-32603Error interno
Última actualización el