createSolanaWalletWithNonCustodialSigner method
CrossmintSolanaWallet
createSolanaWalletWithNonCustodialSigner({
- required String signerType,
- required String signerLocator,
- String? address,
- HiddenSignerBridge? bridge,
- CrossmintOtpDeliveryChannel? channel,
- CrossmintSignerConfig? recoverySigner,
Builds a runtime Solana wallet backed by a non-custodial email/phone signer. Requires a mounted wallet host.
Pass channel to request a non-default OTP delivery channel when
signerType is phone; it is ignored for email signers.
Implementation
CrossmintSolanaWallet createSolanaWalletWithNonCustodialSigner({
required String signerType,
required String signerLocator,
String? address,
HiddenSignerBridge? bridge,
CrossmintOtpDeliveryChannel? channel,
CrossmintSignerConfig? recoverySigner,
}) {
final CrossmintWallet wallet = requireCurrentWallet;
final HiddenSignerBridge resolvedBridge =
bridge ?? client.hiddenSignerBridgeController;
crossmintAssertBridgeHosted(resolvedBridge);
final CrossmintWalletApprovalSigner signer = client
.createSolanaNonCustodialSigner(
bridge: resolvedBridge,
signerType: signerType,
signerLocator: signerLocator,
address: address ?? wallet.address,
onAuthRequired: onAuthRequired,
channel: channel,
);
return client.createSolanaWallet(
wallet: wallet,
signer: signer,
recoverySigner: _recoveryMethodOr(recoverySigner),
deviceSignerKeyStorage: config.deviceSignerKeyStorage,
onAuthRequired: onAuthRequired,
);
}