You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-[ ] A LambdaBuffers code generation module that outputs type definitions and derived implementations in the Rust programming language given a LambdaBuffers schema.
6
+
-[ ] A Rust library that implements the LambdaBuffers Prelude runtime. This module would include standardised JSON encoding and equality implementations for all declared type class instances in the schema.
7
+
-[ ] A Rust test suite that assures the manually implemented and automatically generated implementations are consistent with the predefined LambdaBuffers Prelude golden data set of JSON files and perform correct implementation derivation.
8
+
-[ ] A Rust library that implements the LambdaBuffers Plutus runtime. This module would include standardised PlutusData encoding implementations for all declared type class instances in the Plutus schema.
9
+
-[ ] A Rust test suite that assures the manually implemented and automatically generated implementations are consistent with the predefined LambdaBuffers Plutus golden data set of PlutusData encoded files and perform correct implementation derivation.
10
+
-[ ] Nix devops modules (Nix API) for streamlining the LambdaBuffers code generation pipeline to Rust.
11
+
-[ ] Documentation on LambdaBuffers usage patterns for Rust.
12
+
13
+
## Acceptance Criteria
14
+
15
+
-[ ] LambdaBuffers schemas that are based on the LambdaBuffers Prelude module can be used in Rust projects to specify application types.
16
+
-[ ] LambdaBuffers schemas that are based on the LambdaBuffers Plutus module can be used in Rust projects to specify application types.
17
+
-[ ] The documentation and devops tooling is available to facilitate easy adoption.
18
+
19
+
## Evidence of Milestone Completion
20
+
21
+
-[ ] The completed and reviewed LambdaBuffers Prelude runtime library is available for the Rust programming language.
22
+
-[ ] The completed and reviewed LambdaBuffers Plutus runtime library is available for the Rust programming language.
23
+
-[ ] The completed and reviewed LambdaBuffers Prelude test suite is available and is passing in CI for the Rust programming language.
24
+
-[ ] The completed and reviewed LambdaBuffers Plutus test suite is available and is passing in CI for the Rust programming language.
25
+
-[ ] The completed and reviewed Nix API for LambdaBuffers Rust support is available.
26
+
-[ ] The completed and reviewed LambdaBuffers for Rust documentation is available.
-[ ] A LambdaBuffers code generation module that outputs type constructors and derived implementations in the Javascript programming language given a LambdaBuffers schema.
6
+
-[ ] A Javascript library that implements the LambdaBuffers Prelude runtime. This module would include standardised JSON encoding and equality implementations for all declared type class instances in the schema.
7
+
-[ ] A Javascript test suite that assures the manually implemented and automatically generated implementations are consistent with the predefined LambdaBuffers Prelude golden data set of JSON files and perform correct implementation derivation.
8
+
-[ ] A Javascript library that implements the LambdaBuffers Plutus runtime. This module would include standardised PlutusData encoding implementations for all declared type class instances in the Plutus schema.
9
+
-[ ] A Javascript test suite that assures the manually implemented and automatically generated implementations are consistent with the predefined LambdaBuffers Plutus golden data set of PlutusData encoded files and perform correct implementation derivation.
10
+
-[ ] Nix devops modules (Nix API) for streamlining the LambdaBuffers code generation pipeline to Javascript.
11
+
-[ ] Documentation on LambdaBuffers usage patterns for Javascript.
12
+
13
+
## Acceptance Criteria
14
+
15
+
-[ ] LambdaBuffers schemas that are based on the LambdaBuffers Prelude module can be used in Javascript projects to specify application types.
16
+
-[ ] LambdaBuffers schemas that are based on the LambdaBuffers Plutus module can be used in Javascript projects to specify application types.
17
+
-[ ] The documentation and devops tooling is available to facilitate easy adoption.
18
+
19
+
## Evidence of Milestone Completion
20
+
21
+
-[ ] The completed and reviewed LambdaBuffers Prelude runtime library is available for the Javascript programming language.
22
+
-[ ] The completed and reviewed LambdaBuffers Plutus runtime library is available for the Javascript programming language.
23
+
-[ ] The completed and reviewed LambdaBuffers Prelude test suite is available and is passing in CI for the Javascript programming language.
24
+
-[ ] The completed and reviewed LambdaBuffers Plutus test suite is available and is passing in CI for the Javascript programming language.
25
+
-[ ] The completed and reviewed Nix API for LambdaBuffers Javascript support is available.
26
+
-[ ] The completed and reviewed LambdaBuffers for Javascript documentation is available.
# Catalyst milestone 3: Aiken integration research and development
3
+
4
+
## Outputs
5
+
6
+
-[ ] Document describing Aiken integration and how PlutusData encodings can be provided by the LambdaBuffers toolkit.
7
+
NOTE: We cannot ignore the fact that the outcome of the research done in Milestone 3 could point to incompatibilities that make an Aiken integration with LambdaBuffers infeasible. Should that be the case, an in-depth technical explanation of the limitations will be provided.
8
+
9
+
## Acceptance Criteria
10
+
11
+
-[ ] The generated document describes all the technical components relevant to the integration of Aiken with Lambda Buffers, showing a good understanding of them and how they would be relevant to the intended integration.
12
+
-[ ] The generated document describes a clear technical path to integrate Aiken with Lambda buffers and, in addition or alternatively, an in-depth analysis of any limitations found.
13
+
14
+
## Evidence of Milestone Completion
15
+
16
+
-[ ] The completed and reviewed "LambdaBuffers for Aiken - PlutusData encoding implementation provider" documentation is available.
17
+
-[ ] Alternatively, if Aiken integration proves to be infeasible:
18
+
-[ ] The completed and reviewed documentation describing the Aiken limitations and their impact is available.
-[ ] A LambdaBuffers code generation module that outputs type definitions and derived implementations in the Aiken programming language given a LambdaBuffers schema.
6
+
-[ ] An Aiken library that implements the LambdaBuffers Plutus runtime. This module would include standardised PlutusData encoding implementations for all declared type class instances in the Plutus schema.
7
+
-[ ] An Aiken test suite that assures the manually implemented and automatically generated implementations are consistent with the predefined LambdaBuffers Plutus golden data set of PlutusData encoded files and perform correct implementation derivation.
8
+
-[ ] Nix devops modules (Nix API) for streamlining the LambdaBuffers code generation pipeline to Aiken.
9
+
-[ ] Documentation on LambdaBuffers usage patterns for Aiken.
10
+
NOTE: Milestone 4 carries the greatest amount of technical risk in this project. In the event that the outcome of Milestone 3 results in this milestone becoming infeasible, we will submit a Change Request form opting for a suitable alternative of similar scope.
11
+
12
+
## Acceptance Criteria
13
+
14
+
-[ ] LambdaBuffers schemas that are based on the LambdaBuffers Plutus module can be used in Aiken projects to specify application types.
15
+
-[ ] The documentation and devops tooling is available to facilitate easy adoption.
16
+
17
+
## Evidence of Milestone Completion
18
+
19
+
-[ ] The completed and reviewed LambdaBuffers Plutus runtime library is available for the Aiken programming language.
20
+
-[ ] The completed and reviewed LambdaBuffers Plutus test suite is available and is passing in CI for the Aiken programming language.
21
+
-[ ] The completed and reviewed Nix API for LambdaBuffers Aiken support is available.
22
+
-[ ] The completed and reviewed LambdaBuffers for Aiken documentation is available.
# Catalyst milestone 5 (FINAL): Project scaffold for Rust, Javascript and Aiken
2
+
3
+
## Outputs
4
+
5
+
-[ ] A documented project scaffold that demonstrates the end-to-end use of LambdaBuffers with Rust, Javascript and Aiken language ecosystems.
6
+
-[ ] Demonstrate how to use LambdaBuffers to manage and exchange JSON-based configuration between different language ecosystems supported by LambdaBuffers.
7
+
-[ ] More importantly, demonstrates how to use LambdaBuffers to specify and exchange Plutus Datum between Plutus scripting languages and transaction-building frameworks.
8
+
-[ ] A fully tested and documented LambdaBuffers support for Rust, Javascript and Aiken language ecosystems.
9
+
-[ ] A documented scaffold project that serves to demonstrate how to use LambdaBuffers with the newly supported languages for easy adoption.
10
+
11
+
## Acceptance Criteria
12
+
13
+
-[ ] A LambdaBuffers scaffold repository is made available that demonstrates a working end-to-end use of LambdaBuffers with Rust, Javascript and Aiken language ecosystems.
14
+
-[ ] The scaffold uses LambdaBuffers to specify JSON configuration.
15
+
-[ ] The scaffold uses LambdaBuffers to specify Plutus Datum.
16
+
17
+
## Evidence of Milestone Completion
18
+
19
+
-[ ] The completed and reviewed LambdaBuffers scaffold project that uses LambdaBuffers to specify and exchange JSON based configuration between Rust, Javascript and Aiken language ecosystems.
20
+
-[ ] The completed and reviewed LambdaBuffers scaffold project that uses LambdaBuffers to specify and exchange Plutus Datums between Rust, Javascript and Aiken language ecosystems.
21
+
-[ ] We will record a video demonstrating the LambdaBuffers toolkit, how LambdaBuffers schemas are written and checked, and how code is generated from them in the newly supported programming languages.
22
+
-[ ] We will publish a fully documented scaffold project that demonstrates how LambdaBuffers is used in Cardano dApp projects.
0 commit comments