buildUriSignAllTransactions method

Uri buildUriSignAllTransactions({
  1. required List<String> transactions,
  2. Uint8List? nonce,
})

Generate an URL with given transactions to sign all with Solflare Wallet.

Implementation

Uri buildUriSignAllTransactions({
  required List<String> transactions,
  Uint8List? nonce,
}) {
  final requestNonce = nonce ?? _core.crypto.getUtils().randomBytes(24);

  final payload = {
    'transactions': transactions
        .map((e) => base58.encode(Uint8List.fromList(base64.decode(e))))
        .toList(),
    'session': _sessionToken,
  };

  final encryptedPayload = encryptPayload(payload, requestNonce);

  return Uri(
    scheme: _scheme,
    host: _host,
    path: '/ul/v1/signAllTransactions',
    queryParameters: {
      'redirect_link': '$_redirectLink?solflareRequest=signAllTransactions',
      'dapp_encryption_public_key': dappPublicKey,
      'nonce': base58.encode(requestNonce),
      'payload': base58.encode(encryptedPayload!),
    },
  );
}