-
Notifications
You must be signed in to change notification settings - Fork 215
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
non-Inter precious state is reachably durable #4511
Labels
duplicate
enhancement
New feature or request
Epic
SwingSet
package: SwingSet
vaults_triage
DO NOT USE
Comments
warner
added
enhancement
New feature or request
AMM
Core Economy
OBSOLETE in favor of INTER-protocol
Inter-protocol
Overarching Inter Protocol
Zoe Contract
Contracts within Zoe
labels
Feb 9, 2022
Tartuffo
added
Epic
restival
to be done before RUN Protocol Purple Team festival
labels
Feb 11, 2022
7 tasks
Tartuffo
removed
the
restival
to be done before RUN Protocol Purple Team festival
label
Feb 28, 2022
subsumed by #4983 |
closing this was a mistake; I somehow didn't see some related stuff. |
turadg
changed the title
all contracts should be using virtual/durable objects for high-cardinality and upgrade-critical state
built-in contracts are reachably durable
Jul 20, 2022
turadg
changed the title
built-in contracts are reachably durable
non-Inter precious state are reachably durable
Jul 21, 2022
Chris-Hibbert
changed the title
non-Inter precious state are reachably durable
non-Inter precious state is reachably durable
Jul 21, 2022
Tartuffo
removed
Core Economy
OBSOLETE in favor of INTER-protocol
Inter-protocol
Overarching Inter Protocol
labels
Jul 28, 2022
Tartuffo
added
SwingSet
package: SwingSet
and removed
AMM
Zoe Contract
Contracts within Zoe
labels
Jul 28, 2022
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
duplicate
enhancement
New feature or request
Epic
SwingSet
package: SwingSet
vaults_triage
DO NOT USE
Title was previously "all contracts should be using virtual/durable objects for high-cardinality and upgrade-critical state". @turadg changed it to distinguish from #4983 and removed child tickets that aren't needed for MN-1.
What is the Problem Being Solved?
As with #4383 (for Zoe), we need all our built-in contracts to start using virtual objects. Any state that might get large (high cardinality) needs to be stored in virtual objects. This requires defining
makeKind
behaviors for all such objects.In addition, we need to prepare for upgrade. This involves switching from merely-virtual to "durable" objects for anything that the later versions of a contract will need access to. It also requires registering some handles and collections in the (as-yet-undefined) "baggage".
The transition from virtual to durable should be pretty simple, as should the registration/baggage component, so I'm comfortable doing that in a second step. But contract authors need to think about what data is necessary for upgrade as they perform the merely-virtual conversion.
Description of the Design
Use
makeKind
andmakeDurableKind
for virtual objects, andmakeDurableStore
for collections.There's a documentation task in #4518 .It turned out to be incoherent.Security Considerations
Test Plan
The text was updated successfully, but these errors were encountered: