In KIRA every transaction type is associated with a custom fee amount defined in ukex. In order to submit given transaction type on-chain a set transaction fee must be paid. This is an essential mechanism preventing transaction spam, without transaction fees users could potentially transmit unlimited number of transactions spamming the chain mempool and thus cause the network halt or otherwise make it impossible for non-spam transactions to be filtered out and executed.
Main difference between KIRA and other general purpose Layer 1 networks is that there exist no concept of GAS fees (fees paid per instruction of the code being executed or stored on-chain) instead a fixed fee is used per each transaction type, making value of transaction fees simple and predictable. Execution fees are defined though governance proposals and must be set within safety ranges of MinTxFee and MaxTxFee. The minimum transaction fee as defined by the Network Properties protects the network from transaction spam while the max transaction fee protects user and custodians from sending transactions with unexpected fee amounts causing loss or funds.
All transaction types to which execution fees can be applied can be found here. The transaction type names are lowercase and individual words are separated with - symbol, for example: submit-proposal, claim-validator, ...
Execution Fee Properties
NOTE: To change execution fee as sudo a permission PermChangeTxFee (7) is required.
Commands Examples
Updating Execution Fees
# Updating Execution fees via proposal
# CLI
# TBD
# KM
# TBD
# Updating Execution fees as sudo
# CLI
sekaid tx customgov set-execution-fee --execution_fee="$EXECUTION_FEE" --failure_fee="$FAILURE_FEE" --transaction_type="$TX_TYPE" --timeout="$TX_TIMEOUT" \
--from "$ACCOUNT" --chain-id=$NETWORK_NAME --keyring-backend=test --fees=100ukex --yes --log_format=json --broadcast-mode=async --output=json | jq
# KM
# e.g: setExecutionFee <account> <tx-type> <execution-fee> <failure-fee> <tx-timeout>
setExecutionFee $ACCOUNT $TX_TYPE 100 200 60
Bash
Query Execution Fees
# CLI
sekaid query customgov execution-fee "$TRANSACTION_TYPE" --output=json --home=$SEKAID_HOME
# KM
showExecutionFee "$TRANSACTION_TYPE"
Bash