decentdao / decent-interface

Govern at startup speed
https://app.decentdao.org
MIT License
14 stars 7 forks source link

App default nonce includes nonces of 'expired proposals'; certain proposals can be blocked by this #1994

Open tomstuart123 opened 3 months ago

tomstuart123 commented 3 months ago

During testing of 1990, I was using this Safe

As you can see the prior Txs were:

The Problem - The 'Add ChildSafe' proposal that at nonce 2 ran out of time and was never executed. However, our nonce assumptions still allowed for it and incremented the default nonce to 3 after the expiration time. This meant my 'update safename' was blocked. As SafeName has no manual nonce, I couldn't even get by it (until I used the 'Add Signer' proposal to use the correct nonc2 and unblock it).

Thinking - the app was correct originally to default to nonce 3 as the childsafe proposal was in 'pending'/. However, once it expires, pending should be no longer accounted for. Our app didn't do this

The solution:

Stretch goal:

adamgall commented 2 months ago

I think I understand what's going on here. This is indeed a bug that should be fixed.