Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@ledgerhq/types-live

Package Overview
Dependencies
Maintainers
20
Versions
249
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@ledgerhq/types-live

Ledger Live main types.

  • 6.23.0-nightly.2
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
30K
increased by4.41%
Maintainers
20
Weekly downloads
 
Created
Source

@ledgerhq/types-live

Ledger Live main types.

API

Table of Contents

TokenAccount

A token belongs to an Account and share the parent account address

Type: {type: "TokenAccount", id: string, parentId: string, token: TokenCurrency, balance: BigNumber, spendableBalance: BigNumber, compoundBalance: BigNumber?, creationDate: Date, operationsCount: number, operations: Array<Operation>, pendingOperations: Array<Operation>, starred: boolean, balanceHistoryCache: BalanceHistoryCache, swapHistory: Array<SwapOperation>, approvals: Array<{sender: string, value: string}>?}

Properties

ChildAccount

A child account belongs to an Account but has its own address

Type: {type: "ChildAccount", id: string, name: string, starred: boolean, parentId: string, currency: CryptoCurrency, address: string, balance: BigNumber, creationDate: Date, operationsCount: number, operations: Array<Operation>, pendingOperations: Array<Operation>, balanceHistoryCache: BalanceHistoryCache, swapHistory: Array<SwapOperation>}

Properties

Address

Type: {address: string, derivationPath: string}

Properties

Account

Account type is the main level account of a blockchain currency. Each family maybe need an extra field, to solve this, you can have some subtyping like this:

export type BitcoinAccount = Account & { bitcoinResources: BitcoinResources }

and all parts where we would need it, we would need to cast,

const bitcoinAccount = account as BitcoinAccount;

and that BitcoinAccount type would be part of a coin integration family specific indeed.

Type: {type: "Account", id: string, seedIdentifier: string, xpub: string?, derivationMode: DerivationMode, index: number, freshAddress: string, freshAddressPath: string, freshAddresses: Array<Address>, name: string, starred: boolean, used: boolean, balance: BigNumber, spendableBalance: BigNumber, creationDate: Date, blockHeight: number, currency: CryptoCurrency, unit: Unit, operationsCount: number, operations: Array<Operation>, pendingOperations: Array<Operation>, lastSyncDate: Date, endpointConfig: (string | null | undefined)?, subAccounts: Array<SubAccount>?, balanceHistoryCache: BalanceHistoryCache, swapHistory: Array<SwapOperation>, syncHash: string?, nfts: Array<ProtoNFT>?}

Properties

SubAccount

super type that is either a token or a child account

Type: (TokenAccount | ChildAccount)

AccountLike

One of the Account type

Type: (Account | SubAccount)

AccountLikeArray

An array of AccountLikes

Type: (Array<AccountLike> | Array<TokenAccount> | Array<ChildAccount> | Array<Account>)

TokenAccountRaw

Type: {type: "TokenAccountRaw", id: string, starred: boolean?, parentId: string, tokenId: string, creationDate: string?, operationsCount: number?, operations: Array<OperationRaw>, pendingOperations: Array<OperationRaw>, balance: string, spendableBalance: string?, compoundBalance: string?, balanceHistoryCache: BalanceHistoryCache?, swapHistory: Array<SwapOperationRaw>?, approvals: Array<{sender: string, value: string}>?}

Properties

ChildAccountRaw

Type: {type: "ChildAccountRaw", id: string, name: string, starred: boolean?, parentId: string, currencyId: string, address: string, creationDate: string?, operationsCount: number?, operations: Array<OperationRaw>, pendingOperations: Array<OperationRaw>, balance: string, balanceHistoryCache: BalanceHistoryCache?, swapHistory: Array<SwapOperationRaw>?}

Properties

AccountRaw

Type: {id: string, seedIdentifier: string, xpub: string?, derivationMode: DerivationMode, index: number, freshAddress: string, freshAddressPath: string, freshAddresses: Array<Address>, name: string, starred: boolean?, used: boolean?, balance: string, spendableBalance: string?, blockHeight: number, creationDate: string?, operationsCount: number?, currencyId: string, operations: Array<OperationRaw>, pendingOperations: Array<OperationRaw>, unitMagnitude: number, lastSyncDate: string, endpointConfig: (string | null | undefined)?, subAccounts: Array<SubAccountRaw>?, balanceHistoryCache: BalanceHistoryCache?, swapHistory: Array<SwapOperationRaw>?, syncHash: string?, nfts: Array<ProtoNFTRaw>?}

