Conversation
This stack of pull requests is managed by Graphite. Learn more about stacking. |
a0c5866 to
2965864
Compare
7509575 to
5b3f866
Compare
2965864 to
6592cea
Compare
0ae6700 to
b1b0287
Compare
1aa0ebd to
748972a
Compare
b1b0287 to
82b04f6
Compare
748972a to
a5282e1
Compare
82b04f6 to
6b708b9
Compare
a5282e1 to
b354130
Compare
b164182 to
fb6cf57
Compare
fb6cf57 to
d772988
Compare
dbanks12
left a comment
There was a problem hiding this comment.
LGTM. Few comments, but none blocking a merge
| struct AccumulatedData { | ||
| // TODO: add as needed. | ||
| std::vector<FF> noteHashes; | ||
| std::vector<FF> nullifiers; |
There was a problem hiding this comment.
TODO meaning "add the remaining side effects as needed?"
There was a problem hiding this comment.
I'll respond in the other thread.
| // We are currently using this structure as the input to TX simulation. | ||
| // That's why I'm not calling it TxHint. We can reconsider if the inner types seem to dirty. | ||
| struct Tx { | ||
| AccumulatedData nonRevertibleAccumulatedData; | ||
| AccumulatedData revertibleAccumulatedData; | ||
| std::vector<EnqueuedCallHint> setupEnqueuedCalls; | ||
| std::vector<EnqueuedCallHint> appLogicEnqueuedCalls; | ||
| std::optional<EnqueuedCallHint> teardownEnqueuedCall; | ||
|
|
||
| bool operator==(const Tx& other) const = default; | ||
|
|
||
| MSGPACK_FIELDS(nonRevertibleAccumulatedData, | ||
| revertibleAccumulatedData, | ||
| setupEnqueuedCalls, | ||
| appLogicEnqueuedCalls, | ||
| teardownEnqueuedCall); | ||
| }; |
There was a problem hiding this comment.
Will this eventually become a complete mirror of the TS TX? Or this will be some subset including only what is needed for our purposes?
There was a problem hiding this comment.
IDK. It looked like we didn't need everything from the TX object in TS, so I guess this could be a subset? Also, if I wanted to respect the same structure (or if I want to serialize the whole TX) then I have to go in TS and implement (de)serialization/schemas for everything that is in it, even if we don't use it.
For the moment I've opted to add what we need, but it can be refactored later if needed. Modifying serialization is really not that difficult now with MP/zod, but it's easier to do it incrementally, I find. Also it lets us look at the structure and see what we already solved and what not (of course not completely true since we don't use note hashes now ;)).
| context.hints.tx = AvmTxHint.fromTx(tx); | ||
|
|
| // The reason we need enqueued hints at all (and cannot just use the public inputs) is | ||
| // because they don't have the actual calldata, just the hash of it. | ||
| // If/when we pass the whole TX to C++, we can remove this class of hints. | ||
| stateManager.traceEnqueuedCall(callRequest.request); |
There was a problem hiding this comment.
Hmm... i guess we still need to trace the enqueued call because tracing it means "hint that this enqueued call actually happened"? Otherwise, the TX should include everything
There was a problem hiding this comment.
Yep tracing is for PIs I guess? Didn't look too much in detail, maybe it can be removed.
d772988 to
44f6cdb
Compare
🤖 I have created a new Aztec Packages release --- ## [0.84.0](v0.83.1...v0.84.0) (2025-04-04) ### ⚠ BREAKING CHANGES * `UnsconstrainedContext` --> `UtilityContext` ([#13246](#13246)) * `#[utility]` function ([#13243](#13243)) * Validate public setup fns and gas in p2p ([#13154](#13154)) ### Features * `#[utility]` function ([#13243](#13243)) ([945ffa2](945ffa2)) * **avm:** tx hint init ([#13218](#13218)) ([60a1a92](60a1a92)) * Remove 4 byte metadata from bb-produced proof ([#13231](#13231)) ([0dcc915](0dcc915)) * To enable better ci dashboard. ([#13272](#13272)) ([61c6375](61c6375)) ### Bug Fixes * **avm:** fix lookup builder and FF hashing ([#13263](#13263)) ([2633856](2633856)) * ci3-external concurrency bug, reduce grind set ([2c5e830](2c5e830)), closes [#13285](#13285) * ci3-external.yml ([#13291](#13291)) ([6ad68ed](6ad68ed)) * Validate public setup fns and gas in p2p ([#13154](#13154)) ([1ef4add](1ef4add)), closes [#10958](#10958) ### Miscellaneous * `UnsconstrainedContext` --> `UtilityContext` ([#13246](#13246)) ([69df86f](69df86f)) * add some PrivateSet tests ([#13270](#13270)) ([bd9e690](bd9e690)) * bump full prover test to 32 cores. hoping to boost speed. ([#13293](#13293)) ([c8e95dd](c8e95dd)) * deflake p2p reqresp test ([#13271](#13271)) ([b9164fa](b9164fa)) * don't dump on fail. click the link instead. ([#13292](#13292)) ([ba0fb4d](ba0fb4d)) * flake ([#13277](#13277)) ([62c32eb](62c32eb)) * make rahul happy with migration notes ([#13255](#13255)) ([3dd75a6](3dd75a6)) * minor simulator utils cleanup ([#13250](#13250)) ([8a622c9](8a622c9)) * move a couple of `SharedMutableValues` functions outside of impl ([#13283](#13283)) ([df9a40c](df9a40c)) * nuking debug-only logger and various unused functionality in `foundation` ([#13187](#13187)) ([2d38e60](2d38e60)) * prevent eth devnet config contention in ci ([#13260](#13260)) ([1581836](1581836)) * renaming unconstrained function as utility in TS ([#13249](#13249)) ([34d03bb](34d03bb)) * replace relative paths to noir-protocol-circuits ([b5b99f8](b5b99f8)) * Speed up note hashes test ([#13282](#13282)) ([ad23358](ad23358)) * update gov and proposer configs ([#13281](#13281)) ([e1a5be3](e1a5be3)) * update slashing test port ([#13274](#13274)) ([9a1ddc5](9a1ddc5)) * Want to fail fast on test runs and the wider ci run. ([#13258](#13258)) ([f0553b8](f0553b8)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).


Please read contributing guidelines and remove this line.