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
{{ message }}
Repository navigation
cannot create multiple non-revertible update requests to the same public storage slot in a single TX #4736
Historically, if a user wrote to the same public storage slot multiple times in the same transaction, writes would be squashed such that only the most recent write would persist. This was accomplished by:
the simulator maintaining a map of accumulated storage update requests (see ContractStorageActionsCollector)
the outputs from the public kernel circuits being modified in TS to squash writes (see removeRedundantPublicDataWrites)
However, with the introduction of non-revertible side effects, there are a few pieces of work needed to be able to write to the same public storage slot multiple times in a non-revertible manner.
Expand removeRedundantPublicDataWrites to be squash writes from the non-revertible set
When recombining revertible and non-revertible writes, also squash redundant writes
changed the title [-]cannot write to public storage twice[/-][+]cannot create multiple non-revertible update requests to the same public storage slot in a single TX[/+]on Feb 26, 2024
Activity
LHerskind commentedon Feb 26, 2024
@just-mitch can you add some context in here? What is the issue? We haven't had any issues with updating public storage as far as I know of?
[-]cannot write to public storage twice[/-][+]cannot create multiple non-revertible update requests to the same public storage slot in a single TX[/+]just-mitch commentedon Feb 26, 2024
@LHerskind Just updated the comment!
feat: public refunds via FPC (#4750)