@ledgerhq/device-management-kit 0.0.0-rnble-transport-20250303160138 → 0.0.0-rnble-transport-20250312161847
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/lib/cjs/package.json +2 -2
- package/lib/cjs/src/api/device-action/model/UserInteractionRequired.js.map +1 -1
- package/lib/cjs/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.js +1 -1
- package/lib/cjs/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.js.map +3 -3
- package/lib/cjs/src/api/index.js +1 -1
- package/lib/cjs/src/api/index.js.map +3 -3
- package/lib/cjs/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.js.map +2 -2
- package/lib/cjs/src/api/secure-channel/device-action/GenuineCheck/types.js +1 -1
- package/lib/cjs/src/api/secure-channel/device-action/GenuineCheck/types.js.map +1 -1
- package/lib/cjs/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.js +2 -0
- package/lib/cjs/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.js.map +7 -0
- package/lib/cjs/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.test.js +2 -0
- package/lib/cjs/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.test.js.map +7 -0
- package/lib/cjs/src/api/secure-channel/device-action/ListInstalledApps/types.js +2 -0
- package/lib/cjs/src/api/secure-channel/device-action/ListInstalledApps/types.js.map +7 -0
- package/lib/cjs/src/api/secure-channel/task/ConnectToSecureChannelTask.js +1 -1
- package/lib/cjs/src/api/secure-channel/task/ConnectToSecureChannelTask.js.map +2 -2
- package/lib/cjs/src/api/secure-channel/task/types.js +1 -1
- package/lib/cjs/src/api/secure-channel/task/types.js.map +1 -1
- package/lib/cjs/src/api/secure-channel/types.js +2 -0
- package/lib/cjs/src/api/secure-channel/types.js.map +7 -0
- package/lib/cjs/src/api/transport/model/DeviceConnectionStateMachine.js +1 -1
- package/lib/cjs/src/api/transport/model/DeviceConnectionStateMachine.js.map +2 -2
- package/lib/cjs/src/api/types.js +1 -1
- package/lib/cjs/src/api/types.js.map +1 -1
- package/lib/cjs/src/internal/device-session/model/DeviceSession.js +1 -1
- package/lib/cjs/src/internal/device-session/model/DeviceSession.js.map +2 -2
- package/lib/cjs/src/internal/device-session/service/DefaultApduSenderService.js +1 -1
- package/lib/cjs/src/internal/device-session/service/DefaultApduSenderService.js.map +2 -2
- package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.js +1 -1
- package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.js.map +3 -3
- package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js +1 -1
- package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js.map +3 -3
- package/lib/cjs/src/internal/manager-api/data/ManagerApiDataSource.js +1 -1
- package/lib/cjs/src/internal/manager-api/data/ManagerApiDataSource.js.map +1 -1
- package/lib/cjs/src/internal/manager-api/data/ManagerApiDto.js +1 -1
- package/lib/cjs/src/internal/manager-api/data/ManagerApiDto.js.map +1 -1
- package/lib/cjs/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js +1 -1
- package/lib/cjs/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js.map +2 -2
- package/lib/cjs/src/internal/manager-api/model/Application.js +1 -1
- package/lib/cjs/src/internal/manager-api/model/Application.js.map +1 -1
- package/lib/cjs/src/internal/manager-api/model/Params.js +2 -0
- package/lib/cjs/src/internal/manager-api/model/Params.js.map +7 -0
- package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.js +1 -1
- package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.js.map +3 -3
- package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.test.js +1 -1
- package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.test.js.map +3 -3
- package/lib/cjs/src/internal/manager-api/service/ManagerApiService.js +1 -1
- package/lib/cjs/src/internal/manager-api/service/ManagerApiService.js.map +1 -1
- package/lib/esm/package.json +2 -2
- package/lib/esm/src/api/device-action/model/UserInteractionRequired.js.map +1 -1
- package/lib/esm/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.js +1 -1
- package/lib/esm/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.js.map +3 -3
- package/lib/esm/src/api/index.js +1 -1
- package/lib/esm/src/api/index.js.map +3 -3
- package/lib/esm/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.js.map +2 -2
- package/lib/esm/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.js +2 -0
- package/lib/esm/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.js.map +7 -0
- package/lib/esm/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.test.js +2 -0
- package/lib/esm/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.test.js.map +7 -0
- package/lib/esm/src/api/secure-channel/device-action/ListInstalledApps/types.js +2 -0
- package/lib/esm/src/api/secure-channel/device-action/ListInstalledApps/types.js.map +7 -0
- package/lib/esm/src/api/secure-channel/task/ConnectToSecureChannelTask.js +1 -1
- package/lib/esm/src/api/secure-channel/task/ConnectToSecureChannelTask.js.map +2 -2
- package/lib/esm/src/api/secure-channel/task/types.js.map +1 -1
- package/lib/esm/src/api/secure-channel/types.js +1 -0
- package/lib/esm/src/api/secure-channel/types.js.map +7 -0
- package/lib/esm/src/api/transport/model/DeviceConnectionStateMachine.js +1 -1
- package/lib/esm/src/api/transport/model/DeviceConnectionStateMachine.js.map +2 -2
- package/lib/esm/src/internal/device-session/model/DeviceSession.js +1 -1
- package/lib/esm/src/internal/device-session/model/DeviceSession.js.map +2 -2
- package/lib/esm/src/internal/device-session/service/DefaultApduSenderService.js +1 -1
- package/lib/esm/src/internal/device-session/service/DefaultApduSenderService.js.map +2 -2
- package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.js +1 -1
- package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.js.map +3 -3
- package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js +1 -1
- package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js.map +3 -3
- package/lib/esm/src/internal/manager-api/data/ManagerApiDto.js.map +1 -1
- package/lib/esm/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js +1 -1
- package/lib/esm/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js.map +2 -2
- package/lib/esm/src/internal/manager-api/model/Application.js.map +1 -1
- package/lib/esm/src/internal/manager-api/model/Params.js +1 -0
- package/lib/esm/src/internal/manager-api/model/Params.js.map +7 -0
- package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.js +1 -1
- package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.js.map +3 -3
- package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.test.js +1 -1
- package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.test.js.map +3 -3
- package/lib/types/src/api/device-action/model/UserInteractionRequired.d.ts +1 -1
- package/lib/types/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.d.ts.map +1 -1
- package/lib/types/src/api/index.d.ts +1 -0
- package/lib/types/src/api/index.d.ts.map +1 -1
- package/lib/types/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.d.ts.map +1 -1
- package/lib/types/src/api/secure-channel/device-action/GenuineCheck/types.d.ts +5 -7
- package/lib/types/src/api/secure-channel/device-action/GenuineCheck/types.d.ts.map +1 -1
- package/lib/types/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.d.ts +8 -0
- package/lib/types/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.d.ts.map +1 -0
- package/lib/types/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.test.d.ts +1 -0
- package/lib/types/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.test.d.ts.map +1 -0
- package/lib/types/src/api/secure-channel/device-action/ListInstalledApps/types.d.ts +59 -0
- package/lib/types/src/api/secure-channel/device-action/ListInstalledApps/types.d.ts.map +1 -0
- package/lib/types/src/api/secure-channel/task/types.d.ts +1 -1
- package/lib/types/src/api/secure-channel/task/types.d.ts.map +1 -1
- package/lib/types/src/api/secure-channel/types.d.ts +4 -0
- package/lib/types/src/api/secure-channel/types.d.ts.map +1 -0
- package/lib/types/src/api/transport/model/DeviceConnectionStateMachine.d.ts.map +1 -1
- package/lib/types/src/api/types.d.ts +2 -1
- package/lib/types/src/api/types.d.ts.map +1 -1
- package/lib/types/src/internal/device-session/model/DeviceSession.d.ts.map +1 -1
- package/lib/types/src/internal/manager-api/data/AxiosManagerApiDataSource.d.ts +6 -5
- package/lib/types/src/internal/manager-api/data/AxiosManagerApiDataSource.d.ts.map +1 -1
- package/lib/types/src/internal/manager-api/data/ManagerApiDataSource.d.ts +14 -9
- package/lib/types/src/internal/manager-api/data/ManagerApiDataSource.d.ts.map +1 -1
- package/lib/types/src/internal/manager-api/data/ManagerApiDto.d.ts +4 -1
- package/lib/types/src/internal/manager-api/data/ManagerApiDto.d.ts.map +1 -1
- package/lib/types/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.d.ts +1 -0
- package/lib/types/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.d.ts.map +1 -1
- package/lib/types/src/internal/manager-api/model/Application.d.ts +4 -1
- package/lib/types/src/internal/manager-api/model/Application.d.ts.map +1 -1
- package/lib/types/src/internal/manager-api/model/Params.d.ts +43 -0
- package/lib/types/src/internal/manager-api/model/Params.d.ts.map +1 -0
- package/lib/types/src/internal/manager-api/service/DefaultManagerApiService.d.ts +5 -5
- package/lib/types/src/internal/manager-api/service/DefaultManagerApiService.d.ts.map +1 -1
- package/lib/types/src/internal/manager-api/service/ManagerApiService.d.ts +33 -2
- package/lib/types/src/internal/manager-api/service/ManagerApiService.d.ts.map +1 -1
- package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
- package/package.json +2 -2
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"version": 3,
|
3
3
|
"sources": ["../../../../../../src/internal/device-session/model/DeviceSession.ts"],
|
4
|
-
"sourcesContent": ["import { type Either, Left } from \"purify-ts\";\nimport { BehaviorSubject, type Subscription } from \"rxjs\";\nimport { v4 as uuidv4 } from \"uuid\";\n\nimport { type Command } from \"@api/command/Command\";\nimport { type CommandResult } from \"@api/command/model/CommandResult\";\nimport { CommandUtils } from \"@api/command/utils/CommandUtils\";\nimport { DeviceStatus } from \"@api/device/DeviceStatus\";\nimport {\n type DeviceAction,\n type DeviceActionIntermediateValue,\n type ExecuteDeviceActionReturnType,\n} from \"@api/device-action/DeviceAction\";\nimport { type ApduResponse } from \"@api/device-session/ApduResponse\";\nimport {\n type DeviceSessionState,\n DeviceSessionStateType,\n} from \"@api/device-session/DeviceSessionState\";\nimport { type DeviceSessionId } from \"@api/device-session/types\";\nimport { DeviceBusyError, type DmkError } from \"@api/Error\";\nimport { type LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport { type TransportConnectedDevice } from \"@api/transport/model/TransportConnectedDevice\";\nimport { DEVICE_SESSION_REFRESH_INTERVAL } from \"@internal/device-session/data/DeviceSessionRefresherConst\";\nimport { RefresherService } from \"@internal/device-session/service/RefresherService\";\nimport { type ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\nimport { type SecureChannelService } from \"@internal/secure-channel/service/SecureChannelService\";\n\nimport { DeviceSessionRefresher } from \"./DeviceSessionRefresher\";\n\nexport type SessionConstructorArgs = {\n connectedDevice: TransportConnectedDevice;\n id?: DeviceSessionId;\n};\n\ntype SendApduOptions = {\n isPolling?: boolean;\n triggersDisconnection?: boolean;\n};\n\n/**\n * Represents a session with a device.\n */\nexport class DeviceSession {\n private readonly _id: DeviceSessionId;\n private readonly _connectedDevice: TransportConnectedDevice;\n private readonly _deviceState: BehaviorSubject<DeviceSessionState>;\n private readonly _refresher: DeviceSessionRefresher;\n private readonly _refresherService: RefresherService;\n private readonly _managerApiService: ManagerApiService;\n private readonly _secureChannelService: SecureChannelService;\n\n constructor(\n { connectedDevice, id = uuidv4() }: SessionConstructorArgs,\n loggerModuleFactory: (tag: string) => LoggerPublisherService,\n managerApiService: ManagerApiService,\n secureChannelService: SecureChannelService,\n ) {\n this._id = id;\n this._connectedDevice = connectedDevice;\n this._deviceState = new BehaviorSubject<DeviceSessionState>({\n sessionStateType: DeviceSessionStateType.Connected,\n deviceStatus: DeviceStatus.CONNECTED,\n deviceModelId: this._connectedDevice.deviceModel.id,\n });\n this._refresher = new DeviceSessionRefresher(\n {\n refreshInterval: DEVICE_SESSION_REFRESH_INTERVAL,\n deviceStatus: DeviceStatus.CONNECTED,\n deviceModelId: this._connectedDevice.deviceModel.id,\n sendApduFn: (rawApdu: Uint8Array) =>\n this.sendApdu(rawApdu, {\n isPolling: true,\n triggersDisconnection: false,\n }),\n updateStateFn: (callback) => {\n const state = this._deviceState.getValue();\n this.setDeviceSessionState(callback(state));\n },\n },\n loggerModuleFactory(\"device-session-refresher\"),\n );\n this._refresherService = new RefresherService(this._refresher);\n this._managerApiService = managerApiService;\n this._secureChannelService = secureChannelService;\n }\n\n public get id() {\n return this._id;\n }\n\n public get connectedDevice() {\n return this._connectedDevice;\n }\n\n public get state() {\n return this._deviceState.asObservable();\n }\n\n public setDeviceSessionState(state: DeviceSessionState) {\n this._deviceState.next(state);\n }\n\n public async sendApdu(\n rawApdu: Uint8Array,\n options: SendApduOptions = {\n isPolling: false,\n triggersDisconnection: false,\n },\n ): Promise<Either<DmkError, ApduResponse>> {\n let reenableRefresher: () => void;\n if (!options.isPolling) {\n reenableRefresher = this._refresherService.disableRefresher(\"sendApdu\");\n await this.waitUntilReady();\n }\n\n const sessionState = this._deviceState.getValue();\n if (sessionState.deviceStatus === DeviceStatus.BUSY) {\n return Left(new DeviceBusyError());\n }\n\n this.updateDeviceStatus(DeviceStatus.BUSY);\n\n const errorOrResponse = await this._connectedDevice.sendApdu(\n rawApdu,\n options.triggersDisconnection,\n );\n\n return errorOrResponse\n .ifRight((response: ApduResponse) => {\n if (CommandUtils.isLockedDeviceResponse(response)) {\n this.updateDeviceStatus(DeviceStatus.LOCKED);\n } else {\n this.updateDeviceStatus(DeviceStatus.CONNECTED);\n }\n\n if (!options.isPolling && reenableRefresher) {\n reenableRefresher();\n }\n })\n .ifLeft(() => {\n this.updateDeviceStatus(DeviceStatus.CONNECTED);\n\n if (!options.isPolling && reenableRefresher) {\n reenableRefresher();\n }\n });\n }\n\n public async sendCommand<Response, Args, ErrorStatusCodes>(\n command: Command<Response, Args, ErrorStatusCodes>,\n ): Promise<CommandResult<Response, ErrorStatusCodes>> {\n const apdu = command.getApdu();\n const response = await this.sendApdu(apdu.getRawApdu(), {\n isPolling: false,\n triggersDisconnection: command.triggersDisconnection ?? false,\n });\n\n return response.caseOf({\n Left: (err) => {\n throw err;\n },\n Right: (r) =>\n command.parseResponse(r, this._connectedDevice.deviceModel.id),\n });\n }\n\n public executeDeviceAction<\n Output,\n Input,\n Error extends DmkError,\n IntermediateValue extends DeviceActionIntermediateValue,\n >(\n deviceAction: DeviceAction<Output, Input, Error, IntermediateValue>,\n ): ExecuteDeviceActionReturnType<Output, Error, IntermediateValue> {\n const { observable, cancel } = deviceAction._execute({\n sendApdu: async (apdu: Uint8Array) => this.sendApdu(apdu),\n sendCommand: async <Response, ErrorStatusCodes, Args>(\n command: Command<Response, ErrorStatusCodes, Args>,\n ) => this.sendCommand(command),\n getDeviceSessionState: () => this._deviceState.getValue(),\n getDeviceSessionStateObservable: () => this.state,\n setDeviceSessionState: (state: DeviceSessionState) => {\n this.setDeviceSessionState(state);\n return this._deviceState.getValue();\n },\n disableRefresher: (blockerId: string) =>\n this._refresherService.disableRefresher(blockerId),\n getManagerApiService: () => this._managerApiService,\n getSecureChannelService: () => this._secureChannelService,\n });\n\n return {\n observable,\n cancel,\n };\n }\n\n public close() {\n this.updateDeviceStatus(DeviceStatus.NOT_CONNECTED);\n this._deviceState.complete();\n this._refresher.stop();\n }\n\n public disableRefresher(id: string): () => void {\n return this._refresherService.disableRefresher(id);\n }\n\n private updateDeviceStatus(deviceStatus: DeviceStatus) {\n const sessionState = this._deviceState.getValue();\n this._refresher.setDeviceStatus(deviceStatus);\n this._deviceState.next({\n ...sessionState,\n deviceStatus,\n });\n }\n\n private async waitUntilReady() {\n let deviceStateSub: Subscription;\n\n await new Promise<void>((resolve) => {\n deviceStateSub = this._deviceState.subscribe((state) => {\n if (
|
5
|
-
"mappings": "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
|
4
|
+
"sourcesContent": ["import { type Either, Left } from \"purify-ts\";\nimport { BehaviorSubject, type Subscription } from \"rxjs\";\nimport { v4 as uuidv4 } from \"uuid\";\n\nimport { type Command } from \"@api/command/Command\";\nimport { type CommandResult } from \"@api/command/model/CommandResult\";\nimport { CommandUtils } from \"@api/command/utils/CommandUtils\";\nimport { DeviceStatus } from \"@api/device/DeviceStatus\";\nimport {\n type DeviceAction,\n type DeviceActionIntermediateValue,\n type ExecuteDeviceActionReturnType,\n} from \"@api/device-action/DeviceAction\";\nimport { type ApduResponse } from \"@api/device-session/ApduResponse\";\nimport {\n type DeviceSessionState,\n DeviceSessionStateType,\n} from \"@api/device-session/DeviceSessionState\";\nimport { type DeviceSessionId } from \"@api/device-session/types\";\nimport { DeviceBusyError, type DmkError } from \"@api/Error\";\nimport { type LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport { type TransportConnectedDevice } from \"@api/transport/model/TransportConnectedDevice\";\nimport { DEVICE_SESSION_REFRESH_INTERVAL } from \"@internal/device-session/data/DeviceSessionRefresherConst\";\nimport { RefresherService } from \"@internal/device-session/service/RefresherService\";\nimport { type ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\nimport { type SecureChannelService } from \"@internal/secure-channel/service/SecureChannelService\";\n\nimport { DeviceSessionRefresher } from \"./DeviceSessionRefresher\";\n\nexport type SessionConstructorArgs = {\n connectedDevice: TransportConnectedDevice;\n id?: DeviceSessionId;\n};\n\ntype SendApduOptions = {\n isPolling?: boolean;\n triggersDisconnection?: boolean;\n};\n\n/**\n * Represents a session with a device.\n */\nexport class DeviceSession {\n private readonly _id: DeviceSessionId;\n private readonly _connectedDevice: TransportConnectedDevice;\n private readonly _deviceState: BehaviorSubject<DeviceSessionState>;\n private readonly _refresher: DeviceSessionRefresher;\n private readonly _refresherService: RefresherService;\n private readonly _managerApiService: ManagerApiService;\n private readonly _secureChannelService: SecureChannelService;\n\n constructor(\n { connectedDevice, id = uuidv4() }: SessionConstructorArgs,\n loggerModuleFactory: (tag: string) => LoggerPublisherService,\n managerApiService: ManagerApiService,\n secureChannelService: SecureChannelService,\n ) {\n this._id = id;\n this._connectedDevice = connectedDevice;\n this._deviceState = new BehaviorSubject<DeviceSessionState>({\n sessionStateType: DeviceSessionStateType.Connected,\n deviceStatus: DeviceStatus.CONNECTED,\n deviceModelId: this._connectedDevice.deviceModel.id,\n });\n this._refresher = new DeviceSessionRefresher(\n {\n refreshInterval: DEVICE_SESSION_REFRESH_INTERVAL,\n deviceStatus: DeviceStatus.CONNECTED,\n deviceModelId: this._connectedDevice.deviceModel.id,\n sendApduFn: (rawApdu: Uint8Array) =>\n this.sendApdu(rawApdu, {\n isPolling: true,\n triggersDisconnection: false,\n }),\n updateStateFn: (callback) => {\n const state = this._deviceState.getValue();\n this.setDeviceSessionState(callback(state));\n },\n },\n loggerModuleFactory(\"device-session-refresher\"),\n );\n this._refresherService = new RefresherService(this._refresher);\n this._managerApiService = managerApiService;\n this._secureChannelService = secureChannelService;\n }\n\n public get id() {\n return this._id;\n }\n\n public get connectedDevice() {\n return this._connectedDevice;\n }\n\n public get state() {\n return this._deviceState.asObservable();\n }\n\n public setDeviceSessionState(state: DeviceSessionState) {\n this._deviceState.next(state);\n }\n\n public async sendApdu(\n rawApdu: Uint8Array,\n options: SendApduOptions = {\n isPolling: false,\n triggersDisconnection: false,\n },\n ): Promise<Either<DmkError, ApduResponse>> {\n let reenableRefresher: () => void;\n if (!options.isPolling) {\n reenableRefresher = this._refresherService.disableRefresher(\"sendApdu\");\n await this.waitUntilReady();\n }\n\n const sessionState = this._deviceState.getValue();\n if (sessionState.deviceStatus === DeviceStatus.BUSY) {\n return Left(new DeviceBusyError());\n }\n\n this.updateDeviceStatus(DeviceStatus.BUSY);\n\n const errorOrResponse = await this._connectedDevice.sendApdu(\n rawApdu,\n options.triggersDisconnection,\n );\n\n return errorOrResponse\n .ifRight((response: ApduResponse) => {\n if (CommandUtils.isLockedDeviceResponse(response)) {\n this.updateDeviceStatus(DeviceStatus.LOCKED);\n } else {\n this.updateDeviceStatus(DeviceStatus.CONNECTED);\n }\n\n if (!options.isPolling && reenableRefresher) {\n reenableRefresher();\n }\n })\n .ifLeft(() => {\n this.updateDeviceStatus(DeviceStatus.CONNECTED);\n\n if (!options.isPolling && reenableRefresher) {\n reenableRefresher();\n }\n });\n }\n\n public async sendCommand<Response, Args, ErrorStatusCodes>(\n command: Command<Response, Args, ErrorStatusCodes>,\n ): Promise<CommandResult<Response, ErrorStatusCodes>> {\n const apdu = command.getApdu();\n const response = await this.sendApdu(apdu.getRawApdu(), {\n isPolling: false,\n triggersDisconnection: command.triggersDisconnection ?? false,\n });\n\n return response.caseOf({\n Left: (err) => {\n throw err;\n },\n Right: (r) =>\n command.parseResponse(r, this._connectedDevice.deviceModel.id),\n });\n }\n\n public executeDeviceAction<\n Output,\n Input,\n Error extends DmkError,\n IntermediateValue extends DeviceActionIntermediateValue,\n >(\n deviceAction: DeviceAction<Output, Input, Error, IntermediateValue>,\n ): ExecuteDeviceActionReturnType<Output, Error, IntermediateValue> {\n const { observable, cancel } = deviceAction._execute({\n sendApdu: async (apdu: Uint8Array) => this.sendApdu(apdu),\n sendCommand: async <Response, ErrorStatusCodes, Args>(\n command: Command<Response, ErrorStatusCodes, Args>,\n ) => this.sendCommand(command),\n getDeviceSessionState: () => this._deviceState.getValue(),\n getDeviceSessionStateObservable: () => this.state,\n setDeviceSessionState: (state: DeviceSessionState) => {\n this.setDeviceSessionState(state);\n return this._deviceState.getValue();\n },\n disableRefresher: (blockerId: string) =>\n this._refresherService.disableRefresher(blockerId),\n getManagerApiService: () => this._managerApiService,\n getSecureChannelService: () => this._secureChannelService,\n });\n\n return {\n observable,\n cancel,\n };\n }\n\n public close() {\n this.updateDeviceStatus(DeviceStatus.NOT_CONNECTED);\n this._deviceState.complete();\n this._refresher.stop();\n }\n\n public disableRefresher(id: string): () => void {\n return this._refresherService.disableRefresher(id);\n }\n\n private updateDeviceStatus(deviceStatus: DeviceStatus) {\n const sessionState = this._deviceState.getValue();\n this._refresher.setDeviceStatus(deviceStatus);\n this._deviceState.next({\n ...sessionState,\n deviceStatus,\n });\n }\n\n private async waitUntilReady() {\n let deviceStateSub: Subscription;\n\n await new Promise<void>((resolve) => {\n deviceStateSub = this._deviceState.subscribe((state) => {\n if (\n [DeviceStatus.LOCKED, DeviceStatus.CONNECTED].includes(\n state.deviceStatus,\n )\n ) {\n deviceStateSub?.unsubscribe();\n resolve();\n }\n });\n });\n }\n}\n"],
|
5
|
+
"mappings": "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",
|
6
6
|
"names": ["Left", "BehaviorSubject", "uuidv4", "CommandUtils", "DeviceStatus", "DeviceSessionStateType", "DeviceBusyError", "DEVICE_SESSION_REFRESH_INTERVAL", "RefresherService", "DeviceSessionRefresher", "DeviceSession", "connectedDevice", "id", "loggerModuleFactory", "managerApiService", "secureChannelService", "rawApdu", "callback", "state", "options", "reenableRefresher", "response", "command", "apdu", "err", "r", "deviceAction", "observable", "cancel", "blockerId", "deviceStatus", "sessionState", "deviceStateSub", "resolve"]
|
7
7
|
}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
var
|
1
|
+
var A=Object.defineProperty;var _=Object.getOwnPropertyDescriptor;var c=(m,r,t,e)=>{for(var i=e>1?void 0:e?_(r,t):r,a=m.length-1,n;a>=0;a--)(n=m[a])&&(i=(e?n(r,t,i):n(i))||i);return e&&i&&A(r,t,i),i},d=(m,r)=>(t,e)=>r(t,e,m);import{inject as b,injectable as H}from"inversify";import{Left as l,Maybe as s,Right as z}from"purify-ts";import{v4 as v}from"uuid";import{APDU_DATA_LENGTH_LENGTH as p,CHANNEL_LENGTH as u,HEAD_TAG as y,HEAD_TAG_LENGTH as E,INDEX_LENGTH as f}from"../../../api/device-session/data/FramerConst";import{FramerUtils as g}from"../../../api/device-session/utils/FramerUtils";import{FramerApduError as L,FramerOverflowError as F}from"../../device-session/model/Errors";import{Frame as T}from"../../device-session/model/Frame";import{FrameHeader as w}from"../../device-session/model/FrameHeader";import{loggerTypes as N}from"../../logger-publisher/di/loggerTypes";let o=class{_frameSize;_channel;_padding;_logger;constructor({frameSize:r,channel:t=s.zero(),padding:e=!1},i){this._frameSize=r,this._channel=t,this._padding=e,this._logger=i("DefaultApduSenderService")}getFrames(r){const t=[];let e=0,i=this.getFrameAtIndex(r,e);for(;i.isRight();)t.push(i.extract()),e+=1,i=this.getFrameAtIndex(r,e).mapLeft(a=>(a instanceof F?this._logger.debug("Frames parsed",{data:{count:e}}):this._logger.error("Error while parsing frame",{data:{error:a}}),a));return t}getFrameAtIndex(r,t){const e=this.getFrameHeaderFrom(t,r.length),i=t*this._frameSize-this.getHeaderSizeSumFrom(t);if(i>r.length)return l(new F);if(e.getLength()>this._frameSize)return l(new L);const a=this._frameSize-e.getLength(),n=r.slice(t===0?0:i,t===0?a:i+this._frameSize-e.getLength()),h=this._padding?new Uint8Array(a).fill(0):new Uint8Array(n.length<a?n.length:a);h.set(n,0);const S=new T({header:e,data:h});return z(S)}getFrameHeaderFrom(r,t){const e=new w({uuid:v(),channel:this._channel.map(i=>g.getLastBytesFrom(i,u)),headTag:new Uint8Array([y]),index:g.numberToByteArray(r,f),length:this.getFrameHeaderSizeFromIndex(r),dataSize:s.zero()});return r===0&&e.setDataSize(s.of(g.numberToByteArray(t,p))),e}getHeaderSizeSumFrom(r){let t=this.getFrameHeaderSizeFromIndex(0),e=1;for(;e<r;)t+=this.getFrameHeaderSizeFromIndex(e),e+=1;return t}getFrameHeaderSizeFromIndex(r){return this._channel.caseOf({Just:()=>u,Nothing:()=>0})+f+E+(r===0?p:0)}};o=c([H(),d(1,b(N.LoggerPublisherServiceFactory))],o);export{o as DefaultApduSenderService};
|
2
2
|
//# sourceMappingURL=DefaultApduSenderService.js.map
|
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"version": 3,
|
3
3
|
"sources": ["../../../../../../src/internal/device-session/service/DefaultApduSenderService.ts"],
|
4
|
-
"sourcesContent": ["import { inject, injectable } from \"inversify\";\nimport { Either, Left, Maybe, Right } from \"purify-ts\";\nimport { v4 } from \"uuid\";\n\nimport {\n APDU_DATA_LENGTH_LENGTH,\n CHANNEL_LENGTH,\n HEAD_TAG,\n HEAD_TAG_LENGTH,\n INDEX_LENGTH,\n} from \"@api/device-session/data/FramerConst\";\nimport type {\n ApduSenderService,\n ApduSenderServiceConstructorArgs,\n} from \"@api/device-session/service/ApduSenderService\";\nimport { FramerUtils } from \"@api/device-session/utils/FramerUtils\";\nimport { LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport {\n FramerApduError,\n FramerOverflowError,\n} from \"@internal/device-session/model/Errors\";\nimport { Frame } from \"@internal/device-session/model/Frame\";\nimport { FrameHeader } from \"@internal/device-session/model/FrameHeader\";\nimport { loggerTypes } from \"@internal/logger-publisher/di/loggerTypes\";\nimport { DmkError } from \"@root/src/api/Error\";\n/**\n * Default implementation of ApduSenderService\n *\n * Split APDU in an array of frames readies to send to a TransportConnectedDevice\n */\n@injectable()\nexport class DefaultApduSenderService implements ApduSenderService {\n protected _frameSize: number;\n protected _channel: Maybe<Uint8Array>;\n protected _padding: boolean;\n private _logger: LoggerPublisherService;\n\n /**\n * Constructor\n *\n * @param frameSize\n * @param channel\n * @param padding\n * @param loggerServiceFactory\n */\n constructor(\n {\n frameSize,\n channel = Maybe.zero(),\n padding = false,\n }: ApduSenderServiceConstructorArgs,\n @inject(loggerTypes.LoggerPublisherServiceFactory)\n loggerServiceFactory: (tag: string) => LoggerPublisherService,\n ) {\n this._frameSize = frameSize;\n this._channel = channel;\n this._padding = padding;\n this._logger = loggerServiceFactory(\"
|
5
|
-
"mappings": "iOAAA,OAAS,UAAAA,EAAQ,cAAAC,MAAkB,YACnC,OAAiB,QAAAC,EAAM,SAAAC,EAAO,SAAAC,MAAa,YAC3C,OAAS,MAAAC,MAAU,OAEnB,OACE,2BAAAC,EACA,kBAAAC,EACA,YAAAC,EACA,mBAAAC,EACA,gBAAAC,MACK,uCAKP,OAAS,eAAAC,MAAmB,wCAE5B,OACE,mBAAAC,EACA,uBAAAC,MACK,wCACP,OAAS,SAAAC,MAAa,uCACtB,OAAS,eAAAC,MAAmB,6CAC5B,OAAS,eAAAC,MAAmB,4CAQrB,IAAMC,EAAN,KAA4D,CACvD,WACA,SACA,SACF,QAUR,YACE,CACE,UAAAC,EACA,QAAAC,EAAUC,EAAM,KAAK,EACrB,QAAAC,EAAU,EACZ,EAEAC,EACA,CACA,KAAK,WAAaJ,EAClB,KAAK,SAAWC,EAChB,KAAK,SAAWE,EAChB,KAAK,QAAUC,EAAqB,
|
4
|
+
"sourcesContent": ["import { inject, injectable } from \"inversify\";\nimport { Either, Left, Maybe, Right } from \"purify-ts\";\nimport { v4 } from \"uuid\";\n\nimport {\n APDU_DATA_LENGTH_LENGTH,\n CHANNEL_LENGTH,\n HEAD_TAG,\n HEAD_TAG_LENGTH,\n INDEX_LENGTH,\n} from \"@api/device-session/data/FramerConst\";\nimport type {\n ApduSenderService,\n ApduSenderServiceConstructorArgs,\n} from \"@api/device-session/service/ApduSenderService\";\nimport { FramerUtils } from \"@api/device-session/utils/FramerUtils\";\nimport { LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport {\n FramerApduError,\n FramerOverflowError,\n} from \"@internal/device-session/model/Errors\";\nimport { Frame } from \"@internal/device-session/model/Frame\";\nimport { FrameHeader } from \"@internal/device-session/model/FrameHeader\";\nimport { loggerTypes } from \"@internal/logger-publisher/di/loggerTypes\";\nimport { DmkError } from \"@root/src/api/Error\";\n/**\n * Default implementation of ApduSenderService\n *\n * Split APDU in an array of frames readies to send to a TransportConnectedDevice\n */\n@injectable()\nexport class DefaultApduSenderService implements ApduSenderService {\n protected _frameSize: number;\n protected _channel: Maybe<Uint8Array>;\n protected _padding: boolean;\n private _logger: LoggerPublisherService;\n\n /**\n * Constructor\n *\n * @param frameSize\n * @param channel\n * @param padding\n * @param loggerServiceFactory\n */\n constructor(\n {\n frameSize,\n channel = Maybe.zero(),\n padding = false,\n }: ApduSenderServiceConstructorArgs,\n @inject(loggerTypes.LoggerPublisherServiceFactory)\n loggerServiceFactory: (tag: string) => LoggerPublisherService,\n ) {\n this._frameSize = frameSize;\n this._channel = channel;\n this._padding = padding;\n this._logger = loggerServiceFactory(\"DefaultApduSenderService\");\n }\n\n /**\n * Get frames from apdu\n *\n * @param apdu\n */\n public getFrames(apdu: Uint8Array): Frame[] {\n const frames: Frame[] = [];\n let count = 0;\n let frame = this.getFrameAtIndex(apdu, count);\n\n while (frame.isRight()) {\n frames.push(frame.extract());\n count += 1;\n frame = this.getFrameAtIndex(apdu, count).mapLeft((error) => {\n if (error instanceof FramerOverflowError) {\n this._logger.debug(\"Frames parsed\", { data: { count } });\n } else {\n this._logger.error(\"Error while parsing frame\", { data: { error } });\n }\n return error;\n });\n }\n return frames;\n }\n\n /**\n * Get apdu frame at index\n * Split every {{PACKET_SIZE - HEADER_SIZE}} bytes of apdu\n * @param apdu\n * @param frameIndex\n * @private\n */\n private getFrameAtIndex(\n apdu: Uint8Array,\n frameIndex: number,\n ): Either<DmkError, Frame> {\n const header = this.getFrameHeaderFrom(frameIndex, apdu.length);\n const frameOffset =\n frameIndex * this._frameSize - this.getHeaderSizeSumFrom(frameIndex);\n\n if (frameOffset > apdu.length) {\n return Left(new FramerOverflowError());\n }\n if (header.getLength() > this._frameSize) {\n return Left(new FramerApduError());\n }\n const dataMaxSize = this._frameSize - header.getLength();\n const data = apdu.slice(\n frameIndex === 0 ? 0 : frameOffset,\n frameIndex === 0\n ? dataMaxSize\n : frameOffset + this._frameSize - header.getLength(),\n );\n const frameData = this._padding\n ? new Uint8Array(dataMaxSize).fill(0)\n : new Uint8Array(data.length < dataMaxSize ? data.length : dataMaxSize);\n frameData.set(data, 0);\n const frame = new Frame({\n header,\n data: frameData,\n });\n return Right(frame);\n }\n\n /**\n * Get frame header\n * @param frameIndex\n * @param apduSize\n * @private\n */\n private getFrameHeaderFrom(\n frameIndex: number,\n apduSize: number,\n ): FrameHeader {\n const header = new FrameHeader({\n uuid: v4(),\n channel: this._channel.map((channel) =>\n FramerUtils.getLastBytesFrom(channel, CHANNEL_LENGTH),\n ),\n headTag: new Uint8Array([HEAD_TAG]),\n index: FramerUtils.numberToByteArray(frameIndex, INDEX_LENGTH),\n length: this.getFrameHeaderSizeFromIndex(frameIndex),\n dataSize: Maybe.zero(),\n });\n if (frameIndex === 0) {\n header.setDataSize(\n Maybe.of(\n FramerUtils.numberToByteArray(apduSize, APDU_DATA_LENGTH_LENGTH),\n ),\n );\n }\n return header;\n }\n\n /**\n * Get frame offset\n * First frame has more bytes of header\n * Padding append means a 0 bytes is added at the end of each frame\n * @private\n * @param frameIndex\n */\n private getHeaderSizeSumFrom(frameIndex: number): number {\n let sum = this.getFrameHeaderSizeFromIndex(0);\n let i = 1;\n while (i < frameIndex) {\n sum += this.getFrameHeaderSizeFromIndex(i);\n i += 1;\n }\n return sum;\n }\n\n /**\n * Get frame header size\n * @private\n * @param frameIndex\n */\n private getFrameHeaderSizeFromIndex(frameIndex: number): number {\n return (\n this._channel.caseOf({\n Just: () => CHANNEL_LENGTH,\n Nothing: () => 0,\n }) +\n INDEX_LENGTH +\n HEAD_TAG_LENGTH +\n (frameIndex === 0 ? APDU_DATA_LENGTH_LENGTH : 0)\n );\n }\n}\n"],
|
5
|
+
"mappings": "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",
|
6
6
|
"names": ["inject", "injectable", "Left", "Maybe", "Right", "v4", "APDU_DATA_LENGTH_LENGTH", "CHANNEL_LENGTH", "HEAD_TAG", "HEAD_TAG_LENGTH", "INDEX_LENGTH", "FramerUtils", "FramerApduError", "FramerOverflowError", "Frame", "FrameHeader", "loggerTypes", "DefaultApduSenderService", "frameSize", "channel", "Maybe", "padding", "loggerServiceFactory", "apdu", "frames", "count", "frame", "error", "FramerOverflowError", "frameIndex", "header", "frameOffset", "Left", "FramerApduError", "dataMaxSize", "data", "frameData", "Frame", "Right", "apduSize", "FrameHeader", "v4", "FramerUtils", "CHANNEL_LENGTH", "HEAD_TAG", "INDEX_LENGTH", "APDU_DATA_LENGTH_LENGTH", "sum", "i", "HEAD_TAG_LENGTH", "__decorateClass", "injectable", "__decorateParam", "inject", "loggerTypes"]
|
7
7
|
}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
var
|
1
|
+
var h=Object.defineProperty;var f=Object.getOwnPropertyDescriptor;var y=(a,r,p,e)=>{for(var t=e>1?void 0:e?f(r,p):r,i=a.length-1,A;i>=0;i--)(A=a[i])&&(t=(e?A(r,p,t):A(t))||t);return e&&t&&h(r,p,t),t},g=(a,r)=>(p,e)=>r(p,e,a);import o from"axios";import{inject as v,injectable as u}from"inversify";import{EitherAsync as n}from"purify-ts";import{managerApiTypes as D}from"../../manager-api/di/managerApiTypes";import{AppType as s}from"../../manager-api/model/Application";import{HttpFetchApiError as m}from"../../manager-api/model/Errors";import{AppTypeDto as c}from"./ManagerApiDto";let l=class{managerApiBaseUrl;constructor({managerApiUrl:r}){this.managerApiBaseUrl=r}getAppList(r){const{targetId:p,provider:e,firmwareVersionName:t}=r;return n(()=>o.get(`${this.managerApiBaseUrl}/v2/apps/by-target`,{params:{target_id:p,provider:e,firmware_version_name:t}})).map(i=>i.data).mapLeft(i=>new m(i))}getDeviceVersion(r){const{targetId:p,provider:e}=r;return n(()=>o.get(`${this.managerApiBaseUrl}/get_device_version`,{params:{target_id:p,provider:e}})).map(t=>t.data).mapLeft(t=>new m(t))}getFirmwareVersion(r){const{deviceId:p,version:e,provider:t}=r;return n(()=>o.get(`${this.managerApiBaseUrl}/get_firmware_version`,{params:{device_version:p,version_name:e,provider:t}})).map(i=>i.data).mapLeft(i=>new m(i))}getAppsByHash(r){const{hashes:p}=r;return n(()=>o.post(`${this.managerApiBaseUrl}/v2/apps/hash`,p)).map(e=>e.data).map(e=>this.mapApplicationDtoToApplication(e)).mapLeft(e=>new m(e))}mapAppTypeDtoToAppType(r){switch(r){case c.currency:return s.currency;case c.plugin:return s.plugin;case c.tool:return s.tool;case c.swap:return s.swap}}mapApplicationDtoToApplication(r){return r.map(p=>{if(p===null)return null;const{applicationType:e,...t}=p;return{...t,applicationType:this.mapAppTypeDtoToAppType(e)}})}};l=y([u(),g(0,v(D.DmkConfig))],l);export{l as AxiosManagerApiDataSource};
|
2
2
|
//# sourceMappingURL=AxiosManagerApiDataSource.js.map
|
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"version": 3,
|
3
3
|
"sources": ["../../../../../../src/internal/manager-api/data/AxiosManagerApiDataSource.ts"],
|
4
|
-
"sourcesContent": ["import axios from \"axios\";\nimport { inject, injectable } from \"inversify\";\nimport { EitherAsync } from \"purify-ts\";\n\nimport { type DmkConfig } from \"@api/DmkConfig\";\nimport { managerApiTypes } from \"@internal/manager-api/di/managerApiTypes\";\nimport {\n type Application,\n AppType,\n} from \"@internal/manager-api/model/Application\";\nimport { type DeviceVersion } from \"@internal/manager-api/model/Device\";\nimport { HttpFetchApiError } from \"@internal/manager-api/model/Errors\";\nimport { type FinalFirmware } from \"@internal/manager-api/model/Firmware\";\n\nimport { ManagerApiDataSource } from \"./ManagerApiDataSource\";\nimport { ApplicationDto, AppTypeDto } from \"./ManagerApiDto\";\n\n@injectable()\nexport class AxiosManagerApiDataSource implements ManagerApiDataSource {\n private readonly managerApiBaseUrl: string;\n
|
5
|
-
"mappings": "iOAAA,OAAOA,MAAW,QAClB,OAAS,UAAAC,EAAQ,cAAAC,MAAkB,YACnC,OAAS,eAAAC,MAAmB,YAG5B,OAAS,mBAAAC,MAAuB,2CAChC,OAEE,WAAAC,MACK,0CAEP,OAAS,qBAAAC,MAAyB,
|
6
|
-
"names": ["axios", "inject", "injectable", "EitherAsync", "managerApiTypes", "AppType", "HttpFetchApiError", "AppTypeDto", "AxiosManagerApiDataSource", "managerApiUrl", "
|
4
|
+
"sourcesContent": ["import axios from \"axios\";\nimport { inject, injectable } from \"inversify\";\nimport { EitherAsync } from \"purify-ts\";\n\nimport { type DmkConfig } from \"@api/DmkConfig\";\nimport { managerApiTypes } from \"@internal/manager-api/di/managerApiTypes\";\nimport {\n type Application,\n AppType,\n} from \"@internal/manager-api/model/Application\";\nimport { type DeviceVersion } from \"@internal/manager-api/model/Device\";\nimport { HttpFetchApiError } from \"@internal/manager-api/model/Errors\";\nimport { type FinalFirmware } from \"@internal/manager-api/model/Firmware\";\nimport {\n type GetAppByHashParams,\n type GetAppListParams,\n type GetDeviceVersionParams,\n type GetFirmwareVersionParams,\n} from \"@internal/manager-api/model/Params\";\n\nimport { ManagerApiDataSource } from \"./ManagerApiDataSource\";\nimport { ApplicationDto, AppTypeDto } from \"./ManagerApiDto\";\n\n@injectable()\nexport class AxiosManagerApiDataSource implements ManagerApiDataSource {\n private readonly managerApiBaseUrl: string;\n\n constructor(\n @inject(managerApiTypes.DmkConfig)\n { managerApiUrl }: DmkConfig,\n ) {\n this.managerApiBaseUrl = managerApiUrl;\n }\n\n getAppList(\n params: GetAppListParams,\n ): EitherAsync<HttpFetchApiError, Application[]> {\n const { targetId, provider, firmwareVersionName } = params;\n return EitherAsync(() =>\n axios.get<Application[]>(`${this.managerApiBaseUrl}/v2/apps/by-target`, {\n params: {\n target_id: targetId,\n provider,\n firmware_version_name: firmwareVersionName,\n },\n }),\n )\n .map((res) => res.data)\n .mapLeft((error) => new HttpFetchApiError(error));\n }\n\n getDeviceVersion(\n params: GetDeviceVersionParams,\n ): EitherAsync<HttpFetchApiError, DeviceVersion> {\n const { targetId, provider } = params;\n return EitherAsync(() =>\n axios.get<DeviceVersion>(`${this.managerApiBaseUrl}/get_device_version`, {\n params: {\n target_id: targetId,\n provider,\n },\n }),\n )\n .map((res) => res.data)\n .mapLeft((error) => new HttpFetchApiError(error));\n }\n\n getFirmwareVersion(\n params: GetFirmwareVersionParams,\n ): EitherAsync<HttpFetchApiError, FinalFirmware> {\n const { deviceId, version, provider } = params;\n return EitherAsync(() =>\n axios.get<FinalFirmware>(\n `${this.managerApiBaseUrl}/get_firmware_version`,\n {\n params: {\n device_version: deviceId,\n version_name: version,\n provider,\n },\n },\n ),\n )\n .map((res) => res.data)\n .mapLeft((error) => new HttpFetchApiError(error));\n }\n\n getAppsByHash(\n params: GetAppByHashParams,\n ): EitherAsync<HttpFetchApiError, Array<Application | null>> {\n const { hashes } = params;\n return EitherAsync(() =>\n axios.post<Array<ApplicationDto | null>>(\n `${this.managerApiBaseUrl}/v2/apps/hash`,\n hashes,\n ),\n )\n .map((res) => res.data)\n .map((apps) => this.mapApplicationDtoToApplication(apps))\n .mapLeft((error) => new HttpFetchApiError(error));\n }\n\n private mapAppTypeDtoToAppType(appType: AppTypeDto): AppType {\n switch (appType) {\n case AppTypeDto.currency:\n return AppType.currency;\n case AppTypeDto.plugin:\n return AppType.plugin;\n case AppTypeDto.tool:\n return AppType.tool;\n case AppTypeDto.swap:\n return AppType.swap;\n }\n }\n\n private mapApplicationDtoToApplication(\n apps: Array<ApplicationDto | null>,\n ): Array<Application | null> {\n return apps.map((app) => {\n if (app === null) {\n return null;\n }\n const { applicationType, ...rest } = app;\n return {\n ...rest,\n applicationType: this.mapAppTypeDtoToAppType(applicationType),\n };\n });\n }\n}\n"],
|
5
|
+
"mappings": "iOAAA,OAAOA,MAAW,QAClB,OAAS,UAAAC,EAAQ,cAAAC,MAAkB,YACnC,OAAS,eAAAC,MAAmB,YAG5B,OAAS,mBAAAC,MAAuB,2CAChC,OAEE,WAAAC,MACK,0CAEP,OAAS,qBAAAC,MAAyB,qCAUlC,OAAyB,cAAAC,MAAkB,kBAGpC,IAAMC,EAAN,KAAgE,CACpD,kBAEjB,YAEE,CAAE,cAAAC,CAAc,EAChB,CACA,KAAK,kBAAoBA,CAC3B,CAEA,WACEC,EAC+C,CAC/C,KAAM,CAAE,SAAAC,EAAU,SAAAC,EAAU,oBAAAC,CAAoB,EAAIH,EACpD,OAAOI,EAAY,IACjBC,EAAM,IAAmB,GAAG,KAAK,iBAAiB,qBAAsB,CACtE,OAAQ,CACN,UAAWJ,EACX,SAAAC,EACA,sBAAuBC,CACzB,CACF,CAAC,CACH,EACG,IAAKG,GAAQA,EAAI,IAAI,EACrB,QAASC,GAAU,IAAIC,EAAkBD,CAAK,CAAC,CACpD,CAEA,iBACEP,EAC+C,CAC/C,KAAM,CAAE,SAAAC,EAAU,SAAAC,CAAS,EAAIF,EAC/B,OAAOI,EAAY,IACjBC,EAAM,IAAmB,GAAG,KAAK,iBAAiB,sBAAuB,CACvE,OAAQ,CACN,UAAWJ,EACX,SAAAC,CACF,CACF,CAAC,CACH,EACG,IAAKI,GAAQA,EAAI,IAAI,EACrB,QAASC,GAAU,IAAIC,EAAkBD,CAAK,CAAC,CACpD,CAEA,mBACEP,EAC+C,CAC/C,KAAM,CAAE,SAAAS,EAAU,QAAAC,EAAS,SAAAR,CAAS,EAAIF,EACxC,OAAOI,EAAY,IACjBC,EAAM,IACJ,GAAG,KAAK,iBAAiB,wBACzB,CACE,OAAQ,CACN,eAAgBI,EAChB,aAAcC,EACd,SAAAR,CACF,CACF,CACF,CACF,EACG,IAAKI,GAAQA,EAAI,IAAI,EACrB,QAASC,GAAU,IAAIC,EAAkBD,CAAK,CAAC,CACpD,CAEA,cACEP,EAC2D,CAC3D,KAAM,CAAE,OAAAW,CAAO,EAAIX,EACnB,OAAOI,EAAY,IACjBC,EAAM,KACJ,GAAG,KAAK,iBAAiB,gBACzBM,CACF,CACF,EACG,IAAKL,GAAQA,EAAI,IAAI,EACrB,IAAKM,GAAS,KAAK,+BAA+BA,CAAI,CAAC,EACvD,QAASL,GAAU,IAAIC,EAAkBD,CAAK,CAAC,CACpD,CAEQ,uBAAuBM,EAA8B,CAC3D,OAAQA,EAAS,CACf,KAAKC,EAAW,SACd,OAAOC,EAAQ,SACjB,KAAKD,EAAW,OACd,OAAOC,EAAQ,OACjB,KAAKD,EAAW,KACd,OAAOC,EAAQ,KACjB,KAAKD,EAAW,KACd,OAAOC,EAAQ,IACnB,CACF,CAEQ,+BACNH,EAC2B,CAC3B,OAAOA,EAAK,IAAKI,GAAQ,CACvB,GAAIA,IAAQ,KACV,OAAO,KAET,KAAM,CAAE,gBAAAC,EAAiB,GAAGC,CAAK,EAAIF,EACrC,MAAO,CACL,GAAGE,EACH,gBAAiB,KAAK,uBAAuBD,CAAe,CAC9D,CACF,CAAC,CACH,CACF,EAzGanB,EAANqB,EAAA,CADNC,EAAW,EAKPC,EAAA,EAAAC,EAAOC,EAAgB,SAAS,IAJxBzB",
|
6
|
+
"names": ["axios", "inject", "injectable", "EitherAsync", "managerApiTypes", "AppType", "HttpFetchApiError", "AppTypeDto", "AxiosManagerApiDataSource", "managerApiUrl", "params", "targetId", "provider", "firmwareVersionName", "EitherAsync", "axios", "res", "error", "HttpFetchApiError", "deviceId", "version", "hashes", "apps", "appType", "AppTypeDto", "AppType", "app", "applicationType", "rest", "__decorateClass", "injectable", "__decorateParam", "inject", "managerApiTypes"]
|
7
7
|
}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import
|
1
|
+
import s from"axios";import{Left as c,Right as a}from"purify-ts";import{BTC_APP as p,BTC_APP_METADATA as o,CUSTOM_LOCK_SCREEN_APP as h,CUSTOM_LOCK_SCREEN_APP_METADATA as l}from"../../../api/device-action/__test-utils__/data";import{HttpFetchApiError as n}from"../../manager-api/model/Errors";import{AxiosManagerApiDataSource as i}from"./AxiosManagerApiDataSource";vi.mock("axios");const d={id:17,target_id:"857735172"},u={id:361,perso:"perso_11"};describe("AxiosManagerApiDataSource",()=>{describe("getAppList",()=>{let r;beforeEach(()=>{r=new i({})}),afterEach(()=>{vi.clearAllMocks()}),it("should return a list of applications",()=>{const e=[o,l];vi.spyOn(s,"get").mockResolvedValue({data:e});const t=r.getAppList({targetId:"targetId",provider:42,firmwareVersionName:"firmwareVersionName"});expect(t).resolves.toEqual(a(e))}),it("should return an error if the request fails",()=>{const e=new Error("fetch error");vi.spyOn(s,"get").mockRejectedValue(e);const t=r.getAppList({targetId:"targetId",provider:42,firmwareVersionName:"firmwareVersionName"});expect(t).resolves.toEqual(c(new n(e)))})}),describe("getAppsByHash",()=>{describe("success cases",()=>{let r;beforeEach(()=>{r=new i({})}),afterEach(()=>{vi.clearAllMocks()}),it("with BTC app, should return the metadata",async()=>{vi.spyOn(s,"post").mockResolvedValue({data:[o]});const e=[p.appFullHash],t=await r.getAppsByHash({hashes:e});expect(t).toEqual(a([o]))}),it("with no apps, should return an empty list",async()=>{vi.spyOn(s,"post").mockResolvedValue({data:[]});const e=[],t=await r.getAppsByHash({hashes:e});expect(t).toEqual(a([]))}),it("with BTC app and custom lock screen, should return the metadata",async()=>{vi.spyOn(s,"post").mockResolvedValue({data:[o,l]});const e=[p.appFullHash,h.appFullHash],t=await r.getAppsByHash({hashes:e});expect(t).toEqual(a([o,l]))})}),describe("error cases",()=>{afterEach(()=>{vi.clearAllMocks()}),it("should throw an error if the request fails",()=>{const r=new i({}),e=new Error("fetch error");vi.spyOn(s,"post").mockRejectedValue(e);const t=[p.appFullHash],m=r.getAppsByHash({hashes:t});expect(m).resolves.toEqual(c(new n(e)))})})}),describe("getDeviceVersion",()=>{let r;beforeEach(()=>{r=new i({})}),afterEach(()=>{vi.clearAllMocks()}),it("should return a complete device version",()=>{vi.spyOn(s,"get").mockResolvedValue({data:d});const e=r.getDeviceVersion({targetId:"targetId",provider:42});expect(e).resolves.toEqual(a(d))}),it("should return an error if the request fails",()=>{const e=new Error("fetch error");vi.spyOn(s,"get").mockRejectedValue(e);const t=r.getDeviceVersion({targetId:"targetId",provider:42});expect(t).resolves.toEqual(c(new n(e)))})}),describe("getFirmwareVersion",()=>{let r;beforeEach(()=>{r=new i({})}),afterEach(()=>{vi.clearAllMocks()}),it("should return a complete firmware version",()=>{vi.spyOn(s,"get").mockResolvedValue({data:u});const e=r.getFirmwareVersion({version:"versionName",deviceId:42,provider:21});expect(e).resolves.toEqual(a(u))}),it("should return an error if the request fails",()=>{const e=new Error("fetch error");vi.spyOn(s,"get").mockRejectedValue(e);const t=r.getFirmwareVersion({version:"versionName",deviceId:42,provider:21});expect(t).resolves.toEqual(c(new n(e)))})})});
|
2
2
|
//# sourceMappingURL=AxiosManagerApiDataSource.test.js.map
|
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"version": 3,
|
3
3
|
"sources": ["../../../../../../src/internal/manager-api/data/AxiosManagerApiDataSource.test.ts"],
|
4
|
-
"sourcesContent": ["import axios from \"axios\";\nimport { Left, Right } from \"purify-ts\";\n\nimport {\n BTC_APP,\n BTC_APP_METADATA,\n CUSTOM_LOCK_SCREEN_APP,\n CUSTOM_LOCK_SCREEN_APP_METADATA,\n} from \"@api/device-action/__test-utils__/data\";\nimport { type DmkConfig } from \"@api/DmkConfig\";\nimport { HttpFetchApiError } from \"@internal/manager-api/model/Errors\";\n\nimport { AxiosManagerApiDataSource } from \"./AxiosManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"./ManagerApiDataSource\";\n\nvi.mock(\"axios\");\n\nconst mockGetDeviceVersion = {\n id: 17,\n target_id: \"857735172\",\n};\n\nconst mockGetFirmwareVersion = {\n id: 361,\n perso: \"perso_11\",\n};\n\ndescribe(\"AxiosManagerApiDataSource\", () => {\n describe(\"getAppsByHash\", () => {\n describe(\"success cases\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new AxiosManagerApiDataSource({} as DmkConfig);\n });\n afterEach(() => {\n vi.clearAllMocks();\n });\n it(\"with BTC app, should return the metadata\", async () => {\n vi.spyOn(axios, \"post\").mockResolvedValue({\n data: [BTC_APP_METADATA],\n });\n\n const hashes = [BTC_APP.appFullHash];\n\n const apps = await api.getAppsByHash(hashes);\n\n expect(apps).toEqual(Right([BTC_APP_METADATA]));\n });\n\n it(\"with no apps, should return an empty list\", async () => {\n vi.spyOn(axios, \"post\").mockResolvedValue({\n data: [],\n });\n\n const hashes: string[] = [];\n\n const apps = await api.getAppsByHash(hashes);\n\n expect(apps).toEqual(Right([]));\n });\n\n it(\"with BTC app and custom lock screen, should return the metadata\", async () => {\n vi.spyOn(axios, \"post\").mockResolvedValue({\n data: [BTC_APP_METADATA, CUSTOM_LOCK_SCREEN_APP_METADATA],\n });\n\n const hashes = [\n BTC_APP.appFullHash,\n CUSTOM_LOCK_SCREEN_APP.appFullHash,\n ];\n\n const apps = await api.getAppsByHash(hashes);\n\n expect(apps).toEqual(\n Right([BTC_APP_METADATA, CUSTOM_LOCK_SCREEN_APP_METADATA]),\n );\n });\n });\n\n describe(\"error cases\", () => {\n afterEach(() => {\n vi.clearAllMocks();\n });\n it(\"should throw an error if the request fails\", () => {\n // given\n const api = new AxiosManagerApiDataSource({} as DmkConfig);\n\n const err = new Error(\"fetch error\");\n vi.spyOn(axios, \"post\").mockRejectedValue(err);\n\n const hashes = [BTC_APP.appFullHash];\n\n // when\n const response = api.getAppsByHash(hashes);\n\n // then\n expect(response).resolves.toEqual(Left(new HttpFetchApiError(err)));\n });\n });\n });\n\n describe(\"getDeviceVersion\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new AxiosManagerApiDataSource({} as DmkConfig);\n });\n afterEach(() => {\n vi.clearAllMocks();\n });\n it(\"should return a complete device version\", () => {\n // given\n vi.spyOn(axios, \"get\").mockResolvedValue({ data: mockGetDeviceVersion });\n\n // when\n const response = api.getDeviceVersion(\"targetId\"
|
5
|
-
"mappings": "AAAA,OAAOA,MAAW,QAClB,OAAS,QAAAC,EAAM,SAAAC,MAAa,YAE5B,OACE,WAAAC,EACA,oBAAAC,EACA,0BAAAC,EACA,mCAAAC,MACK,yCAEP,OAAS,qBAAAC,MAAyB,qCAElC,OAAS,6BAAAC,MAAiC,8BAG1C,GAAG,KAAK,OAAO,EAEf,MAAMC,EAAuB,CAC3B,GAAI,GACJ,UAAW,WACb,EAEMC,EAAyB,CAC7B,GAAI,IACJ,MAAO,UACT,EAEA,SAAS,4BAA6B,IAAM,CAC1C,SAAS,gBAAiB,IAAM,CAC9B,SAAS,gBAAiB,IAAM,CAC9B,
|
6
|
-
"names": ["axios", "Left", "Right", "BTC_APP", "BTC_APP_METADATA", "CUSTOM_LOCK_SCREEN_APP", "CUSTOM_LOCK_SCREEN_APP_METADATA", "HttpFetchApiError", "AxiosManagerApiDataSource", "mockGetDeviceVersion", "mockGetFirmwareVersion", "api", "
|
4
|
+
"sourcesContent": ["import axios from \"axios\";\nimport { Left, Right } from \"purify-ts\";\n\nimport {\n BTC_APP,\n BTC_APP_METADATA,\n CUSTOM_LOCK_SCREEN_APP,\n CUSTOM_LOCK_SCREEN_APP_METADATA,\n} from \"@api/device-action/__test-utils__/data\";\nimport { type DmkConfig } from \"@api/DmkConfig\";\nimport { HttpFetchApiError } from \"@internal/manager-api/model/Errors\";\n\nimport { AxiosManagerApiDataSource } from \"./AxiosManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"./ManagerApiDataSource\";\n\nvi.mock(\"axios\");\n\nconst mockGetDeviceVersion = {\n id: 17,\n target_id: \"857735172\",\n};\n\nconst mockGetFirmwareVersion = {\n id: 361,\n perso: \"perso_11\",\n};\n\ndescribe(\"AxiosManagerApiDataSource\", () => {\n describe(\"getAppList\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new AxiosManagerApiDataSource({} as DmkConfig);\n });\n afterEach(() => {\n vi.clearAllMocks();\n });\n it(\"should return a list of applications\", () => {\n // given\n const apps = [BTC_APP_METADATA, CUSTOM_LOCK_SCREEN_APP_METADATA];\n vi.spyOn(axios, \"get\").mockResolvedValue({ data: apps });\n\n // when\n const response = api.getAppList({\n targetId: \"targetId\",\n provider: 42,\n firmwareVersionName: \"firmwareVersionName\",\n });\n\n // then\n expect(response).resolves.toEqual(Right(apps));\n });\n it(\"should return an error if the request fails\", () => {\n // given\n const error = new Error(\"fetch error\");\n vi.spyOn(axios, \"get\").mockRejectedValue(error);\n\n // when\n const response = api.getAppList({\n targetId: \"targetId\",\n provider: 42,\n firmwareVersionName: \"firmwareVersionName\",\n });\n\n // then\n expect(response).resolves.toEqual(Left(new HttpFetchApiError(error)));\n });\n });\n describe(\"getAppsByHash\", () => {\n describe(\"success cases\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new AxiosManagerApiDataSource({} as DmkConfig);\n });\n afterEach(() => {\n vi.clearAllMocks();\n });\n it(\"with BTC app, should return the metadata\", async () => {\n vi.spyOn(axios, \"post\").mockResolvedValue({\n data: [BTC_APP_METADATA],\n });\n\n const hashes = [BTC_APP.appFullHash];\n\n const apps = await api.getAppsByHash({ hashes });\n\n expect(apps).toEqual(Right([BTC_APP_METADATA]));\n });\n\n it(\"with no apps, should return an empty list\", async () => {\n vi.spyOn(axios, \"post\").mockResolvedValue({\n data: [],\n });\n\n const hashes: string[] = [];\n\n const apps = await api.getAppsByHash({ hashes });\n\n expect(apps).toEqual(Right([]));\n });\n\n it(\"with BTC app and custom lock screen, should return the metadata\", async () => {\n vi.spyOn(axios, \"post\").mockResolvedValue({\n data: [BTC_APP_METADATA, CUSTOM_LOCK_SCREEN_APP_METADATA],\n });\n\n const hashes = [\n BTC_APP.appFullHash,\n CUSTOM_LOCK_SCREEN_APP.appFullHash,\n ];\n\n const apps = await api.getAppsByHash({ hashes });\n\n expect(apps).toEqual(\n Right([BTC_APP_METADATA, CUSTOM_LOCK_SCREEN_APP_METADATA]),\n );\n });\n });\n\n describe(\"error cases\", () => {\n afterEach(() => {\n vi.clearAllMocks();\n });\n it(\"should throw an error if the request fails\", () => {\n // given\n const api = new AxiosManagerApiDataSource({} as DmkConfig);\n\n const err = new Error(\"fetch error\");\n vi.spyOn(axios, \"post\").mockRejectedValue(err);\n\n const hashes = [BTC_APP.appFullHash];\n\n // when\n const response = api.getAppsByHash({ hashes });\n\n // then\n expect(response).resolves.toEqual(Left(new HttpFetchApiError(err)));\n });\n });\n });\n\n describe(\"getDeviceVersion\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new AxiosManagerApiDataSource({} as DmkConfig);\n });\n afterEach(() => {\n vi.clearAllMocks();\n });\n it(\"should return a complete device version\", () => {\n // given\n vi.spyOn(axios, \"get\").mockResolvedValue({ data: mockGetDeviceVersion });\n\n // when\n const response = api.getDeviceVersion({\n targetId: \"targetId\",\n provider: 42,\n });\n\n // then\n expect(response).resolves.toEqual(Right(mockGetDeviceVersion));\n });\n it(\"should return an error if the request fails\", () => {\n // given\n\n const error = new Error(\"fetch error\");\n vi.spyOn(axios, \"get\").mockRejectedValue(error);\n\n // when\n const response = api.getDeviceVersion({\n targetId: \"targetId\",\n provider: 42,\n });\n\n // then\n expect(response).resolves.toEqual(Left(new HttpFetchApiError(error)));\n });\n });\n\n describe(\"getFirmwareVersion\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new AxiosManagerApiDataSource({} as DmkConfig);\n });\n afterEach(() => {\n vi.clearAllMocks();\n });\n it(\"should return a complete firmware version\", () => {\n // given\n vi.spyOn(axios, \"get\").mockResolvedValue({\n data: mockGetFirmwareVersion,\n });\n\n // when\n const response = api.getFirmwareVersion({\n version: \"versionName\",\n deviceId: 42,\n provider: 21,\n });\n\n // then\n expect(response).resolves.toEqual(Right(mockGetFirmwareVersion));\n });\n it(\"should return an error if the request fails\", () => {\n // given\n const error = new Error(\"fetch error\");\n vi.spyOn(axios, \"get\").mockRejectedValue(error);\n\n // when\n const response = api.getFirmwareVersion({\n version: \"versionName\",\n deviceId: 42,\n provider: 21,\n });\n\n // then\n expect(response).resolves.toEqual(Left(new HttpFetchApiError(error)));\n });\n });\n});\n"],
|
5
|
+
"mappings": "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",
|
6
|
+
"names": ["axios", "Left", "Right", "BTC_APP", "BTC_APP_METADATA", "CUSTOM_LOCK_SCREEN_APP", "CUSTOM_LOCK_SCREEN_APP_METADATA", "HttpFetchApiError", "AxiosManagerApiDataSource", "mockGetDeviceVersion", "mockGetFirmwareVersion", "api", "apps", "response", "error", "hashes", "err"]
|
7
7
|
}
|
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"version": 3,
|
3
3
|
"sources": ["../../../../../../src/internal/manager-api/data/ManagerApiDto.ts"],
|
4
|
-
"sourcesContent": ["export type Id = number;\n\nexport enum AppTypeDto {\n currency = \"currency\",\n plugin = \"plugin\",\n tool = \"tool\",\n swap = \"swap\",\n}\n\nexport type ApplicationDto = {\n versionId: Id;\n versionName: string;\n versionDisplayName: string;\n version: string;\n currencyId: string;\n description: string;\n applicationType: AppTypeDto;\n dateModified: string;\n icon: string;\n authorName: string;\n supportURL: string;\n contactURL: string;\n sourceURL: string;\n
|
4
|
+
"sourcesContent": ["export type Id = number;\n\nexport enum AppTypeDto {\n currency = \"currency\",\n plugin = \"plugin\",\n tool = \"tool\",\n swap = \"swap\",\n}\n\nexport type ApplicationDto = {\n versionId: Id;\n versionName: string;\n versionDisplayName: string;\n version: string;\n currencyId: string;\n description: string;\n applicationType: AppTypeDto;\n dateModified: string;\n icon: string;\n authorName: string;\n supportURL: string;\n contactURL: string;\n sourceURL: string;\n compatibleWallets: string;\n hash: string;\n perso: string;\n firmware: string;\n firmwareKey: string;\n delete: string;\n deleteKey: string;\n bytes: number;\n warning: string | null;\n isDevTools: boolean;\n category: number;\n parent: number | null;\n parentName: string | null;\n};\n"],
|
5
5
|
"mappings": "AAEO,IAAKA,OACVA,EAAA,SAAW,WACXA,EAAA,OAAS,SACTA,EAAA,KAAO,OACPA,EAAA,KAAO,OAJGA,OAAA",
|
6
6
|
"names": ["AppTypeDto"]
|
7
7
|
}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
class a{getDeviceVersion=vi.fn();getFirmwareVersion=vi.fn();getAppsByHash=vi.fn()}export{a as AxiosManagerApiDataSource};
|
1
|
+
class a{getAppList=vi.fn();getDeviceVersion=vi.fn();getFirmwareVersion=vi.fn();getAppsByHash=vi.fn()}export{a as AxiosManagerApiDataSource};
|
2
2
|
//# sourceMappingURL=AxiosManagerApiDataSource.js.map
|
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"version": 3,
|
3
3
|
"sources": ["../../../../../../../src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.ts"],
|
4
|
-
"sourcesContent": ["import { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\n\nexport class AxiosManagerApiDataSource implements ManagerApiDataSource {\n getDeviceVersion = vi.fn();\n getFirmwareVersion = vi.fn();\n getAppsByHash = vi.fn();\n}\n"],
|
5
|
-
"mappings": "AAEO,MAAMA,CAA0D,CACrE,iBAAmB,GAAG,GAAG,EACzB,mBAAqB,GAAG,GAAG,EAC3B,cAAgB,GAAG,GAAG,CACxB",
|
4
|
+
"sourcesContent": ["import { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\n\nexport class AxiosManagerApiDataSource implements ManagerApiDataSource {\n getAppList = vi.fn();\n getDeviceVersion = vi.fn();\n getFirmwareVersion = vi.fn();\n getAppsByHash = vi.fn();\n}\n"],
|
5
|
+
"mappings": "AAEO,MAAMA,CAA0D,CACrE,WAAa,GAAG,GAAG,EACnB,iBAAmB,GAAG,GAAG,EACzB,mBAAqB,GAAG,GAAG,EAC3B,cAAgB,GAAG,GAAG,CACxB",
|
6
6
|
"names": ["AxiosManagerApiDataSource"]
|
7
7
|
}
|
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"version": 3,
|
3
3
|
"sources": ["../../../../../../src/internal/manager-api/model/Application.ts"],
|
4
|
-
"sourcesContent": ["export enum AppType {\n currency = \"currency\",\n plugin = \"plugin\",\n tool = \"tool\",\n swap = \"swap\",\n}\n\nexport type Application = {\n versionId: number;\n versionName: string;\n versionDisplayName: string;\n version: string;\n currencyId: string;\n description: string;\n applicationType: AppType;\n dateModified: string;\n icon: string;\n authorName: string;\n supportURL: string;\n contactURL: string;\n sourceURL: string;\n
|
4
|
+
"sourcesContent": ["export enum AppType {\n currency = \"currency\",\n plugin = \"plugin\",\n tool = \"tool\",\n swap = \"swap\",\n}\n\nexport type Application = {\n versionId: number;\n versionName: string;\n versionDisplayName: string;\n version: string;\n currencyId: string;\n description: string;\n applicationType: AppType;\n dateModified: string;\n icon: string;\n authorName: string;\n supportURL: string;\n contactURL: string;\n sourceURL: string;\n compatibleWallets: string;\n hash: string;\n perso: string;\n firmware: string;\n firmwareKey: string;\n delete: string;\n deleteKey: string;\n bytes: number;\n warning: string | null;\n isDevTools: boolean;\n category: number;\n parent: number | null;\n parentName: string | null;\n};\n"],
|
5
5
|
"mappings": "AAAO,IAAKA,OACVA,EAAA,SAAW,WACXA,EAAA,OAAS,SACTA,EAAA,KAAO,OACPA,EAAA,KAAO,OAJGA,OAAA",
|
6
6
|
"names": ["AppType"]
|
7
7
|
}
|
@@ -0,0 +1 @@
|
|
1
|
+
//# sourceMappingURL=Params.js.map
|
@@ -1,2 +1,2 @@
|
|
1
|
-
var
|
1
|
+
var y=Object.defineProperty;var A=Object.getOwnPropertyDescriptor;var n=(i,r,e,t)=>{for(var s=t>1?void 0:t?A(r,e):r,a=i.length-1,p;a>=0;a--)(p=i[a])&&(s=(t?p(r,e,s):p(s))||s);return t&&s&&y(r,e,s),s},m=(i,r)=>(e,t)=>r(e,t,i);import{inject as g,injectable as h}from"inversify";import{EitherAsync as u}from"purify-ts";import{managerApiTypes as V}from"../../manager-api/di/managerApiTypes";import{HttpFetchApiError as c}from"../../manager-api/model/Errors";let o=class{constructor(r){this.dataSource=r}getAppList(r,e){const t={targetId:r.targetId.toString(),provider:e,firmwareVersionName:r.seVersion};return this.dataSource.getAppList(t)}getDeviceVersion(r,e){const t={targetId:r.targetId.toString(),provider:e};return this.dataSource.getDeviceVersion(t)}getFirmwareVersion(r,e,t){const s={version:r.seVersion,deviceId:e.id,provider:t};return this.dataSource.getFirmwareVersion(s)}getAppsByHash(r){const e={hashes:r};return u(async({fromPromise:t,throwE:s})=>{if(e.hashes.length===0)return[];try{return await t(this.dataSource.getAppsByHash(e))}catch(a){return a instanceof c?s(a):s(new c(a))}})}};o=n([h(),m(0,g(V.ManagerApiDataSource))],o);export{o as DefaultManagerApiService};
|
2
2
|
//# sourceMappingURL=DefaultManagerApiService.js.map
|
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"version": 3,
|
3
3
|
"sources": ["../../../../../../src/internal/manager-api/service/DefaultManagerApiService.ts"],
|
4
|
-
"sourcesContent": ["import { inject, injectable } from \"inversify\";\nimport { EitherAsync } from \"purify-ts\";\n\nimport { GetOsVersionResponse } from \"@api/command/os/GetOsVersionCommand\";\nimport {
|
5
|
-
"mappings": "iOAAA,OAAS,UAAAA,EAAQ,cAAAC,MAAkB,YACnC,OAAS,eAAAC,MAAmB,
|
6
|
-
"names": ["inject", "injectable", "EitherAsync", "managerApiTypes", "HttpFetchApiError", "DefaultManagerApiService", "dataSource", "deviceInfo", "provider", "
|
4
|
+
"sourcesContent": ["import { inject, injectable } from \"inversify\";\nimport { EitherAsync } from \"purify-ts\";\n\nimport { type GetOsVersionResponse } from \"@api/command/os/GetOsVersionCommand\";\nimport { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\nimport { managerApiTypes } from \"@internal/manager-api/di/managerApiTypes\";\nimport { type Application } from \"@internal/manager-api/model/Application\";\nimport { type DeviceVersion } from \"@internal/manager-api/model/Device\";\nimport { HttpFetchApiError } from \"@internal/manager-api/model/Errors\";\nimport {\n type GetAppByHashParams,\n type GetAppListParams,\n type GetDeviceVersionParams,\n type GetFirmwareVersionParams,\n} from \"@internal/manager-api/model/Params\";\n\nimport { type ManagerApiService } from \"./ManagerApiService\";\n\n@injectable()\nexport class DefaultManagerApiService implements ManagerApiService {\n constructor(\n @inject(managerApiTypes.ManagerApiDataSource)\n private readonly dataSource: ManagerApiDataSource,\n ) {}\n\n getAppList(\n deviceInfo: GetOsVersionResponse,\n provider: number,\n ): EitherAsync<HttpFetchApiError, Array<Application>> {\n const params: GetAppListParams = {\n targetId: deviceInfo.targetId.toString(),\n provider,\n firmwareVersionName: deviceInfo.seVersion,\n };\n return this.dataSource.getAppList(params);\n }\n\n getDeviceVersion(deviceInfo: GetOsVersionResponse, provider: number) {\n const params: GetDeviceVersionParams = {\n targetId: deviceInfo.targetId.toString(),\n provider,\n };\n return this.dataSource.getDeviceVersion(params);\n }\n\n getFirmwareVersion(\n deviceInfo: GetOsVersionResponse,\n deviceVersion: DeviceVersion,\n provider: number,\n ) {\n const params: GetFirmwareVersionParams = {\n version: deviceInfo.seVersion,\n deviceId: deviceVersion.id,\n provider,\n };\n return this.dataSource.getFirmwareVersion(params);\n }\n\n getAppsByHash(appHashes: Array<string>) {\n const params: GetAppByHashParams = {\n hashes: appHashes,\n };\n return EitherAsync<HttpFetchApiError, Array<Application | null>>(\n async ({ fromPromise, throwE }) => {\n if (params.hashes.length === 0) {\n return [];\n }\n try {\n const response = await fromPromise(\n this.dataSource.getAppsByHash(params),\n );\n return response;\n } catch (error) {\n if (error instanceof HttpFetchApiError) {\n return throwE(error);\n }\n return throwE(new HttpFetchApiError(error));\n }\n },\n );\n }\n}\n"],
|
5
|
+
"mappings": "iOAAA,OAAS,UAAAA,EAAQ,cAAAC,MAAkB,YACnC,OAAS,eAAAC,MAAmB,YAI5B,OAAS,mBAAAC,MAAuB,2CAGhC,OAAS,qBAAAC,MAAyB,qCAW3B,IAAMC,EAAN,KAA4D,CACjE,YAEmBC,EACjB,CADiB,gBAAAA,CAChB,CAEH,WACEC,EACAC,EACoD,CACpD,MAAMC,EAA2B,CAC/B,SAAUF,EAAW,SAAS,SAAS,EACvC,SAAAC,EACA,oBAAqBD,EAAW,SAClC,EACA,OAAO,KAAK,WAAW,WAAWE,CAAM,CAC1C,CAEA,iBAAiBF,EAAkCC,EAAkB,CACnE,MAAMC,EAAiC,CACrC,SAAUF,EAAW,SAAS,SAAS,EACvC,SAAAC,CACF,EACA,OAAO,KAAK,WAAW,iBAAiBC,CAAM,CAChD,CAEA,mBACEF,EACAG,EACAF,EACA,CACA,MAAMC,EAAmC,CACvC,QAASF,EAAW,UACpB,SAAUG,EAAc,GACxB,SAAAF,CACF,EACA,OAAO,KAAK,WAAW,mBAAmBC,CAAM,CAClD,CAEA,cAAcE,EAA0B,CACtC,MAAMF,EAA6B,CACjC,OAAQE,CACV,EACA,OAAOC,EACL,MAAO,CAAE,YAAAC,EAAa,OAAAC,CAAO,IAAM,CACjC,GAAIL,EAAO,OAAO,SAAW,EAC3B,MAAO,CAAC,EAEV,GAAI,CAIF,OAHiB,MAAMI,EACrB,KAAK,WAAW,cAAcJ,CAAM,CACtC,CAEF,OAASM,EAAO,CACd,OAAIA,aAAiBC,EACZF,EAAOC,CAAK,EAEdD,EAAO,IAAIE,EAAkBD,CAAK,CAAC,CAC5C,CACF,CACF,CACF,CACF,EA9DaV,EAANY,EAAA,CADNC,EAAW,EAGPC,EAAA,EAAAC,EAAOC,EAAgB,oBAAoB,IAFnChB",
|
6
|
+
"names": ["inject", "injectable", "EitherAsync", "managerApiTypes", "HttpFetchApiError", "DefaultManagerApiService", "dataSource", "deviceInfo", "provider", "params", "deviceVersion", "appHashes", "EitherAsync", "fromPromise", "throwE", "error", "HttpFetchApiError", "__decorateClass", "injectable", "__decorateParam", "inject", "managerApiTypes"]
|
7
7
|
}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import{Left as
|
1
|
+
import{Left as n,Right as r}from"purify-ts";import{getOsVersionCommandResponseMockBuilder as s}from"../../../api/command/os/__mocks__/GetOsVersionCommand";import{DeviceModelId as c}from"../../../api/device/DeviceModel";import{BTC_APP as p,BTC_APP_METADATA as o,ETH_APP as l,ETH_APP_METADATA as d}from"../../../api/device-action/__test-utils__/data";import{AxiosManagerApiDataSource as m}from"../../manager-api/data/AxiosManagerApiDataSource";import{HttpFetchApiError as h}from"../../manager-api/model/Errors";import{DefaultManagerApiService as u}from"./DefaultManagerApiService";vi.mock("@internal/manager-api/data/AxiosManagerApiDataSource");let t,a;describe("ManagerApiService",()=>{beforeEach(()=>{t=new m({}),a=new u(t)}),describe("getAppList",()=>{it("should call api with the correct parameters",()=>{const e=s(c.STAX);a.getAppList(e,42),expect(t.getAppList).toHaveBeenCalledWith({targetId:"857735172",provider:42,firmwareVersionName:"1.3.0"})})}),describe("getAppsByHash",()=>{describe("success cases",()=>{it("with no apps, should return an empty list",async()=>{t.getAppsByHash.mockResolvedValue(r([])),expect(await a.getAppsByHash([])).toEqual(r([]))}),it("with one app, should return the metadata",async()=>{t.getAppsByHash.mockResolvedValue(r([o])),expect(await a.getAppsByHash([p.appFullHash])).toEqual(r([o]))}),it("with two app, should return the metadata of both apps",async()=>{t.getAppsByHash.mockResolvedValue(r([o,d])),expect(await a.getAppsByHash([p,l].map(e=>e.appFullHash))).toEqual(r([o,d]))}),it("with one app and one without `appFullHash`, should return the metadata of the correct app",async()=>{t.getAppsByHash.mockResolvedValue(r([o]));const e={...l,appFullHash:""};expect(await a.getAppsByHash([p,e].map(i=>i.appFullHash))).toEqual(r([o]))})}),describe("error cases",()=>{it("should return an error when the data source fails with a known error",async()=>{const e=new h(new Error("Failed to fetch data"));t.getAppsByHash.mockRejectedValue(e),expect(await a.getAppsByHash([p.appFullHash])).toEqual(n(e))}),it("should return an error when the data source fails with an unknown error",async()=>{const e=new Error("unkown error");t.getAppsByHash.mockRejectedValue(e),expect(await a.getAppsByHash([p.appFullHash])).toEqual(n(new h(e)))})})}),describe("getDeviceVersion",()=>{it("should call api with the correct parameters",()=>{const e=s(c.STAX);a.getDeviceVersion(e,42),expect(t.getDeviceVersion).toHaveBeenCalledWith({targetId:"857735172",provider:42})})}),describe("getFirmwareVersion",()=>{it("should call api with the correct parameters",()=>{const e={id:17,target_id:"857735172"},i=s(c.STAX);a.getFirmwareVersion(i,e,42),expect(t.getFirmwareVersion).toHaveBeenCalledWith({deviceId:17,provider:42,version:"1.3.0"})})})});
|
2
2
|
//# sourceMappingURL=DefaultManagerApiService.test.js.map
|
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"version": 3,
|
3
3
|
"sources": ["../../../../../../src/internal/manager-api/service/DefaultManagerApiService.test.ts"],
|
4
|
-
"sourcesContent": ["import { Left, Right } from \"purify-ts\";\nimport { type Mocked } from \"vitest\";\n\nimport { getOsVersionCommandResponseMockBuilder } from \"@api/command/os/__mocks__/GetOsVersionCommand\";\nimport { DeviceModelId } from \"@api/device/DeviceModel\";\nimport {\n BTC_APP,\n BTC_APP_METADATA,\n ETH_APP,\n ETH_APP_METADATA,\n} from \"@api/device-action/__test-utils__/data\";\nimport { type DmkConfig } from \"@api/DmkConfig\";\nimport { AxiosManagerApiDataSource } from \"@internal/manager-api/data/AxiosManagerApiDataSource\";\nimport { HttpFetchApiError } from \"@internal/manager-api/model/Errors\";\n\nimport { DefaultManagerApiService } from \"./DefaultManagerApiService\";\nimport { type ManagerApiService } from \"./ManagerApiService\";\n\nvi.mock(\"@internal/manager-api/data/AxiosManagerApiDataSource\");\nlet dataSource: Mocked<AxiosManagerApiDataSource>;\nlet service: ManagerApiService;\ndescribe(\"ManagerApiService\", () => {\n beforeEach(() => {\n dataSource = new AxiosManagerApiDataSource(\n {} as DmkConfig,\n ) as Mocked<AxiosManagerApiDataSource>;\n service = new DefaultManagerApiService(dataSource);\n });\n\n describe(\"getAppsByHash\", () => {\n describe(\"success cases\", () => {\n it(\"with no apps, should return an empty list\", async () => {\n dataSource.getAppsByHash.mockResolvedValue(Right([]));\n expect(await service.getAppsByHash([])).toEqual(Right([]));\n });\n\n it(\"with one app, should return the metadata\", async () => {\n dataSource.getAppsByHash.mockResolvedValue(Right([BTC_APP_METADATA]));\n expect(await service.getAppsByHash([BTC_APP])).toEqual(\n Right([BTC_APP_METADATA]),\n );\n });\n\n it(\"with two app, should return the metadata of both apps\", async () => {\n dataSource.getAppsByHash.mockResolvedValue(\n Right([BTC_APP_METADATA, ETH_APP_METADATA]),\n );\n expect(await service.getAppsByHash([BTC_APP, ETH_APP])).toEqual(
|
5
|
-
"mappings": "AAAA,OAAS,QAAAA,EAAM,SAAAC,MAAa,YAG5B,OAAS,0CAAAC,MAA8C,gDACvD,OAAS,iBAAAC,MAAqB,0BAC9B,OACE,WAAAC,EACA,oBAAAC,EACA,WAAAC,EACA,oBAAAC,MACK,yCAEP,OAAS,6BAAAC,MAAiC,uDAC1C,OAAS,qBAAAC,MAAyB,qCAElC,OAAS,4BAAAC,MAAgC,6BAGzC,GAAG,KAAK,sDAAsD,EAC9D,IAAIC,EACAC,EACJ,SAAS,oBAAqB,IAAM,CAClC,WAAW,IAAM,CACfD,EAAa,IAAIH,EACf,CAAC,CACH,EACAI,EAAU,IAAIF,EAAyBC,CAAU,CACnD,CAAC,EAED,SAAS,gBAAiB,IAAM,CAC9B,SAAS,gBAAiB,IAAM,CAC9B,GAAG,4CAA6C,SAAY,CAC1DA,EAAW,cAAc,kBAAkBV,EAAM,CAAC,CAAC,CAAC,EACpD,OAAO,MAAMW,EAAQ,cAAc,CAAC,CAAC,CAAC,EAAE,QAAQX,EAAM,CAAC,CAAC,CAAC,CAC3D,CAAC,EAED,GAAG,2CAA4C,SAAY,CACzDU,EAAW,cAAc,kBAAkBV,EAAM,CAACI,CAAgB,CAAC,CAAC,EACpE,OAAO,MAAMO,EAAQ,cAAc,CAACR,
|
6
|
-
"names": ["Left", "Right", "getOsVersionCommandResponseMockBuilder", "DeviceModelId", "BTC_APP", "BTC_APP_METADATA", "ETH_APP", "ETH_APP_METADATA", "AxiosManagerApiDataSource", "HttpFetchApiError", "DefaultManagerApiService", "dataSource", "service", "
|
4
|
+
"sourcesContent": ["import { Left, Right } from \"purify-ts\";\nimport { type Mocked } from \"vitest\";\n\nimport { getOsVersionCommandResponseMockBuilder } from \"@api/command/os/__mocks__/GetOsVersionCommand\";\nimport { DeviceModelId } from \"@api/device/DeviceModel\";\nimport {\n BTC_APP,\n BTC_APP_METADATA,\n ETH_APP,\n ETH_APP_METADATA,\n} from \"@api/device-action/__test-utils__/data\";\nimport { type DmkConfig } from \"@api/DmkConfig\";\nimport { AxiosManagerApiDataSource } from \"@internal/manager-api/data/AxiosManagerApiDataSource\";\nimport { HttpFetchApiError } from \"@internal/manager-api/model/Errors\";\n\nimport { DefaultManagerApiService } from \"./DefaultManagerApiService\";\nimport { type ManagerApiService } from \"./ManagerApiService\";\n\nvi.mock(\"@internal/manager-api/data/AxiosManagerApiDataSource\");\nlet dataSource: Mocked<AxiosManagerApiDataSource>;\nlet service: ManagerApiService;\ndescribe(\"ManagerApiService\", () => {\n beforeEach(() => {\n dataSource = new AxiosManagerApiDataSource(\n {} as DmkConfig,\n ) as Mocked<AxiosManagerApiDataSource>;\n service = new DefaultManagerApiService(dataSource);\n });\n\n describe(\"getAppList\", () => {\n it(\"should call api with the correct parameters\", () => {\n // given\n const deviceInfo = getOsVersionCommandResponseMockBuilder(\n DeviceModelId.STAX,\n );\n const provider = 42;\n // when\n service.getAppList(deviceInfo, provider);\n // then\n expect(dataSource.getAppList).toHaveBeenCalledWith({\n targetId: \"857735172\",\n provider: 42,\n firmwareVersionName: \"1.3.0\",\n });\n });\n });\n\n describe(\"getAppsByHash\", () => {\n describe(\"success cases\", () => {\n it(\"with no apps, should return an empty list\", async () => {\n dataSource.getAppsByHash.mockResolvedValue(Right([]));\n expect(await service.getAppsByHash([])).toEqual(Right([]));\n });\n\n it(\"with one app, should return the metadata\", async () => {\n dataSource.getAppsByHash.mockResolvedValue(Right([BTC_APP_METADATA]));\n expect(await service.getAppsByHash([BTC_APP.appFullHash])).toEqual(\n Right([BTC_APP_METADATA]),\n );\n });\n\n it(\"with two app, should return the metadata of both apps\", async () => {\n dataSource.getAppsByHash.mockResolvedValue(\n Right([BTC_APP_METADATA, ETH_APP_METADATA]),\n );\n expect(\n await service.getAppsByHash(\n [BTC_APP, ETH_APP].map((app) => app.appFullHash),\n ),\n ).toEqual(Right([BTC_APP_METADATA, ETH_APP_METADATA]));\n });\n\n it(\"with one app and one without `appFullHash`, should return the metadata of the correct app\", async () => {\n dataSource.getAppsByHash.mockResolvedValue(Right([BTC_APP_METADATA]));\n const APP_WITH_NO_HASH = { ...ETH_APP, appFullHash: \"\" };\n expect(\n await service.getAppsByHash(\n [BTC_APP, APP_WITH_NO_HASH].map((app) => app.appFullHash),\n ),\n ).toEqual(Right([BTC_APP_METADATA]));\n });\n });\n\n describe(\"error cases\", () => {\n it(\"should return an error when the data source fails with a known error\", async () => {\n const error = new HttpFetchApiError(new Error(\"Failed to fetch data\"));\n dataSource.getAppsByHash.mockRejectedValue(error);\n expect(await service.getAppsByHash([BTC_APP.appFullHash])).toEqual(\n Left(error),\n );\n });\n\n it(\"should return an error when the data source fails with an unknown error\", async () => {\n const error = new Error(\"unkown error\");\n dataSource.getAppsByHash.mockRejectedValue(error);\n expect(await service.getAppsByHash([BTC_APP.appFullHash])).toEqual(\n Left(new HttpFetchApiError(error)),\n );\n });\n });\n });\n\n describe(\"getDeviceVersion\", () => {\n it(\"should call api with the correct parameters\", () => {\n // given\n const deviceInfo = getOsVersionCommandResponseMockBuilder(\n DeviceModelId.STAX,\n );\n const provider = 42;\n // when\n service.getDeviceVersion(deviceInfo, provider);\n // then\n expect(dataSource.getDeviceVersion).toHaveBeenCalledWith({\n targetId: \"857735172\",\n provider: 42,\n });\n });\n });\n describe(\"getFirmwareVersion\", () => {\n it(\"should call api with the correct parameters\", () => {\n // given\n const mockGetDeviceVersion = {\n id: 17,\n target_id: \"857735172\",\n };\n const deviceInfo = getOsVersionCommandResponseMockBuilder(\n DeviceModelId.STAX,\n );\n const provider = 42;\n // when\n service.getFirmwareVersion(deviceInfo, mockGetDeviceVersion, provider);\n // then\n expect(dataSource.getFirmwareVersion).toHaveBeenCalledWith({\n deviceId: 17,\n provider: 42,\n version: \"1.3.0\",\n });\n });\n });\n});\n"],
|
5
|
+
"mappings": "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",
|
6
|
+
"names": ["Left", "Right", "getOsVersionCommandResponseMockBuilder", "DeviceModelId", "BTC_APP", "BTC_APP_METADATA", "ETH_APP", "ETH_APP_METADATA", "AxiosManagerApiDataSource", "HttpFetchApiError", "DefaultManagerApiService", "dataSource", "service", "deviceInfo", "app", "APP_WITH_NO_HASH", "error", "mockGetDeviceVersion"]
|
7
7
|
}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/**
|
2
2
|
* The user interaction required on the device to move further in a device action.
|
3
|
-
* This is used to inform the
|
3
|
+
* This is used to inform the users about the action they need to take on the device.
|
4
4
|
*/
|
5
5
|
export declare enum UserInteractionRequired {
|
6
6
|
None = "none",
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ListAppsWithMetadataDeviceAction.d.ts","sourceRoot":"","sources":["../../../../../../../src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAe,MAAM,WAAW,CAAC;AAS1D,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAInE,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAE7E,OAAO,EACL,KAAK,wBAAwB,EAC7B,kBAAkB,EACnB,MAAM,oDAAoD,CAAC;AAC5D,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,yCAAyC,CAAC;AAC3E,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAE5E,OAAO,EACL,KAAK,2BAA2B,EAChC,KAAK,2BAA2B,EAChC,KAAK,uCAAuC,EAC5C,KAAK,4BAA4B,EAClC,MAAM,SAAS,CAAC;AAEjB,KAAK,wCAAwC,GAAG;IAC9C,KAAK,EAAE,2BAA2B,GAAG,IAAI,CAAC;IAC1C,IAAI,EAAE,gBAAgB,CAAC;IACvB,gBAAgB,EAAE,4BAA4B,CAAC;CAChD,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,aAAa,EAAE,CAAC,EACd,KAAK,GACN,EAAE;QACD,KAAK,EAAE,gBAAgB,CAAC;KACzB,KAAK,WAAW,CAAC,iBAAiB,EAAE,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC;IAChE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;IAChD,qBAAqB,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,kBAAkB,CAAC;CAC1E,CAAC;AAEF,qBAAa,gCAAiC,SAAQ,kBAAkB,CACtE,4BAA4B,EAC5B,2BAA2B,EAC3B,2BAA2B,EAC3B,uCAAuC,EACvC,wCAAwC,CACzC;IACC,gBAAgB,CACd,WAAW,EAAE,WAAW,GACvB,wBAAwB,CACzB,4BAA4B,EAC5B,2BAA2B,EAC3B,2BAA2B,EAC3B,uCAAuC,EACvC,wCAAwC,CACzC;IAoOD,mBAAmB,CAAC,WAAW,EAAE,WAAW,GAAG,mBAAmB;
|
1
|
+
{"version":3,"file":"ListAppsWithMetadataDeviceAction.d.ts","sourceRoot":"","sources":["../../../../../../../src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAe,MAAM,WAAW,CAAC;AAS1D,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAInE,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAE7E,OAAO,EACL,KAAK,wBAAwB,EAC7B,kBAAkB,EACnB,MAAM,oDAAoD,CAAC;AAC5D,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,yCAAyC,CAAC;AAC3E,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAE5E,OAAO,EACL,KAAK,2BAA2B,EAChC,KAAK,2BAA2B,EAChC,KAAK,uCAAuC,EAC5C,KAAK,4BAA4B,EAClC,MAAM,SAAS,CAAC;AAEjB,KAAK,wCAAwC,GAAG;IAC9C,KAAK,EAAE,2BAA2B,GAAG,IAAI,CAAC;IAC1C,IAAI,EAAE,gBAAgB,CAAC;IACvB,gBAAgB,EAAE,4BAA4B,CAAC;CAChD,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,aAAa,EAAE,CAAC,EACd,KAAK,GACN,EAAE;QACD,KAAK,EAAE,gBAAgB,CAAC;KACzB,KAAK,WAAW,CAAC,iBAAiB,EAAE,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC;IAChE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;IAChD,qBAAqB,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,kBAAkB,CAAC;CAC1E,CAAC;AAEF,qBAAa,gCAAiC,SAAQ,kBAAkB,CACtE,4BAA4B,EAC5B,2BAA2B,EAC3B,2BAA2B,EAC3B,uCAAuC,EACvC,wCAAwC,CACzC;IACC,gBAAgB,CACd,WAAW,EAAE,WAAW,GACvB,wBAAwB,CACzB,4BAA4B,EAC5B,2BAA2B,EAC3B,2BAA2B,EAC3B,uCAAuC,EACvC,wCAAwC,CACzC;IAoOD,mBAAmB,CAAC,WAAW,EAAE,WAAW,GAAG,mBAAmB;CAiBnE"}
|
@@ -37,6 +37,7 @@ export { ApduResponse } from "./device-session/ApduResponse";
|
|
37
37
|
export * from "./device-session/data/FramerConst";
|
38
38
|
export { type DeviceSessionState, DeviceSessionStateType, } from "./device-session/DeviceSessionState";
|
39
39
|
export { GenuineCheckDeviceAction } from "./secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction";
|
40
|
+
export { ListInstalledAppsDeviceAction } from "./secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction";
|
40
41
|
export { defaultApduReceiverServiceStubBuilder } from "./device-session/service/DefaultApduReceiverService.stub";
|
41
42
|
export { defaultApduSenderServiceStubBuilder } from "./device-session/service/DefaultApduSenderService.stub";
|
42
43
|
export { FramerUtils } from "./device-session/utils/FramerUtils";
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,cAAc,iCAAiC,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EACL,uBAAuB,EACvB,KAAK,wBAAwB,GAC9B,MAAM,yCAAyC,CAAC;AACjD,OAAO,EACL,iBAAiB,EACjB,KAAK,oBAAoB,EACzB,uBAAuB,EACvB,KAAK,wBAAwB,GAC9B,MAAM,yCAAyC,CAAC;AACjD,OAAO,EACL,mBAAmB,EACnB,KAAK,oBAAoB,GAC1B,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,KAAK,YAAY,EACjB,eAAe,EACf,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,GACtB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,KAAK,mBAAmB,EACxB,sBAAsB,EACtB,KAAK,yBAAyB,GAC/B,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,KAAK,WAAW,EAChB,cAAc,GACf,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EACL,kBAAkB,EAClB,yBAAyB,GAC1B,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,WAAW,EACX,aAAa,EACb,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EACL,KAAK,iBAAiB,EACtB,kBAAkB,GACnB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kDAAkD,CAAC;AAC3F,OAAO,EAAE,yBAAyB,EAAE,MAAM,2EAA2E,CAAC;AACtH,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,2BAA2B,EAAE,MAAM,mEAAmE,CAAC;AAChH,OAAO,EAAE,yBAAyB,EAAE,MAAM,+DAA+D,CAAC;AAC1G,OAAO,EAAE,oBAAoB,EAAE,MAAM,qDAAqD,CAAC;AAC3F,OAAO,EAAE,gCAAgC,EAAE,MAAM,6EAA6E,CAAC;AAC/H,OAAO,EAAE,mBAAmB,EAAE,MAAM,+DAA+D,CAAC;AACpG,OAAO,EAAE,4BAA4B,EAAE,MAAM,iFAAiF,CAAC;AAC/H,OAAO,EACL,KAAK,wBAAwB,EAC7B,kBAAkB,GACnB,MAAM,oDAAoD,CAAC;AAC5D,OAAO,EAAE,2BAA2B,EAAE,MAAM,oDAAoD,CAAC;AACjG,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,cAAc,sCAAsC,CAAC;AACrD,OAAO,EACL,KAAK,kBAAkB,EACvB,sBAAsB,GACvB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,wBAAwB,EAAE,MAAM,yEAAyE,CAAC;
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/index.ts"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"GenuineCheckDeviceAction.d.ts","sourceRoot":"","sources":["../../../../../../../src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAKnE,OAAO,EACL,KAAK,wBAAwB,EAC7B,kBAAkB,EACnB,MAAM,oDAAoD,CAAC;AAK5D,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,+BAA+B,EACpC,KAAK,oBAAoB,EACzB,KAAK,qCAAqC,
|
1
|
+
{"version":3,"file":"GenuineCheckDeviceAction.d.ts","sourceRoot":"","sources":["../../../../../../../src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAKnE,OAAO,EACL,KAAK,wBAAwB,EAC7B,kBAAkB,EACnB,MAAM,oDAAoD,CAAC;AAK5D,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,+BAA+B,EACpC,KAAK,oBAAoB,EACzB,KAAK,qCAAqC,EAE3C,MAAM,sDAAsD,CAAC;AAQ9D,qBAAa,wBAAyB,SAAQ,kBAAkB,CAC9D,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,+BAA+B,EAC/B,qCAAqC,CACtC;cACoB,gBAAgB,CACjC,WAAW,EAAE,WAAW,GACvB,wBAAwB,CACzB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,+BAA+B,EAC/B,qCAAqC,CACtC;IAuVD,OAAO,CAAC,mBAAmB;CAoD5B"}
|
@@ -5,13 +5,11 @@ import { type DeviceActionState } from "../../../device-action/model/DeviceActio
|
|
5
5
|
import { type UserInteractionRequired } from "../../../device-action/model/UserInteractionRequired";
|
6
6
|
import { type UnknownDAError } from "../../../device-action/os/Errors";
|
7
7
|
import { type SecureChannelEvent } from "../../../secure-channel/task/types";
|
8
|
+
import { type Input } from "../../../secure-channel/types";
|
8
9
|
import { type CommandErrorResult, type DeviceSessionState, type GoToDashboardDAError, type GoToDashboardDAInput } from "../../../types";
|
9
10
|
import { type DeviceVersion } from "../../../../internal/manager-api/model/Device";
|
10
11
|
import { type HttpFetchApiError } from "../../../../internal/manager-api/model/Errors";
|
11
12
|
import { type FinalFirmware } from "../../../../internal/manager-api/model/Firmware";
|
12
|
-
export type Input<T> = {
|
13
|
-
input: T;
|
14
|
-
};
|
15
13
|
export type GenuineCheckDAOutput = {
|
16
14
|
isGenuine: boolean;
|
17
15
|
};
|
@@ -23,24 +21,24 @@ export type GenuineCheckDAIntermediateValue = {
|
|
23
21
|
};
|
24
22
|
export type GenuineCheckDAState = DeviceActionState<GenuineCheckDAOutput, GenuineCheckDAError, GenuineCheckDAIntermediateValue>;
|
25
23
|
export type GenuineCheckStateMachineInternalState = {
|
24
|
+
error: GenuineCheckDAError | null;
|
26
25
|
result: {
|
27
26
|
isGenuine: boolean;
|
28
27
|
};
|
29
|
-
error: GenuineCheckDAError | null;
|
30
28
|
getOsVersionResponse: GetOsVersionResponse | null;
|
31
29
|
deviceVersion: DeviceVersion | null;
|
32
30
|
firmwareVersion: FinalFirmware | null;
|
33
31
|
};
|
34
32
|
export type MachineDependencies = {
|
35
33
|
getOsVersion: () => Promise<GetOsVersionCommandResult>;
|
36
|
-
getDeviceVersion: (
|
34
|
+
getDeviceVersion: (args: Input<{
|
37
35
|
deviceInfo: GetOsVersionResponse;
|
38
36
|
}>) => EitherAsync<HttpFetchApiError, DeviceVersion>;
|
39
|
-
getFirmwareVersion: (
|
37
|
+
getFirmwareVersion: (args: Input<{
|
40
38
|
deviceInfo: GetOsVersionResponse;
|
41
39
|
deviceVersion: DeviceVersion;
|
42
40
|
}>) => EitherAsync<HttpFetchApiError, FinalFirmware>;
|
43
|
-
genuineCheck: (
|
41
|
+
genuineCheck: (args: Input<{
|
44
42
|
deviceInfo: GetOsVersionResponse;
|
45
43
|
finalFirmware: FinalFirmware;
|
46
44
|
}>) => Observable<SecureChannelEvent>;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../../src/api/secure-channel/device-action/GenuineCheck/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,MAAM,CAAC;AAEvC,OAAO,EACL,KAAK,yBAAyB,EAC9B,KAAK,oBAAoB,EAC1B,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AACpF,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,kDAAkD,CAAC;AAChG,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EAC1B,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAE1E,MAAM,MAAM,
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../../src/api/secure-channel/device-action/GenuineCheck/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,MAAM,CAAC;AAEvC,OAAO,EACL,KAAK,yBAAyB,EAC9B,KAAK,oBAAoB,EAC1B,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AACpF,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,kDAAkD,CAAC;AAChG,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EAC1B,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAE1E,MAAM,MAAM,oBAAoB,GAAG;IAAE,SAAS,EAAE,OAAO,CAAA;CAAE,CAAC;AAE1D,MAAM,MAAM,mBAAmB,GAAG,oBAAoB,CAAC;AAEvD,MAAM,MAAM,mBAAmB,GAC3B,kBAAkB,CAAC,OAAO,CAAC,GAC3B,oBAAoB,GACpB,iBAAiB,GACjB,cAAc,CAAC;AAEnB,MAAM,MAAM,iCAAiC,GACzC,uBAAuB,CAAC,IAAI,GAC5B,uBAAuB,CAAC,YAAY,GACpC,uBAAuB,CAAC,qBAAqB,CAAC;AAElD,MAAM,MAAM,+BAA+B,GAAG;IAC5C,uBAAuB,EAAE,iCAAiC,CAAC;CAC5D,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,iBAAiB,CACjD,oBAAoB,EACpB,mBAAmB,EACnB,+BAA+B,CAChC,CAAC;AAEF,MAAM,MAAM,qCAAqC,GAAG;IAClD,KAAK,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAClC,MAAM,EAAE;QAAE,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC;IAC/B,oBAAoB,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAClD,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;IACpC,eAAe,EAAE,aAAa,GAAG,IAAI,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,YAAY,EAAE,MAAM,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACvD,gBAAgB,EAAE,CAChB,IAAI,EAAE,KAAK,CAAC;QAAE,UAAU,EAAE,oBAAoB,CAAA;KAAE,CAAC,KAC9C,WAAW,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC;IACnD,kBAAkB,EAAE,CAClB,IAAI,EAAE,KAAK,CAAC;QACV,UAAU,EAAE,oBAAoB,CAAC;QACjC,aAAa,EAAE,aAAa,CAAC;KAC9B,CAAC,KACC,WAAW,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC;IACnD,YAAY,EAAE,CACZ,IAAI,EAAE,KAAK,CAAC;QACV,UAAU,EAAE,oBAAoB,CAAC;QACjC,aAAa,EAAE,aAAa,CAAC;KAC9B,CAAC,KACC,UAAU,CAAC,kBAAkB,CAAC,CAAC;IACpC,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;IAChD,qBAAqB,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,kBAAkB,CAAC;CAC1E,CAAC"}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import { type InternalApi } from "../../../device-action/DeviceAction";
|
2
|
+
import { type DeviceActionStateMachine, XStateDeviceAction } from "../../../device-action/xstate-utils/XStateDeviceAction";
|
3
|
+
import { type ListInstalledAppsDAError, type ListInstalledAppsDAInput, type ListInstalledAppsDAIntermediateValue, type ListInstalledAppsDAOutput, type ListInstalledAppsStateMachineInternalState } from "./types";
|
4
|
+
export declare class ListInstalledAppsDeviceAction extends XStateDeviceAction<ListInstalledAppsDAOutput, ListInstalledAppsDAInput, ListInstalledAppsDAError, ListInstalledAppsDAIntermediateValue, ListInstalledAppsStateMachineInternalState> {
|
5
|
+
protected makeStateMachine(internalApi: InternalApi): DeviceActionStateMachine<ListInstalledAppsDAOutput, ListInstalledAppsDAInput, ListInstalledAppsDAError, ListInstalledAppsDAIntermediateValue, ListInstalledAppsStateMachineInternalState>;
|
6
|
+
private extractDependencies;
|
7
|
+
}
|
8
|
+
//# sourceMappingURL=ListInstalledAppsDeviceAction.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"ListInstalledAppsDeviceAction.d.ts","sourceRoot":"","sources":["../../../../../../../src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAKnE,OAAO,EACL,KAAK,wBAAwB,EAC7B,kBAAkB,EACnB,MAAM,oDAAoD,CAAC;AAU5D,OAAO,EAGL,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC7B,KAAK,oCAAoC,EACzC,KAAK,yBAAyB,EAC9B,KAAK,0CAA0C,EAEhD,MAAM,SAAS,CAAC;AAEjB,qBAAa,6BAA8B,SAAQ,kBAAkB,CACnE,yBAAyB,EACzB,wBAAwB,EACxB,wBAAwB,EACxB,oCAAoC,EACpC,0CAA0C,CAC3C;cACoB,gBAAgB,CACjC,WAAW,EAAE,WAAW,GACvB,wBAAwB,CACzB,yBAAyB,EACzB,wBAAwB,EACxB,wBAAwB,EACxB,oCAAoC,EACpC,0CAA0C,CAC3C;IA4VD,OAAO,CAAC,mBAAmB;CAoD5B"}
|
@@ -0,0 +1 @@
|
|
1
|
+
//# sourceMappingURL=ListInstalledAppsDeviceAction.test.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"ListInstalledAppsDeviceAction.test.d.ts","sourceRoot":"","sources":["../../../../../../../src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.test.ts"],"names":[],"mappings":""}
|