Skip to content
This repository has been archived by the owner on Jun 20, 2024. It is now read-only.

Contributing #2

Open
tjsharp1 opened this issue Sep 21, 2023 · 0 comments
Open

Contributing #2

tjsharp1 opened this issue Sep 21, 2023 · 0 comments

Comments

@tjsharp1
Copy link

I've been working off a fork of this for a little bit and thought maybe some of the things I've done could be moved upstream here, since it sounds like there is interest in keeping this project going. I'll just summarize here a few of the things of done so you can decide if you want to bring them into this codebase.

  • A few new opcodes implemented: mload/store, sha3, exp & remaining arithmetic instructions
  • moved execution context into context.rs - I'm keeping data structures here that need a representation in rust & in jitted code in order to consolidate all the unsafe
  • did a bit of restructuring to move the instruction impls to their own modules - arithmetic.rs, stack.rs, etc.
  • changed engine struct to a Builder struct
  • added a couple utilities for easier debugging, callbacks to print stack items from jitted code

Still quite a bit to do, I'm just about to define the IR for a block_context data structure, enabling opcodes like NUMBER, TIMESTAMP & others. Same approach for tx context, and one for error reporting as well. I've got quite a few ideas about completing this but I thought I'd just start with describing what I have so far.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant