-
Notifications
You must be signed in to change notification settings - Fork 295
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
feat: PXE db contract store #10867
feat: PXE db contract store #10867
Conversation
f1828dc
to
1468edf
Compare
noir-projects/noir-contracts/contracts/test_contract/src/main.nr
Outdated
Show resolved
Hide resolved
238247f
to
127f26d
Compare
111fea9
to
1d2256b
Compare
ed04629
to
c96105e
Compare
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.
Very very nice. Thanks a lot for your work on this!
/// Load data from local PXE database. We pass in `t_size` as a parameter to have the information of how many fields | ||
/// we need to pad if the key does not exist (note that the actual response size is `t_size + 1` as the Option prefixes | ||
/// the response with a boolean indicating if the data exists). | ||
/// | ||
/// Note that we need to return an Option<[Field; N]> as we cannot return an Option<T> directly. This is because then | ||
/// the shape of T would affect the expected oracle response (e.g. if we were returning a struct of 3 u32 values | ||
/// then the expected response shape would be 3 single items. If instead we had a struct containing | ||
/// `u32, [Field;10], u32`, then the expected shape would be single, array, single.). | ||
#[oracle(load)] |
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.
This is very clear, thanks for the writeup.
Co-authored-by: Nicolás Venturo <[email protected]>
Changes to circuit sizes
🧾 Summary (100% most significant diffs)
Full diff report 👇
|
Fixes #10730
+ adds support for non-flat return values in oracle.ts (TXE supported this but PXE did not)