Skip to content

Commit

Permalink
Merge branch 'master' of github.com:w3f/Grant-Milestone-Delivery
Browse files Browse the repository at this point in the history
  • Loading branch information
neeboo committed Dec 10, 2020
2 parents 867ba66 + 4b3c3ed commit 10775b0
Show file tree
Hide file tree
Showing 8 changed files with 147 additions and 27 deletions.
18 changes: 18 additions & 0 deletions deliveries/dart-scale-codec-milestone-1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Milestone Delivery :mailbox:

> Only the GitHub account, which is responsible for the pull request of the accepted application is allowed to submit milestones. Don't remove any of the mandatory parts presented in bold letters or as headlines!
**The [invoice form :pencil:](https://forms.gle/8Wx7nxtq8fKrsuEz8) has been filled out correctly for this milestone.**

* **PR Link:** https://github.com/w3f/Open-Grants-Program/pull/66
* **Milestone Number:** 1

Please provide a list of all deliverables of the milestone extracted from the initial application and a link to the deliverable itself. Ideally all links inside the below table should include a commit hash, which should be used for testing.

| Number | Deliverable | Link | Notes |
| ------------- | ------------- | ------------- |------------- |
| 1. | Source code |https://github.com/nbltrust/dart-scale-codec| Published at https://pub.dev/packages/scalecodec |
| 2. | Unit Tests |https://github.com/nbltrust/dart-scale-codec/tree/master/test| |
| 3. | Examples |https://github.com/nbltrust/dart-scale-codec/tree/master/example| An example of fetching and analyzing binary metadata from chain's runtime.<br />An example of sending extrinsics to substrate based chain. |
| 4. | Documentation |https://github.com/nbltrust/dart-scale-codec| README.md |

21 changes: 0 additions & 21 deletions deliveries/polkadot_dart_milestone_1.md

This file was deleted.

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

> Only the GitHub account, which is responsible for the pull request of the accepted application is allowed to submit milestones. Don't remove any of the mandatory parts presented in bold letters or as headlines!
**The [invoice form :pencil:](https://forms.gle/8Wx7nxtq8fKrsuEz8) has been filled out correctly for this milestone.**

* **PR Link:** [Starks Network](https://github.com/w3f/Open-Grants-Program/pull/55)
* **Milestone Number:** 1

Please provide a list of all deliverables of the milestone extracted from the initial application and a link to the deliverable itself. Ideally all links inside the below table should include a commit hash, which should be used for testing.

| Number | Deliverable | Link | Notes |
| ------------- | ------------- | ------------- |------------- |
| 0a. | License |[Apache License](https://github.com/gbctech/starks-node/blob/master/LICENSE-APACHE2)| The Starks Node uses the Apache 2.0 license. |
| 0b. | Documentation |[Basic tutorial and documentation](https://github.com/gbctech/starks-node/blob/master/README.md)| Documentation on running the Starks node as binary or using docker. Explanation of how the Distaff VM works. A walkthrough on how to interact with the VM using the Starks UI. |
| 0c. | Testing |[distaff-vm frame test](https://github.com/gbctech/starks-node/blob/master/frame/distaff-vm/src/tests.rs), [starks verifier primitive test](https://github.com/gbctech/starks-node/blob/286e08ab1125a070a7b9fe783ec85858674e6e7d/primitives/stark/src/lib.rs#L82), [doc](https://github.com/gbctech/starks-node/blob/master/README.md#tests)| Unit test of the Distaff VM frame. Test of the starks verifier as a Substrate primitive module. |
| 1. | Substrate module: Distaff VM |[Distaff VM pallet](https://github.com/gbctech/starks-node/tree/master/frame/distaff-vm), [starks verifier primitive](https://github.com/gbctech/starks-node/tree/master/primitives/stark) [rpc](https://github.com/gbctech/starks-node/tree/master/client/rpc/src/distaff_vm), [rpc-api](https://github.com/gbctech/starks-node/tree/master/client/rpc-api/src/distaff_vm)| The Distaff VM has been embedded as a native runtime module in the Substrate node. The module consists of a frame pallet in the frame directory and a starks verifier in the primitive directory. The starks proof generation function is not used on chain—thus it has been removed. Related rpc interfaces are added for demo purpose. |
| 2. | Substrate chain |[Starks Node](https://github.com/gbctech/starks-node)| One can clone this repo and run `cargo build --release` to build the binary for the chain. A docker image is also provided (see below). |
| 3. | Docker |[Starks UI](https://hub.docker.com/repository/docker/starksnetwork/starks-ui), [Starks Node](https://hub.docker.com/repository/docker/starksnetwork/starks-node)| The docker deliverables contain two parts. The Starks UI is the frontend based on Polkadot-JS. The Starks node is the substrate chain with the Distaff VM. By running both docker containers, one will be able to test stark proof verification using proof data generated by the Distaff VM (details in project readme). |

21 changes: 21 additions & 0 deletions evaluations/ares_protocol_1_Noc2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Evaluation

* **Acceptance:** In progress
* **PR Link:** https://github.com/w3f/Open-Grants-Program/pull/71
* **Milestone:** 1
* **Kusama Identity:** [HFG4FvoJv8uanizzetS1tPA6wigNAiKuEHKcm1NaKNNDwve](https://polkascan.io/pre/kusama/account/HFG4FvoJv8uanizzetS1tPA6wigNAiKuEHKcm1NaKNNDwve)
* **Previously successfully merged evaluation:** All evaluations by Noc2

| Number | Deliverable | Accepted | Link | Evaluation Notes |
| ------------- | ------------- | ------------- | ------------- |------------- |
0 | Apache | <ul><li>[ ] </li></ul> | | No license |
| 1. | oracle pallet |<ul><li>[ ] </li></ul>| [pallet](https://github.com/aresprotocols/ares-module/blob/main/substrate-node-template/pallets/pallet-ares/src/lib.rs) | initiates a request, but I'm unsure how it works |
| 2. | scanner |<ul><li>[ ] </li></ul>| [index.js](https://github.com/aresprotocols/ares-module/blob/main/fetch-data/index.js) | |
| 3. | provider |<ul><li>[ ] </li></ul>| [aggregate-ares](https://github.com/aresprotocols/ares-module/tree/main/aggregate-ares) | implemented in java |
| 4. | Testing |<ul><li>[x] </li></ul>| [tests](https://github.com/aresprotocols/ares-module/blob/main/substrate-node-template/pallets/pallet-ares/src/tests.rs) | unit tests, but unused imports, no documentation |
| 5. | example for demonstration |<ul><li>[ ] </li></ul>| [fetch-data](https://github.com/aresprotocols/ares-module/tree/main/fetch-data) | The example doesn't use "golang implement scanner and provider". No explanation on how to use it |
| 6. | Documentation |<ul><li>[ ] </li></ul>| [readme]( https://github.com/aresprotocols/ares-module/blob/main/README.md) | The documentation could be a lot better. It for example doesn't contain any examples that show how developers can use the pallet |

## General Notes

No use of any off-chain worker. Proposal: “Aggregator, Validator, Council use off-chain worker getting external data”
21 changes: 21 additions & 0 deletions evaluations/dart-scale-codec_1_mmagician.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Evaluation

* **Status:** Accepted
* **PR Link:** https://github.com/w3f/Open-Grants-Program/pull/66
* **Milestone:** 1
* **Kusama Identity:** [H9M22FTqs1kKRAUiEk1BCVNQfWdMzVV3HbHuMwkirirxk85](https://polkascan.io/pre/kusama/account/H9M22FTqs1kKRAUiEk1BCVNQfWdMzVV3HbHuMwkirirxk85)
* **Previously successfully merged evaluation:** All by mmagician

| Number | Deliverable | Accepted | Link | Evaluation Notes |
| ------------- | ------------- | ------------- | ------------- |------------- |
| 0a. | Apache License 2.0 | <ul><li>[x] </li></ul> | [License](https://github.com/nbltrust/dart-scale-codec/blob/master/LICENSE)| - |
| 0b. | Documentation | <ul><li>[x] </li></ul> | https://github.com/nbltrust/dart-scale-codec/blob/master/README.md | - |
| 0c. | Testing guide | <ul><li>[x] </li></ul> | https://github.com/nbltrust/dart-scale-codec/tree/master/test | - |
| 1. | Implementing the Library | <ul><li>[x] </li></ul> | - | Fixes provided when requested |


## General Notes

A number of rounds needed to get the test & example instructions to a usable state.

Missing types were implemented when pointed out.
25 changes: 25 additions & 0 deletions evaluations/multisignature_management_tool_1_Noc2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Evaluation

* **Acceptance:** In progress
* **PR Link:** https://github.com/w3f/Open-Grants-Program/pull/11
* **Milestone:** 1
* **Kusama Identity:** [HFG4FvoJv8uanizzetS1tPA6wigNAiKuEHKcm1NaKNNDwve](https://polkascan.io/pre/kusama/account/HFG4FvoJv8uanizzetS1tPA6wigNAiKuEHKcm1NaKNNDwve)
* **Previously successfully merged evaluation:** All evaluations by Noc2

| Number | Deliverable | Accepted | Link | Evaluation Notes |
| ------------- | ------------- | ------------- | ------------- |------------- |
| 0 | Apache License 2.0 | <ul><li>[ ] </li></ul> | [License](https://github.com/itering/subscan-multisig-ui/blob/main/LICENSE) | Wrong license |
| 1. | General UI design |<ul><li>[x] </li></ul>| |
| 2. | backend design doc |<ul><li>[ ] </li></ul>| |
| 3. | Integrate with polkadot js extension |<ul><li>[ ] </li></ul>| | Works, but only if you use the correct address format
| 4. | Multisig wallet creation and management |<ul><li>[x] </li></ul>| | Works
| 5. | Basic Multisig Extrinsic(transfer) create and process in Multisig wallet |<ul><li>[ ] </li></ul>| |
| 6. | Multisig wallet support polkadot mainnet |<ul><li>[x] </li></ul>| |
| 7. | Use database or other backend service to store the index data.|<ul><li>[ ] </li></ul>| [pr](https://github.com/itering/subscan-multisig-ui/commit/30f83b4a4d9f0f060c46db103cee3125e8f0e487) |
| 8. | Docker Files and Images |<ul><li>[x] </li></ul>| [Dockerfile](https://github.com/itering/subscan-multisig-ui/blob/main/Dockerfile) | works
| 9. | Unit tests and integration test |<ul><li>[x] </li></ul>| [tests](https://github.com/itering/subscan-multisig-ui/tree/main/tests), [Cypress](https://github.com/itering/subscan-multisig-ui/tree/main/cypress) | Contains unit and integration tests (
| 10. | Tutorials |<ul><li>[x] </li></ul>| [tutorial](https://github.com/itering/subscan-multisig-ui#tutorial) |

## General Notes

The already have an online [demo](https://multisig.subscan.io.l2me.com/).
12 changes: 6 additions & 6 deletions evaluations/starks_network_1_Noc2.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Evaluation

* **Acceptance:** In progress
* **Acceptance:** Accepted
* **PR Link:** https://github.com/w3f/Open-Grants-Program/pull/55
* **Milestone:** 1
* **Kusama Identity:** [HFG4FvoJv8uanizzetS1tPA6wigNAiKuEHKcm1NaKNNDwve](https://polkascan.io/pre/kusama/account/HFG4FvoJv8uanizzetS1tPA6wigNAiKuEHKcm1NaKNNDwve)
Expand All @@ -9,13 +9,13 @@
| Number | Deliverable | Accepted | Link | Evaluation Notes |
| ------------- | ------------- | ------------- | ------------- |------------- |
| 0a. | Apache | <ul><li>[x] </li></ul> |[Apache License](https://github.com/gbctech/starks-node/blob/master/LICENSE-APACHE2), [MIT License](https://github.com/gbctech/starks-node/blob/master/frame/distaff-vm/LICENSE) | Apache 2.0 license, but also MIT for the distaff-vm, but the link to the licenses isn't set up correctly |
| 0b. | Documentation | <ul><li>[ ] </li></ul>| [readme](https://github.com/gbctech/starks-node/blob/master/README.md), [Distaff readme](https://github.com/gbctech/starks-node/blob/master/frame/distaff-vm/README.md) | The distaff vm readme is just copy pasted
| 0c. | Testing Guide | <ul><li>[ ] </li></ul>| [test files](https://github.com/gbctech/starks-node/tree/master/frame/distaff-vm/src/tests), [doc](https://github.com/gbctech/starks-node/blob/master/README.md) | Only the distaff VM is tested
| 1. | Substrate module: Distaff VM | <ul><li>[ ] </li></ul>| [Distaff VM pallet](https://github.com/gbctech/starks-node/tree/master/frame/distaff-vm), [rpc](https://github.com/gbctech/starks-node/tree/master/client/rpc/src/distaff_vm), [rpc-api](https://github.com/gbctech/starks-node/tree/master/client/rpc-api/src/distaff_vm) | not a wasm pallet, no configuration/optimization |
| 2. | Substrate chain | <ul><li>[ ] </li></ul>| [Starks Node](https://github.com/gbctech/starks-node)| No runtime module|
| 0b. | Documentation | <ul><li>[x] </li></ul>| [readme](https://github.com/gbctech/starks-node/blob/master/README.md), [Distaff readme](https://github.com/gbctech/starks-node/tree/master/primitives/stark) | The main readme is good. The distaff vm readme was originally just copy paste, but it was updated and now links to the original implementation.
| 0c. | Testing Guide | <ul><li>[x] </li></ul>| [test files](https://github.com/gbctech/starks-node/blob/master/frame/distaff-vm/src/tests.rs), [doc](https://github.com/gbctech/starks-node/blob/master/README.md) | Initially it contained only tests for the distaff VM, but they added a few additional basic tests
| 1. | Substrate module: Distaff VM | <ul><li>[x] </li></ul>| [Distaff VM pallet](https://github.com/gbctech/starks-node/tree/master/frame/distaff-vm), [rpc](https://github.com/gbctech/starks-node/tree/master/client/rpc/src/distaff_vm), [rpc-api](https://github.com/gbctech/starks-node/tree/master/client/rpc-api/src/distaff_vm) | Initially they promised to deliver a wasm pallet including configuration/optimization, but it turned out that this was too much for the first milestone. Therefore an [amendment was signed](https://github.com/w3f/Open-Grants-Program/pull/137/) |
| 2. | Substrate chain | <ul><li>[x] </li></ul>| [Starks Node](https://github.com/gbctech/starks-node)| Initially the distaff vm pallet wasn't implemented into the runtime, but they fixed it |
| 3. | Docker | <ul><li>[x] </li></ul>| [Starks UI](https://hub.docker.com/repository/docker/starksnetwork/starks-ui), [Starks Node](https://hub.docker.com/repository/docker/starksnetwork/starks-node) | Works


## General Notes

Only integrated as rps call at the moment (not really a pallet, no rpc tests). No changes on the Distaff VM itself
The initial delivery had some issues and some of it was different from the original specification of the contract, but an amendment was signed and the delivery was improved. The code contains unused variables and functions.
36 changes: 36 additions & 0 deletions evaluations/zenlink-dex_1_semuelle.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# Evaluation


* **Status:** Accepted
* **PR Link:** https://github.com/w3f/Open-Grants-Program/pull/104
* **Milestone:** 1
* **Kusama Identity:** [ESxS4A7GHMLzve4Mbc9t27RpXtVTnV3LtcMTtcnD26jcUHA](https://polkascan.io/pre/kusama/account/ESxS4A7GHMLzve4Mbc9t27RpXtVTnV3LtcMTtcnD26jcUHA)
* **Previously successfully merged evaluation:** All by semuelle


| Number | Deliverable | Accepted | Link | Evaluation Notes |
| ------------- | ------------- | ------------- | ------------- |------------- |
| 0. | Apache License 2.0 | <ul><li>[x] </li></ul> |[License](https://github.com/zenlinkpro/zenlink-dex-contract/blob/main/LICENSE)||
| 1. | Technical specifications and Zenlink DEX Module design |<ul><li>[x] </li></ul>|[zenlink_whitepaper_en.pdf](https://github.com/zenlinkpro/whitepaper/blob/3af1af967dde202b0376ed84671de979da7693f5/en/zenlink_whitepaper_en.pdf)| v0.6, adds chapter on smart contracts |
| 2. | Zenlink DEX Smart Contract Repository |<ul><li>[x] </li></ul>|[Link](https://github.com/zenlinkpro/zenlink-dex-contract/commit/4d0da281c8e2251d11c28bea349a50c534b34ebf)| |
| 3. | Tests | <ul><li>[x] </li></ul> | [Link to repo](https://github.com/zenlinkpro/zenlink-dex-contract) | see [General Notes](#general-notes) |
| 4. | Docker | <ul><li>[x] </li></ul> | [DockerHub](https://hub.docker.com/layers/zenlinkpro/dex/zenlink-canvas-node/images/sha256-daad0726a1db8b5f9ed792ae778623cbc10f283c638fbaa07af5acbb48b20584?context=explore) ||
| 5. | Tutorial | <ul><li>[x] </li></ul> | [Google Doc](https://docs.google.com/document/d/1zoXwg0VuMGlNnUAmz9TYubKX-B2dwJ54a5z4fSYss0E/edit?usp=sharing) | see [General Notes](#general-notes) |



## General Notes

After initial feedback, the setup instructions were fixed and improved. The README and tutorial could still use a little more detail.

`clippy` shows several `Style` and `Complexity` warnings on all contracts.

Crucial functions are documented with rustdoc.

Unit tests have been added after discussion. Largely due to limitations in the ink! test environment, the tests only cover token transfers and price calculations. `cargo-tarpaulin` results:

| Contract | Coverage % |
|-------------|------------|
| ERC20 | 90.43% |
| Factory | 26.72% |
| Exchange | 0.00% |

0 comments on commit 10775b0

Please sign in to comment.