generateSignTransactionURI method
This function is used to generate a URIScheme compliant URL to serve as a request to sign a transaction.
Implementation
String generateSignTransactionURI(String transactionEnvelopeXdrBase64,
{String? replace,
String? callback,
String? publicKey,
String? chain,
String? message,
String? networkPassphrase,
String? originDomain,
String? signature}) {
String result = uriSchemeName + signOperation;
final Map<String, String> queryParams = {
xdrParameterName: Uri.encodeComponent(transactionEnvelopeXdrBase64)
};
if (replace != null) {
queryParams[replaceParameterName] = Uri.encodeComponent(replace);
}
if (callback != null) {
queryParams[callbackParameterName] = Uri.encodeComponent(callback);
}
if (publicKey != null) {
queryParams[publicKeyParameterName] = Uri.encodeComponent(publicKey);
}
if (chain != null) {
queryParams[chainParameterName] = Uri.encodeComponent(chain);
}
if (message != null) {
queryParams[publicKeyParameterName] = Uri.encodeComponent(message);
}
if (networkPassphrase != null) {
queryParams[networkPassphraseParameterName] =
Uri.encodeComponent(networkPassphrase);
}
if (originDomain != null) {
queryParams[originDomainParameterName] =
Uri.encodeComponent(originDomain);
}
if (signature != null) {
queryParams[signatureParameterName] = Uri.encodeComponent(signature);
}
for (MapEntry e in queryParams.entries) {
result += "${e.key}=${e.value}&";
}
if (queryParams.isNotEmpty) {
result = result.substring(0, result.length - 1);
}
return result;
}