-
Notifications
You must be signed in to change notification settings - Fork 3
Add most of the types for RM specs #305
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
Add most of the types for RM specs #305
Conversation
This commit introduces a new documentation file for the `State` type in the Juvix programming language. The file includes detailed descriptions of the type's structure, its components, and their respective arguments. Additionally, it provides auxiliary Juvix code for deriving equality and order instances for the `State` type. This enhancement improves the clarity and accessibility of the documentation for developers working with state management in Juvix.
This commit updates the documentation for the `PublicKey`, `PrivateKey`, `SecretKey`, and `Digest` types in Juvix. It introduces auxiliary code snippets for deriving equality and order instances for each type.
This commit modifies the import statement for the equality trait in the `prelude.juvix.md` file, changing it to include both `Eq` and `mkEq`.
…y documentation This commit introduces new documentation for nullifiers and nullifier keys in Juvix. The new files provide detailed descriptions of nullifier properties, their purpose in preventing double-spending, and the structure of nullifier keys.
…x Markdown format This commit introduces a new documentation file for the `Transaction` type in Juvix, detailing its structure, arguments, and auxiliary code for deriving equality and order instances. Additionally, it updates the existing documentation for the `Action` type by correcting a typo and enhancing the auxiliary code section.
…rce, and Transaction types in Juvix Markdown format.
This commit introduces a new documentation file detailing the `CommitmentTree` and its associated types, including `MTree`, `CTree`, and `Path`.
…and Markdown tags
- Added type synonyms for `LogicHash`, `LabelHash`, `ValueHash`, `Nonce`. - Updated `Resource` type definition to include `nullifierKey` and `randSeed`. - Clarified the purpose and properties of resources, emphasizing uniqueness, fungibility, nullification, and ephemerality. - Introduced tags for better categorization: resource-logic-proof, resource-machine, security, proof.
|
Success! Preview available at https://specs.anoma.net/pr-305/. |
…roperties, and resource associations. Clarify the relationship between actions and resources, including creation and consumption processes. Update type definitions for `Action` to improve clarity and consistency. Add structured sections for better readability.
…, auxiliary Juvix code examples for instances, and a new `makeCommitment` function. This update clarifies the role of commitments in proving resource existence without revealing values, and improves overall structure and readability.
- Updated `Commitment` type to use `committed` and `commitment` for clarity. - Enhanced `CommitmentTree` documentation with a detailed purpose section, defining `CommitmentTreeOps` and its operations. - Introduced `CTree` as a specialized `MTree` for storing commitments, including new functions for hashing and navigating the tree. - Improved overall structure and readability of the documentation.
…ted kind of trait in Juvix (CommitmentTreeOps).
… actions as atomic transactions, improved explanations of resource associations, and updated type definitions for clarity.
…into jonathan/add-rm-types
|
Going through what's here, I think there's enough to be worth saving rather than scrapping. At the same time, it's clearly unfinished, with some problems that can't be fixed with a simple code adjustment. It's up to you if you want to merge it with the plan of eventually making a new PR to work on it further. If you want to make it a full PR and have me review it, I'll approve, but it will be purely bureaucratic. |
… jonathan/add-rm-types
… prelude import. This update clarifies the basic types used in the system and improves the organization of the resource machine (RM) section.
…DO for commitment handling.
…. Update resource documentation to include the new prelude import and remove outdated type synonyms for clarity and organization.
|
Let's merge this and continue from these changes. |
Added the following types; note that many of them need to be reviewed; this is a proposal
But it is in heavy development.
Resource
Nullifier
Nullifier key
Nullifier properties
Resource machine
Transaction
Action
Resource logic proof
State
Update RM specs with types #289