You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug
After a smart contract fails to execute, we need to unroll the stack of operations to ensure all the funds set aside for the transaction are given back to their original holders. Upon the unroll, something within Seneca crashes
To Reproduce
-- See internal docs --
The text was updated successfully, but these errors were encountered:
Is there a potential solution in designing the CR layer where each transaction outputs a set of 'updates' but aren't applied until it succeeds? That would make it easy to throw out that set up updates without needing to do extra work to roll back.
IE: Keep the CR layer state as a Python dict or something rather than in Redis (which I think we already do) and then propose modifications to that dict by doing a deepcopy on it and modifying it during the execution. If the contract succeeds, it would replace the original dict. If it fails, it's tossed.
I'm also relying on my basic understanding of the CR layer. @dhaba would have to chime in here to correct me if I'm wrong.
Describe the bug
After a smart contract fails to execute, we need to unroll the stack of operations to ensure all the funds set aside for the transaction are given back to their original holders. Upon the unroll, something within Seneca crashes
To Reproduce
-- See internal docs --
The text was updated successfully, but these errors were encountered: