pair method

  1. @override
Future<PairingInfo> pair(
  1. Uri uri, {
  2. bool activatePairing = false,
})
override

Implementation

@override
Future<PairingInfo> pair(
  Uri uri, {
  bool activatePairing = false,
}) async {
  _checkInitialized();

  // print(uri.queryParameters);
  final int expiry = WalletConnectUtils.calculateExpiry(
    WalletConnectConstants.FIVE_MINUTES,
  );
  final Map<String, dynamic> parsedUri = WalletConnectUtils.parseUri(uri);
  final String topic = parsedUri['topic']!;
  final Relay relay = parsedUri['relay']!;
  final String symKey = parsedUri['symKey']!;
  final PairingInfo pairing = PairingInfo(
    topic,
    expiry,
    relay,
    false,
  );
  await pairings!.set(topic, pairing);
  await core.crypto.setSymKey(symKey, overrideTopic: topic);
  await core.relayClient.subscribe(topic);
  await core.expirer.set(topic, expiry);

  if (activatePairing) {
    await activate(topic);
  }

  return pairing;
}