UNPKG

@ledgerhq/hw-app-starknet

Version:

Ledger Hardware Wallet Starknet Application API

163 lines (101 loc) 6.58 kB
# STARKNET JS CLIENT Typescript host client used to interact with [Ledger Starknet application](https://github.com/LedgerHQ/app-starknet) ## Usage const starknetClient = require('@ledgerhq/hw-app-starknet'); // TODO: DEMONSTRATE API ## API <!-- Generated by documentation.js. Update this documentation by updating the source code. --> #### Table of Contents * [StarknetClient](#starknetclient) * [Parameters](#parameters) * [Examples](#examples) * [getAppVersion](#getappversion) * [getPubKey](#getpubkey) * [Parameters](#parameters-1) * [Examples](#examples-1) * [getStarkKey](#getstarkkey) * [Parameters](#parameters-2) * [Examples](#examples-2) * [signHash](#signhash) * [Parameters](#parameters-3) * [signTx](#signtx) * [Parameters](#parameters-4) * [signTxV1](#signtxv1) * [Parameters](#parameters-5) * [signDeployAccount](#signdeployaccount) * [Parameters](#parameters-6) * [signDeployAccountV1](#signdeployaccountv1) * [Parameters](#parameters-7) * [signMessage](#signmessage) * [Parameters](#parameters-8) ### StarknetClient Starknet API #### Parameters * `transport` **Transport** #### Examples ```javascript import Stark from "@ledgerhq/hw-app-starknet"; const stark = new StarknetClient(transport) ``` #### getAppVersion get version of Nano Starknet application Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)\<ResponseVersion>** an object with a major, minor, patch #### getPubKey get full starknet public key derived from provided derivation path ##### Parameters * `path` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** a path in EIP-2645 format (<https://github.com/ethereum/EIPs/blob/master/EIPS/eip-2645.md>) * `show` **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** (optional, default `true`) ##### Examples ```javascript stark.getPubKey("m/2645'/579218131'/0'/0'").then(o => o.publicKey) ``` Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)\<ResponsePublicKey>** an object with publicKey #### getStarkKey get stark key derived from provided derivation path ##### Parameters * `path` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** a path in EIP-2645 format (<https://github.com/ethereum/EIPs/blob/master/EIPS/eip-2645.md>) * `show` **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** (optional, default `true`) ##### Examples ```javascript stark.getPubKey("m/2645'/579218131'/0'/0'").then(o => o.publicKey) ``` Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)\<ResponseStarkKey>** an object with publicKey #### signHash sign the given hash over the staRknet elliptic curve ##### Parameters * `path` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** Derivation path in EIP-2645 format * `hash` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** Pedersen hash to be signed Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)\<ResponseHashSign>** an object with (r, s, v) signature #### signTx sign a Starknet Tx v3 Invoke transaction ##### Parameters * `path` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** Derivation path in EIP-2645 format * `calls` **[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/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](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)\<ResponseTxSign>** an object with Tx hash + (r, s, v) signature #### signTxV1 sign a Starknet Tx v1 Invoke transaction ##### Parameters * `path` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** Derivation path in EIP-2645 format * `calls` **[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)\<Call>** List of calls \[(to, selector, calldata), (), ...] * `tx` **TxV1Fields** Tx fields (account address, max_fee, chainID, nonce) Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)\<ResponseTxSign>** an object with Tx hash + (r, s, v) signature #### signDeployAccount sign a Starknet Tx v3 DeployAccount transaction ##### Parameters * `path` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** Derivation path in EIP-2645 format * `tx` **DeployAccountFields** Tx fields (contract_address, tip, resourceBounds, paymaster_data, chain_id, nonce, nonceDataAvailabilityMode, feeDataAvailabilityMode, constructor_calldata, class_hash, contract_address_salt) Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)\<ResponseTxSign>** an object with Tx hash + (r, s, v) signature #### signDeployAccountV1 sign a Starknet Tx v1 DeployAccount transaction ##### Parameters * `path` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** Derivation path in EIP-2645 format * `tx` **DeployAccountV1Fields** Tx fields (contract_address, class_hash, contract_address_salt, constructor_calldata, max_fee, chainID, nonce) Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)\<ResponseTxSign>** an object with Tx hash + (r, s, v) signature #### signMessage sign a SNIP-12 encoded message ##### Parameters * `path` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** Derivation path in EIP-2645 format * `message` **TypedData** message to be signed * `account` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** accound address to sign the message Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)\<ResponseHashSign>** an object with (r, s, v) signature