crossmint_device_signer

Native device-signer plugin used by the Crossmint Flutter SDK.

Most app developers should install crossmint_flutter rather than depending on this plugin directly.

What It Does

  • checks whether the device signer is available
  • generates a signing key
  • maps a wallet address to a key
  • looks up mapped or pending keys
  • signs messages
  • deletes active or pending keys
  • exposes a device name when available

API Surface

The plugin exposes these methods through CrossmintDeviceSigner:

  • isAvailable()
  • generateKey({String? address})
  • getKey(String address)
  • hasKey(String publicKeyBase64)
  • mapAddressToKey(String address, String publicKeyBase64)
  • signMessage({required String address, required String message})
  • deleteKey(String address)
  • deletePendingKey(String publicKeyBase64)
  • getDeviceName()

Validation

The plugin has dedicated unit tests and an integration example under example/integration_test/plugin_integration_test.dart that exercises the key lifecycle on-device.

Notes

  • The plugin is intended for iOS and Android.
  • The generated public key is expected to be an uncompressed P-256 key encoded in base64.
  • The Flutter SDK treats this plugin as an implementation detail of the device signer storage abstraction.