@ledgerhq/live-common
Version:
Common ground for the Ledger Live apps
48 lines • 2.67 kB
TypeScript
import { RPCHandler } from "@ledgerhq/wallet-api-server";
import { Account, AccountLike, AnyMessage, Operation, SignedOperation } from "@ledgerhq/types-live";
import { MessageSignParams, MessageSignResult, SignOptions, TransactionOptions, TransactionSignAndBroadcastParams, TransactionSignAndBroadcastResult, TransactionSignParams, TransactionSignResult, RegisterYieldBearingEthereumAddressParams, RegisterYieldBearingEthereumAddressResult } from "@ledgerhq/wallet-api-acre-module";
import { Transaction } from "../../generated/types";
import { AppManifest } from "../types";
import { TrackingAPI } from "./tracking";
export type ACREUiHooks = {
"custom.acre.messageSign": (params: {
account: AccountLike;
message: AnyMessage;
options?: SignOptions;
onSuccess: (signature: string) => void;
onError: (error: Error) => void;
onCancel: () => void;
}) => void;
"custom.acre.transactionSign": (params: {
account: AccountLike;
parentAccount: Account | undefined;
signFlowInfos: {
canEditFees: boolean;
hasFeesProvided: boolean;
liveTx: Partial<Transaction>;
};
options?: TransactionOptions;
onSuccess: (signedOperation: SignedOperation) => void;
onError: (error: Error) => void;
}) => void;
"custom.acre.transactionBroadcast"?: (account: AccountLike, parentAccount: Account | undefined, mainAccount: Account, optimisticOperation: Operation) => void;
"custom.acre.registerAccount": (params: {
parentAccount: Account;
accountName: string;
existingAccounts: Account[];
onSuccess: () => void;
onError: (error: Error) => void;
}) => void;
};
export declare const handlers: ({ accounts, tracking, manifest, uiHooks: { "custom.acre.messageSign": uiMessageSign, "custom.acre.transactionSign": uiTransactionSign, "custom.acre.transactionBroadcast": uiTransactionBroadcast, "custom.acre.registerAccount": uiRegisterAccount, }, }: {
accounts: AccountLike[];
tracking: TrackingAPI;
manifest: AppManifest;
uiHooks: ACREUiHooks;
}) => {
readonly "custom.acre.messageSign": RPCHandler<MessageSignResult, MessageSignParams>;
readonly "custom.acre.transactionSign": RPCHandler<TransactionSignResult, TransactionSignParams>;
readonly "custom.acre.transactionSignAndBroadcast": RPCHandler<TransactionSignAndBroadcastResult, TransactionSignAndBroadcastParams>;
readonly "custom.acre.registerYieldBearingEthereumAddress": RPCHandler<RegisterYieldBearingEthereumAddressResult, RegisterYieldBearingEthereumAddressParams>;
};
//# sourceMappingURL=server.d.ts.map