@onekeyfe/hd-transport 1.2.0-alpha.8 → 1.2.0-alpha.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/__tests__/messages.test.js +62 -0
  2. package/__tests__/protocol-v2-link-manager.test.js +326 -0
  3. package/__tests__/protocol-v2-usb-transport-base.test.js +296 -0
  4. package/__tests__/protocol-v2.test.js +112 -4
  5. package/dist/constants.d.ts +2 -0
  6. package/dist/constants.d.ts.map +1 -1
  7. package/dist/index.d.ts +164 -6
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +352 -29
  10. package/dist/protocols/index.d.ts +2 -0
  11. package/dist/protocols/index.d.ts.map +1 -1
  12. package/dist/protocols/v2/constants.d.ts +1 -0
  13. package/dist/protocols/v2/constants.d.ts.map +1 -1
  14. package/dist/protocols/v2/decode.d.ts +1 -0
  15. package/dist/protocols/v2/decode.d.ts.map +1 -1
  16. package/dist/protocols/v2/link-manager.d.ts +35 -0
  17. package/dist/protocols/v2/link-manager.d.ts.map +1 -0
  18. package/dist/protocols/v2/sequence-cursor.d.ts +5 -0
  19. package/dist/protocols/v2/sequence-cursor.d.ts.map +1 -0
  20. package/dist/protocols/v2/session.d.ts +15 -3
  21. package/dist/protocols/v2/session.d.ts.map +1 -1
  22. package/dist/protocols/v2/usb-transport-base.d.ts +31 -0
  23. package/dist/protocols/v2/usb-transport-base.d.ts.map +1 -0
  24. package/dist/types/messages.d.ts +51 -1
  25. package/dist/types/messages.d.ts.map +1 -1
  26. package/dist/types/transport.d.ts +1 -1
  27. package/dist/types/transport.d.ts.map +1 -1
  28. package/messages-protocol-v2.json +134 -3
  29. package/package.json +2 -2
  30. package/scripts/protobuf-build.sh +46 -0
  31. package/src/constants.ts +6 -0
  32. package/src/index.ts +8 -0
  33. package/src/protocols/index.ts +3 -1
  34. package/src/protocols/v2/constants.ts +1 -0
  35. package/src/protocols/v2/decode.ts +36 -17
  36. package/src/protocols/v2/link-manager.ts +160 -0
  37. package/src/protocols/v2/sequence-cursor.ts +10 -0
  38. package/src/protocols/v2/session.ts +76 -40
  39. package/src/protocols/v2/usb-transport-base.ts +194 -0
  40. package/src/types/messages.ts +65 -1
  41. package/src/types/transport.ts +1 -1
@@ -1,10 +1,17 @@
1
1
  import { ProtocolV2FrameAssembler, concatUint8Arrays } from './frame-assembler';
2
+ import { ProtocolV2SequenceCursor } from './sequence-cursor';
2
3
  import type { Root } from 'protobufjs/light';
3
4
  import type { MessageFromOneKey } from '../../types';
4
5
  export type ProtocolV2Schemas = {
5
6
  protocolV1: Root;
6
7
  protocolV2: Root;
7
8
  };
