@onekeyfe/hd-core 1.2.0-alpha.147 → 1.2.0-alpha.149
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.
- package/__tests__/device-lifecycle-events.test.ts +177 -2
- package/__tests__/device-utils.test.ts +8 -0
- package/__tests__/deviceUploadNft.test.ts +3 -0
- package/__tests__/protocol-v2-resources.test.ts +35 -89
- package/__tests__/protocol-v2-unlock-policy.test.ts +72 -0
- package/__tests__/protocol-v2.test.ts +51 -188
- package/dist/api/FirmwareUpdateV4.d.ts.map +1 -1
- package/dist/api/device/DeviceRebootToBoardloader.d.ts.map +1 -1
- package/dist/api/device/DeviceRebootToBootloader.d.ts.map +1 -1
- package/dist/api/protocol-v2/DeviceReboot.d.ts +1 -1
- package/dist/api/protocol-v2/DeviceReboot.d.ts.map +1 -1
- package/dist/api/protocol-v2/DeviceUploadNft.d.ts.map +1 -1
- package/dist/api/protocol-v2/DeviceUploadWallpaper.d.ts.map +1 -1
- package/dist/core/index.d.ts +2 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/device/Device.d.ts +6 -0
- package/dist/device/Device.d.ts.map +1 -1
- package/dist/index.d.ts +17 -20
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +212 -314
- package/dist/protocols/protocol-v2/resources.d.ts +11 -7
- package/dist/protocols/protocol-v2/resources.d.ts.map +1 -1
- package/dist/types/settings.d.ts +0 -13
- package/dist/types/settings.d.ts.map +1 -1
- package/dist/utils/deviceInfoUtils.d.ts.map +1 -1
- package/package.json +4 -4
- package/src/api/FirmwareUpdateV4.ts +61 -238
- package/src/api/PromptWebDeviceAccess.ts +2 -2
- package/src/api/device/DeviceRebootToBoardloader.ts +3 -1
- package/src/api/device/DeviceRebootToBootloader.ts +3 -1
- package/src/api/protocol-v2/DeviceReboot.ts +5 -0
- package/src/api/protocol-v2/DeviceUploadNft.ts +5 -1
- package/src/api/protocol-v2/DeviceUploadWallpaper.ts +5 -1
- package/src/core/index.ts +31 -106
- package/src/device/Device.ts +71 -8
- package/src/index.ts +0 -4
- package/src/protocols/protocol-v2/resources.ts +92 -102
- package/src/types/settings.ts +0 -15
- package/src/utils/deviceInfoUtils.ts +7 -2
|
@@ -139,21 +139,29 @@ const createJpegBase64 = (width: number, height: number) => {
|
|
|
139
139
|
|
|
140
140
|
const createProtocolV2OkppBinary = ({
|
|
141
141
|
version = [1, 2, 3],
|
|
142
|
+
devicePath = 'vol0:/bundles/images/images.okpkg',
|
|
142
143
|
payloadHashByte = 0x11,
|
|
143
144
|
headerHashByte = 0x22,
|
|
144
145
|
}: {
|
|
145
146
|
version?: [number, number, number];
|
|
147
|
+
devicePath?: string;
|
|
146
148
|
payloadHashByte?: number;
|
|
147
149
|
headerHashByte?: number;
|
|
148
150
|
} = {}) => {
|
|
149
|
-
const
|
|
151
|
+
const headerSize = 0x5f90;
|
|
152
|
+
const payloadSize = 1;
|
|
153
|
+
const bytes = new Uint8Array(headerSize + payloadSize);
|
|
150
154
|
bytes.set([0x4f, 0x4b, 0x50, 0x50], 0);
|
|
151
155
|
bytes.set([0x52, 0x45, 0x53, 0x43], 0x08);
|
|
152
156
|
const view = new DataView(bytes.buffer);
|
|
153
|
-
view.setUint32(
|
|
157
|
+
view.setUint32(0x04, 1, true);
|
|
158
|
+
view.setUint32(0x0c, headerSize, true);
|
|
154
159
|
view.setUint32(0x10, version[0] * 0x10000 + version[1] * 0x100 + version[2], true);
|
|
160
|
+
view.setUint32(0x14, payloadSize, true);
|
|
161
|
+
bytes.set(new TextEncoder().encode(devicePath), 0x6c);
|
|
155
162
|
bytes.fill(payloadHashByte, 0x200, 0x240);
|
|
156
163
|
bytes.fill(headerHashByte, 0x240, 0x280);
|
|
164
|
+
bytes[headerSize] = 0xaa;
|
|
157
165
|
return bytes.buffer;
|
|
158
166
|
};
|
|
159
167
|
|
|
@@ -213,7 +221,8 @@ describe('DeviceUploadWallpaper', () => {
|
|
|
213
221
|
const result = await method.run();
|
|
214
222
|
|
|
215
223
|
expect(method.getSupportedProtocols()).toEqual(['V2']);
|
|
216
|
-
expect(method.unlockPolicy).toBe('
|
|
224
|
+
expect(method.unlockPolicy).toBe('unlock-before-run');
|
|
225
|
+
expect(method.protocolV2PreUnlockPinType).toBe(DeviceSessionPinType.Any);
|
|
217
226
|
expect(typedCall).toHaveBeenNthCalledWith(1, 'FilesystemDirMake', 'Success', {
|
|
218
227
|
path: 'vol1:/wallpapers',
|
|
219
228
|
});
|
|
@@ -7228,7 +7237,7 @@ describe('Protocol V2 firmware update targets', () => {
|
|
|
7228
7237
|
});
|
|
7229
7238
|
});
|
|
7230
7239
|
|
|
7231
|
-
test('maps a prepared resource archive
|
|
7240
|
+
test('maps self-describing packages from a prepared resource archive', async () => {
|
|
7232
7241
|
const method = new FirmwareUpdateV4({
|
|
7233
7242
|
id: 1,
|
|
7234
7243
|
payload: {
|
|
@@ -7236,60 +7245,18 @@ describe('Protocol V2 firmware update targets', () => {
|
|
|
7236
7245
|
},
|
|
7237
7246
|
});
|
|
7238
7247
|
const imagesBinary = createProtocolV2OkppBinary();
|
|
7239
|
-
const bootBinary = createProtocolV2OkppBinary({
|
|
7248
|
+
const bootBinary = createProtocolV2OkppBinary({
|
|
7249
|
+
devicePath: 'vol0:/loaders/bootloader/boot_resource.okpkg.staging',
|
|
7250
|
+
payloadHashByte: 0x33,
|
|
7251
|
+
});
|
|
7240
7252
|
const imagesSha256 = bytesToHex(sha256(new Uint8Array(imagesBinary)));
|
|
7241
7253
|
const bootSha256 = bytesToHex(sha256(new Uint8Array(bootBinary)));
|
|
7242
|
-
const manifest = {
|
|
7243
|
-
schema: 1,
|
|
7244
|
-
artifact_name: 'pro2-resource',
|
|
7245
|
-
release_name: 'test-release',
|
|
7246
|
-
variant: 'resource',
|
|
7247
|
-
commit: 'abc123',
|
|
7248
|
-
short_sha: 'abc123',
|
|
7249
|
-
timestamp_utc: '2026-08-09T00:00:00Z',
|
|
7250
|
-
core_version: '1.0.0',
|
|
7251
|
-
key_set: 'production',
|
|
7252
|
-
device_root: 'vol0:',
|
|
7253
|
-
restore_mode: 'bootloader_update',
|
|
7254
|
-
trees: [{ path: 'bundles', device: 'pro2' }],
|
|
7255
|
-
files: [
|
|
7256
|
-
{
|
|
7257
|
-
archive_path: 'bundles/images/images.okpkg',
|
|
7258
|
-
original_name: 'images.okpkg',
|
|
7259
|
-
device_path: 'vol0:/bundles/images/images.okpkg',
|
|
7260
|
-
size: imagesBinary.byteLength,
|
|
7261
|
-
sha256: imagesSha256,
|
|
7262
|
-
signed: true,
|
|
7263
|
-
sig_algo: 'ed25519',
|
|
7264
|
-
payload_version: '1.2.3',
|
|
7265
|
-
},
|
|
7266
|
-
{
|
|
7267
|
-
archive_path: 'loaders/bootloader/boot_resource.okpkg',
|
|
7268
|
-
original_name: 'boot_resource.okpkg',
|
|
7269
|
-
device_path: 'vol0:/loaders/bootloader/boot_resource.okpkg',
|
|
7270
|
-
size: bootBinary.byteLength,
|
|
7271
|
-
sha256: bootSha256,
|
|
7272
|
-
signed: true,
|
|
7273
|
-
sig_algo: 'ed25519',
|
|
7274
|
-
payload_version: '1.2.3',
|
|
7275
|
-
},
|
|
7276
|
-
],
|
|
7277
|
-
};
|
|
7278
|
-
const manifestBinary = new TextEncoder().encode(JSON.stringify(manifest)).buffer;
|
|
7279
7254
|
const zip = new JSZip();
|
|
7280
|
-
zip.file('manifest.json', manifestBinary);
|
|
7281
7255
|
zip.file('bundles/images/images.okpkg', imagesBinary);
|
|
7282
7256
|
zip.file('loaders/bootloader/boot_resource.okpkg', bootBinary);
|
|
7257
|
+
zip.file('manifest.json', '{"ignored":true}');
|
|
7283
7258
|
const archiveBinary = await zip.generateAsync({ type: 'arraybuffer' });
|
|
7284
7259
|
const preparedEntries = [
|
|
7285
|
-
{
|
|
7286
|
-
entryName: 'pro2-resource/manifest.json',
|
|
7287
|
-
artifact: {
|
|
7288
|
-
artifactRef: 'manifest',
|
|
7289
|
-
size: manifestBinary.byteLength,
|
|
7290
|
-
sha256: bytesToHex(sha256(new Uint8Array(manifestBinary))),
|
|
7291
|
-
},
|
|
7292
|
-
},
|
|
7293
7260
|
{
|
|
7294
7261
|
entryName: 'pro2-resource/bundles/images/images.okpkg',
|
|
7295
7262
|
artifact: {
|
|
@@ -7352,7 +7319,7 @@ describe('Protocol V2 firmware update targets', () => {
|
|
|
7352
7319
|
}),
|
|
7353
7320
|
expect.objectContaining({
|
|
7354
7321
|
name: 'boot_resource.okpkg',
|
|
7355
|
-
devicePath: 'vol0:/loaders/bootloader/boot_resource.okpkg',
|
|
7322
|
+
devicePath: 'vol0:/loaders/bootloader/boot_resource.okpkg.staging',
|
|
7356
7323
|
version: [1, 2, 3],
|
|
7357
7324
|
}),
|
|
7358
7325
|
]);
|
|
@@ -7398,9 +7365,9 @@ describe('Protocol V2 firmware update targets', () => {
|
|
|
7398
7365
|
},
|
|
7399
7366
|
materializedEntries: [
|
|
7400
7367
|
{
|
|
7401
|
-
entryName: '
|
|
7368
|
+
entryName: 'bundles/images/images.okpkg',
|
|
7402
7369
|
artifact: {
|
|
7403
|
-
artifactRef: 'resource-
|
|
7370
|
+
artifactRef: 'resource-package',
|
|
7404
7371
|
size: 2,
|
|
7405
7372
|
sha256: 'b'.repeat(64),
|
|
7406
7373
|
},
|
|
@@ -7600,9 +7567,9 @@ describe('Protocol V2 firmware update targets', () => {
|
|
|
7600
7567
|
},
|
|
7601
7568
|
materializedEntries: [
|
|
7602
7569
|
{
|
|
7603
|
-
entryName: '
|
|
7570
|
+
entryName: 'bundles/images/images.okpkg',
|
|
7604
7571
|
artifact: {
|
|
7605
|
-
artifactRef: 'prepared-resource-
|
|
7572
|
+
artifactRef: 'prepared-resource-package',
|
|
7606
7573
|
size: 2,
|
|
7607
7574
|
sha256: 'b'.repeat(64),
|
|
7608
7575
|
},
|
|
@@ -7659,48 +7626,15 @@ describe('Protocol V2 firmware update targets', () => {
|
|
|
7659
7626
|
});
|
|
7660
7627
|
|
|
7661
7628
|
test('converts a local resource ZIP into a local PreparedPlan without matching a remote release', async () => {
|
|
7662
|
-
const imagesBinary =
|
|
7663
|
-
const bootResourceBinary =
|
|
7664
|
-
|
|
7665
|
-
|
|
7666
|
-
|
|
7667
|
-
release_name: 'local-development',
|
|
7668
|
-
variant: 'resource',
|
|
7669
|
-
commit: 'local',
|
|
7670
|
-
short_sha: 'local',
|
|
7671
|
-
timestamp_utc: '2026-08-09T00:00:00Z',
|
|
7672
|
-
core_version: '1.0.0',
|
|
7673
|
-
key_set: 'development',
|
|
7674
|
-
device_root: 'vol0:',
|
|
7675
|
-
restore_mode: 'bootloader_update',
|
|
7676
|
-
trees: [{ path: 'bundles', device: 'pro2' }],
|
|
7677
|
-
files: [
|
|
7678
|
-
{
|
|
7679
|
-
archive_path: 'bundles/images/images.okpkg',
|
|
7680
|
-
original_name: 'images.okpkg',
|
|
7681
|
-
device_path: 'vol0:/bundles/images/images.okpkg',
|
|
7682
|
-
size: imagesBinary.byteLength,
|
|
7683
|
-
sha256: bytesToHex(sha256(new Uint8Array(imagesBinary))),
|
|
7684
|
-
signed: true,
|
|
7685
|
-
sig_algo: 'ed25519',
|
|
7686
|
-
payload_version: '1.0.0',
|
|
7687
|
-
},
|
|
7688
|
-
{
|
|
7689
|
-
archive_path: 'loaders/bootloader/boot_resource.okpkg',
|
|
7690
|
-
original_name: 'boot_resource.okpkg',
|
|
7691
|
-
device_path: 'vol0:/loaders/bootloader/boot_resource.okpkg',
|
|
7692
|
-
size: bootResourceBinary.byteLength,
|
|
7693
|
-
sha256: bytesToHex(sha256(new Uint8Array(bootResourceBinary))),
|
|
7694
|
-
signed: true,
|
|
7695
|
-
sig_algo: 'ed25519',
|
|
7696
|
-
payload_version: '1.0.0',
|
|
7697
|
-
},
|
|
7698
|
-
],
|
|
7699
|
-
};
|
|
7629
|
+
const imagesBinary = createProtocolV2OkppBinary({ version: [1, 0, 0] });
|
|
7630
|
+
const bootResourceBinary = createProtocolV2OkppBinary({
|
|
7631
|
+
version: [1, 0, 0],
|
|
7632
|
+
devicePath: 'vol0:/loaders/bootloader/boot_resource.okpkg.staging',
|
|
7633
|
+
});
|
|
7700
7634
|
const zip = new JSZip();
|
|
7701
|
-
zip.file('pro2-resource/manifest.json', JSON.stringify(manifest));
|
|
7702
7635
|
zip.file('pro2-resource/bundles/images/images.okpkg', imagesBinary);
|
|
7703
7636
|
zip.file('pro2-resource/loaders/bootloader/boot_resource.okpkg', bootResourceBinary);
|
|
7637
|
+
zip.file('pro2-resource/manifest.json', '{"ignored":true}');
|
|
7704
7638
|
zip.file('pro2-resource/build-info.txt', 'ignored');
|
|
7705
7639
|
const resourceArchiveBinary = await zip.generateAsync({ type: 'arraybuffer' });
|
|
7706
7640
|
const applicationP1Binary = new Uint8Array([7, 8, 9]).buffer;
|
|
@@ -7766,7 +7700,7 @@ describe('Protocol V2 firmware update targets', () => {
|
|
|
7766
7700
|
}),
|
|
7767
7701
|
expect.objectContaining({
|
|
7768
7702
|
name: 'boot_resource.okpkg',
|
|
7769
|
-
devicePath: 'vol0:/loaders/bootloader/boot_resource.okpkg',
|
|
7703
|
+
devicePath: 'vol0:/loaders/bootloader/boot_resource.okpkg.staging',
|
|
7770
7704
|
}),
|
|
7771
7705
|
],
|
|
7772
7706
|
})
|
|
@@ -7777,9 +7711,11 @@ describe('Protocol V2 firmware update targets', () => {
|
|
|
7777
7711
|
}
|
|
7778
7712
|
});
|
|
7779
7713
|
|
|
7780
|
-
test('accepts a local resource ZIP
|
|
7781
|
-
const imagesBinary =
|
|
7782
|
-
const bootResourceBinary =
|
|
7714
|
+
test('accepts every okpkg in a local resource ZIP and ignores other files', async () => {
|
|
7715
|
+
const imagesBinary = createProtocolV2OkppBinary();
|
|
7716
|
+
const bootResourceBinary = createProtocolV2OkppBinary({
|
|
7717
|
+
devicePath: 'vol0:/loaders/bootloader/boot_resource.okpkg.staging',
|
|
7718
|
+
});
|
|
7783
7719
|
const zip = new JSZip();
|
|
7784
7720
|
zip.file('pro2-resource/bundles/images/images.okpkg', imagesBinary);
|
|
7785
7721
|
zip.file('pro2-resource/loaders/bootloader/boot_resource.okpkg', bootResourceBinary);
|
|
@@ -7800,61 +7736,21 @@ describe('Protocol V2 firmware update targets', () => {
|
|
|
7800
7736
|
)
|
|
7801
7737
|
).resolves.toMatchObject({
|
|
7802
7738
|
materializedEntries: [
|
|
7803
|
-
{ entryName: '
|
|
7804
|
-
{ entryName: 'bundles/images/images.okpkg', binary: imagesBinary },
|
|
7739
|
+
{ entryName: 'pro2-resource/bundles/images/images.okpkg', binary: imagesBinary },
|
|
7805
7740
|
{
|
|
7806
|
-
entryName: 'loaders/bootloader/boot_resource.okpkg',
|
|
7741
|
+
entryName: 'pro2-resource/loaders/bootloader/boot_resource.okpkg',
|
|
7807
7742
|
binary: bootResourceBinary,
|
|
7808
7743
|
},
|
|
7809
7744
|
],
|
|
7810
7745
|
});
|
|
7811
7746
|
});
|
|
7812
7747
|
|
|
7813
|
-
test('rejects a local resource ZIP
|
|
7814
|
-
const resourceBinary =
|
|
7815
|
-
const
|
|
7748
|
+
test('rejects a local resource ZIP with duplicate package device paths', async () => {
|
|
7749
|
+
const resourceBinary = createProtocolV2OkppBinary();
|
|
7750
|
+
const duplicateResourceBinary = createProtocolV2OkppBinary({ payloadHashByte: 0x44 });
|
|
7816
7751
|
const zip = new JSZip();
|
|
7817
|
-
zip.file(
|
|
7818
|
-
'manifest.json',
|
|
7819
|
-
JSON.stringify({
|
|
7820
|
-
schema: 1,
|
|
7821
|
-
artifact_name: 'pro2-resource',
|
|
7822
|
-
release_name: 'local-development',
|
|
7823
|
-
variant: 'resource',
|
|
7824
|
-
commit: 'local',
|
|
7825
|
-
short_sha: 'local',
|
|
7826
|
-
timestamp_utc: '2026-08-09T00:00:00Z',
|
|
7827
|
-
core_version: '1.0.0',
|
|
7828
|
-
key_set: 'development',
|
|
7829
|
-
device_root: 'vol0:',
|
|
7830
|
-
restore_mode: 'bootloader_update',
|
|
7831
|
-
trees: [{ path: 'bundles', device: 'pro2' }],
|
|
7832
|
-
files: [
|
|
7833
|
-
{
|
|
7834
|
-
archive_path: 'bundles/images/images.okpkg',
|
|
7835
|
-
original_name: 'images.okpkg',
|
|
7836
|
-
device_path: 'vol0:/bundles/images/images.okpkg',
|
|
7837
|
-
size: resourceBinary.byteLength,
|
|
7838
|
-
sha256: '0'.repeat(64),
|
|
7839
|
-
signed: true,
|
|
7840
|
-
sig_algo: 'ed25519',
|
|
7841
|
-
payload_version: '1.0.0',
|
|
7842
|
-
},
|
|
7843
|
-
{
|
|
7844
|
-
archive_path: 'loaders/bootloader/boot_resource.okpkg',
|
|
7845
|
-
original_name: 'boot_resource.okpkg',
|
|
7846
|
-
device_path: 'vol0:/loaders/bootloader/boot_resource.okpkg',
|
|
7847
|
-
size: bootResourceBinary.byteLength,
|
|
7848
|
-
sha256: bytesToHex(sha256(new Uint8Array(bootResourceBinary))),
|
|
7849
|
-
signed: true,
|
|
7850
|
-
sig_algo: 'ed25519',
|
|
7851
|
-
payload_version: '1.0.0',
|
|
7852
|
-
},
|
|
7853
|
-
],
|
|
7854
|
-
})
|
|
7855
|
-
);
|
|
7856
7752
|
zip.file('bundles/images/images.okpkg', resourceBinary);
|
|
7857
|
-
zip.file('
|
|
7753
|
+
zip.file('copies/images.okpkg', duplicateResourceBinary);
|
|
7858
7754
|
const method = new FirmwareUpdateV4({
|
|
7859
7755
|
id: 1,
|
|
7860
7756
|
payload: {
|
|
@@ -7869,9 +7765,7 @@ describe('Protocol V2 firmware update targets', () => {
|
|
|
7869
7765
|
(method as any).prepareProtocolV2LocalResourceArchive(
|
|
7870
7766
|
await zip.generateAsync({ type: 'arraybuffer' })
|
|
7871
7767
|
)
|
|
7872
|
-
).rejects.toThrow(
|
|
7873
|
-
'Protocol V2 local resource file does not match manifest: bundles/images/images.okpkg'
|
|
7874
|
-
);
|
|
7768
|
+
).rejects.toThrow('duplicate device path: vol0:/bundles/images/images.okpkg');
|
|
7875
7769
|
});
|
|
7876
7770
|
|
|
7877
7771
|
test('maps malformed resource ZIPs to a typed firmware preparation error', async () => {
|
|
@@ -7901,40 +7795,7 @@ describe('Protocol V2 firmware update targets', () => {
|
|
|
7901
7795
|
test('rejects an oversized ZIP entry before allocating its decompressed bytes', async () => {
|
|
7902
7796
|
const extractEntry = jest.fn();
|
|
7903
7797
|
const oversizedFileSize = 257 * 1024 * 1024;
|
|
7904
|
-
const manifestBinary = new TextEncoder().encode(
|
|
7905
|
-
JSON.stringify({
|
|
7906
|
-
files: [
|
|
7907
|
-
{
|
|
7908
|
-
archive_path: 'loaders/bootloader/boot_resource.okpkg',
|
|
7909
|
-
original_name: 'boot_resource.okpkg',
|
|
7910
|
-
device_path: 'vol0:/loaders/bootloader/boot_resource.okpkg',
|
|
7911
|
-
size: oversizedFileSize,
|
|
7912
|
-
sha256: '0'.repeat(64),
|
|
7913
|
-
signed: true,
|
|
7914
|
-
sig_algo: 'ed25519',
|
|
7915
|
-
},
|
|
7916
|
-
{
|
|
7917
|
-
archive_path: 'bundles/images/images.okpkg',
|
|
7918
|
-
original_name: 'images.okpkg',
|
|
7919
|
-
device_path: 'vol0:/bundles/images/images.okpkg',
|
|
7920
|
-
size: oversizedFileSize,
|
|
7921
|
-
sha256: '0'.repeat(64),
|
|
7922
|
-
signed: true,
|
|
7923
|
-
sig_algo: 'ed25519',
|
|
7924
|
-
},
|
|
7925
|
-
],
|
|
7926
|
-
})
|
|
7927
|
-
);
|
|
7928
7798
|
const zipFiles = {
|
|
7929
|
-
'manifest.json': {
|
|
7930
|
-
name: 'manifest.json',
|
|
7931
|
-
dir: false,
|
|
7932
|
-
_data: {
|
|
7933
|
-
compressedSize: manifestBinary.byteLength,
|
|
7934
|
-
uncompressedSize: manifestBinary.byteLength,
|
|
7935
|
-
},
|
|
7936
|
-
async: jest.fn().mockResolvedValue(manifestBinary.buffer),
|
|
7937
|
-
},
|
|
7938
7799
|
'loaders/bootloader/boot_resource.okpkg': {
|
|
7939
7800
|
name: 'loaders/bootloader/boot_resource.okpkg',
|
|
7940
7801
|
dir: false,
|
|
@@ -7965,7 +7826,7 @@ describe('Protocol V2 firmware update targets', () => {
|
|
|
7965
7826
|
try {
|
|
7966
7827
|
await expect(
|
|
7967
7828
|
(method as any).prepareProtocolV2LocalResourceArchive(new Uint8Array([1]).buffer)
|
|
7968
|
-
).rejects.toThrow('
|
|
7829
|
+
).rejects.toThrow('resource package size is invalid');
|
|
7969
7830
|
expect(extractEntry).not.toHaveBeenCalled();
|
|
7970
7831
|
} finally {
|
|
7971
7832
|
loadSpy.mockRestore();
|
|
@@ -8117,17 +7978,17 @@ describe('Protocol V2 firmware update targets', () => {
|
|
|
8117
7978
|
readAt: jest.fn(),
|
|
8118
7979
|
close: jest.fn(),
|
|
8119
7980
|
},
|
|
8120
|
-
devicePath: 'vol0:/
|
|
7981
|
+
devicePath: 'vol0:/bundles/images/images.okpkg',
|
|
8121
7982
|
},
|
|
8122
7983
|
],
|
|
8123
7984
|
});
|
|
8124
7985
|
|
|
8125
7986
|
expect((method as any).protocolV2SourceUpdateProcess).toHaveBeenCalledTimes(1);
|
|
8126
7987
|
expect((method as any).protocolV2SourceUpdateProcess).toHaveBeenCalledWith(
|
|
8127
|
-
expect.objectContaining({ filePath: 'vol0:/
|
|
7988
|
+
expect.objectContaining({ filePath: 'vol0:/bundles/images/images.okpkg' })
|
|
8128
7989
|
);
|
|
8129
7990
|
expect((method as any).verifyProtocolV2StagedFile).toHaveBeenCalledWith(
|
|
8130
|
-
'vol0:/
|
|
7991
|
+
'vol0:/bundles/images/images.okpkg',
|
|
8131
7992
|
3
|
|
8132
7993
|
);
|
|
8133
7994
|
expect((method as any).protocolV2StartFirmwareUpdate).not.toHaveBeenCalled();
|
|
@@ -8162,7 +8023,7 @@ describe('Protocol V2 firmware update targets', () => {
|
|
|
8162
8023
|
readAt: jest.fn(),
|
|
8163
8024
|
close: jest.fn(),
|
|
8164
8025
|
},
|
|
8165
|
-
devicePath: 'vol0:/loaders/bootloader/boot_resource.okpkg',
|
|
8026
|
+
devicePath: 'vol0:/loaders/bootloader/boot_resource.okpkg.staging',
|
|
8166
8027
|
},
|
|
8167
8028
|
],
|
|
8168
8029
|
});
|
|
@@ -8195,7 +8056,7 @@ describe('Protocol V2 firmware update targets', () => {
|
|
|
8195
8056
|
readAt: jest.fn(),
|
|
8196
8057
|
close: jest.fn(),
|
|
8197
8058
|
},
|
|
8198
|
-
devicePath: 'vol0:/loaders/bootloader/boot_resource.okpkg',
|
|
8059
|
+
devicePath: 'vol0:/loaders/bootloader/boot_resource.okpkg.staging',
|
|
8199
8060
|
version: [1, 0, 0],
|
|
8200
8061
|
payloadHash: '11'.repeat(64),
|
|
8201
8062
|
headerHash: '22'.repeat(64),
|
|
@@ -9267,7 +9128,7 @@ describe('Protocol V2 firmware reconnect identity', () => {
|
|
|
9267
9128
|
const readChunkLengths: number[] = [];
|
|
9268
9129
|
const typedCall = jest.fn((requestType: string, _responseType: string, request: any) => {
|
|
9269
9130
|
if (requestType === 'FilesystemPathInfoQuery') {
|
|
9270
|
-
return Promise.resolve({ message: { exist: true, directory: false, size:
|
|
9131
|
+
return Promise.resolve({ message: { exist: true, directory: false, size: 0x5f91 } });
|
|
9271
9132
|
}
|
|
9272
9133
|
if (requestType === 'FilesystemFileRead') {
|
|
9273
9134
|
readChunkLengths.push(request.chunk_len);
|
|
@@ -9434,6 +9295,8 @@ describe('Protocol V2 reboot methods', () => {
|
|
|
9434
9295
|
const device = stubDevice({ commands: { typedCall } });
|
|
9435
9296
|
(method as any).device = device;
|
|
9436
9297
|
|
|
9298
|
+
expect(method.unlockPolicy).toBe('unlock-before-run');
|
|
9299
|
+
|
|
9437
9300
|
await method.run();
|
|
9438
9301
|
|
|
9439
9302
|
expect(typedCall).toHaveBeenCalledWith('DeviceReboot', 'Success', {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FirmwareUpdateV4.d.ts","sourceRoot":"","sources":["../../src/api/FirmwareUpdateV4.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAkD,MAAM,qBAAqB,CAAC;AA0BlG,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"FirmwareUpdateV4.d.ts","sourceRoot":"","sources":["../../src/api/FirmwareUpdateV4.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeviceRebootToBoardloader.d.ts","sourceRoot":"","sources":["../../../src/api/device/DeviceRebootToBoardloader.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AAG3F,MAAM,CAAC,OAAO,OAAO,yBAA0B,SAAQ,UAAU,CAAC,yBAAyB,CAAC;IAC1F,qBAAqB;IAIrB,IAAI;
|
|
1
|
+
{"version":3,"file":"DeviceRebootToBoardloader.d.ts","sourceRoot":"","sources":["../../../src/api/device/DeviceRebootToBoardloader.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AAG3F,MAAM,CAAC,OAAO,OAAO,yBAA0B,SAAQ,UAAU,CAAC,yBAAyB,CAAC;IAC1F,qBAAqB;IAIrB,IAAI;IAOJ,eAAe;;;;;;;;IAWT,GAAG;CAeV"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeviceRebootToBootloader.d.ts","sourceRoot":"","sources":["../../../src/api/device/DeviceRebootToBootloader.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAGjE,MAAM,CAAC,OAAO,OAAO,wBAAyB,SAAQ,UAAU,CAAC,kBAAkB,CAAC;IAClF,qBAAqB;IAIrB,IAAI;
|
|
1
|
+
{"version":3,"file":"DeviceRebootToBootloader.d.ts","sourceRoot":"","sources":["../../../src/api/device/DeviceRebootToBootloader.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAGjE,MAAM,CAAC,OAAO,OAAO,wBAAyB,SAAQ,UAAU,CAAC,kBAAkB,CAAC;IAClF,qBAAqB;IAIrB,IAAI;IAOJ,eAAe;;;;;;;;IAWT,GAAG;CAaV"}
|
|
@@ -3,6 +3,6 @@ import type { DeviceRebootParams } from './helpers';
|
|
|
3
3
|
export default class DeviceReboot extends BaseMethod<DeviceRebootParams> {
|
|
4
4
|
getSupportedProtocols(): readonly ["V2"];
|
|
5
5
|
init(): void;
|
|
6
|
-
run(): Promise<import("
|
|
6
|
+
run(): Promise<import("@onekeyfe/hd-transport").Success>;
|
|
7
7
|
}
|
|
8
8
|
//# sourceMappingURL=DeviceReboot.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeviceReboot.d.ts","sourceRoot":"","sources":["../../../src/api/protocol-v2/DeviceReboot.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DeviceReboot.d.ts","sourceRoot":"","sources":["../../../src/api/protocol-v2/DeviceReboot.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAEpD,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,UAAU,CAAC,kBAAkB,CAAC;IACtE,qBAAqB;IAIrB,IAAI;IAYE,GAAG;CAQV"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeviceUploadNft.d.ts","sourceRoot":"","sources":["../../../src/api/protocol-v2/DeviceUploadNft.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DeviceUploadNft.d.ts","sourceRoot":"","sources":["../../../src/api/protocol-v2/DeviceUploadNft.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAK3C,MAAM,MAAM,qBAAqB,GAAG;IAClC,eAAe,EAAE,MAAM,CAAC;IACxB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,IAAI,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAOF,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,UAAU,CAAC,qBAAqB,CAAC;IAC5E,OAAO,CAAC,MAAM,CAAC,CAAgB;IAE/B,qBAAqB;IAIrB,IAAI;YAgFU,kBAAkB;YAiBlB,qBAAqB;YAwBrB,SAAS;IASjB,GAAG,IAAI,OAAO,CAAC,uBAAuB,CAAC;CA0D9C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeviceUploadWallpaper.d.ts","sourceRoot":"","sources":["../../../src/api/protocol-v2/DeviceUploadWallpaper.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DeviceUploadWallpaper.d.ts","sourceRoot":"","sources":["../../../src/api/protocol-v2/DeviceUploadWallpaper.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAO3C,OAAO,EAGL,KAAK,wBAAwB,EAE9B,MAAM,2BAA2B,CAAC;AAEnC,MAAM,MAAM,2BAA2B,GAAG;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,wBAAwB,CAAC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAmBF,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,UAAU,CAAC,2BAA2B,CAAC;IACxF,qBAAqB;IAIrB,OAAO,CAAC,OAAO,CAAC,CAA8D;IAE9E,OAAO,CAAC,cAAc,CAAS;IAE/B,OAAO,CAAC,QAAQ,CAAS;IAEzB,OAAO,CAAC,IAAI,CAAM;IAElB,IAAI;YA2BU,kBAAkB;YAgBlB,eAAe;YAaf,MAAM;IAwBd,GAAG,IAAI,OAAO,CAAC,6BAA6B,CAAC;CAyBpD"}
|
package/dist/core/index.d.ts
CHANGED
|
@@ -8,6 +8,8 @@ import type { LowlevelTransportSharedPlugin } from '@onekeyfe/hd-transport';
|
|
|
8
8
|
import type { BaseMethod } from '../api/BaseMethod';
|
|
9
9
|
export type CoreContext = ReturnType<Core['getCoreContext']>;
|
|
10
10
|
export declare const callAPI: (context: CoreContext, message: CoreMessage) => Promise<any>;
|
|
11
|
+
export declare function isRetryableBleProtocolV2ProbeError(method: BaseMethod, error: unknown): boolean;
|
|
12
|
+
export declare function isRetryableBleConnectionError(method: BaseMethod, error: unknown): boolean;
|
|
11
13
|
export declare function isMissingDetectedProtocolV2Error(method: BaseMethod, error: unknown): boolean;
|
|
12
14
|
export declare const cancel: (context: CoreContext, connectId?: string) => void;
|
|
13
15
|
export declare const onDeviceButtonHandler: (__0_0: Device, __0_1: import("../events").DeviceButtonRequestPayload) => void;
|
package/dist/core/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":";AACA,OAAO,YAAY,MAAM,QAAQ,CAAC;AAoClC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAsB1C,OAAO,eAAe,MAAM,2BAA2B,CAAC;AAYxD,OAAO,KAAK,EAAE,eAAe,EAAyB,MAAM,UAAU,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAmD,MAAM,WAAW,CAAC;AAI9F,OAAO,KAAK,EACV,6BAA6B,EAG9B,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAWpD,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAmE7D,eAAO,MAAM,OAAO,YAAmB,WAAW,WAAW,WAAW,iBAoFvE,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":";AACA,OAAO,YAAY,MAAM,QAAQ,CAAC;AAoClC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAsB1C,OAAO,eAAe,MAAM,2BAA2B,CAAC;AAYxD,OAAO,KAAK,EAAE,eAAe,EAAyB,MAAM,UAAU,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAmD,MAAM,WAAW,CAAC;AAI9F,OAAO,KAAK,EACV,6BAA6B,EAG9B,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAWpD,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAmE7D,eAAO,MAAM,OAAO,YAAmB,WAAW,WAAW,WAAW,iBAoFvE,CAAC;AAiqBF,wBAAgB,kCAAkC,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,WAWpF;AAED,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,WAW/E;AAED,wBAAgB,gCAAgC,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,WAQlF;AAsPD,eAAO,MAAM,MAAM,YAAa,WAAW,cAAc,MAAM,SAqF9D,CAAC;AAmGF,eAAO,MAAM,qBAAqB,gFAejC,CAAC;AAiLF,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,YAAY;IAC5C,OAAO,CAAC,cAAc,CAAoB;IAE1C,SAAgB,aAAa,EAAE,MAAM,CAAC;IAEtC,OAAO,CAAC,YAAY,CAAsB;IAE1C,OAAO,CAAC,cAAc,CAAC,CAAgB;IAGvC,OAAO,CAAC,sBAAsB,CAAoC;IAElE,OAAO,CAAC,iBAAiB,CAAoB;;IAS7C,OAAO,CAAC,cAAc;IA6BhB,aAAa,CAAC,OAAO,EAAE,WAAW;IAuExC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YAOV,gBAAgB;CAiC/B;AAED,eAAO,MAAM,QAAQ,YAIpB,CAAC;AAEF,eAAO,MAAM,aAAa,uBAYzB,CAAC;AAMF,eAAO,MAAM,IAAI,aACL,eAAe,aACd,GAAG,WACL,6BAA6B,8BAiBvC,CAAC;AAEF,eAAO,MAAM,eAAe;SAKrB,eAAe,CAAC,KAAK,CAAC;eAChB,GAAG;;UASf,CAAC"}
|
package/dist/device/Device.d.ts
CHANGED
|
@@ -67,6 +67,8 @@ export declare class Device extends EventEmitter {
|
|
|
67
67
|
commands: DeviceCommands;
|
|
68
68
|
private cancelableAction?;
|
|
69
69
|
private deviceAcquired;
|
|
70
|
+
private connectionAttempt;
|
|
71
|
+
private interruptedAttempt;
|
|
70
72
|
private stateStore;
|
|
71
73
|
private protocolV2StateNeedsReload;
|
|
72
74
|
private protocolV2RuntimeContext?;
|
|
@@ -180,6 +182,10 @@ export declare class Device extends EventEmitter {
|
|
|
180
182
|
getFirmwareVersion(): import("../types").IVersionArray | null;
|
|
181
183
|
getBLEFirmwareVersion(): import("../types").IVersionArray | null;
|
|
182
184
|
isUsed(): boolean;
|
|
185
|
+
beginConnectionAttempt(): number;
|
|
186
|
+
wasInterruptedByUser(): boolean;
|
|
187
|
+
private throwIfInterruptedByUser;
|
|
188
|
+
private shouldSendFallbackProtocolCancel;
|
|
183
189
|
hasDeviceAcquire(): boolean;
|
|
184
190
|
isUsedHere(): boolean;
|
|
185
191
|
isUsedElsewhere(): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Device.d.ts","sourceRoot":"","sources":["../../src/device/Device.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Device.d.ts","sourceRoot":"","sources":["../../src/device/Device.ts"],"names":[],"mappings":"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"}
|