encodeTransferRequestURL function
Returns a base-58 encoded Solana Pay transfer request URL. More info on https://docs.solanapay.com/core/transfer-request/overview
Implementation
String encodeTransferRequestURL(TransferRequest transferRequest) {
Map<String, dynamic> queryParameters = {};
if (transferRequest.amount != null) {
queryParameters["amount"] =
transferRequest.amount!.toStringAsFixed(SOL_DECIMALS);
}
if (transferRequest.splToken != null) {
queryParameters["spl-token"] = transferRequest.splToken;
}
if (transferRequest.reference != null) {
queryParameters["reference"] = transferRequest.reference;
}
if (transferRequest.label != null) {
queryParameters["label"] = transferRequest.label;
}
if (transferRequest.message != null) {
queryParameters["message"] = transferRequest.message;
}
if (transferRequest.memo != null) {
queryParameters["memo"] = transferRequest.memo;
}
return Uri(
scheme: SOLANA_PROTOCOL,
path: transferRequest.recipient,
queryParameters: queryParameters)
.toString();
}