Skip to content

JS Starknet client to communicate with Starknet app running on Ledger devices

License

Notifications You must be signed in to change notification settings

LedgerHQ/starknet-js-client

Repository files navigation

STARKNET JS CLIENT

Typescript host client used to interact with Starknet Nano application

Usage

const starknetClient = require('@ledgerhq/hw-app-starknet');

// TODO: DEMONSTRATE API

API

Table of Contents

StarknetClient

Starknet API

Parameters

  • transport Transport

Examples

import Stark from "@ledgerhq/hw-app-starknet";
const stark = new StarknetClient(transport)

getAppVersion

get version of Nano Starknet application

Returns Promise<ResponseVersion> an object with a major, minor, patch

getPubKey

get full starknet public key derived from provided derivation path

Parameters
Examples
stark.getPubKey("m/2645'/579218131'/0'/0'").then(o => o.publicKey)

Returns Promise<ResponsePublicKey> an object with publicKey

getStarkKey

get stark key derived from provided derivation path

Parameters
Examples
stark.getPubKey("m/2645'/579218131'/0'/0'").then(o => o.publicKey)

Returns Promise<ResponseStarkKey> an object with publicKey

signHash

sign the given hash over the staRknet elliptic curve

Parameters
  • path string Derivation path in EIP-2645 format
  • hash string Pedersen hash to be signed

Returns Promise<ResponseHashSign> an object with (r, s, v) signature

signTx

sign a Starknet Tx v3 Invoke transaction

Parameters
  • path string Derivation path in EIP-2645 format
  • calls Array<Call> List of calls [(to, selector, calldata), (), ...]
  • tx TxFields Tx fields (account address, tip, l1_gas_bounds, l2_gas_bounds, chainID, nonce, data_availability_mode)

Returns Promise<ResponseTxSign> an object with Tx hash + (r, s, v) signature

signTxV1

sign a Starknet Tx v1 Invoke transaction

Parameters
  • path string Derivation path in EIP-2645 format
  • calls Array<Call> List of calls [(to, selector, calldata), (), ...]
  • tx TxV1Fields Tx fields (account address, max_fee, chainID, nonce)

Returns Promise<ResponseTxSign> an object with Tx hash + (r, s, v) signature

signMessage

sign a SNIP-12 encoded message

Parameters
  • path string Derivation path in EIP-2645 format
  • message TypedData message to be signed
  • account string accound address to sign the message

Returns Promise<ResponseHashSign> an object with (r, s, v) signature

About

JS Starknet client to communicate with Starknet app running on Ledger devices

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published