initWithStaticConnectRequest method
dynamic
initWithStaticConnectRequest(})
Initializes the agent with a static connect request message and connects to the server.
Implementation
initWithStaticConnectRequest(
String serviceEndpoint,
Context context, {
String? peerDID,
bool Function(String peerDID)? didVerification,
}) async {
if (peerDID != null && didVerification != null) {
if (!didVerification(peerDID)) {
throw Exception("DID verification failed");
}
}
// Initialize with static connection only can be done by HOLDER
changeRole("HOLDER");
await connect();
int currentTime = DateTime.now().millisecondsSinceEpoch ~/ 1000;
await Future.delayed(Duration(milliseconds: 500));
String socketId = (await this.socketId)!;
Initiator initiator = Initiator(
type: role,
serviceEndpoint: url,
socketId: socketId,
);
DIDConnectRequestMessage didConnectRequestMessage =
DIDConnectRequestMessage(
from: did,
createdTime: currentTime,
expiresTime: currentTime + 30000,
context: context,
initiator: initiator,
);
final encodedMessage =
didConnectRequestMessage.encode(CompressionLevel.compactJSON);
await http.get(Uri.parse("$serviceEndpoint?data=$encodedMessage"));
}