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

Improved representation of Non-fungibles amounts in ERTP #10920

Open
Chris-Hibbert opened this issue Jan 31, 2025 · 0 comments
Open

Improved representation of Non-fungibles amounts in ERTP #10920

Chris-Hibbert opened this issue Jan 31, 2025 · 0 comments
Labels
enhancement New feature or request performance Performance related issues Zoe package: Zoe

Comments

@Chris-Hibbert
Copy link
Contributor

What is the Problem Being Solved?

Before we can add non-fungible assets to ERTP, we will have to address performance problems. The KREAd dApp used CopyBags to represent NFTs, and the performance of insertion and deletion degraded linearly with the number of items in a purse. #8862 has many details.

Description of the Design

We'll need a Store that can hold non-scalar values. Some notes

  • Payments may not need a new representation. Since they're immutable, insertion and deletion costs don't matter.
  • Updates currently require rewriting the whole CopyBag.
  • when a contract calls getCurrentAllocation() we have to enumerate the contents.
  • For KREAd, a lot of the costs appeared while serializing to vStorage.
  • KREAd used a zcfMint, so the costs were imposed on the Zoe vat.

This was discussed in the Zoe meeting on 20025-1-29.

Security Considerations

Mostly not a security issue

Scaling Considerations

See discussion above.

Test Plan

TBD when the design is fleshed out.

Upgrade Considerations

Zoe would need to be upgraded. Contracts that don't deal with NFTs would be unaffected.

@Chris-Hibbert Chris-Hibbert added enhancement New feature or request performance Performance related issues Zoe package: Zoe labels Jan 31, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request performance Performance related issues Zoe package: Zoe
Projects
None yet
Development

No branches or pull requests

1 participant