Properties

SubAccountRaw

Type: (TokenAccountRaw | ChildAccountRaw)

AccountRawLike

Type: (AccountRaw | SubAccountRaw)

AccountIdParams

Type: {type: string, version: string, currencyId: string, xpubOrAddress: string, derivationMode: DerivationMode}

Properties

ScanAccountEventRaw

More events will come in the future

Type: {type: "discovered", account: AccountRaw}

Properties

DeviceId

Unique identifier of a device. It will depend on the underlying implementation.

Type: string

PreloadStrategy

Type: Partial<{preloadMaxAge: number}>

BroadcastArg0

Type: {account: Account, signedOperation: SignedOperation}

Properties

SignOperationArg0

Type: {account: Account, transaction: T, deviceId: DeviceId}

Properties

SignOperationFnSignature

Type: function (arg0: SignOperationArg0<T>): Observable<SignOperationEvent>

CurrencyBridge

Abstraction related to a currency

AccountBridge

Abstraction related to an account

CurrenciesData

Type: {FIXME_ignoreAccountFields: Array<string>?, FIXME_ignoreOperationFields: Array<string>?, FIXME_ignorePreloadFields: Array<string>?, mockDeviceOptions: any?, scanAccounts: Array<{name: string, apdus: string, unstableAccounts: boolean?, test: function (expect: ExpectFn, scanned: Array<Account>, bridge: CurrencyBridge): any?}>?, accounts: Array<{implementations: Array<string>?, raw: AccountRaw, FIXME_tests: Array<(string | RegExp)>?, transactions: Array<{name: string, transaction: (T | function (arg0: T, arg1: Account, arg2: AccountBridge<T>): T), expectedStatus: (Partial<TransactionStatusCommon> | function (arg0: Account, arg1: T, arg2: TransactionStatusCommon): Partial<TransactionStatusCommon>)?, test: function (arg0: ExpectFn, arg1: T, arg2: TransactionStatusCommon, arg3: AccountBridge<T>): any?, apdus: string?, testSignedOperation: function (arg0: ExpectFn, arg1: SignedOperation, arg2: Account, arg3: T, arg4: TransactionStatusCommon, arg5: AccountBridge<T>): any?}>?, test: function (arg0: ExpectFn, arg1: Account, arg2: AccountBridge<T>): any?}>?, test: function (arg0: ExpectFn, arg1: CurrencyBridge): any?}

Properties

DatasetTest

Type: {implementations: Array<string>, currencies: (Record<CryptoCurrencyIds, CurrenciesData<T>> | Record<string, never>)}

Properties

DerivationMode

DerivationMode is a string identifier of a specific derivation scheme in a list defined in live-common derivation.ts

Type: string

FeatureId

Add others with union (e.g. "learn" | "market" | "foo")

Type: ("learn" | "pushNotifications" | "llmUsbFirmwareUpdate" | "ratings" | "counterValue" | "buyDeviceFromLive" | "ptxSmartRouting" | string)

Feature

We use objects instead of direct booleans for potential future improvements like feature versioning etc

Type: {enabled: boolean, languages_whitelisted: [string]?, languages_blacklisted: [string]?, params: any?}

Properties
enabled

If false, the feature is disabled (for every languages regardless of the languages_whitelisted option)

Type: boolean

languages_whitelisted

You can optionnally use one of the two following options (languages_whitelisted and languages_blacklisted) (Only implemented on mobile for now)

Type: [string]

languages_whitelisted

List of languages for which the feature is enabled (it will be disabled by default for all of the others)

Type: [string]

languages_blacklisted

List of languages for which the feature is disabled

Type: [string]

params

Additional params

Type: any

DefaultFeatures

Type: any

LedgerScriptParams

Type: {firmware: string, firmwareKey: string, delete: string?, deleteKey: string?, targetId: (string | number)?, hash: string, perso: string}

Properties

DeviceInfo

Type: {mcuVersion: string, version: string, majMin: string, targetId: (string | number), isBootloader: boolean, isRecoveryMode: boolean?, isOSU: boolean, providerName: (string | null | undefined), managerAllowed: boolean, pinValidated: boolean, seVersion: string?, mcuBlVersion: string?, mcuTargetId: number?, seTargetId: number?, onboarded: boolean?, hasDevFirmware: boolean?}

