@ledgerhq/device-signer-kit-bitcoin 1.0.0 → 1.0.1
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/service/psbt/DefaultPsbtMapper.test.js +1 -1
- package/lib/cjs/internal/psbt/service/psbt/DefaultPsbtMapper.test.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.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/service/psbt/DefaultPsbtMapper.test.js +1 -1
- package/lib/esm/internal/psbt/service/psbt/DefaultPsbtMapper.test.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.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,2 +1,2 @@
|
|
|
1
|
-
"use strict";var x=require("@ledgerhq/device-management-kit"),e=require("purify-ts"),m=require("../../app-binder/command/SignPsbtCommand"),c=require("../../app-binder/task/SignPsbtTask");const l=Uint8Array.from([0,32,241,232,66,68,127,174,123,28,110,183,168,167,133,247,118,250,25,169,58,185,108,193,238,238,233,71,193,113,19,56,95,95,18,77,99,92,242,82,174,38,166,123,226,119,113,46,173,7,180,72,150,223,176,22,252,157,3,163,233,34,189,154,1,102,60,89,89,65,19,229,113,0,6,61,157,204,215,143,179,147,130,219,248,10,143,17,80,253,89,217,254,183,158,37,59,210]),b=Uint8Array.from([255,254,255,255,255,0,0,0,0,0,232,66,68,127,174,123,28,110,183,168,167,133,247,118,250,25,169,58,185,108,193,238,238,233,71,193,113,19,56,95,95,18,77,99,92,242,82,174,38,166,123,226,119,113,46,173,7,180,72,150,223,176,22,252,157,3,163,233,34,189,154,1,102,60,89,89,65,19,229,113,0,6,61,157,204,215,143,179,147,130,219,248,10,143,17,80,253,89,217,254,183,158,37,59,210,254,238,51,77,99,92,242,82,174,38,166,123,226,119,113,46,173,7,180,72,150,223,176,22,252,157,3,163,233,34,189,154,1,102,60]),u=Uint8Array.from([255,255,255,255,255,0,0,0,0,0,232,66,68,127,174,123,28,110,183,168,167,133,247,118,250,25,169,58,185,108,193,238,238,233,71,193,113,19,56,95,95,18,77,99,92,242,82,174,38,166,123,226,119,113,46,173,7,180,72,150,223,176,22,252,157,3,163,233,34,189,154,1,102,60,89,1,77,99,92,242,82,174,38,166,123,226,119,113,46,173,7,180,72,150,223,176,22,252,157,3,163,233,34,189,154,1,102,60,89,89,65,19,229,113,0,6,61,157,204,215,143,179,147,130,219,248,10,143,17,80,253,89,217,254,183,158,37,59,210,254,238,51,77,99,92,242,82,174,38,166,123,226,119,113,46,173,7,180,72,150,223,176,22,252,157,3,163,233,34,189,154,1,102,60]);describe("SignPsbtTask",()=>{describe("run",()=>{it("should return partial signatures",async()=>{const a={sendCommand:
|
|
1
|
+
"use strict";var x=require("@ledgerhq/device-management-kit"),e=require("purify-ts"),m=require("../../app-binder/command/SignPsbtCommand"),c=require("../../app-binder/task/SignPsbtTask");const l=Uint8Array.from([0,32,241,232,66,68,127,174,123,28,110,183,168,167,133,247,118,250,25,169,58,185,108,193,238,238,233,71,193,113,19,56,95,95,18,77,99,92,242,82,174,38,166,123,226,119,113,46,173,7,180,72,150,223,176,22,252,157,3,163,233,34,189,154,1,102,60,89,89,65,19,229,113,0,6,61,157,204,215,143,179,147,130,219,248,10,143,17,80,253,89,217,254,183,158,37,59,210]),b=Uint8Array.from([255,254,255,255,255,0,0,0,0,0,232,66,68,127,174,123,28,110,183,168,167,133,247,118,250,25,169,58,185,108,193,238,238,233,71,193,113,19,56,95,95,18,77,99,92,242,82,174,38,166,123,226,119,113,46,173,7,180,72,150,223,176,22,252,157,3,163,233,34,189,154,1,102,60,89,89,65,19,229,113,0,6,61,157,204,215,143,179,147,130,219,248,10,143,17,80,253,89,217,254,183,158,37,59,210,254,238,51,77,99,92,242,82,174,38,166,123,226,119,113,46,173,7,180,72,150,223,176,22,252,157,3,163,233,34,189,154,1,102,60]),u=Uint8Array.from([255,255,255,255,255,0,0,0,0,0,232,66,68,127,174,123,28,110,183,168,167,133,247,118,250,25,169,58,185,108,193,238,238,233,71,193,113,19,56,95,95,18,77,99,92,242,82,174,38,166,123,226,119,113,46,173,7,180,72,150,223,176,22,252,157,3,163,233,34,189,154,1,102,60,89,1,77,99,92,242,82,174,38,166,123,226,119,113,46,173,7,180,72,150,223,176,22,252,157,3,163,233,34,189,154,1,102,60,89,89,65,19,229,113,0,6,61,157,204,215,143,179,147,130,219,248,10,143,17,80,253,89,217,254,183,158,37,59,210,254,238,51,77,99,92,242,82,174,38,166,123,226,119,113,46,173,7,180,72,150,223,176,22,252,157,3,163,233,34,189,154,1,102,60]);describe("SignPsbtTask",()=>{describe("run",()=>{it("should return partial signatures",async()=>{const a={sendCommand:vi.fn()},t={getGlobalValue:()=>e.Maybe.of(Uint8Array.from([3]))},n={hmac:Uint8Array.from([4])},r={globalCommitment:Uint8Array.from([3]),inputsRoot:Uint8Array.from([1]),outputsRoot:Uint8Array.from([2])},o={},f={getId:vi.fn(()=>Uint8Array.from([5]))},s={getVarint:vi.fn(()=>e.Maybe.of(42))},i=()=>({run:vi.fn().mockResolvedValue((0,x.CommandResultFactory)({data:[]})),getYieldedResults:()=>[l]}),d=await new c.SignPsbtTask(a,{psbt:t,wallet:n,psbtCommitment:r,dataStore:o},f,s,i).run();expect(a.sendCommand).toHaveBeenCalledWith(new m.SignPsbtCommand({globalCommitment:Uint8Array.from([3]),inputsCount:42,inputsRoot:Uint8Array.from([1]),outputsCount:42,outputsRoot:Uint8Array.from([2]),walletId:Uint8Array.from([5]),walletHmac:Uint8Array.from([4])})),expect(d).toStrictEqual((0,x.CommandResultFactory)({data:[{inputIndex:0,pubkey:Uint8Array.from([241,232,66,68,127,174,123,28,110,183,168,167,133,247,118,250,25,169,58,185,108,193,238,238,233,71,193,113,19,56,95,95]),signature:Uint8Array.from([18,77,99,92,242,82,174,38,166,123,226,119,113,46,173,7,180,72,150,223,176,22,252,157,3,163,233,34,189,154,1,102,60,89,89,65,19,229,113,0,6,61,157,204,215,143,179,147,130,219,248,10,143,17,80,253,89,217,254,183,158,37,59,210])}]}))}),it("should return musig partial signatures",async()=>{const a={sendCommand:vi.fn()},t={getGlobalValue:()=>e.Maybe.of(Uint8Array.from([3]))},n={hmac:Uint8Array.from([4])},r={globalCommitment:Uint8Array.from([3]),inputsRoot:Uint8Array.from([1]),outputsRoot:Uint8Array.from([2])},o={},f={getId:vi.fn(()=>Uint8Array.from([5]))},s={getVarint:vi.fn(()=>e.Maybe.of(42))},i=()=>({run:vi.fn().mockResolvedValue((0,x.CommandResultFactory)({data:[]})),getYieldedResults:()=>[b]}),d=await new c.SignPsbtTask(a,{psbt:t,wallet:n,psbtCommitment:r,dataStore:o},f,s,i).run();expect(a.sendCommand).toHaveBeenCalledWith(new m.SignPsbtCommand({globalCommitment:Uint8Array.from([3]),inputsCount:42,inputsRoot:Uint8Array.from([1]),outputsCount:42,outputsRoot:Uint8Array.from([2]),walletId:Uint8Array.from([5]),walletHmac:Uint8Array.from([4])})),expect(d).toStrictEqual((0,x.CommandResultFactory)({data:[{inputIndex:0,partialSignature:Uint8Array.from([232,66,68,127,174,123,28,110,183,168,167,133,247,118,250,25,169,58,185,108,193,238,238,233,71,193,113,19,56,95,95,18]),participantPubkey:Uint8Array.from([77,99,92,242,82,174,38,166,123,226,119,113,46,173,7,180,72,150,223,176,22,252,157,3,163,233,34,189,154,1,102,60,89]),aggregatedPubkey:Uint8Array.from([89,65,19,229,113,0,6,61,157,204,215,143,179,147,130,219,248,10,143,17,80,253,89,217,254,183,158,37,59,210,254,238,51]),tapleafHash:Uint8Array.from([77,99,92,242,82,174,38,166,123,226,119,113,46,173,7,180,72,150,223,176,22,252,157,3,163,233,34,189,154,1,102,60])}]}))}),it("should return musig pub nonce",async()=>{const a={sendCommand:vi.fn()},t={getGlobalValue:()=>e.Maybe.of(Uint8Array.from([3]))},n={hmac:Uint8Array.from([4])},r={globalCommitment:Uint8Array.from([3]),inputsRoot:Uint8Array.from([1]),outputsRoot:Uint8Array.from([2])},o={},f={getId:vi.fn(()=>Uint8Array.from([5]))},s={getVarint:vi.fn(()=>e.Maybe.of(42))},i=()=>({run:vi.fn().mockResolvedValue((0,x.CommandResultFactory)({data:[]})),getYieldedResults:()=>[u]}),d=await new c.SignPsbtTask(a,{psbt:t,wallet:n,psbtCommitment:r,dataStore:o},f,s,i).run();expect(a.sendCommand).toHaveBeenCalledWith(new m.SignPsbtCommand({globalCommitment:Uint8Array.from([3]),inputsCount:42,inputsRoot:Uint8Array.from([1]),outputsCount:42,outputsRoot:Uint8Array.from([2]),walletId:Uint8Array.from([5]),walletHmac:Uint8Array.from([4])})),expect(d).toStrictEqual((0,x.CommandResultFactory)({data:[{inputIndex:0,pubnonce:Uint8Array.from([232,66,68,127,174,123,28,110,183,168,167,133,247,118,250,25,169,58,185,108,193,238,238,233,71,193,113,19,56,95,95,18,77,99,92,242,82,174,38,166,123,226,119,113,46,173,7,180,72,150,223,176,22,252,157,3,163,233,34,189,154,1,102,60,89,1]),participantPubkey:Uint8Array.from([77,99,92,242,82,174,38,166,123,226,119,113,46,173,7,180,72,150,223,176,22,252,157,3,163,233,34,189,154,1,102,60,89]),aggregatedPubkey:Uint8Array.from([89,65,19,229,113,0,6,61,157,204,215,143,179,147,130,219,248,10,143,17,80,253,89,217,254,183,158,37,59,210,254,238,51]),tapleafHash:Uint8Array.from([77,99,92,242,82,174,38,166,123,226,119,113,46,173,7,180,72,150,223,176,22,252,157,3,163,233,34,189,154,1,102,60])}]}))})}),describe("errors",()=>{it("should return an error if continue task fails",async()=>{const a={sendCommand:vi.fn()},t={getGlobalValue:vi.fn(()=>e.Nothing)},n={},r={},o={},f={getId:vi.fn(()=>Uint8Array.from([5]))},s={getVarint:vi.fn(()=>e.Maybe.of(42))},i=()=>({run:vi.fn().mockResolvedValue((0,x.CommandResultFactory)({error:new x.UnknownDeviceExchangeError("Failed")}))}),d=await new c.SignPsbtTask(a,{psbt:t,wallet:n,psbtCommitment:r,dataStore:o},f,s,i).run();expect(d).toStrictEqual((0,x.CommandResultFactory)({error:new x.UnknownDeviceExchangeError("Failed")}))})})});
|
|
2
2
|
//# sourceMappingURL=SignPsbtTask.test.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/internal/app-binder/task/SignPsbtTask.test.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n CommandResultFactory,\n type InternalApi,\n UnknownDeviceExchangeError,\n} from \"@ledgerhq/device-management-kit\";\nimport { Maybe, Nothing } from \"purify-ts\";\n\nimport { SignPsbtCommand } from \"@internal/app-binder/command/SignPsbtCommand\";\nimport { type ContinueTask } from \"@internal/app-binder/task/ContinueTask\";\nimport { SignPsbtTask } from \"@internal/app-binder/task/SignPsbtTask\";\nimport { type DataStore } from \"@internal/data-store/model/DataStore\";\nimport type { PsbtCommitment } from \"@internal/data-store/service/DataStoreService\";\nimport { type Psbt } from \"@internal/psbt/model/Psbt\";\nimport { type ValueParser } from \"@internal/psbt/service/value/ValueParser\";\nimport { type Wallet } from \"@internal/wallet/model/Wallet\";\nimport { type WalletSerializer } from \"@internal/wallet/service/WalletSerializer\";\n\nconst SIGN_PSBT_YIELD_PARIAL_SIG_RESULT = Uint8Array.from([\n 0x00, 0x20, 0xf1, 0xe8, 0x42, 0x44, 0x7f, 0xae, 0x7b, 0x1c, 0x6e, 0xb7, 0xa8,\n 0xa7, 0x85, 0xf7, 0x76, 0xfa, 0x19, 0xa9, 0x3a, 0xb9, 0x6c, 0xc1, 0xee, 0xee,\n 0xe9, 0x47, 0xc1, 0x71, 0x13, 0x38, 0x5f, 0x5f, 0x12, 0x4d, 0x63, 0x5c, 0xf2,\n 0x52, 0xae, 0x26, 0xa6, 0x7b, 0xe2, 0x77, 0x71, 0x2e, 0xad, 0x07, 0xb4, 0x48,\n 0x96, 0xdf, 0xb0, 0x16, 0xfc, 0x9d, 0x03, 0xa3, 0xe9, 0x22, 0xbd, 0x9a, 0x01,\n 0x66, 0x3c, 0x59, 0x59, 0x41, 0x13, 0xe5, 0x71, 0x00, 0x06, 0x3d, 0x9d, 0xcc,\n 0xd7, 0x8f, 0xb3, 0x93, 0x82, 0xdb, 0xf8, 0x0a, 0x8f, 0x11, 0x50, 0xfd, 0x59,\n 0xd9, 0xfe, 0xb7, 0x9e, 0x25, 0x3b, 0xd2,\n]);\n\nconst SIGN_PSBT_YIELD_MUSIG_PARIAL_SIG_RESULT = Uint8Array.from([\n 0xff, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe8, 0x42, 0x44,\n 0x7f, 0xae, 0x7b, 0x1c, 0x6e, 0xb7, 0xa8, 0xa7, 0x85, 0xf7, 0x76, 0xfa, 0x19,\n 0xa9, 0x3a, 0xb9, 0x6c, 0xc1, 0xee, 0xee, 0xe9, 0x47, 0xc1, 0x71, 0x13, 0x38,\n 0x5f, 0x5f, 0x12, 0x4d, 0x63, 0x5c, 0xf2, 0x52, 0xae, 0x26, 0xa6, 0x7b, 0xe2,\n 0x77, 0x71, 0x2e, 0xad, 0x07, 0xb4, 0x48, 0x96, 0xdf, 0xb0, 0x16, 0xfc, 0x9d,\n 0x03, 0xa3, 0xe9, 0x22, 0xbd, 0x9a, 0x01, 0x66, 0x3c, 0x59, 0x59, 0x41, 0x13,\n 0xe5, 0x71, 0x00, 0x06, 0x3d, 0x9d, 0xcc, 0xd7, 0x8f, 0xb3, 0x93, 0x82, 0xdb,\n 0xf8, 0x0a, 0x8f, 0x11, 0x50, 0xfd, 0x59, 0xd9, 0xfe, 0xb7, 0x9e, 0x25, 0x3b,\n 0xd2, 0xfe, 0xee, 0x33, 0x4d, 0x63, 0x5c, 0xf2, 0x52, 0xae, 0x26, 0xa6, 0x7b,\n 0xe2, 0x77, 0x71, 0x2e, 0xad, 0x07, 0xb4, 0x48, 0x96, 0xdf, 0xb0, 0x16, 0xfc,\n 0x9d, 0x03, 0xa3, 0xe9, 0x22, 0xbd, 0x9a, 0x01, 0x66, 0x3c,\n]);\n\nconst SIGN_PSBT_YIELD_MUSIG_PUB_NONCE_RESULT = Uint8Array.from([\n 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe8, 0x42, 0x44,\n 0x7f, 0xae, 0x7b, 0x1c, 0x6e, 0xb7, 0xa8, 0xa7, 0x85, 0xf7, 0x76, 0xfa, 0x19,\n 0xa9, 0x3a, 0xb9, 0x6c, 0xc1, 0xee, 0xee, 0xe9, 0x47, 0xc1, 0x71, 0x13, 0x38,\n 0x5f, 0x5f, 0x12, 0x4d, 0x63, 0x5c, 0xf2, 0x52, 0xae, 0x26, 0xa6, 0x7b, 0xe2,\n 0x77, 0x71, 0x2e, 0xad, 0x07, 0xb4, 0x48, 0x96, 0xdf, 0xb0, 0x16, 0xfc, 0x9d,\n 0x03, 0xa3, 0xe9, 0x22, 0xbd, 0x9a, 0x01, 0x66, 0x3c, 0x59, 0x01, 0x4d, 0x63,\n 0x5c, 0xf2, 0x52, 0xae, 0x26, 0xa6, 0x7b, 0xe2, 0x77, 0x71, 0x2e, 0xad, 0x07,\n 0xb4, 0x48, 0x96, 0xdf, 0xb0, 0x16, 0xfc, 0x9d, 0x03, 0xa3, 0xe9, 0x22, 0xbd,\n 0x9a, 0x01, 0x66, 0x3c, 0x59, 0x59, 0x41, 0x13, 0xe5, 0x71, 0x00, 0x06, 0x3d,\n 0x9d, 0xcc, 0xd7, 0x8f, 0xb3, 0x93, 0x82, 0xdb, 0xf8, 0x0a, 0x8f, 0x11, 0x50,\n 0xfd, 0x59, 0xd9, 0xfe, 0xb7, 0x9e, 0x25, 0x3b, 0xd2, 0xfe, 0xee, 0x33, 0x4d,\n 0x63, 0x5c, 0xf2, 0x52, 0xae, 0x26, 0xa6, 0x7b, 0xe2, 0x77, 0x71, 0x2e, 0xad,\n 0x07, 0xb4, 0x48, 0x96, 0xdf, 0xb0, 0x16, 0xfc, 0x9d, 0x03, 0xa3, 0xe9, 0x22,\n 0xbd, 0x9a, 0x01, 0x66, 0x3c,\n]);\n\ndescribe(\"SignPsbtTask\", () => {\n describe(\"run\", () => {\n it(\"should return partial signatures\", async () => {\n // given\n const api = {\n sendCommand: jest.fn(),\n } as unknown as InternalApi;\n const psbt = {\n getGlobalValue: () => Maybe.of(Uint8Array.from([0x03])),\n } as unknown as Psbt;\n const wallet = {\n hmac: Uint8Array.from([0x04]),\n } as Wallet;\n const psbtCommitment = {\n globalCommitment: Uint8Array.from([0x03]),\n inputsRoot: Uint8Array.from([0x01]),\n outputsRoot: Uint8Array.from([0x02]),\n } as PsbtCommitment;\n const dataStore = {} as DataStore;\n const walletSerializer = {\n getId: jest.fn(() => Uint8Array.from([0x05])),\n } as unknown as WalletSerializer;\n const valueParser = {\n getVarint: jest.fn(() => Maybe.of(42)),\n } as unknown as ValueParser;\n const continueTaskFactory = () =>\n ({\n run: jest.fn().mockResolvedValue(\n CommandResultFactory({\n data: [],\n }),\n ),\n getYieldedResults: () => [SIGN_PSBT_YIELD_PARIAL_SIG_RESULT],\n }) as unknown as ContinueTask;\n\n // when\n const signatures = await new SignPsbtTask(\n api,\n {\n psbt,\n wallet,\n psbtCommitment,\n dataStore,\n },\n walletSerializer,\n valueParser,\n continueTaskFactory,\n ).run();\n // then\n expect(api.sendCommand).toHaveBeenCalledWith(\n new SignPsbtCommand({\n globalCommitment: Uint8Array.from([0x03]),\n inputsCount: 42,\n inputsRoot: Uint8Array.from([0x01]),\n outputsCount: 42,\n outputsRoot: Uint8Array.from([0x02]),\n walletId: Uint8Array.from([0x05]),\n walletHmac: Uint8Array.from([0x04]),\n }),\n );\n expect(signatures).toStrictEqual(\n CommandResultFactory({\n data: [\n {\n inputIndex: 0,\n pubkey: Uint8Array.from([\n 0xf1, 0xe8, 0x42, 0x44, 0x7f, 0xae, 0x7b, 0x1c, 0x6e, 0xb7,\n 0xa8, 0xa7, 0x85, 0xf7, 0x76, 0xfa, 0x19, 0xa9, 0x3a, 0xb9,\n 0x6c, 0xc1, 0xee, 0xee, 0xe9, 0x47, 0xc1, 0x71, 0x13, 0x38,\n 0x5f, 0x5f,\n ]),\n signature: Uint8Array.from([\n 0x12, 0x4d, 0x63, 0x5c, 0xf2, 0x52, 0xae, 0x26, 0xa6, 0x7b,\n 0xe2, 0x77, 0x71, 0x2e, 0xad, 0x07, 0xb4, 0x48, 0x96, 0xdf,\n 0xb0, 0x16, 0xfc, 0x9d, 0x03, 0xa3, 0xe9, 0x22, 0xbd, 0x9a,\n 0x01, 0x66, 0x3c, 0x59, 0x59, 0x41, 0x13, 0xe5, 0x71, 0x00,\n 0x06, 0x3d, 0x9d, 0xcc, 0xd7, 0x8f, 0xb3, 0x93, 0x82, 0xdb,\n 0xf8, 0x0a, 0x8f, 0x11, 0x50, 0xfd, 0x59, 0xd9, 0xfe, 0xb7,\n 0x9e, 0x25, 0x3b, 0xd2,\n ]),\n },\n ],\n }),\n );\n });\n it(\"should return musig partial signatures\", async () => {\n // given\n const api = {\n sendCommand: jest.fn(),\n } as unknown as InternalApi;\n const psbt = {\n getGlobalValue: () => Maybe.of(Uint8Array.from([0x03])),\n } as unknown as Psbt;\n const wallet = {\n hmac: Uint8Array.from([0x04]),\n } as Wallet;\n const psbtCommitment = {\n globalCommitment: Uint8Array.from([0x03]),\n inputsRoot: Uint8Array.from([0x01]),\n outputsRoot: Uint8Array.from([0x02]),\n } as PsbtCommitment;\n const dataStore = {} as DataStore;\n const walletSerializer = {\n getId: jest.fn(() => Uint8Array.from([0x05])),\n } as unknown as WalletSerializer;\n const valueParser = {\n getVarint: jest.fn(() => Maybe.of(42)),\n } as unknown as ValueParser;\n const continueTaskFactory = () =>\n ({\n run: jest.fn().mockResolvedValue(\n CommandResultFactory({\n data: [],\n }),\n ),\n getYieldedResults: () => [SIGN_PSBT_YIELD_MUSIG_PARIAL_SIG_RESULT],\n }) as unknown as ContinueTask;\n\n // when\n const signatures = await new SignPsbtTask(\n api,\n {\n psbt,\n wallet,\n psbtCommitment,\n dataStore,\n },\n walletSerializer,\n valueParser,\n continueTaskFactory,\n ).run();\n // then\n expect(api.sendCommand).toHaveBeenCalledWith(\n new SignPsbtCommand({\n globalCommitment: Uint8Array.from([0x03]),\n inputsCount: 42,\n inputsRoot: Uint8Array.from([0x01]),\n outputsCount: 42,\n outputsRoot: Uint8Array.from([0x02]),\n walletId: Uint8Array.from([0x05]),\n walletHmac: Uint8Array.from([0x04]),\n }),\n );\n expect(signatures).toStrictEqual(\n CommandResultFactory({\n data: [\n {\n inputIndex: 0,\n partialSignature: Uint8Array.from([\n 0xe8, 0x42, 0x44, 0x7f, 0xae, 0x7b, 0x1c, 0x6e, 0xb7, 0xa8,\n 0xa7, 0x85, 0xf7, 0x76, 0xfa, 0x19, 0xa9, 0x3a, 0xb9, 0x6c,\n 0xc1, 0xee, 0xee, 0xe9, 0x47, 0xc1, 0x71, 0x13, 0x38, 0x5f,\n 0x5f, 0x12,\n ]),\n participantPubkey: Uint8Array.from([\n 0x4d, 0x63, 0x5c, 0xf2, 0x52, 0xae, 0x26, 0xa6, 0x7b, 0xe2,\n 0x77, 0x71, 0x2e, 0xad, 0x07, 0xb4, 0x48, 0x96, 0xdf, 0xb0,\n 0x16, 0xfc, 0x9d, 0x03, 0xa3, 0xe9, 0x22, 0xbd, 0x9a, 0x01,\n 0x66, 0x3c, 0x59,\n ]),\n aggregatedPubkey: Uint8Array.from([\n 0x59, 0x41, 0x13, 0xe5, 0x71, 0x00, 0x06, 0x3d, 0x9d, 0xcc,\n 0xd7, 0x8f, 0xb3, 0x93, 0x82, 0xdb, 0xf8, 0x0a, 0x8f, 0x11,\n 0x50, 0xfd, 0x59, 0xd9, 0xfe, 0xb7, 0x9e, 0x25, 0x3b, 0xd2,\n 0xfe, 0xee, 0x33,\n ]),\n tapleafHash: Uint8Array.from([\n 0x4d, 0x63, 0x5c, 0xf2, 0x52, 0xae, 0x26, 0xa6, 0x7b, 0xe2,\n 0x77, 0x71, 0x2e, 0xad, 0x07, 0xb4, 0x48, 0x96, 0xdf, 0xb0,\n 0x16, 0xfc, 0x9d, 0x03, 0xa3, 0xe9, 0x22, 0xbd, 0x9a, 0x01,\n 0x66, 0x3c,\n ]),\n },\n ],\n }),\n );\n });\n it(\"should return musig pub nonce\", async () => {\n // given\n const api = {\n sendCommand: jest.fn(),\n } as unknown as InternalApi;\n const psbt = {\n getGlobalValue: () => Maybe.of(Uint8Array.from([0x03])),\n } as unknown as Psbt;\n const wallet = {\n hmac: Uint8Array.from([0x04]),\n } as Wallet;\n const psbtCommitment = {\n globalCommitment: Uint8Array.from([0x03]),\n inputsRoot: Uint8Array.from([0x01]),\n outputsRoot: Uint8Array.from([0x02]),\n } as PsbtCommitment;\n const dataStore = {} as DataStore;\n const walletSerializer = {\n getId: jest.fn(() => Uint8Array.from([0x05])),\n } as unknown as WalletSerializer;\n const valueParser = {\n getVarint: jest.fn(() => Maybe.of(42)),\n } as unknown as ValueParser;\n const continueTaskFactory = () =>\n ({\n run: jest.fn().mockResolvedValue(\n CommandResultFactory({\n data: [],\n }),\n ),\n getYieldedResults: () => [SIGN_PSBT_YIELD_MUSIG_PUB_NONCE_RESULT],\n }) as unknown as ContinueTask;\n\n // when\n const signatures = await new SignPsbtTask(\n api,\n {\n psbt,\n wallet,\n psbtCommitment,\n dataStore,\n },\n walletSerializer,\n valueParser,\n continueTaskFactory,\n ).run();\n // then\n expect(api.sendCommand).toHaveBeenCalledWith(\n new SignPsbtCommand({\n globalCommitment: Uint8Array.from([0x03]),\n inputsCount: 42,\n inputsRoot: Uint8Array.from([0x01]),\n outputsCount: 42,\n outputsRoot: Uint8Array.from([0x02]),\n walletId: Uint8Array.from([0x05]),\n walletHmac: Uint8Array.from([0x04]),\n }),\n );\n expect(signatures).toStrictEqual(\n CommandResultFactory({\n data: [\n {\n inputIndex: 0,\n pubnonce: Uint8Array.from([\n 0xe8, 0x42, 0x44, 0x7f, 0xae, 0x7b, 0x1c, 0x6e, 0xb7, 0xa8,\n 0xa7, 0x85, 0xf7, 0x76, 0xfa, 0x19, 0xa9, 0x3a, 0xb9, 0x6c,\n 0xc1, 0xee, 0xee, 0xe9, 0x47, 0xc1, 0x71, 0x13, 0x38, 0x5f,\n 0x5f, 0x12, 0x4d, 0x63, 0x5c, 0xf2, 0x52, 0xae, 0x26, 0xa6,\n 0x7b, 0xe2, 0x77, 0x71, 0x2e, 0xad, 0x07, 0xb4, 0x48, 0x96,\n 0xdf, 0xb0, 0x16, 0xfc, 0x9d, 0x03, 0xa3, 0xe9, 0x22, 0xbd,\n 0x9a, 0x01, 0x66, 0x3c, 0x59, 0x01,\n ]),\n participantPubkey: Uint8Array.from([\n 0x4d, 0x63, 0x5c, 0xf2, 0x52, 0xae, 0x26, 0xa6, 0x7b, 0xe2,\n 0x77, 0x71, 0x2e, 0xad, 0x07, 0xb4, 0x48, 0x96, 0xdf, 0xb0,\n 0x16, 0xfc, 0x9d, 0x03, 0xa3, 0xe9, 0x22, 0xbd, 0x9a, 0x01,\n 0x66, 0x3c, 0x59,\n ]),\n aggregatedPubkey: Uint8Array.from([\n 0x59, 0x41, 0x13, 0xe5, 0x71, 0x00, 0x06, 0x3d, 0x9d, 0xcc,\n 0xd7, 0x8f, 0xb3, 0x93, 0x82, 0xdb, 0xf8, 0x0a, 0x8f, 0x11,\n 0x50, 0xfd, 0x59, 0xd9, 0xfe, 0xb7, 0x9e, 0x25, 0x3b, 0xd2,\n 0xfe, 0xee, 0x33,\n ]),\n tapleafHash: Uint8Array.from([\n 0x4d, 0x63, 0x5c, 0xf2, 0x52, 0xae, 0x26, 0xa6, 0x7b, 0xe2,\n 0x77, 0x71, 0x2e, 0xad, 0x07, 0xb4, 0x48, 0x96, 0xdf, 0xb0,\n 0x16, 0xfc, 0x9d, 0x03, 0xa3, 0xe9, 0x22, 0xbd, 0x9a, 0x01,\n 0x66, 0x3c,\n ]),\n },\n ],\n }),\n );\n });\n });\n describe(\"errors\", () => {\n it(\"should return an error if continue task fails\", async () => {\n // given\n const api = {\n sendCommand: jest.fn(),\n } as unknown as InternalApi;\n const psbt = {\n getGlobalValue: jest.fn(() => Nothing),\n } as unknown as Psbt;\n const wallet = {} as Wallet;\n const psbtCommitment = {} as PsbtCommitment;\n const dataStore = {} as DataStore;\n const walletSerializer = {\n getId: jest.fn(() => Uint8Array.from([0x05])),\n } as unknown as WalletSerializer;\n const valueParser = {\n getVarint: jest.fn(() => Maybe.of(42)),\n } as unknown as ValueParser;\n const continueTaskFactory = () =>\n ({\n run: jest.fn().mockResolvedValue(\n CommandResultFactory({\n error: new UnknownDeviceExchangeError(\"Failed\"),\n }),\n ),\n }) as unknown as ContinueTask;\n // when\n const result = await new SignPsbtTask(\n api,\n {\n psbt,\n wallet,\n psbtCommitment,\n dataStore,\n },\n walletSerializer,\n valueParser,\n continueTaskFactory,\n ).run();\n // then\n expect(result).toStrictEqual(\n CommandResultFactory({\n error: new UnknownDeviceExchangeError(\"Failed\"),\n }),\n );\n });\n });\n});\n"],
|
|
5
|
-
"mappings": "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
|
|
4
|
+
"sourcesContent": ["import {\n CommandResultFactory,\n type InternalApi,\n UnknownDeviceExchangeError,\n} from \"@ledgerhq/device-management-kit\";\nimport { Maybe, Nothing } from \"purify-ts\";\n\nimport { SignPsbtCommand } from \"@internal/app-binder/command/SignPsbtCommand\";\nimport { type ContinueTask } from \"@internal/app-binder/task/ContinueTask\";\nimport { SignPsbtTask } from \"@internal/app-binder/task/SignPsbtTask\";\nimport { type DataStore } from \"@internal/data-store/model/DataStore\";\nimport type { PsbtCommitment } from \"@internal/data-store/service/DataStoreService\";\nimport { type Psbt } from \"@internal/psbt/model/Psbt\";\nimport { type ValueParser } from \"@internal/psbt/service/value/ValueParser\";\nimport { type Wallet } from \"@internal/wallet/model/Wallet\";\nimport { type WalletSerializer } from \"@internal/wallet/service/WalletSerializer\";\n\nconst SIGN_PSBT_YIELD_PARIAL_SIG_RESULT = Uint8Array.from([\n 0x00, 0x20, 0xf1, 0xe8, 0x42, 0x44, 0x7f, 0xae, 0x7b, 0x1c, 0x6e, 0xb7, 0xa8,\n 0xa7, 0x85, 0xf7, 0x76, 0xfa, 0x19, 0xa9, 0x3a, 0xb9, 0x6c, 0xc1, 0xee, 0xee,\n 0xe9, 0x47, 0xc1, 0x71, 0x13, 0x38, 0x5f, 0x5f, 0x12, 0x4d, 0x63, 0x5c, 0xf2,\n 0x52, 0xae, 0x26, 0xa6, 0x7b, 0xe2, 0x77, 0x71, 0x2e, 0xad, 0x07, 0xb4, 0x48,\n 0x96, 0xdf, 0xb0, 0x16, 0xfc, 0x9d, 0x03, 0xa3, 0xe9, 0x22, 0xbd, 0x9a, 0x01,\n 0x66, 0x3c, 0x59, 0x59, 0x41, 0x13, 0xe5, 0x71, 0x00, 0x06, 0x3d, 0x9d, 0xcc,\n 0xd7, 0x8f, 0xb3, 0x93, 0x82, 0xdb, 0xf8, 0x0a, 0x8f, 0x11, 0x50, 0xfd, 0x59,\n 0xd9, 0xfe, 0xb7, 0x9e, 0x25, 0x3b, 0xd2,\n]);\n\nconst SIGN_PSBT_YIELD_MUSIG_PARIAL_SIG_RESULT = Uint8Array.from([\n 0xff, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe8, 0x42, 0x44,\n 0x7f, 0xae, 0x7b, 0x1c, 0x6e, 0xb7, 0xa8, 0xa7, 0x85, 0xf7, 0x76, 0xfa, 0x19,\n 0xa9, 0x3a, 0xb9, 0x6c, 0xc1, 0xee, 0xee, 0xe9, 0x47, 0xc1, 0x71, 0x13, 0x38,\n 0x5f, 0x5f, 0x12, 0x4d, 0x63, 0x5c, 0xf2, 0x52, 0xae, 0x26, 0xa6, 0x7b, 0xe2,\n 0x77, 0x71, 0x2e, 0xad, 0x07, 0xb4, 0x48, 0x96, 0xdf, 0xb0, 0x16, 0xfc, 0x9d,\n 0x03, 0xa3, 0xe9, 0x22, 0xbd, 0x9a, 0x01, 0x66, 0x3c, 0x59, 0x59, 0x41, 0x13,\n 0xe5, 0x71, 0x00, 0x06, 0x3d, 0x9d, 0xcc, 0xd7, 0x8f, 0xb3, 0x93, 0x82, 0xdb,\n 0xf8, 0x0a, 0x8f, 0x11, 0x50, 0xfd, 0x59, 0xd9, 0xfe, 0xb7, 0x9e, 0x25, 0x3b,\n 0xd2, 0xfe, 0xee, 0x33, 0x4d, 0x63, 0x5c, 0xf2, 0x52, 0xae, 0x26, 0xa6, 0x7b,\n 0xe2, 0x77, 0x71, 0x2e, 0xad, 0x07, 0xb4, 0x48, 0x96, 0xdf, 0xb0, 0x16, 0xfc,\n 0x9d, 0x03, 0xa3, 0xe9, 0x22, 0xbd, 0x9a, 0x01, 0x66, 0x3c,\n]);\n\nconst SIGN_PSBT_YIELD_MUSIG_PUB_NONCE_RESULT = Uint8Array.from([\n 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe8, 0x42, 0x44,\n 0x7f, 0xae, 0x7b, 0x1c, 0x6e, 0xb7, 0xa8, 0xa7, 0x85, 0xf7, 0x76, 0xfa, 0x19,\n 0xa9, 0x3a, 0xb9, 0x6c, 0xc1, 0xee, 0xee, 0xe9, 0x47, 0xc1, 0x71, 0x13, 0x38,\n 0x5f, 0x5f, 0x12, 0x4d, 0x63, 0x5c, 0xf2, 0x52, 0xae, 0x26, 0xa6, 0x7b, 0xe2,\n 0x77, 0x71, 0x2e, 0xad, 0x07, 0xb4, 0x48, 0x96, 0xdf, 0xb0, 0x16, 0xfc, 0x9d,\n 0x03, 0xa3, 0xe9, 0x22, 0xbd, 0x9a, 0x01, 0x66, 0x3c, 0x59, 0x01, 0x4d, 0x63,\n 0x5c, 0xf2, 0x52, 0xae, 0x26, 0xa6, 0x7b, 0xe2, 0x77, 0x71, 0x2e, 0xad, 0x07,\n 0xb4, 0x48, 0x96, 0xdf, 0xb0, 0x16, 0xfc, 0x9d, 0x03, 0xa3, 0xe9, 0x22, 0xbd,\n 0x9a, 0x01, 0x66, 0x3c, 0x59, 0x59, 0x41, 0x13, 0xe5, 0x71, 0x00, 0x06, 0x3d,\n 0x9d, 0xcc, 0xd7, 0x8f, 0xb3, 0x93, 0x82, 0xdb, 0xf8, 0x0a, 0x8f, 0x11, 0x50,\n 0xfd, 0x59, 0xd9, 0xfe, 0xb7, 0x9e, 0x25, 0x3b, 0xd2, 0xfe, 0xee, 0x33, 0x4d,\n 0x63, 0x5c, 0xf2, 0x52, 0xae, 0x26, 0xa6, 0x7b, 0xe2, 0x77, 0x71, 0x2e, 0xad,\n 0x07, 0xb4, 0x48, 0x96, 0xdf, 0xb0, 0x16, 0xfc, 0x9d, 0x03, 0xa3, 0xe9, 0x22,\n 0xbd, 0x9a, 0x01, 0x66, 0x3c,\n]);\n\ndescribe(\"SignPsbtTask\", () => {\n describe(\"run\", () => {\n it(\"should return partial signatures\", async () => {\n // given\n const api = {\n sendCommand: vi.fn(),\n } as unknown as InternalApi;\n const psbt = {\n getGlobalValue: () => Maybe.of(Uint8Array.from([0x03])),\n } as unknown as Psbt;\n const wallet = {\n hmac: Uint8Array.from([0x04]),\n } as Wallet;\n const psbtCommitment = {\n globalCommitment: Uint8Array.from([0x03]),\n inputsRoot: Uint8Array.from([0x01]),\n outputsRoot: Uint8Array.from([0x02]),\n } as PsbtCommitment;\n const dataStore = {} as DataStore;\n const walletSerializer = {\n getId: vi.fn(() => Uint8Array.from([0x05])),\n } as unknown as WalletSerializer;\n const valueParser = {\n getVarint: vi.fn(() => Maybe.of(42)),\n } as unknown as ValueParser;\n const continueTaskFactory = () =>\n ({\n run: vi.fn().mockResolvedValue(\n CommandResultFactory({\n data: [],\n }),\n ),\n getYieldedResults: () => [SIGN_PSBT_YIELD_PARIAL_SIG_RESULT],\n }) as unknown as ContinueTask;\n\n // when\n const signatures = await new SignPsbtTask(\n api,\n {\n psbt,\n wallet,\n psbtCommitment,\n dataStore,\n },\n walletSerializer,\n valueParser,\n continueTaskFactory,\n ).run();\n // then\n expect(api.sendCommand).toHaveBeenCalledWith(\n new SignPsbtCommand({\n globalCommitment: Uint8Array.from([0x03]),\n inputsCount: 42,\n inputsRoot: Uint8Array.from([0x01]),\n outputsCount: 42,\n outputsRoot: Uint8Array.from([0x02]),\n walletId: Uint8Array.from([0x05]),\n walletHmac: Uint8Array.from([0x04]),\n }),\n );\n expect(signatures).toStrictEqual(\n CommandResultFactory({\n data: [\n {\n inputIndex: 0,\n pubkey: Uint8Array.from([\n 0xf1, 0xe8, 0x42, 0x44, 0x7f, 0xae, 0x7b, 0x1c, 0x6e, 0xb7,\n 0xa8, 0xa7, 0x85, 0xf7, 0x76, 0xfa, 0x19, 0xa9, 0x3a, 0xb9,\n 0x6c, 0xc1, 0xee, 0xee, 0xe9, 0x47, 0xc1, 0x71, 0x13, 0x38,\n 0x5f, 0x5f,\n ]),\n signature: Uint8Array.from([\n 0x12, 0x4d, 0x63, 0x5c, 0xf2, 0x52, 0xae, 0x26, 0xa6, 0x7b,\n 0xe2, 0x77, 0x71, 0x2e, 0xad, 0x07, 0xb4, 0x48, 0x96, 0xdf,\n 0xb0, 0x16, 0xfc, 0x9d, 0x03, 0xa3, 0xe9, 0x22, 0xbd, 0x9a,\n 0x01, 0x66, 0x3c, 0x59, 0x59, 0x41, 0x13, 0xe5, 0x71, 0x00,\n 0x06, 0x3d, 0x9d, 0xcc, 0xd7, 0x8f, 0xb3, 0x93, 0x82, 0xdb,\n 0xf8, 0x0a, 0x8f, 0x11, 0x50, 0xfd, 0x59, 0xd9, 0xfe, 0xb7,\n 0x9e, 0x25, 0x3b, 0xd2,\n ]),\n },\n ],\n }),\n );\n });\n it(\"should return musig partial signatures\", async () => {\n // given\n const api = {\n sendCommand: vi.fn(),\n } as unknown as InternalApi;\n const psbt = {\n getGlobalValue: () => Maybe.of(Uint8Array.from([0x03])),\n } as unknown as Psbt;\n const wallet = {\n hmac: Uint8Array.from([0x04]),\n } as Wallet;\n const psbtCommitment = {\n globalCommitment: Uint8Array.from([0x03]),\n inputsRoot: Uint8Array.from([0x01]),\n outputsRoot: Uint8Array.from([0x02]),\n } as PsbtCommitment;\n const dataStore = {} as DataStore;\n const walletSerializer = {\n getId: vi.fn(() => Uint8Array.from([0x05])),\n } as unknown as WalletSerializer;\n const valueParser = {\n getVarint: vi.fn(() => Maybe.of(42)),\n } as unknown as ValueParser;\n const continueTaskFactory = () =>\n ({\n run: vi.fn().mockResolvedValue(\n CommandResultFactory({\n data: [],\n }),\n ),\n getYieldedResults: () => [SIGN_PSBT_YIELD_MUSIG_PARIAL_SIG_RESULT],\n }) as unknown as ContinueTask;\n\n // when\n const signatures = await new SignPsbtTask(\n api,\n {\n psbt,\n wallet,\n psbtCommitment,\n dataStore,\n },\n walletSerializer,\n valueParser,\n continueTaskFactory,\n ).run();\n // then\n expect(api.sendCommand).toHaveBeenCalledWith(\n new SignPsbtCommand({\n globalCommitment: Uint8Array.from([0x03]),\n inputsCount: 42,\n inputsRoot: Uint8Array.from([0x01]),\n outputsCount: 42,\n outputsRoot: Uint8Array.from([0x02]),\n walletId: Uint8Array.from([0x05]),\n walletHmac: Uint8Array.from([0x04]),\n }),\n );\n expect(signatures).toStrictEqual(\n CommandResultFactory({\n data: [\n {\n inputIndex: 0,\n partialSignature: Uint8Array.from([\n 0xe8, 0x42, 0x44, 0x7f, 0xae, 0x7b, 0x1c, 0x6e, 0xb7, 0xa8,\n 0xa7, 0x85, 0xf7, 0x76, 0xfa, 0x19, 0xa9, 0x3a, 0xb9, 0x6c,\n 0xc1, 0xee, 0xee, 0xe9, 0x47, 0xc1, 0x71, 0x13, 0x38, 0x5f,\n 0x5f, 0x12,\n ]),\n participantPubkey: Uint8Array.from([\n 0x4d, 0x63, 0x5c, 0xf2, 0x52, 0xae, 0x26, 0xa6, 0x7b, 0xe2,\n 0x77, 0x71, 0x2e, 0xad, 0x07, 0xb4, 0x48, 0x96, 0xdf, 0xb0,\n 0x16, 0xfc, 0x9d, 0x03, 0xa3, 0xe9, 0x22, 0xbd, 0x9a, 0x01,\n 0x66, 0x3c, 0x59,\n ]),\n aggregatedPubkey: Uint8Array.from([\n 0x59, 0x41, 0x13, 0xe5, 0x71, 0x00, 0x06, 0x3d, 0x9d, 0xcc,\n 0xd7, 0x8f, 0xb3, 0x93, 0x82, 0xdb, 0xf8, 0x0a, 0x8f, 0x11,\n 0x50, 0xfd, 0x59, 0xd9, 0xfe, 0xb7, 0x9e, 0x25, 0x3b, 0xd2,\n 0xfe, 0xee, 0x33,\n ]),\n tapleafHash: Uint8Array.from([\n 0x4d, 0x63, 0x5c, 0xf2, 0x52, 0xae, 0x26, 0xa6, 0x7b, 0xe2,\n 0x77, 0x71, 0x2e, 0xad, 0x07, 0xb4, 0x48, 0x96, 0xdf, 0xb0,\n 0x16, 0xfc, 0x9d, 0x03, 0xa3, 0xe9, 0x22, 0xbd, 0x9a, 0x01,\n 0x66, 0x3c,\n ]),\n },\n ],\n }),\n );\n });\n it(\"should return musig pub nonce\", async () => {\n // given\n const api = {\n sendCommand: vi.fn(),\n } as unknown as InternalApi;\n const psbt = {\n getGlobalValue: () => Maybe.of(Uint8Array.from([0x03])),\n } as unknown as Psbt;\n const wallet = {\n hmac: Uint8Array.from([0x04]),\n } as Wallet;\n const psbtCommitment = {\n globalCommitment: Uint8Array.from([0x03]),\n inputsRoot: Uint8Array.from([0x01]),\n outputsRoot: Uint8Array.from([0x02]),\n } as PsbtCommitment;\n const dataStore = {} as DataStore;\n const walletSerializer = {\n getId: vi.fn(() => Uint8Array.from([0x05])),\n } as unknown as WalletSerializer;\n const valueParser = {\n getVarint: vi.fn(() => Maybe.of(42)),\n } as unknown as ValueParser;\n const continueTaskFactory = () =>\n ({\n run: vi.fn().mockResolvedValue(\n CommandResultFactory({\n data: [],\n }),\n ),\n getYieldedResults: () => [SIGN_PSBT_YIELD_MUSIG_PUB_NONCE_RESULT],\n }) as unknown as ContinueTask;\n\n // when\n const signatures = await new SignPsbtTask(\n api,\n {\n psbt,\n wallet,\n psbtCommitment,\n dataStore,\n },\n walletSerializer,\n valueParser,\n continueTaskFactory,\n ).run();\n // then\n expect(api.sendCommand).toHaveBeenCalledWith(\n new SignPsbtCommand({\n globalCommitment: Uint8Array.from([0x03]),\n inputsCount: 42,\n inputsRoot: Uint8Array.from([0x01]),\n outputsCount: 42,\n outputsRoot: Uint8Array.from([0x02]),\n walletId: Uint8Array.from([0x05]),\n walletHmac: Uint8Array.from([0x04]),\n }),\n );\n expect(signatures).toStrictEqual(\n CommandResultFactory({\n data: [\n {\n inputIndex: 0,\n pubnonce: Uint8Array.from([\n 0xe8, 0x42, 0x44, 0x7f, 0xae, 0x7b, 0x1c, 0x6e, 0xb7, 0xa8,\n 0xa7, 0x85, 0xf7, 0x76, 0xfa, 0x19, 0xa9, 0x3a, 0xb9, 0x6c,\n 0xc1, 0xee, 0xee, 0xe9, 0x47, 0xc1, 0x71, 0x13, 0x38, 0x5f,\n 0x5f, 0x12, 0x4d, 0x63, 0x5c, 0xf2, 0x52, 0xae, 0x26, 0xa6,\n 0x7b, 0xe2, 0x77, 0x71, 0x2e, 0xad, 0x07, 0xb4, 0x48, 0x96,\n 0xdf, 0xb0, 0x16, 0xfc, 0x9d, 0x03, 0xa3, 0xe9, 0x22, 0xbd,\n 0x9a, 0x01, 0x66, 0x3c, 0x59, 0x01,\n ]),\n participantPubkey: Uint8Array.from([\n 0x4d, 0x63, 0x5c, 0xf2, 0x52, 0xae, 0x26, 0xa6, 0x7b, 0xe2,\n 0x77, 0x71, 0x2e, 0xad, 0x07, 0xb4, 0x48, 0x96, 0xdf, 0xb0,\n 0x16, 0xfc, 0x9d, 0x03, 0xa3, 0xe9, 0x22, 0xbd, 0x9a, 0x01,\n 0x66, 0x3c, 0x59,\n ]),\n aggregatedPubkey: Uint8Array.from([\n 0x59, 0x41, 0x13, 0xe5, 0x71, 0x00, 0x06, 0x3d, 0x9d, 0xcc,\n 0xd7, 0x8f, 0xb3, 0x93, 0x82, 0xdb, 0xf8, 0x0a, 0x8f, 0x11,\n 0x50, 0xfd, 0x59, 0xd9, 0xfe, 0xb7, 0x9e, 0x25, 0x3b, 0xd2,\n 0xfe, 0xee, 0x33,\n ]),\n tapleafHash: Uint8Array.from([\n 0x4d, 0x63, 0x5c, 0xf2, 0x52, 0xae, 0x26, 0xa6, 0x7b, 0xe2,\n 0x77, 0x71, 0x2e, 0xad, 0x07, 0xb4, 0x48, 0x96, 0xdf, 0xb0,\n 0x16, 0xfc, 0x9d, 0x03, 0xa3, 0xe9, 0x22, 0xbd, 0x9a, 0x01,\n 0x66, 0x3c,\n ]),\n },\n ],\n }),\n );\n });\n });\n describe(\"errors\", () => {\n it(\"should return an error if continue task fails\", async () => {\n // given\n const api = {\n sendCommand: vi.fn(),\n } as unknown as InternalApi;\n const psbt = {\n getGlobalValue: vi.fn(() => Nothing),\n } as unknown as Psbt;\n const wallet = {} as Wallet;\n const psbtCommitment = {} as PsbtCommitment;\n const dataStore = {} as DataStore;\n const walletSerializer = {\n getId: vi.fn(() => Uint8Array.from([0x05])),\n } as unknown as WalletSerializer;\n const valueParser = {\n getVarint: vi.fn(() => Maybe.of(42)),\n } as unknown as ValueParser;\n const continueTaskFactory = () =>\n ({\n run: vi.fn().mockResolvedValue(\n CommandResultFactory({\n error: new UnknownDeviceExchangeError(\"Failed\"),\n }),\n ),\n }) as unknown as ContinueTask;\n // when\n const result = await new SignPsbtTask(\n api,\n {\n psbt,\n wallet,\n psbtCommitment,\n dataStore,\n },\n walletSerializer,\n valueParser,\n continueTaskFactory,\n ).run();\n // then\n expect(result).toStrictEqual(\n CommandResultFactory({\n error: new UnknownDeviceExchangeError(\"Failed\"),\n }),\n );\n });\n });\n});\n"],
|
|
5
|
+
"mappings": "aAAA,IAAAA,EAIO,2CACPC,EAA+B,qBAE/BC,EAAgC,wDAEhCC,EAA6B,kDAQ7B,MAAMC,EAAoC,WAAW,KAAK,CACxD,EAAM,GAAM,IAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IACxE,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IACxE,IAAM,GAAM,IAAM,IAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,IACxE,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,EAAM,IAAM,GACxE,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,EAAM,IAAM,IAAM,GAAM,IAAM,IAAM,EACxE,IAAM,GAAM,GAAM,GAAM,GAAM,GAAM,IAAM,IAAM,EAAM,EAAM,GAAM,IAAM,IACxE,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,GACxE,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,GACtC,CAAC,EAEKC,EAA0C,WAAW,KAAK,CAC9D,IAAM,IAAM,IAAM,IAAM,IAAM,EAAM,EAAM,EAAM,EAAM,EAAM,IAAM,GAAM,GACxE,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GACxE,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,GACxE,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IACxE,IAAM,IAAM,GAAM,IAAM,EAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IACxE,EAAM,IAAM,IAAM,GAAM,IAAM,IAAM,EAAM,IAAM,GAAM,GAAM,GAAM,GAAM,GACxE,IAAM,IAAM,EAAM,EAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IACxE,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GACxE,IAAM,IAAM,IAAM,GAAM,GAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IACxE,IAAM,IAAM,IAAM,GAAM,IAAM,EAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IACxE,IAAM,EAAM,IAAM,IAAM,GAAM,IAAM,IAAM,EAAM,IAAM,EACxD,CAAC,EAEKC,EAAyC,WAAW,KAAK,CAC7D,IAAM,IAAM,IAAM,IAAM,IAAM,EAAM,EAAM,EAAM,EAAM,EAAM,IAAM,GAAM,GACxE,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GACxE,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,GACxE,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IACxE,IAAM,IAAM,GAAM,IAAM,EAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IACxE,EAAM,IAAM,IAAM,GAAM,IAAM,IAAM,EAAM,IAAM,GAAM,GAAM,EAAM,GAAM,GACxE,GAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,EACxE,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,EAAM,IAAM,IAAM,GAAM,IACxE,IAAM,EAAM,IAAM,GAAM,GAAM,GAAM,GAAM,GAAM,IAAM,IAAM,EAAM,EAAM,GACxE,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,GACxE,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,GAAM,GACxE,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IACxE,EAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,EAAM,IAAM,IAAM,GACxE,IAAM,IAAM,EAAM,IAAM,EAC1B,CAAC,EAED,SAAS,eAAgB,IAAM,CAC7B,SAAS,MAAO,IAAM,CACpB,GAAG,mCAAoC,SAAY,CAEjD,MAAMC,EAAM,CACV,YAAa,GAAG,GAAG,CACrB,EACMC,EAAO,CACX,eAAgB,IAAM,QAAM,GAAG,WAAW,KAAK,CAAC,CAAI,CAAC,CAAC,CACxD,EACMC,EAAS,CACb,KAAM,WAAW,KAAK,CAAC,CAAI,CAAC,CAC9B,EACMC,EAAiB,CACrB,iBAAkB,WAAW,KAAK,CAAC,CAAI,CAAC,EACxC,WAAY,WAAW,KAAK,CAAC,CAAI,CAAC,EAClC,YAAa,WAAW,KAAK,CAAC,CAAI,CAAC,CACrC,EACMC,EAAY,CAAC,EACbC,EAAmB,CACvB,MAAO,GAAG,GAAG,IAAM,WAAW,KAAK,CAAC,CAAI,CAAC,CAAC,CAC5C,EACMC,EAAc,CAClB,UAAW,GAAG,GAAG,IAAM,QAAM,GAAG,EAAE,CAAC,CACrC,EACMC,EAAsB,KACzB,CACC,IAAK,GAAG,GAAG,EAAE,qBACX,wBAAqB,CACnB,KAAM,CAAC,CACT,CAAC,CACH,EACA,kBAAmB,IAAM,CAACV,CAAiC,CAC7D,GAGIW,EAAa,MAAM,IAAI,eAC3BR,EACA,CACE,KAAAC,EACA,OAAAC,EACA,eAAAC,EACA,UAAAC,CACF,EACAC,EACAC,EACAC,CACF,EAAE,IAAI,EAEN,OAAOP,EAAI,WAAW,EAAE,qBACtB,IAAI,kBAAgB,CAClB,iBAAkB,WAAW,KAAK,CAAC,CAAI,CAAC,EACxC,YAAa,GACb,WAAY,WAAW,KAAK,CAAC,CAAI,CAAC,EAClC,aAAc,GACd,YAAa,WAAW,KAAK,CAAC,CAAI,CAAC,EACnC,SAAU,WAAW,KAAK,CAAC,CAAI,CAAC,EAChC,WAAY,WAAW,KAAK,CAAC,CAAI,CAAC,CACpC,CAAC,CACH,EACA,OAAOQ,CAAU,EAAE,iBACjB,wBAAqB,CACnB,KAAM,CACJ,CACE,WAAY,EACZ,OAAQ,WAAW,KAAK,CACtB,IAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IACtD,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,GACtD,GAAM,EACR,CAAC,EACD,UAAW,WAAW,KAAK,CACzB,GAAM,GAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IACtD,IAAM,IAAM,IAAM,GAAM,IAAM,EAAM,IAAM,GAAM,IAAM,IACtD,IAAM,GAAM,IAAM,IAAM,EAAM,IAAM,IAAM,GAAM,IAAM,IACtD,EAAM,IAAM,GAAM,GAAM,GAAM,GAAM,GAAM,IAAM,IAAM,EACtD,EAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IACtD,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IACtD,IAAM,GAAM,GAAM,GACpB,CAAC,CACH,CACF,CACF,CAAC,CACH,CACF,CAAC,EACD,GAAG,yCAA0C,SAAY,CAEvD,MAAMR,EAAM,CACV,YAAa,GAAG,GAAG,CACrB,EACMC,EAAO,CACX,eAAgB,IAAM,QAAM,GAAG,WAAW,KAAK,CAAC,CAAI,CAAC,CAAC,CACxD,EACMC,EAAS,CACb,KAAM,WAAW,KAAK,CAAC,CAAI,CAAC,CAC9B,EACMC,EAAiB,CACrB,iBAAkB,WAAW,KAAK,CAAC,CAAI,CAAC,EACxC,WAAY,WAAW,KAAK,CAAC,CAAI,CAAC,EAClC,YAAa,WAAW,KAAK,CAAC,CAAI,CAAC,CACrC,EACMC,EAAY,CAAC,EACbC,EAAmB,CACvB,MAAO,GAAG,GAAG,IAAM,WAAW,KAAK,CAAC,CAAI,CAAC,CAAC,CAC5C,EACMC,EAAc,CAClB,UAAW,GAAG,GAAG,IAAM,QAAM,GAAG,EAAE,CAAC,CACrC,EACMC,EAAsB,KACzB,CACC,IAAK,GAAG,GAAG,EAAE,qBACX,wBAAqB,CACnB,KAAM,CAAC,CACT,CAAC,CACH,EACA,kBAAmB,IAAM,CAACT,CAAuC,CACnE,GAGIU,EAAa,MAAM,IAAI,eAC3BR,EACA,CACE,KAAAC,EACA,OAAAC,EACA,eAAAC,EACA,UAAAC,CACF,EACAC,EACAC,EACAC,CACF,EAAE,IAAI,EAEN,OAAOP,EAAI,WAAW,EAAE,qBACtB,IAAI,kBAAgB,CAClB,iBAAkB,WAAW,KAAK,CAAC,CAAI,CAAC,EACxC,YAAa,GACb,WAAY,WAAW,KAAK,CAAC,CAAI,CAAC,EAClC,aAAc,GACd,YAAa,WAAW,KAAK,CAAC,CAAI,CAAC,EACnC,SAAU,WAAW,KAAK,CAAC,CAAI,CAAC,EAChC,WAAY,WAAW,KAAK,CAAC,CAAI,CAAC,CACpC,CAAC,CACH,EACA,OAAOQ,CAAU,EAAE,iBACjB,wBAAqB,CACnB,KAAM,CACJ,CACE,WAAY,EACZ,iBAAkB,WAAW,KAAK,CAChC,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,GAAM,GACtD,GAAM,EACR,CAAC,EACD,kBAAmB,WAAW,KAAK,CACjC,GAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IACtD,IAAM,IAAM,GAAM,IAAM,EAAM,IAAM,GAAM,IAAM,IAAM,IACtD,GAAM,IAAM,IAAM,EAAM,IAAM,IAAM,GAAM,IAAM,IAAM,EACtD,IAAM,GAAM,EACd,CAAC,EACD,iBAAkB,WAAW,KAAK,CAChC,GAAM,GAAM,GAAM,IAAM,IAAM,EAAM,EAAM,GAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GACtD,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IACtD,IAAM,IAAM,EACd,CAAC,EACD,YAAa,WAAW,KAAK,CAC3B,GAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IACtD,IAAM,IAAM,GAAM,IAAM,EAAM,IAAM,GAAM,IAAM,IAAM,IACtD,GAAM,IAAM,IAAM,EAAM,IAAM,IAAM,GAAM,IAAM,IAAM,EACtD,IAAM,EACR,CAAC,CACH,CACF,CACF,CAAC,CACH,CACF,CAAC,EACD,GAAG,gCAAiC,SAAY,CAE9C,MAAMR,EAAM,CACV,YAAa,GAAG,GAAG,CACrB,EACMC,EAAO,CACX,eAAgB,IAAM,QAAM,GAAG,WAAW,KAAK,CAAC,CAAI,CAAC,CAAC,CACxD,EACMC,EAAS,CACb,KAAM,WAAW,KAAK,CAAC,CAAI,CAAC,CAC9B,EACMC,EAAiB,CACrB,iBAAkB,WAAW,KAAK,CAAC,CAAI,CAAC,EACxC,WAAY,WAAW,KAAK,CAAC,CAAI,CAAC,EAClC,YAAa,WAAW,KAAK,CAAC,CAAI,CAAC,CACrC,EACMC,EAAY,CAAC,EACbC,EAAmB,CACvB,MAAO,GAAG,GAAG,IAAM,WAAW,KAAK,CAAC,CAAI,CAAC,CAAC,CAC5C,EACMC,EAAc,CAClB,UAAW,GAAG,GAAG,IAAM,QAAM,GAAG,EAAE,CAAC,CACrC,EACMC,EAAsB,KACzB,CACC,IAAK,GAAG,GAAG,EAAE,qBACX,wBAAqB,CACnB,KAAM,CAAC,CACT,CAAC,CACH,EACA,kBAAmB,IAAM,CAACR,CAAsC,CAClE,GAGIS,EAAa,MAAM,IAAI,eAC3BR,EACA,CACE,KAAAC,EACA,OAAAC,EACA,eAAAC,EACA,UAAAC,CACF,EACAC,EACAC,EACAC,CACF,EAAE,IAAI,EAEN,OAAOP,EAAI,WAAW,EAAE,qBACtB,IAAI,kBAAgB,CAClB,iBAAkB,WAAW,KAAK,CAAC,CAAI,CAAC,EACxC,YAAa,GACb,WAAY,WAAW,KAAK,CAAC,CAAI,CAAC,EAClC,aAAc,GACd,YAAa,WAAW,KAAK,CAAC,CAAI,CAAC,EACnC,SAAU,WAAW,KAAK,CAAC,CAAI,CAAC,EAChC,WAAY,WAAW,KAAK,CAAC,CAAI,CAAC,CACpC,CAAC,CACH,EACA,OAAOQ,CAAU,EAAE,iBACjB,wBAAqB,CACnB,KAAM,CACJ,CACE,WAAY,EACZ,SAAU,WAAW,KAAK,CACxB,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,GAAM,GACtD,GAAM,GAAM,GAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,IACtD,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,EAAM,IAAM,GAAM,IACtD,IAAM,IAAM,GAAM,IAAM,IAAM,EAAM,IAAM,IAAM,GAAM,IACtD,IAAM,EAAM,IAAM,GAAM,GAAM,CAChC,CAAC,EACD,kBAAmB,WAAW,KAAK,CACjC,GAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IACtD,IAAM,IAAM,GAAM,IAAM,EAAM,IAAM,GAAM,IAAM,IAAM,IACtD,GAAM,IAAM,IAAM,EAAM,IAAM,IAAM,GAAM,IAAM,IAAM,EACtD,IAAM,GAAM,EACd,CAAC,EACD,iBAAkB,WAAW,KAAK,CAChC,GAAM,GAAM,GAAM,IAAM,IAAM,EAAM,EAAM,GAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GACtD,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IACtD,IAAM,IAAM,EACd,CAAC,EACD,YAAa,WAAW,KAAK,CAC3B,GAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IACtD,IAAM,IAAM,GAAM,IAAM,EAAM,IAAM,GAAM,IAAM,IAAM,IACtD,GAAM,IAAM,IAAM,EAAM,IAAM,IAAM,GAAM,IAAM,IAAM,EACtD,IAAM,EACR,CAAC,CACH,CACF,CACF,CAAC,CACH,CACF,CAAC,CACH,CAAC,EACD,SAAS,SAAU,IAAM,CACvB,GAAG,gDAAiD,SAAY,CAE9D,MAAMR,EAAM,CACV,YAAa,GAAG,GAAG,CACrB,EACMC,EAAO,CACX,eAAgB,GAAG,GAAG,IAAM,SAAO,CACrC,EACMC,EAAS,CAAC,EACVC,EAAiB,CAAC,EAClBC,EAAY,CAAC,EACbC,EAAmB,CACvB,MAAO,GAAG,GAAG,IAAM,WAAW,KAAK,CAAC,CAAI,CAAC,CAAC,CAC5C,EACMC,EAAc,CAClB,UAAW,GAAG,GAAG,IAAM,QAAM,GAAG,EAAE,CAAC,CACrC,EACMC,EAAsB,KACzB,CACC,IAAK,GAAG,GAAG,EAAE,qBACX,wBAAqB,CACnB,MAAO,IAAI,6BAA2B,QAAQ,CAChD,CAAC,CACH,CACF,GAEIE,EAAS,MAAM,IAAI,eACvBT,EACA,CACE,KAAAC,EACA,OAAAC,EACA,eAAAC,EACA,UAAAC,CACF,EACAC,EACAC,EACAC,CACF,EAAE,IAAI,EAEN,OAAOE,CAAM,EAAE,iBACb,wBAAqB,CACnB,MAAO,IAAI,6BAA2B,QAAQ,CAChD,CAAC,CACH,CACF,CAAC,CACH,CAAC,CACH,CAAC",
|
|
6
6
|
"names": ["import_device_management_kit", "import_purify_ts", "import_SignPsbtCommand", "import_SignPsbtTask", "SIGN_PSBT_YIELD_PARIAL_SIG_RESULT", "SIGN_PSBT_YIELD_MUSIG_PARIAL_SIG_RESULT", "SIGN_PSBT_YIELD_MUSIG_PUB_NONCE_RESULT", "api", "psbt", "wallet", "psbtCommitment", "dataStore", "walletSerializer", "valueParser", "continueTaskFactory", "signatures", "result"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var w=require("@ledgerhq/device-management-kit"),s=require("purify-ts"),x=require("../../app-binder/task/UpdatePsbtTask"),t=require("../../psbt/model/Key"),n=require("../../psbt/model/Psbt"),r=require("../../psbt/model/Value"),p=require("../../psbt/service/value/DefaultValueParser");describe("UpdatePsbtTask",()=>{it("should update taproot psbt with signatures",async()=>{const e=Uint8Array.from(new Array(64).fill(100)),a={inputIndex:0,signature:e,pubkey:Uint8Array.from([33])},o=new n.Psbt(new Map([[new t.Key(n.PsbtGlobal.INPUT_COUNT).toHexaString(),new r.Value(Uint8Array.of(1))]]),[new Map([[new t.Key(n.PsbtIn.TAP_BIP32_DERIVATION,Uint8Array.from([1,3,4,17])).toHexaString(),new r.Value(Uint8Array.from([16,18]))],[new t.Key(n.PsbtIn.NON_WITNESS_UTXO).toHexaString(),new r.Value(Uint8Array.from([]))],[new t.Key(n.PsbtIn.REDEEM_SCRIPT).toHexaString(),new r.Value(Uint8Array.from([9,153]))]])]),i={map:
|
|
1
|
+
"use strict";var w=require("@ledgerhq/device-management-kit"),s=require("purify-ts"),x=require("../../app-binder/task/UpdatePsbtTask"),t=require("../../psbt/model/Key"),n=require("../../psbt/model/Psbt"),r=require("../../psbt/model/Value"),p=require("../../psbt/service/value/DefaultValueParser");describe("UpdatePsbtTask",()=>{it("should update taproot psbt with signatures",async()=>{const e=Uint8Array.from(new Array(64).fill(100)),a={inputIndex:0,signature:e,pubkey:Uint8Array.from([33])},o=new n.Psbt(new Map([[new t.Key(n.PsbtGlobal.INPUT_COUNT).toHexaString(),new r.Value(Uint8Array.of(1))]]),[new Map([[new t.Key(n.PsbtIn.TAP_BIP32_DERIVATION,Uint8Array.from([1,3,4,17])).toHexaString(),new r.Value(Uint8Array.from([16,18]))],[new t.Key(n.PsbtIn.NON_WITNESS_UTXO).toHexaString(),new r.Value(Uint8Array.from([]))],[new t.Key(n.PsbtIn.REDEEM_SCRIPT).toHexaString(),new r.Value(Uint8Array.from([9,153]))]])]),i={map:vi.fn(()=>(0,s.Right)(o))},S=await new x.UpdatePsbtTask({psbt:"",signatures:[a]},new p.DefaultValueParser,i).run();expect(S).toStrictEqual((0,w.CommandResultFactory)({data:new n.Psbt(new Map([[new t.Key(n.PsbtGlobal.INPUT_COUNT).toHexaString(),new r.Value(Uint8Array.from([1]))]]),[new Map([[new t.Key(n.PsbtIn.NON_WITNESS_UTXO).toHexaString(),new r.Value(Uint8Array.from([]))],[new t.Key(n.PsbtIn.REDEEM_SCRIPT).toHexaString(),new r.Value(Uint8Array.from([9,153]))],[new t.Key(n.PsbtIn.FINAL_SCRIPTWITNESS).toHexaString(),new r.Value(Uint8Array.from([1,64,...e]))]])])}))}),it("should update legacy psbt with signatures",async()=>{const e={inputIndex:0,signature:Uint8Array.from([66]),pubkey:Uint8Array.from([33])},a=new n.Psbt(new Map([[new t.Key(n.PsbtGlobal.INPUT_COUNT).toHexaString(),new r.Value(Uint8Array.of(1))]]),[new Map([[new t.Key(n.PsbtIn.BIP32_DERIVATION,Uint8Array.from([1,2])).toHexaString(),new r.Value(Uint8Array.from([]))],[new t.Key(n.PsbtIn.NON_WITNESS_UTXO).toHexaString(),new r.Value(Uint8Array.from([]))],[new t.Key(n.PsbtIn.REDEEM_SCRIPT).toHexaString(),new r.Value(Uint8Array.from([9,153]))]])]),o={map:vi.fn(()=>(0,s.Right)(a))},i=await new x.UpdatePsbtTask({psbt:"",signatures:[e]},new p.DefaultValueParser,o).run();expect(i).toStrictEqual((0,w.CommandResultFactory)({data:new n.Psbt(new Map([[new t.Key(n.PsbtGlobal.INPUT_COUNT).toHexaString(),new r.Value(Uint8Array.from([1]))]]),[new Map([[new t.Key(n.PsbtIn.NON_WITNESS_UTXO).toHexaString(),new r.Value(Uint8Array.from([]))],[new t.Key(n.PsbtIn.REDEEM_SCRIPT).toHexaString(),new r.Value(Uint8Array.from([9,153]))],[new t.Key(n.PsbtIn.FINAL_SCRIPTSIG).toHexaString(),new r.Value(Uint8Array.from([1,66,1,33]))]])])}))}),it("should update legacy segwit psbt with signatures",async()=>{const e={inputIndex:0,signature:Uint8Array.from([66]),pubkey:Uint8Array.from([33])},a=new n.Psbt(new Map([[new t.Key(n.PsbtGlobal.INPUT_COUNT).toHexaString(),new r.Value(Uint8Array.of(1))]]),[new Map([[new t.Key(n.PsbtIn.BIP32_DERIVATION,Uint8Array.from([1,2])).toHexaString(),new r.Value(Uint8Array.from([]))],[new t.Key(n.PsbtIn.WITNESS_UTXO).toHexaString(),new r.Value(Uint8Array.from([]))],[new t.Key(n.PsbtIn.REDEEM_SCRIPT).toHexaString(),new r.Value(Uint8Array.from([9,153]))]])]),o={map:vi.fn(()=>(0,s.Right)(a))},i=await new x.UpdatePsbtTask({psbt:"",signatures:[e]},new p.DefaultValueParser,o).run();expect(i).toStrictEqual((0,w.CommandResultFactory)({data:new n.Psbt(new Map([[new t.Key(n.PsbtGlobal.INPUT_COUNT).toHexaString(),new r.Value(Uint8Array.from([1]))]]),[new Map([[new t.Key(n.PsbtIn.WITNESS_UTXO).toHexaString(),new r.Value(Uint8Array.from([]))],[new t.Key(n.PsbtIn.REDEEM_SCRIPT).toHexaString(),new r.Value(Uint8Array.from([9,153]))],[new t.Key(n.PsbtIn.FINAL_SCRIPTWITNESS).toHexaString(),new r.Value(Uint8Array.from([2,1,66,1,33]))],[new t.Key(n.PsbtIn.FINAL_SCRIPTSIG).toHexaString(),new r.Value(Uint8Array.from([2,9,153]))]])])}))})});
|
|
2
2
|
//# sourceMappingURL=UpdatePsbtTask.test.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/internal/app-binder/task/UpdatePsbtTask.test.ts"],
|
|
4
|
-
"sourcesContent": ["import { CommandResultFactory } from \"@ledgerhq/device-management-kit\";\nimport { Right } from \"purify-ts\";\n\nimport { UpdatePsbtTask } from \"@internal/app-binder/task/UpdatePsbtTask\";\nimport { Key } from \"@internal/psbt/model/Key\";\nimport { Psbt, PsbtGlobal, PsbtIn } from \"@internal/psbt/model/Psbt\";\nimport { Value } from \"@internal/psbt/model/Value\";\nimport { type PsbtMapper } from \"@internal/psbt/service/psbt/PsbtMapper\";\nimport { DefaultValueParser } from \"@internal/psbt/service/value/DefaultValueParser\";\n\ndescribe(\"UpdatePsbtTask\", () => {\n it(\"should update taproot psbt with signatures\", async () => {\n // given\n const schnorr = Uint8Array.from(new Array(64).fill(0x64));\n const signature = {\n inputIndex: 0,\n signature: schnorr,\n pubkey: Uint8Array.from([0x21]),\n };\n\n const fakePsbt = new Psbt(\n new Map([\n [\n new Key(PsbtGlobal.INPUT_COUNT).toHexaString(),\n new Value(Uint8Array.of(1)),\n ],\n ]),\n [\n new Map([\n [\n new Key(\n PsbtIn.TAP_BIP32_DERIVATION,\n Uint8Array.from([0x01, 0x03, 0x04, 0x11]),\n ).toHexaString(),\n new Value(Uint8Array.from([0x10, 0x12])),\n ],\n [\n new Key(PsbtIn.NON_WITNESS_UTXO).toHexaString(),\n new Value(Uint8Array.from([])),\n ],\n [\n new Key(PsbtIn.REDEEM_SCRIPT).toHexaString(),\n new Value(Uint8Array.from([0x09, 0x99])),\n ],\n ]),\n ],\n );\n\n const psbtMapperMock = {\n map:
|
|
5
|
-
"mappings": "aAAA,IAAAA,EAAqC,2CACrCC,EAAsB,qBAEtBC,EAA+B,oDAC/BC,EAAoB,oCACpBC,EAAyC,qCACzCC,EAAsB,sCAEtBC,EAAmC,2DAEnC,SAAS,iBAAkB,IAAM,CAC/B,GAAG,6CAA8C,SAAY,CAE3D,MAAMC,EAAU,WAAW,KAAK,IAAI,MAAM,EAAE,EAAE,KAAK,GAAI,CAAC,EAClDC,EAAY,CAChB,WAAY,EACZ,UAAWD,EACX,OAAQ,WAAW,KAAK,CAAC,EAAI,CAAC,CAChC,EAEME,EAAW,IAAI,OACnB,IAAI,IAAI,CACN,CACE,IAAI,MAAI,aAAW,WAAW,EAAE,aAAa,EAC7C,IAAI,QAAM,WAAW,GAAG,CAAC,CAAC,CAC5B,CACF,CAAC,EACD,CACE,IAAI,IAAI,CACN,CACE,IAAI,MACF,SAAO,qBACP,WAAW,KAAK,CAAC,EAAM,EAAM,EAAM,EAAI,CAAC,CAC1C,EAAE,aAAa,EACf,IAAI,QAAM,WAAW,KAAK,CAAC,GAAM,EAAI,CAAC,CAAC,CACzC,EACA,CACE,IAAI,MAAI,SAAO,gBAAgB,EAAE,aAAa,EAC9C,IAAI,QAAM,WAAW,KAAK,CAAC,CAAC,CAAC,CAC/B,EACA,CACE,IAAI,MAAI,SAAO,aAAa,EAAE,aAAa,EAC3C,IAAI,QAAM,WAAW,KAAK,CAAC,EAAM,GAAI,CAAC,CAAC,CACzC,CACF,CAAC,CACH,CACF,EAEMC,EAAiB,CACrB,IAAK,
|
|
4
|
+
"sourcesContent": ["import { CommandResultFactory } from \"@ledgerhq/device-management-kit\";\nimport { Right } from \"purify-ts\";\n\nimport { UpdatePsbtTask } from \"@internal/app-binder/task/UpdatePsbtTask\";\nimport { Key } from \"@internal/psbt/model/Key\";\nimport { Psbt, PsbtGlobal, PsbtIn } from \"@internal/psbt/model/Psbt\";\nimport { Value } from \"@internal/psbt/model/Value\";\nimport { type PsbtMapper } from \"@internal/psbt/service/psbt/PsbtMapper\";\nimport { DefaultValueParser } from \"@internal/psbt/service/value/DefaultValueParser\";\n\ndescribe(\"UpdatePsbtTask\", () => {\n it(\"should update taproot psbt with signatures\", async () => {\n // given\n const schnorr = Uint8Array.from(new Array(64).fill(0x64));\n const signature = {\n inputIndex: 0,\n signature: schnorr,\n pubkey: Uint8Array.from([0x21]),\n };\n\n const fakePsbt = new Psbt(\n new Map([\n [\n new Key(PsbtGlobal.INPUT_COUNT).toHexaString(),\n new Value(Uint8Array.of(1)),\n ],\n ]),\n [\n new Map([\n [\n new Key(\n PsbtIn.TAP_BIP32_DERIVATION,\n Uint8Array.from([0x01, 0x03, 0x04, 0x11]),\n ).toHexaString(),\n new Value(Uint8Array.from([0x10, 0x12])),\n ],\n [\n new Key(PsbtIn.NON_WITNESS_UTXO).toHexaString(),\n new Value(Uint8Array.from([])),\n ],\n [\n new Key(PsbtIn.REDEEM_SCRIPT).toHexaString(),\n new Value(Uint8Array.from([0x09, 0x99])),\n ],\n ]),\n ],\n );\n\n const psbtMapperMock = {\n map: vi.fn(() => Right(fakePsbt)),\n } as unknown as PsbtMapper;\n\n // when\n const result = await new UpdatePsbtTask(\n {\n psbt: \"\",\n signatures: [signature],\n },\n new DefaultValueParser(),\n psbtMapperMock,\n ).run();\n\n // then\n expect(result).toStrictEqual(\n CommandResultFactory({\n data: new Psbt(\n new Map([\n [\n new Key(PsbtGlobal.INPUT_COUNT).toHexaString(),\n new Value(Uint8Array.from([1])),\n ],\n ]),\n [\n new Map([\n [\n new Key(PsbtIn.NON_WITNESS_UTXO).toHexaString(),\n new Value(Uint8Array.from([])),\n ],\n [\n new Key(PsbtIn.REDEEM_SCRIPT).toHexaString(),\n new Value(Uint8Array.from([0x09, 0x99])),\n ],\n [\n new Key(PsbtIn.FINAL_SCRIPTWITNESS).toHexaString(),\n new Value(Uint8Array.from([0x01, 0x40, ...schnorr])),\n ],\n ]),\n ],\n ),\n }),\n );\n });\n it(\"should update legacy psbt with signatures\", async () => {\n // given\n const signature = {\n inputIndex: 0,\n signature: Uint8Array.from([0x42]),\n pubkey: Uint8Array.from([0x21]),\n };\n\n const fakePsbt = new Psbt(\n new Map([\n [\n new Key(PsbtGlobal.INPUT_COUNT).toHexaString(),\n new Value(Uint8Array.of(1)),\n ],\n ]),\n [\n new Map([\n [\n new Key(\n PsbtIn.BIP32_DERIVATION,\n Uint8Array.from([0x01, 0x02]),\n ).toHexaString(),\n new Value(Uint8Array.from([])),\n ],\n [\n new Key(PsbtIn.NON_WITNESS_UTXO).toHexaString(),\n new Value(Uint8Array.from([])),\n ],\n [\n new Key(PsbtIn.REDEEM_SCRIPT).toHexaString(),\n new Value(Uint8Array.from([0x09, 0x99])),\n ],\n ]),\n ],\n );\n\n const psbtMapperMock = {\n map: vi.fn(() => Right(fakePsbt)),\n } as unknown as PsbtMapper;\n\n // when\n const result = await new UpdatePsbtTask(\n {\n psbt: \"\",\n signatures: [signature],\n },\n new DefaultValueParser(),\n psbtMapperMock,\n ).run();\n\n // then\n expect(result).toStrictEqual(\n CommandResultFactory({\n data: new Psbt(\n new Map([\n [\n new Key(PsbtGlobal.INPUT_COUNT).toHexaString(),\n new Value(Uint8Array.from([1])),\n ],\n ]),\n [\n new Map([\n [\n new Key(PsbtIn.NON_WITNESS_UTXO).toHexaString(),\n new Value(Uint8Array.from([])),\n ],\n [\n new Key(PsbtIn.REDEEM_SCRIPT).toHexaString(),\n new Value(Uint8Array.from([0x09, 0x99])),\n ],\n [\n new Key(PsbtIn.FINAL_SCRIPTSIG).toHexaString(),\n new Value(Uint8Array.from([0x01, 0x42, 0x01, 0x21])),\n ],\n ]),\n ],\n ),\n }),\n );\n });\n it(\"should update legacy segwit psbt with signatures\", async () => {\n // given\n const signature = {\n inputIndex: 0,\n signature: Uint8Array.from([0x42]),\n pubkey: Uint8Array.from([0x21]),\n };\n\n const fakePsbt = new Psbt(\n new Map([\n [\n new Key(PsbtGlobal.INPUT_COUNT).toHexaString(),\n new Value(Uint8Array.of(1)),\n ],\n ]),\n [\n new Map([\n [\n new Key(\n PsbtIn.BIP32_DERIVATION,\n Uint8Array.from([0x01, 0x02]),\n ).toHexaString(),\n new Value(Uint8Array.from([])),\n ],\n [\n new Key(PsbtIn.WITNESS_UTXO).toHexaString(),\n new Value(Uint8Array.from([])),\n ],\n [\n new Key(PsbtIn.REDEEM_SCRIPT).toHexaString(),\n new Value(Uint8Array.from([0x09, 0x99])),\n ],\n ]),\n ],\n );\n\n const psbtMapperMock = {\n map: vi.fn(() => Right(fakePsbt)),\n } as unknown as PsbtMapper;\n\n // when\n const result = await new UpdatePsbtTask(\n {\n psbt: \"\",\n signatures: [signature],\n },\n new DefaultValueParser(),\n psbtMapperMock,\n ).run();\n\n // then\n expect(result).toStrictEqual(\n CommandResultFactory({\n data: new Psbt(\n new Map([\n [\n new Key(PsbtGlobal.INPUT_COUNT).toHexaString(),\n new Value(Uint8Array.from([1])),\n ],\n ]),\n [\n new Map([\n [\n new Key(PsbtIn.WITNESS_UTXO).toHexaString(),\n new Value(Uint8Array.from([])),\n ],\n [\n new Key(PsbtIn.REDEEM_SCRIPT).toHexaString(),\n new Value(Uint8Array.from([0x09, 0x99])),\n ],\n [\n new Key(PsbtIn.FINAL_SCRIPTWITNESS).toHexaString(),\n new Value(Uint8Array.from([0x02, 0x01, 0x42, 0x01, 0x21])),\n ],\n [\n new Key(PsbtIn.FINAL_SCRIPTSIG).toHexaString(),\n new Value(Uint8Array.from([0x02, 0x09, 0x99])),\n ],\n ]),\n ],\n ),\n }),\n );\n });\n});\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["import_device_management_kit", "import_purify_ts", "import_UpdatePsbtTask", "import_Key", "import_Psbt", "import_Value", "import_DefaultValueParser", "schnorr", "signature", "fakePsbt", "psbtMapperMock", "result"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var a=Object.defineProperty;var
|
|
1
|
+
"use strict";var a=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var d=Object.getOwnPropertyNames;var f=Object.prototype.hasOwnProperty;var n=(o,t)=>{for(var r in t)a(o,r,{get:t[r],enumerable:!0})},l=(o,t,r,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let e of d(t))!f.call(o,e)&&e!==r&&a(o,e,{get:()=>t[e],enumerable:!(i=c(t,e))||i.enumerable});return o};var u=o=>l(a({},"__esModule",{value:!0}),o);var s={};n(s,{dataStoreModuleFactory:()=>D});module.exports=u(s);var m=require("inversify"),S=require("../../data-store/di/dataStoreTypes"),p=require("../../data-store/service/DefaultDataStoreService");const D=()=>new m.ContainerModule(({bind:o})=>{o(S.dataStoreTypes.DataStoreService).to(p.DefaultDataStoreService)});0&&(module.exports={dataStoreModuleFactory});
|
|
2
2
|
//# sourceMappingURL=dataStoreModule.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/internal/data-store/di/dataStoreModule.ts"],
|
|
4
|
-
"sourcesContent": ["import { ContainerModule } from \"inversify\";\n\nimport { dataStoreTypes } from \"@internal/data-store/di/dataStoreTypes\";\nimport { DefaultDataStoreService } from \"@internal/data-store/service/DefaultDataStoreService\";\n\nexport const dataStoreModuleFactory = () =>\n new ContainerModule(
|
|
5
|
-
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,4BAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAgC,qBAEhCC,EAA+B,kDAC/BC,EAAwC,gEAEjC,MAAMJ,EAAyB,IACpC,IAAI,
|
|
6
|
-
"names": ["dataStoreModule_exports", "__export", "dataStoreModuleFactory", "__toCommonJS", "import_inversify", "import_dataStoreTypes", "import_DefaultDataStoreService", "bind"
|
|
4
|
+
"sourcesContent": ["import { ContainerModule } from \"inversify\";\n\nimport { dataStoreTypes } from \"@internal/data-store/di/dataStoreTypes\";\nimport { DefaultDataStoreService } from \"@internal/data-store/service/DefaultDataStoreService\";\n\nexport const dataStoreModuleFactory = () =>\n new ContainerModule(({ bind }) => {\n bind(dataStoreTypes.DataStoreService).to(DefaultDataStoreService);\n });\n"],
|
|
5
|
+
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,4BAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAgC,qBAEhCC,EAA+B,kDAC/BC,EAAwC,gEAEjC,MAAMJ,EAAyB,IACpC,IAAI,kBAAgB,CAAC,CAAE,KAAAK,CAAK,IAAM,CAChCA,EAAK,iBAAe,gBAAgB,EAAE,GAAG,yBAAuB,CAClE,CAAC",
|
|
6
|
+
"names": ["dataStoreModule_exports", "__export", "dataStoreModuleFactory", "__toCommonJS", "import_inversify", "import_dataStoreTypes", "import_DefaultDataStoreService", "bind"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var o=require("inversify"),r=require("./dataStoreModule");describe("DataStoreModuleFactory",()=>{describe("Default",()=>{let t,e;beforeEach(()=>{e=(0,r.dataStoreModuleFactory)(),t=new o.Container,t.
|
|
1
|
+
"use strict";var o=require("inversify"),r=require("./dataStoreModule");describe("DataStoreModuleFactory",()=>{describe("Default",()=>{let t,e;beforeEach(()=>{e=(0,r.dataStoreModuleFactory)(),t=new o.Container,t.loadSync(e)}),it("should return the data store service module",()=>{expect(e).toBeDefined()})})});
|
|
2
2
|
//# sourceMappingURL=dataStoreModule.test.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/internal/data-store/di/dataStoreModule.test.ts"],
|
|
4
|
-
"sourcesContent": ["import { Container } from \"inversify\";\n\nimport { dataStoreModuleFactory } from \"./dataStoreModule\";\n\ndescribe(\"DataStoreModuleFactory\", () => {\n describe(\"Default\", () => {\n let container: Container;\n let mod: ReturnType<typeof dataStoreModuleFactory>;\n beforeEach(() => {\n mod = dataStoreModuleFactory();\n container = new Container();\n container.
|
|
5
|
-
"mappings": "aAAA,IAAAA,EAA0B,qBAE1BC,EAAuC,6BAEvC,SAAS,yBAA0B,IAAM,CACvC,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 { dataStoreModuleFactory } from \"./dataStoreModule\";\n\ndescribe(\"DataStoreModuleFactory\", () => {\n describe(\"Default\", () => {\n let container: Container;\n let mod: ReturnType<typeof dataStoreModuleFactory>;\n beforeEach(() => {\n mod = dataStoreModuleFactory();\n container = new Container();\n container.loadSync(mod);\n });\n\n it(\"should return the data store service module\", () => {\n expect(mod).toBeDefined();\n });\n });\n});\n"],
|
|
5
|
+
"mappings": "aAAA,IAAAA,EAA0B,qBAE1BC,EAAuC,6BAEvC,SAAS,yBAA0B,IAAM,CACvC,SAAS,UAAW,IAAM,CACxB,IAAIC,EACAC,EACJ,WAAW,IAAM,CACfA,KAAM,0BAAuB,EAC7BD,EAAY,IAAI,YAChBA,EAAU,SAASC,CAAG,CACxB,CAAC,EAED,GAAG,8CAA+C,IAAM,CACtD,OAAOA,CAAG,EAAE,YAAY,CAC1B,CAAC,CACH,CAAC,CACH,CAAC",
|
|
6
6
|
"names": ["import_inversify", "import_dataStoreModule", "container", "mod"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var s=require("@ledgerhq/device-management-kit"),f=require("purify-ts"),r=require("../../merkle-tree/model/Leaf"),k=require("./DataStore");const o={leaves:[new r.Leaf(Uint8Array.from([0,0]),Uint8Array.from([42])),new r.Leaf(Uint8Array.from([0,1]),Uint8Array.from([43])),new r.Leaf(Uint8Array.from([0,2]),Uint8Array.from([44])),new r.Leaf(Uint8Array.from([0,3]),Uint8Array.from([45]))],proof:[Uint8Array.from([9,8,7,6]),Uint8Array.from([5,4,3,2])],root:(0,s.hexaStringToBuffer)("9bcd51240af4005168f033121ba85be5a6ed4f0e6a5fac262066729b8fbfdecb")},t={leaves:[new r.Leaf(Uint8Array.from([1,0]),Uint8Array.from([80])),new r.Leaf(Uint8Array.from([2,0]),Uint8Array.from([81])),new r.Leaf(Uint8Array.from([3,0]),Uint8Array.from([82])),new r.Leaf(Uint8Array.from([4,0]),Uint8Array.from([83])),new r.Leaf(Uint8Array.from([5,0]),Uint8Array.from([84])),new r.Leaf(Uint8Array.from([6,0]),Uint8Array.from([85])),new r.Leaf(Uint8Array.from([7,0]),Uint8Array.from([86])),new r.Leaf(Uint8Array.from([8,0]),Uint8Array.from([87])),new r.Leaf(Uint8Array.from([9,0]),Uint8Array.from([88])),new r.Leaf(Uint8Array.from([10,0]),Uint8Array.from([89]))],proof:[Uint8Array.from([255,254,253]),Uint8Array.from([1,2,3,4]),Uint8Array.from([170,187,204]),Uint8Array.from([7,6,5,4])],root:(0,s.hexaStringToBuffer)("e177ad5a8a17108dad67c70a51266681aa02b9e2b7ad6a0357585ba4289982ac")};describe("DataStore",()=>{const d=()=>({size:vi.fn(),getRoot:vi.fn(),getLeaves:vi.fn(),getLeafHash:vi.fn(),getProof:vi.fn()});beforeEach(()=>{vi.resetAllMocks()}),it("Add preimages, then get it",()=>{const l=(0,s.hexaStringToBuffer)("deadbeef1"),a=(0,s.hexaStringToBuffer)("deadbeef2"),n=(0,s.hexaStringToBuffer)("42ff1"),e=(0,s.hexaStringToBuffer)("42ff2"),i=(0,s.hexaStringToBuffer)("42ff3"),c=new k.DataStore;c.addPreimage(n,l),c.addPreimage(e,a);const u=c.getPreimage(n);expect(u.isJust()).toStrictEqual(!0),expect(u.unsafeCoerce()).toStrictEqual(l);const m=c.getPreimage(e);expect(m.isJust()).toStrictEqual(!0),expect(m.unsafeCoerce()).toStrictEqual(a);const p=c.getPreimage(i);expect(p.isJust()).toStrictEqual(!1)}),it("Add merkletrees, then get index",()=>{const l=(0,s.hexaStringToBuffer)("deadbeef"),a=d(),n=d(),e=new k.DataStore;a.getRoot.mockReturnValueOnce(o.root),a.getLeaves.mockReturnValueOnce(o.leaves).mockReturnValueOnce(o.leaves),n.getRoot.mockReturnValueOnce(t.root),n.getLeaves.mockReturnValueOnce(t.leaves).mockReturnValueOnce(t.leaves).mockReturnValueOnce(t.leaves),e.addMerkleTree(a),e.addMerkleTree(n);const i=e.getMerkleLeafIndex(o.root,o.leaves[2].hash);expect(i.isJust()).toStrictEqual(!0),expect(i.unsafeCoerce()).toStrictEqual(2);const c=e.getMerkleLeafIndex(t.root,t.leaves[7].hash);expect(c.isJust()).toStrictEqual(!0),expect(c.unsafeCoerce()).toStrictEqual(7);const u=e.getMerkleLeafIndex(t.root,o.leaves[2].hash);expect(u.isJust()).toStrictEqual(!1);const m=e.getMerkleLeafIndex(l,l);expect(m.isJust()).toStrictEqual(!1)}),it("Add merkletrees, then get proof",()=>{const l=(0,s.hexaStringToBuffer)("deadbeef"),a=d(),n=d(),e=new k.DataStore;a.getRoot.mockReturnValueOnce(o.root),a.getLeaves.mockReturnValueOnce(o.leaves),a.getLeafHash.mockReturnValueOnce((0,f.Just)(o.leaves[1].hash)),a.getProof.mockReturnValueOnce((0,f.Just)(o.proof)),n.getRoot.mockReturnValueOnce(t.root),n.getLeaves.mockReturnValueOnce(t.leaves),n.getLeafHash.mockReturnValueOnce((0,f.Just)(t.leaves[5].hash)).mockReturnValueOnce(f.Nothing).mockReturnValueOnce((0,f.Just)(t.leaves[5].hash)),n.getProof.mockReturnValueOnce((0,f.Just)(t.proof)).mockReturnValueOnce(f.Nothing),e.addMerkleTree(a),e.addMerkleTree(n);const i=e.getMerkleProof(o.root,1);expect(i.isJust()).toStrictEqual(!0),expect(i.unsafeCoerce().leafHash).toStrictEqual(o.leaves[1].hash),expect(i.unsafeCoerce().proof).toStrictEqual(o.proof);const c=e.getMerkleProof(t.root,5);expect(c.isJust()).toStrictEqual(!0),expect(c.unsafeCoerce().leafHash).toStrictEqual(t.leaves[5].hash),expect(c.unsafeCoerce().proof).toStrictEqual(t.proof);const u=e.getMerkleProof(t.root,5);expect(u.isJust()).toStrictEqual(!1);const m=e.getMerkleProof(t.root,5);expect(m.isJust()).toStrictEqual(!1);const p=e.getMerkleProof(l,0);expect(p.isJust()).toStrictEqual(!1)})});
|
|
2
2
|
//# sourceMappingURL=DataStore.test.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/internal/data-store/model/DataStore.test.ts"],
|
|
4
|
-
"sourcesContent": ["import { hexaStringToBuffer } from \"@ledgerhq/device-management-kit\";\nimport { Just, Nothing } from \"purify-ts\";\n\nimport { Leaf } from \"@internal/merkle-tree/model/Leaf\";\nimport { type MerkleTree } from \"@internal/merkle-tree/model/MerkleTree\";\n\nimport { DataStore } from \"./DataStore\";\n\nconst SMALL_TREE = {\n leaves: [\n new Leaf(Uint8Array.from([0, 0]), Uint8Array.from([42])),\n new Leaf(Uint8Array.from([0, 1]), Uint8Array.from([43])),\n new Leaf(Uint8Array.from([0, 2]), Uint8Array.from([44])),\n new Leaf(Uint8Array.from([0, 3]), Uint8Array.from([45])),\n ],\n proof: [Uint8Array.from([9, 8, 7, 6]), Uint8Array.from([5, 4, 3, 2])],\n root: hexaStringToBuffer(\n \"9bcd51240af4005168f033121ba85be5a6ed4f0e6a5fac262066729b8fbfdecb\",\n )!,\n};\n\nconst BIG_TREE = {\n leaves: [\n new Leaf(Uint8Array.from([1, 0]), Uint8Array.from([80])),\n new Leaf(Uint8Array.from([2, 0]), Uint8Array.from([81])),\n new Leaf(Uint8Array.from([3, 0]), Uint8Array.from([82])),\n new Leaf(Uint8Array.from([4, 0]), Uint8Array.from([83])),\n new Leaf(Uint8Array.from([5, 0]), Uint8Array.from([84])),\n new Leaf(Uint8Array.from([6, 0]), Uint8Array.from([85])),\n new Leaf(Uint8Array.from([7, 0]), Uint8Array.from([86])),\n new Leaf(Uint8Array.from([8, 0]), Uint8Array.from([87])),\n new Leaf(Uint8Array.from([9, 0]), Uint8Array.from([88])),\n new Leaf(Uint8Array.from([10, 0]), Uint8Array.from([89])),\n ],\n proof: [\n Uint8Array.from([0xff, 0xfe, 0xfd]),\n Uint8Array.from([1, 2, 3, 4]),\n Uint8Array.from([0xaa, 0xbb, 0xcc]),\n Uint8Array.from([7, 6, 5, 4]),\n ],\n root: hexaStringToBuffer(\n \"e177ad5a8a17108dad67c70a51266681aa02b9e2b7ad6a0357585ba4289982ac\",\n )!,\n};\n\ndescribe(\"DataStore\", () => {\n // Mocked merkle tree\n const createMerkletree = () => ({\n size:
|
|
5
|
-
"mappings": "aAAA,IAAAA,EAAmC,2CACnCC,EAA8B,qBAE9BC,EAAqB,4CAGrBC,EAA0B,uBAE1B,MAAMC,EAAa,CACjB,OAAQ,CACN,IAAI,OAAK,WAAW,KAAK,CAAC,EAAG,CAAC,CAAC,EAAG,WAAW,KAAK,CAAC,EAAE,CAAC,CAAC,EACvD,IAAI,OAAK,WAAW,KAAK,CAAC,EAAG,CAAC,CAAC,EAAG,WAAW,KAAK,CAAC,EAAE,CAAC,CAAC,EACvD,IAAI,OAAK,WAAW,KAAK,CAAC,EAAG,CAAC,CAAC,EAAG,WAAW,KAAK,CAAC,EAAE,CAAC,CAAC,EACvD,IAAI,OAAK,WAAW,KAAK,CAAC,EAAG,CAAC,CAAC,EAAG,WAAW,KAAK,CAAC,EAAE,CAAC,CAAC,CACzD,EACA,MAAO,CAAC,WAAW,KAAK,CAAC,EAAG,EAAG,EAAG,CAAC,CAAC,EAAG,WAAW,KAAK,CAAC,EAAG,EAAG,EAAG,CAAC,CAAC,CAAC,EACpE,QAAM,sBACJ,kEACF,CACF,EAEMC,EAAW,CACf,OAAQ,CACN,IAAI,OAAK,WAAW,KAAK,CAAC,EAAG,CAAC,CAAC,EAAG,WAAW,KAAK,CAAC,EAAE,CAAC,CAAC,EACvD,IAAI,OAAK,WAAW,KAAK,CAAC,EAAG,CAAC,CAAC,EAAG,WAAW,KAAK,CAAC,EAAE,CAAC,CAAC,EACvD,IAAI,OAAK,WAAW,KAAK,CAAC,EAAG,CAAC,CAAC,EAAG,WAAW,KAAK,CAAC,EAAE,CAAC,CAAC,EACvD,IAAI,OAAK,WAAW,KAAK,CAAC,EAAG,CAAC,CAAC,EAAG,WAAW,KAAK,CAAC,EAAE,CAAC,CAAC,EACvD,IAAI,OAAK,WAAW,KAAK,CAAC,EAAG,CAAC,CAAC,EAAG,WAAW,KAAK,CAAC,EAAE,CAAC,CAAC,EACvD,IAAI,OAAK,WAAW,KAAK,CAAC,EAAG,CAAC,CAAC,EAAG,WAAW,KAAK,CAAC,EAAE,CAAC,CAAC,EACvD,IAAI,OAAK,WAAW,KAAK,CAAC,EAAG,CAAC,CAAC,EAAG,WAAW,KAAK,CAAC,EAAE,CAAC,CAAC,EACvD,IAAI,OAAK,WAAW,KAAK,CAAC,EAAG,CAAC,CAAC,EAAG,WAAW,KAAK,CAAC,EAAE,CAAC,CAAC,EACvD,IAAI,OAAK,WAAW,KAAK,CAAC,EAAG,CAAC,CAAC,EAAG,WAAW,KAAK,CAAC,EAAE,CAAC,CAAC,EACvD,IAAI,OAAK,WAAW,KAAK,CAAC,GAAI,CAAC,CAAC,EAAG,WAAW,KAAK,CAAC,EAAE,CAAC,CAAC,CAC1D,EACA,MAAO,CACL,WAAW,KAAK,CAAC,IAAM,IAAM,GAAI,CAAC,EAClC,WAAW,KAAK,CAAC,EAAG,EAAG,EAAG,CAAC,CAAC,EAC5B,WAAW,KAAK,CAAC,IAAM,IAAM,GAAI,CAAC,EAClC,WAAW,KAAK,CAAC,EAAG,EAAG,EAAG,CAAC,CAAC,CAC9B,EACA,QAAM,sBACJ,kEACF,CACF,EAEA,SAAS,YAAa,IAAM,CAE1B,MAAMC,EAAmB,KAAO,CAC9B,KAAM,
|
|
4
|
+
"sourcesContent": ["import { hexaStringToBuffer } from \"@ledgerhq/device-management-kit\";\nimport { Just, Nothing } from \"purify-ts\";\n\nimport { Leaf } from \"@internal/merkle-tree/model/Leaf\";\nimport { type MerkleTree } from \"@internal/merkle-tree/model/MerkleTree\";\n\nimport { DataStore } from \"./DataStore\";\n\nconst SMALL_TREE = {\n leaves: [\n new Leaf(Uint8Array.from([0, 0]), Uint8Array.from([42])),\n new Leaf(Uint8Array.from([0, 1]), Uint8Array.from([43])),\n new Leaf(Uint8Array.from([0, 2]), Uint8Array.from([44])),\n new Leaf(Uint8Array.from([0, 3]), Uint8Array.from([45])),\n ],\n proof: [Uint8Array.from([9, 8, 7, 6]), Uint8Array.from([5, 4, 3, 2])],\n root: hexaStringToBuffer(\n \"9bcd51240af4005168f033121ba85be5a6ed4f0e6a5fac262066729b8fbfdecb\",\n )!,\n};\n\nconst BIG_TREE = {\n leaves: [\n new Leaf(Uint8Array.from([1, 0]), Uint8Array.from([80])),\n new Leaf(Uint8Array.from([2, 0]), Uint8Array.from([81])),\n new Leaf(Uint8Array.from([3, 0]), Uint8Array.from([82])),\n new Leaf(Uint8Array.from([4, 0]), Uint8Array.from([83])),\n new Leaf(Uint8Array.from([5, 0]), Uint8Array.from([84])),\n new Leaf(Uint8Array.from([6, 0]), Uint8Array.from([85])),\n new Leaf(Uint8Array.from([7, 0]), Uint8Array.from([86])),\n new Leaf(Uint8Array.from([8, 0]), Uint8Array.from([87])),\n new Leaf(Uint8Array.from([9, 0]), Uint8Array.from([88])),\n new Leaf(Uint8Array.from([10, 0]), Uint8Array.from([89])),\n ],\n proof: [\n Uint8Array.from([0xff, 0xfe, 0xfd]),\n Uint8Array.from([1, 2, 3, 4]),\n Uint8Array.from([0xaa, 0xbb, 0xcc]),\n Uint8Array.from([7, 6, 5, 4]),\n ],\n root: hexaStringToBuffer(\n \"e177ad5a8a17108dad67c70a51266681aa02b9e2b7ad6a0357585ba4289982ac\",\n )!,\n};\n\ndescribe(\"DataStore\", () => {\n // Mocked merkle tree\n const createMerkletree = () => ({\n size: vi.fn(),\n getRoot: vi.fn(),\n getLeaves: vi.fn(),\n getLeafHash: vi.fn(),\n getProof: vi.fn(),\n });\n\n beforeEach(() => {\n vi.resetAllMocks();\n });\n\n it(\"Add preimages, then get it\", () => {\n // Given\n const data1 = hexaStringToBuffer(\"deadbeef1\")!;\n const data2 = hexaStringToBuffer(\"deadbeef2\")!;\n const dataHash1 = hexaStringToBuffer(\"42ff1\")!;\n const dataHash2 = hexaStringToBuffer(\"42ff2\")!;\n const dataHash3 = hexaStringToBuffer(\"42ff3\")!;\n const store = new DataStore();\n\n // When\n store.addPreimage(dataHash1, data1);\n store.addPreimage(dataHash2, data2);\n\n // Then\n const preimage1 = store.getPreimage(dataHash1);\n expect(preimage1.isJust()).toStrictEqual(true);\n expect(preimage1.unsafeCoerce()).toStrictEqual(data1);\n const preimage2 = store.getPreimage(dataHash2);\n expect(preimage2.isJust()).toStrictEqual(true);\n expect(preimage2.unsafeCoerce()).toStrictEqual(data2);\n const preimage3 = store.getPreimage(dataHash3);\n expect(preimage3.isJust()).toStrictEqual(false);\n });\n\n it(\"Add merkletrees, then get index\", () => {\n // Given\n const invalidRoot = hexaStringToBuffer(\"deadbeef\")!;\n const tree1 = createMerkletree();\n const tree2 = createMerkletree();\n const store = new DataStore();\n\n // When\n tree1.getRoot.mockReturnValueOnce(SMALL_TREE.root);\n tree1.getLeaves\n .mockReturnValueOnce(SMALL_TREE.leaves)\n .mockReturnValueOnce(SMALL_TREE.leaves);\n tree2.getRoot.mockReturnValueOnce(BIG_TREE.root);\n tree2.getLeaves\n .mockReturnValueOnce(BIG_TREE.leaves)\n .mockReturnValueOnce(BIG_TREE.leaves)\n .mockReturnValueOnce(BIG_TREE.leaves);\n\n store.addMerkleTree(tree1 as unknown as MerkleTree);\n store.addMerkleTree(tree2 as unknown as MerkleTree);\n\n // Then\n const index1 = store.getMerkleLeafIndex(\n SMALL_TREE.root,\n SMALL_TREE.leaves[2]!.hash,\n );\n expect(index1.isJust()).toStrictEqual(true);\n expect(index1.unsafeCoerce()).toStrictEqual(2);\n const index2 = store.getMerkleLeafIndex(\n BIG_TREE.root,\n BIG_TREE.leaves[7]!.hash,\n );\n expect(index2.isJust()).toStrictEqual(true);\n expect(index2.unsafeCoerce()).toStrictEqual(7);\n // hash not found in the tree\n const index3 = store.getMerkleLeafIndex(\n BIG_TREE.root,\n SMALL_TREE.leaves[2]!.hash,\n );\n expect(index3.isJust()).toStrictEqual(false);\n // root not found\n const index4 = store.getMerkleLeafIndex(invalidRoot, invalidRoot);\n expect(index4.isJust()).toStrictEqual(false);\n });\n\n it(\"Add merkletrees, then get proof\", () => {\n // Given\n const invalidRoot = hexaStringToBuffer(\"deadbeef\")!;\n const tree1 = createMerkletree();\n const tree2 = createMerkletree();\n const store = new DataStore();\n\n // When\n tree1.getRoot.mockReturnValueOnce(SMALL_TREE.root);\n tree1.getLeaves.mockReturnValueOnce(SMALL_TREE.leaves);\n tree1.getLeafHash.mockReturnValueOnce(Just(SMALL_TREE.leaves[1]!.hash));\n tree1.getProof.mockReturnValueOnce(Just(SMALL_TREE.proof));\n tree2.getRoot.mockReturnValueOnce(BIG_TREE.root);\n tree2.getLeaves.mockReturnValueOnce(BIG_TREE.leaves);\n tree2.getLeafHash\n .mockReturnValueOnce(Just(BIG_TREE.leaves[5]!.hash))\n .mockReturnValueOnce(Nothing)\n .mockReturnValueOnce(Just(BIG_TREE.leaves[5]!.hash));\n tree2.getProof\n .mockReturnValueOnce(Just(BIG_TREE.proof))\n .mockReturnValueOnce(Nothing);\n\n store.addMerkleTree(tree1 as unknown as MerkleTree);\n store.addMerkleTree(tree2 as unknown as MerkleTree);\n\n // Then\n const proof1 = store.getMerkleProof(SMALL_TREE.root, 1);\n expect(proof1.isJust()).toStrictEqual(true);\n expect(proof1.unsafeCoerce().leafHash).toStrictEqual(\n SMALL_TREE.leaves[1]!.hash,\n );\n expect(proof1.unsafeCoerce().proof).toStrictEqual(SMALL_TREE.proof);\n const proof2 = store.getMerkleProof(BIG_TREE.root, 5);\n expect(proof2.isJust()).toStrictEqual(true);\n expect(proof2.unsafeCoerce().leafHash).toStrictEqual(\n BIG_TREE.leaves[5]!.hash,\n );\n expect(proof2.unsafeCoerce().proof).toStrictEqual(BIG_TREE.proof);\n // getLeafHash returns Nothing\n const proof3 = store.getMerkleProof(BIG_TREE.root, 5);\n expect(proof3.isJust()).toStrictEqual(false);\n // getProof returns Nothing\n const proof4 = store.getMerkleProof(BIG_TREE.root, 5);\n expect(proof4.isJust()).toStrictEqual(false);\n // root not found\n const proof5 = store.getMerkleProof(invalidRoot, 0);\n expect(proof5.isJust()).toStrictEqual(false);\n });\n});\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["import_device_management_kit", "import_purify_ts", "import_Leaf", "import_DataStore", "SMALL_TREE", "BIG_TREE", "createMerkletree", "data1", "data2", "dataHash1", "dataHash2", "dataHash3", "store", "preimage1", "preimage2", "preimage3", "invalidRoot", "tree1", "tree2", "index1", "index2", "index3", "index4", "proof1", "proof2", "proof3", "proof4", "proof5"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var o=require("purify-ts"),
|
|
1
|
+
"use strict";var o=require("purify-ts"),v=require("../../merkle-tree/model/Leaf"),b=require("../../merkle-tree/model/MerkleTree"),f=require("../../psbt/model/Psbt"),l=require("../../psbt/model/Value"),h=require("../../wallet/model/Wallet"),m=require("./DefaultDataStoreService");describe("DefaultDataStoreService",()=>{const a={build:vi.fn()},s={build:vi.fn()},w=vi.fn(),u={serialize:w,getId:vi.fn()},r={getPreimage:vi.fn(),getMerkleLeafIndex:vi.fn(),getMerkleProof:vi.fn(),addPreimage:vi.fn(),addMerkleTree:vi.fn(),addMerkleMap:vi.fn()},d=vi.fn(),k={hash:d};function c(e){return{getCommitment:()=>Uint8Array.from([e])}}function y(e){return{getRoot:()=>Uint8Array.from([e])}}describe("Merkleize chunks",()=>{beforeEach(()=>{vi.resetAllMocks()}),it("Success case",()=>{const e=[Uint8Array.from([0]),Uint8Array.from([2]),Uint8Array.from([3])],t=y(91),n=new m.DefaultDataStoreService(s,a,u,k);s.build.mockReturnValueOnce(t);const i=n.merklizeChunks(r,e);expect(s.build).toHaveBeenCalledWith(e),expect(r.addMerkleTree).toHaveBeenCalledWith(t),expect(i).toStrictEqual(Uint8Array.from([91]))})}),describe("Merkleize wallet",()=>{beforeEach(()=>{vi.resetAllMocks()}),it("Success case",()=>{const e=new b.MerkleTree(new v.Leaf(new Uint8Array,new Uint8Array(32).fill(7)),[]),t=new Uint8Array(5).fill(6),n=new Uint8Array(5).fill(7),i=new Uint8Array(5).fill(8),p=new h.Wallet({name:"Cold storage",descriptorTemplate:"template descriptor",keys:["key1","key2","key3"],hmac:new Uint8Array,keysTree:e,descriptorBuffer:new Uint8Array(32).fill(42)}),M=new m.DefaultDataStoreService(s,a,u,k);w.mockReturnValueOnce(t),d.mockReturnValueOnce(n).mockReturnValueOnce(i),M.merklizeWallet(r,p),expect(w).toHaveBeenCalledWith(p),expect(d).toHaveBeenCalledWith(t),expect(d).toHaveBeenCalledWith(p.descriptorBuffer),expect(r.addPreimage).toHaveBeenCalledWith(n,t),expect(r.addPreimage).toHaveBeenCalledWith(i,new Uint8Array(32).fill(42)),expect(r.addMerkleTree).toHaveBeenCalledWith(e)})}),describe("Merkleize a PSBT",()=>{const e={globalMap:new Map([["02",new l.Value(Uint8Array.from([2]))],["01",new l.Value(Uint8Array.from([1]))],["03",new l.Value(Uint8Array.from([3]))]]),inputMaps:[new Map([["09",new l.Value(Uint8Array.from([9]))],["01",new l.Value(Uint8Array.from([1]))],["07",new l.Value(Uint8Array.from([7]))]]),new Map([["07",new l.Value(Uint8Array.from([7]))],["03",new l.Value(Uint8Array.from([3]))],["01",new l.Value(Uint8Array.from([1]))]])],outputMaps:[new Map([["05",new l.Value(Uint8Array.from([5]))],["06",new l.Value(Uint8Array.from([6]))],["07",new l.Value(Uint8Array.from([7]))]])]};beforeEach(()=>{vi.resetAllMocks()}),it("Merkle map service failure",()=>{const t=new m.DefaultDataStoreService(s,a,u,k),n=new f.Psbt(e.globalMap,[],[]);a.build.mockReturnValueOnce((0,o.Left)(new Error));const i=t.merklizePsbt(r,n);expect(i.isRight()).toStrictEqual(!1)}),it("Merkle map service failure on inputs",()=>{const t=new m.DefaultDataStoreService(s,a,u,k),n=new f.Psbt(e.globalMap,e.inputMaps,[]);a.build.mockReturnValueOnce((0,o.Right)(c(42))).mockReturnValueOnce((0,o.Right)(c(43))).mockReturnValueOnce((0,o.Left)(new Error));const i=t.merklizePsbt(r,n);expect(i.isRight()).toStrictEqual(!1)}),it("Merkle map service failure on outputs",()=>{const t=new m.DefaultDataStoreService(s,a,u,k),n=new f.Psbt(e.globalMap,e.inputMaps,e.outputMaps);a.build.mockReturnValueOnce((0,o.Right)(c(42))).mockReturnValueOnce((0,o.Right)(c(43))).mockReturnValueOnce((0,o.Right)(c(44))).mockReturnValueOnce((0,o.Left)(new Error));const i=t.merklizePsbt(r,n);expect(i.isRight()).toStrictEqual(!1)}),it("Maps should be ordered",()=>{const t=new m.DefaultDataStoreService(s,a,u,k),n=new f.Psbt(e.globalMap,e.inputMaps,e.outputMaps);a.build.mockReturnValue((0,o.Left)(new Error)),t.merklizePsbt(r,n),expect(a.build).toHaveBeenCalledWith([Uint8Array.from([1]),Uint8Array.from([2]),Uint8Array.from([3])],[Uint8Array.from([1]),Uint8Array.from([2]),Uint8Array.from([3])]),expect(a.build).toHaveBeenCalledWith([Uint8Array.from([1]),Uint8Array.from([7]),Uint8Array.from([9])],[Uint8Array.from([1]),Uint8Array.from([7]),Uint8Array.from([9])]),expect(a.build).toHaveBeenCalledWith([Uint8Array.from([1]),Uint8Array.from([3]),Uint8Array.from([7])],[Uint8Array.from([1]),Uint8Array.from([3]),Uint8Array.from([7])]),expect(a.build).toHaveBeenCalledWith([Uint8Array.from([5]),Uint8Array.from([6]),Uint8Array.from([7])],[Uint8Array.from([5]),Uint8Array.from([6]),Uint8Array.from([7])])}),it("Success case",()=>{const t=c(42),n=c(43),i=c(44),p=c(45),M=y(91),A=y(92),B=new m.DefaultDataStoreService(s,a,u,k),S=new f.Psbt(e.globalMap,e.inputMaps,e.outputMaps);a.build.mockReturnValueOnce((0,o.Right)(t)).mockReturnValueOnce((0,o.Right)(n)).mockReturnValueOnce((0,o.Right)(i)).mockReturnValueOnce((0,o.Right)(p)),s.build.mockReturnValueOnce(M).mockReturnValueOnce(A);const U=B.merklizePsbt(r,S);expect(r.addMerkleMap).toHaveBeenCalledWith(t),expect(r.addMerkleMap).toHaveBeenCalledWith(n),expect(r.addMerkleMap).toHaveBeenCalledWith(i),expect(r.addMerkleMap).toHaveBeenCalledWith(p),expect(r.addMerkleTree).toHaveBeenCalledWith(M),expect(r.addMerkleTree).toHaveBeenCalledWith(A),expect(s.build).toHaveBeenCalledWith([Uint8Array.from([43]),Uint8Array.from([44])]),expect(s.build).toHaveBeenCalledWith([Uint8Array.from([45])]),expect(U.isRight()).toStrictEqual(!0),expect(U.unsafeCoerce()).toStrictEqual({globalCommitment:Uint8Array.from([42]),inputsRoot:Uint8Array.from([91]),outputsRoot:Uint8Array.from([92])})})})});
|
|
2
2
|
//# sourceMappingURL=DefaultDataStoreService.test.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/internal/data-store/service/DefaultDataStoreService.test.ts"],
|
|
4
|
-
"sourcesContent": ["import { Left, Right } from \"purify-ts\";\n\nimport { type DataStore } from \"@internal/data-store/model/DataStore\";\nimport { Leaf } from \"@internal/merkle-tree/model/Leaf\";\nimport { MerkleTree } from \"@internal/merkle-tree/model/MerkleTree\";\nimport { type HasherService } from \"@internal/merkle-tree/service/HasherService\";\nimport { type MerkleMapBuilder } from \"@internal/merkle-tree/service/MerkleMapBuilder\";\nimport { type MerkleTreeBuilder } from \"@internal/merkle-tree/service/MerkleTreeBuilder\";\nimport { Psbt } from \"@internal/psbt/model/Psbt\";\nimport { Value } from \"@internal/psbt/model/Value\";\nimport { Wallet } from \"@internal/wallet/model/Wallet\";\nimport { type WalletSerializer } from \"@internal/wallet/service/WalletSerializer\";\n\nimport { DefaultDataStoreService } from \"./DefaultDataStoreService\";\n\ndescribe(\"DefaultDataStoreService\", () => {\n const mockMerkleMapBuilder = {\n build: jest.fn(),\n };\n\n const mockMerkleTreeBuilder = {\n build: jest.fn(),\n };\n\n const mockWalletSerialize = jest.fn();\n const mockWalletSerializer: WalletSerializer = {\n serialize: mockWalletSerialize,\n getId: jest.fn(),\n };\n\n const mockDataStore = {\n getPreimage: jest.fn(),\n getMerkleLeafIndex: jest.fn(),\n getMerkleProof: jest.fn(),\n addPreimage: jest.fn(),\n addMerkleTree: jest.fn(),\n addMerkleMap: jest.fn(),\n };\n\n const mockedHash = jest.fn();\n const mockedHasherService: HasherService = {\n hash: mockedHash,\n };\n\n function createMerkleMap(commitment: number) {\n return {\n getCommitment: () => Uint8Array.from([commitment]),\n };\n }\n\n function createMerkleTree(root: number) {\n return {\n getRoot: () => Uint8Array.from([root]),\n };\n }\n\n describe(\"Merkleize chunks\", () => {\n beforeEach(() => {\n jest.resetAllMocks();\n });\n\n it(\"Success case\", () => {\n // Given\n const chunks = [\n Uint8Array.from([0]),\n Uint8Array.from([2]),\n Uint8Array.from([3]),\n ];\n const merkleTree = createMerkleTree(91);\n const storeService = new DefaultDataStoreService(\n mockMerkleTreeBuilder as unknown as MerkleTreeBuilder,\n mockMerkleMapBuilder as unknown as MerkleMapBuilder,\n mockWalletSerializer,\n mockedHasherService,\n );\n\n // When\n mockMerkleTreeBuilder.build.mockReturnValueOnce(merkleTree);\n const commitment = storeService.merklizeChunks(\n mockDataStore as unknown as DataStore,\n chunks,\n );\n\n // Then\n expect(mockMerkleTreeBuilder.build).toHaveBeenCalledWith(chunks);\n expect(mockDataStore.addMerkleTree).toHaveBeenCalledWith(merkleTree);\n expect(commitment).toStrictEqual(Uint8Array.from([91]));\n });\n });\n\n describe(\"Merkleize wallet\", () => {\n beforeEach(() => {\n jest.resetAllMocks();\n });\n\n it(\"Success case\", () => {\n // Given\n const merkleTree = new MerkleTree(\n new Leaf(new Uint8Array(), new Uint8Array(32).fill(7)),\n [],\n );\n const serialized = new Uint8Array(5).fill(6);\n const hash1 = new Uint8Array(5).fill(7);\n const hash2 = new Uint8Array(5).fill(8);\n const wallet = new Wallet({\n name: \"Cold storage\",\n descriptorTemplate: \"template descriptor\",\n keys: [\"key1\", \"key2\", \"key3\"],\n hmac: new Uint8Array(),\n keysTree: merkleTree,\n descriptorBuffer: new Uint8Array(32).fill(42),\n });\n const storeService = new DefaultDataStoreService(\n mockMerkleTreeBuilder as unknown as MerkleTreeBuilder,\n mockMerkleMapBuilder as unknown as MerkleMapBuilder,\n mockWalletSerializer,\n mockedHasherService,\n );\n\n // When\n mockWalletSerialize.mockReturnValueOnce(serialized);\n mockedHash.mockReturnValueOnce(hash1).mockReturnValueOnce(hash2);\n storeService.merklizeWallet(\n mockDataStore as unknown as DataStore,\n wallet,\n );\n\n // Then\n expect(mockWalletSerialize).toHaveBeenCalledWith(wallet);\n expect(mockedHash).toHaveBeenCalledWith(serialized);\n expect(mockedHash).toHaveBeenCalledWith(wallet.descriptorBuffer);\n expect(mockDataStore.addPreimage).toHaveBeenCalledWith(hash1, serialized);\n expect(mockDataStore.addPreimage).toHaveBeenCalledWith(\n hash2,\n new Uint8Array(32).fill(42),\n );\n expect(mockDataStore.addMerkleTree).toHaveBeenCalledWith(merkleTree);\n });\n });\n\n describe(\"Merkleize a PSBT\", () => {\n const TEST_PSBT = {\n globalMap: new Map<string, Value>([\n [\"02\", new Value(Uint8Array.from([2]))],\n [\"01\", new Value(Uint8Array.from([1]))],\n [\"03\", new Value(Uint8Array.from([3]))],\n ]),\n inputMaps: [\n new Map<string, Value>([\n [\"09\", new Value(Uint8Array.from([9]))],\n [\"01\", new Value(Uint8Array.from([1]))],\n [\"07\", new Value(Uint8Array.from([7]))],\n ]),\n new Map<string, Value>([\n [\"07\", new Value(Uint8Array.from([7]))],\n [\"03\", new Value(Uint8Array.from([3]))],\n [\"01\", new Value(Uint8Array.from([1]))],\n ]),\n ],\n outputMaps: [\n new Map<string, Value>([\n [\"05\", new Value(Uint8Array.from([5]))],\n [\"06\", new Value(Uint8Array.from([6]))],\n [\"07\", new Value(Uint8Array.from([7]))],\n ]),\n ],\n };\n\n beforeEach(() => {\n jest.resetAllMocks();\n });\n\n it(\"Merkle map service failure\", () => {\n // Given\n const storeService = new DefaultDataStoreService(\n mockMerkleTreeBuilder as unknown as MerkleTreeBuilder,\n mockMerkleMapBuilder as unknown as MerkleMapBuilder,\n mockWalletSerializer,\n mockedHasherService,\n );\n const psbt = new Psbt(TEST_PSBT.globalMap, [], []);\n\n // When\n mockMerkleMapBuilder.build.mockReturnValueOnce(Left(new Error()));\n const commitment = storeService.merklizePsbt(\n mockDataStore as unknown as DataStore,\n psbt,\n );\n\n // Then\n expect(commitment.isRight()).toStrictEqual(false);\n });\n\n it(\"Merkle map service failure on inputs\", () => {\n // Given\n const storeService = new DefaultDataStoreService(\n mockMerkleTreeBuilder as unknown as MerkleTreeBuilder,\n mockMerkleMapBuilder as unknown as MerkleMapBuilder,\n mockWalletSerializer,\n mockedHasherService,\n );\n const psbt = new Psbt(TEST_PSBT.globalMap, TEST_PSBT.inputMaps, []);\n\n // When\n mockMerkleMapBuilder.build\n .mockReturnValueOnce(Right(createMerkleMap(42)))\n .mockReturnValueOnce(Right(createMerkleMap(43)))\n .mockReturnValueOnce(Left(new Error()));\n const commitment = storeService.merklizePsbt(\n mockDataStore as unknown as DataStore,\n psbt,\n );\n\n // Then\n expect(commitment.isRight()).toStrictEqual(false);\n });\n\n it(\"Merkle map service failure on outputs\", () => {\n // Given\n const storeService = new DefaultDataStoreService(\n mockMerkleTreeBuilder as unknown as MerkleTreeBuilder,\n mockMerkleMapBuilder as unknown as MerkleMapBuilder,\n mockWalletSerializer,\n mockedHasherService,\n );\n\n // When\n const psbt = new Psbt(\n TEST_PSBT.globalMap,\n TEST_PSBT.inputMaps,\n TEST_PSBT.outputMaps,\n );\n mockMerkleMapBuilder.build\n .mockReturnValueOnce(Right(createMerkleMap(42)))\n .mockReturnValueOnce(Right(createMerkleMap(43)))\n .mockReturnValueOnce(Right(createMerkleMap(44)))\n .mockReturnValueOnce(Left(new Error()));\n const commitment = storeService.merklizePsbt(\n mockDataStore as unknown as DataStore,\n psbt,\n );\n\n // Then\n expect(commitment.isRight()).toStrictEqual(false);\n });\n\n it(\"Maps should be ordered\", () => {\n // Given\n const storeService = new DefaultDataStoreService(\n mockMerkleTreeBuilder as unknown as MerkleTreeBuilder,\n mockMerkleMapBuilder as unknown as MerkleMapBuilder,\n mockWalletSerializer,\n mockedHasherService,\n );\n const psbt = new Psbt(\n TEST_PSBT.globalMap,\n TEST_PSBT.inputMaps,\n TEST_PSBT.outputMaps,\n );\n\n // When\n mockMerkleMapBuilder.build.mockReturnValue(Left(new Error()));\n storeService.merklizePsbt(mockDataStore as unknown as DataStore, psbt);\n\n // Then\n expect(mockMerkleMapBuilder.build).toHaveBeenCalledWith(\n [Uint8Array.from([1]), Uint8Array.from([2]), Uint8Array.from([3])],\n [Uint8Array.from([1]), Uint8Array.from([2]), Uint8Array.from([3])],\n );\n expect(mockMerkleMapBuilder.build).toHaveBeenCalledWith(\n [Uint8Array.from([1]), Uint8Array.from([7]), Uint8Array.from([9])],\n [Uint8Array.from([1]), Uint8Array.from([7]), Uint8Array.from([9])],\n );\n expect(mockMerkleMapBuilder.build).toHaveBeenCalledWith(\n [Uint8Array.from([1]), Uint8Array.from([3]), Uint8Array.from([7])],\n [Uint8Array.from([1]), Uint8Array.from([3]), Uint8Array.from([7])],\n );\n expect(mockMerkleMapBuilder.build).toHaveBeenCalledWith(\n [Uint8Array.from([5]), Uint8Array.from([6]), Uint8Array.from([7])],\n [Uint8Array.from([5]), Uint8Array.from([6]), Uint8Array.from([7])],\n );\n });\n\n it(\"Success case\", () => {\n // Given\n const merkleMap1 = createMerkleMap(42);\n const merkleMap2 = createMerkleMap(43);\n const merkleMap3 = createMerkleMap(44);\n const merkleMap4 = createMerkleMap(45);\n const merkleTree1 = createMerkleTree(91);\n const merkleTree2 = createMerkleTree(92);\n const storeService = new DefaultDataStoreService(\n mockMerkleTreeBuilder as unknown as MerkleTreeBuilder,\n mockMerkleMapBuilder as unknown as MerkleMapBuilder,\n mockWalletSerializer,\n mockedHasherService,\n );\n const psbt = new Psbt(\n TEST_PSBT.globalMap,\n TEST_PSBT.inputMaps,\n TEST_PSBT.outputMaps,\n );\n\n // When\n mockMerkleMapBuilder.build\n .mockReturnValueOnce(Right(merkleMap1))\n .mockReturnValueOnce(Right(merkleMap2))\n .mockReturnValueOnce(Right(merkleMap3))\n .mockReturnValueOnce(Right(merkleMap4));\n mockMerkleTreeBuilder.build\n .mockReturnValueOnce(merkleTree1)\n .mockReturnValueOnce(merkleTree2);\n const commitment = storeService.merklizePsbt(\n mockDataStore as unknown as DataStore,\n psbt,\n );\n\n // Then\n expect(mockDataStore.addMerkleMap).toHaveBeenCalledWith(merkleMap1);\n expect(mockDataStore.addMerkleMap).toHaveBeenCalledWith(merkleMap2);\n expect(mockDataStore.addMerkleMap).toHaveBeenCalledWith(merkleMap3);\n expect(mockDataStore.addMerkleMap).toHaveBeenCalledWith(merkleMap4);\n expect(mockDataStore.addMerkleTree).toHaveBeenCalledWith(merkleTree1);\n expect(mockDataStore.addMerkleTree).toHaveBeenCalledWith(merkleTree2);\n expect(mockMerkleTreeBuilder.build).toHaveBeenCalledWith([\n Uint8Array.from([43]),\n Uint8Array.from([44]),\n ]);\n expect(mockMerkleTreeBuilder.build).toHaveBeenCalledWith([\n Uint8Array.from([45]),\n ]);\n expect(commitment.isRight()).toStrictEqual(true);\n expect(commitment.unsafeCoerce()).toStrictEqual({\n globalCommitment: Uint8Array.from([42]),\n inputsRoot: Uint8Array.from([91]),\n outputsRoot: Uint8Array.from([92]),\n });\n });\n });\n});\n"],
|
|
5
|
-
"mappings": "aAAA,IAAAA,EAA4B,qBAG5BC,EAAqB,4CACrBC,EAA2B,kDAI3BC,EAAqB,qCACrBC,EAAsB,sCACtBC,EAAuB,yCAGvBC,EAAwC,qCAExC,SAAS,0BAA2B,IAAM,CACxC,MAAMC,EAAuB,CAC3B,MAAO,
|
|
4
|
+
"sourcesContent": ["import { Left, Right } from \"purify-ts\";\n\nimport { type DataStore } from \"@internal/data-store/model/DataStore\";\nimport { Leaf } from \"@internal/merkle-tree/model/Leaf\";\nimport { MerkleTree } from \"@internal/merkle-tree/model/MerkleTree\";\nimport { type HasherService } from \"@internal/merkle-tree/service/HasherService\";\nimport { type MerkleMapBuilder } from \"@internal/merkle-tree/service/MerkleMapBuilder\";\nimport { type MerkleTreeBuilder } from \"@internal/merkle-tree/service/MerkleTreeBuilder\";\nimport { Psbt } from \"@internal/psbt/model/Psbt\";\nimport { Value } from \"@internal/psbt/model/Value\";\nimport { Wallet } from \"@internal/wallet/model/Wallet\";\nimport { type WalletSerializer } from \"@internal/wallet/service/WalletSerializer\";\n\nimport { DefaultDataStoreService } from \"./DefaultDataStoreService\";\n\ndescribe(\"DefaultDataStoreService\", () => {\n const mockMerkleMapBuilder = {\n build: vi.fn(),\n };\n\n const mockMerkleTreeBuilder = {\n build: vi.fn(),\n };\n\n const mockWalletSerialize = vi.fn();\n const mockWalletSerializer: WalletSerializer = {\n serialize: mockWalletSerialize,\n getId: vi.fn(),\n };\n\n const mockDataStore = {\n getPreimage: vi.fn(),\n getMerkleLeafIndex: vi.fn(),\n getMerkleProof: vi.fn(),\n addPreimage: vi.fn(),\n addMerkleTree: vi.fn(),\n addMerkleMap: vi.fn(),\n };\n\n const mockedHash = vi.fn();\n const mockedHasherService: HasherService = {\n hash: mockedHash,\n };\n\n function createMerkleMap(commitment: number) {\n return {\n getCommitment: () => Uint8Array.from([commitment]),\n };\n }\n\n function createMerkleTree(root: number) {\n return {\n getRoot: () => Uint8Array.from([root]),\n };\n }\n\n describe(\"Merkleize chunks\", () => {\n beforeEach(() => {\n vi.resetAllMocks();\n });\n\n it(\"Success case\", () => {\n // Given\n const chunks = [\n Uint8Array.from([0]),\n Uint8Array.from([2]),\n Uint8Array.from([3]),\n ];\n const merkleTree = createMerkleTree(91);\n const storeService = new DefaultDataStoreService(\n mockMerkleTreeBuilder as unknown as MerkleTreeBuilder,\n mockMerkleMapBuilder as unknown as MerkleMapBuilder,\n mockWalletSerializer,\n mockedHasherService,\n );\n\n // When\n mockMerkleTreeBuilder.build.mockReturnValueOnce(merkleTree);\n const commitment = storeService.merklizeChunks(\n mockDataStore as unknown as DataStore,\n chunks,\n );\n\n // Then\n expect(mockMerkleTreeBuilder.build).toHaveBeenCalledWith(chunks);\n expect(mockDataStore.addMerkleTree).toHaveBeenCalledWith(merkleTree);\n expect(commitment).toStrictEqual(Uint8Array.from([91]));\n });\n });\n\n describe(\"Merkleize wallet\", () => {\n beforeEach(() => {\n vi.resetAllMocks();\n });\n\n it(\"Success case\", () => {\n // Given\n const merkleTree = new MerkleTree(\n new Leaf(new Uint8Array(), new Uint8Array(32).fill(7)),\n [],\n );\n const serialized = new Uint8Array(5).fill(6);\n const hash1 = new Uint8Array(5).fill(7);\n const hash2 = new Uint8Array(5).fill(8);\n const wallet = new Wallet({\n name: \"Cold storage\",\n descriptorTemplate: \"template descriptor\",\n keys: [\"key1\", \"key2\", \"key3\"],\n hmac: new Uint8Array(),\n keysTree: merkleTree,\n descriptorBuffer: new Uint8Array(32).fill(42),\n });\n const storeService = new DefaultDataStoreService(\n mockMerkleTreeBuilder as unknown as MerkleTreeBuilder,\n mockMerkleMapBuilder as unknown as MerkleMapBuilder,\n mockWalletSerializer,\n mockedHasherService,\n );\n\n // When\n mockWalletSerialize.mockReturnValueOnce(serialized);\n mockedHash.mockReturnValueOnce(hash1).mockReturnValueOnce(hash2);\n storeService.merklizeWallet(\n mockDataStore as unknown as DataStore,\n wallet,\n );\n\n // Then\n expect(mockWalletSerialize).toHaveBeenCalledWith(wallet);\n expect(mockedHash).toHaveBeenCalledWith(serialized);\n expect(mockedHash).toHaveBeenCalledWith(wallet.descriptorBuffer);\n expect(mockDataStore.addPreimage).toHaveBeenCalledWith(hash1, serialized);\n expect(mockDataStore.addPreimage).toHaveBeenCalledWith(\n hash2,\n new Uint8Array(32).fill(42),\n );\n expect(mockDataStore.addMerkleTree).toHaveBeenCalledWith(merkleTree);\n });\n });\n\n describe(\"Merkleize a PSBT\", () => {\n const TEST_PSBT = {\n globalMap: new Map<string, Value>([\n [\"02\", new Value(Uint8Array.from([2]))],\n [\"01\", new Value(Uint8Array.from([1]))],\n [\"03\", new Value(Uint8Array.from([3]))],\n ]),\n inputMaps: [\n new Map<string, Value>([\n [\"09\", new Value(Uint8Array.from([9]))],\n [\"01\", new Value(Uint8Array.from([1]))],\n [\"07\", new Value(Uint8Array.from([7]))],\n ]),\n new Map<string, Value>([\n [\"07\", new Value(Uint8Array.from([7]))],\n [\"03\", new Value(Uint8Array.from([3]))],\n [\"01\", new Value(Uint8Array.from([1]))],\n ]),\n ],\n outputMaps: [\n new Map<string, Value>([\n [\"05\", new Value(Uint8Array.from([5]))],\n [\"06\", new Value(Uint8Array.from([6]))],\n [\"07\", new Value(Uint8Array.from([7]))],\n ]),\n ],\n };\n\n beforeEach(() => {\n vi.resetAllMocks();\n });\n\n it(\"Merkle map service failure\", () => {\n // Given\n const storeService = new DefaultDataStoreService(\n mockMerkleTreeBuilder as unknown as MerkleTreeBuilder,\n mockMerkleMapBuilder as unknown as MerkleMapBuilder,\n mockWalletSerializer,\n mockedHasherService,\n );\n const psbt = new Psbt(TEST_PSBT.globalMap, [], []);\n\n // When\n mockMerkleMapBuilder.build.mockReturnValueOnce(Left(new Error()));\n const commitment = storeService.merklizePsbt(\n mockDataStore as unknown as DataStore,\n psbt,\n );\n\n // Then\n expect(commitment.isRight()).toStrictEqual(false);\n });\n\n it(\"Merkle map service failure on inputs\", () => {\n // Given\n const storeService = new DefaultDataStoreService(\n mockMerkleTreeBuilder as unknown as MerkleTreeBuilder,\n mockMerkleMapBuilder as unknown as MerkleMapBuilder,\n mockWalletSerializer,\n mockedHasherService,\n );\n const psbt = new Psbt(TEST_PSBT.globalMap, TEST_PSBT.inputMaps, []);\n\n // When\n mockMerkleMapBuilder.build\n .mockReturnValueOnce(Right(createMerkleMap(42)))\n .mockReturnValueOnce(Right(createMerkleMap(43)))\n .mockReturnValueOnce(Left(new Error()));\n const commitment = storeService.merklizePsbt(\n mockDataStore as unknown as DataStore,\n psbt,\n );\n\n // Then\n expect(commitment.isRight()).toStrictEqual(false);\n });\n\n it(\"Merkle map service failure on outputs\", () => {\n // Given\n const storeService = new DefaultDataStoreService(\n mockMerkleTreeBuilder as unknown as MerkleTreeBuilder,\n mockMerkleMapBuilder as unknown as MerkleMapBuilder,\n mockWalletSerializer,\n mockedHasherService,\n );\n\n // When\n const psbt = new Psbt(\n TEST_PSBT.globalMap,\n TEST_PSBT.inputMaps,\n TEST_PSBT.outputMaps,\n );\n mockMerkleMapBuilder.build\n .mockReturnValueOnce(Right(createMerkleMap(42)))\n .mockReturnValueOnce(Right(createMerkleMap(43)))\n .mockReturnValueOnce(Right(createMerkleMap(44)))\n .mockReturnValueOnce(Left(new Error()));\n const commitment = storeService.merklizePsbt(\n mockDataStore as unknown as DataStore,\n psbt,\n );\n\n // Then\n expect(commitment.isRight()).toStrictEqual(false);\n });\n\n it(\"Maps should be ordered\", () => {\n // Given\n const storeService = new DefaultDataStoreService(\n mockMerkleTreeBuilder as unknown as MerkleTreeBuilder,\n mockMerkleMapBuilder as unknown as MerkleMapBuilder,\n mockWalletSerializer,\n mockedHasherService,\n );\n const psbt = new Psbt(\n TEST_PSBT.globalMap,\n TEST_PSBT.inputMaps,\n TEST_PSBT.outputMaps,\n );\n\n // When\n mockMerkleMapBuilder.build.mockReturnValue(Left(new Error()));\n storeService.merklizePsbt(mockDataStore as unknown as DataStore, psbt);\n\n // Then\n expect(mockMerkleMapBuilder.build).toHaveBeenCalledWith(\n [Uint8Array.from([1]), Uint8Array.from([2]), Uint8Array.from([3])],\n [Uint8Array.from([1]), Uint8Array.from([2]), Uint8Array.from([3])],\n );\n expect(mockMerkleMapBuilder.build).toHaveBeenCalledWith(\n [Uint8Array.from([1]), Uint8Array.from([7]), Uint8Array.from([9])],\n [Uint8Array.from([1]), Uint8Array.from([7]), Uint8Array.from([9])],\n );\n expect(mockMerkleMapBuilder.build).toHaveBeenCalledWith(\n [Uint8Array.from([1]), Uint8Array.from([3]), Uint8Array.from([7])],\n [Uint8Array.from([1]), Uint8Array.from([3]), Uint8Array.from([7])],\n );\n expect(mockMerkleMapBuilder.build).toHaveBeenCalledWith(\n [Uint8Array.from([5]), Uint8Array.from([6]), Uint8Array.from([7])],\n [Uint8Array.from([5]), Uint8Array.from([6]), Uint8Array.from([7])],\n );\n });\n\n it(\"Success case\", () => {\n // Given\n const merkleMap1 = createMerkleMap(42);\n const merkleMap2 = createMerkleMap(43);\n const merkleMap3 = createMerkleMap(44);\n const merkleMap4 = createMerkleMap(45);\n const merkleTree1 = createMerkleTree(91);\n const merkleTree2 = createMerkleTree(92);\n const storeService = new DefaultDataStoreService(\n mockMerkleTreeBuilder as unknown as MerkleTreeBuilder,\n mockMerkleMapBuilder as unknown as MerkleMapBuilder,\n mockWalletSerializer,\n mockedHasherService,\n );\n const psbt = new Psbt(\n TEST_PSBT.globalMap,\n TEST_PSBT.inputMaps,\n TEST_PSBT.outputMaps,\n );\n\n // When\n mockMerkleMapBuilder.build\n .mockReturnValueOnce(Right(merkleMap1))\n .mockReturnValueOnce(Right(merkleMap2))\n .mockReturnValueOnce(Right(merkleMap3))\n .mockReturnValueOnce(Right(merkleMap4));\n mockMerkleTreeBuilder.build\n .mockReturnValueOnce(merkleTree1)\n .mockReturnValueOnce(merkleTree2);\n const commitment = storeService.merklizePsbt(\n mockDataStore as unknown as DataStore,\n psbt,\n );\n\n // Then\n expect(mockDataStore.addMerkleMap).toHaveBeenCalledWith(merkleMap1);\n expect(mockDataStore.addMerkleMap).toHaveBeenCalledWith(merkleMap2);\n expect(mockDataStore.addMerkleMap).toHaveBeenCalledWith(merkleMap3);\n expect(mockDataStore.addMerkleMap).toHaveBeenCalledWith(merkleMap4);\n expect(mockDataStore.addMerkleTree).toHaveBeenCalledWith(merkleTree1);\n expect(mockDataStore.addMerkleTree).toHaveBeenCalledWith(merkleTree2);\n expect(mockMerkleTreeBuilder.build).toHaveBeenCalledWith([\n Uint8Array.from([43]),\n Uint8Array.from([44]),\n ]);\n expect(mockMerkleTreeBuilder.build).toHaveBeenCalledWith([\n Uint8Array.from([45]),\n ]);\n expect(commitment.isRight()).toStrictEqual(true);\n expect(commitment.unsafeCoerce()).toStrictEqual({\n globalCommitment: Uint8Array.from([42]),\n inputsRoot: Uint8Array.from([91]),\n outputsRoot: Uint8Array.from([92]),\n });\n });\n });\n});\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["import_purify_ts", "import_Leaf", "import_MerkleTree", "import_Psbt", "import_Value", "import_Wallet", "import_DefaultDataStoreService", "mockMerkleMapBuilder", "mockMerkleTreeBuilder", "mockWalletSerialize", "mockWalletSerializer", "mockDataStore", "mockedHash", "mockedHasherService", "createMerkleMap", "commitment", "createMerkleTree", "root", "chunks", "merkleTree", "storeService", "serialized", "hash1", "hash2", "wallet", "TEST_PSBT", "psbt", "merkleMap1", "merkleMap2", "merkleMap3", "merkleMap4", "merkleTree1", "merkleTree2"]
|
|
7
7
|
}
|
package/lib/cjs/internal/di.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var n=Object.defineProperty;var
|
|
1
|
+
"use strict";var n=Object.defineProperty;var M=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var f=Object.prototype.hasOwnProperty;var C=(o,e)=>{for(var t in e)n(o,t,{get:e[t],enumerable:!0})},D=(o,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of u(e))!f.call(o,r)&&r!==t&&n(o,r,{get:()=>e[r],enumerable:!(i=M(e,r))||i.enumerable});return o};var k=o=>D(n({},"__esModule",{value:!0}),o);var F={};C(F,{makeContainer:()=>v});module.exports=k(F);var m=require("inversify"),s=require("./data-store/di/dataStoreModule"),a=require("./externalTypes"),p=require("./merkle-tree/di/merkleTreeModule"),d=require("./psbt/di/psbtModule"),c=require("./use-cases/di/useCasesModule"),l=require("./wallet/di/walletModule"),y=require("./app-binder/di/appBinderModule");const v=({dmk:o,sessionId:e})=>{const t=new m.Container;return t.bind(a.externalTypes.Dmk).toConstantValue(o),t.bind(a.externalTypes.SessionId).toConstantValue(e),t.loadSync((0,y.appBinderModuleFactory)(),(0,c.useCasesModuleFactory)(),(0,l.walletModuleFactory)(),(0,d.psbtModuleFactory)(),(0,s.dataStoreModuleFactory)(),(0,p.merkleTreeModuleFactory)()),t};0&&(module.exports={makeContainer});
|
|
2
2
|
//# sourceMappingURL=di.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/internal/di.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n type DeviceManagementKit,\n type DeviceSessionId,\n} from \"@ledgerhq/device-management-kit\";\nimport { Container } from \"inversify\";\n\nimport { dataStoreModuleFactory } from \"@internal/data-store/di/dataStoreModule\";\nimport { externalTypes } from \"@internal/externalTypes\";\nimport { merkleTreeModuleFactory } from \"@internal/merkle-tree/di/merkleTreeModule\";\nimport { psbtModuleFactory } from \"@internal/psbt/di/psbtModule\";\nimport { useCasesModuleFactory } from \"@internal/use-cases/di/useCasesModule\";\nimport { walletModuleFactory } from \"@internal/wallet/di/walletModule\";\n\nimport { appBinderModuleFactory } from \"./app-binder/di/appBinderModule\";\n\ntype MakeContainerProps = {\n dmk: DeviceManagementKit;\n sessionId: DeviceSessionId;\n};\nexport const makeContainer = ({ dmk, sessionId }: MakeContainerProps) => {\n const container = new Container();\n\n container.bind<DeviceManagementKit>(externalTypes.Dmk).toConstantValue(dmk);\n container\n .bind<DeviceSessionId>(externalTypes.SessionId)\n .toConstantValue(sessionId);\n\n container.
|
|
5
|
-
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,mBAAAE,IAAA,eAAAC,EAAAH,GAIA,IAAAI,EAA0B,qBAE1BC,EAAuC,mDACvCC,EAA8B,mCAC9BC,EAAwC,qDACxCC,EAAkC,wCAClCC,EAAsC,iDACtCC,EAAoC,4CAEpCC,EAAuC,2CAMhC,MAAMT,EAAgB,CAAC,CAAE,IAAAU,EAAK,UAAAC,CAAU,IAA0B,CACvE,MAAMC,EAAY,IAAI,YAEtB,OAAAA,EAAU,KAA0B,gBAAc,GAAG,EAAE,gBAAgBF,CAAG,EAC1EE,EACG,KAAsB,gBAAc,SAAS,EAC7C,gBAAgBD,CAAS,EAE5BC,EAAU,
|
|
4
|
+
"sourcesContent": ["import {\n type DeviceManagementKit,\n type DeviceSessionId,\n} from \"@ledgerhq/device-management-kit\";\nimport { Container } from \"inversify\";\n\nimport { dataStoreModuleFactory } from \"@internal/data-store/di/dataStoreModule\";\nimport { externalTypes } from \"@internal/externalTypes\";\nimport { merkleTreeModuleFactory } from \"@internal/merkle-tree/di/merkleTreeModule\";\nimport { psbtModuleFactory } from \"@internal/psbt/di/psbtModule\";\nimport { useCasesModuleFactory } from \"@internal/use-cases/di/useCasesModule\";\nimport { walletModuleFactory } from \"@internal/wallet/di/walletModule\";\n\nimport { appBinderModuleFactory } from \"./app-binder/di/appBinderModule\";\n\ntype MakeContainerProps = {\n dmk: DeviceManagementKit;\n sessionId: DeviceSessionId;\n};\nexport const makeContainer = ({ dmk, sessionId }: MakeContainerProps) => {\n const container = new Container();\n\n container.bind<DeviceManagementKit>(externalTypes.Dmk).toConstantValue(dmk);\n container\n .bind<DeviceSessionId>(externalTypes.SessionId)\n .toConstantValue(sessionId);\n\n container.loadSync(\n appBinderModuleFactory(),\n useCasesModuleFactory(),\n walletModuleFactory(),\n psbtModuleFactory(),\n dataStoreModuleFactory(),\n merkleTreeModuleFactory(),\n );\n\n return container;\n};\n"],
|
|
5
|
+
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,mBAAAE,IAAA,eAAAC,EAAAH,GAIA,IAAAI,EAA0B,qBAE1BC,EAAuC,mDACvCC,EAA8B,mCAC9BC,EAAwC,qDACxCC,EAAkC,wCAClCC,EAAsC,iDACtCC,EAAoC,4CAEpCC,EAAuC,2CAMhC,MAAMT,EAAgB,CAAC,CAAE,IAAAU,EAAK,UAAAC,CAAU,IAA0B,CACvE,MAAMC,EAAY,IAAI,YAEtB,OAAAA,EAAU,KAA0B,gBAAc,GAAG,EAAE,gBAAgBF,CAAG,EAC1EE,EACG,KAAsB,gBAAc,SAAS,EAC7C,gBAAgBD,CAAS,EAE5BC,EAAU,YACR,0BAAuB,KACvB,yBAAsB,KACtB,uBAAoB,KACpB,qBAAkB,KAClB,0BAAuB,KACvB,2BAAwB,CAC1B,EAEOA,CACT",
|
|
6
6
|
"names": ["di_exports", "__export", "makeContainer", "__toCommonJS", "import_inversify", "import_dataStoreModule", "import_externalTypes", "import_merkleTreeModule", "import_psbtModule", "import_useCasesModule", "import_walletModule", "import_appBinderModule", "dmk", "sessionId", "container"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var t=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var f=Object.getOwnPropertyNames;var T=Object.prototype.hasOwnProperty;var c=(e,r)=>{for(var l in r)t(e,l,{get:r[l],enumerable:!0})},d=(e,r,l,i)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of f(r))!T.call(e,o)&&o!==l&&t(e,o,{get:()=>r[o],enumerable:!(i=u(r,o))||i.enumerable});return e};var s=e=>d(t({},"__esModule",{value:!0}),e);var h={};c(h,{merkleTreeModuleFactory:()=>B});module.exports=s(h);var p=require("inversify"),m=require("../../merkle-tree/di/merkleTreeTypes"),M=require("../../merkle-tree/service/MerkleMapBuilder"),a=require("../../merkle-tree/service/MerkleTreeBuilder"),k=require("../../merkle-tree/service/Sha256HasherService");const B=()=>new p.ContainerModule(({bind:e})=>{e(m.merkleTreeTypes.HasherService).to(k.Sha256HasherService),e(m.merkleTreeTypes.MerkleTreeBuilder).to(a.MerkleTreeBuilder),e(m.merkleTreeTypes.MerkleMapBuilder).to(M.MerkleMapBuilder)});0&&(module.exports={merkleTreeModuleFactory});
|
|
2
2
|
//# sourceMappingURL=merkleTreeModule.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/internal/merkle-tree/di/merkleTreeModule.ts"],
|
|
4
|
-
"sourcesContent": ["import { ContainerModule } from \"inversify\";\n\nimport { merkleTreeTypes } from \"@internal/merkle-tree/di/merkleTreeTypes\";\nimport { MerkleMapBuilder } from \"@internal/merkle-tree/service/MerkleMapBuilder\";\nimport { MerkleTreeBuilder } from \"@internal/merkle-tree/service/MerkleTreeBuilder\";\nimport { Sha256HasherService } from \"@internal/merkle-tree/service/Sha256HasherService\";\n\nexport const merkleTreeModuleFactory = () =>\n new ContainerModule(
|
|
5
|
-
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,6BAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAgC,qBAEhCC,EAAgC,oDAChCC,EAAiC,0DACjCC,EAAkC,2DAClCC,EAAoC,6DAE7B,MAAMN,EAA0B,IACrC,IAAI,
|
|
6
|
-
"names": ["merkleTreeModule_exports", "__export", "merkleTreeModuleFactory", "__toCommonJS", "import_inversify", "import_merkleTreeTypes", "import_MerkleMapBuilder", "import_MerkleTreeBuilder", "import_Sha256HasherService", "bind"
|
|
4
|
+
"sourcesContent": ["import { ContainerModule } from \"inversify\";\n\nimport { merkleTreeTypes } from \"@internal/merkle-tree/di/merkleTreeTypes\";\nimport { MerkleMapBuilder } from \"@internal/merkle-tree/service/MerkleMapBuilder\";\nimport { MerkleTreeBuilder } from \"@internal/merkle-tree/service/MerkleTreeBuilder\";\nimport { Sha256HasherService } from \"@internal/merkle-tree/service/Sha256HasherService\";\n\nexport const merkleTreeModuleFactory = () =>\n new ContainerModule(({ bind }) => {\n bind(merkleTreeTypes.HasherService).to(Sha256HasherService);\n bind(merkleTreeTypes.MerkleTreeBuilder).to(MerkleTreeBuilder);\n bind(merkleTreeTypes.MerkleMapBuilder).to(MerkleMapBuilder);\n });\n"],
|
|
5
|
+
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,6BAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAgC,qBAEhCC,EAAgC,oDAChCC,EAAiC,0DACjCC,EAAkC,2DAClCC,EAAoC,6DAE7B,MAAMN,EAA0B,IACrC,IAAI,kBAAgB,CAAC,CAAE,KAAAO,CAAK,IAAM,CAChCA,EAAK,kBAAgB,aAAa,EAAE,GAAG,qBAAmB,EAC1DA,EAAK,kBAAgB,iBAAiB,EAAE,GAAG,mBAAiB,EAC5DA,EAAK,kBAAgB,gBAAgB,EAAE,GAAG,kBAAgB,CAC5D,CAAC",
|
|
6
|
+
"names": ["merkleTreeModule_exports", "__export", "merkleTreeModuleFactory", "__toCommonJS", "import_inversify", "import_merkleTreeTypes", "import_MerkleMapBuilder", "import_MerkleTreeBuilder", "import_Sha256HasherService", "bind"]
|
|
7
7
|
}
|