@ledgerhq/live-common
Version:
Common ground for the Ledger Live apps
183 lines (178 loc) • 6.63 kB
text/typescript
import { DeviceModelId } from "@ledgerhq/devices";
import { AppInfos } from "../enum/AppInfos";
import { DeviceLabels } from "../enum/DeviceLabels";
type LabelConfig = {
receiveVerify: {
[]: string;
default: string;
};
receiveConfirm: {
[]: string;
default: string;
};
delegateVerify: {
[]: string;
default: string;
};
delegateConfirm: {
[]: string;
default: string;
};
sendVerify: {
[]: string;
default: string;
};
sendConfirm: {
[]: string;
default: string;
};
};
type DeviceLabelsConfig = {
default: LabelConfig;
} & {
[]?: LabelConfig;
};
const TOUCHSCREEN_DEVICE_CONFIG: LabelConfig = {
receiveVerify: {
[]: DeviceLabels.VERIFY_BSC,
[]: DeviceLabels.VERIFY_COSMOS,
[]: DeviceLabels.VERIFY_ETHEREUM,
[]: DeviceLabels.VERIFY_POLKADOT,
[]: DeviceLabels.VERIFY_POLYGON,
[]: DeviceLabels.VERIFY_SOLANA_ADDRESS,
[]: DeviceLabels.PROVIDE_PUBLIC_KEY,
default: DeviceLabels.ADDRESS,
},
receiveConfirm: {
default: DeviceLabels.CONFIRM,
},
delegateVerify: {
[]: DeviceLabels.VIEW_HEADER,
default: DeviceLabels.REVIEW_OPERATION,
},
delegateConfirm: {
[]: DeviceLabels.CONTINUE_TO_ACTION,
default: DeviceLabels.HOLD_TO_SIGN,
},
sendVerify: {
default: DeviceLabels.REVIEW_OPERATION,
},
sendConfirm: {
default: DeviceLabels.HOLD_TO_SIGN,
},
};
export const DEVICE_LABELS_CONFIG: DeviceLabelsConfig = {
[]: {
receiveVerify: {
[]: DeviceLabels.VERIFY_ADDRESS,
[]: DeviceLabels.PUBKEY,
default: DeviceLabels.ADDRESS,
},
receiveConfirm: {
[]: DeviceLabels.CAPS_APPROVE,
[]: DeviceLabels.CAPS_APPROVE,
default: DeviceLabels.APPROVE,
},
delegateVerify: {
[]: DeviceLabels.TYPE_DELEGATE,
[]: DeviceLabels.RECEIVER,
[]: DeviceLabels.VIEW_HEADER,
[]: DeviceLabels.DELEGATE_FROM,
[]: DeviceLabels.REVIEW_OPERATION,
[]: DeviceLabels.CHAIN_ID,
[]: DeviceLabels.CHAIN_ID,
default: DeviceLabels.REVIEW_OPERATION,
},
delegateConfirm: {
[]: DeviceLabels.ACCEPT,
[]: DeviceLabels.SIGN,
[]: DeviceLabels.CONTINUE_TO_ACTION,
[]: DeviceLabels.APPROVE,
[]: DeviceLabels.ACCEPT_RISK,
default: DeviceLabels.CAPS_APPROVE,
},
sendVerify: {
[]: DeviceLabels.TRANSFER,
[]: DeviceLabels.TRANSACTION_TYPE,
[]: DeviceLabels.TYPE_SEND,
[]: DeviceLabels.CHAIN_STATEMINT,
default: DeviceLabels.REVIEW_OPERATION,
},
sendConfirm: {
[]: DeviceLabels.APPROVE,
[]: DeviceLabels.SIGN,
[]: DeviceLabels.SIGN,
[]: DeviceLabels.SIGN,
[]: DeviceLabels.SIGN,
[]: DeviceLabels.ACCEPT,
[]: DeviceLabels.APPROVE,
[]: DeviceLabels.ACCEPT,
[]: DeviceLabels.ACCEPT,
[]: DeviceLabels.ACCEPT,
[]: DeviceLabels.CONTINUE,
default: DeviceLabels.CAPS_APPROVE,
},
},
[]: TOUCHSCREEN_DEVICE_CONFIG,
[]: TOUCHSCREEN_DEVICE_CONFIG,
[]: TOUCHSCREEN_DEVICE_CONFIG,
default: {
receiveVerify: {
[]: DeviceLabels.VERIFY_BSC,
[]: DeviceLabels.PLEASE_REVIEW,
[]: DeviceLabels.VERIFY_ETHEREUM,
[]: DeviceLabels.PLEASE_REVIEW,
[]: DeviceLabels.VERIFY_POLYGON,
[]: DeviceLabels.VERIFY_SOLANA_ADDRESS,
default: DeviceLabels.ADDRESS,
},
receiveConfirm: {
[]: DeviceLabels.CONFIRM,
[]: DeviceLabels.CONFIRM,
[]: DeviceLabels.CAPS_APPROVE,
[]: DeviceLabels.CONFIRM,
[]: DeviceLabels.CAPS_APPROVE,
[]: DeviceLabels.CONFIRM,
[]: DeviceLabels.CONFIRM,
default: DeviceLabels.APPROVE,
},
delegateVerify: {
[]: DeviceLabels.PLEASE_REVIEW,
[]: DeviceLabels.RECEIVER,
[]: DeviceLabels.VIEW_HEADER,
[]: DeviceLabels.REVIEW_TRANSACTION_TO,
default: DeviceLabels.REVIEW_OPERATION,
},
delegateConfirm: {
[]: DeviceLabels.ACCEPT,
[]: DeviceLabels.ACCEPT_AND_SEND,
[]: DeviceLabels.CAPS_APPROVE,
[]: DeviceLabels.CAPS_APPROVE,
[]: DeviceLabels.SIGN,
[]: DeviceLabels.CONTINUE_TO_ACTION,
[]: DeviceLabels.CAPS_APPROVE,
[]: DeviceLabels.SIGN,
default: DeviceLabels.APPROVE,
},
sendVerify: {
[]: DeviceLabels.REVIEW_TRANSACTION_TO,
[]: DeviceLabels.TRANSACTION_TYPE,
default: DeviceLabels.REVIEW_OPERATION,
},
sendConfirm: {
[]: DeviceLabels.SIGN_TRANSACTION,
[]: DeviceLabels.SIGN,
[]: DeviceLabels.SIGN,
[]: DeviceLabels.SIGN,
[]: DeviceLabels.SIGN,
[]: DeviceLabels.ACCEPT,
[]: DeviceLabels.APPROVE,
[]: DeviceLabels.ACCEPT,
[]: DeviceLabels.SIGN_TRANSACTION,
[]: DeviceLabels.APPROVE,
[]: DeviceLabels.ACCEPT,
[]: DeviceLabels.ACCEPT,
default: DeviceLabels.CAPS_APPROVE,
},
},
};