9
+ export type ProtocolV2CallContext = {
10
+ messageName: string;
11
+ timeoutMs?: number;
12
+ highVolume: boolean;
13
+ generation: number;
14
+ };
8
15
  type ProtocolLogger = {
9
16
  debug?: (...args: any[]) => void;
10
17
  error?: (...args: any[]) => void;
@@ -13,11 +20,15 @@ export type ProtocolV2SessionOptions = {
13
20
  schemas: ProtocolV2Schemas;
14
21
  router: number;
15
22
  packetSrc?: number;
16
- writeFrame: (frame: Uint8Array) => Promise<void>;
17
- readFrame: () => Promise<Uint8Array>;
23
+ maxFrameBytes?: number;
24
+ prepareCall?: (context: ProtocolV2CallContext) => Promise<void> | void;
25
+ writeFrame: (frame: Uint8Array, context: ProtocolV2CallContext) => Promise<void>;
26
+ readFrame: (context: ProtocolV2CallContext) => Promise<Uint8Array>;
18
27
  logger?: ProtocolLogger;
19
28
  logPrefix?: string;
20
29
  createTimeoutError?: (name: string, timeoutMs: number) => Error;
30
+ sequenceCursor?: ProtocolV2SequenceCursor;
31
+ generation?: number;
21
32
  };
22
33
  export type ProtocolV2CallOptions = {
23
34
  timeoutMs?: number;
@@ -26,6 +37,7 @@ export type ProtocolV2CallOptions = {
26
37
  onIntermediateResponse?: (response: MessageFromOneKey) => void;
27
38
  };
28
39
  export { concatUint8Arrays, ProtocolV2FrameAssembler };
40
+ export { ProtocolV2SequenceCursor };
29
41
  export declare function hexToBytes(hex: string): Uint8Array;
30
42
  export declare function bytesToHex(bytes: Uint8Array): string;
31
43
  export declare function getErrorMessage(error: unknown): string;
@@ -33,8 +45,8 @@ export declare function withProtocolTimeout<T>(promise: Promise<T>, timeoutMs: n
33
45
  export declare const PROTOCOL_V2_WRITE_WATCHDOG_TIMEOUT_MS = 0;
34
46
  export declare class ProtocolV2Session {
35
47
  private readonly options;
48
+ private readonly sequenceCursor;
36
49
  private pendingCall;
37
- private protoSeq;
38
50
  constructor(options: ProtocolV2SessionOptions);
39
51
  call(name: string, data: Record<string, unknown>, callOptions?: ProtocolV2CallOptions): Promise<MessageFromOneKey>;
40
52
  private executeCall;
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/protocols/v2/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/protocols/v2/session.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import type { MessageFromOneKey, TransportCallOptions } from '../../types';
2
+ import type { ProtocolV2CallContext, ProtocolV2Schemas, ProtocolV2SessionOptions } from './session';
3
+ export type ProtocolV2UsbTransportBaseOptions = {
4
+ router: number;
5
+ maxFrameBytes: number;
6
+ logPrefix: string;
7
+ };
8
+ export declare abstract class ProtocolV2UsbTransportBase<Key> {
9
+ private readonly protocolV2UsbLinks;
10
+ private readonly protocolV2UsbAssemblers;
11
+ private readonly protocolV2UsbGenerations;
12
+ private readonly protocolV2UsbCancellations;
13
+ private readonly protocolV2UsbOptions;
14
+ protected constructor(options: ProtocolV2UsbTransportBaseOptions);
15
+ protected abstract getProtocolV2UsbSchemas(): ProtocolV2Schemas;
16
+ protected abstract getProtocolV2UsbLogger(): ProtocolV2SessionOptions['logger'];
17
+ protected abstract writeProtocolV2UsbPacket(key: Key, frame: Uint8Array, context: ProtocolV2CallContext): Promise<void>;
18
+ protected abstract readProtocolV2UsbPacket(key: Key, context: ProtocolV2CallContext): Promise<Uint8Array>;
19
+ protected abstract resetProtocolV2UsbNativeLink(key: Key, reason: string): Promise<void>;
20
+ protected abstract createProtocolV2UsbTimeoutError(name: string, timeoutMs: number): Error;
21
+ protected onProtocolV2UsbLinkInvalidated(_key: Key, _reason: string): Promise<void> | void;
22
+ protected rotateProtocolV2UsbGeneration(key: Key, reason: string): Promise<number>;
23
+ protected callProtocolV2Usb(key: Key, name: string, data: Record<string, unknown>, options?: TransportCallOptions): Promise<MessageFromOneKey>;
24
+ protected invalidateProtocolV2UsbLink(key: Key, reason: string): Promise<void>;
25
+ protected invalidateAllProtocolV2UsbLinks(reason: string): Promise<void>;
26
+ protected disposeProtocolV2UsbLinks(reason: string): Promise<void>;
27
+ private createProtocolV2UsbAdapter;
28
+ private getProtocolV2UsbAssembler;
29
+ private createProtocolV2UsbCancellation;
30
+ }
31
+ //# sourceMappingURL=usb-transport-base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usb-transport-base.d.ts","sourceRoot":"","sources":["../../../src/protocols/v2/usb-transport-base.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAC3E,OAAO,KAAK,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAEpG,MAAM,MAAM,iCAAiC,GAAG;IAC9C,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AASF,8BAAsB,0BAA0B,CAAC,GAAG;IAClD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA6B;IAEhE,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAA4C;IAEpF,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAA0B;IAEnE,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAA6C;IAExF,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAoC;IAEzE,SAAS,aAAa,OAAO,EAAE,iCAAiC;IAahE,SAAS,CAAC,QAAQ,CAAC,uBAAuB,IAAI,iBAAiB;IAE/D,SAAS,CAAC,QAAQ,CAAC,sBAAsB,IAAI,wBAAwB,CAAC,QAAQ,CAAC;IAE/E,SAAS,CAAC,QAAQ,CAAC,wBAAwB,CACzC,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,IAAI,CAAC;IAEhB,SAAS,CAAC,QAAQ,CAAC,uBAAuB,CACxC,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,UAAU,CAAC;IAEtB,SAAS,CAAC,QAAQ,CAAC,4BAA4B,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAExF,SAAS,CAAC,QAAQ,CAAC,+BAA+B,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,KAAK;IAE1F,SAAS,CAAC,8BAA8B,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;cAI1E,6BAA6B,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAYxF,SAAS,CAAC,iBAAiB,CACzB,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,iBAAiB,CAAC;IAU7B,SAAS,CAAC,2BAA2B,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9E,SAAS,CAAC,+BAA+B,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;cAIxD,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOxE,OAAO,CAAC,0BAA0B;IA8DlC,OAAO,CAAC,yBAAyB;IAQjC,OAAO,CAAC,+BAA+B;CAexC"}
@@ -3351,6 +3351,13 @@ export type TxAckPaymentRequest = {
3351
3351
  amount?: UintType;
3352
3352
  signature: string;
3353
3353
  };
3354
+ export type EthereumSignTypedDataQR = {
3355
+ address_n: number[];
3356
+ json_data?: string;
3357
+ chain_id?: number;
3358
+ metamask_v4_compat?: boolean;
3359
+ request_id?: string;
3360
+ };
3354
3361
  export type InternalMyAddressRequest = {
3355
3362
  coin_type: number;
3356
3363
  chain_id: number;
@@ -3427,11 +3434,22 @@ export type ViewTip = {
3427
3434
  type: ViewTipType;
3428
3435
  text: string;
3429
3436
  };
3437
+ export type ViewRawData = {
3438
+ initial_data: string;
3439
+ placeholder: number;
3440
+ };
3441
+ export declare enum ViewSignLayout {
3442
+ LayoutDefault = 0,
3443
+ LayoutSafeTxCreate = 1
3444
+ }
3430
3445
  export type ViewSignPage = {
3431
3446
  title: string;
3432
3447
  amount?: UintType;
3433
3448
  general: ViewDetail[];
3434
3449
  tip?: ViewTip;
3450
+ raw_data?: ViewRawData;
3451
+ slide_to_confirm?: boolean;
3452
+ layout?: ViewSignLayout;
3435
3453
  };
3436
3454
  export type ViewVerifyPage = {
3437
3455
  title: string;
@@ -3650,6 +3668,28 @@ export type DeviceStatus = {
3650
3668
  attach_to_pin_enabled?: boolean;
3651
3669
  unlocked_by_attach_to_pin?: boolean;
3652
3670
  };
3671
+ export type DeviceStatusGet = {};
3672
+ export declare enum DevOnboardingStage {
3673
+ DEV_ONBOARDING_STAGE_UNKNOWN = 0,
3674
+ DEV_ONBOARDING_STAGE_SAFETY_CHECK = 1,
3675
+ DEV_ONBOARDING_STAGE_PERSONALIZATION = 2,
3676
+ DEV_ONBOARDING_STAGE_SELECT_SETUP_METHOD = 3,
3677
+ DEV_ONBOARDING_STAGE_NEW_DEVICE = 4,
3678
+ DEV_ONBOARDING_STAGE_SELECT_RESTORE_METHOD = 5,
3679
+ DEV_ONBOARDING_STAGE_RESTORE_MNEMONIC = 6,
3680
+ DEV_ONBOARDING_STAGE_RESTORE_SEEDCARD = 7,
3681
+ DEV_ONBOARDING_STAGE_WALLET_READY = 8,
3682
+ DEV_ONBOARDING_STAGE_SEEDCARD_BACKUP_PROMPT = 9,
3683
+ DEV_ONBOARDING_STAGE_SELECT_SEEDCARD_BACKUP_METHOD = 10,
3684
+ DEV_ONBOARDING_STAGE_SEEDCARD_BACKUP = 11,
3685
+ DEV_ONBOARDING_STAGE_DONE = 12
3686
+ }
3687
+ export type DevGetOnboardingStatus = {};
3688
+ export type DevOnboardingStatus = {
3689
+ stage: DevOnboardingStage;
3690
+ status_code?: number;
3691
+ detail_code?: number;
3692
+ };
3653
3693
  export type FilesystemPermissionFix = {};
3654
3694
  export type FilesystemPathInfo = {
3655
3695
  exist: boolean;
@@ -3706,7 +3746,11 @@ export type FilesystemDirMake = {
3706
3746
  export type FilesystemDirRemove = {
3707
3747
  path: string;
3708
3748
  };
3709
- export type FilesystemFormat = {};
3749
+ export type FilesystemFormat = {
3750
+ data: boolean;
3751
+ user: boolean;
3752
+ };
3753
+ export type PortfolioUpdate = {};
3710
3754
  export type MessageType = {
3711
3755
  AlephiumGetAddress: AlephiumGetAddress;
3712
3756
  AlephiumAddress: AlephiumAddress;
@@ -4270,6 +4314,7 @@ export type MessageType = {
4270
4314
  CoinPurchaseMemo: CoinPurchaseMemo;
4271
4315
  PaymentRequestMemo: PaymentRequestMemo;
4272
4316
  TxAckPaymentRequest: TxAckPaymentRequest;
4317
+ EthereumSignTypedDataQR: EthereumSignTypedDataQR;
4273
4318
  InternalMyAddressRequest: InternalMyAddressRequest;
4274
4319
  StartSession: StartSession;
4275
4320
  SetBusy: SetBusy;
@@ -4286,6 +4331,7 @@ export type MessageType = {
4286
4331
  ViewAmount: ViewAmount;
4287
4332
  ViewDetail: ViewDetail;
4288
4333
  ViewTip: ViewTip;
4334
+ ViewRawData: ViewRawData;
4289
4335
  ViewSignPage: ViewSignPage;
4290
4336
  ViewVerifyPage: ViewVerifyPage;
4291
4337
  ProtocolInfoRequest: ProtocolInfoRequest;
@@ -4322,6 +4368,9 @@ export type MessageType = {
4322
4368
  DeviceSessionGet: DeviceSessionGet;
4323
4369
  DeviceSession: DeviceSession;
4324
4370
  DeviceStatus: DeviceStatus;
4371
+ DeviceStatusGet: DeviceStatusGet;
4372
+ DevGetOnboardingStatus: DevGetOnboardingStatus;
4373
+ DevOnboardingStatus: DevOnboardingStatus;
4325
4374
  FilesystemPermissionFix: FilesystemPermissionFix;
4326
4375
  FilesystemPathInfo: FilesystemPathInfo;
4327
4376
  FilesystemPathInfoQuery: FilesystemPathInfoQuery;
@@ -4334,6 +4383,7 @@ export type MessageType = {
4334
4383
  FilesystemDirMake: FilesystemDirMake;
4335
4384
  FilesystemDirRemove: FilesystemDirRemove;
4336
4385
  FilesystemFormat: FilesystemFormat;
4386
+ PortfolioUpdate: PortfolioUpdate;
4337
4387
  };
4338
4388
  export type MessageKey = keyof MessageType;
4339
4389
  export type MessageResponse<T extends MessageKey> = {