-
Notifications
You must be signed in to change notification settings - Fork 6
BUG: EOS locked by system contract - many voters' staked property <voters.staked> is less than total staked CPU/NET of the voter account, and leads to "stake for voting cannot be negative" assert when the voter account trying to unstake EOS. #34
Comments
@shawnbow Did you also check the delband table for all other accounts that may have also staked on behalf of huangpanlong? |
Sorry, this wouldn't account for any difference here, it would account for a difference on the other ("from") account (if there was one) that was staking on the "to" accounts behalf. |
@brianjohnson5972
haztonrqhege has 114.4747 EOS staked on himself, but only has 105.6150 EOS voter-staked, which means when he tries to unstake more than 105.6150 EOS, he will get the "stake for voting cannot be negative" assert and 8.8597 EOS permanently locked sadly. My script is located at: https://github.com/shawnbow/eosio-helper/blob/master/scripts/check_voter.ts, you can git clone https://github.com/shawnbow/eosio-helper/, and run |
@brianjohnson5972
But I don't know whether it's the best solution, just for your reference. |
I'm one of them. Account gy2danbvgyge. I get stake for voting cannot be negative when I try to unstake 0.259 eos. I know this is a very low value, but I wanted to let you know |
@cic8ino , many accounts have much more than your locked EOS, but seems developers of EOSIO don't have time to fix the serious bug. |
My understanding is that the rex sell order may not happen immediately. Could you check the rexqueue table to see if there are any orders that haven't been processed or that are closed? |
@TimothyBanks, I've checked rexqueue table, there is no order for those locked EOS accounts. |
What is the update on this? |
I am currently investigating the issue. |
Moving this to the new reference system contract repo. I believe I have a test that replicates this issue. I believe I have a fix and will look to get it out soon. |
Hello. I have this problem as well. My EOS are all stuck in REX, and I get the "stake for voting cannot be negative" error. What can I do to resolve this? |
I have 89.7 eos I accidentally sent to wrong address. On the explorer it shows it's an unused wallet. A Genesis account. Never used my deposit is the only transaction it shows. I've reached out to exchange I was trying to send to and they won't help. I don't know much about smart contracts etc. Trying to learn. I really need to get my tokens back. I can prove ownership and seen this thread hoping someone can help. stallingsbryant12@gmail.com |
This bug has still not been fixed as of November 11, 2021. |
Can someone please fix this bug? Some of my EOS is locked up in the REX and I can't remove it. Not a good user experience. |
What is the status on the fix? Can the core team post a comment here? |
@deckb Are you still working on this issue? |
It's on my todo list to review deckb's workaround and backport it to https://github.com/eoscommunity/eosio.contracts/pulls . That repo is a temporary holding area for PRs to EOS until the community decides on a permanent location. |
The PR is now in the backport holding area: eoscommunity/eosio.contracts#4 |
Take an EOS account huangpanlong (who has 18.3154 EOS sadly locked) as an example:
cleos -u https://mainnet.eos.dfuse.io get table eosio eosio voters -L huangpanlong -l 1
, will see in the voter table, huangpanlong has 40032.8596 EOS staked.cleos -u https://mainnet.eos.dfuse.io get table eosio huangpanlong delband
, will see in the deband table, huangpanlong actually staked 2.5000+ 40048.6750 = 40048.675 EOS:cleos -u https://mainnet.eos.dfuse.io get table eosio eosio rexbal -L huangpanlong -l 1
, will see in the rexbal table, huangpanlong has no rex staked.the assert code in system contract:
voter-stake-error-accounts.txt
The text was updated successfully, but these errors were encountered: