InfraDIDCommAgent constructor

InfraDIDCommAgent({
  1. required String url,
  2. required String did,
  3. required String mnemonic,
  4. required String role,
})

Creates a new instance of InfraDIDCommAgent.

url - The URL of the server to connect to. did - The DID (Decentralized Identifier) of the agent. mnemonic - The mnemonic used for cryptographic operations. role - The role of the agent. Must be "HOLDER" or "VERIFIER".

Implementation

InfraDIDCommAgent({
  required this.url,
  required this.did,
  required this.mnemonic,
  required this.role,
}) {
  url = url;
  did = did;
  mnemonic = mnemonic;
  if (role == "HOLDER" || role == "VERIFIER") {
    role = role;
  } else {
    throw Exception("Role must be HOLDER or VERIFIER");
  }
  socket = IO.io(
    url,
    IO.OptionBuilder()
        .setTransports(["websocket"])
        .disableAutoConnect()
        .build(),
  );
  socket.on("connection", (data) {
    print("Socket ID: ${socket.id}");
  });
  socket.onConnect((_) {
    _socketIdCompleter.complete(socket.id);
    print("Socket connected");
  });
  socket.onDisconnect(
    (_) => {
      _socketIdCompleter = Completer(),
      print("Socket disconnected"),
    },
  );
  onMessage();
}