encodeTransferRequestURL function

String encodeTransferRequestURL(
  1. TransferRequest transferRequest
)

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();
}