Properties

DeviceModelInfo

Type: {modelId: DeviceModelId, deviceInfo: DeviceInfo, apps: Array<{name: string, version: string}>}

Properties

DeviceVersion

Type: {id: Id, name: string, display_name: string, target_id: string, description: string, device: Id, providers: Array<Id>, mcu_versions: Array<Id>, se_firmware_final_versions: Array<Id>, osu_versions: Array<Id>, application_versions: Array<Id>, date_creation: string, date_last_modified: string}

Properties

McuVersion

Type: {id: Id, mcu: Id, name: string, description: (string | null | undefined), providers: Array<Id>, from_bootloader_version: string, device_versions: Array<Id>, se_firmware_final_versions: Array<Id>, date_creation: string, date_last_modified: string}

Properties

SeedPhraseType

FirmwareInfo

Type: {isBootloader: boolean, rawVersion: string, targetId: number, seVersion: string?, mcuVersion: string, mcuBlVersion: string?, mcuTargetId: number?, seTargetId: number?, flags: Buffer}

Properties

OsuFirmware

Type: any

FinalFirmware

Type: any

FirmwareUpdateContext

Type: {osu: OsuFirmware, final: FinalFirmware, shouldFlashMCU: boolean}

Properties

ApplicationVersion

Type: {id: Id, name: string, version: string, app: Id, description: (string | null | undefined), display_name: string, icon: string, notes: (string | null | undefined), perso: string, hash: string, firmware: string, firmware_key: string, delete: string, delete_key: string, device_versions: Array<Id>, se_firmware_final_versions: Array<Id>, providers: Array<Id>, date_creation: string, date_last_modified: string, type: AppType?, bytes: (number | null | undefined), warning: (string | null | undefined), currency: CryptoCurrency?}

Properties

Application

Type: {id: Id, name: string, description: (string | null | undefined), application_versions: Array<ApplicationVersion>, providers: Array<Id>, category: Id, publisher: (Id | null | undefined), date_creation: string, date_last_modified: string, currencyId: (string | null | undefined), authorName: (string | null | undefined), supportURL: (string | null | undefined), contactURL: (string | null | undefined), sourceURL: (string | null | undefined), compatibleWalletsJSON: (string | null | undefined)}

Properties

AppType

App

App is higher level on top of Application and ApplicationVersion with all fields Live needs and in normalized form (but still serializable)

Type: {id: Id, name: string, displayName: string, version: string, currencyId: (string | null | undefined), description: (string | null | undefined), dateModified: string, icon: string, authorName: (string | null | undefined), supportURL: (string | null | undefined), contactURL: (string | null | undefined), sourceURL: (string | null | undefined), compatibleWallets: Array<{name: string, url: (string | null | undefined)}>, hash: string, perso: string, firmware: string, firmware_key: string, delete: string, delete_key: string, dependencies: Array<string>, bytes: (number | null | undefined), warning: (string | null | undefined), indexOfMarketCap: number, isDevTools: boolean, type: AppType}

Properties

Category

Type: {id: Id, name: string, description: (string | null | undefined), providers: Array<Id>, applications: Array<Id>, date_creation: string, date_last_modified: string}

Properties

SocketEvent

Type: ({type: "bulk-progress", progress: number, index: number, total: number} | {type: "result", payload: any} | {type: "warning", message: string} | {type: "device-permission-requested", wording: string} | {type: "device-permission-granted"} | {type: "exchange-before", nonce: number, apdu: Buffer} | {type: "exchange", nonce: number, apdu: Buffer, data: Buffer, status: number} | {type: "opened"} | {type: "closed"})

NFTStandard

Type: ("ERC721" | "ERC1155")

NFTMediaSize

Type: ("preview" | "big" | "original")

NFTMedias

Type: Record<NFTMediaSize, {uri: string, mediaType: string}>

NFTMetadata

Type: {tokenName: (string | null), nftName: (string | null), medias: NFTMedias, description: (string | null), properties: Array<Record<("key" | "value"), string>>, links: Record<NFTMetadataLinksProviders, string>}

Properties

NFTCollectionMetadata

Type: {tokenName: (string | null)}

Properties

ProtoNFT

Type: {id: string, tokenId: string, amount: BigNumber, contract: string, standard: NFTStandard, currencyId: CryptoCurrencyIds, metadata: NFTMetadata?}

Properties

ProtoNFTRaw

Type: any

NFT

Type: any

NFTMetadataLinksProviders

Type: ("opensea" | "rarible" | "explorer")

NFTMetadataResponse

Type: {status: (200 | 404 | 500), result: ({contract: string, tokenId: string, tokenName: (string | null), nftName: (string | null), medias: NFTMedias, description: (string | null), properties: Array<Record<("key" | "value"), string>>, links: Record<NFTMetadataLinksProviders, string>} | null)?}

Properties

NFTCollectionMetadataResponse

Type: {status: (200 | 404 | 500), result: ({contract: string, tokenName: (string | null)} | null)?}

Properties
  • status (200 | 404 | 500)
  • result ({contract: string, tokenName: (string | null)} | null)?

FloorPrice

Type: {ticker: string, value: number}

Properties

OperationType

Type: ("IN" | "OUT" | "NONE" | "CREATE" | "REVEAL" | "DELEGATE" | "UNDELEGATE" | "REDELEGATE" | "REWARD" | "FEES" | "FREEZE" | "UNFREEZE" | "VOTE" | "REWARD_PAYOUT" | "BOND" | "UNBOND" | "WITHDRAW_UNBONDED" | "SET_CONTROLLER" | "SLASH" | "NOMINATE" | "CHILL" | "SUPPLY" | "REDEEM" | "APPROVE" | "OPT_IN" | "OPT_OUT" | "NFT_IN" | "NFT_OUT")

Operation

Type: {id: string, hash: string, type: OperationType, value: BigNumber, fee: BigNumber, senders: Array<string>, recipients: Array<string>, blockHeight: (number | null | undefined), blockHash: (string | null | undefined), transactionSequenceNumber: number?, accountId: string, standard: (NFTStandard | string)?, operator: string?, contract: string?, tokenId: string?, date: Date, extra: Record<string, any>, hasFailed: boolean?, subOperations: Array<Operation>?, internalOperations: Array<Operation>?, nftOperations: Array<Operation>?}

Properties

OperationRaw

Type: {id: string, hash: string, type: OperationType, value: string, fee: string, senders: Array<string>, recipients: Array<string>, blockHeight: (number | null | undefined), blockHash: (string | null | undefined), transactionSequenceNumber: number?, accountId: string, hasFailed: boolean?, standard: (NFTStandard | string)?, operator: string?, contract: string?, tokenId: string?, date: string, extra: Record<string, any>, subOperations: Array<OperationRaw>?, internalOperations: Array<OperationRaw>?, nftOperations: Array<OperationRaw>?}

Properties

DailyOperationsSection

Type: {day: Date, data: Array<Operation>}

Properties

DailyOperations

Type: {sections: Array<DailyOperationsSection>, completed: boolean}

Properties

PaginationConfig

A pagination config holds the user's pagination state this is a state that usually should leave during the app lifecycle, but is not persisted it drives the number of operations to poll in accounts when a user paginate more, the number should accordingly be incremented The UI should manage scrolling ahead of time (e.g. if 30 ops is displayed and UI have pages of 20 ops, the UI can already request to poll 70 ops so it have 2 pages in advance) The UI must always do max() to keep the increasing the counter and not going back to lower value: that optim the sync to not recompute things too much

Type: {operationsPerAccountId: Record<string, number>?, operations: number?}

Properties

SyncConfig

Type: {paginationConfig: PaginationConfig, withoutSynchronize: boolean?, blacklistedTokenIds: Array<string>?}

Properties

BalanceHistoryData

Type: {date: Date, value: number}

Properties

BalanceHistory

Type: Array<BalanceHistoryData>

BalanceHistoryRaw

Type: Array<[string, string]>

BalanceHistoryWithCountervalue

Type: Array<any>

ValueChange

Type: {percentage: (number | null | undefined), value: number}

Properties

AccountPortfolio

Type: {history: BalanceHistoryWithCountervalue, countervalueAvailable: boolean, countervalueReceiveSum: number, countervalueSendSum: number, cryptoChange: ValueChange, countervalueChange: ValueChange}

Properties

CurrencyPortfolio

Type: {history: BalanceHistoryWithCountervalue, countervalueAvailable: boolean, histories: Array<BalanceHistoryWithCountervalue>, accounts: AccountLikeArray, cryptoChange: ValueChange, range: PortfolioRange, countervalueChange: ValueChange}

Properties

Portfolio

Type: {balanceHistory: BalanceHistory, balanceAvailable: boolean, availableAccounts: Array<AccountLike>, unavailableCurrencies: Array<(CryptoCurrency | TokenCurrency)>, accounts: Array<AccountLike>, range: PortfolioRange, histories: Array<BalanceHistoryWithCountervalue>, countervalueReceiveSum: number, countervalueSendSum: number, countervalueChange: ValueChange}

Properties

PortfolioRangeConfig

Type: {count: number?, granularityId: GranularityId, startOf: function (arg0: Date): Date, increment: number}

Properties

PortfolioRange

Type: ("all" | "year" | "month" | "week" | "day")

AssetsDistribution

Type: {isAvailable: boolean, list: Array<{currency: (CryptoCurrency | TokenCurrency), distribution: number, amount: number, countervalue: number}>, showFirst: number, sum: number}

Properties

SwapOperation

Type: {provider: string, swapId: string, status: string, receiverAccountId: string, tokenId: string?, operationId: string, fromAmount: BigNumber, toAmount: BigNumber}

Properties

SwapOperationRaw

Type: {provider: string, swapId: string, status: string, receiverAccountId: string, tokenId: string?, operationId: string, fromAmount: string, toAmount: string}

Properties

SignedOperation

Type: {operation: Operation, signature: string, signatureRaw: Record<string, any>?, expirationDate: (Date | null | undefined)}

Properties

SignedOperationRaw

Type: {operation: OperationRaw, signature: string, signatureRaw: Record<string, any>?, expirationDate: (string | null | undefined)}

Properties

SignOperationEvent

Type: ({type: "device-streaming", progress: number, index: number, total: number} | {type: "device-signature-requested"} | {type: "device-signature-granted"} | {type: "signed", signedOperation: SignedOperation})

SignOperationEventRaw

Type: ({type: "device-streaming", progress: number, index: number, total: number} | {type: "device-signature-requested"} | {type: "device-signature-granted"} | {type: "signed", signedOperation: SignedOperationRaw})

TransactionCommon

Transaction is a generic object that holds all state for all transactions there are generic fields and coin specific fields. That's why almost all fields are optionals

Type: {amount: BigNumber, recipient: string, useAllAmount: boolean?, subAccountId: (string | null | undefined)?, feesStrategy: ("slow" | "medium" | "fast" | "custom" | null)?}

Properties
  • amount BigNumber
  • recipient string
  • useAllAmount boolean?
  • subAccountId (string | null | undefined)?
  • feesStrategy ("slow" | "medium" | "fast" | "custom" | null)?

TransactionCommonRaw

Type: {amount: string, recipient: string, useAllAmount: boolean?, subAccountId: (string | null | undefined)?, feesStrategy: ("slow" | "medium" | "fast" | "custom" | null)?}

Properties

FeeStrategy

User can have 3 differents choice for their fee Most of the time mid is low * 1.25 and high is low * 1.5 They are some exception as eth that got his own meter

Type: {amount: BigNumber, displayedAmount: BigNumber?, label: string, unit: Unit?}

Properties
  • amount BigNumber
  • displayedAmount BigNumber?
  • label string
  • unit Unit?

TransactionStatusCommon

TransactionStatus is a view of Transaction with general info to be used on the UI and status info.

Type: {errors: Record<string, Error>, warnings: Record<string, Error>, estimatedFees: BigNumber, amount: BigNumber, totalSpent: BigNumber, recipientIsReadOnly: boolean?}

Properties
  • errors Record<string, Error>
  • warnings Record<string, Error>
  • estimatedFees BigNumber
  • amount BigNumber
  • totalSpent BigNumber
  • recipientIsReadOnly boolean?

TransactionStatusCommonRaw

Type: {errors: Record<string, string>, warnings: Record<string, string>, estimatedFees: string, amount: string, totalSpent: string, useAllAmount: boolean?, recipientIsReadOnly: boolean?}

Properties

Keywords

FAQs

Package last updated on 12 Aug 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