generateDisconnectUri method

Uri generateDisconnectUri({
  1. required String redirect,
})

Generate an URL to disconnect from Phantom Wallet and destroy the session.

  • Returns URL which will be used to send to Phantom Wallet /disconnect endpoint.
  • It redirects user to redirect.
  • _sessionToken and _sharedSecret was destroyed after the session is over.
  • Once the session is destroyed, the app will need to re-connect to Phantom before making any further requests.

Implementation

Uri generateDisconnectUri({required String redirect}) {
  var payLoad = {
    "session": _sessionToken,
  };
  var encryptedPayload = encryptPayload(payLoad);

  Uri launchUri = Uri(
    scheme: scheme,
    host: host,
    path: '/ul/v1/disconnect',
    queryParameters: {
      "dapp_encryption_public_key": base58encode(dAppPublicKey.asTypedList),
      "nonce": base58encode(encryptedPayload["nonce"]),
      'redirect_link': "$deepLink$redirect",
      "payload": base58encode(encryptedPayload["encryptedPayload"]),
    },
  );
  _sharedSecret = null;
  return launchUri;
}