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

Define Indexed storage API in ZCF for contract #1917

Closed
rowgraus opened this issue Oct 26, 2020 · 10 comments
Closed

Define Indexed storage API in ZCF for contract #1917

rowgraus opened this issue Oct 26, 2020 · 10 comments
Assignees
Labels
enhancement New feature or request Zoe package: Zoe
Milestone

Comments

@rowgraus
Copy link

What is the Problem Being Solved?

Description of the Design

Security Considerations

Test Plan

@rowgraus rowgraus added enhancement New feature or request Small labels Oct 26, 2020
@erights
Copy link
Member

erights commented Oct 26, 2020

@dtribble and I had a good discussion of this over the weekend that we need to recap. I'll let @dtribble speak for his takeaways. Mine is that ZCF itself should do essentially nothing here. The issue is more liveslots and clever storage representations. Will explain.

@erights
Copy link
Member

erights commented Oct 26, 2020

IOW, all the interesting work on this one moves to #1918

@katelynsills
Copy link
Contributor

@erights - does that change this task (to define useful storage APIs for the contracts, such that Simple Exchange for example isn't building its own data structures)? This task was already imagining all the actual work is done elsewhere, so I wasn't sure. According to the original task, what would actually be done while waiting for the kernel / liveslots-level changes is making Stores/WeakStores in ZCF for the contracts. Then the storage API would remain the same as the implementation changes underneath to use the kernel / liveslots cleverness.

@erights
Copy link
Member

erights commented Oct 26, 2020

"Elsewhere" would be liveslots and helpers, not zcf. While waiting for liveslots, helpers-only. Let's discuss. At 2pm meeting maybe, after #1905?

@katelynsills
Copy link
Contributor

Sounds good!

@dtribble dtribble self-assigned this Jan 19, 2021
@katelynsills katelynsills self-assigned this Feb 5, 2021
@katelynsills
Copy link
Contributor

I think the above comments on this issue show there's a disagreement in what this issue is meant to be. My understanding of this task is: zcf should provide an API to contracts to allow them to store offers for later, efficient retrieval. The first implementation of this API will not be efficient at all, but the plan is to make it efficient under the hood without any change in the zcf API. If this isn't the correct interpretation, let's talk it out :)

@dtribble
Copy link
Member

dtribble commented Feb 5, 2021

I agree with @katelynsills summary. Even if the library has no ZCF surface changes, we also need to document how ZCF/ZOE use it to swap out everything about each offer/seat.

@erights
Copy link
Member

erights commented Feb 5, 2021

I think this is a liveslots issue rather than a zcf issue. But we can postpone resolving this, yes?

@katelynsills
Copy link
Contributor

I think this is a liveslots issue rather than a zcf issue. But we can postpone resolving this, yes?

I don't think so. We need to plan out Zoe tasks for Beta, of which this is one. And this issue is meant to specifically not be anything at the liveslots level. It's to provide a nice ZCF API for contract developers, independently of the actual efficient improvements or anything at the Swingset/vat level.

@katelynsills katelynsills added Zoe package: Zoe Beta labels Feb 9, 2021
@katelynsills katelynsills added this to the Beta Launch milestone Feb 9, 2021
@rowgraus rowgraus removed this from the Beta Initial Launch milestone Mar 29, 2021
@katelynsills katelynsills removed this from the Testnet: Stress Test Phase milestone Jun 17, 2021
@dtribble dtribble added the MN-1 label Jan 20, 2022
@Tartuffo Tartuffo added MN-1 and removed MN-1 labels Jan 20, 2022
@Tartuffo Tartuffo removed the MN-1 label Feb 7, 2022
@Tartuffo
Copy link
Contributor

Tartuffo commented Feb 9, 2022

This is being covered by virtual collections.

@Tartuffo Tartuffo closed this as completed Feb 9, 2022
@Tartuffo Tartuffo added this to the Mainnet 1 milestone Mar 23, 2022
@Tartuffo Tartuffo modified the milestones: Mainnet 1, RUN Protocol RC0 Apr 5, 2022
@Tartuffo Tartuffo added this to the Mainnet 1 milestone Apr 6, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request Zoe package: Zoe
Projects
None yet
Development

No branches or pull requests

5 participants