UNPKG

@ledgerhq/hw-app-starknet

Version:

Ledger Hardware Wallet Starknet Application API

91 lines (90 loc) 2.43 kB
import { BigNumberish } from 'starknet'; import { EDataAvailabilityMode, ResourceBounds } from '@starknet-io/types-js'; export interface ResponseBase { errorMessage: string; returnCode: number; } export interface ResponseGeneric extends ResponseBase { data: Uint8Array; } export interface ResponsePublicKey extends ResponseBase { publicKey: Uint8Array; } export interface ResponseStarkKey extends ResponseBase { starkKey: Uint8Array; } export interface ResponseVersion extends ResponseBase { major: number; minor: number; patch: number; } export interface ResponseAppInfo extends ResponseBase { appName: string; } export interface ResponseHashSign extends ResponseBase { r: Uint8Array; s: Uint8Array; v: number; } export interface ResponseTxSign extends ResponseHashSign { h: Uint8Array; } export type TxFields = { accountAddress: string; tip: BigNumberish; resourceBounds: ResourceBounds; paymaster_data: BigNumberish[]; chainId: string; nonce: BigNumberish; nonceDataAvailabilityMode: EDataAvailabilityMode; feeDataAvailabilityMode: EDataAvailabilityMode; account_deployment_data: BigNumberish[]; }; export type TxV1Fields = { accountAddress: string; max_fee: BigNumberish; chainId: string; nonce: BigNumberish; }; export type DeployAccountFields = { contractAddress: string; tip: BigNumberish; resourceBounds: ResourceBounds; paymaster_data: BigNumberish[]; chainId: string; nonce: BigNumberish; nonceDataAvailabilityMode: EDataAvailabilityMode; feeDataAvailabilityMode: EDataAvailabilityMode; constructor_calldata: BigNumberish[]; class_hash: string; contract_address_salt: string; }; export type DeployAccountV1Fields = { contractAddress: string; max_fee: BigNumberish; chainId: string; nonce: BigNumberish; constructor_calldata: BigNumberish[]; class_hash: string; contract_address_salt: string; }; export type AbiEntry = { name: string; type: "felt" | "felt*" | string; }; export type FunctionAbi = { inputs: AbiEntry[]; name: string; outputs: AbiEntry[]; stateMutability?: "view"; type: "function" | "constructor"; }; export type StructAbi = { members: (AbiEntry & { offset: number; })[]; name: string; size: number; type: "struct"; }; export type Abi = Array<FunctionAbi | StructAbi>;