CrossmintSolanaWallet class final
Runtime wallet for Solana.
Solana device signer support is provider-dependent (Swig/Crossmint support
it, Squads does not) and validated server-side; the runtime falls back to
the recovery signer when the provider rejects a device signer. Non-custodial,
external, and passkey signers are also supported. Default chain is solana.
- Inheritance
-
- Object
- CrossmintRuntimeWalletBase
- CrossmintSolanaWallet
Constructors
-
CrossmintSolanaWallet({required CrossmintClient client, required CrossmintWallet wallet, CrossmintSignerConfig? recoverySigner, CrossmintWalletApprovalSigner? signer, List<
CrossmintWalletApprovalSigner> additionalSigners = const <CrossmintWalletApprovalSigner>[], DeviceSignerKeyStorage? deviceSignerKeyStorage, CrossmintSignerAuthRequiredCallback? onAuthRequired}) - Creates a runtime Solana wallet. Prefer CrossmintClient.createSolanaWallet or the wallet controller over constructing this directly.
Properties
-
additionalSigners
→ List<
CrossmintWalletApprovalSigner> -
no setterinherited
- address → String
-
no setterinherited
- canExportPrivateKey → bool
-
no setterinherited
- chain → String
-
no setterinherited
- client → CrossmintClient
-
finalinherited
- debugIsRecovering → bool
-
Test-only: true while
recover()is in flight. Lets concurrency tests assert that concurrent callers coalesce onto a single recovery future.no setterinherited - defaultChain → String
-
no setteroverride
- deviceSignerKeyStorage → DeviceSignerKeyStorage?
-
finalinherited
- hashCode → int
-
The hash code for this object.
no setterinherited
- locator → String
-
no setterinherited
- needsRecovery → bool
-
no setterinherited
- onAuthRequired → CrossmintSignerAuthRequiredCallback?
-
finalinherited
- owner → String?
-
no setterinherited
- recovery → CrossmintSignerConfig?
-
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- signer → CrossmintWalletApprovalSigner?
-
no setterinherited
- wallet → CrossmintWallet
-
finalinherited
Methods
-
addSigner(
CrossmintSignerConfig signer, {bool prepareOnly = false}) → Future< CrossmintWalletAddSignerResult> -
Registers a new signer on the wallet and approves the registration.
inherited
-
approve(
CrossmintWalletApproveRequest request) → Future< CrossmintWalletApproveResult> -
inherited
-
approveSignatureAndWaitInternal(
String signatureId) → Future< String> -
inherited
-
approveSignatureInternal(
String signatureId) → Future< CrossmintSignatureRecord> -
inherited
-
approveTransactionAndWait(
String transactionId, {CrossmintTransactionDetails? seedTransaction}) → Future< CrossmintTransactionDetails> -
inherited
-
approveTransactionInternal(
String transactionId) → Future< CrossmintTransactionDetails> -
inherited
-
balances(
{List< String> tokens = const <String>[]}) → Future<CrossmintWalletBalanceSnapshot> -
inherited
-
completeApprovedTransaction(
CrossmintTransactionDetails transaction, {required String transactionId}) → Future< CrossmintTransactionDetails> -
inherited
-
debugRegisterRecoverySigner(
CrossmintWalletApprovalSigner signer) → void -
Test-only: inject a pre-assembled recovery signer, bypassing the
constructor-config resolution path. Used by tests that wire a fake
bridge into a non-custodial signer without exercising
hiddenSignerBridgeController. Not part of the supported public API.inherited -
exportPrivateKey(
{CrossmintExportSignerBridge? bridge}) → Future< void> -
inherited
-
fund(
CrossmintWalletFundRequest request) → Future< CrossmintWalletFundResult> -
inherited
-
isSignerApproved(
String signerLocator) → Future< bool> -
inherited
-
nfts(
{int page = 1, int perPage = 50}) → Future< CrossmintWalletNftPage> -
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
preAuthIfNeeded(
) → Future< void> -
Awaits any in-flight recovery; if
_needsRecoveryis set and no recovery is in-flight, starts one and awaits it. Concurrent callers coalesce onto the same future so a single recovery runs per wallet.inherited -
recover(
) → Future< void> -
inherited
-
removeSigner(
String signerLocator) → Future< void> -
inherited
-
requireActiveSigner(
String operation) → CrossmintWalletApprovalSigner -
inherited
-
send(
CrossmintWalletTokenTransferRequest request) → Future< CrossmintTransactionDetails> -
inherited
-
sendToken(
String to, String token, String amount, {bool prepareOnly = false, String? transactionType}) → Future< CrossmintTransactionDetails> -
inherited
-
sendTransaction(
CrossmintSolanaTransactionRequest request) → Future< CrossmintTransactionDetails> - Submits, approves, and waits for confirmation of a Solana transaction. Accepts a serialized transaction (base64 or base58); the SDK applies the active signer and returns the final CrossmintTransactionDetails.
-
signerIsRegistered(
String signerLocator) → Future< bool> -
inherited
-
signers(
) → Future< List< CrossmintWalletSigner> > -
inherited
-
toString(
) → String -
A string representation of this object.
inherited
-
transaction(
String transactionId) → Future< CrossmintTransactionDetails?> -
inherited
-
transactionApprovalPayload(
{required CrossmintTransactionDetails transaction, required CrossmintJsonMap pendingApproval, required CrossmintWalletApprovalSigner signer}) → String -
inherited
-
transactions(
) → Future< List< CrossmintTransactionSummary> > -
inherited
-
transfers(
{int page = 1, int perPage = 50, List< String> tokens = const <String>[], String? status}) → Future<List< CrossmintJsonMap> > -
Reads transfer history for this wallet (unstable API).
inherited
-
useSigner(
CrossmintSignerConfig signer, {List< CrossmintSignerConfig> additionalSigners = const <CrossmintSignerConfig>[]}) → Future<void> -
inherited
-
waitForTransaction(
String transactionId) → Future< CrossmintTransactionDetails> -
inherited
-
walletSnapshotForSigners(
) → Future< CrossmintWallet> -
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited