npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

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

v0.0.40

Published

## Overview

Downloads

5,119

Readme

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();