@ledgerhq/device-signer-kit-ethereum 0.0.0-signer-eth-plugin-fix-20250331141239 → 0.0.0-transaction-unfunded-20250917151052
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 +53 -0
- package/lib/cjs/api/SignerEth.js +1 -1
- package/lib/cjs/api/SignerEth.js.map +1 -1
- package/lib/cjs/api/SignerEthBuilder.js +1 -1
- package/lib/cjs/api/SignerEthBuilder.js.map +3 -3
- package/lib/cjs/api/SignerEthBuilder.test.js +1 -1
- package/lib/cjs/api/SignerEthBuilder.test.js.map +3 -3
- package/lib/cjs/api/app-binder/SignDelegationAuthorizationTypes.js +2 -0
- package/lib/cjs/api/app-binder/SignDelegationAuthorizationTypes.js.map +7 -0
- package/lib/cjs/api/app-binder/SignTransactionDeviceActionTypes.js +1 -1
- package/lib/cjs/api/app-binder/SignTransactionDeviceActionTypes.js.map +2 -2
- package/lib/cjs/api/app-binder/SignTypedDataDeviceActionTypes.js +1 -1
- package/lib/cjs/api/app-binder/SignTypedDataDeviceActionTypes.js.map +2 -2
- package/lib/cjs/api/index.js +1 -1
- package/lib/cjs/api/index.js.map +3 -3
- package/lib/cjs/api/model/AddressOptions.js +1 -1
- package/lib/cjs/api/model/AddressOptions.js.map +1 -1
- package/lib/cjs/api/model/ClearSigningType.js +2 -0
- package/lib/cjs/api/model/ClearSigningType.js.map +7 -0
- package/lib/cjs/api/model/MessageOptions.js +2 -0
- package/lib/cjs/api/model/MessageOptions.js.map +7 -0
- package/lib/cjs/api/model/TransactionOptions.js +1 -1
- package/lib/cjs/api/model/TransactionOptions.js.map +1 -1
- package/lib/cjs/api/model/TypedDataOptions.js +2 -0
- package/lib/cjs/api/model/TypedDataOptions.js.map +7 -0
- package/lib/cjs/internal/DefaultSignerEth.js +1 -1
- package/lib/cjs/internal/DefaultSignerEth.js.map +3 -3
- package/lib/cjs/internal/DefaultSignerEth.test.js +1 -1
- package/lib/cjs/internal/DefaultSignerEth.test.js.map +3 -3
- package/lib/cjs/internal/address/di/addressModule.js +1 -1
- package/lib/cjs/internal/address/di/addressModule.js.map +3 -3
- package/lib/cjs/internal/address/di/addressModule.test.js +1 -1
- package/lib/cjs/internal/address/di/addressModule.test.js.map +2 -2
- package/lib/cjs/internal/address/use-case/GetAddressUseCase.js +1 -1
- package/lib/cjs/internal/address/use-case/GetAddressUseCase.js.map +2 -2
- package/lib/cjs/internal/address/use-case/GetAddressUseCase.test.js +1 -1
- package/lib/cjs/internal/address/use-case/GetAddressUseCase.test.js.map +2 -2
- package/lib/cjs/internal/app-binder/EthAppBinder.js +1 -1
- package/lib/cjs/internal/app-binder/EthAppBinder.js.map +3 -3
- package/lib/cjs/internal/app-binder/EthAppBinder.test.js +1 -1
- package/lib/cjs/internal/app-binder/EthAppBinder.test.js.map +3 -3
- package/lib/cjs/internal/app-binder/command/ProvideNetworkConfigurationCommand.js +2 -0
- package/lib/cjs/internal/app-binder/command/ProvideNetworkConfigurationCommand.js.map +7 -0
- package/lib/cjs/internal/app-binder/command/ProvideNetworkConfigurationCommand.test.js +2 -0
- package/lib/cjs/internal/app-binder/command/ProvideNetworkConfigurationCommand.test.js.map +7 -0
- package/lib/cjs/internal/app-binder/command/ProvideProxyInfoCommand.js +2 -0
- package/lib/cjs/internal/app-binder/command/ProvideProxyInfoCommand.js.map +7 -0
- package/lib/cjs/internal/app-binder/command/ProvideProxyInfoCommand.test.js +2 -0
- package/lib/cjs/internal/app-binder/command/ProvideProxyInfoCommand.test.js.map +7 -0
- package/lib/cjs/internal/app-binder/command/SignAuthorizationDelegationCommand.js +2 -0
- package/lib/cjs/internal/app-binder/command/SignAuthorizationDelegationCommand.js.map +7 -0
- package/lib/cjs/internal/app-binder/command/SignAuthorizationDelegationCommand.test.js +2 -0
- package/lib/cjs/internal/app-binder/command/SignAuthorizationDelegationCommand.test.js.map +7 -0
- package/lib/cjs/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.js +1 -1
- package/lib/cjs/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.js.map +3 -3
- package/lib/cjs/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.js +1 -1
- package/lib/cjs/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.js.map +3 -3
- package/lib/cjs/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.js +1 -1
- package/lib/cjs/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.js.map +3 -3
- package/lib/cjs/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.test.js +1 -1
- package/lib/cjs/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.test.js.map +2 -2
- package/lib/cjs/internal/app-binder/device-action/__test-utils__/makeInternalApi.js +1 -1
- package/lib/cjs/internal/app-binder/device-action/__test-utils__/makeInternalApi.js.map +3 -3
- package/lib/cjs/internal/app-binder/di/appBinderModule.js +1 -1
- package/lib/cjs/internal/app-binder/di/appBinderModule.js.map +3 -3
- package/lib/cjs/internal/app-binder/task/BuildEIP712ContextTask.js +1 -1
- package/lib/cjs/internal/app-binder/task/BuildEIP712ContextTask.js.map +3 -3
- package/lib/cjs/internal/app-binder/task/BuildEIP712ContextTask.test.js +1 -1
- package/lib/cjs/internal/app-binder/task/BuildEIP712ContextTask.test.js.map +2 -2
- package/lib/cjs/internal/app-binder/task/BuildSubContextTask.js +2 -0
- package/lib/cjs/internal/app-binder/task/BuildSubContextTask.js.map +7 -0
- package/lib/cjs/internal/app-binder/task/BuildSubContextTask.test.js +2 -0
- package/lib/cjs/internal/app-binder/task/BuildSubContextTask.test.js.map +7 -0
- package/lib/cjs/internal/app-binder/task/BuildTransactionContextTask.js +1 -1
- package/lib/cjs/internal/app-binder/task/BuildTransactionContextTask.js.map +3 -3
- package/lib/cjs/internal/app-binder/task/BuildTransactionContextTask.test.js +1 -1
- package/lib/cjs/internal/app-binder/task/BuildTransactionContextTask.test.js.map +3 -3
- package/lib/cjs/internal/app-binder/task/GetWeb3CheckTask.js +1 -1
- package/lib/cjs/internal/app-binder/task/GetWeb3CheckTask.js.map +3 -3
- package/lib/cjs/internal/app-binder/task/GetWeb3CheckTask.test.js +1 -1
- package/lib/cjs/internal/app-binder/task/GetWeb3CheckTask.test.js.map +3 -3
- package/lib/cjs/internal/app-binder/task/PreBuildContextTask.js +2 -0
- package/lib/cjs/internal/app-binder/task/PreBuildContextTask.js.map +7 -0
- package/lib/cjs/internal/app-binder/task/ProvideEIP712ContextTask.js.map +2 -2
- package/lib/cjs/internal/app-binder/task/ProvideEIP712ContextTask.test.js +1 -1
- package/lib/cjs/internal/app-binder/task/ProvideEIP712ContextTask.test.js.map +2 -2
- package/lib/cjs/internal/app-binder/task/ProvideTransactionContextTask.js +1 -1
- package/lib/cjs/internal/app-binder/task/ProvideTransactionContextTask.js.map +3 -3
- package/lib/cjs/internal/app-binder/task/ProvideTransactionContextTask.test.js +1 -1
- package/lib/cjs/internal/app-binder/task/ProvideTransactionContextTask.test.js.map +3 -3
- package/lib/cjs/internal/app-binder/task/SendPayloadInChunksTask.js +1 -1
- package/lib/cjs/internal/app-binder/task/SendPayloadInChunksTask.js.map +3 -3
- package/lib/cjs/internal/app-binder/task/SendPayloadInChunksTask.test.js +1 -1
- package/lib/cjs/internal/app-binder/task/SendPayloadInChunksTask.test.js.map +3 -3
- package/lib/cjs/internal/app-binder/task/SendSignAuthorizationDelegationTask.js +2 -0
- package/lib/cjs/internal/app-binder/task/SendSignAuthorizationDelegationTask.js.map +7 -0
- package/lib/cjs/internal/app-binder/task/SendSignAuthorizationDelegationTask.test.js +2 -0
- package/lib/cjs/internal/app-binder/task/SendSignAuthorizationDelegationTask.test.js.map +7 -0
- package/lib/cjs/internal/app-binder/task/SendSignTransactionTask.js +1 -1
- package/lib/cjs/internal/app-binder/task/SendSignTransactionTask.js.map +3 -3
- package/lib/cjs/internal/app-binder/task/SendSignTransactionTask.test.js +1 -1
- package/lib/cjs/internal/app-binder/task/SendSignTransactionTask.test.js.map +3 -3
- package/lib/cjs/internal/app-binder/task/SignTypedDataLegacyTask.js +2 -0
- package/lib/cjs/internal/app-binder/task/SignTypedDataLegacyTask.js.map +7 -0
- package/lib/cjs/internal/app-binder/task/SignTypedDataLegacyTask.test.js +2 -0
- package/lib/cjs/internal/app-binder/task/SignTypedDataLegacyTask.test.js.map +7 -0
- package/lib/cjs/internal/di.js +1 -1
- package/lib/cjs/internal/di.js.map +3 -3
- package/lib/cjs/internal/eip7702/di/eip7702Module.js +2 -0
- package/lib/cjs/internal/eip7702/di/eip7702Module.js.map +7 -0
- package/lib/cjs/internal/eip7702/di/eip7702Module.test.js +2 -0
- package/lib/cjs/internal/eip7702/di/eip7702Module.test.js.map +7 -0
- package/lib/cjs/internal/eip7702/di/eip7702Types.js +2 -0
- package/lib/cjs/internal/eip7702/di/eip7702Types.js.map +7 -0
- package/lib/cjs/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.js +2 -0
- package/lib/cjs/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.js.map +7 -0
- package/lib/cjs/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.test.js +2 -0
- package/lib/cjs/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.test.js.map +7 -0
- package/lib/cjs/internal/message/di/messageModule.js +1 -1
- package/lib/cjs/internal/message/di/messageModule.js.map +3 -3
- package/lib/cjs/internal/message/di/messageModule.test.js +1 -1
- package/lib/cjs/internal/message/di/messageModule.test.js.map +2 -2
- package/lib/cjs/internal/message/use-case/SignMessageUseCase.js +1 -1
- package/lib/cjs/internal/message/use-case/SignMessageUseCase.js.map +3 -3
- package/lib/cjs/internal/message/use-case/SignMessageUseCase.test.js +1 -1
- package/lib/cjs/internal/message/use-case/SignMessageUseCase.test.js.map +2 -2
- package/lib/cjs/internal/shared/utils/ApplicationChecker.js +1 -1
- package/lib/cjs/internal/shared/utils/ApplicationChecker.js.map +3 -3
- package/lib/cjs/internal/shared/utils/ApplicationChecker.test.js +1 -1
- package/lib/cjs/internal/shared/utils/ApplicationChecker.test.js.map +2 -2
- package/lib/cjs/internal/transaction/di/transactionModule.js +1 -1
- package/lib/cjs/internal/transaction/di/transactionModule.js.map +3 -3
- package/lib/cjs/internal/transaction/di/transactionModule.test.js +1 -1
- package/lib/cjs/internal/transaction/di/transactionModule.test.js.map +2 -2
- package/lib/cjs/internal/transaction/service/mapper/EthersTransactionMapperService.js +2 -0
- package/lib/cjs/internal/transaction/service/mapper/EthersTransactionMapperService.js.map +7 -0
- package/lib/cjs/internal/transaction/service/mapper/EthersTransactionMapperService.test.js +2 -0
- package/lib/cjs/internal/transaction/service/mapper/EthersTransactionMapperService.test.js.map +7 -0
- package/lib/cjs/internal/transaction/service/mapper/TransactionMapperService.js +1 -1
- package/lib/cjs/internal/transaction/service/mapper/TransactionMapperService.js.map +3 -3
- package/lib/cjs/internal/transaction/service/parser/TransactionParserService.js +1 -1
- package/lib/cjs/internal/transaction/service/parser/TransactionParserService.js.map +3 -3
- package/lib/cjs/internal/transaction/service/parser/TransactionParserService.test.js +1 -1
- package/lib/cjs/internal/transaction/service/parser/TransactionParserService.test.js.map +3 -3
- package/lib/cjs/internal/typed-data/di/typedDataModule.js +1 -1
- package/lib/cjs/internal/typed-data/di/typedDataModule.js.map +3 -3
- package/lib/cjs/internal/typed-data/di/typedDataModule.test.js +1 -1
- package/lib/cjs/internal/typed-data/di/typedDataModule.test.js.map +2 -2
- package/lib/cjs/internal/typed-data/service/DefaultTypedDataParserService.js +1 -1
- package/lib/cjs/internal/typed-data/service/DefaultTypedDataParserService.js.map +2 -2
- package/lib/cjs/internal/typed-data/service/TypedDataParser.js +1 -1
- package/lib/cjs/internal/typed-data/service/TypedDataParser.js.map +3 -3
- package/lib/cjs/internal/typed-data/service/TypedDataParser.test.js +1 -1
- package/lib/cjs/internal/typed-data/service/TypedDataParser.test.js.map +2 -2
- package/lib/cjs/internal/typed-data/use-case/SignTypedDataUseCase.js +1 -1
- package/lib/cjs/internal/typed-data/use-case/SignTypedDataUseCase.js.map +3 -3
- package/lib/cjs/internal/typed-data/use-case/SignTypedDataUseCase.test.js +1 -1
- package/lib/cjs/internal/typed-data/use-case/SignTypedDataUseCase.test.js.map +2 -2
- package/lib/cjs/package.json +13 -14
- package/lib/esm/api/SignerEthBuilder.js +1 -1
- package/lib/esm/api/SignerEthBuilder.js.map +3 -3
- package/lib/esm/api/SignerEthBuilder.test.js +1 -1
- package/lib/esm/api/SignerEthBuilder.test.js.map +3 -3
- package/lib/esm/api/app-binder/SignDelegationAuthorizationTypes.js +1 -0
- package/lib/esm/api/app-binder/SignTransactionDeviceActionTypes.js +1 -1
- package/lib/esm/api/app-binder/SignTransactionDeviceActionTypes.js.map +2 -2
- package/lib/esm/api/app-binder/SignTypedDataDeviceActionTypes.js +1 -1
- package/lib/esm/api/app-binder/SignTypedDataDeviceActionTypes.js.map +2 -2
- package/lib/esm/api/index.js +1 -1
- package/lib/esm/api/index.js.map +2 -2
- package/lib/esm/api/model/ClearSigningType.js +2 -0
- package/lib/esm/api/model/ClearSigningType.js.map +7 -0
- package/lib/esm/api/model/MessageOptions.js +1 -0
- package/lib/esm/api/model/MessageOptions.js.map +7 -0
- package/lib/esm/api/model/TypedDataOptions.js +1 -0
- package/lib/esm/api/model/TypedDataOptions.js.map +7 -0
- package/lib/esm/internal/DefaultSignerEth.js +1 -1
- package/lib/esm/internal/DefaultSignerEth.js.map +3 -3
- package/lib/esm/internal/DefaultSignerEth.test.js +1 -1
- package/lib/esm/internal/DefaultSignerEth.test.js.map +3 -3
- package/lib/esm/internal/address/di/addressModule.js +1 -1
- package/lib/esm/internal/address/di/addressModule.js.map +3 -3
- package/lib/esm/internal/address/di/addressModule.test.js +1 -1
- package/lib/esm/internal/address/di/addressModule.test.js.map +2 -2
- package/lib/esm/internal/address/use-case/GetAddressUseCase.js +1 -1
- package/lib/esm/internal/address/use-case/GetAddressUseCase.js.map +2 -2
- package/lib/esm/internal/address/use-case/GetAddressUseCase.test.js +1 -1
- package/lib/esm/internal/address/use-case/GetAddressUseCase.test.js.map +2 -2
- package/lib/esm/internal/app-binder/EthAppBinder.js +1 -1
- package/lib/esm/internal/app-binder/EthAppBinder.js.map +3 -3
- package/lib/esm/internal/app-binder/EthAppBinder.test.js +1 -1
- package/lib/esm/internal/app-binder/EthAppBinder.test.js.map +3 -3
- package/lib/esm/internal/app-binder/command/ProvideNetworkConfigurationCommand.js +2 -0
- package/lib/esm/internal/app-binder/command/ProvideNetworkConfigurationCommand.js.map +7 -0
- package/lib/esm/internal/app-binder/command/ProvideNetworkConfigurationCommand.test.js +2 -0
- package/lib/esm/internal/app-binder/command/ProvideNetworkConfigurationCommand.test.js.map +7 -0
- package/lib/esm/internal/app-binder/command/ProvideProxyInfoCommand.js +2 -0
- package/lib/esm/internal/app-binder/command/ProvideProxyInfoCommand.js.map +7 -0
- package/lib/esm/internal/app-binder/command/ProvideProxyInfoCommand.test.js +2 -0
- package/lib/esm/internal/app-binder/command/ProvideProxyInfoCommand.test.js.map +7 -0
- package/lib/esm/internal/app-binder/command/SignAuthorizationDelegationCommand.js +2 -0
- package/lib/esm/internal/app-binder/command/SignAuthorizationDelegationCommand.js.map +7 -0
- package/lib/esm/internal/app-binder/command/SignAuthorizationDelegationCommand.test.js +2 -0
- package/lib/esm/internal/app-binder/command/SignAuthorizationDelegationCommand.test.js.map +7 -0
- package/lib/esm/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.js +1 -1
- package/lib/esm/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.js.map +3 -3
- package/lib/esm/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.js +1 -1
- package/lib/esm/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.js.map +3 -3
- package/lib/esm/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.js +1 -1
- package/lib/esm/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.js.map +3 -3
- package/lib/esm/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.test.js +1 -1
- package/lib/esm/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.test.js.map +2 -2
- package/lib/esm/internal/app-binder/device-action/__test-utils__/makeInternalApi.js +1 -1
- package/lib/esm/internal/app-binder/device-action/__test-utils__/makeInternalApi.js.map +3 -3
- package/lib/esm/internal/app-binder/di/appBinderModule.js +1 -1
- package/lib/esm/internal/app-binder/di/appBinderModule.js.map +3 -3
- package/lib/esm/internal/app-binder/task/BuildEIP712ContextTask.js +1 -1
- package/lib/esm/internal/app-binder/task/BuildEIP712ContextTask.js.map +3 -3
- package/lib/esm/internal/app-binder/task/BuildEIP712ContextTask.test.js +1 -1
- package/lib/esm/internal/app-binder/task/BuildEIP712ContextTask.test.js.map +2 -2
- package/lib/esm/internal/app-binder/task/BuildSubContextTask.js +2 -0
- package/lib/esm/internal/app-binder/task/BuildSubContextTask.js.map +7 -0
- package/lib/esm/internal/app-binder/task/BuildSubContextTask.test.js +2 -0
- package/lib/esm/internal/app-binder/task/BuildSubContextTask.test.js.map +7 -0
- package/lib/esm/internal/app-binder/task/BuildTransactionContextTask.js +1 -1
- package/lib/esm/internal/app-binder/task/BuildTransactionContextTask.js.map +3 -3
- package/lib/esm/internal/app-binder/task/BuildTransactionContextTask.test.js +1 -1
- package/lib/esm/internal/app-binder/task/BuildTransactionContextTask.test.js.map +3 -3
- package/lib/esm/internal/app-binder/task/GetWeb3CheckTask.js +1 -1
- package/lib/esm/internal/app-binder/task/GetWeb3CheckTask.js.map +3 -3
- package/lib/esm/internal/app-binder/task/GetWeb3CheckTask.test.js +1 -1
- package/lib/esm/internal/app-binder/task/GetWeb3CheckTask.test.js.map +3 -3
- package/lib/esm/internal/app-binder/task/PreBuildContextTask.js +2 -0
- package/lib/esm/internal/app-binder/task/PreBuildContextTask.js.map +7 -0
- package/lib/esm/internal/app-binder/task/ProvideEIP712ContextTask.js.map +2 -2
- package/lib/esm/internal/app-binder/task/ProvideEIP712ContextTask.test.js +1 -1
- package/lib/esm/internal/app-binder/task/ProvideEIP712ContextTask.test.js.map +2 -2
- package/lib/esm/internal/app-binder/task/ProvideTransactionContextTask.js +1 -1
- package/lib/esm/internal/app-binder/task/ProvideTransactionContextTask.js.map +3 -3
- package/lib/esm/internal/app-binder/task/ProvideTransactionContextTask.test.js +1 -1
- package/lib/esm/internal/app-binder/task/ProvideTransactionContextTask.test.js.map +3 -3
- package/lib/esm/internal/app-binder/task/SendPayloadInChunksTask.js +1 -1
- package/lib/esm/internal/app-binder/task/SendPayloadInChunksTask.js.map +3 -3
- package/lib/esm/internal/app-binder/task/SendPayloadInChunksTask.test.js +1 -1
- package/lib/esm/internal/app-binder/task/SendPayloadInChunksTask.test.js.map +3 -3
- package/lib/esm/internal/app-binder/task/SendSignAuthorizationDelegationTask.js +2 -0
- package/lib/esm/internal/app-binder/task/SendSignAuthorizationDelegationTask.js.map +7 -0
- package/lib/esm/internal/app-binder/task/SendSignAuthorizationDelegationTask.test.js +2 -0
- package/lib/esm/internal/app-binder/task/SendSignAuthorizationDelegationTask.test.js.map +7 -0
- package/lib/esm/internal/app-binder/task/SendSignTransactionTask.js +1 -1
- package/lib/esm/internal/app-binder/task/SendSignTransactionTask.js.map +3 -3
- package/lib/esm/internal/app-binder/task/SendSignTransactionTask.test.js +1 -1
- package/lib/esm/internal/app-binder/task/SendSignTransactionTask.test.js.map +3 -3
- package/lib/esm/internal/app-binder/task/SignTypedDataLegacyTask.js +2 -0
- package/lib/esm/internal/app-binder/task/SignTypedDataLegacyTask.js.map +7 -0
- package/lib/esm/internal/app-binder/task/SignTypedDataLegacyTask.test.js +2 -0
- package/lib/esm/internal/app-binder/task/SignTypedDataLegacyTask.test.js.map +7 -0
- package/lib/esm/internal/di.js +1 -1
- package/lib/esm/internal/di.js.map +3 -3
- package/lib/esm/internal/eip7702/di/eip7702Module.js +2 -0
- package/lib/esm/internal/eip7702/di/eip7702Module.js.map +7 -0
- package/lib/esm/internal/eip7702/di/eip7702Module.test.js +2 -0
- package/lib/esm/internal/eip7702/di/eip7702Module.test.js.map +7 -0
- package/lib/esm/internal/eip7702/di/eip7702Types.js +2 -0
- package/lib/esm/internal/eip7702/di/eip7702Types.js.map +7 -0
- package/lib/esm/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.js +2 -0
- package/lib/esm/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.js.map +7 -0
- package/lib/esm/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.test.js +2 -0
- package/lib/esm/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.test.js.map +7 -0
- package/lib/esm/internal/message/di/messageModule.js +1 -1
- package/lib/esm/internal/message/di/messageModule.js.map +3 -3
- package/lib/esm/internal/message/di/messageModule.test.js +1 -1
- package/lib/esm/internal/message/di/messageModule.test.js.map +2 -2
- package/lib/esm/internal/message/use-case/SignMessageUseCase.js +1 -1
- package/lib/esm/internal/message/use-case/SignMessageUseCase.js.map +3 -3
- package/lib/esm/internal/message/use-case/SignMessageUseCase.test.js +1 -1
- package/lib/esm/internal/message/use-case/SignMessageUseCase.test.js.map +2 -2
- package/lib/esm/internal/shared/utils/ApplicationChecker.js +1 -1
- package/lib/esm/internal/shared/utils/ApplicationChecker.js.map +3 -3
- package/lib/esm/internal/shared/utils/ApplicationChecker.test.js +1 -1
- package/lib/esm/internal/shared/utils/ApplicationChecker.test.js.map +2 -2
- package/lib/esm/internal/transaction/di/transactionModule.js +1 -1
- package/lib/esm/internal/transaction/di/transactionModule.js.map +3 -3
- package/lib/esm/internal/transaction/di/transactionModule.test.js +1 -1
- package/lib/esm/internal/transaction/di/transactionModule.test.js.map +2 -2
- package/lib/esm/internal/transaction/service/mapper/EthersTransactionMapperService.js +2 -0
- package/lib/esm/internal/transaction/service/mapper/EthersTransactionMapperService.js.map +7 -0
- package/lib/esm/internal/transaction/service/mapper/EthersTransactionMapperService.test.js +2 -0
- package/lib/esm/internal/transaction/service/mapper/EthersTransactionMapperService.test.js.map +7 -0
- package/lib/esm/internal/transaction/service/mapper/TransactionMapperService.js +0 -1
- package/lib/esm/internal/transaction/service/mapper/TransactionMapperService.js.map +4 -4
- package/lib/esm/internal/transaction/service/parser/TransactionParserService.js +1 -1
- package/lib/esm/internal/transaction/service/parser/TransactionParserService.js.map +3 -3
- package/lib/esm/internal/transaction/service/parser/TransactionParserService.test.js +1 -1
- package/lib/esm/internal/transaction/service/parser/TransactionParserService.test.js.map +3 -3
- package/lib/esm/internal/typed-data/di/typedDataModule.js +1 -1
- package/lib/esm/internal/typed-data/di/typedDataModule.js.map +3 -3
- package/lib/esm/internal/typed-data/di/typedDataModule.test.js +1 -1
- package/lib/esm/internal/typed-data/di/typedDataModule.test.js.map +2 -2
- package/lib/esm/internal/typed-data/service/DefaultTypedDataParserService.js +1 -1
- package/lib/esm/internal/typed-data/service/DefaultTypedDataParserService.js.map +2 -2
- package/lib/esm/internal/typed-data/service/TypedDataParser.js +1 -1
- package/lib/esm/internal/typed-data/service/TypedDataParser.js.map +3 -3
- package/lib/esm/internal/typed-data/service/TypedDataParser.test.js +1 -1
- package/lib/esm/internal/typed-data/service/TypedDataParser.test.js.map +2 -2
- package/lib/esm/internal/typed-data/use-case/SignTypedDataUseCase.js +1 -1
- package/lib/esm/internal/typed-data/use-case/SignTypedDataUseCase.js.map +3 -3
- package/lib/esm/internal/typed-data/use-case/SignTypedDataUseCase.test.js +1 -1
- package/lib/esm/internal/typed-data/use-case/SignTypedDataUseCase.test.js.map +2 -2
- package/lib/esm/package.json +13 -14
- package/lib/types/api/SignerEth.d.ts +8 -4
- package/lib/types/api/SignerEth.d.ts.map +1 -1
- package/lib/types/api/SignerEthBuilder.d.ts +4 -2
- package/lib/types/api/SignerEthBuilder.d.ts.map +1 -1
- package/lib/types/api/app-binder/SignDelegationAuthorizationTypes.d.ts +19 -0
- package/lib/types/api/app-binder/SignDelegationAuthorizationTypes.d.ts.map +1 -0
- package/lib/types/api/app-binder/SignTransactionDeviceActionTypes.d.ts +14 -10
- package/lib/types/api/app-binder/SignTransactionDeviceActionTypes.d.ts.map +1 -1
- package/lib/types/api/app-binder/SignTypedDataDeviceActionTypes.d.ts +7 -1
- package/lib/types/api/app-binder/SignTypedDataDeviceActionTypes.d.ts.map +1 -1
- package/lib/types/api/index.d.ts +5 -4
- package/lib/types/api/index.d.ts.map +1 -1
- package/lib/types/api/model/AddressOptions.d.ts +1 -0
- package/lib/types/api/model/AddressOptions.d.ts.map +1 -1
- package/lib/types/api/model/ClearSigningType.d.ts +5 -0
- package/lib/types/api/model/ClearSigningType.d.ts.map +1 -0
- package/lib/types/api/model/MessageOptions.d.ts +4 -0
- package/lib/types/api/model/MessageOptions.d.ts.map +1 -0
- package/lib/types/api/model/TransactionOptions.d.ts +1 -0
- package/lib/types/api/model/TransactionOptions.d.ts.map +1 -1
- package/lib/types/api/model/TypedDataOptions.d.ts +4 -0
- package/lib/types/api/model/TypedDataOptions.d.ts.map +1 -0
- package/lib/types/internal/DefaultSignerEth.d.ts +7 -3
- package/lib/types/internal/DefaultSignerEth.d.ts.map +1 -1
- package/lib/types/internal/address/di/addressModule.d.ts.map +1 -1
- package/lib/types/internal/address/use-case/GetAddressUseCase.d.ts.map +1 -1
- package/lib/types/internal/app-binder/EthAppBinder.d.ts +13 -3
- package/lib/types/internal/app-binder/EthAppBinder.d.ts.map +1 -1
- package/lib/types/internal/app-binder/command/ProvideNetworkConfigurationCommand.d.ts +28 -0
- package/lib/types/internal/app-binder/command/ProvideNetworkConfigurationCommand.d.ts.map +1 -0
- package/lib/types/internal/app-binder/command/ProvideNetworkConfigurationCommand.test.d.ts +2 -0
- package/lib/types/internal/app-binder/command/ProvideNetworkConfigurationCommand.test.d.ts.map +1 -0
- package/lib/types/internal/app-binder/command/ProvideProxyInfoCommand.d.ts +20 -0
- package/lib/types/internal/app-binder/command/ProvideProxyInfoCommand.d.ts.map +1 -0
- package/lib/types/internal/app-binder/command/ProvideProxyInfoCommand.test.d.ts +2 -0
- package/lib/types/internal/app-binder/command/ProvideProxyInfoCommand.test.d.ts.map +1 -0
- package/lib/types/internal/app-binder/command/SignAuthorizationDelegationCommand.d.ts +29 -0
- package/lib/types/internal/app-binder/command/SignAuthorizationDelegationCommand.d.ts.map +1 -0
- package/lib/types/internal/app-binder/command/SignAuthorizationDelegationCommand.test.d.ts +2 -0
- package/lib/types/internal/app-binder/command/SignAuthorizationDelegationCommand.test.d.ts.map +1 -0
- package/lib/types/internal/app-binder/command/utils/ethAppErrors.d.ts.map +1 -1
- package/lib/types/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.d.ts +14 -31
- package/lib/types/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.d.ts.map +1 -1
- package/lib/types/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.d.ts +1 -2
- package/lib/types/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.d.ts.map +1 -1
- package/lib/types/internal/app-binder/device-action/__test-utils__/makeInternalApi.d.ts.map +1 -1
- package/lib/types/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.d.ts.map +1 -1
- package/lib/types/internal/app-binder/di/appBinderModule.d.ts.map +1 -1
- package/lib/types/internal/app-binder/task/BuildEIP712ContextTask.d.ts.map +1 -1
- package/lib/types/internal/app-binder/task/BuildSubContextTask.d.ts +20 -0
- package/lib/types/internal/app-binder/task/BuildSubContextTask.d.ts.map +1 -0
- package/lib/types/internal/app-binder/task/BuildSubContextTask.test.d.ts +2 -0
- package/lib/types/internal/app-binder/task/BuildSubContextTask.test.d.ts.map +1 -0
- package/lib/types/internal/app-binder/task/BuildTransactionContextTask.d.ts +10 -14
- package/lib/types/internal/app-binder/task/BuildTransactionContextTask.d.ts.map +1 -1
- package/lib/types/internal/app-binder/task/GetWeb3CheckTask.d.ts +2 -3
- package/lib/types/internal/app-binder/task/GetWeb3CheckTask.d.ts.map +1 -1
- package/lib/types/internal/app-binder/task/PreBuildContextTask.d.ts +17 -0
- package/lib/types/internal/app-binder/task/PreBuildContextTask.d.ts.map +1 -0
- package/lib/types/internal/app-binder/task/ProvideEIP712ContextTask.d.ts +0 -2
- package/lib/types/internal/app-binder/task/ProvideEIP712ContextTask.d.ts.map +1 -1
- package/lib/types/internal/app-binder/task/ProvideTransactionContextTask.d.ts +28 -22
- package/lib/types/internal/app-binder/task/ProvideTransactionContextTask.d.ts.map +1 -1
- package/lib/types/internal/app-binder/task/SendPayloadInChunksTask.d.ts +2 -2
- package/lib/types/internal/app-binder/task/SendPayloadInChunksTask.d.ts.map +1 -1
- package/lib/types/internal/app-binder/task/SendSignAuthorizationDelegationTask.d.ts +18 -0
- package/lib/types/internal/app-binder/task/SendSignAuthorizationDelegationTask.d.ts.map +1 -0
- package/lib/types/internal/app-binder/task/SendSignAuthorizationDelegationTask.test.d.ts +2 -0
- package/lib/types/internal/app-binder/task/SendSignAuthorizationDelegationTask.test.d.ts.map +1 -0
- package/lib/types/internal/app-binder/task/SendSignTransactionTask.d.ts +2 -1
- package/lib/types/internal/app-binder/task/SendSignTransactionTask.d.ts.map +1 -1
- package/lib/types/internal/app-binder/task/SignTypedDataLegacyTask.d.ts +12 -0
- package/lib/types/internal/app-binder/task/SignTypedDataLegacyTask.d.ts.map +1 -0
- package/lib/types/internal/app-binder/task/SignTypedDataLegacyTask.test.d.ts +2 -0
- package/lib/types/internal/app-binder/task/SignTypedDataLegacyTask.test.d.ts.map +1 -0
- package/lib/types/internal/di.d.ts.map +1 -1
- package/lib/types/internal/eip7702/di/eip7702Module.d.ts +3 -0
- package/lib/types/internal/eip7702/di/eip7702Module.d.ts.map +1 -0
- package/lib/types/internal/eip7702/di/eip7702Module.test.d.ts +2 -0
- package/lib/types/internal/eip7702/di/eip7702Module.test.d.ts.map +1 -0
- package/lib/types/internal/eip7702/di/eip7702Types.d.ts +4 -0
- package/lib/types/internal/eip7702/di/eip7702Types.d.ts.map +1 -0
- package/lib/types/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.d.ts +8 -0
- package/lib/types/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.d.ts.map +1 -0
- package/lib/types/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.test.d.ts +2 -0
- package/lib/types/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.test.d.ts.map +1 -0
- package/lib/types/internal/message/di/messageModule.d.ts.map +1 -1
- package/lib/types/internal/message/use-case/SignMessageUseCase.d.ts +2 -1
- package/lib/types/internal/message/use-case/SignMessageUseCase.d.ts.map +1 -1
- package/lib/types/internal/shared/utils/ApplicationChecker.d.ts.map +1 -1
- package/lib/types/internal/transaction/di/transactionModule.d.ts.map +1 -1
- package/lib/types/internal/transaction/service/mapper/EthersTransactionMapperService.d.ts +8 -0
- package/lib/types/internal/transaction/service/mapper/EthersTransactionMapperService.d.ts.map +1 -0
- package/lib/types/internal/transaction/service/mapper/EthersTransactionMapperService.test.d.ts +2 -0
- package/lib/types/internal/transaction/service/mapper/EthersTransactionMapperService.test.d.ts.map +1 -0
- package/lib/types/internal/transaction/service/mapper/TransactionMapperService.d.ts +4 -7
- package/lib/types/internal/transaction/service/mapper/TransactionMapperService.d.ts.map +1 -1
- package/lib/types/internal/transaction/service/parser/TransactionParserService.d.ts +2 -2
- package/lib/types/internal/transaction/service/parser/TransactionParserService.d.ts.map +1 -1
- package/lib/types/internal/typed-data/di/typedDataModule.d.ts.map +1 -1
- package/lib/types/internal/typed-data/service/TypedDataParser.d.ts +4 -2
- package/lib/types/internal/typed-data/service/TypedDataParser.d.ts.map +1 -1
- package/lib/types/internal/typed-data/use-case/SignTypedDataUseCase.d.ts +2 -1
- package/lib/types/internal/typed-data/use-case/SignTypedDataUseCase.d.ts.map +1 -1
- package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
- package/package.json +19 -20
- package/lib/cjs/internal/app-binder/constant/plugins.js +0 -2
- package/lib/cjs/internal/app-binder/constant/plugins.js.map +0 -7
- package/lib/cjs/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.js +0 -2
- package/lib/cjs/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.js.map +0 -7
- package/lib/cjs/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.test.js +0 -2
- package/lib/cjs/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.test.js.map +0 -7
- package/lib/cjs/internal/app-binder/task/ProvideTransactionGenericContextTask.js +0 -2
- package/lib/cjs/internal/app-binder/task/ProvideTransactionGenericContextTask.js.map +0 -7
- package/lib/cjs/internal/app-binder/task/ProvideTransactionGenericContextTask.test.js +0 -2
- package/lib/cjs/internal/app-binder/task/ProvideTransactionGenericContextTask.test.js.map +0 -7
- package/lib/cjs/internal/transaction/service/mapper/EthersRawTransactionMapper.js +0 -2
- package/lib/cjs/internal/transaction/service/mapper/EthersRawTransactionMapper.js.map +0 -7
- package/lib/cjs/internal/transaction/service/mapper/EthersRawTransactionMapper.test.js +0 -2
- package/lib/cjs/internal/transaction/service/mapper/EthersRawTransactionMapper.test.js.map +0 -7
- package/lib/cjs/internal/transaction/service/mapper/TransactionMapper.js +0 -2
- package/lib/cjs/internal/transaction/service/mapper/TransactionMapper.js.map +0 -7
- package/lib/cjs/internal/transaction/service/mapper/TransactionMapperService.test.js +0 -2
- package/lib/cjs/internal/transaction/service/mapper/TransactionMapperService.test.js.map +0 -7
- package/lib/esm/internal/app-binder/constant/plugins.js +0 -2
- package/lib/esm/internal/app-binder/constant/plugins.js.map +0 -7
- package/lib/esm/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.js +0 -2
- package/lib/esm/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.js.map +0 -7
- package/lib/esm/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.test.js +0 -2
- package/lib/esm/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.test.js.map +0 -7
- package/lib/esm/internal/app-binder/task/ProvideTransactionGenericContextTask.js +0 -2
- package/lib/esm/internal/app-binder/task/ProvideTransactionGenericContextTask.js.map +0 -7
- package/lib/esm/internal/app-binder/task/ProvideTransactionGenericContextTask.test.js +0 -2
- package/lib/esm/internal/app-binder/task/ProvideTransactionGenericContextTask.test.js.map +0 -7
- package/lib/esm/internal/transaction/service/mapper/EthersRawTransactionMapper.js +0 -2
- package/lib/esm/internal/transaction/service/mapper/EthersRawTransactionMapper.js.map +0 -7
- package/lib/esm/internal/transaction/service/mapper/EthersRawTransactionMapper.test.js +0 -2
- package/lib/esm/internal/transaction/service/mapper/EthersRawTransactionMapper.test.js.map +0 -7
- package/lib/esm/internal/transaction/service/mapper/TransactionMapper.js +0 -1
- package/lib/esm/internal/transaction/service/mapper/TransactionMapperService.test.js +0 -2
- package/lib/esm/internal/transaction/service/mapper/TransactionMapperService.test.js.map +0 -7
- package/lib/types/internal/app-binder/constant/plugins.d.ts +0 -2
- package/lib/types/internal/app-binder/constant/plugins.d.ts.map +0 -1
- package/lib/types/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.d.ts +0 -80
- package/lib/types/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.d.ts.map +0 -1
- package/lib/types/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.test.d.ts +0 -2
- package/lib/types/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.test.d.ts.map +0 -1
- package/lib/types/internal/app-binder/task/ProvideTransactionGenericContextTask.d.ts +0 -28
- package/lib/types/internal/app-binder/task/ProvideTransactionGenericContextTask.d.ts.map +0 -1
- package/lib/types/internal/app-binder/task/ProvideTransactionGenericContextTask.test.d.ts +0 -2
- package/lib/types/internal/app-binder/task/ProvideTransactionGenericContextTask.test.d.ts.map +0 -1
- package/lib/types/internal/transaction/service/mapper/EthersRawTransactionMapper.d.ts +0 -7
- package/lib/types/internal/transaction/service/mapper/EthersRawTransactionMapper.d.ts.map +0 -1
- package/lib/types/internal/transaction/service/mapper/EthersRawTransactionMapper.test.d.ts +0 -2
- package/lib/types/internal/transaction/service/mapper/EthersRawTransactionMapper.test.d.ts.map +0 -1
- package/lib/types/internal/transaction/service/mapper/TransactionMapper.d.ts +0 -6
- package/lib/types/internal/transaction/service/mapper/TransactionMapper.d.ts.map +0 -1
- package/lib/types/internal/transaction/service/mapper/TransactionMapperService.test.d.ts +0 -2
- package/lib/types/internal/transaction/service/mapper/TransactionMapperService.test.d.ts.map +0 -1
- /package/lib/esm/{internal/transaction/service/mapper/TransactionMapper.js.map → api/app-binder/SignDelegationAuthorizationTypes.js.map} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var o=require("@ledgerhq/device-management-kit"),e=require("purify-ts"),t=require("../../typed-data/model/Types"),p=require("./TypedDataParser");describe("TypedDataParser - types parsing",()=>{it("Parse primitive types bytes",()=>{const i={TestStruct:[{name:"test1",type:"bytes"},{name:"test2",type:"bytes1"},{name:"test3",type:"bytes2"},{name:"test4",type:"bytes31"},{name:"test5",type:"bytes32"}]},n=new p.TypedDataParser(i),s={TestStruct:{test1:new t.PrimitiveType("bytes","bytes",e.Nothing),test2:new t.PrimitiveType("bytes1","bytes",(0,e.Just)(1)),test3:new t.PrimitiveType("bytes2","bytes",(0,e.Just)(2)),test4:new t.PrimitiveType("bytes31","bytes",(0,e.Just)(31)),test5:new t.PrimitiveType("bytes32","bytes",(0,e.Just)(32))}};expect(n.getStructDefinitions()).toStrictEqual(s)}),it("Parse primitive types bytes, out of bound",()=>{const i={TestStruct:[{name:"invalid1",type:"bytes0"},{name:"invalid2",type:"bytes33"}]},n=new p.TypedDataParser(i),s={TestStruct:{invalid1:new t.StructType("bytes0"),invalid2:new t.StructType("bytes33")}};expect(n.getStructDefinitions()).toStrictEqual(s)}),it("Parse primitive types number",()=>{const i={TestStruct:[{name:"test1",type:"int8"},{name:"test2",type:"uint8"},{name:"test3",type:"int16"},{name:"test4",type:"uint32"},{name:"test5",type:"uint64"},{name:"test6",type:"int128"},{name:"test7",type:"int136"},{name:"test8",type:"int144"},{name:"test9",type:"uint240"},{name:"test10",type:"uint248"},{name:"test11",type:"uint256"},{name:"test12",type:"int256"}]},n=new p.TypedDataParser(i),s={TestStruct:{test1:new t.PrimitiveType("int8","int",(0,e.Just)(1)),test2:new t.PrimitiveType("uint8","uint",(0,e.Just)(1)),test3:new t.PrimitiveType("int16","int",(0,e.Just)(2)),test4:new t.PrimitiveType("uint32","uint",(0,e.Just)(4)),test5:new t.PrimitiveType("uint64","uint",(0,e.Just)(8)),test6:new t.PrimitiveType("int128","int",(0,e.Just)(16)),test7:new t.PrimitiveType("int136","int",(0,e.Just)(17)),test8:new t.PrimitiveType("int144","int",(0,e.Just)(18)),test9:new t.PrimitiveType("uint240","uint",(0,e.Just)(30)),test10:new t.PrimitiveType("uint248","uint",(0,e.Just)(31)),test11:new t.PrimitiveType("uint256","uint",(0,e.Just)(32)),test12:new t.PrimitiveType("int256","int",(0,e.Just)(32))}};expect(n.getStructDefinitions()).toStrictEqual(s)}),it("Parse primitive types number, out of bound",()=>{const i={TestStruct:[{name:"invalid1",type:"int0"},{name:"invalid2",type:"uint0"},{name:"invalid3",type:"int7"},{name:"invalid4",type:"int257"},{name:"invalid5",type:"uint257"},{name:"invalid6",type:"int512"}]},n=new p.TypedDataParser(i),s={TestStruct:{invalid1:new t.StructType("int0"),invalid2:new t.StructType("uint0"),invalid3:new t.StructType("int7"),invalid4:new t.StructType("int257"),invalid5:new t.StructType("uint257"),invalid6:new t.StructType("int512")}};expect(n.getStructDefinitions()).toStrictEqual(s)}),it("Parse primitive types others",()=>{const i={TestStruct:[{name:"test1",type:"address"},{name:"test2",type:"bool"},{name:"test3",type:"string"}]},n=new p.TypedDataParser(i),s={TestStruct:{test1:new t.PrimitiveType("address","address",e.Nothing),test2:new t.PrimitiveType("bool","bool",e.Nothing),test3:new t.PrimitiveType("string","string",e.Nothing)}};expect(n.getStructDefinitions()).toStrictEqual(s)}),it("Parse arrays",()=>{const i={TestStruct:[{name:"test1",type:"address[]"},{name:"test2",type:"uint16[3]"},{name:"test3",type:"custom[2][][3]"},{name:"test4",type:"string[2][][3][]"}]},n=new p.TypedDataParser(i),s={TestStruct:{test1:new t.ArrayType("address[]",new t.PrimitiveType("address","address",e.Nothing),"address",e.Nothing,[e.Nothing]),test2:new t.ArrayType("uint16[3]",new t.PrimitiveType("uint16","uint",(0,e.Just)(2)),"uint16",(0,e.Just)(3),[(0,e.Just)(3)]),test3:new t.ArrayType("custom[2][][3]",new t.StructType("custom"),"custom[2][]",(0,e.Just)(3),[(0,e.Just)(2),e.Nothing,(0,e.Just)(3)]),test4:new t.ArrayType("string[2][][3][]",new t.PrimitiveType("string","string",e.Nothing),"string[2][][3]",e.Nothing,[(0,e.Just)(2),e.Nothing,(0,e.Just)(3),e.Nothing])}};expect(n.getStructDefinitions()).toStrictEqual(s)}),it("Parse custom struct",()=>{const i={TestStruct:[{name:"test",type:"MyCustomStructure"}]},n=new p.TypedDataParser(i),s={TestStruct:{test:new t.StructType("MyCustomStructure")}};expect(n.getStructDefinitions()).toStrictEqual(s)})});describe("TypedDataParser - message parsing",()=>{const i={domain:{chainId:0,name:"Ether Mail",verifyingContract:"0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC",version:"1"},message:{contents:"Hello, Bob!",from:{name:"Cow",wallets:["0xCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826","0xDeaDbeefdEAdbeefdEadbEEFdeadbeEFdEaDbeeF"]},to:[{wallets:["0xbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB","0xB0BdaBea57B0BDABeA57b0bdABEA57b0BDabEa57","0xB0B0b0b0b0b0B000000000000000000000000000"],name:"Bob"}]},primaryType:"Mail",types:{EIP712Domain:[{name:"name",type:"string"},{name:"version",type:"string"},{name:"chainId",type:"uint256"},{name:"verifyingContract",type:"address"}],Mail:[{name:"from",type:"Person"},{name:"to",type:"Person[1]"},{name:"contents",type:"string"}],Person:[{name:"name",type:"string"},{name:"wallets",type:"address[]"}]}};it("Parse an EIP712 message",()=>{const n=i.types,s=i.primaryType,a=i.message,r=new p.TypedDataParser(n).parse(s,a),y=[{path:"",type:"",value:new t.TypedDataValueRoot(s)},{path:"from.name",type:"string",value:new t.TypedDataValueField(new TextEncoder().encode("Cow"))},{path:"from.wallets",type:"address[]",value:new t.TypedDataValueArray(2)},{path:"from.wallets.[]",type:"address",value:new t.TypedDataValueField((0,o.hexaStringToBuffer)("0xCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826"))},{path:"from.wallets.[]",type:"address",value:new t.TypedDataValueField((0,o.hexaStringToBuffer)("0xDeaDbeefdEAdbeefdEadbEEFdeadbeEFdEaDbeeF"))},{path:"to",type:"Person[1]",value:new t.TypedDataValueArray(1)},{path:"to.[].name",type:"string",value:new t.TypedDataValueField(new TextEncoder().encode("Bob"))},{path:"to.[].wallets",type:"address[]",value:new t.TypedDataValueArray(3)},{path:"to.[].wallets.[]",type:"address",value:new t.TypedDataValueField((0,o.hexaStringToBuffer)("0xbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB"))},{path:"to.[].wallets.[]",type:"address",value:new t.TypedDataValueField((0,o.hexaStringToBuffer)("0xB0BdaBea57B0BDABeA57b0bdABEA57b0BDabEa57"))},{path:"to.[].wallets.[]",type:"address",value:new t.TypedDataValueField((0,o.hexaStringToBuffer)("0xB0B0b0b0b0b0B000000000000000000000000000"))},{path:"contents",type:"string",value:new t.TypedDataValueField(new TextEncoder().encode("Hello, Bob!"))}];expect(r).toStrictEqual((0,e.Right)(y))}),it("Parse an EIP712 domain",()=>{const n=i.types,s="EIP712Domain",a=i.domain,c=new p.TypedDataParser(n),r=[{path:"",type:"",value:new t.TypedDataValueRoot(s)},{path:"name",type:"string",value:new t.TypedDataValueField(new TextEncoder().encode("Ether Mail"))},{path:"version",type:"string",value:new t.TypedDataValueField(new TextEncoder().encode("1"))},{path:"chainId",type:"uint256",value:new t.TypedDataValueField(Uint8Array.from([0]))},{path:"verifyingContract",type:"address",value:new t.TypedDataValueField((0,o.hexaStringToBuffer)("0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC"))}],y=c.parse(s,a);expect(y).toStrictEqual((0,e.Right)(r))}),it("Invalid primary type",()=>{const n=i.types,s="unknown",a=i.domain,r=new p.TypedDataParser(n).parse(s,a);expect(r.isLeft()).toStrictEqual(!0)}),it("Struct points to an unknown custom type",()=>{const n={Mail:[{name:"from",type:"Person"}]},s="Mail",a={from:"0xCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826"},r=new p.TypedDataParser(n).parse(s,a);expect(r.isLeft()).toStrictEqual(!0)}),it("Array contains an unknown custom type",()=>{const n={Mail:[{name:"from",type:"Person[]"}]},s="Mail",a={from:["0xCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826"]},r=new p.TypedDataParser(n).parse(s,a);expect(r.isLeft()).toStrictEqual(!0)}),it("Invalid primitive value",()=>{const n={Mail:[{name:"from",type:"uint8"}]},s="Mail",a={from:3e3},r=new p.TypedDataParser(n).parse(s,a);expect(r.isLeft()).toStrictEqual(!0)}),it("Array instead of primitive value",()=>{const n={Mail:[{name:"from",type:"uint8"}]},s="Mail",a={from:[42]},r=new p.TypedDataParser(n).parse(s,a);expect(r.isLeft()).toStrictEqual(!0)}),it("Struct instead of primitive value",()=>{const n={Mail:[{name:"from",type:"uint8"}]},s="Mail",a={from:{data:42}},r=new p.TypedDataParser(n).parse(s,a);expect(r.isLeft()).toStrictEqual(!0)}),it("Struct value not a record",()=>{const n={Mail:[{name:"from",type:"Person"}],Person:[{name:"data",type:"uint8"}]},s="Mail",a={from:42},r=new p.TypedDataParser(n).parse(s,a);expect(r.isLeft()).toStrictEqual(!0)}),it("Struct field not present in value",()=>{const n={Mail:[{name:"from",type:"uint8"}]},s="Mail",a={to:42},r=new p.TypedDataParser(n).parse(s,a);expect(r.isLeft()).toStrictEqual(!0)}),it("Array value not an array",()=>{const n={Mail:[{name:"from",type:"uint8[]"}]},s="Mail",a={from:42},r=new p.TypedDataParser(n).parse(s,a);expect(r.isLeft()).toStrictEqual(!0)}),it("Array value with invalid size",()=>{const n={Mail:[{name:"from",type:"uint8[3]"}]},s="Mail",a={from:[42]},r=new p.TypedDataParser(n).parse(s,a);expect(r.isLeft()).toStrictEqual(!0)})});
|
|
1
|
+
"use strict";var o=require("@ledgerhq/device-management-kit"),e=require("purify-ts"),t=require("../../typed-data/model/Types"),p=require("./TypedDataParser");describe("TypedDataParser - types parsing",()=>{it("Parse primitive types bytes",()=>{const a={TestStruct:[{name:"test1",type:"bytes"},{name:"test2",type:"bytes1"},{name:"test3",type:"bytes2"},{name:"test4",type:"bytes31"},{name:"test5",type:"bytes32"}]},s=new p.TypedDataParser(a,{}),n={TestStruct:{test1:new t.PrimitiveType("bytes","bytes",e.Nothing),test2:new t.PrimitiveType("bytes1","bytes",(0,e.Just)(1)),test3:new t.PrimitiveType("bytes2","bytes",(0,e.Just)(2)),test4:new t.PrimitiveType("bytes31","bytes",(0,e.Just)(31)),test5:new t.PrimitiveType("bytes32","bytes",(0,e.Just)(32))}};expect(s.getStructDefinitions()).toStrictEqual(n)}),it("Parse primitive types bytes, out of bound",()=>{const a={TestStruct:[{name:"invalid1",type:"bytes0"},{name:"invalid2",type:"bytes33"}]},s=new p.TypedDataParser(a,{}),n={TestStruct:{invalid1:new t.StructType("bytes0"),invalid2:new t.StructType("bytes33")}};expect(s.getStructDefinitions()).toStrictEqual(n)}),it("Parse primitive types number",()=>{const a={TestStruct:[{name:"test1",type:"int8"},{name:"test2",type:"uint8"},{name:"test3",type:"int16"},{name:"test4",type:"uint32"},{name:"test5",type:"uint64"},{name:"test6",type:"int128"},{name:"test7",type:"int136"},{name:"test8",type:"int144"},{name:"test9",type:"uint240"},{name:"test10",type:"uint248"},{name:"test11",type:"uint256"},{name:"test12",type:"int256"}]},s=new p.TypedDataParser(a,{}),n={TestStruct:{test1:new t.PrimitiveType("int8","int",(0,e.Just)(1)),test2:new t.PrimitiveType("uint8","uint",(0,e.Just)(1)),test3:new t.PrimitiveType("int16","int",(0,e.Just)(2)),test4:new t.PrimitiveType("uint32","uint",(0,e.Just)(4)),test5:new t.PrimitiveType("uint64","uint",(0,e.Just)(8)),test6:new t.PrimitiveType("int128","int",(0,e.Just)(16)),test7:new t.PrimitiveType("int136","int",(0,e.Just)(17)),test8:new t.PrimitiveType("int144","int",(0,e.Just)(18)),test9:new t.PrimitiveType("uint240","uint",(0,e.Just)(30)),test10:new t.PrimitiveType("uint248","uint",(0,e.Just)(31)),test11:new t.PrimitiveType("uint256","uint",(0,e.Just)(32)),test12:new t.PrimitiveType("int256","int",(0,e.Just)(32))}};expect(s.getStructDefinitions()).toStrictEqual(n)}),it("Parse primitive types number, out of bound",()=>{const a={TestStruct:[{name:"invalid1",type:"int0"},{name:"invalid2",type:"uint0"},{name:"invalid3",type:"int7"},{name:"invalid4",type:"int257"},{name:"invalid5",type:"uint257"},{name:"invalid6",type:"int512"}]},s=new p.TypedDataParser(a,{}),n={TestStruct:{invalid1:new t.StructType("int0"),invalid2:new t.StructType("uint0"),invalid3:new t.StructType("int7"),invalid4:new t.StructType("int257"),invalid5:new t.StructType("uint257"),invalid6:new t.StructType("int512")}};expect(s.getStructDefinitions()).toStrictEqual(n)}),it("Parse primitive types others",()=>{const a={TestStruct:[{name:"test1",type:"address"},{name:"test2",type:"bool"},{name:"test3",type:"string"}]},s=new p.TypedDataParser(a,{}),n={TestStruct:{test1:new t.PrimitiveType("address","address",e.Nothing),test2:new t.PrimitiveType("bool","bool",e.Nothing),test3:new t.PrimitiveType("string","string",e.Nothing)}};expect(s.getStructDefinitions()).toStrictEqual(n)}),it("Parse arrays",()=>{const a={TestStruct:[{name:"test1",type:"address[]"},{name:"test2",type:"uint16[3]"},{name:"test3",type:"custom[2][][3]"},{name:"test4",type:"string[2][][3][]"}]},s=new p.TypedDataParser(a,{}),n={TestStruct:{test1:new t.ArrayType("address[]",new t.PrimitiveType("address","address",e.Nothing),"address",e.Nothing,[e.Nothing]),test2:new t.ArrayType("uint16[3]",new t.PrimitiveType("uint16","uint",(0,e.Just)(2)),"uint16",(0,e.Just)(3),[(0,e.Just)(3)]),test3:new t.ArrayType("custom[2][][3]",new t.StructType("custom"),"custom[2][]",(0,e.Just)(3),[(0,e.Just)(2),e.Nothing,(0,e.Just)(3)]),test4:new t.ArrayType("string[2][][3][]",new t.PrimitiveType("string","string",e.Nothing),"string[2][][3]",e.Nothing,[(0,e.Just)(2),e.Nothing,(0,e.Just)(3),e.Nothing])}};expect(s.getStructDefinitions()).toStrictEqual(n)}),it("Parse custom struct",()=>{const a={TestStruct:[{name:"test",type:"MyCustomStructure"}]},s=new p.TypedDataParser(a,{}),n={TestStruct:{test:new t.StructType("MyCustomStructure")}};expect(s.getStructDefinitions()).toStrictEqual(n)}),it("Don't append domain default types if already present",()=>{const a={EIP712Domain:[{name:"name",type:"string"}],TestStruct:[{name:"test",type:"MyCustomStructure"}]},s=new p.TypedDataParser(a,{name:"Seaport",version:"1.5",chainId:1,verifyingContract:"0x00000000000000ADc04C56Bf30aC9d3c0aAF14dC",salt:"0x42"}),n={EIP712Domain:{name:new t.PrimitiveType("string","string",e.Nothing)},TestStruct:{test:new t.StructType("MyCustomStructure")}};expect(s.getStructDefinitions()).toStrictEqual(n)}),it("Append domain default types",()=>{const a={TestStruct:[{name:"test",type:"MyCustomStructure"}]},s=new p.TypedDataParser(a,{name:"Seaport",version:"1.5",chainId:1,verifyingContract:"0x00000000000000ADc04C56Bf30aC9d3c0aAF14dC",salt:"0x42"}),n={EIP712Domain:{name:new t.PrimitiveType("string","string",e.Nothing),version:new t.PrimitiveType("string","string",e.Nothing),chainId:new t.PrimitiveType("uint256","uint",(0,e.Just)(32)),verifyingContract:new t.PrimitiveType("address","address",e.Nothing),salt:new t.PrimitiveType("bytes32","bytes",(0,e.Just)(32))},TestStruct:{test:new t.StructType("MyCustomStructure")}};expect(s.getStructDefinitions()).toStrictEqual(n)}),it("Append partial domain default types",()=>{const a={TestStruct:[{name:"test",type:"MyCustomStructure"}]},s=new p.TypedDataParser(a,{name:"Seaport",chainId:1,verifyingContract:"0x00000000000000ADc04C56Bf30aC9d3c0aAF14dC"}),n={EIP712Domain:{name:new t.PrimitiveType("string","string",e.Nothing),chainId:new t.PrimitiveType("uint256","uint",(0,e.Just)(32)),verifyingContract:new t.PrimitiveType("address","address",e.Nothing)},TestStruct:{test:new t.StructType("MyCustomStructure")}};expect(s.getStructDefinitions()).toStrictEqual(n)})});describe("TypedDataParser - message parsing",()=>{const a={domain:{chainId:0,name:"Ether Mail",verifyingContract:"0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC",version:"1"},message:{contents:"Hello, Bob!",from:{name:"Cow",wallets:["0xCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826","0xDeaDbeefdEAdbeefdEadbEEFdeadbeEFdEaDbeeF"]},to:[{wallets:["0xbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB","0xB0BdaBea57B0BDABeA57b0bdABEA57b0BDabEa57","0xB0B0b0b0b0b0B000000000000000000000000000"],name:"Bob"}]},primaryType:"Mail",types:{EIP712Domain:[{name:"name",type:"string"},{name:"version",type:"string"},{name:"chainId",type:"uint256"},{name:"verifyingContract",type:"address"}],Mail:[{name:"from",type:"Person"},{name:"to",type:"Person[1]"},{name:"contents",type:"string"}],Person:[{name:"name",type:"string"},{name:"wallets",type:"address[]"}]}};it("Parse an EIP712 message",()=>{const s=a.types,n=a.primaryType,r=a.message,i=new p.TypedDataParser(s,{}).parse(n,r),y=[{path:"",type:"",value:new t.TypedDataValueRoot(n)},{path:"from.name",type:"string",value:new t.TypedDataValueField(new TextEncoder().encode("Cow"))},{path:"from.wallets",type:"address[]",value:new t.TypedDataValueArray(2)},{path:"from.wallets.[]",type:"address",value:new t.TypedDataValueField((0,o.hexaStringToBuffer)("0xCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826"))},{path:"from.wallets.[]",type:"address",value:new t.TypedDataValueField((0,o.hexaStringToBuffer)("0xDeaDbeefdEAdbeefdEadbEEFdeadbeEFdEaDbeeF"))},{path:"to",type:"Person[1]",value:new t.TypedDataValueArray(1)},{path:"to.[].name",type:"string",value:new t.TypedDataValueField(new TextEncoder().encode("Bob"))},{path:"to.[].wallets",type:"address[]",value:new t.TypedDataValueArray(3)},{path:"to.[].wallets.[]",type:"address",value:new t.TypedDataValueField((0,o.hexaStringToBuffer)("0xbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB"))},{path:"to.[].wallets.[]",type:"address",value:new t.TypedDataValueField((0,o.hexaStringToBuffer)("0xB0BdaBea57B0BDABeA57b0bdABEA57b0BDabEa57"))},{path:"to.[].wallets.[]",type:"address",value:new t.TypedDataValueField((0,o.hexaStringToBuffer)("0xB0B0b0b0b0b0B000000000000000000000000000"))},{path:"contents",type:"string",value:new t.TypedDataValueField(new TextEncoder().encode("Hello, Bob!"))}];expect(i).toStrictEqual((0,e.Right)(y))}),it("Parse an EIP712 domain",()=>{const s=a.types,n="EIP712Domain",r=a.domain,c=new p.TypedDataParser(s,{}),i=[{path:"",type:"",value:new t.TypedDataValueRoot(n)},{path:"name",type:"string",value:new t.TypedDataValueField(new TextEncoder().encode("Ether Mail"))},{path:"version",type:"string",value:new t.TypedDataValueField(new TextEncoder().encode("1"))},{path:"chainId",type:"uint256",value:new t.TypedDataValueField(Uint8Array.from([0]))},{path:"verifyingContract",type:"address",value:new t.TypedDataValueField((0,o.hexaStringToBuffer)("0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC"))}],y=c.parse(n,r);expect(y).toStrictEqual((0,e.Right)(i))}),it("Invalid primary type",()=>{const s=a.types,n="unknown",r=a.domain,i=new p.TypedDataParser(s,{}).parse(n,r);expect(i.isLeft()).toStrictEqual(!0)}),it("Struct points to an unknown custom type",()=>{const s={Mail:[{name:"from",type:"Person"}]},n="Mail",r={from:"0xCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826"},i=new p.TypedDataParser(s,{}).parse(n,r);expect(i.isLeft()).toStrictEqual(!0)}),it("Array contains an unknown custom type",()=>{const s={Mail:[{name:"from",type:"Person[]"}]},n="Mail",r={from:["0xCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826"]},i=new p.TypedDataParser(s,{}).parse(n,r);expect(i.isLeft()).toStrictEqual(!0)}),it("Invalid primitive value",()=>{const s={Mail:[{name:"from",type:"uint8"}]},n="Mail",r={from:3e3},i=new p.TypedDataParser(s,{}).parse(n,r);expect(i.isLeft()).toStrictEqual(!0)}),it("Array instead of primitive value",()=>{const s={Mail:[{name:"from",type:"uint8"}]},n="Mail",r={from:[42]},i=new p.TypedDataParser(s,{}).parse(n,r);expect(i.isLeft()).toStrictEqual(!0)}),it("Struct instead of primitive value",()=>{const s={Mail:[{name:"from",type:"uint8"}]},n="Mail",r={from:{data:42}},i=new p.TypedDataParser(s,{}).parse(n,r);expect(i.isLeft()).toStrictEqual(!0)}),it("Struct value not a record",()=>{const s={Mail:[{name:"from",type:"Person"}],Person:[{name:"data",type:"uint8"}]},n="Mail",r={from:42},i=new p.TypedDataParser(s,{}).parse(n,r);expect(i.isLeft()).toStrictEqual(!0)}),it("Struct field not present in value",()=>{const s={Mail:[{name:"from",type:"uint8"}]},n="Mail",r={to:42},i=new p.TypedDataParser(s,{}).parse(n,r);expect(i.isLeft()).toStrictEqual(!0)}),it("Array value not an array",()=>{const s={Mail:[{name:"from",type:"uint8[]"}]},n="Mail",r={from:42},i=new p.TypedDataParser(s,{}).parse(n,r);expect(i.isLeft()).toStrictEqual(!0)}),it("Array value with invalid size",()=>{const s={Mail:[{name:"from",type:"uint8[3]"}]},n="Mail",r={from:[42]},i=new p.TypedDataParser(s,{}).parse(n,r);expect(i.isLeft()).toStrictEqual(!0)})});
|
|
2
2
|
//# sourceMappingURL=TypedDataParser.test.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/internal/typed-data/service/TypedDataParser.test.ts"],
|
|
4
|
-
"sourcesContent": ["import { hexaStringToBuffer } from \"@ledgerhq/device-management-kit\";\nimport { Just, Nothing, Right } from \"purify-ts\";\n\nimport { type TypedData } from \"@api/model/TypedData\";\nimport {\n ArrayType,\n PrimitiveType,\n StructType,\n TypedDataValueArray,\n TypedDataValueField,\n TypedDataValueRoot,\n} from \"@internal/typed-data/model/Types\";\n\nimport { TypedDataParser } from \"./TypedDataParser\";\n\ndescribe(\"TypedDataParser - types parsing\", () => {\n it(\"Parse primitive types bytes\", () => {\n // GIVEN\n const types = {\n TestStruct: [\n { name: \"test1\", type: \"bytes\" },\n { name: \"test2\", type: \"bytes1\" },\n { name: \"test3\", type: \"bytes2\" },\n { name: \"test4\", type: \"bytes31\" },\n { name: \"test5\", type: \"bytes32\" },\n ],\n };\n // WHEN\n const parser = new TypedDataParser(types);\n // THEN\n const expected = {\n TestStruct: {\n test1: new PrimitiveType(\"bytes\", \"bytes\", Nothing),\n test2: new PrimitiveType(\"bytes1\", \"bytes\", Just(1)),\n test3: new PrimitiveType(\"bytes2\", \"bytes\", Just(2)),\n test4: new PrimitiveType(\"bytes31\", \"bytes\", Just(31)),\n test5: new PrimitiveType(\"bytes32\", \"bytes\", Just(32)),\n },\n };\n expect(parser.getStructDefinitions()).toStrictEqual(expected);\n });\n\n it(\"Parse primitive types bytes, out of bound\", () => {\n // GIVEN\n const types = {\n TestStruct: [\n { name: \"invalid1\", type: \"bytes0\" },\n { name: \"invalid2\", type: \"bytes33\" },\n ],\n };\n // WHEN\n const parser = new TypedDataParser(types);\n // THEN\n const expected = {\n TestStruct: {\n invalid1: new StructType(\"bytes0\"),\n invalid2: new StructType(\"bytes33\"),\n },\n };\n expect(parser.getStructDefinitions()).toStrictEqual(expected);\n });\n\n it(\"Parse primitive types number\", () => {\n // GIVEN\n const types = {\n TestStruct: [\n { name: \"test1\", type: \"int8\" },\n { name: \"test2\", type: \"uint8\" },\n { name: \"test3\", type: \"int16\" },\n { name: \"test4\", type: \"uint32\" },\n { name: \"test5\", type: \"uint64\" },\n { name: \"test6\", type: \"int128\" },\n { name: \"test7\", type: \"int136\" },\n { name: \"test8\", type: \"int144\" },\n { name: \"test9\", type: \"uint240\" },\n { name: \"test10\", type: \"uint248\" },\n { name: \"test11\", type: \"uint256\" },\n { name: \"test12\", type: \"int256\" },\n ],\n };\n // WHEN\n const parser = new TypedDataParser(types);\n // THEN\n const expected = {\n TestStruct: {\n test1: new PrimitiveType(\"int8\", \"int\", Just(1)),\n test2: new PrimitiveType(\"uint8\", \"uint\", Just(1)),\n test3: new PrimitiveType(\"int16\", \"int\", Just(2)),\n test4: new PrimitiveType(\"uint32\", \"uint\", Just(4)),\n test5: new PrimitiveType(\"uint64\", \"uint\", Just(8)),\n test6: new PrimitiveType(\"int128\", \"int\", Just(16)),\n test7: new PrimitiveType(\"int136\", \"int\", Just(17)),\n test8: new PrimitiveType(\"int144\", \"int\", Just(18)),\n test9: new PrimitiveType(\"uint240\", \"uint\", Just(30)),\n test10: new PrimitiveType(\"uint248\", \"uint\", Just(31)),\n test11: new PrimitiveType(\"uint256\", \"uint\", Just(32)),\n test12: new PrimitiveType(\"int256\", \"int\", Just(32)),\n },\n };\n expect(parser.getStructDefinitions()).toStrictEqual(expected);\n });\n\n it(\"Parse primitive types number, out of bound\", () => {\n // GIVEN\n const types = {\n TestStruct: [\n { name: \"invalid1\", type: \"int0\" },\n { name: \"invalid2\", type: \"uint0\" },\n { name: \"invalid3\", type: \"int7\" },\n { name: \"invalid4\", type: \"int257\" },\n { name: \"invalid5\", type: \"uint257\" },\n { name: \"invalid6\", type: \"int512\" },\n ],\n };\n // WHEN\n const parser = new TypedDataParser(types);\n // THEN\n const expected = {\n TestStruct: {\n invalid1: new StructType(\"int0\"),\n invalid2: new StructType(\"uint0\"),\n invalid3: new StructType(\"int7\"),\n invalid4: new StructType(\"int257\"),\n invalid5: new StructType(\"uint257\"),\n invalid6: new StructType(\"int512\"),\n },\n };\n expect(parser.getStructDefinitions()).toStrictEqual(expected);\n });\n\n it(\"Parse primitive types others\", () => {\n // GIVEN\n const types = {\n TestStruct: [\n { name: \"test1\", type: \"address\" },\n { name: \"test2\", type: \"bool\" },\n { name: \"test3\", type: \"string\" },\n ],\n };\n // WHEN\n const parser = new TypedDataParser(types);\n // THEN\n const expected = {\n TestStruct: {\n test1: new PrimitiveType(\"address\", \"address\", Nothing),\n test2: new PrimitiveType(\"bool\", \"bool\", Nothing),\n test3: new PrimitiveType(\"string\", \"string\", Nothing),\n },\n };\n expect(parser.getStructDefinitions()).toStrictEqual(expected);\n });\n\n it(\"Parse arrays\", () => {\n // GIVEN\n const types = {\n TestStruct: [\n { name: \"test1\", type: \"address[]\" },\n { name: \"test2\", type: \"uint16[3]\" },\n { name: \"test3\", type: \"custom[2][][3]\" },\n { name: \"test4\", type: \"string[2][][3][]\" },\n ],\n };\n // WHEN\n const parser = new TypedDataParser(types);\n // THEN\n const expected = {\n TestStruct: {\n test1: new ArrayType(\n \"address[]\",\n new PrimitiveType(\"address\", \"address\", Nothing),\n \"address\",\n Nothing,\n [Nothing],\n ),\n test2: new ArrayType(\n \"uint16[3]\",\n new PrimitiveType(\"uint16\", \"uint\", Just(2)),\n \"uint16\",\n Just(3),\n [Just(3)],\n ),\n test3: new ArrayType(\n \"custom[2][][3]\",\n new StructType(\"custom\"),\n \"custom[2][]\",\n Just(3),\n [Just(2), Nothing, Just(3)],\n ),\n test4: new ArrayType(\n \"string[2][][3][]\",\n new PrimitiveType(\"string\", \"string\", Nothing),\n \"string[2][][3]\",\n Nothing,\n [Just(2), Nothing, Just(3), Nothing],\n ),\n },\n };\n expect(parser.getStructDefinitions()).toStrictEqual(expected);\n });\n\n it(\"Parse custom struct\", () => {\n // GIVEN\n const types = {\n TestStruct: [{ name: \"test\", type: \"MyCustomStructure\" }],\n };\n // WHEN\n const parser = new TypedDataParser(types);\n // THEN\n const expected = {\n TestStruct: {\n test: new StructType(\"MyCustomStructure\"),\n },\n };\n expect(parser.getStructDefinitions()).toStrictEqual(expected);\n });\n});\n\ndescribe(\"TypedDataParser - message parsing\", () => {\n const MESSAGE: TypedData = {\n domain: {\n chainId: 0,\n name: \"Ether Mail\",\n verifyingContract: \"0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC\",\n version: \"1\",\n },\n message: {\n contents: \"Hello, Bob!\",\n from: {\n name: \"Cow\",\n wallets: [\n \"0xCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826\",\n \"0xDeaDbeefdEAdbeefdEadbEEFdeadbeEFdEaDbeeF\",\n ],\n },\n to: [\n {\n wallets: [\n \"0xbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB\",\n \"0xB0BdaBea57B0BDABeA57b0bdABEA57b0BDabEa57\",\n \"0xB0B0b0b0b0b0B000000000000000000000000000\",\n ],\n name: \"Bob\",\n },\n ],\n },\n primaryType: \"Mail\",\n types: {\n EIP712Domain: [\n { name: \"name\", type: \"string\" },\n { name: \"version\", type: \"string\" },\n { name: \"chainId\", type: \"uint256\" },\n { name: \"verifyingContract\", type: \"address\" },\n ],\n Mail: [\n { name: \"from\", type: \"Person\" },\n { name: \"to\", type: \"Person[1]\" },\n { name: \"contents\", type: \"string\" },\n ],\n Person: [\n { name: \"name\", type: \"string\" },\n { name: \"wallets\", type: \"address[]\" },\n ],\n },\n };\n\n it(\"Parse an EIP712 message\", () => {\n // GIVEN\n const types = MESSAGE.types;\n const primaryType = MESSAGE.primaryType;\n const message = MESSAGE.message;\n // WHEN\n const parser = new TypedDataParser(types);\n // THEN\n const parsed = parser.parse(primaryType, message);\n const expected = [\n {\n path: \"\",\n type: \"\",\n value: new TypedDataValueRoot(primaryType),\n },\n {\n path: \"from.name\",\n type: \"string\",\n value: new TypedDataValueField(new TextEncoder().encode(\"Cow\")),\n },\n {\n path: \"from.wallets\",\n type: \"address[]\",\n value: new TypedDataValueArray(2),\n },\n {\n path: \"from.wallets.[]\",\n type: \"address\",\n value: new TypedDataValueField(\n hexaStringToBuffer(\"0xCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826\")!,\n ),\n },\n {\n path: \"from.wallets.[]\",\n type: \"address\",\n value: new TypedDataValueField(\n hexaStringToBuffer(\"0xDeaDbeefdEAdbeefdEadbEEFdeadbeEFdEaDbeeF\")!,\n ),\n },\n { path: \"to\", type: \"Person[1]\", value: new TypedDataValueArray(1) },\n {\n path: \"to.[].name\",\n type: \"string\",\n value: new TypedDataValueField(new TextEncoder().encode(\"Bob\")),\n },\n {\n path: \"to.[].wallets\",\n type: \"address[]\",\n value: new TypedDataValueArray(3),\n },\n {\n path: \"to.[].wallets.[]\",\n type: \"address\",\n value: new TypedDataValueField(\n hexaStringToBuffer(\"0xbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB\")!,\n ),\n },\n {\n path: \"to.[].wallets.[]\",\n type: \"address\",\n value: new TypedDataValueField(\n hexaStringToBuffer(\"0xB0BdaBea57B0BDABeA57b0bdABEA57b0BDabEa57\")!,\n ),\n },\n {\n path: \"to.[].wallets.[]\",\n type: \"address\",\n value: new TypedDataValueField(\n hexaStringToBuffer(\"0xB0B0b0b0b0b0B000000000000000000000000000\")!,\n ),\n },\n {\n path: \"contents\",\n type: \"string\",\n value: new TypedDataValueField(new TextEncoder().encode(\"Hello, Bob!\")),\n },\n ];\n expect(parsed).toStrictEqual(Right(expected));\n });\n\n it(\"Parse an EIP712 domain\", () => {\n // GIVEN\n const types = MESSAGE.types;\n const primaryType = \"EIP712Domain\";\n const message = MESSAGE.domain;\n // WHEN\n const parser = new TypedDataParser(types);\n // THEN\n const expected = [\n {\n path: \"\",\n type: \"\",\n value: new TypedDataValueRoot(primaryType),\n },\n {\n path: \"name\",\n type: \"string\",\n value: new TypedDataValueField(new TextEncoder().encode(\"Ether Mail\")),\n },\n {\n path: \"version\",\n type: \"string\",\n value: new TypedDataValueField(new TextEncoder().encode(\"1\")),\n },\n {\n path: \"chainId\",\n type: \"uint256\",\n value: new TypedDataValueField(Uint8Array.from([0])),\n },\n {\n path: \"verifyingContract\",\n type: \"address\",\n value: new TypedDataValueField(\n hexaStringToBuffer(\"0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC\")!,\n ),\n },\n ];\n const parsed = parser.parse(primaryType, message);\n expect(parsed).toStrictEqual(Right(expected));\n });\n\n it(\"Invalid primary type\", () => {\n // GIVEN\n const types = MESSAGE.types;\n const primaryType = \"unknown\";\n const message = MESSAGE.domain;\n // WHEN\n const parser = new TypedDataParser(types);\n // THEN\n const parsed = parser.parse(primaryType, message);\n expect(parsed.isLeft()).toStrictEqual(true);\n });\n\n it(\"Struct points to an unknown custom type\", () => {\n // GIVEN\n const types = {\n Mail: [{ name: \"from\", type: \"Person\" }],\n };\n const primaryType = \"Mail\";\n const message = {\n from: \"0xCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826\",\n };\n // WHEN\n const parser = new TypedDataParser(types);\n // THEN\n const parsed = parser.parse(primaryType, message);\n expect(parsed.isLeft()).toStrictEqual(true);\n });\n\n it(\"Array contains an unknown custom type\", () => {\n // GIVEN\n const types = {\n Mail: [{ name: \"from\", type: \"Person[]\" }],\n };\n const primaryType = \"Mail\";\n const message = {\n from: [\"0xCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826\"],\n };\n // WHEN\n const parser = new TypedDataParser(types);\n // THEN\n const parsed = parser.parse(primaryType, message);\n expect(parsed.isLeft()).toStrictEqual(true);\n });\n\n it(\"Invalid primitive value\", () => {\n // GIVEN\n const types = {\n Mail: [{ name: \"from\", type: \"uint8\" }],\n };\n const primaryType = \"Mail\";\n const message = {\n from: 3000,\n };\n // WHEN\n const parser = new TypedDataParser(types);\n // THEN\n const parsed = parser.parse(primaryType, message);\n expect(parsed.isLeft()).toStrictEqual(true);\n });\n\n it(\"Array instead of primitive value\", () => {\n // GIVEN\n const types = {\n Mail: [{ name: \"from\", type: \"uint8\" }],\n };\n const primaryType = \"Mail\";\n const message = {\n from: [42],\n };\n // WHEN\n const parser = new TypedDataParser(types);\n // THEN\n const parsed = parser.parse(primaryType, message);\n expect(parsed.isLeft()).toStrictEqual(true);\n });\n\n it(\"Struct instead of primitive value\", () => {\n // GIVEN\n const types = {\n Mail: [{ name: \"from\", type: \"uint8\" }],\n };\n const primaryType = \"Mail\";\n const message = {\n from: { data: 42 },\n };\n // WHEN\n const parser = new TypedDataParser(types);\n // THEN\n const parsed = parser.parse(primaryType, message);\n expect(parsed.isLeft()).toStrictEqual(true);\n });\n\n it(\"Struct value not a record\", () => {\n // GIVEN\n const types = {\n Mail: [{ name: \"from\", type: \"Person\" }],\n Person: [{ name: \"data\", type: \"uint8\" }],\n };\n const primaryType = \"Mail\";\n const message = {\n from: 42,\n };\n // WHEN\n const parser = new TypedDataParser(types);\n // THEN\n const parsed = parser.parse(primaryType, message);\n expect(parsed.isLeft()).toStrictEqual(true);\n });\n\n it(\"Struct field not present in value\", () => {\n // GIVEN\n const types = {\n Mail: [{ name: \"from\", type: \"uint8\" }],\n };\n const primaryType = \"Mail\";\n const message = {\n to: 42,\n };\n // WHEN\n const parser = new TypedDataParser(types);\n // THEN\n const parsed = parser.parse(primaryType, message);\n expect(parsed.isLeft()).toStrictEqual(true);\n });\n\n it(\"Array value not an array\", () => {\n // GIVEN\n const types = {\n Mail: [{ name: \"from\", type: \"uint8[]\" }],\n };\n const primaryType = \"Mail\";\n const message = {\n from: 42,\n };\n // WHEN\n const parser = new TypedDataParser(types);\n // THEN\n const parsed = parser.parse(primaryType, message);\n expect(parsed.isLeft()).toStrictEqual(true);\n });\n\n it(\"Array value with invalid size\", () => {\n // GIVEN\n const types = {\n Mail: [{ name: \"from\", type: \"uint8[3]\" }],\n };\n const primaryType = \"Mail\";\n const message = {\n from: [42],\n };\n // WHEN\n const parser = new TypedDataParser(types);\n // THEN\n const parsed = parser.parse(primaryType, message);\n expect(parsed.isLeft()).toStrictEqual(true);\n });\n});\n"],
|
|
5
|
-
"mappings": "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",
|
|
4
|
+
"sourcesContent": ["import { hexaStringToBuffer } from \"@ledgerhq/device-management-kit\";\nimport { Just, Nothing, Right } from \"purify-ts\";\n\nimport { type TypedData } from \"@api/model/TypedData\";\nimport {\n ArrayType,\n PrimitiveType,\n StructType,\n TypedDataValueArray,\n TypedDataValueField,\n TypedDataValueRoot,\n} from \"@internal/typed-data/model/Types\";\n\nimport { TypedDataParser } from \"./TypedDataParser\";\n\ndescribe(\"TypedDataParser - types parsing\", () => {\n it(\"Parse primitive types bytes\", () => {\n // GIVEN\n const types = {\n TestStruct: [\n { name: \"test1\", type: \"bytes\" },\n { name: \"test2\", type: \"bytes1\" },\n { name: \"test3\", type: \"bytes2\" },\n { name: \"test4\", type: \"bytes31\" },\n { name: \"test5\", type: \"bytes32\" },\n ],\n };\n // WHEN\n const parser = new TypedDataParser(types, {});\n // THEN\n const expected = {\n TestStruct: {\n test1: new PrimitiveType(\"bytes\", \"bytes\", Nothing),\n test2: new PrimitiveType(\"bytes1\", \"bytes\", Just(1)),\n test3: new PrimitiveType(\"bytes2\", \"bytes\", Just(2)),\n test4: new PrimitiveType(\"bytes31\", \"bytes\", Just(31)),\n test5: new PrimitiveType(\"bytes32\", \"bytes\", Just(32)),\n },\n };\n expect(parser.getStructDefinitions()).toStrictEqual(expected);\n });\n\n it(\"Parse primitive types bytes, out of bound\", () => {\n // GIVEN\n const types = {\n TestStruct: [\n { name: \"invalid1\", type: \"bytes0\" },\n { name: \"invalid2\", type: \"bytes33\" },\n ],\n };\n // WHEN\n const parser = new TypedDataParser(types, {});\n // THEN\n const expected = {\n TestStruct: {\n invalid1: new StructType(\"bytes0\"),\n invalid2: new StructType(\"bytes33\"),\n },\n };\n expect(parser.getStructDefinitions()).toStrictEqual(expected);\n });\n\n it(\"Parse primitive types number\", () => {\n // GIVEN\n const types = {\n TestStruct: [\n { name: \"test1\", type: \"int8\" },\n { name: \"test2\", type: \"uint8\" },\n { name: \"test3\", type: \"int16\" },\n { name: \"test4\", type: \"uint32\" },\n { name: \"test5\", type: \"uint64\" },\n { name: \"test6\", type: \"int128\" },\n { name: \"test7\", type: \"int136\" },\n { name: \"test8\", type: \"int144\" },\n { name: \"test9\", type: \"uint240\" },\n { name: \"test10\", type: \"uint248\" },\n { name: \"test11\", type: \"uint256\" },\n { name: \"test12\", type: \"int256\" },\n ],\n };\n // WHEN\n const parser = new TypedDataParser(types, {});\n // THEN\n const expected = {\n TestStruct: {\n test1: new PrimitiveType(\"int8\", \"int\", Just(1)),\n test2: new PrimitiveType(\"uint8\", \"uint\", Just(1)),\n test3: new PrimitiveType(\"int16\", \"int\", Just(2)),\n test4: new PrimitiveType(\"uint32\", \"uint\", Just(4)),\n test5: new PrimitiveType(\"uint64\", \"uint\", Just(8)),\n test6: new PrimitiveType(\"int128\", \"int\", Just(16)),\n test7: new PrimitiveType(\"int136\", \"int\", Just(17)),\n test8: new PrimitiveType(\"int144\", \"int\", Just(18)),\n test9: new PrimitiveType(\"uint240\", \"uint\", Just(30)),\n test10: new PrimitiveType(\"uint248\", \"uint\", Just(31)),\n test11: new PrimitiveType(\"uint256\", \"uint\", Just(32)),\n test12: new PrimitiveType(\"int256\", \"int\", Just(32)),\n },\n };\n expect(parser.getStructDefinitions()).toStrictEqual(expected);\n });\n\n it(\"Parse primitive types number, out of bound\", () => {\n // GIVEN\n const types = {\n TestStruct: [\n { name: \"invalid1\", type: \"int0\" },\n { name: \"invalid2\", type: \"uint0\" },\n { name: \"invalid3\", type: \"int7\" },\n { name: \"invalid4\", type: \"int257\" },\n { name: \"invalid5\", type: \"uint257\" },\n { name: \"invalid6\", type: \"int512\" },\n ],\n };\n // WHEN\n const parser = new TypedDataParser(types, {});\n // THEN\n const expected = {\n TestStruct: {\n invalid1: new StructType(\"int0\"),\n invalid2: new StructType(\"uint0\"),\n invalid3: new StructType(\"int7\"),\n invalid4: new StructType(\"int257\"),\n invalid5: new StructType(\"uint257\"),\n invalid6: new StructType(\"int512\"),\n },\n };\n expect(parser.getStructDefinitions()).toStrictEqual(expected);\n });\n\n it(\"Parse primitive types others\", () => {\n // GIVEN\n const types = {\n TestStruct: [\n { name: \"test1\", type: \"address\" },\n { name: \"test2\", type: \"bool\" },\n { name: \"test3\", type: \"string\" },\n ],\n };\n // WHEN\n const parser = new TypedDataParser(types, {});\n // THEN\n const expected = {\n TestStruct: {\n test1: new PrimitiveType(\"address\", \"address\", Nothing),\n test2: new PrimitiveType(\"bool\", \"bool\", Nothing),\n test3: new PrimitiveType(\"string\", \"string\", Nothing),\n },\n };\n expect(parser.getStructDefinitions()).toStrictEqual(expected);\n });\n\n it(\"Parse arrays\", () => {\n // GIVEN\n const types = {\n TestStruct: [\n { name: \"test1\", type: \"address[]\" },\n { name: \"test2\", type: \"uint16[3]\" },\n { name: \"test3\", type: \"custom[2][][3]\" },\n { name: \"test4\", type: \"string[2][][3][]\" },\n ],\n };\n // WHEN\n const parser = new TypedDataParser(types, {});\n // THEN\n const expected = {\n TestStruct: {\n test1: new ArrayType(\n \"address[]\",\n new PrimitiveType(\"address\", \"address\", Nothing),\n \"address\",\n Nothing,\n [Nothing],\n ),\n test2: new ArrayType(\n \"uint16[3]\",\n new PrimitiveType(\"uint16\", \"uint\", Just(2)),\n \"uint16\",\n Just(3),\n [Just(3)],\n ),\n test3: new ArrayType(\n \"custom[2][][3]\",\n new StructType(\"custom\"),\n \"custom[2][]\",\n Just(3),\n [Just(2), Nothing, Just(3)],\n ),\n test4: new ArrayType(\n \"string[2][][3][]\",\n new PrimitiveType(\"string\", \"string\", Nothing),\n \"string[2][][3]\",\n Nothing,\n [Just(2), Nothing, Just(3), Nothing],\n ),\n },\n };\n expect(parser.getStructDefinitions()).toStrictEqual(expected);\n });\n\n it(\"Parse custom struct\", () => {\n // GIVEN\n const types = {\n TestStruct: [{ name: \"test\", type: \"MyCustomStructure\" }],\n };\n // WHEN\n const parser = new TypedDataParser(types, {});\n // THEN\n const expected = {\n TestStruct: {\n test: new StructType(\"MyCustomStructure\"),\n },\n };\n expect(parser.getStructDefinitions()).toStrictEqual(expected);\n });\n\n it(\"Don't append domain default types if already present\", () => {\n // GIVEN\n const types = {\n EIP712Domain: [{ name: \"name\", type: \"string\" }],\n TestStruct: [{ name: \"test\", type: \"MyCustomStructure\" }],\n };\n // WHEN\n const parser = new TypedDataParser(types, {\n name: \"Seaport\",\n version: \"1.5\",\n chainId: 1,\n verifyingContract: \"0x00000000000000ADc04C56Bf30aC9d3c0aAF14dC\",\n salt: \"0x42\",\n });\n // THEN\n const expected = {\n EIP712Domain: {\n name: new PrimitiveType(\"string\", \"string\", Nothing),\n },\n TestStruct: {\n test: new StructType(\"MyCustomStructure\"),\n },\n };\n expect(parser.getStructDefinitions()).toStrictEqual(expected);\n });\n\n it(\"Append domain default types\", () => {\n // GIVEN\n const types = {\n TestStruct: [{ name: \"test\", type: \"MyCustomStructure\" }],\n };\n // WHEN\n const parser = new TypedDataParser(types, {\n name: \"Seaport\",\n version: \"1.5\",\n chainId: 1,\n verifyingContract: \"0x00000000000000ADc04C56Bf30aC9d3c0aAF14dC\",\n salt: \"0x42\",\n });\n // THEN\n const expected = {\n EIP712Domain: {\n name: new PrimitiveType(\"string\", \"string\", Nothing),\n version: new PrimitiveType(\"string\", \"string\", Nothing),\n chainId: new PrimitiveType(\"uint256\", \"uint\", Just(32)),\n verifyingContract: new PrimitiveType(\"address\", \"address\", Nothing),\n salt: new PrimitiveType(\"bytes32\", \"bytes\", Just(32)),\n },\n TestStruct: {\n test: new StructType(\"MyCustomStructure\"),\n },\n };\n expect(parser.getStructDefinitions()).toStrictEqual(expected);\n });\n\n it(\"Append partial domain default types\", () => {\n // GIVEN\n const types = {\n TestStruct: [{ name: \"test\", type: \"MyCustomStructure\" }],\n };\n // WHEN\n const parser = new TypedDataParser(types, {\n name: \"Seaport\",\n chainId: 1,\n verifyingContract: \"0x00000000000000ADc04C56Bf30aC9d3c0aAF14dC\",\n });\n // THEN\n const expected = {\n EIP712Domain: {\n name: new PrimitiveType(\"string\", \"string\", Nothing),\n chainId: new PrimitiveType(\"uint256\", \"uint\", Just(32)),\n verifyingContract: new PrimitiveType(\"address\", \"address\", Nothing),\n },\n TestStruct: {\n test: new StructType(\"MyCustomStructure\"),\n },\n };\n expect(parser.getStructDefinitions()).toStrictEqual(expected);\n });\n});\n\ndescribe(\"TypedDataParser - message parsing\", () => {\n const MESSAGE: TypedData = {\n domain: {\n chainId: 0,\n name: \"Ether Mail\",\n verifyingContract: \"0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC\",\n version: \"1\",\n },\n message: {\n contents: \"Hello, Bob!\",\n from: {\n name: \"Cow\",\n wallets: [\n \"0xCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826\",\n \"0xDeaDbeefdEAdbeefdEadbEEFdeadbeEFdEaDbeeF\",\n ],\n },\n to: [\n {\n wallets: [\n \"0xbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB\",\n \"0xB0BdaBea57B0BDABeA57b0bdABEA57b0BDabEa57\",\n \"0xB0B0b0b0b0b0B000000000000000000000000000\",\n ],\n name: \"Bob\",\n },\n ],\n },\n primaryType: \"Mail\",\n types: {\n EIP712Domain: [\n { name: \"name\", type: \"string\" },\n { name: \"version\", type: \"string\" },\n { name: \"chainId\", type: \"uint256\" },\n { name: \"verifyingContract\", type: \"address\" },\n ],\n Mail: [\n { name: \"from\", type: \"Person\" },\n { name: \"to\", type: \"Person[1]\" },\n { name: \"contents\", type: \"string\" },\n ],\n Person: [\n { name: \"name\", type: \"string\" },\n { name: \"wallets\", type: \"address[]\" },\n ],\n },\n };\n\n it(\"Parse an EIP712 message\", () => {\n // GIVEN\n const types = MESSAGE.types;\n const primaryType = MESSAGE.primaryType;\n const message = MESSAGE.message;\n // WHEN\n const parser = new TypedDataParser(types, {});\n // THEN\n const parsed = parser.parse(primaryType, message);\n const expected = [\n {\n path: \"\",\n type: \"\",\n value: new TypedDataValueRoot(primaryType),\n },\n {\n path: \"from.name\",\n type: \"string\",\n value: new TypedDataValueField(new TextEncoder().encode(\"Cow\")),\n },\n {\n path: \"from.wallets\",\n type: \"address[]\",\n value: new TypedDataValueArray(2),\n },\n {\n path: \"from.wallets.[]\",\n type: \"address\",\n value: new TypedDataValueField(\n hexaStringToBuffer(\"0xCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826\")!,\n ),\n },\n {\n path: \"from.wallets.[]\",\n type: \"address\",\n value: new TypedDataValueField(\n hexaStringToBuffer(\"0xDeaDbeefdEAdbeefdEadbEEFdeadbeEFdEaDbeeF\")!,\n ),\n },\n { path: \"to\", type: \"Person[1]\", value: new TypedDataValueArray(1) },\n {\n path: \"to.[].name\",\n type: \"string\",\n value: new TypedDataValueField(new TextEncoder().encode(\"Bob\")),\n },\n {\n path: \"to.[].wallets\",\n type: \"address[]\",\n value: new TypedDataValueArray(3),\n },\n {\n path: \"to.[].wallets.[]\",\n type: \"address\",\n value: new TypedDataValueField(\n hexaStringToBuffer(\"0xbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB\")!,\n ),\n },\n {\n path: \"to.[].wallets.[]\",\n type: \"address\",\n value: new TypedDataValueField(\n hexaStringToBuffer(\"0xB0BdaBea57B0BDABeA57b0bdABEA57b0BDabEa57\")!,\n ),\n },\n {\n path: \"to.[].wallets.[]\",\n type: \"address\",\n value: new TypedDataValueField(\n hexaStringToBuffer(\"0xB0B0b0b0b0b0B000000000000000000000000000\")!,\n ),\n },\n {\n path: \"contents\",\n type: \"string\",\n value: new TypedDataValueField(new TextEncoder().encode(\"Hello, Bob!\")),\n },\n ];\n expect(parsed).toStrictEqual(Right(expected));\n });\n\n it(\"Parse an EIP712 domain\", () => {\n // GIVEN\n const types = MESSAGE.types;\n const primaryType = \"EIP712Domain\";\n const message = MESSAGE.domain;\n // WHEN\n const parser = new TypedDataParser(types, {});\n // THEN\n const expected = [\n {\n path: \"\",\n type: \"\",\n value: new TypedDataValueRoot(primaryType),\n },\n {\n path: \"name\",\n type: \"string\",\n value: new TypedDataValueField(new TextEncoder().encode(\"Ether Mail\")),\n },\n {\n path: \"version\",\n type: \"string\",\n value: new TypedDataValueField(new TextEncoder().encode(\"1\")),\n },\n {\n path: \"chainId\",\n type: \"uint256\",\n value: new TypedDataValueField(Uint8Array.from([0])),\n },\n {\n path: \"verifyingContract\",\n type: \"address\",\n value: new TypedDataValueField(\n hexaStringToBuffer(\"0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC\")!,\n ),\n },\n ];\n const parsed = parser.parse(primaryType, message);\n expect(parsed).toStrictEqual(Right(expected));\n });\n\n it(\"Invalid primary type\", () => {\n // GIVEN\n const types = MESSAGE.types;\n const primaryType = \"unknown\";\n const message = MESSAGE.domain;\n // WHEN\n const parser = new TypedDataParser(types, {});\n // THEN\n const parsed = parser.parse(primaryType, message);\n expect(parsed.isLeft()).toStrictEqual(true);\n });\n\n it(\"Struct points to an unknown custom type\", () => {\n // GIVEN\n const types = {\n Mail: [{ name: \"from\", type: \"Person\" }],\n };\n const primaryType = \"Mail\";\n const message = {\n from: \"0xCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826\",\n };\n // WHEN\n const parser = new TypedDataParser(types, {});\n // THEN\n const parsed = parser.parse(primaryType, message);\n expect(parsed.isLeft()).toStrictEqual(true);\n });\n\n it(\"Array contains an unknown custom type\", () => {\n // GIVEN\n const types = {\n Mail: [{ name: \"from\", type: \"Person[]\" }],\n };\n const primaryType = \"Mail\";\n const message = {\n from: [\"0xCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826\"],\n };\n // WHEN\n const parser = new TypedDataParser(types, {});\n // THEN\n const parsed = parser.parse(primaryType, message);\n expect(parsed.isLeft()).toStrictEqual(true);\n });\n\n it(\"Invalid primitive value\", () => {\n // GIVEN\n const types = {\n Mail: [{ name: \"from\", type: \"uint8\" }],\n };\n const primaryType = \"Mail\";\n const message = {\n from: 3000,\n };\n // WHEN\n const parser = new TypedDataParser(types, {});\n // THEN\n const parsed = parser.parse(primaryType, message);\n expect(parsed.isLeft()).toStrictEqual(true);\n });\n\n it(\"Array instead of primitive value\", () => {\n // GIVEN\n const types = {\n Mail: [{ name: \"from\", type: \"uint8\" }],\n };\n const primaryType = \"Mail\";\n const message = {\n from: [42],\n };\n // WHEN\n const parser = new TypedDataParser(types, {});\n // THEN\n const parsed = parser.parse(primaryType, message);\n expect(parsed.isLeft()).toStrictEqual(true);\n });\n\n it(\"Struct instead of primitive value\", () => {\n // GIVEN\n const types = {\n Mail: [{ name: \"from\", type: \"uint8\" }],\n };\n const primaryType = \"Mail\";\n const message = {\n from: { data: 42 },\n };\n // WHEN\n const parser = new TypedDataParser(types, {});\n // THEN\n const parsed = parser.parse(primaryType, message);\n expect(parsed.isLeft()).toStrictEqual(true);\n });\n\n it(\"Struct value not a record\", () => {\n // GIVEN\n const types = {\n Mail: [{ name: \"from\", type: \"Person\" }],\n Person: [{ name: \"data\", type: \"uint8\" }],\n };\n const primaryType = \"Mail\";\n const message = {\n from: 42,\n };\n // WHEN\n const parser = new TypedDataParser(types, {});\n // THEN\n const parsed = parser.parse(primaryType, message);\n expect(parsed.isLeft()).toStrictEqual(true);\n });\n\n it(\"Struct field not present in value\", () => {\n // GIVEN\n const types = {\n Mail: [{ name: \"from\", type: \"uint8\" }],\n };\n const primaryType = \"Mail\";\n const message = {\n to: 42,\n };\n // WHEN\n const parser = new TypedDataParser(types, {});\n // THEN\n const parsed = parser.parse(primaryType, message);\n expect(parsed.isLeft()).toStrictEqual(true);\n });\n\n it(\"Array value not an array\", () => {\n // GIVEN\n const types = {\n Mail: [{ name: \"from\", type: \"uint8[]\" }],\n };\n const primaryType = \"Mail\";\n const message = {\n from: 42,\n };\n // WHEN\n const parser = new TypedDataParser(types, {});\n // THEN\n const parsed = parser.parse(primaryType, message);\n expect(parsed.isLeft()).toStrictEqual(true);\n });\n\n it(\"Array value with invalid size\", () => {\n // GIVEN\n const types = {\n Mail: [{ name: \"from\", type: \"uint8[3]\" }],\n };\n const primaryType = \"Mail\";\n const message = {\n from: [42],\n };\n // WHEN\n const parser = new TypedDataParser(types, {});\n // THEN\n const parsed = parser.parse(primaryType, message);\n expect(parsed.isLeft()).toStrictEqual(true);\n });\n});\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["import_device_management_kit", "import_purify_ts", "import_Types", "import_TypedDataParser", "types", "parser", "expected", "MESSAGE", "primaryType", "message", "parsed"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var o=Object.defineProperty;var y=Object.getOwnPropertyDescriptor;var
|
|
1
|
+
"use strict";var o=Object.defineProperty;var y=Object.getOwnPropertyDescriptor;var f=Object.getOwnPropertyNames;var A=Object.prototype.hasOwnProperty;var B=(e,p)=>{for(var r in p)o(e,r,{get:p[r],enumerable:!0})},h=(e,p,r,i)=>{if(p&&typeof p=="object"||typeof p=="function")for(let t of f(p))!A.call(e,t)&&t!==r&&o(e,t,{get:()=>p[t],enumerable:!(i=y(p,t))||i.enumerable});return e};var v=e=>h(o({},"__esModule",{value:!0}),e),T=(e,p,r,i)=>{for(var t=i>1?void 0:i?y(p,r):p,d=e.length-1,s;d>=0;d--)(s=e[d])&&(t=(i?s(p,r,t):s(t))||t);return i&&t&&o(p,r,t),t},m=(e,p)=>(r,i)=>p(r,i,e);var _={};B(_,{SignTypedDataUseCase:()=>a});module.exports=v(_);var n=require("inversify"),D=require("../../app-binder/di/appBinderTypes"),c=require("../../typed-data/di/typedDataTypes");let a=class{_appBinding;_parser;constructor(p,r){this._appBinding=p,this._parser=r}execute(p,r,i){return this._appBinding.signTypedData({derivationPath:p,parser:this._parser,data:r,skipOpenApp:i?.skipOpenApp??!1})}};a=T([(0,n.injectable)(),m(0,(0,n.inject)(D.appBinderTypes.AppBinding)),m(1,(0,n.inject)(c.typedDataTypes.TypedDataParserService))],a);0&&(module.exports={SignTypedDataUseCase});
|
|
2
2
|
//# sourceMappingURL=SignTypedDataUseCase.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/internal/typed-data/use-case/SignTypedDataUseCase.ts"],
|
|
4
|
-
"sourcesContent": ["import { inject, injectable } from \"inversify\";\n\nimport { SignTypedDataDAReturnType } from \"@api/app-binder/SignTypedDataDeviceActionTypes\";\nimport { type TypedData } from \"@api/model/TypedData\";\nimport { appBinderTypes } from \"@internal/app-binder/di/appBinderTypes\";\nimport { EthAppBinder } from \"@internal/app-binder/EthAppBinder\";\nimport { typedDataTypes } from \"@internal/typed-data/di/typedDataTypes\";\nimport { type TypedDataParserService } from \"@internal/typed-data/service/TypedDataParserService\";\n\n@injectable()\nexport class SignTypedDataUseCase {\n private _appBinding: EthAppBinder;\n private _parser: TypedDataParserService;\n\n constructor(\n @inject(appBinderTypes.AppBinding) appBinding: EthAppBinder,\n @inject(typedDataTypes.TypedDataParserService)\n typedDataParserService: TypedDataParserService,\n ) {\n this._appBinding = appBinding;\n this._parser = typedDataParserService;\n }\n\n execute(\n derivationPath: string,\n typedData: TypedData,\n ): SignTypedDataDAReturnType {\n return this._appBinding.signTypedData({\n derivationPath,\n parser: this._parser,\n data: typedData,\n });\n }\n}\n"],
|
|
5
|
-
"mappings": "okBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,0BAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAmC,
|
|
6
|
-
"names": ["SignTypedDataUseCase_exports", "__export", "SignTypedDataUseCase", "__toCommonJS", "import_inversify", "import_appBinderTypes", "import_typedDataTypes", "SignTypedDataUseCase", "appBinding", "typedDataParserService", "derivationPath", "typedData", "__decorateClass", "__decorateParam"]
|
|
4
|
+
"sourcesContent": ["import { inject, injectable } from \"inversify\";\n\nimport { SignTypedDataDAReturnType } from \"@api/app-binder/SignTypedDataDeviceActionTypes\";\nimport { type TypedData } from \"@api/model/TypedData\";\nimport { TypedDataOptions } from \"@api/model/TypedDataOptions\";\nimport { appBinderTypes } from \"@internal/app-binder/di/appBinderTypes\";\nimport { EthAppBinder } from \"@internal/app-binder/EthAppBinder\";\nimport { typedDataTypes } from \"@internal/typed-data/di/typedDataTypes\";\nimport { type TypedDataParserService } from \"@internal/typed-data/service/TypedDataParserService\";\n\n@injectable()\nexport class SignTypedDataUseCase {\n private _appBinding: EthAppBinder;\n private _parser: TypedDataParserService;\n\n constructor(\n @inject(appBinderTypes.AppBinding) appBinding: EthAppBinder,\n @inject(typedDataTypes.TypedDataParserService)\n typedDataParserService: TypedDataParserService,\n ) {\n this._appBinding = appBinding;\n this._parser = typedDataParserService;\n }\n\n execute(\n derivationPath: string,\n typedData: TypedData,\n options?: TypedDataOptions,\n ): SignTypedDataDAReturnType {\n return this._appBinding.signTypedData({\n derivationPath,\n parser: this._parser,\n data: typedData,\n skipOpenApp: options?.skipOpenApp ?? false,\n });\n }\n}\n"],
|
|
5
|
+
"mappings": "okBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,0BAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAmC,qBAKnCC,EAA+B,kDAE/BC,EAA+B,kDAIxB,IAAMC,EAAN,KAA2B,CACxB,YACA,QAER,YACqCC,EAEnCC,EACA,CACA,KAAK,YAAcD,EACnB,KAAK,QAAUC,CACjB,CAEA,QACEC,EACAC,EACAC,EAC2B,CAC3B,OAAO,KAAK,YAAY,cAAc,CACpC,eAAAF,EACA,OAAQ,KAAK,QACb,KAAMC,EACN,YAAaC,GAAS,aAAe,EACvC,CAAC,CACH,CACF,EAzBaL,EAANM,EAAA,IADN,cAAW,EAMPC,EAAA,eAAO,iBAAe,UAAU,GAChCA,EAAA,eAAO,iBAAe,sBAAsB,IANpCP",
|
|
6
|
+
"names": ["SignTypedDataUseCase_exports", "__export", "SignTypedDataUseCase", "__toCommonJS", "import_inversify", "import_appBinderTypes", "import_typedDataTypes", "SignTypedDataUseCase", "appBinding", "typedDataParserService", "derivationPath", "typedData", "options", "__decorateClass", "__decorateParam"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var s=require("./SignTypedDataUseCase");describe("SignTypedDataUseCase",()=>{it("should call signTypedData on appBinder with the correct arguments",()=>{const e="m/44'/60'/0'/0/0",a={domain:{},types:{},primaryType:"test",message:{}},t={parse:vi.fn()},p={signTypedData:vi.fn()};new s.SignTypedDataUseCase(p,t).execute(e,a),expect(p.signTypedData).toHaveBeenCalledWith({derivationPath:e,parser:t,data:a})})});
|
|
1
|
+
"use strict";var s=require("./SignTypedDataUseCase");describe("SignTypedDataUseCase",()=>{it("should call signTypedData on appBinder with the correct arguments",()=>{const e="m/44'/60'/0'/0/0",a={domain:{},types:{},primaryType:"test",message:{}},t={parse:vi.fn()},p={signTypedData:vi.fn()};new s.SignTypedDataUseCase(p,t).execute(e,a),expect(p.signTypedData).toHaveBeenCalledWith({derivationPath:e,parser:t,data:a,skipOpenApp:!1})})});
|
|
2
2
|
//# sourceMappingURL=SignTypedDataUseCase.test.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/internal/typed-data/use-case/SignTypedDataUseCase.test.ts"],
|
|
4
|
-
"sourcesContent": ["import { type TypedData } from \"@api/model/TypedData\";\nimport { type EthAppBinder } from \"@internal/app-binder/EthAppBinder\";\nimport { type TypedDataParserService } from \"@internal/typed-data/service/TypedDataParserService\";\n\nimport { SignTypedDataUseCase } from \"./SignTypedDataUseCase\";\n\ndescribe(\"SignTypedDataUseCase\", () => {\n it(\"should call signTypedData on appBinder with the correct arguments\", () => {\n // Given\n const derivationPath = \"m/44'/60'/0'/0/0\";\n const typedData: TypedData = {\n domain: {},\n types: {},\n primaryType: \"test\",\n message: {},\n };\n const parser: TypedDataParserService = {\n parse: vi.fn(),\n };\n const appBinder = {\n signTypedData: vi.fn(),\n };\n const signTypedDataUseCase = new SignTypedDataUseCase(\n appBinder as unknown as EthAppBinder,\n parser,\n );\n\n // When\n signTypedDataUseCase.execute(derivationPath, typedData);\n\n // Then\n expect(appBinder.signTypedData).toHaveBeenCalledWith({\n derivationPath,\n parser,\n data: typedData,\n });\n });\n});\n"],
|
|
5
|
-
"mappings": "aAIA,IAAAA,EAAqC,kCAErC,SAAS,uBAAwB,IAAM,CACrC,GAAG,oEAAqE,IAAM,CAE5E,MAAMC,EAAiB,mBACjBC,EAAuB,CAC3B,OAAQ,CAAC,EACT,MAAO,CAAC,EACR,YAAa,OACb,QAAS,CAAC,CACZ,EACMC,EAAiC,CACrC,MAAO,GAAG,GAAG,CACf,EACMC,EAAY,CAChB,cAAe,GAAG,GAAG,CACvB,EAC6B,IAAI,uBAC/BA,EACAD,CACF,EAGqB,QAAQF,EAAgBC,CAAS,EAGtD,OAAOE,EAAU,aAAa,EAAE,qBAAqB,CACnD,eAAAH,EACA,OAAAE,EACA,KAAMD,
|
|
4
|
+
"sourcesContent": ["import { type TypedData } from \"@api/model/TypedData\";\nimport { type EthAppBinder } from \"@internal/app-binder/EthAppBinder\";\nimport { type TypedDataParserService } from \"@internal/typed-data/service/TypedDataParserService\";\n\nimport { SignTypedDataUseCase } from \"./SignTypedDataUseCase\";\n\ndescribe(\"SignTypedDataUseCase\", () => {\n it(\"should call signTypedData on appBinder with the correct arguments\", () => {\n // Given\n const derivationPath = \"m/44'/60'/0'/0/0\";\n const typedData: TypedData = {\n domain: {},\n types: {},\n primaryType: \"test\",\n message: {},\n };\n const parser: TypedDataParserService = {\n parse: vi.fn(),\n };\n const appBinder = {\n signTypedData: vi.fn(),\n };\n const signTypedDataUseCase = new SignTypedDataUseCase(\n appBinder as unknown as EthAppBinder,\n parser,\n );\n\n // When\n signTypedDataUseCase.execute(derivationPath, typedData);\n\n // Then\n expect(appBinder.signTypedData).toHaveBeenCalledWith({\n derivationPath,\n parser,\n data: typedData,\n skipOpenApp: false,\n });\n });\n});\n"],
|
|
5
|
+
"mappings": "aAIA,IAAAA,EAAqC,kCAErC,SAAS,uBAAwB,IAAM,CACrC,GAAG,oEAAqE,IAAM,CAE5E,MAAMC,EAAiB,mBACjBC,EAAuB,CAC3B,OAAQ,CAAC,EACT,MAAO,CAAC,EACR,YAAa,OACb,QAAS,CAAC,CACZ,EACMC,EAAiC,CACrC,MAAO,GAAG,GAAG,CACf,EACMC,EAAY,CAChB,cAAe,GAAG,GAAG,CACvB,EAC6B,IAAI,uBAC/BA,EACAD,CACF,EAGqB,QAAQF,EAAgBC,CAAS,EAGtD,OAAOE,EAAU,aAAa,EAAE,qBAAqB,CACnD,eAAAH,EACA,OAAAE,EACA,KAAMD,EACN,YAAa,EACf,CAAC,CACH,CAAC,CACH,CAAC",
|
|
6
6
|
"names": ["import_SignTypedDataUseCase", "derivationPath", "typedData", "parser", "appBinder"]
|
|
7
7
|
}
|
package/lib/cjs/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ledgerhq/device-signer-kit-ethereum",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.6.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"exports": {
|
|
@@ -20,9 +20,9 @@
|
|
|
20
20
|
],
|
|
21
21
|
"scripts": {
|
|
22
22
|
"prebuild": "rimraf lib",
|
|
23
|
-
"build": "pnpm
|
|
23
|
+
"build": "pnpm ldmk-tool build --entryPoints src/index.ts,src/**/*.ts --tsconfig tsconfig.prod.json",
|
|
24
24
|
"dev": "concurrently \"pnpm watch:builds\" \"pnpm watch:types\"",
|
|
25
|
-
"watch:builds": "pnpm
|
|
25
|
+
"watch:builds": "pnpm ldmk-tool watch --entryPoints src/index.ts,src/**/*.ts --tsconfig tsconfig.prod.json",
|
|
26
26
|
"watch:types": "concurrently \"tsc --watch -p tsconfig.prod.json\" \"tsc-alias --watch -p tsconfig.prod.json\"",
|
|
27
27
|
"lint": "eslint",
|
|
28
28
|
"lint:fix": "pnpm lint --fix",
|
|
@@ -36,25 +36,24 @@
|
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
38
|
"@ledgerhq/signer-utils": "workspace:*",
|
|
39
|
-
"ethers": "
|
|
40
|
-
"inversify": "
|
|
41
|
-
"
|
|
42
|
-
"
|
|
43
|
-
"
|
|
44
|
-
"
|
|
45
|
-
"xstate": "^5.19.2"
|
|
39
|
+
"ethers": "catalog:",
|
|
40
|
+
"inversify": "catalog:",
|
|
41
|
+
"purify-ts": "catalog:",
|
|
42
|
+
"reflect-metadata": "catalog:",
|
|
43
|
+
"semver": "catalog:",
|
|
44
|
+
"xstate": "catalog:"
|
|
46
45
|
},
|
|
47
46
|
"devDependencies": {
|
|
48
47
|
"@ledgerhq/context-module": "workspace:*",
|
|
49
48
|
"@ledgerhq/device-management-kit": "workspace:*",
|
|
50
|
-
"@ledgerhq/
|
|
49
|
+
"@ledgerhq/ldmk-tool": "workspace:*",
|
|
51
50
|
"@ledgerhq/eslint-config-dsdk": "workspace:*",
|
|
52
51
|
"@ledgerhq/prettier-config-dsdk": "workspace:*",
|
|
53
52
|
"@ledgerhq/tsconfig-dsdk": "workspace:*",
|
|
54
53
|
"@ledgerhq/vitest-config-dmk": "workspace:*",
|
|
55
|
-
"@types/semver": "
|
|
56
|
-
"rxjs": "
|
|
57
|
-
"ts-node": "
|
|
54
|
+
"@types/semver": "catalog:",
|
|
55
|
+
"rxjs": "catalog:",
|
|
56
|
+
"ts-node": "catalog:"
|
|
58
57
|
},
|
|
59
58
|
"peerDependencies": {
|
|
60
59
|
"@ledgerhq/context-module": "workspace:*",
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{ContextModuleBuilder as
|
|
1
|
+
import{ContextModuleBuilder as o}from"@ledgerhq/context-module";import{DefaultSignerEth as n}from"../internal/DefaultSignerEth";class u{_dmk;_sessionId;_customContextModule;_originToken;constructor({dmk:e,sessionId:t,originToken:i}){this._dmk=e,this._sessionId=t,this._originToken=i}withContextModule(e){return this._customContextModule=e,this}build(){const e=this._customContextModule??new o({originToken:this._originToken}).build();return new n({dmk:this._dmk,sessionId:this._sessionId,contextModule:e})}}export{u as SignerEthBuilder};
|
|
2
2
|
//# sourceMappingURL=SignerEthBuilder.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/api/SignerEthBuilder.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n type ContextModule,\n ContextModuleBuilder,\n} from \"@ledgerhq/context-module\";\nimport {\n type DeviceManagementKit,\n type DeviceSessionId,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { DefaultSignerEth } from \"@internal/DefaultSignerEth\";\n\ntype SignerEthBuilderConstructorArgs = {\n dmk: DeviceManagementKit;\n sessionId: DeviceSessionId;\n};\n\n/**\n * Builder for the `SignerEth` class.\n *\n * @example\n * ```\n * const dmk = new SignerEthBuilder(dmk)\n * .build();\n * ```\n */\nexport class SignerEthBuilder {\n private _dmk: DeviceManagementKit;\n private _sessionId: DeviceSessionId;\n private
|
|
5
|
-
"mappings": "AAAA,OAEE,wBAAAA,MACK,2BAMP,OAAS,oBAAAC,MAAwB,
|
|
6
|
-
"names": ["ContextModuleBuilder", "DefaultSignerEth", "SignerEthBuilder", "dmk", "sessionId", "contextModule"]
|
|
4
|
+
"sourcesContent": ["import {\n type ContextModule,\n ContextModuleBuilder,\n} from \"@ledgerhq/context-module\";\nimport {\n type DeviceManagementKit,\n type DeviceSessionId,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { DefaultSignerEth } from \"@internal/DefaultSignerEth\";\n\ntype SignerEthBuilderConstructorArgs = {\n dmk: DeviceManagementKit;\n sessionId: DeviceSessionId;\n originToken?: string;\n};\n\n/**\n * Builder for the `SignerEth` class.\n *\n * @example\n * ```\n * const dmk = new SignerEthBuilder(dmk)\n * .build();\n * ```\n */\nexport class SignerEthBuilder {\n private _dmk: DeviceManagementKit;\n private _sessionId: DeviceSessionId;\n private _customContextModule: ContextModule | undefined;\n private _originToken: string | undefined;\n\n constructor({\n dmk,\n sessionId,\n originToken,\n }: SignerEthBuilderConstructorArgs) {\n this._dmk = dmk;\n this._sessionId = sessionId;\n this._originToken = originToken;\n }\n\n /**\n * Override the default context module\n *\n * @param contextModule\n * @returns this\n */\n withContextModule(contextModule: ContextModule) {\n this._customContextModule = contextModule;\n return this;\n }\n\n /**\n * Build the ethereum signer\n *\n * @returns the ethereum signer\n */\n public build() {\n const contextModule =\n this._customContextModule ??\n new ContextModuleBuilder({ originToken: this._originToken }).build();\n\n return new DefaultSignerEth({\n dmk: this._dmk,\n sessionId: this._sessionId,\n contextModule,\n });\n }\n}\n"],
|
|
5
|
+
"mappings": "AAAA,OAEE,wBAAAA,MACK,2BAMP,OAAS,oBAAAC,MAAwB,6BAiB1B,MAAMC,CAAiB,CACpB,KACA,WACA,qBACA,aAER,YAAY,CACV,IAAAC,EACA,UAAAC,EACA,YAAAC,CACF,EAAoC,CAClC,KAAK,KAAOF,EACZ,KAAK,WAAaC,EAClB,KAAK,aAAeC,CACtB,CAQA,kBAAkBC,EAA8B,CAC9C,YAAK,qBAAuBA,EACrB,IACT,CAOO,OAAQ,CACb,MAAMA,EACJ,KAAK,sBACL,IAAIN,EAAqB,CAAE,YAAa,KAAK,YAAa,CAAC,EAAE,MAAM,EAErE,OAAO,IAAIC,EAAiB,CAC1B,IAAK,KAAK,KACV,UAAW,KAAK,WAChB,cAAAK,CACF,CAAC,CACH,CACF",
|
|
6
|
+
"names": ["ContextModuleBuilder", "DefaultSignerEth", "SignerEthBuilder", "dmk", "sessionId", "originToken", "contextModule"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{SignerEthBuilder as
|
|
1
|
+
import{SignerEthBuilder as n}from"./SignerEthBuilder";import{DefaultSignerEth as c}from"../internal/DefaultSignerEth";import{externalTypes as d}from"../internal/externalTypes";describe("SignerEthBuilder",()=>{const i={dmk:{},sessionId:"",originToken:"test"};test("should be an instance of SignerEth",()=>{const t=new n(i);t.build(),expect(t).toBeInstanceOf(n)}),test("should instanciate with default context module",()=>{const o=new n(i).build(),e=o._container.get(d.ContextModule);expect(o).toBeInstanceOf(c),expect(e).toBeDefined(),expect(e._loaders).toHaveLength(7),expect(e._typedDataLoader).toBeDefined(),expect(e._web3CheckLoader).toBeDefined()}),test("should instanciate with custom context module",()=>{const t=new n(i),o={},e=t.withContextModule(o).build();expect(e).toBeInstanceOf(c),expect(e._container.get(d.ContextModule)).toBe(o)})});
|
|
2
2
|
//# sourceMappingURL=SignerEthBuilder.test.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/api/SignerEthBuilder.test.ts"],
|
|
4
|
-
"sourcesContent": ["import {
|
|
5
|
-
"mappings": "
|
|
6
|
-
"names": ["SignerEthBuilder", "
|
|
4
|
+
"sourcesContent": ["import { type ContextModule } from \"@ledgerhq/context-module\";\nimport { type DeviceManagementKit } from \"@ledgerhq/device-management-kit\";\n\nimport { SignerEthBuilder } from \"@api/SignerEthBuilder\";\nimport { DefaultSignerEth } from \"@internal/DefaultSignerEth\";\nimport { externalTypes } from \"@internal/externalTypes\";\n\ndescribe(\"SignerEthBuilder\", () => {\n const dmk: DeviceManagementKit = {} as DeviceManagementKit;\n const defaultConstructorArgs = { dmk, sessionId: \"\", originToken: \"test\" };\n\n test(\"should be an instance of SignerEth\", () => {\n // GIVEN\n const builder = new SignerEthBuilder(defaultConstructorArgs);\n\n // WHEN\n builder.build();\n\n // THEN\n expect(builder).toBeInstanceOf(SignerEthBuilder);\n });\n\n test(\"should instanciate with default context module\", () => {\n // GIVEN\n const builder = new SignerEthBuilder(defaultConstructorArgs);\n\n // WHEN\n const signer = builder.build();\n const contextModule = signer[\"_container\"].get<ContextModule>(\n externalTypes.ContextModule,\n );\n\n // THEN\n expect(signer).toBeInstanceOf(DefaultSignerEth);\n expect(contextModule).toBeDefined();\n // @ts-expect-error - private property\n expect(contextModule._loaders).toHaveLength(7);\n // @ts-expect-error - private property\n expect(contextModule._typedDataLoader).toBeDefined();\n // @ts-expect-error - private property\n expect(contextModule._web3CheckLoader).toBeDefined();\n });\n\n test(\"should instanciate with custom context module\", () => {\n // GIVEN\n const builder = new SignerEthBuilder(defaultConstructorArgs);\n const contextModule = {} as ContextModule;\n\n // WHEN\n const signer = builder.withContextModule(contextModule).build();\n\n // THEN\n expect(signer).toBeInstanceOf(DefaultSignerEth);\n expect(\n signer[\"_container\"].get<ContextModule>(externalTypes.ContextModule),\n ).toBe(contextModule);\n });\n});\n"],
|
|
5
|
+
"mappings": "AAGA,OAAS,oBAAAA,MAAwB,wBACjC,OAAS,oBAAAC,MAAwB,6BACjC,OAAS,iBAAAC,MAAqB,0BAE9B,SAAS,mBAAoB,IAAM,CAEjC,MAAMC,EAAyB,CAAE,IADA,CAAC,EACI,UAAW,GAAI,YAAa,MAAO,EAEzE,KAAK,qCAAsC,IAAM,CAE/C,MAAMC,EAAU,IAAIJ,EAAiBG,CAAsB,EAG3DC,EAAQ,MAAM,EAGd,OAAOA,CAAO,EAAE,eAAeJ,CAAgB,CACjD,CAAC,EAED,KAAK,iDAAkD,IAAM,CAK3D,MAAMK,EAHU,IAAIL,EAAiBG,CAAsB,EAGpC,MAAM,EACvBG,EAAgBD,EAAO,WAAc,IACzCH,EAAc,aAChB,EAGA,OAAOG,CAAM,EAAE,eAAeJ,CAAgB,EAC9C,OAAOK,CAAa,EAAE,YAAY,EAElC,OAAOA,EAAc,QAAQ,EAAE,aAAa,CAAC,EAE7C,OAAOA,EAAc,gBAAgB,EAAE,YAAY,EAEnD,OAAOA,EAAc,gBAAgB,EAAE,YAAY,CACrD,CAAC,EAED,KAAK,gDAAiD,IAAM,CAE1D,MAAMF,EAAU,IAAIJ,EAAiBG,CAAsB,EACrDG,EAAgB,CAAC,EAGjBD,EAASD,EAAQ,kBAAkBE,CAAa,EAAE,MAAM,EAG9D,OAAOD,CAAM,EAAE,eAAeJ,CAAgB,EAC9C,OACEI,EAAO,WAAc,IAAmBH,EAAc,aAAa,CACrE,EAAE,KAAKI,CAAa,CACtB,CAAC,CACH,CAAC",
|
|
6
|
+
"names": ["SignerEthBuilder", "DefaultSignerEth", "externalTypes", "defaultConstructorArgs", "builder", "signer", "contextModule"]
|
|
7
7
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=SignDelegationAuthorizationTypes.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var
|
|
1
|
+
var t=(e=>(e.OPEN_APP="signer.eth.steps.openApp",e.GET_APP_CONFIG="signer.eth.steps.getAppConfig",e.WEB3_CHECKS_OPT_IN="signer.eth.steps.web3ChecksOptIn",e.WEB3_CHECKS_OPT_IN_RESULT="signer.eth.steps.web3ChecksOptInResult",e.PRE_BUILD_CONTEXT="signer.eth.steps.preBuildContext",e.BUILD_CONTEXT="signer.eth.steps.buildContext",e.BUILD_SUB_CONTEXT_AND_PROVIDE="signer.eth.steps.buildSubContextAndProvide",e.SIGN_TRANSACTION="signer.eth.steps.signTransaction",e))(t||{});export{t as SignTransactionDAStep};
|
|
2
2
|
//# sourceMappingURL=SignTransactionDeviceActionTypes.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/api/app-binder/SignTransactionDeviceActionTypes.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n type ClearSignContextSuccess,\n type
|
|
5
|
-
"mappings": "AAuBO,IAAKA,OACVA,EAAA,SAAW,2BACXA,EAAA,eAAiB,gCACjBA,EAAA,mBAAqB,mCACrBA,EAAA,
|
|
4
|
+
"sourcesContent": ["import {\n type ClearSignContextSuccess,\n type ContextModule,\n type TransactionSubset,\n} from \"@ledgerhq/context-module\";\nimport {\n type CommandErrorResult,\n type DeviceActionState,\n type ExecuteDeviceActionReturnType,\n type OpenAppDAError,\n type OpenAppDARequiredInteraction,\n type UserInteractionRequired,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { type GetConfigCommandResponse } from \"@api/app-binder/GetConfigCommandTypes\";\nimport { type ClearSigningType } from \"@api/model/ClearSigningType\";\nimport { type Signature } from \"@api/model/Signature\";\nimport { type TransactionOptions } from \"@api/model/TransactionOptions\";\nimport { type TransactionType } from \"@api/model/TransactionType\";\nimport { type EthErrorCodes } from \"@internal/app-binder/command/utils/ethAppErrors\";\nimport { type TransactionMapperService } from \"@internal/transaction/service/mapper/TransactionMapperService\";\nimport { type TransactionParserService } from \"@internal/transaction/service/parser/TransactionParserService\";\n\nexport enum SignTransactionDAStep {\n OPEN_APP = \"signer.eth.steps.openApp\",\n GET_APP_CONFIG = \"signer.eth.steps.getAppConfig\",\n WEB3_CHECKS_OPT_IN = \"signer.eth.steps.web3ChecksOptIn\",\n WEB3_CHECKS_OPT_IN_RESULT = \"signer.eth.steps.web3ChecksOptInResult\",\n PRE_BUILD_CONTEXT = \"signer.eth.steps.preBuildContext\",\n BUILD_CONTEXT = \"signer.eth.steps.buildContext\",\n BUILD_SUB_CONTEXT_AND_PROVIDE = \"signer.eth.steps.buildSubContextAndProvide\",\n SIGN_TRANSACTION = \"signer.eth.steps.signTransaction\",\n}\n\nexport type SignTransactionDAOutput = Signature;\n\nexport type SignTransactionDAInput = {\n readonly derivationPath: string;\n readonly transaction: Uint8Array;\n readonly mapper: TransactionMapperService;\n readonly parser: TransactionParserService;\n readonly contextModule: ContextModule;\n readonly options: TransactionOptions;\n};\n\nexport type SignTransactionDAError =\n | OpenAppDAError\n | CommandErrorResult<EthErrorCodes>[\"error\"];\n\ntype SignTransactionDARequiredInteraction =\n | OpenAppDARequiredInteraction\n | UserInteractionRequired.Web3ChecksOptIn\n | UserInteractionRequired.SignTransaction;\n\nexport type SignTransactionDAIntermediateValue =\n | {\n requiredUserInteraction: SignTransactionDARequiredInteraction;\n step: Exclude<\n SignTransactionDAStep,\n SignTransactionDAStep.WEB3_CHECKS_OPT_IN_RESULT\n >;\n }\n | {\n requiredUserInteraction: UserInteractionRequired.None;\n step: SignTransactionDAStep.WEB3_CHECKS_OPT_IN_RESULT;\n result: boolean;\n };\n\nexport type SignTransactionDAState = DeviceActionState<\n SignTransactionDAOutput,\n SignTransactionDAError,\n SignTransactionDAIntermediateValue\n>;\n\nexport type SignTransactionDAInternalState = {\n readonly error: SignTransactionDAError | null;\n readonly appConfig: GetConfigCommandResponse | null;\n readonly clearSignContexts: ClearSignContextSuccess[] | null;\n readonly clearSignContextsOptional: ClearSignContextSuccess[] | null;\n readonly subset: TransactionSubset | null;\n readonly transactionType: TransactionType | null;\n readonly clearSigningType: ClearSigningType | null;\n readonly signature: Signature | null;\n};\n\nexport type SignTransactionDAReturnType = ExecuteDeviceActionReturnType<\n SignTransactionDAOutput,\n SignTransactionDAError,\n SignTransactionDAIntermediateValue\n>;\n"],
|
|
5
|
+
"mappings": "AAuBO,IAAKA,OACVA,EAAA,SAAW,2BACXA,EAAA,eAAiB,gCACjBA,EAAA,mBAAqB,mCACrBA,EAAA,0BAA4B,yCAC5BA,EAAA,kBAAoB,mCACpBA,EAAA,cAAgB,gCAChBA,EAAA,8BAAgC,6CAChCA,EAAA,iBAAmB,mCARTA,OAAA",
|
|
6
6
|
"names": ["SignTransactionDAStep"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var t=(e=>(e.OPEN_APP="signer.eth.steps.openApp",e.GET_APP_CONFIG="signer.eth.steps.getAppConfig",e.WEB3_CHECKS_OPT_IN="signer.eth.steps.web3ChecksOptIn",e.BUILD_CONTEXT="signer.eth.steps.buildContext",e.PROVIDE_CONTEXT="signer.eth.steps.provideContext",e.PROVIDE_GENERIC_CONTEXT="signer.eth.steps.provideGenericContext",e.SIGN_TYPED_DATA="signer.eth.steps.signTypedData",e.SIGN_TYPED_DATA_LEGACY="signer.eth.steps.signTypedDataLegacy",e))(t||{});export{t as SignTypedDataDAStateStep};
|
|
1
|
+
var t=(e=>(e.OPEN_APP="signer.eth.steps.openApp",e.GET_APP_CONFIG="signer.eth.steps.getAppConfig",e.WEB3_CHECKS_OPT_IN="signer.eth.steps.web3ChecksOptIn",e.WEB3_CHECKS_OPT_IN_RESULT="signer.eth.steps.web3ChecksOptInResult",e.BUILD_CONTEXT="signer.eth.steps.buildContext",e.PROVIDE_CONTEXT="signer.eth.steps.provideContext",e.PROVIDE_GENERIC_CONTEXT="signer.eth.steps.provideGenericContext",e.SIGN_TYPED_DATA="signer.eth.steps.signTypedData",e.SIGN_TYPED_DATA_LEGACY="signer.eth.steps.signTypedDataLegacy",e))(t||{});export{t as SignTypedDataDAStateStep};
|
|
2
2
|
//# sourceMappingURL=SignTypedDataDeviceActionTypes.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/api/app-binder/SignTypedDataDeviceActionTypes.ts"],
|
|
4
|
-
"sourcesContent": ["import { type ContextModule } from \"@ledgerhq/context-module\";\nimport {\n type CommandErrorResult,\n type DeviceActionState,\n type ExecuteDeviceActionReturnType,\n type OpenAppDAError,\n type OpenAppDARequiredInteraction,\n type UserInteractionRequired,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { type GetConfigCommandResponse } from \"@api/app-binder/GetConfigCommandTypes\";\nimport { type Signature } from \"@api/model/Signature\";\nimport { type TypedData } from \"@api/model/TypedData\";\nimport { type EthErrorCodes } from \"@internal/app-binder/command/utils/ethAppErrors\";\nimport type { ProvideEIP712ContextTaskArgs } from \"@internal/app-binder/task/ProvideEIP712ContextTask\";\nimport { type TypedDataParserService } from \"@internal/typed-data/service/TypedDataParserService\";\n\nexport enum SignTypedDataDAStateStep {\n OPEN_APP = \"signer.eth.steps.openApp\",\n GET_APP_CONFIG = \"signer.eth.steps.getAppConfig\",\n WEB3_CHECKS_OPT_IN = \"signer.eth.steps.web3ChecksOptIn\",\n BUILD_CONTEXT = \"signer.eth.steps.buildContext\",\n PROVIDE_CONTEXT = \"signer.eth.steps.provideContext\",\n PROVIDE_GENERIC_CONTEXT = \"signer.eth.steps.provideGenericContext\",\n SIGN_TYPED_DATA = \"signer.eth.steps.signTypedData\",\n SIGN_TYPED_DATA_LEGACY = \"signer.eth.steps.signTypedDataLegacy\",\n}\n\nexport type SignTypedDataDAOutput = Signature;\n\nexport type SignTypedDataDAInput = {\n readonly derivationPath: string;\n readonly data: TypedData;\n readonly parser: TypedDataParserService;\n readonly contextModule: ContextModule;\n};\n\nexport type SignTypedDataDAError =\n | OpenAppDAError\n | CommandErrorResult<EthErrorCodes>[\"error\"];\n\ntype SignTypedDataDARequiredInteraction =\n | OpenAppDARequiredInteraction\n | UserInteractionRequired.Web3ChecksOptIn\n | UserInteractionRequired.SignTypedData;\n\nexport type SignTypedDataDAIntermediateValue
|
|
5
|
-
"mappings": "AAiBO,IAAKA,OACVA,EAAA,SAAW,2BACXA,EAAA,eAAiB,gCACjBA,EAAA,mBAAqB,mCACrBA,EAAA,cAAgB,gCAChBA,EAAA,gBAAkB,kCAClBA,EAAA,wBAA0B,yCAC1BA,EAAA,gBAAkB,iCAClBA,EAAA,uBAAyB,
|
|
4
|
+
"sourcesContent": ["import { type ContextModule } from \"@ledgerhq/context-module\";\nimport {\n type CommandErrorResult,\n type DeviceActionState,\n type ExecuteDeviceActionReturnType,\n type OpenAppDAError,\n type OpenAppDARequiredInteraction,\n type UserInteractionRequired,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { type GetConfigCommandResponse } from \"@api/app-binder/GetConfigCommandTypes\";\nimport { type Signature } from \"@api/model/Signature\";\nimport { type TypedData } from \"@api/model/TypedData\";\nimport { type EthErrorCodes } from \"@internal/app-binder/command/utils/ethAppErrors\";\nimport type { ProvideEIP712ContextTaskArgs } from \"@internal/app-binder/task/ProvideEIP712ContextTask\";\nimport { type TypedDataParserService } from \"@internal/typed-data/service/TypedDataParserService\";\n\nexport enum SignTypedDataDAStateStep {\n OPEN_APP = \"signer.eth.steps.openApp\",\n GET_APP_CONFIG = \"signer.eth.steps.getAppConfig\",\n WEB3_CHECKS_OPT_IN = \"signer.eth.steps.web3ChecksOptIn\",\n WEB3_CHECKS_OPT_IN_RESULT = \"signer.eth.steps.web3ChecksOptInResult\",\n BUILD_CONTEXT = \"signer.eth.steps.buildContext\",\n PROVIDE_CONTEXT = \"signer.eth.steps.provideContext\",\n PROVIDE_GENERIC_CONTEXT = \"signer.eth.steps.provideGenericContext\",\n SIGN_TYPED_DATA = \"signer.eth.steps.signTypedData\",\n SIGN_TYPED_DATA_LEGACY = \"signer.eth.steps.signTypedDataLegacy\",\n}\n\nexport type SignTypedDataDAOutput = Signature;\n\nexport type SignTypedDataDAInput = {\n readonly derivationPath: string;\n readonly data: TypedData;\n readonly parser: TypedDataParserService;\n readonly contextModule: ContextModule;\n readonly skipOpenApp: boolean;\n};\n\nexport type SignTypedDataDAError =\n | OpenAppDAError\n | CommandErrorResult<EthErrorCodes>[\"error\"];\n\ntype SignTypedDataDARequiredInteraction =\n | OpenAppDARequiredInteraction\n | UserInteractionRequired.Web3ChecksOptIn\n | UserInteractionRequired.SignTypedData;\n\nexport type SignTypedDataDAIntermediateValue =\n | {\n requiredUserInteraction: SignTypedDataDARequiredInteraction;\n step: Exclude<\n SignTypedDataDAStateStep,\n SignTypedDataDAStateStep.WEB3_CHECKS_OPT_IN_RESULT\n >;\n }\n | {\n requiredUserInteraction: UserInteractionRequired.None;\n step: SignTypedDataDAStateStep.WEB3_CHECKS_OPT_IN_RESULT;\n result: boolean;\n };\n\nexport type SignTypedDataDAState = DeviceActionState<\n SignTypedDataDAOutput,\n SignTypedDataDAError,\n SignTypedDataDAIntermediateValue\n>;\n\nexport type SignTypedDataDAInternalState = {\n readonly error: SignTypedDataDAError | null;\n readonly appConfig: GetConfigCommandResponse | null;\n readonly typedDataContext: ProvideEIP712ContextTaskArgs | null;\n readonly signature: Signature | null;\n};\n\nexport type SignTypedDataDAReturnType = ExecuteDeviceActionReturnType<\n SignTypedDataDAOutput,\n SignTypedDataDAError,\n SignTypedDataDAIntermediateValue\n>;\n"],
|
|
5
|
+
"mappings": "AAiBO,IAAKA,OACVA,EAAA,SAAW,2BACXA,EAAA,eAAiB,gCACjBA,EAAA,mBAAqB,mCACrBA,EAAA,0BAA4B,yCAC5BA,EAAA,cAAgB,gCAChBA,EAAA,gBAAkB,kCAClBA,EAAA,wBAA0B,yCAC1BA,EAAA,gBAAkB,iCAClBA,EAAA,uBAAyB,uCATfA,OAAA",
|
|
6
6
|
"names": ["SignTypedDataDAStateStep"]
|
|
7
7
|
}
|
package/lib/esm/api/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import{SignTransactionDAStep as n}from"./app-binder/SignTransactionDeviceActionTypes";import{SignTypedDataDAStateStep as a}from"./app-binder/SignTypedDataDeviceActionTypes";export*from"./model/Address";export*from"./model/AddressOptions";export*from"./model/Signature";export*from"./model/TransactionOptions";export*from"./model/TransactionType";export*from"./model/TypedData";export*from"./SignerEth";export*from"./SignerEthBuilder";export{n as SignTransactionDAStep,a as SignTypedDataDAStateStep};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/lib/esm/api/index.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/api/index.ts"],
|
|
4
|
-
"sourcesContent": ["export
|
|
5
|
-
"mappings": "
|
|
4
|
+
"sourcesContent": ["export {\n type GetAddressDAError,\n type GetAddressDAIntermediateValue,\n type GetAddressDAOutput,\n type GetAddressDAReturnType,\n} from \"@api/app-binder/GetAddressDeviceActionTypes\";\nexport {\n type SignDelegationAuthorizationDAError,\n type SignDelegationAuthorizationDAInput,\n type SignDelegationAuthorizationDAIntermediateValue,\n type SignDelegationAuthorizationDAOutput,\n type SignDelegationAuthorizationDAReturnType,\n type SignDelegationAuthorizationDAState,\n} from \"@api/app-binder/SignDelegationAuthorizationTypes\";\nexport {\n type SignPersonalMessageDAError,\n type SignPersonalMessageDAIntermediateValue,\n type SignPersonalMessageDAOutput,\n type SignPersonalMessageDAReturnType,\n} from \"@api/app-binder/SignPersonalMessageDeviceActionTypes\";\nexport {\n type SignTransactionDAError,\n type SignTransactionDAInput,\n type SignTransactionDAIntermediateValue,\n type SignTransactionDAInternalState,\n type SignTransactionDAOutput,\n type SignTransactionDAReturnType,\n type SignTransactionDAState,\n SignTransactionDAStep,\n} from \"@api/app-binder/SignTransactionDeviceActionTypes\";\nexport {\n type SignTypedDataDAError,\n type SignTypedDataDAInput,\n type SignTypedDataDAIntermediateValue,\n type SignTypedDataDAInternalState,\n type SignTypedDataDAOutput,\n type SignTypedDataDAReturnType,\n type SignTypedDataDAState,\n SignTypedDataDAStateStep,\n} from \"@api/app-binder/SignTypedDataDeviceActionTypes\";\nexport * from \"@api/model/Address\";\nexport * from \"@api/model/AddressOptions\";\nexport * from \"@api/model/Signature\";\nexport * from \"@api/model/TransactionOptions\";\nexport * from \"@api/model/TransactionType\";\nexport * from \"@api/model/TypedData\";\nexport * from \"@api/SignerEth\";\nexport * from \"@api/SignerEthBuilder\";\n"],
|
|
5
|
+
"mappings": "AAoBA,OAQE,yBAAAA,MACK,mDACP,OAQE,4BAAAC,MACK,iDACP,WAAc,qBACd,WAAc,4BACd,WAAc,uBACd,WAAc,gCACd,WAAc,6BACd,WAAc,uBACd,WAAc,iBACd,WAAc",
|
|
6
6
|
"names": ["SignTransactionDAStep", "SignTypedDataDAStateStep"]
|
|
7
7
|
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/api/model/ClearSigningType.ts"],
|
|
4
|
+
"sourcesContent": ["export enum ClearSigningType {\n BASIC = \"basic\",\n EIP7730 = \"eip7730\",\n}\n"],
|
|
5
|
+
"mappings": "AAAO,IAAKA,OACVA,EAAA,MAAQ,QACRA,EAAA,QAAU,UAFAA,OAAA",
|
|
6
|
+
"names": ["ClearSigningType"]
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=MessageOptions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=TypedDataOptions.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{addressTypes as
|
|
1
|
+
import{addressTypes as i}from"./address/di/addressTypes";import{makeContainer as s}from"./di";import{messageTypes as o}from"./message/di/messageTypes";import{transactionTypes as a}from"./transaction/di/transactionTypes";import{typedDataTypes as p}from"./typed-data/di/typedDataTypes";import{eip7702Types as g}from"./eip7702/di/eip7702Types";class f{_container;constructor({dmk:e,sessionId:t,contextModule:r}){this._container=s({dmk:e,sessionId:t,contextModule:r})}signTransaction(e,t,r){return this._container.get(a.SignTransactionUseCase).execute(e,t,r)}signMessage(e,t,r){return this._container.get(o.SignMessageUseCase).execute(e,t,r)}signTypedData(e,t,r){return this._container.get(p.SignTypedDataUseCase).execute(e,t,r)}getAddress(e,t){return this._container.get(i.GetAddressUseCase).execute(e,t)}signDelegationAuthorization(e,t,r,n){return this._container.get(g.SignDelegationAuthorizationUseCase).execute(e,n,r,t)}}export{f as DefaultSignerEth};
|
|
2
2
|
//# sourceMappingURL=DefaultSignerEth.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/internal/DefaultSignerEth.ts"],
|
|
4
|
-
"sourcesContent": ["import { type ContextModule } from \"@ledgerhq/context-module\";\nimport {\n type DeviceManagementKit,\n type DeviceSessionId,\n} from \"@ledgerhq/device-management-kit\";\nimport { type Container } from \"inversify\";\n\nimport { type GetAddressDAReturnType } from \"@api/app-binder/GetAddressDeviceActionTypes\";\nimport { type SignPersonalMessageDAReturnType } from \"@api/app-binder/SignPersonalMessageDeviceActionTypes\";\nimport { type SignTransactionDAReturnType } from \"@api/app-binder/SignTransactionDeviceActionTypes\";\nimport { type SignTypedDataDAReturnType } from \"@api/app-binder/SignTypedDataDeviceActionTypes\";\nimport { type AddressOptions } from \"@api/model/AddressOptions\";\nimport { type TransactionOptions } from \"@api/model/TransactionOptions\";\nimport { type TypedData } from \"@api/model/TypedData\";\nimport { type SignerEth } from \"@api/SignerEth\";\nimport { addressTypes } from \"@internal/address/di/addressTypes\";\nimport { type GetAddressUseCase } from \"@internal/address/use-case/GetAddressUseCase\";\nimport { makeContainer } from \"@internal/di\";\nimport { messageTypes } from \"@internal/message/di/messageTypes\";\nimport { type SignMessageUseCase } from \"@internal/message/use-case/SignMessageUseCase\";\nimport { transactionTypes } from \"@internal/transaction/di/transactionTypes\";\nimport { type SignTransactionUseCase } from \"@internal/transaction/use-case/SignTransactionUseCase\";\nimport { typedDataTypes } from \"@internal/typed-data/di/typedDataTypes\";\nimport { type SignTypedDataUseCase } from \"@internal/typed-data/use-case/SignTypedDataUseCase\";\n\ntype DefaultSignerConstructorArgs = {\n dmk: DeviceManagementKit;\n sessionId: DeviceSessionId;\n contextModule: ContextModule;\n};\n\nexport class DefaultSignerEth implements SignerEth {\n private _container: Container;\n\n constructor({ dmk, sessionId, contextModule }: DefaultSignerConstructorArgs) {\n this._container = makeContainer({ dmk, sessionId, contextModule });\n }\n\n signTransaction(\n derivationPath: string,\n transaction: Uint8Array,\n options?: TransactionOptions,\n ): SignTransactionDAReturnType {\n return this._container\n .get<SignTransactionUseCase>(transactionTypes.SignTransactionUseCase)\n .execute(derivationPath, transaction, options);\n }\n\n signMessage(\n
|
|
5
|
-
"mappings": "
|
|
6
|
-
"names": ["addressTypes", "makeContainer", "messageTypes", "transactionTypes", "typedDataTypes", "DefaultSignerEth", "dmk", "sessionId", "contextModule", "derivationPath", "transaction", "options", "
|
|
4
|
+
"sourcesContent": ["import { type ContextModule } from \"@ledgerhq/context-module\";\nimport {\n type DeviceManagementKit,\n type DeviceSessionId,\n} from \"@ledgerhq/device-management-kit\";\nimport { type Container } from \"inversify\";\n\nimport { type GetAddressDAReturnType } from \"@api/app-binder/GetAddressDeviceActionTypes\";\nimport { type SignDelegationAuthorizationDAReturnType } from \"@api/app-binder/SignDelegationAuthorizationTypes\";\nimport { type SignPersonalMessageDAReturnType } from \"@api/app-binder/SignPersonalMessageDeviceActionTypes\";\nimport { type SignTransactionDAReturnType } from \"@api/app-binder/SignTransactionDeviceActionTypes\";\nimport { type SignTypedDataDAReturnType } from \"@api/app-binder/SignTypedDataDeviceActionTypes\";\nimport { type AddressOptions } from \"@api/model/AddressOptions\";\nimport { type MessageOptions } from \"@api/model/MessageOptions\";\nimport { type TransactionOptions } from \"@api/model/TransactionOptions\";\nimport { type TypedData } from \"@api/model/TypedData\";\nimport { type TypedDataOptions } from \"@api/model/TypedDataOptions\";\nimport { type SignerEth } from \"@api/SignerEth\";\nimport { addressTypes } from \"@internal/address/di/addressTypes\";\nimport { type GetAddressUseCase } from \"@internal/address/use-case/GetAddressUseCase\";\nimport { makeContainer } from \"@internal/di\";\nimport { messageTypes } from \"@internal/message/di/messageTypes\";\nimport { type SignMessageUseCase } from \"@internal/message/use-case/SignMessageUseCase\";\nimport { transactionTypes } from \"@internal/transaction/di/transactionTypes\";\nimport { type SignTransactionUseCase } from \"@internal/transaction/use-case/SignTransactionUseCase\";\nimport { typedDataTypes } from \"@internal/typed-data/di/typedDataTypes\";\nimport { type SignTypedDataUseCase } from \"@internal/typed-data/use-case/SignTypedDataUseCase\";\n\nimport { eip7702Types } from \"./eip7702/di/eip7702Types\";\nimport { type SignDelegationAuthorizationUseCase } from \"./eip7702/use-case/SignDelegationAuthorizationUseCase\";\n\ntype DefaultSignerConstructorArgs = {\n dmk: DeviceManagementKit;\n sessionId: DeviceSessionId;\n contextModule: ContextModule;\n};\n\nexport class DefaultSignerEth implements SignerEth {\n private _container: Container;\n\n constructor({ dmk, sessionId, contextModule }: DefaultSignerConstructorArgs) {\n this._container = makeContainer({ dmk, sessionId, contextModule });\n }\n\n signTransaction(\n derivationPath: string,\n transaction: Uint8Array,\n options?: TransactionOptions,\n ): SignTransactionDAReturnType {\n return this._container\n .get<SignTransactionUseCase>(transactionTypes.SignTransactionUseCase)\n .execute(derivationPath, transaction, options);\n }\n\n signMessage(\n derivationPath: string,\n message: string | Uint8Array,\n options?: MessageOptions,\n ): SignPersonalMessageDAReturnType {\n return this._container\n .get<SignMessageUseCase>(messageTypes.SignMessageUseCase)\n .execute(derivationPath, message, options);\n }\n\n signTypedData(\n derivationPath: string,\n typedData: TypedData,\n options?: TypedDataOptions,\n ): SignTypedDataDAReturnType {\n return this._container\n .get<SignTypedDataUseCase>(typedDataTypes.SignTypedDataUseCase)\n .execute(derivationPath, typedData, options);\n }\n\n getAddress(\n derivationPath: string,\n options?: AddressOptions,\n ): GetAddressDAReturnType {\n return this._container\n .get<GetAddressUseCase>(addressTypes.GetAddressUseCase)\n .execute(derivationPath, options);\n }\n\n signDelegationAuthorization(\n derivationPath: string,\n chainId: number,\n contractAddress: string,\n nonce: number,\n ): SignDelegationAuthorizationDAReturnType {\n return this._container\n .get<SignDelegationAuthorizationUseCase>(\n eip7702Types.SignDelegationAuthorizationUseCase,\n )\n .execute(derivationPath, nonce, contractAddress, chainId);\n }\n}\n"],
|
|
5
|
+
"mappings": "AAkBA,OAAS,gBAAAA,MAAoB,oCAE7B,OAAS,iBAAAC,MAAqB,eAC9B,OAAS,gBAAAC,MAAoB,oCAE7B,OAAS,oBAAAC,MAAwB,4CAEjC,OAAS,kBAAAC,MAAsB,yCAG/B,OAAS,gBAAAC,MAAoB,4BAStB,MAAMC,CAAsC,CACzC,WAER,YAAY,CAAE,IAAAC,EAAK,UAAAC,EAAW,cAAAC,CAAc,EAAiC,CAC3E,KAAK,WAAaR,EAAc,CAAE,IAAAM,EAAK,UAAAC,EAAW,cAAAC,CAAc,CAAC,CACnE,CAEA,gBACEC,EACAC,EACAC,EAC6B,CAC7B,OAAO,KAAK,WACT,IAA4BT,EAAiB,sBAAsB,EACnE,QAAQO,EAAgBC,EAAaC,CAAO,CACjD,CAEA,YACEF,EACAG,EACAD,EACiC,CACjC,OAAO,KAAK,WACT,IAAwBV,EAAa,kBAAkB,EACvD,QAAQQ,EAAgBG,EAASD,CAAO,CAC7C,CAEA,cACEF,EACAI,EACAF,EAC2B,CAC3B,OAAO,KAAK,WACT,IAA0BR,EAAe,oBAAoB,EAC7D,QAAQM,EAAgBI,EAAWF,CAAO,CAC/C,CAEA,WACEF,EACAE,EACwB,CACxB,OAAO,KAAK,WACT,IAAuBZ,EAAa,iBAAiB,EACrD,QAAQU,EAAgBE,CAAO,CACpC,CAEA,4BACEF,EACAK,EACAC,EACAC,EACyC,CACzC,OAAO,KAAK,WACT,IACCZ,EAAa,kCACf,EACC,QAAQK,EAAgBO,EAAOD,EAAiBD,CAAO,CAC5D,CACF",
|
|
6
|
+
"names": ["addressTypes", "makeContainer", "messageTypes", "transactionTypes", "typedDataTypes", "eip7702Types", "DefaultSignerEth", "dmk", "sessionId", "contextModule", "derivationPath", "transaction", "options", "message", "typedData", "chainId", "contractAddress", "nonce"]
|
|
7
7
|
}
|