@stakekit/signers
TypeScript icon, indicating that this package has built-in type declarations

0.0.71 • Public • Published

StakeKit Signers

Stakekit's logo

Introduction

The StakeKit Signers is a package that allows you to create a signing wallet instance from a mnemonic phrase or ledger app and sign transactions.

In addition to that, you can provide a custom derivation path for your mnemonic phrase and get different wallets derived from it, from different types of wallet mechanisms, such as MetaMask, Omni, Phantom or Keplr.

Supported Networks

We currently support the following networks:

  • Avalanche-C
  • Avalanche-C Atomic
  • Avalanche-P
  • Arbitrum
  • Binance
  • BinanceBeacon
  • Celo
  • Ethereum
  • Ethereum Goerli
  • Fantom
  • Harmony
  • Optimism
  • Polygon
  • Akash
  • Cosmos
  • Juno
  • Kava
  • Osmosis
  • Stargaze
  • Near
  • Solana
  • Tezos

Supported Wallets

We currently support:

  • MetaMask
  • Omni
  • Phantom
  • Keplr
  • SteakWallet
  • Temple

Development

install proto toolchain manager.

Once you have installed proto, run:

proto use

Install packages:

pnpm i

Build package:

pnpm build

Installation

To install StakeKit Signers (in addition, we recomment installing the packages @stakekit/common):

npm install @stakekit/signers

or

yarn add @stakekit/signers

or

pnpm add @stakekit/signers

Usage

Examples

Ethereum

import { ImportableWallets, getSigningWallet } from '@stakekit/signers';
import { Networks } from '@stakekit/common';
import { TransactionRequest } from '@ethersproject/abstract-provider';

const walletoptions = {
  mnemonic: process.env.MNEMONIC,
  walletType: ImportableWallets.MetaMask,
  index: 0,
};

const signingWallet = await getSigningWallet(Networks.Ethereum, walletoptions);
const address = await signingWallet.getAddress();

console.log('My wallet address: ', address);

const someUnsignedTx: TransactionRequest = {}; // Your unsigned transaction.

const signedTx = await wallet.signTransaction(unsignedTransaction);

// submitTransaction(signedTx);

Solana

import { ImportableWallets, getSigningWallet } from '@stakekit/signers';
import { Networks } from '@stakekit/common';

const walletoptions = {
  mnemonic: process.env.MNEMONIC,
  walletType: ImportableWallets.MetaMask,
  index: 0,
};

const signingWallet = await getSigningWallet(Networks.Solana, walletoptions);
const address = await signingWallet.getAddress();

console.log('My wallet address: ', address);

const someUnsignedTx: string = ''; // Your unsigned transaction in hex.

const signedTx = await wallet.signTransaction(unsignedTransaction);

// submitTransaction(signedTx);

Readme

Keywords

none

Package Sidebar

Install

npm i @stakekit/signers

Weekly Downloads

71

Version

0.0.71

License

none

Unpacked Size

981 kB

Total Files

252

Last publish

Collaborators

  • anton-omni
  • notaphplover
  • philipmzdb
  • jdomingos
  • petar-omni