fund method
Future<CrossmintWalletFundResult>
fund({
- required String walletId,
- required CrossmintWalletFundRequest request,
override
Implementation
@override
Future<CrossmintWalletFundResult> fund({
required String walletId,
required CrossmintWalletFundRequest request,
}) async {
final CrossmintJsonMap payload = Map<String, Object?>.from(request.raw);
payload.putIfAbsent('amount', () => request.amount);
final String? normalizedToken = request.token?.trim().toLowerCase();
if (normalizedToken != null && normalizedToken.isNotEmpty) {
payload.putIfAbsent('token', () => normalizedToken);
} else if (payload['token'] case final String rawToken
when rawToken.trim().isNotEmpty) {
payload['token'] = rawToken.trim().toLowerCase();
}
if (request.chain != null && request.chain!.trim().isNotEmpty) {
payload.putIfAbsent('chain', () => request.chain);
}
final String fundingTarget = await _walletLocatorForFunding(
walletId,
service: _service,
);
final CrossmintJsonMap response = await _service.fundWallet(
fundingTarget,
payload,
);
return CrossmintWalletFundResult(raw: response);
}