@leapwallet/cosmos-social-login-capsule-provider
v0.0.44
Published
## Overview
Downloads
8,829
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 isEnvironment.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();