latestBlock method

  1. @override
Future<Result<Block, String>> latestBlock()
override

Returns last latest Block instance from blockchain if successful.

Implementation

@override
Future<Result<Block, String>> latestBlock() async {
  final blockResult = await dioCall<BlockContent>(
    request: () => blockfrost.getCardanoBlocksApi().blocksLatestGet(),
    onSuccess: (data) => logger.i(
        "blockfrost.getCardanoBlocksApi().blocksLatestGet() -> ${serializers.toJson(BlockContent.serializer, data)}"),
    errorSubject: 'latest block',
  );
  if (blockResult.isErr()) return Err(blockResult.unwrapErr());
  final b = blockResult.unwrap();
  var dateTime =
      DateTime.fromMillisecondsSinceEpoch(b.time * 1000, isUtc: true);
  final block = Block(
      time: dateTime,
      hash: b.hash,
      slot: b.slot ?? 0,
      epoch: b.epoch ?? 0,
      epochSlot: b.epochSlot ?? 0);
  return Ok(block);
}