@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/command/GetAddressCommand.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n type Apdu,\n ApduBuilder,\n type ApduBuilderArgs,\n ApduParser,\n type ApduResponse,\n type Command,\n type CommandResult,\n CommandResultFactory,\n
|
|
5
|
-
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,uBAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,
|
|
6
|
-
"names": ["GetAddressCommand_exports", "__export", "GetAddressCommand", "__toCommonJS", "import_device_management_kit", "import_signer_utils", "CHAIN_CODE_LENGTH", "args", "getEthAddressArgs", "builder", "derivationPath", "path", "element", "response", "parser", "publicKeyLength", "publicKey", "addressLength", "address", "chainCode"]
|
|
4
|
+
"sourcesContent": ["import {\n type Apdu,\n ApduBuilder,\n type ApduBuilderArgs,\n ApduParser,\n type ApduResponse,\n type Command,\n type CommandResult,\n CommandResultFactory,\n InvalidStatusWordError,\n isHexaString,\n} from \"@ledgerhq/device-management-kit\";\nimport {\n CommandErrorHelper,\n DerivationPathUtils,\n} from \"@ledgerhq/signer-utils\";\nimport { Maybe } from \"purify-ts\";\n\nimport {\n type GetAddressCommandArgs,\n type GetAddressCommandResponse,\n} from \"@api/app-binder/GetAddressCommandTypes\";\n\nimport {\n ETH_APP_ERRORS,\n EthAppCommandErrorFactory,\n type EthErrorCodes,\n} from \"./utils/ethAppErrors\";\n\nconst CHAIN_CODE_LENGTH = 32;\n\nexport class GetAddressCommand\n implements\n Command<GetAddressCommandResponse, GetAddressCommandArgs, EthErrorCodes>\n{\n private readonly args: GetAddressCommandArgs;\n private readonly errorHelper = new CommandErrorHelper<\n GetAddressCommandResponse,\n EthErrorCodes\n >(ETH_APP_ERRORS, EthAppCommandErrorFactory);\n\n constructor(args: GetAddressCommandArgs) {\n this.args = args;\n }\n\n getApdu(): Apdu {\n const getEthAddressArgs: ApduBuilderArgs = {\n cla: 0xe0,\n ins: 0x02,\n p1: this.args.checkOnDevice ? 0x01 : 0x00,\n p2: this.args.returnChainCode ? 0x01 : 0x00,\n };\n const builder = new ApduBuilder(getEthAddressArgs);\n const derivationPath = this.args.derivationPath;\n\n const path = DerivationPathUtils.splitPath(derivationPath);\n builder.add8BitUIntToData(path.length);\n path.forEach((element) => {\n builder.add32BitUIntToData(element);\n });\n\n // TODO: replace by 64\n builder.add32BitUIntToData(0);\n builder.add32BitUIntToData(1);\n\n return builder.build();\n }\n\n parseResponse(\n response: ApduResponse,\n ): CommandResult<GetAddressCommandResponse, EthErrorCodes> {\n return Maybe.fromNullable(\n this.errorHelper.getError(response),\n ).orDefaultLazy(() => {\n const parser = new ApduParser(response);\n\n const publicKeyLength = parser.extract8BitUInt();\n if (publicKeyLength === undefined) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\"Public key length is missing\"),\n });\n }\n\n if (parser.testMinimalLength(publicKeyLength) === false) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\"Public key is missing\"),\n });\n }\n\n const publicKey = parser.encodeToHexaString(\n parser.extractFieldByLength(publicKeyLength),\n );\n\n const addressLength = parser.extract8BitUInt();\n if (addressLength === undefined) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\n \"Ethereum address length is missing\",\n ),\n });\n }\n\n if (parser.testMinimalLength(addressLength) === false) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\"Ethereum address is missing\"),\n });\n }\n\n const result = parser.encodeToString(\n parser.extractFieldByLength(addressLength),\n );\n\n const address = `0x${result}`;\n\n if (isHexaString(address) === false) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\"Invalid Ethereum address\"),\n });\n }\n\n let chainCode = undefined;\n if (this.args.returnChainCode) {\n if (parser.testMinimalLength(CHAIN_CODE_LENGTH) === false) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\"Invalid Chaincode\"),\n });\n }\n\n chainCode = parser.encodeToHexaString(\n parser.extractFieldByLength(CHAIN_CODE_LENGTH),\n );\n }\n\n return CommandResultFactory({\n data: {\n publicKey,\n address,\n chainCode,\n },\n });\n });\n }\n}\n"],
|
|
5
|
+
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,uBAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAWO,2CACPC,EAGO,kCACPC,EAAsB,qBAOtBC,EAIO,gCAEP,MAAMC,EAAoB,GAEnB,MAAMN,CAGb,CACmB,KACA,YAAc,IAAI,qBAGjC,iBAAgB,2BAAyB,EAE3C,YAAYO,EAA6B,CACvC,KAAK,KAAOA,CACd,CAEA,SAAgB,CACd,MAAMC,EAAqC,CACzC,IAAK,IACL,IAAK,EACL,GAAI,KAAK,KAAK,cAAgB,EAAO,EACrC,GAAI,KAAK,KAAK,gBAAkB,EAAO,CACzC,EACMC,EAAU,IAAI,cAAYD,CAAiB,EAC3CE,EAAiB,KAAK,KAAK,eAE3BC,EAAO,sBAAoB,UAAUD,CAAc,EACzD,OAAAD,EAAQ,kBAAkBE,EAAK,MAAM,EACrCA,EAAK,QAASC,GAAY,CACxBH,EAAQ,mBAAmBG,CAAO,CACpC,CAAC,EAGDH,EAAQ,mBAAmB,CAAC,EAC5BA,EAAQ,mBAAmB,CAAC,EAErBA,EAAQ,MAAM,CACvB,CAEA,cACEI,EACyD,CACzD,OAAO,QAAM,aACX,KAAK,YAAY,SAASA,CAAQ,CACpC,EAAE,cAAc,IAAM,CACpB,MAAMC,EAAS,IAAI,aAAWD,CAAQ,EAEhCE,EAAkBD,EAAO,gBAAgB,EAC/C,GAAIC,IAAoB,OACtB,SAAO,wBAAqB,CAC1B,MAAO,IAAI,yBAAuB,8BAA8B,CAClE,CAAC,EAGH,GAAID,EAAO,kBAAkBC,CAAe,IAAM,GAChD,SAAO,wBAAqB,CAC1B,MAAO,IAAI,yBAAuB,uBAAuB,CAC3D,CAAC,EAGH,MAAMC,EAAYF,EAAO,mBACvBA,EAAO,qBAAqBC,CAAe,CAC7C,EAEME,EAAgBH,EAAO,gBAAgB,EAC7C,GAAIG,IAAkB,OACpB,SAAO,wBAAqB,CAC1B,MAAO,IAAI,yBACT,oCACF,CACF,CAAC,EAGH,GAAIH,EAAO,kBAAkBG,CAAa,IAAM,GAC9C,SAAO,wBAAqB,CAC1B,MAAO,IAAI,yBAAuB,6BAA6B,CACjE,CAAC,EAOH,MAAMC,EAAU,KAJDJ,EAAO,eACpBA,EAAO,qBAAqBG,CAAa,CAC3C,CAE2B,GAE3B,MAAI,gBAAaC,CAAO,IAAM,GAC5B,SAAO,wBAAqB,CAC1B,MAAO,IAAI,yBAAuB,0BAA0B,CAC9D,CAAC,EAGH,IAAIC,EACJ,GAAI,KAAK,KAAK,gBAAiB,CAC7B,GAAIL,EAAO,kBAAkBR,CAAiB,IAAM,GAClD,SAAO,wBAAqB,CAC1B,MAAO,IAAI,yBAAuB,mBAAmB,CACvD,CAAC,EAGHa,EAAYL,EAAO,mBACjBA,EAAO,qBAAqBR,CAAiB,CAC/C,CACF,CAEA,SAAO,wBAAqB,CAC1B,KAAM,CACJ,UAAAU,EACA,QAAAE,EACA,UAAAC,CACF,CACF,CAAC,CACH,CAAC,CACH,CACF",
|
|
6
|
+
"names": ["GetAddressCommand_exports", "__export", "GetAddressCommand", "__toCommonJS", "import_device_management_kit", "import_signer_utils", "import_purify_ts", "import_ethAppErrors", "CHAIN_CODE_LENGTH", "args", "getEthAddressArgs", "builder", "derivationPath", "path", "element", "response", "parser", "publicKeyLength", "publicKey", "addressLength", "address", "chainCode"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var r=require("@ledgerhq/device-management-kit"),a=require("./GetAddressCommand");const i=Uint8Array.from([224,2,0,0,29,5,128,0,0,44,128,0,0,60,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1]),c=Uint8Array.from([224,2,1,0,29,5,128,0,0,44,128,0,0,60,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1]),u=Uint8Array.from([224,2,0,1,29,5,128,0,0,44,128,0,0,60,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1]),p=Uint8Array.from([224,2,1,1,29,5,128,0,0,44,128,0,0,60,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1]),f=Uint8Array.from([224,2,0,0,29,5,128,0,0,44,128,0,0,60,128,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,1]),l=Uint8Array.from([65,4,227,120,92,166,165,170,116,140,98,94,61,221,214,217,123,89,178,111,216,21,47,181,46,178,157,36,64,79,1,11,228,247,37,195,114,94,120,190,217,83,240,116,119,141,113,121,116,222,33,243,71,11,115,87,54,235,61,86,116,122,182,208,115,167,40,70,55,67,54,57,66,101,100,66,50,57,50,68,100,51,102,67,50,99,65,52,49,48,51,57,56,57,66,53,66,68,55,48,53,49,54,52,99,52,51]),A=new r.ApduResponse({statusCode:Uint8Array.from([144,0]),data:l}),o=Uint8Array.from([65,4,227,120,92,166,165,170,116,140,98,94,61,221,214,217,123,89,178,111,216,21,47,181,46,178,157,36,64,79,1,11,228,247,37,195,114,94,120,190,217,83,240,116,119,141,113,121,116,222,33,243,71,11,115,87,54,235,61,86,116,122,182,208,115,167,40,70,55,67,54,57,66,101,100,66,50,57,50,68,100,51,102,67,50,99,65,52,49,48,51,57,56,57,66,53,66,68,55,48,53,49,54,52,99,52,51,66,62,101,31,43,22,180,24,109,94,172,22,124,196,154,173,228,169,126,179,177,55,222,54,51,71,153,104,77,12,113,74]),n=new r.ApduResponse({statusCode:Uint8Array.from([144,0]),data:o});describe("GetAddressCommand",()=>{let t;const s={derivationPath:"44'/60'/0'/0/0",checkOnDevice:!1,returnChainCode:!1};beforeEach(()=>{t=new a.GetAddressCommand(s)}),describe("getApdu",()=>{it("should return the GetAddress apdu with default args",()=>{const x=t.getApdu();expect(x.getRawApdu()).toStrictEqual(i)}),it("should return the GetAddress apdu with checkOnDevice set to true",()=>{t=new a.GetAddressCommand({...s,checkOnDevice:!0});const x=t.getApdu();expect(x.getRawApdu()).toStrictEqual(c)}),it("should return the GetAddress apdu with returnChainCode set to true",()=>{t=new a.GetAddressCommand({...s,returnChainCode:!0});const x=t.getApdu();expect(x.getRawApdu()).toStrictEqual(u)}),it("should return the GetAddress apdu with checkOnDevice and returnChainCode set to true",()=>{t=new a.GetAddressCommand({...s,checkOnDevice:!0,returnChainCode:!0});const x=t.getApdu();expect(x.getRawApdu()).toStrictEqual(p)}),it("should return the GetAddress apdu with a custom derivation path",()=>{const x="44'/60'/3'/2/1";t=new a.GetAddressCommand({...s,derivationPath:x});const e=t.getApdu();expect(e.getRawApdu()).toStrictEqual(f)})}),describe("parseResponse",()=>{it("should parse the response",()=>{const x=t.parseResponse(A);expect(x).toStrictEqual((0,r.CommandResultFactory)({data:{publicKey:"04e3785ca6a5aa748c625e3dddd6d97b59b26fd8152fb52eb29d24404f010be4f725c3725e78bed953f074778d717974de21f3470b735736eb3d56747ab6d073a7",address:"0xF7C69BedB292Dd3fC2cA4103989B5BD705164c43",chainCode:void 0}}))}),it("should parse the response with chainCode",()=>{t.args.returnChainCode=!0;const x=t.parseResponse(n);expect(x).toStrictEqual((0,r.CommandResultFactory)({data:{publicKey:"04e3785ca6a5aa748c625e3dddd6d97b59b26fd8152fb52eb29d24404f010be4f725c3725e78bed953f074778d717974de21f3470b735736eb3d56747ab6d073a7",address:"0xF7C69BedB292Dd3fC2cA4103989B5BD705164c43",chainCode:"423e651f2b16b4186d5eac167cc49aade4a97eb3b137de36334799684d0c714a"}}))}),it("should not return chainCode if it is not requested",()=>{t.args.returnChainCode=!1;const x=t.parseResponse(n);expect(x).toStrictEqual((0,r.CommandResultFactory)({data:{publicKey:"04e3785ca6a5aa748c625e3dddd6d97b59b26fd8152fb52eb29d24404f010be4f725c3725e78bed953f074778d717974de21f3470b735736eb3d56747ab6d073a7",address:"0xF7C69BedB292Dd3fC2cA4103989B5BD705164c43",chainCode:void 0}}))}),describe("should return an error",()=>{it("when the response is not successfull",()=>{const x=new r.ApduResponse({statusCode:Uint8Array.from([109,0]),data:new Uint8Array(0)}),e=t.parseResponse(x);expect((0,r.isSuccessCommandResult)(e)).toBe(!1)}),it("when publicKeyLength is invalid",()=>{const x={data:Uint8Array.from([]),statusCode:Uint8Array.from([144,0])},e=t.parseResponse(x);(0,r.isSuccessCommandResult)(e)?fail("Expected an error"):(expect(e.error).toBeInstanceOf(r.InvalidStatusWordError),expect(e.error.originalError).toEqual(new Error("Public key length is missing")))}),it("when publicKey is invalid",()=>{const x={data:Uint8Array.from([1]),statusCode:Uint8Array.from([144,0])},e=t.parseResponse(x);(0,r.isSuccessCommandResult)(e)?fail("Expected an error"):(expect(e.error).toBeInstanceOf(r.InvalidStatusWordError),expect(e.error.originalError).toEqual(new Error("Public key is missing")))}),it("when addressLength is invalid",()=>{const x={data:Uint8Array.from([32,...Array(32).fill(2)]),statusCode:Uint8Array.from([144,0])},e=t.parseResponse(x);(0,r.isSuccessCommandResult)(e)?fail("Expected an error"):(expect(e.error).toBeInstanceOf(r.InvalidStatusWordError),expect(e.error.originalError).toEqual(new Error("Ethereum address length is missing")))}),it("when address is missing",()=>{const x={data:Uint8Array.from([32,...Array(32).fill(2),1]),statusCode:Uint8Array.from([144,0])},e=t.parseResponse(x);(0,r.isSuccessCommandResult)(e)?fail("Expected an error"):(expect(e.error).toBeInstanceOf(r.InvalidStatusWordError),expect(e.error.originalError).toEqual(new Error("Ethereum address is missing")))}),it("when the address is invalid",()=>{const x={data:Uint8Array.from([32,...Array(32).fill(2),1,2]),statusCode:Uint8Array.from([144,0])},e=t.parseResponse(x);(0,r.isSuccessCommandResult)(e)?fail("Expected an error"):(expect(e.error).toBeInstanceOf(r.InvalidStatusWordError),expect(e.error.originalError).toEqual(new Error("Invalid Ethereum address")))}),it("when chainCode is invalid",()=>{const x={data:o.slice(0,-1),statusCode:Uint8Array.from([144,0])},d=new a.GetAddressCommand({...s,returnChainCode:!0}).parseResponse(x);(0,r.isSuccessCommandResult)(d)?fail("Expected an error"):(expect(d.error).toBeInstanceOf(r.InvalidStatusWordError),expect(d.error.originalError).toEqual(new Error("Invalid Chaincode")))})})})});
|
|
1
|
+
"use strict";var r=require("@ledgerhq/device-management-kit"),a=require("./GetAddressCommand");const i=Uint8Array.from([224,2,0,0,29,5,128,0,0,44,128,0,0,60,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1]),c=Uint8Array.from([224,2,1,0,29,5,128,0,0,44,128,0,0,60,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1]),u=Uint8Array.from([224,2,0,1,29,5,128,0,0,44,128,0,0,60,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1]),p=Uint8Array.from([224,2,1,1,29,5,128,0,0,44,128,0,0,60,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1]),f=Uint8Array.from([224,2,0,0,29,5,128,0,0,44,128,0,0,60,128,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,1]),l=Uint8Array.from([65,4,227,120,92,166,165,170,116,140,98,94,61,221,214,217,123,89,178,111,216,21,47,181,46,178,157,36,64,79,1,11,228,247,37,195,114,94,120,190,217,83,240,116,119,141,113,121,116,222,33,243,71,11,115,87,54,235,61,86,116,122,182,208,115,167,40,70,55,67,54,57,66,101,100,66,50,57,50,68,100,51,102,67,50,99,65,52,49,48,51,57,56,57,66,53,66,68,55,48,53,49,54,52,99,52,51]),A=new r.ApduResponse({statusCode:Uint8Array.from([144,0]),data:l}),o=Uint8Array.from([65,4,227,120,92,166,165,170,116,140,98,94,61,221,214,217,123,89,178,111,216,21,47,181,46,178,157,36,64,79,1,11,228,247,37,195,114,94,120,190,217,83,240,116,119,141,113,121,116,222,33,243,71,11,115,87,54,235,61,86,116,122,182,208,115,167,40,70,55,67,54,57,66,101,100,66,50,57,50,68,100,51,102,67,50,99,65,52,49,48,51,57,56,57,66,53,66,68,55,48,53,49,54,52,99,52,51,66,62,101,31,43,22,180,24,109,94,172,22,124,196,154,173,228,169,126,179,177,55,222,54,51,71,153,104,77,12,113,74]),n=new r.ApduResponse({statusCode:Uint8Array.from([144,0]),data:o});describe("GetAddressCommand",()=>{let t;const s={derivationPath:"44'/60'/0'/0/0",checkOnDevice:!1,returnChainCode:!1};beforeEach(()=>{t=new a.GetAddressCommand(s)}),describe("getApdu",()=>{it("should return the GetAddress apdu with default args",()=>{const x=t.getApdu();expect(x.getRawApdu()).toStrictEqual(i)}),it("should return the GetAddress apdu with checkOnDevice set to true",()=>{t=new a.GetAddressCommand({...s,checkOnDevice:!0});const x=t.getApdu();expect(x.getRawApdu()).toStrictEqual(c)}),it("should return the GetAddress apdu with returnChainCode set to true",()=>{t=new a.GetAddressCommand({...s,returnChainCode:!0});const x=t.getApdu();expect(x.getRawApdu()).toStrictEqual(u)}),it("should return the GetAddress apdu with checkOnDevice and returnChainCode set to true",()=>{t=new a.GetAddressCommand({...s,checkOnDevice:!0,returnChainCode:!0});const x=t.getApdu();expect(x.getRawApdu()).toStrictEqual(p)}),it("should return the GetAddress apdu with a custom derivation path",()=>{const x="44'/60'/3'/2/1";t=new a.GetAddressCommand({...s,derivationPath:x});const e=t.getApdu();expect(e.getRawApdu()).toStrictEqual(f)})}),describe("parseResponse",()=>{it("should parse the response",()=>{const x=t.parseResponse(A);expect(x).toStrictEqual((0,r.CommandResultFactory)({data:{publicKey:"04e3785ca6a5aa748c625e3dddd6d97b59b26fd8152fb52eb29d24404f010be4f725c3725e78bed953f074778d717974de21f3470b735736eb3d56747ab6d073a7",address:"0xF7C69BedB292Dd3fC2cA4103989B5BD705164c43",chainCode:void 0}}))}),it("should parse the response with chainCode",()=>{t.args.returnChainCode=!0;const x=t.parseResponse(n);expect(x).toStrictEqual((0,r.CommandResultFactory)({data:{publicKey:"04e3785ca6a5aa748c625e3dddd6d97b59b26fd8152fb52eb29d24404f010be4f725c3725e78bed953f074778d717974de21f3470b735736eb3d56747ab6d073a7",address:"0xF7C69BedB292Dd3fC2cA4103989B5BD705164c43",chainCode:"423e651f2b16b4186d5eac167cc49aade4a97eb3b137de36334799684d0c714a"}}))}),it("should not return chainCode if it is not requested",()=>{t.args.returnChainCode=!1;const x=t.parseResponse(n);expect(x).toStrictEqual((0,r.CommandResultFactory)({data:{publicKey:"04e3785ca6a5aa748c625e3dddd6d97b59b26fd8152fb52eb29d24404f010be4f725c3725e78bed953f074778d717974de21f3470b735736eb3d56747ab6d073a7",address:"0xF7C69BedB292Dd3fC2cA4103989B5BD705164c43",chainCode:void 0}}))}),describe("should return an error",()=>{it("when the response is not successfull",()=>{const x=new r.ApduResponse({statusCode:Uint8Array.from([109,0]),data:new Uint8Array(0)}),e=t.parseResponse(x);expect((0,r.isSuccessCommandResult)(e)).toBe(!1)}),it("when publicKeyLength is invalid",()=>{const x={data:Uint8Array.from([]),statusCode:Uint8Array.from([144,0])},e=t.parseResponse(x);(0,r.isSuccessCommandResult)(e)?assert.fail("Expected an error"):(expect(e.error).toBeInstanceOf(r.InvalidStatusWordError),expect(e.error.originalError).toEqual(new Error("Public key length is missing")))}),it("when publicKey is invalid",()=>{const x={data:Uint8Array.from([1]),statusCode:Uint8Array.from([144,0])},e=t.parseResponse(x);(0,r.isSuccessCommandResult)(e)?assert.fail("Expected an error"):(expect(e.error).toBeInstanceOf(r.InvalidStatusWordError),expect(e.error.originalError).toEqual(new Error("Public key is missing")))}),it("when addressLength is invalid",()=>{const x={data:Uint8Array.from([32,...Array(32).fill(2)]),statusCode:Uint8Array.from([144,0])},e=t.parseResponse(x);(0,r.isSuccessCommandResult)(e)?assert.fail("Expected an error"):(expect(e.error).toBeInstanceOf(r.InvalidStatusWordError),expect(e.error.originalError).toEqual(new Error("Ethereum address length is missing")))}),it("when address is missing",()=>{const x={data:Uint8Array.from([32,...Array(32).fill(2),1]),statusCode:Uint8Array.from([144,0])},e=t.parseResponse(x);(0,r.isSuccessCommandResult)(e)?assert.fail("Expected an error"):(expect(e.error).toBeInstanceOf(r.InvalidStatusWordError),expect(e.error.originalError).toEqual(new Error("Ethereum address is missing")))}),it("when the address is invalid",()=>{const x={data:Uint8Array.from([32,...Array(32).fill(2),1,2]),statusCode:Uint8Array.from([144,0])},e=t.parseResponse(x);(0,r.isSuccessCommandResult)(e)?assert.fail("Expected an error"):(expect(e.error).toBeInstanceOf(r.InvalidStatusWordError),expect(e.error.originalError).toEqual(new Error("Invalid Ethereum address")))}),it("when chainCode is invalid",()=>{const x={data:o.slice(0,-1),statusCode:Uint8Array.from([144,0])},d=new a.GetAddressCommand({...s,returnChainCode:!0}).parseResponse(x);(0,r.isSuccessCommandResult)(d)?assert.fail("Expected an error"):(expect(d.error).toBeInstanceOf(r.InvalidStatusWordError),expect(d.error.originalError).toEqual(new Error("Invalid Chaincode")))})})})});
|
|
2
2
|
//# sourceMappingURL=GetAddressCommand.test.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/internal/app-binder/command/GetAddressCommand.test.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n ApduResponse,\n CommandResultFactory,\n InvalidStatusWordError,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { GetAddressCommand } from \"./GetAddressCommand\";\n\nconst GET_ADDRESS_APDU = Uint8Array.from([\n 0xe0, 0x02, 0x00, 0x00, 0x1d, 0x05, 0x80, 0x00, 0x00, 0x2c, 0x80, 0x00, 0x00,\n 0x3c, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,\n]);\n\nconst GET_ADDRESS_APDU_WITH_CHECK_ON_DEVICE = Uint8Array.from([\n 0xe0, 0x02, 0x01, 0x00, 0x1d, 0x05, 0x80, 0x00, 0x00, 0x2c, 0x80, 0x00, 0x00,\n 0x3c, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,\n]);\n\nconst GET_ADDRESS_APDU_WITH_RETURN_CHAIN_CODE = Uint8Array.from([\n 0xe0, 0x02, 0x00, 0x01, 0x1d, 0x05, 0x80, 0x00, 0x00, 0x2c, 0x80, 0x00, 0x00,\n 0x3c, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,\n]);\n\nconst GET_ADDRESS_APDU_WITH_CHECK_ON_DEVICE_WITH_RETURN_CHAIN_CODE =\n Uint8Array.from([\n 0xe0, 0x02, 0x01, 0x01, 0x1d, 0x05, 0x80, 0x00, 0x00, 0x2c, 0x80, 0x00,\n 0x00, 0x3c, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,\n ]);\n\nconst GET_ADDRESS_APDU_WITH_CUSTOM_DERIVATION_PATH = Uint8Array.from([\n 0xe0, 0x02, 0x00, 0x00, 0x1d, 0x05, 0x80, 0x00, 0x00, 0x2c, 0x80, 0x00, 0x00,\n 0x3c, 0x80, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,\n]);\n\nconst LNX_RESPONSE_DATA_GOOD = Uint8Array.from([\n 0x41, 0x04, 0xe3, 0x78, 0x5c, 0xa6, 0xa5, 0xaa, 0x74, 0x8c, 0x62, 0x5e, 0x3d,\n 0xdd, 0xd6, 0xd9, 0x7b, 0x59, 0xb2, 0x6f, 0xd8, 0x15, 0x2f, 0xb5, 0x2e, 0xb2,\n 0x9d, 0x24, 0x40, 0x4f, 0x01, 0x0b, 0xe4, 0xf7, 0x25, 0xc3, 0x72, 0x5e, 0x78,\n 0xbe, 0xd9, 0x53, 0xf0, 0x74, 0x77, 0x8d, 0x71, 0x79, 0x74, 0xde, 0x21, 0xf3,\n 0x47, 0x0b, 0x73, 0x57, 0x36, 0xeb, 0x3d, 0x56, 0x74, 0x7a, 0xb6, 0xd0, 0x73,\n 0xa7, 0x28, 0x46, 0x37, 0x43, 0x36, 0x39, 0x42, 0x65, 0x64, 0x42, 0x32, 0x39,\n 0x32, 0x44, 0x64, 0x33, 0x66, 0x43, 0x32, 0x63, 0x41, 0x34, 0x31, 0x30, 0x33,\n 0x39, 0x38, 0x39, 0x42, 0x35, 0x42, 0x44, 0x37, 0x30, 0x35, 0x31, 0x36, 0x34,\n 0x63, 0x34, 0x33,\n]);\n\nconst LNX_RESPONSE_GOOD = new ApduResponse({\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: LNX_RESPONSE_DATA_GOOD,\n});\n\nconst LNX_RESPONSE_DATA_GOOD_WITH_CHAIN_CODE = Uint8Array.from([\n 0x41, 0x4, 0xe3, 0x78, 0x5c, 0xa6, 0xa5, 0xaa, 0x74, 0x8c, 0x62, 0x5e, 0x3d,\n 0xdd, 0xd6, 0xd9, 0x7b, 0x59, 0xb2, 0x6f, 0xd8, 0x15, 0x2f, 0xb5, 0x2e, 0xb2,\n 0x9d, 0x24, 0x40, 0x4f, 0x1, 0xb, 0xe4, 0xf7, 0x25, 0xc3, 0x72, 0x5e, 0x78,\n 0xbe, 0xd9, 0x53, 0xf0, 0x74, 0x77, 0x8d, 0x71, 0x79, 0x74, 0xde, 0x21, 0xf3,\n 0x47, 0xb, 0x73, 0x57, 0x36, 0xeb, 0x3d, 0x56, 0x74, 0x7a, 0xb6, 0xd0, 0x73,\n 0xa7, 0x28, 0x46, 0x37, 0x43, 0x36, 0x39, 0x42, 0x65, 0x64, 0x42, 0x32, 0x39,\n 0x32, 0x44, 0x64, 0x33, 0x66, 0x43, 0x32, 0x63, 0x41, 0x34, 0x31, 0x30, 0x33,\n 0x39, 0x38, 0x39, 0x42, 0x35, 0x42, 0x44, 0x37, 0x30, 0x35, 0x31, 0x36, 0x34,\n 0x63, 0x34, 0x33, 0x42, 0x3e, 0x65, 0x1f, 0x2b, 0x16, 0xb4, 0x18, 0x6d, 0x5e,\n 0xac, 0x16, 0x7c, 0xc4, 0x9a, 0xad, 0xe4, 0xa9, 0x7e, 0xb3, 0xb1, 0x37, 0xde,\n 0x36, 0x33, 0x47, 0x99, 0x68, 0x4d, 0xc, 0x71, 0x4a,\n]);\n\nconst LNX_RESPONSE_GOOD_WITH_CHAIN_CODE = new ApduResponse({\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: LNX_RESPONSE_DATA_GOOD_WITH_CHAIN_CODE,\n});\n\ndescribe(\"GetAddressCommand\", () => {\n let command: GetAddressCommand;\n const defaultArgs = {\n derivationPath: \"44'/60'/0'/0/0\",\n checkOnDevice: false,\n returnChainCode: false,\n };\n\n beforeEach(() => {\n command = new GetAddressCommand(defaultArgs);\n });\n\n describe(\"getApdu\", () => {\n it(\"should return the GetAddress apdu with default args\", () => {\n const apdu = command.getApdu();\n expect(apdu.getRawApdu()).toStrictEqual(GET_ADDRESS_APDU);\n });\n\n it(\"should return the GetAddress apdu with checkOnDevice set to true\", () => {\n command = new GetAddressCommand({ ...defaultArgs, checkOnDevice: true });\n const apdu = command.getApdu();\n expect(apdu.getRawApdu()).toStrictEqual(\n GET_ADDRESS_APDU_WITH_CHECK_ON_DEVICE,\n );\n });\n\n it(\"should return the GetAddress apdu with returnChainCode set to true\", () => {\n command = new GetAddressCommand({\n ...defaultArgs,\n returnChainCode: true,\n });\n const apdu = command.getApdu();\n expect(apdu.getRawApdu()).toStrictEqual(\n GET_ADDRESS_APDU_WITH_RETURN_CHAIN_CODE,\n );\n });\n\n it(\"should return the GetAddress apdu with checkOnDevice and returnChainCode set to true\", () => {\n command = new GetAddressCommand({\n ...defaultArgs,\n checkOnDevice: true,\n returnChainCode: true,\n });\n const apdu = command.getApdu();\n expect(apdu.getRawApdu()).toStrictEqual(\n GET_ADDRESS_APDU_WITH_CHECK_ON_DEVICE_WITH_RETURN_CHAIN_CODE,\n );\n });\n\n it(\"should return the GetAddress apdu with a custom derivation path\", () => {\n const customDerivationPath = \"44'/60'/3'/2/1\";\n command = new GetAddressCommand({\n ...defaultArgs,\n derivationPath: customDerivationPath,\n });\n const apdu = command.getApdu();\n expect(apdu.getRawApdu()).toStrictEqual(\n GET_ADDRESS_APDU_WITH_CUSTOM_DERIVATION_PATH,\n );\n });\n });\n\n describe(\"parseResponse\", () => {\n it(\"should parse the response\", () => {\n const parsed = command.parseResponse(LNX_RESPONSE_GOOD);\n expect(parsed).toStrictEqual(\n CommandResultFactory({\n data: {\n publicKey:\n \"04e3785ca6a5aa748c625e3dddd6d97b59b26fd8152fb52eb29d24404f010be4f725c3725e78bed953f074778d717974de21f3470b735736eb3d56747ab6d073a7\",\n address: \"0xF7C69BedB292Dd3fC2cA4103989B5BD705164c43\",\n chainCode: undefined,\n },\n }),\n );\n });\n\n it(\"should parse the response with chainCode\", () => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access\n (command as any)[\"args\"].returnChainCode = true;\n const parsed = command.parseResponse(LNX_RESPONSE_GOOD_WITH_CHAIN_CODE);\n expect(parsed).toStrictEqual(\n CommandResultFactory({\n data: {\n publicKey:\n \"04e3785ca6a5aa748c625e3dddd6d97b59b26fd8152fb52eb29d24404f010be4f725c3725e78bed953f074778d717974de21f3470b735736eb3d56747ab6d073a7\",\n address: \"0xF7C69BedB292Dd3fC2cA4103989B5BD705164c43\",\n chainCode:\n \"423e651f2b16b4186d5eac167cc49aade4a97eb3b137de36334799684d0c714a\",\n },\n }),\n );\n });\n\n it(\"should not return chainCode if it is not requested\", () => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access\n (command as any)[\"args\"].returnChainCode = false;\n const parsed = command.parseResponse(LNX_RESPONSE_GOOD_WITH_CHAIN_CODE);\n expect(parsed).toStrictEqual(\n CommandResultFactory({\n data: {\n publicKey:\n \"04e3785ca6a5aa748c625e3dddd6d97b59b26fd8152fb52eb29d24404f010be4f725c3725e78bed953f074778d717974de21f3470b735736eb3d56747ab6d073a7\",\n address: \"0xF7C69BedB292Dd3fC2cA4103989B5BD705164c43\",\n chainCode: undefined,\n },\n }),\n );\n });\n\n describe(\"should return an error\", () => {\n it(\"when the response is not successfull\", () => {\n const response = new ApduResponse({\n statusCode: Uint8Array.from([0x6d, 0x00]),\n data: new Uint8Array(0),\n });\n const result = command.parseResponse(response);\n expect(isSuccessCommandResult(result)).toBe(false);\n });\n\n it(\"when publicKeyLength is invalid\", () => {\n // GIVEN\n const response = {\n data: Uint8Array.from([]), // Invalid public key length\n statusCode: Uint8Array.from([0x90, 0x00]), // Success status code\n };\n\n // WHEN\n const result = command.parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n fail(\"Expected an error\");\n } else {\n expect(result.error).toBeInstanceOf(InvalidStatusWordError);\n expect(result.error.originalError).toEqual(\n new Error(\"Public key length is missing\"),\n );\n }\n });\n\n it(\"when publicKey is invalid\", () => {\n // GIVEN\n const response = {\n data: Uint8Array.from([0x01]), // Invalid public key\n statusCode: Uint8Array.from([0x90, 0x00]), // Success status code\n };\n\n // WHEN\n const result = command.parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n fail(\"Expected an error\");\n } else {\n expect(result.error).toBeInstanceOf(InvalidStatusWordError);\n expect(result.error.originalError).toEqual(\n new Error(\"Public key is missing\"),\n );\n }\n });\n\n it(\"when addressLength is invalid\", () => {\n // GIVEN\n const response = {\n data: Uint8Array.from([0x20, ...Array<number>(32).fill(0x02)]), // Invalid address length\n statusCode: Uint8Array.from([0x90, 0x00]), // Success status code\n };\n\n // WHEN\n const result = command.parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n fail(\"Expected an error\");\n } else {\n expect(result.error).toBeInstanceOf(InvalidStatusWordError);\n expect(result.error.originalError).toEqual(\n new Error(\"Ethereum address length is missing\"),\n );\n }\n });\n\n it(\"when address is missing\", () => {\n // GIVEN\n const response = {\n data: Uint8Array.from([0x20, ...Array<number>(32).fill(0x02), 0x01]), // Invalid address\n statusCode: Uint8Array.from([0x90, 0x00]), // Success status code\n };\n\n // WHEN\n const result = command.parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n fail(\"Expected an error\");\n } else {\n expect(result.error).toBeInstanceOf(InvalidStatusWordError);\n expect(result.error.originalError).toEqual(\n new Error(\"Ethereum address is missing\"),\n );\n }\n });\n\n it(\"when the address is invalid\", () => {\n // GIVEN\n const response = {\n data: Uint8Array.from([\n 0x20,\n ...Array<number>(32).fill(0x02),\n 0x01,\n 0x02,\n ]), // Invalid address\n statusCode: Uint8Array.from([0x90, 0x00]), // Success status code\n };\n\n // WHEN\n const result = command.parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n fail(\"Expected an error\");\n } else {\n expect(result.error).toBeInstanceOf(InvalidStatusWordError);\n expect(result.error.originalError).toEqual(\n new Error(\"Invalid Ethereum address\"),\n );\n }\n });\n\n it(\"when chainCode is invalid\", () => {\n // GIVEN\n const response = {\n data: LNX_RESPONSE_DATA_GOOD_WITH_CHAIN_CODE.slice(0, -1), // Invalid chainCode\n statusCode: Uint8Array.from([0x90, 0x00]), // Success status code\n };\n\n // WHEN\n const commandWithChainCode = new GetAddressCommand({\n ...defaultArgs,\n returnChainCode: true,\n });\n const result = commandWithChainCode.parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n fail(\"Expected an error\");\n } else {\n expect(result.error).toBeInstanceOf(InvalidStatusWordError);\n expect(result.error.originalError).toEqual(\n new Error(\"Invalid Chaincode\"),\n );\n }\n });\n });\n });\n});\n"],
|
|
5
|
-
"mappings": "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
|
|
4
|
+
"sourcesContent": ["import {\n ApduResponse,\n CommandResultFactory,\n InvalidStatusWordError,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { GetAddressCommand } from \"./GetAddressCommand\";\n\nconst GET_ADDRESS_APDU = Uint8Array.from([\n 0xe0, 0x02, 0x00, 0x00, 0x1d, 0x05, 0x80, 0x00, 0x00, 0x2c, 0x80, 0x00, 0x00,\n 0x3c, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,\n]);\n\nconst GET_ADDRESS_APDU_WITH_CHECK_ON_DEVICE = Uint8Array.from([\n 0xe0, 0x02, 0x01, 0x00, 0x1d, 0x05, 0x80, 0x00, 0x00, 0x2c, 0x80, 0x00, 0x00,\n 0x3c, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,\n]);\n\nconst GET_ADDRESS_APDU_WITH_RETURN_CHAIN_CODE = Uint8Array.from([\n 0xe0, 0x02, 0x00, 0x01, 0x1d, 0x05, 0x80, 0x00, 0x00, 0x2c, 0x80, 0x00, 0x00,\n 0x3c, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,\n]);\n\nconst GET_ADDRESS_APDU_WITH_CHECK_ON_DEVICE_WITH_RETURN_CHAIN_CODE =\n Uint8Array.from([\n 0xe0, 0x02, 0x01, 0x01, 0x1d, 0x05, 0x80, 0x00, 0x00, 0x2c, 0x80, 0x00,\n 0x00, 0x3c, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,\n ]);\n\nconst GET_ADDRESS_APDU_WITH_CUSTOM_DERIVATION_PATH = Uint8Array.from([\n 0xe0, 0x02, 0x00, 0x00, 0x1d, 0x05, 0x80, 0x00, 0x00, 0x2c, 0x80, 0x00, 0x00,\n 0x3c, 0x80, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,\n]);\n\nconst LNX_RESPONSE_DATA_GOOD = Uint8Array.from([\n 0x41, 0x04, 0xe3, 0x78, 0x5c, 0xa6, 0xa5, 0xaa, 0x74, 0x8c, 0x62, 0x5e, 0x3d,\n 0xdd, 0xd6, 0xd9, 0x7b, 0x59, 0xb2, 0x6f, 0xd8, 0x15, 0x2f, 0xb5, 0x2e, 0xb2,\n 0x9d, 0x24, 0x40, 0x4f, 0x01, 0x0b, 0xe4, 0xf7, 0x25, 0xc3, 0x72, 0x5e, 0x78,\n 0xbe, 0xd9, 0x53, 0xf0, 0x74, 0x77, 0x8d, 0x71, 0x79, 0x74, 0xde, 0x21, 0xf3,\n 0x47, 0x0b, 0x73, 0x57, 0x36, 0xeb, 0x3d, 0x56, 0x74, 0x7a, 0xb6, 0xd0, 0x73,\n 0xa7, 0x28, 0x46, 0x37, 0x43, 0x36, 0x39, 0x42, 0x65, 0x64, 0x42, 0x32, 0x39,\n 0x32, 0x44, 0x64, 0x33, 0x66, 0x43, 0x32, 0x63, 0x41, 0x34, 0x31, 0x30, 0x33,\n 0x39, 0x38, 0x39, 0x42, 0x35, 0x42, 0x44, 0x37, 0x30, 0x35, 0x31, 0x36, 0x34,\n 0x63, 0x34, 0x33,\n]);\n\nconst LNX_RESPONSE_GOOD = new ApduResponse({\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: LNX_RESPONSE_DATA_GOOD,\n});\n\nconst LNX_RESPONSE_DATA_GOOD_WITH_CHAIN_CODE = Uint8Array.from([\n 0x41, 0x4, 0xe3, 0x78, 0x5c, 0xa6, 0xa5, 0xaa, 0x74, 0x8c, 0x62, 0x5e, 0x3d,\n 0xdd, 0xd6, 0xd9, 0x7b, 0x59, 0xb2, 0x6f, 0xd8, 0x15, 0x2f, 0xb5, 0x2e, 0xb2,\n 0x9d, 0x24, 0x40, 0x4f, 0x1, 0xb, 0xe4, 0xf7, 0x25, 0xc3, 0x72, 0x5e, 0x78,\n 0xbe, 0xd9, 0x53, 0xf0, 0x74, 0x77, 0x8d, 0x71, 0x79, 0x74, 0xde, 0x21, 0xf3,\n 0x47, 0xb, 0x73, 0x57, 0x36, 0xeb, 0x3d, 0x56, 0x74, 0x7a, 0xb6, 0xd0, 0x73,\n 0xa7, 0x28, 0x46, 0x37, 0x43, 0x36, 0x39, 0x42, 0x65, 0x64, 0x42, 0x32, 0x39,\n 0x32, 0x44, 0x64, 0x33, 0x66, 0x43, 0x32, 0x63, 0x41, 0x34, 0x31, 0x30, 0x33,\n 0x39, 0x38, 0x39, 0x42, 0x35, 0x42, 0x44, 0x37, 0x30, 0x35, 0x31, 0x36, 0x34,\n 0x63, 0x34, 0x33, 0x42, 0x3e, 0x65, 0x1f, 0x2b, 0x16, 0xb4, 0x18, 0x6d, 0x5e,\n 0xac, 0x16, 0x7c, 0xc4, 0x9a, 0xad, 0xe4, 0xa9, 0x7e, 0xb3, 0xb1, 0x37, 0xde,\n 0x36, 0x33, 0x47, 0x99, 0x68, 0x4d, 0xc, 0x71, 0x4a,\n]);\n\nconst LNX_RESPONSE_GOOD_WITH_CHAIN_CODE = new ApduResponse({\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: LNX_RESPONSE_DATA_GOOD_WITH_CHAIN_CODE,\n});\n\ndescribe(\"GetAddressCommand\", () => {\n let command: GetAddressCommand;\n const defaultArgs = {\n derivationPath: \"44'/60'/0'/0/0\",\n checkOnDevice: false,\n returnChainCode: false,\n };\n\n beforeEach(() => {\n command = new GetAddressCommand(defaultArgs);\n });\n\n describe(\"getApdu\", () => {\n it(\"should return the GetAddress apdu with default args\", () => {\n const apdu = command.getApdu();\n expect(apdu.getRawApdu()).toStrictEqual(GET_ADDRESS_APDU);\n });\n\n it(\"should return the GetAddress apdu with checkOnDevice set to true\", () => {\n command = new GetAddressCommand({ ...defaultArgs, checkOnDevice: true });\n const apdu = command.getApdu();\n expect(apdu.getRawApdu()).toStrictEqual(\n GET_ADDRESS_APDU_WITH_CHECK_ON_DEVICE,\n );\n });\n\n it(\"should return the GetAddress apdu with returnChainCode set to true\", () => {\n command = new GetAddressCommand({\n ...defaultArgs,\n returnChainCode: true,\n });\n const apdu = command.getApdu();\n expect(apdu.getRawApdu()).toStrictEqual(\n GET_ADDRESS_APDU_WITH_RETURN_CHAIN_CODE,\n );\n });\n\n it(\"should return the GetAddress apdu with checkOnDevice and returnChainCode set to true\", () => {\n command = new GetAddressCommand({\n ...defaultArgs,\n checkOnDevice: true,\n returnChainCode: true,\n });\n const apdu = command.getApdu();\n expect(apdu.getRawApdu()).toStrictEqual(\n GET_ADDRESS_APDU_WITH_CHECK_ON_DEVICE_WITH_RETURN_CHAIN_CODE,\n );\n });\n\n it(\"should return the GetAddress apdu with a custom derivation path\", () => {\n const customDerivationPath = \"44'/60'/3'/2/1\";\n command = new GetAddressCommand({\n ...defaultArgs,\n derivationPath: customDerivationPath,\n });\n const apdu = command.getApdu();\n expect(apdu.getRawApdu()).toStrictEqual(\n GET_ADDRESS_APDU_WITH_CUSTOM_DERIVATION_PATH,\n );\n });\n });\n\n describe(\"parseResponse\", () => {\n it(\"should parse the response\", () => {\n const parsed = command.parseResponse(LNX_RESPONSE_GOOD);\n expect(parsed).toStrictEqual(\n CommandResultFactory({\n data: {\n publicKey:\n \"04e3785ca6a5aa748c625e3dddd6d97b59b26fd8152fb52eb29d24404f010be4f725c3725e78bed953f074778d717974de21f3470b735736eb3d56747ab6d073a7\",\n address: \"0xF7C69BedB292Dd3fC2cA4103989B5BD705164c43\",\n chainCode: undefined,\n },\n }),\n );\n });\n\n it(\"should parse the response with chainCode\", () => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access\n (command as any)[\"args\"].returnChainCode = true;\n const parsed = command.parseResponse(LNX_RESPONSE_GOOD_WITH_CHAIN_CODE);\n expect(parsed).toStrictEqual(\n CommandResultFactory({\n data: {\n publicKey:\n \"04e3785ca6a5aa748c625e3dddd6d97b59b26fd8152fb52eb29d24404f010be4f725c3725e78bed953f074778d717974de21f3470b735736eb3d56747ab6d073a7\",\n address: \"0xF7C69BedB292Dd3fC2cA4103989B5BD705164c43\",\n chainCode:\n \"423e651f2b16b4186d5eac167cc49aade4a97eb3b137de36334799684d0c714a\",\n },\n }),\n );\n });\n\n it(\"should not return chainCode if it is not requested\", () => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access\n (command as any)[\"args\"].returnChainCode = false;\n const parsed = command.parseResponse(LNX_RESPONSE_GOOD_WITH_CHAIN_CODE);\n expect(parsed).toStrictEqual(\n CommandResultFactory({\n data: {\n publicKey:\n \"04e3785ca6a5aa748c625e3dddd6d97b59b26fd8152fb52eb29d24404f010be4f725c3725e78bed953f074778d717974de21f3470b735736eb3d56747ab6d073a7\",\n address: \"0xF7C69BedB292Dd3fC2cA4103989B5BD705164c43\",\n chainCode: undefined,\n },\n }),\n );\n });\n\n describe(\"should return an error\", () => {\n it(\"when the response is not successfull\", () => {\n const response = new ApduResponse({\n statusCode: Uint8Array.from([0x6d, 0x00]),\n data: new Uint8Array(0),\n });\n const result = command.parseResponse(response);\n expect(isSuccessCommandResult(result)).toBe(false);\n });\n\n it(\"when publicKeyLength is invalid\", () => {\n // GIVEN\n const response = {\n data: Uint8Array.from([]), // Invalid public key length\n statusCode: Uint8Array.from([0x90, 0x00]), // Success status code\n };\n\n // WHEN\n const result = command.parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n assert.fail(\"Expected an error\");\n } else {\n expect(result.error).toBeInstanceOf(InvalidStatusWordError);\n expect(result.error.originalError).toEqual(\n new Error(\"Public key length is missing\"),\n );\n }\n });\n\n it(\"when publicKey is invalid\", () => {\n // GIVEN\n const response = {\n data: Uint8Array.from([0x01]), // Invalid public key\n statusCode: Uint8Array.from([0x90, 0x00]), // Success status code\n };\n\n // WHEN\n const result = command.parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n assert.fail(\"Expected an error\");\n } else {\n expect(result.error).toBeInstanceOf(InvalidStatusWordError);\n expect(result.error.originalError).toEqual(\n new Error(\"Public key is missing\"),\n );\n }\n });\n\n it(\"when addressLength is invalid\", () => {\n // GIVEN\n const response = {\n data: Uint8Array.from([0x20, ...Array<number>(32).fill(0x02)]), // Invalid address length\n statusCode: Uint8Array.from([0x90, 0x00]), // Success status code\n };\n\n // WHEN\n const result = command.parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n assert.fail(\"Expected an error\");\n } else {\n expect(result.error).toBeInstanceOf(InvalidStatusWordError);\n expect(result.error.originalError).toEqual(\n new Error(\"Ethereum address length is missing\"),\n );\n }\n });\n\n it(\"when address is missing\", () => {\n // GIVEN\n const response = {\n data: Uint8Array.from([0x20, ...Array<number>(32).fill(0x02), 0x01]), // Invalid address\n statusCode: Uint8Array.from([0x90, 0x00]), // Success status code\n };\n\n // WHEN\n const result = command.parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n assert.fail(\"Expected an error\");\n } else {\n expect(result.error).toBeInstanceOf(InvalidStatusWordError);\n expect(result.error.originalError).toEqual(\n new Error(\"Ethereum address is missing\"),\n );\n }\n });\n\n it(\"when the address is invalid\", () => {\n // GIVEN\n const response = {\n data: Uint8Array.from([\n 0x20,\n ...Array<number>(32).fill(0x02),\n 0x01,\n 0x02,\n ]), // Invalid address\n statusCode: Uint8Array.from([0x90, 0x00]), // Success status code\n };\n\n // WHEN\n const result = command.parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n assert.fail(\"Expected an error\");\n } else {\n expect(result.error).toBeInstanceOf(InvalidStatusWordError);\n expect(result.error.originalError).toEqual(\n new Error(\"Invalid Ethereum address\"),\n );\n }\n });\n\n it(\"when chainCode is invalid\", () => {\n // GIVEN\n const response = {\n data: LNX_RESPONSE_DATA_GOOD_WITH_CHAIN_CODE.slice(0, -1), // Invalid chainCode\n statusCode: Uint8Array.from([0x90, 0x00]), // Success status code\n };\n\n // WHEN\n const commandWithChainCode = new GetAddressCommand({\n ...defaultArgs,\n returnChainCode: true,\n });\n const result = commandWithChainCode.parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n assert.fail(\"Expected an error\");\n } else {\n expect(result.error).toBeInstanceOf(InvalidStatusWordError);\n expect(result.error.originalError).toEqual(\n new Error(\"Invalid Chaincode\"),\n );\n }\n });\n });\n });\n});\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["import_device_management_kit", "import_GetAddressCommand", "GET_ADDRESS_APDU", "GET_ADDRESS_APDU_WITH_CHECK_ON_DEVICE", "GET_ADDRESS_APDU_WITH_RETURN_CHAIN_CODE", "GET_ADDRESS_APDU_WITH_CHECK_ON_DEVICE_WITH_RETURN_CHAIN_CODE", "GET_ADDRESS_APDU_WITH_CUSTOM_DERIVATION_PATH", "LNX_RESPONSE_DATA_GOOD", "LNX_RESPONSE_GOOD", "LNX_RESPONSE_DATA_GOOD_WITH_CHAIN_CODE", "LNX_RESPONSE_GOOD_WITH_CHAIN_CODE", "command", "defaultArgs", "apdu", "customDerivationPath", "parsed", "response", "result"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var l=Object.defineProperty;var
|
|
1
|
+
"use strict";var l=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var C=Object.getOwnPropertyNames;var i=Object.prototype.hasOwnProperty;var g=(o,e)=>{for(var t in e)l(o,t,{get:e[t],enumerable:!0})},E=(o,e,t,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of C(e))!i.call(o,n)&&n!==t&&l(o,n,{get:()=>e[n],enumerable:!(a=u(e,n))||a.enumerable});return o};var h=o=>E(l({},"__esModule",{value:!0}),o);var c={};g(c,{GetChallengeCommand:()=>A});module.exports=h(c);var r=require("@ledgerhq/device-management-kit"),m=require("@ledgerhq/signer-utils"),d=require("purify-ts"),s=require("./utils/ethAppErrors");const p=4;class A{errorHelper=new m.CommandErrorHelper(s.ETH_APP_ERRORS,s.EthAppCommandErrorFactory);constructor(){}getApdu(){const e={cla:224,ins:32,p1:0,p2:0};return new r.ApduBuilder(e).build()}parseResponse(e){return d.Maybe.fromNullable(this.errorHelper.getError(e)).orDefaultLazy(()=>{const t=new r.ApduParser(e);if(t.testMinimalLength(p)===!1)return(0,r.CommandResultFactory)({error:new r.InvalidStatusWordError("Challenge key is missing")});const a=t.encodeToHexaString(t.extractFieldByLength(p));return(0,r.CommandResultFactory)({data:{challenge:a}})})}}0&&(module.exports={GetChallengeCommand});
|
|
2
2
|
//# sourceMappingURL=GetChallengeCommand.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/internal/app-binder/command/GetChallengeCommand.ts"],
|
|
4
|
-
"sourcesContent": ["// https://github.com/LedgerHQ/app-ethereum/blob/develop/doc/ethapp.adoc#get-challenge\nimport {\n type Apdu,\n ApduBuilder,\n type ApduBuilderArgs,\n ApduParser,\n type ApduResponse,\n type Command,\n type CommandResult,\n CommandResultFactory,\n
|
|
5
|
-
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,yBAAAE,IAAA,eAAAC,EAAAH,GACA,IAAAI,
|
|
6
|
-
"names": ["GetChallengeCommand_exports", "__export", "GetChallengeCommand", "__toCommonJS", "import_device_management_kit", "CHALLENGE_LENGTH", "getChallengeArgs", "response", "parser", "challenge"]
|
|
4
|
+
"sourcesContent": ["// https://github.com/LedgerHQ/app-ethereum/blob/develop/doc/ethapp.adoc#get-challenge\nimport {\n type Apdu,\n ApduBuilder,\n type ApduBuilderArgs,\n ApduParser,\n type ApduResponse,\n type Command,\n type CommandResult,\n CommandResultFactory,\n InvalidStatusWordError,\n} from \"@ledgerhq/device-management-kit\";\nimport { CommandErrorHelper } from \"@ledgerhq/signer-utils\";\nimport { Maybe } from \"purify-ts\";\n\nimport {\n ETH_APP_ERRORS,\n EthAppCommandErrorFactory,\n type EthErrorCodes,\n} from \"./utils/ethAppErrors\";\n\nconst CHALLENGE_LENGTH = 4;\n\nexport type GetChallengeCommandResponse = {\n challenge: string;\n};\n\nexport class GetChallengeCommand\n implements Command<GetChallengeCommandResponse, void, EthErrorCodes>\n{\n private readonly errorHelper = new CommandErrorHelper<\n GetChallengeCommandResponse,\n EthErrorCodes\n >(ETH_APP_ERRORS, EthAppCommandErrorFactory);\n\n constructor() {}\n\n getApdu(): Apdu {\n const getChallengeArgs: ApduBuilderArgs = {\n cla: 0xe0,\n ins: 0x20,\n p1: 0x00,\n p2: 0x00,\n };\n return new ApduBuilder(getChallengeArgs).build();\n }\n\n parseResponse(\n response: ApduResponse,\n ): CommandResult<GetChallengeCommandResponse, EthErrorCodes> {\n return Maybe.fromNullable(\n this.errorHelper.getError(response),\n ).orDefaultLazy(() => {\n const parser = new ApduParser(response);\n\n if (parser.testMinimalLength(CHALLENGE_LENGTH) === false) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\"Challenge key is missing\"),\n });\n }\n\n const challenge = parser.encodeToHexaString(\n parser.extractFieldByLength(CHALLENGE_LENGTH),\n );\n\n return CommandResultFactory({\n data: {\n challenge,\n },\n });\n });\n }\n}\n"],
|
|
5
|
+
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,yBAAAE,IAAA,eAAAC,EAAAH,GACA,IAAAI,EAUO,2CACPC,EAAmC,kCACnCC,EAAsB,qBAEtBC,EAIO,gCAEP,MAAMC,EAAmB,EAMlB,MAAMN,CAEb,CACmB,YAAc,IAAI,qBAGjC,iBAAgB,2BAAyB,EAE3C,aAAc,CAAC,CAEf,SAAgB,CACd,MAAMO,EAAoC,CACxC,IAAK,IACL,IAAK,GACL,GAAI,EACJ,GAAI,CACN,EACA,OAAO,IAAI,cAAYA,CAAgB,EAAE,MAAM,CACjD,CAEA,cACEC,EAC2D,CAC3D,OAAO,QAAM,aACX,KAAK,YAAY,SAASA,CAAQ,CACpC,EAAE,cAAc,IAAM,CACpB,MAAMC,EAAS,IAAI,aAAWD,CAAQ,EAEtC,GAAIC,EAAO,kBAAkBH,CAAgB,IAAM,GACjD,SAAO,wBAAqB,CAC1B,MAAO,IAAI,yBAAuB,0BAA0B,CAC9D,CAAC,EAGH,MAAMI,EAAYD,EAAO,mBACvBA,EAAO,qBAAqBH,CAAgB,CAC9C,EAEA,SAAO,wBAAqB,CAC1B,KAAM,CACJ,UAAAI,CACF,CACF,CAAC,CACH,CAAC,CACH,CACF",
|
|
6
|
+
"names": ["GetChallengeCommand_exports", "__export", "GetChallengeCommand", "__toCommonJS", "import_device_management_kit", "import_signer_utils", "import_purify_ts", "import_ethAppErrors", "CHALLENGE_LENGTH", "getChallengeArgs", "response", "parser", "challenge"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var t=require("@ledgerhq/device-management-kit"),
|
|
1
|
+
"use strict";var t=require("@ledgerhq/device-management-kit"),s=require("./GetChallengeCommand");const o=Uint8Array.from([224,32,0,0,0]),n=Uint8Array.from([1,2,3,4]),a={statusCode:Uint8Array.from([144,0]),data:n},d={statusCode:Uint8Array.from([85,21]),data:new Uint8Array},p=Uint8Array.from([1,2]),c={statusCode:Uint8Array.from([144,0]),data:p};describe("GetChallengeCommand",()=>{let r;beforeEach(()=>{r=new s.GetChallengeCommand}),describe("getApdu",()=>{it("should return the challenge apdu",()=>{const e=r.getApdu();expect(e.getRawApdu()).toStrictEqual(o)})}),describe("parseResponse",()=>{it("should parse the response",()=>{const e=r.parseResponse(a);expect(e).toStrictEqual((0,t.CommandResultFactory)({data:{challenge:"01020304"}}))}),it("should return an error if the response is not successful",()=>{const e=r.parseResponse(d);expect((0,t.isSuccessCommandResult)(e)).toBe(!1)}),it("should return an error if the response is too short",()=>{const e=r.parseResponse(c);expect((0,t.isSuccessCommandResult)(e)).toBe(!1),expect(e.error).toBeInstanceOf(t.InvalidStatusWordError)})})});
|
|
2
2
|
//# sourceMappingURL=GetChallengeCommand.test.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/internal/app-binder/command/GetChallengeCommand.test.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n type Command,\n CommandResultFactory,\n InvalidStatusWordError,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\n\nimport {\n GetChallengeCommand,\n type GetChallengeCommandResponse,\n} from \"./GetChallengeCommand\";\n\nconst GET_CHALLENGE_APDU = Uint8Array.from([0xe0, 0x20, 0x00, 0x00, 0x00]);\n\nconst LNX_RESPONSE_DATA_GOOD = Uint8Array.from([0x01, 0x02, 0x03, 0x04]);\n\nconst LNX_RESPONSE_GOOD = {\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: LNX_RESPONSE_DATA_GOOD,\n};\n\nconst LNX_RESPONSE_LOCKED = {\n statusCode: Uint8Array.from([0x55, 0x15]),\n data: new Uint8Array(),\n};\n\nconst LNX_RESPONSE_DATA_TOO_SHORT = Uint8Array.from([0x01, 0x02]);\n\nconst LNX_RESPONSE_TOO_SHORT = {\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: LNX_RESPONSE_DATA_TOO_SHORT,\n};\n\ndescribe(\"GetChallengeCommand\", () => {\n let command: Command<GetChallengeCommandResponse,
|
|
5
|
-
"mappings": "aAAA,IAAAA,EAKO,
|
|
4
|
+
"sourcesContent": ["import {\n type Command,\n CommandResultFactory,\n InvalidStatusWordError,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { type EthErrorCodes } from \"./utils/ethAppErrors\";\nimport {\n GetChallengeCommand,\n type GetChallengeCommandResponse,\n} from \"./GetChallengeCommand\";\n\nconst GET_CHALLENGE_APDU = Uint8Array.from([0xe0, 0x20, 0x00, 0x00, 0x00]);\n\nconst LNX_RESPONSE_DATA_GOOD = Uint8Array.from([0x01, 0x02, 0x03, 0x04]);\n\nconst LNX_RESPONSE_GOOD = {\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: LNX_RESPONSE_DATA_GOOD,\n};\n\nconst LNX_RESPONSE_LOCKED = {\n statusCode: Uint8Array.from([0x55, 0x15]),\n data: new Uint8Array(),\n};\n\nconst LNX_RESPONSE_DATA_TOO_SHORT = Uint8Array.from([0x01, 0x02]);\n\nconst LNX_RESPONSE_TOO_SHORT = {\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: LNX_RESPONSE_DATA_TOO_SHORT,\n};\n\ndescribe(\"GetChallengeCommand\", () => {\n let command: Command<GetChallengeCommandResponse, EthErrorCodes, string>;\n\n beforeEach(() => {\n command = new GetChallengeCommand();\n });\n\n describe(\"getApdu\", () => {\n it(\"should return the challenge apdu\", () => {\n const apdu = command.getApdu();\n expect(apdu.getRawApdu()).toStrictEqual(GET_CHALLENGE_APDU);\n });\n });\n\n describe(\"parseResponse\", () => {\n it(\"should parse the response\", () => {\n const parsedResponse = command.parseResponse(LNX_RESPONSE_GOOD);\n expect(parsedResponse).toStrictEqual(\n CommandResultFactory({\n data: {\n challenge: \"01020304\",\n },\n }),\n );\n });\n\n it(\"should return an error if the response is not successful\", () => {\n const result = command.parseResponse(LNX_RESPONSE_LOCKED);\n expect(isSuccessCommandResult(result)).toBe(false);\n });\n\n it(\"should return an error if the response is too short\", () => {\n const result = command.parseResponse(LNX_RESPONSE_TOO_SHORT);\n\n expect(isSuccessCommandResult(result)).toBe(false);\n // @ts-ignore\n expect(result.error).toBeInstanceOf(InvalidStatusWordError);\n });\n });\n});\n"],
|
|
5
|
+
"mappings": "aAAA,IAAAA,EAKO,2CAGPC,EAGO,iCAEP,MAAMC,EAAqB,WAAW,KAAK,CAAC,IAAM,GAAM,EAAM,EAAM,CAAI,CAAC,EAEnEC,EAAyB,WAAW,KAAK,CAAC,EAAM,EAAM,EAAM,CAAI,CAAC,EAEjEC,EAAoB,CACxB,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,EACxC,KAAMD,CACR,EAEME,EAAsB,CAC1B,WAAY,WAAW,KAAK,CAAC,GAAM,EAAI,CAAC,EACxC,KAAM,IAAI,UACZ,EAEMC,EAA8B,WAAW,KAAK,CAAC,EAAM,CAAI,CAAC,EAE1DC,EAAyB,CAC7B,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,EACxC,KAAMD,CACR,EAEA,SAAS,sBAAuB,IAAM,CACpC,IAAIE,EAEJ,WAAW,IAAM,CACfA,EAAU,IAAI,qBAChB,CAAC,EAED,SAAS,UAAW,IAAM,CACxB,GAAG,mCAAoC,IAAM,CAC3C,MAAMC,EAAOD,EAAQ,QAAQ,EAC7B,OAAOC,EAAK,WAAW,CAAC,EAAE,cAAcP,CAAkB,CAC5D,CAAC,CACH,CAAC,EAED,SAAS,gBAAiB,IAAM,CAC9B,GAAG,4BAA6B,IAAM,CACpC,MAAMQ,EAAiBF,EAAQ,cAAcJ,CAAiB,EAC9D,OAAOM,CAAc,EAAE,iBACrB,wBAAqB,CACnB,KAAM,CACJ,UAAW,UACb,CACF,CAAC,CACH,CACF,CAAC,EAED,GAAG,2DAA4D,IAAM,CACnE,MAAMC,EAASH,EAAQ,cAAcH,CAAmB,EACxD,UAAO,0BAAuBM,CAAM,CAAC,EAAE,KAAK,EAAK,CACnD,CAAC,EAED,GAAG,sDAAuD,IAAM,CAC9D,MAAMA,EAASH,EAAQ,cAAcD,CAAsB,EAE3D,UAAO,0BAAuBI,CAAM,CAAC,EAAE,KAAK,EAAK,EAEjD,OAAOA,EAAO,KAAK,EAAE,eAAe,wBAAsB,CAC5D,CAAC,CACH,CAAC,CACH,CAAC",
|
|
6
6
|
"names": ["import_device_management_kit", "import_GetChallengeCommand", "GET_CHALLENGE_APDU", "LNX_RESPONSE_DATA_GOOD", "LNX_RESPONSE_GOOD", "LNX_RESPONSE_LOCKED", "LNX_RESPONSE_DATA_TOO_SHORT", "LNX_RESPONSE_TOO_SHORT", "command", "apdu", "parsedResponse", "result"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var m=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var E=(e,r)=>{for(var d in r)m(e,d,{get:r[d],enumerable:!0})},A=(e,r,d,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of u(r))!l.call(e,o)&&o!==d&&m(e,o,{get:()=>r[o],enumerable:!(n=i(r,o))||n.enumerable});return e};var C=e=>A(m({},"__esModule",{value:!0}),e);var g={};E(g,{ProvideEnumCommand:()=>y});module.exports=C(g);var t=require("@ledgerhq/device-management-kit"),s=require("@ledgerhq/signer-utils"),p=require("purify-ts"),a=require("./utils/ethAppErrors");class y{constructor(r){this.args=r}errorHelper=new s.CommandErrorHelper(a.ETH_APP_ERRORS,a.EthAppCommandErrorFactory);getApdu(){const r={cla:224,ins:36,p1:this.args.isFirstChunk?1:0,p2:0};return new t.ApduBuilder(r).addBufferToData(this.args.data).build()}parseResponse(r){return p.Maybe.fromNullable(this.errorHelper.getError(r)).orDefault((0,t.CommandResultFactory)({data:void 0}))}}0&&(module.exports={ProvideEnumCommand});
|
|
2
2
|
//# sourceMappingURL=ProvideEnumCommand.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/internal/app-binder/command/ProvideEnumCommand.ts"],
|
|
4
|
-
"sourcesContent": ["// https://github.com/LedgerHQ/generic_parser/blob/master/specs.md#provide-enum\nimport {\n type Apdu,\n ApduBuilder,\n type ApduBuilderArgs,\n type ApduResponse,\n type Command,\n type CommandResult,\n CommandResultFactory,\n
|
|
5
|
-
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,wBAAAE,IAAA,eAAAC,EAAAH,GACA,IAAAI,
|
|
6
|
-
"names": ["ProvideEnumCommand_exports", "__export", "ProvideEnumCommand", "__toCommonJS", "import_device_management_kit", "args", "ProvideEnumArgs", "response"]
|
|
4
|
+
"sourcesContent": ["// https://github.com/LedgerHQ/generic_parser/blob/master/specs.md#provide-enum\nimport {\n type Apdu,\n ApduBuilder,\n type ApduBuilderArgs,\n type ApduResponse,\n type Command,\n type CommandResult,\n CommandResultFactory,\n} from \"@ledgerhq/device-management-kit\";\nimport { CommandErrorHelper } from \"@ledgerhq/signer-utils\";\nimport { Maybe } from \"purify-ts\";\n\nimport {\n ETH_APP_ERRORS,\n EthAppCommandErrorFactory,\n type EthErrorCodes,\n} from \"./utils/ethAppErrors\";\n\nexport type ProvideEnumCommandArgs = {\n /**\n * The enum data to provide in chunks\n */\n readonly data: Uint8Array;\n /**\n * If this is the first chunk of the message\n */\n readonly isFirstChunk: boolean;\n};\n\nexport class ProvideEnumCommand\n implements Command<void, ProvideEnumCommandArgs, EthErrorCodes>\n{\n private readonly errorHelper = new CommandErrorHelper<void, EthErrorCodes>(\n ETH_APP_ERRORS,\n EthAppCommandErrorFactory,\n );\n\n constructor(private readonly args: ProvideEnumCommandArgs) {}\n\n getApdu(): Apdu {\n const ProvideEnumArgs: ApduBuilderArgs = {\n cla: 0xe0,\n ins: 0x24,\n p1: this.args.isFirstChunk ? 0x01 : 0x00,\n p2: 0x00,\n };\n\n return new ApduBuilder(ProvideEnumArgs)\n .addBufferToData(this.args.data)\n .build();\n }\n\n parseResponse(response: ApduResponse): CommandResult<void, EthErrorCodes> {\n return Maybe.fromNullable(this.errorHelper.getError(response)).orDefault(\n CommandResultFactory({ data: undefined }),\n );\n }\n}\n"],
|
|
5
|
+
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,wBAAAE,IAAA,eAAAC,EAAAH,GACA,IAAAI,EAQO,2CACPC,EAAmC,kCACnCC,EAAsB,qBAEtBC,EAIO,gCAaA,MAAML,CAEb,CAME,YAA6BM,EAA8B,CAA9B,UAAAA,CAA+B,CAL3C,YAAc,IAAI,qBACjC,iBACA,2BACF,EAIA,SAAgB,CACd,MAAMC,EAAmC,CACvC,IAAK,IACL,IAAK,GACL,GAAI,KAAK,KAAK,aAAe,EAAO,EACpC,GAAI,CACN,EAEA,OAAO,IAAI,cAAYA,CAAe,EACnC,gBAAgB,KAAK,KAAK,IAAI,EAC9B,MAAM,CACX,CAEA,cAAcC,EAA4D,CACxE,OAAO,QAAM,aAAa,KAAK,YAAY,SAASA,CAAQ,CAAC,EAAE,aAC7D,wBAAqB,CAAE,KAAM,MAAU,CAAC,CAC1C,CACF,CACF",
|
|
6
|
+
"names": ["ProvideEnumCommand_exports", "__export", "ProvideEnumCommand", "__toCommonJS", "import_device_management_kit", "import_signer_utils", "import_purify_ts", "import_ethAppErrors", "args", "ProvideEnumArgs", "response"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var o=require("@ledgerhq/device-management-kit"),n=require("./utils/ethAppErrors"),t=require("./ProvideEnumCommand");describe("ProvideEnumCommand",()=>{describe("getApdu",()=>{it("should return the raw APDU for the first chunk",()=>{const r={data:Uint8Array.from([1,2,3]),isFirstChunk:!0},e=new t.ProvideEnumCommand(r).getApdu();expect(e.getRawApdu()).toStrictEqual(Uint8Array.from([224,36,1,0,3,1,2,3]))}),it("should return the raw APDU for the subsequent chunk",()=>{const r={data:Uint8Array.from([4,5,6]),isFirstChunk:!1},e=new t.ProvideEnumCommand(r).getApdu();expect(e.getRawApdu()).toStrictEqual(Uint8Array.from([224,36,0,0,3,4,5,6]))})}),describe("parseResponse",()=>{it("should return an error if the response status code is invalid",()=>{const r={data:Uint8Array.from([]),statusCode:Uint8Array.from([109,0])},e=new t.ProvideEnumCommand({data:new Uint8Array(0),isFirstChunk:!0}).parseResponse(r);if((0,o.isSuccessCommandResult)(e))throw new Error("Expected an error");expect(e.error).toBeDefined(),expect(e.error).toBeInstanceOf(n.EthAppCommandError)}),it("should return a success result if the response status code is valid",()=>{const r={data:Uint8Array.from([]),statusCode:Uint8Array.from([144,0])},e=new t.ProvideEnumCommand({data:new Uint8Array(0),isFirstChunk:!0}).parseResponse(r);expect((0,o.isSuccessCommandResult)(e)).toBe(!0)})})});
|
|
2
2
|
//# sourceMappingURL=ProvideEnumCommand.test.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/internal/app-binder/command/ProvideEnumCommand.test.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n type ApduResponse,\n isSuccessCommandResult,\n
|
|
5
|
-
"mappings": "aAAA,IAAAA,
|
|
6
|
-
"names": ["import_device_management_kit", "import_ProvideEnumCommand", "args", "apdu", "response", "result"]
|
|
4
|
+
"sourcesContent": ["import {\n type ApduResponse,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { EthAppCommandError } from \"./utils/ethAppErrors\";\nimport {\n ProvideEnumCommand,\n type ProvideEnumCommandArgs,\n} from \"./ProvideEnumCommand\";\n\ndescribe(\"ProvideEnumCommand\", () => {\n describe(\"getApdu\", () => {\n it(\"should return the raw APDU for the first chunk\", () => {\n // GIVEN\n const args: ProvideEnumCommandArgs = {\n data: Uint8Array.from([0x01, 0x02, 0x03]),\n isFirstChunk: true,\n };\n\n // WHEN\n const command = new ProvideEnumCommand(args);\n const apdu = command.getApdu();\n\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(\n Uint8Array.from([0xe0, 0x24, 0x01, 0x00, 0x03, 0x01, 0x02, 0x03]),\n );\n });\n\n it(\"should return the raw APDU for the subsequent chunk\", () => {\n // GIVEN\n const args: ProvideEnumCommandArgs = {\n data: Uint8Array.from([0x04, 0x05, 0x06]),\n isFirstChunk: false,\n };\n\n // WHEN\n const command = new ProvideEnumCommand(args);\n const apdu = command.getApdu();\n\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(\n Uint8Array.from([0xe0, 0x24, 0x00, 0x00, 0x03, 0x04, 0x05, 0x06]),\n );\n });\n });\n\n describe(\"parseResponse\", () => {\n it(\"should return an error if the response status code is invalid\", () => {\n // GIVEN\n const response: ApduResponse = {\n data: Uint8Array.from([]),\n statusCode: Uint8Array.from([0x6d, 0x00]), // Invalid status code\n };\n\n // WHEN\n const command = new ProvideEnumCommand({\n data: new Uint8Array(0),\n isFirstChunk: true,\n });\n const result = command.parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n throw new Error(\"Expected an error\");\n } else {\n expect(result.error).toBeDefined();\n expect(result.error).toBeInstanceOf(EthAppCommandError);\n }\n });\n\n it(\"should return a success result if the response status code is valid\", () => {\n // GIVEN\n const response: ApduResponse = {\n data: Uint8Array.from([]),\n statusCode: Uint8Array.from([0x90, 0x00]), // Success status code\n };\n\n // WHEN\n const command = new ProvideEnumCommand({\n data: new Uint8Array(0),\n isFirstChunk: true,\n });\n const result = command.parseResponse(response);\n\n // THEN\n expect(isSuccessCommandResult(result)).toBe(true);\n });\n });\n});\n"],
|
|
5
|
+
"mappings": "aAAA,IAAAA,EAGO,2CAEPC,EAAmC,gCACnCC,EAGO,gCAEP,SAAS,qBAAsB,IAAM,CACnC,SAAS,UAAW,IAAM,CACxB,GAAG,iDAAkD,IAAM,CAEzD,MAAMC,EAA+B,CACnC,KAAM,WAAW,KAAK,CAAC,EAAM,EAAM,CAAI,CAAC,EACxC,aAAc,EAChB,EAIMC,EADU,IAAI,qBAAmBD,CAAI,EACtB,QAAQ,EAG7B,OAAOC,EAAK,WAAW,CAAC,EAAE,cACxB,WAAW,KAAK,CAAC,IAAM,GAAM,EAAM,EAAM,EAAM,EAAM,EAAM,CAAI,CAAC,CAClE,CACF,CAAC,EAED,GAAG,sDAAuD,IAAM,CAE9D,MAAMD,EAA+B,CACnC,KAAM,WAAW,KAAK,CAAC,EAAM,EAAM,CAAI,CAAC,EACxC,aAAc,EAChB,EAIMC,EADU,IAAI,qBAAmBD,CAAI,EACtB,QAAQ,EAG7B,OAAOC,EAAK,WAAW,CAAC,EAAE,cACxB,WAAW,KAAK,CAAC,IAAM,GAAM,EAAM,EAAM,EAAM,EAAM,EAAM,CAAI,CAAC,CAClE,CACF,CAAC,CACH,CAAC,EAED,SAAS,gBAAiB,IAAM,CAC9B,GAAG,gEAAiE,IAAM,CAExE,MAAMC,EAAyB,CAC7B,KAAM,WAAW,KAAK,CAAC,CAAC,EACxB,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,CAC1C,EAOMC,EAJU,IAAI,qBAAmB,CACrC,KAAM,IAAI,WAAW,CAAC,EACtB,aAAc,EAChB,CAAC,EACsB,cAAcD,CAAQ,EAG7C,MAAI,0BAAuBC,CAAM,EAC/B,MAAM,IAAI,MAAM,mBAAmB,EAEnC,OAAOA,EAAO,KAAK,EAAE,YAAY,EACjC,OAAOA,EAAO,KAAK,EAAE,eAAe,oBAAkB,CAE1D,CAAC,EAED,GAAG,sEAAuE,IAAM,CAE9E,MAAMD,EAAyB,CAC7B,KAAM,WAAW,KAAK,CAAC,CAAC,EACxB,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,CAC1C,EAOMC,EAJU,IAAI,qBAAmB,CACrC,KAAM,IAAI,WAAW,CAAC,EACtB,aAAc,EAChB,CAAC,EACsB,cAAcD,CAAQ,EAG7C,UAAO,0BAAuBC,CAAM,CAAC,EAAE,KAAK,EAAI,CAClD,CAAC,CACH,CAAC,CACH,CAAC",
|
|
6
|
+
"names": ["import_device_management_kit", "import_ethAppErrors", "import_ProvideEnumCommand", "args", "apdu", "response", "result"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var p=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var A=(o,r)=>{for(var d in r)p(o,d,{get:r[d],enumerable:!0})},C=(o,r,d,m)=>{if(r&&typeof r=="object"||typeof r=="function")for(let e of u(r))!l.call(o,e)&&e!==d&&p(o,e,{get:()=>r[e],enumerable:!(m=i(r,e))||m.enumerable});return o};var y=o=>C(p({},"__esModule",{value:!0}),o);var g={};A(g,{ProvideNFTInformationCommand:()=>E});module.exports=y(g);var t=require("@ledgerhq/device-management-kit"),n=require("@ledgerhq/signer-utils"),s=require("purify-ts"),a=require("./utils/ethAppErrors");class E{constructor(r){this.args=r}errorHelper=new n.CommandErrorHelper(a.ETH_APP_ERRORS,a.EthAppCommandErrorFactory);getApdu(){const r={cla:224,ins:20,p1:0,p2:0};return new t.ApduBuilder(r).addHexaStringToData(this.args.payload).build()}parseResponse(r){return s.Maybe.fromNullable(this.errorHelper.getError(r)).orDefault((0,t.CommandResultFactory)({data:void 0}))}}0&&(module.exports={ProvideNFTInformationCommand});
|
|
2
2
|
//# sourceMappingURL=ProvideNFTInformationCommand.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/internal/app-binder/command/ProvideNFTInformationCommand.ts"],
|
|
4
|
-
"sourcesContent": ["// https://github.com/LedgerHQ/app-ethereum/blob/develop/doc/ethapp.adoc#provide-nft-information\nimport {\n type Apdu,\n ApduBuilder,\n type ApduBuilderArgs,\n
|
|
5
|
-
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,kCAAAE,IAAA,eAAAC,EAAAH,GACA,IAAAI,
|
|
6
|
-
"names": ["ProvideNFTInformationCommand_exports", "__export", "ProvideNFTInformationCommand", "__toCommonJS", "import_device_management_kit", "
|
|
4
|
+
"sourcesContent": ["// https://github.com/LedgerHQ/app-ethereum/blob/develop/doc/ethapp.adoc#provide-nft-information\nimport {\n type Apdu,\n ApduBuilder,\n type ApduBuilderArgs,\n type ApduResponse,\n type Command,\n type CommandResult,\n CommandResultFactory,\n} from \"@ledgerhq/device-management-kit\";\nimport { CommandErrorHelper } from \"@ledgerhq/signer-utils\";\nimport { Maybe } from \"purify-ts\";\n\nimport {\n ETH_APP_ERRORS,\n EthAppCommandErrorFactory,\n type EthErrorCodes,\n} from \"./utils/ethAppErrors\";\n\nexport type ProvideNFTInformationCommandArgs = {\n /**\n * The stringified hexa representation of the NFT data.\n */\n payload: string;\n};\n\nexport class ProvideNFTInformationCommand\n implements Command<void, ProvideNFTInformationCommandArgs, EthErrorCodes>\n{\n private readonly errorHelper = new CommandErrorHelper<void, EthErrorCodes>(\n ETH_APP_ERRORS,\n EthAppCommandErrorFactory,\n );\n\n constructor(private readonly args: ProvideNFTInformationCommandArgs) {}\n\n getApdu(): Apdu {\n const apduBuilderArgs: ApduBuilderArgs = {\n cla: 0xe0,\n ins: 0x14,\n p1: 0x00,\n p2: 0x00,\n };\n return new ApduBuilder(apduBuilderArgs)\n .addHexaStringToData(this.args.payload)\n .build();\n }\n\n parseResponse(response: ApduResponse): CommandResult<void, EthErrorCodes> {\n return Maybe.fromNullable(this.errorHelper.getError(response)).orDefault(\n CommandResultFactory({ data: undefined }),\n );\n }\n}\n"],
|
|
5
|
+
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,kCAAAE,IAAA,eAAAC,EAAAH,GACA,IAAAI,EAQO,2CACPC,EAAmC,kCACnCC,EAAsB,qBAEtBC,EAIO,gCASA,MAAML,CAEb,CAME,YAA6BM,EAAwC,CAAxC,UAAAA,CAAyC,CALrD,YAAc,IAAI,qBACjC,iBACA,2BACF,EAIA,SAAgB,CACd,MAAMC,EAAmC,CACvC,IAAK,IACL,IAAK,GACL,GAAI,EACJ,GAAI,CACN,EACA,OAAO,IAAI,cAAYA,CAAe,EACnC,oBAAoB,KAAK,KAAK,OAAO,EACrC,MAAM,CACX,CAEA,cAAcC,EAA4D,CACxE,OAAO,QAAM,aAAa,KAAK,YAAY,SAASA,CAAQ,CAAC,EAAE,aAC7D,wBAAqB,CAAE,KAAM,MAAU,CAAC,CAC1C,CACF,CACF",
|
|
6
|
+
"names": ["ProvideNFTInformationCommand_exports", "__export", "ProvideNFTInformationCommand", "__toCommonJS", "import_device_management_kit", "import_signer_utils", "import_purify_ts", "import_ethAppErrors", "args", "apduBuilderArgs", "response"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var m=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var C=(o,r)=>{for(var n in r)m(o,n,{get:r[n],enumerable:!0})},A=(o,r,n,a)=>{if(r&&typeof r=="object"||typeof r=="function")for(let t of u(r))!l.call(o,t)&&t!==n&&m(o,t,{get:()=>r[t],enumerable:!(a=i(r,t))||a.enumerable});return o};var y=o=>A(m({},"__esModule",{value:!0}),o);var f={};C(f,{ProvideTokenInformationCommand:()=>E});module.exports=y(f);var e=require("@ledgerhq/device-management-kit"),p=require("@ledgerhq/signer-utils"),s=require("purify-ts"),d=require("./utils/ethAppErrors");class E{constructor(r){this.args=r}errorHelper=new p.CommandErrorHelper(d.ETH_APP_ERRORS,d.EthAppCommandErrorFactory);getApdu(){const r={cla:224,ins:10,p1:0,p2:0};return new e.ApduBuilder(r).addHexaStringToData(this.args.payload).build()}parseResponse(r){return s.Maybe.fromNullable(this.errorHelper.getError(r)).orDefaultLazy(()=>{const a=new e.ApduParser(r).extract8BitUInt()??0;return(0,e.CommandResultFactory)({data:{tokenIndex:a}})})}}0&&(module.exports={ProvideTokenInformationCommand});
|
|
2
2
|
//# sourceMappingURL=ProvideTokenInformationCommand.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/internal/app-binder/command/ProvideTokenInformationCommand.ts"],
|
|
4
|
-
"sourcesContent": ["// https://github.com/LedgerHQ/app-ethereum/blob/develop/doc/ethapp.adoc#provide-erc-20-token-information\nimport {\n type Apdu,\n ApduBuilder,\n type ApduBuilderArgs,\n ApduParser,\n type ApduResponse,\n type Command,\n type CommandResult,\n CommandResultFactory,\n
|
|
5
|
-
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,oCAAAE,IAAA,eAAAC,EAAAH,GACA,IAAAI,
|
|
6
|
-
"names": ["ProvideTokenInformationCommand_exports", "__export", "ProvideTokenInformationCommand", "__toCommonJS", "import_device_management_kit", "
|
|
4
|
+
"sourcesContent": ["// https://github.com/LedgerHQ/app-ethereum/blob/develop/doc/ethapp.adoc#provide-erc-20-token-information\nimport {\n type Apdu,\n ApduBuilder,\n type ApduBuilderArgs,\n ApduParser,\n type ApduResponse,\n type Command,\n type CommandResult,\n CommandResultFactory,\n} from \"@ledgerhq/device-management-kit\";\nimport { CommandErrorHelper } from \"@ledgerhq/signer-utils\";\nimport { Maybe } from \"purify-ts\";\n\nimport {\n ETH_APP_ERRORS,\n EthAppCommandErrorFactory,\n type EthErrorCodes,\n} from \"./utils/ethAppErrors\";\n\nexport type ProvideTokenInformationCommandArgs = {\n payload: string;\n};\n\nexport type ProvideTokenInformationCommandResponse = {\n tokenIndex: number;\n};\n\nexport class ProvideTokenInformationCommand\n implements\n Command<\n ProvideTokenInformationCommandResponse,\n ProvideTokenInformationCommandArgs,\n EthErrorCodes\n >\n{\n private readonly errorHelper = new CommandErrorHelper<\n ProvideTokenInformationCommandResponse,\n EthErrorCodes\n >(ETH_APP_ERRORS, EthAppCommandErrorFactory);\n\n constructor(private readonly args: ProvideTokenInformationCommandArgs) {}\n\n getApdu(): Apdu {\n const getEthAddressArgs: ApduBuilderArgs = {\n cla: 0xe0,\n ins: 0x0a,\n p1: 0x00,\n p2: 0x00,\n };\n return new ApduBuilder(getEthAddressArgs)\n .addHexaStringToData(this.args.payload)\n .build();\n }\n\n parseResponse(\n response: ApduResponse,\n ): CommandResult<ProvideTokenInformationCommandResponse, EthErrorCodes> {\n return Maybe.fromNullable(\n this.errorHelper.getError(response),\n ).orDefaultLazy(() => {\n const parser = new ApduParser(response);\n const tokenIndex = parser.extract8BitUInt() ?? 0;\n return CommandResultFactory({ data: { tokenIndex } });\n });\n }\n}\n"],
|
|
5
|
+
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,oCAAAE,IAAA,eAAAC,EAAAH,GACA,IAAAI,EASO,2CACPC,EAAmC,kCACnCC,EAAsB,qBAEtBC,EAIO,gCAUA,MAAML,CAOb,CAME,YAA6BM,EAA0C,CAA1C,UAAAA,CAA2C,CALvD,YAAc,IAAI,qBAGjC,iBAAgB,2BAAyB,EAI3C,SAAgB,CACd,MAAMC,EAAqC,CACzC,IAAK,IACL,IAAK,GACL,GAAI,EACJ,GAAI,CACN,EACA,OAAO,IAAI,cAAYA,CAAiB,EACrC,oBAAoB,KAAK,KAAK,OAAO,EACrC,MAAM,CACX,CAEA,cACEC,EACsE,CACtE,OAAO,QAAM,aACX,KAAK,YAAY,SAASA,CAAQ,CACpC,EAAE,cAAc,IAAM,CAEpB,MAAMC,EADS,IAAI,aAAWD,CAAQ,EACZ,gBAAgB,GAAK,EAC/C,SAAO,wBAAqB,CAAE,KAAM,CAAE,WAAAC,CAAW,CAAE,CAAC,CACtD,CAAC,CACH,CACF",
|
|
6
|
+
"names": ["ProvideTokenInformationCommand_exports", "__export", "ProvideTokenInformationCommand", "__toCommonJS", "import_device_management_kit", "import_signer_utils", "import_purify_ts", "import_ethAppErrors", "args", "getEthAddressArgs", "response", "tokenIndex"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var i=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var u=Object.prototype.hasOwnProperty;var c=(e,r)=>{for(var t in r)i(e,t,{get:r[t],enumerable:!0})},A=(e,r,t,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of l(r))!u.call(e,o)&&o!==t&&i(e,o,{get:()=>r[o],enumerable:!(n=m(r,o))||n.enumerable});return e};var C=e=>A(i({},"__esModule",{value:!0}),e);var E={};c(E,{ProvideTransactionFieldDescriptionCommand:()=>y});module.exports=C(E);var d=require("@ledgerhq/device-management-kit"),s=require("@ledgerhq/signer-utils"),p=require("purify-ts"),a=require("./utils/ethAppErrors");class y{constructor(r){this.args=r}errorHelper=new s.CommandErrorHelper(a.ETH_APP_ERRORS,a.EthAppCommandErrorFactory);getApdu(){const r={cla:224,ins:40,p1:this.args.isFirstChunk?1:0,p2:0};return new d.ApduBuilder(r).addBufferToData(this.args.data).build()}parseResponse(r){return p.Maybe.fromNullable(this.errorHelper.getError(r)).orDefault((0,d.CommandResultFactory)({data:void 0}))}}0&&(module.exports={ProvideTransactionFieldDescriptionCommand});
|
|
2
2
|
//# sourceMappingURL=ProvideTransactionFieldDescriptionCommand.js.map
|
package/lib/cjs/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.ts"],
|
|
4
|
-
"sourcesContent": ["//https://github.com/LedgerHQ/generic_parser/blob/master/specs.md#tx-field-description\nimport {\n type Apdu,\n ApduBuilder,\n type ApduBuilderArgs,\n type ApduResponse,\n type Command,\n type CommandResult,\n CommandResultFactory,\n
|
|
5
|
-
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,+CAAAE,IAAA,eAAAC,EAAAH,GACA,IAAAI,
|
|
6
|
-
"names": ["ProvideTransactionFieldDescriptionCommand_exports", "__export", "ProvideTransactionFieldDescriptionCommand", "__toCommonJS", "import_device_management_kit", "args", "ProvideTransactionFieldDescriptionArgs", "response"]
|
|
4
|
+
"sourcesContent": ["//https://github.com/LedgerHQ/generic_parser/blob/master/specs.md#tx-field-description\nimport {\n type Apdu,\n ApduBuilder,\n type ApduBuilderArgs,\n type ApduResponse,\n type Command,\n type CommandResult,\n CommandResultFactory,\n} from \"@ledgerhq/device-management-kit\";\nimport { CommandErrorHelper } from \"@ledgerhq/signer-utils\";\nimport { Maybe } from \"purify-ts\";\n\nimport {\n ETH_APP_ERRORS,\n EthAppCommandErrorFactory,\n type EthErrorCodes,\n} from \"./utils/ethAppErrors\";\n\nexport type ProvideTransactionFieldDescriptionCommandArgs = {\n /**\n * The field description data to provide in chunks\n */\n readonly data: Uint8Array;\n /**\n * If this is the first chunk of the message\n */\n readonly isFirstChunk: boolean;\n};\n\nexport class ProvideTransactionFieldDescriptionCommand\n implements\n Command<void, ProvideTransactionFieldDescriptionCommandArgs, EthErrorCodes>\n{\n private readonly errorHelper = new CommandErrorHelper<void, EthErrorCodes>(\n ETH_APP_ERRORS,\n EthAppCommandErrorFactory,\n );\n\n constructor(\n private readonly args: ProvideTransactionFieldDescriptionCommandArgs,\n ) {}\n\n getApdu(): Apdu {\n const ProvideTransactionFieldDescriptionArgs: ApduBuilderArgs = {\n cla: 0xe0,\n ins: 0x28,\n p1: this.args.isFirstChunk ? 0x01 : 0x00,\n p2: 0x00,\n };\n\n return new ApduBuilder(ProvideTransactionFieldDescriptionArgs)\n .addBufferToData(this.args.data)\n .build();\n }\n\n parseResponse(response: ApduResponse): CommandResult<void, EthErrorCodes> {\n return Maybe.fromNullable(this.errorHelper.getError(response)).orDefault(\n CommandResultFactory({ data: undefined }),\n );\n }\n}\n"],
|
|
5
|
+
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,+CAAAE,IAAA,eAAAC,EAAAH,GACA,IAAAI,EAQO,2CACPC,EAAmC,kCACnCC,EAAsB,qBAEtBC,EAIO,gCAaA,MAAML,CAGb,CAME,YACmBM,EACjB,CADiB,UAAAA,CAChB,CAPc,YAAc,IAAI,qBACjC,iBACA,2BACF,EAMA,SAAgB,CACd,MAAMC,EAA0D,CAC9D,IAAK,IACL,IAAK,GACL,GAAI,KAAK,KAAK,aAAe,EAAO,EACpC,GAAI,CACN,EAEA,OAAO,IAAI,cAAYA,CAAsC,EAC1D,gBAAgB,KAAK,KAAK,IAAI,EAC9B,MAAM,CACX,CAEA,cAAcC,EAA4D,CACxE,OAAO,QAAM,aAAa,KAAK,YAAY,SAASA,CAAQ,CAAC,EAAE,aAC7D,wBAAqB,CAAE,KAAM,MAAU,CAAC,CAC1C,CACF,CACF",
|
|
6
|
+
"names": ["ProvideTransactionFieldDescriptionCommand_exports", "__export", "ProvideTransactionFieldDescriptionCommand", "__toCommonJS", "import_device_management_kit", "import_signer_utils", "import_purify_ts", "import_ethAppErrors", "args", "ProvideTransactionFieldDescriptionArgs", "response"]
|
|
7
7
|
}
|
package/lib/cjs/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.test.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var o=require("@ledgerhq/device-management-kit"),n=require("./utils/ethAppErrors"),t=require("./ProvideTransactionFieldDescriptionCommand");describe("ProvideTransactionFieldDescriptionCommand",()=>{describe("getApdu",()=>{it("should return the raw APDU for the first chunk",()=>{const r={data:Uint8Array.from([1,2,3]),isFirstChunk:!0},e=new t.ProvideTransactionFieldDescriptionCommand(r).getApdu();expect(e.getRawApdu()).toStrictEqual(Uint8Array.from([224,40,1,0,3,1,2,3]))}),it("should return the raw APDU for the subsequent chunk",()=>{const r={data:Uint8Array.from([4,5,6]),isFirstChunk:!1},e=new t.ProvideTransactionFieldDescriptionCommand(r).getApdu();expect(e.getRawApdu()).toStrictEqual(Uint8Array.from([224,40,0,0,3,4,5,6]))})}),describe("parseResponse",()=>{it("should return an error if the response status code is invalid",()=>{const r={data:Uint8Array.from([]),statusCode:Uint8Array.from([109,0])},e=new t.ProvideTransactionFieldDescriptionCommand({data:new Uint8Array(0),isFirstChunk:!0}).parseResponse(r);if((0,o.isSuccessCommandResult)(e))throw new Error("Expected an error");expect(e.error).toBeDefined(),expect(e.error).toBeInstanceOf(n.EthAppCommandError)}),it("should return a success result if the response status code is valid",()=>{const r={data:Uint8Array.from([]),statusCode:Uint8Array.from([144,0])},e=new t.ProvideTransactionFieldDescriptionCommand({data:new Uint8Array(0),isFirstChunk:!0}).parseResponse(r);if((0,o.isSuccessCommandResult)(e))expect(e.data).toBeUndefined();else throw new Error("Expected a success result")})})});
|
|
2
2
|
//# sourceMappingURL=ProvideTransactionFieldDescriptionCommand.test.js.map
|
package/lib/cjs/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.test.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.test.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n type ApduResponse,\n isSuccessCommandResult,\n
|
|
5
|
-
"mappings": "aAAA,IAAAA,
|
|
6
|
-
"names": ["import_device_management_kit", "import_ProvideTransactionFieldDescriptionCommand", "args", "apdu", "response", "result"]
|
|
4
|
+
"sourcesContent": ["import {\n type ApduResponse,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { EthAppCommandError } from \"./utils/ethAppErrors\";\nimport {\n ProvideTransactionFieldDescriptionCommand,\n type ProvideTransactionFieldDescriptionCommandArgs,\n} from \"./ProvideTransactionFieldDescriptionCommand\";\n\ndescribe(\"ProvideTransactionFieldDescriptionCommand\", () => {\n describe(\"getApdu\", () => {\n it(\"should return the raw APDU for the first chunk\", () => {\n // GIVEN\n const args: ProvideTransactionFieldDescriptionCommandArgs = {\n data: Uint8Array.from([0x01, 0x02, 0x03]),\n isFirstChunk: true,\n };\n\n // WHEN\n const command = new ProvideTransactionFieldDescriptionCommand(args);\n const apdu = command.getApdu();\n\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(\n Uint8Array.from([0xe0, 0x28, 0x01, 0x00, 0x03, 0x01, 0x02, 0x03]),\n );\n });\n\n it(\"should return the raw APDU for the subsequent chunk\", () => {\n // GIVEN\n const args: ProvideTransactionFieldDescriptionCommandArgs = {\n data: Uint8Array.from([0x04, 0x05, 0x06]),\n isFirstChunk: false,\n };\n\n // WHEN\n const command = new ProvideTransactionFieldDescriptionCommand(args);\n const apdu = command.getApdu();\n\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(\n Uint8Array.from([0xe0, 0x28, 0x00, 0x00, 0x03, 0x04, 0x05, 0x06]),\n );\n });\n });\n\n describe(\"parseResponse\", () => {\n it(\"should return an error if the response status code is invalid\", () => {\n // GIVEN\n const response: ApduResponse = {\n data: Uint8Array.from([]),\n statusCode: Uint8Array.from([0x6d, 0x00]), // Invalid status code\n };\n\n // WHEN\n const command = new ProvideTransactionFieldDescriptionCommand({\n data: new Uint8Array(0),\n isFirstChunk: true,\n });\n const result = command.parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n throw new Error(\"Expected an error\");\n } else {\n expect(result.error).toBeDefined();\n expect(result.error).toBeInstanceOf(EthAppCommandError);\n }\n });\n\n it(\"should return a success result if the response status code is valid\", () => {\n // GIVEN\n const response: ApduResponse = {\n data: Uint8Array.from([]),\n statusCode: Uint8Array.from([0x90, 0x00]), // Success status code\n };\n\n // WHEN\n const command = new ProvideTransactionFieldDescriptionCommand({\n data: new Uint8Array(0),\n isFirstChunk: true,\n });\n const result = command.parseResponse(response);\n\n // THEN\n if (!isSuccessCommandResult(result)) {\n throw new Error(\"Expected a success result\");\n } else {\n expect(result.data).toBeUndefined();\n }\n });\n });\n});\n"],
|
|
5
|
+
"mappings": "aAAA,IAAAA,EAGO,2CAEPC,EAAmC,gCACnCC,EAGO,uDAEP,SAAS,4CAA6C,IAAM,CAC1D,SAAS,UAAW,IAAM,CACxB,GAAG,iDAAkD,IAAM,CAEzD,MAAMC,EAAsD,CAC1D,KAAM,WAAW,KAAK,CAAC,EAAM,EAAM,CAAI,CAAC,EACxC,aAAc,EAChB,EAIMC,EADU,IAAI,4CAA0CD,CAAI,EAC7C,QAAQ,EAG7B,OAAOC,EAAK,WAAW,CAAC,EAAE,cACxB,WAAW,KAAK,CAAC,IAAM,GAAM,EAAM,EAAM,EAAM,EAAM,EAAM,CAAI,CAAC,CAClE,CACF,CAAC,EAED,GAAG,sDAAuD,IAAM,CAE9D,MAAMD,EAAsD,CAC1D,KAAM,WAAW,KAAK,CAAC,EAAM,EAAM,CAAI,CAAC,EACxC,aAAc,EAChB,EAIMC,EADU,IAAI,4CAA0CD,CAAI,EAC7C,QAAQ,EAG7B,OAAOC,EAAK,WAAW,CAAC,EAAE,cACxB,WAAW,KAAK,CAAC,IAAM,GAAM,EAAM,EAAM,EAAM,EAAM,EAAM,CAAI,CAAC,CAClE,CACF,CAAC,CACH,CAAC,EAED,SAAS,gBAAiB,IAAM,CAC9B,GAAG,gEAAiE,IAAM,CAExE,MAAMC,EAAyB,CAC7B,KAAM,WAAW,KAAK,CAAC,CAAC,EACxB,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,CAC1C,EAOMC,EAJU,IAAI,4CAA0C,CAC5D,KAAM,IAAI,WAAW,CAAC,EACtB,aAAc,EAChB,CAAC,EACsB,cAAcD,CAAQ,EAG7C,MAAI,0BAAuBC,CAAM,EAC/B,MAAM,IAAI,MAAM,mBAAmB,EAEnC,OAAOA,EAAO,KAAK,EAAE,YAAY,EACjC,OAAOA,EAAO,KAAK,EAAE,eAAe,oBAAkB,CAE1D,CAAC,EAED,GAAG,sEAAuE,IAAM,CAE9E,MAAMD,EAAyB,CAC7B,KAAM,WAAW,KAAK,CAAC,CAAC,EACxB,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,CAC1C,EAOMC,EAJU,IAAI,4CAA0C,CAC5D,KAAM,IAAI,WAAW,CAAC,EACtB,aAAc,EAChB,CAAC,EACsB,cAAcD,CAAQ,EAG7C,MAAK,0BAAuBC,CAAM,EAGhC,OAAOA,EAAO,IAAI,EAAE,cAAc,MAFlC,OAAM,IAAI,MAAM,2BAA2B,CAI/C,CAAC,CACH,CAAC,CACH,CAAC",
|
|
6
|
+
"names": ["import_device_management_kit", "import_ethAppErrors", "import_ProvideTransactionFieldDescriptionCommand", "args", "apdu", "response", "result"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var d=Object.defineProperty;var
|
|
1
|
+
"use strict";var d=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var A=(o,r)=>{for(var a in r)d(o,a,{get:r[a],enumerable:!0})},C=(o,r,a,s)=>{if(r&&typeof r=="object"||typeof r=="function")for(let e of u(r))!l.call(o,e)&&e!==a&&d(o,e,{get:()=>r[e],enumerable:!(s=p(r,e))||s.enumerable});return o};var y=o=>C(d({},"__esModule",{value:!0}),o);var E={};A(E,{ProvideTransactionInformationCommand:()=>f});module.exports=y(E);var t=require("@ledgerhq/device-management-kit"),i=require("@ledgerhq/signer-utils"),m=require("purify-ts"),n=require("./utils/ethAppErrors");class f{constructor(r){this.args=r}errorHelper=new i.CommandErrorHelper(n.ETH_APP_ERRORS,n.EthAppCommandErrorFactory);getApdu(){const r={cla:224,ins:38,p1:this.args.isFirstChunk?1:0,p2:0};return new t.ApduBuilder(r).addBufferToData(this.args.data).build()}parseResponse(r){return m.Maybe.fromNullable(this.errorHelper.getError(r)).orDefault((0,t.CommandResultFactory)({data:void 0}))}}0&&(module.exports={ProvideTransactionInformationCommand});
|
|
2
2
|
//# sourceMappingURL=ProvideTransactionInformationCommand.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/internal/app-binder/command/ProvideTransactionInformationCommand.ts"],
|
|
4
|
-
"sourcesContent": ["// https://github.com/LedgerHQ/generic_parser/blob/master/specs.md#transaction-info\nimport {\n type Apdu,\n ApduBuilder,\n type ApduBuilderArgs,\n type ApduResponse,\n type Command,\n type CommandResult,\n CommandResultFactory,\n
|
|
5
|
-
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,0CAAAE,IAAA,eAAAC,EAAAH,GACA,IAAAI,
|
|
6
|
-
"names": ["ProvideTransactionInformationCommand_exports", "__export", "ProvideTransactionInformationCommand", "__toCommonJS", "import_device_management_kit", "args", "ProvideTransactionInformationArgs", "response"]
|
|
4
|
+
"sourcesContent": ["// https://github.com/LedgerHQ/generic_parser/blob/master/specs.md#transaction-info\nimport {\n type Apdu,\n ApduBuilder,\n type ApduBuilderArgs,\n type ApduResponse,\n type Command,\n type CommandResult,\n CommandResultFactory,\n} from \"@ledgerhq/device-management-kit\";\nimport { CommandErrorHelper } from \"@ledgerhq/signer-utils\";\nimport { Maybe } from \"purify-ts\";\n\nimport {\n ETH_APP_ERRORS,\n EthAppCommandErrorFactory,\n type EthErrorCodes,\n} from \"./utils/ethAppErrors\";\n\nexport type ProvideTransactionInformationCommandArgs = {\n /**\n * The transaction information to provide in chunks\n */\n readonly data: Uint8Array;\n /**\n * If this is the first chunk of the message\n */\n readonly isFirstChunk: boolean;\n};\n\nexport class ProvideTransactionInformationCommand\n implements\n Command<void, ProvideTransactionInformationCommandArgs, EthErrorCodes>\n{\n private readonly errorHelper = new CommandErrorHelper<void, EthErrorCodes>(\n ETH_APP_ERRORS,\n EthAppCommandErrorFactory,\n );\n\n constructor(\n private readonly args: ProvideTransactionInformationCommandArgs,\n ) {}\n\n getApdu(): Apdu {\n const ProvideTransactionInformationArgs: ApduBuilderArgs = {\n cla: 0xe0,\n ins: 0x26,\n p1: this.args.isFirstChunk ? 0x01 : 0x00,\n p2: 0x00,\n };\n\n return new ApduBuilder(ProvideTransactionInformationArgs)\n .addBufferToData(this.args.data)\n .build();\n }\n\n parseResponse(response: ApduResponse): CommandResult<void, EthErrorCodes> {\n return Maybe.fromNullable(this.errorHelper.getError(response)).orDefault(\n CommandResultFactory({ data: undefined }),\n );\n }\n}\n"],
|
|
5
|
+
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,0CAAAE,IAAA,eAAAC,EAAAH,GACA,IAAAI,EAQO,2CACPC,EAAmC,kCACnCC,EAAsB,qBAEtBC,EAIO,gCAaA,MAAML,CAGb,CAME,YACmBM,EACjB,CADiB,UAAAA,CAChB,CAPc,YAAc,IAAI,qBACjC,iBACA,2BACF,EAMA,SAAgB,CACd,MAAMC,EAAqD,CACzD,IAAK,IACL,IAAK,GACL,GAAI,KAAK,KAAK,aAAe,EAAO,EACpC,GAAI,CACN,EAEA,OAAO,IAAI,cAAYA,CAAiC,EACrD,gBAAgB,KAAK,KAAK,IAAI,EAC9B,MAAM,CACX,CAEA,cAAcC,EAA4D,CACxE,OAAO,QAAM,aAAa,KAAK,YAAY,SAASA,CAAQ,CAAC,EAAE,aAC7D,wBAAqB,CAAE,KAAM,MAAU,CAAC,CAC1C,CACF,CACF",
|
|
6
|
+
"names": ["ProvideTransactionInformationCommand_exports", "__export", "ProvideTransactionInformationCommand", "__toCommonJS", "import_device_management_kit", "import_signer_utils", "import_purify_ts", "import_ethAppErrors", "args", "ProvideTransactionInformationArgs", "response"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var n=require("@ledgerhq/device-management-kit"),t=require("./ProvideTransactionInformationCommand");describe("ProvideTransactionInformationCommand",()=>{describe("getApdu",()=>{it("should return the raw APDU for the first chunk",()=>{const
|
|
1
|
+
"use strict";var n=require("@ledgerhq/device-management-kit"),s=require("./utils/ethAppErrors"),t=require("./ProvideTransactionInformationCommand");describe("ProvideTransactionInformationCommand",()=>{describe("getApdu",()=>{it("should return the raw APDU for the first chunk",()=>{const e={data:Uint8Array.from([1,2,3]),isFirstChunk:!0},r=new t.ProvideTransactionInformationCommand(e).getApdu();expect(r.getRawApdu()).toStrictEqual(Uint8Array.from([224,38,1,0,3,1,2,3]))}),it("should return the raw APDU for the subsequent chunk",()=>{const e={data:Uint8Array.from([4,5,6]),isFirstChunk:!1},r=new t.ProvideTransactionInformationCommand(e).getApdu();expect(r.getRawApdu()).toStrictEqual(Uint8Array.from([224,38,0,0,3,4,5,6]))})}),describe("parseResponse",()=>{it("should return an error if the response status code is invalid",()=>{const e={data:Uint8Array.from([]),statusCode:Uint8Array.from([109,0])},r=new t.ProvideTransactionInformationCommand({data:new Uint8Array(0),isFirstChunk:!0}).parseResponse(e);if((0,n.isSuccessCommandResult)(r))throw new Error("Expected an error");expect(r.error).toBeDefined(),expect(r.error).toBeInstanceOf(s.EthAppCommandError)}),it("should return a success result if the response status code is valid",()=>{const e={data:Uint8Array.from([]),statusCode:Uint8Array.from([144,0])},r=new t.ProvideTransactionInformationCommand({data:new Uint8Array(0),isFirstChunk:!0}).parseResponse(e);if((0,n.isSuccessCommandResult)(r))expect(r.data).toBeUndefined();else throw new Error("Expected a success result")})})});
|
|
2
2
|
//# sourceMappingURL=ProvideTransactionInformationCommand.test.js.map
|