-
Notifications
You must be signed in to change notification settings - Fork 1
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
Notes from review of model #17
Comments
Agreed, we couldn't do this initially because we wanted to have compatibility with the node. It should be straightforward to replace these types.
trait
type Reference DataType RefType :=
mkReference@{
--- Computes the RefType from the DataType.
to : DataType -> RefType;
--- Computes the DataType from the RefType.
from : RefType -> DataType
}; This trait is there to mock the non-existent content-addressed BLOB storage (and is probably named very badly).
I cannot remember why we added it. Probably it happened accidentally.
Removed in c24f43a |
When trying to bring in the Juvix definitions from the identity specs, I saw that the
There is an |
I ran into more problems when trying to move the Juvix definitions from the identity specs over (the task is https://github.com/orgs/anoma/projects/28 and the associated PR #10). |
I see. I still think that this is the wrong interface for a "Reference" type, though, a "Reference" type should not imply some kind of storage, it's just a binding reference. The only thing you can do with a binding reference are:
We could add some other helper functions which look data up from the storage and check it against the binding reference (all in one function), but this shouldn't be part of the type itself. These storage fetches also need to be explicit in the transaction function, and we need to handle the case where they fail. |
I opened another |
Hmm? Identity.Commitment is a type, Resource.Commitment is a function on a resource (computed field), right? If so, that's alright in principle. Would it cause issues with the Juvix? In general, I think we want to avoid having two types with the same name (globally), but having some functions with the same name (as other functions, or as types) is fine. |
You should chat with @AHartNtkn about this, he wrote the most recent identity definitions in the specs. |
|
I still struggle to see what you mean.
This is a Juvix If this is not the issue, please bear with me. |
Ah, I see. In that case we probably need to either call the type |
I understand how to use the interface, I just think that:
Specifically, say, I propose:
and we can have a separate helper function
|
Changed in 2f7b5b7 |
Notes from review by @cwgoes 2024.10.29 (not yet fully organized into tasks).
I started with reviewing only the overall model (not the transparent instantiation).
verify
on some proof type with the appropriate inputs directly?The text was updated successfully, but these errors were encountered: