generateSignAndSendTransactionUri method
Generate an URL with given transaction to signAndSend transaction with Phantom Wallet.
- Returns URL which will be used to send to Phantom Wallet signAndSendTransaction endpoint.
- Refer to for creating compiled transaction without signing in flutter/dart.
- Also it redirects user to
redirectwithnonceand encrypteddataas query parameters. - Encrypted
datacontainssignatureand can be decrypted using decryptPayload method.
Implementation
Uri generateSignAndSendTransactionUri(
{required String transaction, required String redirect}) {
var payload = {
"session": _sessionToken,
"transaction": base58encode(
Uint8List.fromList(
base64.decode(transaction),
),
),
};
var encryptedPayload = encryptPayload(payload);
return Uri(
scheme: scheme,
host: host,
path: '/ul/v1/signAndSendTransaction',
queryParameters: {
"dapp_encryption_public_key": base58encode(dAppPublicKey.asTypedList),
"nonce": base58encode(encryptedPayload["nonce"]),
'redirect_link': "$deepLink$redirect",
'payload': base58encode(encryptedPayload["encryptedPayload"])
},
);
}