@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
|
@@ -1,69 +1,2 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
exports.SignEIP712Command = void 0;
|
|
4
|
-
// https://github.com/LedgerHQ/app-ethereum/blob/develop/doc/ethapp.adoc#sign-eth-eip-712
|
|
5
|
-
const device_management_kit_1 = require("@ledgerhq/device-management-kit");
|
|
6
|
-
const DerivationPathUtils_1 = require("../../shared/utils/DerivationPathUtils");
|
|
7
|
-
const R_LENGTH = 32;
|
|
8
|
-
const S_LENGTH = 32;
|
|
9
|
-
class SignEIP712Command {
|
|
10
|
-
args;
|
|
11
|
-
constructor(args) {
|
|
12
|
-
this.args = args;
|
|
13
|
-
}
|
|
14
|
-
getApdu() {
|
|
15
|
-
const { derivationPath, legacyArgs } = this.args;
|
|
16
|
-
const signEIP712Args = {
|
|
17
|
-
cla: 0xe0,
|
|
18
|
-
ins: 0x0c,
|
|
19
|
-
p1: 0x00,
|
|
20
|
-
p2: legacyArgs.isJust() ? 0x00 : 0x01,
|
|
21
|
-
};
|
|
22
|
-
const paths = DerivationPathUtils_1.DerivationPathUtils.splitPath(derivationPath);
|
|
23
|
-
const builder = new device_management_kit_1.ApduBuilder(signEIP712Args);
|
|
24
|
-
builder.add8BitUIntToData(paths.length);
|
|
25
|
-
for (const path of paths) {
|
|
26
|
-
builder.add32BitUIntToData(path);
|
|
27
|
-
}
|
|
28
|
-
legacyArgs.ifJust(({ domainHash, messageHash }) => {
|
|
29
|
-
builder.addHexaStringToData(domainHash);
|
|
30
|
-
builder.addHexaStringToData(messageHash);
|
|
31
|
-
});
|
|
32
|
-
return builder.build();
|
|
33
|
-
}
|
|
34
|
-
parseResponse(apduResponse) {
|
|
35
|
-
const parser = new device_management_kit_1.ApduParser(apduResponse);
|
|
36
|
-
if (!device_management_kit_1.CommandUtils.isSuccessResponse(apduResponse)) {
|
|
37
|
-
return (0, device_management_kit_1.CommandResultFactory)({
|
|
38
|
-
error: device_management_kit_1.GlobalCommandErrorHandler.handle(apduResponse),
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
const v = parser.extract8BitUInt();
|
|
42
|
-
if (v === undefined) {
|
|
43
|
-
return (0, device_management_kit_1.CommandResultFactory)({
|
|
44
|
-
error: new device_management_kit_1.InvalidStatusWordError("V is missing"),
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
const r = parser.encodeToHexaString(parser.extractFieldByLength(R_LENGTH), true);
|
|
48
|
-
if (!r) {
|
|
49
|
-
return (0, device_management_kit_1.CommandResultFactory)({
|
|
50
|
-
error: new device_management_kit_1.InvalidStatusWordError("R is missing"),
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
const s = parser.encodeToHexaString(parser.extractFieldByLength(S_LENGTH), true);
|
|
54
|
-
if (!s) {
|
|
55
|
-
return (0, device_management_kit_1.CommandResultFactory)({
|
|
56
|
-
error: new device_management_kit_1.InvalidStatusWordError("S is missing"),
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
return (0, device_management_kit_1.CommandResultFactory)({
|
|
60
|
-
data: {
|
|
61
|
-
r,
|
|
62
|
-
s,
|
|
63
|
-
v,
|
|
64
|
-
},
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
exports.SignEIP712Command = SignEIP712Command;
|
|
69
|
-
//# sourceMappingURL=SignEIP712Command.js.map
|
|
1
|
+
"use strict";var d=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var c=(s,e)=>{for(var r in e)d(s,r,{get:e[r],enumerable:!0})},y=(s,e,r,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of u(e))!l.call(s,n)&&n!==r&&d(s,n,{get:()=>e[n],enumerable:!(a=p(e,n))||a.enumerable});return s};var A=s=>y(d({},"__esModule",{value:!0}),s);var P={};c(P,{SignEIP712Command:()=>C});module.exports=A(P);var t=require("@ledgerhq/device-management-kit"),m=require("@ledgerhq/signer-utils");const S=32,x=32;class C{constructor(e){this.args=e}getApdu(){const{derivationPath:e,legacyArgs:r}=this.args,a={cla:224,ins:12,p1:0,p2:r.isJust()?0:1},n=m.DerivationPathUtils.splitPath(e),o=new t.ApduBuilder(a);o.add8BitUIntToData(n.length);for(const i of n)o.add32BitUIntToData(i);return r.ifJust(({domainHash:i,messageHash:g})=>{o.addHexaStringToData(i),o.addHexaStringToData(g)}),o.build()}parseResponse(e){const r=new t.ApduParser(e);if(!t.CommandUtils.isSuccessResponse(e))return(0,t.CommandResultFactory)({error:t.GlobalCommandErrorHandler.handle(e)});const a=r.extract8BitUInt();if(a===void 0)return(0,t.CommandResultFactory)({error:new t.InvalidStatusWordError("V is missing")});const n=r.encodeToHexaString(r.extractFieldByLength(S),!0);if(!n)return(0,t.CommandResultFactory)({error:new t.InvalidStatusWordError("R is missing")});const o=r.encodeToHexaString(r.extractFieldByLength(x),!0);return o?(0,t.CommandResultFactory)({data:{r:n,s:o,v:a}}):(0,t.CommandResultFactory)({error:new t.InvalidStatusWordError("S is missing")})}}0&&(module.exports={SignEIP712Command});
|
|
2
|
+
//# sourceMappingURL=SignEIP712Command.js.map
|
|
@@ -1 +1,7 @@
|
|
|
1
|
-
{
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../src/internal/app-binder/command/SignEIP712Command.ts"],
|
|
4
|
+
"sourcesContent": ["// https://github.com/LedgerHQ/app-ethereum/blob/develop/doc/ethapp.adoc#sign-eth-eip-712\nimport {\n type Apdu,\n ApduBuilder,\n type ApduBuilderArgs,\n ApduParser,\n type ApduResponse,\n type Command,\n type CommandResult,\n CommandResultFactory,\n CommandUtils,\n GlobalCommandErrorHandler,\n InvalidStatusWordError,\n} from \"@ledgerhq/device-management-kit\";\nimport { DerivationPathUtils } from \"@ledgerhq/signer-utils\";\nimport { type Maybe } from \"purify-ts\";\n\nimport { type Signature } from \"@api/model/Signature\";\n\nconst R_LENGTH = 32;\nconst S_LENGTH = 32;\n\n/**\n * Legacy implementation parameters. It is now replaced with prior calls to the following commands:\n * - SendEIP712StructDefinitionCommand\n * - SendEIP712StructImplemCommand\n * - SendEIP712FilteringCommand\n */\nexport type SignEIP712CommandV0Args = {\n domainHash: string;\n messageHash: string;\n};\n\nexport type SignEIP712CommandArgs = {\n readonly derivationPath: string;\n readonly legacyArgs: Maybe<SignEIP712CommandV0Args>;\n};\n\nexport type SignEIP712CommandResponse = Signature;\n\nexport class SignEIP712Command\n implements Command<SignEIP712CommandResponse, SignEIP712CommandArgs>\n{\n constructor(private readonly args: SignEIP712CommandArgs) {}\n\n getApdu(): Apdu {\n const { derivationPath, legacyArgs } = this.args;\n\n const signEIP712Args: ApduBuilderArgs = {\n cla: 0xe0,\n ins: 0x0c,\n p1: 0x00,\n p2: legacyArgs.isJust() ? 0x00 : 0x01,\n };\n const paths = DerivationPathUtils.splitPath(derivationPath);\n const builder = new ApduBuilder(signEIP712Args);\n builder.add8BitUIntToData(paths.length);\n for (const path of paths) {\n builder.add32BitUIntToData(path);\n }\n\n legacyArgs.ifJust(({ domainHash, messageHash }) => {\n builder.addHexaStringToData(domainHash);\n builder.addHexaStringToData(messageHash);\n });\n\n return builder.build();\n }\n\n parseResponse(\n apduResponse: ApduResponse,\n ): CommandResult<SignEIP712CommandResponse> {\n const parser = new ApduParser(apduResponse);\n\n if (!CommandUtils.isSuccessResponse(apduResponse)) {\n return CommandResultFactory({\n error: GlobalCommandErrorHandler.handle(apduResponse),\n });\n }\n\n const v = parser.extract8BitUInt();\n if (v === undefined) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\"V is missing\"),\n });\n }\n\n const r = parser.encodeToHexaString(\n parser.extractFieldByLength(R_LENGTH),\n true,\n );\n if (!r) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\"R is missing\"),\n });\n }\n\n const s = parser.encodeToHexaString(\n parser.extractFieldByLength(S_LENGTH),\n true,\n );\n if (!s) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\"S is missing\"),\n });\n }\n\n return CommandResultFactory({\n data: {\n r,\n s,\n v,\n },\n });\n }\n}\n"],
|
|
5
|
+
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,uBAAAE,IAAA,eAAAC,EAAAH,GACA,IAAAI,EAYO,2CACPC,EAAoC,kCAKpC,MAAMC,EAAW,GACXC,EAAW,GAoBV,MAAML,CAEb,CACE,YAA6BM,EAA6B,CAA7B,UAAAA,CAA8B,CAE3D,SAAgB,CACd,KAAM,CAAE,eAAAC,EAAgB,WAAAC,CAAW,EAAI,KAAK,KAEtCC,EAAkC,CACtC,IAAK,IACL,IAAK,GACL,GAAI,EACJ,GAAID,EAAW,OAAO,EAAI,EAAO,CACnC,EACME,EAAQ,sBAAoB,UAAUH,CAAc,EACpDI,EAAU,IAAI,cAAYF,CAAc,EAC9CE,EAAQ,kBAAkBD,EAAM,MAAM,EACtC,UAAWE,KAAQF,EACjBC,EAAQ,mBAAmBC,CAAI,EAGjC,OAAAJ,EAAW,OAAO,CAAC,CAAE,WAAAK,EAAY,YAAAC,CAAY,IAAM,CACjDH,EAAQ,oBAAoBE,CAAU,EACtCF,EAAQ,oBAAoBG,CAAW,CACzC,CAAC,EAEMH,EAAQ,MAAM,CACvB,CAEA,cACEI,EAC0C,CAC1C,MAAMC,EAAS,IAAI,aAAWD,CAAY,EAE1C,GAAI,CAAC,eAAa,kBAAkBA,CAAY,EAC9C,SAAO,wBAAqB,CAC1B,MAAO,4BAA0B,OAAOA,CAAY,CACtD,CAAC,EAGH,MAAME,EAAID,EAAO,gBAAgB,EACjC,GAAIC,IAAM,OACR,SAAO,wBAAqB,CAC1B,MAAO,IAAI,yBAAuB,cAAc,CAClD,CAAC,EAGH,MAAMC,EAAIF,EAAO,mBACfA,EAAO,qBAAqBZ,CAAQ,EACpC,EACF,EACA,GAAI,CAACc,EACH,SAAO,wBAAqB,CAC1B,MAAO,IAAI,yBAAuB,cAAc,CAClD,CAAC,EAGH,MAAMC,EAAIH,EAAO,mBACfA,EAAO,qBAAqBX,CAAQ,EACpC,EACF,EACA,OAAKc,KAME,wBAAqB,CAC1B,KAAM,CACJ,EAAAD,EACA,EAAAC,EACA,EAAAF,CACF,CACF,CAAC,KAXQ,wBAAqB,CAC1B,MAAO,IAAI,yBAAuB,cAAc,CAClD,CAAC,CAUL,CACF",
|
|
6
|
+
"names": ["SignEIP712Command_exports", "__export", "SignEIP712Command", "__toCommonJS", "import_device_management_kit", "import_signer_utils", "R_LENGTH", "S_LENGTH", "args", "derivationPath", "legacyArgs", "signEIP712Args", "paths", "builder", "path", "domainHash", "messageHash", "apduResponse", "parser", "v", "r", "s"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var a=require("@ledgerhq/device-management-kit"),t=require("purify-ts"),s=require("./SignEIP712Command");const o=Uint8Array.from([224,12,0,1,21,5,128,0,0,44,128,0,0,60,128,0,0,0,0,0,0,0,0,0,0,0]),r=Uint8Array.from([224,12,0,0,85,5,128,0,0,44,128,0,0,60,128,0,0,0,0,0,0,0,0,0,0,0,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34]),n=Uint8Array.from([28,138,84,5,16,225,59,15,43,17,164,81,39,87,22,210,158,8,202,173,7,232,154,28,132,150,71,130,251,94,26,215,136,100,160,222,35,91,39,15,190,129,232,228,6,136,244,169,249,173,157,40,61,105,5,82,201,51,29,119,115,206,175,165,19]),d={statusCode:Uint8Array.from([144,0]),data:n},c={statusCode:Uint8Array.from([85,21]),data:new Uint8Array},i=Uint8Array.from([1,2]),p={statusCode:Uint8Array.from([144,0]),data:i};describe("SignEIP712Command",()=>{let e;beforeEach(()=>{e=new s.SignEIP712Command({derivationPath:"44'/60'/0'/0/0",legacyArgs:t.Nothing})}),describe("getApdu",()=>{it("should provide the derivation path",()=>{const x=e.getApdu();expect(x.getRawApdu()).toStrictEqual(o)})}),describe("parseResponse",()=>{it("should parse the response",()=>{const x=e.parseResponse(d);expect(x).toStrictEqual((0,a.CommandResultFactory)({data:{v:28,r:"0x8a540510e13b0f2b11a451275716d29e08caad07e89a1c84964782fb5e1ad788",s:"0x64a0de235b270fbe81e8e40688f4a9f9ad9d283d690552c9331d7773ceafa513"}}))}),it("should return an error if the response is not successful",()=>{const x=e.parseResponse(c);expect((0,a.isSuccessCommandResult)(x)).toBe(!1)}),it("should return an error if the response is too short",()=>{const x=e.parseResponse(p);expect((0,a.isSuccessCommandResult)(x)).toBe(!1)})})});describe("SignEIP712Command V0",()=>{describe("getApdu",()=>{it("should provide the derivation path and hashes",()=>{const x=new s.SignEIP712Command({derivationPath:"44'/60'/0'/0/0",legacyArgs:(0,t.Just)({domainHash:"0x1111111111111111111111111111111111111111111111111111111111111111",messageHash:"0x2222222222222222222222222222222222222222222222222222222222222222"})}).getApdu();expect(x.getRawApdu()).toStrictEqual(r)})})});
|
|
2
|
+
//# sourceMappingURL=SignEIP712Command.test.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../src/internal/app-binder/command/SignEIP712Command.test.ts"],
|
|
4
|
+
"sourcesContent": ["import {\n type Command,\n CommandResultFactory,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\nimport { Just, Nothing } from \"purify-ts\";\n\nimport {\n SignEIP712Command,\n type SignEIP712CommandResponse,\n} from \"./SignEIP712Command\";\n\nconst SIGN_EIP712_APDU = Uint8Array.from([\n 0xe0, 0x0c, 0x00, 0x01, 0x15, 0x05, 0x80, 0x00, 0x00, 0x2c, 0x80, 0x00, 0x00,\n 0x3c, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n]);\n\nconst SIGN_EIP712_APDU_V0 = Uint8Array.from([\n 0xe0, 0x0c, 0x00, 0x00, 0x55, 0x05, 0x80, 0x00, 0x00, 0x2c, 0x80, 0x00, 0x00,\n 0x3c, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11,\n 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11,\n 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22,\n 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22,\n 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22,\n]);\n\nconst LNX_RESPONSE_DATA_GOOD = Uint8Array.from([\n 0x1c, 0x8a, 0x54, 0x05, 0x10, 0xe1, 0x3b, 0x0f, 0x2b, 0x11, 0xa4, 0x51, 0x27,\n 0x57, 0x16, 0xd2, 0x9e, 0x08, 0xca, 0xad, 0x07, 0xe8, 0x9a, 0x1c, 0x84, 0x96,\n 0x47, 0x82, 0xfb, 0x5e, 0x1a, 0xd7, 0x88, 0x64, 0xa0, 0xde, 0x23, 0x5b, 0x27,\n 0x0f, 0xbe, 0x81, 0xe8, 0xe4, 0x06, 0x88, 0xf4, 0xa9, 0xf9, 0xad, 0x9d, 0x28,\n 0x3d, 0x69, 0x05, 0x52, 0xc9, 0x33, 0x1d, 0x77, 0x73, 0xce, 0xaf, 0xa5, 0x13,\n]);\n\nconst LNX_RESPONSE_GOOD = {\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: LNX_RESPONSE_DATA_GOOD,\n};\n\nconst LNX_RESPONSE_LOCKED = {\n statusCode: Uint8Array.from([0x55, 0x15]),\n data: new Uint8Array(),\n};\n\nconst LNX_RESPONSE_DATA_TOO_SHORT = Uint8Array.from([0x01, 0x02]);\n\nconst LNX_RESPONSE_TOO_SHORT = {\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: LNX_RESPONSE_DATA_TOO_SHORT,\n};\n\ndescribe(\"SignEIP712Command\", () => {\n let command: Command<SignEIP712CommandResponse, void>;\n\n beforeEach(() => {\n command = new SignEIP712Command({\n derivationPath: \"44'/60'/0'/0/0\",\n legacyArgs: Nothing,\n });\n });\n\n describe(\"getApdu\", () => {\n it(\"should provide the derivation path\", () => {\n const apdu = command.getApdu();\n expect(apdu.getRawApdu()).toStrictEqual(SIGN_EIP712_APDU);\n });\n });\n\n describe(\"parseResponse\", () => {\n it(\"should parse the response\", () => {\n const parsedResponse = command.parseResponse(LNX_RESPONSE_GOOD);\n expect(parsedResponse).toStrictEqual(\n CommandResultFactory({\n data: {\n v: 0x1c,\n r: \"0x8a540510e13b0f2b11a451275716d29e08caad07e89a1c84964782fb5e1ad788\",\n s: \"0x64a0de235b270fbe81e8e40688f4a9f9ad9d283d690552c9331d7773ceafa513\",\n },\n }),\n );\n });\n\n it(\"should return an error if the response is not successful\", () => {\n const response = command.parseResponse(LNX_RESPONSE_LOCKED);\n expect(isSuccessCommandResult(response)).toBe(false);\n });\n\n it(\"should return an error if the response is too short\", () => {\n const response = command.parseResponse(LNX_RESPONSE_TOO_SHORT);\n expect(isSuccessCommandResult(response)).toBe(false);\n });\n });\n});\n\ndescribe(\"SignEIP712Command V0\", () => {\n describe(\"getApdu\", () => {\n it(\"should provide the derivation path and hashes\", () => {\n const command = new SignEIP712Command({\n derivationPath: \"44'/60'/0'/0/0\",\n legacyArgs: Just({\n domainHash:\n \"0x1111111111111111111111111111111111111111111111111111111111111111\",\n messageHash:\n \"0x2222222222222222222222222222222222222222222222222222222222222222\",\n }),\n });\n const apdu = command.getApdu();\n expect(apdu.getRawApdu()).toStrictEqual(SIGN_EIP712_APDU_V0);\n });\n });\n});\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["import_device_management_kit", "import_purify_ts", "import_SignEIP712Command", "SIGN_EIP712_APDU", "SIGN_EIP712_APDU_V0", "LNX_RESPONSE_DATA_GOOD", "LNX_RESPONSE_GOOD", "LNX_RESPONSE_LOCKED", "LNX_RESPONSE_DATA_TOO_SHORT", "LNX_RESPONSE_TOO_SHORT", "command", "apdu", "parsedResponse", "response"]
|
|
7
|
+
}
|
|
@@ -1,60 +1,2 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
exports.SignPersonalMessageCommand = void 0;
|
|
4
|
-
// https://github.com/LedgerHQ/app-ethereum/blob/develop/doc/ethapp.adoc#sign-eth-personal-message
|
|
5
|
-
const device_management_kit_1 = require("@ledgerhq/device-management-kit");
|
|
6
|
-
const purify_ts_1 = require("purify-ts");
|
|
7
|
-
const R_LENGTH = 32;
|
|
8
|
-
const S_LENGTH = 32;
|
|
9
|
-
class SignPersonalMessageCommand {
|
|
10
|
-
args;
|
|
11
|
-
constructor(args) {
|
|
12
|
-
this.args = args;
|
|
13
|
-
}
|
|
14
|
-
getApdu() {
|
|
15
|
-
const { data, isFirstChunk } = this.args;
|
|
16
|
-
const signPersonalMessageArgs = {
|
|
17
|
-
cla: 0xe0,
|
|
18
|
-
ins: 0x08,
|
|
19
|
-
p1: isFirstChunk ? 0x00 : 0x80,
|
|
20
|
-
p2: 0x00,
|
|
21
|
-
};
|
|
22
|
-
return new device_management_kit_1.ApduBuilder(signPersonalMessageArgs)
|
|
23
|
-
.addBufferToData(data)
|
|
24
|
-
.build();
|
|
25
|
-
}
|
|
26
|
-
parseResponse(apduResponse) {
|
|
27
|
-
const parser = new device_management_kit_1.ApduParser(apduResponse);
|
|
28
|
-
if (!device_management_kit_1.CommandUtils.isSuccessResponse(apduResponse)) {
|
|
29
|
-
return (0, device_management_kit_1.CommandResultFactory)({
|
|
30
|
-
error: device_management_kit_1.GlobalCommandErrorHandler.handle(apduResponse),
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
// The data is returned only for the last chunk
|
|
34
|
-
const v = parser.extract8BitUInt();
|
|
35
|
-
if (v === undefined) {
|
|
36
|
-
return (0, device_management_kit_1.CommandResultFactory)({ data: purify_ts_1.Nothing });
|
|
37
|
-
}
|
|
38
|
-
const r = parser.encodeToHexaString(parser.extractFieldByLength(R_LENGTH), true);
|
|
39
|
-
if (!r) {
|
|
40
|
-
return (0, device_management_kit_1.CommandResultFactory)({
|
|
41
|
-
error: new device_management_kit_1.InvalidStatusWordError("R is missing"),
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
const s = parser.encodeToHexaString(parser.extractFieldByLength(S_LENGTH), true);
|
|
45
|
-
if (!s) {
|
|
46
|
-
return (0, device_management_kit_1.CommandResultFactory)({
|
|
47
|
-
error: new device_management_kit_1.InvalidStatusWordError("S is missing"),
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
return (0, device_management_kit_1.CommandResultFactory)({
|
|
51
|
-
data: (0, purify_ts_1.Just)({
|
|
52
|
-
r,
|
|
53
|
-
s,
|
|
54
|
-
v,
|
|
55
|
-
}),
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
exports.SignPersonalMessageCommand = SignPersonalMessageCommand;
|
|
60
|
-
//# sourceMappingURL=SignPersonalMessageCommand.js.map
|
|
1
|
+
"use strict";var i=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var p=Object.prototype.hasOwnProperty;var u=(n,e)=>{for(var s in e)i(n,s,{get:e[s],enumerable:!0})},l=(n,e,s,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of g(e))!p.call(n,a)&&a!==s&&i(n,a,{get:()=>e[a],enumerable:!(t=m(e,a))||t.enumerable});return n};var c=n=>l(i({},"__esModule",{value:!0}),n);var S={};u(S,{SignPersonalMessageCommand:()=>C});module.exports=c(S);var r=require("@ledgerhq/device-management-kit"),o=require("purify-ts");const y=32,A=32;class C{args;constructor(e){this.args=e}getApdu(){const{data:e,isFirstChunk:s}=this.args,t={cla:224,ins:8,p1:s?0:128,p2:0};return new r.ApduBuilder(t).addBufferToData(e).build()}parseResponse(e){const s=new r.ApduParser(e);if(!r.CommandUtils.isSuccessResponse(e))return(0,r.CommandResultFactory)({error:r.GlobalCommandErrorHandler.handle(e)});const t=s.extract8BitUInt();if(t===void 0)return(0,r.CommandResultFactory)({data:o.Nothing});const a=s.encodeToHexaString(s.extractFieldByLength(y),!0);if(!a)return(0,r.CommandResultFactory)({error:new r.InvalidStatusWordError("R is missing")});const d=s.encodeToHexaString(s.extractFieldByLength(A),!0);return d?(0,r.CommandResultFactory)({data:(0,o.Just)({r:a,s:d,v:t})}):(0,r.CommandResultFactory)({error:new r.InvalidStatusWordError("S is missing")})}}0&&(module.exports={SignPersonalMessageCommand});
|
|
2
|
+
//# sourceMappingURL=SignPersonalMessageCommand.js.map
|
|
@@ -1 +1,7 @@
|
|
|
1
|
-
{
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../src/internal/app-binder/command/SignPersonalMessageCommand.ts"],
|
|
4
|
+
"sourcesContent": ["// https://github.com/LedgerHQ/app-ethereum/blob/develop/doc/ethapp.adoc#sign-eth-personal-message\nimport {\n type Apdu,\n ApduBuilder,\n type ApduBuilderArgs,\n ApduParser,\n type ApduResponse,\n type Command,\n type CommandResult,\n CommandResultFactory,\n CommandUtils,\n GlobalCommandErrorHandler,\n InvalidStatusWordError,\n} from \"@ledgerhq/device-management-kit\";\nimport { Just, type Maybe, Nothing } from \"purify-ts\";\n\nimport { type Signature } from \"@api/model/Signature\";\n\nconst R_LENGTH = 32;\nconst S_LENGTH = 32;\n\nexport type SignPersonalMessageCommandArgs = {\n /**\n * The data to sign in max 150 bytes chunks\n */\n readonly data: Uint8Array;\n /**\n * If this is the first chunk of the message\n */\n readonly isFirstChunk: boolean;\n};\n\nexport type SignPersonalMessageCommandResponse = Maybe<Signature>;\n\nexport class SignPersonalMessageCommand\n implements\n Command<SignPersonalMessageCommandResponse, SignPersonalMessageCommandArgs>\n{\n readonly args: SignPersonalMessageCommandArgs;\n\n constructor(args: SignPersonalMessageCommandArgs) {\n this.args = args;\n }\n\n getApdu(): Apdu {\n const { data, isFirstChunk } = this.args;\n const signPersonalMessageArgs: ApduBuilderArgs = {\n cla: 0xe0,\n ins: 0x08,\n p1: isFirstChunk ? 0x00 : 0x80,\n p2: 0x00,\n };\n\n return new ApduBuilder(signPersonalMessageArgs)\n .addBufferToData(data)\n .build();\n }\n\n parseResponse(\n apduResponse: ApduResponse,\n ): CommandResult<SignPersonalMessageCommandResponse> {\n const parser = new ApduParser(apduResponse);\n\n if (!CommandUtils.isSuccessResponse(apduResponse)) {\n return CommandResultFactory({\n error: GlobalCommandErrorHandler.handle(apduResponse),\n });\n }\n\n // The data is returned only for the last chunk\n const v = parser.extract8BitUInt();\n if (v === undefined) {\n return CommandResultFactory({ data: Nothing });\n }\n\n const r = parser.encodeToHexaString(\n parser.extractFieldByLength(R_LENGTH),\n true,\n );\n if (!r) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\"R is missing\"),\n });\n }\n\n const s = parser.encodeToHexaString(\n parser.extractFieldByLength(S_LENGTH),\n true,\n );\n if (!s) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\"S is missing\"),\n });\n }\n\n return CommandResultFactory({\n data: Just({\n r,\n s,\n v,\n }),\n });\n }\n}\n"],
|
|
5
|
+
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,gCAAAE,IAAA,eAAAC,EAAAH,GACA,IAAAI,EAYO,2CACPC,EAA0C,qBAI1C,MAAMC,EAAW,GACXC,EAAW,GAeV,MAAML,CAGb,CACW,KAET,YAAYM,EAAsC,CAChD,KAAK,KAAOA,CACd,CAEA,SAAgB,CACd,KAAM,CAAE,KAAAC,EAAM,aAAAC,CAAa,EAAI,KAAK,KAC9BC,EAA2C,CAC/C,IAAK,IACL,IAAK,EACL,GAAID,EAAe,EAAO,IAC1B,GAAI,CACN,EAEA,OAAO,IAAI,cAAYC,CAAuB,EAC3C,gBAAgBF,CAAI,EACpB,MAAM,CACX,CAEA,cACEG,EACmD,CACnD,MAAMC,EAAS,IAAI,aAAWD,CAAY,EAE1C,GAAI,CAAC,eAAa,kBAAkBA,CAAY,EAC9C,SAAO,wBAAqB,CAC1B,MAAO,4BAA0B,OAAOA,CAAY,CACtD,CAAC,EAIH,MAAME,EAAID,EAAO,gBAAgB,EACjC,GAAIC,IAAM,OACR,SAAO,wBAAqB,CAAE,KAAM,SAAQ,CAAC,EAG/C,MAAMC,EAAIF,EAAO,mBACfA,EAAO,qBAAqBP,CAAQ,EACpC,EACF,EACA,GAAI,CAACS,EACH,SAAO,wBAAqB,CAC1B,MAAO,IAAI,yBAAuB,cAAc,CAClD,CAAC,EAGH,MAAMC,EAAIH,EAAO,mBACfA,EAAO,qBAAqBN,CAAQ,EACpC,EACF,EACA,OAAKS,KAME,wBAAqB,CAC1B,QAAM,QAAK,CACT,EAAAD,EACA,EAAAC,EACA,EAAAF,CACF,CAAC,CACH,CAAC,KAXQ,wBAAqB,CAC1B,MAAO,IAAI,yBAAuB,cAAc,CAClD,CAAC,CAUL,CACF",
|
|
6
|
+
"names": ["SignPersonalMessageCommand_exports", "__export", "SignPersonalMessageCommand", "__toCommonJS", "import_device_management_kit", "import_purify_ts", "R_LENGTH", "S_LENGTH", "args", "data", "isFirstChunk", "signPersonalMessageArgs", "apduResponse", "parser", "v", "r", "s"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var x=require("@ledgerhq/device-management-kit"),r=require("purify-ts"),t=require("./SignPersonalMessageCommand");const o=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,0]),u=new Uint8Array([224,8,0,0,25,...o]),d=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,15,66,84,67,32,116,111,32,116,104,101,32,109,111,111,110]),S=new Uint8Array([224,8,0,0,40,...d]),i=new Uint8Array([100,117,104,122,97,117,105,103,100,122,97,117,105,103,100,117,122,97,103,100,105,117,122,103,97,117,100,103,122,97,117,105,103,100,117,122,105,97,103,100,117,105,122,97,103]),p=new Uint8Array([224,8,128,0,45,...i]),f=new Uint8Array([27,151,164,202,143,105,70,51,89,38,1,245,162,62,11,204,85,60,157,10,144,211,163,66,45,87,85,8,169,40,152,185,110,105,80,208,46,116,233,193,2,193,100,162,37,83,48,130,202,189,216,144,239,196,99,246,127,96,206,254,140,63,135,207,206]),c=new Uint8Array([27,25,16,14,83,56,188,108,119,32,187,71,207,57,35,123,79,39,49,108,178,228,226,255,0,70,24,183,99,200,108,138,6,15,240,26,133,87,24,215,151,92,28,84,171,207,125,50,255,150,48,124,11,218,141,105,93,20,41,13,75,197,77,39,139]);describe("SignPersonalMessageCommand",()=>{const a={data:new Uint8Array([]),isFirstChunk:!0};describe("getApdu",()=>{it("should return correct apdu for an empty message",()=>{const e=new t.SignPersonalMessageCommand({data:o,isFirstChunk:!0}).getApdu();expect(e.getRawApdu()).toStrictEqual(u)}),it("should return correct apdu for a short message",()=>{const e=new t.SignPersonalMessageCommand({data:d,isFirstChunk:!0}).getApdu();expect(e.getRawApdu()).toStrictEqual(S)}),it("should return correct apdu for a not first chunk of a long message",()=>{const e=new t.SignPersonalMessageCommand({data:i,isFirstChunk:!1}).getApdu();expect(e.getRawApdu()).toStrictEqual(p)})}),describe("parseResponse",()=>{it("should return correct response after signing success for a short message",()=>{const s=new t.SignPersonalMessageCommand({...a}),e=new x.ApduResponse({statusCode:new Uint8Array([144,0]),data:f}),n=s.parseResponse(e);expect(n).toStrictEqual((0,x.CommandResultFactory)({data:(0,r.Just)({r:"0x97a4ca8f694633592601f5a23e0bcc553c9d0a90d3a3422d575508a92898b96e",s:"0x6950d02e74e9c102c164a225533082cabdd890efc463f67f60cefe8c3f87cfce",v:27})}))}),it("should return an error if user refused on device",()=>{const s=new t.SignPersonalMessageCommand({...a}),e=new x.ApduResponse({statusCode:new Uint8Array([85,21]),data:new Uint8Array([])}),n=s.parseResponse(e);expect((0,x.isSuccessCommandResult)(n)).toBe(!1)}),it("should return nothing if not last index of a long message",()=>{const e=new t.SignPersonalMessageCommand({...a}).parseResponse(new x.ApduResponse({statusCode:new Uint8Array([144,0]),data:new Uint8Array([])}));expect(e).toStrictEqual((0,x.CommandResultFactory)({data:r.Nothing}))}),it("should return correct response of a long message",()=>{const s=new t.SignPersonalMessageCommand({...a}),e=new x.ApduResponse({statusCode:new Uint8Array([144,0]),data:c}),n=s.parseResponse(e);expect(n).toStrictEqual((0,x.CommandResultFactory)({data:(0,r.Just)({r:"0x19100e5338bc6c7720bb47cf39237b4f27316cb2e4e2ff004618b763c86c8a06",s:"0x0ff01a855718d7975c1c54abcf7d32ff96307c0bda8d695d14290d4bc54d278b",v:27})}))}),it("should return an error if r is missing",()=>{const s=new t.SignPersonalMessageCommand({...a}),e=new x.ApduResponse({statusCode:new Uint8Array([144,0]),data:c.slice(0,32)}),n=s.parseResponse(e);expect(n).toStrictEqual((0,x.CommandResultFactory)({error:new x.InvalidStatusWordError("R is missing")}))}),it("should return an error if s is missing",()=>{const s=new t.SignPersonalMessageCommand({...a}),e=new x.ApduResponse({statusCode:new Uint8Array([144,0]),data:c.slice(0,64)}),n=s.parseResponse(e);expect(n).toStrictEqual((0,x.CommandResultFactory)({error:new x.InvalidStatusWordError("S is missing")}))})})});
|
|
2
|
+
//# sourceMappingURL=SignPersonalMessageCommand.test.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../src/internal/app-binder/command/SignPersonalMessageCommand.test.ts"],
|
|
4
|
+
"sourcesContent": ["import {\n ApduResponse,\n CommandResultFactory,\n InvalidStatusWordError,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\nimport { Just, Nothing } from \"purify-ts\";\n\nimport { SignPersonalMessageCommand } from \"./SignPersonalMessageCommand\";\n\nconst SIGN_PERSONAL_EMPTY_MESSAGE_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, 0x00,\n]);\nconst SIGN_PERSONAL_EMPTY_MESSAGE_APDU = new Uint8Array([\n 0xe0,\n 0x08,\n 0x00,\n 0x00,\n 0x19,\n ...SIGN_PERSONAL_EMPTY_MESSAGE_DATA,\n]);\n\nconst SIGN_PERSONAL_MESSAGE_SHORT_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, 0x0f, 0x42,\n 0x54, 0x43, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6d, 0x6f, 0x6f,\n 0x6e,\n]);\nconst SIGN_PERSONAL_MESSAGE_SHORT_APDU = new Uint8Array([\n 0xe0,\n 0x08,\n 0x00,\n 0x00,\n 0x28,\n ...SIGN_PERSONAL_MESSAGE_SHORT_DATA,\n]);\n\nconst SIGN_PERSONAL_MESSAGE_NOT_FIRST_CHUNK_DATA = new Uint8Array([\n 0x64, 0x75, 0x68, 0x7a, 0x61, 0x75, 0x69, 0x67, 0x64, 0x7a, 0x61, 0x75, 0x69,\n 0x67, 0x64, 0x75, 0x7a, 0x61, 0x67, 0x64, 0x69, 0x75, 0x7a, 0x67, 0x61, 0x75,\n 0x64, 0x67, 0x7a, 0x61, 0x75, 0x69, 0x67, 0x64, 0x75, 0x7a, 0x69, 0x61, 0x67,\n 0x64, 0x75, 0x69, 0x7a, 0x61, 0x67,\n]);\n\nconst SIGN_PERSONAL_MESSAGE_NOT_FIRST_CHUNK_APDU = new Uint8Array([\n 0xe0,\n 0x08,\n 0x80,\n 0x00,\n 0x2d,\n ...SIGN_PERSONAL_MESSAGE_NOT_FIRST_CHUNK_DATA,\n]);\n\nconst SIGN_PERSONAL_MESSAGE_SHORT_SUCCESS_RESPONSE = new Uint8Array([\n 0x1b, 0x97, 0xa4, 0xca, 0x8f, 0x69, 0x46, 0x33, 0x59, 0x26, 0x01, 0xf5, 0xa2,\n 0x3e, 0x0b, 0xcc, 0x55, 0x3c, 0x9d, 0x0a, 0x90, 0xd3, 0xa3, 0x42, 0x2d, 0x57,\n 0x55, 0x08, 0xa9, 0x28, 0x98, 0xb9, 0x6e, 0x69, 0x50, 0xd0, 0x2e, 0x74, 0xe9,\n 0xc1, 0x02, 0xc1, 0x64, 0xa2, 0x25, 0x53, 0x30, 0x82, 0xca, 0xbd, 0xd8, 0x90,\n 0xef, 0xc4, 0x63, 0xf6, 0x7f, 0x60, 0xce, 0xfe, 0x8c, 0x3f, 0x87, 0xcf, 0xce,\n]);\n\nconst SIGN_PERSONAL_LONG_MESSAGE_SUCCESS_RESPONSE = new Uint8Array([\n 0x1b, 0x19, 0x10, 0x0e, 0x53, 0x38, 0xbc, 0x6c, 0x77, 0x20, 0xbb, 0x47, 0xcf,\n 0x39, 0x23, 0x7b, 0x4f, 0x27, 0x31, 0x6c, 0xb2, 0xe4, 0xe2, 0xff, 0x00, 0x46,\n 0x18, 0xb7, 0x63, 0xc8, 0x6c, 0x8a, 0x06, 0x0f, 0xf0, 0x1a, 0x85, 0x57, 0x18,\n 0xd7, 0x97, 0x5c, 0x1c, 0x54, 0xab, 0xcf, 0x7d, 0x32, 0xff, 0x96, 0x30, 0x7c,\n 0x0b, 0xda, 0x8d, 0x69, 0x5d, 0x14, 0x29, 0x0d, 0x4b, 0xc5, 0x4d, 0x27, 0x8b,\n]);\n\ndescribe(\"SignPersonalMessageCommand\", (): void => {\n const defaultArgs = {\n data: new Uint8Array([]),\n isFirstChunk: true,\n };\n\n describe(\"getApdu\", () => {\n it(\"should return correct apdu for an empty message\", () => {\n // given\n const command = new SignPersonalMessageCommand({\n data: SIGN_PERSONAL_EMPTY_MESSAGE_DATA,\n isFirstChunk: true,\n });\n // when\n const apdu = command.getApdu();\n // then\n expect(apdu.getRawApdu()).toStrictEqual(SIGN_PERSONAL_EMPTY_MESSAGE_APDU);\n });\n\n it(\"should return correct apdu for a short message\", () => {\n // given\n const command = new SignPersonalMessageCommand({\n data: SIGN_PERSONAL_MESSAGE_SHORT_DATA,\n isFirstChunk: true,\n });\n // when\n const apdu = command.getApdu();\n // then\n expect(apdu.getRawApdu()).toStrictEqual(SIGN_PERSONAL_MESSAGE_SHORT_APDU);\n });\n\n it(\"should return correct apdu for a not first chunk of a long message\", () => {\n // given\n const command = new SignPersonalMessageCommand({\n data: SIGN_PERSONAL_MESSAGE_NOT_FIRST_CHUNK_DATA,\n isFirstChunk: false,\n });\n // when\n const apdu = command.getApdu();\n // then\n expect(apdu.getRawApdu()).toStrictEqual(\n SIGN_PERSONAL_MESSAGE_NOT_FIRST_CHUNK_APDU,\n );\n });\n });\n\n describe(\"parseResponse\", () => {\n it(\"should return correct response after signing success for a short message\", () => {\n // given\n const command = new SignPersonalMessageCommand({\n ...defaultArgs,\n });\n const apduResponse = new ApduResponse({\n statusCode: new Uint8Array([0x90, 0x00]),\n data: SIGN_PERSONAL_MESSAGE_SHORT_SUCCESS_RESPONSE,\n });\n // when\n const response = command.parseResponse(apduResponse);\n // then\n expect(response).toStrictEqual(\n CommandResultFactory({\n data: Just({\n r: \"0x97a4ca8f694633592601f5a23e0bcc553c9d0a90d3a3422d575508a92898b96e\",\n s: \"0x6950d02e74e9c102c164a225533082cabdd890efc463f67f60cefe8c3f87cfce\",\n v: 27,\n }),\n }),\n );\n });\n it(\"should return an error if user refused on device\", () => {\n const command = new SignPersonalMessageCommand({\n ...defaultArgs,\n });\n const apduResponse = new ApduResponse({\n statusCode: new Uint8Array([0x55, 0x15]),\n data: new Uint8Array([]),\n });\n // when\n const response = command.parseResponse(apduResponse);\n // then\n expect(isSuccessCommandResult(response)).toBe(false);\n });\n\n it(\"should return nothing if not last index of a long message\", () => {\n // given\n const command = new SignPersonalMessageCommand({\n ...defaultArgs,\n });\n // when\n const response = command.parseResponse(\n new ApduResponse({\n statusCode: new Uint8Array([0x90, 0x00]),\n data: new Uint8Array([]),\n }),\n );\n // then\n expect(response).toStrictEqual(CommandResultFactory({ data: Nothing }));\n });\n\n it(\"should return correct response of a long message\", () => {\n // given\n const command = new SignPersonalMessageCommand({\n ...defaultArgs,\n });\n const apduResponse = new ApduResponse({\n statusCode: new Uint8Array([0x90, 0x00]),\n data: SIGN_PERSONAL_LONG_MESSAGE_SUCCESS_RESPONSE,\n });\n // when\n const response = command.parseResponse(apduResponse);\n // then\n expect(response).toStrictEqual(\n CommandResultFactory({\n data: Just({\n r: \"0x19100e5338bc6c7720bb47cf39237b4f27316cb2e4e2ff004618b763c86c8a06\",\n s: \"0x0ff01a855718d7975c1c54abcf7d32ff96307c0bda8d695d14290d4bc54d278b\",\n v: 27,\n }),\n }),\n );\n });\n\n it(\"should return an error if r is missing\", () => {\n // given\n const command = new SignPersonalMessageCommand({\n ...defaultArgs,\n });\n const apduResponse = new ApduResponse({\n statusCode: new Uint8Array([0x90, 0x00]),\n data: SIGN_PERSONAL_LONG_MESSAGE_SUCCESS_RESPONSE.slice(0, 32),\n });\n // when\n const response = command.parseResponse(apduResponse);\n // then\n expect(response).toStrictEqual(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"R is missing\"),\n }),\n );\n });\n\n it(\"should return an error if s is missing\", () => {\n // given\n const command = new SignPersonalMessageCommand({\n ...defaultArgs,\n });\n const apduResponse = new ApduResponse({\n statusCode: new Uint8Array([0x90, 0x00]),\n data: SIGN_PERSONAL_LONG_MESSAGE_SUCCESS_RESPONSE.slice(0, 64),\n });\n // when\n const result = command.parseResponse(apduResponse);\n // then\n expect(result).toStrictEqual(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"S is missing\"),\n }),\n );\n });\n });\n});\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["import_device_management_kit", "import_purify_ts", "import_SignPersonalMessageCommand", "SIGN_PERSONAL_EMPTY_MESSAGE_DATA", "SIGN_PERSONAL_EMPTY_MESSAGE_APDU", "SIGN_PERSONAL_MESSAGE_SHORT_DATA", "SIGN_PERSONAL_MESSAGE_SHORT_APDU", "SIGN_PERSONAL_MESSAGE_NOT_FIRST_CHUNK_DATA", "SIGN_PERSONAL_MESSAGE_NOT_FIRST_CHUNK_APDU", "SIGN_PERSONAL_MESSAGE_SHORT_SUCCESS_RESPONSE", "SIGN_PERSONAL_LONG_MESSAGE_SUCCESS_RESPONSE", "defaultArgs", "apdu", "command", "apduResponse", "response", "result"]
|
|
7
|
+
}
|
|
@@ -1,59 +1,2 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
exports.SignTransactionCommand = void 0;
|
|
4
|
-
// https://github.com/LedgerHQ/app-ethereum/blob/develop/doc/ethapp.adoc#sign-eth-transaction
|
|
5
|
-
const device_management_kit_1 = require("@ledgerhq/device-management-kit");
|
|
6
|
-
const purify_ts_1 = require("purify-ts");
|
|
7
|
-
const R_LENGTH = 32;
|
|
8
|
-
const S_LENGTH = 32;
|
|
9
|
-
class SignTransactionCommand {
|
|
10
|
-
args;
|
|
11
|
-
constructor(args) {
|
|
12
|
-
this.args = args;
|
|
13
|
-
}
|
|
14
|
-
getApdu() {
|
|
15
|
-
const { serializedTransaction, isFirstChunk } = this.args;
|
|
16
|
-
const signEthTransactionArgs = {
|
|
17
|
-
cla: 0xe0,
|
|
18
|
-
ins: 0x04,
|
|
19
|
-
p1: isFirstChunk ? 0x00 : 0x80,
|
|
20
|
-
p2: 0x00,
|
|
21
|
-
};
|
|
22
|
-
const builder = new device_management_kit_1.ApduBuilder(signEthTransactionArgs);
|
|
23
|
-
return builder.addBufferToData(serializedTransaction).build();
|
|
24
|
-
}
|
|
25
|
-
parseResponse(response) {
|
|
26
|
-
const parser = new device_management_kit_1.ApduParser(response);
|
|
27
|
-
if (!device_management_kit_1.CommandUtils.isSuccessResponse(response)) {
|
|
28
|
-
return (0, device_management_kit_1.CommandResultFactory)({
|
|
29
|
-
error: device_management_kit_1.GlobalCommandErrorHandler.handle(response),
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
// The data is returned only for the last chunk
|
|
33
|
-
const v = parser.extract8BitUInt();
|
|
34
|
-
if (v === undefined) {
|
|
35
|
-
return (0, device_management_kit_1.CommandResultFactory)({ data: purify_ts_1.Nothing });
|
|
36
|
-
}
|
|
37
|
-
const r = parser.encodeToHexaString(parser.extractFieldByLength(R_LENGTH), true);
|
|
38
|
-
if (!r) {
|
|
39
|
-
return (0, device_management_kit_1.CommandResultFactory)({
|
|
40
|
-
error: new device_management_kit_1.InvalidStatusWordError("R is missing"),
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
const s = parser.encodeToHexaString(parser.extractFieldByLength(S_LENGTH), true);
|
|
44
|
-
if (!s) {
|
|
45
|
-
return (0, device_management_kit_1.CommandResultFactory)({
|
|
46
|
-
error: new device_management_kit_1.InvalidStatusWordError("S is missing"),
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
return (0, device_management_kit_1.CommandResultFactory)({
|
|
50
|
-
data: (0, purify_ts_1.Just)({
|
|
51
|
-
v,
|
|
52
|
-
r,
|
|
53
|
-
s,
|
|
54
|
-
}),
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
exports.SignTransactionCommand = SignTransactionCommand;
|
|
59
|
-
//# sourceMappingURL=SignTransactionCommand.js.map
|
|
1
|
+
"use strict";var i=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var p=Object.prototype.hasOwnProperty;var c=(a,n)=>{for(var e in n)i(a,e,{get:n[e],enumerable:!0})},g=(a,n,e,s)=>{if(n&&typeof n=="object"||typeof n=="function")for(let t of u(n))!p.call(a,t)&&t!==e&&i(a,t,{get:()=>n[t],enumerable:!(s=m(n,t))||s.enumerable});return a};var l=a=>g(i({},"__esModule",{value:!0}),a);var S={};c(S,{SignTransactionCommand:()=>C});module.exports=l(S);var r=require("@ledgerhq/device-management-kit"),o=require("purify-ts");const y=32,A=32;class C{args;constructor(n){this.args=n}getApdu(){const{serializedTransaction:n,isFirstChunk:e}=this.args,s={cla:224,ins:4,p1:e?0:128,p2:0};return new r.ApduBuilder(s).addBufferToData(n).build()}parseResponse(n){const e=new r.ApduParser(n);if(!r.CommandUtils.isSuccessResponse(n))return(0,r.CommandResultFactory)({error:r.GlobalCommandErrorHandler.handle(n)});const s=e.extract8BitUInt();if(s===void 0)return(0,r.CommandResultFactory)({data:o.Nothing});const t=e.encodeToHexaString(e.extractFieldByLength(y),!0);if(!t)return(0,r.CommandResultFactory)({error:new r.InvalidStatusWordError("R is missing")});const d=e.encodeToHexaString(e.extractFieldByLength(A),!0);return d?(0,r.CommandResultFactory)({data:(0,o.Just)({v:s,r:t,s:d})}):(0,r.CommandResultFactory)({error:new r.InvalidStatusWordError("S is missing")})}}0&&(module.exports={SignTransactionCommand});
|
|
2
|
+
//# sourceMappingURL=SignTransactionCommand.js.map
|
|
@@ -1 +1,7 @@
|
|
|
1
|
-
{
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../src/internal/app-binder/command/SignTransactionCommand.ts"],
|
|
4
|
+
"sourcesContent": ["// https://github.com/LedgerHQ/app-ethereum/blob/develop/doc/ethapp.adoc#sign-eth-transaction\nimport {\n type Apdu,\n ApduBuilder,\n type ApduBuilderArgs,\n ApduParser,\n type ApduResponse,\n type Command,\n type CommandResult,\n CommandResultFactory,\n CommandUtils,\n GlobalCommandErrorHandler,\n type HexaString,\n InvalidStatusWordError,\n} from \"@ledgerhq/device-management-kit\";\nimport { Just, type Maybe, Nothing } from \"purify-ts\";\n\nconst R_LENGTH = 32;\nconst S_LENGTH = 32;\n\nexport type SignTransactionCommandResponse = Maybe<{\n v: number;\n r: HexaString;\n s: HexaString;\n}>;\n\nexport type SignTransactionCommandArgs = {\n /**\n * The transaction to sign in max 150 bytes chunks\n */\n readonly serializedTransaction: Uint8Array;\n /**\n * If this is the first chunk of the message\n */\n readonly isFirstChunk: boolean;\n};\n\nexport class SignTransactionCommand\n implements Command<SignTransactionCommandResponse, SignTransactionCommandArgs>\n{\n args: SignTransactionCommandArgs;\n\n constructor(args: SignTransactionCommandArgs) {\n this.args = args;\n }\n\n getApdu(): Apdu {\n const { serializedTransaction, isFirstChunk } = this.args;\n\n const signEthTransactionArgs: ApduBuilderArgs = {\n cla: 0xe0,\n ins: 0x04,\n p1: isFirstChunk ? 0x00 : 0x80,\n p2: 0x00,\n };\n\n const builder = new ApduBuilder(signEthTransactionArgs);\n\n return builder.addBufferToData(serializedTransaction).build();\n }\n\n parseResponse(\n response: ApduResponse,\n ): CommandResult<SignTransactionCommandResponse> {\n const parser = new ApduParser(response);\n\n if (!CommandUtils.isSuccessResponse(response)) {\n return CommandResultFactory({\n error: GlobalCommandErrorHandler.handle(response),\n });\n }\n\n // The data is returned only for the last chunk\n const v = parser.extract8BitUInt();\n if (v === undefined) {\n return CommandResultFactory({ data: Nothing });\n }\n\n const r = parser.encodeToHexaString(\n parser.extractFieldByLength(R_LENGTH),\n true,\n );\n if (!r) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\"R is missing\"),\n });\n }\n\n const s = parser.encodeToHexaString(\n parser.extractFieldByLength(S_LENGTH),\n true,\n );\n if (!s) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\"S is missing\"),\n });\n }\n\n return CommandResultFactory({\n data: Just({\n v,\n r,\n s,\n }),\n });\n }\n}\n"],
|
|
5
|
+
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,4BAAAE,IAAA,eAAAC,EAAAH,GACA,IAAAI,EAaO,2CACPC,EAA0C,qBAE1C,MAAMC,EAAW,GACXC,EAAW,GAmBV,MAAML,CAEb,CACE,KAEA,YAAYM,EAAkC,CAC5C,KAAK,KAAOA,CACd,CAEA,SAAgB,CACd,KAAM,CAAE,sBAAAC,EAAuB,aAAAC,CAAa,EAAI,KAAK,KAE/CC,EAA0C,CAC9C,IAAK,IACL,IAAK,EACL,GAAID,EAAe,EAAO,IAC1B,GAAI,CACN,EAIA,OAFgB,IAAI,cAAYC,CAAsB,EAEvC,gBAAgBF,CAAqB,EAAE,MAAM,CAC9D,CAEA,cACEG,EAC+C,CAC/C,MAAMC,EAAS,IAAI,aAAWD,CAAQ,EAEtC,GAAI,CAAC,eAAa,kBAAkBA,CAAQ,EAC1C,SAAO,wBAAqB,CAC1B,MAAO,4BAA0B,OAAOA,CAAQ,CAClD,CAAC,EAIH,MAAME,EAAID,EAAO,gBAAgB,EACjC,GAAIC,IAAM,OACR,SAAO,wBAAqB,CAAE,KAAM,SAAQ,CAAC,EAG/C,MAAMC,EAAIF,EAAO,mBACfA,EAAO,qBAAqBP,CAAQ,EACpC,EACF,EACA,GAAI,CAACS,EACH,SAAO,wBAAqB,CAC1B,MAAO,IAAI,yBAAuB,cAAc,CAClD,CAAC,EAGH,MAAMC,EAAIH,EAAO,mBACfA,EAAO,qBAAqBN,CAAQ,EACpC,EACF,EACA,OAAKS,KAME,wBAAqB,CAC1B,QAAM,QAAK,CACT,EAAAF,EACA,EAAAC,EACA,EAAAC,CACF,CAAC,CACH,CAAC,KAXQ,wBAAqB,CAC1B,MAAO,IAAI,yBAAuB,cAAc,CAClD,CAAC,CAUL,CACF",
|
|
6
|
+
"names": ["SignTransactionCommand_exports", "__export", "SignTransactionCommand", "__toCommonJS", "import_device_management_kit", "import_purify_ts", "R_LENGTH", "S_LENGTH", "args", "serializedTransaction", "isFirstChunk", "signEthTransactionArgs", "response", "parser", "v", "r", "s"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var t=require("@ledgerhq/device-management-kit"),s=require("purify-ts"),n=require("./SignTransactionCommand");const x=new t.ApduResponse({statusCode:Uint8Array.from([144,0]),data:new Uint8Array([])}),r=new Uint8Array([38,141,39,68,71,17,187,237,68,43,155,252,119,5,192,115,22,183,228,17,80,197,51,18,114,228,210,9,212,34,249,250,57,0,204,63,12,25,56,192,241,255,198,45,240,55,34,90,19,54,251,161,249,254,250,17,245,175,197,188,185,126,177,179,209,144,0]),c=new t.ApduResponse({statusCode:Uint8Array.from([144,0]),data:r});describe("SignTransactionCommand",()=>{const a={serializedTransaction:new Uint8Array,isFirstChunk:!0};describe("getApdu",()=>{describe("Legacy",()=>{it("should return the correct APDU when the data is empty",()=>{const e=new n.SignTransactionCommand({...a}).getApdu();expect(e.data).toStrictEqual(new Uint8Array),expect(e.cla).toBe(224),expect(e.ins).toBe(4),expect(e.p1).toBe(0),expect(e.p2).toBe(0)}),it("should return the correct APDU when the data is not empty",()=>{const e=new n.SignTransactionCommand({...a,serializedTransaction:new Uint8Array([1,2,3])}).getApdu();expect(e.data).toStrictEqual(new Uint8Array([1,2,3])),expect(e.cla).toBe(224),expect(e.ins).toBe(4),expect(e.p1).toBe(0),expect(e.p2).toBe(0)}),it("should return the correct APDU when it is not the first chunk",()=>{const e=new n.SignTransactionCommand({...a,isFirstChunk:!1}).getApdu();expect(e.data).toStrictEqual(new Uint8Array),expect(e.cla).toBe(224),expect(e.ins).toBe(4),expect(e.p1).toBe(128),expect(e.p2).toBe(0)})}),describe("Store and start",()=>{}),describe("Start",()=>{})}),describe("parseResponse",()=>{it("should return Nothing when the response data is empty",()=>{const e=new n.SignTransactionCommand({...a}).parseResponse(x);expect(e).toStrictEqual((0,t.CommandResultFactory)({data:s.Nothing}))}),it("should return Just the response data when the response data is not empty",()=>{const e=new n.SignTransactionCommand({...a}).parseResponse(c);expect(e).toStrictEqual((0,t.CommandResultFactory)({data:(0,s.Just)({r:"0x8d27444711bbed442b9bfc7705c07316b7e41150c5331272e4d209d422f9fa39",s:"0x00cc3f0c1938c0f1ffc62df037225a1336fba1f9fefa11f5afc5bcb97eb1b3d1",v:38})}))}),it("should return a UnknownDeviceExchangeError when the response status code is not 0x9000",()=>{const e=new n.SignTransactionCommand({...a}).parseResponse(new t.ApduResponse({statusCode:Uint8Array.from([81,85]),data:new Uint8Array}));expect((0,t.isSuccessCommandResult)(e)).toBe(!1),expect(e.error).toBeInstanceOf(t.UnknownDeviceExchangeError)}),it("should return an InvalidStatusWord error when the response data r is not valid",()=>{const e=new n.SignTransactionCommand({...a}).parseResponse(new t.ApduResponse({statusCode:Uint8Array.from([144,0]),data:r.slice(0,1)}));expect((0,t.isSuccessCommandResult)(e)).toBe(!1),expect(e.error).toBeInstanceOf(t.InvalidStatusWordError)}),it("should return an error when the response data s is not valid",()=>{const e=new n.SignTransactionCommand({...a}).parseResponse(new t.ApduResponse({statusCode:Uint8Array.from([144,0]),data:r.slice(0,33)}));expect((0,t.isSuccessCommandResult)(e)).toBe(!1)})})});
|
|
2
|
+
//# sourceMappingURL=SignTransactionCommand.test.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../src/internal/app-binder/command/SignTransactionCommand.test.ts"],
|
|
4
|
+
"sourcesContent": ["import {\n ApduResponse,\n CommandResultFactory,\n InvalidStatusWordError,\n isSuccessCommandResult,\n UnknownDeviceExchangeError,\n} from \"@ledgerhq/device-management-kit\";\nimport { Just, Nothing } from \"purify-ts\";\n\nimport {\n SignTransactionCommand,\n type SignTransactionCommandArgs,\n} from \"./SignTransactionCommand\";\n\nconst LNX_RESPONSE_GOOD = new ApduResponse({\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: new Uint8Array([]),\n});\n\nconst LNX_RESPONSE_DATA = new Uint8Array([\n 0x26, 0x8d, 0x27, 0x44, 0x47, 0x11, 0xbb, 0xed, 0x44, 0x2b, 0x9b, 0xfc, 0x77,\n 0x05, 0xc0, 0x73, 0x16, 0xb7, 0xe4, 0x11, 0x50, 0xc5, 0x33, 0x12, 0x72, 0xe4,\n 0xd2, 0x09, 0xd4, 0x22, 0xf9, 0xfa, 0x39, 0x00, 0xcc, 0x3f, 0x0c, 0x19, 0x38,\n 0xc0, 0xf1, 0xff, 0xc6, 0x2d, 0xf0, 0x37, 0x22, 0x5a, 0x13, 0x36, 0xfb, 0xa1,\n 0xf9, 0xfe, 0xfa, 0x11, 0xf5, 0xaf, 0xc5, 0xbc, 0xb9, 0x7e, 0xb1, 0xb3, 0xd1,\n 0x90, 0x00,\n]);\n\nconst LNX_RESPONSE_DATA_GOOD = new ApduResponse({\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: LNX_RESPONSE_DATA,\n});\n\ndescribe(\"SignTransactionCommand\", () => {\n const defaultArgs: SignTransactionCommandArgs = {\n serializedTransaction: new Uint8Array(),\n isFirstChunk: true,\n };\n\n describe(\"getApdu\", () => {\n describe(\"Legacy\", () => {\n it(\"should return the correct APDU when the data is empty\", () => {\n // GIVEN\n const command = new SignTransactionCommand({\n ...defaultArgs,\n });\n\n // WHEN\n const apdu = command.getApdu();\n\n // THEN\n expect(apdu.data).toStrictEqual(new Uint8Array());\n expect(apdu.cla).toBe(0xe0);\n expect(apdu.ins).toBe(0x04);\n expect(apdu.p1).toBe(0x00);\n expect(apdu.p2).toBe(0x00);\n });\n\n it(\"should return the correct APDU when the data is not empty\", () => {\n // GIVEN\n const command = new SignTransactionCommand({\n ...defaultArgs,\n serializedTransaction: new Uint8Array([0x01, 0x02, 0x03]),\n });\n\n // WHEN\n const apdu = command.getApdu();\n\n // THEN\n expect(apdu.data).toStrictEqual(new Uint8Array([0x01, 0x02, 0x03]));\n expect(apdu.cla).toBe(0xe0);\n expect(apdu.ins).toBe(0x04);\n expect(apdu.p1).toBe(0x00);\n expect(apdu.p2).toBe(0x00);\n });\n\n it(\"should return the correct APDU when it is not the first chunk\", () => {\n // GIVEN\n const command = new SignTransactionCommand({\n ...defaultArgs,\n isFirstChunk: false,\n });\n\n // WHEN\n const apdu = command.getApdu();\n\n // THEN\n expect(apdu.data).toStrictEqual(new Uint8Array());\n expect(apdu.cla).toBe(0xe0);\n expect(apdu.ins).toBe(0x04);\n expect(apdu.p1).toBe(0x80);\n expect(apdu.p2).toBe(0x00);\n });\n });\n\n describe(\"Store and start\", () => {\n // TODO\n });\n\n describe(\"Start\", () => {\n // TODO\n });\n });\n\n describe(\"parseResponse\", () => {\n it(\"should return Nothing when the response data is empty\", () => {\n // GIVEN\n const command = new SignTransactionCommand({\n ...defaultArgs,\n });\n\n // WHEN\n const response = command.parseResponse(LNX_RESPONSE_GOOD);\n\n // THEN\n expect(response).toStrictEqual(CommandResultFactory({ data: Nothing }));\n });\n\n it(\"should return Just the response data when the response data is not empty\", () => {\n // GIVEN\n const command = new SignTransactionCommand({\n ...defaultArgs,\n });\n\n // WHEN\n const response = command.parseResponse(LNX_RESPONSE_DATA_GOOD);\n\n // THEN\n expect(response).toStrictEqual(\n CommandResultFactory({\n data: Just({\n r: \"0x8d27444711bbed442b9bfc7705c07316b7e41150c5331272e4d209d422f9fa39\",\n s: \"0x00cc3f0c1938c0f1ffc62df037225a1336fba1f9fefa11f5afc5bcb97eb1b3d1\",\n v: 38,\n }),\n }),\n );\n });\n\n it(\"should return a UnknownDeviceExchangeError when the response status code is not 0x9000\", () => {\n // GIVEN\n const command = new SignTransactionCommand({\n ...defaultArgs,\n });\n\n // WHEN\n const response = command.parseResponse(\n new ApduResponse({\n statusCode: Uint8Array.from([0x51, 0x55]),\n data: new Uint8Array(),\n }),\n );\n\n // THEN\n expect(isSuccessCommandResult(response)).toBe(false);\n // @ts-expect-error `error`is not typed because we did not narrow it\n expect(response.error).toBeInstanceOf(UnknownDeviceExchangeError);\n });\n\n it(\"should return an InvalidStatusWord error when the response data r is not valid\", () => {\n // GIVEN\n const command = new SignTransactionCommand({\n ...defaultArgs,\n });\n\n // WHEN\n const response = command.parseResponse(\n new ApduResponse({\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: LNX_RESPONSE_DATA.slice(0, 1),\n }),\n );\n\n // THEN\n expect(isSuccessCommandResult(response)).toBe(false);\n // @ts-expect-error `error`is not typed because we did not narrow it\n expect(response.error).toBeInstanceOf(InvalidStatusWordError);\n });\n\n it(\"should return an error when the response data s is not valid\", () => {\n // GIVEN\n const command = new SignTransactionCommand({\n ...defaultArgs,\n });\n\n // WHEN\n const response = command.parseResponse(\n new ApduResponse({\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: LNX_RESPONSE_DATA.slice(0, 33),\n }),\n );\n\n // THEN\n expect(isSuccessCommandResult(response)).toBe(false);\n });\n });\n});\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["import_device_management_kit", "import_purify_ts", "import_SignTransactionCommand", "LNX_RESPONSE_GOOD", "LNX_RESPONSE_DATA", "LNX_RESPONSE_DATA_GOOD", "defaultArgs", "apdu", "response"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var i=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var p=Object.prototype.hasOwnProperty;var c=(t,n)=>{for(var r in n)i(t,r,{get:n[r],enumerable:!0})},l=(t,n,r,o)=>{if(n&&typeof n=="object"||typeof n=="function")for(let s of u(n))!p.call(t,s)&&s!==r&&i(t,s,{get:()=>n[s],enumerable:!(o=m(n,s))||o.enumerable});return t};var g=t=>l(i({},"__esModule",{value:!0}),t);var x={};c(x,{StartTransactionCommand:()=>C});module.exports=g(x);var e=require("@ledgerhq/device-management-kit"),d=require("purify-ts");const A=32,R=32;class C{getApdu(){const n={cla:224,ins:4,p1:0,p2:2};return new e.ApduBuilder(n).build()}parseResponse(n){const r=new e.ApduParser(n);if(!e.CommandUtils.isSuccessResponse(n))return(0,e.CommandResultFactory)({error:e.GlobalCommandErrorHandler.handle(n)});const o=r.extract8BitUInt();if(o===void 0)return(0,e.CommandResultFactory)({error:new e.InvalidStatusWordError("V is missing")});const s=r.encodeToHexaString(r.extractFieldByLength(A),!0);if(!s)return(0,e.CommandResultFactory)({error:new e.InvalidStatusWordError("R is missing")});const a=r.encodeToHexaString(r.extractFieldByLength(R),!0);return a?(0,e.CommandResultFactory)({data:(0,d.Just)({v:o,r:s,s:a})}):(0,e.CommandResultFactory)({error:new e.InvalidStatusWordError("S is missing")})}}0&&(module.exports={StartTransactionCommand});
|
|
2
|
+
//# sourceMappingURL=StartTransactionCommand.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../src/internal/app-binder/command/StartTransactionCommand.ts"],
|
|
4
|
+
"sourcesContent": ["// https://github.com/LedgerHQ/app-ethereum/blob/develop/doc/ethapp.adoc#sign-eth-transaction\n// https://github.com/LedgerHQ/generic_parser/blob/master/specs.md#sign (to be removed when the top link has been updated)\nimport {\n type Apdu,\n ApduBuilder,\n type ApduBuilderArgs,\n ApduParser,\n type ApduResponse,\n type Command,\n type CommandResult,\n CommandResultFactory,\n CommandUtils,\n GlobalCommandErrorHandler,\n InvalidStatusWordError,\n} from \"@ledgerhq/device-management-kit\";\nimport { Just } from \"purify-ts\";\n\nimport { type SignTransactionCommandResponse } from \"./SignTransactionCommand\";\n\nconst R_LENGTH = 32;\nconst S_LENGTH = 32;\n\n/**\n * StartTransactionCommand is a SignTransactionCommand that is used to sign the transaction.\n * It signature differs from the SignTransactionCommand because\n * the command does not need a Transaction to be provided.\n */\nexport class StartTransactionCommand\n implements Command<SignTransactionCommandResponse, void>\n{\n getApdu(): Apdu {\n const signEthTransactionArgs: ApduBuilderArgs = {\n cla: 0xe0,\n ins: 0x04,\n p1: 0x00,\n p2: 0x02,\n };\n const builder = new ApduBuilder(signEthTransactionArgs);\n return builder.build();\n }\n\n parseResponse(\n response: ApduResponse,\n ): CommandResult<SignTransactionCommandResponse> {\n const parser = new ApduParser(response);\n\n if (!CommandUtils.isSuccessResponse(response)) {\n return CommandResultFactory({\n error: GlobalCommandErrorHandler.handle(response),\n });\n }\n\n // The data is returned only for the last chunk\n const v = parser.extract8BitUInt();\n if (v === undefined) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\"V is missing\"),\n });\n }\n\n const r = parser.encodeToHexaString(\n parser.extractFieldByLength(R_LENGTH),\n true,\n );\n if (!r) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\"R is missing\"),\n });\n }\n\n const s = parser.encodeToHexaString(\n parser.extractFieldByLength(S_LENGTH),\n true,\n );\n if (!s) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\"S is missing\"),\n });\n }\n\n return CommandResultFactory({\n data: Just({\n v,\n r,\n s,\n }),\n });\n }\n}\n"],
|
|
5
|
+
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,6BAAAE,IAAA,eAAAC,EAAAH,GAEA,IAAAI,EAYO,2CACPC,EAAqB,qBAIrB,MAAMC,EAAW,GACXC,EAAW,GAOV,MAAML,CAEb,CACE,SAAgB,CACd,MAAMM,EAA0C,CAC9C,IAAK,IACL,IAAK,EACL,GAAI,EACJ,GAAI,CACN,EAEA,OADgB,IAAI,cAAYA,CAAsB,EACvC,MAAM,CACvB,CAEA,cACEC,EAC+C,CAC/C,MAAMC,EAAS,IAAI,aAAWD,CAAQ,EAEtC,GAAI,CAAC,eAAa,kBAAkBA,CAAQ,EAC1C,SAAO,wBAAqB,CAC1B,MAAO,4BAA0B,OAAOA,CAAQ,CAClD,CAAC,EAIH,MAAME,EAAID,EAAO,gBAAgB,EACjC,GAAIC,IAAM,OACR,SAAO,wBAAqB,CAC1B,MAAO,IAAI,yBAAuB,cAAc,CAClD,CAAC,EAGH,MAAMC,EAAIF,EAAO,mBACfA,EAAO,qBAAqBJ,CAAQ,EACpC,EACF,EACA,GAAI,CAACM,EACH,SAAO,wBAAqB,CAC1B,MAAO,IAAI,yBAAuB,cAAc,CAClD,CAAC,EAGH,MAAMC,EAAIH,EAAO,mBACfA,EAAO,qBAAqBH,CAAQ,EACpC,EACF,EACA,OAAKM,KAME,wBAAqB,CAC1B,QAAM,QAAK,CACT,EAAAF,EACA,EAAAC,EACA,EAAAC,CACF,CAAC,CACH,CAAC,KAXQ,wBAAqB,CAC1B,MAAO,IAAI,yBAAuB,cAAc,CAClD,CAAC,CAUL,CACF",
|
|
6
|
+
"names": ["StartTransactionCommand_exports", "__export", "StartTransactionCommand", "__toCommonJS", "import_device_management_kit", "import_purify_ts", "R_LENGTH", "S_LENGTH", "signEthTransactionArgs", "response", "parser", "v", "r", "s"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var e=require("@ledgerhq/device-management-kit"),t=require("./StartTransactionCommand");describe("StartTransactionCommand",()=>{describe("getApdu",()=>{it("should return the raw APDU",()=>{const n=new t.StartTransactionCommand().getApdu();expect(n.getRawApdu()).toStrictEqual(Uint8Array.from([224,4,0,2,0]))})}),describe("parseResponse",()=>{it("should return an error if the response status code is invalid",()=>{const o={data:Uint8Array.from([]),statusCode:Uint8Array.from([109,0])},r=new t.StartTransactionCommand().parseResponse(o);(0,e.isSuccessCommandResult)(r)?fail("Expected an error"):expect(r.error).toBeInstanceOf(e.UnknownDeviceExchangeError)}),it("should return the correct response",()=>{const o={data:Uint8Array.from([1,...Array(32).fill(2),...Array(32).fill(3)]),statusCode:Uint8Array.from([144,0])},r=new t.StartTransactionCommand().parseResponse(o);(0,e.isSuccessCommandResult)(r)?expect(r.data.extract()).toEqual({r:"0x0202020202020202020202020202020202020202020202020202020202020202",s:"0x0303030303030303030303030303030303030303030303030303030303030303",v:1}):fail("Expected a success")}),it("should return an error if v is not valid",()=>{const o={data:Uint8Array.from([]),statusCode:Uint8Array.from([144,0])},r=new t.StartTransactionCommand().parseResponse(o);(0,e.isSuccessCommandResult)(r)?fail("Expected an error"):(expect(r.error).toBeInstanceOf(e.InvalidStatusWordError),expect(r.error.originalError).toEqual(new Error("V is missing")))}),it("should return an error if r is not valid",()=>{const o={data:Uint8Array.from([1,...Array(20).fill(2)]),statusCode:Uint8Array.from([144,0])},r=new t.StartTransactionCommand().parseResponse(o);(0,e.isSuccessCommandResult)(r)?fail("Expected an error"):(expect(r.error).toBeInstanceOf(e.InvalidStatusWordError),expect(r.error.originalError).toEqual(new Error("R is missing")))}),it("should return an error if s is not valid",()=>{const o={data:Uint8Array.from([1,...Array(32).fill(2),...Array(20).fill(2)]),statusCode:Uint8Array.from([144,0])},r=new t.StartTransactionCommand().parseResponse(o);(0,e.isSuccessCommandResult)(r)?fail("Expected an error"):(expect(r.error).toBeInstanceOf(e.InvalidStatusWordError),expect(r.error.originalError).toEqual(new Error("S is missing")))})})});
|
|
2
|
+
//# sourceMappingURL=StartTransactionCommand.test.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../src/internal/app-binder/command/StartTransactionCommand.test.ts"],
|
|
4
|
+
"sourcesContent": ["import {\n InvalidStatusWordError,\n isSuccessCommandResult,\n UnknownDeviceExchangeError,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { StartTransactionCommand } from \"./StartTransactionCommand\";\n\ndescribe(\"StartTransactionCommand\", () => {\n describe(\"getApdu\", () => {\n it(\"should return the raw APDU\", () => {\n // WHEN\n const command = new StartTransactionCommand();\n const apdu = command.getApdu();\n\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(\n Uint8Array.from([0xe0, 0x04, 0x00, 0x02, 0x00]),\n );\n });\n });\n\n describe(\"parseResponse\", () => {\n it(\"should return an error if the response status code is invalid\", () => {\n // GIVEN\n const response = {\n data: Uint8Array.from([]),\n statusCode: Uint8Array.from([0x6d, 0x00]), // Invalid status code\n };\n\n // WHEN\n const command = new StartTransactionCommand();\n const result = command.parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n fail(\"Expected an error\");\n } else {\n expect(result.error).toBeInstanceOf(UnknownDeviceExchangeError);\n }\n });\n\n it(\"should return the correct response\", () => {\n // GIVEN\n const response = {\n data: Uint8Array.from([\n 0x01,\n ...Array<number>(32).fill(0x02),\n ...Array<number>(32).fill(0x03),\n ]), // Some data\n statusCode: Uint8Array.from([0x90, 0x00]), // Success status code\n };\n\n // WHEN\n const command = new StartTransactionCommand();\n const result = command.parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n expect(result.data.extract()).toEqual({\n r: \"0x0202020202020202020202020202020202020202020202020202020202020202\",\n s: \"0x0303030303030303030303030303030303030303030303030303030303030303\",\n v: 1,\n });\n } else {\n fail(\"Expected a success\");\n }\n });\n\n it(\"should return an error if v is not valid\", () => {\n // GIVEN\n const response = {\n data: Uint8Array.from([]), // No data\n statusCode: Uint8Array.from([0x90, 0x00]), // Success status code\n };\n\n // WHEN\n const command = new StartTransactionCommand();\n const result = command.parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n fail(\"Expected an error\");\n } else {\n expect(result.error).toBeInstanceOf(InvalidStatusWordError);\n expect(result.error.originalError).toEqual(new Error(\"V is missing\"));\n }\n });\n\n it(\"should return an error if r is not valid\", () => {\n // GIVEN\n const response = {\n data: Uint8Array.from([0x01, ...Array<number>(20).fill(0x02)]), // Invalid r\n statusCode: Uint8Array.from([0x90, 0x00]), // Success status code\n };\n\n // WHEN\n const command = new StartTransactionCommand();\n const result = command.parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n fail(\"Expected an error\");\n } else {\n expect(result.error).toBeInstanceOf(InvalidStatusWordError);\n expect(result.error.originalError).toEqual(new Error(\"R is missing\"));\n }\n });\n\n it(\"should return an error if s is not valid\", () => {\n // GIVEN\n const response = {\n data: Uint8Array.from([\n 0x01,\n ...Array<number>(32).fill(0x02),\n ...Array<number>(20).fill(0x02),\n ]), // Invalid s\n statusCode: Uint8Array.from([0x90, 0x00]), // Success status code\n };\n\n // WHEN\n const command = new StartTransactionCommand();\n const result = command.parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n fail(\"Expected an error\");\n } else {\n expect(result.error).toBeInstanceOf(InvalidStatusWordError);\n expect(result.error.originalError).toEqual(new Error(\"S is missing\"));\n }\n });\n });\n});\n"],
|
|
5
|
+
"mappings": "aAAA,IAAAA,EAIO,2CAEPC,EAAwC,qCAExC,SAAS,0BAA2B,IAAM,CACxC,SAAS,UAAW,IAAM,CACxB,GAAG,6BAA8B,IAAM,CAGrC,MAAMC,EADU,IAAI,0BAAwB,EACvB,QAAQ,EAG7B,OAAOA,EAAK,WAAW,CAAC,EAAE,cACxB,WAAW,KAAK,CAAC,IAAM,EAAM,EAAM,EAAM,CAAI,CAAC,CAChD,CACF,CAAC,CACH,CAAC,EAED,SAAS,gBAAiB,IAAM,CAC9B,GAAG,gEAAiE,IAAM,CAExE,MAAMC,EAAW,CACf,KAAM,WAAW,KAAK,CAAC,CAAC,EACxB,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,CAC1C,EAIMC,EADU,IAAI,0BAAwB,EACrB,cAAcD,CAAQ,KAGzC,0BAAuBC,CAAM,EAC/B,KAAK,mBAAmB,EAExB,OAAOA,EAAO,KAAK,EAAE,eAAe,4BAA0B,CAElE,CAAC,EAED,GAAG,qCAAsC,IAAM,CAE7C,MAAMD,EAAW,CACf,KAAM,WAAW,KAAK,CACpB,EACA,GAAG,MAAc,EAAE,EAAE,KAAK,CAAI,EAC9B,GAAG,MAAc,EAAE,EAAE,KAAK,CAAI,CAChC,CAAC,EACD,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,CAC1C,EAIMC,EADU,IAAI,0BAAwB,EACrB,cAAcD,CAAQ,KAGzC,0BAAuBC,CAAM,EAC/B,OAAOA,EAAO,KAAK,QAAQ,CAAC,EAAE,QAAQ,CACpC,EAAG,qEACH,EAAG,qEACH,EAAG,CACL,CAAC,EAED,KAAK,oBAAoB,CAE7B,CAAC,EAED,GAAG,2CAA4C,IAAM,CAEnD,MAAMD,EAAW,CACf,KAAM,WAAW,KAAK,CAAC,CAAC,EACxB,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,CAC1C,EAIMC,EADU,IAAI,0BAAwB,EACrB,cAAcD,CAAQ,KAGzC,0BAAuBC,CAAM,EAC/B,KAAK,mBAAmB,GAExB,OAAOA,EAAO,KAAK,EAAE,eAAe,wBAAsB,EAC1D,OAAOA,EAAO,MAAM,aAAa,EAAE,QAAQ,IAAI,MAAM,cAAc,CAAC,EAExE,CAAC,EAED,GAAG,2CAA4C,IAAM,CAEnD,MAAMD,EAAW,CACf,KAAM,WAAW,KAAK,CAAC,EAAM,GAAG,MAAc,EAAE,EAAE,KAAK,CAAI,CAAC,CAAC,EAC7D,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,CAC1C,EAIMC,EADU,IAAI,0BAAwB,EACrB,cAAcD,CAAQ,KAGzC,0BAAuBC,CAAM,EAC/B,KAAK,mBAAmB,GAExB,OAAOA,EAAO,KAAK,EAAE,eAAe,wBAAsB,EAC1D,OAAOA,EAAO,MAAM,aAAa,EAAE,QAAQ,IAAI,MAAM,cAAc,CAAC,EAExE,CAAC,EAED,GAAG,2CAA4C,IAAM,CAEnD,MAAMD,EAAW,CACf,KAAM,WAAW,KAAK,CACpB,EACA,GAAG,MAAc,EAAE,EAAE,KAAK,CAAI,EAC9B,GAAG,MAAc,EAAE,EAAE,KAAK,CAAI,CAChC,CAAC,EACD,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,CAC1C,EAIMC,EADU,IAAI,0BAAwB,EACrB,cAAcD,CAAQ,KAGzC,0BAAuBC,CAAM,EAC/B,KAAK,mBAAmB,GAExB,OAAOA,EAAO,KAAK,EAAE,eAAe,wBAAsB,EAC1D,OAAOA,EAAO,MAAM,aAAa,EAAE,QAAQ,IAAI,MAAM,cAAc,CAAC,EAExE,CAAC,CACH,CAAC,CACH,CAAC",
|
|
6
|
+
"names": ["import_device_management_kit", "import_StartTransactionCommand", "apdu", "response", "result"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var t=Object.defineProperty;var d=Object.getOwnPropertyDescriptor;var i=Object.getOwnPropertyNames;var m=Object.prototype.hasOwnProperty;var u=(n,r)=>{for(var a in r)t(n,a,{get:r[a],enumerable:!0})},p=(n,r,a,s)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of i(r))!m.call(n,o)&&o!==a&&t(n,o,{get:()=>r[o],enumerable:!(s=d(r,o))||s.enumerable});return n};var l=n=>p(t({},"__esModule",{value:!0}),n);var A={};u(A,{StoreTransactionCommand:()=>c});module.exports=l(A);var e=require("@ledgerhq/device-management-kit");class c{constructor(r){this.args=r}getApdu(){const{serializedTransaction:r,isFirstChunk:a}=this.args,s={cla:224,ins:4,p1:a?0:128,p2:1};return new e.ApduBuilder(s).addBufferToData(r).build()}parseResponse(r){return e.CommandUtils.isSuccessResponse(r)?(0,e.CommandResultFactory)({data:void 0}):(0,e.CommandResultFactory)({error:e.GlobalCommandErrorHandler.handle(r)})}}0&&(module.exports={StoreTransactionCommand});
|
|
2
|
+
//# sourceMappingURL=StoreTransactionCommand.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../src/internal/app-binder/command/StoreTransactionCommand.ts"],
|
|
4
|
+
"sourcesContent": ["// https://github.com/LedgerHQ/app-ethereum/blob/develop/doc/ethapp.adoc#sign-eth-transaction\n// https://github.com/LedgerHQ/generic_parser/blob/master/specs.md#sign (to be removed when the top link has been updated)\nimport {\n type Apdu,\n ApduBuilder,\n type ApduBuilderArgs,\n type ApduResponse,\n type Command,\n type CommandResult,\n CommandResultFactory,\n CommandUtils,\n GlobalCommandErrorHandler,\n} from \"@ledgerhq/device-management-kit\";\n\nexport type StoreTransactionCommandArgs = {\n /**\n * The transaction to sign in max 150 bytes chunks\n */\n readonly serializedTransaction: Uint8Array;\n /**\n * If this is the first chunk of the message\n */\n readonly isFirstChunk: boolean;\n};\n\n/**\n * StoreTransactionCommand is a SignTransactionCommand that is used to initiate\n * the sign transaction flow. It signature differs from the SignTransactionCommand\n * because the command does not return any data.\n */\nexport class StoreTransactionCommand\n implements Command<void, StoreTransactionCommandArgs>\n{\n constructor(private readonly args: StoreTransactionCommandArgs) {}\n\n getApdu(): Apdu {\n const { serializedTransaction, isFirstChunk } = this.args;\n\n const signEthTransactionArgs: ApduBuilderArgs = {\n cla: 0xe0,\n ins: 0x04,\n p1: isFirstChunk ? 0x00 : 0x80,\n p2: 0x01,\n };\n const builder = new ApduBuilder(signEthTransactionArgs);\n return builder.addBufferToData(serializedTransaction).build();\n }\n\n parseResponse(response: ApduResponse): CommandResult<void> {\n if (!CommandUtils.isSuccessResponse(response)) {\n return CommandResultFactory({\n error: GlobalCommandErrorHandler.handle(response),\n });\n }\n\n return CommandResultFactory({ data: undefined });\n }\n}\n"],
|
|
5
|
+
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,6BAAAE,IAAA,eAAAC,EAAAH,GAEA,IAAAI,EAUO,2CAkBA,MAAMF,CAEb,CACE,YAA6BG,EAAmC,CAAnC,UAAAA,CAAoC,CAEjE,SAAgB,CACd,KAAM,CAAE,sBAAAC,EAAuB,aAAAC,CAAa,EAAI,KAAK,KAE/CC,EAA0C,CAC9C,IAAK,IACL,IAAK,EACL,GAAID,EAAe,EAAO,IAC1B,GAAI,CACN,EAEA,OADgB,IAAI,cAAYC,CAAsB,EACvC,gBAAgBF,CAAqB,EAAE,MAAM,CAC9D,CAEA,cAAcG,EAA6C,CACzD,OAAK,eAAa,kBAAkBA,CAAQ,KAMrC,wBAAqB,CAAE,KAAM,MAAU,CAAC,KALtC,wBAAqB,CAC1B,MAAO,4BAA0B,OAAOA,CAAQ,CAClD,CAAC,CAIL,CACF",
|
|
6
|
+
"names": ["StoreTransactionCommand_exports", "__export", "StoreTransactionCommand", "__toCommonJS", "import_device_management_kit", "args", "serializedTransaction", "isFirstChunk", "signEthTransactionArgs", "response"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var n=require("@ledgerhq/device-management-kit"),t=require("./StoreTransactionCommand");describe("StoreTransactionCommand",()=>{describe("getApdu",()=>{it("should return the raw APDU for the first chunk",()=>{const r={serializedTransaction:Uint8Array.from([1,2,3]),isFirstChunk:!0},e=new t.StoreTransactionCommand(r).getApdu();expect(e.getRawApdu()).toStrictEqual(Uint8Array.from([224,4,0,1,3,1,2,3]))}),it("should return the raw APDU for the subsequent chunk",()=>{const r={serializedTransaction:Uint8Array.from([4,5,6]),isFirstChunk:!1},e=new t.StoreTransactionCommand(r).getApdu();expect(e.getRawApdu()).toStrictEqual(Uint8Array.from([224,4,128,1,3,4,5,6]))})}),describe("parseResponse",()=>{it("should return an error if the response status code is invalid",()=>{const r={data:Uint8Array.from([]),statusCode:Uint8Array.from([109,0])},e=new t.StoreTransactionCommand({serializedTransaction:new Uint8Array(0),isFirstChunk:!0}).parseResponse(r);if((0,n.isSuccessCommandResult)(e))throw new Error("Expected error");expect(e.error).toBeInstanceOf(n.UnknownDeviceExchangeError)}),it("should return the correct response",()=>{const r={data:Uint8Array.from([]),statusCode:Uint8Array.from([144,0])},e=new t.StoreTransactionCommand({serializedTransaction:new Uint8Array(0),isFirstChunk:!0}).parseResponse(r);if((0,n.isSuccessCommandResult)(e))expect(e.data).toBeUndefined();else throw new Error("Expected success")})})});
|
|
2
|
+
//# sourceMappingURL=StoreTransactionCommand.test.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../src/internal/app-binder/command/StoreTransactionCommand.test.ts"],
|
|
4
|
+
"sourcesContent": ["import {\n type ApduResponse,\n isSuccessCommandResult,\n UnknownDeviceExchangeError,\n} from \"@ledgerhq/device-management-kit\";\n\nimport {\n StoreTransactionCommand,\n type StoreTransactionCommandArgs,\n} from \"./StoreTransactionCommand\";\n\ndescribe(\"StoreTransactionCommand\", () => {\n describe(\"getApdu\", () => {\n it(\"should return the raw APDU for the first chunk\", () => {\n // GIVEN\n const args: StoreTransactionCommandArgs = {\n serializedTransaction: Uint8Array.from([0x01, 0x02, 0x03]),\n isFirstChunk: true,\n };\n\n // WHEN\n const command = new StoreTransactionCommand(args);\n const apdu = command.getApdu();\n\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(\n Uint8Array.from([0xe0, 0x04, 0x00, 0x01, 0x03, 0x01, 0x02, 0x03]),\n );\n });\n\n it(\"should return the raw APDU for the subsequent chunk\", () => {\n // GIVEN\n const args: StoreTransactionCommandArgs = {\n serializedTransaction: Uint8Array.from([0x04, 0x05, 0x06]),\n isFirstChunk: false,\n };\n\n // WHEN\n const command = new StoreTransactionCommand(args);\n const apdu = command.getApdu();\n\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(\n Uint8Array.from([0xe0, 0x04, 0x80, 0x01, 0x03, 0x04, 0x05, 0x06]),\n );\n });\n });\n\n describe(\"parseResponse\", () => {\n it(\"should return an error if the response status code is invalid\", () => {\n // GIVEN\n const response: ApduResponse = {\n data: Uint8Array.from([]),\n statusCode: Uint8Array.from([0x6d, 0x00]), // Invalid status code\n };\n\n // WHEN\n const command = new StoreTransactionCommand({\n serializedTransaction: new Uint8Array(0),\n isFirstChunk: true,\n });\n const result = command.parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n throw new Error(\"Expected error\");\n } else {\n expect(result.error).toBeInstanceOf(UnknownDeviceExchangeError);\n }\n });\n\n it(\"should return the correct response\", () => {\n // GIVEN\n const response: ApduResponse = {\n data: Uint8Array.from([]),\n statusCode: Uint8Array.from([0x90, 0x00]), // Success status code\n };\n\n // WHEN\n const command = new StoreTransactionCommand({\n serializedTransaction: new Uint8Array(0),\n isFirstChunk: true,\n });\n const result = command.parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n expect(result.data).toBeUndefined();\n } else {\n throw new Error(\"Expected success\");\n }\n });\n });\n});\n"],
|
|
5
|
+
"mappings": "aAAA,IAAAA,EAIO,2CAEPC,EAGO,qCAEP,SAAS,0BAA2B,IAAM,CACxC,SAAS,UAAW,IAAM,CACxB,GAAG,iDAAkD,IAAM,CAEzD,MAAMC,EAAoC,CACxC,sBAAuB,WAAW,KAAK,CAAC,EAAM,EAAM,CAAI,CAAC,EACzD,aAAc,EAChB,EAIMC,EADU,IAAI,0BAAwBD,CAAI,EAC3B,QAAQ,EAG7B,OAAOC,EAAK,WAAW,CAAC,EAAE,cACxB,WAAW,KAAK,CAAC,IAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,CAAI,CAAC,CAClE,CACF,CAAC,EAED,GAAG,sDAAuD,IAAM,CAE9D,MAAMD,EAAoC,CACxC,sBAAuB,WAAW,KAAK,CAAC,EAAM,EAAM,CAAI,CAAC,EACzD,aAAc,EAChB,EAIMC,EADU,IAAI,0BAAwBD,CAAI,EAC3B,QAAQ,EAG7B,OAAOC,EAAK,WAAW,CAAC,EAAE,cACxB,WAAW,KAAK,CAAC,IAAM,EAAM,IAAM,EAAM,EAAM,EAAM,EAAM,CAAI,CAAC,CAClE,CACF,CAAC,CACH,CAAC,EAED,SAAS,gBAAiB,IAAM,CAC9B,GAAG,gEAAiE,IAAM,CAExE,MAAMC,EAAyB,CAC7B,KAAM,WAAW,KAAK,CAAC,CAAC,EACxB,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,CAC1C,EAOMC,EAJU,IAAI,0BAAwB,CAC1C,sBAAuB,IAAI,WAAW,CAAC,EACvC,aAAc,EAChB,CAAC,EACsB,cAAcD,CAAQ,EAG7C,MAAI,0BAAuBC,CAAM,EAC/B,MAAM,IAAI,MAAM,gBAAgB,EAEhC,OAAOA,EAAO,KAAK,EAAE,eAAe,4BAA0B,CAElE,CAAC,EAED,GAAG,qCAAsC,IAAM,CAE7C,MAAMD,EAAyB,CAC7B,KAAM,WAAW,KAAK,CAAC,CAAC,EACxB,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,CAC1C,EAOMC,EAJU,IAAI,0BAAwB,CAC1C,sBAAuB,IAAI,WAAW,CAAC,EACvC,aAAc,EAChB,CAAC,EACsB,cAAcD,CAAQ,EAG7C,MAAI,0BAAuBC,CAAM,EAC/B,OAAOA,EAAO,IAAI,EAAE,cAAc,MAElC,OAAM,IAAI,MAAM,kBAAkB,CAEtC,CAAC,CACH,CAAC,CACH,CAAC",
|
|
6
|
+
"names": ["import_device_management_kit", "import_StoreTransactionCommand", "args", "apdu", "response", "result"]
|
|
7
|
+
}
|