We would like to share a post-mortem on what happened with the transaction fees on the ICON Network recently.
At block height 21,789,395, the ICON Foundation submitted a Step Price Proposal (https://tracker.icon.foundation/proposal/0x9d6b1e74442ad55fda517fc05d3046e91db52dbda54dabc77d0cf1a76f2278f6) to adjust the step price to 12,500,000,000 loop (0.00000000125 ICX). However, at block height 21,809,081, the proposal was passed and the step price changed to 1,258,425,417,728 loop (0.000001258425417728 ICX). We further analyze why this happened below.
The original design of the Step Price Proposal was to convert the value entered in the “Value” parameter to decimal. The Value parameter on the Network Proposal is generally designed to support the String format to process various types of proposals. Therefore, the Step Price Proposal was supposed to convert the input “String” to decimal. However, the Step Price Proposal converted the value to hexadecimal as opposed to decimal, resulting in a 1,258,425,417,728 loop proposal instead of the intended 12,500,000,000 loop.
ICON Foundation modified the Governance SCORE to add logic to identify both decimal and hexadecimal numbers to prevent this issue from happening again. ICX Station submitted a followup proposal after the Governance SCORE was updated. Main P-Reps approved this proposal and we are now at the intended level of transaction fees.