Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
[types] Deprecate Transaction::Program #923
This diff is going to use our new model of Transaction::Script and Transaction::Module to do simple payment transactions in the libra codebase. Previously the normal transaction has one type of payload: Transaction::Program and one can publish a module AND execute some script within one single transaction. This feature however, is complicating the VM a lot and can really buy us few things as the modules are stateless. In our new model, we will have two types of transactions: Transaction::Module which one can use to publish a module and do nothing else, and Transaction::Script which one can execute code that mutates the resources on chain.
This diff will NOT be a breaking change as we still keep the functionality of processing Transaction::Program in the VM so that we will have some time to break the backward incompatibility there.
I removed the repl in this PR as well. Reason being that the local cli will have a superset of the functionality provided by the repl.
Have you read the Contributing Guidelines on pull requests?
(Write your answer here.)
(Share your test plan here. If you changed code, please provide us with clear instructions for verifying that your changes work.)
(If this PR adds or changes functionality, please take some time to update the docs at https://github.com/libra/website, and link to your PR here.)
This diff is going to use our new model of Transaction::Script and Transaction::Module to do simple payment transactions in the libra codebase. This diff will NOT be a breaking change though as we still keep the functionality of processing Transaction::Program in the VM so that we will have some time to break the backward incompatability there.
dariorussi left a comment
this looks great to me. As mentioned in a comment I wonder if we should also rename a bunch of variables from program to script though not critical.
It might be worth updating this file to: https://github.com/libra/libra/blob/master/common/canonical_serialization/README.md