Typescript host client used to interact with Starknet Nano application
const starknetClient = require('@ledgerhq/hw-app-starknet');
// TODO: DEMONSTRATE API
Starknet API
-
transport
Transport
import Stark from "@ledgerhq/hw-app-starknet";
const stark = new StarknetClient(transport)
get version of Nano Starknet application
Returns Promise<ResponseVersion> an object with a major, minor, patch
get staRknet public key derived from provided derivation path
-
path
string a path in EIP-2645 format (https://github.com/ethereum/EIPs/blob/master/EIPS/eip-2645.md) -
show
boolean (optional, defaulttrue
)
stark.getPubKey("m/2645'/579218131'/0'/0'").then(o => o.publicKey)
Returns Promise<ResponsePublicKey> an object with publicKey
sign the given hash over the staRknet elliptic curve
-
path
string Derivation path in EIP-2645 format -
hash
string Pedersen hash to be signed -
show
Show hash on device before signing (optional, defaulttrue
)
Returns Promise<ResponseSign> an object with (r, s, v) signature
sign a Starknet Invoke transaction (display some relevant Tx fields before signing)
-
path
string Derivation path in EIP-2645 format -
calls
Array<Call> List of calls [(to, entry_point, calldata), (), ...] -
tx
TxFields Tx fields (account address, maxFee, nonce, version, chain ID) -
abi
Abi? Targeted contract's abi (optional, for future use)
Returns Promise<ResponseSign> an object with (r, s, v) signature