-
Notifications
You must be signed in to change notification settings - Fork 80
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SIP-023: Emergency Fix to Trait Invocation Behavior #131
Conversation
I think it would help to add some of the workarounds attempted (briefly), and how this may or may not affect the second hard fork accepted in SIP-022 |
Everyone who wants Stacks to work & exist should support this SIP |
Thanks for putting this together quickly! In my mind this is more of a bug fix to SIP-022 than a new SIP but I understand that how the current SIP process is written this needs to be a separate SIP. Given that the SIP-022 bug is impacting applications like ALEX, Gamma, Arkadiko and others, reducing the overall time it takes for activation is very helpful. Separately, once the upcoming SIPs and upgrades are done in coming weeks I might propose that we start looking for a different process for quick bug fixes vs full SIPs (that are changing/adding functionality). We don't need to discuss that here, just giving a heads up 🙏 |
+1 on this — it seemed like wrapping the contract calls did not work as a workaround; even though the transactions were accepted by the mempool, there was a runtime error with (presumably) the same root cause: https://explorer.hiro.so/txid/0x92c0ee32f5719c157ccb60d28e1b5426877a07bbd305910eca3c6d75c946c0f2?chain=mainnet thanks @obycode for the rapid response to this, many applications (including ours, Gamma) are not functional until activation & implementation of this SIP. This is one of those existential moments for a blockchain! Full support behind it. |
For information completeness anyone reading this SIP for the first time, I'd like to recommend inclusion of reference to the draft Catastrophic SIP guideline, similar to what SIP-022 doc referenced. |
+1. This issue is time-sensitive. A prolonged halt could severely impact ALEX. We urgently need a fix for the most critical contracts, such as swaps. For ALEX, it's crucial to deploy a hotfix asap to avoid significant economic damage. Full support from ALEX team. |
Just a reminder: if you are a CAB member reading (Technical CAB & Governance CAB), as per current SIP-000 guideline this needs CABs approval as it's consensus breaking, please go vote in your respective CAB discord DM group chat. Thank you! |
|
+1, shippit |
Thank you all for your work on this. Yes we should likely move forward with this fix. I would also humbly request that core-dev do a full feature freeze and spend however long (probably months) getting the testing coverage where it needs to be. These situations are bad, but they do serve as a guide post for where we are currently vs where we need to be from a testing perspective. |
https://github.com/stacksgov/sips/blob/main/considerations/economics.md What do you think @kantai and everyone else? |
@Hero-Gamer imo from looking at that point, that seems to be more relevant to discussions where there are changes in the way the protocol works — there is no change to the fundamental economics of the protocol here, just a fix to go to expected, previously-accepted behavior |
Good point. |
100% - we'll be addressing this soon afterwards and will communicate with the community about this |
fix: Minor updates from code review Co-authored-by: Brice Dobry <brice@obycode.com> Co-authored-by: wileyj <2847772+wileyj@users.noreply.github.com>
We fully support the fix at ZeroAuthority DAO and it's crucial to deploy a fix asap to avoid significant damage. |
I think it's sufficient to link back to the SIP where this bug was introduced, which used that draft SIP as justification |
Just had a quick long conversation in Econ CAB's chat regarding the relevance of Econ CAB in this matter. Some questions from chairperson @mattyTokenomics , then replies from Tech CAB to answer his questions. For urgency I just wanna note that so far, he thinks "seems like not relevant to economics CAB" based on the back & forth. I will let him reply officially once he has access to Github. |
For a workaround, did anyone try to deploy a contract with hardcoded principals (static dispatch) instead of trait references? |
I think some workarounds were attempted first; i've asked the SIP authors to add to the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
shipit
Github continues to be a dumpster fire when it comes to doing anything non-trivial with
|
+1 to this. I think once the PoX-3 upgrade goes through, then the devs and community can review the test coverage to improve it and also brainstorm potential optimizations to testing, getting more test engineers involved etc. Thanks everyone for the hard work! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please apply my diff and then I'll accept.
looking now |
The governance CAB approves SIP-023 with all members in favor. (ref: #132) |
Approach looks good to me Can we activate at an earlier block height? 788,287 is still about 360 blocks away (at the time of writing). That is approx 2.5 days. As mentioned by others in this thread, most ecosystem apps are down. As an example for Arkadiko, people have open loans which they can't keep healthy (if STX price drops, they become undercollateralised and can get liquidated). They cannot access their funds. A fix needs to happen ideally today. |
Title: Emergency Fix to Trait Invocation Behavior | ||
|
||
Authors: | ||
Aaron Blankstein <aaron@hiro.so>, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Jamil @philipdesmedt please chime in if you want to sign off here
A workaround with hard-coded principals does indeed work. Workarounds wrapping the traits with a new contract in 2.2 do not work. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm - let's goo
SIP Editor Update 6/30/2023: Status: Approved Full details on this SIP can be seen in detail on the SIP impact assessment sheet where RICE scoring was conducted and tracked. Additional comments also available here: |
This SIP proposes a consensus-change to fix the trait invocation bug in Epoch 2.2