Skip to content

Commit

Permalink
Merge branch 'w3f:master' into dsm-w3f-plutonication_m3
Browse files Browse the repository at this point in the history
  • Loading branch information
dsm-w3f authored Feb 21, 2024
2 parents d3a8da7 + 706ee69 commit 259f33a
Show file tree
Hide file tree
Showing 7 changed files with 354 additions and 110 deletions.
2 changes: 1 addition & 1 deletion .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
- [x] The [milestone-delivery-template.md](https://github.com/w3f/Grant-Milestone-Delivery/blob/master/deliveries/milestone-delivery-template.md) has been copied and updated.
- [ ] This pull request is being made by the same account as the accepted application.
- [ ] I have disclosed any and all sources of reused code in the submitted repositories and have done my due diligence to meet its license requirements.
- [ ] In case of acceptance, an invoice must be submitted and the payment will be transferred to the Polkadot/fiat account provided in the application.
- [ ] In case of acceptance, invoices must be submitted and payments will be transferred to the Polkadot AssetHub and/or fiat account provided in the application.
- [ ] The delivery is according to the [Guidelines for Milestone Deliverables](https://grants.web3.foundation/docs/Support%20Docs/milestone-deliverables-guidelines).

Link to the application pull request: https://github.com/w3f/Grants-Program/pull/XXX < please fill this in with the PR number of your application.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ The milestone delivery process is part of the [W3F Grants Program](https://githu
3. **Milestone Payment:**
1. After the milestone is approved and the pull request merged, fill out the [invoice form](https://forms.gle/LSRr7PCjBpEbKGh89).
1. The [operations team](https://grants.web3.foundation/docs/Introduction/team#w3f-operations-team) receives a notification once the invoice is submitted. Payments are usually processed within 14 days.
2. Payment is made to the bank account or Polkadot address specified in the initial application.
2. Payment is made to the bank account and/or Polkadot AssetHub address specified in the initial application.

Grant applications can be [amended](https://grants.web3.foundation/docs/Process/changes) at any time. However, this _necessitates a reevaluation by the committee_. If your application has been accepted and, during development, you find that your project significantly deviates from the original specification, please open a new pull request that modifies the existing application.

Expand Down
18 changes: 18 additions & 0 deletions deliveries/Solang_Playground-milestone_1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Milestone Delivery :mailbox:

**The delivery is according to the official [milestone delivery guidelines](https://github.com/w3f/Grants-Program/blob/master/docs/Support%20Docs/milestone-deliverables-guidelines.md).**

* **Application Document:** https://github.com/w3f/Grants-Program/blob/master/applications/Solang_Playground.md
* **Milestone Number:** 1

**Context**
This milestone involves compiling Solang's language server source code to WASM, and integrate into a Monaco web editor. That is, allow for editing a contract on a webpage with the help of language smarts provided from the server.


**Deliverables**


| Number | Deliverable | Link | Notes |
| ------ | ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 1. | Solang Playground Client | -Repo: https://labs.hyperledger.org/solang-playground/ .<br> -Client hosted on github pages: https://salaheldinsoliman.github.io/solang-playground-lab/ | - I didn't include a Dockerfile for this milestone as I thought it is not needed at this point. Evaluators can easily visit the testing link to test the mentioned functionality. <br> - In the editor, I thought it is a good idea to keep the debugging consoles displayed in the bottom of the page. This makes evaluation and testing more easy. (In my opinion) |

20 changes: 20 additions & 0 deletions deliveries/zkwasm-rollups-transfer-milestone-2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Milestone Delivery :mailbox:

**The delivery is according to the official [milestone delivery guidelines](https://github.com/w3f/Grants-Program/blob/master/docs/Support%20Docs/milestone-deliverables-guidelines.md).**

* **Application Document:** [Zkwasm Rollups Transfer](https://github.com/w3f/Grants-Program/blob/master/applications/zkwasm-rollups-transfer.md)
* **Milestone Number:** 2

**Deliverables**

| Number | Deliverable | Link |
| -----: | ----------- | ------------- |
| 0a. | License | [Apache 2.0](https://github.com/KogarashiNetwork/Kogarashi/blob/master/LICENSE) |
| 0b. | Documentation | [Nova Tutorial](https://kogarashinetwork.github.io/tutorial/nova_pallet/) |
| 0c. | Testing Guide | [Nova Test](https://github.com/KogarashiNetwork/Kogarashi/tree/master/pallet/nova#test) |
| 0d. | Docker | [Nova pallet Dockerfile](https://github.com/KogarashiNetwork/Kogarashi/blob/master/Dockerfile) |
| 0e. | Article | [Nova Tutorial](https://kogarashinetwork.github.io/tutorial/nova_pallet/) |
| 1. | `bn254/grumpkin` implementation | [bn254](https://github.com/KogarashiNetwork/Kogarashi/tree/master/bn254) / [grumpkin](https://github.com/KogarashiNetwork/Kogarashi/tree/master/grumpkin) |
| 2. | `groth16` implementation | [groth16](https://github.com/KogarashiNetwork/Kogarashi/tree/master/groth16) |
| 3. | `recursive proof` implementation | [nova](https://github.com/KogarashiNetwork/Kogarashi/tree/master/nova) |
| 4. | `Nova pallet` implementation | [nova pallet](https://github.com/KogarashiNetwork/Kogarashi/tree/master/pallet/nova) |
85 changes: 82 additions & 3 deletions evaluations/Solang_Playground_1_keeganquigley.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,98 @@
# Evaluation

- **Status:** In progress
- **Status:** Accepted
- **Application Document:** https://github.com/w3f/Grants-Program/blob/master/applications/Solang_Playground.md
- **Milestone:** 1
- **Previously successfully merged evaluation:** All by keeganquigley

| Number | Deliverable | Accepted | Link | Notes |
| ------ | ------------------------ | -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 1. | Solang Playground Client | <ul><li>[ ] </li> |
| 0a. | License | <ul><li>[x] </li> |
| 0b. | Docs | <ul><li>[x] </li> | | Okay
| 0c. | Testing Guide | <ul><li>[x] </li> | | Okay
| 0d. | Article | <ul><li>[x] </li> | | -
| 0e. | Solang Playground Client | <ul><li>[x] </li> | | Works as expected.

# General Notes

Grantee resolved all issues. Builds and runs successfully. Web editor works w/ debugging:

![web editor works](https://github.com/w3f/Grant-Milestone-Delivery/assets/35080151/58844d72-76ea-4197-981a-c26a33ccc50d)

```rust
ubuntu@ip-172-31-26-210:~/solang-playground$ cargo make run
[cargo-make] INFO - cargo make 0.37.9
[cargo-make] INFO - Calling cargo metadata to extract project info
[cargo-make] INFO - Cargo metadata done
[cargo-make] INFO - Build File: Makefile.toml
[cargo-make] INFO - Task: run
[cargo-make] INFO - Profile: development
[cargo-make] INFO - Running Task: run
[cargo-make] INFO - Build Done in 0.62 seconds.
```

## Tests

Compiles successfully but with a lot of warnings:
Unit tests now passing for all crates. Some errors still occurring in `Solang` dir but these are related to the tower-lsp deps. Okay docs but inline code comments could be better.

<details>
<summary>Output</summary>

```rust
Compiling tower-lsp v0.20.0
error[E0405]: cannot find trait `Decoder` in this scope
--> /home/ubuntu/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tower-lsp-0.20.0/src/codec.rs:165:27
|
165 | impl<T: DeserializeOwned> Decoder for LanguageServerCodec<T> {
| ^^^^^^^ not found in this scope

error[E0405]: cannot find trait `AsyncRead` in this scope
--> /home/ubuntu/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tower-lsp-0.20.0/src/transport.rs:61:8
|
61 | I: AsyncRead + Unpin,
| ^^^^^^^^^ not found in this scope
|
help: consider importing this trait
|
13 + use futures::AsyncRead;
|

error[E0405]: cannot find trait `AsyncWrite` in this scope
--> /home/ubuntu/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tower-lsp-0.20.0/src/transport.rs:62:8
|
62 | O: AsyncWrite,
| ^^^^^^^^^^ not found in this scope
|
help: consider importing this trait
|
13 + use futures::AsyncWrite;
|

error[E0433]: failed to resolve: use of undeclared type `FramedRead`
--> /home/ubuntu/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tower-lsp-0.20.0/src/transport.rs:113:32
|
113 | let mut framed_stdin = FramedRead::new(self.stdin, LanguageServerCodec::default());
| ^^^^^^^^^^ use of undeclared type `FramedRead`

error[E0433]: failed to resolve: use of undeclared type `FramedWrite`
--> /home/ubuntu/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tower-lsp-0.20.0/src/transport.rs:114:29
|
114 | let framed_stdout = FramedWrite::new(self.stdout, LanguageServerCodec::default());
| ^^^^^^^^^^^ use of undeclared type `FramedWrite`

error[E0425]: cannot find function `to_jsonrpc_error` in this scope
--> /home/ubuntu/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tower-lsp-0.20.0/src/transport.rs:152:66
|
152 | let res = Response::from_error(Id::Null, to_jsonrpc_error(err));
| ^^^^^^^^^^^^^^^^ not found in this scope

Some errors have detailed explanations: E0405, E0425, E0433.
For more information about an error, try `rustc --explain E0405`.
error: could not compile `tower-lsp` (lib) due to 6 previous errors
```
</details>

~~Compiles successfully but with a lot of warnings:~~

<details>
<summary>Output:</summary>
Expand Down
Loading

0 comments on commit 259f33a

Please sign in to comment.