-
Notifications
You must be signed in to change notification settings - Fork 237
A possible simplification of this library #154
Conversation
9feec9c
to
2f5a4ab
Compare
I kept working on this and made it pass all tests, with the exception of I copied part of the behavior of the previous implementation to make the tests pass, and I'm now completely puzzled about a few things:
I think this proposal may look good if these two things are figured out. |
2f5a4ab
to
c7fb640
Compare
This pull request introduces 1 alert when merging 7d16f01 into ed4b695 - view on LGTM.com new alerts:
Comment posted by LGTM.com |
Thanks for pursuing this! I think this is a great start. A few comments:
|
Sure. As mentioned in #153, this PR is mostly to discuss possible alternatives. No need to rush it.
This is possible if we go for a more immutable alternative. Things like TBH I'm not a big fan of classic OOP design, where business logic is encoded in the class hierarchy. My feeling is that it prioritizes code simplicity at the expense of making the big picture harder to see and comprehend. I don't hate it either, and there are places where it makes sense, so I think it's an alternative worth exploring.
I just removed it temporarily to make things easier. I'm ok with caching things if they are common and slow operations. Without
Section |
This repo is moving to a monorepo structure. Please keep any work related to this PR there: https://github.com/ethereumjs/ethereumjs-vm/ |
I created this draft PR to show one possibility of what can be done in response to what we are discussing in #151.
I based this PR in #149, as doing so makes things easier.
Note that this is just a proof of concept and I haven't updated the tests, nor haven't paid much attention to this refactor's correctness yet.