Skip to content
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

Closed
warner opened this issue Feb 9, 2022 · 3 comments
Closed

non-Inter precious state is reachably durable #4511

warner opened this issue Feb 9, 2022 · 3 comments
Assignees
Labels
duplicate enhancement New feature or request Epic SwingSet package: SwingSet vaults_triage DO NOT USE

Comments

@warner
Copy link
Member

warner commented Feb 9, 2022

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 and makeDurableKind for virtual objects, and makeDurableStore for collections.

There's a documentation task in #4518 . It turned out to be incoherent.

Security Considerations

Test Plan

@warner 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 Tartuffo added Epic restival to be done before RUN Protocol Purple Team festival labels Feb 11, 2022
@Tartuffo Tartuffo removed the restival to be done before RUN Protocol Purple Team festival label Feb 28, 2022
@Tartuffo Tartuffo added this to the Mainnet 1 milestone Mar 23, 2022
@dckc
Copy link
Member

dckc commented Jul 20, 2022

subsumed by #4983

@dckc dckc closed this as completed Jul 20, 2022
@dckc
Copy link
Member

dckc commented Jul 20, 2022

closing this was a mistake; I somehow didn't see some related stuff.

@dckc dckc reopened this Jul 20, 2022
@turadg 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
@Chris-Hibbert Chris-Hibbert self-assigned this Jul 21, 2022
@turadg turadg changed the title built-in contracts are reachably durable non-Inter precious state are reachably durable Jul 21, 2022
@Chris-Hibbert Chris-Hibbert removed their assignment Jul 21, 2022
@turadg turadg self-assigned this Jul 21, 2022
@Chris-Hibbert Chris-Hibbert changed the title non-Inter precious state are reachably durable non-Inter precious state is reachably durable Jul 21, 2022
@Tartuffo Tartuffo removed Core Economy OBSOLETE in favor of INTER-protocol Inter-protocol Overarching Inter Protocol labels Jul 28, 2022
@Tartuffo Tartuffo added SwingSet package: SwingSet and removed AMM Zoe Contract Contracts within Zoe labels Jul 28, 2022
@Tartuffo Tartuffo removed this from the Mainnet 1 RC0 milestone Sep 21, 2022
@ivanlei ivanlei added the vaults_triage DO NOT USE label Jan 17, 2023
@dckc
Copy link
Member

dckc commented Jan 27, 2023

@warner and I are confident this is subsumed by #5014 , #6553

@dckc dckc closed this as completed Jan 27, 2023
@dckc dckc added duplicate and removed MUST-HAVE labels Jan 27, 2023
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
Projects
None yet
Development

No branches or pull requests

6 participants