getTransaction method

  1. @override
Future<TransactionResponse> getTransaction(
  1. String digest, {
  2. TransactionIncludeOptions? include,
})
override

Implementation

@override
Future<TransactionResponse> getTransaction(
  String digest, {
  TransactionIncludeOptions? include,
}) async {
  final data = await _client.executeData(
    _getTransactionOperation,
    generated.Variables$Query$GetTransaction(digest: digest),
  );
  final tx = data.transaction;
  if (tx == null) throw Exception('Transaction not found: $digest');
  final effects = tx.effects;
  final timestamp = effects?.timestamp;
  return TransactionResponse(
    digest: tx.digest,
    status: ExecutionStatus(
      success: effects?.status == schema.Enum$ExecutionStatus.SUCCESS,
    ),
    timestampMs: timestamp == null
        ? null
        : DateTime.tryParse(timestamp)?.millisecondsSinceEpoch.toString(),
  );
}