-
Notifications
You must be signed in to change notification settings - Fork 21
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
Smart Contract Interpreter versionning #895
Smart Contract Interpreter versionning #895
Conversation
Is this PR still relevant regarding #894 ? |
I wonder about the granularity of the versions. |
ee5cee8
to
7e92083
Compare
…ation#903) * Add modules for library and transaction statements * Enable loops * Improve testing * Improve some error messages * Enable ranges * Handle map[field] syntax * Allow code blocks in the condition interpreter * Support several scopes * Fix double execution of contract
7e92083
to
273ef20
Compare
reminder, once merged we need an upgrade to the playground (see: https://github.com/archethic-foundation/smart-contract-playground/pull/21/files#diff-2e3dab7734e486531bea720f3148534abd3b883ae941d433cdf70078a41b2643) |
Description
Introduce smart contract versioning.
The user will be able to choose it's version by setting a
@version
attribute at the top of her/his code. No@version
attributes is equivalent to 0.0.1.Part of #894
There are 2 versions available:
I move current language into a version0 folder.
The imperative lang is not implemented in this PR but I prepared the ground in a version1 interpreter.
Some files has been renamed to match their modules names.
TODO
Examples
Type of change
How Has This Been Tested?
Unit tests ✔️
Legacy smart contract ✔️
Checklist: