Nip55Signer class
Dart bridge to a NIP-55 "Android Signer Application".
NIP-55 is a protocol implemented by several external signer apps.
This class talks to whichever compatible signer is installed through the
native ndk method channel
(DartNdkPlugin).
Every method resolves to a Map that contains (at least) a signature
key with the result, mirroring the historical external-signer plugin API.
Constructors
- Nip55Signer({String? package})
-
const
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- package → String?
-
The signer app package, captured at login. Used to
target the right signer for both the ContentResolver and the Intent.
When
null, the native side lets Android route through a compatible signer app.final - runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
decryptZapEvent(
{required String eventJson, required String currentUser, String? id}) → Future< Map> -
getPublicKey(
{List< Nip55Permission> ? permissions}) → Future<Map> -
Requests the user's public key (login). Optionally pre-authorizes
permissionsso subsequent requests can be answered silently. -
getPublicKeyHex(
{List< Nip55Permission> ? permissions}) → Future<String?> -
Requests the user's public key and returns it as a hex pubkey, or
nullif the user rejected or no key was returned. -
isAppInstalled(
) → Future< bool> - Whether a NIP-55 compatible external signer is installed.
-
login(
{List< Nip55Permission> ? permissions}) → Future<Nip55LoginResult?> -
Logs in: requests the user's public key, pre-authorizing
permissions(defaults to defaultPermissions), and captures the signer app package. Returnsnullif the user rejected or no key was returned. -
nip04Decrypt(
{required String ciphertext, required String currentUser, required String pubKey, String? id}) → Future< Map> -
nip04Encrypt(
{required String plaintext, required String currentUser, required String pubKey, String? id}) → Future< Map> -
nip44Decrypt(
{required String ciphertext, required String currentUser, required String pubKey, String? id}) → Future< Map> -
nip44Encrypt(
{required String plaintext, required String currentUser, required String pubKey, String? id}) → Future< Map> -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
signEvent(
{required String currentUser, required String eventJson, String? id}) → Future< Map> -
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Constants
-
defaultPermissions
→ const List<
Nip55Permission> - Default permissions requested at login so common operations can be answered silently (via ContentResolver) without reopening the signer.