0.0.30 • Published 4 months ago

@leapwallet/cosmos-social-login-capsule-provider v0.0.30

Weekly downloads
-
License
MIT
Repository
github
Last release
4 months ago

CapsuleProvider

Overview

The CapsuleProvider is a JavaScript class that provides a convenient interface for integrating the Capsule authentication and signing functionality into your application. Capsule is a secure and user-friendly platform that facilitates social login and transaction signing for Cosmos blockchain-based applications.

Installation

To use the CapsuleProvider in your project, you need to install the required dependencies. Run the following command:

npm install @leapwallet/cosmos-social-login-capsule-provider

Usage

Importing the CapsuleProvider

import { CapsuleProvider } from '@leapwallet/cosmos-social-login-capsule-provider'; 

Initializing the CapsuleProvider

const capsuleProvider = new CapsuleProvider({ apiKey: 'YOUR_API_KEY', env: Environment.BETA });
  • apiKey: (Optional) Your Capsule API key.
  • env: (Optional) The environment for Capsule (default is Environment.BETA).

Getting the Capsule Client

const capsuleClient = capsuleProvider.getClient();

Enabling Capsule

await capsuleProvider.enable();

This method triggers the connection process to Capsule.

Disconnecting from Capsule

await capsuleProvider.disconnect();

This method disconnects the user from Capsule.

Getting a Simple Account

const simpleAccount = await capsuleProvider.getSimpleAccount('cosmos');

This method retrieves a simple account object with namespace, chainId, address, and username properties.

Handling Connection

await capsuleProvider.handleConnect();

This method handles the Capsule connection process.

Connecting to Capsule

await capsuleProvider.connect();

This method initiates the connection to Capsule.

Getting an Account

const account = await capsuleProvider.getAccount('cosmos');

This method retrieves detailed account information, including username, address, algo, and pubkey.

Getting an Offline Signer

const offlineSigner = capsuleProvider.getOfflineSigner('cosmos', 'amino');

This method returns an offline signer based on the preferred signing type (amino or direct).

Signing Amino Transactions

const signature = await capsuleProvider.signAmino('cosmos', 'signerAddress', signDoc, signOptions);

This method requests an Amino signature for a given transaction.

Signing Direct Transactions

const signature = await capsuleProvider.signDirect('cosmos', 'signerAddress', signDoc);

This method requests a direct signature for a given transaction.

Example

import { CapsuleProvider } from '@leapwallet/cosmos-social-login-capsule-provider';

const capsuleProvider = new CapsuleProvider({ apiKey: 'YOUR_API_KEY', env: Environment.BETA });

async function main() {
  await capsuleProvider.enable();
  const account = await capsuleProvider.getAccount('cosmos');
  console.log('Account:', account);
}

main();