@ledgerhq/device-signer-kit-ethereum 1.0.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 +173 -382
- package/lib/cjs/api/SignerEth.js +2 -0
- package/lib/cjs/api/SignerEth.js.map +7 -0
- package/lib/cjs/api/SignerEthBuilder.js +2 -0
- package/lib/cjs/api/SignerEthBuilder.js.map +7 -0
- package/lib/cjs/api/SignerEthBuilder.test.js +2 -0
- package/lib/cjs/api/SignerEthBuilder.test.js.map +7 -0
- package/lib/cjs/api/app-binder/GetAddressCommandTypes.js +2 -3
- package/lib/cjs/api/app-binder/GetAddressCommandTypes.js.map +7 -1
- package/lib/cjs/api/app-binder/GetAddressDeviceActionTypes.js +2 -3
- package/lib/cjs/api/app-binder/GetAddressDeviceActionTypes.js.map +7 -1
- package/lib/cjs/api/app-binder/SignPersonalMessageDeviceActionTypes.js +2 -3
- package/lib/cjs/api/app-binder/SignPersonalMessageDeviceActionTypes.js.map +7 -1
- package/lib/cjs/api/app-binder/SignTransactionDeviceActionTypes.js +2 -3
- package/lib/cjs/api/app-binder/SignTransactionDeviceActionTypes.js.map +7 -1
- package/lib/cjs/api/app-binder/SignTypedDataDeviceActionTypes.js +2 -3
- package/lib/cjs/api/app-binder/SignTypedDataDeviceActionTypes.js.map +7 -1
- package/lib/cjs/api/index.js +2 -26
- package/lib/cjs/api/index.js.map +7 -1
- package/lib/cjs/api/model/Address.js +2 -3
- package/lib/cjs/api/model/Address.js.map +7 -1
- package/lib/cjs/api/model/AddressOptions.js +2 -3
- package/lib/cjs/api/model/AddressOptions.js.map +7 -1
- package/lib/cjs/api/model/Signature.js +2 -3
- package/lib/cjs/api/model/Signature.js.map +7 -1
- package/lib/cjs/api/model/TransactionOptions.js +2 -3
- package/lib/cjs/api/model/TransactionOptions.js.map +7 -1
- package/lib/cjs/api/model/TransactionType.js +2 -0
- package/lib/cjs/api/model/TransactionType.js.map +7 -0
- package/lib/cjs/api/model/TypedData.js +2 -4
- package/lib/cjs/api/model/TypedData.js.map +7 -1
- package/lib/cjs/index.js +2 -20
- package/lib/cjs/index.js.map +7 -1
- package/lib/cjs/internal/DefaultSignerEth.js +2 -0
- package/lib/cjs/internal/DefaultSignerEth.js.map +7 -0
- package/lib/cjs/internal/DefaultSignerEth.test.js +2 -0
- package/lib/cjs/internal/DefaultSignerEth.test.js.map +7 -0
- package/lib/cjs/internal/address/di/addressModule.js +2 -11
- package/lib/cjs/internal/address/di/addressModule.js.map +7 -1
- package/lib/cjs/internal/address/di/addressModule.test.js +2 -0
- package/lib/cjs/internal/address/di/addressModule.test.js.map +7 -0
- package/lib/cjs/internal/address/di/addressTypes.js +2 -7
- package/lib/cjs/internal/address/di/addressTypes.js.map +7 -1
- package/lib/cjs/internal/address/use-case/GetAddressUseCase.js +2 -38
- package/lib/cjs/internal/address/use-case/GetAddressUseCase.js.map +7 -1
- package/lib/cjs/internal/address/use-case/GetAddressUseCase.test.js +2 -0
- package/lib/cjs/internal/address/use-case/GetAddressUseCase.test.js.map +7 -0
- package/lib/cjs/internal/app-binder/EthAppBinder.js +2 -100
- package/lib/cjs/internal/app-binder/EthAppBinder.js.map +7 -1
- package/lib/cjs/internal/app-binder/EthAppBinder.test.js +2 -0
- package/lib/cjs/internal/app-binder/EthAppBinder.test.js.map +7 -0
- package/lib/cjs/internal/app-binder/command/GetAddressCommand.js +2 -88
- package/lib/cjs/internal/app-binder/command/GetAddressCommand.js.map +7 -1
- package/lib/cjs/internal/app-binder/command/GetAddressCommand.test.js +2 -0
- package/lib/cjs/internal/app-binder/command/GetAddressCommand.test.js.map +7 -0
- package/lib/cjs/internal/app-binder/command/GetChallengeCommand.js +2 -39
- package/lib/cjs/internal/app-binder/command/GetChallengeCommand.js.map +7 -1
- package/lib/cjs/internal/app-binder/command/GetChallengeCommand.test.js +2 -0
- package/lib/cjs/internal/app-binder/command/GetChallengeCommand.test.js.map +7 -0
- package/lib/cjs/internal/app-binder/command/ProvideEnumCommand.js +2 -0
- package/lib/cjs/internal/app-binder/command/ProvideEnumCommand.js.map +7 -0
- package/lib/cjs/internal/app-binder/command/ProvideEnumCommand.test.js +2 -0
- package/lib/cjs/internal/app-binder/command/ProvideEnumCommand.test.js.map +7 -0
- package/lib/cjs/internal/app-binder/command/ProvideNFTInformationCommand.js +2 -50
- package/lib/cjs/internal/app-binder/command/ProvideNFTInformationCommand.js.map +7 -1
- package/lib/cjs/internal/app-binder/command/ProvideNFTInformationCommand.test.js +2 -0
- package/lib/cjs/internal/app-binder/command/ProvideNFTInformationCommand.test.js.map +7 -0
- package/lib/cjs/internal/app-binder/command/ProvideTokenInformationCommand.js +2 -34
- package/lib/cjs/internal/app-binder/command/ProvideTokenInformationCommand.js.map +7 -1
- package/lib/cjs/internal/app-binder/command/ProvideTokenInformationCommand.test.js +2 -0
- package/lib/cjs/internal/app-binder/command/ProvideTokenInformationCommand.test.js.map +7 -0
- package/lib/cjs/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.js +2 -0
- package/lib/cjs/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.js.map +7 -0
- package/lib/cjs/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.test.js +2 -0
- package/lib/cjs/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.test.js.map +7 -0
- package/lib/cjs/internal/app-binder/command/ProvideTransactionInformationCommand.js +2 -0
- package/lib/cjs/internal/app-binder/command/ProvideTransactionInformationCommand.js.map +7 -0
- package/lib/cjs/internal/app-binder/command/ProvideTransactionInformationCommand.test.js +2 -0
- package/lib/cjs/internal/app-binder/command/ProvideTransactionInformationCommand.test.js.map +7 -0
- package/lib/cjs/internal/app-binder/command/ProvideTrustedNameCommand.js +2 -0
- package/lib/cjs/internal/app-binder/command/ProvideTrustedNameCommand.js.map +7 -0
- package/lib/cjs/internal/app-binder/command/ProvideTrustedNameCommand.test.js +2 -0
- package/lib/cjs/internal/app-binder/command/ProvideTrustedNameCommand.test.js.map +7 -0
- package/lib/cjs/internal/app-binder/command/SendEIP712FilteringCommand.js +2 -69
- package/lib/cjs/internal/app-binder/command/SendEIP712FilteringCommand.js.map +7 -1
- package/lib/cjs/internal/app-binder/command/SendEIP712FilteringCommand.test.js +2 -0
- package/lib/cjs/internal/app-binder/command/SendEIP712FilteringCommand.test.js.map +7 -0
- package/lib/cjs/internal/app-binder/command/SendEIP712StructDefinitionCommand.js +2 -131
- package/lib/cjs/internal/app-binder/command/SendEIP712StructDefinitionCommand.js.map +7 -1
- package/lib/cjs/internal/app-binder/command/SendEIP712StructDefinitionCommand.test.js +2 -0
- package/lib/cjs/internal/app-binder/command/SendEIP712StructDefinitionCommand.test.js.map +7 -0
- package/lib/cjs/internal/app-binder/command/SendEIP712StructImplemCommand.js +2 -51
- package/lib/cjs/internal/app-binder/command/SendEIP712StructImplemCommand.js.map +7 -1
- package/lib/cjs/internal/app-binder/command/SendEIP712StructImplemCommand.test.js +2 -0
- package/lib/cjs/internal/app-binder/command/SendEIP712StructImplemCommand.test.js.map +7 -0
- package/lib/cjs/internal/app-binder/command/SetExternalPluginCommand.js +2 -57
- package/lib/cjs/internal/app-binder/command/SetExternalPluginCommand.js.map +7 -1
- package/lib/cjs/internal/app-binder/command/SetExternalPluginCommand.test.js +7 -0
- package/lib/cjs/internal/app-binder/command/SetExternalPluginCommand.test.js.map +7 -0
- package/lib/cjs/internal/app-binder/command/SetPluginCommand.js +2 -52
- package/lib/cjs/internal/app-binder/command/SetPluginCommand.js.map +7 -1
- package/lib/cjs/internal/app-binder/command/SetPluginCommand.test.js +6 -0
- package/lib/cjs/internal/app-binder/command/SetPluginCommand.test.js.map +7 -0
- package/lib/cjs/internal/app-binder/command/SignEIP712Command.js +2 -69
- package/lib/cjs/internal/app-binder/command/SignEIP712Command.js.map +7 -1
- package/lib/cjs/internal/app-binder/command/SignEIP712Command.test.js +2 -0
- package/lib/cjs/internal/app-binder/command/SignEIP712Command.test.js.map +7 -0
- package/lib/cjs/internal/app-binder/command/SignPersonalMessageCommand.js +2 -60
- package/lib/cjs/internal/app-binder/command/SignPersonalMessageCommand.js.map +7 -1
- package/lib/cjs/internal/app-binder/command/SignPersonalMessageCommand.test.js +2 -0
- package/lib/cjs/internal/app-binder/command/SignPersonalMessageCommand.test.js.map +7 -0
- package/lib/cjs/internal/app-binder/command/SignTransactionCommand.js +2 -59
- package/lib/cjs/internal/app-binder/command/SignTransactionCommand.js.map +7 -1
- package/lib/cjs/internal/app-binder/command/SignTransactionCommand.test.js +2 -0
- package/lib/cjs/internal/app-binder/command/SignTransactionCommand.test.js.map +7 -0
- package/lib/cjs/internal/app-binder/command/StartTransactionCommand.js +2 -0
- package/lib/cjs/internal/app-binder/command/StartTransactionCommand.js.map +7 -0
- package/lib/cjs/internal/app-binder/command/StartTransactionCommand.test.js +2 -0
- package/lib/cjs/internal/app-binder/command/StartTransactionCommand.test.js.map +7 -0
- package/lib/cjs/internal/app-binder/command/StoreTransactionCommand.js +2 -0
- package/lib/cjs/internal/app-binder/command/StoreTransactionCommand.js.map +7 -0
- package/lib/cjs/internal/app-binder/command/StoreTransactionCommand.test.js +2 -0
- package/lib/cjs/internal/app-binder/command/StoreTransactionCommand.test.js.map +7 -0
- 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 +2 -285
- package/lib/cjs/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.js.map +7 -1
- package/lib/cjs/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.js +2 -0
- package/lib/cjs/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.js.map +7 -0
- package/lib/cjs/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.js +2 -245
- package/lib/cjs/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.js.map +7 -1
- package/lib/cjs/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.test.js +2 -0
- package/lib/cjs/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.test.js.map +7 -0
- package/lib/cjs/internal/app-binder/device-action/__test-utils__/makeInternalApi.js +2 -18
- package/lib/cjs/internal/app-binder/device-action/__test-utils__/makeInternalApi.js.map +7 -1
- package/lib/cjs/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.js +2 -31
- package/lib/cjs/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.js.map +7 -1
- package/lib/cjs/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.js +2 -35
- package/lib/cjs/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.js.map +7 -1
- package/lib/cjs/internal/app-binder/di/appBinderModule.js +2 -11
- package/lib/cjs/internal/app-binder/di/appBinderModule.js.map +7 -1
- package/lib/cjs/internal/app-binder/di/appBinderTypes.js +2 -7
- package/lib/cjs/internal/app-binder/di/appBinderTypes.js.map +7 -1
- package/lib/cjs/internal/app-binder/task/BuildEIP712ContextTask.js +2 -72
- package/lib/cjs/internal/app-binder/task/BuildEIP712ContextTask.js.map +7 -1
- package/lib/cjs/internal/app-binder/task/BuildEIP712ContextTask.test.js +2 -0
- package/lib/cjs/internal/app-binder/task/BuildEIP712ContextTask.test.js.map +7 -0
- package/lib/cjs/internal/app-binder/task/BuildTransactionContextTask.js +2 -31
- package/lib/cjs/internal/app-binder/task/BuildTransactionContextTask.js.map +7 -1
- package/lib/cjs/internal/app-binder/task/BuildTransactionContextTask.test.js +2 -0
- package/lib/cjs/internal/app-binder/task/BuildTransactionContextTask.test.js.map +7 -0
- package/lib/cjs/internal/app-binder/task/ProvideEIP712ContextTask.js +2 -188
- package/lib/cjs/internal/app-binder/task/ProvideEIP712ContextTask.js.map +7 -1
- package/lib/cjs/internal/app-binder/task/ProvideEIP712ContextTask.test.js +2 -0
- package/lib/cjs/internal/app-binder/task/ProvideEIP712ContextTask.test.js.map +7 -0
- package/lib/cjs/internal/app-binder/task/ProvideTransactionContextTask.js +2 -112
- package/lib/cjs/internal/app-binder/task/ProvideTransactionContextTask.js.map +7 -1
- package/lib/cjs/internal/app-binder/task/ProvideTransactionContextTask.test.js +2 -0
- package/lib/cjs/internal/app-binder/task/ProvideTransactionContextTask.test.js.map +7 -0
- package/lib/cjs/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.js +2 -0
- package/lib/cjs/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.js.map +7 -0
- package/lib/cjs/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.test.js +2 -0
- package/lib/cjs/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.test.js.map +7 -0
- package/lib/cjs/internal/app-binder/task/ProvideTransactionGenericContextTask.js +2 -0
- package/lib/cjs/internal/app-binder/task/ProvideTransactionGenericContextTask.js.map +7 -0
- package/lib/cjs/internal/app-binder/task/ProvideTransactionGenericContextTask.test.js +2 -0
- package/lib/cjs/internal/app-binder/task/ProvideTransactionGenericContextTask.test.js.map +7 -0
- package/lib/cjs/internal/app-binder/task/SendCommandInChunksTask.js +2 -0
- package/lib/cjs/internal/app-binder/task/SendCommandInChunksTask.js.map +7 -0
- package/lib/cjs/internal/app-binder/task/SendEIP712StructImplemTask.js +2 -42
- package/lib/cjs/internal/app-binder/task/SendEIP712StructImplemTask.js.map +7 -1
- package/lib/cjs/internal/app-binder/task/SendEIP712StructImplemTask.test.js +2 -0
- package/lib/cjs/internal/app-binder/task/SendEIP712StructImplemTask.test.js.map +7 -0
- package/lib/cjs/internal/app-binder/task/SendPayloadInChunksTask.js +2 -0
- package/lib/cjs/internal/app-binder/task/SendPayloadInChunksTask.js.map +7 -0
- package/lib/cjs/internal/app-binder/task/SendPayloadInChunksTask.test.js +2 -0
- package/lib/cjs/internal/app-binder/task/SendPayloadInChunksTask.test.js.map +7 -0
- package/lib/cjs/internal/app-binder/task/SendSignPersonalMessageTask.js +2 -53
- package/lib/cjs/internal/app-binder/task/SendSignPersonalMessageTask.js.map +7 -1
- package/lib/cjs/internal/app-binder/task/SendSignPersonalMessageTask.test.js +2 -0
- package/lib/cjs/internal/app-binder/task/SendSignPersonalMessageTask.test.js.map +7 -0
- package/lib/cjs/internal/app-binder/task/SendSignTransactionTask.js +2 -53
- package/lib/cjs/internal/app-binder/task/SendSignTransactionTask.js.map +7 -1
- package/lib/cjs/internal/app-binder/task/SendSignTransactionTask.test.js +2 -0
- package/lib/cjs/internal/app-binder/task/SendSignTransactionTask.test.js.map +7 -0
- package/lib/cjs/internal/di.js +2 -27
- package/lib/cjs/internal/di.js.map +7 -1
- package/lib/cjs/internal/externalTypes.js +2 -9
- package/lib/cjs/internal/externalTypes.js.map +7 -1
- package/lib/cjs/internal/message/di/messageModule.js +2 -11
- package/lib/cjs/internal/message/di/messageModule.js.map +7 -1
- package/lib/cjs/internal/message/di/messageModule.test.js +2 -0
- package/lib/cjs/internal/message/di/messageModule.test.js.map +7 -0
- package/lib/cjs/internal/message/di/messageTypes.js +2 -7
- package/lib/cjs/internal/message/di/messageTypes.js.map +7 -1
- package/lib/cjs/internal/message/use-case/SignMessageUseCase.js +2 -38
- package/lib/cjs/internal/message/use-case/SignMessageUseCase.js.map +7 -1
- package/lib/cjs/internal/message/use-case/SignMessageUseCase.test.js +2 -0
- package/lib/cjs/internal/message/use-case/SignMessageUseCase.test.js.map +7 -0
- package/lib/cjs/internal/shared/utils/PayloadUtils.js +2 -0
- package/lib/cjs/internal/shared/utils/PayloadUtils.js.map +7 -0
- package/lib/cjs/internal/shared/utils/PayloadUtils.test.js +2 -0
- package/lib/cjs/internal/shared/utils/PayloadUtils.test.js.map +7 -0
- package/lib/cjs/internal/transaction/di/transactionModule.js +2 -17
- package/lib/cjs/internal/transaction/di/transactionModule.js.map +7 -1
- package/lib/cjs/internal/transaction/di/transactionModule.test.js +2 -0
- package/lib/cjs/internal/transaction/di/transactionModule.test.js.map +7 -0
- package/lib/cjs/internal/transaction/di/transactionTypes.js +2 -9
- package/lib/cjs/internal/transaction/di/transactionTypes.js.map +7 -1
- 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 +2 -3
- package/lib/cjs/internal/transaction/service/mapper/TransactionMapper.js.map +7 -1
- package/lib/cjs/internal/transaction/service/mapper/TransactionMapperService.js +2 -41
- package/lib/cjs/internal/transaction/service/mapper/TransactionMapperService.js.map +7 -1
- package/lib/cjs/internal/transaction/service/mapper/TransactionMapperService.test.js +2 -0
- package/lib/cjs/internal/transaction/service/mapper/TransactionMapperService.test.js.map +7 -0
- package/lib/cjs/internal/transaction/service/mapper/model/TransactionMapperResult.js +2 -3
- package/lib/cjs/internal/transaction/service/mapper/model/TransactionMapperResult.js.map +7 -1
- package/lib/cjs/internal/transaction/service/parser/TransactionParserService.js +2 -0
- package/lib/cjs/internal/transaction/service/parser/TransactionParserService.js.map +7 -0
- package/lib/cjs/internal/transaction/service/parser/TransactionParserService.test.js +2 -0
- package/lib/cjs/internal/transaction/service/parser/TransactionParserService.test.js.map +7 -0
- package/lib/cjs/internal/transaction/use-case/SignTransactionUseCase.js +2 -38
- package/lib/cjs/internal/transaction/use-case/SignTransactionUseCase.js.map +7 -1
- package/lib/cjs/internal/transaction/use-case/SignTransactionUseCase.test.js +2 -0
- package/lib/cjs/internal/transaction/use-case/SignTransactionUseCase.test.js.map +7 -0
- package/lib/cjs/internal/typed-data/di/typedDataModule.js +2 -13
- package/lib/cjs/internal/typed-data/di/typedDataModule.js.map +7 -1
- package/lib/cjs/internal/typed-data/di/typedDataModule.test.js +2 -0
- package/lib/cjs/internal/typed-data/di/typedDataModule.test.js.map +7 -0
- package/lib/cjs/internal/typed-data/di/typedDataTypes.js +2 -8
- package/lib/cjs/internal/typed-data/di/typedDataTypes.js.map +7 -1
- package/lib/cjs/internal/typed-data/model/Types.js +2 -64
- package/lib/cjs/internal/typed-data/model/Types.js.map +7 -1
- package/lib/cjs/internal/typed-data/service/DefaultTypedDataParserService.js +2 -29
- package/lib/cjs/internal/typed-data/service/DefaultTypedDataParserService.js.map +7 -1
- package/lib/cjs/internal/typed-data/service/TypedDataEncoder.js +2 -101
- package/lib/cjs/internal/typed-data/service/TypedDataEncoder.js.map +7 -1
- package/lib/cjs/internal/typed-data/service/TypedDataEncoder.test.js +2 -0
- package/lib/cjs/internal/typed-data/service/TypedDataEncoder.test.js.map +7 -0
- package/lib/cjs/internal/typed-data/service/TypedDataParser.js +2 -211
- package/lib/cjs/internal/typed-data/service/TypedDataParser.js.map +7 -1
- package/lib/cjs/internal/typed-data/service/TypedDataParser.test.js +2 -0
- package/lib/cjs/internal/typed-data/service/TypedDataParser.test.js.map +7 -0
- package/lib/cjs/internal/typed-data/service/TypedDataParserService.js +2 -3
- package/lib/cjs/internal/typed-data/service/TypedDataParserService.js.map +7 -1
- package/lib/cjs/internal/typed-data/use-case/SignTypedDataUseCase.js +2 -42
- package/lib/cjs/internal/typed-data/use-case/SignTypedDataUseCase.js.map +7 -1
- package/lib/cjs/internal/typed-data/use-case/SignTypedDataUseCase.test.js +2 -0
- package/lib/cjs/internal/typed-data/use-case/SignTypedDataUseCase.test.js.map +7 -0
- package/lib/cjs/package.json +63 -0
- package/lib/esm/api/SignerEth.js +1 -0
- package/lib/esm/api/SignerEth.js.map +7 -0
- package/lib/esm/api/SignerEthBuilder.js +2 -0
- package/lib/esm/api/SignerEthBuilder.js.map +7 -0
- package/lib/esm/api/SignerEthBuilder.test.js +2 -0
- package/lib/esm/api/SignerEthBuilder.test.js.map +7 -0
- package/lib/esm/api/app-binder/GetAddressCommandTypes.js +1 -2
- package/lib/esm/api/app-binder/GetAddressCommandTypes.js.map +7 -1
- package/lib/esm/api/app-binder/GetAddressDeviceActionTypes.js +1 -2
- package/lib/esm/api/app-binder/GetAddressDeviceActionTypes.js.map +7 -1
- package/lib/esm/api/app-binder/SignPersonalMessageDeviceActionTypes.js +1 -2
- package/lib/esm/api/app-binder/SignPersonalMessageDeviceActionTypes.js.map +7 -1
- package/lib/esm/api/app-binder/SignTransactionDeviceActionTypes.js +1 -2
- package/lib/esm/api/app-binder/SignTransactionDeviceActionTypes.js.map +7 -1
- package/lib/esm/api/app-binder/SignTypedDataDeviceActionTypes.js +1 -2
- package/lib/esm/api/app-binder/SignTypedDataDeviceActionTypes.js.map +7 -1
- package/lib/esm/api/index.js +2 -10
- package/lib/esm/api/index.js.map +7 -1
- package/lib/esm/api/model/Address.js +1 -2
- package/lib/esm/api/model/Address.js.map +7 -1
- package/lib/esm/api/model/AddressOptions.js +1 -2
- package/lib/esm/api/model/AddressOptions.js.map +7 -1
- package/lib/esm/api/model/Signature.js +1 -2
- package/lib/esm/api/model/Signature.js.map +7 -1
- package/lib/esm/api/model/TransactionOptions.js +1 -2
- package/lib/esm/api/model/TransactionOptions.js.map +7 -1
- package/lib/esm/api/model/TransactionType.js +2 -0
- package/lib/esm/api/model/TransactionType.js.map +7 -0
- package/lib/esm/api/model/TypedData.js +1 -3
- package/lib/esm/api/model/TypedData.js.map +7 -1
- package/lib/esm/index.js +2 -4
- package/lib/esm/index.js.map +7 -1
- package/lib/esm/internal/DefaultSignerEth.js +2 -0
- package/lib/esm/internal/DefaultSignerEth.js.map +7 -0
- package/lib/esm/internal/DefaultSignerEth.test.js +2 -0
- package/lib/esm/internal/DefaultSignerEth.test.js.map +7 -0
- package/lib/esm/internal/address/di/addressModule.js +2 -7
- package/lib/esm/internal/address/di/addressModule.js.map +7 -1
- package/lib/esm/internal/address/di/addressModule.test.js +2 -0
- package/lib/esm/internal/address/di/addressModule.test.js.map +7 -0
- package/lib/esm/internal/address/di/addressTypes.js +2 -4
- package/lib/esm/internal/address/di/addressTypes.js.map +7 -1
- package/lib/esm/internal/address/use-case/GetAddressUseCase.js +2 -35
- package/lib/esm/internal/address/use-case/GetAddressUseCase.js.map +7 -1
- package/lib/esm/internal/address/use-case/GetAddressUseCase.test.js +2 -0
- package/lib/esm/internal/address/use-case/GetAddressUseCase.test.js.map +7 -0
- package/lib/esm/internal/app-binder/EthAppBinder.js +2 -97
- package/lib/esm/internal/app-binder/EthAppBinder.js.map +7 -1
- package/lib/esm/internal/app-binder/EthAppBinder.test.js +2 -0
- package/lib/esm/internal/app-binder/EthAppBinder.test.js.map +7 -0
- package/lib/esm/internal/app-binder/command/GetAddressCommand.js +2 -84
- package/lib/esm/internal/app-binder/command/GetAddressCommand.js.map +7 -1
- package/lib/esm/internal/app-binder/command/GetAddressCommand.test.js +2 -0
- package/lib/esm/internal/app-binder/command/GetAddressCommand.test.js.map +7 -0
- package/lib/esm/internal/app-binder/command/GetChallengeCommand.js +2 -35
- package/lib/esm/internal/app-binder/command/GetChallengeCommand.js.map +7 -1
- package/lib/esm/internal/app-binder/command/GetChallengeCommand.test.js +2 -0
- package/lib/esm/internal/app-binder/command/GetChallengeCommand.test.js.map +7 -0
- package/lib/esm/internal/app-binder/command/ProvideEnumCommand.js +2 -0
- package/lib/esm/internal/app-binder/command/ProvideEnumCommand.js.map +7 -0
- package/lib/esm/internal/app-binder/command/ProvideEnumCommand.test.js +2 -0
- package/lib/esm/internal/app-binder/command/ProvideEnumCommand.test.js.map +7 -0
- package/lib/esm/internal/app-binder/command/ProvideNFTInformationCommand.js +2 -46
- package/lib/esm/internal/app-binder/command/ProvideNFTInformationCommand.js.map +7 -1
- package/lib/esm/internal/app-binder/command/ProvideNFTInformationCommand.test.js +2 -0
- package/lib/esm/internal/app-binder/command/ProvideNFTInformationCommand.test.js.map +7 -0
- package/lib/esm/internal/app-binder/command/ProvideTokenInformationCommand.js +2 -30
- package/lib/esm/internal/app-binder/command/ProvideTokenInformationCommand.js.map +7 -1
- package/lib/esm/internal/app-binder/command/ProvideTokenInformationCommand.test.js +2 -0
- package/lib/esm/internal/app-binder/command/ProvideTokenInformationCommand.test.js.map +7 -0
- package/lib/esm/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.js +2 -0
- package/lib/esm/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.js.map +7 -0
- package/lib/esm/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.test.js +2 -0
- package/lib/esm/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.test.js.map +7 -0
- package/lib/esm/internal/app-binder/command/ProvideTransactionInformationCommand.js +2 -0
- package/lib/esm/internal/app-binder/command/ProvideTransactionInformationCommand.js.map +7 -0
- package/lib/esm/internal/app-binder/command/ProvideTransactionInformationCommand.test.js +2 -0
- package/lib/esm/internal/app-binder/command/ProvideTransactionInformationCommand.test.js.map +7 -0
- package/lib/esm/internal/app-binder/command/ProvideTrustedNameCommand.js +2 -0
- package/lib/esm/internal/app-binder/command/ProvideTrustedNameCommand.js.map +7 -0
- package/lib/esm/internal/app-binder/command/ProvideTrustedNameCommand.test.js +2 -0
- package/lib/esm/internal/app-binder/command/ProvideTrustedNameCommand.test.js.map +7 -0
- package/lib/esm/internal/app-binder/command/SendEIP712FilteringCommand.js +2 -65
- package/lib/esm/internal/app-binder/command/SendEIP712FilteringCommand.js.map +7 -1
- package/lib/esm/internal/app-binder/command/SendEIP712FilteringCommand.test.js +2 -0
- package/lib/esm/internal/app-binder/command/SendEIP712FilteringCommand.test.js.map +7 -0
- package/lib/esm/internal/app-binder/command/SendEIP712StructDefinitionCommand.js +2 -127
- package/lib/esm/internal/app-binder/command/SendEIP712StructDefinitionCommand.js.map +7 -1
- package/lib/esm/internal/app-binder/command/SendEIP712StructDefinitionCommand.test.js +2 -0
- package/lib/esm/internal/app-binder/command/SendEIP712StructDefinitionCommand.test.js.map +7 -0
- package/lib/esm/internal/app-binder/command/SendEIP712StructImplemCommand.js +2 -47
- package/lib/esm/internal/app-binder/command/SendEIP712StructImplemCommand.js.map +7 -1
- package/lib/esm/internal/app-binder/command/SendEIP712StructImplemCommand.test.js +2 -0
- package/lib/esm/internal/app-binder/command/SendEIP712StructImplemCommand.test.js.map +7 -0
- package/lib/esm/internal/app-binder/command/SetExternalPluginCommand.js +2 -52
- package/lib/esm/internal/app-binder/command/SetExternalPluginCommand.js.map +7 -1
- package/lib/esm/internal/app-binder/command/SetExternalPluginCommand.test.js +7 -0
- package/lib/esm/internal/app-binder/command/SetExternalPluginCommand.test.js.map +7 -0
- package/lib/esm/internal/app-binder/command/SetPluginCommand.js +2 -47
- package/lib/esm/internal/app-binder/command/SetPluginCommand.js.map +7 -1
- package/lib/esm/internal/app-binder/command/SetPluginCommand.test.js +6 -0
- package/lib/esm/internal/app-binder/command/SetPluginCommand.test.js.map +7 -0
- package/lib/esm/internal/app-binder/command/SignEIP712Command.js +2 -65
- package/lib/esm/internal/app-binder/command/SignEIP712Command.js.map +7 -1
- package/lib/esm/internal/app-binder/command/SignEIP712Command.test.js +2 -0
- package/lib/esm/internal/app-binder/command/SignEIP712Command.test.js.map +7 -0
- package/lib/esm/internal/app-binder/command/SignPersonalMessageCommand.js +2 -56
- package/lib/esm/internal/app-binder/command/SignPersonalMessageCommand.js.map +7 -1
- package/lib/esm/internal/app-binder/command/SignPersonalMessageCommand.test.js +2 -0
- package/lib/esm/internal/app-binder/command/SignPersonalMessageCommand.test.js.map +7 -0
- package/lib/esm/internal/app-binder/command/SignTransactionCommand.js +2 -55
- package/lib/esm/internal/app-binder/command/SignTransactionCommand.js.map +7 -1
- package/lib/esm/internal/app-binder/command/SignTransactionCommand.test.js +2 -0
- package/lib/esm/internal/app-binder/command/SignTransactionCommand.test.js.map +7 -0
- package/lib/esm/internal/app-binder/command/StartTransactionCommand.js +2 -0
- package/lib/esm/internal/app-binder/command/StartTransactionCommand.js.map +7 -0
- package/lib/esm/internal/app-binder/command/StartTransactionCommand.test.js +2 -0
- package/lib/esm/internal/app-binder/command/StartTransactionCommand.test.js.map +7 -0
- package/lib/esm/internal/app-binder/command/StoreTransactionCommand.js +2 -0
- package/lib/esm/internal/app-binder/command/StoreTransactionCommand.js.map +7 -0
- package/lib/esm/internal/app-binder/command/StoreTransactionCommand.test.js +2 -0
- package/lib/esm/internal/app-binder/command/StoreTransactionCommand.test.js.map +7 -0
- 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 +2 -281
- package/lib/esm/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.js.map +7 -1
- package/lib/esm/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.js +2 -0
- package/lib/esm/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.js.map +7 -0
- package/lib/esm/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.js +2 -241
- package/lib/esm/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.js.map +7 -1
- package/lib/esm/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.test.js +2 -0
- package/lib/esm/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.test.js.map +7 -0
- package/lib/esm/internal/app-binder/device-action/__test-utils__/makeInternalApi.js +2 -15
- package/lib/esm/internal/app-binder/device-action/__test-utils__/makeInternalApi.js.map +7 -1
- package/lib/esm/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.js +2 -27
- package/lib/esm/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.js.map +7 -1
- package/lib/esm/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.js +2 -32
- package/lib/esm/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.js.map +7 -1
- package/lib/esm/internal/app-binder/di/appBinderModule.js +2 -7
- package/lib/esm/internal/app-binder/di/appBinderModule.js.map +7 -1
- package/lib/esm/internal/app-binder/di/appBinderTypes.js +2 -4
- package/lib/esm/internal/app-binder/di/appBinderTypes.js.map +7 -1
- package/lib/esm/internal/app-binder/task/BuildEIP712ContextTask.js +2 -68
- package/lib/esm/internal/app-binder/task/BuildEIP712ContextTask.js.map +7 -1
- package/lib/esm/internal/app-binder/task/BuildEIP712ContextTask.test.js +2 -0
- package/lib/esm/internal/app-binder/task/BuildEIP712ContextTask.test.js.map +7 -0
- package/lib/esm/internal/app-binder/task/BuildTransactionContextTask.js +2 -27
- package/lib/esm/internal/app-binder/task/BuildTransactionContextTask.js.map +7 -1
- package/lib/esm/internal/app-binder/task/BuildTransactionContextTask.test.js +2 -0
- package/lib/esm/internal/app-binder/task/BuildTransactionContextTask.test.js.map +7 -0
- package/lib/esm/internal/app-binder/task/ProvideEIP712ContextTask.js +2 -184
- package/lib/esm/internal/app-binder/task/ProvideEIP712ContextTask.js.map +7 -1
- package/lib/esm/internal/app-binder/task/ProvideEIP712ContextTask.test.js +2 -0
- package/lib/esm/internal/app-binder/task/ProvideEIP712ContextTask.test.js.map +7 -0
- package/lib/esm/internal/app-binder/task/ProvideTransactionContextTask.js +2 -107
- package/lib/esm/internal/app-binder/task/ProvideTransactionContextTask.js.map +7 -1
- package/lib/esm/internal/app-binder/task/ProvideTransactionContextTask.test.js +2 -0
- package/lib/esm/internal/app-binder/task/ProvideTransactionContextTask.test.js.map +7 -0
- package/lib/esm/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.js +2 -0
- package/lib/esm/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.js.map +7 -0
- package/lib/esm/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.test.js +2 -0
- package/lib/esm/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.test.js.map +7 -0
- package/lib/esm/internal/app-binder/task/ProvideTransactionGenericContextTask.js +2 -0
- package/lib/esm/internal/app-binder/task/ProvideTransactionGenericContextTask.js.map +7 -0
- package/lib/esm/internal/app-binder/task/ProvideTransactionGenericContextTask.test.js +2 -0
- package/lib/esm/internal/app-binder/task/ProvideTransactionGenericContextTask.test.js.map +7 -0
- package/lib/esm/internal/app-binder/task/SendCommandInChunksTask.js +2 -0
- package/lib/esm/internal/app-binder/task/SendCommandInChunksTask.js.map +7 -0
- package/lib/esm/internal/app-binder/task/SendEIP712StructImplemTask.js +2 -38
- package/lib/esm/internal/app-binder/task/SendEIP712StructImplemTask.js.map +7 -1
- package/lib/esm/internal/app-binder/task/SendEIP712StructImplemTask.test.js +2 -0
- package/lib/esm/internal/app-binder/task/SendEIP712StructImplemTask.test.js.map +7 -0
- package/lib/esm/internal/app-binder/task/SendPayloadInChunksTask.js +2 -0
- package/lib/esm/internal/app-binder/task/SendPayloadInChunksTask.js.map +7 -0
- package/lib/esm/internal/app-binder/task/SendPayloadInChunksTask.test.js +2 -0
- package/lib/esm/internal/app-binder/task/SendPayloadInChunksTask.test.js.map +7 -0
- package/lib/esm/internal/app-binder/task/SendSignPersonalMessageTask.js +2 -49
- package/lib/esm/internal/app-binder/task/SendSignPersonalMessageTask.js.map +7 -1
- package/lib/esm/internal/app-binder/task/SendSignPersonalMessageTask.test.js +2 -0
- package/lib/esm/internal/app-binder/task/SendSignPersonalMessageTask.test.js.map +7 -0
- package/lib/esm/internal/app-binder/task/SendSignTransactionTask.js +2 -49
- package/lib/esm/internal/app-binder/task/SendSignTransactionTask.js.map +7 -1
- package/lib/esm/internal/app-binder/task/SendSignTransactionTask.test.js +2 -0
- package/lib/esm/internal/app-binder/task/SendSignTransactionTask.test.js.map +7 -0
- package/lib/esm/internal/di.js +2 -23
- package/lib/esm/internal/di.js.map +7 -1
- package/lib/esm/internal/externalTypes.js +2 -6
- package/lib/esm/internal/externalTypes.js.map +7 -1
- package/lib/esm/internal/message/di/messageModule.js +2 -7
- package/lib/esm/internal/message/di/messageModule.js.map +7 -1
- package/lib/esm/internal/message/di/messageModule.test.js +2 -0
- package/lib/esm/internal/message/di/messageModule.test.js.map +7 -0
- package/lib/esm/internal/message/di/messageTypes.js +2 -4
- package/lib/esm/internal/message/di/messageTypes.js.map +7 -1
- package/lib/esm/internal/message/use-case/SignMessageUseCase.js +2 -35
- package/lib/esm/internal/message/use-case/SignMessageUseCase.js.map +7 -1
- package/lib/esm/internal/message/use-case/SignMessageUseCase.test.js +2 -0
- package/lib/esm/internal/message/use-case/SignMessageUseCase.test.js.map +7 -0
- package/lib/esm/internal/shared/utils/PayloadUtils.js +2 -0
- package/lib/esm/internal/shared/utils/PayloadUtils.js.map +7 -0
- package/lib/esm/internal/shared/utils/PayloadUtils.test.js +2 -0
- package/lib/esm/internal/shared/utils/PayloadUtils.test.js.map +7 -0
- package/lib/esm/internal/transaction/di/transactionModule.js +2 -13
- package/lib/esm/internal/transaction/di/transactionModule.js.map +7 -1
- package/lib/esm/internal/transaction/di/transactionModule.test.js +2 -0
- package/lib/esm/internal/transaction/di/transactionModule.test.js.map +7 -0
- package/lib/esm/internal/transaction/di/transactionTypes.js +2 -6
- package/lib/esm/internal/transaction/di/transactionTypes.js.map +7 -1
- 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/TransactionMapper.js +1 -2
- package/lib/esm/internal/transaction/service/mapper/TransactionMapper.js.map +7 -1
- package/lib/esm/internal/transaction/service/mapper/TransactionMapperService.js +2 -38
- package/lib/esm/internal/transaction/service/mapper/TransactionMapperService.js.map +7 -1
- package/lib/esm/internal/transaction/service/mapper/TransactionMapperService.test.js +2 -0
- package/lib/esm/internal/transaction/service/mapper/TransactionMapperService.test.js.map +7 -0
- package/lib/esm/internal/transaction/service/mapper/model/TransactionMapperResult.js +1 -2
- package/lib/esm/internal/transaction/service/mapper/model/TransactionMapperResult.js.map +7 -1
- package/lib/esm/internal/transaction/service/parser/TransactionParserService.js +2 -0
- package/lib/esm/internal/transaction/service/parser/TransactionParserService.js.map +7 -0
- package/lib/esm/internal/transaction/service/parser/TransactionParserService.test.js +2 -0
- package/lib/esm/internal/transaction/service/parser/TransactionParserService.test.js.map +7 -0
- package/lib/esm/internal/transaction/use-case/SignTransactionUseCase.js +2 -35
- package/lib/esm/internal/transaction/use-case/SignTransactionUseCase.js.map +7 -1
- package/lib/esm/internal/transaction/use-case/SignTransactionUseCase.test.js +2 -0
- package/lib/esm/internal/transaction/use-case/SignTransactionUseCase.test.js.map +7 -0
- package/lib/esm/internal/typed-data/di/typedDataModule.js +2 -9
- package/lib/esm/internal/typed-data/di/typedDataModule.js.map +7 -1
- package/lib/esm/internal/typed-data/di/typedDataModule.test.js +2 -0
- package/lib/esm/internal/typed-data/di/typedDataModule.test.js.map +7 -0
- package/lib/esm/internal/typed-data/di/typedDataTypes.js +2 -5
- package/lib/esm/internal/typed-data/di/typedDataTypes.js.map +7 -1
- package/lib/esm/internal/typed-data/model/Types.js +2 -55
- package/lib/esm/internal/typed-data/model/Types.js.map +7 -1
- package/lib/esm/internal/typed-data/service/DefaultTypedDataParserService.js +2 -26
- package/lib/esm/internal/typed-data/service/DefaultTypedDataParserService.js.map +7 -1
- package/lib/esm/internal/typed-data/service/TypedDataEncoder.js +2 -98
- package/lib/esm/internal/typed-data/service/TypedDataEncoder.js.map +7 -1
- package/lib/esm/internal/typed-data/service/TypedDataEncoder.test.js +2 -0
- package/lib/esm/internal/typed-data/service/TypedDataEncoder.test.js.map +7 -0
- package/lib/esm/internal/typed-data/service/TypedDataParser.js +2 -207
- package/lib/esm/internal/typed-data/service/TypedDataParser.js.map +7 -1
- package/lib/esm/internal/typed-data/service/TypedDataParser.test.js +2 -0
- package/lib/esm/internal/typed-data/service/TypedDataParser.test.js.map +7 -0
- package/lib/esm/internal/typed-data/service/TypedDataParserService.js +1 -2
- package/lib/esm/internal/typed-data/service/TypedDataParserService.js.map +7 -1
- package/lib/esm/internal/typed-data/use-case/SignTypedDataUseCase.js +2 -39
- package/lib/esm/internal/typed-data/use-case/SignTypedDataUseCase.js.map +7 -1
- package/lib/esm/internal/typed-data/use-case/SignTypedDataUseCase.test.js +2 -0
- package/lib/esm/internal/typed-data/use-case/SignTypedDataUseCase.test.js.map +7 -0
- package/lib/esm/package.json +63 -0
- package/lib/types/api/SignerEth.d.ts +14 -0
- package/lib/types/api/SignerEth.d.ts.map +1 -0
- package/lib/types/api/SignerEthBuilder.d.ts +37 -0
- package/lib/types/api/SignerEthBuilder.d.ts.map +1 -0
- package/lib/types/api/SignerEthBuilder.test.d.ts +2 -0
- package/lib/types/api/SignerEthBuilder.test.d.ts.map +1 -0
- package/lib/{esm → types}/api/app-binder/GetAddressDeviceActionTypes.d.ts +3 -2
- package/lib/types/api/app-binder/GetAddressDeviceActionTypes.d.ts.map +1 -0
- package/lib/types/api/app-binder/SignPersonalMessageDeviceActionTypes.d.ts +12 -0
- package/lib/types/api/app-binder/SignPersonalMessageDeviceActionTypes.d.ts.map +1 -0
- package/lib/types/api/app-binder/SignTransactionDeviceActionTypes.d.ts +37 -0
- package/lib/types/api/app-binder/SignTransactionDeviceActionTypes.d.ts.map +1 -0
- package/lib/{cjs → types}/api/app-binder/SignTypedDataDeviceActionTypes.d.ts +8 -7
- package/lib/types/api/app-binder/SignTypedDataDeviceActionTypes.d.ts.map +1 -0
- package/lib/{cjs → types}/api/index.d.ts +4 -4
- package/lib/types/api/index.d.ts.map +1 -0
- package/lib/types/api/model/Address.d.ts +7 -0
- package/lib/types/api/model/Address.d.ts.map +1 -0
- package/lib/types/api/model/Signature.d.ts +7 -0
- package/lib/types/api/model/Signature.d.ts.map +1 -0
- package/lib/types/api/model/TransactionType.d.ts +11 -0
- package/lib/types/api/model/TransactionType.d.ts.map +1 -0
- package/lib/types/internal/DefaultSignerEth.d.ts +25 -0
- package/lib/types/internal/DefaultSignerEth.d.ts.map +1 -0
- package/lib/types/internal/DefaultSignerEth.test.d.ts +2 -0
- package/lib/types/internal/DefaultSignerEth.test.d.ts.map +1 -0
- package/lib/types/internal/address/di/addressModule.test.d.ts +2 -0
- package/lib/types/internal/address/di/addressModule.test.d.ts.map +1 -0
- package/lib/types/internal/address/use-case/GetAddressUseCase.test.d.ts +2 -0
- package/lib/types/internal/address/use-case/GetAddressUseCase.test.d.ts.map +1 -0
- package/lib/{cjs → types}/internal/app-binder/EthAppBinder.d.ts +7 -6
- package/lib/types/internal/app-binder/EthAppBinder.d.ts.map +1 -0
- package/lib/types/internal/app-binder/EthAppBinder.test.d.ts +2 -0
- package/lib/types/internal/app-binder/EthAppBinder.test.d.ts.map +1 -0
- package/lib/types/internal/app-binder/command/GetAddressCommand.d.ts +11 -0
- package/lib/types/internal/app-binder/command/GetAddressCommand.d.ts.map +1 -0
- package/lib/types/internal/app-binder/command/GetAddressCommand.test.d.ts +2 -0
- package/lib/types/internal/app-binder/command/GetAddressCommand.test.d.ts.map +1 -0
- package/lib/types/internal/app-binder/command/GetChallengeCommand.d.ts +12 -0
- package/lib/types/internal/app-binder/command/GetChallengeCommand.d.ts.map +1 -0
- package/lib/types/internal/app-binder/command/GetChallengeCommand.test.d.ts +2 -0
- package/lib/types/internal/app-binder/command/GetChallengeCommand.test.d.ts.map +1 -0
- package/lib/types/internal/app-binder/command/ProvideEnumCommand.d.ts +20 -0
- package/lib/types/internal/app-binder/command/ProvideEnumCommand.d.ts.map +1 -0
- package/lib/types/internal/app-binder/command/ProvideEnumCommand.test.d.ts +2 -0
- package/lib/types/internal/app-binder/command/ProvideEnumCommand.test.d.ts.map +1 -0
- package/lib/types/internal/app-binder/command/ProvideNFTInformationCommand.d.ts +16 -0
- package/lib/types/internal/app-binder/command/ProvideNFTInformationCommand.d.ts.map +1 -0
- package/lib/types/internal/app-binder/command/ProvideNFTInformationCommand.test.d.ts +2 -0
- package/lib/types/internal/app-binder/command/ProvideNFTInformationCommand.test.d.ts.map +1 -0
- package/lib/{cjs → types}/internal/app-binder/command/ProvideTokenInformationCommand.d.ts +5 -3
- package/lib/types/internal/app-binder/command/ProvideTokenInformationCommand.d.ts.map +1 -0
- package/lib/types/internal/app-binder/command/ProvideTokenInformationCommand.test.d.ts +2 -0
- package/lib/types/internal/app-binder/command/ProvideTokenInformationCommand.test.d.ts.map +1 -0
- package/lib/types/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.d.ts +20 -0
- package/lib/types/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.d.ts.map +1 -0
- package/lib/types/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.test.d.ts +2 -0
- package/lib/types/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.test.d.ts.map +1 -0
- package/lib/types/internal/app-binder/command/ProvideTransactionInformationCommand.d.ts +20 -0
- package/lib/types/internal/app-binder/command/ProvideTransactionInformationCommand.d.ts.map +1 -0
- package/lib/types/internal/app-binder/command/ProvideTransactionInformationCommand.test.d.ts +2 -0
- package/lib/types/internal/app-binder/command/ProvideTransactionInformationCommand.test.d.ts.map +1 -0
- package/lib/types/internal/app-binder/command/ProvideTrustedNameCommand.d.ts +21 -0
- package/lib/types/internal/app-binder/command/ProvideTrustedNameCommand.d.ts.map +1 -0
- package/lib/types/internal/app-binder/command/ProvideTrustedNameCommand.test.d.ts +2 -0
- package/lib/types/internal/app-binder/command/ProvideTrustedNameCommand.test.d.ts.map +1 -0
- package/lib/{esm → types}/internal/app-binder/command/SendEIP712FilteringCommand.d.ts +13 -3
- package/lib/types/internal/app-binder/command/SendEIP712FilteringCommand.d.ts.map +1 -0
- package/lib/types/internal/app-binder/command/SendEIP712FilteringCommand.test.d.ts +2 -0
- package/lib/types/internal/app-binder/command/SendEIP712FilteringCommand.test.d.ts.map +1 -0
- package/lib/{esm → types}/internal/app-binder/command/SendEIP712StructDefinitionCommand.d.ts +5 -3
- package/lib/types/internal/app-binder/command/SendEIP712StructDefinitionCommand.d.ts.map +1 -0
- package/lib/types/internal/app-binder/command/SendEIP712StructDefinitionCommand.test.d.ts +2 -0
- package/lib/types/internal/app-binder/command/SendEIP712StructDefinitionCommand.test.d.ts.map +1 -0
- package/lib/{cjs → types}/internal/app-binder/command/SendEIP712StructImplemCommand.d.ts +5 -3
- package/lib/types/internal/app-binder/command/SendEIP712StructImplemCommand.d.ts.map +1 -0
- package/lib/types/internal/app-binder/command/SendEIP712StructImplemCommand.test.d.ts +2 -0
- package/lib/types/internal/app-binder/command/SendEIP712StructImplemCommand.test.d.ts.map +1 -0
- package/lib/types/internal/app-binder/command/SetExternalPluginCommand.d.ts +15 -0
- package/lib/types/internal/app-binder/command/SetExternalPluginCommand.d.ts.map +1 -0
- package/lib/types/internal/app-binder/command/SetExternalPluginCommand.test.d.ts +2 -0
- package/lib/types/internal/app-binder/command/SetExternalPluginCommand.test.d.ts.map +1 -0
- package/lib/types/internal/app-binder/command/SetPluginCommand.d.ts +16 -0
- package/lib/types/internal/app-binder/command/SetPluginCommand.d.ts.map +1 -0
- package/lib/types/internal/app-binder/command/SetPluginCommand.test.d.ts +2 -0
- package/lib/types/internal/app-binder/command/SetPluginCommand.test.d.ts.map +1 -0
- package/lib/{cjs → types}/internal/app-binder/command/SignEIP712Command.d.ts +5 -3
- package/lib/types/internal/app-binder/command/SignEIP712Command.d.ts.map +1 -0
- package/lib/types/internal/app-binder/command/SignEIP712Command.test.d.ts +2 -0
- package/lib/types/internal/app-binder/command/SignEIP712Command.test.d.ts.map +1 -0
- package/lib/{esm → types}/internal/app-binder/command/SignPersonalMessageCommand.d.ts +6 -4
- package/lib/types/internal/app-binder/command/SignPersonalMessageCommand.d.ts.map +1 -0
- package/lib/types/internal/app-binder/command/SignPersonalMessageCommand.test.d.ts +2 -0
- package/lib/types/internal/app-binder/command/SignPersonalMessageCommand.test.d.ts.map +1 -0
- package/lib/{cjs → types}/internal/app-binder/command/SignTransactionCommand.d.ts +5 -3
- package/lib/types/internal/app-binder/command/SignTransactionCommand.d.ts.map +1 -0
- package/lib/types/internal/app-binder/command/SignTransactionCommand.test.d.ts +2 -0
- package/lib/types/internal/app-binder/command/SignTransactionCommand.test.d.ts.map +1 -0
- package/lib/types/internal/app-binder/command/StartTransactionCommand.d.ts +14 -0
- package/lib/types/internal/app-binder/command/StartTransactionCommand.d.ts.map +1 -0
- package/lib/types/internal/app-binder/command/StartTransactionCommand.test.d.ts +2 -0
- package/lib/types/internal/app-binder/command/StartTransactionCommand.test.d.ts.map +1 -0
- package/lib/types/internal/app-binder/command/StoreTransactionCommand.d.ts +25 -0
- package/lib/types/internal/app-binder/command/StoreTransactionCommand.d.ts.map +1 -0
- package/lib/types/internal/app-binder/command/StoreTransactionCommand.test.d.ts +2 -0
- package/lib/types/internal/app-binder/command/StoreTransactionCommand.test.d.ts.map +1 -0
- 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 +54 -0
- package/lib/types/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.d.ts.map +1 -0
- package/lib/types/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.d.ts +2 -0
- package/lib/types/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.d.ts.map +1 -0
- package/lib/types/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.d.ts +39 -0
- package/lib/types/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.d.ts.map +1 -0
- package/lib/types/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.test.d.ts +2 -0
- package/lib/types/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.test.d.ts.map +1 -0
- package/lib/types/internal/app-binder/device-action/__test-utils__/makeInternalApi.d.ts +4 -0
- package/lib/{cjs → types}/internal/app-binder/device-action/__test-utils__/makeInternalApi.d.ts.map +1 -1
- package/lib/{cjs → 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 +15 -0
- package/lib/types/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.d.ts.map +1 -0
- package/lib/{cjs → types}/internal/app-binder/task/BuildEIP712ContextTask.d.ts.map +1 -1
- package/lib/types/internal/app-binder/task/BuildEIP712ContextTask.test.d.ts +2 -0
- package/lib/types/internal/app-binder/task/BuildEIP712ContextTask.test.d.ts.map +1 -0
- package/lib/types/internal/app-binder/task/BuildTransactionContextTask.d.ts +27 -0
- package/lib/types/internal/app-binder/task/BuildTransactionContextTask.d.ts.map +1 -0
- package/lib/types/internal/app-binder/task/BuildTransactionContextTask.test.d.ts +2 -0
- package/lib/types/internal/app-binder/task/BuildTransactionContextTask.test.d.ts.map +1 -0
- package/lib/types/internal/app-binder/task/ProvideEIP712ContextTask.d.ts +35 -0
- package/lib/types/internal/app-binder/task/ProvideEIP712ContextTask.d.ts.map +1 -0
- package/lib/types/internal/app-binder/task/ProvideEIP712ContextTask.test.d.ts +2 -0
- package/lib/types/internal/app-binder/task/ProvideEIP712ContextTask.test.d.ts.map +1 -0
- package/lib/types/internal/app-binder/task/ProvideTransactionContextTask.d.ts +37 -0
- package/lib/types/internal/app-binder/task/ProvideTransactionContextTask.d.ts.map +1 -0
- package/lib/types/internal/app-binder/task/ProvideTransactionContextTask.test.d.ts +2 -0
- package/lib/types/internal/app-binder/task/ProvideTransactionContextTask.test.d.ts.map +1 -0
- package/lib/types/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.d.ts +80 -0
- package/lib/types/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.d.ts.map +1 -0
- package/lib/types/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.test.d.ts +2 -0
- package/lib/types/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.test.d.ts.map +1 -0
- package/lib/types/internal/app-binder/task/ProvideTransactionGenericContextTask.d.ts +27 -0
- package/lib/types/internal/app-binder/task/ProvideTransactionGenericContextTask.d.ts.map +1 -0
- package/lib/types/internal/app-binder/task/ProvideTransactionGenericContextTask.test.d.ts +2 -0
- package/lib/types/internal/app-binder/task/ProvideTransactionGenericContextTask.test.d.ts.map +1 -0
- package/lib/types/internal/app-binder/task/SendCommandInChunksTask.d.ts +17 -0
- package/lib/types/internal/app-binder/task/SendCommandInChunksTask.d.ts.map +1 -0
- package/lib/{esm → types}/internal/app-binder/task/SendEIP712StructImplemTask.d.ts +2 -1
- package/lib/types/internal/app-binder/task/SendEIP712StructImplemTask.d.ts.map +1 -0
- package/lib/types/internal/app-binder/task/SendEIP712StructImplemTask.test.d.ts +2 -0
- package/lib/types/internal/app-binder/task/SendEIP712StructImplemTask.test.d.ts.map +1 -0
- package/lib/types/internal/app-binder/task/SendPayloadInChunksTask.d.ts +15 -0
- package/lib/types/internal/app-binder/task/SendPayloadInChunksTask.d.ts.map +1 -0
- package/lib/types/internal/app-binder/task/SendPayloadInChunksTask.test.d.ts +2 -0
- package/lib/types/internal/app-binder/task/SendPayloadInChunksTask.test.d.ts.map +1 -0
- package/lib/types/internal/app-binder/task/SendSignPersonalMessageTask.d.ts +15 -0
- package/lib/types/internal/app-binder/task/SendSignPersonalMessageTask.d.ts.map +1 -0
- package/lib/types/internal/app-binder/task/SendSignPersonalMessageTask.test.d.ts +2 -0
- package/lib/types/internal/app-binder/task/SendSignPersonalMessageTask.test.d.ts.map +1 -0
- package/lib/types/internal/app-binder/task/SendSignTransactionTask.d.ts +21 -0
- package/lib/types/internal/app-binder/task/SendSignTransactionTask.d.ts.map +1 -0
- package/lib/types/internal/app-binder/task/SendSignTransactionTask.test.d.ts +2 -0
- package/lib/types/internal/app-binder/task/SendSignTransactionTask.test.d.ts.map +1 -0
- package/lib/types/internal/di.d.ts +10 -0
- package/lib/types/internal/di.d.ts.map +1 -0
- package/lib/{cjs → types}/internal/externalTypes.d.ts +1 -1
- package/lib/types/internal/message/di/messageModule.test.d.ts +2 -0
- package/lib/types/internal/message/di/messageModule.test.d.ts.map +1 -0
- package/lib/{esm → types}/internal/message/use-case/SignMessageUseCase.d.ts +2 -2
- package/lib/{cjs → types}/internal/message/use-case/SignMessageUseCase.d.ts.map +1 -1
- package/lib/types/internal/message/use-case/SignMessageUseCase.test.d.ts +2 -0
- package/lib/types/internal/message/use-case/SignMessageUseCase.test.d.ts.map +1 -0
- package/lib/types/internal/shared/utils/PayloadUtils.d.ts +5 -0
- package/lib/types/internal/shared/utils/PayloadUtils.d.ts.map +1 -0
- package/lib/types/internal/shared/utils/PayloadUtils.test.d.ts +2 -0
- package/lib/types/internal/shared/utils/PayloadUtils.test.d.ts.map +1 -0
- package/lib/{cjs → types}/internal/transaction/di/transactionModule.d.ts.map +1 -1
- package/lib/types/internal/transaction/di/transactionModule.test.d.ts +2 -0
- package/lib/types/internal/transaction/di/transactionModule.test.d.ts.map +1 -0
- package/lib/{cjs → types}/internal/transaction/di/transactionTypes.d.ts +1 -0
- package/lib/{cjs → types}/internal/transaction/di/transactionTypes.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 +6 -0
- package/lib/types/internal/transaction/service/mapper/TransactionMapper.d.ts.map +1 -0
- package/lib/{esm → types}/internal/transaction/service/mapper/TransactionMapperService.d.ts +1 -2
- package/lib/types/internal/transaction/service/mapper/TransactionMapperService.d.ts.map +1 -0
- package/lib/types/internal/transaction/service/mapper/TransactionMapperService.test.d.ts +2 -0
- package/lib/types/internal/transaction/service/mapper/TransactionMapperService.test.d.ts.map +1 -0
- package/lib/types/internal/transaction/service/mapper/model/TransactionMapperResult.d.ts +18 -0
- package/lib/types/internal/transaction/service/mapper/model/TransactionMapperResult.d.ts.map +1 -0
- package/lib/types/internal/transaction/service/parser/TransactionParserService.d.ts +11 -0
- package/lib/types/internal/transaction/service/parser/TransactionParserService.d.ts.map +1 -0
- package/lib/types/internal/transaction/service/parser/TransactionParserService.test.d.ts +2 -0
- package/lib/types/internal/transaction/service/parser/TransactionParserService.test.d.ts.map +1 -0
- package/lib/{cjs → types}/internal/transaction/use-case/SignTransactionUseCase.d.ts +1 -2
- package/lib/types/internal/transaction/use-case/SignTransactionUseCase.d.ts.map +1 -0
- package/lib/types/internal/transaction/use-case/SignTransactionUseCase.test.d.ts +2 -0
- package/lib/types/internal/transaction/use-case/SignTransactionUseCase.test.d.ts.map +1 -0
- package/lib/types/internal/typed-data/di/typedDataModule.test.d.ts +2 -0
- package/lib/types/internal/typed-data/di/typedDataModule.test.d.ts.map +1 -0
- package/lib/{cjs → types}/internal/typed-data/model/Types.d.ts +1 -1
- package/lib/types/internal/typed-data/model/Types.d.ts.map +1 -0
- package/lib/{esm → types}/internal/typed-data/service/TypedDataEncoder.d.ts +1 -1
- package/lib/{cjs → types}/internal/typed-data/service/TypedDataEncoder.d.ts.map +1 -1
- package/lib/types/internal/typed-data/service/TypedDataEncoder.test.d.ts +2 -0
- package/lib/types/internal/typed-data/service/TypedDataEncoder.test.d.ts.map +1 -0
- package/lib/{esm → types}/internal/typed-data/service/TypedDataParser.d.ts +3 -3
- package/lib/types/internal/typed-data/service/TypedDataParser.d.ts.map +1 -0
- package/lib/types/internal/typed-data/service/TypedDataParser.test.d.ts +2 -0
- package/lib/types/internal/typed-data/service/TypedDataParser.test.d.ts.map +1 -0
- package/lib/{esm → types}/internal/typed-data/service/TypedDataParserService.d.ts +3 -3
- package/lib/types/internal/typed-data/service/TypedDataParserService.d.ts.map +1 -0
- package/lib/types/internal/typed-data/use-case/SignTypedDataUseCase.test.d.ts +2 -0
- package/lib/types/internal/typed-data/use-case/SignTypedDataUseCase.test.d.ts.map +1 -0
- package/lib/types/tsconfig.prod.tsbuildinfo +1 -0
- package/package.json +30 -34
- package/lib/cjs/api/KeyringEth.d.ts +0 -15
- package/lib/cjs/api/KeyringEth.d.ts.map +0 -1
- package/lib/cjs/api/KeyringEth.js +0 -3
- package/lib/cjs/api/KeyringEth.js.map +0 -1
- package/lib/cjs/api/KeyringEthBuilder.d.ts +0 -38
- package/lib/cjs/api/KeyringEthBuilder.d.ts.map +0 -1
- package/lib/cjs/api/KeyringEthBuilder.js +0 -49
- package/lib/cjs/api/KeyringEthBuilder.js.map +0 -1
- package/lib/cjs/api/app-binder/GetAddressDeviceActionTypes.d.ts +0 -9
- package/lib/cjs/api/app-binder/GetAddressDeviceActionTypes.d.ts.map +0 -1
- package/lib/cjs/api/app-binder/SignPersonalMessageDeviceActionTypes.d.ts +0 -20
- package/lib/cjs/api/app-binder/SignPersonalMessageDeviceActionTypes.d.ts.map +0 -1
- package/lib/cjs/api/app-binder/SignTransactionDeviceActionTypes.d.ts +0 -31
- package/lib/cjs/api/app-binder/SignTransactionDeviceActionTypes.d.ts.map +0 -1
- package/lib/cjs/api/app-binder/SignTypedDataDeviceActionTypes.d.ts.map +0 -1
- package/lib/cjs/api/index.d.ts.map +0 -1
- package/lib/cjs/api/model/Address.d.ts +0 -7
- package/lib/cjs/api/model/Address.d.ts.map +0 -1
- package/lib/cjs/api/model/Signature.d.ts +0 -7
- package/lib/cjs/api/model/Signature.d.ts.map +0 -1
- package/lib/cjs/api/model/Transaction.d.ts +0 -4
- package/lib/cjs/api/model/Transaction.d.ts.map +0 -1
- package/lib/cjs/api/model/Transaction.js +0 -3
- package/lib/cjs/api/model/Transaction.js.map +0 -1
- package/lib/cjs/internal/DefaultKeyringEth.d.ts +0 -26
- package/lib/cjs/internal/DefaultKeyringEth.d.ts.map +0 -1
- package/lib/cjs/internal/DefaultKeyringEth.js +0 -36
- package/lib/cjs/internal/DefaultKeyringEth.js.map +0 -1
- package/lib/cjs/internal/app-binder/EthAppBinder.d.ts.map +0 -1
- package/lib/cjs/internal/app-binder/command/GetAddressCommand.d.ts +0 -9
- package/lib/cjs/internal/app-binder/command/GetAddressCommand.d.ts.map +0 -1
- package/lib/cjs/internal/app-binder/command/GetChallengeCommand.d.ts +0 -10
- package/lib/cjs/internal/app-binder/command/GetChallengeCommand.d.ts.map +0 -1
- package/lib/cjs/internal/app-binder/command/ProvideDomainNameCommand.d.ts +0 -19
- package/lib/cjs/internal/app-binder/command/ProvideDomainNameCommand.d.ts.map +0 -1
- package/lib/cjs/internal/app-binder/command/ProvideDomainNameCommand.js +0 -41
- package/lib/cjs/internal/app-binder/command/ProvideDomainNameCommand.js.map +0 -1
- package/lib/cjs/internal/app-binder/command/ProvideNFTInformationCommand.d.ts +0 -15
- package/lib/cjs/internal/app-binder/command/ProvideNFTInformationCommand.d.ts.map +0 -1
- package/lib/cjs/internal/app-binder/command/ProvideTokenInformationCommand.d.ts.map +0 -1
- package/lib/cjs/internal/app-binder/command/SendEIP712FilteringCommand.d.ts +0 -41
- package/lib/cjs/internal/app-binder/command/SendEIP712FilteringCommand.d.ts.map +0 -1
- package/lib/cjs/internal/app-binder/command/SendEIP712StructDefinitionCommand.d.ts +0 -25
- package/lib/cjs/internal/app-binder/command/SendEIP712StructDefinitionCommand.d.ts.map +0 -1
- package/lib/cjs/internal/app-binder/command/SendEIP712StructImplemCommand.d.ts.map +0 -1
- package/lib/cjs/internal/app-binder/command/SetExternalPluginCommand.d.ts +0 -17
- package/lib/cjs/internal/app-binder/command/SetExternalPluginCommand.d.ts.map +0 -1
- package/lib/cjs/internal/app-binder/command/SetPluginCommand.d.ts +0 -18
- package/lib/cjs/internal/app-binder/command/SetPluginCommand.d.ts.map +0 -1
- package/lib/cjs/internal/app-binder/command/SignEIP712Command.d.ts.map +0 -1
- package/lib/cjs/internal/app-binder/command/SignPersonalMessageCommand.d.ts +0 -21
- package/lib/cjs/internal/app-binder/command/SignPersonalMessageCommand.d.ts.map +0 -1
- package/lib/cjs/internal/app-binder/command/SignTransactionCommand.d.ts.map +0 -1
- package/lib/cjs/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.d.ts +0 -17
- package/lib/cjs/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.d.ts.map +0 -1
- package/lib/cjs/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.js +0 -161
- package/lib/cjs/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.js.map +0 -1
- package/lib/cjs/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.d.ts +0 -39
- package/lib/cjs/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.d.ts.map +0 -1
- package/lib/cjs/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.d.ts +0 -31
- package/lib/cjs/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.d.ts.map +0 -1
- package/lib/cjs/internal/app-binder/device-action/__test-utils__/makeInternalApi.d.ts +0 -3
- package/lib/cjs/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.d.ts +0 -12
- package/lib/cjs/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.d.ts.map +0 -1
- package/lib/cjs/internal/app-binder/task/BuildTransactionContextTask.d.ts +0 -21
- package/lib/cjs/internal/app-binder/task/BuildTransactionContextTask.d.ts.map +0 -1
- package/lib/cjs/internal/app-binder/task/ProvideEIP712ContextTask.d.ts +0 -21
- package/lib/cjs/internal/app-binder/task/ProvideEIP712ContextTask.d.ts.map +0 -1
- package/lib/cjs/internal/app-binder/task/ProvideTransactionContextTask.d.ts +0 -57
- package/lib/cjs/internal/app-binder/task/ProvideTransactionContextTask.d.ts.map +0 -1
- package/lib/cjs/internal/app-binder/task/SendEIP712StructImplemTask.d.ts +0 -19
- package/lib/cjs/internal/app-binder/task/SendEIP712StructImplemTask.d.ts.map +0 -1
- package/lib/cjs/internal/app-binder/task/SendSignPersonalMessageTask.d.ts +0 -14
- package/lib/cjs/internal/app-binder/task/SendSignPersonalMessageTask.d.ts.map +0 -1
- package/lib/cjs/internal/app-binder/task/SendSignTransactionTask.d.ts +0 -14
- package/lib/cjs/internal/app-binder/task/SendSignTransactionTask.d.ts.map +0 -1
- package/lib/cjs/internal/di.d.ts +0 -10
- package/lib/cjs/internal/di.d.ts.map +0 -1
- package/lib/cjs/internal/message/use-case/SignMessageUseCase.d.ts +0 -8
- package/lib/cjs/internal/shared/utils/DerivationPathUtils.d.ts +0 -5
- package/lib/cjs/internal/shared/utils/DerivationPathUtils.d.ts.map +0 -1
- package/lib/cjs/internal/shared/utils/DerivationPathUtils.js +0 -24
- package/lib/cjs/internal/shared/utils/DerivationPathUtils.js.map +0 -1
- package/lib/cjs/internal/transaction/service/mapper/EthersV5TransactionMapper.d.ts +0 -10
- package/lib/cjs/internal/transaction/service/mapper/EthersV5TransactionMapper.d.ts.map +0 -1
- package/lib/cjs/internal/transaction/service/mapper/EthersV5TransactionMapper.js +0 -60
- package/lib/cjs/internal/transaction/service/mapper/EthersV5TransactionMapper.js.map +0 -1
- package/lib/cjs/internal/transaction/service/mapper/EthersV6TransactionMapper.d.ts +0 -9
- package/lib/cjs/internal/transaction/service/mapper/EthersV6TransactionMapper.d.ts.map +0 -1
- package/lib/cjs/internal/transaction/service/mapper/EthersV6TransactionMapper.js +0 -36
- package/lib/cjs/internal/transaction/service/mapper/EthersV6TransactionMapper.js.map +0 -1
- package/lib/cjs/internal/transaction/service/mapper/TransactionMapper.d.ts +0 -7
- package/lib/cjs/internal/transaction/service/mapper/TransactionMapper.d.ts.map +0 -1
- package/lib/cjs/internal/transaction/service/mapper/TransactionMapperService.d.ts +0 -10
- package/lib/cjs/internal/transaction/service/mapper/TransactionMapperService.d.ts.map +0 -1
- package/lib/cjs/internal/transaction/service/mapper/model/TransactionMapperResult.d.ts +0 -12
- package/lib/cjs/internal/transaction/service/mapper/model/TransactionMapperResult.d.ts.map +0 -1
- package/lib/cjs/internal/transaction/use-case/SignTransactionUseCase.d.ts.map +0 -1
- package/lib/cjs/internal/typed-data/model/Types.d.ts.map +0 -1
- package/lib/cjs/internal/typed-data/service/TypedDataEncoder.d.ts +0 -10
- package/lib/cjs/internal/typed-data/service/TypedDataParser.d.ts +0 -73
- package/lib/cjs/internal/typed-data/service/TypedDataParser.d.ts.map +0 -1
- package/lib/cjs/internal/typed-data/service/TypedDataParserService.d.ts +0 -12
- package/lib/cjs/internal/typed-data/service/TypedDataParserService.d.ts.map +0 -1
- package/lib/esm/api/KeyringEth.d.ts +0 -15
- package/lib/esm/api/KeyringEth.d.ts.map +0 -1
- package/lib/esm/api/KeyringEth.js +0 -2
- package/lib/esm/api/KeyringEth.js.map +0 -1
- package/lib/esm/api/KeyringEthBuilder.d.ts +0 -38
- package/lib/esm/api/KeyringEthBuilder.d.ts.map +0 -1
- package/lib/esm/api/KeyringEthBuilder.js +0 -45
- package/lib/esm/api/KeyringEthBuilder.js.map +0 -1
- package/lib/esm/api/app-binder/GetAddressCommandTypes.d.ts +0 -11
- package/lib/esm/api/app-binder/GetAddressCommandTypes.d.ts.map +0 -1
- package/lib/esm/api/app-binder/GetAddressDeviceActionTypes.d.ts.map +0 -1
- package/lib/esm/api/app-binder/SignPersonalMessageDeviceActionTypes.d.ts +0 -20
- package/lib/esm/api/app-binder/SignPersonalMessageDeviceActionTypes.d.ts.map +0 -1
- package/lib/esm/api/app-binder/SignTransactionDeviceActionTypes.d.ts +0 -31
- package/lib/esm/api/app-binder/SignTransactionDeviceActionTypes.d.ts.map +0 -1
- package/lib/esm/api/app-binder/SignTypedDataDeviceActionTypes.d.ts +0 -27
- package/lib/esm/api/app-binder/SignTypedDataDeviceActionTypes.d.ts.map +0 -1
- package/lib/esm/api/index.d.ts +0 -13
- package/lib/esm/api/index.d.ts.map +0 -1
- package/lib/esm/api/model/Address.d.ts +0 -7
- package/lib/esm/api/model/Address.d.ts.map +0 -1
- package/lib/esm/api/model/AddressOptions.d.ts +0 -5
- package/lib/esm/api/model/AddressOptions.d.ts.map +0 -1
- package/lib/esm/api/model/Signature.d.ts +0 -7
- package/lib/esm/api/model/Signature.d.ts.map +0 -1
- package/lib/esm/api/model/Transaction.d.ts +0 -4
- package/lib/esm/api/model/Transaction.d.ts.map +0 -1
- package/lib/esm/api/model/Transaction.js +0 -2
- package/lib/esm/api/model/Transaction.js.map +0 -1
- package/lib/esm/api/model/TransactionOptions.d.ts +0 -4
- package/lib/esm/api/model/TransactionOptions.d.ts.map +0 -1
- package/lib/esm/api/model/TypedData.d.ts +0 -18
- package/lib/esm/api/model/TypedData.d.ts.map +0 -1
- package/lib/esm/index.d.ts +0 -3
- package/lib/esm/index.d.ts.map +0 -1
- package/lib/esm/internal/DefaultKeyringEth.d.ts +0 -26
- package/lib/esm/internal/DefaultKeyringEth.d.ts.map +0 -1
- package/lib/esm/internal/DefaultKeyringEth.js +0 -32
- package/lib/esm/internal/DefaultKeyringEth.js.map +0 -1
- package/lib/esm/internal/address/di/addressModule.d.ts +0 -3
- package/lib/esm/internal/address/di/addressModule.d.ts.map +0 -1
- package/lib/esm/internal/address/di/addressTypes.d.ts +0 -4
- package/lib/esm/internal/address/di/addressTypes.d.ts.map +0 -1
- package/lib/esm/internal/address/use-case/GetAddressUseCase.d.ts +0 -9
- package/lib/esm/internal/address/use-case/GetAddressUseCase.d.ts.map +0 -1
- package/lib/esm/internal/app-binder/EthAppBinder.d.ts +0 -38
- package/lib/esm/internal/app-binder/EthAppBinder.d.ts.map +0 -1
- package/lib/esm/internal/app-binder/command/GetAddressCommand.d.ts +0 -9
- package/lib/esm/internal/app-binder/command/GetAddressCommand.d.ts.map +0 -1
- package/lib/esm/internal/app-binder/command/GetChallengeCommand.d.ts +0 -10
- package/lib/esm/internal/app-binder/command/GetChallengeCommand.d.ts.map +0 -1
- package/lib/esm/internal/app-binder/command/ProvideDomainNameCommand.d.ts +0 -19
- package/lib/esm/internal/app-binder/command/ProvideDomainNameCommand.d.ts.map +0 -1
- package/lib/esm/internal/app-binder/command/ProvideDomainNameCommand.js +0 -37
- package/lib/esm/internal/app-binder/command/ProvideDomainNameCommand.js.map +0 -1
- package/lib/esm/internal/app-binder/command/ProvideNFTInformationCommand.d.ts +0 -15
- package/lib/esm/internal/app-binder/command/ProvideNFTInformationCommand.d.ts.map +0 -1
- package/lib/esm/internal/app-binder/command/ProvideTokenInformationCommand.d.ts +0 -14
- package/lib/esm/internal/app-binder/command/ProvideTokenInformationCommand.d.ts.map +0 -1
- package/lib/esm/internal/app-binder/command/SendEIP712FilteringCommand.d.ts.map +0 -1
- package/lib/esm/internal/app-binder/command/SendEIP712StructDefinitionCommand.d.ts.map +0 -1
- package/lib/esm/internal/app-binder/command/SendEIP712StructImplemCommand.d.ts +0 -30
- package/lib/esm/internal/app-binder/command/SendEIP712StructImplemCommand.d.ts.map +0 -1
- package/lib/esm/internal/app-binder/command/SetExternalPluginCommand.d.ts +0 -17
- package/lib/esm/internal/app-binder/command/SetExternalPluginCommand.d.ts.map +0 -1
- package/lib/esm/internal/app-binder/command/SetPluginCommand.d.ts +0 -18
- package/lib/esm/internal/app-binder/command/SetPluginCommand.d.ts.map +0 -1
- package/lib/esm/internal/app-binder/command/SignEIP712Command.d.ts +0 -25
- package/lib/esm/internal/app-binder/command/SignEIP712Command.d.ts.map +0 -1
- package/lib/esm/internal/app-binder/command/SignPersonalMessageCommand.d.ts.map +0 -1
- package/lib/esm/internal/app-binder/command/SignTransactionCommand.d.ts +0 -24
- package/lib/esm/internal/app-binder/command/SignTransactionCommand.d.ts.map +0 -1
- package/lib/esm/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.d.ts +0 -17
- package/lib/esm/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.d.ts.map +0 -1
- package/lib/esm/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.js +0 -157
- package/lib/esm/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.js.map +0 -1
- package/lib/esm/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.d.ts +0 -39
- package/lib/esm/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.d.ts.map +0 -1
- package/lib/esm/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.d.ts +0 -31
- package/lib/esm/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.d.ts.map +0 -1
- package/lib/esm/internal/app-binder/device-action/__test-utils__/makeInternalApi.d.ts +0 -3
- package/lib/esm/internal/app-binder/device-action/__test-utils__/makeInternalApi.d.ts.map +0 -1
- package/lib/esm/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.d.ts +0 -2
- package/lib/esm/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.d.ts.map +0 -1
- package/lib/esm/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.d.ts +0 -12
- package/lib/esm/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.d.ts.map +0 -1
- package/lib/esm/internal/app-binder/di/appBinderModule.d.ts +0 -3
- package/lib/esm/internal/app-binder/di/appBinderModule.d.ts.map +0 -1
- package/lib/esm/internal/app-binder/di/appBinderTypes.d.ts +0 -4
- package/lib/esm/internal/app-binder/di/appBinderTypes.d.ts.map +0 -1
- package/lib/esm/internal/app-binder/task/BuildEIP712ContextTask.d.ts +0 -16
- package/lib/esm/internal/app-binder/task/BuildEIP712ContextTask.d.ts.map +0 -1
- package/lib/esm/internal/app-binder/task/BuildTransactionContextTask.d.ts +0 -21
- package/lib/esm/internal/app-binder/task/BuildTransactionContextTask.d.ts.map +0 -1
- package/lib/esm/internal/app-binder/task/ProvideEIP712ContextTask.d.ts +0 -21
- package/lib/esm/internal/app-binder/task/ProvideEIP712ContextTask.d.ts.map +0 -1
- package/lib/esm/internal/app-binder/task/ProvideTransactionContextTask.d.ts +0 -57
- package/lib/esm/internal/app-binder/task/ProvideTransactionContextTask.d.ts.map +0 -1
- package/lib/esm/internal/app-binder/task/SendEIP712StructImplemTask.d.ts.map +0 -1
- package/lib/esm/internal/app-binder/task/SendSignPersonalMessageTask.d.ts +0 -14
- package/lib/esm/internal/app-binder/task/SendSignPersonalMessageTask.d.ts.map +0 -1
- package/lib/esm/internal/app-binder/task/SendSignTransactionTask.d.ts +0 -14
- package/lib/esm/internal/app-binder/task/SendSignTransactionTask.d.ts.map +0 -1
- package/lib/esm/internal/di.d.ts +0 -10
- package/lib/esm/internal/di.d.ts.map +0 -1
- package/lib/esm/internal/externalTypes.d.ts +0 -6
- package/lib/esm/internal/externalTypes.d.ts.map +0 -1
- package/lib/esm/internal/message/di/messageModule.d.ts +0 -3
- package/lib/esm/internal/message/di/messageModule.d.ts.map +0 -1
- package/lib/esm/internal/message/di/messageTypes.d.ts +0 -4
- package/lib/esm/internal/message/di/messageTypes.d.ts.map +0 -1
- package/lib/esm/internal/message/use-case/SignMessageUseCase.d.ts.map +0 -1
- package/lib/esm/internal/shared/utils/DerivationPathUtils.d.ts +0 -5
- package/lib/esm/internal/shared/utils/DerivationPathUtils.d.ts.map +0 -1
- package/lib/esm/internal/shared/utils/DerivationPathUtils.js +0 -20
- package/lib/esm/internal/shared/utils/DerivationPathUtils.js.map +0 -1
- package/lib/esm/internal/transaction/di/transactionModule.d.ts +0 -3
- package/lib/esm/internal/transaction/di/transactionModule.d.ts.map +0 -1
- package/lib/esm/internal/transaction/di/transactionTypes.d.ts +0 -6
- package/lib/esm/internal/transaction/di/transactionTypes.d.ts.map +0 -1
- package/lib/esm/internal/transaction/service/mapper/EthersV5TransactionMapper.d.ts +0 -10
- package/lib/esm/internal/transaction/service/mapper/EthersV5TransactionMapper.d.ts.map +0 -1
- package/lib/esm/internal/transaction/service/mapper/EthersV5TransactionMapper.js +0 -57
- package/lib/esm/internal/transaction/service/mapper/EthersV5TransactionMapper.js.map +0 -1
- package/lib/esm/internal/transaction/service/mapper/EthersV6TransactionMapper.d.ts +0 -9
- package/lib/esm/internal/transaction/service/mapper/EthersV6TransactionMapper.d.ts.map +0 -1
- package/lib/esm/internal/transaction/service/mapper/EthersV6TransactionMapper.js +0 -33
- package/lib/esm/internal/transaction/service/mapper/EthersV6TransactionMapper.js.map +0 -1
- package/lib/esm/internal/transaction/service/mapper/TransactionMapper.d.ts +0 -7
- package/lib/esm/internal/transaction/service/mapper/TransactionMapper.d.ts.map +0 -1
- package/lib/esm/internal/transaction/service/mapper/TransactionMapperService.d.ts.map +0 -1
- package/lib/esm/internal/transaction/service/mapper/model/TransactionMapperResult.d.ts +0 -12
- package/lib/esm/internal/transaction/service/mapper/model/TransactionMapperResult.d.ts.map +0 -1
- package/lib/esm/internal/transaction/use-case/SignTransactionUseCase.d.ts +0 -10
- package/lib/esm/internal/transaction/use-case/SignTransactionUseCase.d.ts.map +0 -1
- package/lib/esm/internal/typed-data/di/typedDataModule.d.ts +0 -3
- package/lib/esm/internal/typed-data/di/typedDataModule.d.ts.map +0 -1
- package/lib/esm/internal/typed-data/di/typedDataTypes.d.ts +0 -5
- package/lib/esm/internal/typed-data/di/typedDataTypes.d.ts.map +0 -1
- package/lib/esm/internal/typed-data/model/Types.d.ts +0 -41
- package/lib/esm/internal/typed-data/model/Types.d.ts.map +0 -1
- package/lib/esm/internal/typed-data/service/DefaultTypedDataParserService.d.ts +0 -7
- package/lib/esm/internal/typed-data/service/DefaultTypedDataParserService.d.ts.map +0 -1
- package/lib/esm/internal/typed-data/service/TypedDataEncoder.d.ts.map +0 -1
- package/lib/esm/internal/typed-data/service/TypedDataParser.d.ts.map +0 -1
- package/lib/esm/internal/typed-data/service/TypedDataParserService.d.ts.map +0 -1
- package/lib/esm/internal/typed-data/use-case/SignTypedDataUseCase.d.ts +0 -11
- package/lib/esm/internal/typed-data/use-case/SignTypedDataUseCase.d.ts.map +0 -1
- /package/lib/{cjs → types}/api/app-binder/GetAddressCommandTypes.d.ts +0 -0
- /package/lib/{cjs → types}/api/app-binder/GetAddressCommandTypes.d.ts.map +0 -0
- /package/lib/{cjs → types}/api/model/AddressOptions.d.ts +0 -0
- /package/lib/{cjs → types}/api/model/AddressOptions.d.ts.map +0 -0
- /package/lib/{cjs → types}/api/model/TransactionOptions.d.ts +0 -0
- /package/lib/{cjs → types}/api/model/TransactionOptions.d.ts.map +0 -0
- /package/lib/{cjs → types}/api/model/TypedData.d.ts +0 -0
- /package/lib/{cjs → types}/api/model/TypedData.d.ts.map +0 -0
- /package/lib/{cjs → types}/index.d.ts +0 -0
- /package/lib/{cjs → types}/index.d.ts.map +0 -0
- /package/lib/{cjs → types}/internal/address/di/addressModule.d.ts +0 -0
- /package/lib/{cjs → types}/internal/address/di/addressModule.d.ts.map +0 -0
- /package/lib/{cjs → types}/internal/address/di/addressTypes.d.ts +0 -0
- /package/lib/{cjs → types}/internal/address/di/addressTypes.d.ts.map +0 -0
- /package/lib/{cjs → types}/internal/address/use-case/GetAddressUseCase.d.ts +0 -0
- /package/lib/{cjs → types}/internal/address/use-case/GetAddressUseCase.d.ts.map +0 -0
- /package/lib/{cjs → types}/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.d.ts +0 -0
- /package/lib/{cjs → types}/internal/app-binder/di/appBinderModule.d.ts +0 -0
- /package/lib/{cjs → types}/internal/app-binder/di/appBinderModule.d.ts.map +0 -0
- /package/lib/{cjs → types}/internal/app-binder/di/appBinderTypes.d.ts +0 -0
- /package/lib/{cjs → types}/internal/app-binder/di/appBinderTypes.d.ts.map +0 -0
- /package/lib/{cjs → types}/internal/app-binder/task/BuildEIP712ContextTask.d.ts +0 -0
- /package/lib/{cjs → types}/internal/externalTypes.d.ts.map +0 -0
- /package/lib/{cjs → types}/internal/message/di/messageModule.d.ts +0 -0
- /package/lib/{cjs → types}/internal/message/di/messageModule.d.ts.map +0 -0
- /package/lib/{cjs → types}/internal/message/di/messageTypes.d.ts +0 -0
- /package/lib/{cjs → types}/internal/message/di/messageTypes.d.ts.map +0 -0
- /package/lib/{cjs → types}/internal/transaction/di/transactionModule.d.ts +0 -0
- /package/lib/{cjs → types}/internal/typed-data/di/typedDataModule.d.ts +0 -0
- /package/lib/{cjs → types}/internal/typed-data/di/typedDataModule.d.ts.map +0 -0
- /package/lib/{cjs → types}/internal/typed-data/di/typedDataTypes.d.ts +0 -0
- /package/lib/{cjs → types}/internal/typed-data/di/typedDataTypes.d.ts.map +0 -0
- /package/lib/{cjs → types}/internal/typed-data/service/DefaultTypedDataParserService.d.ts +0 -0
- /package/lib/{cjs → types}/internal/typed-data/service/DefaultTypedDataParserService.d.ts.map +0 -0
- /package/lib/{cjs → types}/internal/typed-data/use-case/SignTypedDataUseCase.d.ts +0 -0
- /package/lib/{cjs → types}/internal/typed-data/use-case/SignTypedDataUseCase.d.ts.map +0 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../src/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.test.ts"],
|
|
4
|
+
"sourcesContent": ["import {\n type ClearSignContextSuccess,\n type ClearSignContextSuccessType,\n ClearSignContextType,\n ContainerPath,\n type ContextModule,\n} from \"@ledgerhq/context-module\";\nimport {\n CommandResultFactory,\n type InternalApi,\n InvalidStatusWordError,\n} from \"@ledgerhq/device-management-kit\";\nimport { Left, Nothing, Right } from \"purify-ts\";\n\nimport { GetChallengeCommand } from \"@internal/app-binder/command/GetChallengeCommand\";\nimport { ProvideEnumCommand } from \"@internal/app-binder/command/ProvideEnumCommand\";\nimport { ProvideNFTInformationCommand } from \"@internal/app-binder/command/ProvideNFTInformationCommand\";\nimport { ProvideTokenInformationCommand } from \"@internal/app-binder/command/ProvideTokenInformationCommand\";\nimport { ProvideTransactionFieldDescriptionCommand } from \"@internal/app-binder/command/ProvideTransactionFieldDescriptionCommand\";\nimport { ProvideTrustedNameCommand } from \"@internal/app-binder/command/ProvideTrustedNameCommand\";\nimport { type TransactionParserService } from \"@internal/transaction/service/parser/TransactionParserService\";\n\nimport { ProvideTransactionFieldDescriptionTask } from \"./ProvideTransactionFieldDescriptionTask\";\n\ndescribe(\"ProvideTransactionFieldDescriptionTask\", () => {\n const transactionParserMock = {\n extractValue: vi.fn(),\n } as unknown as TransactionParserService;\n const contextModuleMock = {\n getContext: vi.fn(),\n } as unknown as ContextModule;\n const apiMock: InternalApi = {\n sendCommand: vi.fn(),\n } as unknown as InternalApi;\n\n beforeEach(() => {\n vi.clearAllMocks();\n });\n\n describe(\"should call the right provide command\", () => {\n it.each<{\n type: ClearSignContextSuccess<\n Exclude<ClearSignContextSuccessType, ClearSignContextType.ENUM>\n >[\"type\"];\n commandInstanceType: unknown;\n }>([\n {\n type: ClearSignContextType.NFT,\n commandInstanceType: ProvideNFTInformationCommand,\n },\n {\n type: ClearSignContextType.TOKEN,\n commandInstanceType: ProvideTokenInformationCommand,\n },\n {\n type: ClearSignContextType.TRUSTED_NAME,\n commandInstanceType: ProvideTrustedNameCommand,\n },\n {\n type: ClearSignContextType.TRANSACTION_FIELD_DESCRIPTION,\n commandInstanceType: ProvideTransactionFieldDescriptionCommand,\n },\n ])(\"when type is $type\", async ({ type, commandInstanceType }) => {\n // GIVEN\n const spy = vi\n .spyOn(apiMock, \"sendCommand\")\n .mockResolvedValueOnce(CommandResultFactory({ data: \"ok\" }));\n const payload = `0x01020304`;\n const field: ClearSignContextSuccess = {\n type,\n payload,\n };\n\n // WHEN\n await new ProvideTransactionFieldDescriptionTask(apiMock, {\n field,\n serializedTransaction: new Uint8Array(),\n chainId: 1,\n transactionParser: transactionParserMock,\n contextModule: contextModuleMock,\n transactionEnums: [],\n }).run();\n\n // THEN\n expect(spy.mock.calls[0]![0]).toBeInstanceOf(commandInstanceType);\n expect(apiMock.sendCommand).toHaveBeenCalledTimes(1);\n });\n\n it(\"when type is transactionFieldDescription with a enum reference\", async () => {\n // GIVEN\n const spy = vi\n .spyOn(apiMock, \"sendCommand\")\n .mockResolvedValueOnce(CommandResultFactory({ data: \"ok\" }))\n .mockResolvedValueOnce(CommandResultFactory({ data: \"ok\" }));\n\n vi.spyOn(transactionParserMock, \"extractValue\").mockReturnValueOnce(\n Right([new Uint8Array([0x01, 0x02, 0x03, 0x04])]),\n );\n\n const payload = `0x01020304`;\n const field: ClearSignContextSuccess = {\n type: ClearSignContextType.TRANSACTION_FIELD_DESCRIPTION,\n payload,\n reference: {\n type: ClearSignContextType.ENUM,\n valuePath: ContainerPath.VALUE,\n id: 0x42,\n },\n };\n\n // WHEN\n await new ProvideTransactionFieldDescriptionTask(apiMock, {\n field,\n serializedTransaction: new Uint8Array(),\n chainId: 1,\n transactionParser: transactionParserMock,\n contextModule: contextModuleMock,\n transactionEnums: [\n {\n id: 0x42,\n value: 0x01,\n type: ClearSignContextType.ENUM,\n payload: \"0x060708\",\n },\n {\n id: 0x42,\n value: 0x04,\n type: ClearSignContextType.ENUM,\n payload: \"0x080706\",\n },\n ],\n }).run();\n\n expect(apiMock.sendCommand).toHaveBeenCalledTimes(2);\n expect(spy.mock.calls[0]![0]).toBeInstanceOf(ProvideEnumCommand);\n // @ts-expect-error args exists\n expect(spy.mock.calls[0]![0].args.data).toEqual(\n new Uint8Array([0x00, 0x03, 0x08, 0x07, 0x06]),\n ); // length + value of the enum with id 0x42 and value 0x04\n expect(spy.mock.calls[1]![0]).toBeInstanceOf(\n ProvideTransactionFieldDescriptionCommand,\n );\n });\n });\n\n describe(\"should return nothing\", () => {\n it.each<\n ClearSignContextSuccess<\n Exclude<ClearSignContextSuccessType, ClearSignContextType.ENUM>\n >[\"type\"]\n >([\n ClearSignContextType.NFT,\n ClearSignContextType.TOKEN,\n ClearSignContextType.TRUSTED_NAME,\n ClearSignContextType.TRANSACTION_FIELD_DESCRIPTION,\n ])(\"when type is %s with no reference\", async (type) => {\n // GIVEN\n const payload = `0x01020304`;\n const field: ClearSignContextSuccess = {\n type,\n payload,\n };\n vi.spyOn(apiMock, \"sendCommand\").mockResolvedValueOnce(\n CommandResultFactory({ data: \"ok\" }),\n );\n\n // WHEN\n const task = new ProvideTransactionFieldDescriptionTask(apiMock, {\n field,\n serializedTransaction: new Uint8Array(),\n chainId: 1,\n transactionParser: transactionParserMock,\n contextModule: contextModuleMock,\n transactionEnums: [],\n });\n const result = await task.run();\n\n // THEN\n expect(result).toEqual(Nothing);\n });\n });\n\n describe(\"should provide a reference context\", () => {\n it.each<\n ClearSignContextSuccess<\n Exclude<ClearSignContextSuccessType, ClearSignContextType.ENUM>\n >[\"type\"]\n >([ClearSignContextType.NFT, ClearSignContextType.TOKEN])(\n \"when type is %s with a reference\",\n async (type) => {\n // GIVEN\n const payload = `0x01020304`;\n const field: ClearSignContextSuccess = {\n type,\n payload,\n reference: {\n type: ClearSignContextType.TOKEN,\n valuePath: ContainerPath.VALUE,\n },\n };\n // provide reference context\n vi.spyOn(apiMock, \"sendCommand\").mockResolvedValueOnce(\n CommandResultFactory({ data: \"ok\" }),\n );\n // provide context\n vi.spyOn(apiMock, \"sendCommand\").mockResolvedValueOnce(\n CommandResultFactory({ data: \"ok\" }),\n );\n vi.spyOn(transactionParserMock, \"extractValue\").mockReturnValueOnce(\n Right([new Uint8Array([0x01, 0x02, 0x03, 0x04])]),\n );\n vi.spyOn(contextModuleMock, \"getContext\").mockResolvedValueOnce({\n type,\n payload,\n });\n\n // WHEN\n const task = new ProvideTransactionFieldDescriptionTask(apiMock, {\n field,\n serializedTransaction: new Uint8Array(),\n chainId: 1,\n transactionParser: transactionParserMock,\n contextModule: contextModuleMock,\n transactionEnums: [],\n });\n const result = await task.run();\n\n // THEN\n expect(contextModuleMock.getContext).toHaveBeenCalledTimes(1);\n expect(contextModuleMock.getContext).toHaveBeenCalledWith({\n type: ClearSignContextType.TOKEN,\n chainId: 1,\n address: \"0x01020304\",\n });\n expect(result).toEqual(Nothing);\n expect(apiMock.sendCommand).toHaveBeenCalledTimes(2);\n },\n );\n\n it(\"when type is trustes-name with a reference\", async () => {\n // GIVEN\n const payload1 = `0x01020304`;\n const payload2 = `0x05060708`;\n const extractedValue = new Uint8Array([0x11, 0x22, 0x33, 0x44]);\n const extractedValueAddress = \"0x11223344\";\n const field: ClearSignContextSuccess<\n Exclude<ClearSignContextSuccessType, ClearSignContextType.ENUM>\n > = {\n type: ClearSignContextType.TRUSTED_NAME,\n payload: payload1,\n reference: {\n type: ClearSignContextType.TRUSTED_NAME,\n valuePath: ContainerPath.VALUE,\n types: [\"type\"],\n sources: [\"source\"],\n },\n };\n\n vi.spyOn(apiMock, \"sendCommand\")\n // getChallenge\n .mockResolvedValueOnce(\n CommandResultFactory({ data: { challenge: 0x42 } }),\n )\n // provide reference context\n .mockResolvedValueOnce(CommandResultFactory({ data: \"ok\" }))\n // provide context\n .mockResolvedValueOnce(CommandResultFactory({ data: \"ok\" }));\n\n vi.spyOn(transactionParserMock, \"extractValue\").mockReturnValueOnce(\n Right([extractedValue]),\n );\n\n vi.spyOn(contextModuleMock, \"getContext\").mockResolvedValueOnce({\n type: ClearSignContextType.TRUSTED_NAME,\n payload: payload2,\n });\n\n // WHEN\n const task = new ProvideTransactionFieldDescriptionTask(apiMock, {\n field,\n serializedTransaction: new Uint8Array(),\n chainId: 1,\n transactionParser: transactionParserMock,\n contextModule: contextModuleMock,\n transactionEnums: [],\n });\n const result = await task.run();\n\n // THEN\n expect(contextModuleMock.getContext).toHaveBeenCalledTimes(1);\n // getContext for the extracted value address\n expect(contextModuleMock.getContext).toHaveBeenCalledWith({\n type: ClearSignContextType.TRUSTED_NAME,\n chainId: 1,\n address: extractedValueAddress,\n types: [\"type\"],\n sources: [\"source\"],\n challenge: 0x42,\n });\n expect(result).toEqual(Nothing);\n expect(apiMock.sendCommand).toHaveBeenCalledTimes(3);\n expect(apiMock.sendCommand).toHaveBeenNthCalledWith(\n 1,\n new GetChallengeCommand(),\n );\n expect(apiMock.sendCommand).toHaveBeenNthCalledWith(\n 2,\n new ProvideTrustedNameCommand({\n data: new Uint8Array([0x00, 0x04, 0x05, 0x06, 0x07, 0x08]),\n isFirstChunk: true,\n }),\n );\n expect(apiMock.sendCommand).toHaveBeenNthCalledWith(\n 3,\n new ProvideTrustedNameCommand({\n data: new Uint8Array([0x00, 0x04, 0x01, 0x02, 0x03, 0x04]),\n isFirstChunk: true,\n }),\n );\n });\n\n it(\"when type is token with a constant reference\", async () => {\n // GIVEN\n const payload = `0x01020304`;\n const field: ClearSignContextSuccess = {\n type: ClearSignContextType.TOKEN,\n payload,\n reference: {\n type: ClearSignContextType.TOKEN,\n value: \"0x09080706\",\n },\n };\n vi.spyOn(apiMock, \"sendCommand\")\n // provide reference context\n .mockResolvedValueOnce(CommandResultFactory({ data: \"ok\" }))\n // provide context\n .mockResolvedValueOnce(CommandResultFactory({ data: \"ok\" }));\n\n vi.spyOn(contextModuleMock, \"getContext\").mockResolvedValueOnce({\n type: ClearSignContextType.TOKEN,\n payload: \"0x05060708\",\n });\n\n // WHEN\n const task = new ProvideTransactionFieldDescriptionTask(apiMock, {\n field,\n serializedTransaction: new Uint8Array(),\n chainId: 1,\n transactionParser: transactionParserMock,\n contextModule: contextModuleMock,\n transactionEnums: [],\n });\n const result = await task.run();\n\n // THEN\n expect(transactionParserMock.extractValue).not.toHaveBeenCalled();\n expect(contextModuleMock.getContext).toHaveBeenCalledTimes(1);\n expect(contextModuleMock.getContext).toHaveBeenCalledWith({\n type: ClearSignContextType.TOKEN,\n chainId: 1,\n address: \"0x09080706\",\n });\n expect(result).toEqual(Nothing);\n expect(apiMock.sendCommand).toHaveBeenCalledTimes(2);\n });\n\n it(\"when type is a ntf with a constant reference\", async () => {\n // GIVEN\n const payload = `0x01020304`;\n const field: ClearSignContextSuccess = {\n type: ClearSignContextType.NFT,\n payload,\n reference: {\n type: ClearSignContextType.NFT,\n value: \"0x09080706\",\n },\n };\n // provide reference context\n vi.spyOn(apiMock, \"sendCommand\").mockResolvedValueOnce(\n CommandResultFactory({ data: \"ok\" }),\n );\n // provide context\n vi.spyOn(apiMock, \"sendCommand\").mockResolvedValueOnce(\n CommandResultFactory({ data: \"ok\" }),\n );\n vi.spyOn(contextModuleMock, \"getContext\").mockResolvedValueOnce({\n type: ClearSignContextType.NFT,\n payload: \"0x05060708\",\n });\n\n // WHEN\n const task = new ProvideTransactionFieldDescriptionTask(apiMock, {\n field,\n serializedTransaction: new Uint8Array(),\n chainId: 1,\n transactionParser: transactionParserMock,\n contextModule: contextModuleMock,\n transactionEnums: [],\n });\n const result = await task.run();\n\n // THEN\n expect(transactionParserMock.extractValue).not.toHaveBeenCalled();\n expect(contextModuleMock.getContext).toHaveBeenCalledTimes(1);\n expect(contextModuleMock.getContext).toHaveBeenCalledWith({\n type: ClearSignContextType.NFT,\n chainId: 1,\n address: \"0x09080706\",\n });\n expect(result).toEqual(Nothing);\n expect(apiMock.sendCommand).toHaveBeenCalledTimes(2);\n });\n });\n\n describe(\"should not provide a reference context\", () => {\n it(\"when the path is not found in transaction payload\", async () => {\n // GIVEN\n const payload = `0x01020304`;\n const field: ClearSignContextSuccess<\n Exclude<ClearSignContextSuccessType, ClearSignContextType.ENUM>\n > = {\n type: ClearSignContextType.TRUSTED_NAME,\n payload,\n reference: {\n type: ClearSignContextType.TRUSTED_NAME,\n valuePath: ContainerPath.VALUE,\n types: [\"type\"],\n sources: [\"source\"],\n },\n };\n // provide context\n vi.spyOn(apiMock, \"sendCommand\").mockResolvedValueOnce(\n CommandResultFactory({ data: \"ok\" }),\n );\n\n vi.spyOn(transactionParserMock, \"extractValue\").mockReturnValueOnce(\n Left(new Error(\"path not found\")),\n );\n\n // WHEN\n const task = new ProvideTransactionFieldDescriptionTask(apiMock, {\n field,\n serializedTransaction: new Uint8Array(),\n chainId: 1,\n transactionParser: transactionParserMock,\n contextModule: contextModuleMock,\n transactionEnums: [],\n });\n const result = await task.run();\n\n // THEN\n expect(result).toEqual(Nothing);\n expect(apiMock.sendCommand).toHaveBeenCalledTimes(1);\n expect(contextModuleMock.getContext).not.toHaveBeenCalled();\n });\n\n it(\"when getContext return a type error\", async () => {\n // GIVEN\n const payload = `0x01020304`;\n const field: ClearSignContextSuccess<\n Exclude<ClearSignContextSuccessType, ClearSignContextType.ENUM>\n > = {\n type: ClearSignContextType.TRUSTED_NAME,\n payload,\n reference: {\n type: ClearSignContextType.TRUSTED_NAME,\n valuePath: ContainerPath.VALUE,\n types: [\"type\"],\n sources: [\"source\"],\n },\n };\n vi.spyOn(transactionParserMock, \"extractValue\").mockReturnValueOnce(\n Right([new Uint8Array([0x11, 0x22, 0x33, 0x44])]),\n );\n vi.spyOn(contextModuleMock, \"getContext\").mockResolvedValueOnce({\n type: ClearSignContextType.ERROR,\n error: new Error(\"getContext error\"),\n });\n // getChallenge\n vi.spyOn(apiMock, \"sendCommand\").mockResolvedValueOnce(\n CommandResultFactory({ data: { challenge: 0x42 } }),\n );\n // provide context\n vi.spyOn(apiMock, \"sendCommand\").mockResolvedValueOnce(\n CommandResultFactory({ data: \"ok\" }),\n );\n\n // WHEN\n const task = new ProvideTransactionFieldDescriptionTask(apiMock, {\n field,\n serializedTransaction: new Uint8Array(),\n chainId: 1,\n transactionParser: transactionParserMock,\n contextModule: contextModuleMock,\n transactionEnums: [],\n });\n const result = await task.run();\n\n // THEN\n expect(result).toEqual(Nothing);\n expect(apiMock.sendCommand).toHaveBeenCalledTimes(2);\n expect(contextModuleMock.getContext).toHaveBeenCalledTimes(1);\n });\n\n it(\"when no enum descriptor is found\", async () => {\n // GIVEN\n const payload = `0x01020304`;\n const field: ClearSignContextSuccess = {\n type: ClearSignContextType.TRANSACTION_FIELD_DESCRIPTION,\n payload,\n reference: {\n type: ClearSignContextType.ENUM,\n valuePath: ContainerPath.VALUE,\n id: 0x42,\n },\n };\n\n vi.spyOn(transactionParserMock, \"extractValue\").mockReturnValueOnce(\n Right([new Uint8Array([0x01, 0x02, 0x03, 0x04])]),\n );\n\n const spy = vi\n .spyOn(apiMock, \"sendCommand\")\n .mockResolvedValueOnce(CommandResultFactory({ data: \"ok\" }));\n\n // WHEN\n const task = new ProvideTransactionFieldDescriptionTask(apiMock, {\n field,\n serializedTransaction: new Uint8Array(),\n chainId: 1,\n transactionParser: transactionParserMock,\n contextModule: contextModuleMock,\n transactionEnums: [],\n });\n const result = await task.run();\n\n // THEN\n expect(result).toEqual(Nothing);\n expect(apiMock.sendCommand).toHaveBeenCalledTimes(1);\n expect(spy.mock.calls[0]![0]).toBeInstanceOf(\n ProvideTransactionFieldDescriptionCommand,\n );\n });\n\n it(\"when the enum reference path value is empty\", async () => {\n // GIVEN\n const payload = `0x01020304`;\n const field: ClearSignContextSuccess = {\n type: ClearSignContextType.TRANSACTION_FIELD_DESCRIPTION,\n payload,\n reference: {\n type: ClearSignContextType.ENUM,\n valuePath: ContainerPath.VALUE,\n id: 0x42,\n },\n };\n\n vi.spyOn(transactionParserMock, \"extractValue\").mockReturnValueOnce(\n Right([new Uint8Array([])]),\n ); // empty value\n\n const spy = vi\n .spyOn(apiMock, \"sendCommand\")\n .mockResolvedValueOnce(CommandResultFactory({ data: \"ok\" }));\n\n // WHEN\n const task = new ProvideTransactionFieldDescriptionTask(apiMock, {\n field,\n serializedTransaction: new Uint8Array(),\n chainId: 1,\n transactionParser: transactionParserMock,\n contextModule: contextModuleMock,\n transactionEnums: [\n {\n id: 0x42,\n value: 0x01,\n type: ClearSignContextType.ENUM,\n payload: \"0x060708\",\n },\n {\n id: 0x42,\n value: 0x04,\n type: ClearSignContextType.ENUM,\n payload: \"0x080706\",\n },\n ],\n });\n const result = await task.run();\n\n // THEN\n expect(result).toEqual(Nothing);\n expect(apiMock.sendCommand).toHaveBeenCalledTimes(1);\n expect(spy.mock.calls[0]![0]).toBeInstanceOf(\n ProvideTransactionFieldDescriptionCommand,\n );\n });\n });\n\n describe(\"should return an error\", () => {\n it.each<\n ClearSignContextSuccess<\n Exclude<ClearSignContextSuccessType, ClearSignContextType.ENUM>\n >[\"type\"]\n >([\n ClearSignContextType.TRANSACTION_INFO,\n ClearSignContextType.PLUGIN,\n ClearSignContextType.EXTERNAL_PLUGIN,\n ])(\"when type is %s\", async (type) => {\n // GIVEN\n const payload = `payload-${type}`;\n const field: ClearSignContextSuccess<\n Exclude<ClearSignContextSuccessType, ClearSignContextType.ENUM>\n > = {\n type,\n payload,\n };\n\n // WHEN\n const task = new ProvideTransactionFieldDescriptionTask(apiMock, {\n field,\n serializedTransaction: new Uint8Array(),\n chainId: 1,\n transactionParser: transactionParserMock,\n contextModule: contextModuleMock,\n transactionEnums: [],\n });\n const result = await task.run();\n\n // THEN\n expect(result.extract()).toEqual(\n CommandResultFactory({\n error: new InvalidStatusWordError(\n `The context type [${type}] is not valid as a transaction field or metadata`,\n ),\n }),\n );\n });\n\n it(\"when type is unknown\", async () => {\n // GIVEN\n const payload = `payload-unknown`;\n const field = {\n type: \"unknown\" as ClearSignContextType,\n payload,\n } as ClearSignContextSuccess<\n Exclude<ClearSignContextSuccessType, ClearSignContextType.ENUM>\n >;\n\n // WHEN\n const task = new ProvideTransactionFieldDescriptionTask(apiMock, {\n field,\n serializedTransaction: new Uint8Array(),\n chainId: 1,\n transactionParser: transactionParserMock,\n contextModule: contextModuleMock,\n transactionEnums: [],\n });\n const result = await task.run();\n\n // THEN\n expect(result.extract()).toEqual(\n CommandResultFactory({\n error: new InvalidStatusWordError(\n `The context type [unknown] is not covered`,\n ),\n }),\n );\n });\n\n it(\"when getChallenge fails\", async () => {\n // GIVEN\n const payload = `0x01020304`;\n const field: ClearSignContextSuccess<\n Exclude<ClearSignContextSuccessType, ClearSignContextType.ENUM>\n > = {\n type: ClearSignContextType.TRUSTED_NAME,\n payload,\n reference: {\n type: ClearSignContextType.TRUSTED_NAME,\n valuePath: ContainerPath.VALUE,\n types: [\"type\"],\n sources: [\"source\"],\n },\n };\n vi.spyOn(apiMock, \"sendCommand\").mockResolvedValueOnce(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"getChallenge error\"),\n }),\n );\n vi.spyOn(transactionParserMock, \"extractValue\").mockReturnValueOnce(\n Right([new Uint8Array([0x11, 0x22, 0x33, 0x44])]),\n );\n\n // WHEN\n const task = new ProvideTransactionFieldDescriptionTask(apiMock, {\n field,\n serializedTransaction: new Uint8Array(),\n chainId: 1,\n transactionParser: transactionParserMock,\n contextModule: contextModuleMock,\n transactionEnums: [],\n });\n const result = await task.run();\n\n // THEN\n expect(result.extract()).toEqual(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"getChallenge error\"),\n }),\n );\n });\n\n it(\"when provide reference with a token fails\", async () => {\n // GIVEN\n const payload = `0x01020304`;\n const field: ClearSignContextSuccess<\n Exclude<ClearSignContextSuccessType, ClearSignContextType.ENUM>\n > = {\n type: ClearSignContextType.TRANSACTION_FIELD_DESCRIPTION,\n payload,\n reference: {\n type: ClearSignContextType.TOKEN,\n valuePath: ContainerPath.VALUE,\n },\n };\n // provide reference context\n vi.spyOn(apiMock, \"sendCommand\").mockResolvedValueOnce(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"provide reference error\"),\n }),\n );\n // provide field\n vi.spyOn(apiMock, \"sendCommand\").mockResolvedValueOnce(\n CommandResultFactory({ data: \"ok\" }),\n );\n vi.spyOn(transactionParserMock, \"extractValue\").mockReturnValueOnce(\n Right([new Uint8Array([0x11, 0x22, 0x33, 0x44])]),\n );\n vi.spyOn(contextModuleMock, \"getContext\").mockResolvedValueOnce({\n type: ClearSignContextType.TOKEN,\n payload: \"0x05060708\",\n });\n\n // WHEN\n const task = new ProvideTransactionFieldDescriptionTask(apiMock, {\n field,\n serializedTransaction: new Uint8Array(),\n chainId: 1,\n transactionParser: transactionParserMock,\n contextModule: contextModuleMock,\n transactionEnums: [],\n });\n const result = await task.run();\n\n // THEN\n expect(result.extract()).toEqual(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"provide reference error\"),\n }),\n );\n });\n\n it(\"when provide reference with a trusted name fails\", async () => {\n // GIVEN\n const payload = `0x01020304`;\n const field: ClearSignContextSuccess<\n Exclude<ClearSignContextSuccessType, ClearSignContextType.ENUM>\n > = {\n type: ClearSignContextType.TRUSTED_NAME,\n payload,\n reference: {\n type: ClearSignContextType.TRUSTED_NAME,\n valuePath: ContainerPath.VALUE,\n types: [\"type\"],\n sources: [\"source\"],\n },\n };\n // getChallenge\n vi.spyOn(apiMock, \"sendCommand\").mockResolvedValueOnce(\n CommandResultFactory({ data: \"ok\" }),\n );\n // provide reference context\n vi.spyOn(apiMock, \"sendCommand\").mockResolvedValueOnce(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"provide reference error\"),\n }),\n );\n vi.spyOn(transactionParserMock, \"extractValue\").mockReturnValueOnce(\n Right([new Uint8Array([0x11, 0x22, 0x33, 0x44])]),\n );\n vi.spyOn(contextModuleMock, \"getContext\").mockResolvedValueOnce({\n type: ClearSignContextType.TRUSTED_NAME,\n payload: \"0x05060708\",\n });\n\n // WHEN\n const task = new ProvideTransactionFieldDescriptionTask(apiMock, {\n field,\n serializedTransaction: new Uint8Array(),\n chainId: 1,\n transactionParser: transactionParserMock,\n contextModule: contextModuleMock,\n transactionEnums: [],\n });\n const result = await task.run();\n\n // THEN\n expect(result.extract()).toEqual(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"provide reference error\"),\n }),\n );\n });\n\n it(\"when provide reference with a enum reference fails\", async () => {\n // GIVEN\n const payload = `0x01020304`;\n const field: ClearSignContextSuccess = {\n type: ClearSignContextType.TRANSACTION_FIELD_DESCRIPTION,\n payload,\n reference: {\n type: ClearSignContextType.ENUM,\n valuePath: ContainerPath.VALUE,\n id: 0x42,\n },\n };\n\n vi.spyOn(transactionParserMock, \"extractValue\").mockReturnValueOnce(\n Right([new Uint8Array([0x01, 0x02, 0x03, 0x04])]),\n );\n\n const spy = vi\n .spyOn(apiMock, \"sendCommand\")\n .mockResolvedValueOnce(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"provide reference error\"),\n }),\n )\n .mockResolvedValueOnce(\n CommandResultFactory({\n data: \"ok\",\n }),\n );\n\n // WHEN\n const task = new ProvideTransactionFieldDescriptionTask(apiMock, {\n field,\n serializedTransaction: new Uint8Array(),\n chainId: 1,\n transactionParser: transactionParserMock,\n contextModule: contextModuleMock,\n transactionEnums: [\n {\n id: 0x42,\n value: 0x04,\n type: ClearSignContextType.ENUM,\n payload: \"0x080706\",\n },\n ],\n });\n const result = await task.run();\n\n // THEN\n expect(result.extract()).toEqual(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"provide reference error\"),\n }),\n );\n expect(apiMock.sendCommand).toHaveBeenCalledTimes(1);\n expect(spy.mock.calls[0]![0]).toBeInstanceOf(ProvideEnumCommand);\n });\n });\n});\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["ClearSignContextType", "ContainerPath", "CommandResultFactory", "InvalidStatusWordError", "Left", "Nothing", "Right", "GetChallengeCommand", "ProvideEnumCommand", "ProvideNFTInformationCommand", "ProvideTokenInformationCommand", "ProvideTransactionFieldDescriptionCommand", "ProvideTrustedNameCommand", "ProvideTransactionFieldDescriptionTask", "transactionParserMock", "contextModuleMock", "apiMock", "type", "commandInstanceType", "spy", "field", "result", "payload", "payload1", "payload2", "extractedValue", "extractedValueAddress"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{ByteArrayBuilder as c,isSuccessCommandResult as o,LoadCertificateCommand as d}from"@ledgerhq/device-management-kit";import{DerivationPathUtils as l}from"@ledgerhq/signer-utils";import{Just as s,Nothing as m}from"purify-ts";import{ProvideTransactionInformationCommand as C}from"../../app-binder/command/ProvideTransactionInformationCommand";import{StoreTransactionCommand as p}from"../../app-binder/command/StoreTransactionCommand";import{ProvideTransactionFieldDescriptionTask as u}from"./ProvideTransactionFieldDescriptionTask";import{SendCommandInChunksTask as y}from"./SendCommandInChunksTask";import{SendPayloadInChunksTask as h}from"./SendPayloadInChunksTask";class E{constructor(a,n){this.api=a;this.args=n}async run(){const a=l.splitPath(this.args.derivationPath),n=new c;n.add8BitUIntToData(a.length),a.forEach(t=>{n.add32BitUIntToData(t)}),n.addBufferToData(this.args.serializedTransaction);const e=await new y(this.api,{data:n.build(),commandFactory:t=>new p({serializedTransaction:t.chunkedData,isFirstChunk:t.isFirstChunk})}).run();if(!o(e))return s(e);if(this.args.context.transactionInfoCertificate){const{keyUsageNumber:t,payload:r}=this.args.context.transactionInfoCertificate;await this.api.sendCommand(new d({keyUsage:t,certificate:r}))}const i=await new h(this.api,{payload:this.args.context.transactionInfo,commandFactory:t=>new C({data:t.chunkedData,isFirstChunk:t.isFirstChunk})}).run();if(!o(i))return s(i);for(const t of this.args.context.transactionFields){const r=await new u(this.api,{field:t,serializedTransaction:this.args.serializedTransaction,chainId:this.args.chainId,transactionParser:this.args.transactionParser,contextModule:this.args.contextModule,transactionEnums:this.args.context.transactionEnums}).run();if(r.isJust())return r}return m}}export{E as ProvideTransactionGenericContextTask};
|
|
2
|
+
//# sourceMappingURL=ProvideTransactionGenericContextTask.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../src/internal/app-binder/task/ProvideTransactionGenericContextTask.ts"],
|
|
4
|
+
"sourcesContent": ["import {\n type ClearSignContextSuccess,\n type ClearSignContextSuccessType,\n type ClearSignContextType,\n type ContextModule,\n type PkiCertificate,\n} from \"@ledgerhq/context-module\";\nimport {\n ByteArrayBuilder,\n type CommandErrorResult,\n type InternalApi,\n isSuccessCommandResult,\n LoadCertificateCommand,\n} from \"@ledgerhq/device-management-kit\";\nimport { DerivationPathUtils } from \"@ledgerhq/signer-utils\";\nimport { Just, type Maybe, Nothing } from \"purify-ts\";\n\nimport { ProvideTransactionInformationCommand } from \"@internal/app-binder/command/ProvideTransactionInformationCommand\";\nimport { StoreTransactionCommand } from \"@internal/app-binder/command/StoreTransactionCommand\";\nimport { type EthErrorCodes } from \"@internal/app-binder/command/utils/ethAppErrors\";\nimport { type TransactionParserService } from \"@internal/transaction/service/parser/TransactionParserService\";\n\nimport { ProvideTransactionFieldDescriptionTask } from \"./ProvideTransactionFieldDescriptionTask\";\nimport { SendCommandInChunksTask } from \"./SendCommandInChunksTask\";\nimport { SendPayloadInChunksTask } from \"./SendPayloadInChunksTask\";\n\nexport type GenericContext = {\n readonly transactionInfo: string;\n readonly transactionInfoCertificate: PkiCertificate;\n readonly transactionFields: ClearSignContextSuccess<\n Exclude<ClearSignContextSuccessType, ClearSignContextType.ENUM>\n >[];\n readonly transactionEnums: ClearSignContextSuccess<ClearSignContextType.ENUM>[];\n};\n\nexport type ProvideTransactionGenericContextTaskArgs = {\n readonly contextModule: ContextModule;\n readonly transactionParser: TransactionParserService;\n readonly chainId: number;\n readonly derivationPath: string;\n readonly serializedTransaction: Uint8Array;\n readonly context: GenericContext;\n};\n\nexport type ProvideTransactionGenericContextTaskErrorCodes =\n void | EthErrorCodes;\n\nexport class ProvideTransactionGenericContextTask {\n constructor(\n private api: InternalApi,\n private args: ProvideTransactionGenericContextTaskArgs,\n ) {}\n\n async run(): Promise<\n Maybe<CommandErrorResult<ProvideTransactionGenericContextTaskErrorCodes>>\n > {\n // Store the transaction in the device memory\n const paths = DerivationPathUtils.splitPath(this.args.derivationPath);\n const builder = new ByteArrayBuilder();\n builder.add8BitUIntToData(paths.length);\n paths.forEach((path) => {\n builder.add32BitUIntToData(path);\n });\n builder.addBufferToData(this.args.serializedTransaction);\n const storeTransactionResult = await new SendCommandInChunksTask(this.api, {\n data: builder.build(),\n commandFactory: (args) =>\n new StoreTransactionCommand({\n serializedTransaction: args.chunkedData,\n isFirstChunk: args.isFirstChunk,\n }),\n }).run();\n\n if (!isSuccessCommandResult(storeTransactionResult)) {\n return Just(storeTransactionResult);\n }\n\n if (this.args.context.transactionInfoCertificate) {\n const { keyUsageNumber: keyUsage, payload: certificate } =\n this.args.context.transactionInfoCertificate;\n await this.api.sendCommand(\n new LoadCertificateCommand({\n keyUsage,\n certificate,\n }),\n );\n }\n\n // Provide the transaction information\n const transactionInfoResult = await new SendPayloadInChunksTask(this.api, {\n payload: this.args.context.transactionInfo,\n commandFactory: (args) =>\n new ProvideTransactionInformationCommand({\n data: args.chunkedData,\n isFirstChunk: args.isFirstChunk,\n }),\n }).run();\n\n if (!isSuccessCommandResult(transactionInfoResult)) {\n return Just(transactionInfoResult);\n }\n\n // Provide the transaction field description and according metadata reference\n for (const field of this.args.context.transactionFields) {\n const result = await new ProvideTransactionFieldDescriptionTask(\n this.api,\n {\n field,\n serializedTransaction: this.args.serializedTransaction,\n chainId: this.args.chainId,\n transactionParser: this.args.transactionParser,\n contextModule: this.args.contextModule,\n transactionEnums: this.args.context.transactionEnums,\n },\n ).run();\n\n if (result.isJust()) {\n return result;\n }\n }\n\n return Nothing;\n }\n}\n"],
|
|
5
|
+
"mappings": "AAOA,OACE,oBAAAA,EAGA,0BAAAC,EACA,0BAAAC,MACK,kCACP,OAAS,uBAAAC,MAA2B,yBACpC,OAAS,QAAAC,EAAkB,WAAAC,MAAe,YAE1C,OAAS,wCAAAC,MAA4C,oEACrD,OAAS,2BAAAC,MAA+B,uDAIxC,OAAS,0CAAAC,MAA8C,2CACvD,OAAS,2BAAAC,MAA+B,4BACxC,OAAS,2BAAAC,MAA+B,4BAuBjC,MAAMC,CAAqC,CAChD,YACUC,EACAC,EACR,CAFQ,SAAAD,EACA,UAAAC,CACP,CAEH,MAAM,KAEJ,CAEA,MAAMC,EAAQX,EAAoB,UAAU,KAAK,KAAK,cAAc,EAC9DY,EAAU,IAAIf,EACpBe,EAAQ,kBAAkBD,EAAM,MAAM,EACtCA,EAAM,QAASE,GAAS,CACtBD,EAAQ,mBAAmBC,CAAI,CACjC,CAAC,EACDD,EAAQ,gBAAgB,KAAK,KAAK,qBAAqB,EACvD,MAAME,EAAyB,MAAM,IAAIR,EAAwB,KAAK,IAAK,CACzE,KAAMM,EAAQ,MAAM,EACpB,eAAiBF,GACf,IAAIN,EAAwB,CAC1B,sBAAuBM,EAAK,YAC5B,aAAcA,EAAK,YACrB,CAAC,CACL,CAAC,EAAE,IAAI,EAEP,GAAI,CAACZ,EAAuBgB,CAAsB,EAChD,OAAOb,EAAKa,CAAsB,EAGpC,GAAI,KAAK,KAAK,QAAQ,2BAA4B,CAChD,KAAM,CAAE,eAAgBC,EAAU,QAASC,CAAY,EACrD,KAAK,KAAK,QAAQ,2BACpB,MAAM,KAAK,IAAI,YACb,IAAIjB,EAAuB,CACzB,SAAAgB,EACA,YAAAC,CACF,CAAC,CACH,CACF,CAGA,MAAMC,EAAwB,MAAM,IAAIV,EAAwB,KAAK,IAAK,CACxE,QAAS,KAAK,KAAK,QAAQ,gBAC3B,eAAiBG,GACf,IAAIP,EAAqC,CACvC,KAAMO,EAAK,YACX,aAAcA,EAAK,YACrB,CAAC,CACL,CAAC,EAAE,IAAI,EAEP,GAAI,CAACZ,EAAuBmB,CAAqB,EAC/C,OAAOhB,EAAKgB,CAAqB,EAInC,UAAWC,KAAS,KAAK,KAAK,QAAQ,kBAAmB,CACvD,MAAMC,EAAS,MAAM,IAAId,EACvB,KAAK,IACL,CACE,MAAAa,EACA,sBAAuB,KAAK,KAAK,sBACjC,QAAS,KAAK,KAAK,QACnB,kBAAmB,KAAK,KAAK,kBAC7B,cAAe,KAAK,KAAK,cACzB,iBAAkB,KAAK,KAAK,QAAQ,gBACtC,CACF,EAAE,IAAI,EAEN,GAAIC,EAAO,OAAO,EAChB,OAAOA,CAEX,CAEA,OAAOjB,CACT,CACF",
|
|
6
|
+
"names": ["ByteArrayBuilder", "isSuccessCommandResult", "LoadCertificateCommand", "DerivationPathUtils", "Just", "Nothing", "ProvideTransactionInformationCommand", "StoreTransactionCommand", "ProvideTransactionFieldDescriptionTask", "SendCommandInChunksTask", "SendPayloadInChunksTask", "ProvideTransactionGenericContextTask", "api", "args", "paths", "builder", "path", "storeTransactionResult", "keyUsage", "certificate", "transactionInfoResult", "field", "result"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{CommandResultFactory as e,InvalidStatusWordError as r}from"@ledgerhq/device-management-kit";import{Just as u,Nothing as m}from"purify-ts";import{makeDeviceActionInternalApiMock as S}from"../../app-binder/device-action/__test-utils__/makeInternalApi";import{ProvideTransactionFieldDescriptionTask as i}from"./ProvideTransactionFieldDescriptionTask";import{ProvideTransactionGenericContextTask as a}from"./ProvideTransactionGenericContextTask";import{SendCommandInChunksTask as s}from"./SendCommandInChunksTask";import{SendPayloadInChunksTask as c}from"./SendPayloadInChunksTask";describe("ProvideTransactionGenericContextTask",()=>{const C="44/60'/0'/0'/0/0",v=new Uint8Array([18,52]),d="0x5678",y=[],l=[],x=1,T={},k={},p={keyUsageNumber:0,payload:new Uint8Array([18,52])},t={derivationPath:C,serializedTransaction:v,context:{transactionInfo:d,transactionInfoCertificate:p,transactionFields:y,transactionEnums:l},chainId:x,transactionParser:T,contextModule:k},n=S();describe("run",()=>{beforeEach(()=>{vi.resetAllMocks()}),describe("should return an error",()=>{it("when storeTransactionResult fail",async()=>{vi.spyOn(s.prototype,"run").mockResolvedValue(e({error:new r("storeTransactionError")})),vi.spyOn(n,"sendCommand").mockResolvedValueOnce(e({data:void 0}));const o=await new a(n,t).run();expect(o).toEqual(u(e({error:new r("storeTransactionError")})))}),it("when provideTransactionInformationResult fail",async()=>{vi.spyOn(s.prototype,"run").mockResolvedValue(e({data:"0x1234"})),vi.spyOn(c.prototype,"run").mockResolvedValue(e({error:new r("provideTransactionInformationError")})),vi.spyOn(n,"sendCommand").mockResolvedValueOnce(e({data:void 0}));const o=await new a(n,t).run();expect(o).toEqual(u(e({error:new r("provideTransactionInformationError")})))}),it("when ProvideTransactionGenericContextTask fail",async()=>{vi.spyOn(s.prototype,"run").mockResolvedValue(e({data:"0x1234"})),vi.spyOn(c.prototype,"run").mockResolvedValue(e({data:"0x5678"})),vi.spyOn(i.prototype,"run").mockResolvedValue(u(e({error:new r("provideTransactionGenericContextTaskError")}))),vi.spyOn(n,"sendCommand").mockResolvedValueOnce(e({data:void 0}));const o=await new a(n,{...t,context:{transactionInfo:d,transactionInfoCertificate:p,transactionFields:[{}],transactionEnums:l}}).run();expect(o).toEqual(u(e({error:new r("provideTransactionGenericContextTaskError")})))})}),it("should call ProvideTransactionFieldDescriptionTask for each field",async()=>{const o=["field-1","field-2"];vi.spyOn(s.prototype,"run").mockResolvedValue(e({data:"0x1234"})),vi.spyOn(c.prototype,"run").mockResolvedValue(e({data:"0x5678"})),vi.spyOn(i.prototype,"run").mockResolvedValue(m),vi.spyOn(n,"sendCommand").mockResolvedValueOnce(e({data:void 0})),await new a(n,{...t,context:{transactionInfo:d,transactionInfoCertificate:p,transactionFields:o,transactionEnums:l}}).run(),expect(i.prototype.run).toHaveBeenCalledTimes(2)}),it("should return Nothing when all fields are provided",async()=>{vi.spyOn(s.prototype,"run").mockResolvedValue(e({data:"0x1234"})),vi.spyOn(c.prototype,"run").mockResolvedValue(e({data:"0x5678"})),vi.spyOn(i.prototype,"run").mockResolvedValue(m),vi.spyOn(n,"sendCommand").mockResolvedValueOnce(e({data:void 0}));const o=await new a(n,t).run();expect(o).toEqual(m)}),it("should load the transaction info certificate",async()=>{vi.spyOn(s.prototype,"run").mockResolvedValue(e({data:"0x1234"})),vi.spyOn(c.prototype,"run").mockResolvedValue(e({data:"0x5678"})),vi.spyOn(i.prototype,"run").mockResolvedValue(m),await new a(n,{...t,context:{transactionInfo:d,transactionInfoCertificate:p,transactionFields:y,transactionEnums:l}}).run(),expect(n.sendCommand).toHaveBeenCalledTimes(1)})})});
|
|
2
|
+
//# sourceMappingURL=ProvideTransactionGenericContextTask.test.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../src/internal/app-binder/task/ProvideTransactionGenericContextTask.test.ts"],
|
|
4
|
+
"sourcesContent": ["import {\n type ClearSignContextSuccess,\n type ClearSignContextSuccessType,\n type ClearSignContextType,\n type ContextModule,\n type PkiCertificate,\n} from \"@ledgerhq/context-module\";\nimport {\n type CommandErrorResult,\n CommandResultFactory,\n InvalidStatusWordError,\n} from \"@ledgerhq/device-management-kit\";\nimport { Just, Nothing } from \"purify-ts\";\n\nimport { makeDeviceActionInternalApiMock } from \"@internal/app-binder/device-action/__test-utils__/makeInternalApi\";\nimport { type TransactionParserService } from \"@internal/transaction/service/parser/TransactionParserService\";\n\nimport { ProvideTransactionFieldDescriptionTask } from \"./ProvideTransactionFieldDescriptionTask\";\nimport {\n ProvideTransactionGenericContextTask,\n type ProvideTransactionGenericContextTaskArgs,\n} from \"./ProvideTransactionGenericContextTask\";\nimport { SendCommandInChunksTask } from \"./SendCommandInChunksTask\";\nimport { SendPayloadInChunksTask } from \"./SendPayloadInChunksTask\";\n\ndescribe(\"ProvideTransactionGenericContextTask\", () => {\n const derivationPath = \"44/60'/0'/0'/0/0\";\n const serializedTransaction = new Uint8Array([0x12, 0x34]);\n const transactionInfo = \"0x5678\";\n const transactionFields: ClearSignContextSuccess<\n Exclude<ClearSignContextSuccessType, ClearSignContextType.ENUM>\n >[] = [];\n const transactionEnums: ClearSignContextSuccess<ClearSignContextType.ENUM>[] =\n [];\n const chainId = 1;\n const transactionParser = {} as TransactionParserService;\n const contextModule = {} as ContextModule;\n const transactionInfoCertificate: PkiCertificate = {\n keyUsageNumber: 0,\n payload: new Uint8Array([0x12, 0x34]),\n };\n\n const defaultArgs: ProvideTransactionGenericContextTaskArgs = {\n derivationPath,\n serializedTransaction,\n context: {\n transactionInfo,\n transactionInfoCertificate,\n transactionFields,\n transactionEnums,\n },\n chainId,\n transactionParser,\n contextModule,\n };\n\n const apiMock = makeDeviceActionInternalApiMock();\n\n describe(\"run\", () => {\n beforeEach(() => {\n vi.resetAllMocks();\n });\n\n describe(\"should return an error\", () => {\n it(\"when storeTransactionResult fail\", async () => {\n // GIVEN\n vi.spyOn(SendCommandInChunksTask.prototype, \"run\").mockResolvedValue(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"storeTransactionError\"),\n }),\n );\n // loadCertificateCommand\n vi.spyOn(apiMock, \"sendCommand\").mockResolvedValueOnce(\n CommandResultFactory({\n data: undefined,\n }),\n );\n\n // WHEN\n const result = await new ProvideTransactionGenericContextTask(\n apiMock,\n defaultArgs,\n ).run();\n\n // THEN\n expect(result).toEqual(\n Just(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"storeTransactionError\"),\n }),\n ),\n );\n });\n\n it(\"when provideTransactionInformationResult fail\", async () => {\n // GIVEN\n vi.spyOn(SendCommandInChunksTask.prototype, \"run\").mockResolvedValue(\n CommandResultFactory({\n data: \"0x1234\",\n }),\n );\n vi.spyOn(SendPayloadInChunksTask.prototype, \"run\").mockResolvedValue(\n CommandResultFactory({\n error: new InvalidStatusWordError(\n \"provideTransactionInformationError\",\n ),\n }),\n );\n // loadCertificateCommand\n vi.spyOn(apiMock, \"sendCommand\").mockResolvedValueOnce(\n CommandResultFactory({\n data: undefined,\n }),\n );\n\n // WHEN\n const result = await new ProvideTransactionGenericContextTask(\n apiMock,\n defaultArgs,\n ).run();\n\n // THEN\n expect(result).toEqual(\n Just(\n CommandResultFactory({\n error: new InvalidStatusWordError(\n \"provideTransactionInformationError\",\n ),\n }),\n ),\n );\n });\n\n it(\"when ProvideTransactionGenericContextTask fail\", async () => {\n // GIVEN\n vi.spyOn(SendCommandInChunksTask.prototype, \"run\").mockResolvedValue(\n CommandResultFactory({\n data: \"0x1234\",\n }),\n );\n vi.spyOn(SendPayloadInChunksTask.prototype, \"run\").mockResolvedValue(\n CommandResultFactory({\n data: \"0x5678\",\n }),\n );\n vi.spyOn(\n ProvideTransactionFieldDescriptionTask.prototype,\n \"run\",\n ).mockResolvedValue(\n Just(\n CommandResultFactory({\n error: new InvalidStatusWordError(\n \"provideTransactionGenericContextTaskError\",\n ),\n }) as CommandErrorResult,\n ),\n );\n // loadCertificateCommand\n vi.spyOn(apiMock, \"sendCommand\").mockResolvedValueOnce(\n CommandResultFactory({\n data: undefined,\n }),\n );\n\n // WHEN\n const result = await new ProvideTransactionGenericContextTask(apiMock, {\n ...defaultArgs,\n context: {\n transactionInfo,\n transactionInfoCertificate,\n transactionFields: [\n {} as ClearSignContextSuccess<ClearSignContextType.TRANSACTION_INFO>,\n ],\n transactionEnums,\n },\n }).run();\n\n // THEN\n expect(result).toEqual(\n Just(\n CommandResultFactory({\n error: new InvalidStatusWordError(\n \"provideTransactionGenericContextTaskError\",\n ),\n }),\n ),\n );\n });\n });\n\n it(\"should call ProvideTransactionFieldDescriptionTask for each field\", async () => {\n // GIVEN\n const fields: ClearSignContextSuccess<ClearSignContextType.TRANSACTION_FIELD_DESCRIPTION>[] =\n [\n \"field-1\" as unknown as ClearSignContextSuccess<ClearSignContextType.TRANSACTION_FIELD_DESCRIPTION>,\n \"field-2\" as unknown as ClearSignContextSuccess<ClearSignContextType.TRANSACTION_FIELD_DESCRIPTION>,\n ];\n vi.spyOn(SendCommandInChunksTask.prototype, \"run\").mockResolvedValue(\n CommandResultFactory({\n data: \"0x1234\",\n }),\n );\n vi.spyOn(SendPayloadInChunksTask.prototype, \"run\").mockResolvedValue(\n CommandResultFactory({\n data: \"0x5678\",\n }),\n );\n vi.spyOn(\n ProvideTransactionFieldDescriptionTask.prototype,\n \"run\",\n ).mockResolvedValue(Nothing);\n // loadCertificateCommand\n vi.spyOn(apiMock, \"sendCommand\").mockResolvedValueOnce(\n CommandResultFactory({\n data: undefined,\n }),\n );\n\n // WHEN\n await new ProvideTransactionGenericContextTask(apiMock, {\n ...defaultArgs,\n context: {\n transactionInfo,\n transactionInfoCertificate,\n transactionFields: fields,\n transactionEnums,\n },\n }).run();\n\n // THEN\n expect(\n ProvideTransactionFieldDescriptionTask.prototype.run,\n ).toHaveBeenCalledTimes(2);\n });\n\n it(\"should return Nothing when all fields are provided\", async () => {\n // GIVEN\n vi.spyOn(SendCommandInChunksTask.prototype, \"run\").mockResolvedValue(\n CommandResultFactory({\n data: \"0x1234\",\n }),\n );\n vi.spyOn(SendPayloadInChunksTask.prototype, \"run\").mockResolvedValue(\n CommandResultFactory({\n data: \"0x5678\",\n }),\n );\n vi.spyOn(\n ProvideTransactionFieldDescriptionTask.prototype,\n \"run\",\n ).mockResolvedValue(Nothing);\n // loadCertificateCommand\n vi.spyOn(apiMock, \"sendCommand\").mockResolvedValueOnce(\n CommandResultFactory({\n data: undefined,\n }),\n );\n\n // WHEN\n const result = await new ProvideTransactionGenericContextTask(\n apiMock,\n defaultArgs,\n ).run();\n\n // THEN\n expect(result).toEqual(Nothing);\n });\n\n it(\"should load the transaction info certificate\", async () => {\n // GIVEN\n vi.spyOn(SendCommandInChunksTask.prototype, \"run\").mockResolvedValue(\n CommandResultFactory({\n data: \"0x1234\",\n }),\n );\n vi.spyOn(SendPayloadInChunksTask.prototype, \"run\").mockResolvedValue(\n CommandResultFactory({\n data: \"0x5678\",\n }),\n );\n vi.spyOn(\n ProvideTransactionFieldDescriptionTask.prototype,\n \"run\",\n ).mockResolvedValue(Nothing);\n\n // WHEN\n await new ProvideTransactionGenericContextTask(apiMock, {\n ...defaultArgs,\n context: {\n transactionInfo,\n transactionInfoCertificate,\n transactionFields,\n transactionEnums,\n },\n }).run();\n\n // THEN\n expect(apiMock.sendCommand).toHaveBeenCalledTimes(1);\n });\n });\n});\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["CommandResultFactory", "InvalidStatusWordError", "Just", "Nothing", "makeDeviceActionInternalApiMock", "ProvideTransactionFieldDescriptionTask", "ProvideTransactionGenericContextTask", "SendCommandInChunksTask", "SendPayloadInChunksTask", "derivationPath", "serializedTransaction", "transactionInfo", "transactionFields", "transactionEnums", "chainId", "transactionParser", "contextModule", "transactionInfoCertificate", "defaultArgs", "apiMock", "result", "fields"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{APDU_MAX_PAYLOAD as e,ByteArrayBuilder as d,CommandResultFactory as m,InvalidStatusWordError as i,isSuccessCommandResult as u}from"@ledgerhq/device-management-kit";class h{constructor(t,o){this.api=t;this.args=o}async run(){const{data:t,commandFactory:o}=this.args,n=new d(t.length).addBufferToData(t).build();for(let a=0;a<n.length;a+=e){const s=a+e>=n.length,r=await this.api.sendCommand(o({chunkedData:n.slice(a,a+e),isFirstChunk:a===0}));if(!u(r))return r;if(s)return m({data:r.data})}throw new i("No result")}}export{h as SendCommandInChunksTask};
|
|
2
|
+
//# sourceMappingURL=SendCommandInChunksTask.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../src/internal/app-binder/task/SendCommandInChunksTask.ts"],
|
|
4
|
+
"sourcesContent": ["import {\n APDU_MAX_PAYLOAD,\n ByteArrayBuilder,\n type Command,\n type CommandResult,\n CommandResultFactory,\n type InternalApi,\n InvalidStatusWordError,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { type EthErrorCodes } from \"@internal/app-binder/command/utils/ethAppErrors\";\n\nexport type SendCommandInChunksTaskArgs<T> = {\n data: Uint8Array;\n commandFactory: <V extends ChunkableCommandArgs & Record<string, unknown>>(\n args: ChunkableCommandArgs,\n ) => Command<T, V, EthErrorCodes>;\n};\n\nexport type ChunkableCommandArgs = {\n chunkedData: Uint8Array;\n isFirstChunk: boolean;\n};\n\nexport class SendCommandInChunksTask<T> {\n constructor(\n private api: InternalApi,\n private args: SendCommandInChunksTaskArgs<T>,\n ) {}\n\n async run(): Promise<CommandResult<T, EthErrorCodes>> {\n const { data: payload, commandFactory } = this.args;\n\n const data = new ByteArrayBuilder(payload.length)\n .addBufferToData(payload)\n .build();\n\n for (let i = 0; i < data.length; i += APDU_MAX_PAYLOAD) {\n const isLastChunk = i + APDU_MAX_PAYLOAD >= data.length;\n const result = await this.api.sendCommand(\n commandFactory({\n chunkedData: data.slice(i, i + APDU_MAX_PAYLOAD),\n isFirstChunk: i === 0,\n }),\n );\n\n if (!isSuccessCommandResult(result)) {\n return result;\n }\n\n // return the last result\n if (isLastChunk) {\n return CommandResultFactory({\n data: result.data,\n });\n }\n }\n\n throw new InvalidStatusWordError(\"No result\");\n }\n}\n"],
|
|
5
|
+
"mappings": "AAAA,OACE,oBAAAA,EACA,oBAAAC,EAGA,wBAAAC,EAEA,0BAAAC,EACA,0BAAAC,MACK,kCAgBA,MAAMC,CAA2B,CACtC,YACUC,EACAC,EACR,CAFQ,SAAAD,EACA,UAAAC,CACP,CAEH,MAAM,KAAgD,CACpD,KAAM,CAAE,KAAMC,EAAS,eAAAC,CAAe,EAAI,KAAK,KAEzCC,EAAO,IAAIT,EAAiBO,EAAQ,MAAM,EAC7C,gBAAgBA,CAAO,EACvB,MAAM,EAET,QAASG,EAAI,EAAGA,EAAID,EAAK,OAAQC,GAAKX,EAAkB,CACtD,MAAMY,EAAcD,EAAIX,GAAoBU,EAAK,OAC3CG,EAAS,MAAM,KAAK,IAAI,YAC5BJ,EAAe,CACb,YAAaC,EAAK,MAAMC,EAAGA,EAAIX,CAAgB,EAC/C,aAAcW,IAAM,CACtB,CAAC,CACH,EAEA,GAAI,CAACP,EAAuBS,CAAM,EAChC,OAAOA,EAIT,GAAID,EACF,OAAOV,EAAqB,CAC1B,KAAMW,EAAO,IACf,CAAC,CAEL,CAEA,MAAM,IAAIV,EAAuB,WAAW,CAC9C,CACF",
|
|
6
|
+
"names": ["APDU_MAX_PAYLOAD", "ByteArrayBuilder", "CommandResultFactory", "InvalidStatusWordError", "isSuccessCommandResult", "SendCommandInChunksTask", "api", "args", "payload", "commandFactory", "data", "i", "isLastChunk", "result"]
|
|
7
|
+
}
|
|
@@ -1,38 +1,2 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
export class SendEIP712StructImplemTask {
|
|
4
|
-
api;
|
|
5
|
-
args;
|
|
6
|
-
constructor(api, args) {
|
|
7
|
-
this.api = api;
|
|
8
|
-
this.args = args;
|
|
9
|
-
}
|
|
10
|
-
async run() {
|
|
11
|
-
// No particular operation to perform on root and array implementations.
|
|
12
|
-
if (this.args.type !== StructImplemType.FIELD) {
|
|
13
|
-
return await this.api.sendCommand(new SendEIP712StructImplemCommand(this.args));
|
|
14
|
-
}
|
|
15
|
-
// If the value is a field, we should prepend its size, and chunk it if necessary.
|
|
16
|
-
let result = CommandResultFactory({ data: undefined });
|
|
17
|
-
// Prepend the length to the array, in uint16 big endian encoding
|
|
18
|
-
const buffer = new ByteArrayBuilder(this.args.value.length + 2)
|
|
19
|
-
.add16BitUIntToData(this.args.value.length)
|
|
20
|
-
.addBufferToData(this.args.value)
|
|
21
|
-
.build();
|
|
22
|
-
// Split the buffer into chunks if necessary
|
|
23
|
-
for (let i = 0; i < buffer.length; i += APDU_MAX_PAYLOAD) {
|
|
24
|
-
result = await this.api.sendCommand(new SendEIP712StructImplemCommand({
|
|
25
|
-
type: StructImplemType.FIELD,
|
|
26
|
-
value: {
|
|
27
|
-
data: buffer.slice(i, i + APDU_MAX_PAYLOAD),
|
|
28
|
-
isLastChunk: i >= buffer.length - APDU_MAX_PAYLOAD,
|
|
29
|
-
},
|
|
30
|
-
}));
|
|
31
|
-
if (!isSuccessCommandResult(result)) {
|
|
32
|
-
return result;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
return result;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
//# sourceMappingURL=SendEIP712StructImplemTask.js.map
|
|
1
|
+
import{APDU_MAX_PAYLOAD as a,ByteArrayBuilder as n,CommandResultFactory as i,isSuccessCommandResult as o}from"@ledgerhq/device-management-kit";import{SendEIP712StructImplemCommand as s,StructImplemType as m}from"../../app-binder/command/SendEIP712StructImplemCommand";class d{constructor(t,r){this.api=t;this.args=r}async run(){if(this.args.type!==m.FIELD)return await this.api.sendCommand(new s(this.args));let t=i({data:void 0});const r=new n(this.args.value.length+2).add16BitUIntToData(this.args.value.length).addBufferToData(this.args.value).build();for(let e=0;e<r.length;e+=a)if(t=await this.api.sendCommand(new s({type:m.FIELD,value:{data:r.slice(e,e+a),isLastChunk:e>=r.length-a}})),!o(t))return t;return t}}export{d as SendEIP712StructImplemTask};
|
|
2
|
+
//# sourceMappingURL=SendEIP712StructImplemTask.js.map
|
|
@@ -1 +1,7 @@
|
|
|
1
|
-
{
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../src/internal/app-binder/task/SendEIP712StructImplemTask.ts"],
|
|
4
|
+
"sourcesContent": ["import {\n APDU_MAX_PAYLOAD,\n ByteArrayBuilder,\n type CommandResult,\n CommandResultFactory,\n type InternalApi,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\n\nimport {\n SendEIP712StructImplemCommand,\n StructImplemType,\n} from \"@internal/app-binder/command/SendEIP712StructImplemCommand\";\nimport { type EthErrorCodes } from \"@internal/app-binder/command/utils/ethAppErrors\";\n\nexport type SendEIP712StructImplemTaskArgs =\n | {\n type: StructImplemType.ROOT;\n value: string;\n }\n | {\n type: StructImplemType.ARRAY;\n value: number;\n }\n | {\n type: StructImplemType.FIELD;\n value: Uint8Array;\n };\n\nexport class SendEIP712StructImplemTask {\n constructor(\n private api: InternalApi,\n private args: SendEIP712StructImplemTaskArgs,\n ) {}\n\n async run(): Promise<CommandResult<void, EthErrorCodes>> {\n // No particular operation to perform on root and array implementations.\n if (this.args.type !== StructImplemType.FIELD) {\n return await this.api.sendCommand(\n new SendEIP712StructImplemCommand(this.args),\n );\n }\n\n // If the value is a field, we should prepend its size, and chunk it if necessary.\n\n let result: CommandResult<void, EthErrorCodes> = CommandResultFactory<\n void,\n EthErrorCodes\n >({ data: undefined });\n // Prepend the length to the array, in uint16 big endian encoding\n const buffer = new ByteArrayBuilder(this.args.value.length + 2)\n .add16BitUIntToData(this.args.value.length)\n .addBufferToData(this.args.value)\n .build();\n\n // Split the buffer into chunks if necessary\n for (let i = 0; i < buffer.length; i += APDU_MAX_PAYLOAD) {\n result = await this.api.sendCommand(\n new SendEIP712StructImplemCommand({\n type: StructImplemType.FIELD,\n value: {\n data: buffer.slice(i, i + APDU_MAX_PAYLOAD),\n isLastChunk: i >= buffer.length - APDU_MAX_PAYLOAD,\n },\n }),\n );\n if (!isSuccessCommandResult(result)) {\n return result;\n }\n }\n return result;\n }\n}\n"],
|
|
5
|
+
"mappings": "AAAA,OACE,oBAAAA,EACA,oBAAAC,EAEA,wBAAAC,EAEA,0BAAAC,MACK,kCAEP,OACE,iCAAAC,EACA,oBAAAC,MACK,6DAiBA,MAAMC,CAA2B,CACtC,YACUC,EACAC,EACR,CAFQ,SAAAD,EACA,UAAAC,CACP,CAEH,MAAM,KAAmD,CAEvD,GAAI,KAAK,KAAK,OAASH,EAAiB,MACtC,OAAO,MAAM,KAAK,IAAI,YACpB,IAAID,EAA8B,KAAK,IAAI,CAC7C,EAKF,IAAIK,EAA6CP,EAG/C,CAAE,KAAM,MAAU,CAAC,EAErB,MAAMQ,EAAS,IAAIT,EAAiB,KAAK,KAAK,MAAM,OAAS,CAAC,EAC3D,mBAAmB,KAAK,KAAK,MAAM,MAAM,EACzC,gBAAgB,KAAK,KAAK,KAAK,EAC/B,MAAM,EAGT,QAASU,EAAI,EAAGA,EAAID,EAAO,OAAQC,GAAKX,EAUtC,GATAS,EAAS,MAAM,KAAK,IAAI,YACtB,IAAIL,EAA8B,CAChC,KAAMC,EAAiB,MACvB,MAAO,CACL,KAAMK,EAAO,MAAMC,EAAGA,EAAIX,CAAgB,EAC1C,YAAaW,GAAKD,EAAO,OAASV,CACpC,CACF,CAAC,CACH,EACI,CAACG,EAAuBM,CAAM,EAChC,OAAOA,EAGX,OAAOA,CACT,CACF",
|
|
6
|
+
"names": ["APDU_MAX_PAYLOAD", "ByteArrayBuilder", "CommandResultFactory", "isSuccessCommandResult", "SendEIP712StructImplemCommand", "StructImplemType", "SendEIP712StructImplemTask", "api", "args", "result", "buffer", "i"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{CommandResultFactory as n,UnknownDeviceExchangeError as r}from"@ledgerhq/device-management-kit";import{SendEIP712StructImplemCommand as c,StructImplemType as a}from"../../app-binder/command/SendEIP712StructImplemCommand";import{makeDeviceActionInternalApiMock as o}from"../../app-binder/device-action/__test-utils__/makeInternalApi";import{SendEIP712StructImplemTask as t}from"./SendEIP712StructImplemTask";describe("SendEIP712StructImplemTask",()=>{const x=o();beforeEach(()=>{vi.resetAllMocks()}),it("Should forward root implementations",async()=>{const e={type:a.ROOT,value:"root name"};await new t(x,e).run(),expect(x.sendCommand.mock.calls).toHaveLength(1),expect(x.sendCommand.mock.calls[0][0]).toStrictEqual(new c({type:a.ROOT,value:"root name"}))}),it("Should forward array implementations",async()=>{const e={type:a.ARRAY,value:42};await new t(x,e).run(),expect(x.sendCommand.mock.calls).toHaveLength(1),expect(x.sendCommand.mock.calls[0][0]).toStrictEqual(new c({type:a.ARRAY,value:42}))}),it("Should prepend length to small field implementations",async()=>{const e={type:a.FIELD,value:Uint8Array.from([186,242,18,123,73,252,147,203,202,98,105,250,222,15,127,49,223,76,136,167])};x.sendCommand.mockResolvedValue(n({data:void 0})),await new t(x,e).run(),expect(x.sendCommand.mock.calls).toHaveLength(1),expect(x.sendCommand.mock.calls[0][0]).toStrictEqual(new c({type:a.FIELD,value:{data:Uint8Array.from([0,20,186,242,18,123,73,252,147,203,202,98,105,250,222,15,127,49,223,76,136,167]),isLastChunk:!0}}))}),it("Should prepend length and chunk big field implementations",async()=>{const e={type:a.FIELD,value:Uint8Array.from([150,128,159,144,0,0,0,0,0,0,0,0,0,0,0,0,17,47,7,50,229,158,118,0,118,141,252,53,186,116,75,137,242,53,108,216,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,73,95,148,114,118,116,156,230,70,246,138,200,194,72,66,0,69,203,123,94,189,242,101,127,252,31,173,253,115,207,10,140,222,149,213,11,98,211,223,140,0,0,0,0,0,0,7,0,0,0,0,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0])};x.sendCommand.mockResolvedValue(n({data:void 0})),await new t(x,e).run(),expect(x.sendCommand.mock.calls).toHaveLength(2),expect(x.sendCommand.mock.calls[0][0]).toStrictEqual(new c({type:a.FIELD,value:{data:Uint8Array.from([1,4,150,128,159,144,0,0,0,0,0,0,0,0,0,0,0,0,17,47,7,50,229,158,118,0,118,141,252,53,186,116,75,137,242,53,108,216,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,73,95,148,114,118,116,156,230,70,246,138,200,194,72,66,0,69,203,123,94,189,242,101,127,252,31,173,253,115,207,10,140,222,149,213,11,98,211,223,140,0,0,0,0,0,0,7,0,0,0,0,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),isLastChunk:!1}})),expect(x.sendCommand.mock.calls[1][0]).toStrictEqual(new c({type:a.FIELD,value:{data:Uint8Array.from([0,0,0,0,0,0,0]),isLastChunk:!0}}))}),it("Should fail if the command failed to be sent",async()=>{const e={type:a.ROOT,value:"root name"};x.sendCommand.mockRejectedValueOnce(new Error("error")),await expect(new t(x,e).run()).rejects.toStrictEqual(new Error("error"))}),it("Should fail if a chunked command failed to be sent",async()=>{const e={type:a.FIELD,value:Uint8Array.from([150,128,159,144,0,0,0,0,0,0,0,0,0,0,0,0,17,47,7,50,229,158,118,0,118,141,252,53,186,116,75,137,242,53,108,216,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,73,95,148,114,118,116,156,230,70,246,138,200,194,72,66,0,69,203,123,94,189,242,101,127,252,31,173,253,115,207,10,140,222,149,213,11,98,211,223,140,0,0,0,0,0,0,7,0,0,0,0,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0])};x.sendCommand.mockResolvedValue(n({error:new r("error")})),await expect(new t(x,e).run()).resolves.toStrictEqual(n({error:new r("error")}))})});
|
|
2
|
+
//# sourceMappingURL=SendEIP712StructImplemTask.test.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../src/internal/app-binder/task/SendEIP712StructImplemTask.test.ts"],
|
|
4
|
+
"sourcesContent": ["import {\n CommandResultFactory,\n UnknownDeviceExchangeError,\n} from \"@ledgerhq/device-management-kit\";\n\nimport {\n SendEIP712StructImplemCommand,\n StructImplemType,\n} from \"@internal/app-binder/command/SendEIP712StructImplemCommand\";\nimport { makeDeviceActionInternalApiMock } from \"@internal/app-binder/device-action/__test-utils__/makeInternalApi\";\n\nimport {\n SendEIP712StructImplemTask,\n type SendEIP712StructImplemTaskArgs,\n} from \"./SendEIP712StructImplemTask\";\n\ndescribe(\"SendEIP712StructImplemTask\", () => {\n const apiMock = makeDeviceActionInternalApiMock();\n\n beforeEach(() => {\n vi.resetAllMocks();\n });\n\n it(\"Should forward root implementations\", async () => {\n // GIVEN\n const args: SendEIP712StructImplemTaskArgs = {\n type: StructImplemType.ROOT,\n value: \"root name\",\n };\n // WHEN\n await new SendEIP712StructImplemTask(apiMock, args).run();\n // THEN\n expect(apiMock.sendCommand.mock.calls).toHaveLength(1);\n expect(apiMock.sendCommand.mock.calls[0]![0]).toStrictEqual(\n new SendEIP712StructImplemCommand({\n type: StructImplemType.ROOT,\n value: \"root name\",\n }),\n );\n });\n\n it(\"Should forward array implementations\", async () => {\n // GIVEN\n const args: SendEIP712StructImplemTaskArgs = {\n type: StructImplemType.ARRAY,\n value: 42,\n };\n // WHEN\n await new SendEIP712StructImplemTask(apiMock, args).run();\n // THEN\n expect(apiMock.sendCommand.mock.calls).toHaveLength(1);\n expect(apiMock.sendCommand.mock.calls[0]![0]).toStrictEqual(\n new SendEIP712StructImplemCommand({\n type: StructImplemType.ARRAY,\n value: 42,\n }),\n );\n });\n\n it(\"Should prepend length to small field implementations\", async () => {\n // GIVEN\n const args: SendEIP712StructImplemTaskArgs = {\n type: StructImplemType.FIELD,\n value: Uint8Array.from([\n 0xba, 0xf2, 0x12, 0x7b, 0x49, 0xfc, 0x93, 0xcb, 0xca, 0x62, 0x69, 0xfa,\n 0xde, 0x0f, 0x7f, 0x31, 0xdf, 0x4c, 0x88, 0xa7,\n ]),\n };\n // WHEN\n apiMock.sendCommand.mockResolvedValue(\n CommandResultFactory({ data: undefined }),\n );\n await new SendEIP712StructImplemTask(apiMock, args).run();\n // THEN\n expect(apiMock.sendCommand.mock.calls).toHaveLength(1);\n expect(apiMock.sendCommand.mock.calls[0]![0]).toStrictEqual(\n new SendEIP712StructImplemCommand({\n type: StructImplemType.FIELD,\n value: {\n data: Uint8Array.from([\n 0x00, 0x14, 0xba, 0xf2, 0x12, 0x7b, 0x49, 0xfc, 0x93, 0xcb, 0xca,\n 0x62, 0x69, 0xfa, 0xde, 0x0f, 0x7f, 0x31, 0xdf, 0x4c, 0x88, 0xa7,\n ]),\n isLastChunk: true,\n },\n }),\n );\n });\n\n it(\"Should prepend length and chunk big field implementations\", async () => {\n // GIVEN\n const args: SendEIP712StructImplemTaskArgs = {\n type: StructImplemType.FIELD,\n value: Uint8Array.from([\n 0x96, 0x80, 0x9f, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x11, 0x2f, 0x07, 0x32, 0xe5, 0x9e, 0x76, 0x00,\n 0x76, 0x8d, 0xfc, 0x35, 0xba, 0x74, 0x4b, 0x89, 0xf2, 0x35, 0x6c, 0xd8,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x5f, 0x94, 0x72,\n 0x76, 0x74, 0x9c, 0xe6, 0x46, 0xf6, 0x8a, 0xc8, 0xc2, 0x48, 0x42, 0x00,\n 0x45, 0xcb, 0x7b, 0x5e, 0xbd, 0xf2, 0x65, 0x7f, 0xfc, 0x1f, 0xad, 0xfd,\n 0x73, 0xcf, 0x0a, 0x8c, 0xde, 0x95, 0xd5, 0x0b, 0x62, 0xd3, 0xdf, 0x8c,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x32,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n ]),\n };\n // WHEN\n apiMock.sendCommand.mockResolvedValue(\n CommandResultFactory({ data: undefined }),\n );\n await new SendEIP712StructImplemTask(apiMock, args).run();\n // THEN\n expect(apiMock.sendCommand.mock.calls).toHaveLength(2);\n expect(apiMock.sendCommand.mock.calls[0]![0]).toStrictEqual(\n new SendEIP712StructImplemCommand({\n type: StructImplemType.FIELD,\n value: {\n data: Uint8Array.from([\n 0x01, 0x04, 0x96, 0x80, 0x9f, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x2f, 0x07, 0x32,\n 0xe5, 0x9e, 0x76, 0x00, 0x76, 0x8d, 0xfc, 0x35, 0xba, 0x74, 0x4b,\n 0x89, 0xf2, 0x35, 0x6c, 0xd8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x5f, 0x94, 0x72, 0x76, 0x74,\n 0x9c, 0xe6, 0x46, 0xf6, 0x8a, 0xc8, 0xc2, 0x48, 0x42, 0x00, 0x45,\n 0xcb, 0x7b, 0x5e, 0xbd, 0xf2, 0x65, 0x7f, 0xfc, 0x1f, 0xad, 0xfd,\n 0x73, 0xcf, 0x0a, 0x8c, 0xde, 0x95, 0xd5, 0x0b, 0x62, 0xd3, 0xdf,\n 0x8c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00,\n 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00,\n ]),\n isLastChunk: false,\n },\n }),\n );\n expect(apiMock.sendCommand.mock.calls[1]![0]).toStrictEqual(\n new SendEIP712StructImplemCommand({\n type: StructImplemType.FIELD,\n value: {\n data: Uint8Array.from([0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]),\n isLastChunk: true,\n },\n }),\n );\n });\n\n it(\"Should fail if the command failed to be sent\", async () => {\n // GIVEN\n const args: SendEIP712StructImplemTaskArgs = {\n type: StructImplemType.ROOT,\n value: \"root name\",\n };\n // WHEN\n apiMock.sendCommand.mockRejectedValueOnce(new Error(\"error\"));\n // THEN\n await expect(\n new SendEIP712StructImplemTask(apiMock, args).run(),\n ).rejects.toStrictEqual(new Error(\"error\"));\n });\n\n it(\"Should fail if a chunked command failed to be sent\", async () => {\n // GIVEN\n const args: SendEIP712StructImplemTaskArgs = {\n type: StructImplemType.FIELD,\n value: Uint8Array.from([\n 0x96, 0x80, 0x9f, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x11, 0x2f, 0x07, 0x32, 0xe5, 0x9e, 0x76, 0x00,\n 0x76, 0x8d, 0xfc, 0x35, 0xba, 0x74, 0x4b, 0x89, 0xf2, 0x35, 0x6c, 0xd8,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x5f, 0x94, 0x72,\n 0x76, 0x74, 0x9c, 0xe6, 0x46, 0xf6, 0x8a, 0xc8, 0xc2, 0x48, 0x42, 0x00,\n 0x45, 0xcb, 0x7b, 0x5e, 0xbd, 0xf2, 0x65, 0x7f, 0xfc, 0x1f, 0xad, 0xfd,\n 0x73, 0xcf, 0x0a, 0x8c, 0xde, 0x95, 0xd5, 0x0b, 0x62, 0xd3, 0xdf, 0x8c,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x32,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n ]),\n };\n // WHEN\n apiMock.sendCommand.mockResolvedValue(\n CommandResultFactory({\n error: new UnknownDeviceExchangeError(\"error\"),\n }),\n );\n // THEN\n await expect(\n new SendEIP712StructImplemTask(apiMock, args).run(),\n ).resolves.toStrictEqual(\n CommandResultFactory({ error: new UnknownDeviceExchangeError(\"error\") }),\n );\n });\n});\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["CommandResultFactory", "UnknownDeviceExchangeError", "SendEIP712StructImplemCommand", "StructImplemType", "makeDeviceActionInternalApiMock", "SendEIP712StructImplemTask", "apiMock", "args"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{CommandResultFactory as r,InvalidStatusWordError as n}from"@ledgerhq/device-management-kit";import{PayloadUtils as o}from"../../shared/utils/PayloadUtils";import{SendCommandInChunksTask as t}from"./SendCommandInChunksTask";class p{constructor(a,d){this.api=a;this.args=d}async run(){const a=o.getBufferFromPayload(this.args.payload);return a?new t(this.api,{data:a,commandFactory:this.args.commandFactory}).run():r({error:new n("Invalid payload")})}}export{p as SendPayloadInChunksTask};
|
|
2
|
+
//# sourceMappingURL=SendPayloadInChunksTask.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../src/internal/app-binder/task/SendPayloadInChunksTask.ts"],
|
|
4
|
+
"sourcesContent": ["import {\n type CommandResult,\n CommandResultFactory,\n type InternalApi,\n InvalidStatusWordError,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { type EthErrorCodes } from \"@internal/app-binder/command/utils/ethAppErrors\";\nimport { PayloadUtils } from \"@internal/shared/utils/PayloadUtils\";\n\nimport {\n SendCommandInChunksTask,\n type SendCommandInChunksTaskArgs,\n} from \"./SendCommandInChunksTask\";\n\ntype SendPayloadInChunksTaskArgs<T> = {\n payload: string;\n commandFactory: SendCommandInChunksTaskArgs<T>[\"commandFactory\"];\n};\n\nexport class SendPayloadInChunksTask<T> {\n constructor(\n private api: InternalApi,\n private args: SendPayloadInChunksTaskArgs<T>,\n ) {}\n async run(): Promise<CommandResult<T, EthErrorCodes>> {\n const data = PayloadUtils.getBufferFromPayload(this.args.payload);\n\n if (!data) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\"Invalid payload\"),\n });\n }\n\n return new SendCommandInChunksTask(this.api, {\n data,\n commandFactory: this.args.commandFactory,\n }).run();\n }\n}\n"],
|
|
5
|
+
"mappings": "AAAA,OAEE,wBAAAA,EAEA,0BAAAC,MACK,kCAGP,OAAS,gBAAAC,MAAoB,sCAE7B,OACE,2BAAAC,MAEK,4BAOA,MAAMC,CAA2B,CACtC,YACUC,EACAC,EACR,CAFQ,SAAAD,EACA,UAAAC,CACP,CACH,MAAM,KAAgD,CACpD,MAAMC,EAAOL,EAAa,qBAAqB,KAAK,KAAK,OAAO,EAEhE,OAAKK,EAME,IAAIJ,EAAwB,KAAK,IAAK,CAC3C,KAAAI,EACA,eAAgB,KAAK,KAAK,cAC5B,CAAC,EAAE,IAAI,EAREP,EAAqB,CAC1B,MAAO,IAAIC,EAAuB,iBAAiB,CACrD,CAAC,CAOL,CACF",
|
|
6
|
+
"names": ["CommandResultFactory", "InvalidStatusWordError", "PayloadUtils", "SendCommandInChunksTask", "SendPayloadInChunksTask", "api", "args", "data"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{CommandResultFactory as o,InvalidStatusWordError as e}from"@ledgerhq/device-management-kit";import{SendCommandInChunksTask as t}from"./SendCommandInChunksTask";import{SendPayloadInChunksTask as r}from"./SendPayloadInChunksTask";vi.mock("./SendCommandInChunksTask");describe("SendPayloadInChunksTask",()=>{describe("run",()=>{beforeAll(()=>{vi.resetAllMocks()}),it("should return a CommandResult",async()=>{const a="0x1234";vi.spyOn(t.prototype,"run").mockResolvedValue(o({data:"0x5678"}));const n=await new r({},{payload:a,commandFactory:vi.fn()}).run();expect(n).toEqual(o({data:"0x5678"}))}),it("should return an error CommandResult",async()=>{const a="invalid-payload",n=await new r({},{payload:a,commandFactory:vi.fn()}).run();expect(n).toEqual(o({error:new e("Invalid payload")}))})})});
|
|
2
|
+
//# sourceMappingURL=SendPayloadInChunksTask.test.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../src/internal/app-binder/task/SendPayloadInChunksTask.test.ts"],
|
|
4
|
+
"sourcesContent": ["import {\n CommandResultFactory,\n type InternalApi,\n InvalidStatusWordError,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { SendCommandInChunksTask } from \"./SendCommandInChunksTask\";\nimport { SendPayloadInChunksTask } from \"./SendPayloadInChunksTask\";\n\n// mock SendCommandInChunksTask\nvi.mock(\"./SendCommandInChunksTask\");\n\ndescribe(\"SendPayloadInChunksTask\", () => {\n describe(\"run\", () => {\n beforeAll(() => {\n vi.resetAllMocks();\n });\n\n it(\"should return a CommandResult\", async () => {\n // GIVEN\n const payload = \"0x1234\";\n vi.spyOn(SendCommandInChunksTask.prototype, \"run\").mockResolvedValue(\n CommandResultFactory({ data: \"0x5678\" }),\n );\n\n // WHEN\n const result = await new SendPayloadInChunksTask({} as InternalApi, {\n payload,\n commandFactory: vi.fn(),\n }).run();\n\n // THEN\n expect(result).toEqual(CommandResultFactory({ data: \"0x5678\" }));\n });\n\n it(\"should return an error CommandResult\", async () => {\n // GIVEN\n const payload = \"invalid-payload\";\n\n // WHEN\n const result = await new SendPayloadInChunksTask({} as InternalApi, {\n payload,\n commandFactory: vi.fn(),\n }).run();\n\n // THEN\n expect(result).toEqual(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"Invalid payload\"),\n }),\n );\n });\n });\n});\n"],
|
|
5
|
+
"mappings": "AAAA,OACE,wBAAAA,EAEA,0BAAAC,MACK,kCAEP,OAAS,2BAAAC,MAA+B,4BACxC,OAAS,2BAAAC,MAA+B,4BAGxC,GAAG,KAAK,2BAA2B,EAEnC,SAAS,0BAA2B,IAAM,CACxC,SAAS,MAAO,IAAM,CACpB,UAAU,IAAM,CACd,GAAG,cAAc,CACnB,CAAC,EAED,GAAG,gCAAiC,SAAY,CAE9C,MAAMC,EAAU,SAChB,GAAG,MAAMF,EAAwB,UAAW,KAAK,EAAE,kBACjDF,EAAqB,CAAE,KAAM,QAAS,CAAC,CACzC,EAGA,MAAMK,EAAS,MAAM,IAAIF,EAAwB,CAAC,EAAkB,CAClE,QAAAC,EACA,eAAgB,GAAG,GAAG,CACxB,CAAC,EAAE,IAAI,EAGP,OAAOC,CAAM,EAAE,QAAQL,EAAqB,CAAE,KAAM,QAAS,CAAC,CAAC,CACjE,CAAC,EAED,GAAG,uCAAwC,SAAY,CAErD,MAAMI,EAAU,kBAGVC,EAAS,MAAM,IAAIF,EAAwB,CAAC,EAAkB,CAClE,QAAAC,EACA,eAAgB,GAAG,GAAG,CACxB,CAAC,EAAE,IAAI,EAGP,OAAOC,CAAM,EAAE,QACbL,EAAqB,CACnB,MAAO,IAAIC,EAAuB,iBAAiB,CACrD,CAAC,CACH,CACF,CAAC,CACH,CAAC,CACH,CAAC",
|
|
6
|
+
"names": ["CommandResultFactory", "InvalidStatusWordError", "SendCommandInChunksTask", "SendPayloadInChunksTask", "payload", "result"]
|
|
7
|
+
}
|
|
@@ -1,49 +1,2 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
import { SignPersonalMessageCommand, } from "../../app-binder/command/SignPersonalMessageCommand";
|
|
4
|
-
import { DerivationPathUtils } from "../../shared/utils/DerivationPathUtils";
|
|
5
|
-
const PATH_SIZE = 4;
|
|
6
|
-
export class SendSignPersonalMessageTask {
|
|
7
|
-
api;
|
|
8
|
-
args;
|
|
9
|
-
constructor(api, args) {
|
|
10
|
-
this.api = api;
|
|
11
|
-
this.args = args;
|
|
12
|
-
}
|
|
13
|
-
async run() {
|
|
14
|
-
const { derivationPath, message } = this.args;
|
|
15
|
-
const paths = DerivationPathUtils.splitPath(derivationPath);
|
|
16
|
-
const builder = new ByteArrayBuilder(message.length + 1 + (paths.length + 1) * PATH_SIZE);
|
|
17
|
-
// add the derivation paths length
|
|
18
|
-
builder.add8BitUIntToData(paths.length);
|
|
19
|
-
// add every derivation path
|
|
20
|
-
paths.forEach((path) => {
|
|
21
|
-
builder.add32BitUIntToData(path);
|
|
22
|
-
});
|
|
23
|
-
// add message length
|
|
24
|
-
builder.add32BitUIntToData(message.length);
|
|
25
|
-
// add the message
|
|
26
|
-
builder.addAsciiStringToData(message);
|
|
27
|
-
const buffer = builder.build();
|
|
28
|
-
let result = CommandResultFactory({ data: Nothing });
|
|
29
|
-
// Split the buffer into chunks
|
|
30
|
-
for (let i = 0; i < buffer.length; i += APDU_MAX_PAYLOAD) {
|
|
31
|
-
result = await this.api.sendCommand(new SignPersonalMessageCommand({
|
|
32
|
-
data: buffer.slice(i, i + APDU_MAX_PAYLOAD),
|
|
33
|
-
isFirstChunk: i === 0,
|
|
34
|
-
}));
|
|
35
|
-
if (!isSuccessCommandResult(result)) {
|
|
36
|
-
return result;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
if (isSuccessCommandResult(result) && result.data.isJust()) {
|
|
40
|
-
return CommandResultFactory({
|
|
41
|
-
data: result.data.extract(),
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
return CommandResultFactory({
|
|
45
|
-
error: new InvalidStatusWordError("no signature returned"),
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
//# sourceMappingURL=SendSignPersonalMessageTask.js.map
|
|
1
|
+
import{ByteArrayBuilder as d,CommandResultFactory as o,InvalidStatusWordError as m,isSuccessCommandResult as g}from"@ledgerhq/device-management-kit";import{DerivationPathUtils as l}from"@ledgerhq/signer-utils";import{SignPersonalMessageCommand as u}from"../../app-binder/command/SignPersonalMessageCommand";import{SendCommandInChunksTask as p}from"./SendCommandInChunksTask";const c=4;class P{constructor(s,t){this.api=s;this.args=t}async run(){const{derivationPath:s,message:t}=this.args,r=l.splitPath(s),a=new d(t.length+1+(r.length+1)*c);a.add8BitUIntToData(r.length),r.forEach(e=>{a.add32BitUIntToData(e)}),a.add32BitUIntToData(t.length),typeof t=="string"?a.addAsciiStringToData(t):a.addBufferToData(t);const i=a.build(),n=await new p(this.api,{data:i,commandFactory:e=>new u({data:e.chunkedData,isFirstChunk:e.isFirstChunk})}).run();return g(n)?n.data.mapOrDefault(e=>o({data:e}),o({error:new m("no signature returned")})):n}}export{P as SendSignPersonalMessageTask};
|
|
2
|
+
//# sourceMappingURL=SendSignPersonalMessageTask.js.map
|
|
@@ -1 +1,7 @@
|
|
|
1
|
-
{
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../src/internal/app-binder/task/SendSignPersonalMessageTask.ts"],
|
|
4
|
+
"sourcesContent": ["import {\n ByteArrayBuilder,\n type CommandResult,\n CommandResultFactory,\n type InternalApi,\n InvalidStatusWordError,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\nimport { DerivationPathUtils } from \"@ledgerhq/signer-utils\";\n\nimport { type Signature } from \"@api/model/Signature\";\nimport {\n SignPersonalMessageCommand,\n type SignPersonalMessageCommandResponse,\n} from \"@internal/app-binder/command/SignPersonalMessageCommand\";\nimport { type EthErrorCodes } from \"@internal/app-binder/command/utils/ethAppErrors\";\n\nimport { SendCommandInChunksTask } from \"./SendCommandInChunksTask\";\n\nconst PATH_SIZE = 4;\n\ntype SendSignPersonalMessageTaskArgs = {\n derivationPath: string;\n message: string | Uint8Array;\n};\n\nexport class SendSignPersonalMessageTask {\n constructor(\n private api: InternalApi,\n private args: SendSignPersonalMessageTaskArgs,\n ) {}\n\n async run(): Promise<CommandResult<Signature, EthErrorCodes>> {\n const { derivationPath, message } = this.args;\n const paths = DerivationPathUtils.splitPath(derivationPath);\n\n const builder = new ByteArrayBuilder(\n message.length + 1 + (paths.length + 1) * PATH_SIZE,\n );\n // add the derivation paths length\n builder.add8BitUIntToData(paths.length);\n // add every derivation path\n paths.forEach((path) => {\n builder.add32BitUIntToData(path);\n });\n // add message length\n builder.add32BitUIntToData(message.length);\n // add the message\n if (typeof message === \"string\") {\n builder.addAsciiStringToData(message);\n } else {\n builder.addBufferToData(message);\n }\n\n const buffer = builder.build();\n\n const result =\n await new SendCommandInChunksTask<SignPersonalMessageCommandResponse>(\n this.api,\n {\n data: buffer,\n commandFactory: (args) =>\n new SignPersonalMessageCommand({\n data: args.chunkedData,\n isFirstChunk: args.isFirstChunk,\n }),\n },\n ).run();\n\n if (!isSuccessCommandResult(result)) {\n return result;\n }\n\n return result.data.mapOrDefault(\n (data) => CommandResultFactory({ data }),\n CommandResultFactory({\n error: new InvalidStatusWordError(\"no signature returned\"),\n }),\n );\n }\n}\n"],
|
|
5
|
+
"mappings": "AAAA,OACE,oBAAAA,EAEA,wBAAAC,EAEA,0BAAAC,EACA,0BAAAC,MACK,kCACP,OAAS,uBAAAC,MAA2B,yBAGpC,OACE,8BAAAC,MAEK,0DAGP,OAAS,2BAAAC,MAA+B,4BAExC,MAAMC,EAAY,EAOX,MAAMC,CAA4B,CACvC,YACUC,EACAC,EACR,CAFQ,SAAAD,EACA,UAAAC,CACP,CAEH,MAAM,KAAwD,CAC5D,KAAM,CAAE,eAAAC,EAAgB,QAAAC,CAAQ,EAAI,KAAK,KACnCC,EAAQT,EAAoB,UAAUO,CAAc,EAEpDG,EAAU,IAAId,EAClBY,EAAQ,OAAS,GAAKC,EAAM,OAAS,GAAKN,CAC5C,EAEAO,EAAQ,kBAAkBD,EAAM,MAAM,EAEtCA,EAAM,QAASE,GAAS,CACtBD,EAAQ,mBAAmBC,CAAI,CACjC,CAAC,EAEDD,EAAQ,mBAAmBF,EAAQ,MAAM,EAErC,OAAOA,GAAY,SACrBE,EAAQ,qBAAqBF,CAAO,EAEpCE,EAAQ,gBAAgBF,CAAO,EAGjC,MAAMI,EAASF,EAAQ,MAAM,EAEvBG,EACJ,MAAM,IAAIX,EACR,KAAK,IACL,CACE,KAAMU,EACN,eAAiBN,GACf,IAAIL,EAA2B,CAC7B,KAAMK,EAAK,YACX,aAAcA,EAAK,YACrB,CAAC,CACL,CACF,EAAE,IAAI,EAER,OAAKP,EAAuBc,CAAM,EAI3BA,EAAO,KAAK,aAChBC,GAASjB,EAAqB,CAAE,KAAAiB,CAAK,CAAC,EACvCjB,EAAqB,CACnB,MAAO,IAAIC,EAAuB,uBAAuB,CAC3D,CAAC,CACH,EARSe,CASX,CACF",
|
|
6
|
+
"names": ["ByteArrayBuilder", "CommandResultFactory", "InvalidStatusWordError", "isSuccessCommandResult", "DerivationPathUtils", "SignPersonalMessageCommand", "SendCommandInChunksTask", "PATH_SIZE", "SendSignPersonalMessageTask", "api", "args", "derivationPath", "message", "paths", "builder", "path", "buffer", "result", "data"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{CommandResultFactory as t}from"@ledgerhq/device-management-kit";import{InvalidStatusWordError as d}from"@ledgerhq/device-management-kit";import{Just as u,Nothing as f}from"purify-ts";import{SignPersonalMessageCommand as s}from"../../app-binder/command/SignPersonalMessageCommand";import{makeDeviceActionInternalApiMock as p}from"../../app-binder/device-action/__test-utils__/makeInternalApi";import{SendSignPersonalMessageTask as n}from"./SendSignPersonalMessageTask";const i="Hello, World!",g=new Uint8Array([72,101,108,108,111,44,32,87,111,114,108,100,33]),m=new Uint8Array([5,128,0,0,44,128,0,0,60,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,72,101,108,108,111,44,32,87,111,114,108,100,33]),E="Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",l=new Uint8Array([5,128,0,0,44,128,0,0,60,128,0,0,0,0,0,0,0,0,0,0,0,0,0,1,189,76,111,114,101,109,32,105,112,115,117,109,32,100,111,108,111,114,32,115,105,116,32,97,109,101,116,44,32,99,111,110,115,101,99,116,101,116,117,114,32,97,100,105,112,105,115,99,105,110,103,32,101,108,105,116,44,32,115,101,100,32,100,111,32,101,105,117,115,109,111,100,32,116,101,109,112,111,114,32,105,110,99,105,100,105,100,117,110,116,32,117,116,32,108,97,98,111,114,101,32,101,116,32,100,111,108,111,114,101,32,109,97,103,110,97,32,97,108,105,113,117,97,46,32,85,116,32,101,110,105,109,32,97,100,32,109,105,110,105,109,32,118,101,110,105,97,109,44,32,113,117,105,115,32,110,111,115,116,114,117,100,32,101,120,101,114,99,105,116,97,116,105,111,110,32,117,108,108,97,109,99,111,32,108,97,98,111,114,105,115,32,110,105,115,105,32,117,116,32,97,108,105,113,117,105,112,32,101,120,32,101,97,32,99,111,109,109,111,100,111,32,99,111,110,115,101,113,117,97,116,46,32,68,117,105,115,32,97,117,116,101,32,105,114,117,114,101,32,100,111,108,111,114,32,105,110,32,114,101,112,114,101,104,101,110,100,101,114,105,116,32,105,110,32,118,111,108,117,112,116,97,116,101,32,118,101,108,105,116,32,101,115,115,101,32,99,105,108,108,117,109,32,100,111,108,111,114,101,32,101,117,32,102,117,103,105,97,116,32,110,117,108,108,97,32,112,97,114,105,97,116,117,114,46,32,69,120,99,101,112,116,101,117,114,32,115,105,110,116,32,111,99,99,97,101,99,97,116,32,99,117,112,105,100,97,116,97,116,32,110,111,110,32,112,114,111,105,100,101,110,116,44,32,115,117,110,116,32,105,110,32,99,117,108,112,97,32,113,117,105,32,111,102,102,105,99,105,97,32,100,101,115,101,114,117,110,116,32,109,111,108,108,105,116,32,97,110,105,109,32,105,100,32,101,115,116,32,108,97,98,111,114,117,109,46]);describe("SendSignPersonalMessageTask",()=>{const x=p(),c={v:27,r:"0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef",s:"0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"},r=t({data:u(c)}),o=t({data:f});beforeEach(()=>{vi.resetAllMocks()}),describe("run",()=>{it("should send the message in chunks",async()=>{const e={derivationPath:"44'/60'/0'/0/0",message:i};x.sendCommand.mockResolvedValueOnce(r),x.sendCommand.mockResolvedValueOnce(o);const a=await new n(x,e).run();expect(x.sendCommand.mock.calls).toHaveLength(1),expect(x.sendCommand.mock.calls[0][0]).toStrictEqual(new s({data:new Uint8Array(m),isFirstChunk:!0})),expect(a.data).toStrictEqual(c)}),it("should send the message as byte arrays",async()=>{const e={derivationPath:"44'/60'/0'/0/0",message:g};x.sendCommand.mockResolvedValueOnce(r),x.sendCommand.mockResolvedValueOnce(o);const a=await new n(x,e).run();expect(x.sendCommand.mock.calls).toHaveLength(1),expect(x.sendCommand.mock.calls[0][0]).toStrictEqual(new s({data:new Uint8Array(m),isFirstChunk:!0})),expect(a.data).toStrictEqual(c)}),it("should send the long message in chunks",async()=>{const e={derivationPath:"44'/60'/0'/0/0",message:E};x.sendCommand.mockResolvedValueOnce(o),x.sendCommand.mockResolvedValueOnce(r);const a=await new n(x,e).run();expect(x.sendCommand.mock.calls).toHaveLength(2),expect(x.sendCommand.mock.calls[0][0]).toStrictEqual(new s({data:l.slice(0,255),isFirstChunk:!0})),expect(x.sendCommand.mock.calls[1][0]).toStrictEqual(new s({data:l.slice(255,510),isFirstChunk:!1})),expect(a.data).toStrictEqual(c)}),it("should return an error if the command fails",async()=>{const e={derivationPath:"44'/60'/0'/0/0",message:i};x.sendCommand.mockResolvedValueOnce(t({error:new d("An error")}));const a=await new n(x,e).run();expect(a).toStrictEqual(t({error:new d("An error")}))}),it("should return an error if the command returns no data",async()=>{const e={derivationPath:"44'/60'/0'/0/0",message:i};x.sendCommand.mockResolvedValueOnce(o);const a=await new n(x,e).run();expect(a).toStrictEqual(t({error:new d("no signature returned")}))})})});
|
|
2
|
+
//# sourceMappingURL=SendSignPersonalMessageTask.test.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../src/internal/app-binder/task/SendSignPersonalMessageTask.test.ts"],
|
|
4
|
+
"sourcesContent": ["import { CommandResultFactory } from \"@ledgerhq/device-management-kit\";\nimport { InvalidStatusWordError } from \"@ledgerhq/device-management-kit\";\nimport { Just, Nothing } from \"purify-ts\";\n\nimport { SignPersonalMessageCommand } from \"@internal/app-binder/command/SignPersonalMessageCommand\";\nimport { makeDeviceActionInternalApiMock } from \"@internal/app-binder/device-action/__test-utils__/makeInternalApi\";\n\nimport { SendSignPersonalMessageTask } from \"./SendSignPersonalMessageTask\";\n\nconst SEND_MESSAGE_HELLO_WORLD = \"Hello, World!\";\nconst SEND_MESSAGE_HELLO_WORLD_BYTES = new Uint8Array([\n 0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x2c, 0x20, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x21,\n]);\nconst SEND_MESSAGE_HELLO_WORLD_DATA = new Uint8Array([\n 0x05, 0x80, 0x00, 0x00, 0x2c, 0x80, 0x00, 0x00, 0x3c, 0x80, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x48,\n 0x65, 0x6c, 0x6c, 0x6f, 0x2c, 0x20, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x21,\n]);\n\nconst MESSAGE_LONG =\n \"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\";\nconst MESSAGE_LONG_DATA = new Uint8Array([\n 0x05, 0x80, 0x00, 0x00, 0x2c, 0x80, 0x00, 0x00, 0x3c, 0x80, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xbd, 0x4c,\n 0x6f, 0x72, 0x65, 0x6d, 0x20, 0x69, 0x70, 0x73, 0x75, 0x6d, 0x20, 0x64, 0x6f,\n 0x6c, 0x6f, 0x72, 0x20, 0x73, 0x69, 0x74, 0x20, 0x61, 0x6d, 0x65, 0x74, 0x2c,\n 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x74, 0x65, 0x74, 0x75, 0x72, 0x20,\n 0x61, 0x64, 0x69, 0x70, 0x69, 0x73, 0x63, 0x69, 0x6e, 0x67, 0x20, 0x65, 0x6c,\n 0x69, 0x74, 0x2c, 0x20, 0x73, 0x65, 0x64, 0x20, 0x64, 0x6f, 0x20, 0x65, 0x69,\n 0x75, 0x73, 0x6d, 0x6f, 0x64, 0x20, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x20,\n 0x69, 0x6e, 0x63, 0x69, 0x64, 0x69, 0x64, 0x75, 0x6e, 0x74, 0x20, 0x75, 0x74,\n 0x20, 0x6c, 0x61, 0x62, 0x6f, 0x72, 0x65, 0x20, 0x65, 0x74, 0x20, 0x64, 0x6f,\n 0x6c, 0x6f, 0x72, 0x65, 0x20, 0x6d, 0x61, 0x67, 0x6e, 0x61, 0x20, 0x61, 0x6c,\n 0x69, 0x71, 0x75, 0x61, 0x2e, 0x20, 0x55, 0x74, 0x20, 0x65, 0x6e, 0x69, 0x6d,\n 0x20, 0x61, 0x64, 0x20, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x20, 0x76, 0x65, 0x6e,\n 0x69, 0x61, 0x6d, 0x2c, 0x20, 0x71, 0x75, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x73,\n 0x74, 0x72, 0x75, 0x64, 0x20, 0x65, 0x78, 0x65, 0x72, 0x63, 0x69, 0x74, 0x61,\n 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x75, 0x6c, 0x6c, 0x61, 0x6d, 0x63, 0x6f, 0x20,\n 0x6c, 0x61, 0x62, 0x6f, 0x72, 0x69, 0x73, 0x20, 0x6e, 0x69, 0x73, 0x69, 0x20,\n 0x75, 0x74, 0x20, 0x61, 0x6c, 0x69, 0x71, 0x75, 0x69, 0x70, 0x20, 0x65, 0x78,\n 0x20, 0x65, 0x61, 0x20, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x64, 0x6f, 0x20, 0x63,\n 0x6f, 0x6e, 0x73, 0x65, 0x71, 0x75, 0x61, 0x74, 0x2e, 0x20, 0x44, 0x75, 0x69,\n 0x73, 0x20, 0x61, 0x75, 0x74, 0x65, 0x20, 0x69, 0x72, 0x75, 0x72, 0x65, 0x20,\n 0x64, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x69, 0x6e, 0x20, 0x72, 0x65, 0x70, 0x72,\n 0x65, 0x68, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x69, 0x74, 0x20, 0x69, 0x6e, 0x20,\n 0x76, 0x6f, 0x6c, 0x75, 0x70, 0x74, 0x61, 0x74, 0x65, 0x20, 0x76, 0x65, 0x6c,\n 0x69, 0x74, 0x20, 0x65, 0x73, 0x73, 0x65, 0x20, 0x63, 0x69, 0x6c, 0x6c, 0x75,\n 0x6d, 0x20, 0x64, 0x6f, 0x6c, 0x6f, 0x72, 0x65, 0x20, 0x65, 0x75, 0x20, 0x66,\n 0x75, 0x67, 0x69, 0x61, 0x74, 0x20, 0x6e, 0x75, 0x6c, 0x6c, 0x61, 0x20, 0x70,\n 0x61, 0x72, 0x69, 0x61, 0x74, 0x75, 0x72, 0x2e, 0x20, 0x45, 0x78, 0x63, 0x65,\n 0x70, 0x74, 0x65, 0x75, 0x72, 0x20, 0x73, 0x69, 0x6e, 0x74, 0x20, 0x6f, 0x63,\n 0x63, 0x61, 0x65, 0x63, 0x61, 0x74, 0x20, 0x63, 0x75, 0x70, 0x69, 0x64, 0x61,\n 0x74, 0x61, 0x74, 0x20, 0x6e, 0x6f, 0x6e, 0x20, 0x70, 0x72, 0x6f, 0x69, 0x64,\n 0x65, 0x6e, 0x74, 0x2c, 0x20, 0x73, 0x75, 0x6e, 0x74, 0x20, 0x69, 0x6e, 0x20,\n 0x63, 0x75, 0x6c, 0x70, 0x61, 0x20, 0x71, 0x75, 0x69, 0x20, 0x6f, 0x66, 0x66,\n 0x69, 0x63, 0x69, 0x61, 0x20, 0x64, 0x65, 0x73, 0x65, 0x72, 0x75, 0x6e, 0x74,\n 0x20, 0x6d, 0x6f, 0x6c, 0x6c, 0x69, 0x74, 0x20, 0x61, 0x6e, 0x69, 0x6d, 0x20,\n 0x69, 0x64, 0x20, 0x65, 0x73, 0x74, 0x20, 0x6c, 0x61, 0x62, 0x6f, 0x72, 0x75,\n 0x6d, 0x2e,\n]);\n\ndescribe(\"SendSignPersonalMessageTask\", () => {\n const apiMock = makeDeviceActionInternalApiMock();\n const signature = {\n v: 27,\n r: \"0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef\",\n s: \"0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef\",\n };\n const resultOk = CommandResultFactory({\n data: Just(signature),\n });\n const resultNothing = CommandResultFactory({ data: Nothing });\n\n beforeEach(() => {\n vi.resetAllMocks();\n });\n\n describe(\"run\", () => {\n it(\"should send the message in chunks\", async () => {\n // GIVEN\n const args = {\n derivationPath: \"44'/60'/0'/0/0\",\n message: SEND_MESSAGE_HELLO_WORLD,\n };\n apiMock.sendCommand.mockResolvedValueOnce(resultOk);\n apiMock.sendCommand.mockResolvedValueOnce(resultNothing);\n\n // WHEN\n const result = await new SendSignPersonalMessageTask(apiMock, args).run();\n\n // THEN\n expect(apiMock.sendCommand.mock.calls).toHaveLength(1);\n expect(apiMock.sendCommand.mock.calls[0]![0]).toStrictEqual(\n new SignPersonalMessageCommand({\n data: new Uint8Array(SEND_MESSAGE_HELLO_WORLD_DATA),\n isFirstChunk: true,\n }),\n );\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n expect((result as any).data).toStrictEqual(signature);\n });\n\n it(\"should send the message as byte arrays\", async () => {\n // GIVEN\n const args = {\n derivationPath: \"44'/60'/0'/0/0\",\n message: SEND_MESSAGE_HELLO_WORLD_BYTES,\n };\n apiMock.sendCommand.mockResolvedValueOnce(resultOk);\n apiMock.sendCommand.mockResolvedValueOnce(resultNothing);\n\n // WHEN\n const result = await new SendSignPersonalMessageTask(apiMock, args).run();\n\n // THEN\n expect(apiMock.sendCommand.mock.calls).toHaveLength(1);\n expect(apiMock.sendCommand.mock.calls[0]![0]).toStrictEqual(\n new SignPersonalMessageCommand({\n data: new Uint8Array(SEND_MESSAGE_HELLO_WORLD_DATA),\n isFirstChunk: true,\n }),\n );\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n expect((result as any).data).toStrictEqual(signature);\n });\n\n it(\"should send the long message in chunks\", async () => {\n // GIVEN\n const args = {\n derivationPath: \"44'/60'/0'/0/0\",\n message: MESSAGE_LONG,\n };\n apiMock.sendCommand.mockResolvedValueOnce(resultNothing);\n apiMock.sendCommand.mockResolvedValueOnce(resultOk);\n\n // WHEN\n const result = await new SendSignPersonalMessageTask(apiMock, args).run();\n\n // THEN\n expect(apiMock.sendCommand.mock.calls).toHaveLength(2);\n expect(apiMock.sendCommand.mock.calls[0]![0]).toStrictEqual(\n new SignPersonalMessageCommand({\n data: MESSAGE_LONG_DATA.slice(0, 255),\n isFirstChunk: true,\n }),\n );\n expect(apiMock.sendCommand.mock.calls[1]![0]).toStrictEqual(\n new SignPersonalMessageCommand({\n data: MESSAGE_LONG_DATA.slice(255, 510),\n isFirstChunk: false,\n }),\n );\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n expect((result as any).data).toStrictEqual(signature);\n });\n\n it(\"should return an error if the command fails\", async () => {\n // GIVEN\n const args = {\n derivationPath: \"44'/60'/0'/0/0\",\n message: SEND_MESSAGE_HELLO_WORLD,\n };\n apiMock.sendCommand.mockResolvedValueOnce(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"An error\"),\n }),\n );\n\n // WHEN\n const result = await new SendSignPersonalMessageTask(apiMock, args).run();\n\n // THEN\n expect(result).toStrictEqual(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"An error\"),\n }),\n );\n });\n\n it(\"should return an error if the command returns no data\", async () => {\n // GIVEN\n const args = {\n derivationPath: \"44'/60'/0'/0/0\",\n message: SEND_MESSAGE_HELLO_WORLD,\n };\n apiMock.sendCommand.mockResolvedValueOnce(resultNothing);\n\n // WHEN\n const result = await new SendSignPersonalMessageTask(apiMock, args).run();\n\n // THEN\n expect(result).toStrictEqual(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"no signature returned\"),\n }),\n );\n });\n });\n});\n"],
|
|
5
|
+
"mappings": "AAAA,OAAS,wBAAAA,MAA4B,kCACrC,OAAS,0BAAAC,MAA8B,kCACvC,OAAS,QAAAC,EAAM,WAAAC,MAAe,YAE9B,OAAS,8BAAAC,MAAkC,0DAC3C,OAAS,mCAAAC,MAAuC,oEAEhD,OAAS,+BAAAC,MAAmC,gCAE5C,MAAMC,EAA2B,gBAC3BC,EAAiC,IAAI,WAAW,CACpD,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,EAC1E,CAAC,EACKC,EAAgC,IAAI,WAAW,CACnD,EAAM,IAAM,EAAM,EAAM,GAAM,IAAM,EAAM,EAAM,GAAM,IAAM,EAAM,EAAM,EACxE,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,GAAM,GACxE,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,EACpE,CAAC,EAEKC,EACJ,gcACIC,EAAoB,IAAI,WAAW,CACvC,EAAM,IAAM,EAAM,EAAM,GAAM,IAAM,EAAM,EAAM,GAAM,IAAM,EAAM,EAAM,EACxE,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,IAAM,GACxE,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IACxE,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,GACxE,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GACxE,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IACxE,IAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IACxE,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GACxE,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IACxE,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IACxE,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,GAAM,GAAM,GAAM,IACxE,IAAM,IAAM,IAAM,GAAM,GAAM,GAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IACxE,GAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IACxE,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IACxE,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GACxE,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,GACxE,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GACxE,IAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IACxE,GAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GACxE,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IACxE,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GACxE,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IACxE,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GACxE,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IACxE,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IACxE,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IACxE,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IACxE,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,GAAM,GAAM,IAAM,GAAM,IACxE,IAAM,IAAM,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",
|
|
6
|
+
"names": ["CommandResultFactory", "InvalidStatusWordError", "Just", "Nothing", "SignPersonalMessageCommand", "makeDeviceActionInternalApiMock", "SendSignPersonalMessageTask", "SEND_MESSAGE_HELLO_WORLD", "SEND_MESSAGE_HELLO_WORLD_BYTES", "SEND_MESSAGE_HELLO_WORLD_DATA", "MESSAGE_LONG", "MESSAGE_LONG_DATA", "apiMock", "signature", "resultOk", "resultNothing", "args", "result"]
|
|
7
|
+
}
|
|
@@ -1,49 +1,2 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
import { SignTransactionCommand, } from "../../app-binder/command/SignTransactionCommand";
|
|
4
|
-
import { DerivationPathUtils } from "../../shared/utils/DerivationPathUtils";
|
|
5
|
-
const PATH_SIZE = 4;
|
|
6
|
-
export class SendSignTransactionTask {
|
|
7
|
-
api;
|
|
8
|
-
args;
|
|
9
|
-
constructor(api, args) {
|
|
10
|
-
this.api = api;
|
|
11
|
-
this.args = args;
|
|
12
|
-
}
|
|
13
|
-
async run() {
|
|
14
|
-
const { derivationPath, serializedTransaction } = this.args;
|
|
15
|
-
const paths = DerivationPathUtils.splitPath(derivationPath);
|
|
16
|
-
const builder = new ByteArrayBuilder(serializedTransaction.length + 1 + paths.length * PATH_SIZE);
|
|
17
|
-
// add the derivation paths length
|
|
18
|
-
builder.add8BitUIntToData(paths.length);
|
|
19
|
-
// add every derivation path
|
|
20
|
-
paths.forEach((path) => {
|
|
21
|
-
builder.add32BitUIntToData(path);
|
|
22
|
-
});
|
|
23
|
-
// add the transaction
|
|
24
|
-
builder.addBufferToData(serializedTransaction);
|
|
25
|
-
const buffer = builder.build();
|
|
26
|
-
let result = CommandResultFactory({
|
|
27
|
-
data: Nothing,
|
|
28
|
-
});
|
|
29
|
-
// Split the buffer into chunks
|
|
30
|
-
for (let i = 0; i < buffer.length; i += APDU_MAX_PAYLOAD) {
|
|
31
|
-
result = await this.api.sendCommand(new SignTransactionCommand({
|
|
32
|
-
serializedTransaction: buffer.slice(i, i + APDU_MAX_PAYLOAD),
|
|
33
|
-
isFirstChunk: i === 0,
|
|
34
|
-
}));
|
|
35
|
-
if (!isSuccessCommandResult(result)) {
|
|
36
|
-
return result;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
if (isSuccessCommandResult(result) && result.data.isJust()) {
|
|
40
|
-
return CommandResultFactory({
|
|
41
|
-
data: result.data.extract(),
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
return CommandResultFactory({
|
|
45
|
-
error: new InvalidStatusWordError("no signature returned"),
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
//# sourceMappingURL=SendSignTransactionTask.js.map
|
|
1
|
+
import{APDU_MAX_PAYLOAD as u,ByteArrayBuilder as g,CommandResultFactory as d,hexaStringToBuffer as y,InvalidStatusWordError as h,isSuccessCommandResult as p}from"@ledgerhq/device-management-kit";import{DerivationPathUtils as T}from"@ledgerhq/signer-utils";import{decodeRlp as A,encodeRlp as S}from"ethers";import{Nothing as C}from"purify-ts";import{TransactionType as f}from"../../../api/model/TransactionType";import{SignTransactionCommand as I}from"../../app-binder/command/SignTransactionCommand";import{StartTransactionCommand as U}from"../../app-binder/command/StartTransactionCommand";const v=4;class B{constructor(o,e){this.api=o;this.args=e}async run(){if(!this.args.isLegacy){const t=await this.api.sendCommand(new U);return p(t)?this.recoverSignature(t.data).mapOrDefault(s=>d({data:s}),d({error:new h("no signature returned")})):t}const{derivationPath:o,serializedTransaction:e}=this.args,n=T.splitPath(o),r=new g(e.length+1+n.length*v);r.add8BitUIntToData(n.length),n.forEach(t=>{r.add32BitUIntToData(t)});const i=r.build(),a=this.getChunks(i,e);let c=C;for(let t=0;t<a.length;t++){const s=await this.api.sendCommand(new I({serializedTransaction:a[t],isFirstChunk:t===0}));if(!p(s))return s;c=s.data}return this.recoverSignature(c).mapOrDefault(t=>d({data:t}),d({error:new h("no signature returned")}))}getChunks(o,e){const n=Uint8Array.from([...o,...e]);let r=u;if(n.length<=r)return[n];if(this.args.transactionType===f.LEGACY)try{const c=A(e);if(Array.isArray(c)){const t=c.slice(-3),s=S(t),m=y(s).subarray(1);for(r=u;r>o.length;r--){const l=n.length%r;if(l===0||l>m.length)break}}}catch{r=u}let i=0;const a=[];for(;i<n.length;)a.push(n.slice(i,i+r)),i+=r;return a}recoverSignature(o){return o.map(({v:e,r:n,s:r})=>{if(this.args.transactionType!==f.LEGACY)return{v:e,r:n,s:r};const i=4294967295;let a=this.args.chainId;for(;a>i;)a=a>>8;const t=a*2+35&255;return{v:(e==t?0:1)+this.args.chainId*2+35,r:n,s:r}})}}export{B as SendSignTransactionTask};
|
|
2
|
+
//# sourceMappingURL=SendSignTransactionTask.js.map
|