Skip to content
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

Allow external unconstrained calls #7524

Open
Tracked by #10225
nventuro opened this issue Jul 18, 2024 · 2 comments
Open
Tracked by #10225

Allow external unconstrained calls #7524

nventuro opened this issue Jul 18, 2024 · 2 comments
Labels
C-pxe Component: PXE (Private eXecution Envrionment) team-fairies Nico's team

Comments

@nventuro
Copy link
Contributor

We currently lack a way to call an top-level unconstrained function from another contract. While this might seem like an odd requirement at first (since the call itself would be unconstrained and therefore unsafe to use), there are many patterns in which we could use these return values as hints to then construct a valid constrained proof. This can be thought of as a way for applications to write custom oracles and distribute them as Noir code, as opposed to requiring extensions to PXE.

The key registry in #7523 is an example of this: lack of this feature means the caller must manually include equivalent unconstrained code, which is error-prone and hard to maintain.

@nventuro
Copy link
Contributor Author

@spalladino wrote a hacky proof-of-concept of this feature here, which might help illustrate the work involved in implementing this.

@nventuro
Copy link
Contributor Author

nventuro commented Aug 9, 2024

#7523 would require also that we can do this for historical blocks, not necessarily the current one.

@nventuro nventuro added C-pxe Component: PXE (Private eXecution Envrionment) team-fairies Nico's team labels Nov 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-pxe Component: PXE (Private eXecution Envrionment) team-fairies Nico's team
Projects
Status: Todo
Development

No branches or pull requests

1 participant