CrossmintSolanaNonCustodialSigner class final
Solana variant of CrossmintNonCustodialSigner. Signs with ed25519 keys
using base58 encoding. signMessage is intentionally unsupported —
Solana only supports transaction signing.
- Inheritance
-
- Object
- CrossmintNonCustodialSigner
- CrossmintSolanaNonCustodialSigner
Constructors
- CrossmintSolanaNonCustodialSigner({required CrossmintClient client, required HiddenSignerBridge bridge, required String type, required String locator, String? address, CrossmintSignerAuthRequiredCallback? onAuthRequired, CrossmintOtpDeliveryChannel? channel, CrossmintSignerBridgeClient? bridgeClient})
- Creates a Solana non-custodial signer.
Properties
- address → String?
-
The wallet address this signer approves for, if known at construction.
finalinherited
- bridge → HiddenSignerBridge
-
The hidden signer WebView bridge that hosts the signing runtime.
finalinherited
- canExportPrivateKey → bool
-
Whether this signer can export its private key. Only non-custodial
email/phone signers return
true.no setterinherited - channel → CrossmintOtpDeliveryChannel?
-
OTP delivery channel for phone signers. Null means the service default
(SMS). Ignored for email signers.
finalinherited
- client → CrossmintClient
-
The client this signer belongs to.
finalinherited
- exportKeyParams → ({CrossmintExportSignerEncoding encoding, CrossmintSignerKeyType keyType})
-
no setteroverride
- hashCode → int
-
The hash code for this object.
no setterinherited
- locator → String
-
finalinherited
- needsAuth → bool
-
truewhile an OTP challenge is outstanding.no setterinherited - onAuthRequired → CrossmintSignerAuthRequiredCallback?
-
Callback invoked when an OTP challenge starts or ends. Usually wired to
CrossmintWalletController.onAuthRequired — which in turn surfaces a
reactive challenge on CrossmintWalletController.otp.
finalinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- type → String
-
finalinherited
Methods
-
ensureAuthenticated(
) → Future< void> -
Ensures the signer runtime has completed its authentication handshake,
prompting the user via onAuthRequired if necessary. Concurrent callers
share the same in-flight future — the user sees at most one prompt per
auth cycle.
inherited
-
exportPrivateKey(
CrossmintExportSignerBridge bridge) → Future< void> -
Kicks off the key-export flow via the provided export bridge. The
bridge renders a Crossmint-hosted UI that the user confirms inside.
Throws
CrossmintSignerExceptionwhen the signer type does not support export.inherited -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
reject(
[Object? error]) → void -
Cancels the pending OTP challenge. Fails the pending
ensureAuthenticated future with CrossmintAuthRejectedException when
no cause is supplied.
inherited
-
sendOtp(
) → Future< void> -
(Re-)sends the OTP to the signer locator (email / phone). Meant to be
invoked via CrossmintWalletOtpController.sendOtp during an active
challenge.
inherited
-
sign(
{required CrossmintSignerKeyType keyType, required String bytes, required CrossmintSignerEncoding encoding}) → Future< String> -
Low-level sign primitive — ensures auth, then invokes the signer bridge
directly. Chain-specific subclasses wrap this with the encoding /
key-type appropriate for their chain.
inherited
-
signMessage(
String message) → Future< String> -
override
-
signTransaction(
String transaction) → Future< String> -
override
-
toString(
) → String -
A string representation of this object.
inherited
-
verifyOtp(
String otp) → Future< void> -
Submits the OTP the user entered. Resolves the pending
ensureAuthenticated future on success.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited