latestEpochParameters method

  1. @override
Future<Result<LinearFee, String>> latestEpochParameters({
  1. int epochNumber = 0,
})
override

Return the fee parameters for the given epoch number or the latest epoch if no number supplied.

Implementation

@override
Future<Result<LinearFee, String>> latestEpochParameters(
    {int epochNumber = 0}) async {
  if (epochNumber == 0) {
    final blockResult = await latestBlock();
    if (blockResult.isErr()) return Err(blockResult.unwrapErr());
    epochNumber = blockResult.unwrap().epoch;
  }
  final paramResult = await dioCall<EpochParamContent>(
    request: () => blockfrost
        .getCardanoEpochsApi()
        .epochsNumberParametersGet(number: epochNumber),
    onSuccess: (data) => logger.i(
        "blockfrost.getCardanoEpochsApi().epochsNumberParametersGet(number:$epochNumber) -> ${serializers.toJson(EpochParamContent.serializer, data)}"),
    errorSubject: 'latest EpochParamContent',
  );
  if (paramResult.isErr()) return Err(paramResult.unwrapErr());
  final epochParams = paramResult.unwrap();
  final linearFee = LinearFee(
    constant: epochParams.minFeeA,
    coefficient: epochParams.minFeeB,
  );
  return Ok(linearFee);
}