Skip to content

Commit

Permalink
Merge branch 'w3f:master' into master
Browse files Browse the repository at this point in the history
  • Loading branch information
hgergov authored Oct 23, 2023
2 parents 220e562 + 37256f3 commit 4d88ead
Show file tree
Hide file tree
Showing 121 changed files with 3,826 additions and 685 deletions.
2 changes: 1 addition & 1 deletion .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@

- [x] The [application template](https://github.com/w3f/Grants-Program/blob/master/applications/application-template.md) has been copied and aptly renamed (`project_name.md`).
- [ ] I have read the [application guidelines](https://github.com/w3f/Grants-Program/blob/master/docs/Support%20Docs/grant_guidelines_per_category.md).
- [ ] Payment details have been provided (bank details via email _or_ BTC, Ethereum (USDC/DAI) or Polkadot/Kusama (USDT) address in the application).
- [ ] Payment details have been provided (bank details via email _or_ Polkadot (USDC & USDT) or BTC address in the application).
- [ ] The software delivered for this grant will be released under an open-source license specified in the application.
- [ ] The initial PR contains only one commit (squash and force-push if needed).
- [ ] The grant will only be announced once the first milestone [has been accepted](https://github.com/w3f/Grant-Milestone-Delivery#process) (see the [announcement guidelines](https://github.com/w3f/Grants-Program/blob/master/docs/Support%20Docs/announcement-guidelines.md)).
Expand Down
29 changes: 29 additions & 0 deletions .github/workflows/check_broken_links.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: Broken Links

on:
repository_dispatch:
workflow_dispatch:
schedule:
- cron: '0 0 1 * *' # Trigger the workflow every month

jobs:
build_and_check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3

- name: Link Checker
id: lychee
uses: lycheeverse/[email protected]
env:
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
with:
args: --verbose --no-progress !./applications/*

- name: Create Issue From File
if: env.lychee_exit_code != 0
uses: peter-evans/create-issue-from-file@v4
with:
title: Link Checker Report
content-filepath: ./lychee/out.md
labels: report, automated issue
35 changes: 18 additions & 17 deletions README.md

Large diffs are not rendered by default.

37 changes: 23 additions & 14 deletions applications/Calamar.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,26 +69,31 @@ As we are gathering feedback, one of the most important features for the users s
- account's name if set
- owned assets accross all listed chains, including dollar values and graphs for visualization.
- list all chain-specific addresses
- list all related transfers, XCM transfers, extrinsics and calls
- list all related transfers, extrinsics and calls

![Account page](https://res.cloudinary.com/topmonks/image/upload/v1672668761/calamar/account2.png)
![Account page](https://res.cloudinary.com/topmonks/image/upload/v1672668761/calamar/account3.png)

#### Chain dashboards

Each chain will have own dashboard with statistics and listing of latest blocks, latest transfers, top holders, etc. It makes the explorer more useful even for users who are not searching for specific items.

![Statistics page](https://res.cloudinary.com/topmonks/image/upload/v1661765199/calamar/statistics.png)
![Statistics page](https://res.cloudinary.com/topmonks/image/upload/v1697542484/calamar/statistics2.png)

#### Cross-chain transfers
Important feature is to create good UI for displaying information about XCM teleports and other cross-chain transfers where you can easily see all involved sides (chains, accounts) and other useful data.
#### Metadata explorer

- XCM transfer detail
The runtime metadata of each chain are still evolving and changing but it is not so easy to display them in a structured and human-readable way. There is e.g. a tool https://wiki.polkadot.network/docs/metadata which displays them but only latest version and supports only a few networks. The metadata explorer we are going to implement will support all the networks and also historical versions of the runtime spec.

![XCM transfer page](https://res.cloudinary.com/topmonks/image/upload/v1662492906/calamar/xcm-transfer-detail.png)
![Metadata explorer](https://res.cloudinary.com/topmonks/image/upload/v1672668761/calamar/metadata_explorer.png)

- in transfers table
#### Item metadata

![Transfers table](https://res.cloudinary.com/topmonks/image/upload/v1662492938/calamar/xcm-transfers-list.png)
The metadata information will be deeply integrated into whole Calamar so we can display it in the detail pages of the items. E.g. in extrinsic's detail page we will show info for the call name, error, parameters and link to the metadata explorer for more info.

![Extrinsic metadata](https://res.cloudinary.com/topmonks/image/upload/v1672668761/calamar/extrinsic_metadata.png)

#### Search input autocomplete for call and event names

Thanks to the metadata we can also autocomplete and suggest the call and event names when typing into the search input.

### Technology stack

Expand Down Expand Up @@ -203,7 +208,7 @@ Even though we have the already working application, there are still many things
| 10. | Website polishing | Add useful information to the website (footer with team logos, contact information, terms, etc.). |
| 11. | Polkadot.js integration | Create a PR to integrate links to the Calamar Explorer into Polkadot.js app. |

### Milestone 2 - Account detail & Cross-chain transfers
### Milestone 2 - Account detail & Chain dashboards

- **Estimated duration:** 4 weeks
- **FTE:** 1
Expand Down Expand Up @@ -232,10 +237,10 @@ In this milestone we are going to improve [account detail](#account-detail) page
| 10. | Chain dashboard / Top holders | Add top holders list table |


### Milestone 3 - Universal search & Chain dashboards
### Milestone 3 - Universal search & Metadata explorer

- **Estimated duration:** 3 weeks
- **FTE:** 1
- **Estimated duration:** 8 weeks
- **FTE:** 0.375
- **Costs:** $7,500

In this milestone we are going to implement [universal search](#universal-search) and one of the most requested features: [cross-chain transfers](#cross-chain-transfers) detection.
Expand All @@ -248,12 +253,16 @@ In this milestone we are going to implement [universal search](#universal-search
| 0d. | Docker | *N/A - will be provided by the first milestone.* |
| 0e. | Article | We will publish an article that explains what was done as part of the grant |
| 1. | Universal search | Search items through all the chains without the knowledge where it belongs. See [Universal search](#universal-search). |
| 2. | XCM transfers and teleports | Detect cross-chain transfers and display relevant information of involved chains and accounts: from chain, to chain, relayed at chain (reserve), sender, beneficiary, etc. Also add their listings to account detail and chain dashboard. See [Cross-chain transfers](#cross-chain-transfers) for more. |
| 2. | Metadata explorer | UI interface for exploring metadata retrieved from network's latest and historical versions of runtime spec. See [Metadata explorer](#metadata-explorer).
| 3. | Show related runtime metadata in items' detail | Show related metadata information directly in detail pages of individual items and interlink to metadata explorer. See [Item metadata](#item-metadata).
| 4. | Search input autocomplete | Autocomplete extrinsic and event name in the search input. See [Search input autocomplete for call and event names](#search-input-autocomplete-for-call-and-event-names).

## Future Plans

There is a huge potential for future improvements which the Polkadot's community can benefit from.

We would like to definitely display information about XCM transfers and teleports.

As developers of most parachains implement their own custom modules/pallets it opens the opportunity to cooperate and customize Calamar explorer with UI/UX components and logic tailored to their needs.

It relates to various XCM transactions which makes it even more complex and the more types will our explorer support the more it makes the users' lives easier.
Expand Down
33 changes: 28 additions & 5 deletions applications/Claps.md
Original file line number Diff line number Diff line change
Expand Up @@ -149,15 +149,38 @@ New project

## Development Roadmap :nut_and_bolt:

### Amendment - Timeline Extension (Sep, 18 2023)

Due to unforeseen challenges and to ensure the quality of our deliverables, we are proposing an extension to the project timeline.

Original Estimated End Date: *End of the 4.5 months from April 2023*
Revised Estimated End Date: **December 2023**

**Reasons for Extension:**
- *Thank you for supporting Claps Health and granting us the opportunity to bring this vision to life. Since initiating the project in April 2023 (approved by middle of March), we've faced unforeseen challenges in the Rust and Substrate Technology learning curve. While we've onboarded experienced Substrate professionals to address this, the Item 3 related to zk-proof still to be develop.*

- *Milestone 1: Patient Identity and Security Framework
Status: Delayed due to zk-proof
Estimated Completion Date: Oct 30, 2023*
- *Milestone 2: Patient Engagement and Data Sharing
Status: Delayed due to Milestone 1
Estimated Completion Date: Dec 30, 2023*

**Technical Specification amendment:**
- *Patient ID creation - Develop the patient ID creation tool in Javascript. Changed to Develop the patient ID creation tool in Dart.*
- *Patient ID on-chain authentication - zkSNARKs Groth16 based on Non-Interactive Zero-Knowledge Proof (NIZKP) developed by !ink Smart Contract. Changed to Patient ID on-chain authentication - zkSNARKs Groth16 based on Non-Interactive Zero-Knowledge Proof (NIZKP) developed by xcm, runtime module or !ink smart contract.*

We assure the committee that despite the delay, the quality and scope of the project will remain consistent with our initial proposal.

### Overview

- **Total Estimated Duration:** 4.5 months
- **Total Estimated Duration:** 8 months (Adjusted from 4.5 months)
- **Full-Time Equivalent (FTE):** 4 FTE
- **Total Costs:** 30,000 USD

### Milestone 1 - Patient Identity and Security Framework

- **Estimated Duration:** 2.5 month
- **Estimated Duration:** 6 months (Adjusted from 2.5 months)
- **Developers:** FTE x 4
- **(Product Design x 1, Dapp Engineer x 1, System Engineer x 1, App Engineer x 1)**
- **Costs:** 20,000 USD
Expand All @@ -169,16 +192,16 @@ New project
| 0c. | Testing and Testing Guide | Core functions will be fully covered by comprehensive unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. |
| 0d. | Docker | We will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. |
| 0e. | Article | We will post an article on Twitter and Meta(Facebook) for English and Mandarin speakers communities. |
| 1 | Patient ID creation | \- Develop the patient ID creation tool in Javascript.<br/>\- Generate a new ID on client-side for the patient based on BIP39. (12 words passphrase)<br/>\- Encrypted key store(private key) by patient user’s password (AES-256 GCM mode)<br/>\- Implement the decentralized design using public key cryptography. (Client signed by private key) |
| 1 | Patient ID creation | \- Develop the patient ID creation tool in Dart.<br/>\- Generate a new ID on client-side for the patient based on BIP39. (12 words passphrase)<br/>\- Encrypted key store(private key) by patient user’s password (AES-256 GCM mode)<br/>\- Implement the decentralized design using public key cryptography. (Client signed by private key) |
| 2 | Patient profile management module | \- Patient profile off-chain management tools developed by JAVA<br/>\- Support AWS S3 storage<br/>\- Updating of patient profile<br/>\- ECIES end-to-end data encryption to secure profile data transfer. |
| 3 | Patient ID on-chain authentication | \- zkSNARKs Groth16 based on Non-Interactive Zero-Knowledge Proof (NIZKP) developed by !ink Smart Contract<br/>\- Receive credential by trust issuer (token file)<br/>\- Zero-knowledge proof for on-chain authentication to prove patient ID without private information |
| 3 | Patient ID on-chain authentication | \- zkSNARKs Groth16 based on Non-Interactive Zero-Knowledge Proof (NIZKP) developed by xcm or runtime module or !ink Smart Contract<br/>\- Receive credential by trust issuer (token file)<br/>\- Zero-knowledge proof for on-chain authentication to prove patient ID without private information |
| 4 | Challenge card dapp module | Provide a way for users to set personal goals, track their progress, and receive rewards for their efforts. Dapp developed in ink! smart contract.<br/><br/>\- Add challenge card<br/>\- Add personalized mission<br/>\- Delete challenge card<br/>\- Receive daily mission<br/>\- Receive rewards by mission completed<br/>\- Receive rewards by challenge completed<br/>\- Rewards by fungible tokens |
| 5 | Create database | Create a docker container to start a mySQL database to store all the information, define the models to store and create tables and indexes. |
| 6 | Database encryption module | We will implement a database encryption AES-256 GCM module of all stored and transmitted data to prevent unauthorized access or tampering. Developed by JAVA. |
| 7 | Android apk | We will provide android apk for above challenge card data input and functional verification<br/>We will provide android apk for user challenge card with wallet to receive rewards |
| 8 | Testing | Achieve a testing coverage of the functionalities above 90% |

### Milestone 2 - CPatient Engagement and Data Sharing
### Milestone 2 - Patient Engagement and Data Sharing
- **Estimated Duration:** 2 month
- **Developers:** FTE x 4
- **(Product Design x 1, Dapp Engineer x 1, System Engineer x 1, APP Engineer x 1)**
Expand Down
22 changes: 10 additions & 12 deletions applications/CosmWasmVM-CoreProduct.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,8 +83,8 @@ We are the only team in the Substrate/Polkadot/Kusama ecosystem implementing Cos

### Team members

- Name of team leader: Hussein Ait-Lahcen
- Names of team members: Cor Pruijs, Abduallah Eryuzlu
- Name of team leader: Blas Rodriguez
- Names of team members: Dzmitry Lahoda, Kostya Kastsevich

### Contact

Expand All @@ -105,25 +105,23 @@ We are the only team in the Substrate/Polkadot/Kusama ecosystem implementing Cos

### Team's experience

- Hussein Ait Lahcen: Principal Blockchain engineer at Composable Finance
- Abdullah Eryuzlu: Substrate Rust engineer at Composable Finance
- Cor Pruijs: Software engineer at Composable Finance
- Blas Rodriguez: CTO at Composable Finance
- Dzmitry Lahoda: Senior staff engineer at Composable Finance
- Kostya Kastsevich: Parachain Lead at Composable Finance

### Team Code Repos

- https://github.com/ComposableFi/cosmwasm-vm

GitHub accounts of all team members:

- https://github.com/hussein-aitlahcen
- https://github.com/aeryz
- https://github.com/cor
- https://github.com/blasrodri
- https://github.com/dzmitry-lahoda
- https://github.com/kkast

### Team LinkedIn Profiles (if available)

- https://tr.linkedin.com/in/abdullah-eryuzlu-675611182
- https://fr.linkedin.com/in/hussein-a-967810a7
- https://nl.linkedin.com/in/corpruijs
- https://ar.linkedin.com/in/blas-rodriguez-irizar

## Development Status :open_book:
https://medium.com/supercolony/a-look-into-virtual-machines-and-smart-contract-runtimes-313cd7d494e3
Expand All @@ -132,7 +130,7 @@ https://medium.com/supercolony/a-look-into-virtual-machines-and-smart-contract-r

### Overview

- **Total Estimated Duration:** 11 Weeks
- **Total Estimated Duration:** February 2023 - September 2023
- **Full-Time Equivalent (FTE):** 1,5 FTE
- **Total Costs:** 29,700 USD

Expand Down
Loading

0 comments on commit 4d88ead

Please sign in to comment.