koinos / koinos-types

The Rosetta Stone of the Koinos ecosystem. Allows for the interpretation of Koinos data structures in a multitude of languages. Useful in the development of microservices, clients, and smart contracts.
MIT License
12 stars 3 forks source link

Refactor runtime #27

Closed theoreticalbts closed 3 years ago

theoreticalbts commented 4 years ago

Currently the runtime is being copied into the destination.

We should:

Specifically, we should move runtime to a new target in libraries, possibly called koinos_types_cpp_runtime. (We may also eventually have a koinos_types_c_runtime to support the C language.)

Additionally, JSON support is entirely a runtime feature (i.e. the code generator doesn't do anything special for JSON). So we should put it in a separate library (possibly koinos_types_cpp_runtime_json). The reason for doing this is so that we can easily provide a version without JSON support for use inside the VM.

sgerbino commented 3 years ago

The C++ codegen is header only, we can avoid JSON support by not including the headers in contracts.