Estimate fee

Calculate the fees required for query


This function calculates the fees required for the query. If the Gateway contract's query() sends less than the required fee, it is reverted as InvalidFee.

struct QueryRequest {
  uint32 dstChainId;
  address to;
  uint256 height;
  bytes32 slot;

function estimateFee(
  address lightClient,
  QueryType.QueryRequest[] memory queries
) public view returns (uint256);

How to calculate

In estimateFee(), the function calculates the sum of the fees for each actor, such as Relayer, Oracle, etc.

There are two main categories of the fee;

  • Protocol fee

  • Verification fee

Of these, only the Protocol fee is calculated by Gateway contract's estimateFee() itself. The verification fee is calculated by estimateQueryFee() of the Light Client Contract.

Last updated