@ledgerhq/device-signer-kit-ethereum 1.1.0 → 1.2.0
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/README.md +162 -371
- package/lib/cjs/api/SignerEth.js +1 -1
- package/lib/cjs/api/SignerEth.js.map +1 -1
- package/lib/cjs/api/SignerEthBuilder.test.js +1 -1
- package/lib/cjs/api/SignerEthBuilder.test.js.map +1 -1
- package/lib/cjs/api/app-binder/GetAddressDeviceActionTypes.js +1 -1
- package/lib/cjs/api/app-binder/GetAddressDeviceActionTypes.js.map +1 -1
- package/lib/cjs/api/app-binder/SignPersonalMessageDeviceActionTypes.js +1 -1
- package/lib/cjs/api/app-binder/SignPersonalMessageDeviceActionTypes.js.map +1 -1
- package/lib/cjs/api/app-binder/SignTransactionDeviceActionTypes.js +1 -1
- package/lib/cjs/api/app-binder/SignTransactionDeviceActionTypes.js.map +1 -1
- package/lib/cjs/api/app-binder/SignTypedDataDeviceActionTypes.js +1 -1
- package/lib/cjs/api/app-binder/SignTypedDataDeviceActionTypes.js.map +1 -1
- package/lib/cjs/api/index.js +1 -1
- package/lib/cjs/api/index.js.map +2 -2
- package/lib/cjs/api/model/TransactionType.js +2 -0
- package/lib/cjs/api/model/TransactionType.js.map +7 -0
- package/lib/cjs/internal/DefaultSignerEth.js +1 -1
- package/lib/cjs/internal/DefaultSignerEth.js.map +2 -2
- package/lib/cjs/internal/DefaultSignerEth.test.js +1 -1
- package/lib/cjs/internal/DefaultSignerEth.test.js.map +2 -2
- package/lib/cjs/internal/address/use-case/GetAddressUseCase.test.js +1 -1
- package/lib/cjs/internal/address/use-case/GetAddressUseCase.test.js.map +2 -2
- package/lib/cjs/internal/app-binder/EthAppBinder.js +1 -1
- package/lib/cjs/internal/app-binder/EthAppBinder.js.map +3 -3
- package/lib/cjs/internal/app-binder/EthAppBinder.test.js +1 -1
- package/lib/cjs/internal/app-binder/EthAppBinder.test.js.map +3 -3
- package/lib/cjs/internal/app-binder/command/GetAddressCommand.js +1 -1
- package/lib/cjs/internal/app-binder/command/GetAddressCommand.js.map +3 -3
- package/lib/cjs/internal/app-binder/command/GetAddressCommand.test.js +1 -1
- package/lib/cjs/internal/app-binder/command/GetAddressCommand.test.js.map +2 -2
- package/lib/cjs/internal/app-binder/command/GetChallengeCommand.js +1 -1
- package/lib/cjs/internal/app-binder/command/GetChallengeCommand.js.map +3 -3
- package/lib/cjs/internal/app-binder/command/GetChallengeCommand.test.js +1 -1
- package/lib/cjs/internal/app-binder/command/GetChallengeCommand.test.js.map +2 -2
- package/lib/cjs/internal/app-binder/command/ProvideEnumCommand.js +1 -1
- package/lib/cjs/internal/app-binder/command/ProvideEnumCommand.js.map +3 -3
- package/lib/cjs/internal/app-binder/command/ProvideEnumCommand.test.js +1 -1
- package/lib/cjs/internal/app-binder/command/ProvideEnumCommand.test.js.map +3 -3
- package/lib/cjs/internal/app-binder/command/ProvideNFTInformationCommand.js +1 -1
- package/lib/cjs/internal/app-binder/command/ProvideNFTInformationCommand.js.map +3 -3
- package/lib/cjs/internal/app-binder/command/ProvideTokenInformationCommand.js +1 -1
- package/lib/cjs/internal/app-binder/command/ProvideTokenInformationCommand.js.map +3 -3
- package/lib/cjs/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.js +1 -1
- package/lib/cjs/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.js.map +3 -3
- package/lib/cjs/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.test.js +1 -1
- package/lib/cjs/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.test.js.map +3 -3
- package/lib/cjs/internal/app-binder/command/ProvideTransactionInformationCommand.js +1 -1
- package/lib/cjs/internal/app-binder/command/ProvideTransactionInformationCommand.js.map +3 -3
- package/lib/cjs/internal/app-binder/command/ProvideTransactionInformationCommand.test.js +1 -1
- package/lib/cjs/internal/app-binder/command/ProvideTransactionInformationCommand.test.js.map +3 -3
- package/lib/cjs/internal/app-binder/command/ProvideTrustedNameCommand.js +1 -1
- package/lib/cjs/internal/app-binder/command/ProvideTrustedNameCommand.js.map +3 -3
- package/lib/cjs/internal/app-binder/command/SendEIP712FilteringCommand.js +1 -1
- package/lib/cjs/internal/app-binder/command/SendEIP712FilteringCommand.js.map +3 -3
- package/lib/cjs/internal/app-binder/command/SendEIP712StructDefinitionCommand.js +1 -1
- package/lib/cjs/internal/app-binder/command/SendEIP712StructDefinitionCommand.js.map +3 -3
- package/lib/cjs/internal/app-binder/command/SendEIP712StructDefinitionCommand.test.js +1 -1
- package/lib/cjs/internal/app-binder/command/SendEIP712StructDefinitionCommand.test.js.map +2 -2
- package/lib/cjs/internal/app-binder/command/SendEIP712StructImplemCommand.js +1 -1
- package/lib/cjs/internal/app-binder/command/SendEIP712StructImplemCommand.js.map +3 -3
- package/lib/cjs/internal/app-binder/command/SetExternalPluginCommand.js +1 -1
- package/lib/cjs/internal/app-binder/command/SetExternalPluginCommand.js.map +3 -3
- package/lib/cjs/internal/app-binder/command/SetExternalPluginCommand.test.js +2 -2
- package/lib/cjs/internal/app-binder/command/SetExternalPluginCommand.test.js.map +3 -3
- package/lib/cjs/internal/app-binder/command/SetPluginCommand.js +1 -1
- package/lib/cjs/internal/app-binder/command/SetPluginCommand.js.map +3 -3
- package/lib/cjs/internal/app-binder/command/SetPluginCommand.test.js +2 -2
- package/lib/cjs/internal/app-binder/command/SetPluginCommand.test.js.map +3 -3
- package/lib/cjs/internal/app-binder/command/SignEIP712Command.js +1 -1
- package/lib/cjs/internal/app-binder/command/SignEIP712Command.js.map +3 -3
- package/lib/cjs/internal/app-binder/command/SignEIP712Command.test.js +1 -1
- package/lib/cjs/internal/app-binder/command/SignEIP712Command.test.js.map +2 -2
- package/lib/cjs/internal/app-binder/command/SignPersonalMessageCommand.js +1 -1
- package/lib/cjs/internal/app-binder/command/SignPersonalMessageCommand.js.map +3 -3
- package/lib/cjs/internal/app-binder/command/SignTransactionCommand.js +1 -1
- package/lib/cjs/internal/app-binder/command/SignTransactionCommand.js.map +3 -3
- package/lib/cjs/internal/app-binder/command/SignTransactionCommand.test.js +1 -1
- package/lib/cjs/internal/app-binder/command/SignTransactionCommand.test.js.map +2 -2
- package/lib/cjs/internal/app-binder/command/StartTransactionCommand.js +1 -1
- package/lib/cjs/internal/app-binder/command/StartTransactionCommand.js.map +3 -3
- package/lib/cjs/internal/app-binder/command/StartTransactionCommand.test.js +1 -1
- package/lib/cjs/internal/app-binder/command/StartTransactionCommand.test.js.map +3 -3
- package/lib/cjs/internal/app-binder/command/StoreTransactionCommand.js +1 -1
- package/lib/cjs/internal/app-binder/command/StoreTransactionCommand.js.map +3 -3
- package/lib/cjs/internal/app-binder/command/StoreTransactionCommand.test.js +1 -1
- package/lib/cjs/internal/app-binder/command/StoreTransactionCommand.test.js.map +3 -3
- package/lib/cjs/internal/app-binder/command/utils/ethAppErrors.js +2 -0
- package/lib/cjs/internal/app-binder/command/utils/ethAppErrors.js.map +7 -0
- package/lib/cjs/internal/app-binder/command/utils/ethAppErrors.test.js +2 -0
- package/lib/cjs/internal/app-binder/command/utils/ethAppErrors.test.js.map +7 -0
- package/lib/cjs/internal/app-binder/constant/plugins.js +2 -0
- package/lib/cjs/internal/app-binder/constant/plugins.js.map +7 -0
- package/lib/cjs/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.js +1 -1
- package/lib/cjs/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.js.map +3 -3
- package/lib/cjs/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.js +1 -1
- package/lib/cjs/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.js.map +3 -3
- package/lib/cjs/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.js +1 -1
- package/lib/cjs/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.js.map +3 -3
- package/lib/cjs/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.test.js +1 -1
- package/lib/cjs/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.test.js.map +3 -3
- package/lib/cjs/internal/app-binder/device-action/__test-utils__/makeInternalApi.js +1 -1
- package/lib/cjs/internal/app-binder/device-action/__test-utils__/makeInternalApi.js.map +3 -3
- package/lib/cjs/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.js +1 -1
- package/lib/cjs/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.js.map +2 -2
- package/lib/cjs/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.js +1 -1
- package/lib/cjs/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.js.map +3 -3
- package/lib/cjs/internal/app-binder/task/BuildEIP712ContextTask.js +1 -1
- package/lib/cjs/internal/app-binder/task/BuildEIP712ContextTask.js.map +3 -3
- package/lib/cjs/internal/app-binder/task/BuildEIP712ContextTask.test.js +1 -1
- package/lib/cjs/internal/app-binder/task/BuildEIP712ContextTask.test.js.map +3 -3
- package/lib/cjs/internal/app-binder/task/BuildTransactionContextTask.js +1 -1
- package/lib/cjs/internal/app-binder/task/BuildTransactionContextTask.js.map +3 -3
- package/lib/cjs/internal/app-binder/task/BuildTransactionContextTask.test.js +1 -1
- package/lib/cjs/internal/app-binder/task/BuildTransactionContextTask.test.js.map +3 -3
- package/lib/cjs/internal/app-binder/task/ProvideEIP712ContextTask.js +1 -1
- package/lib/cjs/internal/app-binder/task/ProvideEIP712ContextTask.js.map +3 -3
- package/lib/cjs/internal/app-binder/task/ProvideEIP712ContextTask.test.js +1 -1
- package/lib/cjs/internal/app-binder/task/ProvideEIP712ContextTask.test.js.map +2 -2
- package/lib/cjs/internal/app-binder/task/ProvideTransactionContextTask.js +1 -1
- package/lib/cjs/internal/app-binder/task/ProvideTransactionContextTask.js.map +2 -2
- package/lib/cjs/internal/app-binder/task/ProvideTransactionContextTask.test.js +1 -1
- package/lib/cjs/internal/app-binder/task/ProvideTransactionContextTask.test.js.map +2 -2
- package/lib/cjs/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.js +1 -1
- package/lib/cjs/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.js.map +3 -3
- package/lib/cjs/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.test.js +1 -1
- package/lib/cjs/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.test.js.map +3 -3
- package/lib/cjs/internal/app-binder/task/ProvideTransactionGenericContextTask.js +1 -1
- package/lib/cjs/internal/app-binder/task/ProvideTransactionGenericContextTask.js.map +3 -3
- package/lib/cjs/internal/app-binder/task/ProvideTransactionGenericContextTask.test.js +1 -1
- package/lib/cjs/internal/app-binder/task/ProvideTransactionGenericContextTask.test.js.map +3 -3
- package/lib/cjs/internal/app-binder/task/SendCommandInChunksTask.js +1 -1
- package/lib/cjs/internal/app-binder/task/SendCommandInChunksTask.js.map +2 -2
- package/lib/cjs/internal/app-binder/task/SendEIP712StructImplemTask.js +1 -1
- package/lib/cjs/internal/app-binder/task/SendEIP712StructImplemTask.js.map +2 -2
- package/lib/cjs/internal/app-binder/task/SendEIP712StructImplemTask.test.js +1 -1
- package/lib/cjs/internal/app-binder/task/SendEIP712StructImplemTask.test.js.map +2 -2
- package/lib/cjs/internal/app-binder/task/SendPayloadInChunksTask.js +1 -1
- package/lib/cjs/internal/app-binder/task/SendPayloadInChunksTask.js.map +2 -2
- package/lib/cjs/internal/app-binder/task/SendPayloadInChunksTask.test.js +1 -1
- package/lib/cjs/internal/app-binder/task/SendPayloadInChunksTask.test.js.map +2 -2
- package/lib/cjs/internal/app-binder/task/SendSignPersonalMessageTask.js +1 -1
- package/lib/cjs/internal/app-binder/task/SendSignPersonalMessageTask.js.map +2 -2
- package/lib/cjs/internal/app-binder/task/SendSignPersonalMessageTask.test.js +1 -1
- package/lib/cjs/internal/app-binder/task/SendSignPersonalMessageTask.test.js.map +2 -2
- package/lib/cjs/internal/app-binder/task/SendSignTransactionTask.js +1 -1
- package/lib/cjs/internal/app-binder/task/SendSignTransactionTask.js.map +3 -3
- package/lib/cjs/internal/app-binder/task/SendSignTransactionTask.test.js +1 -1
- package/lib/cjs/internal/app-binder/task/SendSignTransactionTask.test.js.map +3 -3
- package/lib/cjs/internal/message/use-case/SignMessageUseCase.test.js +1 -1
- package/lib/cjs/internal/message/use-case/SignMessageUseCase.test.js.map +2 -2
- package/lib/cjs/internal/transaction/di/transactionModule.js +1 -1
- package/lib/cjs/internal/transaction/di/transactionModule.js.map +3 -3
- package/lib/cjs/internal/transaction/di/transactionModule.test.js +1 -1
- package/lib/cjs/internal/transaction/di/transactionModule.test.js.map +2 -2
- package/lib/cjs/internal/transaction/service/mapper/EthersRawTransactionMapper.js +2 -0
- package/lib/cjs/internal/transaction/service/mapper/EthersRawTransactionMapper.js.map +7 -0
- package/lib/cjs/internal/transaction/service/mapper/EthersRawTransactionMapper.test.js +2 -0
- package/lib/cjs/internal/transaction/service/mapper/EthersRawTransactionMapper.test.js.map +7 -0
- package/lib/cjs/internal/transaction/service/mapper/TransactionMapper.js +1 -1
- package/lib/cjs/internal/transaction/service/mapper/TransactionMapper.js.map +1 -1
- package/lib/cjs/internal/transaction/service/mapper/TransactionMapperService.js +1 -1
- package/lib/cjs/internal/transaction/service/mapper/TransactionMapperService.js.map +2 -2
- package/lib/cjs/internal/transaction/service/mapper/TransactionMapperService.test.js +1 -1
- package/lib/cjs/internal/transaction/service/mapper/TransactionMapperService.test.js.map +2 -2
- package/lib/cjs/internal/transaction/service/mapper/model/TransactionMapperResult.js +1 -1
- package/lib/cjs/internal/transaction/service/mapper/model/TransactionMapperResult.js.map +1 -1
- package/lib/cjs/internal/transaction/service/parser/TransactionParserService.js +1 -1
- package/lib/cjs/internal/transaction/service/parser/TransactionParserService.js.map +3 -3
- package/lib/cjs/internal/transaction/service/parser/TransactionParserService.test.js +1 -1
- package/lib/cjs/internal/transaction/service/parser/TransactionParserService.test.js.map +3 -3
- package/lib/cjs/internal/transaction/use-case/SignTransactionUseCase.js +1 -1
- package/lib/cjs/internal/transaction/use-case/SignTransactionUseCase.js.map +2 -2
- package/lib/cjs/internal/transaction/use-case/SignTransactionUseCase.test.js +1 -1
- package/lib/cjs/internal/transaction/use-case/SignTransactionUseCase.test.js.map +3 -3
- package/lib/cjs/internal/typed-data/use-case/SignTypedDataUseCase.test.js +1 -1
- package/lib/cjs/internal/typed-data/use-case/SignTypedDataUseCase.test.js.map +2 -2
- package/lib/cjs/package.json +12 -12
- package/lib/esm/api/SignerEthBuilder.test.js +1 -1
- package/lib/esm/api/SignerEthBuilder.test.js.map +1 -1
- package/lib/esm/api/index.js +1 -1
- package/lib/esm/api/index.js.map +2 -2
- package/lib/esm/api/model/TransactionType.js +2 -0
- package/lib/esm/api/model/TransactionType.js.map +7 -0
- package/lib/esm/internal/DefaultSignerEth.js.map +2 -2
- package/lib/esm/internal/DefaultSignerEth.test.js +1 -1
- package/lib/esm/internal/DefaultSignerEth.test.js.map +2 -2
- package/lib/esm/internal/address/use-case/GetAddressUseCase.test.js +1 -1
- package/lib/esm/internal/address/use-case/GetAddressUseCase.test.js.map +2 -2
- package/lib/esm/internal/app-binder/EthAppBinder.js +1 -1
- package/lib/esm/internal/app-binder/EthAppBinder.js.map +3 -3
- package/lib/esm/internal/app-binder/EthAppBinder.test.js +1 -1
- package/lib/esm/internal/app-binder/EthAppBinder.test.js.map +3 -3
- package/lib/esm/internal/app-binder/command/GetAddressCommand.js +1 -1
- package/lib/esm/internal/app-binder/command/GetAddressCommand.js.map +3 -3
- package/lib/esm/internal/app-binder/command/GetAddressCommand.test.js +1 -1
- package/lib/esm/internal/app-binder/command/GetAddressCommand.test.js.map +2 -2
- package/lib/esm/internal/app-binder/command/GetChallengeCommand.js +1 -1
- package/lib/esm/internal/app-binder/command/GetChallengeCommand.js.map +3 -3
- package/lib/esm/internal/app-binder/command/GetChallengeCommand.test.js +1 -1
- package/lib/esm/internal/app-binder/command/GetChallengeCommand.test.js.map +2 -2
- package/lib/esm/internal/app-binder/command/ProvideEnumCommand.js +1 -1
- package/lib/esm/internal/app-binder/command/ProvideEnumCommand.js.map +3 -3
- package/lib/esm/internal/app-binder/command/ProvideEnumCommand.test.js +1 -1
- package/lib/esm/internal/app-binder/command/ProvideEnumCommand.test.js.map +3 -3
- package/lib/esm/internal/app-binder/command/ProvideNFTInformationCommand.js +1 -1
- package/lib/esm/internal/app-binder/command/ProvideNFTInformationCommand.js.map +3 -3
- package/lib/esm/internal/app-binder/command/ProvideTokenInformationCommand.js +1 -1
- package/lib/esm/internal/app-binder/command/ProvideTokenInformationCommand.js.map +3 -3
- package/lib/esm/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.js +1 -1
- package/lib/esm/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.js.map +3 -3
- package/lib/esm/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.test.js +1 -1
- package/lib/esm/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.test.js.map +3 -3
- package/lib/esm/internal/app-binder/command/ProvideTransactionInformationCommand.js +1 -1
- package/lib/esm/internal/app-binder/command/ProvideTransactionInformationCommand.js.map +3 -3
- package/lib/esm/internal/app-binder/command/ProvideTransactionInformationCommand.test.js +1 -1
- package/lib/esm/internal/app-binder/command/ProvideTransactionInformationCommand.test.js.map +3 -3
- package/lib/esm/internal/app-binder/command/ProvideTrustedNameCommand.js +1 -1
- package/lib/esm/internal/app-binder/command/ProvideTrustedNameCommand.js.map +3 -3
- package/lib/esm/internal/app-binder/command/SendEIP712FilteringCommand.js +1 -1
- package/lib/esm/internal/app-binder/command/SendEIP712FilteringCommand.js.map +3 -3
- package/lib/esm/internal/app-binder/command/SendEIP712StructDefinitionCommand.js +1 -1
- package/lib/esm/internal/app-binder/command/SendEIP712StructDefinitionCommand.js.map +3 -3
- package/lib/esm/internal/app-binder/command/SendEIP712StructDefinitionCommand.test.js +1 -1
- package/lib/esm/internal/app-binder/command/SendEIP712StructDefinitionCommand.test.js.map +2 -2
- package/lib/esm/internal/app-binder/command/SendEIP712StructImplemCommand.js +1 -1
- package/lib/esm/internal/app-binder/command/SendEIP712StructImplemCommand.js.map +3 -3
- package/lib/esm/internal/app-binder/command/SetExternalPluginCommand.js +1 -1
- package/lib/esm/internal/app-binder/command/SetExternalPluginCommand.js.map +3 -3
- package/lib/esm/internal/app-binder/command/SetExternalPluginCommand.test.js +2 -2
- package/lib/esm/internal/app-binder/command/SetExternalPluginCommand.test.js.map +3 -3
- package/lib/esm/internal/app-binder/command/SetPluginCommand.js +1 -1
- package/lib/esm/internal/app-binder/command/SetPluginCommand.js.map +3 -3
- package/lib/esm/internal/app-binder/command/SetPluginCommand.test.js +1 -1
- package/lib/esm/internal/app-binder/command/SetPluginCommand.test.js.map +3 -3
- package/lib/esm/internal/app-binder/command/SignEIP712Command.js +1 -1
- package/lib/esm/internal/app-binder/command/SignEIP712Command.js.map +3 -3
- package/lib/esm/internal/app-binder/command/SignEIP712Command.test.js +1 -1
- package/lib/esm/internal/app-binder/command/SignEIP712Command.test.js.map +2 -2
- package/lib/esm/internal/app-binder/command/SignPersonalMessageCommand.js +1 -1
- package/lib/esm/internal/app-binder/command/SignPersonalMessageCommand.js.map +3 -3
- package/lib/esm/internal/app-binder/command/SignTransactionCommand.js +1 -1
- package/lib/esm/internal/app-binder/command/SignTransactionCommand.js.map +3 -3
- package/lib/esm/internal/app-binder/command/SignTransactionCommand.test.js +1 -1
- package/lib/esm/internal/app-binder/command/SignTransactionCommand.test.js.map +2 -2
- package/lib/esm/internal/app-binder/command/StartTransactionCommand.js +1 -1
- package/lib/esm/internal/app-binder/command/StartTransactionCommand.js.map +3 -3
- package/lib/esm/internal/app-binder/command/StartTransactionCommand.test.js +1 -1
- package/lib/esm/internal/app-binder/command/StartTransactionCommand.test.js.map +3 -3
- package/lib/esm/internal/app-binder/command/StoreTransactionCommand.js +1 -1
- package/lib/esm/internal/app-binder/command/StoreTransactionCommand.js.map +3 -3
- package/lib/esm/internal/app-binder/command/StoreTransactionCommand.test.js +1 -1
- package/lib/esm/internal/app-binder/command/StoreTransactionCommand.test.js.map +3 -3
- package/lib/esm/internal/app-binder/command/utils/ethAppErrors.js +2 -0
- package/lib/esm/internal/app-binder/command/utils/ethAppErrors.js.map +7 -0
- package/lib/esm/internal/app-binder/command/utils/ethAppErrors.test.js +2 -0
- package/lib/esm/internal/app-binder/command/utils/ethAppErrors.test.js.map +7 -0
- package/lib/esm/internal/app-binder/constant/plugins.js +2 -0
- package/lib/esm/internal/app-binder/constant/plugins.js.map +7 -0
- package/lib/esm/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.js +1 -1
- package/lib/esm/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.js.map +3 -3
- package/lib/esm/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.js +1 -1
- package/lib/esm/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.js.map +3 -3
- package/lib/esm/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.js +1 -1
- package/lib/esm/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.js.map +3 -3
- package/lib/esm/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.test.js +1 -1
- package/lib/esm/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.test.js.map +3 -3
- package/lib/esm/internal/app-binder/device-action/__test-utils__/makeInternalApi.js +1 -1
- package/lib/esm/internal/app-binder/device-action/__test-utils__/makeInternalApi.js.map +3 -3
- package/lib/esm/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.js +1 -1
- package/lib/esm/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.js.map +2 -2
- package/lib/esm/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.js +1 -1
- package/lib/esm/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.js.map +3 -3
- package/lib/esm/internal/app-binder/task/BuildEIP712ContextTask.js +1 -1
- package/lib/esm/internal/app-binder/task/BuildEIP712ContextTask.js.map +3 -3
- package/lib/esm/internal/app-binder/task/BuildEIP712ContextTask.test.js +1 -1
- package/lib/esm/internal/app-binder/task/BuildEIP712ContextTask.test.js.map +3 -3
- package/lib/esm/internal/app-binder/task/BuildTransactionContextTask.js +1 -1
- package/lib/esm/internal/app-binder/task/BuildTransactionContextTask.js.map +3 -3
- package/lib/esm/internal/app-binder/task/BuildTransactionContextTask.test.js +1 -1
- package/lib/esm/internal/app-binder/task/BuildTransactionContextTask.test.js.map +3 -3
- package/lib/esm/internal/app-binder/task/ProvideEIP712ContextTask.js +1 -1
- package/lib/esm/internal/app-binder/task/ProvideEIP712ContextTask.js.map +3 -3
- package/lib/esm/internal/app-binder/task/ProvideEIP712ContextTask.test.js +1 -1
- package/lib/esm/internal/app-binder/task/ProvideEIP712ContextTask.test.js.map +2 -2
- package/lib/esm/internal/app-binder/task/ProvideTransactionContextTask.js +1 -1
- package/lib/esm/internal/app-binder/task/ProvideTransactionContextTask.js.map +2 -2
- package/lib/esm/internal/app-binder/task/ProvideTransactionContextTask.test.js +1 -1
- package/lib/esm/internal/app-binder/task/ProvideTransactionContextTask.test.js.map +2 -2
- package/lib/esm/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.js +1 -1
- package/lib/esm/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.js.map +3 -3
- package/lib/esm/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.test.js +1 -1
- package/lib/esm/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.test.js.map +3 -3
- package/lib/esm/internal/app-binder/task/ProvideTransactionGenericContextTask.js +1 -1
- package/lib/esm/internal/app-binder/task/ProvideTransactionGenericContextTask.js.map +3 -3
- package/lib/esm/internal/app-binder/task/ProvideTransactionGenericContextTask.test.js +1 -1
- package/lib/esm/internal/app-binder/task/ProvideTransactionGenericContextTask.test.js.map +3 -3
- package/lib/esm/internal/app-binder/task/SendCommandInChunksTask.js +1 -1
- package/lib/esm/internal/app-binder/task/SendCommandInChunksTask.js.map +2 -2
- package/lib/esm/internal/app-binder/task/SendEIP712StructImplemTask.js +1 -1
- package/lib/esm/internal/app-binder/task/SendEIP712StructImplemTask.js.map +2 -2
- package/lib/esm/internal/app-binder/task/SendEIP712StructImplemTask.test.js +1 -1
- package/lib/esm/internal/app-binder/task/SendEIP712StructImplemTask.test.js.map +2 -2
- package/lib/esm/internal/app-binder/task/SendPayloadInChunksTask.js +1 -1
- package/lib/esm/internal/app-binder/task/SendPayloadInChunksTask.js.map +2 -2
- package/lib/esm/internal/app-binder/task/SendPayloadInChunksTask.test.js +1 -1
- package/lib/esm/internal/app-binder/task/SendPayloadInChunksTask.test.js.map +2 -2
- package/lib/esm/internal/app-binder/task/SendSignPersonalMessageTask.js +1 -1
- package/lib/esm/internal/app-binder/task/SendSignPersonalMessageTask.js.map +2 -2
- package/lib/esm/internal/app-binder/task/SendSignPersonalMessageTask.test.js +1 -1
- package/lib/esm/internal/app-binder/task/SendSignPersonalMessageTask.test.js.map +2 -2
- package/lib/esm/internal/app-binder/task/SendSignTransactionTask.js +1 -1
- package/lib/esm/internal/app-binder/task/SendSignTransactionTask.js.map +3 -3
- package/lib/esm/internal/app-binder/task/SendSignTransactionTask.test.js +1 -1
- package/lib/esm/internal/app-binder/task/SendSignTransactionTask.test.js.map +2 -2
- package/lib/esm/internal/message/use-case/SignMessageUseCase.test.js +1 -1
- package/lib/esm/internal/message/use-case/SignMessageUseCase.test.js.map +2 -2
- package/lib/esm/internal/transaction/di/transactionModule.js +1 -1
- package/lib/esm/internal/transaction/di/transactionModule.js.map +3 -3
- package/lib/esm/internal/transaction/di/transactionModule.test.js +1 -1
- package/lib/esm/internal/transaction/di/transactionModule.test.js.map +2 -2
- package/lib/esm/internal/transaction/service/mapper/EthersRawTransactionMapper.js +2 -0
- package/lib/esm/internal/transaction/service/mapper/EthersRawTransactionMapper.js.map +7 -0
- package/lib/esm/internal/transaction/service/mapper/EthersRawTransactionMapper.test.js +2 -0
- package/lib/esm/internal/transaction/service/mapper/EthersRawTransactionMapper.test.js.map +7 -0
- package/lib/esm/internal/transaction/service/mapper/TransactionMapperService.js +1 -1
- package/lib/esm/internal/transaction/service/mapper/TransactionMapperService.js.map +2 -2
- package/lib/esm/internal/transaction/service/mapper/TransactionMapperService.test.js +1 -1
- package/lib/esm/internal/transaction/service/mapper/TransactionMapperService.test.js.map +2 -2
- package/lib/esm/internal/transaction/service/parser/TransactionParserService.js +1 -1
- package/lib/esm/internal/transaction/service/parser/TransactionParserService.js.map +2 -2
- package/lib/esm/internal/transaction/service/parser/TransactionParserService.test.js +1 -1
- package/lib/esm/internal/transaction/service/parser/TransactionParserService.test.js.map +2 -2
- package/lib/esm/internal/transaction/use-case/SignTransactionUseCase.js +1 -1
- package/lib/esm/internal/transaction/use-case/SignTransactionUseCase.js.map +2 -2
- package/lib/esm/internal/transaction/use-case/SignTransactionUseCase.test.js +1 -1
- package/lib/esm/internal/transaction/use-case/SignTransactionUseCase.test.js.map +3 -3
- package/lib/esm/internal/typed-data/use-case/SignTypedDataUseCase.test.js +1 -1
- package/lib/esm/internal/typed-data/use-case/SignTypedDataUseCase.test.js.map +2 -2
- package/lib/esm/package.json +12 -12
- package/lib/types/api/SignerEth.d.ts +1 -2
- package/lib/types/api/SignerEth.d.ts.map +1 -1
- package/lib/types/api/app-binder/GetAddressDeviceActionTypes.d.ts +3 -2
- package/lib/types/api/app-binder/GetAddressDeviceActionTypes.d.ts.map +1 -1
- package/lib/types/api/app-binder/SignPersonalMessageDeviceActionTypes.d.ts +3 -11
- package/lib/types/api/app-binder/SignPersonalMessageDeviceActionTypes.d.ts.map +1 -1
- package/lib/types/api/app-binder/SignTransactionDeviceActionTypes.d.ts +4 -4
- package/lib/types/api/app-binder/SignTransactionDeviceActionTypes.d.ts.map +1 -1
- package/lib/types/api/app-binder/SignTypedDataDeviceActionTypes.d.ts +3 -2
- package/lib/types/api/app-binder/SignTypedDataDeviceActionTypes.d.ts.map +1 -1
- package/lib/types/api/index.d.ts +2 -2
- package/lib/types/api/index.d.ts.map +1 -1
- package/lib/types/api/model/{Transaction.d.ts → TransactionType.d.ts} +1 -4
- package/lib/types/api/model/TransactionType.d.ts.map +1 -0
- package/lib/types/internal/DefaultSignerEth.d.ts +1 -2
- package/lib/types/internal/DefaultSignerEth.d.ts.map +1 -1
- package/lib/types/internal/app-binder/EthAppBinder.d.ts +1 -2
- package/lib/types/internal/app-binder/EthAppBinder.d.ts.map +1 -1
- package/lib/types/internal/app-binder/command/GetAddressCommand.d.ts +5 -3
- package/lib/types/internal/app-binder/command/GetAddressCommand.d.ts.map +1 -1
- package/lib/types/internal/app-binder/command/GetChallengeCommand.d.ts +4 -2
- package/lib/types/internal/app-binder/command/GetChallengeCommand.d.ts.map +1 -1
- package/lib/types/internal/app-binder/command/ProvideEnumCommand.d.ts +4 -2
- package/lib/types/internal/app-binder/command/ProvideEnumCommand.d.ts.map +1 -1
- package/lib/types/internal/app-binder/command/ProvideNFTInformationCommand.d.ts +4 -3
- package/lib/types/internal/app-binder/command/ProvideNFTInformationCommand.d.ts.map +1 -1
- package/lib/types/internal/app-binder/command/ProvideTokenInformationCommand.d.ts +4 -2
- package/lib/types/internal/app-binder/command/ProvideTokenInformationCommand.d.ts.map +1 -1
- package/lib/types/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.d.ts +4 -2
- package/lib/types/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.d.ts.map +1 -1
- package/lib/types/internal/app-binder/command/ProvideTransactionInformationCommand.d.ts +4 -2
- package/lib/types/internal/app-binder/command/ProvideTransactionInformationCommand.d.ts.map +1 -1
- package/lib/types/internal/app-binder/command/ProvideTrustedNameCommand.d.ts +4 -2
- package/lib/types/internal/app-binder/command/ProvideTrustedNameCommand.d.ts.map +1 -1
- package/lib/types/internal/app-binder/command/SendEIP712FilteringCommand.d.ts +4 -2
- package/lib/types/internal/app-binder/command/SendEIP712FilteringCommand.d.ts.map +1 -1
- package/lib/types/internal/app-binder/command/SendEIP712StructDefinitionCommand.d.ts +4 -2
- package/lib/types/internal/app-binder/command/SendEIP712StructDefinitionCommand.d.ts.map +1 -1
- package/lib/types/internal/app-binder/command/SendEIP712StructImplemCommand.d.ts +4 -2
- package/lib/types/internal/app-binder/command/SendEIP712StructImplemCommand.d.ts.map +1 -1
- package/lib/types/internal/app-binder/command/SetExternalPluginCommand.d.ts +5 -7
- package/lib/types/internal/app-binder/command/SetExternalPluginCommand.d.ts.map +1 -1
- package/lib/types/internal/app-binder/command/SetPluginCommand.d.ts +5 -7
- package/lib/types/internal/app-binder/command/SetPluginCommand.d.ts.map +1 -1
- package/lib/types/internal/app-binder/command/SignEIP712Command.d.ts +5 -3
- package/lib/types/internal/app-binder/command/SignEIP712Command.d.ts.map +1 -1
- package/lib/types/internal/app-binder/command/SignPersonalMessageCommand.d.ts +5 -3
- package/lib/types/internal/app-binder/command/SignPersonalMessageCommand.d.ts.map +1 -1
- package/lib/types/internal/app-binder/command/SignTransactionCommand.d.ts +5 -3
- package/lib/types/internal/app-binder/command/SignTransactionCommand.d.ts.map +1 -1
- package/lib/types/internal/app-binder/command/StartTransactionCommand.d.ts +4 -2
- package/lib/types/internal/app-binder/command/StartTransactionCommand.d.ts.map +1 -1
- package/lib/types/internal/app-binder/command/StoreTransactionCommand.d.ts +4 -2
- package/lib/types/internal/app-binder/command/StoreTransactionCommand.d.ts.map +1 -1
- package/lib/types/internal/app-binder/command/utils/ethAppErrors.d.ts +8 -0
- package/lib/types/internal/app-binder/command/utils/ethAppErrors.d.ts.map +1 -0
- package/lib/types/internal/app-binder/command/utils/ethAppErrors.test.d.ts +2 -0
- package/lib/types/internal/app-binder/command/utils/ethAppErrors.test.d.ts.map +1 -0
- package/lib/types/internal/app-binder/constant/plugins.d.ts +2 -0
- package/lib/types/internal/app-binder/constant/plugins.d.ts.map +1 -0
- package/lib/types/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.d.ts +9 -9
- package/lib/types/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.d.ts.map +1 -1
- package/lib/types/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.d.ts +11 -3
- package/lib/types/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.d.ts.map +1 -1
- package/lib/types/internal/app-binder/device-action/__test-utils__/makeInternalApi.d.ts +2 -1
- package/lib/types/internal/app-binder/device-action/__test-utils__/makeInternalApi.d.ts.map +1 -1
- package/lib/types/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.d.ts.map +1 -1
- package/lib/types/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.d.ts +5 -2
- package/lib/types/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.d.ts.map +1 -1
- package/lib/types/internal/app-binder/task/BuildEIP712ContextTask.d.ts.map +1 -1
- package/lib/types/internal/app-binder/task/BuildTransactionContextTask.d.ts +3 -3
- package/lib/types/internal/app-binder/task/BuildTransactionContextTask.d.ts.map +1 -1
- package/lib/types/internal/app-binder/task/ProvideEIP712ContextTask.d.ts +12 -5
- package/lib/types/internal/app-binder/task/ProvideEIP712ContextTask.d.ts.map +1 -1
- package/lib/types/internal/app-binder/task/ProvideTransactionContextTask.d.ts +3 -6
- package/lib/types/internal/app-binder/task/ProvideTransactionContextTask.d.ts.map +1 -1
- package/lib/types/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.d.ts +54 -12
- package/lib/types/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.d.ts.map +1 -1
- package/lib/types/internal/app-binder/task/ProvideTransactionGenericContextTask.d.ts +6 -6
- package/lib/types/internal/app-binder/task/ProvideTransactionGenericContextTask.d.ts.map +1 -1
- package/lib/types/internal/app-binder/task/SendCommandInChunksTask.d.ts +3 -2
- package/lib/types/internal/app-binder/task/SendCommandInChunksTask.d.ts.map +1 -1
- package/lib/types/internal/app-binder/task/SendEIP712StructImplemTask.d.ts +2 -1
- package/lib/types/internal/app-binder/task/SendEIP712StructImplemTask.d.ts.map +1 -1
- package/lib/types/internal/app-binder/task/SendPayloadInChunksTask.d.ts +2 -1
- package/lib/types/internal/app-binder/task/SendPayloadInChunksTask.d.ts.map +1 -1
- package/lib/types/internal/app-binder/task/SendSignPersonalMessageTask.d.ts +2 -1
- package/lib/types/internal/app-binder/task/SendSignPersonalMessageTask.d.ts.map +1 -1
- package/lib/types/internal/app-binder/task/SendSignTransactionTask.d.ts +3 -2
- package/lib/types/internal/app-binder/task/SendSignTransactionTask.d.ts.map +1 -1
- package/lib/types/internal/transaction/di/transactionModule.d.ts.map +1 -1
- package/lib/types/internal/transaction/service/mapper/EthersRawTransactionMapper.d.ts +7 -0
- package/lib/types/internal/transaction/service/mapper/EthersRawTransactionMapper.d.ts.map +1 -0
- package/lib/types/internal/transaction/service/mapper/EthersRawTransactionMapper.test.d.ts +2 -0
- package/lib/types/internal/transaction/service/mapper/EthersRawTransactionMapper.test.d.ts.map +1 -0
- package/lib/types/internal/transaction/service/mapper/TransactionMapper.d.ts +1 -2
- package/lib/types/internal/transaction/service/mapper/TransactionMapper.d.ts.map +1 -1
- package/lib/types/internal/transaction/service/mapper/TransactionMapperService.d.ts +1 -2
- package/lib/types/internal/transaction/service/mapper/TransactionMapperService.d.ts.map +1 -1
- package/lib/types/internal/transaction/service/mapper/model/TransactionMapperResult.d.ts +1 -1
- package/lib/types/internal/transaction/service/mapper/model/TransactionMapperResult.d.ts.map +1 -1
- package/lib/types/internal/transaction/service/parser/TransactionParserService.d.ts.map +1 -1
- package/lib/types/internal/transaction/use-case/SignTransactionUseCase.d.ts +1 -2
- package/lib/types/internal/transaction/use-case/SignTransactionUseCase.d.ts.map +1 -1
- package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
- package/package.json +14 -14
- package/lib/cjs/api/model/Transaction.js +0 -2
- package/lib/cjs/api/model/Transaction.js.map +0 -7
- package/lib/cjs/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.js +0 -2
- package/lib/cjs/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.js.map +0 -7
- package/lib/cjs/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.test.js +0 -2
- package/lib/cjs/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.test.js.map +0 -7
- package/lib/cjs/internal/transaction/service/mapper/EthersV5TransactionMapper.js +0 -2
- package/lib/cjs/internal/transaction/service/mapper/EthersV5TransactionMapper.js.map +0 -7
- package/lib/cjs/internal/transaction/service/mapper/EthersV5TransactionMapper.test.js +0 -2
- package/lib/cjs/internal/transaction/service/mapper/EthersV5TransactionMapper.test.js.map +0 -7
- package/lib/cjs/internal/transaction/service/mapper/EthersV6TransactionMapper.js +0 -2
- package/lib/cjs/internal/transaction/service/mapper/EthersV6TransactionMapper.js.map +0 -7
- package/lib/cjs/internal/transaction/service/mapper/EthersV6TransactionMapper.test.js +0 -2
- package/lib/cjs/internal/transaction/service/mapper/EthersV6TransactionMapper.test.js.map +0 -7
- package/lib/esm/api/model/Transaction.js +0 -2
- package/lib/esm/api/model/Transaction.js.map +0 -7
- package/lib/esm/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.js +0 -2
- package/lib/esm/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.js.map +0 -7
- package/lib/esm/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.test.js +0 -2
- package/lib/esm/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.test.js.map +0 -7
- package/lib/esm/internal/transaction/service/mapper/EthersV5TransactionMapper.js +0 -2
- package/lib/esm/internal/transaction/service/mapper/EthersV5TransactionMapper.js.map +0 -7
- package/lib/esm/internal/transaction/service/mapper/EthersV5TransactionMapper.test.js +0 -2
- package/lib/esm/internal/transaction/service/mapper/EthersV5TransactionMapper.test.js.map +0 -7
- package/lib/esm/internal/transaction/service/mapper/EthersV6TransactionMapper.js +0 -2
- package/lib/esm/internal/transaction/service/mapper/EthersV6TransactionMapper.js.map +0 -7
- package/lib/esm/internal/transaction/service/mapper/EthersV6TransactionMapper.test.js +0 -2
- package/lib/esm/internal/transaction/service/mapper/EthersV6TransactionMapper.test.js.map +0 -7
- package/lib/types/api/model/Transaction.d.ts.map +0 -1
- package/lib/types/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.d.ts +0 -17
- package/lib/types/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.d.ts.map +0 -1
- package/lib/types/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.test.d.ts +0 -2
- package/lib/types/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.test.d.ts.map +0 -1
- package/lib/types/internal/transaction/service/mapper/EthersV5TransactionMapper.d.ts +0 -10
- package/lib/types/internal/transaction/service/mapper/EthersV5TransactionMapper.d.ts.map +0 -1
- package/lib/types/internal/transaction/service/mapper/EthersV5TransactionMapper.test.d.ts +0 -2
- package/lib/types/internal/transaction/service/mapper/EthersV5TransactionMapper.test.d.ts.map +0 -1
- package/lib/types/internal/transaction/service/mapper/EthersV6TransactionMapper.d.ts +0 -9
- package/lib/types/internal/transaction/service/mapper/EthersV6TransactionMapper.d.ts.map +0 -1
- package/lib/types/internal/transaction/service/mapper/EthersV6TransactionMapper.test.d.ts +0 -2
- package/lib/types/internal/transaction/service/mapper/EthersV6TransactionMapper.test.d.ts.map +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.test.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n type ClearSignContextSuccess,\n ClearSignContextType,\n ContainerPath,\n type ContextModule,\n} from \"@ledgerhq/context-module\";\nimport {\n CommandResultFactory,\n type InternalApi,\n InvalidStatusWordError,\n} from \"@ledgerhq/device-management-kit\";\nimport { Left, Nothing, Right } from \"purify-ts\";\n\nimport { GetChallengeCommand } from \"@internal/app-binder/command/GetChallengeCommand\";\nimport { ProvideEnumCommand } from \"@internal/app-binder/command/ProvideEnumCommand\";\nimport { ProvideNFTInformationCommand } from \"@internal/app-binder/command/ProvideNFTInformationCommand\";\nimport { ProvideTokenInformationCommand } from \"@internal/app-binder/command/ProvideTokenInformationCommand\";\nimport { ProvideTransactionFieldDescriptionCommand } from \"@internal/app-binder/command/ProvideTransactionFieldDescriptionCommand\";\nimport { ProvideTrustedNameCommand } from \"@internal/app-binder/command/ProvideTrustedNameCommand\";\nimport { type TransactionParserService } from \"@internal/transaction/service/parser/TransactionParserService\";\n\nimport { ProvideTransactionFieldDescriptionTask } from \"./ProvideTransactionFieldDescriptionTask\";\n\ndescribe(\"ProvideTransactionFieldDescriptionTask\", () => {\n const transactionParserMock = {\n extractValue: jest.fn(),\n } as unknown as TransactionParserService;\n const contextModuleMock = {\n getContext: jest.fn(),\n } as unknown as ContextModule;\n const apiMock: InternalApi = {\n sendCommand: jest.fn(),\n } as unknown as InternalApi;\n\n beforeEach(() => {\n jest.clearAllMocks();\n });\n\n describe(\"should call the right provide command\", () => {\n it.each<{\n type: ClearSignContextSuccess[\"type\"];\n commandInstanceType: unknown;\n }>([\n {\n type: ClearSignContextType.NFT,\n commandInstanceType: ProvideNFTInformationCommand,\n },\n {\n type: ClearSignContextType.TOKEN,\n commandInstanceType: ProvideTokenInformationCommand,\n },\n {\n type: ClearSignContextType.TRUSTED_NAME,\n commandInstanceType: ProvideTrustedNameCommand,\n },\n {\n type: ClearSignContextType.ENUM,\n commandInstanceType: ProvideEnumCommand,\n },\n {\n type: ClearSignContextType.TRANSACTION_FIELD_DESCRIPTION,\n commandInstanceType: ProvideTransactionFieldDescriptionCommand,\n },\n ])(\"when type is $type\", async ({ type, commandInstanceType }) => {\n // GIVEN\n jest\n .spyOn(apiMock, \"sendCommand\")\n .mockResolvedValueOnce(CommandResultFactory({ data: \"ok\" }));\n const payload = `0x01020304`;\n const field: ClearSignContextSuccess = {\n type,\n payload,\n };\n\n // WHEN\n await new ProvideTransactionFieldDescriptionTask(apiMock, {\n field,\n serializedTransaction: new Uint8Array(),\n chainId: 1,\n transactionParser: transactionParserMock,\n contextModule: contextModuleMock,\n }).run();\n\n // THEN\n expect(\n (apiMock.sendCommand as jest.Mock).mock.calls[0][0],\n ).toBeInstanceOf(commandInstanceType);\n expect(apiMock.sendCommand).toHaveBeenCalledTimes(1);\n });\n });\n\n describe(\"should return nothing\", () => {\n it.each<ClearSignContextSuccess[\"type\"]>([\n ClearSignContextType.NFT,\n ClearSignContextType.TOKEN,\n ClearSignContextType.TRUSTED_NAME,\n ClearSignContextType.ENUM,\n ClearSignContextType.TRANSACTION_FIELD_DESCRIPTION,\n ])(\"when type is %s with no reference\", async (type) => {\n // GIVEN\n const payload = `0x01020304`;\n const field: ClearSignContextSuccess = {\n type,\n payload,\n };\n jest\n .spyOn(apiMock, \"sendCommand\")\n .mockResolvedValueOnce(CommandResultFactory({ data: \"ok\" }));\n\n // WHEN\n const task = new ProvideTransactionFieldDescriptionTask(apiMock, {\n field,\n serializedTransaction: new Uint8Array(),\n chainId: 1,\n transactionParser: transactionParserMock,\n contextModule: contextModuleMock,\n });\n const result = await task.run();\n\n // THEN\n expect(result).toEqual(Nothing);\n });\n });\n\n describe(\"should provide a reference context\", () => {\n it.each<ClearSignContextSuccess[\"type\"]>([\n ClearSignContextType.NFT,\n ClearSignContextType.TOKEN,\n ])(\"when type is %s with a reference\", async (type) => {\n // GIVEN\n const payload = `0x01020304`;\n const field: ClearSignContextSuccess = {\n type,\n payload,\n reference: {\n type: ClearSignContextType.TOKEN,\n valuePath: ContainerPath.VALUE,\n },\n };\n // provide reference context\n jest\n .spyOn(apiMock, \"sendCommand\")\n .mockResolvedValueOnce(CommandResultFactory({ data: \"ok\" }));\n // provide context\n jest\n .spyOn(apiMock, \"sendCommand\")\n .mockResolvedValueOnce(CommandResultFactory({ data: \"ok\" }));\n jest\n .spyOn(transactionParserMock, \"extractValue\")\n .mockReturnValueOnce(Right([new Uint8Array([0x01, 0x02, 0x03, 0x04])]));\n jest\n .spyOn(contextModuleMock, \"getContext\")\n .mockResolvedValueOnce({ type, payload });\n\n // WHEN\n const task = new ProvideTransactionFieldDescriptionTask(apiMock, {\n field,\n serializedTransaction: new Uint8Array(),\n chainId: 1,\n transactionParser: transactionParserMock,\n contextModule: contextModuleMock,\n });\n const result = await task.run();\n\n // THEN\n expect(contextModuleMock.getContext).toHaveBeenCalledTimes(1);\n expect(contextModuleMock.getContext).toHaveBeenCalledWith({\n type: ClearSignContextType.TOKEN,\n chainId: 1,\n address: \"0x01020304\",\n });\n expect(result).toEqual(Nothing);\n expect(apiMock.sendCommand).toHaveBeenCalledTimes(2);\n });\n\n it(\"when type is trustes-name with a reference\", async () => {\n // GIVEN\n const payload1 = `0x01020304`;\n const payload2 = `0x05060708`;\n const extractedValue = new Uint8Array([0x11, 0x22, 0x33, 0x44]);\n const extractedValueAddress = \"0x11223344\";\n const field: ClearSignContextSuccess = {\n type: ClearSignContextType.TRUSTED_NAME,\n payload: payload1,\n reference: {\n type: ClearSignContextType.TRUSTED_NAME,\n valuePath: ContainerPath.VALUE,\n types: [\"type\"],\n sources: [\"source\"],\n },\n };\n // getChallenge\n jest\n .spyOn(apiMock, \"sendCommand\")\n .mockResolvedValueOnce(\n CommandResultFactory({ data: { challenge: 0x42 } }),\n );\n // provide reference context\n jest\n .spyOn(apiMock, \"sendCommand\")\n .mockResolvedValueOnce(CommandResultFactory({ data: \"ok\" }));\n // provide context\n jest\n .spyOn(apiMock, \"sendCommand\")\n .mockResolvedValueOnce(CommandResultFactory({ data: \"ok\" }));\n jest\n .spyOn(transactionParserMock, \"extractValue\")\n .mockReturnValueOnce(Right([extractedValue]));\n jest.spyOn(contextModuleMock, \"getContext\").mockResolvedValueOnce({\n type: ClearSignContextType.TRUSTED_NAME,\n payload: payload2,\n });\n\n // WHEN\n const task = new ProvideTransactionFieldDescriptionTask(apiMock, {\n field,\n serializedTransaction: new Uint8Array(),\n chainId: 1,\n transactionParser: transactionParserMock,\n contextModule: contextModuleMock,\n });\n const result = await task.run();\n\n // THEN\n expect(contextModuleMock.getContext).toHaveBeenCalledTimes(1);\n // getContext for the extracted value address\n expect(contextModuleMock.getContext).toHaveBeenCalledWith({\n type: ClearSignContextType.TRUSTED_NAME,\n chainId: 1,\n address: extractedValueAddress,\n types: [\"type\"],\n sources: [\"source\"],\n challenge: 0x42,\n });\n expect(result).toEqual(Nothing);\n expect(apiMock.sendCommand).toHaveBeenCalledTimes(3);\n expect(apiMock.sendCommand).toHaveBeenNthCalledWith(\n 1,\n new GetChallengeCommand(),\n );\n expect(apiMock.sendCommand).toHaveBeenNthCalledWith(\n 2,\n new ProvideTrustedNameCommand({\n data: new Uint8Array([0x00, 0x04, 0x05, 0x06, 0x07, 0x08]),\n isFirstChunk: true,\n }),\n );\n expect(apiMock.sendCommand).toHaveBeenNthCalledWith(\n 3,\n new ProvideTrustedNameCommand({\n data: new Uint8Array([0x00, 0x04, 0x01, 0x02, 0x03, 0x04]),\n isFirstChunk: true,\n }),\n );\n });\n });\n\n describe(\"should not provide a reference context\", () => {\n it(\"when the path is not found in transaction payload\", async () => {\n // GIVEN\n const payload = `0x01020304`;\n const field: ClearSignContextSuccess = {\n type: ClearSignContextType.TRUSTED_NAME,\n payload,\n reference: {\n type: ClearSignContextType.TRUSTED_NAME,\n valuePath: ContainerPath.VALUE,\n types: [\"type\"],\n sources: [\"source\"],\n },\n };\n // provide context\n jest\n .spyOn(apiMock, \"sendCommand\")\n .mockResolvedValueOnce(CommandResultFactory({ data: \"ok\" }));\n jest\n .spyOn(transactionParserMock, \"extractValue\")\n .mockReturnValueOnce(Left(new Error(\"path not found\")));\n\n // WHEN\n const task = new ProvideTransactionFieldDescriptionTask(apiMock, {\n field,\n serializedTransaction: new Uint8Array(),\n chainId: 1,\n transactionParser: transactionParserMock,\n contextModule: contextModuleMock,\n });\n const result = await task.run();\n\n // THEN\n expect(result).toEqual(Nothing);\n expect(apiMock.sendCommand).toHaveBeenCalledTimes(1);\n expect(contextModuleMock.getContext).not.toHaveBeenCalled();\n });\n\n it(\"when getContext return a type error\", async () => {\n // GIVEN\n const payload = `0x01020304`;\n const field: ClearSignContextSuccess = {\n type: ClearSignContextType.TRUSTED_NAME,\n payload,\n reference: {\n type: ClearSignContextType.TRUSTED_NAME,\n valuePath: ContainerPath.VALUE,\n types: [\"type\"],\n sources: [\"source\"],\n },\n };\n jest\n .spyOn(transactionParserMock, \"extractValue\")\n .mockReturnValueOnce(Right([new Uint8Array([0x11, 0x22, 0x33, 0x44])]));\n jest.spyOn(contextModuleMock, \"getContext\").mockResolvedValueOnce({\n type: ClearSignContextType.ERROR,\n error: new Error(\"getContext error\"),\n });\n // getChallenge\n jest\n .spyOn(apiMock, \"sendCommand\")\n .mockResolvedValueOnce(\n CommandResultFactory({ data: { challenge: 0x42 } }),\n );\n // provide context\n jest\n .spyOn(apiMock, \"sendCommand\")\n .mockResolvedValueOnce(CommandResultFactory({ data: \"ok\" }));\n\n // WHEN\n const task = new ProvideTransactionFieldDescriptionTask(apiMock, {\n field,\n serializedTransaction: new Uint8Array(),\n chainId: 1,\n transactionParser: transactionParserMock,\n contextModule: contextModuleMock,\n });\n const result = await task.run();\n\n // THEN\n expect(result).toEqual(Nothing);\n expect(apiMock.sendCommand).toHaveBeenCalledTimes(2);\n expect(contextModuleMock.getContext).toHaveBeenCalledTimes(1);\n });\n });\n\n describe(\"should return an error\", () => {\n it.each<ClearSignContextSuccess[\"type\"]>([\n ClearSignContextType.TRANSACTION_INFO,\n ClearSignContextType.PLUGIN,\n ClearSignContextType.EXTERNAL_PLUGIN,\n ])(\"when type is %s\", async (type) => {\n // GIVEN\n const payload = `payload-${type}`;\n const field: ClearSignContextSuccess = {\n type,\n payload,\n };\n\n // WHEN\n const task = new ProvideTransactionFieldDescriptionTask(apiMock, {\n field,\n serializedTransaction: new Uint8Array(),\n chainId: 1,\n transactionParser: transactionParserMock,\n contextModule: contextModuleMock,\n });\n const result = await task.run();\n\n // THEN\n expect(result.extract()).toEqual(\n CommandResultFactory({\n error: new InvalidStatusWordError(\n `The context type [${type}] is not valid as a transaction field or metadata`,\n ),\n }),\n );\n });\n\n it(\"when type is unknown\", async () => {\n // GIVEN\n const payload = `payload-unknown`;\n const field: ClearSignContextSuccess = {\n type: \"unknown\" as ClearSignContextType,\n payload,\n } as ClearSignContextSuccess;\n\n // WHEN\n const task = new ProvideTransactionFieldDescriptionTask(apiMock, {\n field,\n serializedTransaction: new Uint8Array(),\n chainId: 1,\n transactionParser: transactionParserMock,\n contextModule: contextModuleMock,\n });\n const result = await task.run();\n\n // THEN\n expect(result.extract()).toEqual(\n CommandResultFactory({\n error: new InvalidStatusWordError(\n `The context type [unknown] is not covered`,\n ),\n }),\n );\n });\n\n it(\"when getChallenge fails\", async () => {\n // GIVEN\n const payload = `0x01020304`;\n const field: ClearSignContextSuccess = {\n type: ClearSignContextType.TRUSTED_NAME,\n payload,\n reference: {\n type: ClearSignContextType.TRUSTED_NAME,\n valuePath: ContainerPath.VALUE,\n types: [\"type\"],\n sources: [\"source\"],\n },\n };\n jest.spyOn(apiMock, \"sendCommand\").mockResolvedValueOnce(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"getChallenge error\"),\n }),\n );\n jest\n .spyOn(transactionParserMock, \"extractValue\")\n .mockReturnValueOnce(Right([new Uint8Array([0x11, 0x22, 0x33, 0x44])]));\n\n // WHEN\n const task = new ProvideTransactionFieldDescriptionTask(apiMock, {\n field,\n serializedTransaction: new Uint8Array(),\n chainId: 1,\n transactionParser: transactionParserMock,\n contextModule: contextModuleMock,\n });\n const result = await task.run();\n\n // THEN\n expect(result.extract()).toEqual(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"getChallenge error\"),\n }),\n );\n });\n\n it(\"when provide reference fails\", async () => {\n // GIVEN\n const payload = `0x01020304`;\n const field: ClearSignContextSuccess = {\n type: ClearSignContextType.TRUSTED_NAME,\n payload,\n reference: {\n type: ClearSignContextType.TRUSTED_NAME,\n valuePath: ContainerPath.VALUE,\n types: [\"type\"],\n sources: [\"source\"],\n },\n };\n // getChallenge\n jest\n .spyOn(apiMock, \"sendCommand\")\n .mockResolvedValueOnce(CommandResultFactory({ data: \"ok\" }));\n // provide reference context\n jest.spyOn(apiMock, \"sendCommand\").mockResolvedValueOnce(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"provide reference error\"),\n }),\n );\n jest\n .spyOn(transactionParserMock, \"extractValue\")\n .mockReturnValueOnce(Right([new Uint8Array([0x11, 0x22, 0x33, 0x44])]));\n jest.spyOn(contextModuleMock, \"getContext\").mockResolvedValueOnce({\n type: ClearSignContextType.TRUSTED_NAME,\n payload: \"0x05060708\",\n });\n\n // WHEN\n const task = new ProvideTransactionFieldDescriptionTask(apiMock, {\n field,\n serializedTransaction: new Uint8Array(),\n chainId: 1,\n transactionParser: transactionParserMock,\n contextModule: contextModuleMock,\n });\n const result = await task.run();\n\n // THEN\n expect(result.extract()).toEqual(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"provide reference error\"),\n }),\n );\n });\n });\n});\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["import_context_module", "import_device_management_kit", "import_purify_ts", "import_GetChallengeCommand", "import_ProvideEnumCommand", "import_ProvideNFTInformationCommand", "import_ProvideTokenInformationCommand", "import_ProvideTransactionFieldDescriptionCommand", "import_ProvideTrustedNameCommand", "import_ProvideTransactionFieldDescriptionTask", "transactionParserMock", "contextModuleMock", "apiMock", "type", "commandInstanceType", "field", "result", "payload", "payload1", "payload2", "extractedValue", "extractedValueAddress"]
|
|
4
|
+
"sourcesContent": ["import {\n type ClearSignContextSuccess,\n type ClearSignContextSuccessType,\n ClearSignContextType,\n ContainerPath,\n type ContextModule,\n} from \"@ledgerhq/context-module\";\nimport {\n CommandResultFactory,\n type InternalApi,\n InvalidStatusWordError,\n} from \"@ledgerhq/device-management-kit\";\nimport { Left, Nothing, Right } from \"purify-ts\";\n\nimport { GetChallengeCommand } from \"@internal/app-binder/command/GetChallengeCommand\";\nimport { ProvideEnumCommand } from \"@internal/app-binder/command/ProvideEnumCommand\";\nimport { ProvideNFTInformationCommand } from \"@internal/app-binder/command/ProvideNFTInformationCommand\";\nimport { ProvideTokenInformationCommand } from \"@internal/app-binder/command/ProvideTokenInformationCommand\";\nimport { ProvideTransactionFieldDescriptionCommand } from \"@internal/app-binder/command/ProvideTransactionFieldDescriptionCommand\";\nimport { ProvideTrustedNameCommand } from \"@internal/app-binder/command/ProvideTrustedNameCommand\";\nimport { type TransactionParserService } from \"@internal/transaction/service/parser/TransactionParserService\";\n\nimport { ProvideTransactionFieldDescriptionTask } from \"./ProvideTransactionFieldDescriptionTask\";\n\ndescribe(\"ProvideTransactionFieldDescriptionTask\", () => {\n const transactionParserMock = {\n extractValue: vi.fn(),\n } as unknown as TransactionParserService;\n const contextModuleMock = {\n getContext: vi.fn(),\n } as unknown as ContextModule;\n const apiMock: InternalApi = {\n sendCommand: vi.fn(),\n } as unknown as InternalApi;\n\n beforeEach(() => {\n vi.clearAllMocks();\n });\n\n describe(\"should call the right provide command\", () => {\n it.each<{\n type: ClearSignContextSuccess<\n Exclude<ClearSignContextSuccessType, ClearSignContextType.ENUM>\n >[\"type\"];\n commandInstanceType: unknown;\n }>([\n {\n type: ClearSignContextType.NFT,\n commandInstanceType: ProvideNFTInformationCommand,\n },\n {\n type: ClearSignContextType.TOKEN,\n commandInstanceType: ProvideTokenInformationCommand,\n },\n {\n type: ClearSignContextType.TRUSTED_NAME,\n commandInstanceType: ProvideTrustedNameCommand,\n },\n {\n type: ClearSignContextType.TRANSACTION_FIELD_DESCRIPTION,\n commandInstanceType: ProvideTransactionFieldDescriptionCommand,\n },\n ])(\"when type is $type\", async ({ type, commandInstanceType }) => {\n // GIVEN\n const spy = vi\n .spyOn(apiMock, \"sendCommand\")\n .mockResolvedValueOnce(CommandResultFactory({ data: \"ok\" }));\n const payload = `0x01020304`;\n const field: ClearSignContextSuccess = {\n type,\n payload,\n };\n\n // WHEN\n await new ProvideTransactionFieldDescriptionTask(apiMock, {\n field,\n serializedTransaction: new Uint8Array(),\n chainId: 1,\n transactionParser: transactionParserMock,\n contextModule: contextModuleMock,\n transactionEnums: [],\n }).run();\n\n // THEN\n expect(spy.mock.calls[0]![0]).toBeInstanceOf(commandInstanceType);\n expect(apiMock.sendCommand).toHaveBeenCalledTimes(1);\n });\n\n it(\"when type is transactionFieldDescription with a enum reference\", async () => {\n // GIVEN\n const spy = vi\n .spyOn(apiMock, \"sendCommand\")\n .mockResolvedValueOnce(CommandResultFactory({ data: \"ok\" }))\n .mockResolvedValueOnce(CommandResultFactory({ data: \"ok\" }));\n\n vi.spyOn(transactionParserMock, \"extractValue\").mockReturnValueOnce(\n Right([new Uint8Array([0x01, 0x02, 0x03, 0x04])]),\n );\n\n const payload = `0x01020304`;\n const field: ClearSignContextSuccess = {\n type: ClearSignContextType.TRANSACTION_FIELD_DESCRIPTION,\n payload,\n reference: {\n type: ClearSignContextType.ENUM,\n valuePath: ContainerPath.VALUE,\n id: 0x42,\n },\n };\n\n // WHEN\n await new ProvideTransactionFieldDescriptionTask(apiMock, {\n field,\n serializedTransaction: new Uint8Array(),\n chainId: 1,\n transactionParser: transactionParserMock,\n contextModule: contextModuleMock,\n transactionEnums: [\n {\n id: 0x42,\n value: 0x01,\n type: ClearSignContextType.ENUM,\n payload: \"0x060708\",\n },\n {\n id: 0x42,\n value: 0x04,\n type: ClearSignContextType.ENUM,\n payload: \"0x080706\",\n },\n ],\n }).run();\n\n expect(apiMock.sendCommand).toHaveBeenCalledTimes(2);\n expect(spy.mock.calls[0]![0]).toBeInstanceOf(ProvideEnumCommand);\n // @ts-expect-error args exists\n expect(spy.mock.calls[0]![0].args.data).toEqual(\n new Uint8Array([0x00, 0x03, 0x08, 0x07, 0x06]),\n ); // length + value of the enum with id 0x42 and value 0x04\n expect(spy.mock.calls[1]![0]).toBeInstanceOf(\n ProvideTransactionFieldDescriptionCommand,\n );\n });\n });\n\n describe(\"should return nothing\", () => {\n it.each<\n ClearSignContextSuccess<\n Exclude<ClearSignContextSuccessType, ClearSignContextType.ENUM>\n >[\"type\"]\n >([\n ClearSignContextType.NFT,\n ClearSignContextType.TOKEN,\n ClearSignContextType.TRUSTED_NAME,\n ClearSignContextType.TRANSACTION_FIELD_DESCRIPTION,\n ])(\"when type is %s with no reference\", async (type) => {\n // GIVEN\n const payload = `0x01020304`;\n const field: ClearSignContextSuccess = {\n type,\n payload,\n };\n vi.spyOn(apiMock, \"sendCommand\").mockResolvedValueOnce(\n CommandResultFactory({ data: \"ok\" }),\n );\n\n // WHEN\n const task = new ProvideTransactionFieldDescriptionTask(apiMock, {\n field,\n serializedTransaction: new Uint8Array(),\n chainId: 1,\n transactionParser: transactionParserMock,\n contextModule: contextModuleMock,\n transactionEnums: [],\n });\n const result = await task.run();\n\n // THEN\n expect(result).toEqual(Nothing);\n });\n });\n\n describe(\"should provide a reference context\", () => {\n it.each<\n ClearSignContextSuccess<\n Exclude<ClearSignContextSuccessType, ClearSignContextType.ENUM>\n >[\"type\"]\n >([ClearSignContextType.NFT, ClearSignContextType.TOKEN])(\n \"when type is %s with a reference\",\n async (type) => {\n // GIVEN\n const payload = `0x01020304`;\n const field: ClearSignContextSuccess = {\n type,\n payload,\n reference: {\n type: ClearSignContextType.TOKEN,\n valuePath: ContainerPath.VALUE,\n },\n };\n // provide reference context\n vi.spyOn(apiMock, \"sendCommand\").mockResolvedValueOnce(\n CommandResultFactory({ data: \"ok\" }),\n );\n // provide context\n vi.spyOn(apiMock, \"sendCommand\").mockResolvedValueOnce(\n CommandResultFactory({ data: \"ok\" }),\n );\n vi.spyOn(transactionParserMock, \"extractValue\").mockReturnValueOnce(\n Right([new Uint8Array([0x01, 0x02, 0x03, 0x04])]),\n );\n vi.spyOn(contextModuleMock, \"getContext\").mockResolvedValueOnce({\n type,\n payload,\n });\n\n // WHEN\n const task = new ProvideTransactionFieldDescriptionTask(apiMock, {\n field,\n serializedTransaction: new Uint8Array(),\n chainId: 1,\n transactionParser: transactionParserMock,\n contextModule: contextModuleMock,\n transactionEnums: [],\n });\n const result = await task.run();\n\n // THEN\n expect(contextModuleMock.getContext).toHaveBeenCalledTimes(1);\n expect(contextModuleMock.getContext).toHaveBeenCalledWith({\n type: ClearSignContextType.TOKEN,\n chainId: 1,\n address: \"0x01020304\",\n });\n expect(result).toEqual(Nothing);\n expect(apiMock.sendCommand).toHaveBeenCalledTimes(2);\n },\n );\n\n it(\"when type is trustes-name with a reference\", async () => {\n // GIVEN\n const payload1 = `0x01020304`;\n const payload2 = `0x05060708`;\n const extractedValue = new Uint8Array([0x11, 0x22, 0x33, 0x44]);\n const extractedValueAddress = \"0x11223344\";\n const field: ClearSignContextSuccess<\n Exclude<ClearSignContextSuccessType, ClearSignContextType.ENUM>\n > = {\n type: ClearSignContextType.TRUSTED_NAME,\n payload: payload1,\n reference: {\n type: ClearSignContextType.TRUSTED_NAME,\n valuePath: ContainerPath.VALUE,\n types: [\"type\"],\n sources: [\"source\"],\n },\n };\n\n vi.spyOn(apiMock, \"sendCommand\")\n // getChallenge\n .mockResolvedValueOnce(\n CommandResultFactory({ data: { challenge: 0x42 } }),\n )\n // provide reference context\n .mockResolvedValueOnce(CommandResultFactory({ data: \"ok\" }))\n // provide context\n .mockResolvedValueOnce(CommandResultFactory({ data: \"ok\" }));\n\n vi.spyOn(transactionParserMock, \"extractValue\").mockReturnValueOnce(\n Right([extractedValue]),\n );\n\n vi.spyOn(contextModuleMock, \"getContext\").mockResolvedValueOnce({\n type: ClearSignContextType.TRUSTED_NAME,\n payload: payload2,\n });\n\n // WHEN\n const task = new ProvideTransactionFieldDescriptionTask(apiMock, {\n field,\n serializedTransaction: new Uint8Array(),\n chainId: 1,\n transactionParser: transactionParserMock,\n contextModule: contextModuleMock,\n transactionEnums: [],\n });\n const result = await task.run();\n\n // THEN\n expect(contextModuleMock.getContext).toHaveBeenCalledTimes(1);\n // getContext for the extracted value address\n expect(contextModuleMock.getContext).toHaveBeenCalledWith({\n type: ClearSignContextType.TRUSTED_NAME,\n chainId: 1,\n address: extractedValueAddress,\n types: [\"type\"],\n sources: [\"source\"],\n challenge: 0x42,\n });\n expect(result).toEqual(Nothing);\n expect(apiMock.sendCommand).toHaveBeenCalledTimes(3);\n expect(apiMock.sendCommand).toHaveBeenNthCalledWith(\n 1,\n new GetChallengeCommand(),\n );\n expect(apiMock.sendCommand).toHaveBeenNthCalledWith(\n 2,\n new ProvideTrustedNameCommand({\n data: new Uint8Array([0x00, 0x04, 0x05, 0x06, 0x07, 0x08]),\n isFirstChunk: true,\n }),\n );\n expect(apiMock.sendCommand).toHaveBeenNthCalledWith(\n 3,\n new ProvideTrustedNameCommand({\n data: new Uint8Array([0x00, 0x04, 0x01, 0x02, 0x03, 0x04]),\n isFirstChunk: true,\n }),\n );\n });\n\n it(\"when type is token with a constant reference\", async () => {\n // GIVEN\n const payload = `0x01020304`;\n const field: ClearSignContextSuccess = {\n type: ClearSignContextType.TOKEN,\n payload,\n reference: {\n type: ClearSignContextType.TOKEN,\n value: \"0x09080706\",\n },\n };\n vi.spyOn(apiMock, \"sendCommand\")\n // provide reference context\n .mockResolvedValueOnce(CommandResultFactory({ data: \"ok\" }))\n // provide context\n .mockResolvedValueOnce(CommandResultFactory({ data: \"ok\" }));\n\n vi.spyOn(contextModuleMock, \"getContext\").mockResolvedValueOnce({\n type: ClearSignContextType.TOKEN,\n payload: \"0x05060708\",\n });\n\n // WHEN\n const task = new ProvideTransactionFieldDescriptionTask(apiMock, {\n field,\n serializedTransaction: new Uint8Array(),\n chainId: 1,\n transactionParser: transactionParserMock,\n contextModule: contextModuleMock,\n transactionEnums: [],\n });\n const result = await task.run();\n\n // THEN\n expect(transactionParserMock.extractValue).not.toHaveBeenCalled();\n expect(contextModuleMock.getContext).toHaveBeenCalledTimes(1);\n expect(contextModuleMock.getContext).toHaveBeenCalledWith({\n type: ClearSignContextType.TOKEN,\n chainId: 1,\n address: \"0x09080706\",\n });\n expect(result).toEqual(Nothing);\n expect(apiMock.sendCommand).toHaveBeenCalledTimes(2);\n });\n\n it(\"when type is a ntf with a constant reference\", async () => {\n // GIVEN\n const payload = `0x01020304`;\n const field: ClearSignContextSuccess = {\n type: ClearSignContextType.NFT,\n payload,\n reference: {\n type: ClearSignContextType.NFT,\n value: \"0x09080706\",\n },\n };\n // provide reference context\n vi.spyOn(apiMock, \"sendCommand\").mockResolvedValueOnce(\n CommandResultFactory({ data: \"ok\" }),\n );\n // provide context\n vi.spyOn(apiMock, \"sendCommand\").mockResolvedValueOnce(\n CommandResultFactory({ data: \"ok\" }),\n );\n vi.spyOn(contextModuleMock, \"getContext\").mockResolvedValueOnce({\n type: ClearSignContextType.NFT,\n payload: \"0x05060708\",\n });\n\n // WHEN\n const task = new ProvideTransactionFieldDescriptionTask(apiMock, {\n field,\n serializedTransaction: new Uint8Array(),\n chainId: 1,\n transactionParser: transactionParserMock,\n contextModule: contextModuleMock,\n transactionEnums: [],\n });\n const result = await task.run();\n\n // THEN\n expect(transactionParserMock.extractValue).not.toHaveBeenCalled();\n expect(contextModuleMock.getContext).toHaveBeenCalledTimes(1);\n expect(contextModuleMock.getContext).toHaveBeenCalledWith({\n type: ClearSignContextType.NFT,\n chainId: 1,\n address: \"0x09080706\",\n });\n expect(result).toEqual(Nothing);\n expect(apiMock.sendCommand).toHaveBeenCalledTimes(2);\n });\n });\n\n describe(\"should not provide a reference context\", () => {\n it(\"when the path is not found in transaction payload\", async () => {\n // GIVEN\n const payload = `0x01020304`;\n const field: ClearSignContextSuccess<\n Exclude<ClearSignContextSuccessType, ClearSignContextType.ENUM>\n > = {\n type: ClearSignContextType.TRUSTED_NAME,\n payload,\n reference: {\n type: ClearSignContextType.TRUSTED_NAME,\n valuePath: ContainerPath.VALUE,\n types: [\"type\"],\n sources: [\"source\"],\n },\n };\n // provide context\n vi.spyOn(apiMock, \"sendCommand\").mockResolvedValueOnce(\n CommandResultFactory({ data: \"ok\" }),\n );\n\n vi.spyOn(transactionParserMock, \"extractValue\").mockReturnValueOnce(\n Left(new Error(\"path not found\")),\n );\n\n // WHEN\n const task = new ProvideTransactionFieldDescriptionTask(apiMock, {\n field,\n serializedTransaction: new Uint8Array(),\n chainId: 1,\n transactionParser: transactionParserMock,\n contextModule: contextModuleMock,\n transactionEnums: [],\n });\n const result = await task.run();\n\n // THEN\n expect(result).toEqual(Nothing);\n expect(apiMock.sendCommand).toHaveBeenCalledTimes(1);\n expect(contextModuleMock.getContext).not.toHaveBeenCalled();\n });\n\n it(\"when getContext return a type error\", async () => {\n // GIVEN\n const payload = `0x01020304`;\n const field: ClearSignContextSuccess<\n Exclude<ClearSignContextSuccessType, ClearSignContextType.ENUM>\n > = {\n type: ClearSignContextType.TRUSTED_NAME,\n payload,\n reference: {\n type: ClearSignContextType.TRUSTED_NAME,\n valuePath: ContainerPath.VALUE,\n types: [\"type\"],\n sources: [\"source\"],\n },\n };\n vi.spyOn(transactionParserMock, \"extractValue\").mockReturnValueOnce(\n Right([new Uint8Array([0x11, 0x22, 0x33, 0x44])]),\n );\n vi.spyOn(contextModuleMock, \"getContext\").mockResolvedValueOnce({\n type: ClearSignContextType.ERROR,\n error: new Error(\"getContext error\"),\n });\n // getChallenge\n vi.spyOn(apiMock, \"sendCommand\").mockResolvedValueOnce(\n CommandResultFactory({ data: { challenge: 0x42 } }),\n );\n // provide context\n vi.spyOn(apiMock, \"sendCommand\").mockResolvedValueOnce(\n CommandResultFactory({ data: \"ok\" }),\n );\n\n // WHEN\n const task = new ProvideTransactionFieldDescriptionTask(apiMock, {\n field,\n serializedTransaction: new Uint8Array(),\n chainId: 1,\n transactionParser: transactionParserMock,\n contextModule: contextModuleMock,\n transactionEnums: [],\n });\n const result = await task.run();\n\n // THEN\n expect(result).toEqual(Nothing);\n expect(apiMock.sendCommand).toHaveBeenCalledTimes(2);\n expect(contextModuleMock.getContext).toHaveBeenCalledTimes(1);\n });\n\n it(\"when no enum descriptor is found\", async () => {\n // GIVEN\n const payload = `0x01020304`;\n const field: ClearSignContextSuccess = {\n type: ClearSignContextType.TRANSACTION_FIELD_DESCRIPTION,\n payload,\n reference: {\n type: ClearSignContextType.ENUM,\n valuePath: ContainerPath.VALUE,\n id: 0x42,\n },\n };\n\n vi.spyOn(transactionParserMock, \"extractValue\").mockReturnValueOnce(\n Right([new Uint8Array([0x01, 0x02, 0x03, 0x04])]),\n );\n\n const spy = vi\n .spyOn(apiMock, \"sendCommand\")\n .mockResolvedValueOnce(CommandResultFactory({ data: \"ok\" }));\n\n // WHEN\n const task = new ProvideTransactionFieldDescriptionTask(apiMock, {\n field,\n serializedTransaction: new Uint8Array(),\n chainId: 1,\n transactionParser: transactionParserMock,\n contextModule: contextModuleMock,\n transactionEnums: [],\n });\n const result = await task.run();\n\n // THEN\n expect(result).toEqual(Nothing);\n expect(apiMock.sendCommand).toHaveBeenCalledTimes(1);\n expect(spy.mock.calls[0]![0]).toBeInstanceOf(\n ProvideTransactionFieldDescriptionCommand,\n );\n });\n\n it(\"when the enum reference path value is empty\", async () => {\n // GIVEN\n const payload = `0x01020304`;\n const field: ClearSignContextSuccess = {\n type: ClearSignContextType.TRANSACTION_FIELD_DESCRIPTION,\n payload,\n reference: {\n type: ClearSignContextType.ENUM,\n valuePath: ContainerPath.VALUE,\n id: 0x42,\n },\n };\n\n vi.spyOn(transactionParserMock, \"extractValue\").mockReturnValueOnce(\n Right([new Uint8Array([])]),\n ); // empty value\n\n const spy = vi\n .spyOn(apiMock, \"sendCommand\")\n .mockResolvedValueOnce(CommandResultFactory({ data: \"ok\" }));\n\n // WHEN\n const task = new ProvideTransactionFieldDescriptionTask(apiMock, {\n field,\n serializedTransaction: new Uint8Array(),\n chainId: 1,\n transactionParser: transactionParserMock,\n contextModule: contextModuleMock,\n transactionEnums: [\n {\n id: 0x42,\n value: 0x01,\n type: ClearSignContextType.ENUM,\n payload: \"0x060708\",\n },\n {\n id: 0x42,\n value: 0x04,\n type: ClearSignContextType.ENUM,\n payload: \"0x080706\",\n },\n ],\n });\n const result = await task.run();\n\n // THEN\n expect(result).toEqual(Nothing);\n expect(apiMock.sendCommand).toHaveBeenCalledTimes(1);\n expect(spy.mock.calls[0]![0]).toBeInstanceOf(\n ProvideTransactionFieldDescriptionCommand,\n );\n });\n });\n\n describe(\"should return an error\", () => {\n it.each<\n ClearSignContextSuccess<\n Exclude<ClearSignContextSuccessType, ClearSignContextType.ENUM>\n >[\"type\"]\n >([\n ClearSignContextType.TRANSACTION_INFO,\n ClearSignContextType.PLUGIN,\n ClearSignContextType.EXTERNAL_PLUGIN,\n ])(\"when type is %s\", async (type) => {\n // GIVEN\n const payload = `payload-${type}`;\n const field: ClearSignContextSuccess<\n Exclude<ClearSignContextSuccessType, ClearSignContextType.ENUM>\n > = {\n type,\n payload,\n };\n\n // WHEN\n const task = new ProvideTransactionFieldDescriptionTask(apiMock, {\n field,\n serializedTransaction: new Uint8Array(),\n chainId: 1,\n transactionParser: transactionParserMock,\n contextModule: contextModuleMock,\n transactionEnums: [],\n });\n const result = await task.run();\n\n // THEN\n expect(result.extract()).toEqual(\n CommandResultFactory({\n error: new InvalidStatusWordError(\n `The context type [${type}] is not valid as a transaction field or metadata`,\n ),\n }),\n );\n });\n\n it(\"when type is unknown\", async () => {\n // GIVEN\n const payload = `payload-unknown`;\n const field = {\n type: \"unknown\" as ClearSignContextType,\n payload,\n } as ClearSignContextSuccess<\n Exclude<ClearSignContextSuccessType, ClearSignContextType.ENUM>\n >;\n\n // WHEN\n const task = new ProvideTransactionFieldDescriptionTask(apiMock, {\n field,\n serializedTransaction: new Uint8Array(),\n chainId: 1,\n transactionParser: transactionParserMock,\n contextModule: contextModuleMock,\n transactionEnums: [],\n });\n const result = await task.run();\n\n // THEN\n expect(result.extract()).toEqual(\n CommandResultFactory({\n error: new InvalidStatusWordError(\n `The context type [unknown] is not covered`,\n ),\n }),\n );\n });\n\n it(\"when getChallenge fails\", async () => {\n // GIVEN\n const payload = `0x01020304`;\n const field: ClearSignContextSuccess<\n Exclude<ClearSignContextSuccessType, ClearSignContextType.ENUM>\n > = {\n type: ClearSignContextType.TRUSTED_NAME,\n payload,\n reference: {\n type: ClearSignContextType.TRUSTED_NAME,\n valuePath: ContainerPath.VALUE,\n types: [\"type\"],\n sources: [\"source\"],\n },\n };\n vi.spyOn(apiMock, \"sendCommand\").mockResolvedValueOnce(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"getChallenge error\"),\n }),\n );\n vi.spyOn(transactionParserMock, \"extractValue\").mockReturnValueOnce(\n Right([new Uint8Array([0x11, 0x22, 0x33, 0x44])]),\n );\n\n // WHEN\n const task = new ProvideTransactionFieldDescriptionTask(apiMock, {\n field,\n serializedTransaction: new Uint8Array(),\n chainId: 1,\n transactionParser: transactionParserMock,\n contextModule: contextModuleMock,\n transactionEnums: [],\n });\n const result = await task.run();\n\n // THEN\n expect(result.extract()).toEqual(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"getChallenge error\"),\n }),\n );\n });\n\n it(\"when provide reference with a token fails\", async () => {\n // GIVEN\n const payload = `0x01020304`;\n const field: ClearSignContextSuccess<\n Exclude<ClearSignContextSuccessType, ClearSignContextType.ENUM>\n > = {\n type: ClearSignContextType.TRANSACTION_FIELD_DESCRIPTION,\n payload,\n reference: {\n type: ClearSignContextType.TOKEN,\n valuePath: ContainerPath.VALUE,\n },\n };\n // provide reference context\n vi.spyOn(apiMock, \"sendCommand\").mockResolvedValueOnce(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"provide reference error\"),\n }),\n );\n // provide field\n vi.spyOn(apiMock, \"sendCommand\").mockResolvedValueOnce(\n CommandResultFactory({ data: \"ok\" }),\n );\n vi.spyOn(transactionParserMock, \"extractValue\").mockReturnValueOnce(\n Right([new Uint8Array([0x11, 0x22, 0x33, 0x44])]),\n );\n vi.spyOn(contextModuleMock, \"getContext\").mockResolvedValueOnce({\n type: ClearSignContextType.TOKEN,\n payload: \"0x05060708\",\n });\n\n // WHEN\n const task = new ProvideTransactionFieldDescriptionTask(apiMock, {\n field,\n serializedTransaction: new Uint8Array(),\n chainId: 1,\n transactionParser: transactionParserMock,\n contextModule: contextModuleMock,\n transactionEnums: [],\n });\n const result = await task.run();\n\n // THEN\n expect(result.extract()).toEqual(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"provide reference error\"),\n }),\n );\n });\n\n it(\"when provide reference with a trusted name fails\", async () => {\n // GIVEN\n const payload = `0x01020304`;\n const field: ClearSignContextSuccess<\n Exclude<ClearSignContextSuccessType, ClearSignContextType.ENUM>\n > = {\n type: ClearSignContextType.TRUSTED_NAME,\n payload,\n reference: {\n type: ClearSignContextType.TRUSTED_NAME,\n valuePath: ContainerPath.VALUE,\n types: [\"type\"],\n sources: [\"source\"],\n },\n };\n // getChallenge\n vi.spyOn(apiMock, \"sendCommand\").mockResolvedValueOnce(\n CommandResultFactory({ data: \"ok\" }),\n );\n // provide reference context\n vi.spyOn(apiMock, \"sendCommand\").mockResolvedValueOnce(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"provide reference error\"),\n }),\n );\n vi.spyOn(transactionParserMock, \"extractValue\").mockReturnValueOnce(\n Right([new Uint8Array([0x11, 0x22, 0x33, 0x44])]),\n );\n vi.spyOn(contextModuleMock, \"getContext\").mockResolvedValueOnce({\n type: ClearSignContextType.TRUSTED_NAME,\n payload: \"0x05060708\",\n });\n\n // WHEN\n const task = new ProvideTransactionFieldDescriptionTask(apiMock, {\n field,\n serializedTransaction: new Uint8Array(),\n chainId: 1,\n transactionParser: transactionParserMock,\n contextModule: contextModuleMock,\n transactionEnums: [],\n });\n const result = await task.run();\n\n // THEN\n expect(result.extract()).toEqual(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"provide reference error\"),\n }),\n );\n });\n\n it(\"when provide reference with a enum reference fails\", async () => {\n // GIVEN\n const payload = `0x01020304`;\n const field: ClearSignContextSuccess = {\n type: ClearSignContextType.TRANSACTION_FIELD_DESCRIPTION,\n payload,\n reference: {\n type: ClearSignContextType.ENUM,\n valuePath: ContainerPath.VALUE,\n id: 0x42,\n },\n };\n\n vi.spyOn(transactionParserMock, \"extractValue\").mockReturnValueOnce(\n Right([new Uint8Array([0x01, 0x02, 0x03, 0x04])]),\n );\n\n const spy = vi\n .spyOn(apiMock, \"sendCommand\")\n .mockResolvedValueOnce(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"provide reference error\"),\n }),\n )\n .mockResolvedValueOnce(\n CommandResultFactory({\n data: \"ok\",\n }),\n );\n\n // WHEN\n const task = new ProvideTransactionFieldDescriptionTask(apiMock, {\n field,\n serializedTransaction: new Uint8Array(),\n chainId: 1,\n transactionParser: transactionParserMock,\n contextModule: contextModuleMock,\n transactionEnums: [\n {\n id: 0x42,\n value: 0x04,\n type: ClearSignContextType.ENUM,\n payload: \"0x080706\",\n },\n ],\n });\n const result = await task.run();\n\n // THEN\n expect(result.extract()).toEqual(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"provide reference error\"),\n }),\n );\n expect(apiMock.sendCommand).toHaveBeenCalledTimes(1);\n expect(spy.mock.calls[0]![0]).toBeInstanceOf(ProvideEnumCommand);\n });\n });\n});\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["import_context_module", "import_device_management_kit", "import_purify_ts", "import_GetChallengeCommand", "import_ProvideEnumCommand", "import_ProvideNFTInformationCommand", "import_ProvideTokenInformationCommand", "import_ProvideTransactionFieldDescriptionCommand", "import_ProvideTrustedNameCommand", "import_ProvideTransactionFieldDescriptionTask", "transactionParserMock", "contextModuleMock", "apiMock", "type", "commandInstanceType", "spy", "field", "result", "payload", "payload1", "payload2", "extractedValue", "extractedValueAddress"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var d=Object.defineProperty;var
|
|
1
|
+
"use strict";var d=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var f=Object.getOwnPropertyNames;var T=Object.prototype.hasOwnProperty;var x=(a,t)=>{for(var r in t)d(a,r,{get:t[r],enumerable:!0})},g=(a,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let e of f(t))!T.call(a,e)&&e!==r&&d(a,e,{get:()=>t[e],enumerable:!(o=h(t,e))||o.enumerable});return a};var k=a=>g(d({},"__esModule",{value:!0}),a);var S={};x(S,{ProvideTransactionGenericContextTask:()=>P});module.exports=k(S);var i=require("@ledgerhq/device-management-kit"),l=require("@ledgerhq/signer-utils"),s=require("purify-ts"),m=require("../../app-binder/command/ProvideTransactionInformationCommand"),C=require("../../app-binder/command/StoreTransactionCommand"),p=require("./ProvideTransactionFieldDescriptionTask"),u=require("./SendCommandInChunksTask"),y=require("./SendPayloadInChunksTask");class P{constructor(t,r){this.api=t;this.args=r}async run(){const t=l.DerivationPathUtils.splitPath(this.args.derivationPath),r=new i.ByteArrayBuilder;r.add8BitUIntToData(t.length),t.forEach(n=>{r.add32BitUIntToData(n)}),r.addBufferToData(this.args.serializedTransaction);const o=await new u.SendCommandInChunksTask(this.api,{data:r.build(),commandFactory:n=>new C.StoreTransactionCommand({serializedTransaction:n.chunkedData,isFirstChunk:n.isFirstChunk})}).run();if(!(0,i.isSuccessCommandResult)(o))return(0,s.Just)(o);if(this.args.context.transactionInfoCertificate){const{keyUsageNumber:n,payload:c}=this.args.context.transactionInfoCertificate;await this.api.sendCommand(new i.LoadCertificateCommand({keyUsage:n,certificate:c}))}const e=await new y.SendPayloadInChunksTask(this.api,{payload:this.args.context.transactionInfo,commandFactory:n=>new m.ProvideTransactionInformationCommand({data:n.chunkedData,isFirstChunk:n.isFirstChunk})}).run();if(!(0,i.isSuccessCommandResult)(e))return(0,s.Just)(e);for(const n of this.args.context.transactionFields){const c=await new p.ProvideTransactionFieldDescriptionTask(this.api,{field:n,serializedTransaction:this.args.serializedTransaction,chainId:this.args.chainId,transactionParser:this.args.transactionParser,contextModule:this.args.contextModule,transactionEnums:this.args.context.transactionEnums}).run();if(c.isJust())return c}return s.Nothing}}0&&(module.exports={ProvideTransactionGenericContextTask});
|
|
2
2
|
//# sourceMappingURL=ProvideTransactionGenericContextTask.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/internal/app-binder/task/ProvideTransactionGenericContextTask.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n type ClearSignContextSuccess,\n type ContextModule,\n} from \"@ledgerhq/context-module\";\nimport {\n ByteArrayBuilder,\n type CommandErrorResult,\n type InternalApi,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\nimport { DerivationPathUtils } from \"@ledgerhq/signer-utils\";\nimport { Just, type Maybe, Nothing } from \"purify-ts\";\n\nimport {
|
|
5
|
-
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,0CAAAE,IAAA,eAAAC,EAAAH,
|
|
6
|
-
"names": ["ProvideTransactionGenericContextTask_exports", "__export", "ProvideTransactionGenericContextTask", "__toCommonJS", "import_device_management_kit", "import_signer_utils", "import_purify_ts", "import_ProvideTransactionInformationCommand", "import_StoreTransactionCommand", "import_ProvideTransactionFieldDescriptionTask", "import_SendCommandInChunksTask", "import_SendPayloadInChunksTask", "api", "args", "paths", "builder", "path", "storeTransactionResult", "transactionInfoResult", "field", "result"]
|
|
4
|
+
"sourcesContent": ["import {\n type ClearSignContextSuccess,\n type ClearSignContextSuccessType,\n type ClearSignContextType,\n type ContextModule,\n type PkiCertificate,\n} from \"@ledgerhq/context-module\";\nimport {\n ByteArrayBuilder,\n type CommandErrorResult,\n type InternalApi,\n isSuccessCommandResult,\n LoadCertificateCommand,\n} from \"@ledgerhq/device-management-kit\";\nimport { DerivationPathUtils } from \"@ledgerhq/signer-utils\";\nimport { Just, type Maybe, Nothing } from \"purify-ts\";\n\nimport { ProvideTransactionInformationCommand } from \"@internal/app-binder/command/ProvideTransactionInformationCommand\";\nimport { StoreTransactionCommand } from \"@internal/app-binder/command/StoreTransactionCommand\";\nimport { type EthErrorCodes } from \"@internal/app-binder/command/utils/ethAppErrors\";\nimport { type TransactionParserService } from \"@internal/transaction/service/parser/TransactionParserService\";\n\nimport { ProvideTransactionFieldDescriptionTask } from \"./ProvideTransactionFieldDescriptionTask\";\nimport { SendCommandInChunksTask } from \"./SendCommandInChunksTask\";\nimport { SendPayloadInChunksTask } from \"./SendPayloadInChunksTask\";\n\nexport type GenericContext = {\n readonly transactionInfo: string;\n readonly transactionInfoCertificate: PkiCertificate;\n readonly transactionFields: ClearSignContextSuccess<\n Exclude<ClearSignContextSuccessType, ClearSignContextType.ENUM>\n >[];\n readonly transactionEnums: ClearSignContextSuccess<ClearSignContextType.ENUM>[];\n};\n\nexport type ProvideTransactionGenericContextTaskArgs = {\n readonly contextModule: ContextModule;\n readonly transactionParser: TransactionParserService;\n readonly chainId: number;\n readonly derivationPath: string;\n readonly serializedTransaction: Uint8Array;\n readonly context: GenericContext;\n};\n\nexport type ProvideTransactionGenericContextTaskErrorCodes =\n void | EthErrorCodes;\n\nexport class ProvideTransactionGenericContextTask {\n constructor(\n private api: InternalApi,\n private args: ProvideTransactionGenericContextTaskArgs,\n ) {}\n\n async run(): Promise<\n Maybe<CommandErrorResult<ProvideTransactionGenericContextTaskErrorCodes>>\n > {\n // Store the transaction in the device memory\n const paths = DerivationPathUtils.splitPath(this.args.derivationPath);\n const builder = new ByteArrayBuilder();\n builder.add8BitUIntToData(paths.length);\n paths.forEach((path) => {\n builder.add32BitUIntToData(path);\n });\n builder.addBufferToData(this.args.serializedTransaction);\n const storeTransactionResult = await new SendCommandInChunksTask(this.api, {\n data: builder.build(),\n commandFactory: (args) =>\n new StoreTransactionCommand({\n serializedTransaction: args.chunkedData,\n isFirstChunk: args.isFirstChunk,\n }),\n }).run();\n\n if (!isSuccessCommandResult(storeTransactionResult)) {\n return Just(storeTransactionResult);\n }\n\n if (this.args.context.transactionInfoCertificate) {\n const { keyUsageNumber: keyUsage, payload: certificate } =\n this.args.context.transactionInfoCertificate;\n await this.api.sendCommand(\n new LoadCertificateCommand({\n keyUsage,\n certificate,\n }),\n );\n }\n\n // Provide the transaction information\n const transactionInfoResult = await new SendPayloadInChunksTask(this.api, {\n payload: this.args.context.transactionInfo,\n commandFactory: (args) =>\n new ProvideTransactionInformationCommand({\n data: args.chunkedData,\n isFirstChunk: args.isFirstChunk,\n }),\n }).run();\n\n if (!isSuccessCommandResult(transactionInfoResult)) {\n return Just(transactionInfoResult);\n }\n\n // Provide the transaction field description and according metadata reference\n for (const field of this.args.context.transactionFields) {\n const result = await new ProvideTransactionFieldDescriptionTask(\n this.api,\n {\n field,\n serializedTransaction: this.args.serializedTransaction,\n chainId: this.args.chainId,\n transactionParser: this.args.transactionParser,\n contextModule: this.args.contextModule,\n transactionEnums: this.args.context.transactionEnums,\n },\n ).run();\n\n if (result.isJust()) {\n return result;\n }\n }\n\n return Nothing;\n }\n}\n"],
|
|
5
|
+
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,0CAAAE,IAAA,eAAAC,EAAAH,GAOA,IAAAI,EAMO,2CACPC,EAAoC,kCACpCC,EAA0C,qBAE1CC,EAAqD,6EACrDC,EAAwC,gEAIxCC,EAAuD,oDACvDC,EAAwC,qCACxCC,EAAwC,qCAuBjC,MAAMT,CAAqC,CAChD,YACUU,EACAC,EACR,CAFQ,SAAAD,EACA,UAAAC,CACP,CAEH,MAAM,KAEJ,CAEA,MAAMC,EAAQ,sBAAoB,UAAU,KAAK,KAAK,cAAc,EAC9DC,EAAU,IAAI,mBACpBA,EAAQ,kBAAkBD,EAAM,MAAM,EACtCA,EAAM,QAASE,GAAS,CACtBD,EAAQ,mBAAmBC,CAAI,CACjC,CAAC,EACDD,EAAQ,gBAAgB,KAAK,KAAK,qBAAqB,EACvD,MAAME,EAAyB,MAAM,IAAI,0BAAwB,KAAK,IAAK,CACzE,KAAMF,EAAQ,MAAM,EACpB,eAAiBF,GACf,IAAI,0BAAwB,CAC1B,sBAAuBA,EAAK,YAC5B,aAAcA,EAAK,YACrB,CAAC,CACL,CAAC,EAAE,IAAI,EAEP,GAAI,IAAC,0BAAuBI,CAAsB,EAChD,SAAO,QAAKA,CAAsB,EAGpC,GAAI,KAAK,KAAK,QAAQ,2BAA4B,CAChD,KAAM,CAAE,eAAgBC,EAAU,QAASC,CAAY,EACrD,KAAK,KAAK,QAAQ,2BACpB,MAAM,KAAK,IAAI,YACb,IAAI,yBAAuB,CACzB,SAAAD,EACA,YAAAC,CACF,CAAC,CACH,CACF,CAGA,MAAMC,EAAwB,MAAM,IAAI,0BAAwB,KAAK,IAAK,CACxE,QAAS,KAAK,KAAK,QAAQ,gBAC3B,eAAiBP,GACf,IAAI,uCAAqC,CACvC,KAAMA,EAAK,YACX,aAAcA,EAAK,YACrB,CAAC,CACL,CAAC,EAAE,IAAI,EAEP,GAAI,IAAC,0BAAuBO,CAAqB,EAC/C,SAAO,QAAKA,CAAqB,EAInC,UAAWC,KAAS,KAAK,KAAK,QAAQ,kBAAmB,CACvD,MAAMC,EAAS,MAAM,IAAI,yCACvB,KAAK,IACL,CACE,MAAAD,EACA,sBAAuB,KAAK,KAAK,sBACjC,QAAS,KAAK,KAAK,QACnB,kBAAmB,KAAK,KAAK,kBAC7B,cAAe,KAAK,KAAK,cACzB,iBAAkB,KAAK,KAAK,QAAQ,gBACtC,CACF,EAAE,IAAI,EAEN,GAAIC,EAAO,OAAO,EAChB,OAAOA,CAEX,CAEA,OAAO,SACT,CACF",
|
|
6
|
+
"names": ["ProvideTransactionGenericContextTask_exports", "__export", "ProvideTransactionGenericContextTask", "__toCommonJS", "import_device_management_kit", "import_signer_utils", "import_purify_ts", "import_ProvideTransactionInformationCommand", "import_StoreTransactionCommand", "import_ProvideTransactionFieldDescriptionTask", "import_SendCommandInChunksTask", "import_SendPayloadInChunksTask", "api", "args", "paths", "builder", "path", "storeTransactionResult", "keyUsage", "certificate", "transactionInfoResult", "field", "result"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("@ledgerhq/device-management-kit"),
|
|
1
|
+
"use strict";var e=require("@ledgerhq/device-management-kit"),o=require("purify-ts"),m=require("../../app-binder/device-action/__test-utils__/makeInternalApi"),i=require("./ProvideTransactionFieldDescriptionTask"),r=require("./ProvideTransactionGenericContextTask"),a=require("./SendCommandInChunksTask"),c=require("./SendPayloadInChunksTask");describe("ProvideTransactionGenericContextTask",()=>{const y="44/60'/0'/0'/0/0",C=new Uint8Array([18,52]),d="0x5678",u=[],l=[],v=1,x={},T={},p={keyUsageNumber:0,payload:new Uint8Array([18,52])},s={derivationPath:y,serializedTransaction:C,context:{transactionInfo:d,transactionInfoCertificate:p,transactionFields:u,transactionEnums:l},chainId:v,transactionParser:x,contextModule:T},n=(0,m.makeDeviceActionInternalApiMock)();describe("run",()=>{beforeEach(()=>{vi.resetAllMocks()}),describe("should return an error",()=>{it("when storeTransactionResult fail",async()=>{vi.spyOn(a.SendCommandInChunksTask.prototype,"run").mockResolvedValue((0,e.CommandResultFactory)({error:new e.InvalidStatusWordError("storeTransactionError")})),vi.spyOn(n,"sendCommand").mockResolvedValueOnce((0,e.CommandResultFactory)({data:void 0}));const t=await new r.ProvideTransactionGenericContextTask(n,s).run();expect(t).toEqual((0,o.Just)((0,e.CommandResultFactory)({error:new e.InvalidStatusWordError("storeTransactionError")})))}),it("when provideTransactionInformationResult fail",async()=>{vi.spyOn(a.SendCommandInChunksTask.prototype,"run").mockResolvedValue((0,e.CommandResultFactory)({data:"0x1234"})),vi.spyOn(c.SendPayloadInChunksTask.prototype,"run").mockResolvedValue((0,e.CommandResultFactory)({error:new e.InvalidStatusWordError("provideTransactionInformationError")})),vi.spyOn(n,"sendCommand").mockResolvedValueOnce((0,e.CommandResultFactory)({data:void 0}));const t=await new r.ProvideTransactionGenericContextTask(n,s).run();expect(t).toEqual((0,o.Just)((0,e.CommandResultFactory)({error:new e.InvalidStatusWordError("provideTransactionInformationError")})))}),it("when ProvideTransactionGenericContextTask fail",async()=>{vi.spyOn(a.SendCommandInChunksTask.prototype,"run").mockResolvedValue((0,e.CommandResultFactory)({data:"0x1234"})),vi.spyOn(c.SendPayloadInChunksTask.prototype,"run").mockResolvedValue((0,e.CommandResultFactory)({data:"0x5678"})),vi.spyOn(i.ProvideTransactionFieldDescriptionTask.prototype,"run").mockResolvedValue((0,o.Just)((0,e.CommandResultFactory)({error:new e.InvalidStatusWordError("provideTransactionGenericContextTaskError")}))),vi.spyOn(n,"sendCommand").mockResolvedValueOnce((0,e.CommandResultFactory)({data:void 0}));const t=await new r.ProvideTransactionGenericContextTask(n,{...s,context:{transactionInfo:d,transactionInfoCertificate:p,transactionFields:[{}],transactionEnums:l}}).run();expect(t).toEqual((0,o.Just)((0,e.CommandResultFactory)({error:new e.InvalidStatusWordError("provideTransactionGenericContextTaskError")})))})}),it("should call ProvideTransactionFieldDescriptionTask for each field",async()=>{const t=["field-1","field-2"];vi.spyOn(a.SendCommandInChunksTask.prototype,"run").mockResolvedValue((0,e.CommandResultFactory)({data:"0x1234"})),vi.spyOn(c.SendPayloadInChunksTask.prototype,"run").mockResolvedValue((0,e.CommandResultFactory)({data:"0x5678"})),vi.spyOn(i.ProvideTransactionFieldDescriptionTask.prototype,"run").mockResolvedValue(o.Nothing),vi.spyOn(n,"sendCommand").mockResolvedValueOnce((0,e.CommandResultFactory)({data:void 0})),await new r.ProvideTransactionGenericContextTask(n,{...s,context:{transactionInfo:d,transactionInfoCertificate:p,transactionFields:t,transactionEnums:l}}).run(),expect(i.ProvideTransactionFieldDescriptionTask.prototype.run).toHaveBeenCalledTimes(2)}),it("should return Nothing when all fields are provided",async()=>{vi.spyOn(a.SendCommandInChunksTask.prototype,"run").mockResolvedValue((0,e.CommandResultFactory)({data:"0x1234"})),vi.spyOn(c.SendPayloadInChunksTask.prototype,"run").mockResolvedValue((0,e.CommandResultFactory)({data:"0x5678"})),vi.spyOn(i.ProvideTransactionFieldDescriptionTask.prototype,"run").mockResolvedValue(o.Nothing),vi.spyOn(n,"sendCommand").mockResolvedValueOnce((0,e.CommandResultFactory)({data:void 0}));const t=await new r.ProvideTransactionGenericContextTask(n,s).run();expect(t).toEqual(o.Nothing)}),it("should load the transaction info certificate",async()=>{vi.spyOn(a.SendCommandInChunksTask.prototype,"run").mockResolvedValue((0,e.CommandResultFactory)({data:"0x1234"})),vi.spyOn(c.SendPayloadInChunksTask.prototype,"run").mockResolvedValue((0,e.CommandResultFactory)({data:"0x5678"})),vi.spyOn(i.ProvideTransactionFieldDescriptionTask.prototype,"run").mockResolvedValue(o.Nothing),await new r.ProvideTransactionGenericContextTask(n,{...s,context:{transactionInfo:d,transactionInfoCertificate:p,transactionFields:u,transactionEnums:l}}).run(),expect(n.sendCommand).toHaveBeenCalledTimes(1)})})});
|
|
2
2
|
//# sourceMappingURL=ProvideTransactionGenericContextTask.test.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/internal/app-binder/task/ProvideTransactionGenericContextTask.test.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n type ClearSignContextSuccess,\n type ContextModule,\n} from \"@ledgerhq/context-module\";\nimport {\n type CommandErrorResult,\n CommandResultFactory,\n
|
|
5
|
-
"mappings": "
|
|
6
|
-
"names": ["import_device_management_kit", "import_purify_ts", "import_ProvideTransactionFieldDescriptionTask", "import_ProvideTransactionGenericContextTask", "import_SendCommandInChunksTask", "import_SendPayloadInChunksTask", "derivationPath", "serializedTransaction", "transactionInfo", "defaultArgs", "result", "fields"]
|
|
4
|
+
"sourcesContent": ["import {\n type ClearSignContextSuccess,\n type ClearSignContextSuccessType,\n type ClearSignContextType,\n type ContextModule,\n type PkiCertificate,\n} from \"@ledgerhq/context-module\";\nimport {\n type CommandErrorResult,\n CommandResultFactory,\n InvalidStatusWordError,\n} from \"@ledgerhq/device-management-kit\";\nimport { Just, Nothing } from \"purify-ts\";\n\nimport { makeDeviceActionInternalApiMock } from \"@internal/app-binder/device-action/__test-utils__/makeInternalApi\";\nimport { type TransactionParserService } from \"@internal/transaction/service/parser/TransactionParserService\";\n\nimport { ProvideTransactionFieldDescriptionTask } from \"./ProvideTransactionFieldDescriptionTask\";\nimport {\n ProvideTransactionGenericContextTask,\n type ProvideTransactionGenericContextTaskArgs,\n} from \"./ProvideTransactionGenericContextTask\";\nimport { SendCommandInChunksTask } from \"./SendCommandInChunksTask\";\nimport { SendPayloadInChunksTask } from \"./SendPayloadInChunksTask\";\n\ndescribe(\"ProvideTransactionGenericContextTask\", () => {\n const derivationPath = \"44/60'/0'/0'/0/0\";\n const serializedTransaction = new Uint8Array([0x12, 0x34]);\n const transactionInfo = \"0x5678\";\n const transactionFields: ClearSignContextSuccess<\n Exclude<ClearSignContextSuccessType, ClearSignContextType.ENUM>\n >[] = [];\n const transactionEnums: ClearSignContextSuccess<ClearSignContextType.ENUM>[] =\n [];\n const chainId = 1;\n const transactionParser = {} as TransactionParserService;\n const contextModule = {} as ContextModule;\n const transactionInfoCertificate: PkiCertificate = {\n keyUsageNumber: 0,\n payload: new Uint8Array([0x12, 0x34]),\n };\n\n const defaultArgs: ProvideTransactionGenericContextTaskArgs = {\n derivationPath,\n serializedTransaction,\n context: {\n transactionInfo,\n transactionInfoCertificate,\n transactionFields,\n transactionEnums,\n },\n chainId,\n transactionParser,\n contextModule,\n };\n\n const apiMock = makeDeviceActionInternalApiMock();\n\n describe(\"run\", () => {\n beforeEach(() => {\n vi.resetAllMocks();\n });\n\n describe(\"should return an error\", () => {\n it(\"when storeTransactionResult fail\", async () => {\n // GIVEN\n vi.spyOn(SendCommandInChunksTask.prototype, \"run\").mockResolvedValue(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"storeTransactionError\"),\n }),\n );\n // loadCertificateCommand\n vi.spyOn(apiMock, \"sendCommand\").mockResolvedValueOnce(\n CommandResultFactory({\n data: undefined,\n }),\n );\n\n // WHEN\n const result = await new ProvideTransactionGenericContextTask(\n apiMock,\n defaultArgs,\n ).run();\n\n // THEN\n expect(result).toEqual(\n Just(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"storeTransactionError\"),\n }),\n ),\n );\n });\n\n it(\"when provideTransactionInformationResult fail\", async () => {\n // GIVEN\n vi.spyOn(SendCommandInChunksTask.prototype, \"run\").mockResolvedValue(\n CommandResultFactory({\n data: \"0x1234\",\n }),\n );\n vi.spyOn(SendPayloadInChunksTask.prototype, \"run\").mockResolvedValue(\n CommandResultFactory({\n error: new InvalidStatusWordError(\n \"provideTransactionInformationError\",\n ),\n }),\n );\n // loadCertificateCommand\n vi.spyOn(apiMock, \"sendCommand\").mockResolvedValueOnce(\n CommandResultFactory({\n data: undefined,\n }),\n );\n\n // WHEN\n const result = await new ProvideTransactionGenericContextTask(\n apiMock,\n defaultArgs,\n ).run();\n\n // THEN\n expect(result).toEqual(\n Just(\n CommandResultFactory({\n error: new InvalidStatusWordError(\n \"provideTransactionInformationError\",\n ),\n }),\n ),\n );\n });\n\n it(\"when ProvideTransactionGenericContextTask fail\", async () => {\n // GIVEN\n vi.spyOn(SendCommandInChunksTask.prototype, \"run\").mockResolvedValue(\n CommandResultFactory({\n data: \"0x1234\",\n }),\n );\n vi.spyOn(SendPayloadInChunksTask.prototype, \"run\").mockResolvedValue(\n CommandResultFactory({\n data: \"0x5678\",\n }),\n );\n vi.spyOn(\n ProvideTransactionFieldDescriptionTask.prototype,\n \"run\",\n ).mockResolvedValue(\n Just(\n CommandResultFactory({\n error: new InvalidStatusWordError(\n \"provideTransactionGenericContextTaskError\",\n ),\n }) as CommandErrorResult,\n ),\n );\n // loadCertificateCommand\n vi.spyOn(apiMock, \"sendCommand\").mockResolvedValueOnce(\n CommandResultFactory({\n data: undefined,\n }),\n );\n\n // WHEN\n const result = await new ProvideTransactionGenericContextTask(apiMock, {\n ...defaultArgs,\n context: {\n transactionInfo,\n transactionInfoCertificate,\n transactionFields: [\n {} as ClearSignContextSuccess<ClearSignContextType.TRANSACTION_INFO>,\n ],\n transactionEnums,\n },\n }).run();\n\n // THEN\n expect(result).toEqual(\n Just(\n CommandResultFactory({\n error: new InvalidStatusWordError(\n \"provideTransactionGenericContextTaskError\",\n ),\n }),\n ),\n );\n });\n });\n\n it(\"should call ProvideTransactionFieldDescriptionTask for each field\", async () => {\n // GIVEN\n const fields: ClearSignContextSuccess<ClearSignContextType.TRANSACTION_FIELD_DESCRIPTION>[] =\n [\n \"field-1\" as unknown as ClearSignContextSuccess<ClearSignContextType.TRANSACTION_FIELD_DESCRIPTION>,\n \"field-2\" as unknown as ClearSignContextSuccess<ClearSignContextType.TRANSACTION_FIELD_DESCRIPTION>,\n ];\n vi.spyOn(SendCommandInChunksTask.prototype, \"run\").mockResolvedValue(\n CommandResultFactory({\n data: \"0x1234\",\n }),\n );\n vi.spyOn(SendPayloadInChunksTask.prototype, \"run\").mockResolvedValue(\n CommandResultFactory({\n data: \"0x5678\",\n }),\n );\n vi.spyOn(\n ProvideTransactionFieldDescriptionTask.prototype,\n \"run\",\n ).mockResolvedValue(Nothing);\n // loadCertificateCommand\n vi.spyOn(apiMock, \"sendCommand\").mockResolvedValueOnce(\n CommandResultFactory({\n data: undefined,\n }),\n );\n\n // WHEN\n await new ProvideTransactionGenericContextTask(apiMock, {\n ...defaultArgs,\n context: {\n transactionInfo,\n transactionInfoCertificate,\n transactionFields: fields,\n transactionEnums,\n },\n }).run();\n\n // THEN\n expect(\n ProvideTransactionFieldDescriptionTask.prototype.run,\n ).toHaveBeenCalledTimes(2);\n });\n\n it(\"should return Nothing when all fields are provided\", async () => {\n // GIVEN\n vi.spyOn(SendCommandInChunksTask.prototype, \"run\").mockResolvedValue(\n CommandResultFactory({\n data: \"0x1234\",\n }),\n );\n vi.spyOn(SendPayloadInChunksTask.prototype, \"run\").mockResolvedValue(\n CommandResultFactory({\n data: \"0x5678\",\n }),\n );\n vi.spyOn(\n ProvideTransactionFieldDescriptionTask.prototype,\n \"run\",\n ).mockResolvedValue(Nothing);\n // loadCertificateCommand\n vi.spyOn(apiMock, \"sendCommand\").mockResolvedValueOnce(\n CommandResultFactory({\n data: undefined,\n }),\n );\n\n // WHEN\n const result = await new ProvideTransactionGenericContextTask(\n apiMock,\n defaultArgs,\n ).run();\n\n // THEN\n expect(result).toEqual(Nothing);\n });\n\n it(\"should load the transaction info certificate\", async () => {\n // GIVEN\n vi.spyOn(SendCommandInChunksTask.prototype, \"run\").mockResolvedValue(\n CommandResultFactory({\n data: \"0x1234\",\n }),\n );\n vi.spyOn(SendPayloadInChunksTask.prototype, \"run\").mockResolvedValue(\n CommandResultFactory({\n data: \"0x5678\",\n }),\n );\n vi.spyOn(\n ProvideTransactionFieldDescriptionTask.prototype,\n \"run\",\n ).mockResolvedValue(Nothing);\n\n // WHEN\n await new ProvideTransactionGenericContextTask(apiMock, {\n ...defaultArgs,\n context: {\n transactionInfo,\n transactionInfoCertificate,\n transactionFields,\n transactionEnums,\n },\n }).run();\n\n // THEN\n expect(apiMock.sendCommand).toHaveBeenCalledTimes(1);\n });\n });\n});\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["import_device_management_kit", "import_purify_ts", "import_makeInternalApi", "import_ProvideTransactionFieldDescriptionTask", "import_ProvideTransactionGenericContextTask", "import_SendCommandInChunksTask", "import_SendPayloadInChunksTask", "derivationPath", "serializedTransaction", "transactionInfo", "transactionFields", "transactionEnums", "chainId", "transactionParser", "contextModule", "transactionInfoCertificate", "defaultArgs", "apiMock", "result", "fields"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var d=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var
|
|
1
|
+
"use strict";var d=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var C=Object.prototype.hasOwnProperty;var l=(r,a)=>{for(var e in a)d(r,e,{get:a[e],enumerable:!0})},h=(r,a,e,o)=>{if(a&&typeof a=="object"||typeof a=="function")for(let t of u(a))!C.call(r,t)&&t!==e&&d(r,t,{get:()=>a[t],enumerable:!(o=i(a,t))||o.enumerable});return r};var c=r=>h(d({},"__esModule",{value:!0}),r);var k={};l(k,{SendCommandInChunksTask:()=>p});module.exports=c(k);var n=require("@ledgerhq/device-management-kit");class p{constructor(a,e){this.api=a;this.args=e}async run(){const{data:a,commandFactory:e}=this.args,o=new n.ByteArrayBuilder(a.length).addBufferToData(a).build();for(let t=0;t<o.length;t+=n.APDU_MAX_PAYLOAD){const m=t+n.APDU_MAX_PAYLOAD>=o.length,s=await this.api.sendCommand(e({chunkedData:o.slice(t,t+n.APDU_MAX_PAYLOAD),isFirstChunk:t===0}));if(!(0,n.isSuccessCommandResult)(s))return s;if(m)return(0,n.CommandResultFactory)({data:s.data})}throw new n.InvalidStatusWordError("No result")}}0&&(module.exports={SendCommandInChunksTask});
|
|
2
2
|
//# sourceMappingURL=SendCommandInChunksTask.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/internal/app-binder/task/SendCommandInChunksTask.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n APDU_MAX_PAYLOAD,\n ByteArrayBuilder,\n type Command,\n type CommandResult,\n CommandResultFactory,\n type InternalApi,\n InvalidStatusWordError,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\n\nexport type SendCommandInChunksTaskArgs<T> = {\n data: Uint8Array;\n commandFactory: <V extends ChunkableCommandArgs & Record<string, unknown>>(\n args: ChunkableCommandArgs,\n ) => Command<T, V>;\n};\n\nexport type ChunkableCommandArgs = {\n chunkedData: Uint8Array;\n isFirstChunk: boolean;\n};\n\nexport class SendCommandInChunksTask<T> {\n constructor(\n private api: InternalApi,\n private args: SendCommandInChunksTaskArgs<T>,\n ) {}\n\n async run(): Promise<CommandResult<T,
|
|
5
|
-
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,6BAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EASO,
|
|
4
|
+
"sourcesContent": ["import {\n APDU_MAX_PAYLOAD,\n ByteArrayBuilder,\n type Command,\n type CommandResult,\n CommandResultFactory,\n type InternalApi,\n InvalidStatusWordError,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { type EthErrorCodes } from \"@internal/app-binder/command/utils/ethAppErrors\";\n\nexport type SendCommandInChunksTaskArgs<T> = {\n data: Uint8Array;\n commandFactory: <V extends ChunkableCommandArgs & Record<string, unknown>>(\n args: ChunkableCommandArgs,\n ) => Command<T, V, EthErrorCodes>;\n};\n\nexport type ChunkableCommandArgs = {\n chunkedData: Uint8Array;\n isFirstChunk: boolean;\n};\n\nexport class SendCommandInChunksTask<T> {\n constructor(\n private api: InternalApi,\n private args: SendCommandInChunksTaskArgs<T>,\n ) {}\n\n async run(): Promise<CommandResult<T, EthErrorCodes>> {\n const { data: payload, commandFactory } = this.args;\n\n const data = new ByteArrayBuilder(payload.length)\n .addBufferToData(payload)\n .build();\n\n for (let i = 0; i < data.length; i += APDU_MAX_PAYLOAD) {\n const isLastChunk = i + APDU_MAX_PAYLOAD >= data.length;\n const result = await this.api.sendCommand(\n commandFactory({\n chunkedData: data.slice(i, i + APDU_MAX_PAYLOAD),\n isFirstChunk: i === 0,\n }),\n );\n\n if (!isSuccessCommandResult(result)) {\n return result;\n }\n\n // return the last result\n if (isLastChunk) {\n return CommandResultFactory({\n data: result.data,\n });\n }\n }\n\n throw new InvalidStatusWordError(\"No result\");\n }\n}\n"],
|
|
5
|
+
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,6BAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EASO,2CAgBA,MAAMF,CAA2B,CACtC,YACUG,EACAC,EACR,CAFQ,SAAAD,EACA,UAAAC,CACP,CAEH,MAAM,KAAgD,CACpD,KAAM,CAAE,KAAMC,EAAS,eAAAC,CAAe,EAAI,KAAK,KAEzCC,EAAO,IAAI,mBAAiBF,EAAQ,MAAM,EAC7C,gBAAgBA,CAAO,EACvB,MAAM,EAET,QAASG,EAAI,EAAGA,EAAID,EAAK,OAAQC,GAAK,mBAAkB,CACtD,MAAMC,EAAcD,EAAI,oBAAoBD,EAAK,OAC3CG,EAAS,MAAM,KAAK,IAAI,YAC5BJ,EAAe,CACb,YAAaC,EAAK,MAAMC,EAAGA,EAAI,kBAAgB,EAC/C,aAAcA,IAAM,CACtB,CAAC,CACH,EAEA,GAAI,IAAC,0BAAuBE,CAAM,EAChC,OAAOA,EAIT,GAAID,EACF,SAAO,wBAAqB,CAC1B,KAAMC,EAAO,IACf,CAAC,CAEL,CAEA,MAAM,IAAI,yBAAuB,WAAW,CAC9C,CACF",
|
|
6
6
|
"names": ["SendCommandInChunksTask_exports", "__export", "SendCommandInChunksTask", "__toCommonJS", "import_device_management_kit", "api", "args", "payload", "commandFactory", "data", "i", "isLastChunk", "result"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var i=Object.defineProperty;var
|
|
1
|
+
"use strict";var i=Object.defineProperty;var o=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var p=(a,t)=>{for(var r in t)i(a,r,{get:t[r],enumerable:!0})},d=(a,t,r,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of u(t))!l.call(a,n)&&n!==r&&i(a,n,{get:()=>t[n],enumerable:!(s=o(t,n))||s.enumerable});return a};var y=a=>d(i({},"__esModule",{value:!0}),a);var c={};p(c,{SendEIP712StructImplemTask:()=>I});module.exports=y(c);var e=require("@ledgerhq/device-management-kit"),m=require("../../app-binder/command/SendEIP712StructImplemCommand");class I{constructor(t,r){this.api=t;this.args=r}async run(){if(this.args.type!==m.StructImplemType.FIELD)return await this.api.sendCommand(new m.SendEIP712StructImplemCommand(this.args));let t=(0,e.CommandResultFactory)({data:void 0});const r=new e.ByteArrayBuilder(this.args.value.length+2).add16BitUIntToData(this.args.value.length).addBufferToData(this.args.value).build();for(let s=0;s<r.length;s+=e.APDU_MAX_PAYLOAD)if(t=await this.api.sendCommand(new m.SendEIP712StructImplemCommand({type:m.StructImplemType.FIELD,value:{data:r.slice(s,s+e.APDU_MAX_PAYLOAD),isLastChunk:s>=r.length-e.APDU_MAX_PAYLOAD}})),!(0,e.isSuccessCommandResult)(t))return t;return t}}0&&(module.exports={SendEIP712StructImplemTask});
|
|
2
2
|
//# sourceMappingURL=SendEIP712StructImplemTask.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/internal/app-binder/task/SendEIP712StructImplemTask.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n APDU_MAX_PAYLOAD,\n ByteArrayBuilder,\n type CommandResult,\n CommandResultFactory,\n type InternalApi,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\n\nimport {\n SendEIP712StructImplemCommand,\n StructImplemType,\n} from \"@internal/app-binder/command/SendEIP712StructImplemCommand\";\n\nexport type SendEIP712StructImplemTaskArgs =\n | {\n type: StructImplemType.ROOT;\n value: string;\n }\n | {\n type: StructImplemType.ARRAY;\n value: number;\n }\n | {\n type: StructImplemType.FIELD;\n value: Uint8Array;\n };\n\nexport class SendEIP712StructImplemTask {\n constructor(\n private api: InternalApi,\n private args: SendEIP712StructImplemTaskArgs,\n ) {}\n\n async run(): Promise<CommandResult<void>> {\n // No particular operation to perform on root and array implementations.\n if (this.args.type !== StructImplemType.FIELD) {\n return await this.api.sendCommand(\n new SendEIP712StructImplemCommand(this.args),\n );\n }\n\n // If the value is a field, we should prepend its size, and chunk it if necessary.\n\n let result
|
|
5
|
-
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,gCAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAOO,2CAEPC,EAGO,
|
|
4
|
+
"sourcesContent": ["import {\n APDU_MAX_PAYLOAD,\n ByteArrayBuilder,\n type CommandResult,\n CommandResultFactory,\n type InternalApi,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\n\nimport {\n SendEIP712StructImplemCommand,\n StructImplemType,\n} from \"@internal/app-binder/command/SendEIP712StructImplemCommand\";\nimport { type EthErrorCodes } from \"@internal/app-binder/command/utils/ethAppErrors\";\n\nexport type SendEIP712StructImplemTaskArgs =\n | {\n type: StructImplemType.ROOT;\n value: string;\n }\n | {\n type: StructImplemType.ARRAY;\n value: number;\n }\n | {\n type: StructImplemType.FIELD;\n value: Uint8Array;\n };\n\nexport class SendEIP712StructImplemTask {\n constructor(\n private api: InternalApi,\n private args: SendEIP712StructImplemTaskArgs,\n ) {}\n\n async run(): Promise<CommandResult<void, EthErrorCodes>> {\n // No particular operation to perform on root and array implementations.\n if (this.args.type !== StructImplemType.FIELD) {\n return await this.api.sendCommand(\n new SendEIP712StructImplemCommand(this.args),\n );\n }\n\n // If the value is a field, we should prepend its size, and chunk it if necessary.\n\n let result: CommandResult<void, EthErrorCodes> = CommandResultFactory<\n void,\n EthErrorCodes\n >({ data: undefined });\n // Prepend the length to the array, in uint16 big endian encoding\n const buffer = new ByteArrayBuilder(this.args.value.length + 2)\n .add16BitUIntToData(this.args.value.length)\n .addBufferToData(this.args.value)\n .build();\n\n // Split the buffer into chunks if necessary\n for (let i = 0; i < buffer.length; i += APDU_MAX_PAYLOAD) {\n result = await this.api.sendCommand(\n new SendEIP712StructImplemCommand({\n type: StructImplemType.FIELD,\n value: {\n data: buffer.slice(i, i + APDU_MAX_PAYLOAD),\n isLastChunk: i >= buffer.length - APDU_MAX_PAYLOAD,\n },\n }),\n );\n if (!isSuccessCommandResult(result)) {\n return result;\n }\n }\n return result;\n }\n}\n"],
|
|
5
|
+
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,gCAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAOO,2CAEPC,EAGO,sEAiBA,MAAMH,CAA2B,CACtC,YACUI,EACAC,EACR,CAFQ,SAAAD,EACA,UAAAC,CACP,CAEH,MAAM,KAAmD,CAEvD,GAAI,KAAK,KAAK,OAAS,mBAAiB,MACtC,OAAO,MAAM,KAAK,IAAI,YACpB,IAAI,gCAA8B,KAAK,IAAI,CAC7C,EAKF,IAAIC,KAA6C,wBAG/C,CAAE,KAAM,MAAU,CAAC,EAErB,MAAMC,EAAS,IAAI,mBAAiB,KAAK,KAAK,MAAM,OAAS,CAAC,EAC3D,mBAAmB,KAAK,KAAK,MAAM,MAAM,EACzC,gBAAgB,KAAK,KAAK,KAAK,EAC/B,MAAM,EAGT,QAASC,EAAI,EAAGA,EAAID,EAAO,OAAQC,GAAK,mBAUtC,GATAF,EAAS,MAAM,KAAK,IAAI,YACtB,IAAI,gCAA8B,CAChC,KAAM,mBAAiB,MACvB,MAAO,CACL,KAAMC,EAAO,MAAMC,EAAGA,EAAI,kBAAgB,EAC1C,YAAaA,GAAKD,EAAO,OAAS,kBACpC,CACF,CAAC,CACH,EACI,IAAC,0BAAuBD,CAAM,EAChC,OAAOA,EAGX,OAAOA,CACT,CACF",
|
|
6
6
|
"names": ["SendEIP712StructImplemTask_exports", "__export", "SendEIP712StructImplemTask", "__toCommonJS", "import_device_management_kit", "import_SendEIP712StructImplemCommand", "api", "args", "result", "buffer", "i"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var t=require("@ledgerhq/device-management-kit"),e=require("../../app-binder/command/SendEIP712StructImplemCommand"),n=require("../../app-binder/device-action/__test-utils__/makeInternalApi"),c=require("./SendEIP712StructImplemTask");describe("SendEIP712StructImplemTask",()=>{const x=(0,n.makeDeviceActionInternalApiMock)();beforeEach(()=>{
|
|
1
|
+
"use strict";var t=require("@ledgerhq/device-management-kit"),e=require("../../app-binder/command/SendEIP712StructImplemCommand"),n=require("../../app-binder/device-action/__test-utils__/makeInternalApi"),c=require("./SendEIP712StructImplemTask");describe("SendEIP712StructImplemTask",()=>{const x=(0,n.makeDeviceActionInternalApiMock)();beforeEach(()=>{vi.resetAllMocks()}),it("Should forward root implementations",async()=>{const a={type:e.StructImplemType.ROOT,value:"root name"};await new c.SendEIP712StructImplemTask(x,a).run(),expect(x.sendCommand.mock.calls).toHaveLength(1),expect(x.sendCommand.mock.calls[0][0]).toStrictEqual(new e.SendEIP712StructImplemCommand({type:e.StructImplemType.ROOT,value:"root name"}))}),it("Should forward array implementations",async()=>{const a={type:e.StructImplemType.ARRAY,value:42};await new c.SendEIP712StructImplemTask(x,a).run(),expect(x.sendCommand.mock.calls).toHaveLength(1),expect(x.sendCommand.mock.calls[0][0]).toStrictEqual(new e.SendEIP712StructImplemCommand({type:e.StructImplemType.ARRAY,value:42}))}),it("Should prepend length to small field implementations",async()=>{const a={type:e.StructImplemType.FIELD,value:Uint8Array.from([186,242,18,123,73,252,147,203,202,98,105,250,222,15,127,49,223,76,136,167])};x.sendCommand.mockResolvedValue((0,t.CommandResultFactory)({data:void 0})),await new c.SendEIP712StructImplemTask(x,a).run(),expect(x.sendCommand.mock.calls).toHaveLength(1),expect(x.sendCommand.mock.calls[0][0]).toStrictEqual(new e.SendEIP712StructImplemCommand({type:e.StructImplemType.FIELD,value:{data:Uint8Array.from([0,20,186,242,18,123,73,252,147,203,202,98,105,250,222,15,127,49,223,76,136,167]),isLastChunk:!0}}))}),it("Should prepend length and chunk big field implementations",async()=>{const a={type:e.StructImplemType.FIELD,value:Uint8Array.from([150,128,159,144,0,0,0,0,0,0,0,0,0,0,0,0,17,47,7,50,229,158,118,0,118,141,252,53,186,116,75,137,242,53,108,216,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,73,95,148,114,118,116,156,230,70,246,138,200,194,72,66,0,69,203,123,94,189,242,101,127,252,31,173,253,115,207,10,140,222,149,213,11,98,211,223,140,0,0,0,0,0,0,7,0,0,0,0,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0])};x.sendCommand.mockResolvedValue((0,t.CommandResultFactory)({data:void 0})),await new c.SendEIP712StructImplemTask(x,a).run(),expect(x.sendCommand.mock.calls).toHaveLength(2),expect(x.sendCommand.mock.calls[0][0]).toStrictEqual(new e.SendEIP712StructImplemCommand({type:e.StructImplemType.FIELD,value:{data:Uint8Array.from([1,4,150,128,159,144,0,0,0,0,0,0,0,0,0,0,0,0,17,47,7,50,229,158,118,0,118,141,252,53,186,116,75,137,242,53,108,216,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,73,95,148,114,118,116,156,230,70,246,138,200,194,72,66,0,69,203,123,94,189,242,101,127,252,31,173,253,115,207,10,140,222,149,213,11,98,211,223,140,0,0,0,0,0,0,7,0,0,0,0,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),isLastChunk:!1}})),expect(x.sendCommand.mock.calls[1][0]).toStrictEqual(new e.SendEIP712StructImplemCommand({type:e.StructImplemType.FIELD,value:{data:Uint8Array.from([0,0,0,0,0,0,0]),isLastChunk:!0}}))}),it("Should fail if the command failed to be sent",async()=>{const a={type:e.StructImplemType.ROOT,value:"root name"};x.sendCommand.mockRejectedValueOnce(new Error("error")),await expect(new c.SendEIP712StructImplemTask(x,a).run()).rejects.toStrictEqual(new Error("error"))}),it("Should fail if a chunked command failed to be sent",async()=>{const a={type:e.StructImplemType.FIELD,value:Uint8Array.from([150,128,159,144,0,0,0,0,0,0,0,0,0,0,0,0,17,47,7,50,229,158,118,0,118,141,252,53,186,116,75,137,242,53,108,216,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,73,95,148,114,118,116,156,230,70,246,138,200,194,72,66,0,69,203,123,94,189,242,101,127,252,31,173,253,115,207,10,140,222,149,213,11,98,211,223,140,0,0,0,0,0,0,7,0,0,0,0,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0])};x.sendCommand.mockResolvedValue((0,t.CommandResultFactory)({error:new t.UnknownDeviceExchangeError("error")})),await expect(new c.SendEIP712StructImplemTask(x,a).run()).resolves.toStrictEqual((0,t.CommandResultFactory)({error:new t.UnknownDeviceExchangeError("error")}))})});
|
|
2
2
|
//# sourceMappingURL=SendEIP712StructImplemTask.test.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/internal/app-binder/task/SendEIP712StructImplemTask.test.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n CommandResultFactory,\n UnknownDeviceExchangeError,\n} from \"@ledgerhq/device-management-kit\";\n\nimport {\n SendEIP712StructImplemCommand,\n StructImplemType,\n} from \"@internal/app-binder/command/SendEIP712StructImplemCommand\";\nimport { makeDeviceActionInternalApiMock } from \"@internal/app-binder/device-action/__test-utils__/makeInternalApi\";\n\nimport {\n SendEIP712StructImplemTask,\n type SendEIP712StructImplemTaskArgs,\n} from \"./SendEIP712StructImplemTask\";\n\ndescribe(\"SendEIP712StructImplemTask\", () => {\n const apiMock = makeDeviceActionInternalApiMock();\n\n beforeEach(() => {\n jest.resetAllMocks();\n });\n\n it(\"Should forward root implementations\", async () => {\n // GIVEN\n const args: SendEIP712StructImplemTaskArgs = {\n type: StructImplemType.ROOT,\n value: \"root name\",\n };\n // WHEN\n await new SendEIP712StructImplemTask(apiMock, args).run();\n // THEN\n expect(apiMock.sendCommand.mock.calls).toHaveLength(1);\n expect(apiMock.sendCommand.mock.calls[0]![0]).toStrictEqual(\n new SendEIP712StructImplemCommand({\n type: StructImplemType.ROOT,\n value: \"root name\",\n }),\n );\n });\n\n it(\"Should forward array implementations\", async () => {\n // GIVEN\n const args: SendEIP712StructImplemTaskArgs = {\n type: StructImplemType.ARRAY,\n value: 42,\n };\n // WHEN\n await new SendEIP712StructImplemTask(apiMock, args).run();\n // THEN\n expect(apiMock.sendCommand.mock.calls).toHaveLength(1);\n expect(apiMock.sendCommand.mock.calls[0]![0]).toStrictEqual(\n new SendEIP712StructImplemCommand({\n type: StructImplemType.ARRAY,\n value: 42,\n }),\n );\n });\n\n it(\"Should prepend length to small field implementations\", async () => {\n // GIVEN\n const args: SendEIP712StructImplemTaskArgs = {\n type: StructImplemType.FIELD,\n value: Uint8Array.from([\n 0xba, 0xf2, 0x12, 0x7b, 0x49, 0xfc, 0x93, 0xcb, 0xca, 0x62, 0x69, 0xfa,\n 0xde, 0x0f, 0x7f, 0x31, 0xdf, 0x4c, 0x88, 0xa7,\n ]),\n };\n // WHEN\n apiMock.sendCommand.mockResolvedValue(\n CommandResultFactory({ data: undefined }),\n );\n await new SendEIP712StructImplemTask(apiMock, args).run();\n // THEN\n expect(apiMock.sendCommand.mock.calls).toHaveLength(1);\n expect(apiMock.sendCommand.mock.calls[0]![0]).toStrictEqual(\n new SendEIP712StructImplemCommand({\n type: StructImplemType.FIELD,\n value: {\n data: Uint8Array.from([\n 0x00, 0x14, 0xba, 0xf2, 0x12, 0x7b, 0x49, 0xfc, 0x93, 0xcb, 0xca,\n 0x62, 0x69, 0xfa, 0xde, 0x0f, 0x7f, 0x31, 0xdf, 0x4c, 0x88, 0xa7,\n ]),\n isLastChunk: true,\n },\n }),\n );\n });\n\n it(\"Should prepend length and chunk big field implementations\", async () => {\n // GIVEN\n const args: SendEIP712StructImplemTaskArgs = {\n type: StructImplemType.FIELD,\n value: Uint8Array.from([\n 0x96, 0x80, 0x9f, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x11, 0x2f, 0x07, 0x32, 0xe5, 0x9e, 0x76, 0x00,\n 0x76, 0x8d, 0xfc, 0x35, 0xba, 0x74, 0x4b, 0x89, 0xf2, 0x35, 0x6c, 0xd8,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x5f, 0x94, 0x72,\n 0x76, 0x74, 0x9c, 0xe6, 0x46, 0xf6, 0x8a, 0xc8, 0xc2, 0x48, 0x42, 0x00,\n 0x45, 0xcb, 0x7b, 0x5e, 0xbd, 0xf2, 0x65, 0x7f, 0xfc, 0x1f, 0xad, 0xfd,\n 0x73, 0xcf, 0x0a, 0x8c, 0xde, 0x95, 0xd5, 0x0b, 0x62, 0xd3, 0xdf, 0x8c,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x32,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n ]),\n };\n // WHEN\n apiMock.sendCommand.mockResolvedValue(\n CommandResultFactory({ data: undefined }),\n );\n await new SendEIP712StructImplemTask(apiMock, args).run();\n // THEN\n expect(apiMock.sendCommand.mock.calls).toHaveLength(2);\n expect(apiMock.sendCommand.mock.calls[0]![0]).toStrictEqual(\n new SendEIP712StructImplemCommand({\n type: StructImplemType.FIELD,\n value: {\n data: Uint8Array.from([\n 0x01, 0x04, 0x96, 0x80, 0x9f, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x2f, 0x07, 0x32,\n 0xe5, 0x9e, 0x76, 0x00, 0x76, 0x8d, 0xfc, 0x35, 0xba, 0x74, 0x4b,\n 0x89, 0xf2, 0x35, 0x6c, 0xd8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x5f, 0x94, 0x72, 0x76, 0x74,\n 0x9c, 0xe6, 0x46, 0xf6, 0x8a, 0xc8, 0xc2, 0x48, 0x42, 0x00, 0x45,\n 0xcb, 0x7b, 0x5e, 0xbd, 0xf2, 0x65, 0x7f, 0xfc, 0x1f, 0xad, 0xfd,\n 0x73, 0xcf, 0x0a, 0x8c, 0xde, 0x95, 0xd5, 0x0b, 0x62, 0xd3, 0xdf,\n 0x8c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00,\n 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00,\n ]),\n isLastChunk: false,\n },\n }),\n );\n expect(apiMock.sendCommand.mock.calls[1]![0]).toStrictEqual(\n new SendEIP712StructImplemCommand({\n type: StructImplemType.FIELD,\n value: {\n data: Uint8Array.from([0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]),\n isLastChunk: true,\n },\n }),\n );\n });\n\n it(\"Should fail if the command failed to be sent\", async () => {\n // GIVEN\n const args: SendEIP712StructImplemTaskArgs = {\n type: StructImplemType.ROOT,\n value: \"root name\",\n };\n // WHEN\n apiMock.sendCommand.mockRejectedValueOnce(new Error(\"error\"));\n // THEN\n await expect(\n new SendEIP712StructImplemTask(apiMock, args).run(),\n ).rejects.toStrictEqual(new Error(\"error\"));\n });\n\n it(\"Should fail if a chunked command failed to be sent\", async () => {\n // GIVEN\n const args: SendEIP712StructImplemTaskArgs = {\n type: StructImplemType.FIELD,\n value: Uint8Array.from([\n 0x96, 0x80, 0x9f, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x11, 0x2f, 0x07, 0x32, 0xe5, 0x9e, 0x76, 0x00,\n 0x76, 0x8d, 0xfc, 0x35, 0xba, 0x74, 0x4b, 0x89, 0xf2, 0x35, 0x6c, 0xd8,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x5f, 0x94, 0x72,\n 0x76, 0x74, 0x9c, 0xe6, 0x46, 0xf6, 0x8a, 0xc8, 0xc2, 0x48, 0x42, 0x00,\n 0x45, 0xcb, 0x7b, 0x5e, 0xbd, 0xf2, 0x65, 0x7f, 0xfc, 0x1f, 0xad, 0xfd,\n 0x73, 0xcf, 0x0a, 0x8c, 0xde, 0x95, 0xd5, 0x0b, 0x62, 0xd3, 0xdf, 0x8c,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x32,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n ]),\n };\n // WHEN\n apiMock.sendCommand.mockResolvedValue(\n CommandResultFactory({\n error: new UnknownDeviceExchangeError(\"error\"),\n }),\n );\n // THEN\n await expect(\n new SendEIP712StructImplemTask(apiMock, args).run(),\n ).resolves.toStrictEqual(\n CommandResultFactory({ error: new UnknownDeviceExchangeError(\"error\") }),\n );\n });\n});\n"],
|
|
5
|
-
"mappings": "aAAA,IAAAA,EAGO,2CAEPC,EAGO,sEACPC,EAAgD,6EAEhDC,EAGO,wCAEP,SAAS,6BAA8B,IAAM,CAC3C,MAAMC,KAAU,mCAAgC,EAEhD,WAAW,IAAM,CACf,
|
|
4
|
+
"sourcesContent": ["import {\n CommandResultFactory,\n UnknownDeviceExchangeError,\n} from \"@ledgerhq/device-management-kit\";\n\nimport {\n SendEIP712StructImplemCommand,\n StructImplemType,\n} from \"@internal/app-binder/command/SendEIP712StructImplemCommand\";\nimport { makeDeviceActionInternalApiMock } from \"@internal/app-binder/device-action/__test-utils__/makeInternalApi\";\n\nimport {\n SendEIP712StructImplemTask,\n type SendEIP712StructImplemTaskArgs,\n} from \"./SendEIP712StructImplemTask\";\n\ndescribe(\"SendEIP712StructImplemTask\", () => {\n const apiMock = makeDeviceActionInternalApiMock();\n\n beforeEach(() => {\n vi.resetAllMocks();\n });\n\n it(\"Should forward root implementations\", async () => {\n // GIVEN\n const args: SendEIP712StructImplemTaskArgs = {\n type: StructImplemType.ROOT,\n value: \"root name\",\n };\n // WHEN\n await new SendEIP712StructImplemTask(apiMock, args).run();\n // THEN\n expect(apiMock.sendCommand.mock.calls).toHaveLength(1);\n expect(apiMock.sendCommand.mock.calls[0]![0]).toStrictEqual(\n new SendEIP712StructImplemCommand({\n type: StructImplemType.ROOT,\n value: \"root name\",\n }),\n );\n });\n\n it(\"Should forward array implementations\", async () => {\n // GIVEN\n const args: SendEIP712StructImplemTaskArgs = {\n type: StructImplemType.ARRAY,\n value: 42,\n };\n // WHEN\n await new SendEIP712StructImplemTask(apiMock, args).run();\n // THEN\n expect(apiMock.sendCommand.mock.calls).toHaveLength(1);\n expect(apiMock.sendCommand.mock.calls[0]![0]).toStrictEqual(\n new SendEIP712StructImplemCommand({\n type: StructImplemType.ARRAY,\n value: 42,\n }),\n );\n });\n\n it(\"Should prepend length to small field implementations\", async () => {\n // GIVEN\n const args: SendEIP712StructImplemTaskArgs = {\n type: StructImplemType.FIELD,\n value: Uint8Array.from([\n 0xba, 0xf2, 0x12, 0x7b, 0x49, 0xfc, 0x93, 0xcb, 0xca, 0x62, 0x69, 0xfa,\n 0xde, 0x0f, 0x7f, 0x31, 0xdf, 0x4c, 0x88, 0xa7,\n ]),\n };\n // WHEN\n apiMock.sendCommand.mockResolvedValue(\n CommandResultFactory({ data: undefined }),\n );\n await new SendEIP712StructImplemTask(apiMock, args).run();\n // THEN\n expect(apiMock.sendCommand.mock.calls).toHaveLength(1);\n expect(apiMock.sendCommand.mock.calls[0]![0]).toStrictEqual(\n new SendEIP712StructImplemCommand({\n type: StructImplemType.FIELD,\n value: {\n data: Uint8Array.from([\n 0x00, 0x14, 0xba, 0xf2, 0x12, 0x7b, 0x49, 0xfc, 0x93, 0xcb, 0xca,\n 0x62, 0x69, 0xfa, 0xde, 0x0f, 0x7f, 0x31, 0xdf, 0x4c, 0x88, 0xa7,\n ]),\n isLastChunk: true,\n },\n }),\n );\n });\n\n it(\"Should prepend length and chunk big field implementations\", async () => {\n // GIVEN\n const args: SendEIP712StructImplemTaskArgs = {\n type: StructImplemType.FIELD,\n value: Uint8Array.from([\n 0x96, 0x80, 0x9f, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x11, 0x2f, 0x07, 0x32, 0xe5, 0x9e, 0x76, 0x00,\n 0x76, 0x8d, 0xfc, 0x35, 0xba, 0x74, 0x4b, 0x89, 0xf2, 0x35, 0x6c, 0xd8,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x5f, 0x94, 0x72,\n 0x76, 0x74, 0x9c, 0xe6, 0x46, 0xf6, 0x8a, 0xc8, 0xc2, 0x48, 0x42, 0x00,\n 0x45, 0xcb, 0x7b, 0x5e, 0xbd, 0xf2, 0x65, 0x7f, 0xfc, 0x1f, 0xad, 0xfd,\n 0x73, 0xcf, 0x0a, 0x8c, 0xde, 0x95, 0xd5, 0x0b, 0x62, 0xd3, 0xdf, 0x8c,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x32,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n ]),\n };\n // WHEN\n apiMock.sendCommand.mockResolvedValue(\n CommandResultFactory({ data: undefined }),\n );\n await new SendEIP712StructImplemTask(apiMock, args).run();\n // THEN\n expect(apiMock.sendCommand.mock.calls).toHaveLength(2);\n expect(apiMock.sendCommand.mock.calls[0]![0]).toStrictEqual(\n new SendEIP712StructImplemCommand({\n type: StructImplemType.FIELD,\n value: {\n data: Uint8Array.from([\n 0x01, 0x04, 0x96, 0x80, 0x9f, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x2f, 0x07, 0x32,\n 0xe5, 0x9e, 0x76, 0x00, 0x76, 0x8d, 0xfc, 0x35, 0xba, 0x74, 0x4b,\n 0x89, 0xf2, 0x35, 0x6c, 0xd8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x5f, 0x94, 0x72, 0x76, 0x74,\n 0x9c, 0xe6, 0x46, 0xf6, 0x8a, 0xc8, 0xc2, 0x48, 0x42, 0x00, 0x45,\n 0xcb, 0x7b, 0x5e, 0xbd, 0xf2, 0x65, 0x7f, 0xfc, 0x1f, 0xad, 0xfd,\n 0x73, 0xcf, 0x0a, 0x8c, 0xde, 0x95, 0xd5, 0x0b, 0x62, 0xd3, 0xdf,\n 0x8c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00,\n 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00,\n ]),\n isLastChunk: false,\n },\n }),\n );\n expect(apiMock.sendCommand.mock.calls[1]![0]).toStrictEqual(\n new SendEIP712StructImplemCommand({\n type: StructImplemType.FIELD,\n value: {\n data: Uint8Array.from([0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]),\n isLastChunk: true,\n },\n }),\n );\n });\n\n it(\"Should fail if the command failed to be sent\", async () => {\n // GIVEN\n const args: SendEIP712StructImplemTaskArgs = {\n type: StructImplemType.ROOT,\n value: \"root name\",\n };\n // WHEN\n apiMock.sendCommand.mockRejectedValueOnce(new Error(\"error\"));\n // THEN\n await expect(\n new SendEIP712StructImplemTask(apiMock, args).run(),\n ).rejects.toStrictEqual(new Error(\"error\"));\n });\n\n it(\"Should fail if a chunked command failed to be sent\", async () => {\n // GIVEN\n const args: SendEIP712StructImplemTaskArgs = {\n type: StructImplemType.FIELD,\n value: Uint8Array.from([\n 0x96, 0x80, 0x9f, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x11, 0x2f, 0x07, 0x32, 0xe5, 0x9e, 0x76, 0x00,\n 0x76, 0x8d, 0xfc, 0x35, 0xba, 0x74, 0x4b, 0x89, 0xf2, 0x35, 0x6c, 0xd8,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x5f, 0x94, 0x72,\n 0x76, 0x74, 0x9c, 0xe6, 0x46, 0xf6, 0x8a, 0xc8, 0xc2, 0x48, 0x42, 0x00,\n 0x45, 0xcb, 0x7b, 0x5e, 0xbd, 0xf2, 0x65, 0x7f, 0xfc, 0x1f, 0xad, 0xfd,\n 0x73, 0xcf, 0x0a, 0x8c, 0xde, 0x95, 0xd5, 0x0b, 0x62, 0xd3, 0xdf, 0x8c,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x32,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n ]),\n };\n // WHEN\n apiMock.sendCommand.mockResolvedValue(\n CommandResultFactory({\n error: new UnknownDeviceExchangeError(\"error\"),\n }),\n );\n // THEN\n await expect(\n new SendEIP712StructImplemTask(apiMock, args).run(),\n ).resolves.toStrictEqual(\n CommandResultFactory({ error: new UnknownDeviceExchangeError(\"error\") }),\n );\n });\n});\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["import_device_management_kit", "import_SendEIP712StructImplemCommand", "import_makeInternalApi", "import_SendEIP712StructImplemTask", "apiMock", "args"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var s=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var y=Object.prototype.hasOwnProperty;var l=(r,a)=>{for(var n in a)s(r,n,{get:a[n],enumerable:!0})},u=(r,a,n,d)=>{if(a&&typeof a=="object"||typeof a=="function")for(let o of p(a))!y.call(r,o)&&o!==n&&s(r,o,{get:()=>a[o],enumerable:!(d=i(a,o))||d.enumerable});return r};var c=r=>u(s({},"__esModule",{value:!0}),r);var k={};l(k,{SendPayloadInChunksTask:()=>C});module.exports=c(k);var t=require("@ledgerhq/device-management-kit"),m=require("../../shared/utils/PayloadUtils"),e=require("./SendCommandInChunksTask");class C{constructor(a,n){this.api=a;this.args=n}async run(){const a=m.PayloadUtils.getBufferFromPayload(this.args.payload);return a?new e.SendCommandInChunksTask(this.api,{data:a,commandFactory:this.args.commandFactory}).run():(0,t.CommandResultFactory)({error:new t.InvalidStatusWordError("Invalid payload")})}}0&&(module.exports={SendPayloadInChunksTask});
|
|
2
2
|
//# sourceMappingURL=SendPayloadInChunksTask.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/internal/app-binder/task/SendPayloadInChunksTask.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n type CommandResult,\n CommandResultFactory,\n type InternalApi,\n InvalidStatusWordError,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { PayloadUtils } from \"@internal/shared/utils/PayloadUtils\";\n\nimport {\n SendCommandInChunksTask,\n type SendCommandInChunksTaskArgs,\n} from \"./SendCommandInChunksTask\";\n\ntype SendPayloadInChunksTaskArgs<T> = {\n payload: string;\n commandFactory: SendCommandInChunksTaskArgs<T>[\"commandFactory\"];\n};\n\nexport class SendPayloadInChunksTask<T> {\n constructor(\n private api: InternalApi,\n private args: SendPayloadInChunksTaskArgs<T>,\n ) {}\n async run(): Promise<CommandResult<T,
|
|
5
|
-
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,6BAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAKO,
|
|
4
|
+
"sourcesContent": ["import {\n type CommandResult,\n CommandResultFactory,\n type InternalApi,\n InvalidStatusWordError,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { type EthErrorCodes } from \"@internal/app-binder/command/utils/ethAppErrors\";\nimport { PayloadUtils } from \"@internal/shared/utils/PayloadUtils\";\n\nimport {\n SendCommandInChunksTask,\n type SendCommandInChunksTaskArgs,\n} from \"./SendCommandInChunksTask\";\n\ntype SendPayloadInChunksTaskArgs<T> = {\n payload: string;\n commandFactory: SendCommandInChunksTaskArgs<T>[\"commandFactory\"];\n};\n\nexport class SendPayloadInChunksTask<T> {\n constructor(\n private api: InternalApi,\n private args: SendPayloadInChunksTaskArgs<T>,\n ) {}\n async run(): Promise<CommandResult<T, EthErrorCodes>> {\n const data = PayloadUtils.getBufferFromPayload(this.args.payload);\n\n if (!data) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\"Invalid payload\"),\n });\n }\n\n return new SendCommandInChunksTask(this.api, {\n data,\n commandFactory: this.args.commandFactory,\n }).run();\n }\n}\n"],
|
|
5
|
+
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,6BAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAKO,2CAGPC,EAA6B,+CAE7BC,EAGO,qCAOA,MAAMJ,CAA2B,CACtC,YACUK,EACAC,EACR,CAFQ,SAAAD,EACA,UAAAC,CACP,CACH,MAAM,KAAgD,CACpD,MAAMC,EAAO,eAAa,qBAAqB,KAAK,KAAK,OAAO,EAEhE,OAAKA,EAME,IAAI,0BAAwB,KAAK,IAAK,CAC3C,KAAAA,EACA,eAAgB,KAAK,KAAK,cAC5B,CAAC,EAAE,IAAI,KARE,wBAAqB,CAC1B,MAAO,IAAI,yBAAuB,iBAAiB,CACrD,CAAC,CAOL,CACF",
|
|
6
6
|
"names": ["SendPayloadInChunksTask_exports", "__export", "SendPayloadInChunksTask", "__toCommonJS", "import_device_management_kit", "import_PayloadUtils", "import_SendCommandInChunksTask", "api", "args", "data"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var a=require("@ledgerhq/device-management-kit"),
|
|
1
|
+
"use strict";var a=require("@ledgerhq/device-management-kit"),e=require("./SendCommandInChunksTask"),r=require("./SendPayloadInChunksTask");vi.mock("./SendCommandInChunksTask");describe("SendPayloadInChunksTask",()=>{describe("run",()=>{beforeAll(()=>{vi.resetAllMocks()}),it("should return a CommandResult",async()=>{const n="0x1234";vi.spyOn(e.SendCommandInChunksTask.prototype,"run").mockResolvedValue((0,a.CommandResultFactory)({data:"0x5678"}));const o=await new r.SendPayloadInChunksTask({},{payload:n,commandFactory:vi.fn()}).run();expect(o).toEqual((0,a.CommandResultFactory)({data:"0x5678"}))}),it("should return an error CommandResult",async()=>{const n="invalid-payload",o=await new r.SendPayloadInChunksTask({},{payload:n,commandFactory:vi.fn()}).run();expect(o).toEqual((0,a.CommandResultFactory)({error:new a.InvalidStatusWordError("Invalid payload")}))})})});
|
|
2
2
|
//# sourceMappingURL=SendPayloadInChunksTask.test.js.map
|