FIO Chain Issue: Account Access
Discovery date | Severity | Estimated impact | Status |
---|---|---|---|
2024-06-12 | LOW | 21 accounts with combined FIO balance of ~6,700 | RESOLVED |
Issue Description
On 2024-06-12 while attempting to run audit actions delivered in fio.contracts release 1.10 on 2024-06-10, an issue was discovered, which appears to be impacting at least 21 accounts. The issue causes a 500 exception to be returned anytime that account attempts to execute any action which modifies its balance, including sending and receiving FIO Tokens and any action which incurs a fee.
There are two flavors of this exception:
- “assertion failure with message: cannot vote for producers and proxy at same time” - this is caused by a new assertion check with throws an exception if an account in
voters
table has both proxy set and also is voting on block producers. Such condition should not be possible and has been fixed in the previous release, but still exists in Mainnet. Accounts impacted: 4 - “assertion failure with message: computegenerallockedtokens, remaining lock amount is larger than balance…” - this is caused by a new assertion check which throws an exception if during locked tokens balance computation the remaining lock balance is greater than actual account balance. Again, such condition should not be possible and has been fixed in the previous release, but still exists in Mainnet. Accounts impacted: 17
Accounts confirmed to be affected:
Account |
---|
wmg214fc5plp |
epwsconyqsmw |
quitalbpd3y1 |
gt1zu3gh5coq |
1uuhyexivxmv |
aqvsjqslli3i |
xy5yaub3adur |
h2spgt3ttoeh |
5iadavastwas |
15mvnhis3dbu |
a3shl1xkl2tb |
j2vrdzmlxyej |
qjqrekkisr32 |
bwj2ro1bph5h |
rbnuoevrkxvs |
mpe5yleqxdp4 |
fkwv4gu3shp5 |
kb5juonh4ybw |
psif4sjf3qou |
r4agwov1n321 |
s5lla4zgeptf |
Impact of Issue
The token security or total token balance are not affected by this issue!
- Identified account are unable to execute most on-chain actions, if that action involves an on-chain fee.
- Identified account are unable to receive FIO Tokens, as the sender will receive a 500 exception when trying to send.
- The proxy/voting balance audit utilizing functionality delivered in fio.contracts release 2.10 cannot be executed, as it requires that every account in voters table first receives 1 FIO to properly adjusted their voting balance. The audit will be re-ran after this issue is resolved.
Cause of Issue
The two new assertions were introduced in fio.contracts release 2.10 as a precautionary measure to ensure account integrity. This was done as part of a broader proxy/voting balance audits. It was not anticipated that such conditions exists and were not found during Testnet testing.
Issue Resolution
This issue was resolved in FIO Chain Release 2.11.