request method
Future
request({
- int? requestId,
- required String topic,
- required String chainId,
- required SessionRequestParams request,
override
Implementation
@override
Future<dynamic> request({
int? requestId,
required String topic,
required String chainId,
required SessionRequestParams request,
}) async {
_checkInitialized();
await _isValidRequest(topic, chainId, request);
final session = sessions.get(topic);
final isLinkMode = _isLinkModeRequest(session);
if (!isLinkMode) {
_confirmOnlineStateOrThrow();
}
final sessionRequest = WcSessionRequestRequest(
chainId: chainId,
request: request,
);
final id = requestId ?? JsonRpcUtils.payloadId();
final tvf = collectRequestTVF(id, sessionRequest);
core.logger.d('[$runtimeType] _collect Request TVF, id: $id, $tvf');
return await core.pairing.sendRequest(
id: id,
topic,
MethodConstants.WC_SESSION_REQUEST,
sessionRequest.toJson(),
appLink: _getAppLinkIfEnabled(session?.peer.metadata),
tvf: tvf,
);
}