New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@waves/ledger

Package Overview
Dependencies
Maintainers
15
Versions
57
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@waves/ledger

Waves ladger lib for browser

  • 4.0.1
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
96
decreased by-22.58%
Maintainers
15
Weekly downloads
 
Created
Source

Waves sign data by ledger in browser

Install

$ npm install --save @waves/ledger

Usage

Create connection
const WavesLedger = require('@Waves/ledger');
const ledger = new WavesLedger();

WavesLedger can have optional arguments.

    import TransportNodeHid from '@ledgerhq/hw-transport-node-u2f';

    const options = {
        debug: true, //boolean,
        openTimeout: 3000, //number,
        listenTimeout: 30000, //number,
        exchangeTimeout: 30000, //number,
        networkCode: 87, //number,
        transport: TransportNodeHid
    };

    const ledger = new WavesLedger(options);
Where:

debug enable or not logs of the binary exchange. openTimeout is a delay number in ms for waiting connection.
listenTimeout is a delay number in ms for waiting listen request to U2F device.
exchangeTimeout is a timeout (in milliseconds) for the exchange call. Only some transport might implement it. (e.g. U2F).
networkCode is Waves network code (87 - for mainet)
transport is U2F Transport implementation. (hw-transport-u2f by default)

  • @ledgerhq/hw-transport-u2f
  • @ledgerhq/hw-transport-webusb
  • @ledgerhq/hw-transport-web-ble
  • @ledgerhq/hw-transport-http

Read about transport

WavesLedger API

  • probeDevice

    probeDevice(): Promise. If device available and ready, Promise returned true.

      const canIUse = async () => {
          return await ledger.probeDevice();
      }
    
  • tryConnect

    tryConnect(): Promise<>. reconnect to Transport and init ledger libs.

      const isLedgerReady = async () => {
          try {
              return await ledger.tryConnect();
          } catch (e) {
              ///...error handlers
          }
      };
    
    
  • getUserDataById

    getUserDataById(id): Promise. Get user from ledger, where user is: { id: number, path: string, wavesAddress: string, publicKey: string }

    id - is number from 0
    path - is string in internal ledger format
    wavesAddress - is string in base58 format
    publicKey - is string in base58 format

    ledger.getUserDataById(id)
        .then(
            (user) => {...},
            (err) => {...}
        );
    
  • signTransaction

    Sign waves transaction bytes (ledger show detailed transaction info)

        ledger.signTransaction(userId, asset, data)
    

    userId - number
    data - Array number form 0 to 255 asset - {precision: number, ...}

    Result is Promise with signature string in base58 format

  • signSomeData

    Sign any bytes (ledger can't show detail info)

      ledger.signSomeData(userId, data)
    

    userId - number
    data - Array number form 0 to 255

    Result is Promise with signature string in base58 format

  • signRequest

    Sign any bytes (ledger can't show detail info)

      ledger.signRequest(userId, data)
    

    userId - number
    data - Array number form 0 to 255

    Result is Promise with signature string in base58 format

  • signMessage

    Sign any string (ledger can't show detail info)

    ledger.signMessage(userId, data)
    

    userId - number
    data - string

    Result is Promise with signature string in base58 format

FAQs

Package last updated on 15 Dec 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc