-
Notifications
You must be signed in to change notification settings - Fork 271
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
refactor: enqueued calls processor -> public tx simulator #9919
Conversation
de18982
to
1ff73fb
Compare
This stack of pull requests is managed by Graphite. Learn more about stacking. |
1ff73fb
to
eeba295
Compare
405bc84
to
065a139
Compare
065a139
to
889d1c9
Compare
const callRequests = context.getCallRequestsForCurrentPhase(); | ||
const executionRequests = context.getExecutionRequestsForCurrentPhase(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If all we need from PublicExecutionRequests is args, we probably can just work with PublicCallRequests & args instead of PublicCallRequests & PublicExecutionRequests
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In general I think it looks better. It would be great if we could get rid of some of the duplicated phase-tracking logic though.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe some docstrings on the classes?
import { PublicSideEffectTrace } from './side_effect_trace.js'; | ||
import { getCallRequestsByPhase, getExecutionRequestsByPhase, getPublicKernelCircuitPublicInputs } from './utils.js'; | ||
|
||
class PhaseStateManager { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why do we need this class?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agree with Facundo's comments on explicitly specifying phase and making only one component manage the phases (if possible). Rest looks great to me! Nice refactoring 🎉
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Approving under the oath that the comments will be resolved in another PR ;)
* master: (281 commits) fix: don't take down runners with faulty runner check (#10019) feat(docs): add transaction profiler docs (#9932) chore: hotfix runner wait (#10018) refactor: remove EnqueuedCallSimulator (#10015) refactor: stop calling public kernels (#9971) git subrepo push --branch=master noir-projects/aztec-nr git_subrepo.sh: Fix parent in .gitrepo file. [skip ci] chore: replace relative paths to noir-protocol-circuits git subrepo push --branch=master barretenberg chore: drop info to verbose in sequencer hot loop (#9983) refactor: Trace structure is an object (#10003) refactor: enqueued calls processor -> public tx simulator (#9919) chore: World state tech debt cleanup 1 (#9561) chore(ci): run noir tests in parallel to building e2e tests (#9977) Revert "chore: lower throughput of ebs disks" (#9996) feat: new proving broker implementation (#9400) chore: replace `to_radix` directive with brillig (#9970) chore: disable failing 48validator kind test (#9920) test: prove one epoch in kind (#9886) fix: formatting (#9979) ...
Peek at the other PRs in this stack to see how things will simplify further!
I am open to all feedback when it comes to the refactor of EnqueuedCallsProcessor, this new PublicTxContext, state forking, etc.