UNPKG

@ledgerhq/live-common

Version:
73 lines 4.81 kB
import { Account, AccountLike, AnyMessage, SignedOperation } from "@ledgerhq/types-live"; import type { TrackingAPI } from "./tracking"; import { AppManifest, TranslatableString, WalletAPITransaction } from "./types"; import { Transaction } from "../generated/types"; import { Exchange } from "../exchange/types"; import { WalletState } from "@ledgerhq/live-wallet/store"; export declare function translateContent(content: string | TranslatableString, locale?: string): string; export type WalletAPIContext = { manifest: AppManifest; accounts: AccountLike[]; tracking: TrackingAPI; }; export declare function receiveOnAccountLogic(walletState: WalletState, { manifest, accounts, tracking }: WalletAPIContext, walletAccountId: string, uiNavigation: (account: AccountLike, parentAccount: Account | undefined, accountAddress: string) => Promise<string>, tokenCurrency?: string): Promise<string>; export declare function signTransactionLogic({ manifest, accounts, tracking }: WalletAPIContext, walletAccountId: string, transaction: WalletAPITransaction, uiNavigation: (account: AccountLike, parentAccount: Account | undefined, signFlowInfos: { canEditFees: boolean; hasFeesProvided: boolean; liveTx: Partial<Transaction>; }) => Promise<SignedOperation>, tokenCurrency?: string, isEmbeddedSwap?: boolean, partner?: string): Promise<SignedOperation>; export declare function signRawTransactionLogic({ manifest, accounts, tracking }: WalletAPIContext, walletAccountId: string, transaction: string, uiNavigation: (account: AccountLike, parentAccount: Account | undefined, transaction: string) => Promise<SignedOperation>): Promise<SignedOperation>; export declare function broadcastTransactionLogic({ manifest, accounts, tracking }: WalletAPIContext, walletAccountId: string, signedOperation: SignedOperation, uiNavigation: (account: AccountLike, parentAccount: Account | undefined, signedOperation: SignedOperation) => Promise<string>, tokenCurrency?: string): Promise<string>; export declare function signMessageLogic({ manifest, accounts, tracking }: WalletAPIContext, walletAccountId: string, message: string, uiNavigation: (account: AccountLike, message: AnyMessage) => Promise<Buffer>): Promise<Buffer>; export declare const bitcoinFamilyAccountGetAddressLogic: ({ manifest, accounts, tracking }: WalletAPIContext, walletAccountId: string, derivationPath?: string) => Promise<string>; export declare const bitcoinFamilyAccountGetPublicKeyLogic: ({ manifest, accounts, tracking }: WalletAPIContext, walletAccountId: string, derivationPath?: string) => Promise<string>; export declare const bitcoinFamilyAccountGetXPubLogic: ({ manifest, accounts, tracking }: WalletAPIContext, walletAccountId: string) => Promise<string>; export interface BitcoinGetAddressesResultItem { address: string; publicKey?: string; path?: string; intention?: string; } export declare const bitcoinFamilyAccountGetAddressesLogic: ({ manifest, accounts, tracking }: WalletAPIContext, walletAccountId: string, intentions?: string[]) => Promise<BitcoinGetAddressesResultItem[]>; export declare function startExchangeLogic({ manifest, tracking }: WalletAPIContext, exchangeType: "SWAP" | "FUND" | "SELL" | "SWAP_NG" | "SELL_NG" | "FUND_NG", uiNavigation: (exchangeType: "SWAP" | "FUND" | "SELL" | "SWAP_NG" | "SELL_NG" | "FUND_NG") => Promise<string>): Promise<string>; export type CompleteExchangeRequest = { provider: string; fromAccountId: string; toAccountId?: string; transaction: WalletAPITransaction; binaryPayload: string; signature: string; feesStrategy: string; exchangeType: number; swapId?: string; rate?: number; amountExpectedTo?: number; tokenCurrency?: string; }; export type CompleteExchangeUiRequest = { provider: string; exchange: Exchange; transaction: Transaction; binaryPayload: string; signature: string; feesStrategy: string; exchangeType: number; swapId?: string; rate?: number; amountExpectedTo?: number; tokenCurrency?: string; }; export declare function completeExchangeLogic({ manifest, accounts, tracking }: WalletAPIContext, { provider, fromAccountId, toAccountId, transaction, binaryPayload, signature, feesStrategy, exchangeType, swapId, rate, tokenCurrency, }: CompleteExchangeRequest, uiNavigation: (request: CompleteExchangeUiRequest) => Promise<string>): Promise<string>; type StorageGetArgs = { key: string; storeId: string; }; type StorageSetArgs = { key: string; value: unknown; storeId: string; }; type StorageHandlerArgs = StorageGetArgs | StorageSetArgs; export declare function protectStorageLogic<T extends StorageHandlerArgs, R>(manifest: AppManifest, handler: (args: T) => R): (args: T) => R; export {}; //# sourceMappingURL=logic.d.ts.map