connectResponseHandler method

Future<void> connectResponseHandler(
  1. String topic,
  2. WcSessionProposeRequest request,
  3. int requestId
)

Implementation

Future<void> connectResponseHandler(
  String topic,
  WcSessionProposeRequest request,
  int requestId,
) async {
  // print("sending proposal for $topic");
  // print('connectResponseHandler requestId: $requestId');
  final Map<String, dynamic> resp = await core.pairing.sendRequest(
    topic,
    'wc_sessionPropose',
    request.toJson(),
    id: requestId,
  );
  final String peerPublicKey = resp['responderPublicKey'];

  final ProposalData proposal = proposals.get(
    requestId.toString(),
  )!;
  final String sessionTopic = await core.crypto.generateSharedKey(
    proposal.proposer.publicKey,
    peerPublicKey,
  );
  // print('connectResponseHandler session topic: $sessionTopic');

  // Delete the proposal, we are done with it
  await _deleteProposal(requestId);

  await core.relayClient.subscribe(sessionTopic);
  await core.pairing.activate(topic);
}