Payment module

Currently we have only extrinsic fee method, which we only use in extrinsic tests.

interface PaymentModule {
    suspend fun getQueryFeeDetails(payload: Payload): QueryFeeDetails?
}

You should create a Payload using extrinsics service before calling this method:

val client: SubstrateClient
val payload: Payload

val fee: QueryFeeDetails? = client.modules.payment.getQueryFeeDetails(payload)

QueryFeeDetails is very simple class, even though its deserializaiton is not so simple, but here it is:

data class QueryFeeDetails(
    val baseFee: Balance,
    val lenFee: Balance,
    val adjustedWeightFee: Balance
)

Last updated