@ledgerhq/device-signer-kit-bitcoin 0.0.0-webhid-20250124164153 → 0.0.0-wrong-error-when-in-experimental-provider-20251021162636
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/lib/cjs/api/SignerBtc.js +1 -1
- package/lib/cjs/api/SignerBtc.js.map +1 -1
- package/lib/cjs/api/{SignerBtcBuiilder.test.js → SignerBtcBuilder.test.js} +1 -1
- package/lib/cjs/api/{SignerBtcBuiilder.test.js.map → SignerBtcBuilder.test.js.map} +1 -1
- package/lib/cjs/api/app-binder/GetExtendedPublicKeyDeviceActionTypes.js +1 -1
- package/lib/cjs/api/app-binder/GetExtendedPublicKeyDeviceActionTypes.js.map +1 -1
- package/lib/cjs/api/app-binder/GetWalletAddressDeviceActionTypes.js.map +1 -1
- package/lib/cjs/api/app-binder/SignMessageDeviceActionTypes.js +1 -1
- package/lib/cjs/api/app-binder/SignMessageDeviceActionTypes.js.map +1 -1
- package/lib/cjs/api/app-binder/SignPsbtDeviceActionTypes.js +1 -1
- package/lib/cjs/api/app-binder/SignPsbtDeviceActionTypes.js.map +1 -1
- package/lib/cjs/api/app-binder/SignTransactionDeviceActionTypes.js +1 -1
- package/lib/cjs/api/app-binder/SignTransactionDeviceActionTypes.js.map +1 -1
- package/lib/cjs/api/model/AddressOptions.js +1 -1
- package/lib/cjs/api/model/AddressOptions.js.map +1 -1
- package/lib/cjs/api/model/MessageOptions.js +2 -0
- package/lib/cjs/api/model/MessageOptions.js.map +7 -0
- package/lib/cjs/api/model/PsbtOptions.js +2 -0
- package/lib/cjs/api/model/PsbtOptions.js.map +7 -0
- package/lib/cjs/api/model/WalletAddressOptions.js +1 -1
- package/lib/cjs/api/model/WalletAddressOptions.js.map +1 -1
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/internal/DefaultSignerBtc.js +1 -1
- package/lib/cjs/internal/DefaultSignerBtc.js.map +3 -3
- package/lib/cjs/internal/DefaultSignerBtc.test.js +1 -1
- package/lib/cjs/internal/DefaultSignerBtc.test.js.map +2 -2
- package/lib/cjs/internal/app-binder/BtcAppBinder.js +1 -1
- package/lib/cjs/internal/app-binder/BtcAppBinder.js.map +3 -3
- package/lib/cjs/internal/app-binder/BtcAppBinder.test.js +1 -1
- package/lib/cjs/internal/app-binder/BtcAppBinder.test.js.map +3 -3
- package/lib/cjs/internal/app-binder/command/GetMasterFingerprintCommand.test.js +1 -1
- package/lib/cjs/internal/app-binder/command/GetMasterFingerprintCommand.test.js.map +2 -2
- package/lib/cjs/internal/app-binder/command/GetWalletAddressCommand.test.js +1 -1
- package/lib/cjs/internal/app-binder/command/GetWalletAddressCommand.test.js.map +2 -2
- package/lib/cjs/internal/app-binder/command/RegisterWalletAddressCommand.test.js +1 -1
- package/lib/cjs/internal/app-binder/command/RegisterWalletAddressCommand.test.js.map +2 -2
- package/lib/cjs/internal/app-binder/command/client-command-handlers/GetMerkleLeafIndexCommandHandler.test.js +1 -1
- package/lib/cjs/internal/app-binder/command/client-command-handlers/GetMerkleLeafIndexCommandHandler.test.js.map +2 -2
- package/lib/cjs/internal/app-binder/command/client-command-handlers/GetMerkleLeafProofCommandHandler.test.js +1 -1
- package/lib/cjs/internal/app-binder/command/client-command-handlers/GetMerkleLeafProofCommandHandler.test.js.map +3 -3
- package/lib/cjs/internal/app-binder/command/client-command-handlers/GetMoreElementsCommandHandler.test.js +1 -1
- package/lib/cjs/internal/app-binder/command/client-command-handlers/GetMoreElementsCommandHandler.test.js.map +2 -2
- package/lib/cjs/internal/app-binder/command/client-command-handlers/GetPreimageCommandHandler.test.js +1 -1
- package/lib/cjs/internal/app-binder/command/client-command-handlers/GetPreimageCommandHandler.test.js.map +2 -2
- package/lib/cjs/internal/app-binder/command/service/ClientCommandInterpreter.test.js +1 -1
- package/lib/cjs/internal/app-binder/command/service/ClientCommandInterpreter.test.js.map +2 -2
- package/lib/cjs/internal/app-binder/command/utils/bitcoinAppError.test.js +1 -1
- package/lib/cjs/internal/app-binder/command/utils/bitcoinAppError.test.js.map +2 -2
- package/lib/cjs/internal/app-binder/device-action/GetWalletAddress/GetWalletAddressDeviceAction.js +1 -1
- package/lib/cjs/internal/app-binder/device-action/GetWalletAddress/GetWalletAddressDeviceAction.js.map +2 -2
- package/lib/cjs/internal/app-binder/device-action/GetWalletAddress/GetWalletAddressDeviceAction.test.js +1 -1
- package/lib/cjs/internal/app-binder/device-action/GetWalletAddress/GetWalletAddressDeviceAction.test.js.map +3 -3
- package/lib/cjs/internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction.js +1 -1
- package/lib/cjs/internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction.js.map +2 -2
- package/lib/cjs/internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction.test.js +1 -1
- package/lib/cjs/internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction.test.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/__test-utils__/makeInternalApi.js +1 -1
- package/lib/cjs/internal/app-binder/device-action/__test-utils__/makeInternalApi.js.map +3 -3
- package/lib/cjs/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.js +1 -1
- package/lib/cjs/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.js.map +2 -2
- package/lib/cjs/internal/app-binder/device-action/__test-utils__/setupSignPsbtDAMock.js +1 -1
- package/lib/cjs/internal/app-binder/device-action/__test-utils__/setupSignPsbtDAMock.js.map +2 -2
- package/lib/cjs/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.js +1 -1
- package/lib/cjs/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.js.map +3 -3
- package/lib/cjs/internal/app-binder/di/appBinderModule.js +1 -1
- package/lib/cjs/internal/app-binder/di/appBinderModule.js.map +3 -3
- package/lib/cjs/internal/app-binder/di/appBinderModule.test.js +1 -1
- package/lib/cjs/internal/app-binder/di/appBinderModule.test.js.map +2 -2
- package/lib/cjs/internal/app-binder/di/appBinderTypes.js +1 -1
- package/lib/cjs/internal/app-binder/di/appBinderTypes.js.map +2 -2
- package/lib/cjs/internal/app-binder/task/BuildPsbtTask.test.js +1 -1
- package/lib/cjs/internal/app-binder/task/BuildPsbtTask.test.js.map +2 -2
- package/lib/cjs/internal/app-binder/task/ContinueTask.test.js +1 -1
- package/lib/cjs/internal/app-binder/task/ContinueTask.test.js.map +2 -2
- package/lib/cjs/internal/app-binder/task/GetWalletAddressTask.test.js +1 -1
- package/lib/cjs/internal/app-binder/task/GetWalletAddressTask.test.js.map +2 -2
- package/lib/cjs/internal/app-binder/task/PrepareWalletPolicyTask.test.js +1 -1
- package/lib/cjs/internal/app-binder/task/PrepareWalletPolicyTask.test.js.map +2 -2
- package/lib/cjs/internal/app-binder/task/SignMessageTask.test.js +1 -1
- package/lib/cjs/internal/app-binder/task/SignMessageTask.test.js.map +2 -2
- package/lib/cjs/internal/app-binder/task/SignPsbtTask.test.js +1 -1
- package/lib/cjs/internal/app-binder/task/SignPsbtTask.test.js.map +2 -2
- package/lib/cjs/internal/app-binder/task/UpdatePsbtTask.test.js +1 -1
- package/lib/cjs/internal/app-binder/task/UpdatePsbtTask.test.js.map +2 -2
- package/lib/cjs/internal/data-store/di/dataStoreModule.js +1 -1
- package/lib/cjs/internal/data-store/di/dataStoreModule.js.map +3 -3
- package/lib/cjs/internal/data-store/di/dataStoreModule.test.js +1 -1
- package/lib/cjs/internal/data-store/di/dataStoreModule.test.js.map +2 -2
- package/lib/cjs/internal/data-store/model/DataStore.test.js +1 -1
- package/lib/cjs/internal/data-store/model/DataStore.test.js.map +2 -2
- package/lib/cjs/internal/data-store/service/DefaultDataStoreService.test.js +1 -1
- package/lib/cjs/internal/data-store/service/DefaultDataStoreService.test.js.map +2 -2
- package/lib/cjs/internal/di.js +1 -1
- package/lib/cjs/internal/di.js.map +2 -2
- package/lib/cjs/internal/merkle-tree/di/merkleTreeModule.js +1 -1
- package/lib/cjs/internal/merkle-tree/di/merkleTreeModule.js.map +3 -3
- package/lib/cjs/internal/merkle-tree/di/merkleTreeModule.test.js +1 -1
- package/lib/cjs/internal/merkle-tree/di/merkleTreeModule.test.js.map +2 -2
- package/lib/cjs/internal/merkle-tree/service/MerkleMapBuilder.test.js +1 -1
- package/lib/cjs/internal/merkle-tree/service/MerkleMapBuilder.test.js.map +2 -2
- package/lib/cjs/internal/merkle-tree/service/MerkleTreeBuilder.test.js +1 -1
- package/lib/cjs/internal/merkle-tree/service/MerkleTreeBuilder.test.js.map +2 -2
- package/lib/cjs/internal/psbt/di/psbtModule.js +1 -1
- package/lib/cjs/internal/psbt/di/psbtModule.js.map +3 -3
- package/lib/cjs/internal/psbt/di/psbtModule.test.js +1 -1
- package/lib/cjs/internal/psbt/di/psbtModule.test.js.map +2 -2
- package/lib/cjs/internal/psbt/model/Key.js +1 -1
- package/lib/cjs/internal/psbt/model/Key.js.map +2 -2
- package/lib/cjs/internal/psbt/service/psbt/DefaultPsbtMapper.test.js +1 -1
- package/lib/cjs/internal/psbt/service/psbt/DefaultPsbtMapper.test.js.map +2 -2
- package/lib/cjs/internal/psbt/service/psbt/DefaultPsbtSerializer.js +1 -1
- package/lib/cjs/internal/psbt/service/psbt/DefaultPsbtSerializer.js.map +2 -2
- package/lib/cjs/internal/psbt/service/psbt/DefaultPsbtV2Normalizer.js +1 -1
- package/lib/cjs/internal/psbt/service/psbt/DefaultPsbtV2Normalizer.js.map +2 -2
- package/lib/cjs/internal/use-cases/di/useCasesModule.js +1 -1
- package/lib/cjs/internal/use-cases/di/useCasesModule.js.map +3 -3
- package/lib/cjs/internal/use-cases/di/useCasesModule.test.js +1 -1
- package/lib/cjs/internal/use-cases/di/useCasesModule.test.js.map +2 -2
- package/lib/cjs/internal/use-cases/get-extended-public-key/GetExtendedPublicKeyUseCase.js +1 -1
- package/lib/cjs/internal/use-cases/get-extended-public-key/GetExtendedPublicKeyUseCase.js.map +2 -2
- package/lib/cjs/internal/use-cases/get-extended-public-key/GetExtendedPublicKeyUseCase.test.js +1 -1
- package/lib/cjs/internal/use-cases/get-extended-public-key/GetExtendedPublicKeyUseCase.test.js.map +2 -2
- package/lib/cjs/internal/use-cases/get-wallet-address/GetWalletAddressUseCase.js +1 -1
- package/lib/cjs/internal/use-cases/get-wallet-address/GetWalletAddressUseCase.js.map +3 -3
- package/lib/cjs/internal/use-cases/get-wallet-address/GetWalletAddressUseCase.test.js +1 -1
- package/lib/cjs/internal/use-cases/get-wallet-address/GetWalletAddressUseCase.test.js.map +3 -3
- package/lib/cjs/internal/use-cases/sign-message/SignMessageUseCase.js +1 -1
- package/lib/cjs/internal/use-cases/sign-message/SignMessageUseCase.js.map +3 -3
- package/lib/cjs/internal/use-cases/sign-message/SignMessageUseCase.test.js +1 -1
- package/lib/cjs/internal/use-cases/sign-message/SignMessageUseCase.test.js.map +2 -2
- package/lib/cjs/internal/use-cases/sign-psbt/SignPsbtUseCase.js +1 -1
- package/lib/cjs/internal/use-cases/sign-psbt/SignPsbtUseCase.js.map +3 -3
- package/lib/cjs/internal/use-cases/sign-psbt/SignPsbtUseCase.test.js +1 -1
- package/lib/cjs/internal/use-cases/sign-psbt/SignPsbtUseCase.test.js.map +3 -3
- package/lib/cjs/internal/use-cases/sign-transaction/SignTransactionUseCase.js +1 -1
- package/lib/cjs/internal/use-cases/sign-transaction/SignTransactionUseCase.js.map +3 -3
- package/lib/cjs/internal/use-cases/sign-transaction/SignTransactionUseCase.test.js +1 -1
- package/lib/cjs/internal/use-cases/sign-transaction/SignTransactionUseCase.test.js.map +3 -3
- package/lib/cjs/internal/wallet/di/walletModule.js +1 -1
- package/lib/cjs/internal/wallet/di/walletModule.js.map +3 -3
- package/lib/cjs/internal/wallet/di/walletModule.test.js +1 -1
- package/lib/cjs/internal/wallet/di/walletModule.test.js.map +2 -2
- package/lib/cjs/internal/wallet/service/DefaultWalletBuilder.js +1 -1
- package/lib/cjs/internal/wallet/service/DefaultWalletBuilder.js.map +2 -2
- package/lib/cjs/internal/wallet/service/DefaultWalletBuilder.test.js +1 -1
- package/lib/cjs/internal/wallet/service/DefaultWalletBuilder.test.js.map +2 -2
- package/lib/cjs/internal/wallet/service/DefaultWalletSerializer.test.js +1 -1
- package/lib/cjs/internal/wallet/service/DefaultWalletSerializer.test.js.map +2 -2
- package/lib/cjs/package.json +17 -17
- package/lib/esm/api/{SignerBtcBuiilder.test.js → SignerBtcBuilder.test.js} +1 -1
- package/lib/esm/api/{SignerBtcBuiilder.test.js.map → SignerBtcBuilder.test.js.map} +1 -1
- package/lib/esm/api/model/MessageOptions.js +1 -0
- package/lib/esm/api/model/MessageOptions.js.map +7 -0
- package/lib/esm/api/model/PsbtOptions.js +1 -0
- package/lib/esm/api/model/PsbtOptions.js.map +7 -0
- package/lib/esm/internal/DefaultSignerBtc.js +1 -1
- package/lib/esm/internal/DefaultSignerBtc.js.map +3 -3
- package/lib/esm/internal/DefaultSignerBtc.test.js +1 -1
- package/lib/esm/internal/DefaultSignerBtc.test.js.map +2 -2
- package/lib/esm/internal/app-binder/BtcAppBinder.js +1 -1
- package/lib/esm/internal/app-binder/BtcAppBinder.js.map +3 -3
- package/lib/esm/internal/app-binder/BtcAppBinder.test.js +1 -1
- package/lib/esm/internal/app-binder/BtcAppBinder.test.js.map +3 -3
- package/lib/esm/internal/app-binder/command/GetMasterFingerprintCommand.test.js +1 -1
- package/lib/esm/internal/app-binder/command/GetMasterFingerprintCommand.test.js.map +2 -2
- package/lib/esm/internal/app-binder/command/GetWalletAddressCommand.test.js +1 -1
- package/lib/esm/internal/app-binder/command/GetWalletAddressCommand.test.js.map +2 -2
- package/lib/esm/internal/app-binder/command/RegisterWalletAddressCommand.test.js +1 -1
- package/lib/esm/internal/app-binder/command/RegisterWalletAddressCommand.test.js.map +2 -2
- package/lib/esm/internal/app-binder/command/client-command-handlers/GetMerkleLeafIndexCommandHandler.test.js +1 -1
- package/lib/esm/internal/app-binder/command/client-command-handlers/GetMerkleLeafIndexCommandHandler.test.js.map +2 -2
- package/lib/esm/internal/app-binder/command/client-command-handlers/GetMerkleLeafProofCommandHandler.test.js +1 -1
- package/lib/esm/internal/app-binder/command/client-command-handlers/GetMerkleLeafProofCommandHandler.test.js.map +3 -3
- package/lib/esm/internal/app-binder/command/client-command-handlers/GetMoreElementsCommandHandler.test.js +1 -1
- package/lib/esm/internal/app-binder/command/client-command-handlers/GetMoreElementsCommandHandler.test.js.map +2 -2
- package/lib/esm/internal/app-binder/command/client-command-handlers/GetPreimageCommandHandler.test.js +1 -1
- package/lib/esm/internal/app-binder/command/client-command-handlers/GetPreimageCommandHandler.test.js.map +2 -2
- package/lib/esm/internal/app-binder/command/service/ClientCommandInterpreter.test.js +1 -1
- package/lib/esm/internal/app-binder/command/service/ClientCommandInterpreter.test.js.map +2 -2
- package/lib/esm/internal/app-binder/command/utils/bitcoinAppError.test.js +1 -1
- package/lib/esm/internal/app-binder/command/utils/bitcoinAppError.test.js.map +2 -2
- package/lib/esm/internal/app-binder/device-action/GetWalletAddress/GetWalletAddressDeviceAction.js +1 -1
- package/lib/esm/internal/app-binder/device-action/GetWalletAddress/GetWalletAddressDeviceAction.js.map +2 -2
- package/lib/esm/internal/app-binder/device-action/GetWalletAddress/GetWalletAddressDeviceAction.test.js +1 -1
- package/lib/esm/internal/app-binder/device-action/GetWalletAddress/GetWalletAddressDeviceAction.test.js.map +3 -3
- package/lib/esm/internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction.js +1 -1
- package/lib/esm/internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction.js.map +2 -2
- package/lib/esm/internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction.test.js +1 -1
- package/lib/esm/internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction.test.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/__test-utils__/makeInternalApi.js +1 -1
- package/lib/esm/internal/app-binder/device-action/__test-utils__/makeInternalApi.js.map +3 -3
- package/lib/esm/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.js +1 -1
- package/lib/esm/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.js.map +2 -2
- package/lib/esm/internal/app-binder/device-action/__test-utils__/setupSignPsbtDAMock.js +1 -1
- package/lib/esm/internal/app-binder/device-action/__test-utils__/setupSignPsbtDAMock.js.map +2 -2
- package/lib/esm/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.js +1 -1
- package/lib/esm/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.js.map +3 -3
- package/lib/esm/internal/app-binder/di/appBinderModule.js +1 -1
- package/lib/esm/internal/app-binder/di/appBinderModule.js.map +3 -3
- package/lib/esm/internal/app-binder/di/appBinderModule.test.js +1 -1
- package/lib/esm/internal/app-binder/di/appBinderModule.test.js.map +2 -2
- package/lib/esm/internal/app-binder/di/appBinderTypes.js +1 -1
- package/lib/esm/internal/app-binder/di/appBinderTypes.js.map +2 -2
- package/lib/esm/internal/app-binder/task/BuildPsbtTask.test.js +1 -1
- package/lib/esm/internal/app-binder/task/BuildPsbtTask.test.js.map +2 -2
- package/lib/esm/internal/app-binder/task/ContinueTask.test.js +1 -1
- package/lib/esm/internal/app-binder/task/ContinueTask.test.js.map +2 -2
- package/lib/esm/internal/app-binder/task/GetWalletAddressTask.test.js +1 -1
- package/lib/esm/internal/app-binder/task/GetWalletAddressTask.test.js.map +2 -2
- package/lib/esm/internal/app-binder/task/PrepareWalletPolicyTask.test.js +1 -1
- package/lib/esm/internal/app-binder/task/PrepareWalletPolicyTask.test.js.map +2 -2
- package/lib/esm/internal/app-binder/task/SignMessageTask.test.js +1 -1
- package/lib/esm/internal/app-binder/task/SignMessageTask.test.js.map +2 -2
- package/lib/esm/internal/app-binder/task/SignPsbtTask.test.js +1 -1
- package/lib/esm/internal/app-binder/task/SignPsbtTask.test.js.map +2 -2
- package/lib/esm/internal/app-binder/task/UpdatePsbtTask.test.js +1 -1
- package/lib/esm/internal/app-binder/task/UpdatePsbtTask.test.js.map +2 -2
- package/lib/esm/internal/data-store/di/dataStoreModule.js +1 -1
- package/lib/esm/internal/data-store/di/dataStoreModule.js.map +3 -3
- package/lib/esm/internal/data-store/di/dataStoreModule.test.js +1 -1
- package/lib/esm/internal/data-store/di/dataStoreModule.test.js.map +2 -2
- package/lib/esm/internal/data-store/model/DataStore.test.js +1 -1
- package/lib/esm/internal/data-store/model/DataStore.test.js.map +2 -2
- package/lib/esm/internal/data-store/service/DefaultDataStoreService.test.js +1 -1
- package/lib/esm/internal/data-store/service/DefaultDataStoreService.test.js.map +2 -2
- package/lib/esm/internal/di.js +1 -1
- package/lib/esm/internal/di.js.map +2 -2
- package/lib/esm/internal/merkle-tree/di/merkleTreeModule.js +1 -1
- package/lib/esm/internal/merkle-tree/di/merkleTreeModule.js.map +3 -3
- package/lib/esm/internal/merkle-tree/di/merkleTreeModule.test.js +1 -1
- package/lib/esm/internal/merkle-tree/di/merkleTreeModule.test.js.map +2 -2
- package/lib/esm/internal/merkle-tree/service/MerkleMapBuilder.test.js +1 -1
- package/lib/esm/internal/merkle-tree/service/MerkleMapBuilder.test.js.map +2 -2
- package/lib/esm/internal/merkle-tree/service/MerkleTreeBuilder.test.js +1 -1
- package/lib/esm/internal/merkle-tree/service/MerkleTreeBuilder.test.js.map +2 -2
- package/lib/esm/internal/psbt/di/psbtModule.js +1 -1
- package/lib/esm/internal/psbt/di/psbtModule.js.map +3 -3
- package/lib/esm/internal/psbt/di/psbtModule.test.js +1 -1
- package/lib/esm/internal/psbt/di/psbtModule.test.js.map +2 -2
- package/lib/esm/internal/psbt/model/Key.js +1 -1
- package/lib/esm/internal/psbt/model/Key.js.map +2 -2
- package/lib/esm/internal/psbt/service/psbt/DefaultPsbtMapper.test.js +1 -1
- package/lib/esm/internal/psbt/service/psbt/DefaultPsbtMapper.test.js.map +2 -2
- package/lib/esm/internal/psbt/service/psbt/DefaultPsbtSerializer.js +1 -1
- package/lib/esm/internal/psbt/service/psbt/DefaultPsbtSerializer.js.map +2 -2
- package/lib/esm/internal/psbt/service/psbt/DefaultPsbtV2Normalizer.js +1 -1
- package/lib/esm/internal/psbt/service/psbt/DefaultPsbtV2Normalizer.js.map +2 -2
- package/lib/esm/internal/use-cases/di/useCasesModule.js +1 -1
- package/lib/esm/internal/use-cases/di/useCasesModule.js.map +3 -3
- package/lib/esm/internal/use-cases/di/useCasesModule.test.js +1 -1
- package/lib/esm/internal/use-cases/di/useCasesModule.test.js.map +2 -2
- package/lib/esm/internal/use-cases/get-extended-public-key/GetExtendedPublicKeyUseCase.js +1 -1
- package/lib/esm/internal/use-cases/get-extended-public-key/GetExtendedPublicKeyUseCase.js.map +2 -2
- package/lib/esm/internal/use-cases/get-extended-public-key/GetExtendedPublicKeyUseCase.test.js +1 -1
- package/lib/esm/internal/use-cases/get-extended-public-key/GetExtendedPublicKeyUseCase.test.js.map +2 -2
- package/lib/esm/internal/use-cases/get-wallet-address/GetWalletAddressUseCase.js +1 -1
- package/lib/esm/internal/use-cases/get-wallet-address/GetWalletAddressUseCase.js.map +3 -3
- package/lib/esm/internal/use-cases/get-wallet-address/GetWalletAddressUseCase.test.js +1 -1
- package/lib/esm/internal/use-cases/get-wallet-address/GetWalletAddressUseCase.test.js.map +3 -3
- package/lib/esm/internal/use-cases/sign-message/SignMessageUseCase.js +1 -1
- package/lib/esm/internal/use-cases/sign-message/SignMessageUseCase.js.map +3 -3
- package/lib/esm/internal/use-cases/sign-message/SignMessageUseCase.test.js +1 -1
- package/lib/esm/internal/use-cases/sign-message/SignMessageUseCase.test.js.map +2 -2
- package/lib/esm/internal/use-cases/sign-psbt/SignPsbtUseCase.js +1 -1
- package/lib/esm/internal/use-cases/sign-psbt/SignPsbtUseCase.js.map +3 -3
- package/lib/esm/internal/use-cases/sign-psbt/SignPsbtUseCase.test.js +1 -1
- package/lib/esm/internal/use-cases/sign-psbt/SignPsbtUseCase.test.js.map +3 -3
- package/lib/esm/internal/use-cases/sign-transaction/SignTransactionUseCase.js +1 -1
- package/lib/esm/internal/use-cases/sign-transaction/SignTransactionUseCase.js.map +3 -3
- package/lib/esm/internal/use-cases/sign-transaction/SignTransactionUseCase.test.js +1 -1
- package/lib/esm/internal/use-cases/sign-transaction/SignTransactionUseCase.test.js.map +3 -3
- package/lib/esm/internal/wallet/di/walletModule.js +1 -1
- package/lib/esm/internal/wallet/di/walletModule.js.map +3 -3
- package/lib/esm/internal/wallet/di/walletModule.test.js +1 -1
- package/lib/esm/internal/wallet/di/walletModule.test.js.map +2 -2
- package/lib/esm/internal/wallet/service/DefaultWalletBuilder.js +1 -1
- package/lib/esm/internal/wallet/service/DefaultWalletBuilder.js.map +2 -2
- package/lib/esm/internal/wallet/service/DefaultWalletBuilder.test.js +1 -1
- package/lib/esm/internal/wallet/service/DefaultWalletBuilder.test.js.map +2 -2
- package/lib/esm/internal/wallet/service/DefaultWalletSerializer.test.js +1 -1
- package/lib/esm/internal/wallet/service/DefaultWalletSerializer.test.js.map +2 -2
- package/lib/esm/package.json +17 -17
- package/lib/types/api/SignerBtc.d.ts +7 -5
- package/lib/types/api/SignerBtc.d.ts.map +1 -1
- package/lib/types/api/SignerBtcBuilder.test.d.ts +2 -0
- package/lib/types/api/SignerBtcBuilder.test.d.ts.map +1 -0
- package/lib/types/api/app-binder/GetExtendedPublicKeyDeviceActionTypes.d.ts +3 -1
- package/lib/types/api/app-binder/GetExtendedPublicKeyDeviceActionTypes.d.ts.map +1 -1
- package/lib/types/api/app-binder/GetWalletAddressDeviceActionTypes.d.ts +1 -0
- package/lib/types/api/app-binder/GetWalletAddressDeviceActionTypes.d.ts.map +1 -1
- package/lib/types/api/app-binder/SignMessageDeviceActionTypes.d.ts +1 -12
- package/lib/types/api/app-binder/SignMessageDeviceActionTypes.d.ts.map +1 -1
- package/lib/types/api/app-binder/SignPsbtDeviceActionTypes.d.ts +1 -0
- package/lib/types/api/app-binder/SignPsbtDeviceActionTypes.d.ts.map +1 -1
- package/lib/types/api/app-binder/SignTransactionDeviceActionTypes.d.ts +1 -0
- package/lib/types/api/app-binder/SignTransactionDeviceActionTypes.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/MessageOptions.d.ts +4 -0
- package/lib/types/api/model/MessageOptions.d.ts.map +1 -0
- package/lib/types/api/model/PsbtOptions.d.ts +4 -0
- package/lib/types/api/model/PsbtOptions.d.ts.map +1 -0
- package/lib/types/api/model/Signature.d.ts.map +1 -1
- package/lib/types/api/model/WalletAddressOptions.d.ts +1 -0
- package/lib/types/api/model/WalletAddressOptions.d.ts.map +1 -1
- package/lib/types/internal/DefaultSignerBtc.d.ts +7 -5
- package/lib/types/internal/DefaultSignerBtc.d.ts.map +1 -1
- package/lib/types/internal/app-binder/BtcAppBinder.d.ts +4 -0
- package/lib/types/internal/app-binder/BtcAppBinder.d.ts.map +1 -1
- package/lib/types/internal/app-binder/command/utils/bitcoinAppErrors.d.ts.map +1 -1
- package/lib/types/internal/app-binder/device-action/GetWalletAddress/GetWalletAddressDeviceAction.d.ts.map +1 -1
- package/lib/types/internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction.d.ts.map +1 -1
- package/lib/types/internal/app-binder/device-action/__test-utils__/makeInternalApi.d.ts +2 -1
- package/lib/types/internal/app-binder/device-action/__test-utils__/makeInternalApi.d.ts.map +1 -1
- package/lib/types/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.d.ts.map +1 -1
- package/lib/types/internal/app-binder/device-action/__test-utils__/setupSignPsbtDAMock.d.ts.map +1 -1
- package/lib/types/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.d.ts +5 -2
- package/lib/types/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.d.ts.map +1 -1
- package/lib/types/internal/app-binder/di/appBinderModule.d.ts.map +1 -1
- package/lib/types/internal/app-binder/di/appBinderTypes.d.ts +0 -1
- package/lib/types/internal/app-binder/di/appBinderTypes.d.ts.map +1 -1
- package/lib/types/internal/app-binder/task/GetWalletAddressTask.d.ts.map +1 -1
- package/lib/types/internal/app-binder/task/SignMessageTask.d.ts.map +1 -1
- package/lib/types/internal/app-binder/task/SignPsbtTask.d.ts.map +1 -1
- package/lib/types/internal/data-store/di/dataStoreModule.d.ts.map +1 -1
- package/lib/types/internal/di.d.ts.map +1 -1
- package/lib/types/internal/merkle-tree/di/merkleTreeModule.d.ts.map +1 -1
- package/lib/types/internal/psbt/di/psbtModule.d.ts.map +1 -1
- package/lib/types/internal/use-cases/di/useCasesModule.d.ts.map +1 -1
- package/lib/types/internal/use-cases/get-extended-public-key/GetExtendedPublicKeyUseCase.d.ts +1 -0
- package/lib/types/internal/use-cases/get-extended-public-key/GetExtendedPublicKeyUseCase.d.ts.map +1 -1
- package/lib/types/internal/use-cases/get-wallet-address/GetWalletAddressUseCase.d.ts +1 -1
- package/lib/types/internal/use-cases/get-wallet-address/GetWalletAddressUseCase.d.ts.map +1 -1
- package/lib/types/internal/use-cases/sign-message/SignMessageUseCase.d.ts +1 -1
- package/lib/types/internal/use-cases/sign-message/SignMessageUseCase.d.ts.map +1 -1
- package/lib/types/internal/use-cases/sign-psbt/SignPsbtUseCase.d.ts +1 -1
- package/lib/types/internal/use-cases/sign-psbt/SignPsbtUseCase.d.ts.map +1 -1
- package/lib/types/internal/use-cases/sign-transaction/SignTransactionUseCase.d.ts +1 -1
- package/lib/types/internal/use-cases/sign-transaction/SignTransactionUseCase.d.ts.map +1 -1
- package/lib/types/internal/wallet/di/walletModule.d.ts.map +1 -1
- package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
- package/package.json +19 -19
- package/lib/cjs/internal/app-binder/device-action/SignMessage/SignMessageDeviceAction.js +0 -2
- package/lib/cjs/internal/app-binder/device-action/SignMessage/SignMessageDeviceAction.js.map +0 -7
- package/lib/cjs/internal/app-binder/device-action/SignMessage/SignMessageDeviceAction.test.js +0 -2
- package/lib/cjs/internal/app-binder/device-action/SignMessage/SignMessageDeviceAction.test.js.map +0 -7
- package/lib/esm/internal/app-binder/device-action/SignMessage/SignMessageDeviceAction.js +0 -2
- package/lib/esm/internal/app-binder/device-action/SignMessage/SignMessageDeviceAction.js.map +0 -7
- package/lib/esm/internal/app-binder/device-action/SignMessage/SignMessageDeviceAction.test.js +0 -2
- package/lib/esm/internal/app-binder/device-action/SignMessage/SignMessageDeviceAction.test.js.map +0 -7
- package/lib/types/api/SignerBtcBuiilder.test.d.ts +0 -2
- package/lib/types/api/SignerBtcBuiilder.test.d.ts.map +0 -1
- package/lib/types/internal/app-binder/device-action/SignMessage/SignMessageDeviceAction.d.ts +0 -19
- package/lib/types/internal/app-binder/device-action/SignMessage/SignMessageDeviceAction.d.ts.map +0 -1
- package/lib/types/internal/app-binder/device-action/SignMessage/SignMessageDeviceAction.test.d.ts +0 -2
- package/lib/types/internal/app-binder/device-action/SignMessage/SignMessageDeviceAction.test.d.ts.map +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../src/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n CommandResultFactory,\n DeviceActionStatus,\n UnknownDeviceExchangeError,\n UserInteractionRequired,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { type SignTransactionDAState } from \"@api/app-binder/SignTransactionDeviceActionTypes\";\nimport { type RegisteredWallet } from \"@api/model/Wallet\";\nimport { makeDeviceActionInternalApiMock } from \"@internal/app-binder/device-action/__test-utils__/makeInternalApi\";\nimport { setupSignPsbtDAMock } from \"@internal/app-binder/device-action/__test-utils__/setupSignPsbtDAMock\";\nimport { testDeviceActionStates } from \"@internal/app-binder/device-action/__test-utils__/testDeviceActionStates\";\nimport { type DataStoreService } from \"@internal/data-store/service/DataStoreService\";\nimport { type Psbt as InternalPsbt } from \"@internal/psbt/model/Psbt\";\nimport { type PsbtMapper } from \"@internal/psbt/service/psbt/PsbtMapper\";\nimport { type ValueParser } from \"@internal/psbt/service/value/ValueParser\";\nimport { type WalletBuilder } from \"@internal/wallet/service/WalletBuilder\";\nimport { type WalletSerializer } from \"@internal/wallet/service/WalletSerializer\";\n\nimport { SignTransactionDeviceAction } from \"./SignTransactionDeviceAction\";\n\njest.mock(\n \"@internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction\",\n () => ({\n ...jest.requireActual(\n \"@internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction\",\n ),\n SignPsbtDeviceAction: jest.fn(() => ({\n makeStateMachine: jest.fn(),\n })),\n }),\n);\n\ndescribe(\"SignTransactionDeviceAction\", () => {\n const updatePsbtMock = jest.fn();\n const extractTransactionMock = jest.fn();\n\n function extractDependenciesMock() {\n return {\n updatePsbt: updatePsbtMock,\n extractTransaction: extractTransactionMock,\n };\n }\n\n describe(\"Success case\", () => {\n it(\"should call external dependencies with the correct parameters\", (done) => {\n setupSignPsbtDAMock([\n {\n inputIndex: 0,\n pubkey: Uint8Array.from([0x04, 0x05, 0x06]),\n signature: Uint8Array.from([0x01, 0x02, 0x03]),\n },\n ]);\n\n const deviceAction = new SignTransactionDeviceAction({\n input: {\n wallet: \"ApiWallet\" as unknown as RegisteredWallet,\n psbt: \"Hello world\",\n walletBuilder: \"WalletBuilder\" as unknown as WalletBuilder,\n walletSerializer: \"WalletSerializer\" as unknown as WalletSerializer,\n dataStoreService: \"DataStoreService\" as unknown as DataStoreService,\n psbtMapper: \"PsbtMapper\" as unknown as PsbtMapper,\n valueParser: \"ValueParser\" as unknown as ValueParser,\n },\n });\n\n // Mock the dependencies to return some sample data\n jest\n .spyOn(deviceAction, \"extractDependencies\")\n .mockReturnValue(extractDependenciesMock());\n updatePsbtMock.mockResolvedValueOnce(\n CommandResultFactory({\n data: \"Psbt\" as unknown as InternalPsbt,\n }),\n );\n extractTransactionMock.mockResolvedValueOnce(\n CommandResultFactory({\n data: \"0x42\",\n }),\n );\n\n // Expected intermediate values for the following state sequence:\n const expectedStates: Array<SignTransactionDAState> = [\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.SignTransaction,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n output: \"0x42\",\n status: DeviceActionStatus.Completed,\n },\n ];\n\n const { observable } = testDeviceActionStates(\n deviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n done,\n );\n\n // @todo Put this in a onDone handle of testDeviceActionStates\n observable.subscribe({\n complete: () => {\n expect(updatePsbtMock).toHaveBeenCalledWith(\n expect.objectContaining({\n input: {\n psbt: \"Hello world\",\n psbtMapper: \"PsbtMapper\",\n signatures: [\n {\n inputIndex: 0,\n pubkey: Uint8Array.from([0x04, 0x05, 0x06]),\n signature: Uint8Array.from([0x01, 0x02, 0x03]),\n },\n ],\n valueParser: \"ValueParser\",\n },\n }),\n );\n expect(extractTransactionMock).toHaveBeenCalledWith(\n expect.objectContaining({\n input: {\n psbt: \"Psbt\",\n valueParser: \"ValueParser\",\n },\n }),\n );\n },\n });\n });\n });\n\n describe(\"error cases\", () => {\n beforeEach(() => {\n jest.resetAllMocks();\n });\n it(\"Error if sign psbt fails\", (done) => {\n setupSignPsbtDAMock([], new UnknownDeviceExchangeError(\"Mocked error\"));\n\n const expectedStates: Array<SignTransactionDAState> = [\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.SignTransaction,\n },\n },\n {\n status: DeviceActionStatus.Error,\n error: new UnknownDeviceExchangeError(\"Mocked error\"),\n },\n ];\n\n const deviceAction = new SignTransactionDeviceAction({\n input: {\n wallet: {} as unknown as RegisteredWallet,\n psbt: \"Hello world\",\n walletBuilder: {} as WalletBuilder,\n walletSerializer: {} as WalletSerializer,\n dataStoreService: {} as DataStoreService,\n psbtMapper: {} as PsbtMapper,\n valueParser: {} as ValueParser,\n },\n });\n\n testDeviceActionStates(\n deviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n done,\n );\n });\n it(\"Error if update psbt fails\", (done) => {\n setupSignPsbtDAMock();\n\n const deviceAction = new SignTransactionDeviceAction({\n input: {\n wallet: {} as unknown as RegisteredWallet,\n psbt: \"Hello world\",\n walletBuilder: {} as WalletBuilder,\n walletSerializer: {} as WalletSerializer,\n dataStoreService: {} as DataStoreService,\n psbtMapper: {} as PsbtMapper,\n valueParser: {} as ValueParser,\n },\n });\n\n // Mock the dependencies to return some sample data\n jest\n .spyOn(deviceAction, \"extractDependencies\")\n .mockReturnValue(extractDependenciesMock());\n updatePsbtMock.mockResolvedValueOnce(\n CommandResultFactory({\n error: new UnknownDeviceExchangeError(\"Mocked error\"),\n }),\n );\n\n const expectedStates: Array<SignTransactionDAState> = [\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.SignTransaction,\n },\n },\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Error,\n error: new UnknownDeviceExchangeError(\"Mocked error\"),\n },\n ];\n\n testDeviceActionStates(\n deviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n done,\n );\n });\n it(\"Error if extract transaction fails\", (done) => {\n setupSignPsbtDAMock();\n\n const deviceAction = new SignTransactionDeviceAction({\n input: {\n wallet: {} as unknown as RegisteredWallet,\n psbt: \"Hello world\",\n walletBuilder: {} as WalletBuilder,\n walletSerializer: {} as WalletSerializer,\n dataStoreService: {} as DataStoreService,\n psbtMapper: {} as PsbtMapper,\n valueParser: {} as ValueParser,\n },\n });\n\n // Mock the dependencies to return some sample data\n jest\n .spyOn(deviceAction, \"extractDependencies\")\n .mockReturnValue(extractDependenciesMock());\n updatePsbtMock.mockResolvedValueOnce(\n CommandResultFactory({\n data: \"Psbt\" as unknown as InternalPsbt,\n }),\n );\n extractTransactionMock.mockResolvedValueOnce(\n CommandResultFactory({\n error: new UnknownDeviceExchangeError(\"Mocked error\"),\n }),\n );\n\n const expectedStates: Array<SignTransactionDAState> = [\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.SignTransaction,\n },\n },\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Error,\n error: new UnknownDeviceExchangeError(\"Mocked error\"),\n },\n ];\n\n testDeviceActionStates(\n deviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n done,\n );\n });\n });\n});\n"],
|
|
5
|
-
"mappings": "
|
|
6
|
-
"names": ["import_device_management_kit", "import_makeInternalApi", "import_setupSignPsbtDAMock", "import_testDeviceActionStates", "import_SignTransactionDeviceAction", "updatePsbtMock", "extractTransactionMock", "extractDependenciesMock", "
|
|
4
|
+
"sourcesContent": ["/* eslint @typescript-eslint/consistent-type-imports: off */\nimport {\n CommandResultFactory,\n DeviceActionStatus,\n UnknownDeviceExchangeError,\n UserInteractionRequired,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { type SignTransactionDAState } from \"@api/app-binder/SignTransactionDeviceActionTypes\";\nimport { type RegisteredWallet } from \"@api/model/Wallet\";\nimport { makeDeviceActionInternalApiMock } from \"@internal/app-binder/device-action/__test-utils__/makeInternalApi\";\nimport { setupSignPsbtDAMock } from \"@internal/app-binder/device-action/__test-utils__/setupSignPsbtDAMock\";\nimport { testDeviceActionStates } from \"@internal/app-binder/device-action/__test-utils__/testDeviceActionStates\";\nimport { type DataStoreService } from \"@internal/data-store/service/DataStoreService\";\nimport { type Psbt as InternalPsbt } from \"@internal/psbt/model/Psbt\";\nimport { type PsbtMapper } from \"@internal/psbt/service/psbt/PsbtMapper\";\nimport { type ValueParser } from \"@internal/psbt/service/value/ValueParser\";\nimport { type WalletBuilder } from \"@internal/wallet/service/WalletBuilder\";\nimport { type WalletSerializer } from \"@internal/wallet/service/WalletSerializer\";\n\nimport { SignTransactionDeviceAction } from \"./SignTransactionDeviceAction\";\n\nvi.mock(\n \"@internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction\",\n async (importOriginal) => {\n const original =\n await importOriginal<\n typeof import(\"@internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction\")\n >();\n return {\n ...original,\n SignPsbtDeviceAction: vi.fn(() => ({\n makeStateMachine: vi.fn(),\n })),\n };\n },\n);\n\ndescribe(\"SignTransactionDeviceAction\", () => {\n const updatePsbtMock = vi.fn();\n const extractTransactionMock = vi.fn();\n\n function extractDependenciesMock() {\n return {\n updatePsbt: updatePsbtMock,\n extractTransaction: extractTransactionMock,\n };\n }\n\n describe(\"Success case\", () => {\n it(\"should call external dependencies with the correct parameters\", () =>\n new Promise<void>((resolve, reject) => {\n setupSignPsbtDAMock([\n {\n inputIndex: 0,\n pubkey: Uint8Array.from([0x04, 0x05, 0x06]),\n signature: Uint8Array.from([0x01, 0x02, 0x03]),\n },\n ]);\n\n const deviceAction = new SignTransactionDeviceAction({\n input: {\n wallet: \"ApiWallet\" as unknown as RegisteredWallet,\n psbt: \"Hello world\",\n walletBuilder: \"WalletBuilder\" as unknown as WalletBuilder,\n walletSerializer: \"WalletSerializer\" as unknown as WalletSerializer,\n dataStoreService: \"DataStoreService\" as unknown as DataStoreService,\n psbtMapper: \"PsbtMapper\" as unknown as PsbtMapper,\n valueParser: \"ValueParser\" as unknown as ValueParser,\n skipOpenApp: false,\n },\n });\n\n // Mock the dependencies to return some sample data\n vi.spyOn(deviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n updatePsbtMock.mockResolvedValueOnce(\n CommandResultFactory({\n data: \"Psbt\" as unknown as InternalPsbt,\n }),\n );\n extractTransactionMock.mockResolvedValueOnce(\n CommandResultFactory({\n data: \"0x42\",\n }),\n );\n\n // Expected intermediate values for the following state sequence:\n const expectedStates: Array<SignTransactionDAState> = [\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.SignTransaction,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n output: \"0x42\",\n status: DeviceActionStatus.Completed,\n },\n ];\n\n testDeviceActionStates(\n deviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: () => {\n expect(updatePsbtMock).toHaveBeenCalledWith(\n expect.objectContaining({\n input: {\n psbt: \"Hello world\",\n psbtMapper: \"PsbtMapper\",\n signatures: [\n {\n inputIndex: 0,\n pubkey: Uint8Array.from([0x04, 0x05, 0x06]),\n signature: Uint8Array.from([0x01, 0x02, 0x03]),\n },\n ],\n valueParser: \"ValueParser\",\n },\n }),\n );\n expect(extractTransactionMock).toHaveBeenCalledWith(\n expect.objectContaining({\n input: {\n psbt: \"Psbt\",\n valueParser: \"ValueParser\",\n },\n }),\n );\n resolve();\n },\n onError: reject,\n },\n );\n }));\n });\n\n describe(\"error cases\", () => {\n beforeEach(() => {\n vi.resetAllMocks();\n });\n it(\"Error if sign psbt fails\", () =>\n new Promise<void>((resolve, reject) => {\n setupSignPsbtDAMock([], new UnknownDeviceExchangeError(\"Mocked error\"));\n\n const expectedStates: Array<SignTransactionDAState> = [\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.SignTransaction,\n },\n },\n {\n status: DeviceActionStatus.Error,\n error: new UnknownDeviceExchangeError(\"Mocked error\"),\n },\n ];\n\n const deviceAction = new SignTransactionDeviceAction({\n input: {\n wallet: {} as unknown as RegisteredWallet,\n psbt: \"Hello world\",\n walletBuilder: {} as WalletBuilder,\n walletSerializer: {} as WalletSerializer,\n dataStoreService: {} as DataStoreService,\n psbtMapper: {} as PsbtMapper,\n valueParser: {} as ValueParser,\n skipOpenApp: false,\n },\n });\n\n testDeviceActionStates(\n deviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n }));\n\n it(\"Error if update psbt fails\", () =>\n new Promise<void>((resolve, reject) => {\n setupSignPsbtDAMock();\n\n const deviceAction = new SignTransactionDeviceAction({\n input: {\n wallet: {} as unknown as RegisteredWallet,\n psbt: \"Hello world\",\n walletBuilder: {} as WalletBuilder,\n walletSerializer: {} as WalletSerializer,\n dataStoreService: {} as DataStoreService,\n psbtMapper: {} as PsbtMapper,\n valueParser: {} as ValueParser,\n skipOpenApp: false,\n },\n });\n\n // Mock the dependencies to return some sample data\n vi.spyOn(deviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n updatePsbtMock.mockResolvedValueOnce(\n CommandResultFactory({\n error: new UnknownDeviceExchangeError(\"Mocked error\"),\n }),\n );\n\n const expectedStates: Array<SignTransactionDAState> = [\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.SignTransaction,\n },\n },\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Error,\n error: new UnknownDeviceExchangeError(\"Mocked error\"),\n },\n ];\n\n testDeviceActionStates(\n deviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n }));\n\n it(\"Error if extract transaction fails\", () =>\n new Promise<void>((resolve, reject) => {\n setupSignPsbtDAMock();\n\n const deviceAction = new SignTransactionDeviceAction({\n input: {\n wallet: {} as unknown as RegisteredWallet,\n psbt: \"Hello world\",\n walletBuilder: {} as WalletBuilder,\n walletSerializer: {} as WalletSerializer,\n dataStoreService: {} as DataStoreService,\n psbtMapper: {} as PsbtMapper,\n valueParser: {} as ValueParser,\n skipOpenApp: false,\n },\n });\n\n // Mock the dependencies to return some sample data\n vi.spyOn(deviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n updatePsbtMock.mockResolvedValueOnce(\n CommandResultFactory({\n data: \"Psbt\" as unknown as InternalPsbt,\n }),\n );\n extractTransactionMock.mockResolvedValueOnce(\n CommandResultFactory({\n error: new UnknownDeviceExchangeError(\"Mocked error\"),\n }),\n );\n\n const expectedStates: Array<SignTransactionDAState> = [\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.SignTransaction,\n },\n },\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Error,\n error: new UnknownDeviceExchangeError(\"Mocked error\"),\n },\n ];\n\n testDeviceActionStates(\n deviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n }));\n });\n});\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["import_device_management_kit", "import_makeInternalApi", "import_setupSignPsbtDAMock", "import_testDeviceActionStates", "import_SignTransactionDeviceAction", "importOriginal", "updatePsbtMock", "extractTransactionMock", "extractDependenciesMock", "resolve", "reject", "deviceAction", "expectedStates"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var c=Object.defineProperty;var s=Object.getOwnPropertyDescriptor;var a=Object.getOwnPropertyNames;var r=Object.prototype.hasOwnProperty;var v=(n,e)=>{for(var i in e)c(n,i,{get:e[i],enumerable:!0})},S=(n,e,i,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of a(e))!r.call(n,t)&&t!==i&&c(n,t,{get:()=>e[t],enumerable:!(o=s(e,t))||o.enumerable});return n};var M=n=>S(c({},"__esModule",{value:!0}),n);var u={};v(u,{makeDeviceActionInternalApiMock:()=>b});module.exports=M(u);const p=vi.fn(),d=vi.fn(),f=vi.fn(),k=vi.fn(),l=vi.fn(),g=vi.fn(),m=vi.fn(),D=vi.fn(),A=vi.fn();function b(){return{sendApdu:p,sendCommand:d,getDeviceModel:f,getDeviceSessionState:k,getDeviceSessionStateObservable:l,setDeviceSessionState:g,getManagerApiService:m,getSecureChannelService:D,disableRefresher:A}}0&&(module.exports={makeDeviceActionInternalApiMock});
|
|
2
2
|
//# sourceMappingURL=makeInternalApi.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../src/internal/app-binder/device-action/__test-utils__/makeInternalApi.ts"],
|
|
4
|
-
"sourcesContent": ["import { type InternalApi } from \"@ledgerhq/device-management-kit\";\n\nconst sendCommandMock =
|
|
5
|
-
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,qCAAAE,IAAA,eAAAC,EAAAH,
|
|
6
|
-
"names": ["makeInternalApi_exports", "__export", "makeDeviceActionInternalApiMock", "__toCommonJS", "sendCommandMock", "apiGetDeviceSessionStateMock", "apiGetDeviceSessionStateObservableMock", "setDeviceSessionStateMock", "getManagerApiServiceMock"]
|
|
4
|
+
"sourcesContent": ["import { type InternalApi } from \"@ledgerhq/device-management-kit\";\nimport { type Mocked } from \"vitest\";\n\nconst sendApduMock = vi.fn();\nconst sendCommandMock = vi.fn();\nconst apiGetDeviceModelMock = vi.fn();\nconst apiGetDeviceSessionStateMock = vi.fn();\nconst apiGetDeviceSessionStateObservableMock = vi.fn();\nconst setDeviceSessionStateMock = vi.fn();\nconst getManagerApiServiceMock = vi.fn();\nconst getSecureChannelServiceMock = vi.fn();\nconst disableRefresherMock = vi.fn();\n\nexport function makeDeviceActionInternalApiMock(): Mocked<InternalApi> {\n return {\n sendApdu: sendApduMock,\n sendCommand: sendCommandMock,\n getDeviceModel: apiGetDeviceModelMock,\n getDeviceSessionState: apiGetDeviceSessionStateMock,\n getDeviceSessionStateObservable: apiGetDeviceSessionStateObservableMock,\n setDeviceSessionState: setDeviceSessionStateMock,\n getManagerApiService: getManagerApiServiceMock,\n getSecureChannelService: getSecureChannelServiceMock,\n disableRefresher: disableRefresherMock,\n };\n}\n"],
|
|
5
|
+
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,qCAAAE,IAAA,eAAAC,EAAAH,GAGA,MAAMI,EAAe,GAAG,GAAG,EACrBC,EAAkB,GAAG,GAAG,EACxBC,EAAwB,GAAG,GAAG,EAC9BC,EAA+B,GAAG,GAAG,EACrCC,EAAyC,GAAG,GAAG,EAC/CC,EAA4B,GAAG,GAAG,EAClCC,EAA2B,GAAG,GAAG,EACjCC,EAA8B,GAAG,GAAG,EACpCC,EAAuB,GAAG,GAAG,EAE5B,SAASV,GAAuD,CACrE,MAAO,CACL,SAAUE,EACV,YAAaC,EACb,eAAgBC,EAChB,sBAAuBC,EACvB,gCAAiCC,EACjC,sBAAuBC,EACvB,qBAAsBC,EACtB,wBAAyBC,EACzB,iBAAkBC,CACpB,CACF",
|
|
6
|
+
"names": ["makeInternalApi_exports", "__export", "makeDeviceActionInternalApiMock", "__toCommonJS", "sendApduMock", "sendCommandMock", "apiGetDeviceModelMock", "apiGetDeviceSessionStateMock", "apiGetDeviceSessionStateObservableMock", "setDeviceSessionStateMock", "getManagerApiServiceMock", "getSecureChannelServiceMock", "disableRefresherMock"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var a=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var f=Object.getOwnPropertyNames;var d=Object.prototype.hasOwnProperty;var s=(e,n)=>{for(var i in n)a(e,i,{get:n[i],enumerable:!0})},u=(e,n,i,m)=>{if(n&&typeof n=="object"||typeof n=="function")for(let t of f(n))!d.call(e,t)&&t!==i&&a(e,t,{get:()=>n[t],enumerable:!(m=c(n,t))||m.enumerable});return e};var k=e=>u(a({},"__esModule",{value:!0}),e);var A={};s(A,{setupOpenAppDAMock:()=>l});module.exports=k(A);var o=require("@ledgerhq/device-management-kit"),p=require("purify-ts"),r=require("xstate");const l=e=>{o.OpenAppDeviceAction.mockImplementation(()=>({makeStateMachine:vi.fn().mockImplementation(()=>(0,r.createMachine)({initial:"pending",states:{pending:{entry:(0,r.assign)({intermediateValue:{requiredUserInteraction:o.UserInteractionRequired.ConfirmOpenApp}}),after:{0:"done"}},done:{type:"final"}},output:()=>e?(0,p.Left)(e):(0,p.Right)(void 0)}))}))};0&&(module.exports={setupOpenAppDAMock});
|
|
2
2
|
//# sourceMappingURL=setupOpenAppDAMock.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../src/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n OpenAppDeviceAction,\n UserInteractionRequired,\n} from \"@ledgerhq/device-management-kit\";\nimport { Left, Right } from \"purify-ts\";\nimport { assign, createMachine } from \"xstate\";\n\nexport const setupOpenAppDAMock = (error?: unknown) => {\n (OpenAppDeviceAction as
|
|
5
|
-
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,wBAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAGO,2CACPC,EAA4B,
|
|
4
|
+
"sourcesContent": ["import {\n OpenAppDeviceAction,\n UserInteractionRequired,\n} from \"@ledgerhq/device-management-kit\";\nimport { Left, Right } from \"purify-ts\";\nimport { type Mock } from \"vitest\";\nimport { assign, createMachine } from \"xstate\";\n\nexport const setupOpenAppDAMock = (error?: unknown) => {\n (OpenAppDeviceAction as Mock).mockImplementation(() => ({\n makeStateMachine: vi.fn().mockImplementation(() =>\n createMachine({\n initial: \"pending\",\n states: {\n pending: {\n entry: assign({\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.ConfirmOpenApp,\n },\n }),\n after: {\n 0: \"done\",\n },\n },\n done: {\n type: \"final\",\n },\n },\n output: () => (error ? Left(error) : Right(undefined)),\n }),\n ),\n }));\n};\n"],
|
|
5
|
+
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,wBAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAGO,2CACPC,EAA4B,qBAE5BC,EAAsC,kBAE/B,MAAMJ,EAAsBK,GAAoB,CACpD,sBAA6B,mBAAmB,KAAO,CACtD,iBAAkB,GAAG,GAAG,EAAE,mBAAmB,OAC3C,iBAAc,CACZ,QAAS,UACT,OAAQ,CACN,QAAS,CACP,SAAO,UAAO,CACZ,kBAAmB,CACjB,wBAAyB,0BAAwB,cACnD,CACF,CAAC,EACD,MAAO,CACL,EAAG,MACL,CACF,EACA,KAAM,CACJ,KAAM,OACR,CACF,EACA,OAAQ,IAAOA,KAAQ,QAAKA,CAAK,KAAI,SAAM,MAAS,CACtD,CAAC,CACH,CACF,EAAE,CACJ",
|
|
6
6
|
"names": ["setupOpenAppDAMock_exports", "__export", "setupOpenAppDAMock", "__toCommonJS", "import_device_management_kit", "import_purify_ts", "import_xstate", "error"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var a=Object.defineProperty;var
|
|
1
|
+
"use strict";var a=Object.defineProperty;var s=Object.getOwnPropertyDescriptor;var f=Object.getOwnPropertyNames;var g=Object.prototype.hasOwnProperty;var u=(e,t)=>{for(var i in t)a(e,i,{get:t[i],enumerable:!0})},d=(e,t,i,m)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of f(t))!g.call(e,n)&&n!==i&&a(e,n,{get:()=>t[n],enumerable:!(m=s(t,n))||m.enumerable});return e};var k=e=>d(a({},"__esModule",{value:!0}),e);var l={};u(l,{setupSignPsbtDAMock:()=>S});module.exports=k(l);var p=require("@ledgerhq/device-management-kit"),o=require("purify-ts"),r=require("xstate"),c=require("../../../app-binder/device-action/SignPsbt/SignPsbtDeviceAction");const S=(e=[],t)=>{c.SignPsbtDeviceAction.mockImplementation(()=>({makeStateMachine:vi.fn().mockImplementation(()=>(0,r.createMachine)({initial:"pending",states:{pending:{entry:(0,r.assign)({intermediateValue:{requiredUserInteraction:p.UserInteractionRequired.SignTransaction}}),after:{0:"done"}},done:{type:"final"}},output:()=>t?(0,o.Left)(t):(0,o.Right)(e)}))}))};0&&(module.exports={setupSignPsbtDAMock});
|
|
2
2
|
//# sourceMappingURL=setupSignPsbtDAMock.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../src/internal/app-binder/device-action/__test-utils__/setupSignPsbtDAMock.ts"],
|
|
4
|
-
"sourcesContent": ["import { UserInteractionRequired } from \"@ledgerhq/device-management-kit\";\nimport { Left, Right } from \"purify-ts\";\nimport { assign, createMachine } from \"xstate\";\n\nimport { type PsbtSignature } from \"@api/model/Signature\";\nimport { SignPsbtDeviceAction } from \"@internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction\";\n\nexport const setupSignPsbtDAMock = (\n sigs: PsbtSignature[] = [],\n error?: unknown,\n) => {\n // setupOpenAppDAMock();\n (SignPsbtDeviceAction as
|
|
5
|
-
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,yBAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAwC,2CACxCC,EAA4B,
|
|
4
|
+
"sourcesContent": ["import { UserInteractionRequired } from \"@ledgerhq/device-management-kit\";\nimport { Left, Right } from \"purify-ts\";\nimport { type Mock } from \"vitest\";\nimport { assign, createMachine } from \"xstate\";\n\nimport { type PsbtSignature } from \"@api/model/Signature\";\nimport { SignPsbtDeviceAction } from \"@internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction\";\n\nexport const setupSignPsbtDAMock = (\n sigs: PsbtSignature[] = [],\n error?: unknown,\n) => {\n // setupOpenAppDAMock();\n (SignPsbtDeviceAction as Mock).mockImplementation(() => ({\n makeStateMachine: vi.fn().mockImplementation(() =>\n createMachine({\n initial: \"pending\",\n states: {\n pending: {\n entry: assign({\n intermediateValue: {\n requiredUserInteraction:\n UserInteractionRequired.SignTransaction,\n },\n }),\n after: {\n 0: \"done\",\n },\n },\n done: {\n type: \"final\",\n },\n },\n output: () => (error ? Left(error) : Right(sigs)),\n }),\n ),\n }));\n};\n"],
|
|
5
|
+
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,yBAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAwC,2CACxCC,EAA4B,qBAE5BC,EAAsC,kBAGtCC,EAAqC,4EAE9B,MAAML,EAAsB,CACjCM,EAAwB,CAAC,EACzBC,IACG,CAEF,uBAA8B,mBAAmB,KAAO,CACvD,iBAAkB,GAAG,GAAG,EAAE,mBAAmB,OAC3C,iBAAc,CACZ,QAAS,UACT,OAAQ,CACN,QAAS,CACP,SAAO,UAAO,CACZ,kBAAmB,CACjB,wBACE,0BAAwB,eAC5B,CACF,CAAC,EACD,MAAO,CACL,EAAG,MACL,CACF,EACA,KAAM,CACJ,KAAM,OACR,CACF,EACA,OAAQ,IAAOA,KAAQ,QAAKA,CAAK,KAAI,SAAMD,CAAI,CACjD,CAAC,CACH,CACF,EAAE,CACJ",
|
|
6
6
|
"names": ["setupSignPsbtDAMock_exports", "__export", "setupSignPsbtDAMock", "__toCommonJS", "import_device_management_kit", "import_purify_ts", "import_xstate", "import_SignPsbtDeviceAction", "sigs", "error"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var c=Object.defineProperty;var s=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var v=Object.prototype.hasOwnProperty;var A=(t,e)=>{for(var o in e)c(t,o,{get:e[o],enumerable:!0})},d=(t,e,o,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of l(e))!v.call(t,r)&&r!==o&&c(t,r,{get:()=>e[r],enumerable:!(i=s(e,r))||i.enumerable});return t};var m=t=>d(c({},"__esModule",{value:!0}),t);var I={};A(I,{testDeviceActionStates:()=>D});module.exports=m(I);function D(t,e,o,{onDone:i,onError:r}){const a=[],{observable:u,cancel:p}=t._execute(o);return u.subscribe({next:n=>{a.push(n)},error:n=>{r(n)},complete:()=>{try{expect(a).toEqual(e),i()}catch(n){r(n)}}}),{observable:u,cancel:p}}0&&(module.exports={testDeviceActionStates});
|
|
2
2
|
//# sourceMappingURL=testDeviceActionStates.js.map
|
package/lib/cjs/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../src/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n type DeviceAction,\n type DeviceActionIntermediateValue,\n type DeviceActionState,\n type DmkError,\n type InternalApi,\n} from \"@ledgerhq/device-management-kit\";\n\n/**\n * Test that the states emitted by a device action match the expected states.\n * @param deviceAction The device action to test.\n * @param expectedStates The expected states.\n * @param
|
|
5
|
-
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,4BAAAE,IAAA,eAAAC,EAAAH,GAcO,SAASE,EAMdE,EACAC,EACAC,
|
|
6
|
-
"names": ["testDeviceActionStates_exports", "__export", "testDeviceActionStates", "__toCommonJS", "deviceAction", "expectedStates", "internalApi", "
|
|
4
|
+
"sourcesContent": ["import {\n type DeviceAction,\n type DeviceActionIntermediateValue,\n type DeviceActionState,\n type DmkError,\n type InternalApi,\n} from \"@ledgerhq/device-management-kit\";\n\n/**\n * Test that the states emitted by a device action match the expected states.\n * @param deviceAction The device action to test.\n * @param expectedStates The expected states.\n * @param callbacks { onDone, onError } The callbacks to call when the test is done or an error occurs.\n */\nexport function testDeviceActionStates<\n Output,\n Input,\n Error extends DmkError,\n IntermediateValue extends DeviceActionIntermediateValue,\n>(\n deviceAction: DeviceAction<Output, Input, Error, IntermediateValue>,\n expectedStates: Array<DeviceActionState<Output, Error, IntermediateValue>>,\n internalApi: InternalApi,\n {\n onDone,\n onError,\n }: {\n onDone: () => void;\n onError: (error: Error) => void;\n },\n) {\n const observedStates: Array<\n DeviceActionState<Output, Error, IntermediateValue>\n > = [];\n\n const { observable, cancel } = deviceAction._execute(internalApi);\n observable.subscribe({\n next: (state) => {\n observedStates.push(state);\n },\n error: (error) => {\n onError(error);\n },\n complete: () => {\n try {\n expect(observedStates).toEqual(expectedStates);\n onDone();\n } catch (e) {\n onError(e as Error);\n }\n },\n });\n return { observable, cancel };\n}\n"],
|
|
5
|
+
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,4BAAAE,IAAA,eAAAC,EAAAH,GAcO,SAASE,EAMdE,EACAC,EACAC,EACA,CACE,OAAAC,EACA,QAAAC,CACF,EAIA,CACA,MAAMC,EAEF,CAAC,EAEC,CAAE,WAAAC,EAAY,OAAAC,CAAO,EAAIP,EAAa,SAASE,CAAW,EAChE,OAAAI,EAAW,UAAU,CACnB,KAAOE,GAAU,CACfH,EAAe,KAAKG,CAAK,CAC3B,EACA,MAAQC,GAAU,CAChBL,EAAQK,CAAK,CACf,EACA,SAAU,IAAM,CACd,GAAI,CACF,OAAOJ,CAAc,EAAE,QAAQJ,CAAc,EAC7CE,EAAO,CACT,OAASO,EAAG,CACVN,EAAQM,CAAU,CACpB,CACF,CACF,CAAC,EACM,CAAE,WAAAJ,EAAY,OAAAC,CAAO,CAC9B",
|
|
6
|
+
"names": ["testDeviceActionStates_exports", "__export", "testDeviceActionStates", "__toCommonJS", "deviceAction", "expectedStates", "internalApi", "onDone", "onError", "observedStates", "observable", "cancel", "state", "error", "e"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var t=Object.defineProperty;var B=Object.getOwnPropertyDescriptor;var a=Object.getOwnPropertyNames;var c=Object.prototype.hasOwnProperty;var f=(o,p)=>{for(var e in p)t(o,e,{get:p[e],enumerable:!0})},l=(o,p,e,i)=>{if(p&&typeof p=="object"||typeof p=="function")for(let r of a(p))!c.call(o,r)&&r!==e&&t(o,r,{get:()=>p[r],enumerable:!(i=B(p,r))||i.enumerable});return o};var s=o=>l(t({},"__esModule",{value:!0}),o);var y={};f(y,{appBinderModuleFactory:()=>u});module.exports=s(y);var n=require("inversify"),d=require("../../app-binder/BtcAppBinder"),m=require("../../app-binder/di/appBinderTypes");const u=()=>new n.ContainerModule(({bind:o})=>{o(m.appBinderTypes.AppBinder).to(d.BtcAppBinder)});0&&(module.exports={appBinderModuleFactory});
|
|
2
2
|
//# sourceMappingURL=appBinderModule.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/internal/app-binder/di/appBinderModule.ts"],
|
|
4
|
-
"sourcesContent": ["import { ContainerModule } from \"inversify\";\n\nimport { BtcAppBinder } from \"@internal/app-binder/BtcAppBinder\";\nimport { appBinderTypes } from \"@internal/app-binder/di/appBinderTypes\";\
|
|
5
|
-
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,4BAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAgC,qBAEhCC,EAA6B,6CAC7BC,EAA+B,
|
|
6
|
-
"names": ["appBinderModule_exports", "__export", "appBinderModuleFactory", "__toCommonJS", "import_inversify", "import_BtcAppBinder", "import_appBinderTypes", "
|
|
4
|
+
"sourcesContent": ["import { ContainerModule } from \"inversify\";\n\nimport { BtcAppBinder } from \"@internal/app-binder/BtcAppBinder\";\nimport { appBinderTypes } from \"@internal/app-binder/di/appBinderTypes\";\n\nexport const appBinderModuleFactory = () =>\n new ContainerModule(({ bind }) => {\n bind(appBinderTypes.AppBinder).to(BtcAppBinder);\n });\n"],
|
|
5
|
+
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,4BAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAgC,qBAEhCC,EAA6B,6CAC7BC,EAA+B,kDAExB,MAAMJ,EAAyB,IACpC,IAAI,kBAAgB,CAAC,CAAE,KAAAK,CAAK,IAAM,CAChCA,EAAK,iBAAe,SAAS,EAAE,GAAG,cAAY,CAChD,CAAC",
|
|
6
|
+
"names": ["appBinderModule_exports", "__export", "appBinderModuleFactory", "__toCommonJS", "import_inversify", "import_BtcAppBinder", "import_appBinderTypes", "bind"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var r=require("inversify"),t=require("./appBinderModule");describe("appBinderModule",()=>{describe("Default",()=>{let o,e;beforeEach(()=>{e=(0,t.appBinderModuleFactory)(),o=new r.Container,o.
|
|
1
|
+
"use strict";var r=require("inversify"),t=require("./appBinderModule");describe("appBinderModule",()=>{describe("Default",()=>{let o,e;beforeEach(()=>{e=(0,t.appBinderModuleFactory)(),o=new r.Container,o.loadSync(e)}),it("should return appBinder module",()=>{expect(e).toBeDefined()})})});
|
|
2
2
|
//# sourceMappingURL=appBinderModule.test.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/internal/app-binder/di/appBinderModule.test.ts"],
|
|
4
|
-
"sourcesContent": ["import { Container } from \"inversify\";\n\nimport { appBinderModuleFactory } from \"./appBinderModule\";\n\ndescribe(\"appBinderModule\", () => {\n describe(\"Default\", () => {\n let container: Container;\n let mod: ReturnType<typeof appBinderModuleFactory>;\n beforeEach(() => {\n mod = appBinderModuleFactory();\n container = new Container();\n container.
|
|
5
|
-
"mappings": "aAAA,IAAAA,EAA0B,qBAE1BC,EAAuC,6BAEvC,SAAS,kBAAmB,IAAM,CAChC,SAAS,UAAW,IAAM,CACxB,IAAIC,EACAC,EACJ,WAAW,IAAM,CACfA,KAAM,0BAAuB,EAC7BD,EAAY,IAAI,YAChBA,EAAU,
|
|
4
|
+
"sourcesContent": ["import { Container } from \"inversify\";\n\nimport { appBinderModuleFactory } from \"./appBinderModule\";\n\ndescribe(\"appBinderModule\", () => {\n describe(\"Default\", () => {\n let container: Container;\n let mod: ReturnType<typeof appBinderModuleFactory>;\n beforeEach(() => {\n mod = appBinderModuleFactory();\n container = new Container();\n container.loadSync(mod);\n });\n\n it(\"should return appBinder module\", () => {\n expect(mod).toBeDefined();\n });\n });\n});\n"],
|
|
5
|
+
"mappings": "aAAA,IAAAA,EAA0B,qBAE1BC,EAAuC,6BAEvC,SAAS,kBAAmB,IAAM,CAChC,SAAS,UAAW,IAAM,CACxB,IAAIC,EACAC,EACJ,WAAW,IAAM,CACfA,KAAM,0BAAuB,EAC7BD,EAAY,IAAI,YAChBA,EAAU,SAASC,CAAG,CACxB,CAAC,EAED,GAAG,iCAAkC,IAAM,CACzC,OAAOA,CAAG,EAAE,YAAY,CAC1B,CAAC,CACH,CAAC,CACH,CAAC",
|
|
6
6
|
"names": ["import_inversify", "import_appBinderModule", "container", "mod"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var o=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var B=Object.getOwnPropertyNames;var s=Object.prototype.hasOwnProperty;var t=(e,p)=>{for(var n in p)o(e,n,{get:p[n],enumerable:!0})},y=(e,p,n,d)=>{if(p&&typeof p=="object"||typeof p=="function")for(let r of B(p))!s.call(e,r)&&r!==n&&o(e,r,{get:()=>p[r],enumerable:!(d=i(p,r))||d.enumerable});return e};var A=e=>y(o({},"__esModule",{value:!0}),e);var b={};t(b,{appBinderTypes:()=>a});module.exports=A(b);const a={AppBinder:Symbol.for("AppBinder")};0&&(module.exports={appBinderTypes});
|
|
2
2
|
//# sourceMappingURL=appBinderTypes.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/internal/app-binder/di/appBinderTypes.ts"],
|
|
4
|
-
"sourcesContent": ["export const appBinderTypes = {\n AppBinder: Symbol.for(\"AppBinder\"),\n
|
|
5
|
-
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,oBAAAE,IAAA,eAAAC,EAAAH,GAAO,MAAME,EAAiB,CAC5B,UAAW,OAAO,IAAI,WAAW,
|
|
4
|
+
"sourcesContent": ["export const appBinderTypes = {\n AppBinder: Symbol.for(\"AppBinder\"),\n};\n"],
|
|
5
|
+
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,oBAAAE,IAAA,eAAAC,EAAAH,GAAO,MAAME,EAAiB,CAC5B,UAAW,OAAO,IAAI,WAAW,CACnC",
|
|
6
6
|
"names": ["appBinderTypes_exports", "__export", "appBinderTypes", "__toCommonJS"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var s=require("@ledgerhq/device-management-kit"),a=require("purify-ts"),o=require("../../app-binder/task/BuildPsbtTask"),l=require("../../data-store/model/DataStore");describe("BuildPsbtTask",()=>{it("should build psbt and fill datastore",async()=>{const n={map:vi.fn(()=>(0,a.Right)("InternalPsbt"))},t={merklizeWallet:vi.fn(),merklizePsbt:vi.fn(()=>(0,a.Right)("PsbtCommitment"))},e=new l.DataStore,r=await new o.BuildPsbtTask({wallet:"Wallet",psbt:"ApiPsbt"},t,n,()=>e).run();expect(n.map).toHaveBeenCalledWith("ApiPsbt"),expect(t.merklizePsbt).toHaveBeenCalledWith(e,"InternalPsbt"),expect(t.merklizeWallet).toHaveBeenCalledWith(e,"Wallet"),expect(r).toStrictEqual((0,s.CommandResultFactory)({data:{psbtCommitment:"PsbtCommitment",dataStore:e,psbt:"InternalPsbt"}}))}),it("should return an error if datastore fails",async()=>{const n={map:vi.fn(()=>(0,a.Right)({}))},t=new Error("Failed"),e={merklizeWallet:vi.fn(),merklizePsbt:vi.fn(()=>(0,a.Left)(t)),merklizeChunks:vi.fn()},r=await new o.BuildPsbtTask({wallet:{},psbt:{}},e,n).run();expect(r).toStrictEqual((0,s.CommandResultFactory)({error:new s.UnknownDeviceExchangeError({error:t})}))}),it("should return an error if datastore fails",async()=>{const n=new Error("Failed"),t={map:vi.fn(()=>(0,a.Left)(n))},e={merklizeWallet:vi.fn(),merklizePsbt:vi.fn(()=>(0,a.Right)({})),merklizeChunks:vi.fn()},r=await new o.BuildPsbtTask({wallet:{},psbt:{}},e,t).run();expect(r).toStrictEqual((0,s.CommandResultFactory)({error:new s.UnknownDeviceExchangeError({error:n})}))})});
|
|
2
2
|
//# sourceMappingURL=BuildPsbtTask.test.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/internal/app-binder/task/BuildPsbtTask.test.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n CommandResultFactory,\n UnknownDeviceExchangeError,\n} from \"@ledgerhq/device-management-kit\";\nimport { Left, Right } from \"purify-ts\";\n\nimport { type Psbt } from \"@api/model/Psbt\";\nimport { BuildPsbtTask } from \"@internal/app-binder/task/BuildPsbtTask\";\nimport { DataStore } from \"@internal/data-store/model/DataStore\";\nimport {\n type DataStoreService,\n type PsbtCommitment,\n} from \"@internal/data-store/service/DataStoreService\";\nimport { type Psbt as InternalPsbt } from \"@internal/psbt/model/Psbt\";\nimport { type Wallet } from \"@internal/wallet/model/Wallet\";\n\ndescribe(\"BuildPsbtTask\", () => {\n it(\"should build psbt and fill datastore\", async () => {\n // given\n const psbtMapper = {\n map:
|
|
5
|
-
"mappings": "aAAA,IAAAA,EAGO,2CACPC,EAA4B,qBAG5BC,EAA8B,mDAC9BC,EAA0B,gDAQ1B,SAAS,gBAAiB,IAAM,CAC9B,GAAG,uCAAwC,SAAY,CAErD,MAAMC,EAAa,CACjB,IAAK,
|
|
4
|
+
"sourcesContent": ["import {\n CommandResultFactory,\n UnknownDeviceExchangeError,\n} from \"@ledgerhq/device-management-kit\";\nimport { Left, Right } from \"purify-ts\";\n\nimport { type Psbt } from \"@api/model/Psbt\";\nimport { BuildPsbtTask } from \"@internal/app-binder/task/BuildPsbtTask\";\nimport { DataStore } from \"@internal/data-store/model/DataStore\";\nimport {\n type DataStoreService,\n type PsbtCommitment,\n} from \"@internal/data-store/service/DataStoreService\";\nimport { type Psbt as InternalPsbt } from \"@internal/psbt/model/Psbt\";\nimport { type Wallet } from \"@internal/wallet/model/Wallet\";\n\ndescribe(\"BuildPsbtTask\", () => {\n it(\"should build psbt and fill datastore\", async () => {\n // given\n const psbtMapper = {\n map: vi.fn(() => Right(\"InternalPsbt\" as unknown as InternalPsbt)),\n };\n const dataStoreService = {\n merklizeWallet: vi.fn(),\n merklizePsbt: vi.fn(() =>\n Right(\"PsbtCommitment\" as unknown as PsbtCommitment),\n ),\n } as unknown as DataStoreService;\n const dataStore = new DataStore();\n const task = new BuildPsbtTask(\n {\n wallet: \"Wallet\" as unknown as Wallet,\n psbt: \"ApiPsbt\" as unknown as Psbt,\n },\n dataStoreService,\n psbtMapper,\n () => dataStore,\n );\n // when\n const result = await task.run();\n // then\n expect(psbtMapper.map).toHaveBeenCalledWith(\"ApiPsbt\");\n expect(dataStoreService.merklizePsbt).toHaveBeenCalledWith(\n dataStore,\n \"InternalPsbt\",\n );\n expect(dataStoreService.merklizeWallet).toHaveBeenCalledWith(\n dataStore,\n \"Wallet\",\n );\n expect(result).toStrictEqual(\n CommandResultFactory({\n data: {\n psbtCommitment: \"PsbtCommitment\",\n dataStore,\n psbt: \"InternalPsbt\",\n },\n }),\n );\n });\n it(\"should return an error if datastore fails\", async () => {\n // given\n const psbtMapper = {\n map: vi.fn(() => Right({} as InternalPsbt)),\n };\n const error = new Error(\"Failed\");\n const dataStoreService = {\n merklizeWallet: vi.fn(),\n merklizePsbt: vi.fn(() => Left(error)),\n merklizeChunks: vi.fn(),\n };\n const task = new BuildPsbtTask(\n {\n wallet: {} as unknown as Wallet,\n psbt: {} as unknown as Psbt,\n },\n dataStoreService,\n psbtMapper,\n );\n // when\n const result = await task.run();\n // then\n expect(result).toStrictEqual(\n CommandResultFactory({\n error: new UnknownDeviceExchangeError({ error }),\n }),\n );\n });\n it(\"should return an error if datastore fails\", async () => {\n // given\n const error = new Error(\"Failed\");\n const psbtMapper = {\n map: vi.fn(() => Left(error)),\n };\n const dataStoreService = {\n merklizeWallet: vi.fn(),\n merklizePsbt: vi.fn(() => Right({} as PsbtCommitment)),\n merklizeChunks: vi.fn(),\n };\n const task = new BuildPsbtTask(\n {\n wallet: {} as unknown as Wallet,\n psbt: {} as unknown as Psbt,\n },\n dataStoreService,\n psbtMapper,\n );\n // when\n const result = await task.run();\n // then\n expect(result).toStrictEqual(\n CommandResultFactory({\n error: new UnknownDeviceExchangeError({ error }),\n }),\n );\n });\n});\n"],
|
|
5
|
+
"mappings": "aAAA,IAAAA,EAGO,2CACPC,EAA4B,qBAG5BC,EAA8B,mDAC9BC,EAA0B,gDAQ1B,SAAS,gBAAiB,IAAM,CAC9B,GAAG,uCAAwC,SAAY,CAErD,MAAMC,EAAa,CACjB,IAAK,GAAG,GAAG,OAAM,SAAM,cAAyC,CAAC,CACnE,EACMC,EAAmB,CACvB,eAAgB,GAAG,GAAG,EACtB,aAAc,GAAG,GAAG,OAClB,SAAM,gBAA6C,CACrD,CACF,EACMC,EAAY,IAAI,YAWhBC,EAAS,MAVF,IAAI,gBACf,CACE,OAAQ,SACR,KAAM,SACR,EACAF,EACAD,EACA,IAAME,CACR,EAE0B,IAAI,EAE9B,OAAOF,EAAW,GAAG,EAAE,qBAAqB,SAAS,EACrD,OAAOC,EAAiB,YAAY,EAAE,qBACpCC,EACA,cACF,EACA,OAAOD,EAAiB,cAAc,EAAE,qBACtCC,EACA,QACF,EACA,OAAOC,CAAM,EAAE,iBACb,wBAAqB,CACnB,KAAM,CACJ,eAAgB,iBAChB,UAAAD,EACA,KAAM,cACR,CACF,CAAC,CACH,CACF,CAAC,EACD,GAAG,4CAA6C,SAAY,CAE1D,MAAMF,EAAa,CACjB,IAAK,GAAG,GAAG,OAAM,SAAM,CAAC,CAAiB,CAAC,CAC5C,EACMI,EAAQ,IAAI,MAAM,QAAQ,EAC1BH,EAAmB,CACvB,eAAgB,GAAG,GAAG,EACtB,aAAc,GAAG,GAAG,OAAM,QAAKG,CAAK,CAAC,EACrC,eAAgB,GAAG,GAAG,CACxB,EAUMD,EAAS,MATF,IAAI,gBACf,CACE,OAAQ,CAAC,EACT,KAAM,CAAC,CACT,EACAF,EACAD,CACF,EAE0B,IAAI,EAE9B,OAAOG,CAAM,EAAE,iBACb,wBAAqB,CACnB,MAAO,IAAI,6BAA2B,CAAE,MAAAC,CAAM,CAAC,CACjD,CAAC,CACH,CACF,CAAC,EACD,GAAG,4CAA6C,SAAY,CAE1D,MAAMA,EAAQ,IAAI,MAAM,QAAQ,EAC1BJ,EAAa,CACjB,IAAK,GAAG,GAAG,OAAM,QAAKI,CAAK,CAAC,CAC9B,EACMH,EAAmB,CACvB,eAAgB,GAAG,GAAG,EACtB,aAAc,GAAG,GAAG,OAAM,SAAM,CAAC,CAAmB,CAAC,EACrD,eAAgB,GAAG,GAAG,CACxB,EAUME,EAAS,MATF,IAAI,gBACf,CACE,OAAQ,CAAC,EACT,KAAM,CAAC,CACT,EACAF,EACAD,CACF,EAE0B,IAAI,EAE9B,OAAOG,CAAM,EAAE,iBACb,wBAAqB,CACnB,MAAO,IAAI,6BAA2B,CAAE,MAAAC,CAAM,CAAC,CACjD,CAAC,CACH,CACF,CAAC,CACH,CAAC",
|
|
6
6
|
"names": ["import_device_management_kit", "import_purify_ts", "import_BuildPsbtTask", "import_DataStore", "psbtMapper", "dataStoreService", "dataStore", "result", "error"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("@ledgerhq/device-management-kit"),s=require("purify-ts"),o=require("../../app-binder/task/ContinueTask");describe("ContinueTask",()=>{const a={getClientCommandPayload:
|
|
1
|
+
"use strict";var e=require("@ledgerhq/device-management-kit"),s=require("purify-ts"),o=require("../../app-binder/task/ContinueTask");describe("ContinueTask",()=>{const a={getClientCommandPayload:vi.fn(()=>(0,s.Right)(Uint8Array.from([])))},t={sendCommand:vi.fn()},i=Math.floor(Math.random()*10+2);afterEach(()=>{vi.clearAllMocks()}),it(`should call ${i} times client interpreter and return success`,async()=>{new Array(i).fill(0).forEach(d=>{t.sendCommand.mockReturnValueOnce((0,e.CommandResultFactory)({data:new e.ApduResponse({statusCode:Uint8Array.from([224,0]),data:Uint8Array.from([])})}))}),t.sendCommand.mockReturnValueOnce((0,e.CommandResultFactory)({data:new e.ApduResponse({statusCode:Uint8Array.from([144,0]),data:Uint8Array.from([])})}));const r=(0,e.CommandResultFactory)({data:new e.ApduResponse({statusCode:Uint8Array.from([224,0]),data:Uint8Array.from([])})});await new o.ContinueTask(t,{},a).run(r),expect(a.getClientCommandPayload).toHaveBeenCalledTimes(i+1)}),it("should return an error if the client interpreter fails",async()=>{const r=new e.UnknownDeviceExchangeError("Failed");a.getClientCommandPayload.mockReturnValueOnce((0,s.Left)(r));const n=(0,e.CommandResultFactory)({data:new e.ApduResponse({statusCode:Uint8Array.from([224,0]),data:Uint8Array.from([])})}),m=await new o.ContinueTask(t,{},a).run(n);expect(t.sendCommand).toHaveBeenCalledTimes(0),expect(m).toStrictEqual((0,e.CommandResultFactory)({error:new e.UnknownDeviceExchangeError(r)}))}),it("should return an error if send command fails",async()=>{const r=new e.UnknownDeviceExchangeError("Failed");t.sendCommand.mockReturnValueOnce((0,e.CommandResultFactory)({error:r}));const n=(0,e.CommandResultFactory)({data:new e.ApduResponse({statusCode:Uint8Array.from([224,0]),data:Uint8Array.from([])})}),m=await new o.ContinueTask(t,{},a).run(n);expect(a.getClientCommandPayload).toHaveBeenCalledTimes(1),expect(m).toStrictEqual((0,e.CommandResultFactory)({error:r}))})});
|
|
2
2
|
//# sourceMappingURL=ContinueTask.test.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/internal/app-binder/task/ContinueTask.test.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n ApduResponse,\n CommandResultFactory,\n type DmkError,\n type InternalApi,\n UnknownDeviceExchangeError,\n} from \"@ledgerhq/device-management-kit\";\nimport { type Either, Left, Right } from \"purify-ts\";\n\nimport { type BtcErrorCodes } from \"@internal/app-binder/command/utils/bitcoinAppErrors\";\nimport { ContinueTask } from \"@internal/app-binder/task/ContinueTask\";\nimport { type DataStore } from \"@internal/data-store/model/DataStore\";\n\ndescribe(\"ContinueTask\", () => {\n const clientCommandInterpreter = {\n getClientCommandPayload:
|
|
5
|
-
"mappings": "aAAA,IAAAA,EAMO,2CACPC,EAAyC,qBAGzCC,EAA6B,kDAG7B,SAAS,eAAgB,IAAM,CAC7B,MAAMC,EAA2B,CAC/B,wBAAyB,
|
|
4
|
+
"sourcesContent": ["import {\n ApduResponse,\n CommandResultFactory,\n type DmkError,\n type InternalApi,\n UnknownDeviceExchangeError,\n} from \"@ledgerhq/device-management-kit\";\nimport { type Either, Left, Right } from \"purify-ts\";\n\nimport { type BtcErrorCodes } from \"@internal/app-binder/command/utils/bitcoinAppErrors\";\nimport { ContinueTask } from \"@internal/app-binder/task/ContinueTask\";\nimport { type DataStore } from \"@internal/data-store/model/DataStore\";\n\ndescribe(\"ContinueTask\", () => {\n const clientCommandInterpreter = {\n getClientCommandPayload: vi.fn(\n () => Right(Uint8Array.from([])) as Either<DmkError, Uint8Array>,\n ),\n };\n const api = {\n sendCommand: vi.fn(),\n };\n const randomNumberOfClientCalls = Math.floor(Math.random() * 10 + 2);\n\n afterEach(() => {\n vi.clearAllMocks();\n });\n\n it(`should call ${randomNumberOfClientCalls} times client interpreter and return success`, async () => {\n // given\n new Array(randomNumberOfClientCalls).fill(0).forEach((_) => {\n api.sendCommand.mockReturnValueOnce(\n CommandResultFactory({\n data: new ApduResponse({\n statusCode: Uint8Array.from([0xe0, 0x00]),\n data: Uint8Array.from([]),\n }),\n }),\n );\n });\n api.sendCommand.mockReturnValueOnce(\n CommandResultFactory({\n data: new ApduResponse({\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: Uint8Array.from([]),\n }),\n }),\n );\n const fromResult = CommandResultFactory<ApduResponse, BtcErrorCodes>({\n data: new ApduResponse({\n statusCode: Uint8Array.from([0xe0, 0x00]),\n data: Uint8Array.from([]),\n }),\n });\n // when\n const task = new ContinueTask(\n api as unknown as InternalApi,\n {} as DataStore,\n clientCommandInterpreter,\n );\n await task.run(fromResult);\n // then\n expect(\n clientCommandInterpreter.getClientCommandPayload,\n ).toHaveBeenCalledTimes(randomNumberOfClientCalls + 1);\n });\n\n it(\"should return an error if the client interpreter fails\", async () => {\n // given\n const error = new UnknownDeviceExchangeError(\"Failed\");\n clientCommandInterpreter.getClientCommandPayload.mockReturnValueOnce(\n Left(error),\n );\n const fromResult = CommandResultFactory<ApduResponse, BtcErrorCodes>({\n data: new ApduResponse({\n statusCode: Uint8Array.from([0xe0, 0x00]),\n data: Uint8Array.from([]),\n }),\n });\n // when\n const task = new ContinueTask(\n api as unknown as InternalApi,\n {} as DataStore,\n clientCommandInterpreter,\n );\n const result = await task.run(fromResult);\n // then\n expect(api.sendCommand).toHaveBeenCalledTimes(0);\n expect(result).toStrictEqual(\n CommandResultFactory({ error: new UnknownDeviceExchangeError(error) }),\n );\n });\n it(\"should return an error if send command fails\", async () => {\n // given\n const error = new UnknownDeviceExchangeError(\"Failed\");\n api.sendCommand.mockReturnValueOnce(CommandResultFactory({ error }));\n const fromResult = CommandResultFactory<ApduResponse, BtcErrorCodes>({\n data: new ApduResponse({\n statusCode: Uint8Array.from([0xe0, 0x00]),\n data: Uint8Array.from([]),\n }),\n });\n // when\n const task = new ContinueTask(\n api as unknown as InternalApi,\n {} as DataStore,\n clientCommandInterpreter,\n );\n const result = await task.run(fromResult);\n // then\n expect(\n clientCommandInterpreter.getClientCommandPayload,\n ).toHaveBeenCalledTimes(1);\n expect(result).toStrictEqual(CommandResultFactory({ error }));\n });\n});\n"],
|
|
5
|
+
"mappings": "aAAA,IAAAA,EAMO,2CACPC,EAAyC,qBAGzCC,EAA6B,kDAG7B,SAAS,eAAgB,IAAM,CAC7B,MAAMC,EAA2B,CAC/B,wBAAyB,GAAG,GAC1B,OAAM,SAAM,WAAW,KAAK,CAAC,CAAC,CAAC,CACjC,CACF,EACMC,EAAM,CACV,YAAa,GAAG,GAAG,CACrB,EACMC,EAA4B,KAAK,MAAM,KAAK,OAAO,EAAI,GAAK,CAAC,EAEnE,UAAU,IAAM,CACd,GAAG,cAAc,CACnB,CAAC,EAED,GAAG,eAAeA,CAAyB,+CAAgD,SAAY,CAErG,IAAI,MAAMA,CAAyB,EAAE,KAAK,CAAC,EAAE,QAASC,GAAM,CAC1DF,EAAI,YAAY,uBACd,wBAAqB,CACnB,KAAM,IAAI,eAAa,CACrB,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,EACxC,KAAM,WAAW,KAAK,CAAC,CAAC,CAC1B,CAAC,CACH,CAAC,CACH,CACF,CAAC,EACDA,EAAI,YAAY,uBACd,wBAAqB,CACnB,KAAM,IAAI,eAAa,CACrB,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,EACxC,KAAM,WAAW,KAAK,CAAC,CAAC,CAC1B,CAAC,CACH,CAAC,CACH,EACA,MAAMG,KAAa,wBAAkD,CACnE,KAAM,IAAI,eAAa,CACrB,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,EACxC,KAAM,WAAW,KAAK,CAAC,CAAC,CAC1B,CAAC,CACH,CAAC,EAOD,MALa,IAAI,eACfH,EACA,CAAC,EACDD,CACF,EACW,IAAII,CAAU,EAEzB,OACEJ,EAAyB,uBAC3B,EAAE,sBAAsBE,EAA4B,CAAC,CACvD,CAAC,EAED,GAAG,yDAA0D,SAAY,CAEvE,MAAMG,EAAQ,IAAI,6BAA2B,QAAQ,EACrDL,EAAyB,wBAAwB,uBAC/C,QAAKK,CAAK,CACZ,EACA,MAAMD,KAAa,wBAAkD,CACnE,KAAM,IAAI,eAAa,CACrB,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,EACxC,KAAM,WAAW,KAAK,CAAC,CAAC,CAC1B,CAAC,CACH,CAAC,EAOKE,EAAS,MALF,IAAI,eACfL,EACA,CAAC,EACDD,CACF,EAC0B,IAAII,CAAU,EAExC,OAAOH,EAAI,WAAW,EAAE,sBAAsB,CAAC,EAC/C,OAAOK,CAAM,EAAE,iBACb,wBAAqB,CAAE,MAAO,IAAI,6BAA2BD,CAAK,CAAE,CAAC,CACvE,CACF,CAAC,EACD,GAAG,+CAAgD,SAAY,CAE7D,MAAMA,EAAQ,IAAI,6BAA2B,QAAQ,EACrDJ,EAAI,YAAY,uBAAoB,wBAAqB,CAAE,MAAAI,CAAM,CAAC,CAAC,EACnE,MAAMD,KAAa,wBAAkD,CACnE,KAAM,IAAI,eAAa,CACrB,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,EACxC,KAAM,WAAW,KAAK,CAAC,CAAC,CAC1B,CAAC,CACH,CAAC,EAOKE,EAAS,MALF,IAAI,eACfL,EACA,CAAC,EACDD,CACF,EAC0B,IAAII,CAAU,EAExC,OACEJ,EAAyB,uBAC3B,EAAE,sBAAsB,CAAC,EACzB,OAAOM,CAAM,EAAE,iBAAc,wBAAqB,CAAE,MAAAD,CAAM,CAAC,CAAC,CAC9D,CAAC,CACH,CAAC",
|
|
6
6
|
"names": ["import_device_management_kit", "import_purify_ts", "import_ContinueTask", "clientCommandInterpreter", "api", "randomNumberOfClientCalls", "_", "fromResult", "error", "result"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("@ledgerhq/device-management-kit"),l=require("./GetWalletAddressTask");describe("GetWalletAddressTask",()=>{describe("run",()=>{it("should return a wallet address successfully",async()=>{const t={sendCommand:
|
|
1
|
+
"use strict";var e=require("@ledgerhq/device-management-kit"),l=require("./GetWalletAddressTask");describe("GetWalletAddressTask",()=>{describe("run",()=>{it("should return a wallet address successfully",async()=>{const t={sendCommand:vi.fn().mockResolvedValueOnce((0,e.CommandResultFactory)({data:Uint8Array.from([1,2,3])}))},a={hmac:Uint8Array.from([4])},n={getId:vi.fn().mockReturnValue(Uint8Array.from([5]))},r={merklizeWallet:vi.fn()},s=()=>({run:vi.fn().mockResolvedValue((0,e.CommandResultFactory)({data:{data:Uint8Array.from([52,86,120,154,188,222,241])}}))}),o=vi.fn().mockReturnValue((0,e.CommandResultFactory)({data:{address:"some address"}})),i=await new l.GetWalletAddressTask(t,{checkOnDevice:!0,wallet:a,change:!1,addressIndex:0},n,r,s,o).run();expect(n.getId).toHaveBeenCalledWith(a),expect(i).toStrictEqual((0,e.CommandResultFactory)({data:{address:"some address"}}))}),it("should fail if ContinueTask fails",async()=>{const t={sendCommand:vi.fn()},a={hmac:Uint8Array.from([4])},n={getId:vi.fn().mockReturnValue(Uint8Array.from([5]))},r={merklizeWallet:vi.fn()},s=()=>({run:vi.fn().mockResolvedValue((0,e.CommandResultFactory)({error:new e.InvalidStatusWordError("ContinueTask failed")}))}),o=await new l.GetWalletAddressTask(t,{checkOnDevice:!0,wallet:a,change:!1,addressIndex:0},n,r,s).run();expect(o).toStrictEqual((0,e.CommandResultFactory)({error:new e.InvalidStatusWordError("ContinueTask failed")}))}),it("should fail with an invalid device response",async()=>{const t={sendCommand:vi.fn().mockResolvedValueOnce((0,e.CommandResultFactory)({error:new e.InvalidStatusWordError("Invalid response from the device")}))},a={hmac:Uint8Array.from([4])},n={getId:vi.fn().mockReturnValue(Uint8Array.from([5]))},r={merklizeWallet:vi.fn()},s=()=>({run:vi.fn().mockResolvedValue((0,e.CommandResultFactory)({error:new e.InvalidStatusWordError("Invalid response from the device")}))}),o=await new l.GetWalletAddressTask(t,{checkOnDevice:!0,wallet:a,change:!1,addressIndex:0},n,r,s).run();expect(o).toStrictEqual((0,e.CommandResultFactory)({error:new e.InvalidStatusWordError("Invalid response from the device")}))})})});
|
|
2
2
|
//# sourceMappingURL=GetWalletAddressTask.test.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/internal/app-binder/task/GetWalletAddressTask.test.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n CommandResultFactory,\n type InternalApi,\n InvalidStatusWordError,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { type DataStoreService } from \"@internal/data-store/service/DataStoreService\";\nimport { type Wallet as InternalWallet } from \"@internal/wallet/model/Wallet\";\nimport { type WalletSerializer } from \"@internal/wallet/service/WalletSerializer\";\n\nimport { type ContinueTask } from \"./ContinueTask\";\nimport { GetWalletAddressTask } from \"./GetWalletAddressTask\";\n\ndescribe(\"GetWalletAddressTask\", () => {\n describe(\"run\", () => {\n it(\"should return a wallet address successfully\", async () => {\n // given\n const api = {\n sendCommand:
|
|
5
|
-
"mappings": "aAAA,IAAAA,EAIO,2CAOPC,EAAqC,kCAErC,SAAS,uBAAwB,IAAM,CACrC,SAAS,MAAO,IAAM,CACpB,GAAG,8CAA+C,SAAY,CAE5D,MAAMC,EAAM,CACV,YAAa,
|
|
4
|
+
"sourcesContent": ["import {\n CommandResultFactory,\n type InternalApi,\n InvalidStatusWordError,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { type DataStoreService } from \"@internal/data-store/service/DataStoreService\";\nimport { type Wallet as InternalWallet } from \"@internal/wallet/model/Wallet\";\nimport { type WalletSerializer } from \"@internal/wallet/service/WalletSerializer\";\n\nimport { type ContinueTask } from \"./ContinueTask\";\nimport { GetWalletAddressTask } from \"./GetWalletAddressTask\";\n\ndescribe(\"GetWalletAddressTask\", () => {\n describe(\"run\", () => {\n it(\"should return a wallet address successfully\", async () => {\n // given\n const api = {\n sendCommand: vi.fn().mockResolvedValueOnce(\n CommandResultFactory({\n data: Uint8Array.from([0x01, 0x02, 0x03]),\n }),\n ),\n } as unknown as InternalApi;\n\n const wallet = {\n hmac: Uint8Array.from([0x04]),\n } as unknown as InternalWallet;\n\n const walletSerializer = {\n getId: vi.fn().mockReturnValue(Uint8Array.from([0x05])),\n } as unknown as WalletSerializer;\n\n const dataStoreService = {\n merklizeWallet: vi.fn(),\n } as unknown as DataStoreService;\n\n const continueTaskFactory = () =>\n ({\n run: vi.fn().mockResolvedValue(\n CommandResultFactory({\n data: {\n data: Uint8Array.from([\n 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0xf1,\n ]),\n },\n }),\n ),\n }) as unknown as ContinueTask;\n\n const mockGetAddress = vi.fn().mockReturnValue(\n CommandResultFactory({\n data: { address: \"some address\" },\n }),\n );\n\n // when\n const result = await new GetWalletAddressTask(\n api,\n {\n checkOnDevice: true,\n wallet,\n change: false,\n addressIndex: 0,\n },\n walletSerializer,\n dataStoreService,\n continueTaskFactory,\n mockGetAddress,\n ).run();\n\n // then\n expect(walletSerializer.getId).toHaveBeenCalledWith(wallet);\n expect(result).toStrictEqual(\n CommandResultFactory({\n data: {\n address: \"some address\",\n },\n }),\n );\n });\n\n it(\"should fail if ContinueTask fails\", async () => {\n // given\n const api = {\n sendCommand: vi.fn(),\n } as unknown as InternalApi;\n\n const wallet = {\n hmac: Uint8Array.from([0x04]),\n } as unknown as InternalWallet;\n\n const walletSerializer = {\n getId: vi.fn().mockReturnValue(Uint8Array.from([0x05])),\n } as unknown as WalletSerializer;\n\n const dataStoreService = {\n merklizeWallet: vi.fn(),\n } as unknown as DataStoreService;\n\n const continueTaskFactory = () =>\n ({\n run: vi.fn().mockResolvedValue(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"ContinueTask failed\"),\n }),\n ),\n }) as unknown as ContinueTask;\n\n // when\n const result = await new GetWalletAddressTask(\n api,\n {\n checkOnDevice: true,\n wallet,\n change: false,\n addressIndex: 0,\n },\n walletSerializer,\n dataStoreService,\n continueTaskFactory,\n ).run();\n\n // then\n expect(result).toStrictEqual(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"ContinueTask failed\"),\n }),\n );\n });\n\n it(\"should fail with an invalid device response\", async () => {\n // given\n const api = {\n sendCommand: vi.fn().mockResolvedValueOnce(\n CommandResultFactory({\n error: new InvalidStatusWordError(\n \"Invalid response from the device\",\n ),\n }),\n ),\n } as unknown as InternalApi;\n\n const wallet = {\n hmac: Uint8Array.from([0x04]),\n } as unknown as InternalWallet;\n\n const walletSerializer = {\n getId: vi.fn().mockReturnValue(Uint8Array.from([0x05])),\n } as unknown as WalletSerializer;\n\n const dataStoreService = {\n merklizeWallet: vi.fn(),\n } as unknown as DataStoreService;\n\n const continueTaskFactory = () =>\n ({\n run: vi.fn().mockResolvedValue(\n CommandResultFactory({\n error: new InvalidStatusWordError(\n \"Invalid response from the device\",\n ),\n }),\n ),\n }) as unknown as ContinueTask;\n\n // when\n const result = await new GetWalletAddressTask(\n api,\n {\n checkOnDevice: true,\n wallet,\n change: false,\n addressIndex: 0,\n },\n walletSerializer,\n dataStoreService,\n continueTaskFactory,\n ).run();\n\n // then\n expect(result).toStrictEqual(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"Invalid response from the device\"),\n }),\n );\n });\n });\n});\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["import_device_management_kit", "import_GetWalletAddressTask", "api", "wallet", "walletSerializer", "dataStoreService", "continueTaskFactory", "mockGetAddress", "result"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("@ledgerhq/device-management-kit"),l=require("../../../api/model/Wallet"),s=require("../../app-binder/task/PrepareWalletPolicyTask");const c=
|
|
1
|
+
"use strict";var e=require("@ledgerhq/device-management-kit"),l=require("../../../api/model/Wallet"),s=require("../../app-binder/task/PrepareWalletPolicyTask");const c=vi.fn(),d=vi.fn();describe("PrepareWalletPolicyTask",()=>{let t;const i={fromDefaultWallet:c,fromRegisteredWallet:d};beforeEach(()=>{t={sendCommand:vi.fn()}}),afterEach(()=>{vi.resetAllMocks()}),it("should return a builded wallet from a default one",async()=>{const n=new l.DefaultWallet("49'/0'/0'",l.DefaultDescriptorTemplate.LEGACY),o=new s.PrepareWalletPolicyTask(t,{wallet:n},i);t.sendCommand.mockResolvedValueOnce(Promise.resolve((0,e.CommandResultFactory)({data:{extendedPublicKey:"xPublicKey"}}))),t.sendCommand.mockResolvedValueOnce(Promise.resolve((0,e.CommandResultFactory)({data:{masterFingerprint:Uint8Array.from([66,33,18,36])}})));const a={};c.mockReturnValue(a);const r=await o.run();expect(c).toHaveBeenCalledWith(Uint8Array.from([66,33,18,36]),"xPublicKey",n),expect(r).toStrictEqual((0,e.CommandResultFactory)({data:a}))}),it("should return a builded wallet from a registered one",async()=>{const n=new l.RegisteredWallet("walletName",l.DefaultDescriptorTemplate.LEGACY,["key0","key1"],Uint8Array.from([42])),o=new s.PrepareWalletPolicyTask(t,{wallet:n},i);t.sendCommand.mockResolvedValueOnce(Promise.resolve((0,e.CommandResultFactory)({data:{extendedPublicKey:"xPublicKey"}}))),t.sendCommand.mockResolvedValueOnce(Promise.resolve((0,e.CommandResultFactory)({data:{masterFingerprint:Uint8Array.from([66,33,18,36])}})));const a={};d.mockReturnValue(a);const r=await o.run();expect(d).toHaveBeenCalledWith(n),expect(r).toStrictEqual((0,e.CommandResultFactory)({data:a}))}),it("should return an error if getMasterFingerprint failed",async()=>{const n=new l.DefaultWallet("49'/0'/0'",l.DefaultDescriptorTemplate.LEGACY),o=new s.PrepareWalletPolicyTask(t,{wallet:n},i),a=new e.UnknownDeviceExchangeError("Failed");t.sendCommand.mockResolvedValueOnce(Promise.resolve((0,e.CommandResultFactory)({error:a})));const r=await o.run();expect(r).toStrictEqual((0,e.CommandResultFactory)({error:a}))}),it("should return an error if getExtendedPublicKey failed",async()=>{const n=new l.DefaultWallet("49'/0'/0'",l.DefaultDescriptorTemplate.LEGACY),o=new s.PrepareWalletPolicyTask(t,{wallet:n},i),a=new e.UnknownDeviceExchangeError("Failed");t.sendCommand.mockResolvedValueOnce(Promise.resolve((0,e.CommandResultFactory)({data:{masterFingerprint:Uint8Array.from([66,33,18,36])}}))),t.sendCommand.mockResolvedValueOnce(Promise.resolve((0,e.CommandResultFactory)({error:a})));const r=await o.run();expect(r).toStrictEqual((0,e.CommandResultFactory)({error:a})),expect(r).toStrictEqual((0,e.CommandResultFactory)({error:a}))})});
|
|
2
2
|
//# sourceMappingURL=PrepareWalletPolicyTask.test.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/internal/app-binder/task/PrepareWalletPolicyTask.test.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n CommandResultFactory,\n type InternalApi,\n UnknownDeviceExchangeError,\n} from \"@ledgerhq/device-management-kit\";\n\nimport {\n DefaultDescriptorTemplate,\n DefaultWallet,\n RegisteredWallet,\n type Wallet,\n} from \"@api/model/Wallet\";\nimport { PrepareWalletPolicyTask } from \"@internal/app-binder/task/PrepareWalletPolicyTask\";\nimport { type WalletBuilder } from \"@internal/wallet/service/WalletBuilder\";\nconst fromDefaultWalletMock =
|
|
5
|
-
"mappings": "aAAA,IAAAA,EAIO,
|
|
4
|
+
"sourcesContent": ["import {\n CommandResultFactory,\n type InternalApi,\n UnknownDeviceExchangeError,\n} from \"@ledgerhq/device-management-kit\";\nimport { type Mock } from \"vitest\";\n\nimport {\n DefaultDescriptorTemplate,\n DefaultWallet,\n RegisteredWallet,\n type Wallet,\n} from \"@api/model/Wallet\";\nimport { PrepareWalletPolicyTask } from \"@internal/app-binder/task/PrepareWalletPolicyTask\";\nimport { type WalletBuilder } from \"@internal/wallet/service/WalletBuilder\";\nconst fromDefaultWalletMock = vi.fn();\nconst fromRegisteredWalletMock = vi.fn();\n\ndescribe(\"PrepareWalletPolicyTask\", () => {\n let internalApi: { sendCommand: Mock };\n const walletBuilder = {\n fromDefaultWallet: fromDefaultWalletMock,\n fromRegisteredWallet: fromRegisteredWalletMock,\n } as unknown as WalletBuilder;\n beforeEach(() => {\n internalApi = {\n sendCommand: vi.fn(),\n };\n });\n afterEach(() => {\n vi.resetAllMocks();\n });\n\n it(\"should return a builded wallet from a default one\", async () => {\n // given\n const defaultWallet = new DefaultWallet(\n \"49'/0'/0'\",\n DefaultDescriptorTemplate.LEGACY,\n );\n const task = new PrepareWalletPolicyTask(\n internalApi as unknown as InternalApi,\n { wallet: defaultWallet },\n walletBuilder,\n );\n internalApi.sendCommand.mockResolvedValueOnce(\n Promise.resolve(\n CommandResultFactory({\n data: {\n extendedPublicKey: \"xPublicKey\",\n },\n }),\n ),\n );\n internalApi.sendCommand.mockResolvedValueOnce(\n Promise.resolve(\n CommandResultFactory({\n data: {\n masterFingerprint: Uint8Array.from([0x42, 0x21, 0x12, 0x24]),\n },\n }),\n ),\n );\n const wallet = {} as Wallet;\n fromDefaultWalletMock.mockReturnValue(wallet);\n // when\n const result = await task.run();\n // then\n expect(fromDefaultWalletMock).toHaveBeenCalledWith(\n Uint8Array.from([0x42, 0x21, 0x12, 0x24]),\n \"xPublicKey\",\n defaultWallet,\n );\n expect(result).toStrictEqual(\n CommandResultFactory({\n data: wallet,\n }),\n );\n });\n\n it(\"should return a builded wallet from a registered one\", async () => {\n // given\n const registeredWallet = new RegisteredWallet(\n \"walletName\",\n DefaultDescriptorTemplate.LEGACY,\n [\"key0\", \"key1\"],\n Uint8Array.from([42]),\n );\n const task = new PrepareWalletPolicyTask(\n internalApi as unknown as InternalApi,\n { wallet: registeredWallet },\n walletBuilder,\n );\n internalApi.sendCommand.mockResolvedValueOnce(\n Promise.resolve(\n CommandResultFactory({\n data: {\n extendedPublicKey: \"xPublicKey\",\n },\n }),\n ),\n );\n internalApi.sendCommand.mockResolvedValueOnce(\n Promise.resolve(\n CommandResultFactory({\n data: {\n masterFingerprint: Uint8Array.from([0x42, 0x21, 0x12, 0x24]),\n },\n }),\n ),\n );\n const wallet = {} as Wallet;\n fromRegisteredWalletMock.mockReturnValue(wallet);\n // when\n const result = await task.run();\n // then\n expect(fromRegisteredWalletMock).toHaveBeenCalledWith(registeredWallet);\n expect(result).toStrictEqual(\n CommandResultFactory({\n data: wallet,\n }),\n );\n });\n\n it(\"should return an error if getMasterFingerprint failed\", async () => {\n // given\n const defaultWallet = new DefaultWallet(\n \"49'/0'/0'\",\n DefaultDescriptorTemplate.LEGACY,\n );\n const task = new PrepareWalletPolicyTask(\n internalApi as unknown as InternalApi,\n { wallet: defaultWallet },\n walletBuilder,\n );\n const error = new UnknownDeviceExchangeError(\"Failed\");\n internalApi.sendCommand.mockResolvedValueOnce(\n Promise.resolve(\n CommandResultFactory({\n error,\n }),\n ),\n );\n // when\n const result = await task.run();\n // then\n expect(result).toStrictEqual(CommandResultFactory({ error }));\n });\n\n it(\"should return an error if getExtendedPublicKey failed\", async () => {\n // given\n const defaultWallet = new DefaultWallet(\n \"49'/0'/0'\",\n DefaultDescriptorTemplate.LEGACY,\n );\n const task = new PrepareWalletPolicyTask(\n internalApi as unknown as InternalApi,\n { wallet: defaultWallet },\n walletBuilder,\n );\n const error = new UnknownDeviceExchangeError(\"Failed\");\n internalApi.sendCommand.mockResolvedValueOnce(\n Promise.resolve(\n CommandResultFactory({\n data: {\n masterFingerprint: Uint8Array.from([0x42, 0x21, 0x12, 0x24]),\n },\n }),\n ),\n );\n internalApi.sendCommand.mockResolvedValueOnce(\n Promise.resolve(\n CommandResultFactory({\n error,\n }),\n ),\n );\n // when\n const result = await task.run();\n // then\n expect(result).toStrictEqual(CommandResultFactory({ error }));\n expect(result).toStrictEqual(\n CommandResultFactory({\n error,\n }),\n );\n });\n});\n"],
|
|
5
|
+
"mappings": "aAAA,IAAAA,EAIO,2CAGPC,EAKO,6BACPC,EAAwC,6DAExC,MAAMC,EAAwB,GAAG,GAAG,EAC9BC,EAA2B,GAAG,GAAG,EAEvC,SAAS,0BAA2B,IAAM,CACxC,IAAIC,EACJ,MAAMC,EAAgB,CACpB,kBAAmBH,EACnB,qBAAsBC,CACxB,EACA,WAAW,IAAM,CACfC,EAAc,CACZ,YAAa,GAAG,GAAG,CACrB,CACF,CAAC,EACD,UAAU,IAAM,CACd,GAAG,cAAc,CACnB,CAAC,EAED,GAAG,oDAAqD,SAAY,CAElE,MAAME,EAAgB,IAAI,gBACxB,YACA,4BAA0B,MAC5B,EACMC,EAAO,IAAI,0BACfH,EACA,CAAE,OAAQE,CAAc,EACxBD,CACF,EACAD,EAAY,YAAY,sBACtB,QAAQ,WACN,wBAAqB,CACnB,KAAM,CACJ,kBAAmB,YACrB,CACF,CAAC,CACH,CACF,EACAA,EAAY,YAAY,sBACtB,QAAQ,WACN,wBAAqB,CACnB,KAAM,CACJ,kBAAmB,WAAW,KAAK,CAAC,GAAM,GAAM,GAAM,EAAI,CAAC,CAC7D,CACF,CAAC,CACH,CACF,EACA,MAAMI,EAAS,CAAC,EAChBN,EAAsB,gBAAgBM,CAAM,EAE5C,MAAMC,EAAS,MAAMF,EAAK,IAAI,EAE9B,OAAOL,CAAqB,EAAE,qBAC5B,WAAW,KAAK,CAAC,GAAM,GAAM,GAAM,EAAI,CAAC,EACxC,aACAI,CACF,EACA,OAAOG,CAAM,EAAE,iBACb,wBAAqB,CACnB,KAAMD,CACR,CAAC,CACH,CACF,CAAC,EAED,GAAG,uDAAwD,SAAY,CAErE,MAAME,EAAmB,IAAI,mBAC3B,aACA,4BAA0B,OAC1B,CAAC,OAAQ,MAAM,EACf,WAAW,KAAK,CAAC,EAAE,CAAC,CACtB,EACMH,EAAO,IAAI,0BACfH,EACA,CAAE,OAAQM,CAAiB,EAC3BL,CACF,EACAD,EAAY,YAAY,sBACtB,QAAQ,WACN,wBAAqB,CACnB,KAAM,CACJ,kBAAmB,YACrB,CACF,CAAC,CACH,CACF,EACAA,EAAY,YAAY,sBACtB,QAAQ,WACN,wBAAqB,CACnB,KAAM,CACJ,kBAAmB,WAAW,KAAK,CAAC,GAAM,GAAM,GAAM,EAAI,CAAC,CAC7D,CACF,CAAC,CACH,CACF,EACA,MAAMI,EAAS,CAAC,EAChBL,EAAyB,gBAAgBK,CAAM,EAE/C,MAAMC,EAAS,MAAMF,EAAK,IAAI,EAE9B,OAAOJ,CAAwB,EAAE,qBAAqBO,CAAgB,EACtE,OAAOD,CAAM,EAAE,iBACb,wBAAqB,CACnB,KAAMD,CACR,CAAC,CACH,CACF,CAAC,EAED,GAAG,wDAAyD,SAAY,CAEtE,MAAMF,EAAgB,IAAI,gBACxB,YACA,4BAA0B,MAC5B,EACMC,EAAO,IAAI,0BACfH,EACA,CAAE,OAAQE,CAAc,EACxBD,CACF,EACMM,EAAQ,IAAI,6BAA2B,QAAQ,EACrDP,EAAY,YAAY,sBACtB,QAAQ,WACN,wBAAqB,CACnB,MAAAO,CACF,CAAC,CACH,CACF,EAEA,MAAMF,EAAS,MAAMF,EAAK,IAAI,EAE9B,OAAOE,CAAM,EAAE,iBAAc,wBAAqB,CAAE,MAAAE,CAAM,CAAC,CAAC,CAC9D,CAAC,EAED,GAAG,wDAAyD,SAAY,CAEtE,MAAML,EAAgB,IAAI,gBACxB,YACA,4BAA0B,MAC5B,EACMC,EAAO,IAAI,0BACfH,EACA,CAAE,OAAQE,CAAc,EACxBD,CACF,EACMM,EAAQ,IAAI,6BAA2B,QAAQ,EACrDP,EAAY,YAAY,sBACtB,QAAQ,WACN,wBAAqB,CACnB,KAAM,CACJ,kBAAmB,WAAW,KAAK,CAAC,GAAM,GAAM,GAAM,EAAI,CAAC,CAC7D,CACF,CAAC,CACH,CACF,EACAA,EAAY,YAAY,sBACtB,QAAQ,WACN,wBAAqB,CACnB,MAAAO,CACF,CAAC,CACH,CACF,EAEA,MAAMF,EAAS,MAAMF,EAAK,IAAI,EAE9B,OAAOE,CAAM,EAAE,iBAAc,wBAAqB,CAAE,MAAAE,CAAM,CAAC,CAAC,EAC5D,OAAOF,CAAM,EAAE,iBACb,wBAAqB,CACnB,MAAAE,CACF,CAAC,CACH,CACF,CAAC,CACH,CAAC",
|
|
6
6
|
"names": ["import_device_management_kit", "import_Wallet", "import_PrepareWalletPolicyTask", "fromDefaultWalletMock", "fromRegisteredWalletMock", "internalApi", "walletBuilder", "defaultWallet", "task", "wallet", "result", "registeredWallet", "error"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("@ledgerhq/device-management-kit"),
|
|
1
|
+
"use strict";var e=require("@ledgerhq/device-management-kit"),o=require("../../app-binder/command/utils/constants"),u=require("../../data-store/model/DataStore"),s=require("./SignMessageTask");const f="a".repeat(o.CHUNK_SIZE),k="a".repeat(o.CHUNK_SIZE*2),i="44'/0'/0'/0/0",x=new Uint8Array(o.SHA256_SIZE).fill(1),d={v:27,r:"0x97a4ca8f694633592601f5a23e0bcc553c9d0a90d3a3422d575508a92898b96e",s:"0x6950d02e74e9c102c164a225533082cabdd890efc463f67f60cefe8c3f87cfce"},S=new Uint8Array([27,151,164,202,143,105,70,51,89,38,1,245,162,62,11,204,85,60,157,10,144,211,163,66,45,87,85,8,169,40,152,185,110,105,80,208,46,116,233,193,2,193,100,162,37,83,48,130,202,189,216,144,239,196,99,246,127,96,206,254,140,63,135,207,206]);describe("SignMessageTask",()=>{const l=(0,e.CommandResultFactory)({data:new e.ApduResponse({statusCode:new Uint8Array([144,0]),data:S})}),c={sendCommand:vi.fn()};afterEach(()=>{vi.resetAllMocks()}),describe("run",()=>{it("should correctly chunk a message that fits in 1 chunk",async()=>{const t={derivationPath:i,message:f},a={merklizeChunks:vi.fn().mockReturnValue(x)},n=()=>({run:vi.fn().mockReturnValue(l)}),r=await new s.SendSignMessageTask(c,t,a,n).run();expect(a.merklizeChunks).toHaveBeenCalledWith(expect.any(u.DataStore),[Uint8Array.from(new Array(64).fill(97))]),expect(r).toStrictEqual((0,e.CommandResultFactory)({data:d}))}),it("should correctly chunk a message that fits in 2 chunks",async()=>{const t={derivationPath:i,message:k},a={merklizeChunks:vi.fn().mockReturnValue(x)},n=()=>({run:vi.fn().mockReturnValue(l)}),r=await new s.SendSignMessageTask(c,t,a,n).run();expect(a.merklizeChunks).toHaveBeenCalledWith(expect.any(u.DataStore),[Uint8Array.from(new Array(64).fill(97)),Uint8Array.from(new Array(64).fill(97))]),expect(r).toStrictEqual((0,e.CommandResultFactory)({data:d}))}),it("should return an error if the initial SignMessageCommand fails",async()=>{const t={derivationPath:i,message:f},a=(0,e.CommandResultFactory)({error:new e.InvalidStatusWordError("error")}),n={merklizeChunks:vi.fn().mockReturnValue(x)},r=()=>({run:vi.fn().mockReturnValue(a)}),m=await new s.SendSignMessageTask(c,t,n,r).run();expect(m).toStrictEqual((0,e.CommandResultFactory)({error:new e.InvalidStatusWordError("error")}))})})});
|
|
2
2
|
//# sourceMappingURL=SignMessageTask.test.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/internal/app-binder/task/SignMessageTask.test.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n ApduResponse,\n CommandResultFactory,\n type InternalApi,\n InvalidStatusWordError,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { type Signature } from \"@api/model/Signature\";\nimport {\n CHUNK_SIZE,\n SHA256_SIZE,\n} from \"@internal/app-binder/command/utils/constants\";\nimport { type ContinueTask } from \"@internal/app-binder/task/ContinueTask\";\nimport { DataStore } from \"@internal/data-store/model/DataStore\";\nimport { type DataStoreService } from \"@internal/data-store/service/DataStoreService\";\n\nimport { SendSignMessageTask } from \"./SignMessageTask\";\n\nconst EXACT_ONE_CHUNK_MESSAGE = \"a\".repeat(CHUNK_SIZE);\nconst EXACT_TWO_CHUNKS_MESSAGE = \"a\".repeat(CHUNK_SIZE * 2);\nconst DERIVATION_PATH = \"44'/0'/0'/0/0\";\nconst MERKLE_ROOT = new Uint8Array(SHA256_SIZE).fill(0x01);\n\nconst SIGNATURE: Signature = {\n v: 27,\n r: \"0x97a4ca8f694633592601f5a23e0bcc553c9d0a90d3a3422d575508a92898b96e\",\n s: \"0x6950d02e74e9c102c164a225533082cabdd890efc463f67f60cefe8c3f87cfce\",\n};\n\nconst SIGNATURE_APDU = new Uint8Array([\n 0x1b, 0x97, 0xa4, 0xca, 0x8f, 0x69, 0x46, 0x33, 0x59, 0x26, 0x01, 0xf5, 0xa2,\n 0x3e, 0x0b, 0xcc, 0x55, 0x3c, 0x9d, 0x0a, 0x90, 0xd3, 0xa3, 0x42, 0x2d, 0x57,\n 0x55, 0x08, 0xa9, 0x28, 0x98, 0xb9, 0x6e, 0x69, 0x50, 0xd0, 0x2e, 0x74, 0xe9,\n 0xc1, 0x02, 0xc1, 0x64, 0xa2, 0x25, 0x53, 0x30, 0x82, 0xca, 0xbd, 0xd8, 0x90,\n 0xef, 0xc4, 0x63, 0xf6, 0x7f, 0x60, 0xce, 0xfe, 0x8c, 0x3f, 0x87, 0xcf, 0xce,\n]);\n\ndescribe(\"SignMessageTask\", () => {\n const signatureResult = CommandResultFactory<ApduResponse, void>({\n data: new ApduResponse({\n statusCode: new Uint8Array([0x90, 0x00]),\n data: SIGNATURE_APDU,\n }),\n });\n const apiMock = {\n sendCommand:
|
|
5
|
-
"mappings": "aAAA,IAAAA,EAKO,2CAGPC,EAGO,wDAEPC,EAA0B,gDAG1BC,EAAoC,6BAEpC,MAAMC,EAA0B,IAAI,OAAO,YAAU,EAC/CC,EAA2B,IAAI,OAAO,aAAa,CAAC,EACpDC,EAAkB,gBAClBC,EAAc,IAAI,WAAW,aAAW,EAAE,KAAK,CAAI,EAEnDC,EAAuB,CAC3B,EAAG,GACH,EAAG,qEACH,EAAG,oEACL,EAEMC,EAAiB,IAAI,WAAW,CACpC,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,GAAM,GAAM,EAAM,IAAM,IACxE,GAAM,GAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,GAAM,GACxE,GAAM,EAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IACxE,IAAM,EAAM,IAAM,IAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IACxE,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAC1E,CAAC,EAED,SAAS,kBAAmB,IAAM,CAChC,MAAMC,KAAkB,wBAAyC,CAC/D,KAAM,IAAI,eAAa,CACrB,WAAY,IAAI,WAAW,CAAC,IAAM,CAAI,CAAC,EACvC,KAAMD,CACR,CAAC,CACH,CAAC,EACKE,EAAU,CACd,YAAa,
|
|
4
|
+
"sourcesContent": ["import {\n ApduResponse,\n CommandResultFactory,\n type InternalApi,\n InvalidStatusWordError,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { type Signature } from \"@api/model/Signature\";\nimport {\n CHUNK_SIZE,\n SHA256_SIZE,\n} from \"@internal/app-binder/command/utils/constants\";\nimport { type ContinueTask } from \"@internal/app-binder/task/ContinueTask\";\nimport { DataStore } from \"@internal/data-store/model/DataStore\";\nimport { type DataStoreService } from \"@internal/data-store/service/DataStoreService\";\n\nimport { SendSignMessageTask } from \"./SignMessageTask\";\n\nconst EXACT_ONE_CHUNK_MESSAGE = \"a\".repeat(CHUNK_SIZE);\nconst EXACT_TWO_CHUNKS_MESSAGE = \"a\".repeat(CHUNK_SIZE * 2);\nconst DERIVATION_PATH = \"44'/0'/0'/0/0\";\nconst MERKLE_ROOT = new Uint8Array(SHA256_SIZE).fill(0x01);\n\nconst SIGNATURE: Signature = {\n v: 27,\n r: \"0x97a4ca8f694633592601f5a23e0bcc553c9d0a90d3a3422d575508a92898b96e\",\n s: \"0x6950d02e74e9c102c164a225533082cabdd890efc463f67f60cefe8c3f87cfce\",\n};\n\nconst SIGNATURE_APDU = new Uint8Array([\n 0x1b, 0x97, 0xa4, 0xca, 0x8f, 0x69, 0x46, 0x33, 0x59, 0x26, 0x01, 0xf5, 0xa2,\n 0x3e, 0x0b, 0xcc, 0x55, 0x3c, 0x9d, 0x0a, 0x90, 0xd3, 0xa3, 0x42, 0x2d, 0x57,\n 0x55, 0x08, 0xa9, 0x28, 0x98, 0xb9, 0x6e, 0x69, 0x50, 0xd0, 0x2e, 0x74, 0xe9,\n 0xc1, 0x02, 0xc1, 0x64, 0xa2, 0x25, 0x53, 0x30, 0x82, 0xca, 0xbd, 0xd8, 0x90,\n 0xef, 0xc4, 0x63, 0xf6, 0x7f, 0x60, 0xce, 0xfe, 0x8c, 0x3f, 0x87, 0xcf, 0xce,\n]);\n\ndescribe(\"SignMessageTask\", () => {\n const signatureResult = CommandResultFactory<ApduResponse, void>({\n data: new ApduResponse({\n statusCode: new Uint8Array([0x90, 0x00]),\n data: SIGNATURE_APDU,\n }),\n });\n const apiMock = {\n sendCommand: vi.fn(),\n } as unknown as InternalApi;\n\n afterEach(() => {\n vi.resetAllMocks();\n });\n\n describe(\"run\", () => {\n it(\"should correctly chunk a message that fits in 1 chunk\", async () => {\n // GIVEN\n const args = {\n derivationPath: DERIVATION_PATH,\n message: EXACT_ONE_CHUNK_MESSAGE,\n };\n\n const dataStoreService = {\n merklizeChunks: vi.fn().mockReturnValue(MERKLE_ROOT),\n } as unknown as DataStoreService;\n\n const continueTaskFactory = () =>\n ({\n run: vi.fn().mockReturnValue(signatureResult),\n }) as unknown as ContinueTask;\n\n // WHEN\n const result = await new SendSignMessageTask(\n apiMock,\n args,\n dataStoreService,\n continueTaskFactory,\n ).run();\n\n // THEN\n expect(dataStoreService.merklizeChunks).toHaveBeenCalledWith(\n expect.any(DataStore),\n [Uint8Array.from(new Array(64).fill(0x61))],\n );\n expect(result).toStrictEqual(CommandResultFactory({ data: SIGNATURE }));\n });\n\n it(\"should correctly chunk a message that fits in 2 chunks\", async () => {\n // GIVEN\n const args = {\n derivationPath: DERIVATION_PATH,\n message: EXACT_TWO_CHUNKS_MESSAGE,\n };\n\n const dataStoreService = {\n merklizeChunks: vi.fn().mockReturnValue(MERKLE_ROOT),\n } as unknown as DataStoreService;\n\n const continueTaskFactory = () =>\n ({\n run: vi.fn().mockReturnValue(signatureResult),\n }) as unknown as ContinueTask;\n\n // WHEN\n const result = await new SendSignMessageTask(\n apiMock,\n args,\n dataStoreService,\n continueTaskFactory,\n ).run();\n\n // THEN\n expect(dataStoreService.merklizeChunks).toHaveBeenCalledWith(\n expect.any(DataStore),\n [\n Uint8Array.from(new Array(64).fill(0x61)),\n Uint8Array.from(new Array(64).fill(0x61)),\n ],\n );\n expect(result).toStrictEqual(CommandResultFactory({ data: SIGNATURE }));\n });\n\n it(\"should return an error if the initial SignMessageCommand fails\", async () => {\n // GIVEN\n const args = {\n derivationPath: DERIVATION_PATH,\n message: EXACT_ONE_CHUNK_MESSAGE,\n };\n\n const resultError = CommandResultFactory<Signature, void>({\n error: new InvalidStatusWordError(\"error\"),\n });\n const dataStoreService = {\n merklizeChunks: vi.fn().mockReturnValue(MERKLE_ROOT),\n } as unknown as DataStoreService;\n\n const continueTaskFactory = () =>\n ({\n run: vi.fn().mockReturnValue(resultError),\n }) as unknown as ContinueTask;\n\n // WHEN\n const result = await new SendSignMessageTask(\n apiMock,\n args,\n dataStoreService,\n continueTaskFactory,\n ).run();\n\n // THEN\n expect(result).toStrictEqual(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"error\"),\n }),\n );\n });\n });\n});\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["import_device_management_kit", "import_constants", "import_DataStore", "import_SignMessageTask", "EXACT_ONE_CHUNK_MESSAGE", "EXACT_TWO_CHUNKS_MESSAGE", "DERIVATION_PATH", "MERKLE_ROOT", "SIGNATURE", "SIGNATURE_APDU", "signatureResult", "apiMock", "args", "dataStoreService", "continueTaskFactory", "result", "resultError"]
|
|
7
7
|
}
|