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

feat(slow updates tree): Add oracle to get read/update proofs into private functions with 0 inputs #2852

Closed
Tracked by #1291
LHerskind opened this issue Oct 13, 2023 · 1 comment
Assignees

Comments

@LHerskind
Copy link
Contributor

LHerskind commented Oct 13, 2023

The ergonomics of the slow updates tree is poor due to high number of inputs which leave little space for other parameters to function calls. Furthermore, since one of the use cases are as access control calls that are expected to follow standard interfaces, it should be possible to retrieve the FULL read and update proofs through an oracle to ensure that nothing needs to be changed on interfaces. This should allow the use of a blacklist etc in stuff like USDC without needing to change the transfer inputs, which is highly desired to remain composable.

@LHerskind LHerskind self-assigned this Oct 17, 2023
LHerskind added a commit that referenced this issue Oct 31, 2023
Experimental, very much in progress.

Fixes #2852, building on top of #2732. 

For the experimentation here needed a name for my "data-stack" as it
could practically hold whatever you want to throw at it. Was listening
to https://www.youtube.com/watch?v=DTrNwbemNK0 while building so its the
pez dispenser. The PEZ dispenser is essentially a stack managed by the
PXE that hold `mint`s (PEZ Dispenser = "PfeffErminZ"/peppermint
dispenser). A `mint` is `Fr[]` which can hold whatever data really, here
just used to feed membership proofs and update proofs into the slow
updates map.
LHerskind added a commit that referenced this issue Oct 31, 2023
Experimental, very much in progress.

Fixes #2852, building on top of #2732. 

For the experimentation here needed a name for my "data-stack" as it
could practically hold whatever you want to throw at it. Was listening
to https://www.youtube.com/watch?v=DTrNwbemNK0 while building so its the
pez dispenser. The PEZ dispenser is essentially a stack managed by the
PXE that hold `mint`s (PEZ Dispenser = "PfeffErminZ"/peppermint
dispenser). A `mint` is `Fr[]` which can hold whatever data really, here
just used to feed membership proofs and update proofs into the slow
updates map.
LHerskind added a commit that referenced this issue Nov 3, 2023
Experimental, very much in progress.

Fixes #2852, building on top of #2732. 

For the experimentation here needed a name for my "data-stack" as it
could practically hold whatever you want to throw at it. Was listening
to https://www.youtube.com/watch?v=DTrNwbemNK0 while building so its the
pez dispenser. The PEZ dispenser is essentially a stack managed by the
PXE that hold `mint`s (PEZ Dispenser = "PfeffErminZ"/peppermint
dispenser). A `mint` is `Fr[]` which can hold whatever data really, here
just used to feed membership proofs and update proofs into the slow
updates map.
LHerskind added a commit that referenced this issue Nov 13, 2023
Experimental, very much in progress.

Fixes #2852, building on top of #2732. 

For the experimentation here needed a name for my "data-stack" as it
could practically hold whatever you want to throw at it. Was listening
to https://www.youtube.com/watch?v=DTrNwbemNK0 while building so its the
pez dispenser. The PEZ dispenser is essentially a stack managed by the
PXE that hold `mint`s (PEZ Dispenser = "PfeffErminZ"/peppermint
dispenser). A `mint` is `Fr[]` which can hold whatever data really, here
just used to feed membership proofs and update proofs into the slow
updates map.
LHerskind added a commit that referenced this issue Nov 19, 2023
Experimental, very much in progress.

Fixes #2852, building on top of #2732. 

For the experimentation here needed a name for my "data-stack" as it
could practically hold whatever you want to throw at it. Was listening
to https://www.youtube.com/watch?v=DTrNwbemNK0 while building so its the
pez dispenser. The PEZ dispenser is essentially a stack managed by the
PXE that hold `mint`s (PEZ Dispenser = "PfeffErminZ"/peppermint
dispenser). A `mint` is `Fr[]` which can hold whatever data really, here
just used to feed membership proofs and update proofs into the slow
updates map.
LHerskind added a commit that referenced this issue Nov 20, 2023
Experimental, very much in progress.

Fixes #2852, building on top of #2732. 

For the experimentation here needed a name for my "data-stack" as it
could practically hold whatever you want to throw at it. Was listening
to https://www.youtube.com/watch?v=DTrNwbemNK0 while building so its the
pez dispenser. The PEZ dispenser is essentially a stack managed by the
PXE that hold `mint`s (PEZ Dispenser = "PfeffErminZ"/peppermint
dispenser). A `mint` is `Fr[]` which can hold whatever data really, here
just used to feed membership proofs and update proofs into the slow
updates map.
LHerskind added a commit that referenced this issue Nov 20, 2023
Experimental, very much in progress.

Fixes #2852, building on top of #2732. 

For the experimentation here needed a name for my "data-stack" as it
could practically hold whatever you want to throw at it. Was listening
to https://www.youtube.com/watch?v=DTrNwbemNK0 while building so its the
pez dispenser. The PEZ dispenser is essentially a stack managed by the
PXE that hold `mint`s (PEZ Dispenser = "PfeffErminZ"/peppermint
dispenser). A `mint` is `Fr[]` which can hold whatever data really, here
just used to feed membership proofs and update proofs into the slow
updates map.
@LHerskind
Copy link
Contributor Author

Closed by #2878.

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

No branches or pull requests

1 participant