Core constructor

Core({
  1. String relayUrl = WalletConnectConstants.DEFAULT_RELAY_URL,
  2. required String projectId,
  3. bool memoryStore = false,
  4. IHttpClient httpClient = const HttpWrapper(),
})

Implementation

Core({
  this.relayUrl = WalletConnectConstants.DEFAULT_RELAY_URL,
  required this.projectId,
  bool memoryStore = false,
  IHttpClient httpClient = const HttpWrapper(),
}) {
  storage = SharedPrefsStores(
    memoryStore: memoryStore,
  );
  crypto = Crypto(
    core: this,
    keyChain: GenericStore<String>(
      storage: storage,
      context: StoreVersions.CONTEXT_KEYCHAIN,
      version: StoreVersions.VERSION_KEYCHAIN,
      fromJson: (dynamic value) => value as String,
    ),
  );
  relayClient = RelayClient(
    core: this,
    messageTracker: MessageTracker(
      storage: storage,
      context: StoreVersions.CONTEXT_MESSAGE_TRACKER,
      version: StoreVersions.VERSION_MESSAGE_TRACKER,
      fromJson: (dynamic value) {
        return WalletConnectUtils.convertMapTo<String>(value);
      },
    ),
    topicMap: GenericStore<String>(
      storage: storage,
      context: StoreVersions.CONTEXT_TOPIC_MAP,
      version: StoreVersions.VERSION_TOPIC_MAP,
      fromJson: (dynamic value) => value as String,
    ),
    httpClient: httpClient,
  );
  expirer = Expirer(
    storage: storage,
    context: StoreVersions.CONTEXT_EXPIRER,
    version: StoreVersions.VERSION_EXPIRER,
    fromJson: (dynamic value) => value as int,
  );
  pairing = Pairing(
    core: this,
    pairings: PairingStore(
      storage: storage,
      context: StoreVersions.CONTEXT_PAIRINGS,
      version: StoreVersions.VERSION_PAIRINGS,
      fromJson: (dynamic value) {
        return PairingInfo.fromJson(value as Map<String, dynamic>);
      },
    ),
    history: JsonRpcHistory(
      storage: storage,
      context: StoreVersions.CONTEXT_JSON_RPC_HISTORY,
      version: StoreVersions.VERSION_JSON_RPC_HISTORY,
      fromJson: (dynamic value) => JsonRpcRecord.fromJson(value),
    ),
    topicToReceiverPublicKey: GenericStore(
      storage: storage,
      context: StoreVersions.CONTEXT_TOPIC_TO_RECEIVER_PUBLIC_KEY,
      version: StoreVersions.VERSION_TOPIC_TO_RECEIVER_PUBLIC_KEY,
      fromJson: (dynamic value) => ReceiverPublicKey.fromJson(value),
    ),
  );
}