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

Sandboxed cross-contract calls #48

Open
nicc opened this issue Apr 22, 2024 · 1 comment
Open

Sandboxed cross-contract calls #48

nicc opened this issue Apr 22, 2024 · 1 comment

Comments

@nicc
Copy link
Contributor

nicc commented Apr 22, 2024

Wallet providers have expressed concern about running dependent contract code directly in the same environment, and have asked if it's possible to run each contract call in a sandbox.

The obvious way to achieve this is to serialise the cross-contract returns. This conflicts with a planned protocol feature which would introduce bi-directional communication between these contracts. @nholland94 has some thoughts on alternative ways to achieve this.

SDK team will draft the RFC and consult with Nathan before starting.

@mitschabaude
Copy link
Contributor

mitschabaude commented Apr 25, 2024

Maybe the RFC could also address the following:

  • How to express serializable contract calls as an API in o1js. The current contract call mechanism and API we have aren't suitable for communication across JS processes
  • How the blinding factor (which serves as an input to the callData hash) is communicated between caller and callee
    • note: this factor has to be considered a secret if the goal is to keep the private user inputs hidden. However, private call inputs can't be hidden from the sandboxed callee context. So, there are no concerns with openly sharing the blinding factor with that sandboxed context

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants