Ledger Live main types.
- TokenAccount
- Address
- Account
- SubAccount
- AccountLike
- AccountLikeArray
- TokenAccountRaw
- AccountRaw
- AccountRawLike
- AccountIdParams
- ScanAccountEventRaw
- DeviceId
- PreloadStrategy
- BroadcastArg
- SignOperationArg0
- SignOperationFnSignature
- CurrencyBridge
- AccountBridge
- CurrenciesData
- DatasetTest
- DerivationMode
- Feature
- DefaultFeature
- CurrencyFeatures
- Features
- FeatureId
- Feature_EthStakingProviders
- FeatureMap
- LedgerScriptParams
- DeviceInfo
- DeviceModelInfo
- DeviceVersion
- McuVersion
- SeedPhraseType
- FirmwareInfo
- OsuFirmware
- FinalFirmware
- FirmwareUpdateContext
- ApplicationVersion
- Application
- AppType
- App
- Category
- SocketEvent
- NFTStandard
- NFTMediaSize
- NFTMedias
- NFTMetadata
- NFTCollectionMetadata
- ProtoNFT
- ProtoNFTRaw
- NFT
- NFTMetadataLinksProviders
- NFTMetadataResponse
- NFTCollectionMetadataResponse
- FloorPrice
- OperationType
- Operation
- PaginationConfig
- SyncConfig
- BalanceHistoryData
- BalanceHistory
- BalanceHistoryRaw
- BalanceHistoryWithCountervalue
- ValueChange
- AccountPortfolio
- CurrencyPortfolio
- Portfolio
- PortfolioRangeConfig
- PortfolioRange
- AssetsDistribution
- PostOnboardingActionId
- getNavigationParams
- startAction
- PostOnboardingAction
- PostOnboardingActionState
- PostOnboardingState
- PostOnboardingHubState
- SwapOperation
- SwapOperationRaw
- SignedOperation
- SignedOperationRaw
- SignOperationEvent
- SignOperationEventRaw
- TransactionCommon
- TransactionCommonRaw
- FeeStrategy
- TransactionStatusCommon
- TransactionStatusCommonRaw
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, creationDate: Date, operationsCount: number, operations: Array<Operation>, pendingOperations: Array<Operation>, starred: boolean, balanceHistoryCache: BalanceHistoryCache, swapHistory: Array<SwapOperation>, approvals: Array<{sender: string, value: string}>?}
-
type
"TokenAccount"
-
id
string -
parentId
string -
token
TokenCurrency -
balance
BigNumber -
spendableBalance
BigNumber -
creationDate
Date -
operationsCount
number -
operations
Array<Operation> -
pendingOperations
Array<Operation> -
starred
boolean -
balanceHistoryCache
BalanceHistoryCache -
swapHistory
Array<SwapOperation> -
approvals
Array<{sender: string, value: string}>?
Type: {address: string, derivationPath: string}
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, feesCurrency: (CryptoCurrency | TokenCurrency)?, unit: Unit, operationsCount: number, operations: Array<Operation>, pendingOperations: Array<Operation>, lastSyncDate: Date, subAccounts: Array<TokenAccount>?, balanceHistoryCache: BalanceHistoryCache, swapHistory: Array<SwapOperation>, syncHash: string?, nfts: Array<ProtoNFT>?}
-
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 -
feesCurrency
(CryptoCurrency | TokenCurrency)? -
unit
Unit -
operationsCount
number -
operations
Array<Operation> -
pendingOperations
Array<Operation> -
lastSyncDate
Date -
subAccounts
Array<TokenAccount>? -
balanceHistoryCache
BalanceHistoryCache -
swapHistory
Array<SwapOperation> -
syncHash
string? -
nfts
Array<ProtoNFT>?
deprecated use TokenAccount instead
Type: TokenAccount
One of the Account type
Type: (Account | TokenAccount)
An array of AccountLikes
Type: (Array<AccountLike> | Array<TokenAccount> | Array<Account>)
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?, balanceHistoryCache: BalanceHistoryCache?, swapHistory: Array<SwapOperationRaw>?, approvals: Array<{sender: string, value: string}>?}
-
type
"TokenAccountRaw"
-
id
string -
starred
boolean? -
parentId
string -
tokenId
string -
creationDate
string? -
operationsCount
number? -
operations
Array<OperationRaw> -
pendingOperations
Array<OperationRaw> -
balance
string -
spendableBalance
string? -
balanceHistoryCache
BalanceHistoryCache? -
swapHistory
Array<SwapOperationRaw>? -
approvals
Array<{sender: string, value: string}>?
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, feesCurrencyId: string?, operations: Array<OperationRaw>, pendingOperations: Array<OperationRaw>, unitMagnitude: number, lastSyncDate: string, subAccounts: Array<TokenAccountRaw>?, balanceHistoryCache: BalanceHistoryCache?, swapHistory: Array<SwapOperationRaw>?, syncHash: string?, nfts: Array<ProtoNFTRaw>?}
-
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 -
feesCurrencyId
string? -
operations
Array<OperationRaw> -
pendingOperations
Array<OperationRaw> -
unitMagnitude
number -
lastSyncDate
string -
subAccounts
Array<TokenAccountRaw>? -
balanceHistoryCache
BalanceHistoryCache? -
swapHistory
Array<SwapOperationRaw>? -
syncHash
string? -
nfts
Array<ProtoNFTRaw>?
Type: (AccountRaw | TokenAccountRaw)
Type: {type: string, version: string, currencyId: string, xpubOrAddress: string, derivationMode: DerivationMode}
-
type
string -
version
string -
currencyId
string -
xpubOrAddress
string -
derivationMode
DerivationMode
More events will come in the future
Type: {type: "discovered"
, account: AccountRaw}
-
type
"discovered"
-
account
AccountRaw
Unique identifier of a device. It will depend on the underlying implementation.
Type: string
Type: Partial<{preloadMaxAge: number}>
Type: {account: Account, signedOperation: SignedOperation}
-
account
Account -
signedOperation
SignedOperation
Type: {account: Account, transaction: T, deviceId: DeviceId}
Type: function (arg0: SignOperationArg0<T>): Observable<SignOperationEvent>
Abstraction related to a currency
Abstraction related to an account
This function mutates the 'accountRaw' object in-place to add any extra fields that the coin may need to set. It is called during the serialization mechanism, for instance bitcoinResources need to be serialized.
Type: function (account: Account, accountRaw: AccountRaw): void
-
account
Account The original account object. -
accountRaw
AccountRaw The account in its serialized form.
This function mutates the 'account' object in-place to add any extra fields that the coin may need to set. It is called during the deserialization mechanism, for instance bitcoinResources need to be deserialized.
Type: function (accountRaw: AccountRaw, account: Account): void
-
accountRaw
AccountRaw The account in its serialized form. -
account
Account The original account object.
This function mutates the 'account' object to extend it with any extra fields of the coin. For instance bitcoinResources needs to be created.
Type: function (account: Account): void
-
account
Account The original account object to mutates in-place.
Type: {FIXME_ignoreAccountFields: Array<string>?, FIXME_ignoreOperationFields: Array<string>?, FIXME_ignorePreloadFields: Array<string>?, IgnorePrepareTransactionFields: 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<CurrencyTransaction<T>>?, test: function (arg0: ExpectFn, arg1: Account, arg2: AccountBridge<T>): any?}>?, test: function (arg0: ExpectFn, arg1: CurrencyBridge): any?}
-
FIXME_ignoreAccountFields
Array<string>? -
FIXME_ignoreOperationFields
Array<string>? -
FIXME_ignorePreloadFields
Array<string>? -
IgnorePrepareTransactionFields
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<CurrencyTransaction<T>>?, test: function (arg0: ExpectFn, arg1: Account, arg2: AccountBridge<T>): any?}>? -
test
function (arg0: ExpectFn, arg1: CurrencyBridge): any?
Type: {implementations: Array<string>, currencies: (Record<CryptoCurrencyIds, CurrenciesData<T>> | Record<string, never>)}
-
implementations
Array<string> -
currencies
(Record<CryptoCurrencyIds, CurrenciesData<T>> | Record<string, never>)
DerivationMode is a string identifier of a specific derivation scheme in a list defined in live-common derivation.ts
Type: (""
| "ethM"
| "ethMM"
| "bch_on_bitcoin_segwit"
| "legacy_on_bch"
| "vertcoin_128"
| "vertcoin_128_segwit"
| "etcM"
| "aeternity"
| "tezbox"
| "tezosbip44h"
| "galleonL"
| "tezboxL"
| "taproot"
| "native_segwit"
| "segwit"
| "segwit_on_legacy"
| "legacy_on_segwit"
| "legacy_on_native_segwit"
| "segwit_unsplit"
| "sep5"
| "unsplit"
| "polkadotbip44"
| "glifLegacy"
| "glif"
| "filecoinBIP44"
| "casper_wallet"
| "solanaMain"
| "solanaSub"
| "hederaBip44"
| "cardano"
| "nearbip44h"
| "vechain"
| "internet_computer"
| "stacks_wallet"
)
Feature type.
Type: {enabled: boolean, desktop_version: string?, mobile_version: string?, enabledOverriddenForCurrentVersion: boolean?, languages_whitelisted: Array<string>?, languages_blacklisted: Array<string>?, enabledOverriddenForCurrentLanguage: boolean?, overridesRemote: boolean?, overriddenByEnv: boolean?, params: T?}
-
enabled
boolean -
desktop_version
string? -
mobile_version
string? -
enabledOverriddenForCurrentVersion
boolean? -
languages_whitelisted
Array<string>? -
languages_blacklisted
Array<string>? -
enabledOverriddenForCurrentLanguage
boolean? -
overridesRemote
boolean? -
overriddenByEnv
boolean? -
params
T?
If false, the feature is disabled (for every languages regardless of the languages_whitelisted option)
Type: boolean
The desktop_version
option is desktop specific, it has no impact on mobile
If set, the feature is disabled when the desktop app version does not satisfies this param
It should respect the semantic versioning specification (https://semver.org/)
Type: string
The mobile_version
option is mobile specific, it has no impact on mobile
If set, the feature is disabled when the mobile app version does not satisfies this param
It should respect the semantic versioning specification (https://semver.org/)
Type: string
Whether the remote value of enabled
was overriden due to desktop_version
or mobile_version
Type: boolean
You can optionnally use one of the two following options (languages_whitelisted and languages_blacklisted) (Only implemented on mobile for now) List of languages for which the feature is enabled (it will be disabled by default for all of the others)
List of languages for which the feature is disabled
Whether the remote value of enabled
was overriden due to languages_whitelisted
or languages_blacklisted
Type: boolean
Whether the remote value of this object was overriden locally
Type: boolean
Whether the remote value of this object was overriden by an environment variable
Type: boolean
Additional params
Type: T
Default Feature type.
Type: Feature<any>
Currency Features type.
Type: {currencyAvalancheCChain: DefaultFeature, currencyStacks: DefaultFeature, currencyOptimism: DefaultFeature, currencyOptimismGoerli: DefaultFeature, currencyArbitrum: DefaultFeature, currencyArbitrumSepolia: DefaultFeature, currencyRsk: DefaultFeature, currencyBittorrent: DefaultFeature, currencyEnergyWeb: DefaultFeature, currencyAstar: DefaultFeature, currencyMetis: DefaultFeature, currencyBoba: DefaultFeature, currencyMoonriver: DefaultFeature, currencyVelasEvm: DefaultFeature, currencySyscoin: DefaultFeature, currencyAxelar: DefaultFeature, currencySecretNetwork: DefaultFeature, currencySeiNetwork: DefaultFeature, currencyDesmos: DefaultFeature, currencyDydx: DefaultFeature, currencyUmee: DefaultFeature, currencyStargaze: DefaultFeature, currencyOnomy: DefaultFeature, currencyPersistence: DefaultFeature, currencyQuicksilver: DefaultFeature, currencyInternetComputer: DefaultFeature, currencyInjective: DefaultFeature, currencyTelosEvm: DefaultFeature, currencyCoreum: DefaultFeature, currencyPolygonZkEvm: DefaultFeature, currencyPolygonZkEvmTestnet: DefaultFeature, currencyBase: DefaultFeature, currencyBaseSepolia: DefaultFeature, currencyKlaytn: DefaultFeature, currencyVechain: DefaultFeature, currencyCasper: DefaultFeature, currencyNeonEvm: DefaultFeature, currencyLukso: DefaultFeature, currencyLinea: DefaultFeature, currencyLineaGoerli: DefaultFeature}
-
currencyAvalancheCChain
DefaultFeature -
currencyStacks
DefaultFeature -
currencyOptimism
DefaultFeature -
currencyOptimismGoerli
DefaultFeature -
currencyArbitrum
DefaultFeature -
currencyArbitrumSepolia
DefaultFeature -
currencyRsk
DefaultFeature -
currencyBittorrent
DefaultFeature -
currencyEnergyWeb
DefaultFeature -
currencyAstar
DefaultFeature -
currencyMetis
DefaultFeature -
currencyBoba
DefaultFeature -
currencyMoonriver
DefaultFeature -
currencyVelasEvm
DefaultFeature -
currencySyscoin
DefaultFeature -
currencyAxelar
DefaultFeature -
currencySecretNetwork
DefaultFeature -
currencySeiNetwork
DefaultFeature -
currencyDesmos
DefaultFeature -
currencyDydx
DefaultFeature -
currencyUmee
DefaultFeature -
currencyStargaze
DefaultFeature -
currencyOnomy
DefaultFeature -
currencyPersistence
DefaultFeature -
currencyQuicksilver
DefaultFeature -
currencyInternetComputer
DefaultFeature -
currencyInjective
DefaultFeature -
currencyTelosEvm
DefaultFeature -
currencyCoreum
DefaultFeature -
currencyPolygonZkEvm
DefaultFeature -
currencyPolygonZkEvmTestnet
DefaultFeature -
currencyBase
DefaultFeature -
currencyBaseSepolia
DefaultFeature -
currencyKlaytn
DefaultFeature -
currencyVechain
DefaultFeature -
currencyCasper
DefaultFeature -
currencyNeonEvm
DefaultFeature -
currencyLukso
DefaultFeature -
currencyLinea
DefaultFeature -
currencyLineaGoerli
DefaultFeature
Features type.
Type: any
FeatureId type.
Type: any
Features types.
Type: Feature<{listProvider: Array<{id: string, name: string, liveAppId: string, supportLink: string?, icon: string?, queryParams: Record<string, string>?}>}>
Utils types.
Type: any
Type: {firmware: string, firmwareKey: string, delete: string?, deleteKey: string?, targetId: (string | number)?, hash: string, perso: string}
-
firmware
string -
firmwareKey
string -
delete
string? -
deleteKey
string? -
targetId
(string | number)? -
hash
string -
perso
string
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?, bootloaderVersion: string?, hardwareVersion: number?, languageId: number?}
-
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? -
bootloaderVersion
string? -
hardwareVersion
number? -
languageId
number?
Type: {modelId: DeviceModelId, deviceInfo: DeviceInfo, apps: Array<{name: string, version: string}>}
-
modelId
DeviceModelId -
deviceInfo
DeviceInfo -
apps
Array<{name: string, version: string}>
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}
-
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
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}
-
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
Type: {isBootloader: boolean, rawVersion: string, targetId: number, seVersion: string?, mcuVersion: string, mcuBlVersion: string?, mcuTargetId: number?, seTargetId: number?, flags: Buffer, bootloaderVersion: string?, hardwareVersion: number?, languageId: number?}
-
isBootloader
boolean -
rawVersion
string -
targetId
number -
seVersion
string? -
mcuVersion
string -
mcuBlVersion
string? -
mcuTargetId
number? -
seTargetId
number? -
flags
Buffer -
bootloaderVersion
string? -
hardwareVersion
number? -
languageId
number?
Type: any
Type: any
Type: {osu: OsuFirmware, final: FinalFirmware, shouldFlashMCU: boolean}
-
osu
OsuFirmware -
final
FinalFirmware -
shouldFlashMCU
boolean
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?}
-
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?
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)}
-
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)
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), 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}
-
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) -
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
Type: {id: Id, name: string, description: (string | null | undefined), providers: Array<Id>, applications: Array<Id>, date_creation: string, date_last_modified: string}
-
id
Id -
name
string -
description
(string | null | undefined) -
providers
Array<Id> -
applications
Array<Id> -
date_creation
string -
date_last_modified
string
Type: ({type: "bulk-progress"
, progress: number, index: number, total: number} | {type: "result"
, payload: any} | {type: "warning"
, message: string} | {type: "device-permission-requested"
} | {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"
})
Type: ("ERC721"
| "ERC1155"
)
Type: ("preview"
| "big"
| "original"
)
Type: Record<NFTMediaSize, {uri: string, mediaType: string}>
Type: {tokenName: (string | null), nftName: (string | null), medias: NFTMedias, description: (string | null), properties: Array<Record<("key"
| "value"
), string>>, links: Record<NFTMetadataLinksProviders, string>, staxImage: string?}
-
tokenName
(string | null) -
nftName
(string | null) -
medias
NFTMedias -
description
(string | null) -
properties
Array<Record<("key"
|"value"
), string>> -
links
Record<NFTMetadataLinksProviders, string> -
staxImage
string?
Type: {tokenName: (string | null)}
-
tokenName
(string | null)
Type: {id: string, tokenId: string, amount: BigNumber, contract: string, standard: NFTStandard, currencyId: CryptoCurrencyIds, metadata: NFTMetadata?}
-
id
string -
tokenId
string -
amount
BigNumber -
contract
string -
standard
NFTStandard -
currencyId
CryptoCurrencyIds -
metadata
NFTMetadata?
Type: any
Type: any
Type: ("opensea"
| "rarible"
| "explorer"
)
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>, staxImage: string?} | null)?}
-
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>, staxImage: string?} | null)?
Type: {status: (200
| 404
| 500
), result: ({contract: string, tokenName: (string | null)} | null)?}
Type: {ticker: string, value: number}
Type: ("IN"
| "OUT"
| "NONE"
| "CREATE"
| "REVEAL"
| "DELEGATE"
| "UNDELEGATE"
| "REDELEGATE"
| "REWARD"
| "FEES"
| "FREEZE"
| "UNFREEZE"
| "WITHDRAW_EXPIRE_UNFREEZE"
| "UNDELEGATE_RESOURCE"
| "LEGACY_UNFREEZE"
| "VOTE"
| "REWARD_PAYOUT"
| "BOND"
| "UNBOND"
| "WITHDRAW_UNBONDED"
| "SET_CONTROLLER"
| "SLASH"
| "NOMINATE"
| "CHILL"
| "APPROVE"
| "OPT_IN"
| "OPT_OUT"
| "LOCK"
| "UNLOCK"
| "WITHDRAW"
| "REVOKE"
| "ACTIVATE"
| "REGISTER"
| "NFT_IN"
| "NFT_OUT"
| "STAKE"
| "UNSTAKE"
| "WITHDRAW_UNSTAKED"
)
An Operation is the Ledger Live abstraction of a transaction for any blockchain
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, hasFailed: boolean?, subOperations: Array<Operation>?, internalOperations: Array<Operation>?, nftOperations: Array<Operation>?, transactionRaw: TransactionCommonRaw?, extra: Extra}
-
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 -
hasFailed
boolean? -
subOperations
Array<Operation>? -
internalOperations
Array<Operation>? -
nftOperations
Array<Operation>? -
transactionRaw
TransactionCommonRaw? -
extra
Extra
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?}
Type: {paginationConfig: PaginationConfig, withoutSynchronize: boolean?, blacklistedTokenIds: Array<string>?}
-
paginationConfig
PaginationConfig -
withoutSynchronize
boolean? -
blacklistedTokenIds
Array<string>?
Type: {date: Date, value: number}
Type: Array<BalanceHistoryData>
Type: Array<any>
Type: {percentage: (number | null | undefined), value: number}
Type: {history: BalanceHistoryWithCountervalue, countervalueAvailable: boolean, countervalueReceiveSum: number, countervalueSendSum: number, cryptoChange: ValueChange, countervalueChange: ValueChange}
-
history
BalanceHistoryWithCountervalue -
countervalueAvailable
boolean -
countervalueReceiveSum
number -
countervalueSendSum
number -
cryptoChange
ValueChange -
countervalueChange
ValueChange
Type: {history: BalanceHistoryWithCountervalue, countervalueAvailable: boolean, histories: Array<BalanceHistoryWithCountervalue>, accounts: AccountLikeArray, cryptoChange: ValueChange, range: PortfolioRange, countervalueChange: ValueChange}
-
history
BalanceHistoryWithCountervalue -
countervalueAvailable
boolean -
histories
Array<BalanceHistoryWithCountervalue> -
accounts
AccountLikeArray -
cryptoChange
ValueChange -
range
PortfolioRange -
countervalueChange
ValueChange
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}
-
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
Type: {count: number?, granularityId: GranularityId, startOf: function (arg0: Date): Date, increment: number}
Type: ("all"
| "year"
| "month"
| "week"
| "day"
)
Type: {isAvailable: boolean, list: Array<DistributionItem>, showFirst: number, sum: number}
Unique identifier of a post onboarding action.
Navigation params when the user presses the button for this action
- In LLM, this will be used like this:
navigation.navigate(...getNavigationParams)
Type: function (options: {deviceModelId: DeviceModelId}): ([any] | [any, any])
The function to call when the user presses the button for this action
Type: function (args: {openModalCallback: function (modalName: any): void, navigationCallback: function (route: string): void, deviceModelId: DeviceModelId}): void
Optional Redux dispatch function
All necessary information for complete integration of a post onboarding action.
Type: any
Allow to display the action without letting the user access its flow
Type: boolean
If this action is linked to a feature that is enabled by a feature flag, use this property to identify the feature flag.
Type: FeatureId
Icon displayed for this action in the post onboarding hub.
Type: function (props: {size: ("XS"
| "S"
| "M"
| "L"
| "XL"
)?, color: string?, style: object?}): any
Title displayed for this action in the post onboarding hub.
Type: string
Title displayed for this action in the post onboarding hub when the action is completed.
Type: string
Description displayed for this action in the post onboarding hub.
Type: string
Tag displayed for this action in the post onboarding hub.
Type: string
Will appear in an success alert at the bottom of the post-onboarding hub after completing this action.
Type: string
Value to use in the "button" property of the event sent when the user triggers the action by pressing the button in the post onboarding hub.
Type: string
State of a post onboarding action.
Type: {completed: boolean}
-
completed
boolean
Whether the user has completed this action. This will be reflected in the UI of the post onboarding hub.
Type: boolean
To be used for a redux reducer. Keeps all necessary information about the state of the post onboarding hub and can be persisted in storage.
Type: {deviceModelId: (DeviceModelId | null), walletEntryPointDismissed: boolean, actionsToComplete: Array<PostOnboardingActionId>, actionsCompleted: any, lastActionCompleted: (PostOnboardingActionId | null), postOnboardingInProgress: boolean}
-
deviceModelId
(DeviceModelId | null) -
walletEntryPointDismissed
boolean -
actionsToComplete
Array<PostOnboardingActionId> -
actionsCompleted
any -
lastActionCompleted
(PostOnboardingActionId | null) -
postOnboardingInProgress
boolean
Model Id of the device for which the post onboarding was started.
Type: (DeviceModelId | null)
Did the user dismiss the post onboarding entry point on the wallet page.
Type: boolean
List of all actions that have to be completed in this post onboarding (whether they are completed or). This is used to populate the list of actions in the post onboarding hub UI.
Type: Array<PostOnboardingActionId>
"completed" state for each action.
Type: any
Last action that the user has completed.
This is used to display potentially different content in the post onboarding hub UI depending on the last action that was completed.
Type: (PostOnboardingActionId | null)
Did the user started the PostOnboarding without closing or finishing it ?
Type: boolean
Digest of the store & list of actions into something directly consumable by UI. (All UI data will be in there).
Type: {deviceModelId: (DeviceModelId | null), lastActionCompleted: (PostOnboardingAction | null), actionsState: Array<any>, postOnboardingInProgress: boolean}
-
deviceModelId
(DeviceModelId | null) -
lastActionCompleted
(PostOnboardingAction | null) -
actionsState
Array<any> -
postOnboardingInProgress
boolean
Type: {provider: string, swapId: string, status: string, receiverAccountId: string, tokenId: string?, operationId: string, fromAmount: BigNumber, toAmount: BigNumber}
-
provider
string -
swapId
string -
status
string -
receiverAccountId
string -
tokenId
string? -
operationId
string -
fromAmount
BigNumber -
toAmount
BigNumber
Type: {provider: string, swapId: string, status: string, receiverAccountId: string, tokenId: string?, operationId: string, fromAmount: string, toAmount: string}
-
provider
string -
swapId
string -
status
string -
receiverAccountId
string -
tokenId
string? -
operationId
string -
fromAmount
string -
toAmount
string
Type: {operation: Operation, signature: string, rawData: Record<string, any>?, expirationDate: Date?}
Type: {operation: OperationRaw, signature: string, rawData: Record<string, any>?, expirationDate: string?}
Type: ({type: "device-streaming"
, progress: number, index: number, total: number} | {type: "device-signature-requested"
} | {type: "device-signature-granted"
} | {type: "signed"
, signedOperation: SignedOperation})
Type: ({type: "device-streaming"
, progress: number, index: number, total: number} | {type: "device-signature-requested"
} | {type: "device-signature-granted"
} | {type: "signed"
, signedOperation: SignedOperationRaw})
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, recipientDomain: DomainServiceResolution?, useAllAmount: boolean?, subAccountId: (string | null | undefined)?, feesStrategy: ("slow"
| "medium"
| "fast"
| "custom"
| null)?}
-
amount
BigNumber -
recipient
string -
recipientDomain
DomainServiceResolution? -
useAllAmount
boolean? -
subAccountId
(string | null | undefined)? -
feesStrategy
("slow"
|"medium"
|"fast"
|"custom"
| null)?
Type: {amount: string, recipient: string, recipientDomain: DomainServiceResolution?, useAllAmount: boolean?, subAccountId: (string | null | undefined)?, feesStrategy: ("slow"
| "medium"
| "fast"
| "custom"
| null)?}
-
amount
string -
recipient
string -
recipientDomain
DomainServiceResolution? -
useAllAmount
boolean? -
subAccountId
(string | null | undefined)? -
feesStrategy
("slow"
|"medium"
|"fast"
|"custom"
| null)?
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?, txParameters: FeeStrategyTxParameters?, label: string, unit: Unit?, disabled: boolean?, extra: Record<string, BigNumber>?}
-
amount
BigNumber -
displayedAmount
BigNumber? -
txParameters
FeeStrategyTxParameters? -
label
string -
unit
Unit? -
disabled
boolean? -
extra
Record<string, BigNumber>?
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?}
-
errors
Record<string, Error> -
warnings
Record<string, Error> -
estimatedFees
BigNumber -
amount
BigNumber -
totalSpent
BigNumber -
recipientIsReadOnly
boolean?
Type: {errors: Record<string, string>, warnings: Record<string, string>, estimatedFees: string, amount: string, totalSpent: string, useAllAmount: boolean?, recipientIsReadOnly: boolean?}
-
errors
Record<string, string> -
warnings
Record<string, string> -
estimatedFees
string -
amount
string -
totalSpent
string -
useAllAmount
boolean? -
recipientIsReadOnly
boolean?
<<<<<<< HEAD
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, feesCurrency: (CryptoCurrency | TokenCurrency)?, unit: Unit, operationsCount: number, operations: Array<Operation>, pendingOperations: Array<Operation>, lastSyncDate: Date, subAccounts: Array<SubAccount>?, balanceHistoryCache: BalanceHistoryCache, swapHistory: Array<SwapOperation>, syncHash: string?, nfts: Array<ProtoNFT>?}
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, feesCurrency: (CryptoCurrency | TokenCurrency)?, unit: Unit, operationsCount: number, operations: Array<Operation>, pendingOperations: Array<Operation>, lastSyncDate: Date, endpointConfig: (string | null | undefined)?, subAccounts: Array<TokenAccount>?, balanceHistoryCache: BalanceHistoryCache, swapHistory: Array<SwapOperation>, syncHash: string?, nfts: Array<ProtoNFT>?}
804971b8d4 (chore: sunset unused ChildAccount 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 -
feesCurrency
(CryptoCurrency | TokenCurrency)? -
unit
Unit -
operationsCount
number -
operations
Array<Operation> -
pendingOperations
Array<Operation> -
lastSyncDate
Date <<<<<<< HEAD -
subAccounts
Array<SubAccount>? ======= -
endpointConfig
(string | null | undefined)? -
subAccounts
Array<TokenAccount>?
804971b8d4 (chore: sunset unused ChildAccount type)
-
balanceHistoryCache
BalanceHistoryCache -
swapHistory
Array<SwapOperation> -
syncHash
string? -
nfts
Array<ProtoNFT>?
deprecated use TokenAccount instead
Type: TokenAccount
One of the Account type
Type: (Account | TokenAccount)
An array of AccountLikes
Type: (Array<AccountLike> | Array<TokenAccount> | Array<Account>)
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?, balanceHistoryCache: BalanceHistoryCache?, swapHistory: Array<SwapOperationRaw>?, approvals: Array<{sender: string, value: string}>?}
-
type
"TokenAccountRaw"
-
id
string -
starred
boolean? -
parentId
string -
tokenId
string -
creationDate
string? -
operationsCount
number? -
operations
Array<OperationRaw> -
pendingOperations
Array<OperationRaw> -
balance
string -
spendableBalance
string? -
balanceHistoryCache
BalanceHistoryCache? -
swapHistory
Array<SwapOperationRaw>? -
approvals
Array<{sender: string, value: string}>?
<<<<<<< HEAD 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, feesCurrencyId: string?, operations: Array<OperationRaw>, pendingOperations: Array<OperationRaw>, unitMagnitude: number, lastSyncDate: string, subAccounts: Array<SubAccountRaw>?, balanceHistoryCache: BalanceHistoryCache?, swapHistory: Array<SwapOperationRaw>?, syncHash: string?, nfts: Array<ProtoNFTRaw>?}
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, feesCurrencyId: string?, operations: Array<OperationRaw>, pendingOperations: Array<OperationRaw>, unitMagnitude: number, lastSyncDate: string, endpointConfig: (string | null | undefined)?, subAccounts: Array<TokenAccountRaw>?, balanceHistoryCache: BalanceHistoryCache?, swapHistory: Array<SwapOperationRaw>?, syncHash: string?, nfts: Array<ProtoNFTRaw>?}
804971b8d4 (chore: sunset unused ChildAccount 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 -
feesCurrencyId
string? -
operations
Array<OperationRaw> -
pendingOperations
Array<OperationRaw> -
unitMagnitude
number -
lastSyncDate
string <<<<<<< HEAD -
subAccounts
Array<SubAccountRaw>? ======= -
endpointConfig
(string | null | undefined)? -
subAccounts
Array<TokenAccountRaw>?
804971b8d4 (chore: sunset unused ChildAccount type)
-
balanceHistoryCache
BalanceHistoryCache? -
swapHistory
Array<SwapOperationRaw>? -
syncHash
string? -
nfts
Array<ProtoNFTRaw>?
Type: (AccountRaw | TokenAccountRaw)
Type: {type: string, version: string, currencyId: string, xpubOrAddress: string, derivationMode: DerivationMode}
-
type
string -
version
string -
currencyId
string -
xpubOrAddress
string -
derivationMode
DerivationMode
More events will come in the future
Type: {type: "discovered"
, account: AccountRaw}
-
type
"discovered"
-
account
AccountRaw
Unique identifier of a device. It will depend on the underlying implementation.
Type: string
Type: Partial<{preloadMaxAge: number}>
Type: {account: Account, signedOperation: SignedOperation}
-
account
Account -
signedOperation
SignedOperation
Type: {account: Account, transaction: T, deviceId: DeviceId}
Type: function (arg0: SignOperationArg0<T>): Observable<SignOperationEvent>
Abstraction related to a currency
Abstraction related to an account
This function mutates the 'accountRaw' object in-place to add any extra fields that the coin may need to set. It is called during the serialization mechanism, for instance bitcoinResources need to be serialized.
Type: function (account: Account, accountRaw: AccountRaw): void
-
account
Account The original account object. -
accountRaw
AccountRaw The account in its serialized form.
This function mutates the 'account' object in-place to add any extra fields that the coin may need to set. It is called during the deserialization mechanism, for instance bitcoinResources need to be deserialized.
Type: function (accountRaw: AccountRaw, account: Account): void
-
accountRaw
AccountRaw The account in its serialized form. -
account
Account The original account object.
This function mutates the 'account' object to extend it with any extra fields of the coin. For instance bitcoinResources needs to be created.
Type: function (account: Account): void
-
account
Account The original account object to mutates in-place.
Type: {FIXME_ignoreAccountFields: Array<string>?, FIXME_ignoreOperationFields: Array<string>?, FIXME_ignorePreloadFields: Array<string>?, IgnorePrepareTransactionFields: 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<CurrencyTransaction<T>>?, test: function (arg0: ExpectFn, arg1: Account, arg2: AccountBridge<T>): any?}>?, test: function (arg0: ExpectFn, arg1: CurrencyBridge): any?}
-
FIXME_ignoreAccountFields
Array<string>? -
FIXME_ignoreOperationFields
Array<string>? -
FIXME_ignorePreloadFields
Array<string>? -
IgnorePrepareTransactionFields
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<CurrencyTransaction<T>>?, test: function (arg0: ExpectFn, arg1: Account, arg2: AccountBridge<T>): any?}>? -
test
function (arg0: ExpectFn, arg1: CurrencyBridge): any?
Type: {implementations: Array<string>, currencies: (Record<CryptoCurrencyIds, CurrenciesData<T>> | Record<string, never>)}
-
implementations
Array<string> -
currencies
(Record<CryptoCurrencyIds, CurrenciesData<T>> | Record<string, never>)
DerivationMode is a string identifier of a specific derivation scheme in a list defined in live-common derivation.ts
Type: (""
| "ethM"
| "ethMM"
| "bch_on_bitcoin_segwit"
| "legacy_on_bch"
| "vertcoin_128"
| "vertcoin_128_segwit"
| "etcM"
| "aeternity"
| "tezbox"
| "tezosbip44h"
| "galleonL"
| "tezboxL"
| "taproot"
| "native_segwit"
| "segwit"
| "segwit_on_legacy"
| "legacy_on_segwit"
| "legacy_on_native_segwit"
| "segwit_unsplit"
| "sep5"
| "unsplit"
| "polkadotbip44"
| "glifLegacy"
| "glif"
| "filecoinBIP44"
| "casper_wallet"
| "solanaMain"
| "solanaSub"
| "hederaBip44"
| "cardano"
| "nearbip44h"
| "vechain"
| "internet_computer"
| "stacks_wallet"
)
Feature type.
Type: {enabled: boolean, desktop_version: string?, mobile_version: string?, enabledOverriddenForCurrentVersion: boolean?, languages_whitelisted: Array<string>?, languages_blacklisted: Array<string>?, enabledOverriddenForCurrentLanguage: boolean?, overridesRemote: boolean?, overriddenByEnv: boolean?, params: T?}
-
enabled
boolean -
desktop_version
string? -
mobile_version
string? -
enabledOverriddenForCurrentVersion
boolean? -
languages_whitelisted
Array<string>? -
languages_blacklisted
Array<string>? -
enabledOverriddenForCurrentLanguage
boolean? -
overridesRemote
boolean? -
overriddenByEnv
boolean? -
params
T?
If false, the feature is disabled (for every languages regardless of the languages_whitelisted option)
Type: boolean
The desktop_version
option is desktop specific, it has no impact on mobile
If set, the feature is disabled when the desktop app version does not satisfies this param
It should respect the semantic versioning specification (https://semver.org/)
Type: string
The mobile_version
option is mobile specific, it has no impact on mobile
If set, the feature is disabled when the mobile app version does not satisfies this param
It should respect the semantic versioning specification (https://semver.org/)
Type: string
Whether the remote value of enabled
was overriden due to desktop_version
or mobile_version
Type: boolean
You can optionnally use one of the two following options (languages_whitelisted and languages_blacklisted) (Only implemented on mobile for now) List of languages for which the feature is enabled (it will be disabled by default for all of the others)
List of languages for which the feature is disabled
Whether the remote value of enabled
was overriden due to languages_whitelisted
or languages_blacklisted
Type: boolean
Whether the remote value of this object was overriden locally
Type: boolean
Whether the remote value of this object was overriden by an environment variable
Type: boolean
Additional params
Type: T
Default Feature type.
Type: Feature<any>
Currency Features type.
Type: {currencyAvalancheCChain: DefaultFeature, currencyStacks: DefaultFeature, currencyOptimism: DefaultFeature, currencyOptimismGoerli: DefaultFeature, currencyArbitrum: DefaultFeature, currencyArbitrumSepolia: DefaultFeature, currencyRsk: DefaultFeature, currencyBittorrent: DefaultFeature, currencyEnergyWeb: DefaultFeature, currencyAstar: DefaultFeature, currencyMetis: DefaultFeature, currencyBoba: DefaultFeature, currencyMoonriver: DefaultFeature, currencyVelasEvm: DefaultFeature, currencySyscoin: DefaultFeature, currencyAxelar: DefaultFeature, currencySecretNetwork: DefaultFeature, currencySeiNetwork: DefaultFeature, currencyDesmos: DefaultFeature, currencyDydx: DefaultFeature, currencyUmee: DefaultFeature, currencyStargaze: DefaultFeature, currencyOnomy: DefaultFeature, currencyPersistence: DefaultFeature, currencyQuicksilver: DefaultFeature, currencyInternetComputer: DefaultFeature, currencyInjective: DefaultFeature, currencyTelosEvm: DefaultFeature, currencyCoreum: DefaultFeature, currencyPolygonZkEvm: DefaultFeature, currencyPolygonZkEvmTestnet: DefaultFeature, currencyBase: DefaultFeature, currencyBaseSepolia: DefaultFeature, currencyKlaytn: DefaultFeature, currencyVechain: DefaultFeature, currencyCasper: DefaultFeature, currencyNeonEvm: DefaultFeature, currencyLukso: DefaultFeature, currencyLinea: DefaultFeature, currencyLineaGoerli: DefaultFeature}
-
currencyAvalancheCChain
DefaultFeature -
currencyStacks
DefaultFeature -
currencyOptimism
DefaultFeature -
currencyOptimismGoerli
DefaultFeature -
currencyArbitrum
DefaultFeature -
currencyArbitrumSepolia
DefaultFeature -
currencyRsk
DefaultFeature -
currencyBittorrent
DefaultFeature -
currencyEnergyWeb
DefaultFeature -
currencyAstar
DefaultFeature -
currencyMetis
DefaultFeature -
currencyBoba
DefaultFeature -
currencyMoonriver
DefaultFeature -
currencyVelasEvm
DefaultFeature -
currencySyscoin
DefaultFeature -
currencyAxelar
DefaultFeature -
currencySecretNetwork
DefaultFeature -
currencySeiNetwork
DefaultFeature -
currencyDesmos
DefaultFeature -
currencyDydx
DefaultFeature -
currencyUmee
DefaultFeature -
currencyStargaze
DefaultFeature -
currencyOnomy
DefaultFeature -
currencyPersistence
DefaultFeature -
currencyQuicksilver
DefaultFeature -
currencyInternetComputer
DefaultFeature -
currencyInjective
DefaultFeature -
currencyTelosEvm
DefaultFeature -
currencyCoreum
DefaultFeature -
currencyPolygonZkEvm
DefaultFeature -
currencyPolygonZkEvmTestnet
DefaultFeature -
currencyBase
DefaultFeature -
currencyBaseSepolia
DefaultFeature -
currencyKlaytn
DefaultFeature -
currencyVechain
DefaultFeature -
currencyCasper
DefaultFeature -
currencyNeonEvm
DefaultFeature -
currencyLukso
DefaultFeature -
currencyLinea
DefaultFeature -
currencyLineaGoerli
DefaultFeature
Features type.
Type: any
FeatureId type.
Type: any
Features types.
Type: Feature<{listProvider: Array<{id: string, name: string, liveAppId: string, supportLink: string?, icon: string?, queryParams: Record<string, string>?}>}>
Utils types.
Type: any
Type: {firmware: string, firmwareKey: string, delete: string?, deleteKey: string?, targetId: (string | number)?, hash: string, perso: string}
-
firmware
string -
firmwareKey
string -
delete
string? -
deleteKey
string? -
targetId
(string | number)? -
hash
string -
perso
string
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?, bootloaderVersion: string?, hardwareVersion: number?, languageId: number?}
-
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? -
bootloaderVersion
string? -
hardwareVersion
number? -
languageId
number?
Type: {modelId: DeviceModelId, deviceInfo: DeviceInfo, apps: Array<{name: string, version: string}>}
-
modelId
DeviceModelId -
deviceInfo
DeviceInfo -
apps
Array<{name: string, version: string}>
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}
-
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
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}
-
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
Type: {isBootloader: boolean, rawVersion: string, targetId: number, seVersion: string?, mcuVersion: string, mcuBlVersion: string?, mcuTargetId: number?, seTargetId: number?, flags: Buffer, bootloaderVersion: string?, hardwareVersion: number?, languageId: number?}
-
isBootloader
boolean -
rawVersion
string -
targetId
number -
seVersion
string? -
mcuVersion
string -
mcuBlVersion
string? -
mcuTargetId
number? -
seTargetId
number? -
flags
Buffer -
bootloaderVersion
string? -
hardwareVersion
number? -
languageId
number?
Type: any
Type: any
Type: {osu: OsuFirmware, final: FinalFirmware, shouldFlashMCU: boolean}
-
osu
OsuFirmware -
final
FinalFirmware -
shouldFlashMCU
boolean
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?}
-
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?
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)}
-
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)
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), 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}
-
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) -
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
Type: {id: Id, name: string, description: (string | null | undefined), providers: Array<Id>, applications: Array<Id>, date_creation: string, date_last_modified: string}
-
id
Id -
name
string -
description
(string | null | undefined) -
providers
Array<Id> -
applications
Array<Id> -
date_creation
string -
date_last_modified
string
Type: ({type: "bulk-progress"
, progress: number, index: number, total: number} | {type: "result"
, payload: any} | {type: "warning"
, message: string} | {type: "device-permission-requested"
} | {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"
})
Type: ("ERC721"
| "ERC1155"
)
Type: ("preview"
| "big"
| "original"
)
Type: Record<NFTMediaSize, {uri: string, mediaType: string}>
Type: {tokenName: (string | null), nftName: (string | null), medias: NFTMedias, description: (string | null), properties: Array<Record<("key"
| "value"
), string>>, links: Record<NFTMetadataLinksProviders, string>, staxImage: string?}
-
tokenName
(string | null) -
nftName
(string | null) -
medias
NFTMedias -
description
(string | null) -
properties
Array<Record<("key"
|"value"
), string>> -
links
Record<NFTMetadataLinksProviders, string> -
staxImage
string?
Type: {tokenName: (string | null)}
-
tokenName
(string | null)
Type: {id: string, tokenId: string, amount: BigNumber, contract: string, standard: NFTStandard, currencyId: CryptoCurrencyIds, metadata: NFTMetadata?}
-
id
string -
tokenId
string -
amount
BigNumber -
contract
string -
standard
NFTStandard -
currencyId
CryptoCurrencyIds -
metadata
NFTMetadata?
Type: any
Type: any
Type: ("opensea"
| "rarible"
| "explorer"
)
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>, staxImage: string?} | null)?}
-
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>, staxImage: string?} | null)?
Type: {status: (200
| 404
| 500
), result: ({contract: string, tokenName: (string | null)} | null)?}
Type: {ticker: string, value: number}
Type: ("IN"
| "OUT"
| "NONE"
| "CREATE"
| "REVEAL"
| "DELEGATE"
| "UNDELEGATE"
| "REDELEGATE"
| "REWARD"
| "FEES"
| "FREEZE"
| "UNFREEZE"
| "WITHDRAW_EXPIRE_UNFREEZE"
| "UNDELEGATE_RESOURCE"
| "LEGACY_UNFREEZE"
| "VOTE"
| "REWARD_PAYOUT"
| "BOND"
| "UNBOND"
| "WITHDRAW_UNBONDED"
| "SET_CONTROLLER"
| "SLASH"
| "NOMINATE"
| "CHILL"
| "APPROVE"
| "OPT_IN"
| "OPT_OUT"
| "LOCK"
| "UNLOCK"
| "WITHDRAW"
| "REVOKE"
| "ACTIVATE"
| "REGISTER"
| "NFT_IN"
| "NFT_OUT"
| "STAKE"
| "UNSTAKE"
| "WITHDRAW_UNSTAKED"
)
An Operation is the Ledger Live abstraction of a transaction for any blockchain
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, hasFailed: boolean?, subOperations: Array<Operation>?, internalOperations: Array<Operation>?, nftOperations: Array<Operation>?, transactionRaw: TransactionCommonRaw?, extra: Extra}
-
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 -
hasFailed
boolean? -
subOperations
Array<Operation>? -
internalOperations
Array<Operation>? -
nftOperations
Array<Operation>? -
transactionRaw
TransactionCommonRaw? -
extra
Extra
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?}
Type: {paginationConfig: PaginationConfig, withoutSynchronize: boolean?, blacklistedTokenIds: Array<string>?}
-
paginationConfig
PaginationConfig -
withoutSynchronize
boolean? -
blacklistedTokenIds
Array<string>?
Type: {date: Date, value: number}
Type: Array<BalanceHistoryData>
Type: Array<any>
Type: {percentage: (number | null | undefined), value: number}
Type: {history: BalanceHistoryWithCountervalue, countervalueAvailable: boolean, countervalueReceiveSum: number, countervalueSendSum: number, cryptoChange: ValueChange, countervalueChange: ValueChange}
-
history
BalanceHistoryWithCountervalue -
countervalueAvailable
boolean -
countervalueReceiveSum
number -
countervalueSendSum
number -
cryptoChange
ValueChange -
countervalueChange
ValueChange
Type: {history: BalanceHistoryWithCountervalue, countervalueAvailable: boolean, histories: Array<BalanceHistoryWithCountervalue>, accounts: AccountLikeArray, cryptoChange: ValueChange, range: PortfolioRange, countervalueChange: ValueChange}
-
history
BalanceHistoryWithCountervalue -
countervalueAvailable
boolean -
histories
Array<BalanceHistoryWithCountervalue> -
accounts
AccountLikeArray -
cryptoChange
ValueChange -
range
PortfolioRange -
countervalueChange
ValueChange
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}
-
balanceHistory
BalanceHistory -
balanceAvailable
boolean -
availableAccounts
Array<AccountLike> -
unavailableCurrencies
**Array<(Crypt