@ledgerhq/device-signer-kit-ethereum 1.0.0 → 1.1.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 +19 -19
- 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/Transaction.js +2 -3
- package/lib/cjs/api/model/Transaction.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/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/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.js +2 -161
- package/lib/cjs/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.js.map +7 -1
- package/lib/cjs/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.test.js +2 -0
- package/lib/cjs/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.test.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/EthersV5TransactionMapper.js +2 -60
- package/lib/cjs/internal/transaction/service/mapper/EthersV5TransactionMapper.js.map +7 -1
- package/lib/cjs/internal/transaction/service/mapper/EthersV5TransactionMapper.test.js +2 -0
- package/lib/cjs/internal/transaction/service/mapper/EthersV5TransactionMapper.test.js.map +7 -0
- package/lib/cjs/internal/transaction/service/mapper/EthersV6TransactionMapper.js +2 -36
- package/lib/cjs/internal/transaction/service/mapper/EthersV6TransactionMapper.js.map +7 -1
- package/lib/cjs/internal/transaction/service/mapper/EthersV6TransactionMapper.test.js +2 -0
- package/lib/cjs/internal/transaction/service/mapper/EthersV6TransactionMapper.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/Transaction.js +2 -2
- package/lib/esm/api/model/Transaction.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/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/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.js +2 -157
- package/lib/esm/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.js.map +7 -1
- package/lib/esm/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.test.js +2 -0
- package/lib/esm/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.test.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/EthersV5TransactionMapper.js +2 -57
- package/lib/esm/internal/transaction/service/mapper/EthersV5TransactionMapper.js.map +7 -1
- package/lib/esm/internal/transaction/service/mapper/EthersV5TransactionMapper.test.js +2 -0
- package/lib/esm/internal/transaction/service/mapper/EthersV5TransactionMapper.test.js.map +7 -0
- package/lib/esm/internal/transaction/service/mapper/EthersV6TransactionMapper.js +2 -33
- package/lib/esm/internal/transaction/service/mapper/EthersV6TransactionMapper.js.map +7 -1
- package/lib/esm/internal/transaction/service/mapper/EthersV6TransactionMapper.test.js +2 -0
- package/lib/esm/internal/transaction/service/mapper/EthersV6TransactionMapper.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 +15 -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/{cjs → types}/api/app-binder/GetAddressDeviceActionTypes.d.ts +1 -1
- package/lib/types/api/app-binder/GetAddressDeviceActionTypes.d.ts.map +1 -0
- package/lib/{esm → types}/api/app-binder/SignPersonalMessageDeviceActionTypes.d.ts +3 -3
- 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 +5 -5
- package/lib/types/api/app-binder/SignTypedDataDeviceActionTypes.d.ts.map +1 -0
- package/lib/{cjs → types}/api/index.d.ts +2 -2
- package/lib/{cjs → types}/api/index.d.ts.map +1 -1
- 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/Transaction.d.ts +14 -0
- package/lib/types/api/model/Transaction.d.ts.map +1 -0
- package/lib/types/internal/DefaultSignerEth.d.ts +26 -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 +6 -4
- 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/{cjs → types}/internal/app-binder/command/GetAddressCommand.d.ts +2 -2
- 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/{esm → types}/internal/app-binder/command/GetChallengeCommand.d.ts +1 -1
- 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 +18 -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/{cjs → types}/internal/app-binder/command/ProvideNFTInformationCommand.d.ts +1 -1
- 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 +1 -1
- 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 +18 -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 +18 -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 +19 -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/{cjs → types}/internal/app-binder/command/SendEIP712FilteringCommand.d.ts +9 -1
- 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 +1 -1
- 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/{esm → types}/internal/app-binder/command/SendEIP712StructImplemCommand.d.ts +1 -1
- 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/{esm → types}/internal/app-binder/command/SetExternalPluginCommand.d.ts +1 -1
- 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/{cjs → types}/internal/app-binder/command/SetPluginCommand.d.ts +1 -1
- 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/{esm → types}/internal/app-binder/command/SignEIP712Command.d.ts +2 -2
- 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/{cjs → types}/internal/app-binder/command/SignPersonalMessageCommand.d.ts +3 -3
- 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/{esm → types}/internal/app-binder/command/SignTransactionCommand.d.ts +2 -2
- 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 +12 -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 +23 -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/{esm → types}/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.d.ts +4 -4
- package/lib/types/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.d.ts.map +1 -0
- package/lib/types/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.test.d.ts +2 -0
- package/lib/types/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.test.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/{cjs → types}/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.d.ts +6 -6
- 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 +3 -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__/testDeviceActionStates.d.ts +2 -2
- 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 +28 -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/{esm → types}/internal/app-binder/task/ProvideTransactionContextTask.d.ts +7 -24
- 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 +38 -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 +16 -0
- package/lib/types/internal/app-binder/task/SendCommandInChunksTask.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 +14 -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/{esm → types}/internal/app-binder/task/SendSignPersonalMessageTask.d.ts +3 -3
- 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 +20 -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/{cjs → types}/internal/transaction/service/mapper/EthersV5TransactionMapper.d.ts.map +1 -1
- package/lib/types/internal/transaction/service/mapper/EthersV5TransactionMapper.test.d.ts +2 -0
- package/lib/types/internal/transaction/service/mapper/EthersV5TransactionMapper.test.d.ts.map +1 -0
- package/lib/{esm → types}/internal/transaction/service/mapper/EthersV6TransactionMapper.d.ts +1 -1
- package/lib/types/internal/transaction/service/mapper/EthersV6TransactionMapper.d.ts.map +1 -0
- package/lib/types/internal/transaction/service/mapper/EthersV6TransactionMapper.test.d.ts +2 -0
- package/lib/types/internal/transaction/service/mapper/EthersV6TransactionMapper.test.d.ts.map +1 -0
- package/lib/types/internal/transaction/service/mapper/TransactionMapper.d.ts +7 -0
- package/lib/types/internal/transaction/service/mapper/TransactionMapper.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/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 +28 -32
- 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.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/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/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.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.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.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 +0 -30
- 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.map +0 -1
- package/lib/cjs/internal/app-binder/command/SignEIP712Command.d.ts +0 -25
- package/lib/cjs/internal/app-binder/command/SignEIP712Command.d.ts.map +0 -1
- package/lib/cjs/internal/app-binder/command/SignPersonalMessageCommand.d.ts.map +0 -1
- package/lib/cjs/internal/app-binder/command/SignTransactionCommand.d.ts +0 -24
- 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/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.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.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/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/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/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/model/TransactionMapperResult.d.ts +0 -12
- package/lib/cjs/internal/transaction/service/mapper/model/TransactionMapperResult.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 +0 -9
- package/lib/esm/api/app-binder/GetAddressDeviceActionTypes.d.ts.map +0 -1
- 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/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.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 +0 -41
- 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.map +0 -1
- 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.map +0 -1
- package/lib/esm/internal/app-binder/command/SignPersonalMessageCommand.d.ts +0 -21
- package/lib/esm/internal/app-binder/command/SignPersonalMessageCommand.d.ts.map +0 -1
- 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.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.map +0 -1
- package/lib/esm/internal/app-binder/task/SendEIP712StructImplemTask.d.ts +0 -19
- package/lib/esm/internal/app-binder/task/SendEIP712StructImplemTask.d.ts.map +0 -1
- 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/EthersV6TransactionMapper.d.ts.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 +0 -10
- 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/device-action/__test-utils__/setupOpenAppDAMock.d.ts.map +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/app-binder/task/SendEIP712StructImplemTask.d.ts +0 -0
- /package/lib/{cjs → types}/internal/app-binder/task/SendEIP712StructImplemTask.d.ts.map +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/transaction/service/mapper/EthersV5TransactionMapper.d.ts +0 -0
- /package/lib/{cjs → types}/internal/transaction/service/mapper/TransactionMapperService.d.ts +0 -0
- /package/lib/{cjs → types}/internal/transaction/service/mapper/TransactionMapperService.d.ts.map +0 -0
- /package/lib/{cjs → types}/internal/transaction/use-case/SignTransactionUseCase.d.ts +0 -0
- /package/lib/{cjs → types}/internal/transaction/use-case/SignTransactionUseCase.d.ts.map +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.ts"],
|
|
4
|
+
"sourcesContent": ["import {\n type ClearSignContextReference,\n type ClearSignContextSuccess,\n ClearSignContextType,\n type ContextModule,\n} from \"@ledgerhq/context-module\";\nimport {\n bufferToHexaString,\n type CommandErrorResult,\n type CommandResult,\n CommandResultFactory,\n type InternalApi,\n InvalidStatusWordError,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\nimport { Just, type Maybe, Nothing } from \"purify-ts\";\n\nimport { GetChallengeCommand } from \"@internal/app-binder/command/GetChallengeCommand\";\nimport { ProvideEnumCommand } from \"@internal/app-binder/command/ProvideEnumCommand\";\nimport {\n ProvideNFTInformationCommand,\n type ProvideNFTInformationCommandErrorCodes,\n} from \"@internal/app-binder/command/ProvideNFTInformationCommand\";\nimport {\n ProvideTokenInformationCommand,\n type ProvideTokenInformationCommandResponse,\n} from \"@internal/app-binder/command/ProvideTokenInformationCommand\";\nimport { ProvideTransactionFieldDescriptionCommand } from \"@internal/app-binder/command/ProvideTransactionFieldDescriptionCommand\";\nimport { ProvideTrustedNameCommand } from \"@internal/app-binder/command/ProvideTrustedNameCommand\";\nimport { type SetExternalPluginCommandErrorCodes } from \"@internal/app-binder/command/SetExternalPluginCommand\";\nimport { type SetPluginCommandErrorCodes } from \"@internal/app-binder/command/SetPluginCommand\";\nimport { type TransactionParserService } from \"@internal/transaction/service/parser/TransactionParserService\";\n\nimport { type ProvideTransactionGenericContextTaskErrorCodes } from \"./ProvideTransactionGenericContextTask\";\nimport { SendPayloadInChunksTask } from \"./SendPayloadInChunksTask\";\n\nexport type ProvideTransactionFieldDescriptionTaskArgs = {\n field: ClearSignContextSuccess;\n serializedTransaction: Uint8Array;\n chainId: number;\n transactionParser: TransactionParserService;\n contextModule: ContextModule;\n};\n\nexport type ProvideTransactionFieldDescriptionTaskErrorCodes =\n | void\n | SetExternalPluginCommandErrorCodes\n | SetPluginCommandErrorCodes\n | ProvideNFTInformationCommandErrorCodes;\n\n/**\n * This task is responsible for providing the transaction context to the device.\n *\n */\nexport class ProvideTransactionFieldDescriptionTask {\n constructor(\n private api: InternalApi,\n private args: ProvideTransactionFieldDescriptionTaskArgs,\n ) {}\n\n async run(): Promise<\n Maybe<CommandErrorResult<ProvideTransactionFieldDescriptionTaskErrorCodes>>\n > {\n const { field } = this.args;\n if (field.reference !== undefined) {\n const provideReferenceResult = await this.provideContextReference(\n field.reference,\n );\n if (provideReferenceResult.isJust()) {\n return provideReferenceResult;\n }\n }\n\n const transactionFieldResult = await this.provideContext({ ...field });\n if (!isSuccessCommandResult(transactionFieldResult)) {\n return Just(transactionFieldResult);\n }\n\n return Nothing;\n }\n\n async provideContextReference(\n reference: ClearSignContextReference,\n ): Promise<\n Maybe<CommandErrorResult<ProvideTransactionGenericContextTaskErrorCodes>>\n > {\n const values = this.args.transactionParser.extractValue(\n this.args.serializedTransaction,\n reference.valuePath,\n );\n if (values.isLeft()) {\n // The path was not found in transaction payload. In that case we should raw-sign that field.\n return Nothing;\n }\n for (const value of values.unsafeCoerce()) {\n const address = bufferToHexaString(\n value.slice(Math.max(0, value.length - 20)),\n );\n let context;\n if (reference.type === ClearSignContextType.TRUSTED_NAME) {\n const getChallengeResult = await this.api.sendCommand(\n new GetChallengeCommand(),\n );\n if (!isSuccessCommandResult(getChallengeResult)) {\n return Just(getChallengeResult);\n }\n context = await this.args.contextModule.getContext({\n type: reference.type,\n chainId: this.args.chainId,\n address,\n challenge: getChallengeResult.data.challenge,\n types: reference.types,\n sources: reference.sources,\n });\n } else {\n context = await this.args.contextModule.getContext({\n type: reference.type,\n chainId: this.args.chainId,\n address,\n });\n }\n if (context.type !== ClearSignContextType.ERROR) {\n const provideReferenceResult = await this.provideContext(context);\n if (!isSuccessCommandResult(provideReferenceResult)) {\n return Just(provideReferenceResult);\n }\n }\n }\n return Nothing;\n }\n\n /**\n * This method will send a command according to the clear sign context type\n * and return the command result if only one command is sent,\n * otherwise it will return the result of the command.\n *\n * @param {ClearSignContextSuccess} context The clear sign context to provide.\n * @returns A promise that resolves when the command return a command response.\n */\n async provideContext({\n type,\n payload,\n }: ClearSignContextSuccess): Promise<\n CommandResult<\n void | ProvideTokenInformationCommandResponse,\n ProvideTransactionGenericContextTaskErrorCodes\n >\n > {\n switch (type) {\n case ClearSignContextType.NFT:\n return await this.api.sendCommand(\n new ProvideNFTInformationCommand({ payload }),\n );\n case ClearSignContextType.TOKEN:\n return await this.api.sendCommand(\n new ProvideTokenInformationCommand({ payload }),\n );\n case ClearSignContextType.TRUSTED_NAME:\n return new SendPayloadInChunksTask(this.api, {\n payload,\n commandFactory: (args) =>\n new ProvideTrustedNameCommand({\n data: args.chunkedData,\n isFirstChunk: args.isFirstChunk,\n }),\n }).run();\n case ClearSignContextType.ENUM:\n return new SendPayloadInChunksTask(this.api, {\n payload,\n commandFactory: (args) =>\n new ProvideEnumCommand({\n data: args.chunkedData,\n isFirstChunk: args.isFirstChunk,\n }),\n }).run();\n case ClearSignContextType.TRANSACTION_FIELD_DESCRIPTION:\n return new SendPayloadInChunksTask(this.api, {\n payload,\n commandFactory: (args) =>\n new ProvideTransactionFieldDescriptionCommand({\n data: args.chunkedData,\n isFirstChunk: args.isFirstChunk,\n }),\n }).run();\n case ClearSignContextType.TRANSACTION_INFO:\n case ClearSignContextType.PLUGIN:\n case ClearSignContextType.EXTERNAL_PLUGIN:\n return CommandResultFactory({\n error: new InvalidStatusWordError(\n `The context type [${type}] is not valid as a transaction field or metadata`,\n ),\n });\n default: {\n const uncoveredType: never = type;\n return CommandResultFactory({\n error: new InvalidStatusWordError(\n `The context type [${uncoveredType}] is not covered`,\n ),\n });\n }\n }\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["ClearSignContextType", "bufferToHexaString", "CommandResultFactory", "InvalidStatusWordError", "isSuccessCommandResult", "Just", "Nothing", "GetChallengeCommand", "ProvideEnumCommand", "ProvideNFTInformationCommand", "ProvideTokenInformationCommand", "ProvideTransactionFieldDescriptionCommand", "ProvideTrustedNameCommand", "SendPayloadInChunksTask", "ProvideTransactionFieldDescriptionTask", "api", "args", "field", "provideReferenceResult", "transactionFieldResult", "reference", "values", "value", "address", "context", "getChallengeResult", "type", "payload", "uncoveredType"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{ClearSignContextType as t,ContainerPath as p}from"@ledgerhq/context-module";import{CommandResultFactory as s,InvalidStatusWordError as u}from"@ledgerhq/device-management-kit";import{Left as T,Nothing as m,Right as y}from"purify-ts";import{GetChallengeCommand as h}from"../../app-binder/command/GetChallengeCommand";import{ProvideEnumCommand as k}from"../../app-binder/command/ProvideEnumCommand";import{ProvideNFTInformationCommand as w}from"../../app-binder/command/ProvideNFTInformationCommand";import{ProvideTokenInformationCommand as E}from"../../app-binder/command/ProvideTokenInformationCommand";import{ProvideTransactionFieldDescriptionCommand as O}from"../../app-binder/command/ProvideTransactionFieldDescriptionCommand";import{ProvideTrustedNameCommand as x}from"../../app-binder/command/ProvideTrustedNameCommand";import{ProvideTransactionFieldDescriptionTask as l}from"./ProvideTransactionFieldDescriptionTask";describe("ProvideTransactionFieldDescriptionTask",()=>{const r={extractValue:jest.fn()},n={getContext:jest.fn()},e={sendCommand:jest.fn()};beforeEach(()=>{jest.clearAllMocks()}),describe("should call the right provide command",()=>{it.each([{type:t.NFT,commandInstanceType:w},{type:t.TOKEN,commandInstanceType:E},{type:t.TRUSTED_NAME,commandInstanceType:x},{type:t.ENUM,commandInstanceType:k},{type:t.TRANSACTION_FIELD_DESCRIPTION,commandInstanceType:O}])("when type is $type",async({type:o,commandInstanceType:a})=>{jest.spyOn(e,"sendCommand").mockResolvedValueOnce(s({data:"ok"}));const c={type:o,payload:"0x01020304"};await new l(e,{field:c,serializedTransaction:new Uint8Array,chainId:1,transactionParser:r,contextModule:n}).run(),expect(e.sendCommand.mock.calls[0][0]).toBeInstanceOf(a),expect(e.sendCommand).toHaveBeenCalledTimes(1)})}),describe("should return nothing",()=>{it.each([t.NFT,t.TOKEN,t.TRUSTED_NAME,t.ENUM,t.TRANSACTION_FIELD_DESCRIPTION])("when type is %s with no reference",async o=>{const d={type:o,payload:"0x01020304"};jest.spyOn(e,"sendCommand").mockResolvedValueOnce(s({data:"ok"}));const i=await new l(e,{field:d,serializedTransaction:new Uint8Array,chainId:1,transactionParser:r,contextModule:n}).run();expect(i).toEqual(m)})}),describe("should provide a reference context",()=>{it.each([t.NFT,t.TOKEN])("when type is %s with a reference",async o=>{const a="0x01020304",d={type:o,payload:a,reference:{type:t.TOKEN,valuePath:p.VALUE}};jest.spyOn(e,"sendCommand").mockResolvedValueOnce(s({data:"ok"})),jest.spyOn(e,"sendCommand").mockResolvedValueOnce(s({data:"ok"})),jest.spyOn(r,"extractValue").mockReturnValueOnce(y([new Uint8Array([1,2,3,4])])),jest.spyOn(n,"getContext").mockResolvedValueOnce({type:o,payload:a});const i=await new l(e,{field:d,serializedTransaction:new Uint8Array,chainId:1,transactionParser:r,contextModule:n}).run();expect(n.getContext).toHaveBeenCalledTimes(1),expect(n.getContext).toHaveBeenCalledWith({type:t.TOKEN,chainId:1,address:"0x01020304"}),expect(i).toEqual(m),expect(e.sendCommand).toHaveBeenCalledTimes(2)}),it("when type is trustes-name with a reference",async()=>{const o="0x01020304",a="0x05060708",d=new Uint8Array([17,34,51,68]),c="0x11223344",i={type:t.TRUSTED_NAME,payload:o,reference:{type:t.TRUSTED_NAME,valuePath:p.VALUE,types:["type"],sources:["source"]}};jest.spyOn(e,"sendCommand").mockResolvedValueOnce(s({data:{challenge:66}})),jest.spyOn(e,"sendCommand").mockResolvedValueOnce(s({data:"ok"})),jest.spyOn(e,"sendCommand").mockResolvedValueOnce(s({data:"ok"})),jest.spyOn(r,"extractValue").mockReturnValueOnce(y([d])),jest.spyOn(n,"getContext").mockResolvedValueOnce({type:t.TRUSTED_NAME,payload:a});const C=await new l(e,{field:i,serializedTransaction:new Uint8Array,chainId:1,transactionParser:r,contextModule:n}).run();expect(n.getContext).toHaveBeenCalledTimes(1),expect(n.getContext).toHaveBeenCalledWith({type:t.TRUSTED_NAME,chainId:1,address:c,types:["type"],sources:["source"],challenge:66}),expect(C).toEqual(m),expect(e.sendCommand).toHaveBeenCalledTimes(3),expect(e.sendCommand).toHaveBeenNthCalledWith(1,new h),expect(e.sendCommand).toHaveBeenNthCalledWith(2,new x({data:new Uint8Array([0,4,5,6,7,8]),isFirstChunk:!0})),expect(e.sendCommand).toHaveBeenNthCalledWith(3,new x({data:new Uint8Array([0,4,1,2,3,4]),isFirstChunk:!0}))})}),describe("should not provide a reference context",()=>{it("when the path is not found in transaction payload",async()=>{const a={type:t.TRUSTED_NAME,payload:"0x01020304",reference:{type:t.TRUSTED_NAME,valuePath:p.VALUE,types:["type"],sources:["source"]}};jest.spyOn(e,"sendCommand").mockResolvedValueOnce(s({data:"ok"})),jest.spyOn(r,"extractValue").mockReturnValueOnce(T(new Error("path not found")));const c=await new l(e,{field:a,serializedTransaction:new Uint8Array,chainId:1,transactionParser:r,contextModule:n}).run();expect(c).toEqual(m),expect(e.sendCommand).toHaveBeenCalledTimes(1),expect(n.getContext).not.toHaveBeenCalled()}),it("when getContext return a type error",async()=>{const a={type:t.TRUSTED_NAME,payload:"0x01020304",reference:{type:t.TRUSTED_NAME,valuePath:p.VALUE,types:["type"],sources:["source"]}};jest.spyOn(r,"extractValue").mockReturnValueOnce(y([new Uint8Array([17,34,51,68])])),jest.spyOn(n,"getContext").mockResolvedValueOnce({type:t.ERROR,error:new Error("getContext error")}),jest.spyOn(e,"sendCommand").mockResolvedValueOnce(s({data:{challenge:66}})),jest.spyOn(e,"sendCommand").mockResolvedValueOnce(s({data:"ok"}));const c=await new l(e,{field:a,serializedTransaction:new Uint8Array,chainId:1,transactionParser:r,contextModule:n}).run();expect(c).toEqual(m),expect(e.sendCommand).toHaveBeenCalledTimes(2),expect(n.getContext).toHaveBeenCalledTimes(1)})}),describe("should return an error",()=>{it.each([t.TRANSACTION_INFO,t.PLUGIN,t.EXTERNAL_PLUGIN])("when type is %s",async o=>{const a=`payload-${o}`,d={type:o,payload:a},i=await new l(e,{field:d,serializedTransaction:new Uint8Array,chainId:1,transactionParser:r,contextModule:n}).run();expect(i.extract()).toEqual(s({error:new u(`The context type [${o}] is not valid as a transaction field or metadata`)}))}),it("when type is unknown",async()=>{const a={type:"unknown",payload:"payload-unknown"},c=await new l(e,{field:a,serializedTransaction:new Uint8Array,chainId:1,transactionParser:r,contextModule:n}).run();expect(c.extract()).toEqual(s({error:new u("The context type [unknown] is not covered")}))}),it("when getChallenge fails",async()=>{const a={type:t.TRUSTED_NAME,payload:"0x01020304",reference:{type:t.TRUSTED_NAME,valuePath:p.VALUE,types:["type"],sources:["source"]}};jest.spyOn(e,"sendCommand").mockResolvedValueOnce(s({error:new u("getChallenge error")})),jest.spyOn(r,"extractValue").mockReturnValueOnce(y([new Uint8Array([17,34,51,68])]));const c=await new l(e,{field:a,serializedTransaction:new Uint8Array,chainId:1,transactionParser:r,contextModule:n}).run();expect(c.extract()).toEqual(s({error:new u("getChallenge error")}))}),it("when provide reference fails",async()=>{const a={type:t.TRUSTED_NAME,payload:"0x01020304",reference:{type:t.TRUSTED_NAME,valuePath:p.VALUE,types:["type"],sources:["source"]}};jest.spyOn(e,"sendCommand").mockResolvedValueOnce(s({data:"ok"})),jest.spyOn(e,"sendCommand").mockResolvedValueOnce(s({error:new u("provide reference error")})),jest.spyOn(r,"extractValue").mockReturnValueOnce(y([new Uint8Array([17,34,51,68])])),jest.spyOn(n,"getContext").mockResolvedValueOnce({type:t.TRUSTED_NAME,payload:"0x05060708"});const c=await new l(e,{field:a,serializedTransaction:new Uint8Array,chainId:1,transactionParser:r,contextModule:n}).run();expect(c.extract()).toEqual(s({error:new u("provide reference error")}))})})});
|
|
2
|
+
//# sourceMappingURL=ProvideTransactionFieldDescriptionTask.test.js.map
|
|
@@ -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 ClearSignContextType,\n ContainerPath,\n type ContextModule,\n} from \"@ledgerhq/context-module\";\nimport {\n CommandResultFactory,\n type InternalApi,\n InvalidStatusWordError,\n} from \"@ledgerhq/device-management-kit\";\nimport { Left, Nothing, Right } from \"purify-ts\";\n\nimport { GetChallengeCommand } from \"@internal/app-binder/command/GetChallengeCommand\";\nimport { ProvideEnumCommand } from \"@internal/app-binder/command/ProvideEnumCommand\";\nimport { ProvideNFTInformationCommand } from \"@internal/app-binder/command/ProvideNFTInformationCommand\";\nimport { ProvideTokenInformationCommand } from \"@internal/app-binder/command/ProvideTokenInformationCommand\";\nimport { ProvideTransactionFieldDescriptionCommand } from \"@internal/app-binder/command/ProvideTransactionFieldDescriptionCommand\";\nimport { ProvideTrustedNameCommand } from \"@internal/app-binder/command/ProvideTrustedNameCommand\";\nimport { type TransactionParserService } from \"@internal/transaction/service/parser/TransactionParserService\";\n\nimport { ProvideTransactionFieldDescriptionTask } from \"./ProvideTransactionFieldDescriptionTask\";\n\ndescribe(\"ProvideTransactionFieldDescriptionTask\", () => {\n const transactionParserMock = {\n extractValue: jest.fn(),\n } as unknown as TransactionParserService;\n const contextModuleMock = {\n getContext: jest.fn(),\n } as unknown as ContextModule;\n const apiMock: InternalApi = {\n sendCommand: jest.fn(),\n } as unknown as InternalApi;\n\n beforeEach(() => {\n jest.clearAllMocks();\n });\n\n describe(\"should call the right provide command\", () => {\n it.each<{\n type: ClearSignContextSuccess[\"type\"];\n commandInstanceType: unknown;\n }>([\n {\n type: ClearSignContextType.NFT,\n commandInstanceType: ProvideNFTInformationCommand,\n },\n {\n type: ClearSignContextType.TOKEN,\n commandInstanceType: ProvideTokenInformationCommand,\n },\n {\n type: ClearSignContextType.TRUSTED_NAME,\n commandInstanceType: ProvideTrustedNameCommand,\n },\n {\n type: ClearSignContextType.ENUM,\n commandInstanceType: ProvideEnumCommand,\n },\n {\n type: ClearSignContextType.TRANSACTION_FIELD_DESCRIPTION,\n commandInstanceType: ProvideTransactionFieldDescriptionCommand,\n },\n ])(\"when type is $type\", async ({ type, commandInstanceType }) => {\n // GIVEN\n jest\n .spyOn(apiMock, \"sendCommand\")\n .mockResolvedValueOnce(CommandResultFactory({ data: \"ok\" }));\n const payload = `0x01020304`;\n const field: ClearSignContextSuccess = {\n type,\n payload,\n };\n\n // WHEN\n await new ProvideTransactionFieldDescriptionTask(apiMock, {\n field,\n serializedTransaction: new Uint8Array(),\n chainId: 1,\n transactionParser: transactionParserMock,\n contextModule: contextModuleMock,\n }).run();\n\n // THEN\n expect(\n (apiMock.sendCommand as jest.Mock).mock.calls[0][0],\n ).toBeInstanceOf(commandInstanceType);\n expect(apiMock.sendCommand).toHaveBeenCalledTimes(1);\n });\n });\n\n describe(\"should return nothing\", () => {\n it.each<ClearSignContextSuccess[\"type\"]>([\n ClearSignContextType.NFT,\n ClearSignContextType.TOKEN,\n ClearSignContextType.TRUSTED_NAME,\n ClearSignContextType.ENUM,\n ClearSignContextType.TRANSACTION_FIELD_DESCRIPTION,\n ])(\"when type is %s with no reference\", async (type) => {\n // GIVEN\n const payload = `0x01020304`;\n const field: ClearSignContextSuccess = {\n type,\n payload,\n };\n jest\n .spyOn(apiMock, \"sendCommand\")\n .mockResolvedValueOnce(CommandResultFactory({ data: \"ok\" }));\n\n // WHEN\n const task = new ProvideTransactionFieldDescriptionTask(apiMock, {\n field,\n serializedTransaction: new Uint8Array(),\n chainId: 1,\n transactionParser: transactionParserMock,\n contextModule: contextModuleMock,\n });\n const result = await task.run();\n\n // THEN\n expect(result).toEqual(Nothing);\n });\n });\n\n describe(\"should provide a reference context\", () => {\n it.each<ClearSignContextSuccess[\"type\"]>([\n ClearSignContextType.NFT,\n ClearSignContextType.TOKEN,\n ])(\"when type is %s with a reference\", async (type) => {\n // GIVEN\n const payload = `0x01020304`;\n const field: ClearSignContextSuccess = {\n type,\n payload,\n reference: {\n type: ClearSignContextType.TOKEN,\n valuePath: ContainerPath.VALUE,\n },\n };\n // provide reference context\n jest\n .spyOn(apiMock, \"sendCommand\")\n .mockResolvedValueOnce(CommandResultFactory({ data: \"ok\" }));\n // provide context\n jest\n .spyOn(apiMock, \"sendCommand\")\n .mockResolvedValueOnce(CommandResultFactory({ data: \"ok\" }));\n jest\n .spyOn(transactionParserMock, \"extractValue\")\n .mockReturnValueOnce(Right([new Uint8Array([0x01, 0x02, 0x03, 0x04])]));\n jest\n .spyOn(contextModuleMock, \"getContext\")\n .mockResolvedValueOnce({ type, payload });\n\n // WHEN\n const task = new ProvideTransactionFieldDescriptionTask(apiMock, {\n field,\n serializedTransaction: new Uint8Array(),\n chainId: 1,\n transactionParser: transactionParserMock,\n contextModule: contextModuleMock,\n });\n const result = await task.run();\n\n // THEN\n expect(contextModuleMock.getContext).toHaveBeenCalledTimes(1);\n expect(contextModuleMock.getContext).toHaveBeenCalledWith({\n type: ClearSignContextType.TOKEN,\n chainId: 1,\n address: \"0x01020304\",\n });\n expect(result).toEqual(Nothing);\n expect(apiMock.sendCommand).toHaveBeenCalledTimes(2);\n });\n\n it(\"when type is trustes-name with a reference\", async () => {\n // GIVEN\n const payload1 = `0x01020304`;\n const payload2 = `0x05060708`;\n const extractedValue = new Uint8Array([0x11, 0x22, 0x33, 0x44]);\n const extractedValueAddress = \"0x11223344\";\n const field: ClearSignContextSuccess = {\n type: ClearSignContextType.TRUSTED_NAME,\n payload: payload1,\n reference: {\n type: ClearSignContextType.TRUSTED_NAME,\n valuePath: ContainerPath.VALUE,\n types: [\"type\"],\n sources: [\"source\"],\n },\n };\n // getChallenge\n jest\n .spyOn(apiMock, \"sendCommand\")\n .mockResolvedValueOnce(\n CommandResultFactory({ data: { challenge: 0x42 } }),\n );\n // provide reference context\n jest\n .spyOn(apiMock, \"sendCommand\")\n .mockResolvedValueOnce(CommandResultFactory({ data: \"ok\" }));\n // provide context\n jest\n .spyOn(apiMock, \"sendCommand\")\n .mockResolvedValueOnce(CommandResultFactory({ data: \"ok\" }));\n jest\n .spyOn(transactionParserMock, \"extractValue\")\n .mockReturnValueOnce(Right([extractedValue]));\n jest.spyOn(contextModuleMock, \"getContext\").mockResolvedValueOnce({\n type: ClearSignContextType.TRUSTED_NAME,\n payload: payload2,\n });\n\n // WHEN\n const task = new ProvideTransactionFieldDescriptionTask(apiMock, {\n field,\n serializedTransaction: new Uint8Array(),\n chainId: 1,\n transactionParser: transactionParserMock,\n contextModule: contextModuleMock,\n });\n const result = await task.run();\n\n // THEN\n expect(contextModuleMock.getContext).toHaveBeenCalledTimes(1);\n // getContext for the extracted value address\n expect(contextModuleMock.getContext).toHaveBeenCalledWith({\n type: ClearSignContextType.TRUSTED_NAME,\n chainId: 1,\n address: extractedValueAddress,\n types: [\"type\"],\n sources: [\"source\"],\n challenge: 0x42,\n });\n expect(result).toEqual(Nothing);\n expect(apiMock.sendCommand).toHaveBeenCalledTimes(3);\n expect(apiMock.sendCommand).toHaveBeenNthCalledWith(\n 1,\n new GetChallengeCommand(),\n );\n expect(apiMock.sendCommand).toHaveBeenNthCalledWith(\n 2,\n new ProvideTrustedNameCommand({\n data: new Uint8Array([0x00, 0x04, 0x05, 0x06, 0x07, 0x08]),\n isFirstChunk: true,\n }),\n );\n expect(apiMock.sendCommand).toHaveBeenNthCalledWith(\n 3,\n new ProvideTrustedNameCommand({\n data: new Uint8Array([0x00, 0x04, 0x01, 0x02, 0x03, 0x04]),\n isFirstChunk: true,\n }),\n );\n });\n });\n\n describe(\"should not provide a reference context\", () => {\n it(\"when the path is not found in transaction payload\", async () => {\n // GIVEN\n const payload = `0x01020304`;\n const field: ClearSignContextSuccess = {\n type: ClearSignContextType.TRUSTED_NAME,\n payload,\n reference: {\n type: ClearSignContextType.TRUSTED_NAME,\n valuePath: ContainerPath.VALUE,\n types: [\"type\"],\n sources: [\"source\"],\n },\n };\n // provide context\n jest\n .spyOn(apiMock, \"sendCommand\")\n .mockResolvedValueOnce(CommandResultFactory({ data: \"ok\" }));\n jest\n .spyOn(transactionParserMock, \"extractValue\")\n .mockReturnValueOnce(Left(new Error(\"path not found\")));\n\n // WHEN\n const task = new ProvideTransactionFieldDescriptionTask(apiMock, {\n field,\n serializedTransaction: new Uint8Array(),\n chainId: 1,\n transactionParser: transactionParserMock,\n contextModule: contextModuleMock,\n });\n const result = await task.run();\n\n // THEN\n expect(result).toEqual(Nothing);\n expect(apiMock.sendCommand).toHaveBeenCalledTimes(1);\n expect(contextModuleMock.getContext).not.toHaveBeenCalled();\n });\n\n it(\"when getContext return a type error\", async () => {\n // GIVEN\n const payload = `0x01020304`;\n const field: ClearSignContextSuccess = {\n type: ClearSignContextType.TRUSTED_NAME,\n payload,\n reference: {\n type: ClearSignContextType.TRUSTED_NAME,\n valuePath: ContainerPath.VALUE,\n types: [\"type\"],\n sources: [\"source\"],\n },\n };\n jest\n .spyOn(transactionParserMock, \"extractValue\")\n .mockReturnValueOnce(Right([new Uint8Array([0x11, 0x22, 0x33, 0x44])]));\n jest.spyOn(contextModuleMock, \"getContext\").mockResolvedValueOnce({\n type: ClearSignContextType.ERROR,\n error: new Error(\"getContext error\"),\n });\n // getChallenge\n jest\n .spyOn(apiMock, \"sendCommand\")\n .mockResolvedValueOnce(\n CommandResultFactory({ data: { challenge: 0x42 } }),\n );\n // provide context\n jest\n .spyOn(apiMock, \"sendCommand\")\n .mockResolvedValueOnce(CommandResultFactory({ data: \"ok\" }));\n\n // WHEN\n const task = new ProvideTransactionFieldDescriptionTask(apiMock, {\n field,\n serializedTransaction: new Uint8Array(),\n chainId: 1,\n transactionParser: transactionParserMock,\n contextModule: contextModuleMock,\n });\n const result = await task.run();\n\n // THEN\n expect(result).toEqual(Nothing);\n expect(apiMock.sendCommand).toHaveBeenCalledTimes(2);\n expect(contextModuleMock.getContext).toHaveBeenCalledTimes(1);\n });\n });\n\n describe(\"should return an error\", () => {\n it.each<ClearSignContextSuccess[\"type\"]>([\n ClearSignContextType.TRANSACTION_INFO,\n ClearSignContextType.PLUGIN,\n ClearSignContextType.EXTERNAL_PLUGIN,\n ])(\"when type is %s\", async (type) => {\n // GIVEN\n const payload = `payload-${type}`;\n const field: ClearSignContextSuccess = {\n type,\n payload,\n };\n\n // WHEN\n const task = new ProvideTransactionFieldDescriptionTask(apiMock, {\n field,\n serializedTransaction: new Uint8Array(),\n chainId: 1,\n transactionParser: transactionParserMock,\n contextModule: contextModuleMock,\n });\n const result = await task.run();\n\n // THEN\n expect(result.extract()).toEqual(\n CommandResultFactory({\n error: new InvalidStatusWordError(\n `The context type [${type}] is not valid as a transaction field or metadata`,\n ),\n }),\n );\n });\n\n it(\"when type is unknown\", async () => {\n // GIVEN\n const payload = `payload-unknown`;\n const field: ClearSignContextSuccess = {\n type: \"unknown\" as ClearSignContextType,\n payload,\n } as ClearSignContextSuccess;\n\n // WHEN\n const task = new ProvideTransactionFieldDescriptionTask(apiMock, {\n field,\n serializedTransaction: new Uint8Array(),\n chainId: 1,\n transactionParser: transactionParserMock,\n contextModule: contextModuleMock,\n });\n const result = await task.run();\n\n // THEN\n expect(result.extract()).toEqual(\n CommandResultFactory({\n error: new InvalidStatusWordError(\n `The context type [unknown] is not covered`,\n ),\n }),\n );\n });\n\n it(\"when getChallenge fails\", async () => {\n // GIVEN\n const payload = `0x01020304`;\n const field: ClearSignContextSuccess = {\n type: ClearSignContextType.TRUSTED_NAME,\n payload,\n reference: {\n type: ClearSignContextType.TRUSTED_NAME,\n valuePath: ContainerPath.VALUE,\n types: [\"type\"],\n sources: [\"source\"],\n },\n };\n jest.spyOn(apiMock, \"sendCommand\").mockResolvedValueOnce(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"getChallenge error\"),\n }),\n );\n jest\n .spyOn(transactionParserMock, \"extractValue\")\n .mockReturnValueOnce(Right([new Uint8Array([0x11, 0x22, 0x33, 0x44])]));\n\n // WHEN\n const task = new ProvideTransactionFieldDescriptionTask(apiMock, {\n field,\n serializedTransaction: new Uint8Array(),\n chainId: 1,\n transactionParser: transactionParserMock,\n contextModule: contextModuleMock,\n });\n const result = await task.run();\n\n // THEN\n expect(result.extract()).toEqual(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"getChallenge error\"),\n }),\n );\n });\n\n it(\"when provide reference fails\", async () => {\n // GIVEN\n const payload = `0x01020304`;\n const field: ClearSignContextSuccess = {\n type: ClearSignContextType.TRUSTED_NAME,\n payload,\n reference: {\n type: ClearSignContextType.TRUSTED_NAME,\n valuePath: ContainerPath.VALUE,\n types: [\"type\"],\n sources: [\"source\"],\n },\n };\n // getChallenge\n jest\n .spyOn(apiMock, \"sendCommand\")\n .mockResolvedValueOnce(CommandResultFactory({ data: \"ok\" }));\n // provide reference context\n jest.spyOn(apiMock, \"sendCommand\").mockResolvedValueOnce(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"provide reference error\"),\n }),\n );\n jest\n .spyOn(transactionParserMock, \"extractValue\")\n .mockReturnValueOnce(Right([new Uint8Array([0x11, 0x22, 0x33, 0x44])]));\n jest.spyOn(contextModuleMock, \"getContext\").mockResolvedValueOnce({\n type: ClearSignContextType.TRUSTED_NAME,\n payload: \"0x05060708\",\n });\n\n // WHEN\n const task = new ProvideTransactionFieldDescriptionTask(apiMock, {\n field,\n serializedTransaction: new Uint8Array(),\n chainId: 1,\n transactionParser: transactionParserMock,\n contextModule: contextModuleMock,\n });\n const result = await task.run();\n\n // THEN\n expect(result.extract()).toEqual(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"provide reference error\"),\n }),\n );\n });\n });\n});\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["ClearSignContextType", "ContainerPath", "CommandResultFactory", "InvalidStatusWordError", "Left", "Nothing", "Right", "GetChallengeCommand", "ProvideEnumCommand", "ProvideNFTInformationCommand", "ProvideTokenInformationCommand", "ProvideTransactionFieldDescriptionCommand", "ProvideTrustedNameCommand", "ProvideTransactionFieldDescriptionTask", "transactionParserMock", "contextModuleMock", "apiMock", "type", "commandInstanceType", "field", "result", "payload", "payload1", "payload2", "extractedValue", "extractedValueAddress"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{ByteArrayBuilder as d,isSuccessCommandResult as i}from"@ledgerhq/device-management-kit";import{DerivationPathUtils as c}from"@ledgerhq/signer-utils";import{Just as s,Nothing as m}from"purify-ts";import{ProvideTransactionInformationCommand as l}from"../../app-binder/command/ProvideTransactionInformationCommand";import{StoreTransactionCommand as u}from"../../app-binder/command/StoreTransactionCommand";import{ProvideTransactionFieldDescriptionTask as p}from"./ProvideTransactionFieldDescriptionTask";import{SendCommandInChunksTask as C}from"./SendCommandInChunksTask";import{SendPayloadInChunksTask as h}from"./SendPayloadInChunksTask";class S{constructor(n,t){this.api=n;this.args=t}async run(){const n=c.splitPath(this.args.derivationPath),t=new d;t.add8BitUIntToData(n.length),n.forEach(r=>{t.add32BitUIntToData(r)}),t.addBufferToData(this.args.serializedTransaction);const o=await new C(this.api,{data:t.build(),commandFactory:r=>new u({serializedTransaction:r.chunkedData,isFirstChunk:r.isFirstChunk})}).run();if(!i(o))return s(o);const a=await new h(this.api,{payload:this.args.context.transactionInfo,commandFactory:r=>new l({data:r.chunkedData,isFirstChunk:r.isFirstChunk})}).run();if(!i(a))return s(a);for(const r of this.args.context.transactionFields){const e=await new p(this.api,{field:r,serializedTransaction:this.args.serializedTransaction,chainId:this.args.chainId,transactionParser:this.args.transactionParser,contextModule:this.args.contextModule}).run();if(e.isJust())return e}return m}}export{S 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 ContextModule,\n} from \"@ledgerhq/context-module\";\nimport {\n ByteArrayBuilder,\n type CommandErrorResult,\n type InternalApi,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\nimport { DerivationPathUtils } from \"@ledgerhq/signer-utils\";\nimport { Just, type Maybe, Nothing } from \"purify-ts\";\n\nimport { type ProvideNFTInformationCommandErrorCodes } from \"@internal/app-binder/command/ProvideNFTInformationCommand\";\nimport { ProvideTransactionInformationCommand } from \"@internal/app-binder/command/ProvideTransactionInformationCommand\";\nimport { type SetExternalPluginCommandErrorCodes } from \"@internal/app-binder/command/SetExternalPluginCommand\";\nimport { type SetPluginCommandErrorCodes } from \"@internal/app-binder/command/SetPluginCommand\";\nimport { StoreTransactionCommand } from \"@internal/app-binder/command/StoreTransactionCommand\";\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 transactionFields: ClearSignContextSuccess[];\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\n | SetExternalPluginCommandErrorCodes\n | SetPluginCommandErrorCodes\n | ProvideNFTInformationCommandErrorCodes;\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 // 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 },\n ).run();\n\n if (result.isJust()) {\n return result;\n }\n }\n\n return Nothing;\n }\n}\n"],
|
|
5
|
+
"mappings": "AAIA,OACE,oBAAAA,EAGA,0BAAAC,MACK,kCACP,OAAS,uBAAAC,MAA2B,yBACpC,OAAS,QAAAC,EAAkB,WAAAC,MAAe,YAG1C,OAAS,wCAAAC,MAA4C,oEAGrD,OAAS,2BAAAC,MAA+B,uDAGxC,OAAS,0CAAAC,MAA8C,2CACvD,OAAS,2BAAAC,MAA+B,4BACxC,OAAS,2BAAAC,MAA+B,4BAsBjC,MAAMC,CAAqC,CAChD,YACUC,EACAC,EACR,CAFQ,SAAAD,EACA,UAAAC,CACP,CAEH,MAAM,KAEJ,CAEA,MAAMC,EAAQX,EAAoB,UAAU,KAAK,KAAK,cAAc,EAC9DY,EAAU,IAAId,EACpBc,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,CAACX,EAAuBe,CAAsB,EAChD,OAAOb,EAAKa,CAAsB,EAIpC,MAAMC,EAAwB,MAAM,IAAIR,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,CAACX,EAAuBgB,CAAqB,EAC/C,OAAOd,EAAKc,CAAqB,EAInC,UAAWC,KAAS,KAAK,KAAK,QAAQ,kBAAmB,CACvD,MAAMC,EAAS,MAAM,IAAIZ,EACvB,KAAK,IACL,CACE,MAAAW,EACA,sBAAuB,KAAK,KAAK,sBACjC,QAAS,KAAK,KAAK,QACnB,kBAAmB,KAAK,KAAK,kBAC7B,cAAe,KAAK,KAAK,aAC3B,CACF,EAAE,IAAI,EAEN,GAAIC,EAAO,OAAO,EAChB,OAAOA,CAEX,CAEA,OAAOf,CACT,CACF",
|
|
6
|
+
"names": ["ByteArrayBuilder", "isSuccessCommandResult", "DerivationPathUtils", "Just", "Nothing", "ProvideTransactionInformationCommand", "StoreTransactionCommand", "ProvideTransactionFieldDescriptionTask", "SendCommandInChunksTask", "SendPayloadInChunksTask", "ProvideTransactionGenericContextTask", "api", "args", "paths", "builder", "path", "storeTransactionResult", "transactionInfoResult", "field", "result"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{CommandResultFactory as e,InvalidStatusWordError as n}from"@ledgerhq/device-management-kit";import{Just as s,Nothing as p}from"purify-ts";import{ProvideTransactionFieldDescriptionTask as i}from"./ProvideTransactionFieldDescriptionTask";import{ProvideTransactionGenericContextTask as o}from"./ProvideTransactionGenericContextTask";import{SendCommandInChunksTask as a}from"./SendCommandInChunksTask";import{SendPayloadInChunksTask as c}from"./SendPayloadInChunksTask";describe("ProvideTransactionGenericContextTask",()=>{const d="44/60'/0'/0'/0/0",u=new Uint8Array([18,52]),l="0x5678",r={derivationPath:d,serializedTransaction:u,context:{transactionInfo:l,transactionFields:[]},chainId:1,transactionParser:{},contextModule:{}};describe("run",()=>{beforeEach(()=>{jest.resetAllMocks()}),describe("should return an error",()=>{it("when storeTransactionResult fail",async()=>{jest.spyOn(a.prototype,"run").mockResolvedValue(e({error:new n("storeTransactionError")}));const t=await new o({},r).run();expect(t).toEqual(s(e({error:new n("storeTransactionError")})))}),it("when provideTransactionInformationResult fail",async()=>{jest.spyOn(a.prototype,"run").mockResolvedValue(e({data:"0x1234"})),jest.spyOn(c.prototype,"run").mockResolvedValue(e({error:new n("provideTransactionInformationError")}));const t=await new o({},r).run();expect(t).toEqual(s(e({error:new n("provideTransactionInformationError")})))}),it("when ProvideTransactionGenericContextTask fail",async()=>{jest.spyOn(a.prototype,"run").mockResolvedValue(e({data:"0x1234"})),jest.spyOn(c.prototype,"run").mockResolvedValue(e({data:"0x5678"})),jest.spyOn(i.prototype,"run").mockResolvedValue(s(e({error:new n("provideTransactionGenericContextTaskError")})));const t=await new o({},{...r,context:{transactionInfo:l,transactionFields:[{}]}}).run();expect(t).toEqual(s(e({error:new n("provideTransactionGenericContextTaskError")})))})}),it("should call ProvideTransactionFieldDescriptionTask for each field",async()=>{const t=["field-1","field-2"];jest.spyOn(a.prototype,"run").mockResolvedValue(e({data:"0x1234"})),jest.spyOn(c.prototype,"run").mockResolvedValue(e({data:"0x5678"})),jest.spyOn(i.prototype,"run").mockResolvedValue(p),await new o({},{...r,context:{transactionInfo:l,transactionFields:t}}).run(),expect(i.prototype.run).toHaveBeenCalledTimes(2)}),it("should return Nothing when all fields are provided",async()=>{jest.spyOn(a.prototype,"run").mockResolvedValue(e({data:"0x1234"})),jest.spyOn(c.prototype,"run").mockResolvedValue(e({data:"0x5678"})),jest.spyOn(i.prototype,"run").mockResolvedValue(p);const t=await new o({},r).run();expect(t).toEqual(p)})})});
|
|
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 ContextModule,\n} from \"@ledgerhq/context-module\";\nimport {\n type CommandErrorResult,\n CommandResultFactory,\n type InternalApi,\n InvalidStatusWordError,\n} from \"@ledgerhq/device-management-kit\";\nimport { Just, Nothing } from \"purify-ts\";\n\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 const chainId = 1;\n const transactionParser = {} as TransactionParserService;\n const contextModule = {} as ContextModule;\n\n const defaultArgs: ProvideTransactionGenericContextTaskArgs = {\n derivationPath,\n serializedTransaction,\n context: {\n transactionInfo,\n transactionFields,\n },\n chainId,\n transactionParser,\n contextModule,\n };\n describe(\"run\", () => {\n beforeEach(() => {\n jest.resetAllMocks();\n });\n\n describe(\"should return an error\", () => {\n it(\"when storeTransactionResult fail\", async () => {\n // GIVEN\n jest.spyOn(SendCommandInChunksTask.prototype, \"run\").mockResolvedValue(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"storeTransactionError\"),\n }),\n );\n\n // WHEN\n const result = await new ProvideTransactionGenericContextTask(\n {} as InternalApi,\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 jest.spyOn(SendCommandInChunksTask.prototype, \"run\").mockResolvedValue(\n CommandResultFactory({\n data: \"0x1234\",\n }),\n );\n jest.spyOn(SendPayloadInChunksTask.prototype, \"run\").mockResolvedValue(\n CommandResultFactory({\n error: new InvalidStatusWordError(\n \"provideTransactionInformationError\",\n ),\n }),\n );\n\n // WHEN\n const result = await new ProvideTransactionGenericContextTask(\n {} as InternalApi,\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 jest.spyOn(SendCommandInChunksTask.prototype, \"run\").mockResolvedValue(\n CommandResultFactory({\n data: \"0x1234\",\n }),\n );\n jest.spyOn(SendPayloadInChunksTask.prototype, \"run\").mockResolvedValue(\n CommandResultFactory({\n data: \"0x5678\",\n }),\n );\n jest\n .spyOn(ProvideTransactionFieldDescriptionTask.prototype, \"run\")\n .mockResolvedValue(\n Just(\n CommandResultFactory({\n error: new InvalidStatusWordError(\n \"provideTransactionGenericContextTaskError\",\n ),\n }) as CommandErrorResult,\n ),\n );\n\n // WHEN\n const result = await new ProvideTransactionGenericContextTask(\n {} as InternalApi,\n {\n ...defaultArgs,\n context: {\n transactionInfo,\n transactionFields: [{} as ClearSignContextSuccess],\n },\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[] = [\n \"field-1\" as unknown as ClearSignContextSuccess,\n \"field-2\" as unknown as ClearSignContextSuccess,\n ];\n jest.spyOn(SendCommandInChunksTask.prototype, \"run\").mockResolvedValue(\n CommandResultFactory({\n data: \"0x1234\",\n }),\n );\n jest.spyOn(SendPayloadInChunksTask.prototype, \"run\").mockResolvedValue(\n CommandResultFactory({\n data: \"0x5678\",\n }),\n );\n jest\n .spyOn(ProvideTransactionFieldDescriptionTask.prototype, \"run\")\n .mockResolvedValue(Nothing);\n\n // WHEN\n await new ProvideTransactionGenericContextTask({} as InternalApi, {\n ...defaultArgs,\n context: {\n transactionInfo,\n transactionFields: fields,\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 jest.spyOn(SendCommandInChunksTask.prototype, \"run\").mockResolvedValue(\n CommandResultFactory({\n data: \"0x1234\",\n }),\n );\n jest.spyOn(SendPayloadInChunksTask.prototype, \"run\").mockResolvedValue(\n CommandResultFactory({\n data: \"0x5678\",\n }),\n );\n jest\n .spyOn(ProvideTransactionFieldDescriptionTask.prototype, \"run\")\n .mockResolvedValue(Nothing);\n\n // WHEN\n const result = await new ProvideTransactionGenericContextTask(\n {} as InternalApi,\n defaultArgs,\n ).run();\n\n // THEN\n expect(result).toEqual(Nothing);\n });\n });\n});\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["CommandResultFactory", "InvalidStatusWordError", "Just", "Nothing", "ProvideTransactionFieldDescriptionTask", "ProvideTransactionGenericContextTask", "SendCommandInChunksTask", "SendPayloadInChunksTask", "derivationPath", "serializedTransaction", "transactionInfo", "defaultArgs", "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 c{constructor(n,s){this.api=n;this.args=s}async run(){const{data:n,commandFactory:s}=this.args,t=new d(n.length).addBufferToData(n).build();for(let a=0;a<t.length;a+=e){const o=a+e>=t.length,r=await this.api.sendCommand(s({chunkedData:t.slice(a,a+e),isFirstChunk:a===0}));if(!u(r))return r;if(o)return m({data:r.data})}throw new i("No result")}}export{c 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\nexport type SendCommandInChunksTaskArgs<T> = {\n data: Uint8Array;\n commandFactory: <V extends ChunkableCommandArgs & Record<string, unknown>>(\n args: ChunkableCommandArgs,\n ) => Command<T, V>;\n};\n\nexport type ChunkableCommandArgs = {\n chunkedData: Uint8Array;\n isFirstChunk: boolean;\n};\n\nexport class SendCommandInChunksTask<T> {\n constructor(\n private api: InternalApi,\n private args: SendCommandInChunksTaskArgs<T>,\n ) {}\n\n async run(): Promise<CommandResult<T, void>> {\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,kCAcA,MAAMC,CAA2B,CACtC,YACUC,EACAC,EACR,CAFQ,SAAAD,EACA,UAAAC,CACP,CAEH,MAAM,KAAuC,CAC3C,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 r,ByteArrayBuilder as m,CommandResultFactory as i,isSuccessCommandResult as u}from"@ledgerhq/device-management-kit";import{SendEIP712StructImplemCommand as n,StructImplemType as s}from"../../app-binder/command/SendEIP712StructImplemCommand";class o{constructor(t,a){this.api=t;this.args=a}async run(){if(this.args.type!==s.FIELD)return await this.api.sendCommand(new n(this.args));let t=i({data:void 0});const a=new m(this.args.value.length+2).add16BitUIntToData(this.args.value.length).addBufferToData(this.args.value).build();for(let e=0;e<a.length;e+=r)if(t=await this.api.sendCommand(new n({type:s.FIELD,value:{data:a.slice(e,e+r),isLastChunk:e>=a.length-r}})),!u(t))return t;return t}}export{o 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\";\n\nexport type SendEIP712StructImplemTaskArgs =\n | {\n type: StructImplemType.ROOT;\n value: string;\n }\n | {\n type: StructImplemType.ARRAY;\n value: number;\n }\n | {\n type: StructImplemType.FIELD;\n value: Uint8Array;\n };\n\nexport class SendEIP712StructImplemTask {\n constructor(\n private api: InternalApi,\n private args: SendEIP712StructImplemTaskArgs,\n ) {}\n\n async run(): Promise<CommandResult<void>> {\n // No particular operation to perform on root and array implementations.\n if (this.args.type !== StructImplemType.FIELD) {\n return await this.api.sendCommand(\n new SendEIP712StructImplemCommand(this.args),\n );\n }\n\n // If the value is a field, we should prepend its size, and chunk it if necessary.\n\n let result = CommandResultFactory<void, void>({ 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,6DAgBA,MAAMC,CAA2B,CACtC,YACUC,EACAC,EACR,CAFQ,SAAAD,EACA,UAAAC,CACP,CAEH,MAAM,KAAoC,CAExC,GAAI,KAAK,KAAK,OAASH,EAAiB,MACtC,OAAO,MAAM,KAAK,IAAI,YACpB,IAAID,EAA8B,KAAK,IAAI,CAC7C,EAKF,IAAIK,EAASP,EAAiC,CAAE,KAAM,MAAU,CAAC,EAEjE,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(()=>{jest.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 jest.resetAllMocks();\n });\n\n it(\"Should forward root implementations\", async () => {\n // GIVEN\n const args: SendEIP712StructImplemTaskArgs = {\n type: StructImplemType.ROOT,\n value: \"root name\",\n };\n // WHEN\n await new SendEIP712StructImplemTask(apiMock, args).run();\n // THEN\n expect(apiMock.sendCommand.mock.calls).toHaveLength(1);\n expect(apiMock.sendCommand.mock.calls[0]![0]).toStrictEqual(\n new SendEIP712StructImplemCommand({\n type: StructImplemType.ROOT,\n value: \"root name\",\n }),\n );\n });\n\n it(\"Should forward array implementations\", async () => {\n // GIVEN\n const args: SendEIP712StructImplemTaskArgs = {\n type: StructImplemType.ARRAY,\n value: 42,\n };\n // WHEN\n await new SendEIP712StructImplemTask(apiMock, args).run();\n // THEN\n expect(apiMock.sendCommand.mock.calls).toHaveLength(1);\n expect(apiMock.sendCommand.mock.calls[0]![0]).toStrictEqual(\n new SendEIP712StructImplemCommand({\n type: StructImplemType.ARRAY,\n value: 42,\n }),\n );\n });\n\n it(\"Should prepend length to small field implementations\", async () => {\n // GIVEN\n const args: SendEIP712StructImplemTaskArgs = {\n type: StructImplemType.FIELD,\n value: Uint8Array.from([\n 0xba, 0xf2, 0x12, 0x7b, 0x49, 0xfc, 0x93, 0xcb, 0xca, 0x62, 0x69, 0xfa,\n 0xde, 0x0f, 0x7f, 0x31, 0xdf, 0x4c, 0x88, 0xa7,\n ]),\n };\n // WHEN\n apiMock.sendCommand.mockResolvedValue(\n CommandResultFactory({ data: undefined }),\n );\n await new SendEIP712StructImplemTask(apiMock, args).run();\n // THEN\n expect(apiMock.sendCommand.mock.calls).toHaveLength(1);\n expect(apiMock.sendCommand.mock.calls[0]![0]).toStrictEqual(\n new SendEIP712StructImplemCommand({\n type: StructImplemType.FIELD,\n value: {\n data: Uint8Array.from([\n 0x00, 0x14, 0xba, 0xf2, 0x12, 0x7b, 0x49, 0xfc, 0x93, 0xcb, 0xca,\n 0x62, 0x69, 0xfa, 0xde, 0x0f, 0x7f, 0x31, 0xdf, 0x4c, 0x88, 0xa7,\n ]),\n isLastChunk: true,\n },\n }),\n );\n });\n\n it(\"Should prepend length and chunk big field implementations\", async () => {\n // GIVEN\n const args: SendEIP712StructImplemTaskArgs = {\n type: StructImplemType.FIELD,\n value: Uint8Array.from([\n 0x96, 0x80, 0x9f, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x11, 0x2f, 0x07, 0x32, 0xe5, 0x9e, 0x76, 0x00,\n 0x76, 0x8d, 0xfc, 0x35, 0xba, 0x74, 0x4b, 0x89, 0xf2, 0x35, 0x6c, 0xd8,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x5f, 0x94, 0x72,\n 0x76, 0x74, 0x9c, 0xe6, 0x46, 0xf6, 0x8a, 0xc8, 0xc2, 0x48, 0x42, 0x00,\n 0x45, 0xcb, 0x7b, 0x5e, 0xbd, 0xf2, 0x65, 0x7f, 0xfc, 0x1f, 0xad, 0xfd,\n 0x73, 0xcf, 0x0a, 0x8c, 0xde, 0x95, 0xd5, 0x0b, 0x62, 0xd3, 0xdf, 0x8c,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x32,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n ]),\n };\n // WHEN\n apiMock.sendCommand.mockResolvedValue(\n CommandResultFactory({ data: undefined }),\n );\n await new SendEIP712StructImplemTask(apiMock, args).run();\n // THEN\n expect(apiMock.sendCommand.mock.calls).toHaveLength(2);\n expect(apiMock.sendCommand.mock.calls[0]![0]).toStrictEqual(\n new SendEIP712StructImplemCommand({\n type: StructImplemType.FIELD,\n value: {\n data: Uint8Array.from([\n 0x01, 0x04, 0x96, 0x80, 0x9f, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x2f, 0x07, 0x32,\n 0xe5, 0x9e, 0x76, 0x00, 0x76, 0x8d, 0xfc, 0x35, 0xba, 0x74, 0x4b,\n 0x89, 0xf2, 0x35, 0x6c, 0xd8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x5f, 0x94, 0x72, 0x76, 0x74,\n 0x9c, 0xe6, 0x46, 0xf6, 0x8a, 0xc8, 0xc2, 0x48, 0x42, 0x00, 0x45,\n 0xcb, 0x7b, 0x5e, 0xbd, 0xf2, 0x65, 0x7f, 0xfc, 0x1f, 0xad, 0xfd,\n 0x73, 0xcf, 0x0a, 0x8c, 0xde, 0x95, 0xd5, 0x0b, 0x62, 0xd3, 0xdf,\n 0x8c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00,\n 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00,\n ]),\n isLastChunk: false,\n },\n }),\n );\n expect(apiMock.sendCommand.mock.calls[1]![0]).toStrictEqual(\n new SendEIP712StructImplemCommand({\n type: StructImplemType.FIELD,\n value: {\n data: Uint8Array.from([0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]),\n isLastChunk: true,\n },\n }),\n );\n });\n\n it(\"Should fail if the command failed to be sent\", async () => {\n // GIVEN\n const args: SendEIP712StructImplemTaskArgs = {\n type: StructImplemType.ROOT,\n value: \"root name\",\n };\n // WHEN\n apiMock.sendCommand.mockRejectedValueOnce(new Error(\"error\"));\n // THEN\n await expect(\n new SendEIP712StructImplemTask(apiMock, args).run(),\n ).rejects.toStrictEqual(new Error(\"error\"));\n });\n\n it(\"Should fail if a chunked command failed to be sent\", async () => {\n // GIVEN\n const args: SendEIP712StructImplemTaskArgs = {\n type: StructImplemType.FIELD,\n value: Uint8Array.from([\n 0x96, 0x80, 0x9f, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x11, 0x2f, 0x07, 0x32, 0xe5, 0x9e, 0x76, 0x00,\n 0x76, 0x8d, 0xfc, 0x35, 0xba, 0x74, 0x4b, 0x89, 0xf2, 0x35, 0x6c, 0xd8,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x5f, 0x94, 0x72,\n 0x76, 0x74, 0x9c, 0xe6, 0x46, 0xf6, 0x8a, 0xc8, 0xc2, 0x48, 0x42, 0x00,\n 0x45, 0xcb, 0x7b, 0x5e, 0xbd, 0xf2, 0x65, 0x7f, 0xfc, 0x1f, 0xad, 0xfd,\n 0x73, 0xcf, 0x0a, 0x8c, 0xde, 0x95, 0xd5, 0x0b, 0x62, 0xd3, 0xdf, 0x8c,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x32,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n ]),\n };\n // WHEN\n apiMock.sendCommand.mockResolvedValue(\n CommandResultFactory({\n error: new UnknownDeviceExchangeError(\"error\"),\n }),\n );\n // THEN\n await expect(\n new SendEIP712StructImplemTask(apiMock, args).run(),\n ).resolves.toStrictEqual(\n CommandResultFactory({ error: new UnknownDeviceExchangeError(\"error\") }),\n );\n });\n});\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["CommandResultFactory", "UnknownDeviceExchangeError", "SendEIP712StructImplemCommand", "StructImplemType", "makeDeviceActionInternalApiMock", "SendEIP712StructImplemTask", "apiMock", "args"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{CommandResultFactory as n,InvalidStatusWordError as r}from"@ledgerhq/device-management-kit";import{PayloadUtils as o}from"../../shared/utils/PayloadUtils";import{SendCommandInChunksTask as s}from"./SendCommandInChunksTask";class y{constructor(a,d){this.api=a;this.args=d}async run(){const a=o.getBufferFromPayload(this.args.payload);return a?new s(this.api,{data:a,commandFactory:this.args.commandFactory}).run():n({error:new r("Invalid payload")})}}export{y 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 { 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, void>> {\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,kCAEP,OAAS,gBAAAC,MAAoB,sCAE7B,OACE,2BAAAC,MAEK,4BAOA,MAAMC,CAA2B,CACtC,YACUC,EACAC,EACR,CAFQ,SAAAD,EACA,UAAAC,CACP,CACH,MAAM,KAAuC,CAC3C,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 e,InvalidStatusWordError as t}from"@ledgerhq/device-management-kit";import{SendCommandInChunksTask as r}from"./SendCommandInChunksTask";import{SendPayloadInChunksTask as o}from"./SendPayloadInChunksTask";jest.mock("./SendCommandInChunksTask");describe("SendPayloadInChunksTask",()=>{describe("run",()=>{beforeAll(()=>{jest.resetAllMocks()}),it("should return a CommandResult",async()=>{const a="0x1234";jest.spyOn(r.prototype,"run").mockResolvedValue(e({data:"0x5678"}));const n=await new o({},{payload:a,commandFactory:jest.fn()}).run();expect(n).toEqual(e({data:"0x5678"}))}),it("should return an error CommandResult",async()=>{const a="invalid-payload",n=await new o({},{payload:a,commandFactory:jest.fn()}).run();expect(n).toEqual(e({error:new t("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\njest.mock(\"./SendCommandInChunksTask\");\n\ndescribe(\"SendPayloadInChunksTask\", () => {\n describe(\"run\", () => {\n beforeAll(() => {\n jest.resetAllMocks();\n });\n\n it(\"should return a CommandResult\", async () => {\n // GIVEN\n const payload = \"0x1234\";\n jest\n .spyOn(SendCommandInChunksTask.prototype, \"run\")\n .mockResolvedValue(CommandResultFactory({ data: \"0x5678\" }));\n\n // WHEN\n const result = await new SendPayloadInChunksTask({} as InternalApi, {\n payload,\n commandFactory: jest.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: jest.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,KAAK,KAAK,2BAA2B,EAErC,SAAS,0BAA2B,IAAM,CACxC,SAAS,MAAO,IAAM,CACpB,UAAU,IAAM,CACd,KAAK,cAAc,CACrB,CAAC,EAED,GAAG,gCAAiC,SAAY,CAE9C,MAAMC,EAAU,SAChB,KACG,MAAMF,EAAwB,UAAW,KAAK,EAC9C,kBAAkBF,EAAqB,CAAE,KAAM,QAAS,CAAC,CAAC,EAG7D,MAAMK,EAAS,MAAM,IAAIF,EAAwB,CAAC,EAAkB,CAClE,QAAAC,EACA,eAAgB,KAAK,GAAG,CAC1B,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,KAAK,GAAG,CAC1B,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 i,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 C{constructor(r,a){this.api=r;this.args=a}async run(){const{derivationPath:r,message:a}=this.args,n=l.splitPath(r),t=new d(a.length+1+(n.length+1)*c);t.add8BitUIntToData(n.length),n.forEach(e=>{t.add32BitUIntToData(e)}),t.add32BitUIntToData(a.length),typeof a=="string"?t.addAsciiStringToData(a):t.addBufferToData(a);const o=t.build(),s=await new p(this.api,{data:o,commandFactory:e=>new u({data:e.chunkedData,isFirstChunk:e.isFirstChunk})}).run();return g(s)?s.data.mapOrDefault(e=>i({data:e}),i({error:new m("no signature returned")})):s}}export{C 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\";\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, void>> {\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,0DAEP,OAAS,2BAAAC,MAA+B,4BAExC,MAAMC,EAAY,EAOX,MAAMC,CAA4B,CACvC,YACUC,EACAC,EACR,CAFQ,SAAAD,EACA,UAAAC,CACP,CAEH,MAAM,KAA+C,CACnD,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 o}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)}),s=t({data:f});beforeEach(()=>{jest.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(s);const a=await new n(x,e).run();expect(x.sendCommand.mock.calls).toHaveLength(1),expect(x.sendCommand.mock.calls[0][0]).toStrictEqual(new o({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(s);const a=await new n(x,e).run();expect(x.sendCommand.mock.calls).toHaveLength(1),expect(x.sendCommand.mock.calls[0][0]).toStrictEqual(new o({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(s),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 o({data:l.slice(0,255),isFirstChunk:!0})),expect(x.sendCommand.mock.calls[1][0]).toStrictEqual(new o({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(s);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 jest.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-v6";import{Nothing as C}from"purify-ts";import{TransactionType as f}from"../../../api/model/Transaction";import{SignTransactionCommand as v}from"../../app-binder/command/SignTransactionCommand";import{StartTransactionCommand as I}from"../../app-binder/command/StartTransactionCommand";const U=4;class E{constructor(o,e){this.api=o;this.args=e}async run(){if(!this.args.isLegacy){const t=await this.api.sendCommand(new I);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,r=T.splitPath(o),n=new g(e.length+1+r.length*U);n.add8BitUIntToData(r.length),r.forEach(t=>{n.add32BitUIntToData(t)});const i=n.build(),a=this.getChunks(i,e);let c=C;for(let t=0;t<a.length;t++){const s=await this.api.sendCommand(new v({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 r=Uint8Array.from([...o,...e]);let n=u;if(r.length<=n)return[r];if(this.args.transactionType===f.LEGACY)try{const c=A(e);if(Array.isArray(c)){const t=c.slice(-3),s=S(t),l=y(s).subarray(1);for(n=u;n>o.length;n--){const m=r.length%n;if(m===0||m>l.length)break}}}catch{n=u}let i=0;const a=[];for(;i<r.length;)a.push(r.slice(i,i+n)),i+=n;return a}recoverSignature(o){return o.map(({v:e,r,s:n})=>{if(this.args.transactionType!==f.LEGACY)return{v:e,r,s:n};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,s:n}})}}export{E as SendSignTransactionTask};
|
|
2
|
+
//# sourceMappingURL=SendSignTransactionTask.js.map
|