@ledgerhq/device-contacts-kit 0.2.0 → 0.3.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/README.md +29 -2
- package/lib/cjs/api/ContactsManager.js +1 -1
- package/lib/cjs/api/ContactsManager.js.map +1 -1
- package/lib/cjs/api/app-binder/EditExternalAddressIdentifierDeviceActionTypes.js +2 -0
- package/lib/cjs/api/app-binder/EditExternalAddressIdentifierDeviceActionTypes.js.map +7 -0
- package/lib/cjs/api/app-binder/EditExternalAddressScopeDeviceActionTypes.js +2 -0
- package/lib/cjs/api/app-binder/EditExternalAddressScopeDeviceActionTypes.js.map +7 -0
- package/lib/cjs/api/app-binder/RenameContactDeviceActionTypes.js +2 -0
- package/lib/cjs/api/app-binder/RenameContactDeviceActionTypes.js.map +7 -0
- package/lib/cjs/api/index.js +1 -1
- package/lib/cjs/api/index.js.map +2 -2
- package/lib/cjs/api/model/EditExternalAddressIdentifier.js +2 -0
- package/lib/cjs/api/model/EditExternalAddressIdentifier.js.map +7 -0
- package/lib/cjs/api/model/EditExternalAddressScope.js +2 -0
- package/lib/cjs/api/model/EditExternalAddressScope.js.map +7 -0
- package/lib/cjs/api/model/RenameContact.js +2 -0
- package/lib/cjs/api/model/RenameContact.js.map +7 -0
- package/lib/cjs/internal/DefaultContactsManager.js +1 -1
- package/lib/cjs/internal/DefaultContactsManager.js.map +2 -2
- package/lib/cjs/internal/DefaultContactsManager.test.js +1 -1
- package/lib/cjs/internal/DefaultContactsManager.test.js.map +3 -3
- package/lib/cjs/internal/app-binder/ContactsAppBinder.js +1 -1
- package/lib/cjs/internal/app-binder/ContactsAppBinder.js.map +3 -3
- package/lib/cjs/internal/app-binder/command/EditExternalAddressIdentifierCommand.js +2 -0
- package/lib/cjs/internal/app-binder/command/EditExternalAddressIdentifierCommand.js.map +7 -0
- package/lib/cjs/internal/app-binder/command/EditExternalAddressIdentifierCommand.test.js +2 -0
- package/lib/cjs/internal/app-binder/command/EditExternalAddressIdentifierCommand.test.js.map +7 -0
- package/lib/cjs/internal/app-binder/command/EditExternalAddressScopeCommand.js +2 -0
- package/lib/cjs/internal/app-binder/command/EditExternalAddressScopeCommand.js.map +7 -0
- package/lib/cjs/internal/app-binder/command/EditExternalAddressScopeCommand.test.js +2 -0
- package/lib/cjs/internal/app-binder/command/EditExternalAddressScopeCommand.test.js.map +7 -0
- package/lib/cjs/internal/app-binder/command/RenameContactCommand.js +2 -0
- package/lib/cjs/internal/app-binder/command/RenameContactCommand.js.map +7 -0
- package/lib/cjs/internal/app-binder/command/RenameContactCommand.test.js +2 -0
- package/lib/cjs/internal/app-binder/command/RenameContactCommand.test.js.map +7 -0
- package/lib/cjs/internal/app-binder/contactsVersionGuards.js +2 -0
- package/lib/cjs/internal/app-binder/contactsVersionGuards.js.map +7 -0
- package/lib/cjs/internal/app-binder/contactsVersionGuards.test.js +2 -0
- package/lib/cjs/internal/app-binder/contactsVersionGuards.test.js.map +7 -0
- package/lib/cjs/internal/app-binder/device-action/EditExternalAddressIdentifier/EditExternalAddressIdentifierDeviceAction.js +2 -0
- package/lib/cjs/internal/app-binder/device-action/EditExternalAddressIdentifier/EditExternalAddressIdentifierDeviceAction.js.map +7 -0
- package/lib/cjs/internal/app-binder/device-action/EditExternalAddressIdentifier/EditExternalAddressIdentifierDeviceAction.test.js +2 -0
- package/lib/cjs/internal/app-binder/device-action/EditExternalAddressIdentifier/EditExternalAddressIdentifierDeviceAction.test.js.map +7 -0
- package/lib/cjs/internal/app-binder/device-action/EditExternalAddressIdentifier/validateEditExternalAddressIdentifierInput.js +2 -0
- package/lib/cjs/internal/app-binder/device-action/EditExternalAddressIdentifier/validateEditExternalAddressIdentifierInput.js.map +7 -0
- package/lib/cjs/internal/app-binder/device-action/EditExternalAddressIdentifier/validateEditExternalAddressIdentifierInput.test.js +2 -0
- package/lib/cjs/internal/app-binder/device-action/EditExternalAddressIdentifier/validateEditExternalAddressIdentifierInput.test.js.map +7 -0
- package/lib/cjs/internal/app-binder/device-action/EditExternalAddressScope/EditExternalAddressScopeDeviceAction.js +2 -0
- package/lib/cjs/internal/app-binder/device-action/EditExternalAddressScope/EditExternalAddressScopeDeviceAction.js.map +7 -0
- package/lib/cjs/internal/app-binder/device-action/EditExternalAddressScope/EditExternalAddressScopeDeviceAction.test.js +2 -0
- package/lib/cjs/internal/app-binder/device-action/EditExternalAddressScope/EditExternalAddressScopeDeviceAction.test.js.map +7 -0
- package/lib/cjs/internal/app-binder/device-action/EditExternalAddressScope/validateEditExternalAddressScopeInput.js +2 -0
- package/lib/cjs/internal/app-binder/device-action/EditExternalAddressScope/validateEditExternalAddressScopeInput.js.map +7 -0
- package/lib/cjs/internal/app-binder/device-action/EditExternalAddressScope/validateEditExternalAddressScopeInput.test.js +2 -0
- package/lib/cjs/internal/app-binder/device-action/EditExternalAddressScope/validateEditExternalAddressScopeInput.test.js.map +7 -0
- package/lib/cjs/internal/app-binder/device-action/RegisterExternalAddress/RegisterExternalAddressDeviceAction.js +1 -1
- package/lib/cjs/internal/app-binder/device-action/RegisterExternalAddress/RegisterExternalAddressDeviceAction.js.map +3 -3
- package/lib/cjs/internal/app-binder/device-action/RenameContact/RenameContactDeviceAction.js +2 -0
- package/lib/cjs/internal/app-binder/device-action/RenameContact/RenameContactDeviceAction.js.map +7 -0
- package/lib/cjs/internal/app-binder/device-action/RenameContact/RenameContactDeviceAction.test.js +2 -0
- package/lib/cjs/internal/app-binder/device-action/RenameContact/RenameContactDeviceAction.test.js.map +7 -0
- package/lib/cjs/internal/app-binder/device-action/RenameContact/validateRenameContactInput.js +2 -0
- package/lib/cjs/internal/app-binder/device-action/RenameContact/validateRenameContactInput.js.map +7 -0
- package/lib/cjs/internal/app-binder/device-action/RenameContact/validateRenameContactInput.test.js +2 -0
- package/lib/cjs/internal/app-binder/device-action/RenameContact/validateRenameContactInput.test.js.map +7 -0
- package/lib/cjs/internal/app-binder/device-action/__test-utils__/setupGoToDashboardDAMock.js +2 -0
- package/lib/cjs/internal/app-binder/device-action/__test-utils__/setupGoToDashboardDAMock.js.map +7 -0
- package/lib/cjs/internal/app-binder/model/contactsConstants.js +1 -1
- package/lib/cjs/internal/app-binder/model/contactsConstants.js.map +3 -3
- package/lib/cjs/internal/app-binder/task/SendEditExternalAddressIdentifierTask.js +2 -0
- package/lib/cjs/internal/app-binder/task/SendEditExternalAddressIdentifierTask.js.map +7 -0
- package/lib/cjs/internal/app-binder/task/SendEditExternalAddressIdentifierTask.test.js +2 -0
- package/lib/cjs/internal/app-binder/task/SendEditExternalAddressIdentifierTask.test.js.map +7 -0
- package/lib/cjs/internal/app-binder/task/SendEditExternalAddressScopeTask.js +2 -0
- package/lib/cjs/internal/app-binder/task/SendEditExternalAddressScopeTask.js.map +7 -0
- package/lib/cjs/internal/app-binder/task/SendEditExternalAddressScopeTask.test.js +2 -0
- package/lib/cjs/internal/app-binder/task/SendEditExternalAddressScopeTask.test.js.map +7 -0
- package/lib/cjs/internal/app-binder/task/SendRegisterIdentityTask.js +1 -1
- package/lib/cjs/internal/app-binder/task/SendRegisterIdentityTask.js.map +2 -2
- package/lib/cjs/internal/app-binder/task/SendRegisterIdentityTask.test.js +1 -1
- package/lib/cjs/internal/app-binder/task/SendRegisterIdentityTask.test.js.map +2 -2
- package/lib/cjs/internal/app-binder/task/SendRenameContactTask.js +2 -0
- package/lib/cjs/internal/app-binder/task/SendRenameContactTask.js.map +7 -0
- package/lib/cjs/internal/app-binder/task/SendRenameContactTask.test.js +2 -0
- package/lib/cjs/internal/app-binder/task/SendRenameContactTask.test.js.map +7 -0
- package/lib/cjs/internal/di.test.js +1 -1
- package/lib/cjs/internal/di.test.js.map +3 -3
- package/lib/cjs/internal/use-cases/EditExternalAddressIdentifierUseCase.js +2 -0
- package/lib/cjs/internal/use-cases/EditExternalAddressIdentifierUseCase.js.map +7 -0
- package/lib/cjs/internal/use-cases/EditExternalAddressIdentifierUseCase.test.js +2 -0
- package/lib/cjs/internal/use-cases/EditExternalAddressIdentifierUseCase.test.js.map +7 -0
- package/lib/cjs/internal/use-cases/EditExternalAddressScopeUseCase.js +2 -0
- package/lib/cjs/internal/use-cases/EditExternalAddressScopeUseCase.js.map +7 -0
- package/lib/cjs/internal/use-cases/EditExternalAddressScopeUseCase.test.js +2 -0
- package/lib/cjs/internal/use-cases/EditExternalAddressScopeUseCase.test.js.map +7 -0
- package/lib/cjs/internal/use-cases/RenameContactUseCase.js +2 -0
- package/lib/cjs/internal/use-cases/RenameContactUseCase.js.map +7 -0
- package/lib/cjs/internal/use-cases/RenameContactUseCase.test.js +2 -0
- package/lib/cjs/internal/use-cases/RenameContactUseCase.test.js.map +7 -0
- package/lib/cjs/internal/use-cases/di/useCaseModule.js +1 -1
- package/lib/cjs/internal/use-cases/di/useCaseModule.js.map +3 -3
- package/lib/cjs/internal/use-cases/di/useCaseTypes.js +1 -1
- package/lib/cjs/internal/use-cases/di/useCaseTypes.js.map +2 -2
- package/lib/cjs/package.json +1 -1
- package/lib/esm/api/app-binder/EditExternalAddressIdentifierDeviceActionTypes.js +1 -0
- package/lib/esm/api/app-binder/EditExternalAddressIdentifierDeviceActionTypes.js.map +7 -0
- package/lib/esm/api/app-binder/EditExternalAddressScopeDeviceActionTypes.js +1 -0
- package/lib/esm/api/app-binder/EditExternalAddressScopeDeviceActionTypes.js.map +7 -0
- package/lib/esm/api/app-binder/RenameContactDeviceActionTypes.js +1 -0
- package/lib/esm/api/app-binder/RenameContactDeviceActionTypes.js.map +7 -0
- package/lib/esm/api/index.js +1 -1
- package/lib/esm/api/index.js.map +2 -2
- package/lib/esm/api/model/EditExternalAddressIdentifier.js +1 -0
- package/lib/esm/api/model/EditExternalAddressIdentifier.js.map +7 -0
- package/lib/esm/api/model/EditExternalAddressScope.js +1 -0
- package/lib/esm/api/model/EditExternalAddressScope.js.map +7 -0
- package/lib/esm/api/model/RenameContact.js +1 -0
- package/lib/esm/api/model/RenameContact.js.map +7 -0
- package/lib/esm/internal/DefaultContactsManager.js +1 -1
- package/lib/esm/internal/DefaultContactsManager.js.map +2 -2
- package/lib/esm/internal/DefaultContactsManager.test.js +1 -1
- package/lib/esm/internal/DefaultContactsManager.test.js.map +3 -3
- package/lib/esm/internal/app-binder/ContactsAppBinder.js +1 -1
- package/lib/esm/internal/app-binder/ContactsAppBinder.js.map +3 -3
- package/lib/esm/internal/app-binder/command/EditExternalAddressIdentifierCommand.js +2 -0
- package/lib/esm/internal/app-binder/command/EditExternalAddressIdentifierCommand.js.map +7 -0
- package/lib/esm/internal/app-binder/command/EditExternalAddressIdentifierCommand.test.js +2 -0
- package/lib/esm/internal/app-binder/command/EditExternalAddressIdentifierCommand.test.js.map +7 -0
- package/lib/esm/internal/app-binder/command/EditExternalAddressScopeCommand.js +2 -0
- package/lib/esm/internal/app-binder/command/EditExternalAddressScopeCommand.js.map +7 -0
- package/lib/esm/internal/app-binder/command/EditExternalAddressScopeCommand.test.js +2 -0
- package/lib/esm/internal/app-binder/command/EditExternalAddressScopeCommand.test.js.map +7 -0
- package/lib/esm/internal/app-binder/command/RenameContactCommand.js +2 -0
- package/lib/esm/internal/app-binder/command/RenameContactCommand.js.map +7 -0
- package/lib/esm/internal/app-binder/command/RenameContactCommand.test.js +2 -0
- package/lib/esm/internal/app-binder/command/RenameContactCommand.test.js.map +7 -0
- package/lib/esm/internal/app-binder/contactsVersionGuards.js +2 -0
- package/lib/esm/internal/app-binder/contactsVersionGuards.js.map +7 -0
- package/lib/esm/internal/app-binder/contactsVersionGuards.test.js +2 -0
- package/lib/esm/internal/app-binder/contactsVersionGuards.test.js.map +7 -0
- package/lib/esm/internal/app-binder/device-action/EditExternalAddressIdentifier/EditExternalAddressIdentifierDeviceAction.js +2 -0
- package/lib/esm/internal/app-binder/device-action/EditExternalAddressIdentifier/EditExternalAddressIdentifierDeviceAction.js.map +7 -0
- package/lib/esm/internal/app-binder/device-action/EditExternalAddressIdentifier/EditExternalAddressIdentifierDeviceAction.test.js +2 -0
- package/lib/esm/internal/app-binder/device-action/EditExternalAddressIdentifier/EditExternalAddressIdentifierDeviceAction.test.js.map +7 -0
- package/lib/esm/internal/app-binder/device-action/EditExternalAddressIdentifier/validateEditExternalAddressIdentifierInput.js +2 -0
- package/lib/esm/internal/app-binder/device-action/EditExternalAddressIdentifier/validateEditExternalAddressIdentifierInput.js.map +7 -0
- package/lib/esm/internal/app-binder/device-action/EditExternalAddressIdentifier/validateEditExternalAddressIdentifierInput.test.js +2 -0
- package/lib/esm/internal/app-binder/device-action/EditExternalAddressIdentifier/validateEditExternalAddressIdentifierInput.test.js.map +7 -0
- package/lib/esm/internal/app-binder/device-action/EditExternalAddressScope/EditExternalAddressScopeDeviceAction.js +2 -0
- package/lib/esm/internal/app-binder/device-action/EditExternalAddressScope/EditExternalAddressScopeDeviceAction.js.map +7 -0
- package/lib/esm/internal/app-binder/device-action/EditExternalAddressScope/EditExternalAddressScopeDeviceAction.test.js +2 -0
- package/lib/esm/internal/app-binder/device-action/EditExternalAddressScope/EditExternalAddressScopeDeviceAction.test.js.map +7 -0
- package/lib/esm/internal/app-binder/device-action/EditExternalAddressScope/validateEditExternalAddressScopeInput.js +2 -0
- package/lib/esm/internal/app-binder/device-action/EditExternalAddressScope/validateEditExternalAddressScopeInput.js.map +7 -0
- package/lib/esm/internal/app-binder/device-action/EditExternalAddressScope/validateEditExternalAddressScopeInput.test.js +2 -0
- package/lib/esm/internal/app-binder/device-action/EditExternalAddressScope/validateEditExternalAddressScopeInput.test.js.map +7 -0
- package/lib/esm/internal/app-binder/device-action/RegisterExternalAddress/RegisterExternalAddressDeviceAction.js +1 -1
- package/lib/esm/internal/app-binder/device-action/RegisterExternalAddress/RegisterExternalAddressDeviceAction.js.map +3 -3
- package/lib/esm/internal/app-binder/device-action/RenameContact/RenameContactDeviceAction.js +2 -0
- package/lib/esm/internal/app-binder/device-action/RenameContact/RenameContactDeviceAction.js.map +7 -0
- package/lib/esm/internal/app-binder/device-action/RenameContact/RenameContactDeviceAction.test.js +2 -0
- package/lib/esm/internal/app-binder/device-action/RenameContact/RenameContactDeviceAction.test.js.map +7 -0
- package/lib/esm/internal/app-binder/device-action/RenameContact/validateRenameContactInput.js +2 -0
- package/lib/esm/internal/app-binder/device-action/RenameContact/validateRenameContactInput.js.map +7 -0
- package/lib/esm/internal/app-binder/device-action/RenameContact/validateRenameContactInput.test.js +2 -0
- package/lib/esm/internal/app-binder/device-action/RenameContact/validateRenameContactInput.test.js.map +7 -0
- package/lib/esm/internal/app-binder/device-action/__test-utils__/setupGoToDashboardDAMock.js +2 -0
- package/lib/esm/internal/app-binder/device-action/__test-utils__/setupGoToDashboardDAMock.js.map +7 -0
- package/lib/esm/internal/app-binder/model/contactsConstants.js +1 -1
- package/lib/esm/internal/app-binder/model/contactsConstants.js.map +3 -3
- package/lib/esm/internal/app-binder/task/SendEditExternalAddressIdentifierTask.js +2 -0
- package/lib/esm/internal/app-binder/task/SendEditExternalAddressIdentifierTask.js.map +7 -0
- package/lib/esm/internal/app-binder/task/SendEditExternalAddressIdentifierTask.test.js +2 -0
- package/lib/esm/internal/app-binder/task/SendEditExternalAddressIdentifierTask.test.js.map +7 -0
- package/lib/esm/internal/app-binder/task/SendEditExternalAddressScopeTask.js +2 -0
- package/lib/esm/internal/app-binder/task/SendEditExternalAddressScopeTask.js.map +7 -0
- package/lib/esm/internal/app-binder/task/SendEditExternalAddressScopeTask.test.js +2 -0
- package/lib/esm/internal/app-binder/task/SendEditExternalAddressScopeTask.test.js.map +7 -0
- package/lib/esm/internal/app-binder/task/SendRegisterIdentityTask.js +1 -1
- package/lib/esm/internal/app-binder/task/SendRegisterIdentityTask.js.map +3 -3
- package/lib/esm/internal/app-binder/task/SendRegisterIdentityTask.test.js +1 -1
- package/lib/esm/internal/app-binder/task/SendRegisterIdentityTask.test.js.map +2 -2
- package/lib/esm/internal/app-binder/task/SendRenameContactTask.js +2 -0
- package/lib/esm/internal/app-binder/task/SendRenameContactTask.js.map +7 -0
- package/lib/esm/internal/app-binder/task/SendRenameContactTask.test.js +2 -0
- package/lib/esm/internal/app-binder/task/SendRenameContactTask.test.js.map +7 -0
- package/lib/esm/internal/di.test.js +1 -1
- package/lib/esm/internal/di.test.js.map +3 -3
- package/lib/esm/internal/use-cases/EditExternalAddressIdentifierUseCase.js +2 -0
- package/lib/esm/internal/use-cases/EditExternalAddressIdentifierUseCase.js.map +7 -0
- package/lib/esm/internal/use-cases/EditExternalAddressIdentifierUseCase.test.js +2 -0
- package/lib/esm/internal/use-cases/EditExternalAddressIdentifierUseCase.test.js.map +7 -0
- package/lib/esm/internal/use-cases/EditExternalAddressScopeUseCase.js +2 -0
- package/lib/esm/internal/use-cases/EditExternalAddressScopeUseCase.js.map +7 -0
- package/lib/esm/internal/use-cases/EditExternalAddressScopeUseCase.test.js +2 -0
- package/lib/esm/internal/use-cases/EditExternalAddressScopeUseCase.test.js.map +7 -0
- package/lib/esm/internal/use-cases/RenameContactUseCase.js +2 -0
- package/lib/esm/internal/use-cases/RenameContactUseCase.js.map +7 -0
- package/lib/esm/internal/use-cases/RenameContactUseCase.test.js +2 -0
- package/lib/esm/internal/use-cases/RenameContactUseCase.test.js.map +7 -0
- package/lib/esm/internal/use-cases/di/useCaseModule.js +1 -1
- package/lib/esm/internal/use-cases/di/useCaseModule.js.map +3 -3
- package/lib/esm/internal/use-cases/di/useCaseTypes.js +1 -1
- package/lib/esm/internal/use-cases/di/useCaseTypes.js.map +2 -2
- package/lib/esm/package.json +1 -1
- package/lib/types/api/ContactsManager.d.ts +35 -0
- package/lib/types/api/ContactsManager.d.ts.map +1 -1
- package/lib/types/api/app-binder/EditExternalAddressIdentifierDeviceActionTypes.d.ts +27 -0
- package/lib/types/api/app-binder/EditExternalAddressIdentifierDeviceActionTypes.d.ts.map +1 -0
- package/lib/types/api/app-binder/EditExternalAddressScopeDeviceActionTypes.d.ts +27 -0
- package/lib/types/api/app-binder/EditExternalAddressScopeDeviceActionTypes.d.ts.map +1 -0
- package/lib/types/api/app-binder/RenameContactDeviceActionTypes.d.ts +25 -0
- package/lib/types/api/app-binder/RenameContactDeviceActionTypes.d.ts.map +1 -0
- package/lib/types/api/index.d.ts +6 -0
- package/lib/types/api/index.d.ts.map +1 -1
- package/lib/types/api/model/EditExternalAddressIdentifier.d.ts +57 -0
- package/lib/types/api/model/EditExternalAddressIdentifier.d.ts.map +1 -0
- package/lib/types/api/model/EditExternalAddressScope.d.ts +59 -0
- package/lib/types/api/model/EditExternalAddressScope.d.ts.map +1 -0
- package/lib/types/api/model/RenameContact.d.ts +39 -0
- package/lib/types/api/model/RenameContact.d.ts.map +1 -0
- package/lib/types/internal/DefaultContactsManager.d.ts +9 -0
- package/lib/types/internal/DefaultContactsManager.d.ts.map +1 -1
- package/lib/types/internal/app-binder/ContactsAppBinder.d.ts +9 -0
- package/lib/types/internal/app-binder/ContactsAppBinder.d.ts.map +1 -1
- package/lib/types/internal/app-binder/command/EditExternalAddressIdentifierCommand.d.ts +25 -0
- package/lib/types/internal/app-binder/command/EditExternalAddressIdentifierCommand.d.ts.map +1 -0
- package/lib/types/internal/app-binder/command/EditExternalAddressIdentifierCommand.test.d.ts +2 -0
- package/lib/types/internal/app-binder/command/EditExternalAddressIdentifierCommand.test.d.ts.map +1 -0
- package/lib/types/internal/app-binder/command/EditExternalAddressScopeCommand.d.ts +25 -0
- package/lib/types/internal/app-binder/command/EditExternalAddressScopeCommand.d.ts.map +1 -0
- package/lib/types/internal/app-binder/command/EditExternalAddressScopeCommand.test.d.ts +2 -0
- package/lib/types/internal/app-binder/command/EditExternalAddressScopeCommand.test.d.ts.map +1 -0
- package/lib/types/internal/app-binder/command/RenameContactCommand.d.ts +25 -0
- package/lib/types/internal/app-binder/command/RenameContactCommand.d.ts.map +1 -0
- package/lib/types/internal/app-binder/command/RenameContactCommand.test.d.ts +2 -0
- package/lib/types/internal/app-binder/command/RenameContactCommand.test.d.ts.map +1 -0
- package/lib/types/internal/app-binder/contactsVersionGuards.d.ts +38 -0
- package/lib/types/internal/app-binder/contactsVersionGuards.d.ts.map +1 -0
- package/lib/types/internal/app-binder/contactsVersionGuards.test.d.ts +2 -0
- package/lib/types/internal/app-binder/contactsVersionGuards.test.d.ts.map +1 -0
- package/lib/types/internal/app-binder/device-action/EditExternalAddressIdentifier/EditExternalAddressIdentifierDeviceAction.d.ts +14 -0
- package/lib/types/internal/app-binder/device-action/EditExternalAddressIdentifier/EditExternalAddressIdentifierDeviceAction.d.ts.map +1 -0
- package/lib/types/internal/app-binder/device-action/EditExternalAddressIdentifier/EditExternalAddressIdentifierDeviceAction.test.d.ts +2 -0
- package/lib/types/internal/app-binder/device-action/EditExternalAddressIdentifier/EditExternalAddressIdentifierDeviceAction.test.d.ts.map +1 -0
- package/lib/types/internal/app-binder/device-action/EditExternalAddressIdentifier/validateEditExternalAddressIdentifierInput.d.ts +9 -0
- package/lib/types/internal/app-binder/device-action/EditExternalAddressIdentifier/validateEditExternalAddressIdentifierInput.d.ts.map +1 -0
- package/lib/types/internal/app-binder/device-action/EditExternalAddressIdentifier/validateEditExternalAddressIdentifierInput.test.d.ts +2 -0
- package/lib/types/internal/app-binder/device-action/EditExternalAddressIdentifier/validateEditExternalAddressIdentifierInput.test.d.ts.map +1 -0
- package/lib/types/internal/app-binder/device-action/EditExternalAddressScope/EditExternalAddressScopeDeviceAction.d.ts +14 -0
- package/lib/types/internal/app-binder/device-action/EditExternalAddressScope/EditExternalAddressScopeDeviceAction.d.ts.map +1 -0
- package/lib/types/internal/app-binder/device-action/EditExternalAddressScope/EditExternalAddressScopeDeviceAction.test.d.ts +2 -0
- package/lib/types/internal/app-binder/device-action/EditExternalAddressScope/EditExternalAddressScopeDeviceAction.test.d.ts.map +1 -0
- package/lib/types/internal/app-binder/device-action/EditExternalAddressScope/validateEditExternalAddressScopeInput.d.ts +9 -0
- package/lib/types/internal/app-binder/device-action/EditExternalAddressScope/validateEditExternalAddressScopeInput.d.ts.map +1 -0
- package/lib/types/internal/app-binder/device-action/EditExternalAddressScope/validateEditExternalAddressScopeInput.test.d.ts +2 -0
- package/lib/types/internal/app-binder/device-action/EditExternalAddressScope/validateEditExternalAddressScopeInput.test.d.ts.map +1 -0
- package/lib/types/internal/app-binder/device-action/RegisterExternalAddress/RegisterExternalAddressDeviceAction.d.ts +1 -1
- package/lib/types/internal/app-binder/device-action/RegisterExternalAddress/RegisterExternalAddressDeviceAction.d.ts.map +1 -1
- package/lib/types/internal/app-binder/device-action/RenameContact/RenameContactDeviceAction.d.ts +13 -0
- package/lib/types/internal/app-binder/device-action/RenameContact/RenameContactDeviceAction.d.ts.map +1 -0
- package/lib/types/internal/app-binder/device-action/RenameContact/RenameContactDeviceAction.test.d.ts +2 -0
- package/lib/types/internal/app-binder/device-action/RenameContact/RenameContactDeviceAction.test.d.ts.map +1 -0
- package/lib/types/internal/app-binder/device-action/RenameContact/validateRenameContactInput.d.ts +12 -0
- package/lib/types/internal/app-binder/device-action/RenameContact/validateRenameContactInput.d.ts.map +1 -0
- package/lib/types/internal/app-binder/device-action/RenameContact/validateRenameContactInput.test.d.ts +2 -0
- package/lib/types/internal/app-binder/device-action/RenameContact/validateRenameContactInput.test.d.ts.map +1 -0
- package/lib/types/internal/app-binder/device-action/__test-utils__/setupGoToDashboardDAMock.d.ts +12 -0
- package/lib/types/internal/app-binder/device-action/__test-utils__/setupGoToDashboardDAMock.d.ts.map +1 -0
- package/lib/types/internal/app-binder/model/contactsConstants.d.ts +26 -0
- package/lib/types/internal/app-binder/model/contactsConstants.d.ts.map +1 -1
- package/lib/types/internal/app-binder/task/SendEditExternalAddressIdentifierTask.d.ts +25 -0
- package/lib/types/internal/app-binder/task/SendEditExternalAddressIdentifierTask.d.ts.map +1 -0
- package/lib/types/internal/app-binder/task/SendEditExternalAddressIdentifierTask.test.d.ts +2 -0
- package/lib/types/internal/app-binder/task/SendEditExternalAddressIdentifierTask.test.d.ts.map +1 -0
- package/lib/types/internal/app-binder/task/SendEditExternalAddressScopeTask.d.ts +25 -0
- package/lib/types/internal/app-binder/task/SendEditExternalAddressScopeTask.d.ts.map +1 -0
- package/lib/types/internal/app-binder/task/SendEditExternalAddressScopeTask.test.d.ts +2 -0
- package/lib/types/internal/app-binder/task/SendEditExternalAddressScopeTask.test.d.ts.map +1 -0
- package/lib/types/internal/app-binder/task/SendRegisterIdentityTask.d.ts.map +1 -1
- package/lib/types/internal/app-binder/task/SendRenameContactTask.d.ts +20 -0
- package/lib/types/internal/app-binder/task/SendRenameContactTask.d.ts.map +1 -0
- package/lib/types/internal/app-binder/task/SendRenameContactTask.test.d.ts +2 -0
- package/lib/types/internal/app-binder/task/SendRenameContactTask.test.d.ts.map +1 -0
- package/lib/types/internal/use-cases/EditExternalAddressIdentifierUseCase.d.ts +14 -0
- package/lib/types/internal/use-cases/EditExternalAddressIdentifierUseCase.d.ts.map +1 -0
- package/lib/types/internal/use-cases/EditExternalAddressIdentifierUseCase.test.d.ts +2 -0
- package/lib/types/internal/use-cases/EditExternalAddressIdentifierUseCase.test.d.ts.map +1 -0
- package/lib/types/internal/use-cases/EditExternalAddressScopeUseCase.d.ts +14 -0
- package/lib/types/internal/use-cases/EditExternalAddressScopeUseCase.d.ts.map +1 -0
- package/lib/types/internal/use-cases/EditExternalAddressScopeUseCase.test.d.ts +2 -0
- package/lib/types/internal/use-cases/EditExternalAddressScopeUseCase.test.d.ts.map +1 -0
- package/lib/types/internal/use-cases/RenameContactUseCase.d.ts +19 -0
- package/lib/types/internal/use-cases/RenameContactUseCase.d.ts.map +1 -0
- package/lib/types/internal/use-cases/RenameContactUseCase.test.d.ts +2 -0
- package/lib/types/internal/use-cases/RenameContactUseCase.test.d.ts.map +1 -0
- package/lib/types/internal/use-cases/di/useCaseModule.d.ts.map +1 -1
- package/lib/types/internal/use-cases/di/useCaseTypes.d.ts +3 -0
- package/lib/types/internal/use-cases/di/useCaseTypes.d.ts.map +1 -1
- package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
- package/package.json +4 -4
- package/lib/cjs/internal/app-binder/isContactsSupportedForSession.js +0 -2
- package/lib/cjs/internal/app-binder/isContactsSupportedForSession.js.map +0 -7
- package/lib/cjs/internal/app-binder/isContactsSupportedForSession.test.js +0 -2
- package/lib/cjs/internal/app-binder/isContactsSupportedForSession.test.js.map +0 -7
- package/lib/esm/internal/app-binder/isContactsSupportedForSession.js +0 -2
- package/lib/esm/internal/app-binder/isContactsSupportedForSession.js.map +0 -7
- package/lib/esm/internal/app-binder/isContactsSupportedForSession.test.js +0 -2
- package/lib/esm/internal/app-binder/isContactsSupportedForSession.test.js.map +0 -7
- package/lib/types/internal/app-binder/isContactsSupportedForSession.d.ts +0 -25
- package/lib/types/internal/app-binder/isContactsSupportedForSession.d.ts.map +0 -1
- package/lib/types/internal/app-binder/isContactsSupportedForSession.test.d.ts +0 -2
- package/lib/types/internal/app-binder/isContactsSupportedForSession.test.d.ts.map +0 -1
package/package.json
CHANGED
|
@@ -11,12 +11,12 @@
|
|
|
11
11
|
"@types/semver": "7.7.0",
|
|
12
12
|
"rxjs": "7.8.2",
|
|
13
13
|
"ts-node": "10.9.2",
|
|
14
|
+
"@ledgerhq/eslint-config-dsdk": "^0.0.2",
|
|
14
15
|
"@ledgerhq/device-management-kit": "^1.8.0",
|
|
15
16
|
"@ledgerhq/ldmk-tool": "^0.0.1",
|
|
16
|
-
"@ledgerhq/eslint-config-dsdk": "^0.0.2",
|
|
17
17
|
"@ledgerhq/tsconfig-dsdk": "^1.0.1",
|
|
18
|
-
"@ledgerhq/
|
|
19
|
-
"@ledgerhq/
|
|
18
|
+
"@ledgerhq/vitest-config-dmk": "^0.0.0",
|
|
19
|
+
"@ledgerhq/prettier-config-dsdk": "^0.0.2"
|
|
20
20
|
},
|
|
21
21
|
"exports": {
|
|
22
22
|
".": {
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"type": "git",
|
|
44
44
|
"url": "https://github.com/LedgerHQ/device-sdk-ts.git"
|
|
45
45
|
},
|
|
46
|
-
"version": "0.
|
|
46
|
+
"version": "0.3.1",
|
|
47
47
|
"scripts": {
|
|
48
48
|
"build": "pnpm ldmk-tool build --entryPoints src/index.ts,src/**/*.ts --tsconfig tsconfig.prod.json",
|
|
49
49
|
"dev": "concurrently \"pnpm watch:builds\" \"pnpm watch:types\"",
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";var s=Object.defineProperty;var f=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var m=Object.prototype.hasOwnProperty;var u=(n,e)=>{for(var i in e)s(n,i,{get:e[i],enumerable:!0})},d=(n,e,i,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of l(e))!m.call(n,r)&&r!==i&&s(n,r,{get:()=>e[r],enumerable:!(o=f(e,r))||o.enumerable});return n};var v=n=>d(s({},"__esModule",{value:!0}),n);var V={};u(V,{isContactsSupportedForSession:()=>A});module.exports=v(V);var a=require("@ledgerhq/device-management-kit"),t=require("../../api/model/ContactsVersionRequirements"),c=require("./ContactsApplicationResolver");function A(n,e){const i=n.getDeviceSessionState(),o=(0,t.resolveContactsVersionRequirements)(i.deviceModelId);if(!o.supported)return!1;const r=o.minAppVersion[e.name];if(r===void 0||!new a.ApplicationChecker(i,{version:e.version},new c.ContactsApplicationResolver).withMinVersionInclusive(r).check())return!1;const p="firmwareVersion"in i?i.firmwareVersion?.os:void 0;return p===void 0?!1:(0,t.isVersionAtLeast)(p,o.minOsVersion)}0&&(module.exports={isContactsSupportedForSession});
|
|
2
|
-
//# sourceMappingURL=isContactsSupportedForSession.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/internal/app-binder/isContactsSupportedForSession.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n ApplicationChecker,\n type InternalApi,\n} from \"@ledgerhq/device-management-kit\";\n\nimport {\n isVersionAtLeast,\n resolveContactsVersionRequirements,\n} from \"@api/model/ContactsVersionRequirements\";\n\nimport { ContactsApplicationResolver } from \"./ContactsApplicationResolver\";\n\n/** The running app's identity, read freshly from the device. */\nexport type RunningApp = {\n readonly name: string;\n readonly version: string;\n};\n\n/**\n * Session-aware Contacts support check, for internal consumption by Contacts\n * `DeviceAction`s. Resolves the given running app against the static\n * requirements table:\n * - the device model must be supported;\n * - the running app must be known to Contacts and meet its minimum version;\n * - the device OS must meet its minimum version (a dimension `ApplicationChecker`\n * does not cover, so it is checked separately here).\n *\n * The app `name` and `version` are supplied by the caller so they can come from\n * a fresh `WaitForAppAndVersion` result rather than the (potentially stale)\n * device session state; the model and OS come from the session state, which\n * does not change under the caller's feet the way the running app can.\n *\n * @param internalApi - the DeviceAction's internal API for the current session.\n * @param app - the running app's fresh name and version.\n */\nexport function isContactsSupportedForSession(\n internalApi: InternalApi,\n app: RunningApp,\n): boolean {\n const deviceState = internalApi.getDeviceSessionState();\n const requirement = resolveContactsVersionRequirements(\n deviceState.deviceModelId,\n );\n if (!requirement.supported) return false;\n\n const minAppVersion = requirement.minAppVersion[app.name];\n if (minAppVersion === undefined) return false;\n\n const appCompatible = new ApplicationChecker(\n deviceState,\n { version: app.version },\n new ContactsApplicationResolver(),\n )\n .withMinVersionInclusive(minAppVersion)\n .check();\n if (!appCompatible) return false;\n\n const osVersion =\n \"firmwareVersion\" in deviceState\n ? deviceState.firmwareVersion?.os\n : undefined;\n if (osVersion === undefined) return false;\n\n return isVersionAtLeast(osVersion, requirement.minOsVersion);\n}\n"],
|
|
5
|
-
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,mCAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAGO,2CAEPC,EAGO,kDAEPC,EAA4C,yCAyBrC,SAASJ,EACdK,EACAC,EACS,CACT,MAAMC,EAAcF,EAAY,sBAAsB,EAChDG,KAAc,sCAClBD,EAAY,aACd,EACA,GAAI,CAACC,EAAY,UAAW,MAAO,GAEnC,MAAMC,EAAgBD,EAAY,cAAcF,EAAI,IAAI,EAUxD,GATIG,IAAkB,QASlB,CAPkB,IAAI,qBACxBF,EACA,CAAE,QAASD,EAAI,OAAQ,EACvB,IAAI,6BACN,EACG,wBAAwBG,CAAa,EACrC,MAAM,EACW,MAAO,GAE3B,MAAMC,EACJ,oBAAqBH,EACjBA,EAAY,iBAAiB,GAC7B,OACN,OAAIG,IAAc,OAAkB,MAE7B,oBAAiBA,EAAWF,EAAY,YAAY,CAC7D",
|
|
6
|
-
"names": ["isContactsSupportedForSession_exports", "__export", "isContactsSupportedForSession", "__toCommonJS", "import_device_management_kit", "import_ContactsVersionRequirements", "import_ContactsApplicationResolver", "internalApi", "app", "deviceState", "requirement", "minAppVersion", "osVersion"]
|
|
7
|
-
}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";var t=require("@ledgerhq/device-management-kit"),o=require("../../api/model/ContactsVersionRequirements"),n=require("./isContactsSupportedForSession");const c=(()=>{const e=(0,o.resolveContactsVersionRequirements)(t.DeviceModelId.FLEX);if(!e.supported)throw new Error("Flex must be supported");return e})(),u=c.minOsVersion,d=(()=>{const e=c.minAppVersion[o.ETHEREUM_APP_NAME];if(e===void 0)throw new Error("Ethereum min version required");return e})(),a="0.0.1";function r({osVersion:e=u,modelId:p=t.DeviceModelId.FLEX}={}){return{sessionStateType:t.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:t.DeviceStatus.CONNECTED,installedApps:[],currentApp:{name:o.ETHEREUM_APP_NAME,version:"0.0.0"},deviceModelId:p,firmwareVersion:{mcu:"1.0.0",bootloader:"1.0.0",os:e},isSecureConnectionAllowed:!1}}function s(e){return{getDeviceSessionState:()=>e}}function i(e=o.ETHEREUM_APP_NAME,p=d){return{name:e,version:p}}describe("isContactsSupportedForSession",()=>{it("returns true when model, app version and OS version all meet the minimums",()=>{const e=s(r());expect((0,n.isContactsSupportedForSession)(e,i())).toBe(!0)}),it("returns false on an unsupported device model",()=>{const e=s(r({modelId:t.DeviceModelId.NANO_X}));expect((0,n.isContactsSupportedForSession)(e,i())).toBe(!1)}),it("returns false when the app version is below the minimum",()=>{const e=s(r());expect((0,n.isContactsSupportedForSession)(e,i(o.ETHEREUM_APP_NAME,a))).toBe(!1)}),it("returns false when the running app is unknown to Contacts",()=>{const e=s(r());expect((0,n.isContactsSupportedForSession)(e,i("Bitcoin"))).toBe(!1)}),it("returns false when the OS version is below the minimum",()=>{const e=s(r({osVersion:a}));expect((0,n.isContactsSupportedForSession)(e,i())).toBe(!1)}),it("returns false when the device session has no running app",()=>{const e=s({sessionStateType:t.DeviceSessionStateType.Connected,deviceStatus:t.DeviceStatus.CONNECTED,deviceModelId:t.DeviceModelId.FLEX});expect((0,n.isContactsSupportedForSession)(e,i())).toBe(!1)})});
|
|
2
|
-
//# sourceMappingURL=isContactsSupportedForSession.test.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/internal/app-binder/isContactsSupportedForSession.test.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n DeviceModelId,\n DeviceSessionStateType,\n DeviceStatus,\n type InternalApi,\n} from \"@ledgerhq/device-management-kit\";\n\nimport {\n ETHEREUM_APP_NAME,\n resolveContactsVersionRequirements,\n} from \"@api/model/ContactsVersionRequirements\";\n\nimport {\n isContactsSupportedForSession,\n type RunningApp,\n} from \"./isContactsSupportedForSession\";\n\nconst flexSupport = (() => {\n const requirement = resolveContactsVersionRequirements(DeviceModelId.FLEX);\n if (!requirement.supported) throw new Error(\"Flex must be supported\");\n return requirement;\n})();\n\nconst MIN_OS_VERSION = flexSupport.minOsVersion;\nconst MIN_APP_VERSION = (() => {\n const version = flexSupport.minAppVersion[ETHEREUM_APP_NAME];\n if (version === undefined) throw new Error(\"Ethereum min version required\");\n return version;\n})();\nconst BELOW_ANY_VERSION = \"0.0.1\";\n\ntype ReadyStateOptions = {\n osVersion?: string;\n modelId?: DeviceModelId;\n};\n\nfunction createReadyState({\n osVersion = MIN_OS_VERSION,\n modelId = DeviceModelId.FLEX,\n}: ReadyStateOptions = {}) {\n return {\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n installedApps: [],\n currentApp: { name: ETHEREUM_APP_NAME, version: \"0.0.0\" },\n deviceModelId: modelId,\n firmwareVersion: { mcu: \"1.0.0\", bootloader: \"1.0.0\", os: osVersion },\n isSecureConnectionAllowed: false,\n };\n}\n\nfunction createInternalApi(deviceState: object): InternalApi {\n return {\n getDeviceSessionState: () => deviceState,\n } as unknown as InternalApi;\n}\n\n// The running app identity now comes from the caller (a fresh\n// WaitForAppAndVersion result), not the device session state.\nfunction runningApp(\n name = ETHEREUM_APP_NAME,\n version = MIN_APP_VERSION,\n): RunningApp {\n return { name, version };\n}\n\ndescribe(\"isContactsSupportedForSession\", () => {\n it(\"returns true when model, app version and OS version all meet the minimums\", () => {\n const api = createInternalApi(createReadyState());\n expect(isContactsSupportedForSession(api, runningApp())).toBe(true);\n });\n\n it(\"returns false on an unsupported device model\", () => {\n const api = createInternalApi(\n createReadyState({ modelId: DeviceModelId.NANO_X }),\n );\n expect(isContactsSupportedForSession(api, runningApp())).toBe(false);\n });\n\n // App-version requirement (evaluated from the fresh app version).\n it(\"returns false when the app version is below the minimum\", () => {\n const api = createInternalApi(createReadyState());\n expect(\n isContactsSupportedForSession(\n api,\n runningApp(ETHEREUM_APP_NAME, BELOW_ANY_VERSION),\n ),\n ).toBe(false);\n });\n\n it(\"returns false when the running app is unknown to Contacts\", () => {\n const api = createInternalApi(createReadyState());\n expect(isContactsSupportedForSession(api, runningApp(\"Bitcoin\"))).toBe(\n false,\n );\n });\n\n // OS-version requirement.\n it(\"returns false when the OS version is below the minimum\", () => {\n const api = createInternalApi(\n createReadyState({ osVersion: BELOW_ANY_VERSION }),\n );\n expect(isContactsSupportedForSession(api, runningApp())).toBe(false);\n });\n\n it(\"returns false when the device session has no running app\", () => {\n const api = createInternalApi({\n sessionStateType: DeviceSessionStateType.Connected,\n deviceStatus: DeviceStatus.CONNECTED,\n deviceModelId: DeviceModelId.FLEX,\n });\n expect(isContactsSupportedForSession(api, runningApp())).toBe(false);\n });\n});\n"],
|
|
5
|
-
"mappings": "aAAA,IAAAA,EAKO,2CAEPC,EAGO,kDAEPC,EAGO,2CAEP,MAAMC,GAAe,IAAM,CACzB,MAAMC,KAAc,sCAAmC,gBAAc,IAAI,EACzE,GAAI,CAACA,EAAY,UAAW,MAAM,IAAI,MAAM,wBAAwB,EACpE,OAAOA,CACT,GAAG,EAEGC,EAAiBF,EAAY,aAC7BG,GAAmB,IAAM,CAC7B,MAAMC,EAAUJ,EAAY,cAAc,mBAAiB,EAC3D,GAAII,IAAY,OAAW,MAAM,IAAI,MAAM,+BAA+B,EAC1E,OAAOA,CACT,GAAG,EACGC,EAAoB,QAO1B,SAASC,EAAiB,CACxB,UAAAC,EAAYL,EACZ,QAAAM,EAAU,gBAAc,IAC1B,EAAuB,CAAC,EAAG,CACzB,MAAO,CACL,iBAAkB,yBAAuB,0BACzC,aAAc,eAAa,UAC3B,cAAe,CAAC,EAChB,WAAY,CAAE,KAAM,oBAAmB,QAAS,OAAQ,EACxD,cAAeA,EACf,gBAAiB,CAAE,IAAK,QAAS,WAAY,QAAS,GAAID,CAAU,EACpE,0BAA2B,EAC7B,CACF,CAEA,SAASE,EAAkBC,EAAkC,CAC3D,MAAO,CACL,sBAAuB,IAAMA,CAC/B,CACF,CAIA,SAASC,EACPC,EAAO,oBACPR,EAAUD,EACE,CACZ,MAAO,CAAE,KAAAS,EAAM,QAAAR,CAAQ,CACzB,CAEA,SAAS,gCAAiC,IAAM,CAC9C,GAAG,4EAA6E,IAAM,CACpF,MAAMS,EAAMJ,EAAkBH,EAAiB,CAAC,EAChD,UAAO,iCAA8BO,EAAKF,EAAW,CAAC,CAAC,EAAE,KAAK,EAAI,CACpE,CAAC,EAED,GAAG,+CAAgD,IAAM,CACvD,MAAME,EAAMJ,EACVH,EAAiB,CAAE,QAAS,gBAAc,MAAO,CAAC,CACpD,EACA,UAAO,iCAA8BO,EAAKF,EAAW,CAAC,CAAC,EAAE,KAAK,EAAK,CACrE,CAAC,EAGD,GAAG,0DAA2D,IAAM,CAClE,MAAME,EAAMJ,EAAkBH,EAAiB,CAAC,EAChD,UACE,iCACEO,EACAF,EAAW,oBAAmBN,CAAiB,CACjD,CACF,EAAE,KAAK,EAAK,CACd,CAAC,EAED,GAAG,4DAA6D,IAAM,CACpE,MAAMQ,EAAMJ,EAAkBH,EAAiB,CAAC,EAChD,UAAO,iCAA8BO,EAAKF,EAAW,SAAS,CAAC,CAAC,EAAE,KAChE,EACF,CACF,CAAC,EAGD,GAAG,yDAA0D,IAAM,CACjE,MAAME,EAAMJ,EACVH,EAAiB,CAAE,UAAWD,CAAkB,CAAC,CACnD,EACA,UAAO,iCAA8BQ,EAAKF,EAAW,CAAC,CAAC,EAAE,KAAK,EAAK,CACrE,CAAC,EAED,GAAG,2DAA4D,IAAM,CACnE,MAAME,EAAMJ,EAAkB,CAC5B,iBAAkB,yBAAuB,UACzC,aAAc,eAAa,UAC3B,cAAe,gBAAc,IAC/B,CAAC,EACD,UAAO,iCAA8BI,EAAKF,EAAW,CAAC,CAAC,EAAE,KAAK,EAAK,CACrE,CAAC,CACH,CAAC",
|
|
6
|
-
"names": ["import_device_management_kit", "import_ContactsVersionRequirements", "import_isContactsSupportedForSession", "flexSupport", "requirement", "MIN_OS_VERSION", "MIN_APP_VERSION", "version", "BELOW_ANY_VERSION", "createReadyState", "osVersion", "modelId", "createInternalApi", "deviceState", "runningApp", "name", "api"]
|
|
7
|
-
}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{ApplicationChecker as s}from"@ledgerhq/device-management-kit";import{isVersionAtLeast as p,resolveContactsVersionRequirements as a}from"../../api/model/ContactsVersionRequirements";import{ContactsApplicationResolver as c}from"./ContactsApplicationResolver";function d(t,i){const e=t.getDeviceSessionState(),n=a(e.deviceModelId);if(!n.supported)return!1;const r=n.minAppVersion[i.name];if(r===void 0||!new s(e,{version:i.version},new c).withMinVersionInclusive(r).check())return!1;const o="firmwareVersion"in e?e.firmwareVersion?.os:void 0;return o===void 0?!1:p(o,n.minOsVersion)}export{d as isContactsSupportedForSession};
|
|
2
|
-
//# sourceMappingURL=isContactsSupportedForSession.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/internal/app-binder/isContactsSupportedForSession.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n ApplicationChecker,\n type InternalApi,\n} from \"@ledgerhq/device-management-kit\";\n\nimport {\n isVersionAtLeast,\n resolveContactsVersionRequirements,\n} from \"@api/model/ContactsVersionRequirements\";\n\nimport { ContactsApplicationResolver } from \"./ContactsApplicationResolver\";\n\n/** The running app's identity, read freshly from the device. */\nexport type RunningApp = {\n readonly name: string;\n readonly version: string;\n};\n\n/**\n * Session-aware Contacts support check, for internal consumption by Contacts\n * `DeviceAction`s. Resolves the given running app against the static\n * requirements table:\n * - the device model must be supported;\n * - the running app must be known to Contacts and meet its minimum version;\n * - the device OS must meet its minimum version (a dimension `ApplicationChecker`\n * does not cover, so it is checked separately here).\n *\n * The app `name` and `version` are supplied by the caller so they can come from\n * a fresh `WaitForAppAndVersion` result rather than the (potentially stale)\n * device session state; the model and OS come from the session state, which\n * does not change under the caller's feet the way the running app can.\n *\n * @param internalApi - the DeviceAction's internal API for the current session.\n * @param app - the running app's fresh name and version.\n */\nexport function isContactsSupportedForSession(\n internalApi: InternalApi,\n app: RunningApp,\n): boolean {\n const deviceState = internalApi.getDeviceSessionState();\n const requirement = resolveContactsVersionRequirements(\n deviceState.deviceModelId,\n );\n if (!requirement.supported) return false;\n\n const minAppVersion = requirement.minAppVersion[app.name];\n if (minAppVersion === undefined) return false;\n\n const appCompatible = new ApplicationChecker(\n deviceState,\n { version: app.version },\n new ContactsApplicationResolver(),\n )\n .withMinVersionInclusive(minAppVersion)\n .check();\n if (!appCompatible) return false;\n\n const osVersion =\n \"firmwareVersion\" in deviceState\n ? deviceState.firmwareVersion?.os\n : undefined;\n if (osVersion === undefined) return false;\n\n return isVersionAtLeast(osVersion, requirement.minOsVersion);\n}\n"],
|
|
5
|
-
"mappings": "AAAA,OACE,sBAAAA,MAEK,kCAEP,OACE,oBAAAC,EACA,sCAAAC,MACK,yCAEP,OAAS,+BAAAC,MAAmC,gCAyBrC,SAASC,EACdC,EACAC,EACS,CACT,MAAMC,EAAcF,EAAY,sBAAsB,EAChDG,EAAcN,EAClBK,EAAY,aACd,EACA,GAAI,CAACC,EAAY,UAAW,MAAO,GAEnC,MAAMC,EAAgBD,EAAY,cAAcF,EAAI,IAAI,EAUxD,GATIG,IAAkB,QASlB,CAPkB,IAAIT,EACxBO,EACA,CAAE,QAASD,EAAI,OAAQ,EACvB,IAAIH,CACN,EACG,wBAAwBM,CAAa,EACrC,MAAM,EACW,MAAO,GAE3B,MAAMC,EACJ,oBAAqBH,EACjBA,EAAY,iBAAiB,GAC7B,OACN,OAAIG,IAAc,OAAkB,GAE7BT,EAAiBS,EAAWF,EAAY,YAAY,CAC7D",
|
|
6
|
-
"names": ["ApplicationChecker", "isVersionAtLeast", "resolveContactsVersionRequirements", "ContactsApplicationResolver", "isContactsSupportedForSession", "internalApi", "app", "deviceState", "requirement", "minAppVersion", "osVersion"]
|
|
7
|
-
}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{DeviceModelId as i,DeviceSessionStateType as c,DeviceStatus as u}from"@ledgerhq/device-management-kit";import{ETHEREUM_APP_NAME as r,resolveContactsVersionRequirements as l}from"../../api/model/ContactsVersionRequirements";import{isContactsSupportedForSession as t}from"./isContactsSupportedForSession";const d=(()=>{const e=l(i.FLEX);if(!e.supported)throw new Error("Flex must be supported");return e})(),m=d.minOsVersion,S=(()=>{const e=d.minAppVersion[r];if(e===void 0)throw new Error("Ethereum min version required");return e})(),a="0.0.1";function s({osVersion:e=m,modelId:p=i.FLEX}={}){return{sessionStateType:c.ReadyWithoutSecureChannel,deviceStatus:u.CONNECTED,installedApps:[],currentApp:{name:r,version:"0.0.0"},deviceModelId:p,firmwareVersion:{mcu:"1.0.0",bootloader:"1.0.0",os:e},isSecureConnectionAllowed:!1}}function n(e){return{getDeviceSessionState:()=>e}}function o(e=r,p=S){return{name:e,version:p}}describe("isContactsSupportedForSession",()=>{it("returns true when model, app version and OS version all meet the minimums",()=>{const e=n(s());expect(t(e,o())).toBe(!0)}),it("returns false on an unsupported device model",()=>{const e=n(s({modelId:i.NANO_X}));expect(t(e,o())).toBe(!1)}),it("returns false when the app version is below the minimum",()=>{const e=n(s());expect(t(e,o(r,a))).toBe(!1)}),it("returns false when the running app is unknown to Contacts",()=>{const e=n(s());expect(t(e,o("Bitcoin"))).toBe(!1)}),it("returns false when the OS version is below the minimum",()=>{const e=n(s({osVersion:a}));expect(t(e,o())).toBe(!1)}),it("returns false when the device session has no running app",()=>{const e=n({sessionStateType:c.Connected,deviceStatus:u.CONNECTED,deviceModelId:i.FLEX});expect(t(e,o())).toBe(!1)})});
|
|
2
|
-
//# sourceMappingURL=isContactsSupportedForSession.test.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/internal/app-binder/isContactsSupportedForSession.test.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n DeviceModelId,\n DeviceSessionStateType,\n DeviceStatus,\n type InternalApi,\n} from \"@ledgerhq/device-management-kit\";\n\nimport {\n ETHEREUM_APP_NAME,\n resolveContactsVersionRequirements,\n} from \"@api/model/ContactsVersionRequirements\";\n\nimport {\n isContactsSupportedForSession,\n type RunningApp,\n} from \"./isContactsSupportedForSession\";\n\nconst flexSupport = (() => {\n const requirement = resolveContactsVersionRequirements(DeviceModelId.FLEX);\n if (!requirement.supported) throw new Error(\"Flex must be supported\");\n return requirement;\n})();\n\nconst MIN_OS_VERSION = flexSupport.minOsVersion;\nconst MIN_APP_VERSION = (() => {\n const version = flexSupport.minAppVersion[ETHEREUM_APP_NAME];\n if (version === undefined) throw new Error(\"Ethereum min version required\");\n return version;\n})();\nconst BELOW_ANY_VERSION = \"0.0.1\";\n\ntype ReadyStateOptions = {\n osVersion?: string;\n modelId?: DeviceModelId;\n};\n\nfunction createReadyState({\n osVersion = MIN_OS_VERSION,\n modelId = DeviceModelId.FLEX,\n}: ReadyStateOptions = {}) {\n return {\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n installedApps: [],\n currentApp: { name: ETHEREUM_APP_NAME, version: \"0.0.0\" },\n deviceModelId: modelId,\n firmwareVersion: { mcu: \"1.0.0\", bootloader: \"1.0.0\", os: osVersion },\n isSecureConnectionAllowed: false,\n };\n}\n\nfunction createInternalApi(deviceState: object): InternalApi {\n return {\n getDeviceSessionState: () => deviceState,\n } as unknown as InternalApi;\n}\n\n// The running app identity now comes from the caller (a fresh\n// WaitForAppAndVersion result), not the device session state.\nfunction runningApp(\n name = ETHEREUM_APP_NAME,\n version = MIN_APP_VERSION,\n): RunningApp {\n return { name, version };\n}\n\ndescribe(\"isContactsSupportedForSession\", () => {\n it(\"returns true when model, app version and OS version all meet the minimums\", () => {\n const api = createInternalApi(createReadyState());\n expect(isContactsSupportedForSession(api, runningApp())).toBe(true);\n });\n\n it(\"returns false on an unsupported device model\", () => {\n const api = createInternalApi(\n createReadyState({ modelId: DeviceModelId.NANO_X }),\n );\n expect(isContactsSupportedForSession(api, runningApp())).toBe(false);\n });\n\n // App-version requirement (evaluated from the fresh app version).\n it(\"returns false when the app version is below the minimum\", () => {\n const api = createInternalApi(createReadyState());\n expect(\n isContactsSupportedForSession(\n api,\n runningApp(ETHEREUM_APP_NAME, BELOW_ANY_VERSION),\n ),\n ).toBe(false);\n });\n\n it(\"returns false when the running app is unknown to Contacts\", () => {\n const api = createInternalApi(createReadyState());\n expect(isContactsSupportedForSession(api, runningApp(\"Bitcoin\"))).toBe(\n false,\n );\n });\n\n // OS-version requirement.\n it(\"returns false when the OS version is below the minimum\", () => {\n const api = createInternalApi(\n createReadyState({ osVersion: BELOW_ANY_VERSION }),\n );\n expect(isContactsSupportedForSession(api, runningApp())).toBe(false);\n });\n\n it(\"returns false when the device session has no running app\", () => {\n const api = createInternalApi({\n sessionStateType: DeviceSessionStateType.Connected,\n deviceStatus: DeviceStatus.CONNECTED,\n deviceModelId: DeviceModelId.FLEX,\n });\n expect(isContactsSupportedForSession(api, runningApp())).toBe(false);\n });\n});\n"],
|
|
5
|
-
"mappings": "AAAA,OACE,iBAAAA,EACA,0BAAAC,EACA,gBAAAC,MAEK,kCAEP,OACE,qBAAAC,EACA,sCAAAC,MACK,yCAEP,OACE,iCAAAC,MAEK,kCAEP,MAAMC,GAAe,IAAM,CACzB,MAAMC,EAAcH,EAAmCJ,EAAc,IAAI,EACzE,GAAI,CAACO,EAAY,UAAW,MAAM,IAAI,MAAM,wBAAwB,EACpE,OAAOA,CACT,GAAG,EAEGC,EAAiBF,EAAY,aAC7BG,GAAmB,IAAM,CAC7B,MAAMC,EAAUJ,EAAY,cAAcH,CAAiB,EAC3D,GAAIO,IAAY,OAAW,MAAM,IAAI,MAAM,+BAA+B,EAC1E,OAAOA,CACT,GAAG,EACGC,EAAoB,QAO1B,SAASC,EAAiB,CACxB,UAAAC,EAAYL,EACZ,QAAAM,EAAUd,EAAc,IAC1B,EAAuB,CAAC,EAAG,CACzB,MAAO,CACL,iBAAkBC,EAAuB,0BACzC,aAAcC,EAAa,UAC3B,cAAe,CAAC,EAChB,WAAY,CAAE,KAAMC,EAAmB,QAAS,OAAQ,EACxD,cAAeW,EACf,gBAAiB,CAAE,IAAK,QAAS,WAAY,QAAS,GAAID,CAAU,EACpE,0BAA2B,EAC7B,CACF,CAEA,SAASE,EAAkBC,EAAkC,CAC3D,MAAO,CACL,sBAAuB,IAAMA,CAC/B,CACF,CAIA,SAASC,EACPC,EAAOf,EACPO,EAAUD,EACE,CACZ,MAAO,CAAE,KAAAS,EAAM,QAAAR,CAAQ,CACzB,CAEA,SAAS,gCAAiC,IAAM,CAC9C,GAAG,4EAA6E,IAAM,CACpF,MAAMS,EAAMJ,EAAkBH,EAAiB,CAAC,EAChD,OAAOP,EAA8Bc,EAAKF,EAAW,CAAC,CAAC,EAAE,KAAK,EAAI,CACpE,CAAC,EAED,GAAG,+CAAgD,IAAM,CACvD,MAAME,EAAMJ,EACVH,EAAiB,CAAE,QAASZ,EAAc,MAAO,CAAC,CACpD,EACA,OAAOK,EAA8Bc,EAAKF,EAAW,CAAC,CAAC,EAAE,KAAK,EAAK,CACrE,CAAC,EAGD,GAAG,0DAA2D,IAAM,CAClE,MAAME,EAAMJ,EAAkBH,EAAiB,CAAC,EAChD,OACEP,EACEc,EACAF,EAAWd,EAAmBQ,CAAiB,CACjD,CACF,EAAE,KAAK,EAAK,CACd,CAAC,EAED,GAAG,4DAA6D,IAAM,CACpE,MAAMQ,EAAMJ,EAAkBH,EAAiB,CAAC,EAChD,OAAOP,EAA8Bc,EAAKF,EAAW,SAAS,CAAC,CAAC,EAAE,KAChE,EACF,CACF,CAAC,EAGD,GAAG,yDAA0D,IAAM,CACjE,MAAME,EAAMJ,EACVH,EAAiB,CAAE,UAAWD,CAAkB,CAAC,CACnD,EACA,OAAON,EAA8Bc,EAAKF,EAAW,CAAC,CAAC,EAAE,KAAK,EAAK,CACrE,CAAC,EAED,GAAG,2DAA4D,IAAM,CACnE,MAAME,EAAMJ,EAAkB,CAC5B,iBAAkBd,EAAuB,UACzC,aAAcC,EAAa,UAC3B,cAAeF,EAAc,IAC/B,CAAC,EACD,OAAOK,EAA8Bc,EAAKF,EAAW,CAAC,CAAC,EAAE,KAAK,EAAK,CACrE,CAAC,CACH,CAAC",
|
|
6
|
-
"names": ["DeviceModelId", "DeviceSessionStateType", "DeviceStatus", "ETHEREUM_APP_NAME", "resolveContactsVersionRequirements", "isContactsSupportedForSession", "flexSupport", "requirement", "MIN_OS_VERSION", "MIN_APP_VERSION", "version", "BELOW_ANY_VERSION", "createReadyState", "osVersion", "modelId", "createInternalApi", "deviceState", "runningApp", "name", "api"]
|
|
7
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { type InternalApi } from "@ledgerhq/device-management-kit";
|
|
2
|
-
/** The running app's identity, read freshly from the device. */
|
|
3
|
-
export type RunningApp = {
|
|
4
|
-
readonly name: string;
|
|
5
|
-
readonly version: string;
|
|
6
|
-
};
|
|
7
|
-
/**
|
|
8
|
-
* Session-aware Contacts support check, for internal consumption by Contacts
|
|
9
|
-
* `DeviceAction`s. Resolves the given running app against the static
|
|
10
|
-
* requirements table:
|
|
11
|
-
* - the device model must be supported;
|
|
12
|
-
* - the running app must be known to Contacts and meet its minimum version;
|
|
13
|
-
* - the device OS must meet its minimum version (a dimension `ApplicationChecker`
|
|
14
|
-
* does not cover, so it is checked separately here).
|
|
15
|
-
*
|
|
16
|
-
* The app `name` and `version` are supplied by the caller so they can come from
|
|
17
|
-
* a fresh `WaitForAppAndVersion` result rather than the (potentially stale)
|
|
18
|
-
* device session state; the model and OS come from the session state, which
|
|
19
|
-
* does not change under the caller's feet the way the running app can.
|
|
20
|
-
*
|
|
21
|
-
* @param internalApi - the DeviceAction's internal API for the current session.
|
|
22
|
-
* @param app - the running app's fresh name and version.
|
|
23
|
-
*/
|
|
24
|
-
export declare function isContactsSupportedForSession(internalApi: InternalApi, app: RunningApp): boolean;
|
|
25
|
-
//# sourceMappingURL=isContactsSupportedForSession.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"isContactsSupportedForSession.d.ts","sourceRoot":"","sources":["../../../../src/internal/app-binder/isContactsSupportedForSession.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,WAAW,EACjB,MAAM,iCAAiC,CAAC;AASzC,gEAAgE;AAChE,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,6BAA6B,CAC3C,WAAW,EAAE,WAAW,EACxB,GAAG,EAAE,UAAU,GACd,OAAO,CA0BT"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"isContactsSupportedForSession.test.d.ts","sourceRoot":"","sources":["../../../../src/internal/app-binder/isContactsSupportedForSession.test.ts"],"names":[],"mappings":""}
|