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

solace-sdk

v2.0.34

Published

SDK to interact with the Solace Program

Downloads

13

Readme

Solace SDK

This SDK helps your react/react-native/angular/ionic application interact with the Solace Program (Smart Contract)

Initialize the SDK

const program = anchor.workspace.Solace as Program<Solace>;
const owner = Keypair.generate();

const sdk = new SolaceSDK({
  apiProvider: new ApiProvider(BASE_URL_FOR_HOSTED_SERVER), // Your hosted server with IPFS support
  program, // Address to your fork of solace or the original solace program
  owner,
});

Create Wallet With Name

This method will check for the availability of the name in the pool of users and create a new Solace Wallet. Ensure that the signer has enough LAMPORTS in their account for paying the txn fees. This can be mitigated by having a request-airdrop API on your server which funds the initial signers

The SDK instance will now be initialized with the created solace user

const name = "solace.user";

await sdk.createWalletWithName(signer, name);

Send LAMPORTS

This method is used to transfer a set amount of LAMPORTS to a given public Address

await sdk.sendSol(publicKey, AMOUNT_OF_SOL_IN_LAMPORTS);

Add Guardian

Adds a new guardian by public-key to the solace-user's guardian list The Guadian's public key can be derived from the API using the /address endpoint

await sdk.addGuardian(GUARDIAN_PUBLIC_KEY);

Remove Guardian

Removes a guardian from the solace-user's wallet

await sdk.removeGuardian(GUARDIAN_PUBLIC_KEY);

Initiate Recovery

The process for initiating recovery is as follows.

  1. Create a new signer
  2. Initiate Recovery of the existing wallet using the lost wallet's address

Both the above steps are handled by the createWalletToRequestRecovery method This will put the wallet into recovery mode and no funds can be transferred from the wallet

await sdk.createWalletToRequestRecovery(NewOwnerSigner, WalletAddress);

Approve recovery by KeyPair

From the guardian's perspective, the SDK can be used on the guardian's end to approve the recovery. This requires the signer of the wallet to be the guardian The next major release will also have a guardian recovery approval by solace wallet

await guardianSdk.approveRecoveryByKeypair(WalletAddressToBeRecovered);