Skip to content

Commit

Permalink
Merge branch 'w3f:master' into native-apis-milestone2
Browse files Browse the repository at this point in the history
  • Loading branch information
dileping authored Nov 20, 2023
2 parents 0b71d42 + 3194b4a commit d94c2d9
Show file tree
Hide file tree
Showing 6 changed files with 1,289 additions and 10 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# 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:** [P2P Data platform for w3f](https://github.com/w3f/Grants-Program/blob/master/applications/data_platform_with_deep_indexed_data_and_staking_reports.md)
* **Milestone Number:** 1

**Context** (optional)
The development consist of only 1 milestone which includes the developement of open-source solution with publishing this solution by developer.

**Deliverables**
> 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 will be used for testing. If you don't provide a commit hash, we will work off the default branch of your repository. Thus, if you plan on continuing work after delivery, we suggest you create a separate branch for either the delivery or your continuing work.
>
> If there is anything particular about any of the deliverables we or a future reader should know, use the respective `Notes` column.
| Number | Deliverable | Link | Notes |
| ------------- | ------------- | ------------- |------------- |
| 0a. | License | - | Apache 2.0 |
| 0b. | Documentation | [Installation Doc](https://github.com/p2p-org/polkadot-grant#installation) | - |
| 0c. | Testing and Testing Guide | -| You can test though installation. |
| 0d. | Docker | [Infrastructure repo](https://github.com/p2p-org/polkadot-grant)| Terraform repo with Helm charts. We switched from Docker on Local machine approach in favor of GKE. |
| 1. | Develop the ETL component |[DAG for ETL from Indexer to DWH](https://github.com/p2p-org/polkadot-grant-dags)| Airflow DAGs for ETL from Postgres (Mbelt, indexer database) to BigQ. This approach chosen by the team due to DWH agnostic. You can switch for any other DWH (Clickhouse, Vertica, SnowFlake) by editing DAG.|
| 2. | Publish DWH data |[Published data in Google open datasets](https://console.cloud.google.com/)| Go to Google BigQ console → Add → in the window "Star a project” type “p2p-data-platform” → see the open data for RFP in “raw_mbelt_data” schema|
| 3. | Forking Superset |[Public data platform on Polkadot](https://polkadot-rfp-superset.tool.p2p.org/superset/welcome/)| BI with access to fully collected data for Polkadot, Kusama, Moonbeam, Moonriver.|


**Additional Information**
1) We will continue to support [published solution](https://polkadot-rfp-superset.tool.p2p.org/superset/welcome/) during the Milestone Review
2) Published solution provides public access without any auth. To make new dashboard you can login via google/git.
3) We decided to switch from docker file as open-source solution to kuber because of limitations for local setup.
21 changes: 21 additions & 0 deletions deliveries/ocelloids_xcm_monitoring_service-milestone_1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# 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/ocelloids_xcm_monitoring_service.md
* **Milestone Number:** 1

**Context**

The XCM Monitoring Server is an application designed to monitor Cross-Consensus Message Format (XCM) program executions across different consensus systems. Users can easily configure specific blockchain networks for monitoring and create subscriptions to notifications based on origin and destination chains, as well as sender addresses, via a convenient web API. Noteworthy features include real-time execution monitoring, dynamic subscription updates without the need for restarts, and support for light clients. It also provides comprehensive HTTP APIs for seamless interaction and management, making it a powerful tool for monitoring and managing cross-chain interactions.

**Deliverables**

| Number | Deliverable | Link | Notes |
| ------- | ------------- | ------------- |------------- |
| **0a.** | License | https://github.com/sodazone/xcm-monitoring/blob/main/LICENSE | |
| **0b.** | Documentation | <ul><li>README: https://github.com/sodazone/xcm-monitoring/blob/main/README.md</li><li>Administration Guide: https://github.com/sodazone/xcm-monitoring/blob/main/guides/ADMINISTRATION.md</li><li>Subscription API Docs: https://github.com/sodazone/xcm-monitoring/blob/main/guides/SUBSCRIPTION.md</li></ul> | |
| **0c.** | Testing and Testing Guides | <ul><li>Polkadot Testing Guide: https://github.com/sodazone/xcm-monitoring/blob/main/guides/TESTING-POLKADOT.md</li><li>Zombienet Testing Guide: https://github.com/sodazone/xcm-monitoring/blob/main/guides/TESTING-ZOMBIENET.md</li> <li>Unit Tests: https://github.com/sodazone/xcm-monitoring/blob/main/README.md#testing</li></ul> |
| **0d.** | Docker | <ul><li>Dockerfile: https://github.com/sodazone/xcm-monitoring/blob/main/Dockerfile</li><li>Docker Hub: https://hub.docker.com/r/sodazone/xcm-monitoring</li><li>Github Container Registry: https://github.com/sodazone/xcm-monitoring/pkgs/container/xcmon</li></ul> |
| 1. | XCM Monitoring Server | https://github.com/sodazone/xcm-monitoring/tree/main/src | |
| 2. | Management Tools | https://github.com/sodazone/xcm-monitoring/tree/main/src/services/admin | See 0b. Administration Guide |
24 changes: 24 additions & 0 deletions deliveries/xcmsend-2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Milestone Delivery :mailbox:


The [invoice form :pencil:](https://docs.google.com/forms/d/e/1FAIpQLSfmNYaoCgrxyhzgoKQ0ynQvnNRoTmgApz9NrMp-hd8mhIiO0A/viewform)
has been filled out correctly for this milestone.

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



**Deliverables**
| Number | Deliverable | Link | Notes |
| ------------- | ------------- | ------------- |------------- |
| 0a. | License | [LICENSE](https://github.com/XcmSend/app/blob/main/LICENSE) | All code is MIT license |
| 0b. | Documentation | [xcmsend main doc](https://xcmsend.github.io/) [api docs](https://xcmsend.github.io/api/index.html) | XCMSends public documentation is located here |
| 0c. | Testing and Testing Guide | [app test](https://xcmsend.github.io/tests/index.html) [api tests](https://xcmsend.github.io/tests/api.html) | (npm run test)XCMSend and api has built in tests |
| 0d. | Docker | [Build the docker image locally](https://xcmsend.github.io/deployments/docker.html#build-the-docker-image-locally) | `docker pull xcmsend/xcmsend:v0.0.6` |
| 0e. | Article | [XCM Send Milestone 2 Delivered: What’s new?](https://decentration.medium.com/xcm-send-milestone-2-delivered-whats-new-6d69b99b8b81) | Medium Article |
| 1. | Support 3 chains or more | [xcmsend.github.io/teleport](https://xcmsend.github.io/teleport/index.html) | We currently support Polkadot, HydraDx, AssetHub and Interlay |
| 2. | Json-rpc api | [https://github.com/XcmSend/api](https://github.com/XcmSend/api/) | `npm run buildme && npm run test` |
| 3. | Parachain discovery | [https://github.com/XcmSend/app/](https://github.com/XcmSend/app) | /parachains section |
| 4. | Auto index XCM channels | [https://github.com/XcmSend/app](https://github.com/XcmSend/app) | XCMSend will auto filter the options for destination chains based on the open egress and ingress hrmp channels the source chain has. Test this by selecting assethub on the source chain and watching the destination chain options be limited. |

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

- **Status:** In Progress
- **Application Document:** https://github.com/w3f/Grants-Program/blob/master/applications/grantmaster.md
- **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 |
| ------ | ----------- | :------: | ---- |----------------- |
| **0a.** | License | <ul><li>[x] </li></ul> | [LICENSE](https://github.com/Zaniyar/grantmaster/blob/6db30291e2687355dc683c0016de6164093a9b6d/LICENSE) | Apache 2.0 |
| **0b.** | Documentation | <ul><li>[x] </li></ul> | [README](https://github.com/Zaniyar/grantmaster/blob/6db30291e2687355dc683c0016de6164093a9b6d/README.md) | I will provide both **inline documentation** of the code and a basic **tutorial** that explains how a user can use the application and its various features. |
| **0c.** | Testing Guide | <ul><li>[ ] </li></ul> | [README](https://github.com/Zaniyar/grantmaster/tree/6db30291e2687355dc683c0016de6164093a9b6d#run-tests) ||
| **0d.** | Docker | <ul><li>[x] </li></ul> | [README](https://github.com/Zaniyar/grantmaster/tree/6db30291e2687355dc683c0016de6164093a9b6d#run-with-docker) ||
| 0e. | Article | <ul><li>[x] </li></ul> | [README](https://github.com/Zaniyar/grantmaster/blob/6db30291e2687355dc683c0016de6164093a9b6d/README.md) ||
| 1. | Crawler & REST API | <ul><li>[ ] </li></ul> | link | I will develop a configurable crawler and a REST API that facilitates interaction with the [Grants-Program GitHub repository](https://github.com/w3f/Grants-Program). The crawler will update specific applications or deliveries on demand through the web UI (see [Data Synchronization Approach](#data-synchronization-approach) chapter). |
| 2. | GitHub Actions | <ul><li>[ ] </li></ul> | link | GitHub Actions will be used to trigger updates in the application whenever new comments, pull requests, or PR reviews are added on GitHub (see [Data Synchronization Approach](#data-synchronization-approach) chapter). |
| 3. | Frontend Module: Grants Page | <ul><li>[ ] </li></ul> | link | I will develop a Grants Page that will display all the grants in a tabular format. Grants will be searchable by team name, application name as well as full text search. They will be filterable and sortable by pull request status, github label, last updated timestamp, number of approvals & rejections of committee members and all this data will also be displayed in the table. The table will be customizable and attributes will be hidable by the user. It will include all grants - both active and inactive. |
| 4. | Frontend Module: Grant Details | <ul><li>[ ] </li></ul> | link | I will create a Grant Details module that displays detailed information about a specific grant when clicked on in the Grants Page. This will include any parsable data, such as team name, level, payment address, team members, legal entity, milestones and their related info (duration, FTE, costs), etc. in a structural manner. In case an application is not fully parsable, the affected attributes will hold an indication. Finally, the application document will be displayed and the links for any related PRs will be displayed. |
| 5. | Frontend Module: Teams | <ul><li>[ ] </li></ul> | link | This module will present all teams involved in the grants in a concise and searchable manner. |
| 6. | Frontend Feature: Grants Committee Lense | <ul><li>[ ] </li></ul> | link | This feature will allow a user experience that is optimised to a specific grants committee member. The committee member will be able to provide his username (using simple textbox without authentication) and they'll be able to see in which pull requests for grants applications and amendments they've participated and how long it's been since they last commented on it. I think this will be useful for priorizing grant application reviews. |
| X. | ... | <ul><li>[ ] </li></ul> | link | see [General Notes](#general-notes) |


## General Notes

-

### `npm run test` output

```sh

```
87 changes: 87 additions & 0 deletions evaluations/ocelloids-xcm-monitoring_1_semuelle.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
# Evaluation

- **Status:** Accepted
- **Application Document:** https://github.com/w3f/Grants-Program/blob/master/applications/ocelloids_xcm_monitoring_service.md
- **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 |
| ------ | ----------- | :------: | ---- |----------------- |
| **0a.** | License | <ul><li>[x] </li></ul> | [LICENSE](https://github.com/sodazone/xcm-monitoring/blob/910ee7f37cd19e41a3b3f57e82f4dffb10588a94/LICENSE) | Apache 2.0 |
| **0b.** | Documentation | <ul><li>[x] </li></ul> | [README](https://github.com/sodazone/xcm-monitoring/blob/910ee7f37cd19e41a3b3f57e82f4dffb10588a94/README.md), [ADMINISTRATION](https://github.com/sodazone/xcm-monitoring/blob/910ee7f37cd19e41a3b3f57e82f4dffb10588a94/guides/ADMINISTRATION.md), [SUBSCRIPTION](https://github.com/sodazone/xcm-monitoring/blob/910ee7f37cd19e41a3b3f57e82f4dffb10588a94/guides/SUBSCRIPTION.md) ||
| **0c.** | Testing and Testing Guide | <ul><li>[x] </li></ul> | [README](https://github.com/sodazone/xcm-monitoring/blob/910ee7f37cd19e41a3b3f57e82f4dffb10588a94/README.md#testing) | Good coverage |
| **0d.** | Docker | <ul><li>[x] </li></ul> | [Dockerfile](https://github.com/sodazone/xcm-monitoring/blob/910ee7f37cd19e41a3b3f57e82f4dffb10588a94/Dockerfile) | See also https://hub.docker.com/r/sodazone/xcm-monitoring |
| 1. | XCM Monitoring Service | <ul><li>[x] </li></ul> | [sodazone/xcm-monitoring](https://github.com/sodazone/xcm-monitoring/tree/910ee7f37cd19e41a3b3f57e82f4dffb10588a94) ||
| 2. | Management Tools | <ul><li>[x] </li></ul> | [src/services/admin](https://github.com/sodazone/xcm-monitoring/tree/910ee7f37cd19e41a3b3f57e82f4dffb10588a94/src/services/admin) | See also [ADMINISTRATION.md](https://github.com/sodazone/xcm-monitoring/blob/910ee7f37cd19e41a3b3f57e82f4dffb10588a94/guides/ADMINISTRATION.md) |


## General Notes

### `npm run test` output

```sh
> [email protected] test
> NODE_OPTIONS="--experimental-vm-modules --no-warnings" npx jest

PASS src/services/persistence/janitor.spec.ts (7.973 s)
PASS src/services/persistence/subs.spec.ts
PASS src/services/notification/webhook.spec.ts (10.815 s)
PASS src/services/networking/connector.spec.ts (15.678 s)
PASS src/services/persistence/scheduler.spec.ts
PASS src/services/monitoring/switchboard.spec.ts (16.806 s)
PASS src/services/monitoring/matching.spec.ts
PASS src/services/monitoring/head-catcher.spec.ts (19.858 s)
PASS src/services/monitoring/ops/xcmp.spec.ts (11.586 s)
PASS src/services/monitoring/ops/dmp.spec.ts (20.641 s)
PASS src/services/monitoring/ops/ump.spec.ts (10.326 s)
PASS src/server.spec.ts (23.724 s)
-----------------------------|---------|----------|---------|---------|-------------------------
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
-----------------------------|---------|----------|---------|---------|-------------------------
All files | 95.1 | 88.8 | 94.29 | 95 |
src | 100 | 100 | 100 | 100 |
environment.ts | 100 | 100 | 100 | 100 |
errors.ts | 100 | 100 | 100 | 100 |
server.ts | 100 | 100 | 100 | 100 |
src/services | 100 | 100 | 100 | 100 |
auth.ts | 100 | 100 | 100 | 100 |
config.ts | 100 | 100 | 100 | 100 |
root.ts | 100 | 100 | 100 | 100 |
types.ts | 100 | 100 | 100 | 100 |
src/services/admin | 89.47 | 100 | 83.33 | 89.47 |
routes.ts | 89.47 | 100 | 83.33 | 89.47 | 81-82,88-89
src/services/monitoring | 95.96 | 91.42 | 92.2 | 95.83 |
head-catcher.ts | 96.94 | 85 | 93.75 | 96.87 | 128,156,339,452
matching.ts | 94.33 | 100 | 100 | 94.33 | 106-115
plugin.ts | 100 | 100 | 100 | 100 |
switchboard.ts | 94.4 | 100 | 89.65 | 93.96 | 120,216,263,324-327,492
types.ts | 98.21 | 100 | 85.71 | 98.21 | 75
src/services/monitoring/api | 97.67 | 100 | 90 | 97.56 |
routes.ts | 97.67 | 100 | 90 | 97.56 | 44
src/services/monitoring/ops | 92.62 | 88.88 | 98.21 | 92.5 |
criteria.ts | 100 | 100 | 100 | 100 |
dmp.ts | 86.44 | 90.9 | 94.44 | 86.44 | 123,165-173,216-219
ump.ts | 100 | 100 | 100 | 100 |
util.ts | 100 | 50 | 100 | 100 | 13
xcmp.ts | 96.29 | 75 | 100 | 96.29 | 134
src/services/networking | 94.02 | 75 | 100 | 93.84 |
connector.ts | 93.44 | 75 | 100 | 93.33 | 36,82,121,138
plugin.ts | 100 | 100 | 100 | 100 |
src/services/notification | 89.74 | 81.81 | 100 | 89.74 |
hub.ts | 80 | 100 | 100 | 80 | 30
log.ts | 100 | 100 | 100 | 100 |
webhook.ts | 90.32 | 81.81 | 100 | 90.32 | 81-82,117
src/services/persistence | 95.59 | 88.23 | 91.89 | 95.56 |
janitor.ts | 100 | 100 | 100 | 100 |
plugin.ts | 94.44 | 100 | 80 | 94.44 | 52
scheduler.ts | 93.33 | 100 | 90.9 | 93.18 | 92,117,134
subs.ts | 96.47 | 77.77 | 94.44 | 96.47 | 176-181
-----------------------------|---------|----------|---------|---------|-------------------------

Test Suites: 12 passed, 12 total
Tests: 81 passed, 81 total
Snapshots: 0 total
Time: 24.86 s
Ran all test suites.
```
Loading

0 comments on commit d94c2d9

Please sign in to comment.