Update: delayed stATOM undelegation queue
Aug 5, 2024
· 3 min read
Summary
Some concerns were raised over the weekend about a number of pending stATOM undelegations that had not been processed and remain in the Stride unbonding queue. This report explains what happened, gives an estimate for a resolution, and explains how contributors are working to prevent similar issues in the future.
TLDR; A gas change on the Cosmos Hub interacted poorly with LSM delegations, delaying some stATOM unbondings. All stATOM is fully backed (as it always has been). All pending unbondings should be resolved and begin processing as normal at 3pm ET on Wednesday. Stride also has a more permanent resolution coming soon.
Incident
The last Cosmos Hub software upgrade added the x/feemarket module, which limits the gas that can be used for an individual transaction to 30M. On most chains, this would not have impacted the number of undelegations that Stride can process. On the Cosmos Hub, however, Stride accepts LSM delegations. The way this works today is Stride accepts the delegations, then rebalances and undelegates afterwards towards Stride’s target delegations (subject to standard Cosmos SDK x/staking restrictions).
Depending on the number of LSM delegations that Stride has in any given epoch, the number of required unbondings in a batch can exceed 35+ validators, which consumes > 30M gas, tripping the newly-reduced gas limit on the Cosmos Hub. As a result, some of Stride’s undelegation batches have failed over the last few weeks.
In response, Stride contributors proposed a software upgrade on the Stride chain that we believed would resolve the issue. While this did cause some pending undelegations to process, there were still a few edge-cases remaining where excess LSM delegations in the same period caused the gas limit to be exceeded and those unbondings to fail. A parameter change proposal was raised on the Stride chain a few days later to reduce the maximum number of messages allowable in ICA transactions. This proposal passed over the weekend.
The next series of stATOM Cosmos Hub unbondings will trigger on Wednesday at 3pm. At that time, all pending stATOM unbondings should process as usual. Stride will post an update once unbondings are in progress. Stride contributors will be closely monitoring the chain in the hours before and during the undelegation epoch to ensure that these unbondings process. If an issue arises with the unbonding on Wednesday, Stride contributors will promptly notify the community.
Impact
To be clear, no user funds are (or have ever been) at risk. stATOM is (and has always been) fully backed by ATOM. This issue resulted in undelegations for a subset of Stride users to take longer than usual to process. During this time, those positions have continued to accrue staking rewards, which will be distributed to users when the undelegations process as with all other undelegation transactions.
Stride’s support team has been communicating directly with any known impacted users and any user who opened a support ticket to keep them updated on the status of the resolution.
The Future
Stride contributors are planning an upcoming software upgrade that removes the potential for this issue entirely, by splitting up Stride unbondings into multiple transactions. This code is currently being audited, and is expected to go live sometime in the next month.
To increase user visibility into any future issues, Stride is also updating its status page to reflect delayed unbondings on any host zone, alongside a descriptive message.
Stride’s design and process goals are to minimize the chance of bugs existing, and ensure that the impact of any bugs that do exist are minimized as much as possible. Security was, is, and always will be the top priority of Stride core contributors.