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

storage node per marketItem #17

Closed
turadg opened this issue Sep 19, 2023 · 0 comments · Fixed by #18
Closed

storage node per marketItem #17

turadg opened this issue Sep 19, 2023 · 0 comments · Fixed by #18

Comments

@turadg
Copy link
Contributor

turadg commented Sep 19, 2023

(Capturing some of our discussion)

Background

Exo's use Endo Patterns to validate arguments. M.string() has a default length limit of 100k.

Chain storage is implemented as an Exo and thus any string value passed to it over 100k throws.

Problem

The market items collection currently serializes into one storage node.

Solution

Store each item in its own storage node.

When a market item is no longer for sale, the node is deleted. How to delete: Agoric/agoric-sdk#8063 (comment)

Note that it requires the node be created with sequence: false option. That inherited through the node hierarchy and our bootstrap root node is sequence: true. So your core proposal should override that with sequence: false and then all the contract's nodes will be configured that way.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant