@onekeyfe/hd-core 1.2.0-alpha.51 → 1.2.0-alpha.53
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__/AllNetworkGetAddressBase.tracing.test.ts +78 -0
- package/__tests__/DeviceCommands.test.ts +45 -0
- package/__tests__/DeviceEventRegistration.test.ts +6 -0
- package/__tests__/check-all-firmware-release-protocol-v2.test.ts +198 -3
- package/__tests__/connectSettings.test.ts +5 -47
- package/__tests__/device-lifecycle-events.test.ts +105 -3
- package/__tests__/deviceUploadNft.test.ts +293 -0
- package/__tests__/firmware-update/firmware-update-v2-download-before-boot.test.ts +31 -59
- package/__tests__/get-device-state.test.ts +132 -12
- package/__tests__/homescreen.test.ts +41 -1
- package/__tests__/logBlockEvent.test.ts +1 -1
- package/__tests__/method-protocol-support.test.ts +19 -0
- package/__tests__/open-wallet-session.test.ts +446 -33
- package/__tests__/pro2Nft.test.ts +108 -0
- package/__tests__/protocol-binding.test.ts +89 -0
- package/__tests__/protocol-v2-resources.test.ts +284 -0
- package/__tests__/protocol-v2-ui-lifecycle.test.ts +91 -0
- package/__tests__/protocol-v2-unlock-policy.test.ts +201 -35
- package/__tests__/protocol-v2.test.ts +1349 -1005
- package/__tests__/protocolV2UiInteraction.test.ts +63 -0
- package/__tests__/public-pro2-api-boundary.test.ts +1 -0
- package/__tests__/search-devices.test.ts +12 -3
- package/__tests__/uiProgressThrottle.test.ts +74 -0
- package/__tests__/uiPromiseRegistry.test.ts +86 -0
- package/dist/api/BaseMethod.d.ts +3 -1
- package/dist/api/BaseMethod.d.ts.map +1 -1
- package/dist/api/CheckAllFirmwareRelease.d.ts +2 -1
- package/dist/api/CheckAllFirmwareRelease.d.ts.map +1 -1
- package/dist/api/DetectDeviceConnectProtocol.d.ts +7 -0
- package/dist/api/DetectDeviceConnectProtocol.d.ts.map +1 -0
- package/dist/api/FirmwareUpdate.d.ts.map +1 -1
- package/dist/api/FirmwareUpdateV2.d.ts +0 -11
- package/dist/api/FirmwareUpdateV2.d.ts.map +1 -1
- package/dist/api/FirmwareUpdateV3.d.ts +3 -7
- package/dist/api/FirmwareUpdateV3.d.ts.map +1 -1
- package/dist/api/FirmwareUpdateV4.d.ts +11 -25
- package/dist/api/FirmwareUpdateV4.d.ts.map +1 -1
- package/dist/api/GetPassphraseState.d.ts.map +1 -1
- package/dist/api/OpenWalletSession.d.ts.map +1 -1
- package/dist/api/SearchDevices.d.ts.map +1 -1
- package/dist/api/allnetwork/AllNetworkGetAddressBase.d.ts.map +1 -1
- package/dist/api/device/DeviceUnlock.d.ts +2 -2
- package/dist/api/device/DeviceUnlock.d.ts.map +1 -1
- package/dist/api/device/DeviceUpdateBootloader.d.ts +1 -5
- package/dist/api/device/DeviceUpdateBootloader.d.ts.map +1 -1
- package/dist/api/firmware/FirmwareUpdateBaseMethod.d.ts +0 -9
- package/dist/api/firmware/FirmwareUpdateBaseMethod.d.ts.map +1 -1
- package/dist/api/firmware/getBinary.d.ts +0 -7
- package/dist/api/firmware/getBinary.d.ts.map +1 -1
- package/dist/api/firmware/updateBootloader.d.ts +0 -2
- package/dist/api/firmware/updateBootloader.d.ts.map +1 -1
- package/dist/api/firmware/uploadFirmware.d.ts +1 -9
- package/dist/api/firmware/uploadFirmware.d.ts.map +1 -1
- package/dist/api/helpers/protocolV2FileWrite.d.ts +2 -0
- package/dist/api/helpers/protocolV2FileWrite.d.ts.map +1 -1
- package/dist/api/index.d.ts +2 -0
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/protocol-v2/DeviceUploadNft.d.ts +31 -0
- package/dist/api/protocol-v2/DeviceUploadNft.d.ts.map +1 -0
- package/dist/api/protocol-v2/ProtocolInfoRequest.d.ts.map +1 -1
- package/dist/api/protocol-v2/helpers.d.ts.map +1 -1
- package/dist/api/stellar/StellarSignTransaction.d.ts +1 -1
- package/dist/core/deviceEventRegistration.d.ts +2 -0
- package/dist/core/deviceEventRegistration.d.ts.map +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/uiPromiseRegistry.d.ts +4 -0
- package/dist/core/uiPromiseRegistry.d.ts.map +1 -0
- package/dist/data-manager/DataManager.d.ts +4 -2
- package/dist/data-manager/DataManager.d.ts.map +1 -1
- package/dist/data-manager/connectSettings.d.ts.map +1 -1
- package/dist/device/Device.d.ts +29 -6
- package/dist/device/Device.d.ts.map +1 -1
- package/dist/device/DeviceCommands.d.ts +4 -4
- package/dist/device/DeviceCommands.d.ts.map +1 -1
- package/dist/device/DevicePool.d.ts.map +1 -1
- package/dist/events/device.d.ts +4 -0
- package/dist/events/device.d.ts.map +1 -1
- package/dist/events/logBlockEvent.d.ts.map +1 -1
- package/dist/events/ui-promise.d.ts +4 -2
- package/dist/events/ui-promise.d.ts.map +1 -1
- package/dist/events/ui-request.d.ts +31 -2
- package/dist/events/ui-request.d.ts.map +1 -1
- package/dist/events/ui-response.d.ts +10 -2
- package/dist/events/ui-response.d.ts.map +1 -1
- package/dist/index.d.ts +214 -231
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2559 -3473
- package/dist/inject.d.ts +6 -1
- package/dist/inject.d.ts.map +1 -1
- package/dist/lowLevelInject.d.ts.map +1 -1
- package/dist/protocols/protocol-v2/features.d.ts.map +1 -1
- package/dist/protocols/protocol-v2/resources.d.ts +30 -0
- package/dist/protocols/protocol-v2/resources.d.ts.map +1 -0
- package/dist/protocols/protocol-v2/uiInteraction.d.ts +7 -4
- package/dist/protocols/protocol-v2/uiInteraction.d.ts.map +1 -1
- package/dist/protocols/protocol-v2/unlockPolicy.d.ts +1 -3
- package/dist/protocols/protocol-v2/unlockPolicy.d.ts.map +1 -1
- package/dist/protocols/protocol-v2/unlockPolicyRunner.d.ts +22 -0
- package/dist/protocols/protocol-v2/unlockPolicyRunner.d.ts.map +1 -0
- package/dist/protocols/protocol-v2/walletSession.d.ts +5 -1
- package/dist/protocols/protocol-v2/walletSession.d.ts.map +1 -1
- package/dist/topLevelInject.d.ts.map +1 -1
- package/dist/types/api/checkAllFirmwareRelease.d.ts +2 -4
- package/dist/types/api/checkAllFirmwareRelease.d.ts.map +1 -1
- package/dist/types/api/detectDeviceConnectProtocol.d.ts +4 -0
- package/dist/types/api/detectDeviceConnectProtocol.d.ts.map +1 -0
- package/dist/types/api/deviceUnlock.d.ts +5 -1
- package/dist/types/api/deviceUnlock.d.ts.map +1 -1
- package/dist/types/api/deviceUpdateBootloader.d.ts +0 -6
- package/dist/types/api/deviceUpdateBootloader.d.ts.map +1 -1
- package/dist/types/api/export.d.ts +2 -4
- package/dist/types/api/export.d.ts.map +1 -1
- package/dist/types/api/firmwareUpdate.d.ts +2 -70
- package/dist/types/api/firmwareUpdate.d.ts.map +1 -1
- package/dist/types/api/index.d.ts +7 -10
- package/dist/types/api/index.d.ts.map +1 -1
- package/dist/types/api/protocolV2.d.ts +3 -0
- package/dist/types/api/protocolV2.d.ts.map +1 -1
- package/dist/types/device.d.ts.map +1 -1
- package/dist/types/params.d.ts +1 -0
- package/dist/types/params.d.ts.map +1 -1
- package/dist/types/settings.d.ts +22 -13
- package/dist/types/settings.d.ts.map +1 -1
- package/dist/utils/deviceFeaturesUtils.d.ts +4 -0
- package/dist/utils/deviceFeaturesUtils.d.ts.map +1 -1
- package/dist/utils/homescreen.d.ts +4 -0
- package/dist/utils/homescreen.d.ts.map +1 -1
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/patch.d.ts +1 -1
- package/dist/utils/patch.d.ts.map +1 -1
- package/dist/utils/pro2Nft.d.ts +31 -0
- package/dist/utils/pro2Nft.d.ts.map +1 -0
- package/dist/utils/pro2Wallpaper.d.ts +10 -0
- package/dist/utils/pro2Wallpaper.d.ts.map +1 -1
- package/dist/utils/uiProgressThrottle.d.ts +3 -0
- package/dist/utils/uiProgressThrottle.d.ts.map +1 -0
- package/package.json +4 -4
- package/src/api/BaseMethod.ts +8 -10
- package/src/api/CheckAllFirmwareRelease.ts +54 -57
- package/src/api/DetectDeviceConnectProtocol.ts +18 -0
- package/src/api/FirmwareUpdate.ts +7 -15
- package/src/api/FirmwareUpdateV2.ts +126 -313
- package/src/api/FirmwareUpdateV3.ts +63 -265
- package/src/api/FirmwareUpdateV4.ts +566 -965
- package/src/api/GetPassphraseState.ts +7 -1
- package/src/api/OpenWalletSession.ts +54 -17
- package/src/api/SearchDevices.ts +3 -1
- package/src/api/allnetwork/AllNetworkGetAddressBase.ts +32 -11
- package/src/api/device/DeviceUnlock.ts +8 -3
- package/src/api/device/DeviceUpdateBootloader.ts +6 -122
- package/src/api/firmware/FirmwareUpdateBaseMethod.ts +16 -83
- package/src/api/firmware/updateBootloader.ts +4 -19
- package/src/api/firmware/uploadFirmware.ts +39 -144
- package/src/api/helpers/protocolV2FileWrite.ts +11 -4
- package/src/api/index.ts +2 -0
- package/src/api/protocol-v2/DeviceUploadNft.ts +189 -0
- package/src/api/protocol-v2/ProtocolInfoRequest.ts +3 -1
- package/src/api/protocol-v2/helpers.ts +1 -0
- package/src/core/deviceEventRegistration.ts +4 -0
- package/src/core/index.ts +167 -83
- package/src/core/uiPromiseRegistry.ts +41 -0
- package/src/data/messages/messages-protocol-v2.json +25 -0
- package/src/data-manager/DataManager.ts +67 -38
- package/src/data-manager/connectSettings.ts +0 -11
- package/src/device/Device.ts +258 -42
- package/src/device/DeviceCommands.ts +7 -1
- package/src/device/DevicePool.ts +7 -2
- package/src/events/device.ts +4 -0
- package/src/events/logBlockEvent.ts +1 -0
- package/src/events/ui-promise.ts +4 -2
- package/src/events/ui-request.ts +36 -2
- package/src/events/ui-response.ts +12 -2
- package/src/index.ts +0 -5
- package/src/inject.ts +60 -24
- package/src/lowLevelInject.ts +7 -8
- package/src/protocols/protocol-v2/features.ts +10 -3
- package/src/protocols/protocol-v2/resources.ts +359 -0
- package/src/protocols/protocol-v2/uiInteraction.ts +46 -6
- package/src/protocols/protocol-v2/unlockPolicy.ts +1 -105
- package/src/protocols/protocol-v2/unlockPolicyRunner.ts +118 -0
- package/src/protocols/protocol-v2/walletSession.ts +180 -30
- package/src/topLevelInject.ts +7 -8
- package/src/types/api/checkAllFirmwareRelease.ts +2 -4
- package/src/types/api/detectDeviceConnectProtocol.ts +7 -0
- package/src/types/api/deviceUnlock.ts +12 -1
- package/src/types/api/deviceUpdateBootloader.ts +0 -6
- package/src/types/api/export.ts +1 -18
- package/src/types/api/firmwareUpdate.ts +3 -76
- package/src/types/api/index.ts +13 -14
- package/src/types/api/protocolV2.ts +13 -0
- package/src/types/device.ts +3 -0
- package/src/types/params.ts +7 -1
- package/src/types/settings.ts +42 -13
- package/src/utils/deviceFeaturesUtils.ts +8 -0
- package/src/utils/homescreen.ts +32 -6
- package/src/utils/index.ts +6 -1
- package/src/utils/pro2Nft.ts +142 -0
- package/src/utils/pro2Wallpaper.ts +35 -8
- package/src/utils/uiProgressThrottle.ts +63 -0
- package/__tests__/device-initialize-timeout.test.ts +0 -56
- package/__tests__/firmware-update/check-all-firmware-release.test.ts +0 -175
- package/__tests__/firmware-update/firmware-artifact-source.test.ts +0 -119
- package/__tests__/firmware-update/firmware-host-binding.test.ts +0 -70
- package/__tests__/firmware-update/firmware-preparation-error.test.ts +0 -27
- package/__tests__/firmware-update/firmware-update-bootloader-poll.test.ts +0 -200
- package/__tests__/firmware-update/firmware-update-capabilities.test.ts +0 -13
- package/__tests__/firmware-update/firmware-update-plan.test.ts +0 -593
- package/__tests__/firmware-update/firmware-update-prepared-plan.test.ts +0 -213
- package/__tests__/firmware-update/firmware-update-v3-reconnect.test.ts +0 -58
- package/__tests__/firmware-update/firmware-upload-source.test.ts +0 -70
- package/dist/api/firmware/FirmwareArtifactSource.d.ts +0 -25
- package/dist/api/firmware/FirmwareArtifactSource.d.ts.map +0 -1
- package/dist/api/firmware/FirmwareHostBinding.d.ts +0 -6
- package/dist/api/firmware/FirmwareHostBinding.d.ts.map +0 -1
- package/dist/api/firmware/FirmwarePreparationError.d.ts +0 -3
- package/dist/api/firmware/FirmwarePreparationError.d.ts.map +0 -1
- package/dist/api/firmware/FirmwareUpdateCapabilities.d.ts +0 -3
- package/dist/api/firmware/FirmwareUpdateCapabilities.d.ts.map +0 -1
- package/dist/api/firmware/FirmwareUpdatePlan.d.ts +0 -25
- package/dist/api/firmware/FirmwareUpdatePlan.d.ts.map +0 -1
- package/dist/api/firmware/FirmwareUpdatePreparedPlan.d.ts +0 -30
- package/dist/api/firmware/FirmwareUpdatePreparedPlan.d.ts.map +0 -1
- package/dist/api/firmware/progressThrottle.d.ts +0 -3
- package/dist/api/firmware/progressThrottle.d.ts.map +0 -1
- package/dist/protocols/protocol-v2/lockedError.d.ts +0 -2
- package/dist/protocols/protocol-v2/lockedError.d.ts.map +0 -1
- package/dist/protocols/protocol-v2/unlockRetry.d.ts +0 -10
- package/dist/protocols/protocol-v2/unlockRetry.d.ts.map +0 -1
- package/dist/types/api/firmwareUpdateCapabilities.d.ts +0 -9
- package/dist/types/api/firmwareUpdateCapabilities.d.ts.map +0 -1
- package/dist/types/api/firmwareUpdatePlan.d.ts +0 -28
- package/dist/types/api/firmwareUpdatePlan.d.ts.map +0 -1
- package/dist/types/api/firmwareUpdatePreparedPlan.d.ts +0 -42
- package/dist/types/api/firmwareUpdatePreparedPlan.d.ts.map +0 -1
- package/src/api/firmware/FirmwareArtifactSource.ts +0 -278
- package/src/api/firmware/FirmwareHostBinding.ts +0 -100
- package/src/api/firmware/FirmwarePreparationError.ts +0 -12
- package/src/api/firmware/FirmwareUpdateCapabilities.ts +0 -9
- package/src/api/firmware/FirmwareUpdatePlan.ts +0 -745
- package/src/api/firmware/FirmwareUpdatePreparedPlan.ts +0 -392
- package/src/api/firmware/progressThrottle.ts +0 -44
- package/src/protocols/protocol-v2/lockedError.ts +0 -10
- package/src/protocols/protocol-v2/unlockRetry.ts +0 -109
- package/src/types/api/firmwareUpdateCapabilities.ts +0 -9
- package/src/types/api/firmwareUpdatePlan.ts +0 -38
- package/src/types/api/firmwareUpdatePreparedPlan.ts +0 -53
|
@@ -120,6 +120,69 @@ describe('ProtocolV2UiInteractionCoordinator', () => {
|
|
|
120
120
|
]);
|
|
121
121
|
});
|
|
122
122
|
|
|
123
|
+
test('emits a routable close for a progress-only Protocol V2 operation', () => {
|
|
124
|
+
const postMessage = jest.fn();
|
|
125
|
+
const interaction = {
|
|
126
|
+
interactionId: 'interaction-progress',
|
|
127
|
+
phaseId: 'interaction-progress:phase-1',
|
|
128
|
+
sequence: 1,
|
|
129
|
+
phase: 'processing',
|
|
130
|
+
transition: 'finish',
|
|
131
|
+
outcome: 'succeeded',
|
|
132
|
+
protocol: 'V2',
|
|
133
|
+
} as const;
|
|
134
|
+
const device = {
|
|
135
|
+
...createDevice(),
|
|
136
|
+
finishProtocolV2UiInteraction: jest.fn(() => interaction),
|
|
137
|
+
};
|
|
138
|
+
const coordinator = new ProtocolV2UiInteractionCoordinator(device as any, postMessage);
|
|
139
|
+
|
|
140
|
+
const emitted = coordinator.close({ ensureOperationClose: true });
|
|
141
|
+
|
|
142
|
+
expect(emitted).toBe(true);
|
|
143
|
+
expect(postMessage).toHaveBeenCalledWith({
|
|
144
|
+
event: 'UI_EVENT',
|
|
145
|
+
type: UI_REQUEST.CLOSE_UI_WINDOW,
|
|
146
|
+
payload: {
|
|
147
|
+
...interaction,
|
|
148
|
+
device: { connectId: 'pro2-test', deviceType: 'pro2' },
|
|
149
|
+
},
|
|
150
|
+
});
|
|
151
|
+
});
|
|
152
|
+
|
|
153
|
+
test('closes a known Protocol V2 operation after transport state is released', () => {
|
|
154
|
+
const postMessage = jest.fn();
|
|
155
|
+
const interaction = {
|
|
156
|
+
interactionId: 'interaction-released',
|
|
157
|
+
phaseId: 'interaction-released:phase-1',
|
|
158
|
+
sequence: 2,
|
|
159
|
+
phase: 'processing',
|
|
160
|
+
transition: 'finish',
|
|
161
|
+
outcome: 'succeeded',
|
|
162
|
+
protocol: 'V2',
|
|
163
|
+
} as const;
|
|
164
|
+
const device = {
|
|
165
|
+
...createDevice(false),
|
|
166
|
+
finishProtocolV2UiInteraction: jest.fn(() => interaction),
|
|
167
|
+
};
|
|
168
|
+
const coordinator = new ProtocolV2UiInteractionCoordinator(device as any, postMessage);
|
|
169
|
+
|
|
170
|
+
const emitted = coordinator.close({
|
|
171
|
+
ensureOperationClose: true,
|
|
172
|
+
protocolV2Operation: true,
|
|
173
|
+
});
|
|
174
|
+
|
|
175
|
+
expect(emitted).toBe(true);
|
|
176
|
+
expect(postMessage).toHaveBeenCalledWith({
|
|
177
|
+
event: 'UI_EVENT',
|
|
178
|
+
type: UI_REQUEST.CLOSE_UI_WINDOW,
|
|
179
|
+
payload: {
|
|
180
|
+
...interaction,
|
|
181
|
+
device: { connectId: 'pro2-test', deviceType: 'pro2' },
|
|
182
|
+
},
|
|
183
|
+
});
|
|
184
|
+
});
|
|
185
|
+
|
|
123
186
|
test('does not emit interaction events for methods without metadata such as Portfolio', () => {
|
|
124
187
|
const postMessage = jest.fn();
|
|
125
188
|
const coordinator = new ProtocolV2UiInteractionCoordinator(createDevice() as any, postMessage);
|
|
@@ -48,6 +48,7 @@ describe('public Pro2 API boundary', () => {
|
|
|
48
48
|
const api = createCoreApi(jest.fn() as CoreApi['call']) as Record<string, unknown>;
|
|
49
49
|
|
|
50
50
|
expect(api.deviceGetOnboardingStatus).toBeInstanceOf(Function);
|
|
51
|
+
expect(api.deviceUploadNft).toBeInstanceOf(Function);
|
|
51
52
|
expect(api.uploadPortfolio).toBeInstanceOf(Function);
|
|
52
53
|
expect(api.testProtocolV2Ping).toBeInstanceOf(Function);
|
|
53
54
|
expect(publicMethods.testProtocolV2Ping).toBeInstanceOf(Function);
|
|
@@ -42,7 +42,7 @@ describe('SearchDevices', () => {
|
|
|
42
42
|
mockIsBleConnect.mockReturnValue(false);
|
|
43
43
|
});
|
|
44
44
|
|
|
45
|
-
test('
|
|
45
|
+
test('搜索忽略调用方协议并主动探测,单个无响应设备不阻断后续结果', async () => {
|
|
46
46
|
const unresponsiveDescriptor = {
|
|
47
47
|
path: 'stale-usb-device',
|
|
48
48
|
id: 'stale-usb-device',
|
|
@@ -74,6 +74,7 @@ describe('SearchDevices', () => {
|
|
|
74
74
|
id: 1,
|
|
75
75
|
payload: {
|
|
76
76
|
method: 'searchDevices',
|
|
77
|
+
connectProtocol: 'V2',
|
|
77
78
|
},
|
|
78
79
|
} as any);
|
|
79
80
|
method.init();
|
|
@@ -89,13 +90,21 @@ describe('SearchDevices', () => {
|
|
|
89
90
|
1,
|
|
90
91
|
[unresponsiveDescriptor],
|
|
91
92
|
unresponsiveDescriptor.path,
|
|
92
|
-
{
|
|
93
|
+
{
|
|
94
|
+
connectProtocol: undefined,
|
|
95
|
+
forceProtocolDetection: true,
|
|
96
|
+
refreshRuntimeState: true,
|
|
97
|
+
}
|
|
93
98
|
);
|
|
94
99
|
expect(mockGetDevices).toHaveBeenNthCalledWith(
|
|
95
100
|
2,
|
|
96
101
|
[availableDescriptor],
|
|
97
102
|
availableDescriptor.path,
|
|
98
|
-
{
|
|
103
|
+
{
|
|
104
|
+
connectProtocol: undefined,
|
|
105
|
+
forceProtocolDetection: true,
|
|
106
|
+
refreshRuntimeState: true,
|
|
107
|
+
}
|
|
99
108
|
);
|
|
100
109
|
});
|
|
101
110
|
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { createUiMessage } from '../src/events';
|
|
2
|
+
import { UI_REQUEST } from '../src/events/ui-request';
|
|
3
|
+
import { createUiProgressMessageFilter } from '../src/utils/uiProgressThrottle';
|
|
4
|
+
|
|
5
|
+
import type { KnownDevice } from '../src/types';
|
|
6
|
+
|
|
7
|
+
describe('createUiProgressMessageFilter', () => {
|
|
8
|
+
let currentTime: number;
|
|
9
|
+
let shouldPostMessage: ReturnType<typeof createUiProgressMessageFilter>;
|
|
10
|
+
|
|
11
|
+
beforeEach(() => {
|
|
12
|
+
currentTime = 1_000;
|
|
13
|
+
shouldPostMessage = createUiProgressMessageFilter(250, () => currentTime);
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
const firmwareProgress = (
|
|
17
|
+
progress: number,
|
|
18
|
+
progressType: 'transferData' | 'installingFirmware' = 'transferData'
|
|
19
|
+
) =>
|
|
20
|
+
createUiMessage(UI_REQUEST.FIRMWARE_PROGRESS, {
|
|
21
|
+
device: {} as KnownDevice,
|
|
22
|
+
progress,
|
|
23
|
+
progressType,
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
test('limits firmware progress to one event per interval', () => {
|
|
27
|
+
expect(shouldPostMessage(firmwareProgress(1))).toBe(true);
|
|
28
|
+
|
|
29
|
+
currentTime += 100;
|
|
30
|
+
expect(shouldPostMessage(firmwareProgress(1))).toBe(false);
|
|
31
|
+
|
|
32
|
+
currentTime += 150;
|
|
33
|
+
expect(shouldPostMessage(firmwareProgress(1))).toBe(true);
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
test('limits transfer and install progress independently', () => {
|
|
37
|
+
expect(shouldPostMessage(firmwareProgress(1, 'transferData'))).toBe(true);
|
|
38
|
+
expect(shouldPostMessage(firmwareProgress(1, 'installingFirmware'))).toBe(true);
|
|
39
|
+
|
|
40
|
+
currentTime += 10;
|
|
41
|
+
expect(shouldPostMessage(firmwareProgress(2, 'transferData'))).toBe(false);
|
|
42
|
+
expect(shouldPostMessage(firmwareProgress(2, 'installingFirmware'))).toBe(false);
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
test('emits phase boundaries immediately and suppresses duplicate boundaries', () => {
|
|
46
|
+
expect(shouldPostMessage(firmwareProgress(0))).toBe(true);
|
|
47
|
+
expect(shouldPostMessage(firmwareProgress(0))).toBe(false);
|
|
48
|
+
|
|
49
|
+
currentTime += 10;
|
|
50
|
+
expect(shouldPostMessage(firmwareProgress(50))).toBe(false);
|
|
51
|
+
expect(shouldPostMessage(firmwareProgress(100))).toBe(true);
|
|
52
|
+
expect(shouldPostMessage(firmwareProgress(100))).toBe(false);
|
|
53
|
+
|
|
54
|
+
expect(shouldPostMessage(firmwareProgress(0))).toBe(true);
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
test('treats decreasing progress as a new phase', () => {
|
|
58
|
+
expect(shouldPostMessage(firmwareProgress(80))).toBe(true);
|
|
59
|
+
|
|
60
|
+
currentTime += 10;
|
|
61
|
+
expect(shouldPostMessage(firmwareProgress(20))).toBe(true);
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
test('also limits device progress and leaves other UI events unchanged', () => {
|
|
65
|
+
const deviceProgress = (progress: number) =>
|
|
66
|
+
createUiMessage(UI_REQUEST.DEVICE_PROGRESS, { progress });
|
|
67
|
+
|
|
68
|
+
expect(shouldPostMessage(deviceProgress(1))).toBe(true);
|
|
69
|
+
currentTime += 10;
|
|
70
|
+
expect(shouldPostMessage(deviceProgress(2))).toBe(false);
|
|
71
|
+
|
|
72
|
+
expect(shouldPostMessage(createUiMessage(UI_REQUEST.CLOSE_UI_WINDOW))).toBe(true);
|
|
73
|
+
});
|
|
74
|
+
});
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { createDeferred } from '@onekeyfe/hd-shared';
|
|
2
|
+
|
|
3
|
+
import { findUiPromiseForResponse } from '../src/core/uiPromiseRegistry';
|
|
4
|
+
import { UI_RESPONSE } from '../src/events';
|
|
5
|
+
|
|
6
|
+
import type { UiPromise, UiPromiseResponse } from '../src/events';
|
|
7
|
+
|
|
8
|
+
const createPinPromise = (interactionId: string, deviceId: string) => {
|
|
9
|
+
const promise = createDeferred(UI_RESPONSE.RECEIVE_PIN) as UiPromise<
|
|
10
|
+
typeof UI_RESPONSE.RECEIVE_PIN
|
|
11
|
+
>;
|
|
12
|
+
promise.responseCorrelation = { interactionId, deviceId };
|
|
13
|
+
return promise;
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
const asRegistry = (promises: UiPromise<typeof UI_RESPONSE.RECEIVE_PIN>[]) =>
|
|
17
|
+
promises as UiPromise<UiPromiseResponse['type']>[];
|
|
18
|
+
|
|
19
|
+
describe('UI response promise correlation', () => {
|
|
20
|
+
test('matches a sensitive response by type, interactionId and deviceId', () => {
|
|
21
|
+
const deviceA = createPinPromise('interaction-a', 'device-a');
|
|
22
|
+
const deviceB = createPinPromise('interaction-b', 'device-b');
|
|
23
|
+
|
|
24
|
+
expect(
|
|
25
|
+
findUiPromiseForResponse(asRegistry([deviceA, deviceB]), {
|
|
26
|
+
type: UI_RESPONSE.RECEIVE_PIN,
|
|
27
|
+
payload: '123',
|
|
28
|
+
interactionId: 'interaction-b',
|
|
29
|
+
deviceId: 'device-b',
|
|
30
|
+
})
|
|
31
|
+
).toBe(deviceB);
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
test('does not match incomplete or incorrect correlation metadata', () => {
|
|
35
|
+
const pending = createPinPromise('interaction-a', 'device-a');
|
|
36
|
+
|
|
37
|
+
expect(
|
|
38
|
+
findUiPromiseForResponse(asRegistry([pending]), {
|
|
39
|
+
type: UI_RESPONSE.RECEIVE_PIN,
|
|
40
|
+
payload: '123',
|
|
41
|
+
interactionId: 'interaction-a',
|
|
42
|
+
})
|
|
43
|
+
).toBeUndefined();
|
|
44
|
+
expect(
|
|
45
|
+
findUiPromiseForResponse(asRegistry([pending]), {
|
|
46
|
+
type: UI_RESPONSE.RECEIVE_PIN,
|
|
47
|
+
payload: '123',
|
|
48
|
+
interactionId: 'interaction-a',
|
|
49
|
+
deviceId: 'device-b',
|
|
50
|
+
})
|
|
51
|
+
).toBeUndefined();
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
test('keeps legacy responses only when the sensitive candidate is unique', () => {
|
|
55
|
+
const deviceA = createPinPromise('interaction-a', 'device-a');
|
|
56
|
+
const deviceB = createPinPromise('interaction-b', 'device-b');
|
|
57
|
+
const legacyResponse = {
|
|
58
|
+
type: UI_RESPONSE.RECEIVE_PIN,
|
|
59
|
+
payload: '123',
|
|
60
|
+
} as const;
|
|
61
|
+
|
|
62
|
+
expect(findUiPromiseForResponse(asRegistry([deviceA]), legacyResponse)).toBe(deviceA);
|
|
63
|
+
expect(
|
|
64
|
+
findUiPromiseForResponse(asRegistry([deviceA, deviceB]), legacyResponse)
|
|
65
|
+
).toBeUndefined();
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
test('applies the same exact matching to passphrase responses', () => {
|
|
69
|
+
const promise = createDeferred(UI_RESPONSE.RECEIVE_PASSPHRASE) as UiPromise<
|
|
70
|
+
typeof UI_RESPONSE.RECEIVE_PASSPHRASE
|
|
71
|
+
>;
|
|
72
|
+
promise.responseCorrelation = {
|
|
73
|
+
interactionId: 'passphrase-interaction',
|
|
74
|
+
deviceId: 'device-a',
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
expect(
|
|
78
|
+
findUiPromiseForResponse([promise] as UiPromise<UiPromiseResponse['type']>[], {
|
|
79
|
+
type: UI_RESPONSE.RECEIVE_PASSPHRASE,
|
|
80
|
+
payload: { value: 'redacted' },
|
|
81
|
+
interactionId: 'passphrase-interaction',
|
|
82
|
+
deviceId: 'device-a',
|
|
83
|
+
})
|
|
84
|
+
).toBe(promise);
|
|
85
|
+
});
|
|
86
|
+
});
|
package/dist/api/BaseMethod.d.ts
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { type EFirmwareType } from '@onekeyfe/hd-shared';
|
|
2
2
|
import { type ProtocolType } from '@onekeyfe/hd-transport';
|
|
3
|
-
import { type UnlockPolicy } from '../protocols/protocol-v2/unlockPolicy';
|
|
4
3
|
import type { Device } from '../device/Device';
|
|
5
4
|
import type DeviceConnector from '../device/DeviceConnector';
|
|
6
5
|
import type { DeviceFirmwareRange } from '../types';
|
|
7
6
|
import type { CoreMessage } from '../events';
|
|
7
|
+
import type { UnlockPolicy } from '../protocols/protocol-v2/unlockPolicy';
|
|
8
8
|
import type { ProtocolV2InteractionDescriptor } from '../protocols/protocol-v2/uiInteraction';
|
|
9
|
+
import type { ProtocolV2UnlockContext } from '../protocols/protocol-v2/unlockPolicyRunner';
|
|
9
10
|
import type { RequestContext } from '../utils/tracing';
|
|
10
11
|
import type { CoreContext } from '../core';
|
|
11
12
|
export type { UnlockPolicy } from '../protocols/protocol-v2/unlockPolicy';
|
|
@@ -37,6 +38,7 @@ export declare abstract class BaseMethod<Params = undefined> {
|
|
|
37
38
|
getPreWarmKey(): string;
|
|
38
39
|
strictCheckDeviceSupport: boolean;
|
|
39
40
|
unlockPolicy: UnlockPolicy;
|
|
41
|
+
protocolV2UnlockContext?: ProtocolV2UnlockContext;
|
|
40
42
|
getSupportedProtocols(): readonly ProtocolType[];
|
|
41
43
|
supportsProtocol(protocol: ProtocolType): boolean;
|
|
42
44
|
assertProtocolSupported(protocol: ProtocolType, firmwareType: EFirmwareType): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseMethod.d.ts","sourceRoot":"","sources":["../../src/api/BaseMethod.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,aAAa,EAKnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAyB,KAAK,YAAY,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"BaseMethod.d.ts","sourceRoot":"","sources":["../../src/api/BaseMethod.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,9 +13,10 @@ type ProtocolV2FirmwareReleasePlan = {
|
|
|
13
13
|
targetsToUpdate: FirmwareUpdateV4Target[];
|
|
14
14
|
release: IFirmwareReleaseInfo | undefined;
|
|
15
15
|
};
|
|
16
|
-
export declare function buildProtocolV2FirmwareRelease({ currentVersions, currentVerification, remotePayloadHashes, firmwareType, release, }: {
|
|
16
|
+
export declare function buildProtocolV2FirmwareRelease({ currentVersions, currentVerification, checkFirmwareHash, remotePayloadHashes, firmwareType, release, }: {
|
|
17
17
|
currentVersions: DeviceStateVersions;
|
|
18
18
|
currentVerification?: Partial<DeviceFeaturesVerify>;
|
|
19
|
+
checkFirmwareHash?: boolean;
|
|
19
20
|
remotePayloadHashes?: Readonly<Record<string, string | null>>;
|
|
20
21
|
firmwareType: EFirmwareType;
|
|
21
22
|
release: IFirmwareReleaseInfo | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheckAllFirmwareRelease.d.ts","sourceRoot":"","sources":["../../src/api/CheckAllFirmwareRelease.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"CheckAllFirmwareRelease.d.ts","sourceRoot":"","sources":["../../src/api/CheckAllFirmwareRelease.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA6B,MAAM,qBAAqB,CAAC;AAY/E,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAM1C,OAAO,KAAK,EACV,kBAAkB,EAElB,kCAAkC,EAClC,+BAA+B,EAChC,MAAM,sCAAsC,CAAC;AAC9C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,KAAK,EACV,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EAGrB,MAAM,UAAU,CAAC;AA+HlB,KAAK,6BAA6B,GAAG;IACnC,YAAY,EAAE,aAAa,CAAC;IAC5B,MAAM,EAAE,+BAA+B,CAAC;IACxC,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,eAAe,EAAE,mBAAmB,CAAC;IACrC,UAAU,EAAE,kCAAkC,EAAE,CAAC;IACjD,eAAe,EAAE,sBAAsB,EAAE,CAAC;IAC1C,OAAO,EAAE,oBAAoB,GAAG,SAAS,CAAC;CAC3C,CAAC;AAEF,wBAAgB,8BAA8B,CAAC,EAC7C,eAAe,EACf,mBAAwB,EACxB,iBAAyB,EACzB,mBAAwB,EACxB,YAAY,EACZ,OAAO,GACR,EAAE;IACD,eAAe,EAAE,mBAAmB,CAAC;IACrC,mBAAmB,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACpD,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,mBAAmB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;IAC9D,YAAY,EAAE,aAAa,CAAC;IAC5B,OAAO,EAAE,oBAAoB,GAAG,SAAS,CAAC;CAC3C,GAAG,6BAA6B,CAqEhC;AAED,MAAM,CAAC,OAAO,OAAO,uBAAwB,SAAQ,UAAU;IAC7D,qBAAqB;IAIrB,IAAI;IAME,GAAG;YAuDK,aAAa;CAyF5B"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { BaseMethod } from './BaseMethod';
|
|
2
|
+
export default class DetectDeviceConnectProtocol extends BaseMethod {
|
|
3
|
+
init(): void;
|
|
4
|
+
getSupportedProtocols(): readonly ["V1", "V2"];
|
|
5
|
+
run(): Promise<"V1" | "V2">;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=DetectDeviceConnectProtocol.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DetectDeviceConnectProtocol.d.ts","sourceRoot":"","sources":["../../src/api/DetectDeviceConnectProtocol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,CAAC,OAAO,OAAO,2BAA4B,SAAQ,UAAU;IACjE,IAAI;IAOJ,qBAAqB;IAIrB,GAAG;CAGJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FirmwareUpdate.d.ts","sourceRoot":"","sources":["../../src/api/FirmwareUpdate.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"FirmwareUpdate.d.ts","sourceRoot":"","sources":["../../src/api/FirmwareUpdate.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAW1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpD,KAAK,MAAM,GAAG;IACZ,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,UAAU,GAAG,KAAK,CAAC;CAChC,CAAC;AAIF,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,UAAU,CAAC,MAAM,CAAC;IAC5D,YAAY,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAQ;IAE1C,IAAI;IAgCJ,cAAc,YAAa,MAAM,UAS/B;IAEF,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS;IA0D/C,GAAG;CA+FV"}
|
|
@@ -1,19 +1,8 @@
|
|
|
1
1
|
import { type Deferred, type EFirmwareType } from '@onekeyfe/hd-shared';
|
|
2
2
|
import { BaseMethod } from './BaseMethod';
|
|
3
3
|
import type { Features } from '../types';
|
|
4
|
-
import type { FirmwareArtifactReader, FirmwareArtifactReference } from '../types/api/firmwareUpdate';
|
|
5
|
-
import type { FirmwareUpdatePreparedPlan } from '../types/api/firmwareUpdatePreparedPlan';
|
|
6
4
|
type Params = {
|
|
7
5
|
binary?: ArrayBuffer;
|
|
8
|
-
artifact?: FirmwareArtifactReference;
|
|
9
|
-
resourceArtifact?: FirmwareArtifactReference;
|
|
10
|
-
resourceEntries?: Array<{
|
|
11
|
-
entryName: string;
|
|
12
|
-
artifact: FirmwareArtifactReference;
|
|
13
|
-
}>;
|
|
14
|
-
artifactReader?: FirmwareArtifactReader;
|
|
15
|
-
preparedPlan?: FirmwareUpdatePreparedPlan;
|
|
16
|
-
platform?: FirmwareUpdatePreparedPlan['platform'];
|
|
17
6
|
version?: number[];
|
|
18
7
|
updateType: 'firmware' | 'ble';
|
|
19
8
|
forcedUpdateRes?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FirmwareUpdateV2.d.ts","sourceRoot":"","sources":["../../src/api/FirmwareUpdateV2.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,QAAQ,EAEb,KAAK,aAAa,EAKnB,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"FirmwareUpdateV2.d.ts","sourceRoot":"","sources":["../../src/api/FirmwareUpdateV2.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,QAAQ,EAEb,KAAK,aAAa,EAKnB,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAW1C,OAAO,KAAK,EAAE,QAAQ,EAAe,MAAM,UAAU,CAAC;AAGtD,KAAK,MAAM,GAAG;IACZ,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,UAAU,GAAG,KAAK,CAAC;IAC/B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,YAAY,CAAC,EAAE,aAAa,CAAC;CAC9B,CAAC;AA2EF,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,UAAU,CAAC,MAAM,CAAC;IAC9D,YAAY,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAQ;IAE1C,IAAI;IA6CJ,cAAc,YAAa,MAAM,UAS/B;YAEY,qCAAqC;IAkBnD,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS;YAmFvC,4BAA4B;IAyB1C,qBAAqB;IAUrB,uBAAuB,CAAC,UAAU,EAAE,MAAM;IAc1C,gCAAgC,CAAC,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAAE,YAAY,EAAE,aAAa;IAwBtF,GAAG;CAwJV"}
|
|
@@ -5,7 +5,6 @@ export declare const MIN_UPDATE_V3_BOOTLOADER_VERSION = "2.8.0";
|
|
|
5
5
|
export default class FirmwareUpdateV3 extends FirmwareUpdateBaseMethod<FirmwareUpdateV3Params> {
|
|
6
6
|
checkPromise: Deferred<any> | null;
|
|
7
7
|
private isSwitchFirmware;
|
|
8
|
-
private artifactSources;
|
|
9
8
|
init(): void;
|
|
10
9
|
run(): Promise<{
|
|
11
10
|
bootloaderVersion: string;
|
|
@@ -14,12 +13,9 @@ export default class FirmwareUpdateV3 extends FirmwareUpdateBaseMethod<FirmwareU
|
|
|
14
13
|
}>;
|
|
15
14
|
private runProtocolV1;
|
|
16
15
|
private validateDeviceAndVersion;
|
|
17
|
-
private
|
|
18
|
-
private
|
|
19
|
-
private
|
|
20
|
-
private prepareResourceInput;
|
|
21
|
-
private prepareBootloaderSource;
|
|
22
|
-
private prepareFirmwareAndBleSources;
|
|
16
|
+
private prepareResourceBinary;
|
|
17
|
+
private prepareBootloaderBinary;
|
|
18
|
+
private prepareFirmwareAndBleBinary;
|
|
23
19
|
private executeUpdate;
|
|
24
20
|
private extractUpdateModeProgress;
|
|
25
21
|
private isGetFeaturesTimeoutError;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FirmwareUpdateV3.d.ts","sourceRoot":"","sources":["../../src/api/FirmwareUpdateV3.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FirmwareUpdateV3.d.ts","sourceRoot":"","sources":["../../src/api/FirmwareUpdateV3.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAK/E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,KAAK,EAAE,QAAQ,EAAiB,MAAM,qBAAqB,CAAC;AAKnE,eAAO,MAAM,gCAAgC,UAAU,CAAC;AAaxD,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,wBAAwB,CAAC,sBAAsB,CAAC;IAC5F,YAAY,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAQ;IAE1C,OAAO,CAAC,gBAAgB,CAAS;IAEjC,IAAI;IAmCE,GAAG;;;;;YAQK,aAAa;IA+C3B,OAAO,CAAC,wBAAwB;YAiBlB,qBAAqB;YAoBrB,uBAAuB;YAiBvB,2BAA2B;YAiD3B,aAAa;IA0M3B,OAAO,CAAC,yBAAyB;IAajC,OAAO,CAAC,yBAAyB;IAQjC,OAAO,CAAC,qBAAqB;IAmB7B,OAAO,CAAC,sCAAsC;IAexC,sBAAsB,CAAC,OAAO,EAAE,MAAM;CA2E7C"}
|
|
@@ -5,11 +5,6 @@ export declare const assertProtocolV2ReconnectIdentity: (expectedSerialNumber?:
|
|
|
5
5
|
export default class FirmwareUpdateV4 extends FirmwareUpdateBaseMethod<FirmwareUpdateV4Params> {
|
|
6
6
|
private protocolV2ExpectedSerialNumber?;
|
|
7
7
|
getSupportedProtocols(): readonly ["V2"];
|
|
8
|
-
private protocolV2PreparedSources;
|
|
9
|
-
private protocolV2ExecutionInLoader;
|
|
10
|
-
private protocolV2CompletedTargetVersions;
|
|
11
|
-
private protocolV2LatestFinalFeatures?;
|
|
12
|
-
private protocolV2FinalStatusVerified;
|
|
13
8
|
init(): void;
|
|
14
9
|
private getProtocolV2FirmwareChunkSize;
|
|
15
10
|
run(): Promise<{
|
|
@@ -18,19 +13,10 @@ export default class FirmwareUpdateV4 extends FirmwareUpdateBaseMethod<FirmwareU
|
|
|
18
13
|
firmwareVersion: string;
|
|
19
14
|
}>;
|
|
20
15
|
private runProtocolV2;
|
|
21
|
-
private openProtocolV2PreparedSource;
|
|
22
|
-
private openProtocolV2MemorySource;
|
|
23
|
-
private closeProtocolV2PreparedSources;
|
|
24
|
-
private prepareProtocolV2InstallSources;
|
|
25
|
-
private prepareProtocolV2ResourceSources;
|
|
26
|
-
private runProtocolV2PreparedArtifacts;
|
|
27
|
-
private validateExpectedTargetVersions;
|
|
28
|
-
private getExpectedProtocolV2TargetVersion;
|
|
29
|
-
private assertExpectedProtocolV2Versions;
|
|
30
|
-
private getProtocolV2RequestedTargets;
|
|
31
16
|
private getProtocolV2DeviceFeatures;
|
|
32
17
|
private getProtocolV2SerialNumber;
|
|
33
18
|
private assertProtocolV2DeviceInfoIdentity;
|
|
19
|
+
private getProtocolV2DeviceInfoTimeout;
|
|
34
20
|
private requestProtocolV2PhysicalIdentity;
|
|
35
21
|
private captureProtocolV2PhysicalIdentity;
|
|
36
22
|
private verifyProtocolV2ReconnectIdentity;
|
|
@@ -39,36 +25,36 @@ export default class FirmwareUpdateV4 extends FirmwareUpdateBaseMethod<FirmwareU
|
|
|
39
25
|
private buildProtocolV2InstallItems;
|
|
40
26
|
private getRemoteComponentEntries;
|
|
41
27
|
private getRemoteComponentTarget;
|
|
42
|
-
private getProtocolV2ResourceFilePath;
|
|
43
|
-
private readProtocolV2DeviceFileHeader;
|
|
44
28
|
private downloadRemoteProtocolV2Component;
|
|
45
29
|
private prepareRemoteProtocolV2Binaries;
|
|
30
|
+
private validateProtocolV2BootResourcesBinary;
|
|
31
|
+
private prepareProtocolV2BootResources;
|
|
32
|
+
private prepareExplicitProtocolV2ResourceBundles;
|
|
46
33
|
private prepareProtocolV2ResourceBundles;
|
|
47
|
-
private
|
|
48
|
-
private
|
|
34
|
+
private downloadProtocolV2Resource;
|
|
35
|
+
private syncProtocolV2ResourceBundles;
|
|
49
36
|
private isProtocolV2BootloaderMode;
|
|
50
37
|
private isProtocolV2RomloaderMode;
|
|
51
38
|
enterProtocolV2BootloaderMode(): Promise<boolean>;
|
|
52
39
|
private waitForProtocolV2BootloaderMode;
|
|
53
40
|
private collectExplicitTargetBinaries;
|
|
54
|
-
private buildProtocolV2ExecutionPhases;
|
|
55
|
-
private executeProtocolV2Phases;
|
|
56
|
-
private executeProtocolV2SourceUpdate;
|
|
57
41
|
private executeProtocolV2Update;
|
|
58
|
-
private executeProtocolV2TransferPhase;
|
|
59
|
-
private protocolV2SourceUpdateProcess;
|
|
60
42
|
private getProtocolV2InstallItemStagingPath;
|
|
61
43
|
private verifyProtocolV2StagedFile;
|
|
62
44
|
private assertProtocolV2TargetStatus;
|
|
45
|
+
private getProtocolV2MissingTargetIds;
|
|
63
46
|
private waitForProtocolV2FirmwareUpdateComplete;
|
|
64
47
|
private exitProtocolV2BootloaderToNormal;
|
|
65
48
|
private probeProtocolV2NormalMode;
|
|
66
49
|
private waitForProtocolV2FinalFeatures;
|
|
67
|
-
private
|
|
50
|
+
private getProtocolV2VersionResult;
|
|
68
51
|
private waitForProtocolV2ReconnectAndFeatures;
|
|
69
52
|
private reconnectProtocolV2Device;
|
|
70
53
|
private ensureProtocolV2DeviceAcquired;
|
|
71
54
|
private isProtocolV2ReconnectIdentityError;
|
|
55
|
+
private protocolV2CommonUpdateProcess;
|
|
56
|
+
private protocolV2WriteWholeFile;
|
|
57
|
+
private getProtocolV2FirmwareTransferTransport;
|
|
72
58
|
private fileWriteChunk;
|
|
73
59
|
private recoverProtocolV2FileTransfer;
|
|
74
60
|
private acquireProtocolV2BleDevice;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FirmwareUpdateV4.d.ts","sourceRoot":"","sources":["../../src/api/FirmwareUpdateV4.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FirmwareUpdateV4.d.ts","sourceRoot":"","sources":["../../src/api/FirmwareUpdateV4.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAkB/E,OAAO,KAAK,EAAE,sBAAsB,EAA0B,MAAM,6BAA6B,CAAC;AAmUlG,eAAO,MAAM,oCAAoC,WACvC,WAAW,GAAG,UAAU,eACnB,MAAM,GAAG,SAAS,YAKhC,CAAC;AAEF,eAAO,MAAM,iCAAiC,0BACrB,MAAM,uBACR,MAAM,SAa5B,CAAC;AAUF,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,wBAAwB,CAAC,sBAAsB,CAAC;IAC5F,OAAO,CAAC,8BAA8B,CAAC,CAAS;IAEhD,qBAAqB;IAIrB,IAAI;IA6DJ,OAAO,CAAC,8BAA8B;IAiBhC,GAAG;;;;;YAKK,aAAa;YAqGb,2BAA2B;IAWzC,OAAO,CAAC,yBAAyB;IAKjC,OAAO,CAAC,kCAAkC;IAO1C,OAAO,CAAC,8BAA8B;YAMxB,iCAAiC;YAOjC,iCAAiC;YAOjC,iCAAiC;IAM/C,OAAO,CAAC,uBAAuB;IAI/B,OAAO,CAAC,4BAA4B;IASpC,OAAO,CAAC,2BAA2B;IAsBnC,OAAO,CAAC,yBAAyB;IAiBjC,OAAO,CAAC,wBAAwB;YAkBlB,iCAAiC;YAmCjC,+BAA+B;IAqD7C,OAAO,CAAC,qCAAqC;YAuB/B,8BAA8B;IAyB5C,OAAO,CAAC,wCAAwC;YAgBlC,gCAAgC;YAqChC,0BAA0B;YAe1B,6BAA6B;IAkC3C,OAAO,CAAC,0BAA0B;IAUlC,OAAO,CAAC,yBAAyB;IAU3B,6BAA6B;YA4BrB,+BAA+B;IAkD7C,OAAO,CAAC,6BAA6B;YAkCvB,uBAAuB;IA4GrC,OAAO,CAAC,mCAAmC;YAI7B,0BAA0B;IAaxC,OAAO,CAAC,4BAA4B;IAgEpC,OAAO,CAAC,6BAA6B;YAcvB,uCAAuC;YAoJvC,gCAAgC;YAchC,yBAAyB;YAQzB,8BAA8B;IAQ5C,OAAO,CAAC,0BAA0B;YAiBpB,qCAAqC;YAgDrC,yBAAyB;YA8DzB,8BAA8B;IAU5C,OAAO,CAAC,kCAAkC;YAI5B,6BAA6B;YAwB7B,wBAAwB;IAoDtC,OAAO,CAAC,sCAAsC;YAchC,cAAc;YA+Bd,6BAA6B;YAW7B,0BAA0B;YAS1B,6BAA6B;YAmB7B,gBAAgB;IAiB9B,OAAO,CAAC,qBAAqB;CAM9B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GetPassphraseState.d.ts","sourceRoot":"","sources":["../../src/api/GetPassphraseState.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"GetPassphraseState.d.ts","sourceRoot":"","sources":["../../src/api/GetPassphraseState.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,UAAU;IACxD,qBAAqB;IAIrB,IAAI;IAKE,GAAG;CAiCV"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenWalletSession.d.ts","sourceRoot":"","sources":["../../src/api/OpenWalletSession.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"OpenWalletSession.d.ts","sourceRoot":"","sources":["../../src/api/OpenWalletSession.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAI1C,OAAO,KAAK,EACV,uBAAuB,EACvB,wBAAwB,EACzB,MAAM,gCAAgC,CAAC;AAkExC,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,UAAU,CAAC,uBAAuB,CAAC;IAChF,qBAAqB;IAIrB,IAAI;IAOE,GAAG,IAAI,OAAO,CAAC,wBAAwB,CAAC;CA+J/C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchDevices.d.ts","sourceRoot":"","sources":["../../src/api/SearchDevices.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAM1C,OAAO,KAAK,eAAe,MAAM,2BAA2B,CAAC;AAI7D,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,UAAU;IACnD,SAAS,CAAC,EAAE,eAAe,CAAC;IAE5B,IAAI;IAME,GAAG;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"SearchDevices.d.ts","sourceRoot":"","sources":["../../src/api/SearchDevices.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAM1C,OAAO,KAAK,eAAe,MAAM,2BAA2B,CAAC;AAI7D,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,UAAU;IACnD,SAAS,CAAC,EAAE,eAAe,CAAC;IAE5B,IAAI;IAME,GAAG;;;;;;;;;;;;;;;CA8DV"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AllNetworkGetAddressBase.d.ts","sourceRoot":"","sources":["../../../src/api/allnetwork/AllNetworkGetAddressBase.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"AllNetworkGetAddressBase.d.ts","sourceRoot":"","sources":["../../../src/api/allnetwork/AllNetworkGetAddressBase.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAe3C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EACV,iBAAiB,EACjB,uBAAuB,EACvB,oBAAoB,EACpB,QAAQ,EACT,MAAM,sCAAsC,CAAC;AAI9C,MAAM,MAAM,aAAa,GAAG;IAC1B,UAAU,EAAE,MAAM,OAAO,CAAC;IAC1B,SAAS,CAAC,EAAE,CAAC,UAAU,EAAE,uBAAuB,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,KAAK,GAAG,CAAC;IAClG,kBAAkB,CAAC,EAAE,CAAC,MAAM,OAAO,CAAC,EAAE,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC,CAAC;AAEzF,MAAM,MAAM,gBAAgB,GAAG;KAC5B,CAAC,IAAI,YAAY,GAAG,aAAa;CACnC,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE;IAC3B,CAAC,GAAG,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,YAAY,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAOrD,CAAC;AAiMF,KAAK,YAAY,GAAG;IAClB,UAAU,EAAE,MAAM,OAAO,CAAC;IAC1B,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,oBAAoB,EAAE,uBAAuB,CAAC;IAC9C,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,wBAAyB,SAAQ,UAAU,CACvE;IACE,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,EAAE,CACJ;IACC,qBAAqB;IAIrB,eAAe,EAAE,eAAe,GAAG,IAAI,CAAQ;IAE/C,IAAI;IAkBJ,kBAAkB,CAAC,EACjB,OAAO,EACP,OAAO,EACP,aAAa,GACd,EAAE;QACD,OAAO,EAAE,QAAQ,CAAC;QAClB,OAAO,EAAE,uBAAuB,CAAC;QACjC,aAAa,EAAE,MAAM,CAAC;KACvB,GAAG,YAAY;IAqBV,UAAU,CACd,UAAU,EAAE,MAAM,OAAO,EACzB,MAAM,EAAE,GAAG,GAAG;QACZ,MAAM,EAAE,CAAC,GAAG,GAAG;YAAE,oBAAoB,EAAE,oBAAoB,CAAA;SAAE,CAAC,EAAE,CAAC;KAClE,EACD,eAAe,EAAE,MAAM;IAkIzB,QAAQ,CAAC,oBAAoB,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAE9E,GAAG;CAyBV"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { BaseMethod } from '../BaseMethod';
|
|
2
|
-
import type {
|
|
3
|
-
export default class DeviceUnlock extends BaseMethod<
|
|
2
|
+
import type { DeviceUnlockParams } from '../../types/api/deviceUnlock';
|
|
3
|
+
export default class DeviceUnlock extends BaseMethod<DeviceUnlockParams> {
|
|
4
4
|
getSupportedProtocols(): readonly ["V1", "V2"];
|
|
5
5
|
init(): void;
|
|
6
6
|
run(): Promise<import("../..").Features | undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeviceUnlock.d.ts","sourceRoot":"","sources":["../../../src/api/device/DeviceUnlock.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DeviceUnlock.d.ts","sourceRoot":"","sources":["../../../src/api/device/DeviceUnlock.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,UAAU,CAAC,kBAAkB,CAAC;IACtE,qBAAqB;IAIrB,IAAI;IAgBE,GAAG;CAGV"}
|
|
@@ -2,17 +2,13 @@ import { FirmwareUpdateBaseMethod } from '../firmware/FirmwareUpdateBaseMethod';
|
|
|
2
2
|
import type { EFirmwareType } from '@onekeyfe/hd-shared';
|
|
3
3
|
import type { Device } from '../../device/Device';
|
|
4
4
|
import type { Features } from '../../types';
|
|
5
|
-
import type { FirmwareByteSource } from '../firmware/FirmwareArtifactSource';
|
|
6
5
|
export default class DeviceUpdateBootloader extends FirmwareUpdateBaseMethod<any> {
|
|
7
6
|
init(): void;
|
|
8
7
|
updateBootloaderWithEmmcFileWrite(_device: Device, binary: ArrayBuffer): Promise<boolean>;
|
|
9
|
-
|
|
10
|
-
updateTouchBootloader({ device, features, firmwareType, binary: preparedBinary, source: preparedSource, }: {
|
|
8
|
+
updateTouchBootloader({ device, features, firmwareType, }: {
|
|
11
9
|
device: Device;
|
|
12
10
|
features?: Features;
|
|
13
11
|
firmwareType: EFirmwareType;
|
|
14
|
-
binary?: ArrayBuffer;
|
|
15
|
-
source?: FirmwareByteSource;
|
|
16
12
|
}): Promise<boolean | undefined>;
|
|
17
13
|
run(): Promise<boolean | undefined>;
|
|
18
14
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeviceUpdateBootloader.d.ts","sourceRoot":"","sources":["../../../src/api/device/DeviceUpdateBootloader.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"DeviceUpdateBootloader.d.ts","sourceRoot":"","sources":["../../../src/api/device/DeviceUpdateBootloader.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAQhF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,CAAC,OAAO,OAAO,sBAAuB,SAAQ,wBAAwB,CAAC,GAAG,CAAC;IAC/E,IAAI;IAOE,iCAAiC,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW;IAoBtE,qBAAqB,CAAC,EAC1B,MAAM,EACN,QAAQ,EACR,YAAY,GACb,EAAE;QACD,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,QAAQ,CAAC;QACpB,YAAY,EAAE,aAAa,CAAC;KAC7B;IAwCK,GAAG;CAgBV"}
|
|
@@ -5,11 +5,8 @@ import type { PROTO } from '../../constants';
|
|
|
5
5
|
import type { RebootType } from '@onekeyfe/hd-transport';
|
|
6
6
|
import type { Deferred } from '@onekeyfe/hd-shared';
|
|
7
7
|
import type { TypedResponseMessage } from '../../device/DeviceCommands';
|
|
8
|
-
import type { FirmwareByteSource } from './FirmwareArtifactSource';
|
|
9
|
-
export declare const BOOTLOADER_POLL_INITIALIZE_TIMEOUT_MS = 5000;
|
|
10
8
|
export declare class FirmwareUpdateBaseMethod<Params> extends BaseMethod<Params> {
|
|
11
9
|
checkPromise: Deferred<any> | null;
|
|
12
|
-
private shouldPostFirmwareProgress;
|
|
13
10
|
init(): void;
|
|
14
11
|
run(): Promise<any>;
|
|
15
12
|
isBleReconnect(): boolean;
|
|
@@ -30,12 +27,6 @@ export declare class FirmwareUpdateBaseMethod<Params> extends BaseMethod<Params>
|
|
|
30
27
|
processedSize?: number;
|
|
31
28
|
totalSize?: number;
|
|
32
29
|
}): Promise<number>;
|
|
33
|
-
emmcCommonUpdateProcessFromSource({ source, filePath, processedSize, totalSize, }: {
|
|
34
|
-
source: FirmwareByteSource;
|
|
35
|
-
filePath: string;
|
|
36
|
-
processedSize?: number;
|
|
37
|
-
totalSize?: number;
|
|
38
|
-
}): Promise<number>;
|
|
39
30
|
emmcFileWriteWithRetry(filePath: string, chunkLength: number, offset: number, chunk: ArrayBuffer | Buffer, overwrite: boolean, progress: number | null): Promise<TypedResponseMessage<"EmmcFile"> | undefined>;
|
|
40
31
|
reboot(rebootType: RebootType): Promise<import("@onekeyfe/hd-transport").Success>;
|
|
41
32
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FirmwareUpdateBaseMethod.d.ts","sourceRoot":"","sources":["../../../src/api/firmware/FirmwareUpdateBaseMethod.ts"],"names":[],"mappings":";AAaA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"FirmwareUpdateBaseMethod.d.ts","sourceRoot":"","sources":["../../../src/api/firmware/FirmwareUpdateBaseMethod.ts"],"names":[],"mappings":";AAaA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG3C,OAAO,KAAK,EACV,2BAA2B,EAC3B,yBAAyB,EAC1B,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAexE,qBAAa,wBAAwB,CAAC,MAAM,CAAE,SAAQ,UAAU,CAAC,MAAM,CAAC;IACtE,YAAY,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAQ;IAE1C,IAAI,IAAI,IAAI;IAEZ,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IAInB,cAAc,IAAI,OAAO;IASzB,cAAc,YAAa,yBAAyB,UASlD;IAMF,qBAAqB,SAAU,UAAU,GAAG,KAAK,GAAG,YAAY,GAAG,UAAU,UAM3E;IAMF,mBAAmB,aAAc,MAAM,gBAAgB,2BAA2B,UAQhF;cAEc,qCAAqC;cAkBrC,uCAAuC;IAkBvD,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS;YA2FvC,4BAA4B;IAyBpC,mBAAmB;IA8CnB,uBAAuB,CAAC,EAAE,IAAI,EAAE,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE;IA6BlD,8BAA8B,CAAC,IAAI,EAAE,MAAM;IAW3C,uBAAuB,CAAC,EAC5B,OAAO,EACP,QAAQ,EACR,aAAa,EACb,SAAS,GACV,EAAE,KAAK,CAAC,cAAc,GAAG;QACxB,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB;IA4CK,sBAAsB,CAC1B,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,WAAW,GAAG,MAAM,EAC3B,SAAS,EAAE,OAAO,EAClB,QAAQ,EAAE,MAAM,GAAG,IAAI;IAgFnB,MAAM,CAAC,UAAU,EAAE,UAAU;CAsBpC"}
|