latestBlock method
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);
}