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

CLTypes and CL Values in VM 2.x #171

Open
RitaMAllenCA opened this issue Jun 12, 2023 · 0 comments
Open

CLTypes and CL Values in VM 2.x #171

RitaMAllenCA opened this issue Jun 12, 2023 · 0 comments
Assignees
Labels

Comments

@RitaMAllenCA
Copy link

RitaMAllenCA commented Jun 12, 2023

https://drive.google.com/drive/folders/1Jx82eFFoYAwhv5W9_lGzMphKYNap-X6f?usp=drive_link

Solution overview: Create a new, additional VM with a tighter set of FFIs (host interface, i.e. WASM). Deploys that do NOT depend on CLTypes crate are sent to EE, which executes the correct VM. A new set of contract APIs (FFI wrappers in the EE interface, called by smart contracts) The existence of multiple VMs is transparent outside of EE. This is not in scope for 2.0 at the moment.

  1. Add (new) VM2 (non-CLTypes based FFIs)
  2. add a new field to deploys to identify VM target, Default to VM2, but can specify VM1
  3. Update EE test framework to call VM2 and run tests similar to tests for existing VM1
  4. Migration: lazy migration: when a deploy is sent, install the contract on the new VM and then migrate data to new (non-CL based types). Then migrate the data.

VM 1.0 will be deprecated in the next major release version, removed in major release version next+1; Contracts will be pruned from history similar to EraSummary.

CLValue: keep as is in VM1.0; VM2.0 - remove all nested all nested types (map, result, tuples). Use of nested types forces clients to be overly complicated and confusing to write.

@RitaMAllenCA RitaMAllenCA self-assigned this Jun 12, 2023
@RitaMAllenCA RitaMAllenCA changed the title Create CLTypes tickets from recording Deprecation of CLTypes and CL Values Jul 10, 2023
@RitaMAllenCA RitaMAllenCA changed the title Deprecation of CLTypes and CL Values CLTypes and CL Values in VM2.0 Jul 10, 2023
@RitaMAllenCA RitaMAllenCA changed the title CLTypes and CL Values in VM2.0 CLTypes and CL Values in VM 2.0 Jul 10, 2023
@RitaMAllenCA RitaMAllenCA changed the title CLTypes and CL Values in VM 2.0 CLTypes and CL Values in VM 2.x Aug 7, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants