Add NativeDeviceSignerKeyStorage with iOS/Android native bridge#1653
Draft
tomas-martins-crossmint wants to merge 7 commits intowallets-v1from
Draft
Conversation
|
a48d77a to
4413e3a
Compare
Contributor
🔥 Smoke Test Results✅ Status: Passed Statistics
✅ All smoke tests passed!All critical flows are working correctly. This is a non-blocking smoke test. Full regression tests run separately. |
4413e3a to
4ba06d6
Compare
4ba06d6 to
83fbe36
Compare
ad989bc to
d966c04
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Implements hardware-backed device signing for React Native / Expo wallets, rebased on
wallets-v1where the wallets-sdk device signer logic already lives.Changes
@crossmint/expo-device-signer— new Expo native module exposingNativeDeviceSignerKeyStorage extends DeviceSignerKeyStorage:KeyGenParameterSpec+SHA256withECDSA, metadata persisted in SharedPreferencesCrossmintDeviceSignerCocoaPod (SecureEnclaveKeyStorageon device,KeychainDeviceSignerKeyStorageon simulator)hasKey(publicKeyBase64): Android checks SharedPreferences index; iOS maintains a UserDefaults index kept in sync across generate/delete calls0x04 || x || y) to match the format expected bycreateDeviceSigner@crossmint/client-sdk-react-native-ui— wires up device signing:CrossmintWalletProvidergains adeviceSignerKeyStorage?: DeviceSignerKeyStoragepropCrossmintWalletBaseProvider, which already handles device signer registration and re-registration@crossmint/wallets-sdk— minor export addition:BiometricPolicytype is now exported from the package indexUsage
Notes
CrossmintDeviceSignerCocoaPod fromcrossmint-swift-sdk— needs a tagged release before this can be merged