-
Notifications
You must be signed in to change notification settings - Fork 0
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
Transition to SVM #89
Comments
4 tasks
Closed
4 tasks
bors bot
pushed a commit
to spacemeshos/go-spacemesh
that referenced
this issue
Jan 20, 2022
## Motivation <!-- Please mention the issue fixed by this PR or detailed motivation --> WIP on spacemeshos/pm#89: > Add `go-svm` to `go-spacemesh` as a dependency (mostly about getting the build/linkage to work). <!-- `Closes #XXXX, closes #XXXX, ...` links mentioned issues to this PR and automatically closes them when this it's merged --> ## Changes <!-- Please describe in detail the changes made --> - Import github.com/spacemeshos/go-svm/svm - Fix Makefiles for the import ## Test Plan <!-- Please specify how these changes were tested (e.g. unit tests, manual testing, etc.) --> UT ## DevOps Notes <!-- Please uncheck these items as applicable to make DevOps aware of changes that may affect releases --> - [x] This PR does not require configuration changes (e.g., environment variables, GitHub secrets, VM resources) - [x] This PR does not affect public APIs - [x] This PR does not rely on a new version of external services (PoET, elasticsearch, etc.) - [x] This PR does not make changes to log messages (which monitoring infrastructure may rely on)
bors bot
pushed a commit
to spacemeshos/go-spacemesh
that referenced
this issue
Jan 20, 2022
## Motivation <!-- Please mention the issue fixed by this PR or detailed motivation --> WIP on spacemeshos/pm#89: > Add `go-svm` to `go-spacemesh` as a dependency (mostly about getting the build/linkage to work). <!-- `Closes #XXXX, closes #XXXX, ...` links mentioned issues to this PR and automatically closes them when this it's merged --> ## Changes <!-- Please describe in detail the changes made --> - Import github.com/spacemeshos/go-svm/svm - Fix Makefiles for the import ## Test Plan <!-- Please specify how these changes were tested (e.g. unit tests, manual testing, etc.) --> UT ## DevOps Notes <!-- Please uncheck these items as applicable to make DevOps aware of changes that may affect releases --> - [x] This PR does not require configuration changes (e.g., environment variables, GitHub secrets, VM resources) - [x] This PR does not affect public APIs - [x] This PR does not rely on a new version of external services (PoET, elasticsearch, etc.) - [x] This PR does not make changes to log messages (which monitoring infrastructure may rely on)
bors bot
pushed a commit
to spacemeshos/go-spacemesh
that referenced
this issue
Jan 20, 2022
## Motivation <!-- Please mention the issue fixed by this PR or detailed motivation --> WIP on spacemeshos/pm#89: > Add `go-svm` to `go-spacemesh` as a dependency (mostly about getting the build/linkage to work). <!-- `Closes #XXXX, closes #XXXX, ...` links mentioned issues to this PR and automatically closes them when this it's merged --> ## Changes <!-- Please describe in detail the changes made --> - Import github.com/spacemeshos/go-svm/svm - Fix Makefiles for the import ## Test Plan <!-- Please specify how these changes were tested (e.g. unit tests, manual testing, etc.) --> UT ## DevOps Notes <!-- Please uncheck these items as applicable to make DevOps aware of changes that may affect releases --> - [x] This PR does not require configuration changes (e.g., environment variables, GitHub secrets, VM resources) - [x] This PR does not affect public APIs - [x] This PR does not rely on a new version of external services (PoET, elasticsearch, etc.) - [x] This PR does not make changes to log messages (which monitoring infrastructure may rely on)
largely done, and what's remaining here will be obviated by new VM design. |
Closed
Open
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
The transition to SVM will be performed in 3 major phases:
Phase 1
Get Account
in the FFI layer svm#373Commit
in the FFI layer svm#374Touched Accounts
inside theSpawn
andCall
Receipts svm#375Rewind
in the FFI layer svm#376Increase Balance
for anAccount
svm#377Phase 2
state
package intosvm
package go-spacemesh#2827The last two issues can be worked on in parallel, although minor conflicts are to be expected.
Phase 3
Prerequisites
go-svm
being fully implemented and exposing the following functions (click to expand)validate_deploy(message) -> validation_error
validate_spawn(message) -> validation_error
validate_call(message) -> validation_error
deploy(envelope, message, context) -> deploy_receipt
spawn(envelope, message, context) -> spawn_receipt
verify(envelope, message, context) -> call_receipt
call(envelope, message, context) -> call_receipt
Get Account
in the FFI layer svm#373Commit
in the FFI layer svm#374Touched Accounts
inside theSpawn
andCall
Receipts svm#375Rewind
in the FFI layer svm#376Increase Balance
for anAccount
svm#377SVM codec for encoding transactions implemented and ready (click to expand)
Should be exposed by
go-svm
as a utility, forgo-spacemesh
andsm-repl
to use.SVM codec instantiation boilerplate code: https://github.com/spacemeshos/go-svm-old/tree/master/codec
Tasks
go-svm
togo-spacemesh
as a dependency (mostly about getting the build/linkage to work).go-svm
exposed methods.The text was updated successfully, but these errors were encountered: