@ledgerhq/live-common
Version:
Common ground for the Ledger Live apps
108 lines • 3.41 kB
TypeScript
import type { Operation, OperationRaw, TransactionCommon, TransactionCommonRaw } from "@ledgerhq/types-live";
import type { GetAddressFn } from "@ledgerhq/ledger-wallet-framework/bridge/getAddressWrapper";
import type { SignerContext } from "@ledgerhq/ledger-wallet-framework/signer";
import BigNumber from "bignumber.js";
type NetworkInfo = {
fees: BigNumber;
};
type NetworkInfoRaw = {
fees: string;
};
type Strategy = "slow" | "medium" | "fast";
export type FeeData = {
maxFeePerGas: BigNumber | null;
maxPriorityFeePerGas: BigNumber | null;
gasPrice: BigNumber | null;
nextBaseFee: BigNumber | null;
};
export type FeeDataRaw = {
maxFeePerGas: string | null;
maxPriorityFeePerGas: string | null;
gasPrice: string | null;
nextBaseFee: string | null;
};
export type GasOptions = {
[key in Strategy]: FeeData;
};
export type GasOptionsRaw = {
[key in Strategy]: FeeDataRaw;
};
export type GenericTransaction = TransactionCommon & {
family: string;
fees?: BigNumber | null;
storageLimit?: BigNumber | null;
customFees?: {
parameters: {
fees?: BigNumber | null;
};
};
tag?: number | null | undefined;
nonce?: BigNumber | null | undefined;
memoType?: string | null;
memoValue?: string | null;
data?: Buffer;
mode?: "send" | "changeTrust" | "send-legacy" | "send-eip1559" | "delegate" | "stake" | "undelegate" | "unstake";
type?: number | null;
assetReference?: string;
assetOwner?: string;
networkInfo?: NetworkInfo | null;
chainId?: number | null;
gasLimit?: BigNumber | null;
customGasLimit?: BigNumber | null;
gasPrice?: BigNumber | null;
maxFeePerGas?: BigNumber | null;
maxPriorityFeePerGas?: BigNumber | null;
additionalFees?: BigNumber | null;
gasOptions?: GasOptions;
sponsored?: boolean;
};
export type GenericTransactionRaw = TransactionCommonRaw & {
family: string;
fees?: string | null;
storageLimit?: string | null;
customFees?: {
parameters: {
fees?: string | null;
};
};
tag?: number | null | undefined;
nonce?: string | null | undefined;
memoType?: string | null;
memoValue?: string | null;
data?: string;
mode?: "send" | "changeTrust" | "send-legacy" | "send-eip1559" | "delegate" | "stake" | "undelegate" | "unstake";
type?: number | null;
assetReference?: string | null;
assetOwner?: string | null;
networkInfo?: NetworkInfoRaw | null;
chainId?: number | null;
gasLimit?: string | null;
customGasLimit?: string | null;
gasPrice?: string | null;
maxFeePerGas?: string | null;
maxPriorityFeePerGas?: string | null;
additionalFees?: string | null;
gasOptions?: GasOptionsRaw;
sponsored?: boolean;
};
export interface OperationCommon extends Operation {
extra: Record<string, any>;
}
export interface OperationCommonRaw extends OperationRaw {
extra: Record<string, any>;
}
export type LegacySigner = {
signTransaction: (path: string, rawTxHex: string) => Promise<string>;
};
export type AlpacaSigner<S = unknown> = {
getAddress: GetAddressFn;
signMessage?: (message: string) => Promise<string>;
context: SignerContext<S>;
};
export type SignTransactionOptions = {
rawTxHex: string;
path: string;
transaction: Buffer;
};
export {};
//# sourceMappingURL=types.d.ts.map