From 34e5a78c094dfb02de997918bb0e7308dc9e548f Mon Sep 17 00:00:00 2001 From: S E R A Y A Date: Tue, 5 Sep 2023 18:01:09 +0200 Subject: [PATCH 001/133] Fix broken link in FAQ (#1952) Co-authored-by: Sam Ruberti --- docs/faq.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/faq.md b/docs/faq.md index bd146744556..7e56fc13656 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -80,7 +80,7 @@ title: 🙋 FAQ ### Can I list the Web3 Foundation as a partner? - No. Once the grants team has accepted your first milestone, you may display our [grants badge](Support%20Docs/grant-badge-guidelines) in a project-specific context, such as the repository containing the grant project work. + No. Once the grants team has accepted your first milestone, you may display our [grants badge](Support%20Docs/grant-badge-guidelines.md) in a project-specific context, such as the repository containing the grant project work. ### Can you help me advertise my project? From af1a150f626f0d64eb25aa715279912a104dcc26 Mon Sep 17 00:00:00 2001 From: David Semakula Date: Wed, 6 Sep 2023 16:34:48 +0300 Subject: [PATCH 002/133] Amend ink! analyzer (phase 2) (#1951) * Amend ink! analyzer (phase 2) * minor updates for ink! analyzer (phase 2) amendment --- applications/ink-analyzer-phase-2.md | 62 +++++++++++++++++++++------- 1 file changed, 46 insertions(+), 16 deletions(-) diff --git a/applications/ink-analyzer-phase-2.md b/applications/ink-analyzer-phase-2.md index 29ee9781693..898c83f8471 100644 --- a/applications/ink-analyzer-phase-2.md +++ b/applications/ink-analyzer-phase-2.md @@ -203,9 +203,9 @@ You can find a full list of available resources in the [introductory blog post f ### Overview -- **Total Estimated Duration:** ~6.75 months +- **Total Estimated Duration:** ~7.75 months - **Full-Time Equivalent (FTE):** 1 -- **Total Costs:** 48,000 USD +- **Total Costs:** 54,400 USD ### Milestone 1 — Semantic analyzer: Quick fixes, ink_e2e macro support, project creation command and code/intent actions for inserting code stubs/snippets for relevant ink! entities @@ -255,13 +255,43 @@ You can find a full list of available resources in the [introductory blog post f | 1. | Rust crate update: Go to definition support for path-based ink! attribute argument values (i.e. `env` values for `#[ink::contract]` and `environment` values for `#[ink_e2e::test]`) | I will update the semantic analyzer crate to provide an interface that accepts ink! smart contract code and a cursor position as input and returns the location where the item resolved by the path (if any) is defined (e.g. for `#[ink::contract(env=crate::MyEnvironment)]`, returns the location where `MyEnvironment` item is defined). While only `env` values for `#[ink::contract]` and `environment` values for `#[ink_e2e::test]` can be defined as paths at the moment, this utility will be defined generically for any path-based value used as an ink! attribute argument value. | | 2. | Rust crate update: Find references support for path-based ink! attribute argument values (i.e. `env` values for `#[ink::contract]` and `environment` values for `#[ink_e2e::test]`) | I will update the semantic analyzer crate to provide an interface that accepts ink! smart contract code and a cursor position as input and returns locations where the item resolved by the path (if any) is used (e.g. for `#[ink::contract(env=crate::MyEnvironment)]`, returns the locations where the `MyEnvironment` item is used). While only `env` values for `#[ink::contract]` and `environment` values for `#[ink_e2e::test]` can be defined as paths at the moment, this utility will be defined generically for any path-based value used as an ink! attribute argument value. | | 3. | Rust crate update: Rename/refactor support for path-based ink! attribute argument values (i.e. `env` values for `#[ink::contract]` and `environment` values for `#[ink_e2e::test]`) | I will update the semantic analyzer crate to provide an interface that accepts ink! smart contract code, a cursor position and the new name for the item as input and returns the text edits for renaming the item resolved by the path (if any) across the workspace (e.g. for a `MyEnvironment` defined used in an `#[ink::contract(env=crate::MyEnvironment)]` and an `#[ink_e2e::test(environment=crate::MyEnvironment)]`, this renames `MyEnvironment` across all these locations). While only `env` values for `#[ink::contract]` and `environment` values for `#[ink_e2e::test]` can be defined as paths at the moment, this utility will be defined generically for any path-based value used as an ink! attribute argument value. | -| 4. | Rust crate update: Diagnostics that verify that `env` values for `#[ink::contract]` and `environment` values for `#[ink_e2e::test]` are `impl Environment` as well as quick fixes to `impl Environment` for the target item where necessary | I will update the semantic analyzer crate to provide an interface that accepts ink! smart contract code as input and returns the diagnostics for `env` values for `#[ink::contract]` and `environment` values for `#[ink_e2e::test]` whose target item doesn't `impl Environment` as well as quick fixes in the form of code/intent actions that insert code stubs/snippets that `impl Environment` for the target item where necessary. | +| 4. | Rust crate update: Diagnostics that verify that `env` values for `#[ink::contract]` and `environment` values for `#[ink_e2e::test]` are `impl Environment` as well as quick fixes to `impl Environment` for the target item where necessary | I will update the semantic analyzer crate by updating the existing interface that accepts ink! smart contract code as input and returns diagnostic errors and warnings to additionally return diagnostics for `env` values for `#[ink::contract]` and `environment` values for `#[ink_e2e::test]` whose target item doesn't `impl Environment` as well as quick fixes in the form of code/intent actions that insert code stubs/snippets that `impl Environment` for the target item where necessary. | -### Milestone 4 — Language Server: Updates -- **Estimated duration:** ~6-7 weeks +### Milestone 4 — Semantic Analyzer: Diagnostics, quick fixes and code/intent actions for chain extension `ErrorCode` type is `impl FromStatusCode` , and is not referred to using `Self::ErrorCode` anywhere in the chain extension or it's defined methods + +- **Estimated duration:** ~3 weeks +- **FTE:** 1 +- **Costs:** 5,600 USD + +| Number | Deliverable | Specification | +|--------:|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **0a.** | License | MIT or Apache 2.0 | +| **0b.** | Documentation | I will provide detailed source documentation including rustdoc documentation that will be published to [docs.rs](https://docs.rs/) and a README file (published on [Github](https://github.com/), [crates.io](https://crates.io/) and [docs.rs](https://docs.rs/)) providing general information about the library, instructions for installing and using the library and links to other documentation and resources related to the library. | +| **0c.** | Testing and Testing Guide | Core functions will be fully covered by comprehensive unit tests to ensure functionality and robustness. In the guide, I will describe how to run these tests. | +| **0d.** | Docker | I will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. | +| 1. | Rust crate update: Diagnostics that verify that the chain extension `ErrorCode` type is `impl FromStatusCode` as well as quick fixes and code/intent actions to `impl FromStatusCode` for the target item where necessary | I will update the semantic analyzer crate by updating the existing interface that accepts ink! smart contract code as input and returns diagnostic errors and warnings to additionally return diagnostics for chain extension `ErrorCode` types whose target item doesn't `impl FromStatusCode` as well as quick fixes in the form of code/intent actions that insert code stubs/snippets that `impl FromStatusCode` for the target item where necessary. | +| 2. | Rust crate update: Diagnostics for references to the chain extension's `ErrorCode` type using `Self::ErrorCode` in the chain extension (i.e. the `#[ink::chain_extension]` annotated `trait`) or it's defined methods (i.e. `impl` blocks for the chain extension `trait` in a `#[ink::contract]` annotated `mod`) as well as quick fixes to replace `Self::ErrorCode` usages with the `ErrorCode` type directly | I will update the semantic analyzer crate by updating the existing interface that accepts ink! smart contract code as input and returns diagnostic errors and warnings to additionally return diagnostics for references to the chain extension's `ErrorCode` type using `Self::ErrorCode` in the chain extension (i.e. the `#[ink::chain_extension]` annotated `trait`) or it's defined methods (i.e. `impl` blocks for the chain extension `trait` in a `#[ink::contract]` annotated `mod`) as well as quick fixes in the form of code/intent actions that replace `Self::ErrorCode` usages with the `ErrorCode` type directly. | + +### Milestone 5 — Language Server: Updates #1 + +- **Estimated duration:** ~3-4 weeks - **FTE:** 1 -- **Costs:** 12,800 USD +- **Costs:** 6,800 USD + +| Number | Deliverable | Specification | +|--------:|--------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **0a.** | License | MIT or Apache 2.0 | +| **0b.** | Documentation | I will provide detailed source documentation including rustdoc documentation that will be published to [docs.rs](https://docs.rs/) and a README file (published on [Github](https://github.com/), [crates.io](https://crates.io/) and [docs.rs](https://docs.rs/)) providing general information about the crate, instructions for installing and using the crate and links to other documentation and resources related to the crate. | +| **0c.** | Testing and Testing Guide | Core functions will be fully covered by comprehensive unit tests to ensure functionality and robustness. In the guide, I will describe how to run these tests. | +| **0d.** | Docker | I will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. | +| 1. | Rust binary crate update: ink! Language Server updates | I will update Rust binary crate that implements the Language Server Protocol to support features added to the semantic analyzer in milestones 1 and 2 above. | + +### Milestone 6 — Language Server: Updates #2 + +- **Estimated duration:** ~3-4 weeks +- **FTE:** 1 +- **Costs:** 6,800 USD | Number | Deliverable | Specification | |--------:|--------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| @@ -269,22 +299,22 @@ You can find a full list of available resources in the [introductory blog post f | **0b.** | Documentation | I will provide detailed source documentation including rustdoc documentation that will be published to [docs.rs](https://docs.rs/) and a README file (published on [Github](https://github.com/), [crates.io](https://crates.io/) and [docs.rs](https://docs.rs/)) providing general information about the crate, instructions for installing and using the crate and links to other documentation and resources related to the crate. | | **0c.** | Testing and Testing Guide | Core functions will be fully covered by comprehensive unit tests to ensure functionality and robustness. In the guide, I will describe how to run these tests. | | **0d.** | Docker | I will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. | -| 1. | Rust binary crate update: ink! Language Server updates | I will update Rust binary crate that implements the Language Server Protocol to support features added to the semantic analyzer in milestones 1, 2 and 3 above. | +| 1. | Rust binary crate update: ink! Language Server updates | I will update Rust binary crate that implements the Language Server Protocol to support features added to the semantic analyzer in milestones 3 and 4 above. | -### Milestone 5 — Visual Studio Code Extension: Updates +### Milestone 7 — Visual Studio Code Extension: Updates - **Estimated duration:** ~3-4 weeks - **FTE:** 1 - **Costs:** 6,800 USD -| Number | Deliverable | Specification | -|--------:|---------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| **0a.** | License | GPL-3.0 | -| **0b.** | Documentation | I will provide inline source documentation and a README file (published on [Github](https://github.com/) and the [VS Code marketplace](https://marketplace.visualstudio.com/vscode)) providing general information about the extension, instructions for installing and using the extension and links to other documentation and resources related to the extension. | -| **0c.** | Testing and Testing Guide | Core functions will be fully covered by comprehensive integration tests to ensure functionality and robustness. In the guide, I will describe how to run these tests. | -| **0d.** | Docker | I will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. | -| 0e. | Article | I will publish an **article** that introduces the new features of ink! analyzer, including updates to the VS Code extension, the language server and the semantic analyzer. | -| 1. | Visual Studio Code Extension: Updates | I will update the Visual Studio Code Extension to support the ink! language support features added to the language server and semantic analyzer in milestones 1, 2, 3 and 4 above. Visual interface demos of all the IDE/editor features can be found in VS Code extension documentation for [diagnostics](https://code.visualstudio.com/api/language-extensions/programmatic-language-features#provide-diagnostics), [completions](https://code.visualstudio.com/api/language-extensions/programmatic-language-features#show-code-completion-proposals), [hover content](https://code.visualstudio.com/api/language-extensions/programmatic-language-features#show-hovers), [code actions](https://code.visualstudio.com/api/language-extensions/programmatic-language-features#show-hovers), [quick fixes](https://code.visualstudio.com/api/language-extensions/programmatic-language-features#possible-actions-on-errors-or-warnings), [signature help/parameter hints (demo uses functions but should still be helpful for interface visualization for ink! attribute arguments)](https://code.visualstudio.com/api/language-extensions/programmatic-language-features#help-with-function-and-method-signatures), [inlay hints](https://code.visualstudio.com/docs/typescript/typescript-editing#_inlay-hints), [go to definition](https://code.visualstudio.com/api/language-extensions/programmatic-language-features#show-definitions-of-a-symbol), [find references](https://code.visualstudio.com/api/language-extensions/programmatic-language-features#find-all-references-to-a-symbol), [rename/refactor](https://code.visualstudio.com/api/language-extensions/programmatic-language-features#rename-symbols), [snippets/code stubs](https://code.visualstudio.com/docs/typescript/typescript-editing#_snippets) and [commands](https://code.visualstudio.com/api/ux-guidelines/command-palette). | +| Number | Deliverable | Specification | +|--------:|---------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **0a.** | License | GPL-3.0 | +| **0b.** | Documentation | I will provide inline source documentation and a README file (published on [Github](https://github.com/) and the [VS Code marketplace](https://marketplace.visualstudio.com/vscode)) providing general information about the extension, instructions for installing and using the extension and links to other documentation and resources related to the extension. | +| **0c.** | Testing and Testing Guide | Core functions will be fully covered by comprehensive integration tests to ensure functionality and robustness. In the guide, I will describe how to run these tests. | +| **0d.** | Docker | I will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. | +| 0e. | Article | I will publish an **article** that introduces the new features of ink! analyzer, including updates to the VS Code extension, the language server and the semantic analyzer. | +| 1. | Visual Studio Code Extension: Updates | I will update the Visual Studio Code Extension to support the ink! language support features added to the language server and semantic analyzer in milestones 1, 2, 3, 4, 5 and 6 above. Visual interface demos of all the IDE/editor features can be found in VS Code extension documentation for [diagnostics](https://code.visualstudio.com/api/language-extensions/programmatic-language-features#provide-diagnostics), [completions](https://code.visualstudio.com/api/language-extensions/programmatic-language-features#show-code-completion-proposals), [hover content](https://code.visualstudio.com/api/language-extensions/programmatic-language-features#show-hovers), [code actions](https://code.visualstudio.com/api/language-extensions/programmatic-language-features#show-hovers), [quick fixes](https://code.visualstudio.com/api/language-extensions/programmatic-language-features#possible-actions-on-errors-or-warnings), [signature help/parameter hints (demo uses functions but should still be helpful for interface visualization for ink! attribute arguments)](https://code.visualstudio.com/api/language-extensions/programmatic-language-features#help-with-function-and-method-signatures), [inlay hints](https://code.visualstudio.com/docs/typescript/typescript-editing#_inlay-hints), [go to definition](https://code.visualstudio.com/api/language-extensions/programmatic-language-features#show-definitions-of-a-symbol), [find references](https://code.visualstudio.com/api/language-extensions/programmatic-language-features#find-all-references-to-a-symbol), [rename/refactor](https://code.visualstudio.com/api/language-extensions/programmatic-language-features#rename-symbols), [snippets/code stubs](https://code.visualstudio.com/docs/typescript/typescript-editing#_snippets) and [commands](https://code.visualstudio.com/api/ux-guidelines/command-palette). | ## Future Plans From e1b18dd75921a3eb4c9043f008daea3e3001e891 Mon Sep 17 00:00:00 2001 From: S E R A Y A Date: Wed, 6 Sep 2023 17:37:56 +0200 Subject: [PATCH 003/133] Update ecosystem grant programs links in README (#1954) * Add pendelum and amplitude grant programs to README * Update HydraDX Bounties link --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 585de809276..86135a5a4f6 100644 --- a/README.md +++ b/README.md @@ -323,7 +323,7 @@ Below is a list of other grant and bounty programs in the Polkadot/Substrate eco - [Crust Grants Program](https://github.com/crustio/Crust-Grants-Program) - [Darwinia Grants Program](https://github.com/darwinia-network/collaboration/blob/master/grant/README.md#grant-program) - [Edgeware Grants and Bounties](https://gov.edgewa.re/discussion/1132-edgeware-proposal-process-and-template) -- [HydraDX Grants and Bounties](https://docs.hydradx.io/new_deal/) +- [HydraDX Grants and Bounties](https://docs.hydradx.io/spending_fw/) - [ink!ubator](https://use.ink/ubator/) - [Interlay Labs Grants Program](https://github.com/interlay/Grants-Program) - [KodaDot Ecosystem Grants](https://github.com/kodadot/grants) @@ -334,6 +334,7 @@ Below is a list of other grant and bounty programs in the Polkadot/Substrate eco - [Picasso / Composable Grants Program](https://grants.composable.finance) - [Polkadot Pioneers Prize](https://pioneersprize.polkadot.network/) - [SubQuery Grants Programme](https://subquery.network/grants) +- [Pendelum / Amplitude Grant Programs](https://pendulumchain.org/ecosystem-grant) ## :information_source: License From 3d93cd7d9defb4a1aeea7a2fc42956a582155b01 Mon Sep 17 00:00:00 2001 From: S E R A Y A Date: Wed, 6 Sep 2023 20:09:59 +0200 Subject: [PATCH 004/133] Fix ecosystem grant link in funding doc (#1955) --- docs/funding.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/funding.md b/docs/funding.md index 25ff1ed6d18..210b9d2af88 100644 --- a/docs/funding.md +++ b/docs/funding.md @@ -30,7 +30,7 @@ Below is a list of other grant and bounty programs in the Polkadot/Substrate eco - [Crust Grants Program](https://github.com/crustio/Crust-Grants-Program) - [Darwinia Grants Program](https://github.com/darwinia-network/collaboration/blob/master/grant/README.md#grant-program) - [Edgeware Grants and Bounties](https://gov.edgewa.re/discussion/1132-edgeware-proposal-process-and-template) -- [HydraDX Grants and Bounties](https://docs.hydradx.io/new_deal/) +- [HydraDX Grants and Bounties](https://docs.hydradx.io/spending_fw/) - [ink!ubator](https://use.ink/ubator/) - [Interlay Labs Grants Program](https://github.com/interlay/Grants-Program) - [KodaDot Ecosystem Grants](https://github.com/kodadot/grants) @@ -41,3 +41,4 @@ Below is a list of other grant and bounty programs in the Polkadot/Substrate eco - [Picasso / Composable Grants Program](https://grants.composable.finance) - [Polkadot Pioneers Prize](https://pioneersprize.polkadot.network/) - [SubQuery Grants Programme](https://subquery.network/grants) +- [Pendelum / Amplitude Grant Programs](https://pendulumchain.org/ecosystem-grant) From 0d60f256a0a05b5242aa4f92b0553097d82ad631 Mon Sep 17 00:00:00 2001 From: Noc2 Date: Thu, 7 Sep 2023 11:27:54 +0200 Subject: [PATCH 005/133] Add Legal Disclosures --- docusaurus.config.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docusaurus.config.js b/docusaurus.config.js index 09f654f8a93..e606f27f0bb 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -84,6 +84,10 @@ module.exports = { label: 'Privacy Policy', to: 'docs/Support%20Docs/privacy_policy', }, + { + label: 'Legal Disclosures', + to: 'https://web3.foundation/legal-disclosures/', + }, ], }, { From fdb4c726937aafb0ce7fd9c3695573cd899b433d Mon Sep 17 00:00:00 2001 From: S E R A Y A Date: Thu, 7 Sep 2023 15:01:14 +0200 Subject: [PATCH 006/133] Fix composable grants program link (#1958) * Fix composable grants program link in README * Fix composable grants program link in funding doc --- README.md | 2 +- docs/funding.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 86135a5a4f6..29bab1469ca 100644 --- a/README.md +++ b/README.md @@ -331,7 +331,7 @@ Below is a list of other grant and bounty programs in the Polkadot/Substrate eco - [OAK’s Developer Grants](https://oak.tech/community/grants/) - [peaq Ecosystem Grant Program](https://www.peaq.network/grant-program) - [Phala Builders Program](https://wiki.phala.network/en-us/build/general/builders-program/) -- [Picasso / Composable Grants Program](https://grants.composable.finance) +- [Picasso / Composable Grants Program](https://docs.composable.finance/ecosystem/composable-grants/) - [Polkadot Pioneers Prize](https://pioneersprize.polkadot.network/) - [SubQuery Grants Programme](https://subquery.network/grants) - [Pendelum / Amplitude Grant Programs](https://pendulumchain.org/ecosystem-grant) diff --git a/docs/funding.md b/docs/funding.md index 210b9d2af88..4eb68e7103d 100644 --- a/docs/funding.md +++ b/docs/funding.md @@ -38,7 +38,7 @@ Below is a list of other grant and bounty programs in the Polkadot/Substrate eco - [OAK’s Developer Grants](https://oak.tech/community/grants/) - [peaq Ecosystem Grant Program](https://www.peaq.network/grant-program) - [Phala Builders Program](https://wiki.phala.network/en-us/build/general/builders-program/) -- [Picasso / Composable Grants Program](https://grants.composable.finance) +- [Picasso / Composable Grants Program](https://docs.composable.finance/ecosystem/composable-grants/) - [Polkadot Pioneers Prize](https://pioneersprize.polkadot.network/) - [SubQuery Grants Programme](https://subquery.network/grants) - [Pendelum / Amplitude Grant Programs](https://pendulumchain.org/ecosystem-grant) From 1ba78390129215a99751be01b22fc2e5f4904cec Mon Sep 17 00:00:00 2001 From: Mark Van de Vyver Date: Fri, 8 Sep 2023 17:38:43 +1000 Subject: [PATCH 007/133] Updated distribution point (#1959) Signed-off-by: Mark Van de Vyver --- applications/tokenomics-survey-2022.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/applications/tokenomics-survey-2022.md b/applications/tokenomics-survey-2022.md index dbc0148e57a..48e5a16fd96 100644 --- a/applications/tokenomics-survey-2022.md +++ b/applications/tokenomics-survey-2022.md @@ -1,4 +1,4 @@ -# Tokenomics Scoping Review: Annotated Bibliogrphy +# Tokenomics Scoping Review: Annotated Bibliography - **Team Name:** Mark Van de Vyver [PhD(Dist)](https://www.student.uwa.edu.au/course/award-verification-service?family=van+de+vyver&family_partial=on&given=mark&search=Search) - **Payment Address:** 15WoVugRLfBAogS1FBmhzxVv8WZqZK1z4KKHALijTZfdVcCm (USDC) @@ -11,7 +11,7 @@ A annotated bibliography of rational expectations equilibrium (a.k.a. no-arbitrage) economic models used to develop blockchain/token economies, as well as the tokenomics of Polkadot Parachains. This is a survey, hence limited to topics the existing literature addresses. Within the scope of the deliverables, I am not committing to solving any particular token-economy design question. -The report/working paper will be posted to [SSRN (e.g. FEN - Cryptocurrency Research eJournal)](https://papers.ssrn.com/sol3/JELJOUR_Results.cfm?form_name=journalBrowse&journal_id=3839004), [IDEAS](https://ideas.repec.org/), [Arxiv (q-fin.GN)](https://arxiv.org/list/q-fin.GN/recent). +The report/working paper will be posted to [SSRN (e.g. FEN - Cryptocurrency Research eJournal)](https://papers.ssrn.com/sol3/JELJOUR_Results.cfm?form_name=journalBrowse&journal_id=3839004), [IDEAS](https://ideas.repec.org/), [ResearchGate](https://www.researchgate.net/publication/373739562_Tokenomics_Scoping_Review_Annotated_Bibliography). - Description: The decision making of developers (and other stakeholders) is assisted if a hypothetical/proposed token-economy can be described by reference, or analogy, to a known working/successful token-economy. Absent an existing implementation, developers are left to invent a token-economy, try to adapt an existing non-blockchain experience to a blockchain, or try to adapt non-blockchain ideas to a blockchain. @@ -111,7 +111,7 @@ The grants team, and any reader could reproduce the data analysis by applying th ### Intended venue for results publication and the timeline for publication -The report/working paper will be posted to [SSRN (e.g. FEN - Cryptocurrency Research eJournal)](https://papers.ssrn.com/sol3/JELJOUR_Results.cfm?form_name=journalBrowse&journal_id=3839004), [IDEAS](https://ideas.repec.org/), [Arxiv (q-fin.GN)](https://arxiv.org/list/q-fin.GN/recent). +The report/working paper will be posted to [SSRN (e.g. FEN - Cryptocurrency Research eJournal)](https://papers.ssrn.com/sol3/JELJOUR_Results.cfm?form_name=journalBrowse&journal_id=3839004), [IDEAS](https://ideas.repec.org/), [ResearchGate](https://www.researchgate.net/publication/373739562_Tokenomics_Scoping_Review_Annotated_Bibliography). ### Out of scope @@ -281,7 +281,7 @@ Finalize the flow-chart/decision-tree that will help developers place their toke Finalize the annotated bibliography. Promote the working paper, incorporate feedback. -The report/working paper will be posted to [SSRN (e.g. FEN - Cryptocurrency Research eJournal)](https://papers.ssrn.com/sol3/JELJOUR_Results.cfm?form_name=journalBrowse&journal_id=3839004), [IDEAS](https://ideas.repec.org/), [Arxiv (q-fin.GN)](https://arxiv.org/list/q-fin.GN/recent). +The report/working paper will be posted to [SSRN (e.g. FEN - Cryptocurrency Research eJournal)](https://papers.ssrn.com/sol3/JELJOUR_Results.cfm?form_name=journalBrowse&journal_id=3839004), [IDEAS](https://ideas.repec.org/), [ResearchGate](https://www.researchgate.net/publication/373739562_Tokenomics_Scoping_Review_Annotated_Bibliography). | Number | Deliverable | Specification | | -----: | ----------- | ------------- | @@ -296,14 +296,14 @@ The report/working paper will be posted to [SSRN (e.g. FEN - Cryptocurrency Rese | **0e.4** | - Appendix: Methodology | The research methodology. Text and tables where relevant/appropriate. | | **0e.5** | - Section: Summary | Where are we and where to next? | | 1. | Feedback | Collect published, working and network papers, as described in the methodology section above | -| 2. | Publish | The working paper will be posted to [SSRN (e.g. FEN - Cryptocurrency Research eJournal)](https://papers.ssrn.com/sol3/JELJOUR_Results.cfm?form_name=journalBrowse&journal_id=3839004), [IDEAS](https://ideas.repec.org/), [Arxiv (q-fin.GN)](https://arxiv.org/list/q-fin.GN/recent) | +| 2. | Publish | The working paper will be posted to [SSRN (e.g. FEN - Cryptocurrency Research eJournal)](https://papers.ssrn.com/sol3/JELJOUR_Results.cfm?form_name=journalBrowse&journal_id=3839004), [IDEAS](https://ideas.repec.org/), [ResearchGate](https://www.researchgate.net/publication/373739562_Tokenomics_Scoping_Review_Annotated_Bibliography) | ## Future Plans Please include here - how you intend to use, enhance, promote and support your project in the short term, and - - The working paper will be posted to [SSRN (e.g. FEN - Cryptocurrency Research eJournal)](https://papers.ssrn.com/sol3/JELJOUR_Results.cfm?form_name=journalBrowse&journal_id=3839004), [IDEAS](https://ideas.repec.org/), [Arxiv (q-fin.GN)](https://arxiv.org/list/q-fin.GN/recent) and the Polkadot forum. + - The working paper will be posted to [SSRN (e.g. FEN - Cryptocurrency Research eJournal)](https://papers.ssrn.com/sol3/JELJOUR_Results.cfm?form_name=journalBrowse&journal_id=3839004), [IDEAS](https://ideas.repec.org/),[ResearchGate](https://www.researchgate.net/publication/373739562_Tokenomics_Scoping_Review_Annotated_Bibliography). - the team's long-term plans and intentions in relation to it. - W3F Grant Proposal to implement and document one token model as an example/template of building a blockchain on the W3F [Open Web3 Stack](https://github.com/open-web3-stack) having known 'on-paper' coin characteristics. - Create RFP's addressing pallet functionality gaps that are identified in the course of the above. From e7cda32ab237d07c0fe580d9ef6bd58d5f35c252 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20M=C3=BCller?= Date: Fri, 8 Sep 2023 15:16:04 +0200 Subject: [PATCH 008/133] Update index.md DocSig M1 --- applications/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/index.md b/applications/index.md index 3e967c0b38f..0ccfa5e03a1 100644 --- a/applications/index.md +++ b/applications/index.md @@ -52,7 +52,7 @@ Use this page for an overview of all public grants and their status. Use the sid | [TPScore](https://github.com/its-a-setup) | [TPScore](./TPScore.md) | [GitHub](https://github.com/its-a-setup) | ☐ | ☒ | ☐ | | [Orochi Network](https://www.orochi.network/) | [Research and development MPC ECDSA](./orochi-network-orosign-part1.md) | [GitHub](https://github.com/orochi-network) | ☐ | ☐ | ☐ | | [k/factory](https://k-f.co/) | [On-Chain Automated Treasury Management](./centrifuge-twamm.md) | [GitHub](https://github.com/centrifuge) | ☐ | ☐ | ☐ | -| [AISLAND DAO](https://aisland.io) | [Aisland Docsig](./Aisland-DocSig.md) | [GitHub](https://github.com/aisland-dao) | ☐ | ☐ | ☐ | +| [AISLAND DAO](https://aisland.io) | [Aisland Docsig](./Aisland-DocSig.md) | [GitHub](https://github.com/aisland-dao) | ☐ | ☒ | ☐ | | [Eiger](https://www.eiger.co/) | [Storage solution on Polkadot](./Eiger_Storage_on_Polkadot_1.md) | [GitHub](https://github.com/eigerco) | ☐ | ☐ | ☐ | | [Salaheldin Soliman](https://github.com/salaheldinsoliman) | [Solang Playground](Solang_Playground.md) | [GitHub](https://github.com/salaheldinsoliman) | ☐ | ☐ | ☐ | | [P2P.ORG](http://p2p.org/) | [P2P data platform](data_platform_with_deep_indexed_data_and_staking_reports.md) | [GitHub](https://github.com/p2p-org) | ☐ | ☐ | ☐ | From 98ad7f526f11ba97e5230d0c3c1701c27cd417ee Mon Sep 17 00:00:00 2001 From: Parth <97211975+ParthChaudhary31@users.noreply.github.com> Date: Mon, 11 Sep 2023 11:56:10 +0530 Subject: [PATCH 009/133] Rfp/security marketplace_PaymentAmendment (#1961) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * RFP/security * changes * Tables Updated * Links Updated * changes * WireFrames * MIlestones * Milestone * Techstack Added * Revised Price * Update applications/Security_Marketplace.md Co-authored-by: S E R A Y A * Updated Security Marketplace * RFP amendment * Voting system Pushed On-Chain Co-authored-by: Sebastian Müller * Payment Amendment --------- Co-authored-by: S E R A Y A Co-authored-by: Sebastian Müller --- applications/Security_Marketplace.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/Security_Marketplace.md b/applications/Security_Marketplace.md index 1fe40a382fb..95c73cd7155 100644 --- a/applications/Security_Marketplace.md +++ b/applications/Security_Marketplace.md @@ -1,7 +1,7 @@ # Security Marketplace - **Team Name:** Antier Solutions -- **Payment Address:** 1XhNxALoCmXF86aiwZtdDJspjWZBiRX9UfbJ4jQsWN15eSu (aUSD) +- **Payment Address:** Fiat - **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 ## Project Overview :page_facing_up: From f40ee014880d5d2e70416e90e6cf3c3ba9e15ed4 Mon Sep 17 00:00:00 2001 From: Prayag <52105313+prayagd@users.noreply.github.com> Date: Mon, 11 Sep 2023 12:01:55 +0530 Subject: [PATCH 010/133] Pendulum name typo (#1962) Fixing the typo in the Pendulum team name. --- docs/funding.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/funding.md b/docs/funding.md index 4eb68e7103d..60f063e8a9c 100644 --- a/docs/funding.md +++ b/docs/funding.md @@ -41,4 +41,4 @@ Below is a list of other grant and bounty programs in the Polkadot/Substrate eco - [Picasso / Composable Grants Program](https://docs.composable.finance/ecosystem/composable-grants/) - [Polkadot Pioneers Prize](https://pioneersprize.polkadot.network/) - [SubQuery Grants Programme](https://subquery.network/grants) -- [Pendelum / Amplitude Grant Programs](https://pendulumchain.org/ecosystem-grant) +- [Pendulum / Amplitude Grant Programs](https://pendulumchain.org/ecosystem-grant) From 19d2f54c0cd323d55518910aabfb88a9f407f677 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Mon, 11 Sep 2023 08:32:45 +0200 Subject: [PATCH 011/133] Update README.md Fix Pendulum name --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 29bab1469ca..2549a7dac51 100644 --- a/README.md +++ b/README.md @@ -334,7 +334,7 @@ Below is a list of other grant and bounty programs in the Polkadot/Substrate eco - [Picasso / Composable Grants Program](https://docs.composable.finance/ecosystem/composable-grants/) - [Polkadot Pioneers Prize](https://pioneersprize.polkadot.network/) - [SubQuery Grants Programme](https://subquery.network/grants) -- [Pendelum / Amplitude Grant Programs](https://pendulumchain.org/ecosystem-grant) +- [Pendulum / Amplitude Grant Programs](https://pendulumchain.org/ecosystem-grant) ## :information_source: License From 102b176b097bbe41b3d250a2a810d3f903ca1ed9 Mon Sep 17 00:00:00 2001 From: Joshy Orndorff Date: Mon, 11 Sep 2023 10:19:38 -0400 Subject: [PATCH 012/133] Tuxedo Parachain Support (#1932) Co-authored-by: S E R A Y A --- applications/tuxedo_parachain.md | 199 +++++++++++++++++++++++++++++++ 1 file changed, 199 insertions(+) create mode 100644 applications/tuxedo_parachain.md diff --git a/applications/tuxedo_parachain.md b/applications/tuxedo_parachain.md new file mode 100644 index 00000000000..287d3cddea2 --- /dev/null +++ b/applications/tuxedo_parachain.md @@ -0,0 +1,199 @@ +# Tuxedo Parachain + +- **Team Name:** Off Narrative Labs +- **Payment Address:** 0x5a335908df9D2C47304338E3b744579Ed7C6a64d (DAI) +- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 3 :chicken: + +## Project Overview :page_facing_up: + +Develop Parachain runtimes in the UTXO model. + +### Overview + +In a [previous grant](https://github.com/w3f/Grants-Program/blob/master/applications/tuxedo.md) ([PR](https://github.com/w3f/Grants-Program/pull/1517)) we developed Tuxedo, a framework for writing Substrate runtimes in the UTXO model. + +Currently, Tuxedo works well for standalone Substrate blockchains, but does not yet work as a Polkadot Parachain. +In this grant, we propose to implement the common infrastructure necessary for a UTXO runtime to fulfill the parachain side of the Polkadot protocol. + +We further propose to collect benchmark data profiling Tuxedo in various contexts. + +### Project Details + +Tuxedo is analogous to FRAME in that they are both frameworks for writing Substrate runtimes. +They are also analogous in that they need additional code to serve as parachain runtimes. + +The code that allows a FRAME to work as a parachain is a large part of cumulus. +Specifically, it is in the [Parachain System pallet](https://paritytech.github.io/cumulus/cumulus_pallet_parachain_system/index.html) and the [`generate_validate_block!` macro](https://paritytech.github.io/cumulus/src/cumulus_pallet_parachain_system_proc_macro/lib.rs.html#94-153). +The first two milestones are devoted to adapting and rewriting these two important pieces of code in a UTXO-native way. + +This is the crux of the parachain support. + +This work will be implemented in a crate called `tuxedo-parachain` in the existing [Tuxedo repository](https://github.com/Off-Narrative-Labs/Tuxedo). +Using the same repository allows runtime developers to easily discover the parachain support, and reference a single set of docs. +Using a separate crate provides a clean separation of concerns while also allowing standalone chain developers to avoid the high compile times associated with cumulus and polkadot. + +Our intention is to use the existing cumulus collator client-side code nearly untouched. +This is the same approach we followed in the first grant where we used the existing Substrate node template client-side untouched. +The key observation is that Tuxedo is a runtime framework, and thus the existing clients should work out-of-the-box. + +Importantly, this proposal does _not_ include full XCM support. +We estimate that to be a more complex topic, and one that does not need to block the initial goals of participating in Polkadot's shared security, and comparing performance data against existing runtime frameworks. + +### Ecosystem Fit + +Tuxedo is a framework for writing Substrate runtimes. +Substrate is the toolkit for building virtually all parachain nodes. +Tuxedo provides a richer set of options to runtime developers. +By extending Tuxedo to support Parachain runtimes, we increase the diversity and expressiveness of the Polkadot network's parachains, attracting developers who may have gone elsewhere if limited to the accounts model alone. + +The primary users of Tuxedo will be parachain runtime developers who will use Tuxedo directly to structure their chain logic. Of course, the user base will trickle downstream as well to users of those parachains that choose to build with Tuxedo. However, chain users will use Tuxedo only indirectly. + +There are no projects like this in the Substrate ecosystem, although they do exist in the broader blockchain space; Cardano being the most notable example. + +While it fulfills a similar role, Tuxedo is not intended to compete with FRAME, but rather to compliment it, by welcoming projects that fit naturally with the utxo model into the Substrate ecosystem, as FRAME does for projects that fit the accounts model. + +## Team :busts_in_silhouette: + +### Team members + +- Joshy Orndorff https://github.com/JoshOrndorff +- Off Narrative Labs https://github.com/Off-Narrative-Labs + +### Contact + +- **Contact Name:** Joshy Orndorff +- **Contact Email:** joshyorndorff at proton dot me +- **Registered Address:** To be provided in the invoices + +### Team's experience + +Joshy entered the Substrate ecosystem in 2019 as part of the Substrate Developer Hub team. There he created and hosted the weekly Substrate Seminar, and contributed significantly to the Substrate Recipes. In 2020, he moved to the Moonbeam team where he was a core developer. While at Moonbeam, Joshy wrote the [Nimbus consensus engine](https://github.com/PureStake/nimbus/) which is used in several production parachains, and helped pioneer the technique whereby EVM contracts can interact with native Substrate pallets. In 2022, Joshy began contributing to the Polkadot Blockchain Academy, teaching in all three cohorts: Cambridge, Buenos Aires, and Berkeley. + +Joshy met Andrew Burger in Cambridge in 2022 at the first Polkadot Blockchain Academy where Andrew, a student at the time, chose to implement a UTXO Runtime as his final project. Together they revised the UTXO assignment and taught it together at the next PBA. A few months later they worked together on the first Tuxedo grant. + +Andrew will not be contributing to this grant directly (although he is still an enthusiastic open source contributor to Tuxedo) due to conflicting employment elsewhere. + +### Team Code Repos + +* Main Tuxedo Repo - https://github.com/Off-Narrative-Labs/Tuxedo +* Tuxedo Tutorial - https://github.com/Off-Narrative-Labs/Tuxedo-Order-Book-Dex-Tutorial/ +* Nimbus Consensus (Prior Work) - https://github.com/moonbeam-foundation/nimbus +* Blockchain From Scratch (Educational) https://github.com/JoshOrndorff/blockchain-from-scratch + +## Development Status :open_book: + +As mentioned above, the team has done previous work on [Tuxedo](https://github.com/Off-Narrative-Labs/Tuxedo/tree/main). + +As we mentioned in our previous grant our next tasks are parachain support (this grant's topic) and zero knowledge UTXOs. + +Of course there are also some lingering leftovers in our issue queue mostly centered around the wallet. +We do at some point want to make the wallet more generalizable to be able to craft any generic transaction based on whichever tuxedo runtime is defined. + +## Development Roadmap :nut_and_bolt: + +### Overview + +- **Total Estimated Duration:** 12 weeks +- **Full-Time Equivalent (FTE):** 1 FTE +- **Total Costs:** $48,000 (USD) + +### Milestone 1 — Rewrite Pallet Parachain System to UTXO model + +- **Estimated duration:** 6 weeks +- **FTE:** 1 +- **Costs:** 24,000 USD + +The bulk of the logic for handling communication with the relay chain lives in [pallet parachain system](https://paritytech.github.io/cumulus/cumulus_pallet_parachain_system/index.html), and consequently, this is the largest milestone in this grant proposal. + +We will adapt logic for signaling and enacting runtime upgrades, and providing other [parachain output](https://paritytech.github.io/cumulus/cumulus_primitives_core/relay_chain/struct.CandidateCommitments.html)s. +We will "handle" incoming and outgoing XCM messages (reminder, full xcm support is out of scope, but we still need to report 0 outbound messages and stub the inbound handling logic to satisfy the protocol). +Most importantly, we will process the latest [validation data](https://paritytech.github.io/cumulus/cumulus_primitives_core/struct.PersistedValidationData.html) and make it available to Tuxedo pieces in a standard way. + +Because this is already the largest chunk of work, I've chosen to make a milestone here. +Admitedly, there will not be a very sexy thing to "try out" at this stage because without the macro from the next milestone, there will not yet be a fully working parachain runtime. +Nonetheless, we will have a complete well documented test suite analogous to the one used for frame. + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| **0a.** | License | Apache 2.0 | +| **0b.** | Documentation | We will provide both **inline documentation** of the code and a basic **tutorial** that explains how a how the parachain system piece works within Tuxedo as compared to FRAME | +| **0c.** | Testing and Testing Guide | Core functions will be fully covered by comprehensive unit tests to ensure functionality and robustness. | +| **0d.** | Docker | We will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. | +| 1. | Tuxedo Parachain Crate | We will publish a crate on github containing all of the relevant reworked code including docs about how to execute the test suite. | + +### Milestone 2 — Migration of `register_validate_block!` + +- **Estimated Duration:** 2 weeks +- **FTE:** 1 +- **Costs:** 8,000 USD + +The `register_validate_block!` macro is responsible for generating the `validate_block` entrypoint function in the runtime wasm. This is the main entrypoint in the runtime from the relay chain validators' perspective. + +We will need to migrate the following to a Tuxedo compatible version + +```rust +cumulus_pallet_parachain_system::register_validate_block! { + Runtime = Runtime, + BlockExecutor = cumulus_pallet_aura_ext::BlockExecutor::, + CheckInherents = CheckInherents, +} +``` + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| **0a.** | License | Apache 2.0 | +| **0b.** | Documentation | We will provide both **inline documentation** of the code and a basic **tutorial** that explains the difference between the FRAME based approach and the Tuxedo based approach to this macro | +| **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 that can be used to test all the functionality delivered with this milestone. | +| 1. | Tuxedo Parachain Template | If you crossed the standalone Tuxedo Template with the Cumulus Template. This is the main deliverable for the grant. A working template node for a Tuxedo-based parachain runtime and collator node. | + + +### Milestone 3 — Benchmarking + +- **Estimated Duration:** 4 weeks +- **FTE:** 1 +- **Costs:** 16,000 USD + +Benchmark common transaction types in standalone and parachain contexts. +Make good faith comparisons to analogous transaction types in FRAME. +We hope that the simplicity of the UTXO model will allow performance increases, but right now that is just a theory. + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| **0a.** | License | Apache 2.0 | +| **0b.** | Documentation | We will provide both **inline documentation** of the code and a basic **tutorial** that explains how a user can spin up the example node and transfer tokens | +| **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 that can be used to test all the functionality delivered with this milestone. | +| 1. | Benchmark Report | Full report of throughput for {Transfer, Remark} transactions in {FRAME, Tuxedo} runtimes operated in {Standalone, Parachain} contexts. | + + +## Future Plans + +### Near Term + +We have a vision for a Tuxedo parachain that acts as an Atomic Swap hub for DOT ecosystem assets to foreign UTXO chains like Monero, Zcash, Cardano, etc. + +The [Farcaster](https://github.com/farcaster-project) provides a Monero Bitcoin atomic swap protocol. +We intend to extend this protocol to support Tuxedo chains. +And thanks to Polkadot's XCM, this would allow atomic swaps between other DOT ecosystem assets and foreign UTXO chains as well. + + +Following completion of this grant, the path to working Atomic Swaps would be roughly + +1. Extend Farcaster to support swaps with Tuxedo. +2. XCM integration with Tuxedo for Cross-chain UTXOS. +3. Testing, auditing, etc. + +### Medium Term + +Other dreams we have for Tuxedo include: + + +* Zero-knowledge runtimes a-la zero-cash and zexe. +* UTXO-native Smart Contracts based on the pi-calculus. + +## Additional Information :heavy_plus_sign: + +As mentioned above, we have completed one previous grant on this topic: +* Application PR: https://github.com/w3f/Grants-Program/pull/1517 +* Approved Application: https://github.com/w3f/Grants-Program/blob/master/applications/tuxedo.md From 85c7318a62d5f3a50005f5ba57457166b1368ca0 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Mon, 11 Sep 2023 17:00:12 +0200 Subject: [PATCH 013/133] Update index.md Add Off-Narrative-Labs --- applications/index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/applications/index.md b/applications/index.md index 0ccfa5e03a1..abbe95deb6f 100644 --- a/applications/index.md +++ b/applications/index.md @@ -66,6 +66,7 @@ Use this page for an overview of all public grants and their status. Use the sid | [NeoPower Digital](https://neopower.digital/) | [Roloi - XCM Payment Automation](./roloi-xcm-payment-automation.md) | [GitHub](https://github.com/NeoPower-Digital) | ☐ | ☐ | ☐ | | [Eiger](https://www.eiger.co/) | [MoveVM Substrate Pallet, part 2](./Substrate_Move_System_Pallet_2.md) | [GitHub](https://github.com/eigerco) | ☐ | ☐ | ☐ | | [Rust Syndicate x Decentration](https://www.decentration.org/) | [XCMSend](./xcmsend.md) | [GitHub](https://github.com/decentration) | ☐ | ☐ | ☐ | +| [Off Narrative Labs](https://github.com/Off-Narrative-Labs) | [Tuxedo Parachain Support](./tuxedo_parachain.md) | [GitHub](https://github.com/Off-Narrative-Labs) | ☐ | ☐ | ☐ | [🔝](#2023) From 963e5583adc56931bb775318b2c7ccb4f743c7f2 Mon Sep 17 00:00:00 2001 From: Keegan | W3F <35080151+keeganquigley@users.noreply.github.com> Date: Tue, 12 Sep 2023 00:57:11 -0400 Subject: [PATCH 014/133] Update index.md (#1963) --- applications/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/index.md b/applications/index.md index abbe95deb6f..38cce1cd626 100644 --- a/applications/index.md +++ b/applications/index.md @@ -158,7 +158,7 @@ Use this page for an overview of all public grants and their status. Use the sid | [gmajor](https://github.com/gmajor-encrypt) | [XCM Tools](xcm-tools.md) | [GitHub](https://github.com/gmajor-encrypt/) | ☐ | ☒ | ☐ | | [David Semakula](https://github.com/davidsemakula) | [ink! Analyzer](ink-analyzer.md) | [GitHub](https://github.com/ink-analyzer) | ☐ | ☒ | ☒ | | [Bright Inventions](https://brightinventions.pl/) | [High-availability validator setup](High_availability_validator_setup.md) | [GitHub](https://github.com/bright/) | ☐ | ☒ | ☒ | -| [DIA Data](https://www.diadata.org/) | [Bridgestate Attestation Oracle](DIA_Bridge_Attestation_Oracle.md) | [GitHub](https://github.com/diadata-org/) | ☐ | ☒ | ☐ | +| [DIA Data](https://www.diadata.org/) | [Bridgestate Attestation Oracle](DIA_Bridge_Attestation_Oracle.md) | [GitHub](https://github.com/diadata-org/) | ☐ | ☒ | ☒ | | [TogetherCrew](http://www.togethercrew.com/) | [Community Health Check](community-health-check.md) | [GitHub](https://github.com/RnDAO) | ☐ | ☒ | ☐ | | [Decentration](https://www.decentration.org/) | [Supersig Phase 2](./supersig_fellowship.md) | [GitHub](https://github.com/decentration) | ☐ | ☒ | ☒ | | [Polkadrys Labs](https://github.com/rtomas) | [Open Payroll](./openPayroll.md) | [GitHub](https://github.com/rtomas) | ☐ | ☒ | ☐ | From 3c2a43eb831f743869e5353490702cf5ee35d91b Mon Sep 17 00:00:00 2001 From: Jan Bormet <48735321+janbormet@users.noreply.github.com> Date: Tue, 12 Sep 2023 15:49:49 +0200 Subject: [PATCH 015/133] Distributed Cryptography for Polkadot Wallets application (#1908) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add "Distributed Cryptography for Polkadot Wallets" application * Update applications/distributed_cryptography_for_polkadot_wallets.md Fix total FTEs --------- Co-authored-by: Sebastian Müller --- ...buted_cryptography_for_polkadot_wallets.md | 217 ++++++++++++++++++ 1 file changed, 217 insertions(+) create mode 100644 applications/distributed_cryptography_for_polkadot_wallets.md diff --git a/applications/distributed_cryptography_for_polkadot_wallets.md b/applications/distributed_cryptography_for_polkadot_wallets.md new file mode 100644 index 00000000000..88d1d5e54c7 --- /dev/null +++ b/applications/distributed_cryptography_for_polkadot_wallets.md @@ -0,0 +1,217 @@ +# Distributed Cryptography for Polkadot Wallets +- **Team Name:** PolyCrypt GmbH +- **Payment Address:** 0x308Ca526B009e10Ef0482C38A3370BFb44A32908 (DAI) +- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 3 + +## Project Overview :page_facing_up: + +### Overview + +Cryptocurrency wallets are a highly attractive target for cyberattacks. An attacker that breaks into a wallet gets access to secret keys, thereby gaining full control over the user's funds. Many examples illustrate that hacks of cryptocurrency wallets are one of the major security threats for blockchain users. For example, in the recent security breach of the popular atomic wallet, hackers allegedly stole over $100 M worth of cryptocurrency from users of the atomic wallet. + +The overall goal of this project is to develop a cryptographic library to protect Polkadot wallets against cyberattacks. This will be done via threshold cryptography. Threshold cryptography is an emerging technology that can significantly strengthen the security of cryptocurrency wallets. The main idea is to share the secret key over multiple entities/devices, thereby making it much harder for an attacker to gain control over the user’s funds. There has recently been a lot of interest in academia and industry in designing new threshold cryptographic schemes that come with additional security features and offer better efficiency \[[1](https://eprint.iacr.org/2020/1390.pdf),[2](https://dl.acm.org/doi/10.1145/3372297.3423367),[3](https://eprint.iacr.org/2019/114)\]. Some of these schemes (or variants thereof) are currently deployed in both custodial and shared custodial wallets (e.g., [Fireblocks](https://www.fireblocks.com/) or [ZenGo](https://zengo.com/)). Most research and implementation of threshold signatures focus on the ECDSA signature scheme. This is because ECDSA is widely used by the two largest cryptocurrencies Bitcoin and Ethereum. In our project, we will focus on the Schnorr signature scheme, which is the main signature scheme used by the Polkadot ecosystem. + +Concretely, we will develop a library that allows to thresholdize BIP32 wallets. BIP32 is a wallet standard that is widely deployed in practice and offers deterministic and hierarchical key derivation. Members of our team have previously designed a threshold BIP32 protocol for the ECDSA signature scheme \[[4](https://eprint.iacr.org/2023/312)\]. In the first phase of this multi-phase grant, we will adapt our threshold BIP32 scheme for Schnorr signatures that are used by Polkadot (i.e., the Schnorrkel/Ristretto). We will summarize our results as white paper that will include a full technical description of our scheme and a rigorous security analysis. We will also give advice on implementing our scheme to avoid common security incidents (e.g., missing range checks or zero knowledge proofs). Finally, we will disseminate our results via a medium article and if suitable through a publication at an academic conference (e.g., Financial Crypto, ACM CCS,...). + +Over the past years, our group has carried out intensive research on threshold cryptography and cryptographic wallets \[[4](https://eprint.iacr.org/2023/312),[5](https://dl.acm.org/doi/10.1145/3319535.3354236),[6](https://dl.acm.org/doi/10.1145/3460120.3484807)\]. With this project, we hope to see some of our research deployed and integrated in practice. Threshold cryptography has many fascinating applications for blockchain systems, and we hope that with this project we can contribute to this emerging field. We choose to focus on thresholdizing cryptographic wallets for two reasons. First, most of our prior research has been on this topic. Second, cryptographic wallets are a fundamental building block that is crucial for any blockchain application (DeFi, staking, gaming,...). Moreover, we have previously talked to researchers at web3/Polkadot, who encouraged us to apply for a grant on this topic. + +### Project Details + +As mentioned above, in this grant we will research threshold cryptographic wallets. We will not develop code at this stage of the project (see the section on Future plans for more details on this), but instead deliver a white paper describing our new cryptographic scheme (including its formal security analysis). Moreover, this white paper will contain a specification that will be a solid basis to enable developers implementing our wallet scheme. Our research in this proposal is mainly based on our prior work on the ECDSA BIP32 wallets \[[4](https://eprint.iacr.org/2023/312),[5](https://dl.acm.org/doi/10.1145/3319535.3354236),[6](https://dl.acm.org/doi/10.1145/3460120.3484807)\]. Let us briefly describe our prior work relevant to this project below. + +In \[[5](https://dl.acm.org/doi/10.1145/3319535.3354236),[6](https://dl.acm.org/doi/10.1145/3460120.3484807)\], we provide the first rigorous security analysis of the BIP32 standard. BIP32 has two main features. First, it offers a deterministic key derivation, where session secret keys are derived via an additive key derivation function from a master secret key. Second, BIP32 offers support for key hierarchies, which are particularly important for larger organizations managing cryptocurrency funds. Hierarchical key derivation also offers two types of wallets: hardened and non-hardened nodes. Hardened nodes offer better security as corrupting the secret keys assigned to such nodes does not affect the security of other nodes in this key hierarchy. The figure below gives a graphical representation of a BIP32 hierarchical wallet. + +![bip32-hierarchical-wallets](https://user-images.githubusercontent.com/48735321/260511645-2ab7c1d1-5490-4300-94da-1f8f21767139.png) + +In our research work published at the academic conference ACM CCS 2021, we propose a formal security model for hierarchical deterministic wallets. We define two security properties called wallet unforgeability and wallet unlinkability. The first says that funds cannot be stolen as long as the secret keys remain secure. We also integrate hardened node corruption, where the attacker is allowed to learn the secret keys assigned to a hardened node of its choice. The unlinkability property is a privacy feature and guarantees that individual wallets derived from the same master key are unlinkable. Finally, we show that the BIP32 standard satisfies wallet unforgeability and unlinkability. The analysis in our prior work \[[4](https://eprint.iacr.org/2023/312)\] only shows these security features for the ECDSA signature scheme. For further details on BIP32, we refer to the description in our paper \[[6](https://dl.acm.org/doi/10.1145/3460120.3484807)\]. + +The second work that is relevant for this grant application is our work on thresholdizing BIP32 \[[4](https://eprint.iacr.org/2023/312)\]. We propose a cryptographic protocol for thresholidzing the ECDSA BIP32 wallet. We also give a security model and formally analyze the security of our cryptographic scheme within this model. A key insight of our work is that by slightly adjusting the BIP32 standard, we can offer significantly better efficiency. To this end, we rely on a threshold verifiable random function (TVRF) and show that for an appropriately chosen TVRF, we can seamlessly integrate it with an ECDSA threshold signature scheme. + +At a high level, this project will combine the results from \[[4](https://eprint.iacr.org/2023/312)\] and extend them to work with the Schnorr signature scheme used within the Polkadot ecosystem. Our work consists of a theoretical and more applied component. On the more conceptual/theoretical side, we will select an appropriate threshold scheme for Schnorr that is compatible with the Schnorrkel/Ristretto environment and offers overall good efficiency. We will design the protocols for threshold Schnorr BIP32. Moreover, we will investigate if our threshold TVRF idea from \[[4](https://eprint.iacr.org/2023/312)\] can also be applied for Schnorr signatures. If this is not the case, we will seek alternatives (e.g., using efficient multiparty computation to evaluate the hash function of BIP32). Finally, we will deliver a security argument for our scheme following the approach from our prior research. On the more applied side, our white paper will contain a specification for developers (with background in cryptography) to implement the key components of our proposal. We provide more details on the tasks carried out in this project as part of the development roadmap. + +### Ecosystem Fit + +There is a large number of wallets supporting the Polkadot/Kusama ecosystem. While there exist general purpose wallets such as [ZenGo](https://zengo.com/) that use threshold cryptography to secure funds, there is a large number of Polkadot/Kusama specific wallets that currently do not offer their users support for threshold cryptography (e.g., [PolkaWallet](https://polkawallet.io/)). With threshold cryptography, our project meets the urgent need to offer better security to every user in the Polkadot/Kusama ecosystem. This is achieved without inducing additional blockchain fees as unlike multisignatures, threshold signatures produce standard Schnorr/ECDSA signatures that can be verified against a single public key. The results of the first phase of this project can be used by developers to integrate threshold cryptography in their products/wallets. Moreover, it forms the basis for our own software library that we could implement in a follow-up grant. + +As mentioned above, there are multiple projects that build general purpose wallets leveraging threshold cryptography (e.g. [ZenGo](https://zengo.com/) or [Coinbase](https://www.coinbase.com/cloud/products/waas) as a distributed custodial wallet). We are not aware of any Substrate / Polkadot / Kusama dedicated project that works on threshold wallets. Moreover, even existing solutions in the wider blockchain ecosystem will not offer the features that we aim to achieve in this project since our work is based on recent research from members of our team. In particular, except for our own prior work \[[4](https://eprint.iacr.org/2023/312)\], we are not aware of any threshold BIP32 scheme – in particular, there currently does not exist any variant that is compatible with the Schnorr signature scheme. + +## Team :busts_in_silhouette: + +### Team members + +Team members are listed in alphabetical order: +- **Hendrik Amler:** Hendrik is a co-founder and CEO of PolyCrypt. He holds a Master degree in IT Security from the Hochschule Darmstadt. +- **Jan Bormet:** Jan is a Master student of Computer Science at the Technical University of Darmstadt. He is currently finishing his Master thesis on threshold cryptography and is a core developer at PolyCrypt. +- **Andreas Erwig:** Andreas finished his PhD degree in Applied Cryptography at the Technical University of Darmstadt in July 2023. His research focuses on the security of cryptographic wallets. He is co-author of most prior work mentioned in this proposal. +- **Sebastian Faust:** Sebastian is a professor of Computer Science at the Technical University of Darmstadt. He leads the Applied Cryptography Group which focuses on cryptography for blockchain applications. He is a co-inventor of the Perun protocols and has published more than 70 academic papers at leading venues for research in cryptography and IT Security. He is co-founder and research lead at PolyCrypt. + +### Contact + +- **Contact Name:** Hendrik Amler +- **Contact Email:** hendrik@polycry.pt +- **Website:** https://polycry.pt + +### Legal Structure + +- **Registered Address:** Hilpertstraße 31, 64295 Darmstadt, Trakt C, Germany +- **Registered Legal Entity:** PolyCrypt GmbH, Handelsregister Darmstadt HRB 101219, VAT DE339864467 + +### Team's experience + +The team has extensive experience in the design and analysis of cryptographic protocols and blockchain technology. Members of the team have co-invented the Perun state channel protocols \[[7](https://link.springer.com/chapter/10.1007/978-3-030-17653-2_21),[8](https://ieeexplore.ieee.org/document/8835315),[9](https://dl.acm.org/doi/10.1145/3243734.3243856)\], which have been published at the leading venues for research in IT Security and cryptography (ACM CCS, IEEE S&P and Eurocrypt). The Perun state channels are implemented for several major blockchain ecosystems including Ethereum, Polkadot and Cardano. Most important for this project is the team’s prior work on analyzing and designing cryptographic wallets \[[4](https://eprint.iacr.org/2023/312),[5](https://dl.acm.org/doi/10.1145/3319535.3354236),[6](https://dl.acm.org/doi/10.1145/3460120.3484807),[10](https://dl.acm.org/doi/10.1145/3372297.3423361)\]. Members of the team designed the first formal model for deterministic wallets \[[5](https://dl.acm.org/doi/10.1145/3319535.3354236)\], devised wallets with post-quantum security \[[10](https://dl.acm.org/doi/10.1145/3372297.3423361)\] and provided the first security analysis of the BIP32 standard \[[6](https://dl.acm.org/doi/10.1145/3460120.3484807)\]. The team also has extensive experience in threshold cryptography \[[4](https://eprint.iacr.org/2023/312),[11](https://eprint.iacr.org/2021/1290),[12](https://eprint.iacr.org/2023/1076)\]. + +PolyCrypt is a spin-off of the Technical University of Darmstadt that is a specialized technology provider for research in blockchains and cryptography. The current product portfolio of PolyCrypt includes the blockchain agnostic state channel framework Perun (https://perun.network) and a TEE-based second-layer solution called Erdstall (https://erdstall.dev). PolyCrypt also offers consulting services in topics such as anonymous credentials, threshold cryptography and privacy preserving technologies. Customers include major European technology companies and leading blockchain ecosystems. + +PolyCrypt has strong prior expertise in the Polkadot ecosystem and was already funded by the web3 foundation in the past. It has developed a Polkadot backend for Perun state channels and various extensions for it (https://grants.web3.foundation/applications/perun_channels, https://grants.web3.foundation/applications/perun_channels-integration, https://grants.web3.foundation/applications/perun_app_channels). Moreover, we are currently collaborating with Ajuna (https://ajuna.io/) to build a second-layer solution on Polkadot for the gaming industry. + +### Team Code Repos + +- Github Organization: [perun-network](https://github.com/perun-network) +- [go-perun Framework](https://github.com/hyperledger-labs/go-perun) + - Polkadot + - [Backend](https://github.com/perun-network/perun-polkadot-backend) + - [App-Demo](https://github.com/perun-network/perun-polkadot-appdemo) + - [Pallet](https://github.com/perun-network/perun-polkadot-pallet) + - [CLI-Demo](https://github.com/perun-network/perun-polkadot-demo) + - Backend for [EVM-compatible chains](https://github.com/perun-network/perun-eth-backend/) + - Backend for [Cosmos](https://github.com/hyperledger-labs/perun-cosmwasm-backend) + - Backend for [Hyperledger Fabric](https://github.com/perun-network/perun-fabric) + - Backend for [Cardano](https://github.com/perun-network/perun-cardano-backend) + - Backend for [Nervos/CKB](https://github.com/perun-network/perun-ckb-backend) + - Backend for [Internet Computer](https://github.com/perun-network/perun-icp-backend) +- Erdstall/Wildcard (collab w/ Ajuna Network) + - [Erdstall TS SDK](https://github.com/perun-network/erdstall-ts-sdk) + - Polkadot Operator (tba) + - Pallet (tba) + - Ethereum Operator (tba) + - [Ethereum Contracts](https://github.com/perun-network/erdstall-contracts) + +### Team LinkedIn Profiles + +- https://www.linkedin.com/in/hendrik-amler-932506191/ +- https://www.linkedin.com/in/jan-bormet-08a64421a/ +- https://www.linkedin.com/in/andreas-erwig-b8352b146/ +- https://www.linkedin.com/in/sebastian-faust-365278/ + +### Google Scholar Profiles (Or other research indexer profile, ex. Researchgate) + +- https://scholar.google.com/citations?hl=en&user=ZJp1L-AAAAAJ +- https://scholar.google.com/citations?hl=en&user=V8iftrkAAAAJ + +## Development Status :open_book: + +As discussed above, the team has extensive research experience in cryptographic research and engineering cryptographic/blockchain protocols. Relevant for this project is our own prior research on cryptographic wallets and threshold cryptography: +- BIP32-Compatible Threshold Wallets: https://eprint.iacr.org/2023/312 +- The Exact Security of BIP32 Wallets: https://eprint.iacr.org/2021/1287 (published at ACM CCS’21) +- Deterministic Wallets in a Quantum World: https://eprint.iacr.org/2020/1149 (published at ACM CCS’20) +- A Formal Treatment of Deterministic Wallets: https://eprint.iacr.org/2019/698 (published at ACM CCS’19) +- Threshold BBS+ From Pseudorandom Correlations: https://eprint.iacr.org/2023/1076 + +Moreover, Andreas Erwig and Sebastian Faust were in contact with cryptographic researchers at web3. In particular, we had several calls with Handan Kilinc Alper and Jeff Burdges on topics related to this proposal. Andreas Erwig also gave a talk on cryptographic wallets in the research seminar of the web3 crypto team. + +## Development Roadmap :nut_and_bolt: + +### Overview + +- **Total Estimated Duration:** 7.25 months +- **Full-Time Equivalent (FTE):** 1.25 FTE +- **Total Costs:** 87,000 USD + +This is mostly a basic research project and hence a detailed development plan is difficult to give. We will make all results publicly available through a whitepaper that we plan to publish on an archive (e.g., the cryptology eprint archive or arxiv.org). Moreover, if suitable, we will publish the results of our research (or parts of it) via a publication at an academic conference (e.g., Financial Crypto or ACM AFT). We will further disseminate the results of our project via a medium article on our webpage (https://medium.com/perunnetwork). This article will be less technical and highlight our main findings for a broader audience. + +Based on our previous experience with publicly funded research projects, we plan the following main tasks and milestones. Notice that the description slightly deviates from the application template as it is not planned to deliver code in this project. + +### Milestone 1 – Research on cryptographic algorithms + +- **Estimated duration:** 1.5 months +- **FTE:** 1.25 FTE +- **Costs:** 18,000 USD + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| **1.0a.** | Copyright and Licenses | CC BY 4.0 | +| **1.0b.** | Documentation/Tutorial | As we do not plan on delivering code we will not provide documentation in that sense. The delivered report at the end of this milestone will serve as documentation. | +| **1.0c.** | Methodology | This milestone will be achieved mainly by compiling and reading relevant literature as well as internal talks and discussions. We may involve interviews with external parties such as web3 researchers and/or wallet developers, specifally for Task 1.2. Our results can be verified through the report delivered in this milestone. | +| **1.0d.** | Infrastructure | We expect that all our work and deliverables for this milestone can be reviewed and understood without need for specific infrastructure or software except from a web browser. | +| **1.0e.** | Article | We will deliver a short report that contains a list of academic papers that we studied and a discussion on which cryptographic schemes are most suitable for our goal of building Threshold BIP32 wallets for Schnorr. The report will contain the results from Tasks 1.1 to 1.3. The report is mainly for internal use and hence will be approx. 2 pages. We will make sure that the report is easiliy accessible to the reviewers and the community. | +| **1.1.** | Investigation into threshold Schnorr protocols | We will investigate the current state of the art in threshold Schnorr protocols that are suitable to work with the Schnorrkel/Ristretto environment. We will evaluate them according to efficiency (round complexity, communication complexity) and security. For the latter, important criteria are: (1) static vs. adaptive corruption, (2) corruption threshold, (3) robustness, (4) cryptographic assumptions and models (e.g., only RO vs. AGM). | +| **1.2.** | Identification and prioritization of desirable features | We will research and discuss the priority and importance of specific efficiency and security features for our application (wallets). If necessary, we may involve interviews with external parties such as web3 researchers and/or wallet developers. | +| **1.3.** | TVRFs for threshold Schnorr wallets | We will investigate if existing protocols for TVRFs are compatible with the threshold Schnorr protocols from Task 1.1. We will classify them according to the criteria mentioned for Task 1.1. | + +### Milestone 2 – Design of the basic Threshold BIP32 wallet for Schnorr + +- **Estimated Duration:** 1.5 months +- **FTE:** 1.25 FTE +- **Costs:** 18,000 USD + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| **2.0a.** | Copyright and Licenses | CC BY 4.0 | +| **2.0b.** | Documentation/Tutorial | As we do not plan on delivering code we will not provide documentation in that sense. The delivered report at the end of this milestone will serve as documentation. | +| **2.0c.** | Methodology | This milestone will be achieved mainly by reading relevant literature as well as internal research discussions. We will make use of our experience and prior work regarding Threshold BIP32 wallets. | +| **2.0d.** | Infrastructure | We expect that all our work and deliverables for this milestone can be reviewed and understood without need for specific infrastructure or software. Access is possible via a web browser. | +| **2.0e.** | Article | We will deliver a report that contains: (1) a description of the security model and definitions, (2) the pseudocode of the cryptographic scheme from Task 2.2 and (3) a brief discussion on the security of our protocol. The article is still mainly for internal use and will be extended during the next tasks. We will make sure that the report is easiliy accessible to the reviewers and the community. | +| **2.1.** | Security Model | We will develop a security model to rigorously analyze Threshold BIP32 wallets for Schnorr. Most likely, this task will be rather easy as the model will be similar to what we have done in our prior works. We will start to sketch the model and security definitions in our report. These definitions may later be adjusted depending on the final scheme. | +| **2.2.** | Protocol Design | We will design the basic protocol for Threshold BIP32 wallets for Schnorr. We will either base our novel protocol on an existing Schnorr threshold scheme or design a threshold Schnorr scheme that is particularly tailored for our use case. We will give a pseudocode description of the protocol as common in cryptographic research. | +| **2.3.** | Protocol Evaluation | We will evaluate our basic protocol with respect to security and efficiency. We will not deliver a full security analysis here as the final protocol may still change during later phases of the project. | + +### Milestone 3 – Extensions for efficiency and security + +- **Estimated Duration:** 2 months +- **FTE:** 1.25 FTE +- **Costs:** 24,000 USD + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| **3.0a.** | Copyright and Licenses | CC BY 4.0 | +| **3.0b.** | Documentation/Tutorial | As we do not plan on delivering code we will not provide documentation in that sense. The delivered report at the end of this milestone will serve as documentation. | +| **3.0c.** | Methodology | This milestone will be achieved mainly by reading relevant literature as well as internal discussions. We will make use of our experience and prior work regarding Threshold BIP32 wallets. We will involve external experts and potential users of our wallet scheme, especially for Task 3.2. | +| **3.0d.** | Infrastructure | We expect that all our work and deliverables for this milestone can be reviewed and understood without need for specific infrastructure or software. Access is possible via a web browser. | +| **3.0e.** | Article | We will extend our report with: (1) the full specification of the Threshold BIP32 protocol for Schnorr signatures and (2) a discussion on why we decided on a particular threat model (see Task 3.2). The report is still mainly for internal use and will be extended during the next tasks. | +| **3.1.** | Efficiency Improvements | In this task, we will focus on efficiency improvements. Most importantly, we will explore the combination with a TVRF as done in our work on ECDSA. If feasible, this will significantly reduce communication and computation complexity. We will also investigate if techniques for de-randomizations can be integrated into our wallet scheme. | +| **3.2.** | Stronger Security Model | In this task, we will investigate stronger security models. In particular, our current construction for ECDSA only supports static corruption. We will explore if this can be strengthened to resist active corruptions. We will also explore various choices for the corruption threshold and what impact it has on efficiency. Finally, we want to investigate the pro-active setting as it can be used for key updates (e.g., in case of key loss or when the threshold is adjusted). We will decide which of these extensions will be integrated into the final specification. Our decision is based mainly on efficiency/practicality concerns as well as input from external experts and potential users. | + +### Milestone 4 – Security analysis + +- **Estimated duration:** 1.5 months +- **FTE:** 1.25 FTE +- **Total Costs:** 18,000 USD + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| **4.0a.** | Copyright and Licenses | CC BY 4.0 | +| **4.0b.** | Documentation/Tutorial | As we do not plan on delivering code we will not provide documentation in that sense. The delivered report at the end of this milestone will serve as documentation. While there is no code or code documentation, we will deliver implementation considerations for developers as part of this milestone. | +| **4.0c.** | Methodology | This milestone will be achieved mainly by compiling and reading relevant literature as well as internal discussions. We will make use of our experience and prior work regarding Threshold BIP32 wallets. | +| **4.0d.** | Infrastructure | We expect that all our work and deliverables for this milestone can be reviewed and understood without need for specific infrastructure or software. Access is possible from a web browser. | +| **4.0e.** | Article | We will extend our report with the security analysis. We will also add an overview of common challenges when implementing threshold cryptography and how to mitigate these attacks. | +| **4.1.** | Security Analysis | We will do a security analysis and a security proof of our construction. The exact threat model and assumptions are based on our work from Milestone 3. We will update the report with a security analysis/proof of our scheme. | +| **4.2.** | Implementation Considerations | We will do research on secure implementations of threshold signature schemes and discuss common pitfalls. There have been multiple incidents in implementations of threshold ECDSA (e.g., missing range checks and validity checks), and we will investigate if similar problems may arise in implementations of our selected threshold Schnorr scheme and our wallet scheme. | + +### Milestone 5 – Finalizing and publication of white paper + +- **Estimated duration:** 0.75 months +- **FTE:** 1.25 FTE +- **Costs:** 9,000 USD + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| **5.0a.** | Copyright and Licenses | CC BY 4.0 | +| **5.0b.** | Documentation/Tutorial | As we do not plan on delivering code we will not provide documentation in that sense. | +| **5.0c.** | Methodology | We will achieve this milestone by compiling and polishing the results from all previous milestones. | +| **5.0d.** | Infrastructure |We expect that all our work and deliverables for this milestone can be reviewed and understood without need for specific infrastructure or software. Access is possible from a web browser. | +| **5.0e.** | Article | We will complete the final report and publish it on an archive server. We will prepare a summary article and publish it on our medium blog. If suitable, we will also prepare an academic publication. All articles will contain the following statement in an acknowledgments section: This work was supported by a research grant from the Web3 Foundation.| +| **5.1.** | Whitepaper & Academic Publication | We will polish the report and release it as a white paper on a suitable archive (e.g., the eprint archive or arxiv.org). If suitable, we will also prepare an academic publication. | +| **5.2.** | Medium Article | We will write a medium article that summarize our findings for a broader audience and release it on https://medium.com/perunnetwork | + +## Future Plans + +We will promote our research results with companies building and running wallets within the Polkadot ecosystem. Moreover, we plan to continue our work in the following directions: +- Once the research is completed, we plan to work on the implementation of our cryptographic protocol and offer it as an open source SDK. We hope to fund this via a follow-up grant from the web3 foundation. +- Based on our SDK, we plan integration projects with wallet providers in the Polkadot / Kusama ecosystem. +- We also plan to run multiple threshold servers, where users may outsource parts of their key shares to. This will be offered as part of a freemium service, where the basic functionality is provided for free but extensions (e.g., better usability, key recovery features, support of key hierarchies etc.) may be purchased by the user. + +Finally, we believe that our research on threshold Schnorr signatures may have applications outside of wallets, e.g., to secure the consensus protocol of modern blockchains. + +## Additional information :heavy_plus_sign: + +We were referred to the web3 grant program by web3 cryptographic researchers (Handan Kilinc Alper and Jeff Burdges). We have already successfully completed multiple web3 grants on the Perun state channel framework and are currently collaborating with Ajuna to build a second-layer solution for the Polkadot gaming industry. From 82e8fe3b8b567907b70b8f6d2c9993f77cdd4964 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Tue, 12 Sep 2023 20:02:43 +0200 Subject: [PATCH 016/133] Update index.md add Distributed Cryptography for Polkadot Wallets --- applications/index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/applications/index.md b/applications/index.md index 38cce1cd626..64937111be9 100644 --- a/applications/index.md +++ b/applications/index.md @@ -67,6 +67,7 @@ Use this page for an overview of all public grants and their status. Use the sid | [Eiger](https://www.eiger.co/) | [MoveVM Substrate Pallet, part 2](./Substrate_Move_System_Pallet_2.md) | [GitHub](https://github.com/eigerco) | ☐ | ☐ | ☐ | | [Rust Syndicate x Decentration](https://www.decentration.org/) | [XCMSend](./xcmsend.md) | [GitHub](https://github.com/decentration) | ☐ | ☐ | ☐ | | [Off Narrative Labs](https://github.com/Off-Narrative-Labs) | [Tuxedo Parachain Support](./tuxedo_parachain.md) | [GitHub](https://github.com/Off-Narrative-Labs) | ☐ | ☐ | ☐ | +| [PolyCrypt GmbH](https://polycry.pt) | [Distributed Cryptography for Polkadot Wallets](./distributed_cryptography_for_polkadot_wallets.md) | [GitHub](https://github.com/perun-network) | ☐ | ☐ | ☐ | [🔝](#2023) From 376e6e4070c0089368ce6a2107198cf6266e14a0 Mon Sep 17 00:00:00 2001 From: Open Smart Contract <134966398+OpenSmartContract@users.noreply.github.com> Date: Tue, 12 Sep 2023 11:51:30 -0700 Subject: [PATCH 017/133] ISO20022 PoC (#1940) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Sebastian Müller Co-authored-by: S E R A Y A Co-authored-by: Keegan | W3F <35080151+keeganquigley@users.noreply.github.com> Co-authored-by: OpenSmartContract <> --- applications/ISO20022.md | 171 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 171 insertions(+) create mode 100644 applications/ISO20022.md diff --git a/applications/ISO20022.md b/applications/ISO20022.md new file mode 100644 index 00000000000..df81129390d --- /dev/null +++ b/applications/ISO20022.md @@ -0,0 +1,171 @@ +# ISO20022 PoC + +- **Team Name:** Open Smart Contract +- **Payment Address:** 3GTe5ArJLC8jesr6UFtB9kcoguQmvo8Cuo (BTC) +- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 + + +## Project Overview + +Response to [RFP 20022](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/Open/ISO_20022.md) + +Cross-border payment example as proof of concepts, leveraging the unique [Off-Chain Features of Substrate](https://docs.substrate.io/v3/concepts/off-chain-features/) that show the advantages of using [ISO20022](https://www.iso20022.org/) together with Substrate. + +### Overview +The project is an [ISO20022](https://www.iso20022.org/) based cross-border payment proof of concepts implemented with Substrate off-chain computation and indexed data storage. + +ISO (International Organization for Standardization) 20022 is becoming the de facto global data standard for payments and electronic data interchange already adopted by many countries. However the ISO20022 are all about centralized fiat based payment rails among privileged global financial institutions. + +Blockchain based decentralized payment solutions can provide efficiency, low latency and cost savings potentially benefiting billions of users worldwide. There are ledger based currency exchange and remittance network such as the real-time gross settlement system from Ripple Labs Inc. yet it is permissioned, centralized and not capable of cross chains. + +Polkadot, with its multi-chain architecture, security and cross chain interoperability, is uniquely positioned to support ISO20022 compliant global payments. This project is a Proof of Concepts to understand what it takes for Dotsama ecosystem to support a cross-border payment use case, leveraging on XCM, OCW and Substrate pallets, challenges and recommendations. + + +### Project Details + +- Mockups/designs of any UI components + - Use Contracts-UI (or Polkadot.js) UI interface to interact with deployed smart contracts + +- Data models / API specifications of the core functionality + - ISO20022 XML data models that captures essential ISO20022 cross-border payment metadata + - ISO20022 data types to XCM mappings with custom data types if gaps + - Data securely stored off chain, indexed for queries + - ISO20022 messaging and payment events and stats + - Persisted off chain data storeage fo performance benchmarks, throughput, gas fees, binary size, payment latency and costs + +- An overview of the technology stack to be used + - Substrate off chain workers to process compute intensive tasks such as ISO20022 message wrangling + - Substrate off chain storage / indecing to persist string heavy ISO20022 messages + - ISO20022 messages parsing / mapping / processing using OCWs + - Substrate XCM frame pallet with transport methods for ISO20020 messaging + - Custom OCWs to support cross-border payment use case with message, events, stats and payment flow query capabilities + - Optional off chain connected cloud storage and HTTP requests +- Documentation of core components, protocols, architecture, etc. to be deployed + - Published article documenting detailed analysis of what it takes to support ISO20022 compliant cross-border payments on Dotsama blockchains + - Custom pallet(s) implementing cross-border payment logic + - Off chain worker logic processing compute and storage intensive payment processings + - Mapping from cross-border ISO20022 messages to XCM and XCMP messaging + - ISO20022 messages, payment history, events and stats, stored off chian with indexes for queries + - Gaps identified and solution recommendations + - Substrate based Dotsama blockchain as testnet to deploy sandbox +- PoC/MVP or other relevant prior work or research on the topic + - Our research shows that many challenges exist to support ISO20022 compliant cross border payment use case + - A traditional ISO20022 cross border payment means multiple transactions in various ISO20022 message types, with multiple hops among financial entities inter-connected via custom agreements / fee structures / sfovereign regulations, with no standards + - ISO20022 and XCM are at different granularies with a single cross-border payment mapping to a set of XCM messages with flow logic + - ISO20022 payment transactions have different fees / charges based on many factors + - Traditional cross-border payments on fiat rails do not have blockchain "gas fee" concept + - Data type incompatibilities between IS20022 and XCM, such as date and time, currency, float, array, etc. + - No out of box support of XML data processing and mapping such as XSD transformations + - No native foreign exchange / currency conversion support + - XCVM with instruction set for XCMP messaging is a totally different paradigm as compared to traditional message passing + - No existing gas light solution to handle compute intensive and indexable data storage for off chain payment processing + +- What your project is _not_ or will _not_ provide or implement + - This is not a complete cross border payment system given the scope of proof of concepts + - Likely this is the first ISO20022 project on Dotsama, there could be unexpected gaps discovered + - This project is not a full blown IS20022 implementation on Dotsama / Substrate but explore to expose gaps for future endeavors + - This project is not about payment identity / KYC / AML solutions + - This milestone is all about understanding what it takes to support ISO20022 compliant cross-border payments on Dotsama, not implementations which could come later with more clarity coming out of this project + +### Ecosystem Fit + +- Where and how does your project fit into the ecosystem? + - According to the RDP: "The goal of this RFP is to find teams that implement tools that make it easy and possible for the traditional finance industry to leverage Substrate and ink! smart contracts to interact with ISO 20022 in various ways" +- Who is your target audience (parachain/dapp/wallet/UI developers, designers, your own user base, some dapp's userbase, yourself)? + - Targeting ecosystem developers to leverage on the learning and tools to further develop ISO20022 compatible dApps, to make it possible for transitional financial institutions to interoperate with Polkadot / Kusama / Substrate blockchains based payment apps. +- What need(s) does your project meet? + - Explore possibilities and gaps of Polkadot / Substrate support of ISO20022 standard for future improvements +- Are there any other projects similar to yours in the Substrate / Polkadot / Kusama ecosystem? + - If so, how is your project different? + - If not, are there similar projects in related ecosystems? There are known blockchains already claim to support ISO20020 such as Ripple XRP, XLM, Algorand, etc. + +## Team + +### Team members + +- Name of team leader: Daniel Deng +- Consultants with ISO20022 and cross-border domain expertise + +### Contact + +- **Contact Name:** Daniel Deng +- **Contact Email:** OpenSmartContract@gmail.com + +### Legal Structure + +- **Registered Address:** No registred entity +- **Registered Legal Entity:** No registred entity + +### Team's experience + +Daniel is the Chief Product Officer at HeroDAO where he has led blockchain based smart contract products and development on Polkodot / Kusama blockchains. Previously at Meta he managed crypto (Libra / Diem) and fiat payments and web3 initiatives. Prior to that, he was Senior Director of Product Management at Visa managing Visa's global payment product portfolios and platforms. + +The project to add consultants from fintech / banks / financial institutions with relevant domain expertise in ISO20022 and cross-border payments. + +Here's a recent [Medium article](https://medium.com/@opensmartcontract/learn-ink-by-example-order-food-on-blockchain-a4024b2dee4a) on ink! smart contract with Rust macros implementing dApp on Dotsama chain, with [Smart Contract Deployment and Interaction Guide using Contracts-UI and Polkadot.js](https://github.com/InkSmartContract/BlockchainFoodOrder/blob/main/BlockchainFoodOrder%20Smart%20Contract%20Deployment%20and%20Interactions%20Guide.pdf). + +### Team Code Repos +- [Order Food on the Blockchain](https://github.com/InkSmartContract/BlockchainFoodOrder) + +Please also provide the GitHub accounts of all team members. +- [GitHub1](https://github.com/OpenSmartContract) +- [Github2](https://github.com/FPLeader) + +### Team LinkedIn Profiles (if available) +- [Profile](https://www.linkedin.com/in/dengdaniel) + +## Development Status + +- [Blockchain Food Order dApp](https://github.com/InkSmartContract/BlockchainFoodOrder/blob/main/Learn%20ink!%20by%20Example%20%E2%80%94%20Order%20Food%20on%20the%20Blockchain.pdf) +- [Smart Contract Deployment and Interaction Guide using Contracts-UI and Polkadot.js](https://github.com/InkSmartContract/BlockchainFoodOrder/blob/main/BlockchainFoodOrder%20Smart%20Contract%20Deployment%20and%20Interactions%20Guide.pdf) + +## Development Roadmap + +### Overview + +- **Estimated duration:** ~1-2 months +- **FTE:** 1,2 +- **Costs:** 25K USD + +### Milestone 1 + +- **Estimated duration:** ~1-2 months +- **FTE:** 1,2 +- **Costs:** 25K USD + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| **0a.** | License | Apache 2.0 | +| **0b.** | Documentation | Design documents with details on what it takes for Polkadot/Substrate to support ISO20022 messages, gaps and solution recommendations | +| 1. | Design the use case | Design an ISO20022 cross border payment use case with persona, end-to-end flow | +| 2. | Identify ISO20022 message types and examples for X-border payment | Specify all ISO20022 message types with examples for cross border payment, including reference data fields | +| 3. | Map ISO20022 <> XCM messages | Map ISO20022 cross-border payment message types to a set of XCM messages with processing logic, including identifying data type incompatibilities between IS20022 and XCM, replacement data types and necessary XML transformations | +| 4. | Map ISO20022 <> XCMP | Map ISO20022 cross-border payment messageing to XCMP for cross parachains transport| +| 5. | Specify off chain data storage | Specify off chain data structure, storage and indexes for ISO20022 messages, payments, events, stats| +| 6. | Specify off chian worker logic | Specify OCW logic for ISO20022 message processing, payment flow, error handling| +| 7. | Specify Substrate pallets | Specify custom pallet(s) to implement X-border payments and OCW integrations| +| 8. | Recommend blockchain gas fees handling in ISO20022 framework | Recommend solution how to fulfill blockchain gas fees in ISO20022 framework | +| 8. | Recommend how to implement ISO20022 cross-border charges & fees | Recommend solution how to implement ISO20022 cross-border payment inter-bank / X-border payment charges and fees | +| 9. | Specify query of ISO20022 messages and transactions | Specify query interface to retrieve selected ISO20022 messages and transactions| +| 10. | Publication to share with the broader community and get additional feedback | Medium article covering: 1) feasibility and comparative advantages of Substrate based ISO20022 compliant cross-border payments on Dotsama chain; 2) benefits of such a solution in contrast to traditional centralized cross-border payments; 3) recommendation of future works towards a scalable, performant and cost effective solution supporting ISO20022 on Polkadot/Kusama chains and beyond. | + +## Future Plans + +- Publish learning and share with the community, similar to this [ Medium article](https://medium.com/@opensmartcontract/learn-ink-by-example-order-food-on-blockchain-a4024b2dee4a) and/or [Contracts-UI and Polkadot.js Smart Contract Deployment and Interaction Guide](https://github.com/InkSmartContract/BlockchainFoodOrder/blob/main/BlockchainFoodOrder%20Smart%20Contract%20Deployment%20and%20Interactions%20Guide.pdf) +- Long term we intend to expand this ISO20022 PoC to: + - develop reusable tools / features to bring ISO20022 compliant payments to the Dotsama ecosystem + - Bring Polkadot / Kusama chains up to speed with Ripple XRP / XLM / Algorand / etc. on ISO20022 support + - Onramp transitional financial institutions worldwide to blockchain enabled cross border payments + - Leverage Dotsama's unique off chain computing, storage and connections (cloud, HTTP) capabilities to scale web3 dApps + - Support ISO20022 MX messages via Polkadot XCMP, and possible integration with IBC (Inter-Blockchain Communications) + - Future milestones implementing the use case with workload estimation with insights from this initial milestone + +## Referral Program (optional) + +You can find more information about the program [here](../README.md#moneybag-referral-program). +- **Referrer:** N/A +- **Payment Address:** N/A + +## Additional Information + +**How did you hear about the Grants Program?** Web3 Foundation Website and previous work interactions From 904861baa7c16ae64268da1cda0cd50e8cc446bb Mon Sep 17 00:00:00 2001 From: David Hawig Date: Wed, 13 Sep 2023 09:45:20 +0200 Subject: [PATCH 018/133] Update index.md add OpenSmartContract --- applications/index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/applications/index.md b/applications/index.md index 64937111be9..532d16f96ce 100644 --- a/applications/index.md +++ b/applications/index.md @@ -68,6 +68,7 @@ Use this page for an overview of all public grants and their status. Use the sid | [Rust Syndicate x Decentration](https://www.decentration.org/) | [XCMSend](./xcmsend.md) | [GitHub](https://github.com/decentration) | ☐ | ☐ | ☐ | | [Off Narrative Labs](https://github.com/Off-Narrative-Labs) | [Tuxedo Parachain Support](./tuxedo_parachain.md) | [GitHub](https://github.com/Off-Narrative-Labs) | ☐ | ☐ | ☐ | | [PolyCrypt GmbH](https://polycry.pt) | [Distributed Cryptography for Polkadot Wallets](./distributed_cryptography_for_polkadot_wallets.md) | [GitHub](https://github.com/perun-network) | ☐ | ☐ | ☐ | +| [Open Smart Contract](https://github.com/OpenSmartContract) | [ISO20022 PoC](./ISO20022.md) | [GitHub](https://github.com/OpenSmartContract) | ☐ | ☐ | ☐ | [🔝](#2023) From 6c9b16f1862eca391049b9d3ef3d79d4e7576daa Mon Sep 17 00:00:00 2001 From: Noc2 Date: Wed, 13 Sep 2023 09:48:15 +0200 Subject: [PATCH 019/133] fix website --- applications/ISO20022.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/applications/ISO20022.md b/applications/ISO20022.md index df81129390d..fe5926a0662 100644 --- a/applications/ISO20022.md +++ b/applications/ISO20022.md @@ -139,8 +139,8 @@ Please also provide the GitHub accounts of all team members. | **0b.** | Documentation | Design documents with details on what it takes for Polkadot/Substrate to support ISO20022 messages, gaps and solution recommendations | | 1. | Design the use case | Design an ISO20022 cross border payment use case with persona, end-to-end flow | | 2. | Identify ISO20022 message types and examples for X-border payment | Specify all ISO20022 message types with examples for cross border payment, including reference data fields | -| 3. | Map ISO20022 <> XCM messages | Map ISO20022 cross-border payment message types to a set of XCM messages with processing logic, including identifying data type incompatibilities between IS20022 and XCM, replacement data types and necessary XML transformations | -| 4. | Map ISO20022 <> XCMP | Map ISO20022 cross-border payment messageing to XCMP for cross parachains transport| +| 3. | Map ISO20022 - XCM messages | Map ISO20022 cross-border payment message types to a set of XCM messages with processing logic, including identifying data type incompatibilities between IS20022 and XCM, replacement data types and necessary XML transformations | +| 4. | Map ISO20022 - XCMP | Map ISO20022 cross-border payment messageing to XCMP for cross parachains transport| | 5. | Specify off chain data storage | Specify off chain data structure, storage and indexes for ISO20022 messages, payments, events, stats| | 6. | Specify off chian worker logic | Specify OCW logic for ISO20022 message processing, payment flow, error handling| | 7. | Specify Substrate pallets | Specify custom pallet(s) to implement X-border payments and OCW integrations| From 5ce4aa6c3da06f79c1a0dcf8519a34c7338e5d77 Mon Sep 17 00:00:00 2001 From: Nikhil W3F <142136841+nikw3f@users.noreply.github.com> Date: Wed, 13 Sep 2023 13:52:10 +0200 Subject: [PATCH 020/133] Update index.md (#1968) --- applications/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/index.md b/applications/index.md index 532d16f96ce..204176a0bf5 100644 --- a/applications/index.md +++ b/applications/index.md @@ -58,7 +58,7 @@ Use this page for an overview of all public grants and their status. Use the sid | [P2P.ORG](http://p2p.org/) | [P2P data platform](data_platform_with_deep_indexed_data_and_staking_reports.md) | [GitHub](https://github.com/p2p-org) | ☐ | ☐ | ☐ | | [CoinFabrik](https://www.coinfabrik.com/) | [CoinFabrik On Ink Integration Tests](CoinFabrik_On_Ink_Integration_Tests.md) | [GitHub](https://github.com/CoinFabrik) | ☐ | ☐ | ☐ | | [Stake Plus Inc](https://stake.plus) | [Treasury Tracker](TreasuryTracker.md) | [GitHub](https://github.com/stake-plus) | ☐ | ☐ | ☐ | -| [MOBR Systems](https://www.mobr.ai) | [Polkadot Analytics Platform](polkadot_analytics_platform.md) | [GitHub](https://github.com/mobr-ai) | ☐ | ☐ | ☐ | +| [MOBR Systems](https://www.mobr.ai) | [Polkadot Analytics Platform](polkadot_analytics_platform.md) | [GitHub](https://github.com/mobr-ai) | ☐ | ☒ | ☐ | | [Infra3](https://network.infra-3.xyz) | [Hyperdot - Powerful data analysis and creations platform](Hyperdot.md) | [GitHub](https://github.com/Infra3-Network/hyperdot) | ☐ | ☐ | ☐ | | [David Semakula](https://github.com/davidsemakula) | [ink! analyzer (phase 2)](ink-analyzer-phase-2.md) | [GitHub](https://github.com/ink-analyzer) | ☐ | ☐ | ☐ | | [Myriad Systems LTD.](https://myriad.social/) | [Myriad Social](myriad_social.md) | [GitHub](https://github.com/myriadsocial/myriad-node) | ☐ | ☐ | ☐ | From 1a4d2dbf62c12297cddd65da116cd660c357e9f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20M=C3=BCller?= Date: Wed, 13 Sep 2023 14:18:17 +0200 Subject: [PATCH 021/133] Update index.md Dotflow completed --- applications/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/index.md b/applications/index.md index 204176a0bf5..7f921fa3c2e 100644 --- a/applications/index.md +++ b/applications/index.md @@ -97,7 +97,7 @@ Use this page for an overview of all public grants and their status. Use the sid | [Gloslab](https://github.com/smiasojed) | [Contracts performance measurement tool proposal](contracts-tool.md) | [GitHub](https://github.com/smiasojed) | ☐ | ☒ | ☐ | | [Nikita Orlov PR](https://github.com/stringnick) | [Faucet chat based bot](faucet-bot.md) | [GitHub](https://github.com/stringnick) | ☐ | ☒ | ☒ | | [Societal Labs Ltd.](https://www.sctl.xyz/) | [Societal Saas Pricing](societal_saas_pricing.md) | [GitHub](https://github.com/sctllabs) | ☐ | ☒ | ☒ | -| [MASTER UNION LLC.](https://github.com/TheDotflow) | [Dotflow](Dotflow.md) | [GitHub](https://github.com/TheDotflow) | ☐ | ☒ | ☐ | +| [MASTER UNION LLC.](https://github.com/TheDotflow) | [Dotflow](Dotflow.md) | [GitHub](https://github.com/TheDotflow) | ☐ | ☒ | ☒ | | [Antier Solutions](https://www.antiersolutions.com/) | [RFP/securityMarketPlace](Security_Marketplace.md) | [GitHub](https://github.com/ParthChaudhary31) | ☐ | ☐ | ☐ | | [SO/DA zone](https://github.com/mfornos) | [Ocelloids Monitoring SDK grant application](ocelloids_monitoring_sdk.md) | [GitHub](https://github.com/mfornos) | ☐ | ☒ | ☒ | | [Antier Solutions Pvt. Ltd.](https://github.com/kulwindersingh-ant)| [Grants webapp](Grant_management_webapp.md) | [GitHub](https://github.com/kulwindersingh-ant) | ☐ | ☒ | ☒ | From 3c4884f712992ea3e3fe9cae5506c740f228733b Mon Sep 17 00:00:00 2001 From: Jafar <107645336+JafarAz@users.noreply.github.com> Date: Wed, 13 Sep 2023 15:03:11 +0100 Subject: [PATCH 022/133] Update CosmWasmVM-CoreProduct.md (#1890) * Update CosmWasmVM-CoreProduct.md * Update CosmWasmVM-CoreProduct.md * Update CosmWasmVM-CoreProduct.md --- applications/CosmWasmVM-CoreProduct.md | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/applications/CosmWasmVM-CoreProduct.md b/applications/CosmWasmVM-CoreProduct.md index ee82ff985e8..7cc754b3fba 100644 --- a/applications/CosmWasmVM-CoreProduct.md +++ b/applications/CosmWasmVM-CoreProduct.md @@ -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 @@ -105,9 +105,9 @@ 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 @@ -115,15 +115,13 @@ We are the only team in the Substrate/Polkadot/Kusama ecosystem implementing Cos 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 @@ -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 From 46fbb3559050b58dad1661986b2b88108026ef7f Mon Sep 17 00:00:00 2001 From: Oleksandra Burmenska Date: Thu, 14 Sep 2023 08:27:37 +0200 Subject: [PATCH 023/133] DAOsign (#1770) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * DAOsign application Create a DAOsign application file  * Delete DAOsign * Create DAOsign.md Project description update * Update DAOsign.md Adding an information about project purpose * Update DAOsign.md Add info about team members * Update DAOsign.md Adding milestone details * Update DAOsign.md Polkadot address update * Update DAOsign.md * Update DAOsign.md * Update DAOsign.md * Update DAOsign.md Project description details * Update DAOsign.md Update the roadmap * Update DAOsign.md * Update DAOsign.md * Update DAOsign.md * Update DAOsign.md * Update DAOsign.md Final iteration with Ramil. * Update DAOsign.md * Update DAOsign.md provide the requested information * Update DAOsign.md minor updates to the application: - license info - reusing brush-contracts info included * Update DAOsign.md Updated a license information and added an example of the smart contracts * update * correct name of the pallet * update deliverables to deploy to Astar testnet fix typos * update m2 deliverables * Update DAOsign.md updated a registered address * Update applications/DAOsign.md Co-authored-by: S E R A Y A * add UI design * add link to Proof technical design * * added description for Off-chain Relayer * realign milestones cost * updated seq diagram * Update applications/DAOsign.md Co-authored-by: S E R A Y A * add docker to m2 * added relayer as a separate milestone 3 --------- Co-authored-by: ramil Co-authored-by: S E R A Y A --- applications/DAOsign.md | 243 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 243 insertions(+) create mode 100644 applications/DAOsign.md diff --git a/applications/DAOsign.md b/applications/DAOsign.md new file mode 100644 index 00000000000..6410e337604 --- /dev/null +++ b/applications/DAOsign.md @@ -0,0 +1,243 @@ +# DAOsign + +- **Team Name:** DAOsign +- **Payment Address:** 13s3c37rwrZfa8WQcZPdqE1zi1hGAguf2TWfWMr8f5aLBrg +- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 3 + +## Project Overview :page_facing_up: + + +### Overview + +DAOsign is a decentralized platform for agreements and policies with publicly verifiable and authorized cryptographic proofs and Governance Automation, designed for DAOs. +Traditional methods of signing agreements, such as paper-based systems or legacy e-signatures, are prone to fraud and lack transparency, and offer no solution for verification of the signer's identity or signer’s authority to execute the agreement. Instead these systems rely on costly legal proceedings for enforce agreements. + +DAOsign provides publicly verifiable cryptographic proofs; secure, transparent and automated processing of complex Agreements and Policies. + +Furthermore, DAOsign provides robust Governance and Policy Builder platform to provide governance, workflow automation and controls for organization policies and procedures. + +### Project Details +A project goal is to store Agreements Proofs on Polkadot chain using Ink! smart contracts. + + +Deliveries include DAOsign platform with an ability to: +- create agreements including generating using ChatGPT (already implemented on our platform, currently available on our [testnet](https://testnet.daosign.org/) +- add and remove signers and observers of different levels of anonymity +- allow signing the documents with further storing of signature proofs on Astar testnet blockchain. + + +**Core DAOsign components** + +Screenshot 2023-05-27 at 16 51 43 + + +**Technical design** + +Proofs are implemented in the EIP-712 standard and adjusted to ink! ecosystem. Proofs digned using user’s EVM private key. +We are supporting this standard in Ink! smart contract to be able to verify the signature in ink! smart contract. +Also, we are implementing an adjusted EIP-2771 standard to allow Agreement Signers gas-free delegation to publish proof on-chain. +EIP-712 standard will be used for proofs, adaptation means that user data is converted to a binary bit; we use its hash (serialization vs deserialization) +And EIP-2771 standard - to securely send the proof and receive it. +So that EVM standards will be adapted to ink! ecosystem requirements. +Example (interfaces) of the smart contracts can be found here https://github.com/DAOsign/daosign-smart-contracts (Solidity version). + + +Detailed storyboard can be found here: https://consideritdone.storiesonboard.com/m/PUCLDvQC4kKwoRJ8kbm3MA . + +**Off-chain Relayer** + +Relayer is an off-chain component that accepts transaction (with EIP-712 signature from Metamask) from user, +signs it and sends to the network. This app will be developed using following technology stack: + +* Typescript/NodeJS +* express.js +* polkadot.js + +**Architectural diagram** + +![DAOsign_ Storing proofs using Ink!](https://github.com/Burmenska/Grants-Program/assets/1008882/297093a0-200a-4f78-babb-04ad6314fb35) + +**Definitions**: +* **Creator**: Author of agreement, define agreement content, signers +* **Signer**: Participant (Signer) of the agreement. Signs and sends transactions to a Relay +* **Relayer**: Receives signed requests off-chain from Signers and pays gas to turn it into a valid transaction that goes through a Trusted Forwarder +* **Trusted Forwarder**: A contract trusted by the Recipient to correctly verify signatures before forwarding the request from Signers +* **AgreementProof**: A contract that holds metadata and proofs for agreement.er + + +Agreement Proof entity represent 3 proofs: +* Proof of signature +* Proof of authority +* Proof of agreement + +The detailed Proof Technical Design is [here](https://github.com/w3f/Grants-Program/files/12183424/Proofs.Technical.Design.-.DAOSign.pdf) + +**UI Design** + +In Milestone 2 we have a frontend delivery. Here list of wireframes/designs with comments: + + +1. Adding toggle to allow store Agreement Proof on-chain (toggle above Sign Agreement button) +![Store proofs 0](https://github.com/w3f/Grants-Program/assets/1008882/40f89bfa-50fc-4944-8a64-af84337b713a) + +2. Enable that toggle and select Parity network from dropdown + +![Store proofs 1](https://github.com/w3f/Grants-Program/assets/1008882/87894c58-bc30-4e48-b74b-3eabfcad2779) + +3. After user click `Sign Agreement` and execute transaction, we show `On-chain Proof` transaction hash on Information panel +![Store proofs 6](https://github.com/w3f/Grants-Program/assets/1008882/88dfed66-5f88-4658-88b4-8a6198060de9) + + +### Ecosystem Fit + +DAOsign fit the Governance category and since, Polkadot and Kusama are designed to be community-driven networks that allow for decentralized governance. DAOsign can fit into this ecosystem by providing a platform for DAOs to manage their decision-making processes in a decentralized manner. +Our target audience is not only DAOs, but also all the companies, who have a need to deal with the agreement/policies management including the use case for managing Grants, that was presented to you during our introdution call. +Competitors analysis can be found here: https://docsend.com/view/sbexkxn5su3ahdg8 . Particularly in Substrate / Polkadot / Kusama ecosystems we are not aware about any tools, that provide exactly the same functionality. + + +## Team :busts_in_silhouette: + +### Team members + +- Team Leader, Founder: Eugene Fine https://github.com/ConsiderItDone, +- Solution Architect: Ramil Amerzyanov https://github.com/ramilexe +- Blockchain / Tech lead: Misha Kushka https://github.com/kushkamisha +- Director of Buisiness development and Partnerships: Oleksandra Burmenska https://github.com/burmenska + + + +### Contact + +- **Contact Name:** Eugene Fine +- **Contact Email:** eugene@daosign.org +- **Website:** daosign.org + +### Legal Structure + +- **Registered Address:** 2468 Brian Dr. Northbrook, IL 60062 +- **Registered Legal Entity:** DAOSIGN, LLC + +### Team's experience +**Eugene Fine:** CEO, Founder +Background: +Over 20 years of building, scaling, and managing technology organizations. Past experience: +- CTO for https://www.explorersurgical.com +- tech leadership contribution to https://bird.coach +- tech advisor and facilitator for polywrap.io +to name a few. +Also, Eugene is a founder at consideritdone.tech and daosign.org + +**Ramil Amerzyanov:** Solution Architect, CTO +Background: +12+ years in building complex enterprize solutions (all SDLC aspects), including 7+ years in Blockchain industry. +Past projects include: +- contribution to Ethereum standards development +- tech leadership for https://docsend.com/view/fjrvjtyzgm7wgrkj projects + +**Oleksandra Burmenska:** Director of Business Development and Partnerships +Background: +Engineering, MBA, and Psychology diplomas. Over a decade of experience in IT: development and managerial positions, last five years focused on the Blockchain industry. +Experience with enterprises and startup companies, scaling teams, and building blockchain products. +Previous blockchain projects include: +- successfully managed ICOs during 2017-2019 (example: Õpet – Medium ) +- contribution to Polywrap, NEAR, Axelar, GnosisSafe, Avalanche ecosystems +- contribution to nodle.com ecosystem: managing the block explorer development (before it moved to Subscan), leading the Landslide - Avalanche subnet development,etc. + +**Misha Kushka**: Tech Lead and Blockchain Developer +Background: 6+ years of professional experience as a developer, 4+ years of professional experience in the Blockchain field, 4+ years experience as a lead + +### Team Code Repos + +- https://github.com/ConsiderItDone +- https://github.com/DAOsign + +Please also provide the GitHub accounts of all team members. If they contain no activity, references to projects hosted elsewhere or live are also fine. + +- [Eugene Fine](https://github.com/ConsiderItDone) +- [Ramil Amerzyanov](https://github.com/ramilexe) +- [Oleksandra Burmenska](https://github.com/Burmenska) +- [Misha Kushka](https://github.com/kushkamisha) + +### Team LinkedIn Profiles (if available) + +- [Eugene Fine](https://www.linkedin.com/in/eugenefine/) +- [Ramil Amerzyanov](https://www.linkedin.com/in/ramil-amerzyanov/) +- [Oleksandra Burmenska](https://www.linkedin.com/in/oleksandra-burmenska/) +- [Misha Kushka](https://www.linkedin.com/in/mkushka/) + + +## Development Status :open_book: + +We are currently working on a tech demo (kind of a pre-beta version) and non-blockchain version of DAOsign is available here: https://testnet.daosign.org + +## Development Roadmap :nut_and_bolt: + +## Overview + +* **Total Estimated Duration:** 2 months +* **Full-Time Equivalent (FTE):** 2 FTE +* **Total Costs:** 48,100 USD + +### Milestone 1 - Smart Contract Development + +* **Estimated Duration:** 4 weeks +* **FTE:** 2 +* **Costs:** 24,050 USD + + +| Number | Deliverable | Specification | +|-------:|---------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| 0a. | License | Apache 2.0 | +| 0b. | Documentation | We will provide both inline documentation of the code and a basic tutorial that explains how a user can use DAOsign Smart Contract developed in ink! for proof verification. | +| 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 publish an **article** that explains what was done as part of the grant. And we will publish a series of articles that explains how DAOsign works from a high-level perspective. The content of the articles will be consistent with the functions at this stage. | +| 1. | Smart Contracts | DAOsign Smart Contract repo that includes following components: Agreement Contract, EIP712/EIP2771 standard implementation on Ink!. These smart contracts can be deployed to any substrate chain with contracts-pallet. | | + + +### Milestone 2 - DAOsign Application integration + +* **Estimated Duration:** 2 weeks +* **FTE:** 2 +* **Costs:** 12,025 USD + + +| Number | Deliverable | Specification | +|-------:|---------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| 0a. | License | Apache 2.0 | +| 0b. | Documentation | We will provide both inline documentation of the code and a basic tutorial that explains how a user can | +| 0c. | Testing Guide | Core functions will be fully covered by unit tests to ensure functionality and robustness. | +| 0d. | Docker | Dockerfile(s) provided in Milestone 1 will be used to test all the functionality delivered with this milestone. | +| 1. | DAOsign Ink! JS SDK | We will publish a npm/yarn package with the logic how to interact with Smart Contract from JS | +| 2. | DAOsign Application Integration | Integrate DAOsign application using SDK. DAOsign application (which is not part of this grant) will be open sourced as well. DAOsign is written using ReactJS on frontend and Typescript on backend | + + +### Milestone 3 - Relayer Development + +* **Estimated Duration:** 2 weeks +* **FTE:** 2 +* **Costs:** 12,025 USD + + +| Number | Deliverable | Specification | +|-------:|---------------|------------------------------------------------------------------------------------------------------------------------------------------------| +| 0a. | License | Apache 2.0 | +| 0b. | Documentation | We will provide both inline documentation of the code and a basic tutorial that explains how a user can run Relayer and broadcast transactions | +| 0c. | Testing Guide | Core functions will be fully covered by unit tests to ensure functionality and robustness. | +| 0d. | Docker | We will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. | +| 1. | Gas Relayer | Off-chain component for relaying transactions. Will be developed on Typescript/NodeJS using polkadot.js library | + + + +## Future Plans + +After the `ink!` version of the DAOsign protocol stack is fully tested, we would like to implement a `pallet` version for Polkadot ecosystems. Anyone who is integrating it can communicate with other ecosystems conveniently. + +Add support for multi-chain proof verification using [XCM](https://wiki.polkadot.network/docs/learn-xcm) and [IBC](https://ibcprotocol.org/) protocols. + + +## Additional Information :heavy_plus_sign: + +**How did you hear about the Grants Program?** + +By recommendation of Richard Casey from Parity. From 492875d8ac1a542da7e71131ee1b065694591a7c Mon Sep 17 00:00:00 2001 From: David Hawig Date: Thu, 14 Sep 2023 08:32:09 +0200 Subject: [PATCH 024/133] Update index.md Add DAOsign --- applications/index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/applications/index.md b/applications/index.md index 7f921fa3c2e..557e10f0057 100644 --- a/applications/index.md +++ b/applications/index.md @@ -69,6 +69,7 @@ Use this page for an overview of all public grants and their status. Use the sid | [Off Narrative Labs](https://github.com/Off-Narrative-Labs) | [Tuxedo Parachain Support](./tuxedo_parachain.md) | [GitHub](https://github.com/Off-Narrative-Labs) | ☐ | ☐ | ☐ | | [PolyCrypt GmbH](https://polycry.pt) | [Distributed Cryptography for Polkadot Wallets](./distributed_cryptography_for_polkadot_wallets.md) | [GitHub](https://github.com/perun-network) | ☐ | ☐ | ☐ | | [Open Smart Contract](https://github.com/OpenSmartContract) | [ISO20022 PoC](./ISO20022.md) | [GitHub](https://github.com/OpenSmartContract) | ☐ | ☐ | ☐ | +| [DAOsign](https://daosign.org/) | [DAOsign](./DAOsign.md) | [GitHub](https://github.com/DAOsign) | ☐ | ☐ | ☐ | [🔝](#2023) From efa621f6346c1a331c9d2da24558dd1e4e3930c8 Mon Sep 17 00:00:00 2001 From: Noc2 Date: Thu, 14 Sep 2023 08:39:38 +0200 Subject: [PATCH 025/133] fix website --- applications/DAOsign.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/DAOsign.md b/applications/DAOsign.md index 6410e337604..bcfee2b6f94 100644 --- a/applications/DAOsign.md +++ b/applications/DAOsign.md @@ -28,7 +28,7 @@ Deliveries include DAOsign platform with an ability to: **Core DAOsign components** -Screenshot 2023-05-27 at 16 51 43 +Screenshot 2023-05-27 at 16 51 43 **Technical design** From eab3945d0be337a29524e3f41cc07db8468d6d6f Mon Sep 17 00:00:00 2001 From: ainhoa-a <95368257+ainhoa-a@users.noreply.github.com> Date: Thu, 14 Sep 2023 10:02:24 +0200 Subject: [PATCH 026/133] PoC Polkadot Conformance Tests (#1956) * hybrid node research grant proposal * Create polkadot_tests.md * Update polkadot_tests.md removed URL to PR from previous grant * Update polkadot_tests.md Correct level format --- applications/polkadot_tests.md | 151 +++++++++++++++++++++++++++++++++ 1 file changed, 151 insertions(+) create mode 100644 applications/polkadot_tests.md diff --git a/applications/polkadot_tests.md b/applications/polkadot_tests.md new file mode 100644 index 00000000000..f912d7a713b --- /dev/null +++ b/applications/polkadot_tests.md @@ -0,0 +1,151 @@ +# Polkadot Conformance Tests PoC + +- **Team Name:** Zondax AG +- **Payment Address:** (DAI ERC 20) 0xf50a09731dc32a64431920e10e1e58dce28e6b11 +- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 + + +## Project Overview :page_facing_up: + +This grant application falls under this [RFP](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/Open/polkadot-protocol_conformance_tests.md) and it aims +to develop a comprehensive test suite dedicated to assessing the compliance of Host implementations against the official Polkadot Protocol Specification. + +### Overview + +The reliability and security of the Polkadot network are fundamentally contingent upon the flawless implementation of Hosts/Nodes. At present, +Substrate and Smoldot (implemented in Rust) +are actively used in production, while Gossamer (in Go) and Kagome (in C++) are undergoing advanced stages of development. +Our primary objective is to develop a comprehensive test suite dedicated to assessing the compliance of Host implementations +against the official Polkadot Protocol Specification. + +### Project Details + +Our objective will consist of developing a proof of concept for a test suite that can be run across various host implementations and executors. + +In this initial phase, we will concentrate on a few different points: + +- [Host API: cryptography primitives](https://spec.polkadot.network/chap-host-api#sect-crypto-api) +- [Trie proof verification](https://spec.polkadot.network/chap-host-api#sect-trie-api) +- [Scale encoding and decoding](https://spec.polkadot.network/id-cryptography-encoding#sect-scale-codec) + +The objective is to ensure conformance with the existing specifications and highlight possible deviations. +Moreover, we will organize the PoC in such a way that conformance reports can be generated after each run. + + +#### Technology and Languages + +We aim to develop this in Python or Typescript. We will investigate but at the moment, we see a much wider ecosystem in Python. + +Althoug previous work on this area has been developed in Julia, Python holds several advantages over Julia due to its extensive ecosystem, wide community support, and versatility. + +Python is also known for its cross-platform compatibility, facilitating the development of cross-platform applications. +Its ease of integration with other languages like C/C++ and Java enables the creation of applications with mixed-language components. + +There is some previous work that has been done [here](https://github.com/w3f/polkadot-tests) in Julia we plan to re-use some part of this work, rewrite it, updated it and confront it +against current specification since his code has not been updated since February 2023. + + +### Ecosystem Fit + +Zondax is a growing and distributed team with experience and projects for more than 50 blockchains. +Zondax has been contributing to the Substrate ecosystem since 2018-2019. The team has received and completed a large number of W3F grants +and currently maintains most Ledger apps for the ecosystem. +We have recently completed a [grant](https://github.com/w3f/Grants-Program/blob/master/applications/hybrid_node_research.md) on the research of an alternative host implementation. + +## Team :busts_in_silhouette: + +### Team members + +- 2 x Engineers +- 1 x Project Manager + +### Contact + +- **Contact Name:** Juan Leni and Ainhoa Aldave +- **Contact Email:** juan.leni@zondax.ch / ainhoa.aldave@zondax.ch +- **Website:** zondax.ch + +### Legal Structure + + +Zondax AG + +Dammstrasse 16 + +Zug 6300, Switzerland + +UID CHE-491.796.576 + +### Team's experience + +Over the last few years, Zondax has been involved in a large number of projects for most of the key players in the blockchain industry. +Our team includes experts in most blockchain aspects, from cryptography to data and protocol engineering. + +### Team Code Repos + +Most of our contributions to the blockchain ecosystem can be found in our GitHub organization [zondax](https://github.com/zondax) + +## Development Status :open_book: + +Not initiated. + +## Development Roadmap :nut_and_bolt: + +## Technical Scope: + +The scope of our work will consist on: + +- Review of specifications and conformance tests: The Polkadot specification and the corresponding conformance tests will be used as a reference of expected valid behavior: + - [Polkadot Spec](https://github.com/w3f/polkadot-spec) + - [Polkadot tests](https://github.com/w3f/polkadot-tests) + +- Analysis of previous work: previous work will be analysed to determine improvements, advantages and disadvantages. In this respect, we can already pinpoint the following repositories: + + - [Polkadot Tests](https://github.com/w3f/polkadot-tests) + - [PVF Conformance Testing Suite](https://github.com/LimeChain/polkadot-conformance) + - [Zombienet](https://github.com/paritytech/zombienet) + - [SCALE Codec Encoding](https://github.com/w3f/polkadot-tests/tree/main/fixtures/scale-codec) + - [State Trie Hashing](https://github.com/w3f/polkadot-tests/tree/main/fixtures/state-trie) + +- Test the test-suite against all implementations + - [Go: gossamer by ChainSafe](https://github.com/ChainSafe/gossamer) + - [C++: kagome by Soramitsu](https://github.com/soramitsu/kagome) + - [Rust: polkadot by Parity](https://github.com/paritytech/polkadot ) + - [Rust: smoldot by Parity](https://github.com/smol-dot/smoldot) + +### Overview + +- **Total estimated workload:** 4 weeks +- **Delivery time:**: 6 to 8 weeks +- **Full-Time Equivalent (FTE):** 2.5 FTE +- **Total Costs:** 28'800 DAI + +### Milestone 1 - PoC Implementation + +- **Estimated workload:** 4 working weeks +- **Delivery time:**: 6 to 8 weeks +- **FTE:** 2,5 +- **Costs:** 28'800 DAI + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| **0a.** | License | Apache 2.0 / GPLv3 / MIT | +| **0b.** | Documentation | We will provide a inline documentation of the code and inline documentation of the code and a basic tutorial | +| **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 publish an article explaining the research, design decisions and proof of concept | +| 1. | PoC code| General structure | +| 2a. | Code| PoC Tests: Host API: cryptography primitives | +| 2b. | Code| PoC Tests: Trie proof verification | +| 2c. | Code| PoC Tests: Scale encoding and decoding | + +*Testing in point 2, will not be comprehensive. We will concentrate on different cases to proof that the architecture and design is adequate. + +## Future Plans + +After we have completed this PoC, we aim to prepare a proposal for a long term test suite. + +## Additional Information :heavy_plus_sign: + +Zondax has been contributing to the Polkadot ecosystem for several years, and has succesfully completed several grants. +We have recently completed a grant on the research of an alternative host implementation. https://github.com/w3f/Grants-Program/pull/1324 From 5366b1b4f938c2da04761f12359e43f102800c2c Mon Sep 17 00:00:00 2001 From: David Hawig Date: Thu, 14 Sep 2023 10:04:57 +0200 Subject: [PATCH 027/133] Update index.md Add PoC Polkadot Conformance Tests --- applications/index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/applications/index.md b/applications/index.md index 557e10f0057..7e696ea10c5 100644 --- a/applications/index.md +++ b/applications/index.md @@ -70,6 +70,7 @@ Use this page for an overview of all public grants and their status. Use the sid | [PolyCrypt GmbH](https://polycry.pt) | [Distributed Cryptography for Polkadot Wallets](./distributed_cryptography_for_polkadot_wallets.md) | [GitHub](https://github.com/perun-network) | ☐ | ☐ | ☐ | | [Open Smart Contract](https://github.com/OpenSmartContract) | [ISO20022 PoC](./ISO20022.md) | [GitHub](https://github.com/OpenSmartContract) | ☐ | ☐ | ☐ | | [DAOsign](https://daosign.org/) | [DAOsign](./DAOsign.md) | [GitHub](https://github.com/DAOsign) | ☐ | ☐ | ☐ | +| [Zondax AG](https://zondax.ch/) | [PoC Polkadot Conformance Tests](./polkadot_tests.md) | [GitHub](https://github.com/zondax) | ☐ | ☐ | ☐ | [🔝](#2023) From 8398981e36245209d1c6df05e8c2fc5eba530472 Mon Sep 17 00:00:00 2001 From: David Semakula Date: Fri, 15 Sep 2023 20:16:19 +0300 Subject: [PATCH 028/133] Move P2P data platform proposal to applications directory (#1974) --- .../data_platform_with_deep_indexed_data_and_staking_reports.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename data_platform_with_deep_indexed_data_and_staking_reports.md => applications/data_platform_with_deep_indexed_data_and_staking_reports.md (100%) diff --git a/data_platform_with_deep_indexed_data_and_staking_reports.md b/applications/data_platform_with_deep_indexed_data_and_staking_reports.md similarity index 100% rename from data_platform_with_deep_indexed_data_and_staking_reports.md rename to applications/data_platform_with_deep_indexed_data_and_staking_reports.md From 6db7f8a21946469c564b3e255e0bf7ba2b3fca16 Mon Sep 17 00:00:00 2001 From: Nikhil W3F <142136841+nikw3f@users.noreply.github.com> Date: Mon, 18 Sep 2023 10:55:35 +0200 Subject: [PATCH 029/133] Update RFP link for ISO-8583-implementation.md (#1976) --- applications/ISO-8583-implementation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/ISO-8583-implementation.md b/applications/ISO-8583-implementation.md index 2a8f6789bbf..793db9fe492 100644 --- a/applications/ISO-8583-implementation.md +++ b/applications/ISO-8583-implementation.md @@ -4,7 +4,7 @@ - **Payment Address:** 0xc42D0562BB4e53f5e9D888df35e1B91eA0f19cC3 (USDC) - **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 -This application is in response to the [ISO-8583 RFP](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/Open/ISO_8583.md). +This application is in response to the [ISO-8583 RFP](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/Under%20Development/ISO_8583.md). ### Overview From 622a76f83f97a60e4002facb4c793da2b2bde893 Mon Sep 17 00:00:00 2001 From: Nikhil W3F <142136841+nikw3f@users.noreply.github.com> Date: Mon, 18 Sep 2023 10:56:52 +0200 Subject: [PATCH 030/133] Update index.md (#1975) --- applications/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/index.md b/applications/index.md index 7e696ea10c5..1f01e996eff 100644 --- a/applications/index.md +++ b/applications/index.md @@ -56,7 +56,7 @@ Use this page for an overview of all public grants and their status. Use the sid | [Eiger](https://www.eiger.co/) | [Storage solution on Polkadot](./Eiger_Storage_on_Polkadot_1.md) | [GitHub](https://github.com/eigerco) | ☐ | ☐ | ☐ | | [Salaheldin Soliman](https://github.com/salaheldinsoliman) | [Solang Playground](Solang_Playground.md) | [GitHub](https://github.com/salaheldinsoliman) | ☐ | ☐ | ☐ | | [P2P.ORG](http://p2p.org/) | [P2P data platform](data_platform_with_deep_indexed_data_and_staking_reports.md) | [GitHub](https://github.com/p2p-org) | ☐ | ☐ | ☐ | -| [CoinFabrik](https://www.coinfabrik.com/) | [CoinFabrik On Ink Integration Tests](CoinFabrik_On_Ink_Integration_Tests.md) | [GitHub](https://github.com/CoinFabrik) | ☐ | ☐ | ☐ | +| [CoinFabrik](https://www.coinfabrik.com/) | [CoinFabrik On Ink Integration Tests](CoinFabrik_On_Ink_Integration_Tests.md) | [GitHub](https://github.com/CoinFabrik) | ☐ | ☒ | ☐ | | [Stake Plus Inc](https://stake.plus) | [Treasury Tracker](TreasuryTracker.md) | [GitHub](https://github.com/stake-plus) | ☐ | ☐ | ☐ | | [MOBR Systems](https://www.mobr.ai) | [Polkadot Analytics Platform](polkadot_analytics_platform.md) | [GitHub](https://github.com/mobr-ai) | ☐ | ☒ | ☐ | | [Infra3](https://network.infra-3.xyz) | [Hyperdot - Powerful data analysis and creations platform](Hyperdot.md) | [GitHub](https://github.com/Infra3-Network/hyperdot) | ☐ | ☐ | ☐ | From 25a09c348f03d55e91f149ec8e6992c470608585 Mon Sep 17 00:00:00 2001 From: S E R A Y A Date: Mon, 18 Sep 2023 12:53:51 +0200 Subject: [PATCH 031/133] Approve larch first delivery in wave list --- applications/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/index.md b/applications/index.md index 1f01e996eff..d8aac8b16fb 100644 --- a/applications/index.md +++ b/applications/index.md @@ -142,7 +142,7 @@ Use this page for an overview of all public grants and their status. Use the sid | [CoinFabrik](https://www.coinfabrik.com/) | [Scout - Security Analysis Tool](ScoutCoinFabrik.md) | [GitHub](https://github.com/coinfabrik) | ☐ | ☒ | ☒ | | [727.ventures](https://727.ventures/) | [Typechain-Polkadot Follow-up-2](typechain-polkadot-follow-up-2.md) | [GitHub](https://github.com/727-Ventures/typechain-polkadot) | ☐ | ☒ | ☒ | | [Mark Van de Vyver PhD(Dist)](https://www.student.uwa.edu.au/course/award-verification-service?family=van+de+vyver&family_partial=on&given=mark&search=Search) | [Substrate Tokenomics Survey](tokenomics-survey-2022.md) | [GitHub](https://github.com/taqtiqa-mark) | ☐ | ☒ | ☐ | -| [Zeeve](https://www.zeeve.io) | [Parachain deployment zoombienet testing automation](Zeeve_Parachain_deployment_zoombienet_testing_automation.md) | [GitHub](https://github.com/Zeeve-App) | ☐ | ☐ | ☐ | +| [Zeeve](https://www.zeeve.io) | [Parachain deployment zoombienet testing automation](Zeeve_Parachain_deployment_zoombienet_testing_automation.md) | [GitHub](https://github.com/Zeeve-App) | ☐ | ☒ | ☐ | | [Polytope Labs](https://research.polytope.technology/) | [Trie Verifier Implementation](solidity-trie-verifier.md) | [GitHub](https://github.com/polytope-labs) | ☐ | ☒ | ☒ | | [Off-Narrative Labs](https://github.com/Off-Narrative-Labs) | [Tuxedo](tuxedo.md) | [GitHub](https://github.com/JoshOrndorff) | ☐ | ☒ | ☒ | | [FuzzLand](https://fuzz.land/) | [FuzzLand](FuzzLand.md) | [GitHub](https://github.com/fuzzland) | ☐ | ☐ | ☐ | From aac108b81a6ba1c017929e139872bd2c128de6ed Mon Sep 17 00:00:00 2001 From: Roman <133760597+fidiroman@users.noreply.github.com> Date: Mon, 18 Sep 2023 09:49:54 -0500 Subject: [PATCH 032/133] Refined scope for M3, updated address. (#1971) --- applications/fidi-dotsight-analytics.md | 31 +++++++++++++------------ 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/applications/fidi-dotsight-analytics.md b/applications/fidi-dotsight-analytics.md index dc4ebeaeb57..d911dd5488b 100644 --- a/applications/fidi-dotsight-analytics.md +++ b/applications/fidi-dotsight-analytics.md @@ -174,9 +174,9 @@ Our decentralized platform will enable analysts and power users to interactively ### Legal Structure -**Registered Address:** 400 NW 7th Ave, #14310, Ft. Lauderdale, FL 33311, USA +**Registered Address:** Unit 2A, 17/F, Glenealy Tower, No.1 Glenealy, Central, Hong Kong SAR -**Registered Legal Entity:** FiDi Tech, Inc +**Registered Legal Entity:** FiDi Tech Ltd ### Team's experience @@ -219,14 +219,14 @@ All infrastructure deliverables belong to the teams’ domains of expertise and - **Full-Time Equivalent (FTE):** 3.5 FTE - **Total Costs:** 25,000 USD -### Milestone 1 — Data Interface API +### Milestone 1 — Data Interface - **Estimated duration:** 1mo - **FTE:** 4 - **Costs:** 7,500 USD -- Summary: This milestone covers a complete data interface connected to GiantSquid and FiDi dashboards. It also includes fully productionized custom Squids and FiDi views for Astar staking dApp analytics. -- Success: an open-sourced data interface as well as fully operational dashboards for two selected parachains +- Summary: This milestone covers a complete data interface connected to GiantSquid and any arbitrary data provider. +- Success: an open-sourced data interface with customizable middleware, mappers, aggregation logic, and data sources. | Number | Deliverable | Specification | | -----: | ----------- | ------------- | @@ -238,8 +238,6 @@ All infrastructure deliverables belong to the teams’ domains of expertise and | **1c.** | Off-chain sourced addresses support | We will provide rudimentary support for additional data materialization parameters, e.g., pricing via liquidity pool addresses. This will be extended to any off-chain data in an oracle-like fashion in future milestones. | | **2a.** | Data Interface for developers | We will provide a configuration-based interface (initially via git pull requests, then automated in Milestone 2) with key specifications for the new views. We will leverage React and Typescript on the frontend and Typescript with Nest and PGSQL on the backend. | **2b.** | Schema mapping and morphing | We will provide a configuration-based paradigm for specifying: the desired metrics mapping, aggregation logic, upstream GiantSquid URI, and desired materialized view.| -| **2c.** | Data interface: view construction | We will provide developers with the ability to select a desired analytical dashboard from the pre-selected collection (see five views explained in the architecture section; fully customizable views will make it to future milestones). These UI components will also be implemented via React and Typescript.| -| **2d.** | Data interface: Deployment | We will provide developers with the ability to schedule their customer view’s deployment (automatically at recurring times in the future milestones). The deployment action will be a UI module, and the propagation/consensus will occur via GitHub at first and via a PGSQL query in future milestones.| | **3a.** | Dashboards: Default Analytical Views | We will integrate the default views, i.e., pie chat, 1/3-metrics view, and list of assets, with the data interface and make it available for the ad-hoc developer deployment. For 3a-c UI components, we will similarly rely on React + Typescript.| | **3b.** | Dashboards: Advanced Staking View | We will integrate the advanced staking view, e.g., the dApps names, nominator TVLs, balances, rewards, and ranks, with the data interface and make it available for ad-hoc developer deployment. | | **4a.** | Lighthouse use cases: Squids for Wallet-specific metrics | We will implement new squids in GraphQL surfacing wallet-specific metrics for two parachains with the following metrics that need to be surfaced via GiantSquid: Free tokens, Vesting, EVM Deposits, and dApp names. | @@ -247,13 +245,13 @@ All infrastructure deliverables belong to the teams’ domains of expertise and | **4c.** | Lighthouse use cases: customized dApp views | As the first two use-cases, a feasibility proof and an accelerator, we will provide the community with a fully integrated customized dApp analytics dashboard leveraging the data interface (2a-2c), the advanced staking view (3b), and the data aggregation module (1a-1c). | -### Milestone 2 — Views with Network- and dApp-level Metrics +### Milestone 2 — POC Dashboards with Network-, dApp-level and custom Metrics - **Estimated Duration:** 1mo - **FTE:** 2.5 - **Costs:** 5,000 USD -- Summary: This milestone covers support for essential metrics at the parachain and dApp level under each chain. Many would require custom squids built as a part of this scope. +- Summary: This milestone covers support for essential metrics at the parachain and dApp level under each chain. Many would require custom pipelines built as a part of this scope. - Success: developer UI supports views with newly sourced metrics. | Number | Deliverable | Specification | @@ -261,7 +259,7 @@ All infrastructure deliverables belong to the teams’ domains of expertise and | **0a.** | License | Apache 2.0 | **0b.** | Documentation | We will provide documentation on every supported metrics class and an educational tutorial explaining the typical way to interpret the data, navigate the developer UI, specify the required metadata, deploy a data interface configuration, and select the desired dashboard. | | **0c.** | Testing | Core functions will be fully covered by a unit and integration tests suite to ensure robustness, deployment, and serving times. | -| **1a.** | dApp-level signals: collator metrics | We will generalize prior work from Milestone 1 to span collator/nominator activity and make metrics such as uptime, block production rate, block processing time, rank/nominator rank, name, and value locked available in the views. For 1a-2a, the respective in GraphQL squid query and GiantSquid's code are also in scope; the UI components will be written in React + Typescript and the backend code in Typescript + Nest + PGSQL.| +| **1a.** | dApp-level signals: collator metrics | We will generalize prior work from Milestone 1 to span collator/nominator activity and make metrics such as uptime, block production rate, block processing time, rank/nominator rank, name, and value locked available in the views. For 1a-2a, the respective GraphQL squid query and GiantSquid's code are also in scope; the UI components will be written in React + Typescript, and the backend code in Typescript + Nest + PGSQL.| | **1b.** | dApp-level signals: user activity | Additionally, the dApp-specific user activity metrics will be surfaced, e.g., UAW, net new wallets, historical transactions, volume, and balance per dApp. Respective squid query and GS code are also in scope. | | **2a.** | Network-level signals | We will generalize prior work from Milestone 1 to span L1-level metrics and activity made available in the developer UI, e.g., UAW per network, number of new wallets, adoption rates, unstaked tokens currently in wallets, tokens in circulation, and tokens staked or locked. Respective squid query and GS code are also in scope. | @@ -272,7 +270,7 @@ All infrastructure deliverables belong to the teams’ domains of expertise and - **FTE:** 2.5 - **Costs:** 5,000 USD -- Summary: This milestone covers a no-code option for developers to productionize new views on FiDi via specific squids on GiantSquid. +- Summary: This milestone covers a no-code option for developers to productionize new views on FiDi via arbitrary data sources including squids on GiantSquid. - Success: developer UI launched, and new users are able to productionize new views without any code. | Number | Deliverable | Specification | @@ -280,10 +278,13 @@ All infrastructure deliverables belong to the teams’ domains of expertise and | **0a.** | License | Apache 2.0 | **0b.** | Documentation | We will provide documentation on every supported metrics class and an educational tutorial explaining the typical way to interpret the data, navigate the developer UI, specify the required metadata, deploy a data interface configuration, and select the desired dashboard. | | **0c.** | Testing | Core functions will be fully covered by a unit and integration tests suite to ensure robustness, deployment, and serving times. | -| **1a.** | dApp-level signals: collator metrics | We will provide an intuitive web interface for specifying the desired metrics mapping, aggregation logic, upstream GiantSquid URI, and desired materialized view. The UI will be an extension of the one built in M2 and also leverage Typescript + React; and Nest + CloudSQL (PGSQL) + Typescript on the backend. | -| **1b.** | Online testing & deployment | We will provide an intuitive web interface for querying the new view for deployment and validating its configuration. The UI's part technology choices is same as 1a.| -| **2a.** | Deployment validation & View status | We will implement testing and validation layers to ensure the user-inputted configurations for newly spun-up views and GS queries are performant. We will surface the view “status,” e.g., up, down, missing data, and similar. | -| **2a.** | Automated and ad-hoc deployment | We will decouple the existing infrastructure to support ad-hoc and scheduled deployments for newly created views. The CI/CD and automation for 2a-b will rely on schedule App Engine workers. | +| **1a.** | dApp-level signals: collator metrics | We will provide an intuitive web interface for specifying the desired metrics mapping, aggregation logic, upstream data provider, and desired materialized view (dashboard). The UI willleverage Typescript + React; and Nest + CloudSQL (PGSQL) + Typescript on the backend. | +| **1b.** | Online testing & deployment | We will provide an intuitive web interface for querying the new view for deployment and validating its configuration. The UI's part technology choices is the same as 1a.| +| **2a.** | Deployment validation & View status | We will implement testing and validation layers to ensure the user-inputted configurations for newly spun-up views and queries are performant. We will surface the view “status,” e.g., up, down, missing data, and similar. | +| **2b.** | Automated and ad-hoc deployment | We will decouple the existing infrastructure to support ad-hoc and scheduled deployments for newly created views. The CI/CD and automation for 2a-b will rely on scheduled App Engine workers. | +| **2c.** | Data interface: view construction | We will provide developers with the ability to select a desired analytical dashboard from the pre-selected collection (see five views explained in the architecture section; fully customizable views will make it to future milestones). These UI components will also be implemented via React and Typescript.| +| **2d.** | Data interface: Deployment | We will provide developers with the ability to schedule their customer view’s deployment (automatically at recurring times in the future milestones). The deployment action will be a UI module, and the propagation/consensus will occur via GitHub at first and via a PGSQL query in future milestones.| + ### Milestone 4 — Interactive SQL Query Engine for Views From 3d051a0a54c1a5158efedd82f57ac73ce698f5cb Mon Sep 17 00:00:00 2001 From: Keegan | W3F <35080151+keeganquigley@users.noreply.github.com> Date: Tue, 19 Sep 2023 03:01:11 -0400 Subject: [PATCH 033/133] Update RFP links (#1981) * Update IDE_for_ink_Smart_Contracts.md * Update ISO_20022.md * Update identity-directory.md * Update implementation-benchmarking.md * Update ISO_8583.md --- docs/RFPs/Open/ISO_20022.md | 4 ++-- docs/RFPs/Under Development/IDE_for_ink_Smart_Contracts.md | 2 +- docs/RFPs/Under Development/ISO_8583.md | 2 +- docs/RFPs/Under Development/identity-directory.md | 2 +- docs/RFPs/Under Development/implementation-benchmarking.md | 4 ++-- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/RFPs/Open/ISO_20022.md b/docs/RFPs/Open/ISO_20022.md index a61188b6e3a..6d2c1611c53 100644 --- a/docs/RFPs/Open/ISO_20022.md +++ b/docs/RFPs/Open/ISO_20022.md @@ -1,6 +1,6 @@ # RFP: ISO 20022 -* **Status:** Open +* **Status:** [Under Development](https://github.com/w3f/Grants-Program/blob/master/applications/ISO20022.md) * **Proposer:** [Noc2](https://github.com/Noc2) ## Project Description :page_facing_up: @@ -10,7 +10,7 @@ ISO (International Organization for Standardization) 20022 is becoming the de fa The goal of this RFP is to find teams that implement tools that make it easy and possible for the traditional finance industry to leverage substrate and ink! smart contracts to interact with ISO 20022 in various ways (e.g. cross border payments, card payments, etc.). These tools could be, but are not limited to: - (Java) APIs or packages that make it possible for the traditional finance industry to integrate a substrate-based ISO 20022 solution into their existing tech stack. -- Proof of concepts, potentially leveraging the unique [Off-Chain Features of Substrate](https://docs.substrate.io/v3/concepts/off-chain-features/) that show the advantages of using ISO 20022 together with Substrate. +- Proof of concepts, potentially leveraging the unique [Off-Chain Features of Substrate](https://docs.substrate.io/learn/offchain-operations/) that show the advantages of using ISO 20022 together with Substrate. - Efficient on-chain representation of the ISO 20022 XML or ASN.1-based syntax **Useful resources:** diff --git a/docs/RFPs/Under Development/IDE_for_ink_Smart_Contracts.md b/docs/RFPs/Under Development/IDE_for_ink_Smart_Contracts.md index d00e9afc75e..06640b5994f 100644 --- a/docs/RFPs/Under Development/IDE_for_ink_Smart_Contracts.md +++ b/docs/RFPs/Under Development/IDE_for_ink_Smart_Contracts.md @@ -11,7 +11,7 @@ The goal of this RFP is to find teams that would like to maintain the browser-ba **Useful resources:** - [ink!](https://use.ink/) -- [ink-playground](https://ink-playground.substrate.io) +- ~~[ink-playground](https://ink-playground.substrate.io)~~ (no longer hosted) - [GitHub ink-playground](https://github.com/paritytech/ink-playground) - [GitHub: ink! Remix plugin](https://github.com/blockchain-it-hr/ink-remix-plugin) diff --git a/docs/RFPs/Under Development/ISO_8583.md b/docs/RFPs/Under Development/ISO_8583.md index 1312749da23..c22ea4b91d5 100644 --- a/docs/RFPs/Under Development/ISO_8583.md +++ b/docs/RFPs/Under Development/ISO_8583.md @@ -12,7 +12,7 @@ Even though ISO 8583 is going to be replaced by [ISO 20022](https://github.com/w The goal of this RFP is to find teams that implement tools that make it easy and possible for the traditional finance industry to leverage substrate and ink! smart contracts to interact with ISO 8583 in various ways. These tools could be, but are not limited to: - (Java) APIs or packages that make it possible for the traditional finance industry to integrate a substrate-based ISO 8583 solution into their existing tech stack. -- Proof of concepts, potentially leveraging the unique [Off-Chain Features of Substrate](https://docs.substrate.io/v3/concepts/off-chain-features/) that show the advantages of using ISO 8583 together with Substrate. +- Proof of concepts, potentially leveraging the unique [Off-Chain Features of Substrate](https://docs.substrate.io/learn/offchain-operations/) that show the advantages of using ISO 8583 together with Substrate. - Efficient on-chain representation of the ISO 8583 syntax **Useful resources:** diff --git a/docs/RFPs/Under Development/identity-directory.md b/docs/RFPs/Under Development/identity-directory.md index 980863fc1bb..be652056b5b 100644 --- a/docs/RFPs/Under Development/identity-directory.md +++ b/docs/RFPs/Under Development/identity-directory.md @@ -1,6 +1,6 @@ # RFP: Substrate Identity Directory -* **Status:** [Under Development 1](https://github.com/w3f/Grants-Program/blob/master/applications/SubIdentity.md), [Under Development 2](https://github.com/w3f/Grants-Program/blob/master/applications/substrate-identity-directory.md) +* **Status:** [Under Development 1](https://github.com/w3f/Grants-Program/blob/master/applications/SubIdentity.md), [Under Development 2](https://github.com/w3f/Grants-Program/blob/master/applications/Dotflow.md) * **Proposer:** swader * **Projects you think this work could be useful for**: Kusama, Polkadot, Substrate chains diff --git a/docs/RFPs/Under Development/implementation-benchmarking.md b/docs/RFPs/Under Development/implementation-benchmarking.md index 812327f734b..48acc6fb1a0 100644 --- a/docs/RFPs/Under Development/implementation-benchmarking.md +++ b/docs/RFPs/Under Development/implementation-benchmarking.md @@ -7,7 +7,7 @@ ## Project Description :page_facing_up: When a new team comes to the ecosystem, they are faced with a decision on how to best implement the logic that they need. -Traditionally in substrate, this has been a choice between a smart contract vs. runtime module (a.k.a. pallet) and elaborated on [in this StackOverflow question](https://stackoverflow.com/questions/56040779/when-should-i-build-a-substrate-runtime-module-versus-a-substrate-smart-contract) or [this entry in Substrate Developer Hub](https://substrate.dev/docs/en/knowledgebase/smart-contracts/#smart-contracts-vs-runtime-development). The choice has since been augmented by the possibility to deploy solidity contracts to an EVM-compatible chain, or even writing solidity code and compiling it to WASM with the help of a [solang](https://solang.readthedocs.io/en/latest) compiler. +Traditionally in substrate, this has been a choice between a smart contract vs. runtime module (a.k.a. pallet) and elaborated on [in this StackOverflow question](https://stackoverflow.com/questions/56040779/when-should-i-build-a-substrate-runtime-module-versus-a-substrate-smart-contract) or [this entry in Substrate Developer Hub](https://docs.substrate.io/design/decide-what-to-build/). The choice has since been augmented by the possibility to deploy solidity contracts to an EVM-compatible chain, or even writing solidity code and compiling it to WASM with the help of a [solang](https://solang.readthedocs.io/en/latest) compiler. As substrate is gaining traction, more and more tools will enable developers to write their logic in their language of choice and deploy on-chain, such as: @@ -17,7 +17,7 @@ As substrate is gaining traction, more and more tools will enable developers to This RFP calls for a benchmarking effort to help inform newcomers about the choice of the best tool for writing application logic. Apart from quantifiable metrics, we would like the outcome of this work to be a guide for developers, perhaps expanding on the aforementioned StackOverflow post. Depending on the outcome, the work might get integrated into our READMEs/wikis. -Before starting this effort, it might make sense to take a look at the official [runtime benchmarking docs](https://substrate.dev/docs/en/knowledgebase/runtime/benchmarking) to assess whether it can be leveraged in some way. +Before starting this effort, it might make sense to take a look at the official [runtime benchmarking docs](https://docs.substrate.io/test/benchmark/) to assess whether it can be leveraged in some way. ## Deliverables :nut_and_bolt: From abc9ab4a65675d04e54587a8d001216fd30a84d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20M=C3=BCller?= Date: Tue, 19 Sep 2023 09:23:03 +0200 Subject: [PATCH 034/133] Update index.md CoinFabrik on Ink complete --- applications/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/index.md b/applications/index.md index d8aac8b16fb..0e1f96b364c 100644 --- a/applications/index.md +++ b/applications/index.md @@ -56,7 +56,7 @@ Use this page for an overview of all public grants and their status. Use the sid | [Eiger](https://www.eiger.co/) | [Storage solution on Polkadot](./Eiger_Storage_on_Polkadot_1.md) | [GitHub](https://github.com/eigerco) | ☐ | ☐ | ☐ | | [Salaheldin Soliman](https://github.com/salaheldinsoliman) | [Solang Playground](Solang_Playground.md) | [GitHub](https://github.com/salaheldinsoliman) | ☐ | ☐ | ☐ | | [P2P.ORG](http://p2p.org/) | [P2P data platform](data_platform_with_deep_indexed_data_and_staking_reports.md) | [GitHub](https://github.com/p2p-org) | ☐ | ☐ | ☐ | -| [CoinFabrik](https://www.coinfabrik.com/) | [CoinFabrik On Ink Integration Tests](CoinFabrik_On_Ink_Integration_Tests.md) | [GitHub](https://github.com/CoinFabrik) | ☐ | ☒ | ☐ | +| [CoinFabrik](https://www.coinfabrik.com/) | [CoinFabrik On Ink Integration Tests](CoinFabrik_On_Ink_Integration_Tests.md) | [GitHub](https://github.com/CoinFabrik) | ☐ | ☒ | ☒ | | [Stake Plus Inc](https://stake.plus) | [Treasury Tracker](TreasuryTracker.md) | [GitHub](https://github.com/stake-plus) | ☐ | ☐ | ☐ | | [MOBR Systems](https://www.mobr.ai) | [Polkadot Analytics Platform](polkadot_analytics_platform.md) | [GitHub](https://github.com/mobr-ai) | ☐ | ☒ | ☐ | | [Infra3](https://network.infra-3.xyz) | [Hyperdot - Powerful data analysis and creations platform](Hyperdot.md) | [GitHub](https://github.com/Infra3-Network/hyperdot) | ☐ | ☐ | ☐ | From 7373be79d6129e29daccea2bf82f79e669dfe3ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Forn=C3=B3s?= Date: Tue, 19 Sep 2023 17:28:36 +0200 Subject: [PATCH 035/133] Ocelloids XCM Transfer Monitoring Service (#1972) --- .../ocelloids_xcm_monitoring_service.md | 264 ++++++++++++++++++ 1 file changed, 264 insertions(+) create mode 100644 applications/ocelloids_xcm_monitoring_service.md diff --git a/applications/ocelloids_xcm_monitoring_service.md b/applications/ocelloids_xcm_monitoring_service.md new file mode 100644 index 00000000000..9ddc44b43b3 --- /dev/null +++ b/applications/ocelloids_xcm_monitoring_service.md @@ -0,0 +1,264 @@ +# Ocelloids XCM Transfer Monitoring Service + +- **Team Name:** SO/DA zone +- **Payment Address:** Fiat 04.05.2023, 16:37 +- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 + +## Project Overview + +This grant proposal is a follow-up to the Ocelloids Monitoring SDK, previously delivered and available here: https://github.com/w3f/Grant-Milestone-Delivery/pull/934 + +The objective of this grant is to develop an open-source monitoring service using the Ocelloids SDK. This service will monitor XCM transfers across selected parachains. The primary purpose is to offer service providers integrating with a single chain (Asset Hub as starting point) and monitoring effects on other chains that are connected via HRMP and that use XCM as their message format. The service will support connecting to the configured networks through light clients in order to reduce infrastructure overhead for service providers. Users will have access to a self-hosted HTTP API to subscribe to XCM transfers and manage their subscriptions. A public Docker image will be published to facilitate service deployment. + +## Project Details + +The service will support bidirectional XCM transfers, namely asset teleports and reserve-based transfers, between selected parachains. + +The flow of the monitoring will work as follows: + +1. The service will monitor on the origin chain for the event `xcmpqueue.xcmpMessageSent` associated to the extrinsic sent by accounts of interest. The service will extract the XCM message hash from this event. +2. The service will query the storage in `parachainSystem.hrmpOutboundMessages` at the block of the event to get all outbound messages and filter for recipient chain IDs that are supported. Subsequently it will decode the message data to get the set of XCM instructions to filter for combinations of instructions related to asset teleports or reserve-based transfers (i.e. `ReserveAssetDeposited`, `ReceiveTeleportedAsset`, `WithdrawAsset`, and `DepositAsset`). Then, it will get the `blake2-256` hash of the message data to match it with the message hash obtained in Step 1. The service will store a persistent task to be matched in subsequent steps. +3. At the destination chain, the service will monitor for the events `xcmpqueue.success` and `xcmpqueue.fail`. It will match the message hash extracted from these events with the message hash of the origin. +4. It will send a notification to the configured webhook to inform of the status of the XCM transfer along with contextual information. See section [Notifications](#notifications) for details. + +Before using the service, users will need to configure the supported networks and connection providers. An example configuration can be found in the section [Service Configuration](#service-configuration). We will support connections to the network using both RPC clients and light clients. Further details on supported Substrate clients can be found in the [Supported Substrate Clients](#supported-substrate-clients) section. + +The service will expose an HTTP API for users to add subscriptions, specifying the channels they want to monitor and the accounts involved. Users can create multiple subscriptions and modify or delete them as needed. Users can also set up webhook endpoints to receive notifications related to their transfers. Detailed information about the API will be provided in the [Subscriptions API](#subscriptions-api) section. + +To keep the project manageable, the current scope includes support for Asset Hub, Astar and Acala. In the future, we plan to expand support to include more chains. + +### Notifications + +As previously mentioned, the monitoring service will accept webhook endpoints for delivering notifications. Initially, notifications will be provided for XCM message reception. + +The following types of notifications correspond to different scenarios: + +**XCM Execution Success** + +The XCM message sent from the origin chain was received and executed successfully. In this case, we will send an "XCM Transfer Success" notification, including contextual data such as the XCM message hash, block numbers of the XCM message on the origin and destination chains, sender account, beneficiary account, transferred asset and amount. + +**XCM Execution Fail** + +The XCM message was received at the destination chain but failed to execute correctly. In this case, an "XCM Transfer Fail" notification will be sent, including the XCM error returned in the event and additional contextual data. + +### Service Configuration + +The service will load a configuration file at startup, similar to the example provided below: + +```json +{ + "networks": [ + { + "name": "assethub", + "id": 1000, + "relay": "polkadot", + "provider": { + "type": "ws", + "url": "wss://asethub-rpc" + } + }, + { + "name": "parallel", + "id": 2012, + "relay": "polkadot", + "provider": { + "type": "smoldot" + } + } + ] +} +``` + +Other common service options, such as the listening port for the Subscriptions API, will be configurable using environment variables. + +### Subscriptions API + +#### API Methods + +`POST /api/subscriptions/{id}` + +Creates a new subscription document. To avoid the need for the client to store a server generated identifier, we will require the client to provide a unique subscription identifier. This will also allow the client to use meaningful identifiers e.g. `1000-2004-cohort1`. + +Example request body: + +```json +{ + "subject": "xcm-hrmp-transfers", + "args":{ + "origin": { + "network": "assethub", + "senders": [ + { + "accountId": "5GEWco3EGfM27Z9cAmVnzFnZ6Y7vkqNVvWM4NgQZj4n84Wh6", + "type": "AccountId32" + } + ] + }, + "destination": { + "network": "moonbeam" + }, + }, + "notification": { + "type": "webhook", + "url": "https://my-callback", + "maxRetries": 50 + } +} +``` + +`PATCH /api/subscriptions/{id}` + +Accepts a JSON Patch operations array according to [RFC6902](https://datatracker.ietf.org/doc/html/rfc6902) + +Example: + +```json +[ + { + "op": "add", + "path": "/args/origin/senders/1", + "value": { + "accountId": "5HWSEZr3DQXaN4Tk2Y9pYyAPKWeu28P94qeWWgUZ4k2mrbGB", + "type": "AccountId32" + } + } +] +``` + +The resulting patched document will be validated against the subscription document schema. + +`DELETE /api/subscriptions/{id}` + +Removes a subscription by ID. + +`GET /api/subscriptions` + +Returns the list of subscriptions. + +`GET /api/subscriptions/{id}` + +Returns the subscription document under the specified ID. + +`PUT /api/subscription/{id}` + +Replaces an existing subscription document by ID. + +### Supported Substrate Clients + +We will support WebSocket RPC endpoints and light clients. However, please note that light client support may be limited due to its experimental nature. + +During preliminary testing, we identified some limitations: + +1. Using the Smoldot through Subtrate-Connect only support bootnodes configured with secure WebSocket connection. In our exploration, we've seen that only Astar and Acala have bootnodes with secure WebSocket connections. However, it is easy to overcome this limitation since Smoldot supports all the connection types. Reference: [Github issue](https://github.com/paritytech/substrate-connect/issues/1543) + +2. Some runtimes, such as Moonbeam, currently cannot be compiled by the light client. Reference: [Github issue](https://github.com/smol-dot/smoldot/issues/1152) + +We will prioritize chains that are light client ready. + +### Storage + +We will provide persistent storage for operational data, including subscription configurations, processed block number and hashes, XCM messages and notifications. We will use [Level](https://github.com/Level/level) as the database abstraction backed by LevelDB. + +### Catch-up Mechanism + +We will implement a mechanism to process missed blocks in case the monitoring service experiences downtime. For each processed block, its hash and block height will be saved in the database. When the service restarts, it will begin following the current finalized blocks. If the parent hash of the finalized block does not match the last-known hash stored in the database, the service will start processing the missing parent hash blocks until all missing ones are processed. + +### Management Tools + +Since notifications and XCM message matching tasks are stored in the database and retried until success, we will provide a method to clear pending states. This is crucial to prevent indefinite retries of pending tasks. For example, if a webhook endpoint is changed while a notification is pending, it may never succeed. + +We will supply a script enabling administrators to inspect and remove XCM message matching and notification tasks from the database. + +### Tech Stack + +- Typescript +- Node.js +- Polkadot.js API +- Smoldot +- [Fastify](https://github.com/fastify/fastify) +- [Level](https://github.com/Level/level) + +## Ecosystem Fit + +This project aligns well with the growing demand for robust tooling and infrastructure necessary to fulfill Asset Hub's vision of becoming the main place for asset management within the Polkadot ecosystem. To expand its user base, Asset Hub must provide a solution that abstracts away the technical intricacies of cross-chain transfers and enhances the user experience for managing assets across the expansive Polkadot ecosystem. + +The Integrations Team at Parity is already taking initial steps toward achieving this goal by working on the Assets Transfer API and the NoS launch script. These efforts target custodians, exchanges, and institutions, simplifying integration with Asset Hub and the construction of XCM messages. The importance of these tools, along with the overarching vision for Asset Hub, is comprehensively outlined in Iker's [Polkadot forum post](https://forum.polkadot.network/t/new-tooling-and-infrastructure-to-facilitate-the-statemint-roadmap/1997). + +The addition of the Ocelloids XCM monitoring service will enhance this toolkit, providing institutions with a straightforward method to track their cross-chain transfers. This corresponds to step 4 of the "Withdrawals User Journey Example" in Iker's post, as detailed [here](https://forum.polkadot.network/t/new-tooling-and-infrastructure-to-facilitate-the-statemint-roadmap/1997#withdrawals-user-journey-example-5). + +With the inclusion of support for light clients in the service, institutions will experience a substantial reduction in infrastructure overhead since they will no longer need to run parachain nodes to monitor their transfers. + +Furthermore, the demand for a generalized monitoring solution with XCM support has been highlighted in discussions within the Polkadot community, as illustrated in this Polkadot forum post: [Generalized multichain monitoring solution](https://forum.polkadot.network/t/generalized-multichain-monitoring-solution/1297). + +## Team :busts_in_silhouette: + +### Team members + +- Marc Fornós +- Xueying Wang + +### Contact + +- **Contact Name:** Marc Fornós +- **Contact Email:** frozen.pomelo@gmail.com + +### Legal Structure + +N/A + +### Team's experience + +**Marc Fornós** has been designing and implementing software systems for 20 years. He is an expert in the area of distributed systems and data-intensive applications. His experience ranges from warehouse automation with radio-frequency terminals, to being the technical director of an airline post-sale revenue optimization software-as-a-service platform, generating millions in incremental revenue during eight years of operation. In the recent past, he was in charge of evolving a commercial Ethereum block explorer and bootstrapping an explorer for Substrate-based networks focused on the contracts pallet and ink! smart contracts. + +**Xueying Wang** pivoted to software development after completing an MSc. in Aerospace Engineering and has been in the industry for the past eight years. During this time, she pioneered conversational AI assistants for airlines, counting more than 20 assistants in production covering ten languages for customer service, FAQ and in-chat purchases. She also built a scalable publish-subscribe system to trigger actions on flight feed events for the automated agents. She participated in designing a composable Solid POD/RDF data browser and bootstrapping an explorer for Substrate-based networks focused on the contracts pallet and ink! smart contracts. + +### Team Code Repos + +- https://github.com/sodazone +- https://github.com/mfornos +- https://github.com/XY-Wang +- https://github.com/frozenpomelo (shared account) + +## Development Roadmap :nut_and_bolt: + +### Overview + +- **Total Estimated Duration:** 2 months +- **Full-Time Equivalent (FTE):** 2 +- **Total Costs:** 28,000 EUR + +### Milestone 1 + +- **Estimated duration:** 2 months +- **FTE:** 2 +- **Costs:** 28,000 EUR + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| **0a.** | License | Apache 2.0 | +| **0b.** | Documentation | We will provide both inline documentation of the code and a basic guide that explains how to set up and run the monitoring service. | +| **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 to ease the deployment and execution of the service. A Docker image of the service will be published in Docker Hub and Github Container Repository. | +| 1. | XCM Monitoring Service | The XCM monitoring service that supports asset teleports and reserve-based transfers between the following parachains: Asset Hub, Astar and Acala. The service will feature what was described in [Project Details](#project-details). | +| 2. | Management Tools | Administrator scripts to inspect and delete pending XCM messages matching and notification tasks, as described in [Management Tools](#management-tools). | + +## Future Plans + +For the XCM monitoring service, we have plans to expand its capabilities and reach which include: + +1. **Support for More Networks:** We plan to broaden the range of networks supported by the XCM monitoring service, enabling a more extensive and inclusive monitoring ecosystem. + +2. **Support for More XCM Protocols:** We will add support for XCMP when ready. + +3. **Enhanced Notifications:** Depending on user requirements and community feedback, we will extend our notification capabilities. This may involve providing notifications for asset transfers' initiation, such as when the block containing the XCM transfer is finalized on the origin chain. We are also considering notifications for when XCM messages sent through HRMP are processed on intermediate chains. + +Our long-term vision for Ocelloids extends beyond just monitoring XCM transfers. We aim to create a hassle-free, comprehensive monitoring portal for Substrate networks and smart contracts within the ecosystem. This portal will offer a set of advanced features, including: + +- Ready-to-use monitoring logic, i.e. monitoring programs, for the entire ecosystem. The XCM monitoring logic built through this grant could be one such monitoring program available. +- Marketplace for monitoring programs where users can subscribe to the programs that correspond to their needs. +- Advanced capabilities: anomaly and attack detection, machine learning, and forecasting. +- Real-time actionable insights on network, contract performance, compliance, and security. +- Multiple data centres for global, high-availability monitoring. +- Seamless integration with existing systems like Prometheus and SIEM. + +In summary, our future plans encompass not only expanding the technical capabilities of the XCM monitoring service but also positioning as a central hub for monitoring and managing Substrate networks and smart contracts within the broader multi-chain ecosystem. From 873d1edf811b4e771d094ef78cbb5732a2b8de08 Mon Sep 17 00:00:00 2001 From: Keegan | W3F <35080151+keeganquigley@users.noreply.github.com> Date: Wed, 20 Sep 2023 02:55:06 -0400 Subject: [PATCH 036/133] Update analysis-website-and-data-platform.md (#1984) --- .../Under Development/analysis-website-and-data-platform.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/RFPs/Under Development/analysis-website-and-data-platform.md b/docs/RFPs/Under Development/analysis-website-and-data-platform.md index 3bbc1cc0696..6d043841d71 100644 --- a/docs/RFPs/Under Development/analysis-website-and-data-platform.md +++ b/docs/RFPs/Under Development/analysis-website-and-data-platform.md @@ -1,6 +1,6 @@ # Analytics Website/Data Platform -* **Status:** [Under Development 1](https://github.com/w3f/Grants-Program/pull/1716), [Under Development 2](https://github.com/w3f/Grants-Program/pull/1768) +* **Status:** [Under Development 1](https://github.com/w3f/Grants-Program/pull/1716), [Under Development 2](https://github.com/w3f/Grants-Program/pull/1768), [Under Development 3](https://github.com/w3f/Grants-Program/blob/master/applications/fidi-dotsight-analytics.md) * **Proposer:** [Keegan Quigley](https://github.com/keeganquigley) * **Teams/People that could deliver the RFP**: @web3go-xyz From 22ff1159c9cead8a01e9221c4c3efb79fef146d8 Mon Sep 17 00:00:00 2001 From: Keegan | W3F <35080151+keeganquigley@users.noreply.github.com> Date: Wed, 20 Sep 2023 02:55:33 -0400 Subject: [PATCH 037/133] Update index.md (#1983) --- applications/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/index.md b/applications/index.md index 0e1f96b364c..c51cca61239 100644 --- a/applications/index.md +++ b/applications/index.md @@ -104,7 +104,7 @@ Use this page for an overview of all public grants and their status. Use the sid | [SO/DA zone](https://github.com/mfornos) | [Ocelloids Monitoring SDK grant application](ocelloids_monitoring_sdk.md) | [GitHub](https://github.com/mfornos) | ☐ | ☒ | ☒ | | [Antier Solutions Pvt. Ltd.](https://github.com/kulwindersingh-ant)| [Grants webapp](Grant_management_webapp.md) | [GitHub](https://github.com/kulwindersingh-ant) | ☐ | ☒ | ☒ | | [Zaniyar Jahany](https://github.com/Zaniyar/) | [Grantmaster](grantmaster.md) | [GitHub](https://github.com/Zaniyar/plant2earn/) | ☐ | ☐ | ☐ | -| [FiDi Tech](https://fidi.tech/) | [FiDi DotSight: Analytics Data Platform for DotSama](fidi-dotsight-analytics.md)| [GitHub](https://github.com/fidi-tech) | ☐ | ☐ | ☐ | +| [FiDi Tech](https://fidi.tech/) | [FiDi DotSight: Analytics Data Platform for DotSama](fidi-dotsight-analytics.md)| [GitHub](https://github.com/fidi-tech) | ☐ | ☒ | ☐ | | [Ideal Labs](https://www.idealabs.network/) | [Cryptex](cryptex.md)| [GitHub](https://github.com/ideal-lab5) | ☐ | ☒ | ☐ | | [Xcavate](https://xcavate.io/) | [Real estate centric lending and asset minting protocol](Xcavate.md)| [GitHub](https://github.com/xcavateblockchain) | ☐ | ☐ | ☐ | | [Syncra](https://syncra.xyz) | [No Code DAO Maker and ZK Powered Private Voting Solution](Syncra.md)| [GitHub](https://github.com/SyncraDAO) | ☐ | ☐ | ☐ | From bdfe678d4d700abc3fd69d2811c06516b9e59f4d Mon Sep 17 00:00:00 2001 From: David Hawig Date: Wed, 20 Sep 2023 09:04:11 +0200 Subject: [PATCH 038/133] Update index.md add Ocelloids XCM Transfer Monitoring Service --- applications/index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/applications/index.md b/applications/index.md index c51cca61239..5d89a454dd8 100644 --- a/applications/index.md +++ b/applications/index.md @@ -71,6 +71,7 @@ Use this page for an overview of all public grants and their status. Use the sid | [Open Smart Contract](https://github.com/OpenSmartContract) | [ISO20022 PoC](./ISO20022.md) | [GitHub](https://github.com/OpenSmartContract) | ☐ | ☐ | ☐ | | [DAOsign](https://daosign.org/) | [DAOsign](./DAOsign.md) | [GitHub](https://github.com/DAOsign) | ☐ | ☐ | ☐ | | [Zondax AG](https://zondax.ch/) | [PoC Polkadot Conformance Tests](./polkadot_tests.md) | [GitHub](https://github.com/zondax) | ☐ | ☐ | ☐ | +| [SO/DA zone](https://github.com/sodazone) | [Ocelloids XCM Transfer Monitoring Service](ocelloids_xcm_monitoring_service.md) | [GitHub](https://github.com/sodazone) | ☐ | ☐ | ☐ | [🔝](#2023) From 8c9fe740e206c309b7c1769c720359c78e8e7e5c Mon Sep 17 00:00:00 2001 From: Nikhil W3F <142136841+nikw3f@users.noreply.github.com> Date: Wed, 20 Sep 2023 10:11:20 +0200 Subject: [PATCH 039/133] ISO-8583-implementation milestone 1 (#1985) --- applications/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/index.md b/applications/index.md index 5d89a454dd8..638641193d9 100644 --- a/applications/index.md +++ b/applications/index.md @@ -111,7 +111,7 @@ Use this page for an overview of all public grants and their status. Use the sid | [Syncra](https://syncra.xyz) | [No Code DAO Maker and ZK Powered Private Voting Solution](Syncra.md)| [GitHub](https://github.com/SyncraDAO) | ☐ | ☐ | ☐ | | [P2P.ORG](http://p2p.org/) | [Validator Monitoring Service](Validator_Monitoring_Service.md)| [GitHub](https://github.com/p2p-org/polkadot_monitoring_service) | ☐ | ☐ | ☐ | | [Colorful Notion](https://github.com/colorfulnotion) | [Deep Account Analytics in Three Tiers for the Polkadot Data Alliance](DeepAccountAnalytics-PolkadotDataAlliance.md)| [GitHub](https://github.com/colorfulnotion/) | ☐ | ☐ | ☐ | -| [Dastanbek Samatov](https://dastansam.github.io/) | [ISO-8553 PoC implementation](ISO-8583-implementation.md)| [GitHub](https://github.com/dastanbeksamatov) | ☐ | ☐ | ☐ | +| [Dastanbek Samatov](https://dastansam.github.io/) | [ISO-8553 PoC implementation](ISO-8583-implementation.md)| [GitHub](https://github.com/dastanbeksamatov) | ☐ | ☒ | ☐ | | [Eiger](https://www.eiger.co/) | [Substrate Move System Pallet, pt. 1](Substrate_Move_System_Pallet_1.md)| [GitHub](https://github.com/eigerco) | ☐ | ☒ | ☒ | | [Davanti](https://github.com/liangjh) | [Dot-ETL Project](dot_etl.md)| [GitHub](https://github.com/liangjh) | ☐ | ☐ | ☐ | | [ParaSpell](https://github.com/paraspell) | [LightSpell: XCM API](LightSpell-proposal.md)| [GitHub](https://github.com/paraspell) | ☐ | ☒ | ☒ | From 1660a5e5b1e1911698e57ce746f7beca05dd7028 Mon Sep 17 00:00:00 2001 From: Cwilli30 <144842888+Cwilli30@users.noreply.github.com> Date: Wed, 20 Sep 2023 09:22:22 -0400 Subject: [PATCH 040/133] Add StorageHub Proposal (#1970) * Add StorageHub Proposal * Update StorageHub.md * Update StorageHub.md --------- Co-authored-by: Stephen Shelton --- applications/StorageHub.md | 169 +++++++++++++++++++++++++++++++++++++ 1 file changed, 169 insertions(+) create mode 100644 applications/StorageHub.md diff --git a/applications/StorageHub.md b/applications/StorageHub.md new file mode 100644 index 00000000000..93f5b783fee --- /dev/null +++ b/applications/StorageHub.md @@ -0,0 +1,169 @@ +# StorageHub Grant Application + +- **Team Name:** Moonsong Labs +- **Payment Address:** USD Wire Preferred +- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 3 + +## Project Overview :page_facing_up: + +### Overview + +* Tagline Describer + * StorageHub is a decentralized storage public good parachain optimized for file based storage and larger data sets that are not suitable to be stored directly in standard parachain storage. The proposed parachain will provide developers in the Polkadot ecosystem with an alternate decentralized and substrate-based storage solution and functionality. + +* Purpose + * The goal of this project is to provide storage for web3 applications and protocols within the Polkadot & Kusama ecosystems. Unlike other storage protocols that focus on end user or enterprise storage scenarios, StorageHub’s feature set optimizes for web3 application storage use cases. StorageHub aims to provide a decentralized storage option that allows web3 applications to store large files and large data sets in a cost efficient way without sacrificing decentralization properties. + +* Problem + * Storage oriented chains, like Filecoin and Arweave, have emerged to provide more efficient and decentralized storage capabilities. However, these chains are standalone chains, and are not designed to interoperate with other chains. The problem is that web3 apps need smart contract logic and compute to be combined with storage to make a complete solution, but smart contracts and compute generally reside on different chains (e.g. Ethereum Mainnet, L2 rollups, Parachains) vs. on the storage optimized chains (Filecoin, Arweave). In response, these storage chains have tried to bolster their smart contract capabilities (e.g. Filecoin’s FVM, Arweave’s Smartweave), but they have and will continue to be hard pressed to convince all compute and smart contract activity to migrate to their chains. + + * The ideal scenario would be to combine smart contract execution from e.g. a Substrate based Polkadot parachain such as Moonbeam or Astar with storage from a storage optimized chain like Arweave. If we look at NFT scenarios as an example, this is happening. The scenario is that you have an NFT contract on Mainnet, that has a pointer to a JPEG via an Arweave URL. The problem is that this is a one-way pointer between 2 independent systems. It is up to the application to mediate interactions between the 2 chains in the client. There is no awareness or connection between the contract and the JPEG other than the URL pointer in the contract. What if the contract could update access to and ownership of the actual data itself? What if the contract could read and act on the data stored? Simple functionality like this would open up a large number of new scenarios. End user UX could be substantially improved by removing the need for the user to understand and interact directly with both the contract and the storage blockchains, using potentially different accounts, keys, etc. + +* Vision + * StorageHub is a storage optimized parachain that is designed to work with other Polkadot & Kusama parachains. It focuses on storing data in an efficient and decentralized way, while allowing that storage to be accessed, used, and managed by other parachains. It will be possible for users to directly interact with the storage on the chain, but StorageHub also seeks to natively interoperate with existing parachains via XCM. + +* Inspiration + * Amazon S3 + * (https://en.wikipedia.org/wiki/Amazon_S3) was a key building block of web2 cloud infrastructure that greatly eased and improved data storage in web2 applications. With S3 devs could store arbitrarily large amounts of data in their apps without needing to get bogged down with storage infrastructure or scaling concerns. StorageHub seeks to do something similar for web3 devs building on Polkadot. + + * Filecoin + * (https://filecoin.io/) is a storage optimized chain that creates a 2 sided marketplace of storage providers and storage consumers. The project is responsible for key innovations such as ipfs and libp2p, among other things. In many ways filecoin sets the standard for decentralized storage in the web3 space. Although the protocol seems focused on trying to compete with cloud and other centralized storage providers. + + * Arweave + * (https://www.arweave.org/) is a storage optimized chain like filecoin, but that emphasizes permanent storage vs creating a time based storage marketplace. Users pay once to store data on arweave forever. It is popular to use for metadata associated with NFTs, among other things. + + * Project Greenfield + * (https://github.com/bnb-chain/greenfield-whitepaper/blob/main/README.md) is a storage optimized chain designed to work with the BNB chain. It was born out of practical needs that the state of BNB chain is already many terabytes large and there is a need to offload unnecessary storage from the main BNB chain. There are lots of good cross chain ideas in Greenfield including having storage on Greenfield represented as NFTs on BNB chain which can be managed and whose ownership can be changed. + +### Project Details + +* Design and Implementation Principles + * StorageHub will be a Substrate-native implementation deployed to both Kusama and Polkadot. + * It will be a public good chain that uses DOT for fees, governance, and other utilities. + * It will offer native XCM support such that parachains can interact with stored data and metadata in a trustless way.. + * End users and Dapps should be able to store and retrieve stored data from the chain. + * The chain will create a 2 sided marketplace of storage providers and storage consumers. + * A minimum of N copies of any given piece of data should be stored such that the system can survive the loss of some copies without losing the original dataset. Erasure encoding or similar technique could be optionally used to achieve this. + * On the tradeoff spectrum between decentralization vs performance, we opt to always maintain good decentralization properties even if that means less performance is possible. + * There will need to be a network of storage providers that supply storage to the blockchain. + * The parachain will track metadata about the data being stored, and facilitate payments between the data owner and the storage provider. + * A set of metadata associated with any stored data will be managed by StorageHub. This will allow the data owner to control access, and to transfer ownership of the data to other parties. + * StorageHub doesn’t aim to have smart contract functionality itself. Rather it strives to integrate, work with, and complement other smart contract or native parachains. + * In creating the design for StorageHub, we will leverage previous research into polkadot and substrate based filestorage solutions such as: + * https://github.com/w3f/Grants-Program/pull/1888 + * https://github.com/common-good-storage/report/blob/master/src/first.md + +* Key Questions and Anticipated Challenges + * Existing storage networks focus more on storage but less on user accessibility to that data. But storage without accessibility isn’t that useful to users. Can we incorporate outside accessibility guarantees into the protocol? + * What type of storage will it provide? Only immutable hash/value type or will it support mutable references (like a filesystem, useful to store/manage a web service or page) + * What kind of XCM interaction (API) do we want to support? + * XCM (mostly HRMP) costs may make some scenarios prohibitive. + * Given the costs of XCM, to what degree does it make sense to store metadata on StorageHub vs on the controlling chain? + * What do sustainable economics look like for storage providers, especially given that a public good chain won’t have a token to help bootstrap this side of the market? + * How is data provided and stored without increasing PoV? This will most likely need to be a combination of offchain workers and a separate storage system. Regular substrate state can’t be used for larger data storage, it would be used to keep tracking information about where and what data is stored. + * What does this new data provider node look like and how does it work with other node types supporting the system? + * How will the system ensure that enough copies of a given piece of data are present and available, given that storage provider nodes can go offline at any time. + * How is it checked that data providers have the data they are being paid to store? What are the consequences of failing this check? + * How do you manage censorship of data? + * Different kinds of data that could be subject to take down requests. Data that e.g. a political party doesn’t like. Data that is illegal in a given jurisdiction due to copyright or similar. Data that is both illegal and morally offensive. + * Perhaps OpenGov tracks could be used for censorship takedowns. + * Or data storage providers could be given censorship controls, and a permissionless staking design would make it so token holders could vote out providers that are out of line with community censorship standards. + + +### Ecosystem Fit +* Where and How Does StorageHub Fit In + * There are currently no native Polkadot decentralized storage solutions and StorageHub aims to fill that gap. + * Crust provides an incentive layer on top of existing storage protocols like ipfs. Whereas StorageHub seeks to be a storage provider itself. + * StorageHub will be natively accessible by other parachains via XCM. + +* Target Audience + * StorageHub is targeted for chains, contracts, teams and individuals that require data storage of larger datasets, and who value that storage being decentralized, censorship resistant, and permanent as long as storage fees are paid. + * StorageHub will prioritize web3 developers that want to incorporate decentralized storage into their applications. This means a focus on APIs, SDKs, developer docs and education. + * StorageHub will secondarily provide a reference application which allows users to directly interact with the system, storing data and managing data storage. + +* Use Cases + * NFT, NFT marketplace, and Metaverse metadata storage + * Dapps that require data storage + * Personal and enterprise data storage - same as other storage chains. + * DAO owned data assets - DAOs operating on existing parachains can manage access to and ownership of data assets on StorageHub. + * “True” NFTs that can have the entirety of their associated data assets on-chain via a combination of an e.g. NFT contract and StorageHub stored assets. + * Markets for data sets using NFT marketplaces. + * New types of smart contracts that can act on StorageHub stored data on an one off or continuous basis + + +## Team :busts_in_silhouette: + +### Team members +* Team Leader: Derek Yoo +* Team: + * Alan Sapède + * Chase Williams + * Olivia Smith + * Engineers to be hired + +### Contact + +- **Contact Name:** Chase Williams +- **Contact Email:** Chase@moonsonglabs.com +- **Website:** https://moonsonglabs.com/ + +### Legal Structure + +- **Registered Address:** 1500 District Ave Burlington, MA 01803 +- **Registered Legal Entity:** Delaware C Corp + +### Team's experience + +* The Moonsong Labs protocol engineering team has deep expertise in Substrate, EVM, cross chain technologies, and launching parachains on Kusama and Polkadot. Our team is the core engineering team for the Moonbeam Network and have made significant contributions to the ecosystem, such as contributions to Frontier, the Moonwall testing framework, parachain-staking pallet, and xcm tools. The engineering team is made up of 13+ engineers and is rapidly growing.  + +* Team Example Code Repos: + * https://github.com/Moonsong-Labs + * https://github.com/moonbeam-foundation/moonbeam + +* Team LinkedIn Profiles: + * [Alan Sapede](https://www.linkedin.com/in/alansapede/) + * [Derek Yoo](https://www.linkedin.com/in/derek-yoo-8a050/) + * [Olivia Smith](https://www.linkedin.com/in/olivia-smith-69966616a/) + * [Chase Williams](https://www.linkedin.com/in/chase-williams-442712b1/) + * Engineering Team TBD + +## Development Roadmap :nut_and_bolt: + +### Overview +* Total Estimated Duration: 2 Months + * Milestone #1: 1 Month + * Milestone #2: 1 Month +* Full-Time Equivalent (FTE): 2.5 +* Total Costs: $84,500 (USD) + +### Milestone #1: Research & Design +* Estimated duration: 1 Month +* FTE: 2.5 +* Costs: $42,250 (USD) + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| **0a.** | Copyright and Licenses | CC BY 4.0 / GPLv3 | +| **0b.** | Research & Investigation | * Understand and clarify key requirements via conversations with key stakeholders
* Study existing solutions and designs to see what technologies and approaches can be leveraged vs. being created
* Research decentralized storage competitive projects, including but not limited to Filecoin, Arweave, Sia, Storj as well as existing storage work in the Polkadot ecosystem
* Examine trade offs other decentralized storage providers have made including, but not limited to retrieval times, small v. large files, resiliency, cost efficacy, security & privacy, redundancy, user learning curve and environmental sustainability
* Begin to design features compatible with Polkadot’s technical approach and philosophy
* The research & design document will include the gathered requirements and the list of researched solutions & features that could meet those requirements, as well as all supporting evidence and documentation that led to those proposed requirements and features. The document will also expand its research on the “Key Questions and Anticipated Challenges” section | +| **0c.** | Feature Analysis | * In depth research of the technical feasibility of key features and components
*Evaluation of proposed feature sets, inclusive of a detailed compatibility/tradeoff matrix leading to a clearly defined set of proposed StorageHub features
* Stakeholders will be asked to provide feedback on those compatibility/tradeoffs and to help choose a good combination of features
* Definition and documentation of key use cases and scenarios | +| **0d.** | Article | * The main deliverable for the first month is v0.5 of the research & design document. The research and design document will include the feature analysis, proposed MVP feature set including key use cases, and address the points in (0b.) and (0c.) | + +### Milestone #2: Technical Deliverables +* Estimated Duration: 1 month +* FTE: 2.5 +* Costs: $42,250 (USD) + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| **0a.** | License Type | CC BY 4.0 / GPLv3 | +| **0b.** | Documentation | * For the second milestone we will provide v1.0 of the research & design document. The v1.0 document will include a high level technical design & architecture of StorageHub, including major subsystems, incorporating and building upon research from the first v0.5 milestone
* This v1.0 research and design document will be shared with key stakeholders to obtain specific feedback that will help us continue to refine StorageHub
* In addition to this, we will also begin to build prototype code that supports and tests the v1.0 technical design considerations. A basic tutorial will be included that explains how a user can run our prototype code and send test transactions | +| **0c.** | Testing & Testing Guide | * Software developed for this milestone will be prototype quality, and thus will not have the tests required for production deployment. However, the prototype code will be sufficient to demonstrate viability or compatibility of key aspects of the design approach
* As outlined in (0b.), a basic tutorial will be included that explains how a user can run our prototype code and send test transactions | +| **0d.** | Docker | * We will provide a Dockerfile(s) that can be used to run the prototype associated with this milestone | +| **0e.** | Prototype Code | * We will create a Substrate and or RUST prototype to validate proposed designs described in the v1.0 design doc. In particular, the approach for the data provider role, and being able to store data in a redundant fashion, and retrieve data from the provider
* The source code for the prototype will be delivered as part of the second month milestone. The prototype will have limited features (e.g. not decentralized, limited API, etc) or might not be complete but will provide sufficient functionalities to demonstrate key parts of the proposed design
* We will provide a Dockerfile(s) that can be used to run the prototype associated with this milestone | +| **0f.** | Resource Estimation & Planning | * Estimate the time, budget, and resources required to implement a minimum viable feature set for the project
* Break down the feature into smaller tasks or user stories
* Create a proposed project plan that includes implementation milestones, and responsibilities
* Include proposed next steps in the research and design doc | +| **0g.** | Article | * The main deliverables for this milestone are defined as below
* Progressing the v0.5 document to a v1.0 state outlined in section (0b.)
* A Substrate and or RUST prototype to validate proposed designs described in the v1.0, outlined in section (0e.)
* A basic tutorial will be included that explains how a user can run our prototype code and send test transactions outlined in section (0c.) | + + +## Future Plans +* We are currently in the process of hiring fulltime resources that will be dedicated to this engineering effort. +* The intended long term plan is to successfully complete this initial grant to then set us up to apply for a follow on long term grant From a097d07d25447a60ba4da0704c96b32d5e7530c1 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Wed, 20 Sep 2023 15:25:15 +0200 Subject: [PATCH 041/133] Update index.md Add StorageHub --- applications/index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/applications/index.md b/applications/index.md index 638641193d9..e78c751a9e0 100644 --- a/applications/index.md +++ b/applications/index.md @@ -72,6 +72,7 @@ Use this page for an overview of all public grants and their status. Use the sid | [DAOsign](https://daosign.org/) | [DAOsign](./DAOsign.md) | [GitHub](https://github.com/DAOsign) | ☐ | ☐ | ☐ | | [Zondax AG](https://zondax.ch/) | [PoC Polkadot Conformance Tests](./polkadot_tests.md) | [GitHub](https://github.com/zondax) | ☐ | ☐ | ☐ | | [SO/DA zone](https://github.com/sodazone) | [Ocelloids XCM Transfer Monitoring Service](ocelloids_xcm_monitoring_service.md) | [GitHub](https://github.com/sodazone) | ☐ | ☐ | ☐ | +| [Moonsong Labs](https://moonsonglabs.com/) | [StorageHub](StorageHub.mdd) | [GitHub](https://github.com/Moonsong-Labs) | ☐ | ☐ | ☐ | [🔝](#2023) From 2753ba556fe270e792eb01896b5823b34555931a Mon Sep 17 00:00:00 2001 From: David Hawig Date: Wed, 20 Sep 2023 15:26:01 +0200 Subject: [PATCH 042/133] Update index.md Fix links --- applications/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/index.md b/applications/index.md index e78c751a9e0..2485f83ad6a 100644 --- a/applications/index.md +++ b/applications/index.md @@ -72,7 +72,7 @@ Use this page for an overview of all public grants and their status. Use the sid | [DAOsign](https://daosign.org/) | [DAOsign](./DAOsign.md) | [GitHub](https://github.com/DAOsign) | ☐ | ☐ | ☐ | | [Zondax AG](https://zondax.ch/) | [PoC Polkadot Conformance Tests](./polkadot_tests.md) | [GitHub](https://github.com/zondax) | ☐ | ☐ | ☐ | | [SO/DA zone](https://github.com/sodazone) | [Ocelloids XCM Transfer Monitoring Service](ocelloids_xcm_monitoring_service.md) | [GitHub](https://github.com/sodazone) | ☐ | ☐ | ☐ | -| [Moonsong Labs](https://moonsonglabs.com/) | [StorageHub](StorageHub.mdd) | [GitHub](https://github.com/Moonsong-Labs) | ☐ | ☐ | ☐ | +| [Moonsong Labs](https://moonsonglabs.com/) | [StorageHub](./StorageHub.md) | [GitHub](https://github.com/Moonsong-Labs) | ☐ | ☐ | ☐ | [🔝](#2023) From eff195ba25430cd92a6770182752148e2380617b Mon Sep 17 00:00:00 2001 From: Noc2 Date: Wed, 20 Sep 2023 14:38:12 +0100 Subject: [PATCH 043/133] Fix website --- applications/StorageHub.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/applications/StorageHub.md b/applications/StorageHub.md index 93f5b783fee..ac54a8ebfc4 100644 --- a/applications/StorageHub.md +++ b/applications/StorageHub.md @@ -144,8 +144,8 @@ | Number | Deliverable | Specification | | -----: | ----------- | ------------- | | **0a.** | Copyright and Licenses | CC BY 4.0 / GPLv3 | -| **0b.** | Research & Investigation | * Understand and clarify key requirements via conversations with key stakeholders
* Study existing solutions and designs to see what technologies and approaches can be leveraged vs. being created
* Research decentralized storage competitive projects, including but not limited to Filecoin, Arweave, Sia, Storj as well as existing storage work in the Polkadot ecosystem
* Examine trade offs other decentralized storage providers have made including, but not limited to retrieval times, small v. large files, resiliency, cost efficacy, security & privacy, redundancy, user learning curve and environmental sustainability
* Begin to design features compatible with Polkadot’s technical approach and philosophy
* The research & design document will include the gathered requirements and the list of researched solutions & features that could meet those requirements, as well as all supporting evidence and documentation that led to those proposed requirements and features. The document will also expand its research on the “Key Questions and Anticipated Challenges” section | -| **0c.** | Feature Analysis | * In depth research of the technical feasibility of key features and components
*Evaluation of proposed feature sets, inclusive of a detailed compatibility/tradeoff matrix leading to a clearly defined set of proposed StorageHub features
* Stakeholders will be asked to provide feedback on those compatibility/tradeoffs and to help choose a good combination of features
* Definition and documentation of key use cases and scenarios | +| **0b.** | Research & Investigation | * Understand and clarify key requirements via conversations with key stakeholders
* Study existing solutions and designs to see what technologies and approaches can be leveraged vs. being created
* Research decentralized storage competitive projects, including but not limited to Filecoin, Arweave, Sia, Storj as well as existing storage work in the Polkadot ecosystem
* Examine trade offs other decentralized storage providers have made including, but not limited to retrieval times, small v. large files, resiliency, cost efficacy, security & privacy, redundancy, user learning curve and environmental sustainability
* Begin to design features compatible with Polkadot’s technical approach and philosophy
* The research & design document will include the gathered requirements and the list of researched solutions & features that could meet those requirements, as well as all supporting evidence and documentation that led to those proposed requirements and features. The document will also expand its research on the “Key Questions and Anticipated Challenges” section | +| **0c.** | Feature Analysis | * In depth research of the technical feasibility of key features and components
*Evaluation of proposed feature sets, inclusive of a detailed compatibility/tradeoff matrix leading to a clearly defined set of proposed StorageHub features
* Stakeholders will be asked to provide feedback on those compatibility/tradeoffs and to help choose a good combination of features
* Definition and documentation of key use cases and scenarios | | **0d.** | Article | * The main deliverable for the first month is v0.5 of the research & design document. The research and design document will include the feature analysis, proposed MVP feature set including key use cases, and address the points in (0b.) and (0c.) | ### Milestone #2: Technical Deliverables @@ -156,12 +156,12 @@ | Number | Deliverable | Specification | | -----: | ----------- | ------------- | | **0a.** | License Type | CC BY 4.0 / GPLv3 | -| **0b.** | Documentation | * For the second milestone we will provide v1.0 of the research & design document. The v1.0 document will include a high level technical design & architecture of StorageHub, including major subsystems, incorporating and building upon research from the first v0.5 milestone
* This v1.0 research and design document will be shared with key stakeholders to obtain specific feedback that will help us continue to refine StorageHub
* In addition to this, we will also begin to build prototype code that supports and tests the v1.0 technical design considerations. A basic tutorial will be included that explains how a user can run our prototype code and send test transactions | -| **0c.** | Testing & Testing Guide | * Software developed for this milestone will be prototype quality, and thus will not have the tests required for production deployment. However, the prototype code will be sufficient to demonstrate viability or compatibility of key aspects of the design approach
* As outlined in (0b.), a basic tutorial will be included that explains how a user can run our prototype code and send test transactions | +| **0b.** | Documentation | * For the second milestone we will provide v1.0 of the research & design document. The v1.0 document will include a high level technical design & architecture of StorageHub, including major subsystems, incorporating and building upon research from the first v0.5 milestone
* This v1.0 research and design document will be shared with key stakeholders to obtain specific feedback that will help us continue to refine StorageHub
* In addition to this, we will also begin to build prototype code that supports and tests the v1.0 technical design considerations. A basic tutorial will be included that explains how a user can run our prototype code and send test transactions | +| **0c.** | Testing & Testing Guide | * Software developed for this milestone will be prototype quality, and thus will not have the tests required for production deployment. However, the prototype code will be sufficient to demonstrate viability or compatibility of key aspects of the design approach
* As outlined in (0b.), a basic tutorial will be included that explains how a user can run our prototype code and send test transactions | | **0d.** | Docker | * We will provide a Dockerfile(s) that can be used to run the prototype associated with this milestone | -| **0e.** | Prototype Code | * We will create a Substrate and or RUST prototype to validate proposed designs described in the v1.0 design doc. In particular, the approach for the data provider role, and being able to store data in a redundant fashion, and retrieve data from the provider
* The source code for the prototype will be delivered as part of the second month milestone. The prototype will have limited features (e.g. not decentralized, limited API, etc) or might not be complete but will provide sufficient functionalities to demonstrate key parts of the proposed design
* We will provide a Dockerfile(s) that can be used to run the prototype associated with this milestone | -| **0f.** | Resource Estimation & Planning | * Estimate the time, budget, and resources required to implement a minimum viable feature set for the project
* Break down the feature into smaller tasks or user stories
* Create a proposed project plan that includes implementation milestones, and responsibilities
* Include proposed next steps in the research and design doc | -| **0g.** | Article | * The main deliverables for this milestone are defined as below
* Progressing the v0.5 document to a v1.0 state outlined in section (0b.)
* A Substrate and or RUST prototype to validate proposed designs described in the v1.0, outlined in section (0e.)
* A basic tutorial will be included that explains how a user can run our prototype code and send test transactions outlined in section (0c.) | +| **0e.** | Prototype Code | * We will create a Substrate and or RUST prototype to validate proposed designs described in the v1.0 design doc. In particular, the approach for the data provider role, and being able to store data in a redundant fashion, and retrieve data from the provider
* The source code for the prototype will be delivered as part of the second month milestone. The prototype will have limited features (e.g. not decentralized, limited API, etc) or might not be complete but will provide sufficient functionalities to demonstrate key parts of the proposed design
* We will provide a Dockerfile(s) that can be used to run the prototype associated with this milestone | +| **0f.** | Resource Estimation & Planning | * Estimate the time, budget, and resources required to implement a minimum viable feature set for the project
* Break down the feature into smaller tasks or user stories
* Create a proposed project plan that includes implementation milestones, and responsibilities
* Include proposed next steps in the research and design doc | +| **0g.** | Article | * The main deliverables for this milestone are defined as below
* Progressing the v0.5 document to a v1.0 state outlined in section (0b.)
* A Substrate and or RUST prototype to validate proposed designs described in the v1.0, outlined in section (0e.)
* A basic tutorial will be included that explains how a user can run our prototype code and send test transactions outlined in section (0c.) | ## Future Plans From 8ee69f74c1fe432f3e139a73e974d09d2d077ff0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20M=C3=BCller?= Date: Thu, 21 Sep 2023 10:16:51 +0200 Subject: [PATCH 044/133] Update index.md Fix pallet-maci link and status --- applications/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/index.md b/applications/index.md index 2485f83ad6a..cbbe1bb5818 100644 --- a/applications/index.md +++ b/applications/index.md @@ -493,7 +493,7 @@ Use this page for an overview of all public grants and their status. Use the sid | [Nathan Schwermann](https://github.com/nschwermann) | [PolkaJ Android Support](./polkaj_android_support.md) | [GitHub](https://github.com/nschwermann) | ☐ | ☒ | ☐ | | [Acala](https://acala.network/) | [xtokens - XCM Implementation for Fungible Assets](./xtokens.md) | [GitHub](https://github.com/open-web3-stack/open-runtime-module-library/tree/master/xtokens) | ☐ | ☒ | ☒ | | [NUTS Finance](https://nuts.finance/) | [Stable Asset](./stable-asset.md) | [GitHub](https://github.com/nutsfinance) | ☐ | ☒ | ☒ | -| [MVP Workshop](https://mvpworkshop.co/) | [pallet-maci (Minimal Anti Collusion Infrastructure)](./substrate_startkit_GUI.md) | [GitHub](https://github.com/MVPWorkshop) | ☐ | ☐ | ☐ | +| [MVP Workshop](https://mvpworkshop.co/) | [pallet-maci (Minimal Anti Collusion Infrastructure)](./pallet_maci.md) | [GitHub](https://github.com/MVPWorkshop) | ☒ | ☐ | ☐ | | [X-Predict](https://x-predict.com/) | [Decentralized prediction market](./XPredictMarket.md) | [GitHub](https://github.com/XPredictMarket) | ☐ | ☐ | ☐ | | [Chevdor](https://www.chevdor.com/) | SRTOOL App | [GitLab](https://gitlab.com/chevdor/srtool-app) | ☐ | ☒ | ☒ | | [Bit.Country](http://bit.country/) | [A decentralized world - Phase 2](./bit_country_m2.md) | [GitHub](https://github.com/bit-country) | ☐ | ☒ | ☒ | From bfaff3e3c96d03ce43a0907e09beefcd04d1d22a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20M=C3=BCller?= Date: Thu, 21 Sep 2023 12:09:34 +0200 Subject: [PATCH 045/133] Update how-to-apply.md --- docs/Process/how-to-apply.md | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/docs/Process/how-to-apply.md b/docs/Process/how-to-apply.md index cd1d80b9dca..23e7f73261b 100644 --- a/docs/Process/how-to-apply.md +++ b/docs/Process/how-to-apply.md @@ -4,9 +4,15 @@ title: 1. Application --- -:::caution +:::tip -The process below is independent of the [level](../Introduction/levels.md). Payment is made in fiat, Bitcoin, USDT (on Kusama or Polkadot) or USDC/DAI (Ethereum). If you want to apply in **private**, you can apply [:arrow_right: here](https://docs.google.com/forms/d/e/1FAIpQLSfMfjiRmDQDRk-4OhNASM6BAKii7rz_B1jWtbCPkUh6N7M2ww/viewform). Note that this is generally a slower process and imposes stricter requirements on applicants. +If you want to apply in **private**, you can do so [:arrow_right: here](https://docs.google.com/forms/d/e/1FAIpQLSfMfjiRmDQDRk-4OhNASM6BAKii7rz_B1jWtbCPkUh6N7M2ww/viewform). Note that this is generally a slower process and imposes stricter requirements on applicants. + +::: + +:::info + +Payments can be made in fiat, Bitcoin, USDT (on Kusama or Polkadot) or USDC/DAI (Ethereum). Please indicate your preference in the application [as outlined in our application template](https://github.com/w3f/Grants-Program/blob/master/applications/application-template.md?plain=1#L7). ::: From 5d434fc1771cd2c79352fb2a69252fce9cdb10c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20M=C3=BCller?= Date: Thu, 21 Sep 2023 12:21:21 +0200 Subject: [PATCH 046/133] Update process.md Add Square One link --- docs/process.md | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/docs/process.md b/docs/process.md index 70e5231d29d..a78f5ecad07 100644 --- a/docs/process.md +++ b/docs/process.md @@ -2,12 +2,15 @@ title: Apply --- -If you are certain you want to apply for a W3F grant, head straight to our [application process documentation](Process/how-to-apply.md). Otherwise, check out the flowchart below for a broad overview of which funding source your application might fit best. +:::tip +Check out the [Substrate Square One](https://substrate.io/ecosystem/square-one/) website for all kinds of ecosystem support opportunities. -## Funding Opportunities Overview +::: + +If you are certain you want to apply for a W3F grant, head straight to our [application process documentation](Process/how-to-apply.md). Alternatively, the flowchart below outlines where we think the grants program fits in relation to other popular funding opportunities. -For a longer list and a description of the programs listed below, check out [our page on alternative funding opportunities](funding.md). +## Funding Opportunities Overview ```mermaid flowchart LR @@ -30,3 +33,5 @@ flowchart LR click D "https://wiki.polkadot.network/docs/en/learn-treasury" "https://wiki.polkadot.network/docs/en/learn-treasury" _blank click H "https://www.substrate.io/builders-program/" "https://www.substrate.io/builders-program" _blank ``` + +For a longer list and a description of the programs listed below, check out the [Substrate Square One](https://substrate.io/ecosystem/square-one/) website and [our page on alternative funding opportunities](funding.md). From 3208999144d084d2353d594808940cc7ec69feb8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20M=C3=BCller?= Date: Thu, 21 Sep 2023 12:26:02 +0200 Subject: [PATCH 047/133] Update funding.md Add link to Square One --- docs/funding.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/funding.md b/docs/funding.md index 60f063e8a9c..3a36c19c2b0 100644 --- a/docs/funding.md +++ b/docs/funding.md @@ -5,6 +5,12 @@ title: 🪙 Alternative Funding Some funding sources might be more and some less suitable for your project throughout its various stages. We encourage you to explore alternative funding options listed below. Please note, however, that you should not seek to fund the **same scope of work** from multiple sources and that any team found doing so will have its Web3 Foundation support terminated. +:::tip + +If you are unsure about what's the best next step for you and your project, consider reaching out to the [Substrate Square One](https://substrate.io/ecosystem/square-one/) team. + +::: + ### Treasury The treasury is a pot of on-chain funds collected through transaction fees, slashing, staking inefficiencies, etc. The funds held in the treasury can be spent on spending proposals. Both [Polkadot](https://polkadot.network/) and [Kusama](https://kusama.network/) offer everyone the opportunity to apply for funding via the treasury. See: From 7e647170fa698b46b930e7602f22314215ab049d Mon Sep 17 00:00:00 2001 From: Jacob Lee Date: Thu, 21 Sep 2023 23:02:37 +0800 Subject: [PATCH 048/133] Update Claps.md (#1988) * Update Claps.md Submit amendment with timeline extension on development roadmap * Update Claps.md Update the estimated duration (total + milestones) 1. Total Estimated Duration: 8 months (Adjusted from 4.5 months) 2. Milestone 1 - Patient Identity and Security Framework Estimated Duration: 6 months (Adjusted from 2.5 months) --- applications/Claps.md | 33 ++++++++++++++++++++++++++++----- 1 file changed, 28 insertions(+), 5 deletions(-) diff --git a/applications/Claps.md b/applications/Claps.md index 35ccb460388..885da5632f0 100644 --- a/applications/Claps.md +++ b/applications/Claps.md @@ -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 @@ -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.
\- Generate a new ID on client-side for the patient based on BIP39. (12 words passphrase)
\- Encrypted key store(private key) by patient user’s password (AES-256 GCM mode)
\- 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.
\- Generate a new ID on client-side for the patient based on BIP39. (12 words passphrase)
\- Encrypted key store(private key) by patient user’s password (AES-256 GCM mode)
\- 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
\- Support AWS S3 storage
\- Updating of patient profile
\- 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
\- Receive credential by trust issuer (token file)
\- 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
\- Receive credential by trust issuer (token file)
\- 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.

\- Add challenge card
\- Add personalized mission
\- Delete challenge card
\- Receive daily mission
\- Receive rewards by mission completed
\- Receive rewards by challenge completed
\- 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
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)** From 880f3d192a8dcde8f20705f969da96fc6e47df1c Mon Sep 17 00:00:00 2001 From: Diogo <112647953+dsm-w3f@users.noreply.github.com> Date: Thu, 21 Sep 2023 12:03:00 -0300 Subject: [PATCH 049/133] Update index.md (#1989) --- applications/index.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/applications/index.md b/applications/index.md index cbbe1bb5818..293918b54df 100644 --- a/applications/index.md +++ b/applications/index.md @@ -133,7 +133,7 @@ Use this page for an overview of all public grants and their status. Use the sid | [Blockcoders](http://blockcoders.io/) | [Kuma Cross-chain Wallet](cross-chain-wallet.md) | [GitHub](https://github.com/blockcoders) | ☐ | ☒ | ☒ | | [OmniBTC](https://omnibtc.finance/) | [Polkadot Smart Chain](psc.md) | [GitHub](https://github.com/OmniBTC/PSC) | ☐ | ☒ | ☒ | | [ChainSafe](https://chainsafe.io/) | [Multix - a simple interface to use complex multisigs](Multix-a-simple-UI-for-complex-multisig.md) | [GitHub](https://github.com/ChainSafe) | ☐ | ☒ | ☒ | -| [Composable Finance LTD](https://www.composable.finance/) | [CosmWasm VM](CosmWasmVM-CoreProduct.md) | [GitHub](https://github.com/ComposableFi/) | ☐ | ☐ | ☐ | +| [Composable Finance LTD](https://www.composable.finance/) | [CosmWasm VM](CosmWasmVM-CoreProduct.md) | [GitHub](https://github.com/ComposableFi/) | ☐ | ☒ | ☐ | | [Asyoume inc](https://www.asyou.me) | [Dao-entrance: online collaboration tool for web3](dao-entrance-phase-1.md) | [GitHub](https://github.com/DAO-entrance) | ☒ | ☒ | ☐ | | [Talentica Software](https://www.talentica.com/) | [ink!/pallet/solidity performance benchmarking](ink-pallet-benchmarking.md) | [GitHub](https://github.com/Nikhil-Desai-Talentica) | ☐ | ☒ | ☒ | | [Societal Labs Ltd.](https://www.sctl.xyz/) | [Societal - MVP - Phase 2](./societal_grant2.md) | [GitHub](https://github.com/sctllabs) | ☐ | ☒ | ☒ | @@ -149,8 +149,8 @@ Use this page for an overview of all public grants and their status. Use the sid | [Off-Narrative Labs](https://github.com/Off-Narrative-Labs) | [Tuxedo](tuxedo.md) | [GitHub](https://github.com/JoshOrndorff) | ☐ | ☒ | ☒ | | [FuzzLand](https://fuzz.land/) | [FuzzLand](FuzzLand.md) | [GitHub](https://github.com/fuzzland) | ☐ | ☐ | ☐ | | [Fuu](https://github.com/ff13dfly/) | [Anchor, On-chain Linked List pallet and Name Service](Anchor.md) | [GitHub](https://github.com/ff13dfly/Anchor) | ☐ | ☒ | ☒ | -| [hack-ink](https://hack.ink/) | [Slothunter](slothunter.md) | [GitHub](https://github.com/hack-ink) | ☐ | ☒ | ☐ | -| [Invers Inc](https://invers.tech/) | [Zkwasm Rollups Transfer](zkwasm-rollups-transfer.md) | [GitHub](https://github.com/zero-network) | ☐ | ☐ | ☐ | +| [hack-ink](https://hack.ink/) | [Slothunter](slothunter.md) | [GitHub](https://github.com/hack-ink) | ☐ | ☒ | ☒ | +| [Invers Inc](https://invers.tech/) | [Zkwasm Rollups Transfer](zkwasm-rollups-transfer.md) | [GitHub](https://github.com/zero-network) | ☐ | ☒ | ☐ | | [decentraDOT](https://decentradot.com/) | [Cyclops Validator Dashboard](cyclops.md) | [GitHub](https://github.com/ArthurHoeke?tab=repositories) | ☐ | ☒ | ☒ | | [Anwesh Nayak](https://github.com/muddlebee) | [Mempool Dashboard - Version 2](polkadot-mempool-explorer-v2.md) | [GitHub](https://github.com/muddlebee) | ☐ | ☐ | ☐ | | [Tellor Inc](https://tellor.io/) | [Tellor Oracle Protocol](Tellor.md) | [GitHub](https://github.com/tellor-io/) | ☐ | ☒ | ☐ | From 8cca484f56c415df0d54da5971acf97f1eac5e59 Mon Sep 17 00:00:00 2001 From: Keegan | W3F <35080151+keeganquigley@users.noreply.github.com> Date: Thu, 21 Sep 2023 14:27:28 -0400 Subject: [PATCH 050/133] Update verida_network.md (#1990) --- applications/verida_network.md | 1 + 1 file changed, 1 insertion(+) diff --git a/applications/verida_network.md b/applications/verida_network.md index 289b8b83b0a..78828d57795 100644 --- a/applications/verida_network.md +++ b/applications/verida_network.md @@ -3,6 +3,7 @@ - **Team Name:** Verida PTE LTD - **Payment Address:** 0x1596525C44f68b45CDd53db49b03A390e2687331 (USDC) - **Level:** 2 +- **Status:** [Terminated](https://github.com/w3f/Grants-Program/pull/887#issuecomment-1719349723) ## Project Overview :page_facing_up: From b560d6c9760cf1064afb8dbedb6fc45d84fb9a50 Mon Sep 17 00:00:00 2001 From: Keegan | W3F <35080151+keeganquigley@users.noreply.github.com> Date: Thu, 21 Sep 2023 14:43:21 -0400 Subject: [PATCH 051/133] Update wasmedge_substrate.md (#1991) --- applications/wasmedge_substrate.md | 1 + 1 file changed, 1 insertion(+) diff --git a/applications/wasmedge_substrate.md b/applications/wasmedge_substrate.md index 12a3c89d54c..b464bb6cffa 100644 --- a/applications/wasmedge_substrate.md +++ b/applications/wasmedge_substrate.md @@ -3,6 +3,7 @@ - **Team Name:** Second State - **Payment Address:** 0xf212a28a62d01549c323a5feac7bbc8534064c41 (Ethereum USDT) - **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 +- **Status:** [Terminated](https://github.com/w3f/Grants-Program/pull/862#issuecomment-1730100588) ## Project Overview :page_facing_up: From c532482e3e56518af163e242d0de590d5714d254 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20M=C3=BCller?= Date: Thu, 21 Sep 2023 22:31:55 +0200 Subject: [PATCH 052/133] Update RFPs (#1993) --- .../Open/anti-collusion_infrastructure.md | 5 ++- docs/RFPs/Open/xcm-tool.md | 6 ++-- .../Under Development/data_analysis_tools.md | 2 +- .../polkadot-protocol_conformance_tests.md | 34 +++++++++---------- docs/rfps.md | 12 +++---- 5 files changed, 29 insertions(+), 30 deletions(-) rename docs/RFPs/{Open => Under Development}/polkadot-protocol_conformance_tests.md (74%) diff --git a/docs/RFPs/Open/anti-collusion_infrastructure.md b/docs/RFPs/Open/anti-collusion_infrastructure.md index 01e8fca5e3d..7c202fdfa3f 100644 --- a/docs/RFPs/Open/anti-collusion_infrastructure.md +++ b/docs/RFPs/Open/anti-collusion_infrastructure.md @@ -22,5 +22,8 @@ The milestones below are just an initial draft. The milestones can be structured | 1. | Anti-collusion | Implement a mechanism to prevent bribery and collusion, leveraging encrypting votes (ZKPs) potentially via [Minimum Anti-Collusion Infrastructure (MACI)](https://ethresear.ch/t/minimal-anti-collusion-infrastructure/5413) | | 2. | Voting Example | Integrate a basic voting example that lets you test the mechanism | +### Previous grant applications - +- [Maki](https://github.com/w3f/Grants-Program/pull/1144) +- [pallet-maci](https://github.com/w3f/Grants-Program/pull/232) +- [Infimum](https://github.com/w3f/Grants-Program/pull/1948) diff --git a/docs/RFPs/Open/xcm-tool.md b/docs/RFPs/Open/xcm-tool.md index 252516cbede..d328524adfc 100644 --- a/docs/RFPs/Open/xcm-tool.md +++ b/docs/RFPs/Open/xcm-tool.md @@ -6,12 +6,12 @@ ## Project Description :page_facing_up: -XCM is the crosschain communication standard that will be used by all the parachains. Currently XCM is still in early stage but is already support some main usecases such as crosschain transfer of fungible tokens. +XCM is the crosschain communication standard that will be used by all the parachains. Currently XCM is still in an early stage, but already supports some main usecases such as crosschain transfer of fungible tokens. There are currently two major areas of XCM that are still awaiting to be improved: - Extend & improve [xcm-format](https://github.com/paritytech/xcm-format) to support more use cases - - We have few issues & PRs so we are on track on getting this done but of couse more helps as always welcome + - We have few issues & PRs so we are on track on getting this done, but of couse more help is as always welcome - Implement library & tools to ease the development of XCM related code - [xtokens](https://github.com/w3f/Open-Grants-Program/blob/master/applications/xtokens.md) handles the fungible asset implementations, and we also need a similar one for NFTs - We need some tool to allow developers to test XCM related code: https://github.com/paritytech/polkadot/issues/2544 @@ -21,4 +21,4 @@ The scope of the new project count be one of: - Develop tools to help developers to test XCM-related code - Develop pallets or utility libraries to better handle the async nature of XCM communication -- Develop a pallet to handle crosschain transfers of NFTs +- Develop a pallet to handle crosschain transfers of NFTs ([relevant discussion](https://github.com/paritytech/xcm-format/pull/35)https://github.com/paritytech/xcm-format/pull/35) diff --git a/docs/RFPs/Under Development/data_analysis_tools.md b/docs/RFPs/Under Development/data_analysis_tools.md index 67ba67103d1..656dd6b0ba4 100644 --- a/docs/RFPs/Under Development/data_analysis_tools.md +++ b/docs/RFPs/Under Development/data_analysis_tools.md @@ -1,6 +1,6 @@ # Data Analysis Tools for Substrate-based Blockchains -- **Status:** [Under Development 1](https://github.com/w3f/Grants-Program/pull/1716), [Under Development 2](https://github.com/w3f/Grants-Program/pull/1768) +- **Status:** [Under Development 1](https://github.com/w3f/Grants-Program/pull/1716), [Under Development 2](https://github.com/w3f/Grants-Program/pull/1768), [Under Development 3](https://github.com/w3f/Grants-Program/pull/1883) - **Proposer:** [dsm-w3f](https://github.com/dsm-w3f), [michalisFr](https://github.com/michalisFr) ## Project Description :page_facing_up: diff --git a/docs/RFPs/Open/polkadot-protocol_conformance_tests.md b/docs/RFPs/Under Development/polkadot-protocol_conformance_tests.md similarity index 74% rename from docs/RFPs/Open/polkadot-protocol_conformance_tests.md rename to docs/RFPs/Under Development/polkadot-protocol_conformance_tests.md index 2852771e682..a262adbda0e 100644 --- a/docs/RFPs/Open/polkadot-protocol_conformance_tests.md +++ b/docs/RFPs/Under Development/polkadot-protocol_conformance_tests.md @@ -1,6 +1,6 @@ # Polkadot Protocol Conformance Tests -* **Status:** Open +* **Status:** [Under Development (Zondax)](https://github.com/w3f/Grants-Program/pull/1956), [Under Development (LimeChain)](https://github.com/w3f/Grants-Program/pull/1950) * **Proposer:** [Bhargav Bhatt](https://github.com/bhargavbh), [David Hawig](https://github.com/Noc2) * **Objectives:** Create and maintain a comprehensive test-suite for conformance of core functionalities of Polkadot Host. @@ -14,23 +14,23 @@ The objectives are multifold. The test-suite can: Initially, the focus would be on unit tests with tests designed and generated at the right layer of abstraction to accommodate the existing implementations. The scope of the test-suite covers all the components/protocols described in the Specification but we would like to prioritise the following: -- Mapping the consensus attack surface and producing fuzzing targets accordingly. Indicative, non-exhaustive list of potential targets can be seen below: - - Host API: - - sequences of storage and child-storage operations - - cryptography primitives, particularly those exposed in the Host API - - trie root +- Mapping the consensus attack surface and producing fuzzing targets accordingly. An indicative, non-exhaustive list of potential targets: + - Host API + - Sequences of storage and child-storage operations + - Cryptography primitives, particularly those exposed in the Host API + - Trie root - BABE - Block import - - block validation - - next/current validators aka VRF/block lottery - - secondary slot verification + - Block validation + - Next/current validators aka VRF/block lottery + - Secondary slot verification - GRANDPA - - block import - - block validation - - justification import & validation/verification -- trie proof verification -- scale encoding and decoding, for specific message types, and randomly generated ones -- parachain candidate validation + - Block import + - Block validation + - Justification import & validation/verification +- Trie proof verification +- Scale encoding and decoding, for specific message types, and randomly generated ones +- Parachain candidate validation The goal of the initial grant should be to develop a PoC. The long-term goal should be to develop a comprehensive test suite that is funded by the on-chain treasury. @@ -39,10 +39,8 @@ The goal of the initial grant should be to develop a PoC. The long-term goal sho - [GitHub polkadot-tests](https://github.com/w3f/polkadot-tests) - [Chopsticks](https://github.com/AcalaNetwork/chopsticks) - [Zombienet](https://github.com/paritytech/zombienet) -- [try-runtime](https://docs.substrate.io/reference/command-line-tools/try-runtime/) +- [try-runtime](https://paritytech.github.io/try-runtime-cli/try_runtime/) ## Deliverables The structure of the grant and the milestones depends highly on the project itself and the goal of the initial PoC. It’s therefore up to the applying team to come up with a milestone and delivery structure. - - diff --git a/docs/rfps.md b/docs/rfps.md index 0ecc235cf3a..b56fe3a3e0e 100644 --- a/docs/rfps.md +++ b/docs/rfps.md @@ -23,29 +23,27 @@ If you find an open RFP here that you think you can address, feel free to [submi | RFP | Last Updated | | :-- | :----------: | -| [anti-collusion_infrastructure.md](RFPs/Open/anti-collusion_infrastructure.md) | 29.11.2021 | +| [anti-collusion_infrastructure.md](RFPs/Open/anti-collusion_infrastructure.md) | 21.09.2023 | | [bpf-contracts.md](RFPs/Open/bpf-contracts.md) | 06.01.2023 | | [formal_guarantees_for_grandpa.md](RFPs/Open/formal_guarantees_for_grandpa.md) | 07.10.2022 | | [ISO_20022.md](RFPs/Open/ISO_20022.md) | 31.05.2022 | | [parachain_validation_conformance_testing.md](RFPs/Open/parachain_validation_conformance_testing.md) | 18.01.2023 | -| [polkadot-protocol_conformance_tests.md](RFPs/Open/polkadot-protocol_conformance_tests.md) | 08.05.2023 | +| [polkadot-protocol_conformance_tests.md](RFPs/Open/polkadot-protocol_conformance_tests.md) | 21.09.2023 | | [sub-consensus.md](RFPs/Open/sub-consensus.md) | 23.11.2021 | | [uptane-for-substrate-design-and-scope.md](RFPs/Open/uptane-for-substrate-design-and-scope.md) | 04.03.2023 | | [user-account-access-analysis.md](RFPs/Open/user-account-access-analysis.md) | 07.01.2023 | -| [xcm-tool.md](RFPs/Open/xcm-tool.md) | 20.07.2021 | - +| [xcm-tool.md](RFPs/Open/xcm-tool.md) | 21.09.2023 | -
🟡 Under Development: One or more teams are working on this. We might be interested in additional implementations, but it’s better to double check this with the grants team. | RFP | Last Updated | | :-- | :----------: | | [alternative_polkadot_host_implementations.md](RFPs/Open/alternative_polkadot_host_implementations.md) | 02.03.2023 | | [alternative-polkadot-js-api-console.md](RFPs/Under%20Development/alternative-polkadot-js-api-console.md) | 19.05.2023 | -| [analysis-website-and-data-platform.md](RFPs/Under%20Development/analysis-website-and-data-platform.md) | 28.06.2023 | -| [data_analysis_tools.md](RFPs/Under%20Development/data_analysis_tools.md) | 28.06.2023 | +| [analysis-website-and-data-platform.md](RFPs/Under%20Development/analysis-website-and-data-platform.md) | 21.09.2023 | +| [data_analysis_tools.md](RFPs/Under%20Development/data_analysis_tools.md) | 21.09.2023 | | [decentralized-security-marketplace.md](RFPs/Under%20Development/decentralized-security-marketplace.md) | 02.06.2023 | | [grant_management_webapp.md](RFPs/Under%20Development/grant_management_webapp.md) | 06.06.2023 | | [identity-directory.md](RFPs/Under%20Development/identity-directory.md) | 30.05.2022 | From 7e790c3f789f4d8d7d021ec8266404441da5a000 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20M=C3=BCller?= Date: Thu, 21 Sep 2023 22:36:01 +0200 Subject: [PATCH 053/133] Update index.md --- applications/index.md | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/applications/index.md b/applications/index.md index 293918b54df..b4c3e3acf5a 100644 --- a/applications/index.md +++ b/applications/index.md @@ -5,12 +5,15 @@ layout: applications Use this page for an overview of all public grants and their status. Use the sidebar to navigate directly to a specific grant application document. -> **:loudspeaker:** This page provides an overview of accepted grant applications, their progress and a link to their GitHub repositories. In cases where the link points to an organization, you should be aware that the grant application itself **is often an independent project unrelated to other work done by the teams**. -> -> Furthermore, the page lists terminations which happened due to a breach of the terms of the grants programs. Additionally, teams might have decided to stop working on the grant—though not necessarily on the project itself—for various reasons, which is not reflected on this sheet. -> -> Besides, **there is a clear difference between an application being accepted and the successful delivery of the respective project**, and only teams that have successfully delivered a milestone are allowed to make public announcements on the matter or to use our [badge](https://github.com/w3f/General-Grants-Program/blob/master/grants/grant-badge-guidelines.md). The badge can also never be used as a general endorsement for a team. Violations to this policy can be reported [here](mailto:grants@web3.foundation). +:::info +This page provides an overview of accepted grant applications, their progress and a link to their GitHub repositories. In cases where the link points to an organization, you should be aware that the grant application itself **is often an independent project unrelated to other work done by the teams**. + +Furthermore, the page lists terminations which happened due to a breach of the terms of the grants programs. Additionally, teams might have decided to stop working on the grant—though not necessarily on the project itself—for various reasons, which is not reflected on this sheet. + +Besides, **there is a clear difference between an application being accepted and the successful delivery of the respective project**, and only teams that have successfully delivered a milestone are allowed to make public announcements on the matter or to use our [badge](https://github.com/w3f/General-Grants-Program/blob/master/grants/grant-badge-guidelines.md). The badge can also never be used as a general endorsement for a team. Violations to this policy can be reported [here](mailto:grants@web3.foundation). + +::: - [2023](#2023) - [🏄 Wave 19 - Q3 2023](#️-wave-19---q3-2023) From 18ec8fc393295804506e3869ecf6a0ebc13a7060 Mon Sep 17 00:00:00 2001 From: Jonathan Brown Date: Fri, 22 Sep 2023 17:10:13 +0700 Subject: [PATCH 054/133] Create hybrid2.md (#1964) * Create hybrid2.md * Update applications/hybrid2.md Co-authored-by: S E R A Y A --------- Co-authored-by: S E R A Y A --- applications/hybrid2.md | 188 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 188 insertions(+) create mode 100644 applications/hybrid2.md diff --git a/applications/hybrid2.md b/applications/hybrid2.md new file mode 100644 index 00000000000..d74c7f2a1a9 --- /dev/null +++ b/applications/hybrid2.md @@ -0,0 +1,188 @@ +# Hybrid Indexer Follow-up + +- **Team Name:** Jonathan Brown +- **Payment Address:** 0x36a7401F269555916a0243E586234D3Bbf5A0c36 (DAI) +- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 1 + +## Project Overview :page_facing_up: + +This application is for a follow-up grant to the original Hybrid Block Explorer grant: https://github.com/w3f/Grants-Program/pull/1582 + +### Overview + +![Hybrid Architecture](https://raw.githubusercontent.com/ethernomad/hybrid-diagram/main/hybrid.png) + +The [original grant](https://github.com/w3f/Grants-Program/blob/master/applications/hybrid.md) for the Hybrid Block Explorer involved creating a [Rust library](https://github.com/hybrid-explorer/hybrid-indexer) that can be utilized to create an event indexer for any Substrate chain. A [Rust project](https://github.com/hybrid-explorer/polkadot-indexer/) to index all Polkadot-based chains was delivered. Additionally, a rudimentary [browser dapp](https://github.com/hybrid-explorer/hybrid-dapp) was produced to provide a user interface to query the index and load event details from the chain. + +This follow-up grant application is specifically to improve the indexer component of the project. + +### Project Details + +Before the indexer can be used effectively by the Polkadot community, there are various improvements that need to be made: + +#### Indexer Improvements + +* Currently there are two indexer threads, one for indexing new finalized blocks, and one to index old blocks. This is unnecessarily complex. Combining these threads will make the codebase much simpler. + +* The indexer needs to verify that it is indexing the correct chain. If it connects to the wrong endpoint or opens the wrong database, incorrect data would be present in the index. + +* Terminal output needs to be improved with configurable levels of verbosity. Statistics need to be output in a regular time interval, not block interval. + +* Error handling needs to be improved. Currently many error conditions are silently ignored. Exiting needs to be handled gracefully. + +#### Reverse Batch Indexing + +Currently when the indexer is indexing old blocks it starts at a specified block and works forward, eventually catching up with head. When the indexer is restarted it will resume where it left off. + +Typically users are more interested in recent blocks. If a user is indexing on their own device it can take many hours or days for the batch indexer to catch up with head. + +If the user wants to index from an earlier block, they have to re-index all the already indexed blocks. + +The solution is for the batch indexer to always start indexing backwards from head and store in the database which spans of blocks have been indexed with which version of the indexer. + +The indexer currently trusts that new finalized blocks are delivered sequentially. The indexer needs to verify that no blocks have been ommitted. If a block has been omitted or the WSS connection is broken and reestablished then the batch indexing will need to restart from head. + +#### Database Improvements + +* Currently, the event parameter types that are available to be indexed are hardcoded in the indexer library. The API needs to be extended so that chain indexers can specify custom parameter types, beyond those in Substrate. + +* In addition to indexing event parameters, the indexer can also index which variants of events have occurred. This is very useful. For example, the indexer can return all balance transfers that have occurred. This index is the largest because every event that occurs is a separate database entry. Making this index optional will greatly reduce the storage space for those users who do not need it. + +* Hybrid uses the Sled database library. Tunables [cache_capacity](https://docs.rs/sled/latest/sled/struct.Config.html#method.cache_capacity) and [mode](https://docs.rs/sled/latest/sled/struct.Config.html#method.mode) should be exposed in the indexer. + +#### WS API Improvements + +* Currently, to receive status updates it is necessary to continually query the indexer. It should be possible to subscribe to status updates. + +* It should be possible to query how much disk space is used for each index. This can be implemented using the following method: [size_on_disk](https://docs.rs/sled/latest/sled/struct.Db.html#method.size_on_disk). + +* It is currently possible to subscribe to event searches. It needs to be possible to unsubscribe. + +* A Rust library needs to be written to make it easier to query Hybrid indexes from Rust programs. + +## Team :busts_in_silhouette: + +### Team members + +Jonathan Brown + +### Contact + +- **Contact Name:** Jonathan Brown +- **Contact Email:** jbrown@acuity.social +- **Website:** n/a + +### Legal Structure + +- **Registered Address:** (shared privately) +- **Registered Legal Entity:** n/a + +### Team's experience + +Jonathan Brown is the sole developer of Hybrid Indexer and dapp. + +### Team Code Repos + +- https://github.com/hybrid-explorer/hybrid-indexer +- https://github.com/hybrid-explorer/polkadot-indexer +- https://github.com/hybrid-explorer/hybrid-dapp + +- https://github.com/ethernomad + +### Team LinkedIn Profiles (if available) + +- n/a + +## Development Status :open_book: + +Work on the deliverables defined in this application has not started yet. + +## Development Roadmap :nut_and_bolt: + +### Overview + +- **Total Estimated Duration:** 12 weeks +- **Full-Time Equivalent (FTE):** 1 +- **Total Costs:** 10,000 USD + +### Milestone 1 — Indexer Improvements + +- **Estimated duration:** 3 weeks +- **FTE:** 1 +- **Costs:** 2,500 USD + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| **0a.** | License | Apache 2.0 | +| **0b.** | Documentation | We will provide both **inline documentation** of the code and a basic **tutorial** that explains how a user can specify chain identifying information and control logging verbosity. | +| **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. | +| 1. | Combine head and batch indexer threads | The codebase will be simplified by combining head and batch indexing into a single thread. | +| 2. | Check correct chain | The indexer will ensure that both the chain being indexed and the existing index database have the correct chain information. | +| 3. | Improved logging | Verbosity level will be controlled by command line parameter. Statistics will be output with a regular time interval, not block interval. | +| 4. | Improved error checking | All error conditions in the codebase will be handled correctly. Exiting will be handled gracefully. | + + +### Milestone 2 — Reverse Batch Indexing + +- **Estimated duration:** 3 weeks +- **FTE:** 1 +- **Costs:** 2,500 USD + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| **0a.** | License | Apache 2.0 | +| **0b.** | Documentation | We will provide both **inline documentation** of the code and a basic **tutorial** that explains how a user can declare starting blocks for updated indexers. | +| **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. | +| 1. | Index backwards | When the indexer starts it should always start indexing backwards from head. | +| 2. | Store indexed spans | The indexer should store in the database a record of which spans of blocks have been indexed with which version of the indexer and utilize this information to avoid redundantly indexing blocks multiple times. | +| 3. | Declare indexer start blocks | Each chain indexer can declare which block each version of the indexer should start from. Automatically re-index blocks after upgrading the indexer. | + +### Milestone 3 — Database Improvements + +- **Estimated duration:** 3 weeks +- **FTE:** 1 +- **Costs:** 2,500 USD + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| **0a.** | License | Apache 2.0 | +| **0b.** | Documentation | We will provide both **inline documentation** of the code and a basic **tutorial** that explains how a user can implement new indexes, omit the variant index and adjust database tunables. | +| **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. | +| 1. | Support additional indexes | Chain indexers will be able to define additional index parameter types that can be indexed. | +| 2. | Variant index optional | Variant indexing will be made optional. | +| 3. | Expose cache_capacity() and mode() | These Sled database parameters will be exposed on the command line. | + +### Milestone 4 — WebSocket API Improvements + +- **Estimated duration:** 3 weeks +- **FTE:** 1 +- **Costs:** 2,500 USD + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| **0a.** | License | Apache 2.0 | +| **0b.** | Documentation | We will provide both **inline documentation** of the code and a basic **tutorial** that explains how a user can subscribe to status updates, unsubscribe, query index storage space, and use the Hybrid Rust API. | +| **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 publish an **article** describing the improvements to the indexer. | +| 1. | Status subscription | It will be possible to subscribe to status updates. | +| 2. | Unsubscribing | It will be possible to unsubscribe from status updates and event parameter watching. | +| 3. | Report each index size | It will be possible to get a report of how much storage space is used by each index. | +| 4. | Rust API | A Rust library will be developed to make it easier for Rust applications to query Hybrid indexes. | + +## Future Plans + +- indexing block prior to V14 metadata (block #7,229,126 on Polkadot). See [issue](https://github.com/paritytech/subxt/issues/793#issuecomment-1386902010). + +- desktop dapp - build a block explorer dapp in Rust + +- support for tokens and nfts + +- add support for ink! smart contracts with decentralized source code publishing + +- maintain Hybrid as the most decentralized Substrate block explorer + +- marketing From 924288a11d564459b2879d075f2fc6d83da6fc96 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Fri, 22 Sep 2023 12:12:50 +0200 Subject: [PATCH 055/133] Update index.md Add Hybrid Explorer --- applications/index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/applications/index.md b/applications/index.md index b4c3e3acf5a..37e10456bcc 100644 --- a/applications/index.md +++ b/applications/index.md @@ -76,6 +76,7 @@ Besides, **there is a clear difference between an application being accepted and | [Zondax AG](https://zondax.ch/) | [PoC Polkadot Conformance Tests](./polkadot_tests.md) | [GitHub](https://github.com/zondax) | ☐ | ☐ | ☐ | | [SO/DA zone](https://github.com/sodazone) | [Ocelloids XCM Transfer Monitoring Service](ocelloids_xcm_monitoring_service.md) | [GitHub](https://github.com/sodazone) | ☐ | ☐ | ☐ | | [Moonsong Labs](https://moonsonglabs.com/) | [StorageHub](./StorageHub.md) | [GitHub](https://github.com/Moonsong-Labs) | ☐ | ☐ | ☐ | +| [Jonathan Brown](https://acuity.social/) | [Hybrid Explorer Phase 2](hybrid2.md) | [GitHub](https://github.com/hybrid-explorer) | ☐ | ☐ | ☐ | [🔝](#2023) From 006b99e817965ad9922b7294fc821888c293b382 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20M=C3=BCller?= Date: Fri, 22 Sep 2023 16:58:27 +0200 Subject: [PATCH 056/133] Change bg color of admonitions (#1996) --- src/css/custom.css | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/css/custom.css b/src/css/custom.css index daabdbe71ba..7bff5bdfc88 100644 --- a/src/css/custom.css +++ b/src/css/custom.css @@ -145,4 +145,15 @@ a.navbar__item{ a:hover.navbar__item{ background-size: 0 3px, 100% 3px; +} + +/* More prominent admonitions */ +.theme-admonition-danger { + border-left: 5px solid rgb(0, 0, 0); + background-color: rgba(255, 0, 0, 0.238); +} + +.theme-admonition-info { + border-left: 5px solid rgb(0, 0, 0); + background-color: rgba(255, 255, 0, 0.238); } \ No newline at end of file From c3b2175050ca0424d68fb1c92061e629767cf304 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20M=C3=BCller?= Date: Fri, 22 Sep 2023 16:59:51 +0200 Subject: [PATCH 057/133] Update rfps.md Fix link --- docs/rfps.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/rfps.md b/docs/rfps.md index b56fe3a3e0e..92c4bc5f66f 100644 --- a/docs/rfps.md +++ b/docs/rfps.md @@ -40,7 +40,7 @@ If you find an open RFP here that you think you can address, feel free to [submi | RFP | Last Updated | | :-- | :----------: | -| [alternative_polkadot_host_implementations.md](RFPs/Open/alternative_polkadot_host_implementations.md) | 02.03.2023 | +| [alternative_polkadot_host_implementations.md](RFPs/Under%20Development/alternative_polkadot_host_implementations.md) | 02.03.2023 | | [alternative-polkadot-js-api-console.md](RFPs/Under%20Development/alternative-polkadot-js-api-console.md) | 19.05.2023 | | [analysis-website-and-data-platform.md](RFPs/Under%20Development/analysis-website-and-data-platform.md) | 21.09.2023 | | [data_analysis_tools.md](RFPs/Under%20Development/data_analysis_tools.md) | 21.09.2023 | From dd29552dd168da33da3e891d0128163b2da67722 Mon Sep 17 00:00:00 2001 From: Diogo <112647953+dsm-w3f@users.noreply.github.com> Date: Fri, 22 Sep 2023 15:37:49 -0300 Subject: [PATCH 058/133] Update index.md (#1998) --- applications/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/index.md b/applications/index.md index 37e10456bcc..422b02dd48b 100644 --- a/applications/index.md +++ b/applications/index.md @@ -63,7 +63,7 @@ Besides, **there is a clear difference between an application being accepted and | [Stake Plus Inc](https://stake.plus) | [Treasury Tracker](TreasuryTracker.md) | [GitHub](https://github.com/stake-plus) | ☐ | ☐ | ☐ | | [MOBR Systems](https://www.mobr.ai) | [Polkadot Analytics Platform](polkadot_analytics_platform.md) | [GitHub](https://github.com/mobr-ai) | ☐ | ☒ | ☐ | | [Infra3](https://network.infra-3.xyz) | [Hyperdot - Powerful data analysis and creations platform](Hyperdot.md) | [GitHub](https://github.com/Infra3-Network/hyperdot) | ☐ | ☐ | ☐ | -| [David Semakula](https://github.com/davidsemakula) | [ink! analyzer (phase 2)](ink-analyzer-phase-2.md) | [GitHub](https://github.com/ink-analyzer) | ☐ | ☐ | ☐ | +| [David Semakula](https://github.com/davidsemakula) | [ink! analyzer (phase 2)](ink-analyzer-phase-2.md) | [GitHub](https://github.com/ink-analyzer) | ☐ | ☒ | ☐ | | [Myriad Systems LTD.](https://myriad.social/) | [Myriad Social](myriad_social.md) | [GitHub](https://github.com/myriadsocial/myriad-node) | ☐ | ☐ | ☐ | | [Liisa](www.liisa.io) | [Polkadot NFT Portfolio Tracker](LiisaPortfolioTracker.md) | [GitHub](https://github.com/LiisaNFT) | ☐ | ☐ | ☐ | | [NeoPower Digital](https://neopower.digital/) | [Roloi - XCM Payment Automation](./roloi-xcm-payment-automation.md) | [GitHub](https://github.com/NeoPower-Digital) | ☐ | ☐ | ☐ | From c5e5dc20c8f11e9f7c0a298e08c9097ac856bc30 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Mon, 25 Sep 2023 09:04:58 +0200 Subject: [PATCH 059/133] Update README.md Small fixes --- README.md | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index 2549a7dac51..e7486c5872b 100644 --- a/README.md +++ b/README.md @@ -41,14 +41,14 @@ Anyone is welcome to apply for a grant. Projects funded through our programs are Generally, your project will have better chances to be accepted if: - It presents a **well-researched** or tested concept, for which ideally you are able to show some prior work. -- You can demonstrate that the project will be **maintained** after completion of the grant, be it through an obvious commitment to the technology from your side, additional funding sources or an existing business model. +- You can demonstrate that the project will be **maintained** after completion of the grant, be it through an obvious commitment to the technology from your side, additional funding sources, or an existing business model. - Your team has **proven experience** with the relevant languages and technologies and/or a strong technical background. You will be asked to provide the GitHub profiles of your team members as part of your application, which we will examine for past activity and code quality. Naturally, you can also link to projects on other platforms. - Your application is **rich in technical details** and well-defined. - You can clearly present how your project stands out among competitors or implements technology that doesn't exist in the ecosystem yet. Additionally, it must fulfill the following requirements: -- All code produced as part of a grant must be **open-sourced**, and it must also not rely on closed-source software for full functionality. We prefer Apache 2.0, but GPLv3, MIT or Unlicense are also acceptable. +- All code produced as part of a grant must be **open-sourced**, and it must also not rely on closed-source software for full functionality. We prefer Apache 2.0, but GPLv3, MIT, or Unlicense are also acceptable. - We do not award grants for projects that have been the object of a successful token sale. - Applications must not mention a specific token. Furthermore, the focus of the application should lie on the software that is being implemented/research being carried out as part of the grant, and less on your project/venture/operation. For the purpose of the application and delivery, think about how others might also benefit from your work. - As a general rule, teams are asked to finish a grant before applying for another one. @@ -60,11 +60,11 @@ Please also heed our [Announcement Guidelines](https://github.com/w3f/Grants-Pro Finally, we take licensing and the right of all teams in and outside the ecosystem to be recognised for their work very seriously. Using others' work with no attribution or indication that this was not your own work as part of a milestone delivery **will lead to immediate termination**. Please reach out to us before submitting if you have any doubts on how to comply with a specific license and we'll be happy to help. -We also try to enforce our [code of conduct](CODE_OF_CONDUCT.md) and based on this may [block users](https://github.blog/2016-04-04-organizations-can-now-block-abusive-users/). +We also try to enforce our [code of conduct](CODE_OF_CONDUCT.md) and, based on this, may [block users](https://github.blog/2016-04-04-organizations-can-now-block-abusive-users/). ### Project Ideas -An overview of existing projects in the Web 3.0 Technology Stack along with broad project ideas we would potentially be interested in funding can be found [here](https://wiki.polkadot.network/docs/build-open-source), as well as a list of previously accepted applications [here](https://github.com/w3f/Grants-Program/blob/master/applications/index.md). +An overview of existing projects in the Web 3.0 Technology Stack, along with broad project ideas we would potentially be interested in funding, can be found [here](https://wiki.polkadot.network/docs/build-open-source), as well as a list of previously accepted applications [here](https://github.com/w3f/Grants-Program/blob/master/applications/index.md). [Requests For Proposals](https://github.com/w3f/Grants-Program/blob/master/docs/rfps.md) (RFPs) represent concrete ideas for projects that we would like to see implemented. Several teams may apply for the same RFP, so even if another team has already applied to implement a certain RFP, we invite you to do the same if you're interested. @@ -74,7 +74,7 @@ If you have a **good concept of the technical challenges** that your idea entail ### Support -The scope of our Grants Programs consists of funding and feedback on delivered milestones. This means that we do not provide hands-on support as part of a grant, but if you face specific issues during development, we will do our best and try to direct you to the correct resources. If this sounds like something you would like however, you may also want to apply to Parity's [Substrate Builders Program](https://www.substrate.io/builders-program/), which provides hands-on technical, ecosystem and strategical long-term support and access to extensive resources. You can find general documentation and more information on Substrate on the [Substrate Developer Hub](https://substrate.dev/), and we encourage you to join the [community](https://substrate.dev/en/community) in order to get help with specific issues or to stay up to date with the most recent developments. +The scope of our Grants Programs consists of funding and feedback on delivered milestones. This means that we do not provide hands-on support as part of a grant, but if you face specific issues during development, we will do our best and try to direct you to the correct resources. If this sounds like something you would like however, you may also want to apply to Parity's [Substrate Builders Program](https://www.substrate.io/builders-program/), which provides hands-on technical, ecosystem, and strategical long-term support and access to extensive resources. You can find general documentation and more information on Substrate on the [Substrate Developer Hub](https://substrate.dev/), and we encourage you to join the [community](https://substrate.dev/en/community) in order to get help with specific issues or to stay up to date with the most recent developments. For questions about the grants program itself, see our [FAQ](docs/faq.md#frequently-asked-questions). @@ -113,7 +113,7 @@ Evaluators are individuals able to evaluate the technology delivered as a result #### W3F Operations Team -The Operations Team takes care of legal documents, invoicing and remittances. +The Operations Team takes care of legal documents, invoicing, and remittances. - [Melanie Diener](https://github.com/meldien) - [Federica Dubbini](https://github.com/fededubbi) @@ -122,7 +122,7 @@ The Operations Team takes care of legal documents, invoicing and remittances. ## :level_slider: Levels -The W3F Grants Program offers different grant levels to help you best depending on your current stage. +The W3F Grants Program offers different grant levels to help you best, depending on your current stage. ### :hatching_chick: Level 1 (= InstaGrants) @@ -147,7 +147,7 @@ The W3F Grants Program offers different grant levels to help you best depending ## :pencil: Process -> **:loudspeaker:** The process below is independent of the [level](#level_slider-levels). Payment is made in fiat, Bitcoin, USDT (on the [Polkadot and Kusama Asset Hub](https://support.polkadot.network/support/solutions/articles/65000181800-what-is-statemint-and-statemine-and-how-do-i-use-them-)) or USDC/DAI (Ethereum). If you want to apply in **private**, you can apply [:arrow_right: here](https://docs.google.com/forms/d/e/1FAIpQLSfMfjiRmDQDRk-4OhNASM6BAKii7rz_B1jWtbCPkUh6N7M2ww/viewform). Note that this is generally a slower process and imposes stricter requirements on applicants. +> **:loudspeaker:** The process below is independent of the [level](#level_slider-levels). Payment is made in fiat, Bitcoin, USDT (on the [Polkadot Asset Hub](https://support.polkadot.network/support/solutions/articles/65000181800-what-is-statemint-and-statemine-and-how-do-i-use-them-)) or USDC/DAI (Ethereum). If you want to apply in **private**, you can apply [:arrow_right: here](https://docs.google.com/forms/d/e/1FAIpQLSfMfjiRmDQDRk-4OhNASM6BAKii7rz_B1jWtbCPkUh6N7M2ww/viewform). Note that this is generally a slower process and imposes stricter requirements on applicants. ### 1. Application @@ -164,8 +164,8 @@ The W3F Grants Program offers different grant levels to help you best depending 1. The [committee](#w3f-grants-committee) can (and usually does) issue comments and request changes on the pull request. 2. Clarifications and amendments made in the comments _need to be included in the application_. You may address feedback by directly modifying your application and leaving a comment once you're done. Generally, if you don't reply within 2 weeks, the application will be closed due to inactivity, but you're always free to reopen it as long as it hasn't been rejected. - 3. When all requested changes are addressed and the terms and conditions have been signed, someone will mark your application as `ready for review` and share it internally with the rest of the committee. - 4. The application will be accepted and merged as soon as it receives the required number of approvals (see [levels](#level_slider-levels)), or closed after two weeks of inactivity. Unless specified otherwise, the day on which it is accepted will be considered the starting date of the project, and will be used to estimate delivery dates. + 3. When all requested changes are addressed, and the terms and conditions have been signed, someone will mark your application as `ready for review` and share it internally with the rest of the committee. + 4. The application will be accepted and merged as soon as it receives the required number of approvals (see [levels](#level_slider-levels)) or closed after two weeks of inactivity. Unless specified otherwise, the day on which it is accepted will be considered the starting date of the project, and will be used to estimate delivery dates. ### 3. Milestone Delivery and Payment @@ -175,7 +175,7 @@ The W3F Grants Program offers different grant levels to help you best depending - Accepted grant applications can be amended at any time. However, this _necessitates a reevaluation by the committee_ and the same number of approvals as an application (according to the [levels](#level_slider-levels)). 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. This also applies in case of significant delays. - If your _delivery schedule_ significantly changes, please also open a pull request with an updated timeline. -- If your deliveries are significantly delayed and we cannot get a hold of you, we will terminate the grant (3 approvals required, regardless of level. If a member of the committee creates the termination PR, only 2 more approvals are required). +- If your deliveries are significantly delayed, and we cannot get a hold of you, we will terminate the grant (3 approvals required, regardless of level. If a member of the committee creates the termination PR, only two more approvals are required). ## :mailbox_with_mail: Suggest a Project @@ -183,7 +183,7 @@ If you think that we should support the development of certain tools or projects **Submit an idea:** -If you have an idea for a project or would like to highlight an area in which you'd like to see teams build, but lack the technical background to create a detailed outline, you're welcome to open an [issue](https://github.com/w3f/Grants-Program/issues/new) or add it to the [tech stack](https://wiki.polkadot.network/docs/build-open-source) as a potentially interesting project. We will review your suggestion and, if necessary, will create an RFP based on it and reach out to teams able to build it. +If you have an idea for a project or would like to highlight an area in which you'd like to see teams build but lack the technical background to create a detailed outline, you're welcome to open an [issue](https://github.com/w3f/Grants-Program/issues/new) or add it to the [tech stack](https://wiki.polkadot.network/docs/build-open-source) as a potentially interesting project. We will review your suggestion and, if necessary, will create an RFP based on it and reach out to teams able to build it. **Submit an RFP (Request for Proposals):** @@ -222,7 +222,7 @@ Please note that: We give away 500 USD to each referral of a successful grant application by _anyone having previously worked on a Web3 Foundation grant_ or _a [Polkadot Ambassador](https://wiki.polkadot.network/docs/ambassadors)_. Web3 Foundation and Parity employees do not qualify for the program, even if they previously worked on a grant. -In order to be eligible for the referral bonus, the application itself must contain the name of the [Polkadot Ambassador](https://wiki.polkadot.network/docs/ambassadors) or the GitHub account of the grantee as well as the payment address for the referral bonus (see the [application template](applications/application-template.md)). Payment is made in Bitcoin, USDT (on Kusama or Polkadot) or USDC/DAI (Ethereum). +In order to be eligible for the referral bonus, the application itself must contain the name of the [Polkadot Ambassador](https://wiki.polkadot.network/docs/ambassadors) or the GitHub account of the grantee as well as the payment address for the referral bonus (see the [application template](applications/application-template.md)). Payment is made in Bitcoin, USDT (on Polkadot), or USDC/DAI (Ethereum). ## :bulb: Help @@ -311,7 +311,7 @@ The treasury is a pot of on-chain funds collected through transaction fees, slas From time to time, Web3 Foundation and/or Parity organise hackathons to promote quick prototyping of Polkadot related ideas. We highly encourage you to participate in these hackathons. Bear in mind, however, that you cannot submit the **same work** for a hackathon and the Grants Program. If you have worked or are planning to work on a project for a hackathon, your grant application should either propose a different set of features or otherwise build on top of your hackathon work. The same applies in reverse, although that will likely be less common. -The best way to find out about upcoming hackathons is by following Polkadot on the various social channels, such as Element or Twitter. +The best way to find out about upcoming hackathons is by following Polkadot on various social channels, such as Element or Twitter. ### Other Grant or Bounty Programs From 0b3e8f044e9712c9f1f826f1c5e367824acc1cbf Mon Sep 17 00:00:00 2001 From: David Hawig Date: Mon, 25 Sep 2023 09:07:15 +0200 Subject: [PATCH 060/133] Update pull_request_template.md small fixes --- .github/pull_request_template.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 365efb7229a..825d0e78e2d 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -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_ BTC, Ethereum (USDC/DAI), or Polkadot (USDT) 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)). From 6fad656144755afd0fc888741e923ed15548ed53 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Mon, 25 Sep 2023 09:09:39 +0200 Subject: [PATCH 061/133] Update referral-program.md small changes --- docs/referral-program.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/referral-program.md b/docs/referral-program.md index 702aae8b2b2..71e9a535823 100644 --- a/docs/referral-program.md +++ b/docs/referral-program.md @@ -5,4 +5,4 @@ title: 💰 Referral Program We give away 500 USD to each referral of a successful grant application by _anyone having previously worked on a Web3 Foundation grant_ or _a [Polkadot Ambassador](https://wiki.polkadot.network/docs/ambassadors)_. Web3 Foundation and Parity employees do not qualify for the program, even if they previously worked on a grant. -In order to be eligible for the referral bonus, the application itself must contain the name of the [Polkadot Ambassador](https://wiki.polkadot.network/docs/ambassadors) or the GitHub account of the grantee as well as the payment address for the referral bonus (see the [application template](https://github.com/w3f/Grants-Program/blob/master/applications/application-template.md)). Payment is made in Bitcoin, USDT (on Kusama or Polkadot) or USDC/DAI (Ethereum). +In order to be eligible for the referral bonus, the application itself must contain the name of the [Polkadot Ambassador](https://wiki.polkadot.network/docs/ambassadors) or the GitHub account of the grantee as well as the payment address for the referral bonus (see the [application template](https://github.com/w3f/Grants-Program/blob/master/applications/application-template.md)). Payment is made in Bitcoin, USDT (Polkadot), or USDC/DAI (Ethereum). From 44e10264b537225172d2b38505e616bec318bd41 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Mon, 25 Sep 2023 09:10:44 +0200 Subject: [PATCH 062/133] Update how-to-apply.md Small changes --- docs/Process/how-to-apply.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/Process/how-to-apply.md b/docs/Process/how-to-apply.md index 23e7f73261b..cd533b99870 100644 --- a/docs/Process/how-to-apply.md +++ b/docs/Process/how-to-apply.md @@ -12,7 +12,7 @@ If you want to apply in **private**, you can do so [:arrow_right: here](https:// :::info -Payments can be made in fiat, Bitcoin, USDT (on Kusama or Polkadot) or USDC/DAI (Ethereum). Please indicate your preference in the application [as outlined in our application template](https://github.com/w3f/Grants-Program/blob/master/applications/application-template.md?plain=1#L7). +Payments can be made in fiat, Bitcoin, USDT (Polkadot), or USDC/DAI (Ethereum). Please indicate your preference in the application [as outlined in our application template](https://github.com/w3f/Grants-Program/blob/master/applications/application-template.md?plain=1#L7). ::: From 7644e7f8687f7012260267901c606cc40e036593 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20M=C3=BCller?= Date: Mon, 25 Sep 2023 10:52:48 +0200 Subject: [PATCH 063/133] change admonition background colors (#2001) --- src/css/custom.css | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/css/custom.css b/src/css/custom.css index 7bff5bdfc88..4919a1b86a7 100644 --- a/src/css/custom.css +++ b/src/css/custom.css @@ -150,10 +150,20 @@ a:hover.navbar__item{ /* More prominent admonitions */ .theme-admonition-danger { border-left: 5px solid rgb(0, 0, 0); - background-color: rgba(255, 0, 0, 0.238); + background-color: rgba(255, 0, 0, 0.15); } .theme-admonition-info { border-left: 5px solid rgb(0, 0, 0); - background-color: rgba(255, 255, 0, 0.238); -} \ No newline at end of file + background-color: rgba(0, 0, 0, 0.15); +} + +.theme-admonition-caution { + border-left: 5px solid rgb(0, 0, 0); + background-color: rgba(255, 255, 0, 0.15); +} + +.theme-admonition-tip { + border-left: 5px solid rgb(0, 0, 0); + background-color: rgba(0, 255, 0, 0.15); +} From d60e2b5a94836f4c6ce3fe7449de086252c7d71e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20M=C3=BCller?= Date: Mon, 25 Sep 2023 11:25:51 +0200 Subject: [PATCH 064/133] Update payment options (#2000) * update-payment-options * remove empty lines on admonitions --- .github/pull_request_template.md | 2 +- README.md | 12 +- applications/application-template-research.md | 31 ++--- applications/application-template.md | 26 +++-- .../maintenance/maintenance-template.md | 2 +- docs/Process/how-to-apply.md | 6 +- docs/Support Docs/T&Cs.md | 107 +++++++++--------- .../milestone-deliverables-guidelines.md | 4 - docs/funding.md | 2 - docs/process.md | 2 - docs/referral-program.md | 2 +- 11 files changed, 100 insertions(+), 96 deletions(-) diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 825d0e78e2d..b8eacc22228 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -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 (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)). diff --git a/README.md b/README.md index e7486c5872b..2b12402c6ea 100644 --- a/README.md +++ b/README.md @@ -147,7 +147,13 @@ The W3F Grants Program offers different grant levels to help you best, depending ## :pencil: Process -> **:loudspeaker:** The process below is independent of the [level](#level_slider-levels). Payment is made in fiat, Bitcoin, USDT (on the [Polkadot Asset Hub](https://support.polkadot.network/support/solutions/articles/65000181800-what-is-statemint-and-statemine-and-how-do-i-use-them-)) or USDC/DAI (Ethereum). If you want to apply in **private**, you can apply [:arrow_right: here](https://docs.google.com/forms/d/e/1FAIpQLSfMfjiRmDQDRk-4OhNASM6BAKii7rz_B1jWtbCPkUh6N7M2ww/viewform). Note that this is generally a slower process and imposes stricter requirements on applicants. +:::tip +If you want to apply in **private**, you can do so [:arrow_right: here](https://docs.google.com/forms/d/e/1FAIpQLSfMfjiRmDQDRk-4OhNASM6BAKii7rz_B1jWtbCPkUh6N7M2ww/viewform). Note that this is generally a slower process and imposes stricter requirements on applicants. +::: + +:::info +Payments can be made in USDT and USDC on the Polkadot [AssetHub](https://wiki.polkadot.network/docs/learn-assets), Bitcoin and fiat (USD, EUR, CHF). Please indicate your preference in the application [as outlined in our application template](https://github.com/w3f/Grants-Program/blob/master/applications/application-template.md?plain=1#L7). +::: ### 1. Application @@ -222,7 +228,7 @@ Please note that: We give away 500 USD to each referral of a successful grant application by _anyone having previously worked on a Web3 Foundation grant_ or _a [Polkadot Ambassador](https://wiki.polkadot.network/docs/ambassadors)_. Web3 Foundation and Parity employees do not qualify for the program, even if they previously worked on a grant. -In order to be eligible for the referral bonus, the application itself must contain the name of the [Polkadot Ambassador](https://wiki.polkadot.network/docs/ambassadors) or the GitHub account of the grantee as well as the payment address for the referral bonus (see the [application template](applications/application-template.md)). Payment is made in Bitcoin, USDT (on Polkadot), or USDC/DAI (Ethereum). +In order to be eligible for the referral bonus, the application itself must contain the name of the [Polkadot Ambassador](https://wiki.polkadot.network/docs/ambassadors) or the GitHub account of the grantee as well as the payment address for the referral bonus (see the [application template](applications/application-template.md)). Payment is made in Bitcoin or USDT/USDC on Polkadot AssetHub. ## :bulb: Help @@ -318,7 +324,7 @@ The best way to find out about upcoming hackathons is by following Polkadot on v Below is a list of other grant and bounty programs in the Polkadot/Substrate ecosystem: - [Acala Grants Program](https://acala.network/ecosystem-program) -- [Aleph Zero Funding Program](https://alephzero.org/ecosystem-funding-program) +- [Aleph Zero Funding Program](https://alephzero.org/ecosystem-funding-program) - [Astar / Shiden Network Builders Program](https://github.com/PlasmNetwork/Builders-Program) - [Crust Grants Program](https://github.com/crustio/Crust-Grants-Program) - [Darwinia Grants Program](https://github.com/darwinia-network/collaboration/blob/master/grant/README.md#grant-program) diff --git a/applications/application-template-research.md b/applications/application-template-research.md index f191321f29f..21591ec65c0 100644 --- a/applications/application-template-research.md +++ b/applications/application-template-research.md @@ -1,13 +1,15 @@ # Name of your Research Project1 -> This document will be part of the terms and conditions of your agreement and therefore needs to contain all the required information about the project. Don't remove any of the mandatory parts presented in bold letters or as headlines (except for the title)! Lines starting with a `>` (such as this one) should be removed. Please use markdown instead of HTML (e.g. `![](image.png)` instead of ``). +> This document will be part of the terms and conditions of your agreement and therefore needs to contain all the required information about the project. Don't remove any of the mandatory parts presented in bold letters or as headlines (except for the title)! Lines starting with a `>` (such as this one) should be removed. Please use markdown instead of HTML (e.g. `![](image.png)` instead of ``). > > See the [Grants Program Process](https://github.com/w3f/Grants-Program/#pencil-process) on how to submit a proposal. -- **Team Name:** Legal name of your team (e.g. Duo) -- **Payment Address:** In the case of fiat payment, please share your bank account privately with grants@web3.foundation via your contact email (see below) and enter the date when you shared the information with us (e.g. Fiat 24.12.1971, 11:59) here. Otherwise, provide the BTC, Ethereum (USDC/DAI) or Polkadot/Kusama (USDT) payment address. Please also specify the currency. (e.g. 0x8920... (DAI)) + +- **Team Name:** Legal name of your team (e.g. JsonCorp) +- **Payment Address:** In the case of fiat payment, please share your bank account privately with grants@web3.foundation via your contact email (see below) and enter the date when you shared the information with us (e.g. Fiat 24.12.1971, 11:59) here. Otherwise, provide the Polkadot ( for USDC & USDT) or Bitcoin payment address. Please also specify the currency. (e.g. 0x8920... (USDC)) - **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 1, 2 or 3 > :exclamation: *The combination of your GitHub account submitting the application and the payment address above will be your unique identifier during the program. Please keep them safe.* +> ## Project Overview :page_facing_up: If this application is in response to an RFP, please indicate this on the first line of this section. @@ -22,24 +24,25 @@ Please provide the following: - A brief description of your project. - An indication of how your project relates to / integrates into Substrate / Polkadot / Kusama. - An indication of why your team is interested in creating this project. -- An indication if your project is academic research, i.e., intended to be published in an academic peer-reviewed venue, or a technical one, to be published as a technical report on the internet. +- An indication if your project is academic research, i.e., intended to be published in an academic peer-reviewed venue, or a technical one, to be published as a technical report on the internet. ### Project Details We expect the teams to already have a solid idea about your project's expected final state. Therefore, we ask the teams to submit (where relevant): -- The problem(s) that you want to investigate, and why these are important. +- The problem(s) that you want to investigate, and why these are important. - Research questions/hypothesis. -- The methodology that will be applied. +- The methodology that will be applied. - The data collection and analysis procedures. - The expected results and how they would be double-checked by the grants team (reproducibility of the data analysis). - Relevant related work. -- Intended venue for results publication and the timeline for publication. -- What your project is _not_ or will _not_ provide or implement +- Intended venue for results publication and the timeline for publication. +- What your project is *not* or will *not* provide or implement - This is a place for you to manage expectations and clarify any limitations that might not be obvious Things that shouldn’t be part of the application (see also our [FAQ](../docs/faq.md)): -- The (future) tokenomics of your project + +- The (future) tokenomics of your project - Business-oriented activities (marketing, business planning), events or outreach ### Ecosystem Fit @@ -93,6 +96,7 @@ Please also provide the GitHub accounts of all team members. If they contain no - https://www.linkedin.com/ ### Google Scholar Profiles (Or other research indexer profile, ex. Researchgate) + - https://scholar.google.com/citations?user= - https://scholar.google.com/citations?user= @@ -107,11 +111,11 @@ If you've already started working on your project or it is part of a larger proj ## Development Roadmap :nut_and_bolt: -This section should break the research development roadmap down into milestones and deliverables. To assist you in defining it, we have created a document with examples for some grant categories, including research [here](../docs/Support%20Docs/grant_guidelines_per_category.md). Since these will be part of the agreement, it helps to describe _the deliverable we should expect in as much detail as possible_, plus how we can verify that deliverable. Whenever milestones are delivered, we refer to this document to ensure that everything has been delivered as expected. +This section should break the research development roadmap down into milestones and deliverables. To assist you in defining it, we have created a document with examples for some grant categories, including research [here](../docs/Support%20Docs/grant_guidelines_per_category.md). Since these will be part of the agreement, it helps to describe *the deliverable we should expect in as much detail as possible*, plus how we can verify that deliverable. Whenever milestones are delivered, we refer to this document to ensure that everything has been delivered as expected. -Below we provide an **example roadmap**. In the descriptions, it should be clear how your project is related to Substrate, Kusama or Polkadot. We _recommend_ that teams structure their roadmap as 1 milestone ≈ 1 month. +Below we provide an **example roadmap**. In the descriptions, it should be clear how your project is related to Substrate, Kusama or Polkadot. We *recommend* that teams structure their roadmap as 1 milestone ≈ 1 month. -> :exclamation: If any of your deliverables is based on somebody else's work, make sure you cite it. If your research contains software artifacts in the same situation, make sure you work and publish _under the terms of the license_ of the respective project and that you **highlight this fact in your milestone documentation** and in the source code if applicable! **Teams that submit others' work without attributing it will be immediately terminated.** +> :exclamation: If any of your deliverables is based on somebody else's work, make sure you cite it. If your research contains software artifacts in the same situation, make sure you work and publish *under the terms of the license* of the respective project and that you **highlight this fact in your milestone documentation** and in the source code if applicable! **Teams that submit others' work without attributing it will be immediately terminated.** ### Overview @@ -155,9 +159,10 @@ Please include here - how you intend to use, enhance, promote and support your project in the short term, and - the team's long-term plans and intentions in relation to it. -## Referral Program (optional) :moneybag: +## Referral Program (optional) :moneybag: You can find more information about the program [here](../README.md#moneybag-referral-program). + - **Referrer:** Name of the Polkadot Ambassador or GitHub account of the Web3 Foundation grantee - **Payment Address:** BTC, Ethereum (USDC/DAI) or Polkadot/Kusama (USDT) payment address. Please also specify the currency. (e.g. 0x8920... (DAI)) diff --git a/applications/application-template.md b/applications/application-template.md index bd01ca873c0..807793e767d 100644 --- a/applications/application-template.md +++ b/applications/application-template.md @@ -1,13 +1,15 @@ # Name of your Project -> This document will be part of the terms and conditions of your agreement and therefore needs to contain all the required information about the project. Don't remove any of the mandatory parts presented in bold letters or as headlines (except for the title)! Lines starting with a `>` (such as this one) should be removed. Please use markdown instead of HTML (e.g. `![](image.png)` instead of ``). +> This document will be part of the terms and conditions of your agreement and therefore needs to contain all the required information about the project. Don't remove any of the mandatory parts presented in bold letters or as headlines (except for the title)! Lines starting with a `>` (such as this one) should be removed. Please use markdown instead of HTML (e.g. `![](image.png)` instead of ``). > > See the [Grants Program Process](https://github.com/w3f/Grants-Program/#pencil-process) on how to submit a proposal. -- **Team Name:** Legal name of your team (e.g. Duo) -- **Payment Address:** In the case of fiat payment, please share your bank account privately with grants@web3.foundation via your contact email (see below) and enter the date when you shared the information with us (e.g. Fiat 24.12.1971, 11:59) here. Otherwise, provide the BTC, Ethereum (USDC/DAI) or Polkadot/Kusama (USDT) payment address. Please also specify the currency. (e.g. 0x8920... (DAI)) + +- **Team Name:** Legal name of your team (e.g. JsonCorp) +- **Payment Address:** In the case of fiat payment, please share your bank account privately with grants@web3.foundation via your contact email (see below) and enter the date when you shared the information with us (e.g. Fiat 24.12.1971, 11:59) here. Otherwise, provide the Polkadot (for USDC & USDT) or Bitcoin payment address. Please also specify the currency. (e.g. 0x8920... (USDC)) - **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 1, 2 or 3 > :exclamation: *The combination of your GitHub account submitting the application and the payment address above will be your unique identifier during the program. Please keep them safe.* + ## Project Overview :page_facing_up: If this application is in response to an RFP, please indicate this on the first line of this section. @@ -32,12 +34,13 @@ We expect the teams to already have a solid idea about your project's expected f - An overview of the technology stack to be used - Documentation of core components, protocols, architecture, etc. to be deployed - PoC/MVP or other relevant prior work or research on the topic -- What your project is _not_ or will _not_ provide or implement +- What your project is *not* or will *not* provide or implement - This is a place for you to manage expectations and to clarify any limitations that might not be obvious Things that shouldn’t be part of the application (see also our [FAQ](../docs/faq.md)): -- The (future) tokenomics of your project + +- The (future) tokenomics of your project - For non-infrastructure projects—deployment and hosting costs, maintenance or audits - Business-oriented activities (marketing, business planning), events or outreach @@ -72,7 +75,7 @@ Help us locate your project in the Polkadot/Substrate/Kusama landscape and what ### Team's experience -Please describe the team's relevant experience. If your project involves development work, we would appreciate it if you singled out a few interesting projects or contributions made by team members in the past. +Please describe the team's relevant experience. If your project involves development work, we would appreciate it if you singled out a few interesting projects or contributions made by team members in the past. If anyone on your team has applied for a grant at the Web3 Foundation previously, please list the name of the project and legal entity here. @@ -104,11 +107,11 @@ If you've already started implementing your project or it is part of a larger re ## Development Roadmap :nut_and_bolt: -This section should break the development roadmap down into milestones and deliverables. To assist you in defining it, we have created a document with examples for some grant categories [here](../docs/Support%20Docs/grant_guidelines_per_category.md). Since these will be part of the agreement, it helps to describe _the functionality we should expect in as much detail as possible_, plus how we can verify and test that functionality. Whenever milestones are delivered, we refer to this document to ensure that everything has been delivered as expected. +This section should break the development roadmap down into milestones and deliverables. To assist you in defining it, we have created a document with examples for some grant categories [here](../docs/Support%20Docs/grant_guidelines_per_category.md). Since these will be part of the agreement, it helps to describe *the functionality we should expect in as much detail as possible*, plus how we can verify and test that functionality. Whenever milestones are delivered, we refer to this document to ensure that everything has been delivered as expected. -Below we provide an **example roadmap**. In the descriptions, it should be clear how your project is related to Substrate, Kusama or Polkadot. We _recommend_ that teams structure their roadmap as 1 milestone ≈ 1 month. +Below we provide an **example roadmap**. In the descriptions, it should be clear how your project is related to Substrate, Kusama or Polkadot. We *recommend* that teams structure their roadmap as 1 milestone ≈ 1 month. -> :exclamation: If any of your deliverables is based on somebody else's work, make sure you work and publish _under the terms of the license_ of the respective project and that you **highlight this fact in your milestone documentation** and in the source code if applicable! **Projects that submit other people's work without proper attribution will be immediately terminated.** +> :exclamation: If any of your deliverables is based on somebody else's work, make sure you work and publish *under the terms of the license* of the respective project and that you **highlight this fact in your milestone documentation** and in the source code if applicable! **Projects that submit other people's work without proper attribution will be immediately terminated.** ### Overview @@ -122,7 +125,7 @@ Below we provide an **example roadmap**. In the descriptions, it should be clear - **FTE:** 1,5 - **Costs:** 8,000 USD -> :exclamation: **The default deliverables 0a-0d below are mandatory for all milestones**, and deliverable 0e at least for the last one. +> :exclamation: **The default deliverables 0a-0d below are mandatory for all milestones**, and deliverable 0e at least for the last one. | Number | Deliverable | Specification | | -----: | ----------- | ------------- | @@ -155,9 +158,10 @@ Please include here - how you intend to use, enhance, promote and support your project in the short term, and - the team's long-term plans and intentions in relation to it. -## Referral Program (optional) :moneybag: +## Referral Program (optional) :moneybag: You can find more information about the program [here](../README.md#moneybag-referral-program). + - **Referrer:** Name of the Polkadot Ambassador or GitHub account of the Web3 Foundation grantee - **Payment Address:** BTC, Ethereum (USDC/DAI) or Polkadot/Kusama (USDT) payment address. Please also specify the currency. (e.g. 0x8920... (DAI)) diff --git a/applications/maintenance/maintenance-template.md b/applications/maintenance/maintenance-template.md index c3e13f35146..aeb5ffddb07 100644 --- a/applications/maintenance/maintenance-template.md +++ b/applications/maintenance/maintenance-template.md @@ -5,7 +5,7 @@ > See the [Maintenance Grants Process](https://github.com/w3f/Grants-Program#hammer_and_wrench-maintenance-grants) on how to submit a proposal. - **Team Name:** Legal name of your team (e.g. JsonCorp) -- **Payment Address:** In the case of fiat payment, please share your bank account privately with grants@web3.foundation via your contact email (see below) and enter the date when you shared the information with us (e.g. Fiat 24.12.1971, 11:59) here. Otherwise, provide the BTC, Ethereum (USDC/DAI) or Polkadot/Kusama (USDT) payment address. Please also specify the currency. (e.g. 0x8920... (DAI)) +- **Payment Address:** In the case of fiat payment, please share your bank account privately with grants@web3.foundation via your contact email (see below) and enter the date when you shared the information with us (e.g. Fiat 24.12.1971, 11:59) here. Otherwise, provide the Polkadot (for USDC & USDT) or Bitcoin payment address. Please also specify the currency. (e.g. 0x8920... (USDC)) - **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 1, 2 or 3 > ⚠️ *The combination of your GitHub account submitting the application and the payment address above will be your unique identifier during the program. Please keep them safe.* diff --git a/docs/Process/how-to-apply.md b/docs/Process/how-to-apply.md index cd533b99870..c48f43b3ab5 100644 --- a/docs/Process/how-to-apply.md +++ b/docs/Process/how-to-apply.md @@ -5,15 +5,11 @@ title: 1. Application :::tip - If you want to apply in **private**, you can do so [:arrow_right: here](https://docs.google.com/forms/d/e/1FAIpQLSfMfjiRmDQDRk-4OhNASM6BAKii7rz_B1jWtbCPkUh6N7M2ww/viewform). Note that this is generally a slower process and imposes stricter requirements on applicants. - ::: :::info - -Payments can be made in fiat, Bitcoin, USDT (Polkadot), or USDC/DAI (Ethereum). Please indicate your preference in the application [as outlined in our application template](https://github.com/w3f/Grants-Program/blob/master/applications/application-template.md?plain=1#L7). - +Payments can be made in USDT and USDC on the Polkadot [AssetHub](https://wiki.polkadot.network/docs/learn-assets), Bitcoin and fiat (USD, EUR, CHF). Please indicate your preference in the application [as outlined in our application template](https://github.com/w3f/Grants-Program/blob/master/applications/application-template.md?plain=1#L7). ::: diff --git a/docs/Support Docs/T&Cs.md b/docs/Support Docs/T&Cs.md index 69468d88c17..8ba6919da9b 100644 --- a/docs/Support Docs/T&Cs.md +++ b/docs/Support Docs/T&Cs.md @@ -37,7 +37,7 @@ The terms defined in this section whenever used in these Terms and Conditions sh "Milestones" mean any and all of the milestones specified in the final version of the application under Development Roadmap and approved by the Grants Committee in accordance with the Procedure as well as placed in the applications folder of the W3F Grants Program Repository at ; -"Polkadot" means a scalable heterogeneous multi-chain framework developed by, or the development of which has been procured by Web 3.0. that has the features described in the white paper ("Polkadot: Vision For A Heterogeneous Multi-Chain Framework -- Draft 1") or as otherwise determined by Web 3.0. in its sole discretion from time to time) and utilizes DOTs as the blockchain token native to its operation and/or functioning; +"Polkadot" means a scalable heterogeneous multi-chain framework developed by, or the development of which has been procured by Web 3.0. that has the features described in the white paper ("Polkadot: Vision For A Heterogeneous Multi-Chain Framework -- Draft 1") or as otherwise determined by Web 3.0. in its sole discretion from time to time) and utilizes DOTs as the blockchain token native to its operation and/or functioning; "Procedure" means the procedure in connection with the Web 3.0 Foundation Grants Program, as established in Section 4 below; @@ -53,19 +53,19 @@ The terms defined in this section whenever used in these Terms and Conditions sh If You are submitting an application for a Grant, You represent and warrant that: -- each of the following statements is true and accurate and all of the information You provided was and shall remain true and complete; -- If You are registering on behalf of a legal entity, such legal entity is duly organized and validly existing under the applicable laws of the jurisdiction of its organization and you are duly authorized by such legal entity to act on its behalf; -- You are of legal age to form a binding contract (at least 18 years old in most jurisdictions); -- You have the right, full power and authority to enter into these Terms and Conditions, to exercise your rights and perform your obligations under these Terms and Conditions and in doing so will not violate any other agreement to which You are a Party nor any laws; -- these Terms and Conditions constitutes a legal, valid and binding obligation on You which are enforceable against You in accordance with their terms; -- no consent, authorisation, licence or approval of or notice to any governmental authority nor your shareholders, partners, members, other record or beneficial owners or other any relevant person (as applicable) is required to authorise the execution, delivery, validity, enforceability or admissibility in evidence of the performance by You of your obligations under these Terms and Conditions; -- You are not a citizen of, or resident in or located in, or incorporated or otherwise : - 1. listed on any of the following lists (each a Sanctions List): the Consolidated United Nations Security Council Sanctions List; the Specially Designated Nationals and Blocked Persons List or the Sectoral Sanctions Identification List maintained by the US Office of Foreign Assets Control (OFAC); the Consolidated List of Persons, Groups and Entities subject to EU Financial Sanctions; the Consolidated List of Financial Sanctions Targets or List of persons subject to restrictive measures in view of Russia's actions destabilising the situation in Ukraine, maintained by the UK Treasury; the Overall List of Sanctioned Individuals, Entities and Organizations maintained by the Swiss State Secretariat for Economic Affairs (SECO); 'Ordinance lists of the Swiss Federal Council'; or any similar list maintained by, or public announcement of sanctions made by, any other Sanctions Authority (as defined below); - 2. owned or controlled by, or acting on behalf of or for the benefit of, any person on a Sanctions List; - 3. located in, resident in or incorporated under the laws of (as applicable) Syria, Iran, Cuba, Crimea or North Korea, or any other country or territory which, after the Effective Date, becomes the target of such comprehensive, country-wide or territory-wide Sanctions (as defined below) as currently apply to the aforementioned territories; or - 4. the target of any sanctions laws, regulations, embargoes or restrictive measures (Sanctions), as amended from time to time, administered, enacted or enforced by: the United Nations, the United States, the European Union or any Member State thereof, the United Kingdom, Switzerland or the respective Governmental Authorities and agencies of any of the foregoing responsible for administering, enacting or enforcing Sanctions, including without limitation, OFAC, the US Department of State, the United Kingdom Treasury or the SECO (Sanctions Authority). +- each of the following statements is true and accurate and all of the information You provided was and shall remain true and complete; +- If You are registering on behalf of a legal entity, such legal entity is duly organized and validly existing under the applicable laws of the jurisdiction of its organization and you are duly authorized by such legal entity to act on its behalf; +- You are of legal age to form a binding contract (at least 18 years old in most jurisdictions); +- You have the right, full power and authority to enter into these Terms and Conditions, to exercise your rights and perform your obligations under these Terms and Conditions and in doing so will not violate any other agreement to which You are a Party nor any laws; +- these Terms and Conditions constitutes a legal, valid and binding obligation on You which are enforceable against You in accordance with their terms; +- no consent, authorisation, licence or approval of or notice to any governmental authority nor your shareholders, partners, members, other record or beneficial owners or other any relevant person (as applicable) is required to authorise the execution, delivery, validity, enforceability or admissibility in evidence of the performance by You of your obligations under these Terms and Conditions; +- You are not a citizen of, or resident in or located in, or incorporated or otherwise : + 1. listed on any of the following lists (each a Sanctions List): the Consolidated United Nations Security Council Sanctions List; the Specially Designated Nationals and Blocked Persons List or the Sectoral Sanctions Identification List maintained by the US Office of Foreign Assets Control (OFAC); the Consolidated List of Persons, Groups and Entities subject to EU Financial Sanctions; the Consolidated List of Financial Sanctions Targets or List of persons subject to restrictive measures in view of Russia's actions destabilising the situation in Ukraine, maintained by the UK Treasury; the Overall List of Sanctioned Individuals, Entities and Organizations maintained by the Swiss State Secretariat for Economic Affairs (SECO); 'Ordinance lists of the Swiss Federal Council'; or any similar list maintained by, or public announcement of sanctions made by, any other Sanctions Authority (as defined below); + 2. owned or controlled by, or acting on behalf of or for the benefit of, any person on a Sanctions List; + 3. located in, resident in or incorporated under the laws of (as applicable) Syria, Iran, Cuba, Crimea or North Korea, or any other country or territory which, after the Effective Date, becomes the target of such comprehensive, country-wide or territory-wide Sanctions (as defined below) as currently apply to the aforementioned territories; or + 4. the target of any sanctions laws, regulations, embargoes or restrictive measures (Sanctions), as amended from time to time, administered, enacted or enforced by: the United Nations, the United States, the European Union or any Member State thereof, the United Kingdom, Switzerland or the respective Governmental Authorities and agencies of any of the foregoing responsible for administering, enacting or enforcing Sanctions, including without limitation, OFAC, the US Department of State, the United Kingdom Treasury or the SECO (Sanctions Authority). -- You will comply with any laws applicable to Your software (built based upon the Polkadot network) and not engage in any illegal activities. In particular, You will not use the Polkadot network to facilitate infringement of any third party intellectual property rights or data privacy rights. +- You will comply with any laws applicable to Your software (built based upon the Polkadot network) and not engage in any illegal activities. In particular, You will not use the Polkadot network to facilitate infringement of any third party intellectual property rights or data privacy rights. You shall indemnify and hold harmless Web 3.0 from any third party claims (including reasonable attorney's costs) raised against Web 3.0 based on an alleged infringement of the above representations and warranties. @@ -73,10 +73,10 @@ You shall indemnify and hold harmless Web 3.0 from any third party claims (inclu To apply for the Web 3.0 Foundation Grants Program, your application shall fulfill the following criteria: -- it shall be a research or software-based project, which contributes to the advancement of the Polkadot ecosystem; -- the Software shall be released under the Apache license version 2.0.; -- You must accept payment in fiat, Bitcoin, USDT (on Kusama or Polkadot) or USDC/DAI (Ethereum); -- You will need to submit the application and deliver the milestones according to the process specified below; +- it shall be a research or software-based project, which contributes to the advancement of the Polkadot ecosystem; +- the Software shall be released under the Apache license version 2.0.; +- You must accept payment in USDT or USDC/DAI on Polkadot AssetHub, fiat or BTC; +- You will need to submit the application and deliver the milestones according to the process specified below; The grants process consists of five parts, each of them described in more detail below: @@ -88,7 +88,7 @@ To apply for a grant of the Web3 Foundation Grants Program, the grantee needs to **(ii) Application review process:** -The Web 3.0 grants committee, which is specified on the [Grants-Program GitHub repository ](https://github.com/w3f/Grants-Program)(the "Grants Committee"), can issue comments and request changes on the grant application pull request (the submission of the grant application on GitHub). As soon enough members of the Grants Committee approve the pull request, the terms and conditions are signed off and all requested changes are addressed, the application is officially accepted. The application is now a part of the [W3F Grants-Program GitHub repository](https://github.com/w3f/Grants-Program). The time point of the acceptance by the Grants Committee is hereby stored on GitHub and counts as the official beginning of the grant. The original submission is stored with a unique commit hash (identifier) and can not be altered by any party. The final version approved by the Grants Committee of the Specifications, the Time Schedule and Milestones will be placed in the applications folder of the W3F Grants Program Repository at via the merge function of GitHub. +The Web 3.0 grants committee, which is specified on the [Grants-Program GitHub repository](https://github.com/w3f/Grants-Program)(the "Grants Committee"), can issue comments and request changes on the grant application pull request (the submission of the grant application on GitHub). As soon enough members of the Grants Committee approve the pull request, the terms and conditions are signed off and all requested changes are addressed, the application is officially accepted. The application is now a part of the [W3F Grants-Program GitHub repository](https://github.com/w3f/Grants-Program). The time point of the acceptance by the Grants Committee is hereby stored on GitHub and counts as the official beginning of the grant. The original submission is stored with a unique commit hash (identifier) and can not be altered by any party. The final version approved by the Grants Committee of the Specifications, the Time Schedule and Milestones will be placed in the applications folder of the W3F Grants Program Repository at via the merge function of GitHub. **(iii) Milestone delivery process:** @@ -96,7 +96,7 @@ To submit one of the possible multiple milestones specified in the application, **(iv) Milestone review process:** -The Grants Evaluators, who are specified on the [Grants-Program GitHub repository](https://github.com/w3f/Grants-Program), can issue comments and request changes on the milestone delivery pull request. +The Grants Evaluators, who are specified on the [Grants-Program GitHub repository](https://github.com/w3f/Grants-Program), can issue comments and request changes on the milestone delivery pull request. a) Purpose and object of the milestone review process @@ -123,40 +123,41 @@ As soon as one evaluator approves the pull request, the delivery is officially a **(v) Payment process:** -The Operations Team specified in the [Grants-Program GitHub repository](https://github.com/w3f/Grants-Program), gets notified once the above-specified delivery was accepted. As soon as any feedback is provided by the evaluators, this feedback first needs to be resolved. After this, the Operations Team makes the payment to the Bitcoin, USDT (on Kusama or Polkadot) or USDC/DAI (Ethereum) address specified in the initial application. +The Operations Team specified in the [Grants-Program GitHub repository](https://github.com/w3f/Grants-Program), gets notified once the above-specified delivery was accepted. As soon as any feedback is provided by the evaluators, this feedback first needs to be resolved. After this, the Operations Team makes the payment to the bank account, Bitcoin or Polkadot AssetHub (for USDT and USDC) address specified in the initial application. + ## 5. Scope of these Terms and Conditions The subject matter of these Terms and Conditions is (i) the development of the Software by You in accordance with the Specifications, Milestones and Time Schedule, as well as any related activities (including any development activities undertaken before the Effective Date in relation to the Software) (collectively referred to as "Development Work") in accordance with the terms of these Terms and Conditions. -In performing your obligations under these Terms and Conditions, You shall: +In performing your obligations under these Terms and Conditions, You shall: -1. use reasonable skill and care; -2. comply with any date or time specified according to the Time Schedule; -3. perform your obligations in accordance with good industry practice, being practices in relation to the development of software and related deliverables the same as or similar to the Software that are usually followed by other suppliers in the same industry, including adherence to industry codes of practice and industry standards in relation to such products and services; -4. perform your obligations in accordance with all laws and codes of conducts applicable; -5. ensure that your development team consists of a sufficient number of appropriately skilled and experienced individuals -6. develop the Software as an open source software under the Apache license version 2.0. +1. use reasonable skill and care; +2. comply with any date or time specified according to the Time Schedule; +3. perform your obligations in accordance with good industry practice, being practices in relation to the development of software and related deliverables the same as or similar to the Software that are usually followed by other suppliers in the same industry, including adherence to industry codes of practice and industry standards in relation to such products and services; +4. perform your obligations in accordance with all laws and codes of conducts applicable; +5. ensure that your development team consists of a sufficient number of appropriately skilled and experienced individuals +6. develop the Software as an open source software under the Apache license version 2.0. -Unless expressly agreed otherwise in writing by the Foundation, the Grantee shall not subcontract, even partially, the development of the project/deliverable to any third party. If the project/deliverable, in whole or in part, is subcontracted to a third party without the consent of the Foundation, the Foundation is entitled to immediately terminate the Grant Agreement and to recover the grant amount already disbursed. +Unless expressly agreed otherwise in writing by the Foundation, the Grantee shall not subcontract, even partially, the development of the project/deliverable to any third party. If the project/deliverable, in whole or in part, is subcontracted to a third party without the consent of the Foundation, the Foundation is entitled to immediately terminate the Grant Agreement and to recover the grant amount already disbursed. The Parties acknowledge and agree that the requirements set out in the Milestones may only be varied or amended by submitting another pull request and the following reevaluation by the committee under the same conditions as the initial application review process specified above. ## 6. Obligations of User -1. You shall deliver the Software, as well as all related deliverables, including but not limited to the source code, to Web 3.0 free of defects, fully compliant with the Specifications and in accordance with the Time Schedule. +1. You shall deliver the Software, as well as all related deliverables, including but not limited to the source code, to Web 3.0 free of defects, fully compliant with the Specifications and in accordance with the Time Schedule. -2. Web 3.0 shall be in the position to further developing, re-engineering and using the delivered Software without any technical or other limitations. +2. Web 3.0 shall be in the position to further developing, re-engineering and using the delivered Software without any technical or other limitations. -3. You shall bear all costs and expenses incurred in connection with the Development Work. +3. You shall bear all costs and expenses incurred in connection with the Development Work. -4. You shall remain positive towards the Foundation, the Foundation representatives and its goals, plans and projects. You shall advocate for the Foundation's projects' and sub-projects' aims during the term of the Agreement. +4. You shall remain positive towards the Foundation, the Foundation representatives and its goals, plans and projects. You shall advocate for the Foundation's projects' and sub-projects' aims during the term of the Agreement. -5. You shall, at all times during the term of the Agreement refrain from making, causing to be made, publishing, ratifying, endorsing, re-publishing or promulgating any and all disparaging remarks or derogatory, false, negative, critical, vilifying or otherwise detrimental statements or comments, whether implied or expressed, made in any format to any party or entity with respect to the Foundation, its officers, directors, employees, council members, advisors or otherwise affiliated individuals, entities and projects, including, but not limited to negative statements pertaining to: - 1. any management style, methods of doing business, quality of products and services, the business affairs, operation, financial condition and standing in the community; and - 2. any treatment of its officers, directors, employees, council members, advisors or otherwise affiliated individuals and any circumstances surrounding any such employment and/or separation of employment from the Foundation or advisory relationships. +5. You shall, at all times during the term of the Agreement refrain from making, causing to be made, publishing, ratifying, endorsing, re-publishing or promulgating any and all disparaging remarks or derogatory, false, negative, critical, vilifying or otherwise detrimental statements or comments, whether implied or expressed, made in any format to any party or entity with respect to the Foundation, its officers, directors, employees, council members, advisors or otherwise affiliated individuals, entities and projects, including, but not limited to negative statements pertaining to: + 1. any management style, methods of doing business, quality of products and services, the business affairs, operation, financial condition and standing in the community; and + 2. any treatment of its officers, directors, employees, council members, advisors or otherwise affiliated individuals and any circumstances surrounding any such employment and/or separation of employment from the Foundation or advisory relationships. -6. You agree to forbear from making any public or non-confidential statement with respect to any claim or complaint against the Foundation without having obtained the Foundation’s prior written consent. +6. You agree to forbear from making any public or non-confidential statement with respect to any claim or complaint against the Foundation without having obtained the Foundation’s prior written consent. 7. You agree that during the term of this agreement together with the Schedules (or any of each SOW), including extensions or modifications thereto, and for a period of nine (9) months thereafter, neither Grantee nor the Foundation will recruit, directly or indirectly hire, solicit or employ, engage as an independent contractor, any employee or independent contractor of either party, or any employee or independent contractor of any of the other subcontractors, who are involved in the development, use, or provision of the Services, without the prior written approval of the party whose employee or independent contractor is being considered for employment or engagement as an independent contractor, except as otherwise required by law. If one of the parties breaches this section, this party shall pay forty thousand dollars ($40,000.00) for each person hired as liquidated damages. The parties agree that quantifying losses arising from breach of this section is inherently difficult and stipulate that the agreed upon sum is not a penalty, but rather a reasonable measure of damages, based upon the parties’ experience in the software development industry and given the nature of the losses that may result from such breach. @@ -188,7 +189,7 @@ You hereby warrant that: (c) there are no licenses or rights current in effect in favor of any third party to use the Software and the related deliverables which would impair the rights granted to Web 3.0. as provided for under these Terms and Conditions; and -(d) You have disclosed all previous involvement of any team member in the Web 3.0 grant process, including, but not limited to: Closed, Rejected, Accepted, Delivered and Pending grant applications. +(d) You have disclosed all previous involvement of any team member in the Web 3.0 grant process, including, but not limited to: Closed, Rejected, Accepted, Delivered and Pending grant applications. (e) there is no pending or threatened claim, action, suit, investigation or proceeding of any kind challenging, alleging or asserting that the Software and the related deliverables were improperly or invalidly granted or are otherwise not protected as Intellectual Property Rights. @@ -202,7 +203,7 @@ You further warrant that the Software and the related deliverables: Your liability for a single loss event shall be limited to the aggregate total of all sums paid by Web 3.0. to You under these Terms and Conditions. Nevertheless, You shall not be held liable for indirect, special, punitive, exemplary, incidental or consequential damages or losses arising out of these Terms and Conditions. -Furthermore, You shall hold Web 3.0. as well as its sublicensees harmless against any and all liability and damages for the infringement of Intellectual Property Rights of third parties, insofar as the infringement of such third party rights was caused by the intended use of the Software according to the Specifications. Web 3.0. shall immediately inform You in writing of any third party claims asserted and authorize You to conduct the defense, including the conclusion of a settlement, entirely at its own costs. In this respect, You shall use best efforts to provide Web 3.0. with the right to continue, or let continuing, using the Software or replace or modify the Software without deterioration or limitations of the functions and criteria agreed in the Specifications and without any additional costs. Should none of these measures be possible, Web 3.0. shall be entitled to withdraw from these Terms and Conditions and request the reimbursement of the Grant. +Furthermore, You shall hold Web 3.0. as well as its sublicensees harmless against any and all liability and damages for the infringement of Intellectual Property Rights of third parties, insofar as the infringement of such third party rights was caused by the intended use of the Software according to the Specifications. Web 3.0. shall immediately inform You in writing of any third party claims asserted and authorize You to conduct the defense, including the conclusion of a settlement, entirely at its own costs. In this respect, You shall use best efforts to provide Web 3.0. with the right to continue, or let continuing, using the Software or replace or modify the Software without deterioration or limitations of the functions and criteria agreed in the Specifications and without any additional costs. Should none of these measures be possible, Web 3.0. shall be entitled to withdraw from these Terms and Conditions and request the reimbursement of the Grant. If You or Web 3.0. delegates the performance of an obligation or the exercise of a right under these Terms and Conditions to an associate, they are liable to the other Party for any loss or damage the associate causes intentionally or negligently in carrying out such tasks. @@ -244,8 +245,8 @@ The headings used herein are inserted only as a matter of convenience and for re ## 13. Referral Program -If you were referred to the Web 3.0 Foundation Grants Program by a person who is either a Polkadot Ambassador or, in any case, a person considered by Web 3.0 as being active in the Polkadot Ecosystem (a “Valid Referee”), upon signature of this Terms and Conditions you could indicate to Web 3.0 the name of this Valid Referee, provided that he/she gave you his/her consent to share his/her identity with Web 3.0. Web 3.0, as part of its grant referral program, will grant to the Valid Referee a referral bonus of the amount at that time allocated as bonus under such program. -For the avoidance of any doubt, Web 3.0 reserves the right to decide - at its complete discretion - if an individual is (and/or continues to be) a Valid Referee, and only in this case the referee will be entitled to receive the referral bonus. +If you were referred to the Web 3.0 Foundation Grants Program by a person who is either a Polkadot Ambassador or, in any case, a person considered by Web 3.0 as being active in the Polkadot Ecosystem (a “Valid Referee”), upon signature of this Terms and Conditions you could indicate to Web 3.0 the name of this Valid Referee, provided that he/she gave you his/her consent to share his/her identity with Web 3.0. Web 3.0, as part of its grant referral program, will grant to the Valid Referee a referral bonus of the amount at that time allocated as bonus under such program. +For the avoidance of any doubt, Web 3.0 reserves the right to decide - at its complete discretion - if an individual is (and/or continues to be) a Valid Referee, and only in this case the referee will be entitled to receive the referral bonus. ## 14. Applicable Law and Jurisdiction @@ -266,19 +267,19 @@ HOWEVER, YOU SHALL AT ALL TIMES NOTE THAT NO PARTY (NEITHER WE OR YOU), INCLUDIN You shall at all times acknowledge and agree that certain risks exist in relation to using the Polkadot network. You fully acknowledge and agree that: -- No Party, including but not limited to the Parties involved, ​owns or controls the Polkadot network. It is built by the end users themselves. -- No Party, including but not limited to the Parties involved, has any authority to approve, prevent, restrict or anyhow exercise control over any interaction that occurs through the Polkadot network. You and end users are free to build their own network and network-based applications and provide them to customers under their own terms and conditions, provided that such applications should also run and be offered in a decentralized manner (as e.g. distributed ledger technology or often referred to as "blockchain" or any future adaptations of such technologies) without central oversight. -- You shall not have any expectations over the performance, suitability for business or interoperability of the Polkadot network for Your own business purposes. -- Polkadot network source code has not passed a third party security audit and can be potentially unstable and could cause unexpected effects and system failures. You are aware of this risk and must address it within Your own privacy compliance model when establishing technical and organizational measures on data security for Your end customers. -- By using the Polkadot network You covenant, represent, and warrant that Your use of the network complies with Your jurisdiction of residence and You are fully able and legally competent to use the Polkadot network. -- In the event Your use of the Polkadot network does not comply with the applicable law of Your jurisdiction of residence, You shall be fully liable for any consequences incurred thereof and fully acknowledge and agree that ​We ​shall not be held liable for Your use of the Polkadot network -- There is a risk that advances in cryptography or technical advances (such as the development of quantum computers) could present risks to blockchain-based applications and cryptocurrencies, Ethereum or tokens which could result in the theft or loss of such elements. -- The network (as well as any network You build based upon it) is susceptible to mining attacks (including but not limited to double-spend attacks, majority mining power attacks, "selfish-mining" attacks and race condition attacks. Despite the efforts of Web 3.0, the risk of known or novel mining attacks exists. -- There are risks associated with using the network, such as e.g. failure of hardware, software and Internet connections. You acknowledge that Web 3.0 shall not be responsible for any communication failures, disruptions, errors, distortions or delays You may experience when using the network. -- network source code is provided on an "AS IS" basis, without warranties and conditions of any kind, either express or implied, including, without limitation, any warranties or conditions of title, merchantability, fitness for a particular purpose, and non-infringement, unless otherwise required by mandatory applicable law. -- The entire risk as to the quality and performance of using the network is borne by You. -- You are solely responsible for determining the appropriateness of using or redistributing the network source code and/or any Derivative Work and assume any risks associated with Your exercise of permission granted under this License. -- You are solely responsible to regularly check for any modifications and updates to the network source code published at +- No Party, including but not limited to the Parties involved, ​owns or controls the Polkadot network. It is built by the end users themselves. +- No Party, including but not limited to the Parties involved, has any authority to approve, prevent, restrict or anyhow exercise control over any interaction that occurs through the Polkadot network. You and end users are free to build their own network and network-based applications and provide them to customers under their own terms and conditions, provided that such applications should also run and be offered in a decentralized manner (as e.g. distributed ledger technology or often referred to as "blockchain" or any future adaptations of such technologies) without central oversight. +- You shall not have any expectations over the performance, suitability for business or interoperability of the Polkadot network for Your own business purposes. +- Polkadot network source code has not passed a third party security audit and can be potentially unstable and could cause unexpected effects and system failures. You are aware of this risk and must address it within Your own privacy compliance model when establishing technical and organizational measures on data security for Your end customers. +- By using the Polkadot network You covenant, represent, and warrant that Your use of the network complies with Your jurisdiction of residence and You are fully able and legally competent to use the Polkadot network. +- In the event Your use of the Polkadot network does not comply with the applicable law of Your jurisdiction of residence, You shall be fully liable for any consequences incurred thereof and fully acknowledge and agree that ​We ​shall not be held liable for Your use of the Polkadot network +- There is a risk that advances in cryptography or technical advances (such as the development of quantum computers) could present risks to blockchain-based applications and cryptocurrencies, Ethereum or tokens which could result in the theft or loss of such elements. +- The network (as well as any network You build based upon it) is susceptible to mining attacks (including but not limited to double-spend attacks, majority mining power attacks, "selfish-mining" attacks and race condition attacks. Despite the efforts of Web 3.0, the risk of known or novel mining attacks exists. +- There are risks associated with using the network, such as e.g. failure of hardware, software and Internet connections. You acknowledge that Web 3.0 shall not be responsible for any communication failures, disruptions, errors, distortions or delays You may experience when using the network. +- network source code is provided on an "AS IS" basis, without warranties and conditions of any kind, either express or implied, including, without limitation, any warranties or conditions of title, merchantability, fitness for a particular purpose, and non-infringement, unless otherwise required by mandatory applicable law. +- The entire risk as to the quality and performance of using the network is borne by You. +- You are solely responsible for determining the appropriateness of using or redistributing the network source code and/or any Derivative Work and assume any risks associated with Your exercise of permission granted under this License. +- You are solely responsible to regularly check for any modifications and updates to the network source code published at ### Intellectual property diff --git a/docs/Support Docs/milestone-deliverables-guidelines.md b/docs/Support Docs/milestone-deliverables-guidelines.md index b573c40cedd..ddda52aa2a3 100644 --- a/docs/Support Docs/milestone-deliverables-guidelines.md +++ b/docs/Support Docs/milestone-deliverables-guidelines.md @@ -29,9 +29,7 @@ Since all code developed under a grant must be open source, it is necessary to p If your delivery comprises multiple repositories, make sure to include the license in each of them. :::danger - You should also verify that the code you submit doesn't violate any other licenses, as a failure to comply with the license of reused code will result in an immediate rejection of the milestone and termination of the grant. - ::: ### Documentation @@ -95,9 +93,7 @@ Each item in the list should include a link to the deliverable itself, e.g.: - a link to a specific commit, pull request or issue in a public repository. :::tip - **Please highlight anything that deviates from the contract** and include further information that you think is relevant to the deliverable, either alongside the appropriate deliverable or under [Additional Information](#additional-information). - ::: | Number | Deliverable | Link | Notes | diff --git a/docs/funding.md b/docs/funding.md index 3a36c19c2b0..54a3977aa63 100644 --- a/docs/funding.md +++ b/docs/funding.md @@ -6,9 +6,7 @@ title: 🪙 Alternative Funding Some funding sources might be more and some less suitable for your project throughout its various stages. We encourage you to explore alternative funding options listed below. Please note, however, that you should not seek to fund the **same scope of work** from multiple sources and that any team found doing so will have its Web3 Foundation support terminated. :::tip - If you are unsure about what's the best next step for you and your project, consider reaching out to the [Substrate Square One](https://substrate.io/ecosystem/square-one/) team. - ::: ### Treasury diff --git a/docs/process.md b/docs/process.md index a78f5ecad07..828b5dfc53a 100644 --- a/docs/process.md +++ b/docs/process.md @@ -3,11 +3,9 @@ title: Apply --- :::tip - Check out the [Substrate Square One](https://substrate.io/ecosystem/square-one/) website for all kinds of ecosystem support opportunities. ::: - If you are certain you want to apply for a W3F grant, head straight to our [application process documentation](Process/how-to-apply.md). Alternatively, the flowchart below outlines where we think the grants program fits in relation to other popular funding opportunities. ## Funding Opportunities Overview diff --git a/docs/referral-program.md b/docs/referral-program.md index 71e9a535823..5bce2450643 100644 --- a/docs/referral-program.md +++ b/docs/referral-program.md @@ -5,4 +5,4 @@ title: 💰 Referral Program We give away 500 USD to each referral of a successful grant application by _anyone having previously worked on a Web3 Foundation grant_ or _a [Polkadot Ambassador](https://wiki.polkadot.network/docs/ambassadors)_. Web3 Foundation and Parity employees do not qualify for the program, even if they previously worked on a grant. -In order to be eligible for the referral bonus, the application itself must contain the name of the [Polkadot Ambassador](https://wiki.polkadot.network/docs/ambassadors) or the GitHub account of the grantee as well as the payment address for the referral bonus (see the [application template](https://github.com/w3f/Grants-Program/blob/master/applications/application-template.md)). Payment is made in Bitcoin, USDT (Polkadot), or USDC/DAI (Ethereum). +In order to be eligible for the referral bonus, the application itself must contain the name of the [Polkadot Ambassador](https://wiki.polkadot.network/docs/ambassadors) or the GitHub account of the grantee as well as the payment address for the referral bonus (see the [application template](https://github.com/w3f/Grants-Program/blob/master/applications/application-template.md)). Payment is made in Bitcoin or USDT/USDC on Polkadot AssetHub. From 5ea25cd70c0f49c709ab9043c57546842374584f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20M=C3=BCller?= Date: Mon, 25 Sep 2023 11:46:40 +0200 Subject: [PATCH 065/133] Update more RFPs --- .../validator-selection-algorithm.md | 2 +- .../decentralized-security-marketplace.md | 8 ++--- .../grant_management_webapp.md | 31 ++++++------------- docs/rfps.md | 26 ++++++++-------- 4 files changed, 27 insertions(+), 40 deletions(-) rename docs/RFPs/{Under Development => Closed}/validator-selection-algorithm.md (96%) diff --git a/docs/RFPs/Under Development/validator-selection-algorithm.md b/docs/RFPs/Closed/validator-selection-algorithm.md similarity index 96% rename from docs/RFPs/Under Development/validator-selection-algorithm.md rename to docs/RFPs/Closed/validator-selection-algorithm.md index 5956cce6d10..3402a8bc06a 100644 --- a/docs/RFPs/Under Development/validator-selection-algorithm.md +++ b/docs/RFPs/Closed/validator-selection-algorithm.md @@ -1,6 +1,6 @@ # RFP: Validator Selection Algorithm -* **Status:** [Implemented](https://github.com/w3f/Grants-Program/blob/master/applications/validators_selection.md) +* **Status:** [Closed](https://github.com/w3f/Grants-Program/blob/master/applications/validators_selection.md) * **Proposer:** [jonasW3F](https://github.com/jonasW3F) ## Project Description diff --git a/docs/RFPs/Under Development/decentralized-security-marketplace.md b/docs/RFPs/Under Development/decentralized-security-marketplace.md index f2dda7b7cd2..53f23905e48 100644 --- a/docs/RFPs/Under Development/decentralized-security-marketplace.md +++ b/docs/RFPs/Under Development/decentralized-security-marketplace.md @@ -5,14 +5,14 @@ ## Project Description :page_facing_up: -According to the [*Immunefi's 2022 annual report*](https://assets.ctfassets.net/t3wqy70tc3bv/1ObYJk9jzWS4ExHICslYep/e2b5cee51268e47ee164c4dffbd78ad4/Immunefi_Crypto_Losses_2022_Report.pdf), there has been a total loss of ~$3.77B because of hacks in the web3 space. To increase the protocol's security, audits and bug bounties can be a useful tool. +According to the [*Immunefi's 2022 annual report*](https://assets.ctfassets.net/t3wqy70tc3bv/1ObYJk9jzWS4ExHICslYep/e2b5cee51268e47ee164c4dffbd78ad4/Immunefi_Crypto_Losses_2022_Report.pdf), there has been a total loss of ~$3.77B because of hacks in the web3 space. To increase a protocol's security, audits and bug bounties can be a useful tool. -A **decentralized security marketplace** would allow projects to find reviewers/testers/auditors/whitehats, and vice versa. This would benefit everyone: +A **decentralized security marketplace** would allow projects to find reviewers/testers/auditors/whitehats and vice versa to pursue structured tests and audits. This would benefit everyone: - **Projects** would increase their security; - **Developers** would have the possibility to earn while using their skills, improving them; - The **ecosystem** would be more secure, with more projects being audited and more developers learning about security. -The original thought is to make it as a smart contract platform, deployable on an existing parachain (that supports WASM smart contracts, such as [Astar](https://docs.astar.network/docs/getting-started) or [Watr](https://docs.watr.org/builders/substrate-contracts)) using [ink!](https://paritytech.github.io/ink/) ([here](https://github.com/paritytech/awesome-ink) you can see some examples). +Ideally, this marketplace would be built as a smart contract platform deployable on any existing parachain (that supports WASM smart contracts, such as [Astar](https://docs.astar.network/docs/getting-started) or [Watr](https://docs.watr.org/builders/substrate-contracts)) using [ink!](https://paritytech.github.io/ink/) ([here](https://github.com/paritytech/awesome-ink) you can see some examples). **Note**: This use case can be extended/applied to other areas. The main problem to solve here is to find a way to manage the *delayed* transaction between two parties (i.e., [escrow](https://en.wikipedia.org/wiki/Escrow)), and to ensure fairness and transparency (e.g., a reviewer is not able to deliver all the reports in time, and the project's team would like to decide whether to extend the escrow duration or just to pay a lower percentage of the established bounty). @@ -25,8 +25,8 @@ To ensure fairness and transparency, the marketplace could have the following ac ## Deliverables :nut_and_bolt: - The followings could be the initial deliverables of the project. Of course, improvements and additions are more than welcome. + 1) Initial **research and design** of the protocol: - You can refer to what [Immunefi](https://immunefi.com/explore/) and [Code4rena](https://code4rena.com/) are doing (but bring that on-chain); - How to ensure the trustless interaction (e.g., projects could lock a percentage of the bounty to open the request); diff --git a/docs/RFPs/Under Development/grant_management_webapp.md b/docs/RFPs/Under Development/grant_management_webapp.md index 918d8d73d0d..7e4c23aaa21 100644 --- a/docs/RFPs/Under Development/grant_management_webapp.md +++ b/docs/RFPs/Under Development/grant_management_webapp.md @@ -10,23 +10,18 @@ Web3 Foundation manages grant applications and deliveries in two github reposito * [Grants](https://github.com/w3f/Grants-Program) * [Deliveries](https://github.com/w3f/Grant-Milestone-Delivery) -All the grant applications, approvals, deliveries and evaluations are pushed into github as PRs and documents, -so that all processes are public and transparent. - -You can find all the details about how applications and deliveries are submitted in the [Grants Program Website](https://w3f.github.io/Grants-Program/), -or by browsing the two repositories above. +All the grant applications, approvals, deliveries and evaluations are pushed into GitHub as PRs and Markdown documents, so that all processes are public and transparent. +You can find all the details about how applications and deliveries are submitted in the [Grants Program Website](https://w3f.github.io/Grants-Program/), or by browsing the two repositories above. ## Project Description :page_facing_up: The objective of this RFP is a web application that publishes all the information contained in -the W3F grants repositories in a way that facilitates easier navigation for the grants committee. Though the software would initially be used for the W3F Grants Program, any interested third parties would ideally be able to utilize the application for their own grants program. - -By providing an API, it will also allow for pulling the data in a structured way in order to make it easy to calculate statistics or track different metrics. +the W3F grants repositories in a way that facilitates easier navigation for the grants committee. Though the software would initially be used for the W3F Grants Program, any interested third parties should ideally be able to utilize the application for their own purposes. -The Web3 Foundation Grants Program is unique in that everything is openly and transparently published on GitHub. As a result of this RFP, we hope the W3F Grants Program can set an example of how other grant programs can leverage a simple yet powerful process to manage their grants. -Therefore, the web application and the structure of our repositories can be re-used by other grant programs. +By providing an API, it will also allow for pulling the data in a structured way in order to make it easy to calculate statistics, track different metrics and publish data. +The Web3 Foundation Grants Program is unique in that everything is openly and transparently published on GitHub. As a result of this RFP, we hope the W3F Grants Program can set an example of how other grant programs can leverage a simple yet powerful process to manage their grants. Therefore, the web application and the structure of our repositories should be reusable by other grant programs. ## Existing prototype @@ -34,11 +29,9 @@ A quick and dirty prototype already exists for the application: - [Backend](https://github.com/w3f/w3f_grants_backend) - [Frontend](https://github.com/w3f/w3f_grants_frontend) -These examples are just an initial experiment to test how the app could work, and are completely undocumented, -but please feel free to contact [us](grants@web3.foundation) if you need help trying them out or simply discuss. - -Also, these are just an option, and the RFP doesn't require building from these. Proposers are free to propose the framework and approach of their choice. +These examples are just an initial experiment to test how the app could work, and are completely undocumented, but please feel free to [contact us](mailto:grants@web3.foundation) if you need help trying them out or to simply discuss. +Also, using these is completely optional and the RFP doesn't require building from these. Proposers are free to propose the framework and approach of their choice. ## Deliverables :nut_and_bolt: @@ -53,8 +46,6 @@ For example: ![screenshot_grants_page](https://github.com/keeganquigley/Grants-Program/assets/1389409/0eda6f0b-071d-4d44-9835-196167479c07) - - ### Grants details - Shows the grant information @@ -66,14 +57,12 @@ For example: ![screenshot_grants_details](https://github.com/keeganquigley/Grants-Program/assets/1389409/098962a3-249f-4fa5-8c03-9d0dbc7f32eb) - ### Teams - Provide a view at the team level. - Contact information. - Grants and applications, and their current status. - ### Applications - Current grant applications. @@ -99,13 +88,11 @@ For example: - The web app should ideally separate frontend from backend logic, and publish an API to fetch the structured data. - ## Additional Notes -- The features proposed above represent an opinion on what the grant management webapp should do and look like, -but are neither exhaustive nor strict requirements. Teams are welcome to propose their own design and vision for this product. +- The features proposed above represent an _suggestion_ on what the grant management webapp should do and look like, but are neither exhaustive nor strictly required. Teams are welcome to propose their own design and vision for this product. -- Web3 Foundation's grants program should be just an example/first step. +- The Web3 Foundation's Grants Program should be just an example/first step. Ideally, the tool (combining GitHub + website) can benefit other grant programs and on-chain treasuries. - Long term goals: diff --git a/docs/rfps.md b/docs/rfps.md index 92c4bc5f66f..5348ab55b13 100644 --- a/docs/rfps.md +++ b/docs/rfps.md @@ -24,12 +24,11 @@ If you find an open RFP here that you think you can address, feel free to [submi | RFP | Last Updated | | :-- | :----------: | | [anti-collusion_infrastructure.md](RFPs/Open/anti-collusion_infrastructure.md) | 21.09.2023 | -| [bpf-contracts.md](RFPs/Open/bpf-contracts.md) | 06.01.2023 | | [formal_guarantees_for_grandpa.md](RFPs/Open/formal_guarantees_for_grandpa.md) | 07.10.2022 | -| [ISO_20022.md](RFPs/Open/ISO_20022.md) | 31.05.2022 | +| [ISO_20022.md](RFPs/Open/ISO_20022.md) | 20.09.2023 | | [parachain_validation_conformance_testing.md](RFPs/Open/parachain_validation_conformance_testing.md) | 18.01.2023 | | [polkadot-protocol_conformance_tests.md](RFPs/Open/polkadot-protocol_conformance_tests.md) | 21.09.2023 | -| [sub-consensus.md](RFPs/Open/sub-consensus.md) | 23.11.2021 | +| [sub-consensus.md](RFPs/Open/sub-consensus.md) | 23.02.2022 | | [uptane-for-substrate-design-and-scope.md](RFPs/Open/uptane-for-substrate-design-and-scope.md) | 04.03.2023 | | [user-account-access-analysis.md](RFPs/Open/user-account-access-analysis.md) | 07.01.2023 | | [xcm-tool.md](RFPs/Open/xcm-tool.md) | 21.09.2023 | @@ -44,30 +43,30 @@ If you find an open RFP here that you think you can address, feel free to [submi | [alternative-polkadot-js-api-console.md](RFPs/Under%20Development/alternative-polkadot-js-api-console.md) | 19.05.2023 | | [analysis-website-and-data-platform.md](RFPs/Under%20Development/analysis-website-and-data-platform.md) | 21.09.2023 | | [data_analysis_tools.md](RFPs/Under%20Development/data_analysis_tools.md) | 21.09.2023 | -| [decentralized-security-marketplace.md](RFPs/Under%20Development/decentralized-security-marketplace.md) | 02.06.2023 | -| [grant_management_webapp.md](RFPs/Under%20Development/grant_management_webapp.md) | 06.06.2023 | -| [identity-directory.md](RFPs/Under%20Development/identity-directory.md) | 30.05.2022 | -| [IDE_for_ink_Smart_Contracts.md](RFPs/Under%20Development/IDE_for_ink_Smart_Contracts.md) | 05.04.2023 | -| [implementation-benchmarking.md](RFPs/Under%20Development/implementation-benchmarking.md) | 06.06.2023 | -| [ink!_smart_contract_block_explorer.md](RFPs/Under%20Development/ink_smart_contract_block_explorer.md) | 05.07.2021 | -| [ISO_8583.md](RFPs/Under%20Development/ISO_8583.md) | 31.05.2022 | +| [decentralized-security-marketplace.md](RFPs/Under%20Development/decentralized-security-marketplace.md) | 25.09.2023 | +| [grant_management_webapp.md](RFPs/Under%20Development/grant_management_webapp.md) | 25.09.2023 | +| [identity-directory.md](RFPs/Under%20Development/identity-directory.md) | 20.09.2023 | +| [IDE_for_ink_Smart_Contracts.md](RFPs/Under%20Development/IDE_for_ink_Smart_Contracts.md) | 20.09.2023 | +| [implementation-benchmarking.md](RFPs/Under%20Development/implementation-benchmarking.md) | 20.09.2023 | +| [ink!_smart_contract_block_explorer.md](RFPs/Under%20Development/ink_smart_contract_block_explorer.md) | 20.09.2023 | +| [ISO_8583.md](RFPs/Under%20Development/ISO_8583.md) | 20.09.2023 | | [move_smart_contract_pallet.md](RFPs/Under%20Development/move_smart_contract_pallet.md) | 02.08.2023 | | [multi-chain-block-explorer.md](RFPs/Under%20Development/multi-chain-block-explorer.md) | 23.11.2021 | | [privacy-enhancement-polkadot-extension.md](RFPs/Under%20Development/privacy-enhancement-polkadot-extension.md) | 27.05.22 | | [raft-validators.md](RFPs/Under%20Development/raft-validators.md) | 23.05.2023 | | [scale-codec-comparator.md](RFPs/Under%20Development/scale-codec-comparator.md) | 30.05.2022 | -| [Static-Analysis-for-Runtime-Pallets.md](RFPs/Under%20Development/Static-Analysis-for-Runtime-Pallets.md) | 05.07.2023 | -| [validator-selection-algorithm.md](RFPs/Under%20Development/validator-selection-algorithm.md) | 07.12.2022 | +| [Static-Analysis-for-Runtime-Pallets.md](RFPs/Under%20Development/Static-Analysis-for-Runtime-Pallets.md) | 05.07.2023 |
-
🔴 Closed: This RFP is either closed, on hold, or no longer useful. However, if it’s implemented and not maintained, we would be interested in signing a maintenance grant. +
🔴 Closed: This RFP is either closed, on hold, or no longer useful. However, if it’s implemented and not maintained, we might be interested in signing a maintenance grant. | RFP | Last Updated | | :-- | :----------: | | [a-and-v-topology.md](RFPs/Closed/a-and-v-topology.md) | 04.09.2023 | | [appi.md](RFPs/Closed/appi.md) | 20.07.2021 | +| [bpf-contracts.md](RFPs/Open/bpf-contracts.md) | 06.01.2023 | | [candle-auction.md](RFPs/Closed/candle-auction.md) | 02.02.2022 | | [crowdloan_front_end_template.md](RFPs/Closed/crowdloan_front_end_template.md) | 25.04.2023 | | [epassport-zk-validation.md](RFPs/Closed/epassport-zk-validation.md) | 21.03.2023 | @@ -79,6 +78,7 @@ If you find an open RFP here that you think you can address, feel free to [submi | [social-recovery-wallet.md](RFPs/Closed/social-recovery-wallet.md) | 03.03.2023 | | [staking-rewards-collector-front-end.md](RFPs/Closed/staking-rewards-collector-front-end.md) | 20.07.2021 | | [uncollateralized-stablecoin-research.md](RFPs/Closed/uncollateralized-stablecoin-research.md) | 01.01.2023 | +| [validator-selection-algorithm.md](RFPs/Under%20Development/validator-selection-algorithm.md) | 25.09.2023 | | [validator-setup-maintenance.md](RFPs/Closed/validator-setup-maintenance.md) | 24.08.2023 | | [wallet-aggregator-library.md](RFPs/Closed/wallet-aggregator-library.md) | 09.03.2023 | From 9b4863cb877f11f1fcb51db9ff9561de5d99198f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20M=C3=BCller?= Date: Mon, 25 Sep 2023 13:23:40 +0200 Subject: [PATCH 066/133] Update index.md Fix pallet-maci termination indicator --- applications/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/index.md b/applications/index.md index 422b02dd48b..a9d52880792 100644 --- a/applications/index.md +++ b/applications/index.md @@ -497,7 +497,7 @@ Besides, **there is a clear difference between an application being accepted and | [Nathan Schwermann](https://github.com/nschwermann) | [PolkaJ Android Support](./polkaj_android_support.md) | [GitHub](https://github.com/nschwermann) | ☐ | ☒ | ☐ | | [Acala](https://acala.network/) | [xtokens - XCM Implementation for Fungible Assets](./xtokens.md) | [GitHub](https://github.com/open-web3-stack/open-runtime-module-library/tree/master/xtokens) | ☐ | ☒ | ☒ | | [NUTS Finance](https://nuts.finance/) | [Stable Asset](./stable-asset.md) | [GitHub](https://github.com/nutsfinance) | ☐ | ☒ | ☒ | -| [MVP Workshop](https://mvpworkshop.co/) | [pallet-maci (Minimal Anti Collusion Infrastructure)](./pallet_maci.md) | [GitHub](https://github.com/MVPWorkshop) | ☒ | ☐ | ☐ | +| [MVP Workshop](https://mvpworkshop.co/) | [pallet-maci (Minimal Anti Collusion Infrastructure)](./pallet_maci.md) | [GitHub](https://github.com/MVPWorkshop) | ☐ | ☐ | ☐ | | [X-Predict](https://x-predict.com/) | [Decentralized prediction market](./XPredictMarket.md) | [GitHub](https://github.com/XPredictMarket) | ☐ | ☐ | ☐ | | [Chevdor](https://www.chevdor.com/) | SRTOOL App | [GitLab](https://gitlab.com/chevdor/srtool-app) | ☐ | ☒ | ☒ | | [Bit.Country](http://bit.country/) | [A decentralized world - Phase 2](./bit_country_m2.md) | [GitHub](https://github.com/bit-country) | ☐ | ☒ | ☒ | From 1f85e04886229788231d6a8a2c3539c6b473c27b Mon Sep 17 00:00:00 2001 From: Xcavate Date: Mon, 25 Sep 2023 14:48:54 +0100 Subject: [PATCH 067/133] Remove two deliverables from application (#1995) * New Grant Proposal: Xcavate - the future of real estate finance & property investment * Update Project_Xcavate.md hosted images on our server * Update Project_Xcavate.md correction to image URLs * Delete XCAV-WEB-3-Grant-Application-Image-1.jpg hosted elsewhere * Delete XCAV-WEB-3-Grant-Application-Image-2.jpg hosted elsewhere * Delete XCAV-WEB-3-Grant-Application-Image-3.jpg hosted elsewhere * Delete XCAV-WEB-3-Grant-Application-Image-4.jpg hosted elsewhere * Update Project_Xcavate.md Reduced scope of work to focus on onboarding the project in to the Polkadot eco system * Updates to grant submission Hopefully addressing the questions / issues raised * move project file requested to move file to applications folder * Add files via upload * Delete Project_Xcavate.md old project submission * Rename Project_Xcavate_feb2023.md to Xcavate.md * Update Xcavate.md Revised W3F grant to only focus on building a PoC of the lending protocol dApp * Update Xcavate.md Revised application... more details and new dev team added * Update Xcavate.md Added new member of the team * Update Xcavate.md added another team member * Update Xcavate.md added current symbol to milestone fund request + moved the milestone deliverables inline with template. updated one team members linkedin and full name. * Update Xcavate.md Adapt grant application to focus on ink! contract use case * Update Xcavate.md * Update Xcavate.md * Update Xcavate.md * Update Xcavate.md * Update Xcavate.md * Update Xcavate.md team Removed one member and added a new member * Update Xcavate.md team member role * Update Xcavate.md Amended grant application - remove two deliverables * Update Xcavate.md Removed the following deliverables: | 5. | Verification pallet | * We need to remove this deliverable because it is reliant on the Acurast Oracle Pallet which is struggling due to Substrate dependency issues | | 7. | Decentralized Developer Loan dApp / Front End Repo | We are struggling to interact through the frontend dApp so wish to remove this as a deliverable, however interacting through polkadot.js is fine. | --- applications/Xcavate.md | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/applications/Xcavate.md b/applications/Xcavate.md index c306efbafb0..be84904589e 100644 --- a/applications/Xcavate.md +++ b/applications/Xcavate.md @@ -4,7 +4,7 @@ - **Team Name:** Xcavate - **Payment Address:** 5E28NSFGwYB9C39bYdRAQ79UKRsM6shxkJr3LG4hehycwfJc -- **Total Costs:** $10000 USDT (Polkadot - Statemint) +- **Total Costs:** $8500 USDT (Polkadot - Statemint) - **Level:** 1 ## Project Overview @@ -85,6 +85,8 @@ Integrate DID's and Real Estae NFTs in to the their wallet to improve the UI/UX * Alex Ward – COO * Ganish Oli - Substrate Developer * Rene Hürter - Substrate Developer +* Alan - Full Stack Developer +* Victor Chukwonoso - Product Designer * Neeraj Choubisa - Full Stack Developer * Victor Chukwonoso - UI/UX Designer @@ -104,6 +106,8 @@ Integrate DID's and Real Estae NFTs in to the their wallet to improve the UI/UX Richard Houldsworth – 10 years in web 2.0 dev space – serial Entrepreneur Alex Ward – 25 years in the global property market – serial Entrepreneur Ganish Oli - ink! smart contract developer and substrate blockchain developer. +Rene Hürter - Currently studying to become a blockchain developer. Alchemy University Ethereum Bootcamp 11/2022. Scaling Ethereum 2023 Hackathon 11/03/2023. Consensus 2023 Hackathon (Web3athon 2023) 17/04/2023. +Alan Ma - Full-Stack developer who likes to work with JavaScript/Typescript (React, Next.js, Redux, Vue.js, Node), Blockchain(Bitcoin, Ethereum, Cosmos, Solidity, Rust), Golang, Python among others. Since I graduated from the university, I’ve joined several companies and dev teams to build web/mobile and web3 apps. Rene Hürter - I am currently studying to become a blockchain developer. Alchemy University Ethereum Bootcamp 11/2022. Scaling Ethereum 2023 Hackathon 11/03/2023. Consensus 2023 Hackathon (Web3athon 2023) 17/04/2023. Neeraj Choubisa - A Passionate Full Stack Blockchain Ethereum Based Web Developer, Third-Year student at Indian Institute of Information Technology, Dharwad @@ -112,6 +116,8 @@ Neeraj Choubisa - A Passionate Full Stack Blockchain Ethereum Based Web Develope https://github.com/xcavateblockchain https://github.com/xcavate2022 https://github.com/ganesh1233456 +https://github.com/RecrafterH +https://github.com/meanking https://github.com/Kali-Decoder https://github.com/RecrafterH @@ -137,13 +143,13 @@ We have been taking time to play with Substrate to form initial local nodes. We - **Total Estimated Duration:** 2 months - **Full-Time Equivalent (FTE):** 4 -- **Total Costs:** $10000 USDT +- **Total Costs:** $8500 USDT ### Milestone 1 — Initial POC of lending protocol - **Estimated Duration:** 2 months - **FTE:** 4 -- **Costs:** $10000 USDT +- **Costs:** $8500 USDT We will build on the excellent work we have achieved developing the Real Estate NFT marketplace for the hackerearth.com hackerthon. @@ -154,16 +160,14 @@ In the first milestone, the features for the PoC will be implemented and tested | 0a. | License | Apache 2.0 | | 0b. | Documentation | The documentation will be provided to show the whole architecture of the Xcavate Network. | | 0c. | Testing and Testing Guide | The testing guide will be provided to test each component. | -| 0d. | Docker | We will provide a dockerfile to demonstrate the full functionality of our chain | +| 0d. | VS Code Instructions | We have struggled to create docker images and a container, which allows interaction between the frontend, backend & node however VS code is working as expected. | | 0e. | Tutorial | We will write a tutorial about how to use Xcavate Network. | | 0f. | Article | We will write an article published on media channels. | -| 1 | Xcavate Node Repo | We will create a customized chain node with Substrate 2.0 Framework. | -| 2 | Xcavate Loan App Repo | All smart contracts will be written in Ink! to handle all the on chain runtime events related pallet functions such as; 1) Assess loan application criteria 2) Creation and management of multisig wallet 3) Minting and transfer of LAND NFTs 4) Defining and executing the loan APR structure 5) Monitor and execute real estate build stage checks 5) Deliver tranches of loan amounts to wallets 6) Manage the loan repayment and NFT transfer. | +| 1 | Xcavate Node Repo | We will create a customized chain node with Substrate 2.0 Framework. | +| 2 | Xcavate Loan App Repo | All smart contracts will be written in Ink! to handle all the on chain runtime events related pallet functions such as; 1) Assess loan application criteria 2) Creation and management of multisig wallet 3) Minting and transfer of LAND NFTs 4) Defining and executing the loan APR structure 5) Monitor and execute real estate build stage checks 5) Deliver tranches of loan amounts to wallets 6) Manage the loan repayment and NFT transfer. | | 3. | Loan management pallet | * Manage loan application ** Land details' ** Registration * Manage loan interest percentage ** Based on land and experience * Approve/Reject request | | 4. | Staking pallet | * User can stake native token * Calculate APR * Distribute payouts | -| 5. | Verification pallet | * Verification of user identity * Manage users identity * Manage loan request | -| 6. | DAO | The PoC will have a basic DAO structure that will be created using the OpenGov pallet to ensure rewards can be given to the real estate build stage checkers (As we progress in to the MVP stage this will be expanded to form a full governance structure). | -| 7. | Decentralized Developer Loan dApp / Front End Repo | It's a webpage working with Xcavate Network, it's implemented based on polkadot.js as planned. | +| 5. | DAO | The PoC will have a basic voting structure to ensure rewards can be given to the real estate build stage checkers (As we progress in to the MVP stage this will be expanded to form a full governance structure). | ## Future Plans From 2a1adc523d4783332c1a3a484cf81c2fd5b17c11 Mon Sep 17 00:00:00 2001 From: Keegan | W3F <35080151+keeganquigley@users.noreply.github.com> Date: Tue, 26 Sep 2023 03:13:43 -0400 Subject: [PATCH 068/133] Update RFPs (#2003) * rfp update * Rename privacy-enhancement-polkadot-extension.md to privacy-enhancement-polkadot-extension.md * rfp updates * Rename multi-chain-block-explorer.md to multi-chain-block-explorer.md * Update scale-codec-comparator.md * Rename scale-codec-comparator.md to scale-codec-comparator.md * Update scale-codec-comparator.md * Update scale-codec-comparator.md * Update Static-Analysis-for-Runtime-Pallets.md * Update Static-Analysis-for-Runtime-Pallets.md --- .../multi-chain-block-explorer.md | 2 +- .../privacy-enhancement-polkadot-extension.md | 2 +- .../{Under Development => Closed}/scale-codec-comparator.md | 6 +++--- .../Static-Analysis-for-Runtime-Pallets.md | 4 ++-- docs/RFPs/Under Development/raft-validators.md | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) rename docs/RFPs/{Under Development => Closed}/multi-chain-block-explorer.md (85%) rename docs/RFPs/{Under Development => Closed}/privacy-enhancement-polkadot-extension.md (93%) rename docs/RFPs/{Under Development => Closed}/scale-codec-comparator.md (71%) diff --git a/docs/RFPs/Under Development/multi-chain-block-explorer.md b/docs/RFPs/Closed/multi-chain-block-explorer.md similarity index 85% rename from docs/RFPs/Under Development/multi-chain-block-explorer.md rename to docs/RFPs/Closed/multi-chain-block-explorer.md index 1eb11a23444..2d413cb3104 100644 --- a/docs/RFPs/Under Development/multi-chain-block-explorer.md +++ b/docs/RFPs/Closed/multi-chain-block-explorer.md @@ -1,6 +1,6 @@ # Multi-chain Block Explorer -* **Status:** Open +* **Status:** [Implemented 1](https://github.com/colorfulnotion/polkaholic), [Implemented 2](https://polkadot.subscan.io/) * **Teams/People that could deliver the RFP:** @clearloop, @carlhong ## Project Description :page_facing_up: diff --git a/docs/RFPs/Under Development/privacy-enhancement-polkadot-extension.md b/docs/RFPs/Closed/privacy-enhancement-polkadot-extension.md similarity index 93% rename from docs/RFPs/Under Development/privacy-enhancement-polkadot-extension.md rename to docs/RFPs/Closed/privacy-enhancement-polkadot-extension.md index 0f88d9b39b1..e5b991e38f0 100644 --- a/docs/RFPs/Under Development/privacy-enhancement-polkadot-extension.md +++ b/docs/RFPs/Closed/privacy-enhancement-polkadot-extension.md @@ -1,6 +1,6 @@ # Privacy Enhancement for Polkadot Extension -* **Status:** [Under Development](https://github.com/w3f/Grants-Program/blob/master/applications/polkadot-js-extension-per-account-auth.md) +* **Status:** [Implemented](https://github.com/w3f/Grants-Program/blob/master/applications/polkadot-js-extension-per-account-auth.md). GH [issue](https://github.com/polkadot-js/extension/issues/1037) has been closed. * **Proposer:** jonasW3F * **Projects you think this work could be useful for** [optional]: https://github.com/polkadot-js/extension * **Teams/People that could deliver the RFP:** @celrisen diff --git a/docs/RFPs/Under Development/scale-codec-comparator.md b/docs/RFPs/Closed/scale-codec-comparator.md similarity index 71% rename from docs/RFPs/Under Development/scale-codec-comparator.md rename to docs/RFPs/Closed/scale-codec-comparator.md index c94dd707ff8..79d713fe8fd 100644 --- a/docs/RFPs/Under Development/scale-codec-comparator.md +++ b/docs/RFPs/Closed/scale-codec-comparator.md @@ -1,11 +1,11 @@ # SCALE Codec Comparator -* **Status:** [In progress](https://github.com/arijitAD/dotscale) for Golang, submissions for other languages welcome, [Under Development](https://github.com/w3f/Grants-Program/blob/master/applications/scale-codec-comparator.md) +* **Status:** [Implemented for ten encoding types](https://github.com/w3f/Grants-Program/blob/master/applications/scale-codec-comparator.md) * **Proposer:** [Marcin Górny](https://github.com/mmagician/) ## Project Description :page_facing_up: -To date, there are [9 published](https://substrate.dev/docs/en/knowledgebase/advanced/codec#implementations) implementations of the SCALE Codec. Since each is implemented by a different team & [the reference implementation](https://github.com/paritytech/parity-scale-codec) still introduces small fixes, it would be beneficial to compile a table of feature-completeness. +To date, there are [9 published](https://docs.substrate.io/reference/scale-codec/) implementations of the SCALE Codec. Since each is implemented by a different team & [the reference implementation](https://github.com/paritytech/parity-scale-codec) still introduces small fixes, it would be beneficial to compile a table of feature-completeness. This would provide (some) assurance that the implementation in a given language is safe & sound to use. One approach would be to provide wrappers to the Rust reference implementation, like in [scale.rb](https://github.com/itering/scale.rb/blob/develop/src/lib.rs) and using the Foreign Function Interface (e.g. [here](https://github.com/itering/scale.rb/blob/develop/spec/ffi_helper.rb)) to call these directly from within the library. @@ -24,7 +24,7 @@ Stage 2: To take this a step further, a GitHub action could be integrated to run * **FTE:** 1 * **Costs:** ~ 10,000 DAI -For each library listed on [substrate.dev](https://substrate.dev/docs/en/knowledgebase/advanced/codec#implementations): +For each library listed on [substrate.dev](https://docs.substrate.io/reference/scale-codec/): * Create a PR, providing a FFI to Rust's reference implementation. * Ensure feature completeness, by ensuring there are comprehensive unit tests for each data type. diff --git a/docs/RFPs/Under Development/Static-Analysis-for-Runtime-Pallets.md b/docs/RFPs/Under Development/Static-Analysis-for-Runtime-Pallets.md index 8c88c275f5d..ad50f2d40d4 100644 --- a/docs/RFPs/Under Development/Static-Analysis-for-Runtime-Pallets.md +++ b/docs/RFPs/Under Development/Static-Analysis-for-Runtime-Pallets.md @@ -1,10 +1,10 @@ # Static Analysis of Runtime Pallets -* **Status:** [Under Development](https://github.com/w3f/Grants-Program/blob/master/applications/sarp-basic-functionality.md) +* **Status:** [Implemented](https://github.com/w3f/Grants-Program/blob/master/applications/sarp-basic-functionality.md) * **Proposer:** [Bhargav Bhatt](https://github.com/bhargavbh), [David Hawig](https://github.com/Noc2) ## Project Description :page_facing_up: -[Runtime Pallets](https://docs.substrate.io/fundamentals/runtime-development/) are modules for writing the business logic of blockchains in [Substrate](https://github.com/paritytech/substrate) (a Rust framework fo rbuilding blockchians). These are usually concise pieces of standalone code with relatively few dependencies and clear specifications, hence tractable targets for performing static analysis and verification. We would like to develop tools and techniques to perform static analysis with reasonable soundness guarantees. In particular, we would like to target vunerability classes that are detectable using dataflow analysis techniques like *tag analysis* and *taint analysis*. Just to give a flavor, relevant might vulnerabilities include: +[Runtime Pallets](https://docs.substrate.io/fundamentals/runtime-development/) are modules for writing the business logic of blockchains in [Substrate](https://github.com/paritytech/polkadot-sdk/tree/master/substrate) (a Rust framework fo rbuilding blockchians). These are usually concise pieces of standalone code with relatively few dependencies and clear specifications, hence tractable targets for performing static analysis and verification. We would like to develop tools and techniques to perform static analysis with reasonable soundness guarantees. In particular, we would like to target vunerability classes that are detectable using dataflow analysis techniques like *tag analysis* and *taint analysis*. Just to give a flavor, relevant might vulnerabilities include: * [incorrect origin](https://github.com/bhargavbh/MIRAI/blob/main/substrate_examples/incorrect-origin/description.md) of dispatchable functions. * [unsigned transaction](https://github.com/bhargavbh/MIRAI/blob/main/substrate_examples/unsigned-transaction/description.md) validation. * tracking bad randomness: ensure bad randomness does not leak into sensitive functions. diff --git a/docs/RFPs/Under Development/raft-validators.md b/docs/RFPs/Under Development/raft-validators.md index b07a20fd265..f417142002e 100644 --- a/docs/RFPs/Under Development/raft-validators.md +++ b/docs/RFPs/Under Development/raft-validators.md @@ -1,6 +1,6 @@ # High-availability validator setup -* **Status:** [Under Development](https://github.com/w3f/Grants-Program/blob/master/applications/High_availability_validator_setup.md) +* **Status:** [Implemented](https://github.com/w3f/Grants-Program/blob/master/applications/High_availability_validator_setup.md) * **Proposer:** mmagician * **Projects you think this work could be useful for:** Polkadot & Kusama Validators From 456615dca32ea9de9d5d7fd38a75730c3b1808b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20M=C3=BCller?= Date: Tue, 26 Sep 2023 11:10:46 +0200 Subject: [PATCH 069/133] Invoice after approval (#2005) --- docs/Support Docs/milestone-deliverables-guidelines.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/Support Docs/milestone-deliverables-guidelines.md b/docs/Support Docs/milestone-deliverables-guidelines.md index ddda52aa2a3..f244b04aa90 100644 --- a/docs/Support Docs/milestone-deliverables-guidelines.md +++ b/docs/Support Docs/milestone-deliverables-guidelines.md @@ -8,7 +8,7 @@ Unless instructed otherwise, please submit all your milestones via PR to the [Gr ## Invoice -Although a milestone needs to be reviewed and accepted, you can submit your invoice alongside your delivery pull request through [this form](https://docs.google.com/forms/d/e/1FAIpQLSfmNYaoCgrxyhzgoKQ0ynQvnNRoTmgApz9NrMp-hd8mhIiO0A/viewform). +After a milestone is reviewed and accepted, you can submit your invoice alongside your delivery pull request through [this form](https://docs.google.com/forms/d/e/1FAIpQLSfmNYaoCgrxyhzgoKQ0ynQvnNRoTmgApz9NrMp-hd8mhIiO0A/viewform). ## Content From 0a7b5f08ddc983a2f89583adbedc28f6d7b18a77 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20M=C3=BCller?= Date: Tue, 26 Sep 2023 11:36:51 +0200 Subject: [PATCH 070/133] Update index.md Stylograph completed --- applications/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/index.md b/applications/index.md index a9d52880792..6c8658a5f74 100644 --- a/applications/index.md +++ b/applications/index.md @@ -99,7 +99,7 @@ Besides, **there is a clear difference between an application being accepted and | [CoinFabrik](https://www.coinfabrik.com/) | [ScoutCoinFabrik: Milestone 2](ScoutCoinFabrik_2.md) | [GitHub](https://github.com/coinfabrik) | ☐ | ☒ | ☒ | | [Polytope Labs](https://research.polytope.technology/) | [Interoperable State Machine Protocol](ismp.md) | [GitHub](https://github.com/polytope-labs) | ☐ | ☒ | ☒ | | [Talentica Software](https://www.talentica.com/) | [Implementation Benchmarking Milestone 3](ink-pallet-benchmarking-phase-2.md) | [GitHub](https://github.com/Nikhil-Desai-Talentica) | ☐ | ☒ | ☒ | -| [Deep Ink Ventures GmbH](https://github.com/deep-ink-ventures) | [Stylograph](Stylograph.md) | [GitHub](https://github.com/deep-ink-ventures) | ☐ | ☐ | ☐ | +| [Deep Ink Ventures GmbH](https://github.com/deep-ink-ventures) | [Stylograph](Stylograph.md) | [GitHub](https://github.com/deep-ink-ventures) | ☐ | ☒ | ☒ | | [Zeeve](https://www.zeeve.io) | [Ink Playground IDE Improvements](ink-playground-ide-improvements.md) | [GitHub](https://github.com/Zeeve-App) | ☐ | ☐ | ☐ | | [Scio Labs](https://scio.xyz/) | [XCM Domain Name Service](xcm-domain-service.md) | [GitHub](https://github.com/scio-labs) | ☐ | ☒ | ☐ | | [Gloslab](https://github.com/smiasojed) | [Contracts performance measurement tool proposal](contracts-tool.md) | [GitHub](https://github.com/smiasojed) | ☐ | ☒ | ☐ | From 42b0b57d82e7f780c0dea0c093e99e17952a9513 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Tue, 26 Sep 2023 20:02:48 +0200 Subject: [PATCH 071/133] Update README.md (#2010) Change formating of process, since :::tip and :::info doesn't work for the readme. --- README.md | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/README.md b/README.md index 2b12402c6ea..83209ceafe4 100644 --- a/README.md +++ b/README.md @@ -147,13 +147,7 @@ The W3F Grants Program offers different grant levels to help you best, depending ## :pencil: Process -:::tip -If you want to apply in **private**, you can do so [:arrow_right: here](https://docs.google.com/forms/d/e/1FAIpQLSfMfjiRmDQDRk-4OhNASM6BAKii7rz_B1jWtbCPkUh6N7M2ww/viewform). Note that this is generally a slower process and imposes stricter requirements on applicants. -::: - -:::info -Payments can be made in USDT and USDC on the Polkadot [AssetHub](https://wiki.polkadot.network/docs/learn-assets), Bitcoin and fiat (USD, EUR, CHF). Please indicate your preference in the application [as outlined in our application template](https://github.com/w3f/Grants-Program/blob/master/applications/application-template.md?plain=1#L7). -::: +> **:loudspeaker:** Payments can be made in USDT and USDC on the Polkadot [AssetHub](https://wiki.polkadot.network/docs/learn-assets), Bitcoin, and fiat (USD, EUR, CHF). Please indicate your preference in the application [as outlined in our application template](https://github.com/w3f/Grants-Program/blob/master/applications/application-template.md?plain=1#L7). If you want to apply in **private**, you can do so [:arrow_right: here](https://docs.google.com/forms/d/e/1FAIpQLSfMfjiRmDQDRk-4OhNASM6BAKii7rz_B1jWtbCPkUh6N7M2ww/viewform). Note that this is generally a slower process and imposes stricter requirements on applicants. ### 1. Application From 4445254dd09ff455c88b7c4bb68a70e488a53d37 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20M=C3=BCller?= Date: Wed, 27 Sep 2023 12:31:46 +0200 Subject: [PATCH 072/133] Change announcement bar to sub0 video --- docusaurus.config.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docusaurus.config.js b/docusaurus.config.js index e606f27f0bb..38256102c6b 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -28,7 +28,7 @@ module.exports = { announcementBar: { id: 'announcement', content: - 'Meet us at sub0!', + 'Watch our sub0 presentation on Support in the Polkadot Ecosystem!', backgroundColor: '#000', textColor: '#ffffff', isCloseable: true, From 182208425ac0b479a0a82974b48869d26f764854 Mon Sep 17 00:00:00 2001 From: Nikhil W3F <142136841+nikw3f@users.noreply.github.com> Date: Wed, 27 Sep 2023 13:35:33 +0200 Subject: [PATCH 073/133] Updated Wave 17 deliveries (#2013) --- applications/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/applications/index.md b/applications/index.md index 6c8658a5f74..8bf613fb424 100644 --- a/applications/index.md +++ b/applications/index.md @@ -128,10 +128,10 @@ Besides, **there is a clear difference between an application being accepted and | Team | Project | Link | Terminated | First Delivery | Completed | | :------------------------------------------------------------------| :------------------------------------------------------------------------------------------------------| :------------------------------------------------------------------- | :--------- | :------------: | :--------: | | [Deep Ink Ventures GmbH](http://deep-ink.ventures/) | [GenesisDAO](GenesisDAO.md) | [GitHub](https://github.com/deep-ink-ventures) | ☐ | ☒ | ☒ | -| [ArtZero](https://artzero.io/) | [ArtZero & InkWhale](ArtZero_InkWhale.md) | [GitHub](https://github.com/artzero-io) | ☐ | ☒ | ☐ | +| [ArtZero](https://artzero.io/) | [ArtZero & InkWhale](ArtZero_InkWhale.md) | [GitHub](https://github.com/artzero-io) | ☐ | ☒ | ☒ | | [EightFish](https://github.com/eightfish-org/eightfish) | [EightFish](eightfish.md) | [GitHub](https://github.com/miketang84/eightfish) | ☐ | ☒ | ☒ | | [Protofire](https://protofire.io/) | [Polkadot Contract Wizard](polkadot-contract-wizard.md) | [GitHub](https://github.com/protofire/) | ☐ | ☒ | ☒ | -| [Runtime Verification](https://runtimeverification.com/) | [KMIR: the K semantics of MIR](rv-kmir.md) | [GitHub](https://github.com/runtimeverification) | ☐ | ☒ | ☐ | +| [Runtime Verification](https://runtimeverification.com/) | [KMIR: the K semantics of MIR](rv-kmir.md) | [GitHub](https://github.com/runtimeverification) | ☐ | ☒ | ☒ | | [Me Protocol](https://meprotocol.io/) | [Me Protocol](MeProtocol.md) | [GitHub](https://github.com/Me-Protocol) | ☐ | ☐ | ☐ | | [Comrade Coop](https://comrade.coop/) | [Validated Streams](validated-streams.md) | [GitHub](https://github.com/comrade-coop) | ☐ | ☒ | ☒ | | [Blockcoders](http://blockcoders.io/) | [Kuma Cross-chain Wallet](cross-chain-wallet.md) | [GitHub](https://github.com/blockcoders) | ☐ | ☒ | ☒ | From 6e838e4492e0f11741dde463509731e27788e22b Mon Sep 17 00:00:00 2001 From: Keegan | W3F <35080151+keeganquigley@users.noreply.github.com> Date: Wed, 27 Sep 2023 08:00:05 -0400 Subject: [PATCH 074/133] Update index.md (#2011) --- applications/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/index.md b/applications/index.md index 8bf613fb424..1662f4d05f9 100644 --- a/applications/index.md +++ b/applications/index.md @@ -201,7 +201,7 @@ Besides, **there is a clear difference between an application being accepted and | [10Clouds Sp. z o.o.](https://10clouds.com/) | [Crowdloan Front End Template](crowdloan_frontend_template.md) | [GitHub](https://github.com/10clouds) | ☐ | ☒ | ☒ | | [DodoRare, Inc.](https://dodorare.com/) | [Faterium](faterium.md) | [GitHub](https://github.com/faterium) | ☐ | ☒ | ☒ | | [The Bacon Beacon](https://github.com/random-bacon) | [Pallet Drand Client](pallet-drand-client.md) | [GitHub](https://github.com/random-bacon) | ☐ | ☒ | ☐ | -| [Helikon Labs](https://helikon.io/) | [ChainViz v1](chainviz.md) | [GitHub](https://github.com/helikon-labs/chainviz) | ☐ | ☐ | ☐ | +| [Helikon Labs](https://helikon.io/) | [ChainViz v1](chainviz.md) | [GitHub](https://github.com/helikon-labs/chainviz) | ☐ | ☒ | ☐ | | [Mutai Solutions](https://bryanmutai.co/) | [Crowdloans-FET](Crowdloans-FET.md) | [GitHub](https://github.com/brymut) | ☐ | ☐ | ☐ | | [k/factory](https://k-f.co/) | [Centrifuge Go-Substrate-RPC Client V2](centrifuge-gsrpc-v2.md) | [GitHub](https://github.com/centrifuge/go-substrate-rpc-client) | ☐ | ☐ | ☐ | | [Colorful Notion](https://github.com/colorfulnotion) | [Zombienet Explorer: Multi-Chain Substrate Block Explorer](Zombienet-Explorer.md) | [GitHub](https://github.com/colorfulnotion/zombienet-explorer) | ☐ | ☐ | ☐ | From e5817c9c048084c8baa12c97931c07542c6210fd Mon Sep 17 00:00:00 2001 From: omahs <73983677+omahs@users.noreply.github.com> Date: Wed, 27 Sep 2023 14:48:49 +0200 Subject: [PATCH 075/133] Fix typos (#2009) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Sebastian Müller --- docs/Process/how-to-apply.md | 4 ++-- docs/Support Docs/announcement-guidelines.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/Process/how-to-apply.md b/docs/Process/how-to-apply.md index c48f43b3ab5..f6e95e10e96 100644 --- a/docs/Process/how-to-apply.md +++ b/docs/Process/how-to-apply.md @@ -19,7 +19,7 @@ Payments can be made in USDT and USDC on the Polkadot [AssetHub](https://wiki.po 2. [Fork](https://github.com/w3f/Grants-Program/fork) our grants program repository. 3. In the newly created fork, create a copy of the [application template](https://github.com/w3f/Grants-Program/blob/master/applications/application-template.md). If you're using the GitHub web interface, you will need to create a new file and copy the [contents](https://raw.githubusercontent.com/w3f/Grants-Program/master/applications/application-template.md) of the template inside the new one. Make sure you **do not modify the template file directly**. In the case of a maintenance application, use the [maintenance template](https://github.com/w3f/Grants-Program/blob/master/maintenance/maintenance-template.md) instead. 4. Name the new file after your project: `project_name.md`. - 5. Fill out the template with the details of your project. The more information you provide, the faster the review. Please refer to our [Grant guidelines for most popular grant categories](../Support%20Docs/grant_guidelines_per_category.md) and make sure your deliverables present a similar same level of detail. To get an idea of what a strong application looks like, you can have a look at the following examples: [1](https://github.com/w3f/Grants-Program/blob/master/applications/project_aurras_mvp_phase_1.md), [2](https://github.com/w3f/Grants-Program/blob/master/applications/project_bodhi.md), [3](https://github.com/w3f/Grants-Program/blob/master/applications/pontem.md), [4](https://github.com/w3f/Grants-Program/blob/master/applications/spartan_poc_consensus_module.md). Naturally, if you're only applying for a smaller grant that only consists of, say, UI work, you don't need to provide as much detail. - 6. Once you're done, create a pull request in **our** main [Grants-Program repository](https://github.com/w3f/Grant-Milestone-Delivery/blob/master/README.md). The pull request should only contain _one new file_—the Markdown file you created from the template. + 5. Fill out the template with the details of your project. The more information you provide, the faster the review. Please refer to our [Grant guidelines for most popular grant categories](../Support%20Docs/grant_guidelines_per_category.md) and make sure your deliverables present a similar level of detail. To get an idea of what a strong application looks like, you can have a look at the following examples: [1](https://github.com/w3f/Grants-Program/blob/master/applications/project_aurras_mvp_phase_1.md), [2](https://github.com/w3f/Grants-Program/blob/master/applications/project_bodhi.md), [3](https://github.com/w3f/Grants-Program/blob/master/applications/pontem.md), [4](https://github.com/w3f/Grants-Program/blob/master/applications/spartan_poc_consensus_module.md). Naturally, if you're only applying for a smaller grant that only consists of, say, UI work, you don't need to provide as much detail. + 6. Once you're done, create a pull request. The pull request should only contain _one new file_—the Markdown file you created from the template. 7. You will see a comment template that contains a checklist. You can leave it as is and tick the checkboxes once the pull request has been created. Please read through these items and check all of them. 8. Sign off on the [terms and conditions](../Support%20Docs/T&Cs.md) presented by the [CLA assistant](https://github.com/claassistantio) bot as a Contributor License Agreement. You might need to reload the pull request to see its comment. diff --git a/docs/Support Docs/announcement-guidelines.md b/docs/Support Docs/announcement-guidelines.md index 445901fdf2b..4bd9c784e9b 100644 --- a/docs/Support Docs/announcement-guidelines.md +++ b/docs/Support Docs/announcement-guidelines.md @@ -31,7 +31,7 @@ We also cross-promote the most recent projects and their milestones on Twitter o 3. Why you chose to build on this tech stack - Illustrate the rationale for the relationship - why did you decide to work with Web3 Foundation? - Describe the benefits of building on Polkadot, Kusama etc. (shared security, ease of use, ease of deployment, ease of interchain communication, decentralized, - trusted, etc.) and why it was it important to have these features for your project. + trusted, etc.) and why it was important to have these features for your project. 4. Quote - Your CEO / CTO / Founder may want to include a quote of why they picked Web3 Foundation to help gain more visibility and traction in the market. 5. Description of Web3 Foundation From 35dc9e121070d89397b7fb8c4c0d70e683937ab0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20M=C3=BCller?= Date: Wed, 27 Sep 2023 14:57:13 +0200 Subject: [PATCH 076/133] RFP restructure (#2012) --- ...epAccountAnalytics-PolkadotDataAlliance.md | 4 +- applications/FuzzLand.md | 2 +- applications/Grant_management_webapp.md | 2 +- applications/Hyperdot.md | 2 +- applications/ISO-8583-implementation.md | 4 +- applications/ISO20022.md | 2 +- applications/Security_Marketplace.md | 2 +- .../Substrate_Move_System_Pallet_1.md | 4 +- .../Substrate_Move_System_Pallet_2.md | 4 +- applications/TPScore.md | 4 +- applications/TreasuryTracker.md | 2 +- applications/community-health-check.md | 2 +- ...h_deep_indexed_data_and_staking_reports.md | 2 +- applications/dot_etl.md | 2 +- applications/fidi-dotsight-analytics.md | 2 +- applications/grantmaster.md | 4 +- applications/hybrid.md | 4 +- applications/hybrid_node_research.md | 2 +- .../ink-pallet-benchmarking-phase-2.md | 6 +- applications/ink-pallet-benchmarking.md | 2 +- applications/polkadot_analytics_platform.md | 6 +- applications/polkadot_tests.md | 2 +- applications/sandox.md | 4 +- applications/sarp-basic-functionality.md | 4 +- applications/validators_selection.md | 2 +- applications/xNFT.md | 4 +- applications/xcm-tools.md | 2 +- .../IDE_for_ink_Smart_Contracts.md | 4 + docs/RFPs/{Open => }/ISO_20022.md | 0 docs/RFPs/{Under Development => }/ISO_8583.md | 6 +- .../Static-Analysis-for-Runtime-Pallets.md | 5 ++ docs/RFPs/{Closed => }/a-and-v-topology.md | 29 ++++--- .../alternative-polkadot-js-api-console.md | 4 + ...ternative_polkadot_host_implementations.md | 16 ++-- .../analysis-website-and-data-platform.md | 4 + .../anti-collusion_infrastructure.md | 0 docs/RFPs/{Closed => }/appi.md | 4 + docs/RFPs/{Closed => }/bpf-contracts.md | 4 + docs/RFPs/{Closed => }/candle-auction.md | 4 + .../crowdloan_front_end_template.md | 20 +++-- .../data_analysis_tools.md | 4 + .../decentralized-security-marketplace.md | 4 + .../{Closed => }/epassport-zk-validation.md | 3 + .../formal_guarantees_for_grandpa.md | 0 .../grant_management_webapp.md | 4 + .../identity-directory.md | 4 + .../implementation-benchmarking.md | 4 + .../ink_smart_contract_block_explorer.md | 4 + docs/RFPs/{Closed => }/ksm-tipping-button.md | 4 + .../move_smart_contract_pallet.md | 5 ++ .../multi-chain-block-explorer.md | 4 + .../on-chain-quadratic-funding.md | 4 + ...arachain_validation_conformance_testing.md | 0 docs/RFPs/{Closed => }/php-api.md | 4 + docs/RFPs/{Closed => }/php-scale.md | 4 + .../{Closed => }/polkadot-collator-setup.md | 4 + .../polkadot-protocol_conformance_tests.md | 4 + .../privacy-enhancement-polkadot-extension.md | 4 + .../raft-validators.md | 4 + .../{Closed => }/scale-codec-comparator.md | 4 + .../{Closed => }/social-recovery-wallet.md | 4 + .../staking-rewards-collector-front-end.md | 4 + docs/RFPs/{Open => }/sub-consensus.md | 0 .../uncollateralized-stablecoin-research.md | 4 + .../uptane-for-substrate-design-and-scope.md | 0 .../user-account-access-analysis.md | 0 .../validator-selection-algorithm.md | 4 + .../validator-setup-maintenance.md | 4 + .../{Closed => }/wallet-aggregator-library.md | 6 +- docs/RFPs/{Open => }/xcm-tool.md | 0 docs/rfps.md | 86 +++++++++---------- 71 files changed, 257 insertions(+), 109 deletions(-) rename docs/RFPs/{Under Development => }/IDE_for_ink_Smart_Contracts.md (88%) rename docs/RFPs/{Open => }/ISO_20022.md (100%) rename docs/RFPs/{Under Development => }/ISO_8583.md (81%) rename docs/RFPs/{Under Development => }/Static-Analysis-for-Runtime-Pallets.md (92%) rename docs/RFPs/{Closed => }/a-and-v-topology.md (88%) rename docs/RFPs/{Under Development => }/alternative-polkadot-js-api-console.md (90%) rename docs/RFPs/{Under Development => }/alternative_polkadot_host_implementations.md (77%) rename docs/RFPs/{Under Development => }/analysis-website-and-data-platform.md (91%) rename docs/RFPs/{Open => }/anti-collusion_infrastructure.md (100%) rename docs/RFPs/{Closed => }/appi.md (98%) rename docs/RFPs/{Closed => }/bpf-contracts.md (96%) rename docs/RFPs/{Closed => }/candle-auction.md (95%) rename docs/RFPs/{Closed => }/crowdloan_front_end_template.md (83%) rename docs/RFPs/{Under Development => }/data_analysis_tools.md (93%) rename docs/RFPs/{Under Development => }/decentralized-security-marketplace.md (92%) rename docs/RFPs/{Closed => }/epassport-zk-validation.md (95%) rename docs/RFPs/{Open => }/formal_guarantees_for_grandpa.md (100%) rename docs/RFPs/{Under Development => }/grant_management_webapp.md (94%) rename docs/RFPs/{Under Development => }/identity-directory.md (97%) rename docs/RFPs/{Under Development => }/implementation-benchmarking.md (95%) rename docs/RFPs/{Under Development => }/ink_smart_contract_block_explorer.md (72%) rename docs/RFPs/{Closed => }/ksm-tipping-button.md (97%) rename docs/RFPs/{Under Development => }/move_smart_contract_pallet.md (84%) rename docs/RFPs/{Closed => }/multi-chain-block-explorer.md (86%) rename docs/RFPs/{Closed => }/on-chain-quadratic-funding.md (97%) rename docs/RFPs/{Open => }/parachain_validation_conformance_testing.md (100%) rename docs/RFPs/{Closed => }/php-api.md (92%) rename docs/RFPs/{Closed => }/php-scale.md (89%) rename docs/RFPs/{Closed => }/polkadot-collator-setup.md (94%) rename docs/RFPs/{Under Development => }/polkadot-protocol_conformance_tests.md (92%) rename docs/RFPs/{Closed => }/privacy-enhancement-polkadot-extension.md (95%) rename docs/RFPs/{Under Development => }/raft-validators.md (96%) rename docs/RFPs/{Closed => }/scale-codec-comparator.md (94%) rename docs/RFPs/{Closed => }/social-recovery-wallet.md (95%) rename docs/RFPs/{Closed => }/staking-rewards-collector-front-end.md (96%) rename docs/RFPs/{Open => }/sub-consensus.md (100%) rename docs/RFPs/{Closed => }/uncollateralized-stablecoin-research.md (96%) rename docs/RFPs/{Open => }/uptane-for-substrate-design-and-scope.md (100%) rename docs/RFPs/{Open => }/user-account-access-analysis.md (100%) rename docs/RFPs/{Closed => }/validator-selection-algorithm.md (95%) rename docs/RFPs/{Closed => }/validator-setup-maintenance.md (91%) rename docs/RFPs/{Closed => }/wallet-aggregator-library.md (89%) rename docs/RFPs/{Open => }/xcm-tool.md (100%) diff --git a/applications/DeepAccountAnalytics-PolkadotDataAlliance.md b/applications/DeepAccountAnalytics-PolkadotDataAlliance.md index def68a8ed1b..d7704358d97 100644 --- a/applications/DeepAccountAnalytics-PolkadotDataAlliance.md +++ b/applications/DeepAccountAnalytics-PolkadotDataAlliance.md @@ -6,7 +6,7 @@ ## Abstract :page_facing_up: -This proposal addresses outstanding [deep account analytics problems for the Web3 Foundation](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/Open/data_analysis_tools.md). +This proposal addresses outstanding [deep account analytics problems for the Web3 Foundation](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/data_analysis_tools.md). We propse 3-tier solution: - Tier 1. _raw indexing_: Google BigQuery Public Datasets @@ -19,7 +19,7 @@ that can support work on all 3 tiers with _child bounties_ for Polkadot Data All ## Project Overview :page_facing_up: -This proposal is in response to the RFP [Data Analysis Tools for Substrate-based Blockchains](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/Open/data_analysis_tools.md) +This proposal is in response to the RFP [Data Analysis Tools for Substrate-based Blockchains](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/data_analysis_tools.md) which seeks to answer deep account analytics questions of: **Account References**: diff --git a/applications/FuzzLand.md b/applications/FuzzLand.md index 9a712bc9370..2898f55bbab 100644 --- a/applications/FuzzLand.md +++ b/applications/FuzzLand.md @@ -273,7 +273,7 @@ Downstream DeFis, including insurance, using the auditing intermediate informati Other projects can reuse the components of FuzzLand platforms. For example, the optimistic rollups pallet can be used by Layer 2 solutions. Collaborative manual auditing projects can also use the audit pallet or our chain by replacing the rollups pallet with consensus pallets. -[Decentralized Security Marketplace](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/Open/decentralized-security-marketplace.md) is a related RFP. [QRUCIAL DAO](https://github.com/w3f/Grants-Program/pull/989) is a related project in Substrate ecosystem. QRUCIAL DAO and FuzzLand both reach consensus about the auditing result. The fundamental differences are: +[Decentralized Security Marketplace](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/decentralized-security-marketplace.md) is a related RFP. [QRUCIAL DAO](https://github.com/w3f/Grants-Program/pull/989) is a related project in Substrate ecosystem. QRUCIAL DAO and FuzzLand both reach consensus about the auditing result. The fundamental differences are: * FuzzLand harnesses the computation power of the crowd to perform compute-intensive dynamic program analysis, resulting in fast and highly accurate auditing. Yet, QRUCIAL DAO's analysis is performed by rerunning a same set of fast static analysis tools on multiple nodes, of which the requirement of multiple nodes is solely for reaching consensus. * We support all LLVM targets, including Substrate pallet, ink!, Solidity, Move, Rust, C/C++, etc. projects while QRUCIAL DAO is tailored for smart contract auditing. * We use optimistic rollups to efficiently reach consensus while QRUCIAL DAO uses the governance pallet. diff --git a/applications/Grant_management_webapp.md b/applications/Grant_management_webapp.md index 4765962aba4..1218c5736c7 100644 --- a/applications/Grant_management_webapp.md +++ b/applications/Grant_management_webapp.md @@ -6,7 +6,7 @@ ## Project Overview :page_facing_up: -This application is in response to the open RFP: https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/Open/grant_management_webapp.md +This application is in response to the open RFP: https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/grant_management_webapp.md ### Overview diff --git a/applications/Hyperdot.md b/applications/Hyperdot.md index 3abc771e9c3..bb9f7be6619 100644 --- a/applications/Hyperdot.md +++ b/applications/Hyperdot.md @@ -6,7 +6,7 @@ ## Project Overview 📄 -This is a response for the [Analytics Website/Data Platform](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/Open/analysis-website-and-data-platform.md) RFP. +This is a response for the [Analytics Website/Data Platform](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/analysis-website-and-data-platform.md) RFP. ### Overview diff --git a/applications/ISO-8583-implementation.md b/applications/ISO-8583-implementation.md index 793db9fe492..2940a647b61 100644 --- a/applications/ISO-8583-implementation.md +++ b/applications/ISO-8583-implementation.md @@ -4,7 +4,7 @@ - **Payment Address:** 0xc42D0562BB4e53f5e9D888df35e1B91eA0f19cC3 (USDC) - **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 -This application is in response to the [ISO-8583 RFP](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/Under%20Development/ISO_8583.md). +This application is in response to the [ISO-8583 RFP](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/ISO_8583.md). ### Overview @@ -111,7 +111,7 @@ Please also provide the GitHub accounts of all team members. If they contain no ## Development Status :open_book: -This application is in response to the [ISO-8583 RFP](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/Open/ISO_8583.md). +This application is in response to the [ISO-8583 RFP](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/ISO_8583.md). The implementation is inspired from the previous [research](https://github.com/adit313/ISO8583-Blockchain-Integration-Plan) project for this RFP. diff --git a/applications/ISO20022.md b/applications/ISO20022.md index fe5926a0662..50e1bb7d190 100644 --- a/applications/ISO20022.md +++ b/applications/ISO20022.md @@ -7,7 +7,7 @@ ## Project Overview -Response to [RFP 20022](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/Open/ISO_20022.md) +Response to [RFP 20022](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/ISO_20022.md) Cross-border payment example as proof of concepts, leveraging the unique [Off-Chain Features of Substrate](https://docs.substrate.io/v3/concepts/off-chain-features/) that show the advantages of using [ISO20022](https://www.iso20022.org/) together with Substrate. diff --git a/applications/Security_Marketplace.md b/applications/Security_Marketplace.md index 95c73cd7155..b512238cc51 100644 --- a/applications/Security_Marketplace.md +++ b/applications/Security_Marketplace.md @@ -5,7 +5,7 @@ - **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 ## Project Overview :page_facing_up: -The proposal is in response to the RFP : [Decentralised Security marketplace](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/Open/decentralized-security-marketplace.md). +The proposal is in response to the RFP : [Decentralised Security marketplace](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/decentralized-security-marketplace.md). ### Overview diff --git a/applications/Substrate_Move_System_Pallet_1.md b/applications/Substrate_Move_System_Pallet_1.md index e34c007b033..98bf346a600 100644 --- a/applications/Substrate_Move_System_Pallet_1.md +++ b/applications/Substrate_Move_System_Pallet_1.md @@ -6,7 +6,7 @@ ## Project Overview ****📄**** -This application is a response to the **[Move Smart Contract Pallet RFP](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/Open/move_smart_contract_pallet.md).** +This application is a response to the **[Move Smart Contract Pallet RFP](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/move_smart_contract_pallet.md).** ### Overview @@ -131,7 +131,7 @@ As mentioned in the Teams section, Eiger already has extensive experience develo ## Development Status **📖** -- This application is a direct response to [this RFP](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/Open/move_smart_contract_pallet.md) +- This application is a direct response to [this RFP](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/move_smart_contract_pallet.md) - [Move language Github](https://github.com/move-language/move/tree/main/language) - [Pontem MoveVM fork](https://github.com/pontem-network/sp-move-vm) - [Pontem MoveVM system pallet](https://github.com/pontem-network/pontem/tree/master/pallets/sp-mvm) diff --git a/applications/Substrate_Move_System_Pallet_2.md b/applications/Substrate_Move_System_Pallet_2.md index c245490415b..ff161929ebf 100644 --- a/applications/Substrate_Move_System_Pallet_2.md +++ b/applications/Substrate_Move_System_Pallet_2.md @@ -6,7 +6,7 @@ ## Project Overview ****📄**** -This application is a response to **[Move Smart Contract Pallet RFP](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/Open/move_smart_contract_pallet.md)** and a follow-up to our [previous work](https://github.com/w3f/Grants-Program/pull/1769) on the RFP. +This application is a response to **[Move Smart Contract Pallet RFP](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/move_smart_contract_pallet.md)** and a follow-up to our [previous work](https://github.com/w3f/Grants-Program/pull/1769) on the RFP. ### Overview @@ -126,7 +126,7 @@ As mentioned in the Teams section, Eiger already has extensive experience develo ## Development Status **📖** -- This application is a direct response to [this RFP](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/Open/move_smart_contract_pallet.md) +- This application is a direct response to [this RFP](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/move_smart_contract_pallet.md) - [Move language Github](https://github.com/move-language/move/tree/main/language) - [Pontem MoveVM fork](https://github.com/pontem-network/sp-move-vm) - [Pontem MoveVM system pallet](https://github.com/pontem-network/pontem/tree/master/pallets/sp-mvm) diff --git a/applications/TPScore.md b/applications/TPScore.md index 6951775c1ab..10a9be37f16 100644 --- a/applications/TPScore.md +++ b/applications/TPScore.md @@ -6,7 +6,7 @@ ## Project Overview :page_facing_up: -This application is in response to the RFP [Data Analysis Tools for Substrate-based Blockchains](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/Open/data_analysis_tools.md) +This application is in response to the RFP [Data Analysis Tools for Substrate-based Blockchains](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/data_analysis_tools.md) ### Overview @@ -117,7 +117,7 @@ As of the time of this application, no tools exist for checking TPS across the P ## Development Status :open_book: -This project is a response to RFP [Data Analysis Tools for Substrate-based Blockchains](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/Open/data_analysis_tools.md) +This project is a response to RFP [Data Analysis Tools for Substrate-based Blockchains](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/data_analysis_tools.md) Up until now, our primary focus has revolved around two key objectives: 1. Finding product-market fit diff --git a/applications/TreasuryTracker.md b/applications/TreasuryTracker.md index 372dfdbbb36..c9bd57cb470 100644 --- a/applications/TreasuryTracker.md +++ b/applications/TreasuryTracker.md @@ -75,7 +75,7 @@ The target audience for our platform includes token holders interested in the lo While there are no projects in the ecosystem that address treasury components and provide the same level of analytics as our proposed platform, there are a few with related functionalities: - [doTreasury](https://www.dotreasury.com/dot/) focuses solely on treasury statistics, lacking the wider analytical range that our project aims to offer -- [Grant Management Web Application RFP](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/Under%20Development/grant_management_webapp.md) are focused on the W3F grants UI and are not including the analytics component our platform intends to deliver. +- [Grant Management Web Application RFP](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/grant_management_webapp.md) are focused on the W3F grants UI and are not including the analytics component our platform intends to deliver. diff --git a/applications/community-health-check.md b/applications/community-health-check.md index 8d1bfa7a66b..a9ce321cdea 100644 --- a/applications/community-health-check.md +++ b/applications/community-health-check.md @@ -105,7 +105,7 @@ Our current approach rests on off-chain data. Other community analytics dashboar Looking at on-chain community analysis, Chainverse is similar in terms of methodology (network analysis). However, they are currently solely focusing on on-chain data and are adopting a knowledge graph methodology. -There is a [RFP for website and on-chain data analysis ](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/Open/analysis-website-and-data-platform.md). The RFP is about creating an "easy-to-use front-end with sharable customized dashboards" and thus broader than our proposal. +There is a [RFP for website and on-chain data analysis ](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/analysis-website-and-data-platform.md). The RFP is about creating an "easy-to-use front-end with sharable customized dashboards" and thus broader than our proposal. ## Team :busts_in_silhouette: diff --git a/applications/data_platform_with_deep_indexed_data_and_staking_reports.md b/applications/data_platform_with_deep_indexed_data_and_staking_reports.md index 1096c774403..7333532ac91 100644 --- a/applications/data_platform_with_deep_indexed_data_and_staking_reports.md +++ b/applications/data_platform_with_deep_indexed_data_and_staking_reports.md @@ -6,7 +6,7 @@ ## Project Overview :page_facing_up: -Current proposal is the solution from [P2P.org](http://P2P.org) for the problem described in [Analytics Website/Data Platform](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/Under%20Development/analysis-website-and-data-platform.md) RFP. +Current proposal is the solution from [P2P.org](http://P2P.org) for the problem described in [Analytics Website/Data Platform](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/analysis-website-and-data-platform.md) RFP. ### Overview and Ecosystem Fit diff --git a/applications/dot_etl.md b/applications/dot_etl.md index e4fbf5ee1ce..ac7e79ee44a 100644 --- a/applications/dot_etl.md +++ b/applications/dot_etl.md @@ -8,7 +8,7 @@ ### Overview -This proposal is in response to the following RFP: [Analysis Website and Data Platform](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/Open/analysis-website-and-data-platform.md) +This proposal is in response to the following RFP: [Analysis Website and Data Platform](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/analysis-website-and-data-platform.md) The goal of the Dot-ETL project is to lower the friction required to conduct fine-grained and aggregated analysis of transactions on Polkadot network, via a framework to extract Polkadot transaction-level data to various offline formats: e.g. CSV / delimited, relational, columnar. Furthermore, we intend to develop a framework to ETL Substrate to [Google BigQuery](https://cloud.google.com/bigquery), orchestrated via [Google Cloud Composer](https://cloud.google.com/composer). diff --git a/applications/fidi-dotsight-analytics.md b/applications/fidi-dotsight-analytics.md index d911dd5488b..f570a42b535 100644 --- a/applications/fidi-dotsight-analytics.md +++ b/applications/fidi-dotsight-analytics.md @@ -7,7 +7,7 @@ - **Payment Address:** 14fptYf88mjarGJ3gAjhd8YH3Cefdgx4C8Jb6chvJXFszb2i (USDT / Polkadot) - **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 -This project is a response to Keegan Quigley’s [RFP #1539](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/Open/analysis-website-and-data-platform.md) inspired by Rob Habermeier’s Polkadot forum [post](https://forum.polkadot.network/t/dune-analytics-style-data-service-for-polkadot-kusama/271). +This project is a response to Keegan Quigley’s [RFP #1539](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/analysis-website-and-data-platform.md) inspired by Rob Habermeier’s Polkadot forum [post](https://forum.polkadot.network/t/dune-analytics-style-data-service-for-polkadot-kusama/271). ### Overview diff --git a/applications/grantmaster.md b/applications/grantmaster.md index 4b6a142487e..688b36b81f4 100644 --- a/applications/grantmaster.md +++ b/applications/grantmaster.md @@ -6,7 +6,7 @@ ## Project Overview :page_facing_up: -This application is in response to the RFP [Grant Management Web Application](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/Open/grant_management_webapp.md). +This application is in response to the RFP [Grant Management Web Application](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/grant_management_webapp.md). ### Overview @@ -146,7 +146,7 @@ Zaniyar Jahany is a Senior science associate at ZHAW (university of applied scie ## Development Status :open_book: -This application is in reply to the RFP [Grant Management Web Application](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/Open/grant_management_webapp.md). +This application is in reply to the RFP [Grant Management Web Application](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/grant_management_webapp.md). ### Wireframes diff --git a/applications/hybrid.md b/applications/hybrid.md index a8c7131e949..31585e29757 100644 --- a/applications/hybrid.md +++ b/applications/hybrid.md @@ -8,8 +8,8 @@ ## Project Overview :page_facing_up: This application is in response to two RFPs: -- Multi-chain Block Explorer https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/Under%20Development/multi-chain-block-explorer.md -- ink! smart contract block explorer. https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/Under%20Development/ink_smart_contract_block_explorer.md +- Multi-chain Block Explorer https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/multi-chain-block-explorer.md +- ink! smart contract block explorer. https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/ink_smart_contract_block_explorer.md ### Overview diff --git a/applications/hybrid_node_research.md b/applications/hybrid_node_research.md index 6d488252b62..57e4d65b9cc 100644 --- a/applications/hybrid_node_research.md +++ b/applications/hybrid_node_research.md @@ -4,7 +4,7 @@ ## Project Overview :page_facing_up: -This grant application falls under this RFP https://github.com/w3f/Grants-Program/blob/master/docs/rfps/Open/alternative_polkadot_host_implementations.md and it is meant as a previous research work analysis before the actual rework of the host implementation. +This grant application falls under this RFP https://github.com/w3f/Grants-Program/blob/master/docs/rfps/alternative_polkadot_host_implementations.md and it is meant as a previous research work analysis before the actual rework of the host implementation. ### Overview diff --git a/applications/ink-pallet-benchmarking-phase-2.md b/applications/ink-pallet-benchmarking-phase-2.md index 5e9a02ec814..f9ebe24ad03 100644 --- a/applications/ink-pallet-benchmarking-phase-2.md +++ b/applications/ink-pallet-benchmarking-phase-2.md @@ -5,7 +5,7 @@ - **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 1 ## Project Overview : -Proposal for Milestone 2 in the RFP titled [implementation-benchmarking](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/Under%20Development/implementation-benchmarking.md). +Proposal for Milestone 2 in the RFP titled [implementation-benchmarking](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/implementation-benchmarking.md). ### Overview @@ -41,7 +41,7 @@ This will help new developers to decide the best tool to implement the logic. ### Team's experience -We have already worked on [implementation-benchmarking](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/Under%20Development/implementation-benchmarking.md) and delivered Milestones 1 and 2. +We have already worked on [implementation-benchmarking](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/implementation-benchmarking.md) and delivered Milestones 1 and 2. ### Team Code Repos @@ -119,4 +119,4 @@ We are planning to submit another grant application towards Milestone 4 where we ## Additional Information :heavy_plus_sign: Gautam Dhameja told us about the Grants program and encouraged us to apply to the same. -We have already applied for and delivered Milestones 1 and 2 against [implementation-benchmarking](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/Under%20Development/implementation-benchmarking.md) +We have already applied for and delivered Milestones 1 and 2 against [implementation-benchmarking](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/implementation-benchmarking.md) diff --git a/applications/ink-pallet-benchmarking.md b/applications/ink-pallet-benchmarking.md index 465b8da8d46..b7cfe8b813b 100644 --- a/applications/ink-pallet-benchmarking.md +++ b/applications/ink-pallet-benchmarking.md @@ -5,7 +5,7 @@ - **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 1 ## Project Overview : -Proposal for the RFP titled [ink!/pallet/solidity performance benchmarking](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/Open/implementation-benchmarking.md). +Proposal for the RFP titled [ink!/pallet/solidity performance benchmarking](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/implementation-benchmarking.md). ### Overview There are multiple ways to implement the logic in substrate i.e using pallets or ink smart contracts, or even writing solidity code and compiling it to WASM with the help of a solang compiler. We have to benchmark the performance metrics of the logic implemented using each of the above methods. This will help new developers to decide the best tool to implement the logic. diff --git a/applications/polkadot_analytics_platform.md b/applications/polkadot_analytics_platform.md index 607059f2a25..1d8b6ccb34d 100644 --- a/applications/polkadot_analytics_platform.md +++ b/applications/polkadot_analytics_platform.md @@ -8,7 +8,7 @@ ## Project Overview :page_facing_up: -This proposal is aligned to the [RFP: Data Analysis Tools for Substrate-based Blockchains](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/Under%20Development/data_analysis_tools.md). +This proposal is aligned to the [RFP: Data Analysis Tools for Substrate-based Blockchains](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/data_analysis_tools.md). Our R&D roadmap was conceived and kick-started before the creation of this RFP, which was presented to us during the course of our previous [research grant](https://github.com/w3f/Grants-Program/pull/1420). Nevertheless, we believe the proposed application (Polkadot Analytics Platform) is aligned with the RFP's requirements and main goals. Both aim at providing data analysis in a way that advanced non-technical users can consume, without requiring programming skills. @@ -235,7 +235,7 @@ Our personal repos: > links to improvement proposals or [RFPs](https://github.com/w3f/Grants-Program/tree/master/docs/RFPs) (requests for proposal), -This proposal is aligned to the [RFP: Data Analysis Tools for Substrate-based Blockchains](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/Under%20Development/data_analysis_tools.md). +This proposal is aligned to the [RFP: Data Analysis Tools for Substrate-based Blockchains](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/data_analysis_tools.md). Our R&D roadmap was conceived and kick-started before the creation of this RFP, which was presented to us during the course of our previous [research grant](https://github.com/w3f/Grants-Program/pull/1420). Nevertheless, we believe the proposed application (Polkadot Analytics Platform) is aligned with the RFP's requirements and main goals. Both aim at providing data analysis in a way that advanced non-technical users can consume, without requiring programming skills. @@ -278,7 +278,7 @@ The total budget requested is US$ 10000 for two PhDs dedicating about 10 days of ### Milestone 1 — Knowledge-Base bootstrap -In this milestone, the focus is on constructing the foundation of the analytics platform by creating a knowledge base. The goal is to define and implement the base components for the dev environment that will be the basis for the proposed platform. This includes evolving with POnto to address queries from the [Data Analysis Tools for Substrate-based Blockchains](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/Under%20Development/data_analysis_tools.md) RFP and the Substrate-ETL project. An initial KB component (including triplestore database and basic API endpoint) will be developed to handle operations over POnto entities. +In this milestone, the focus is on constructing the foundation of the analytics platform by creating a knowledge base. The goal is to define and implement the base components for the dev environment that will be the basis for the proposed platform. This includes evolving with POnto to address queries from the [Data Analysis Tools for Substrate-based Blockchains](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/data_analysis_tools.md) RFP and the Substrate-ETL project. An initial KB component (including triplestore database and basic API endpoint) will be developed to handle operations over POnto entities. - **Estimated Duration:** 1 month diff --git a/applications/polkadot_tests.md b/applications/polkadot_tests.md index f912d7a713b..6b112106a60 100644 --- a/applications/polkadot_tests.md +++ b/applications/polkadot_tests.md @@ -7,7 +7,7 @@ ## Project Overview :page_facing_up: -This grant application falls under this [RFP](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/Open/polkadot-protocol_conformance_tests.md) and it aims +This grant application falls under this [RFP](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/polkadot-protocol_conformance_tests.md) and it aims to develop a comprehensive test suite dedicated to assessing the compliance of Host implementations against the official Polkadot Protocol Specification. ### Overview diff --git a/applications/sandox.md b/applications/sandox.md index 357bbba1817..12c4640ebbe 100644 --- a/applications/sandox.md +++ b/applications/sandox.md @@ -6,7 +6,7 @@ ## Project Overview :page_facing_up: -This application is in response to the [Alternative javascript console for Polkadot JS API RFP](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/Open/alternative-polkadot-js-api-console.md). +This application is in response to the [Alternative javascript console for Polkadot JS API RFP](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/alternative-polkadot-js-api-console.md). ### Overview @@ -33,7 +33,7 @@ Till then files and settings storage will be local and user’s code will be run ### Ecosystem Fit -According to the [RFP](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/Open/alternative-polkadot-js-api-console.md) current polkadot js API console has some limitations, which we offer to overcome by creating the SanDOx IDE. +According to the [RFP](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/alternative-polkadot-js-api-console.md) current polkadot js API console has some limitations, which we offer to overcome by creating the SanDOx IDE. ## Team :busts_in_silhouette: diff --git a/applications/sarp-basic-functionality.md b/applications/sarp-basic-functionality.md index 485712cd299..c3b5d1acce2 100644 --- a/applications/sarp-basic-functionality.md +++ b/applications/sarp-basic-functionality.md @@ -6,7 +6,7 @@ ## Project Overview :page_facing_up: -This application is a response to the RFP [Static Analysis for Runtime Pallets](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/Open/Static-Analysis-for-Runtime-Pallets.md) +This application is a response to the RFP [Static Analysis for Runtime Pallets](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/Static-Analysis-for-Runtime-Pallets.md) ### Overview @@ -78,7 +78,7 @@ Github accounts of the team members ## Development Status :open_book: -We will base our work on [MIRAI](https://github.com/facebookexperimental/MIRAI) and the RFP [Static Analysis for Runtime Pallets](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/Open/Static-Analysis-for-Runtime-Pallets.md) +We will base our work on [MIRAI](https://github.com/facebookexperimental/MIRAI) and the RFP [Static Analysis for Runtime Pallets](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/Static-Analysis-for-Runtime-Pallets.md) We have not started to work on this. diff --git a/applications/validators_selection.md b/applications/validators_selection.md index 0729259771f..315af59ea0f 100644 --- a/applications/validators_selection.md +++ b/applications/validators_selection.md @@ -9,7 +9,7 @@ ## Project Overview :page_facing_up: -Response to an RFP [validator-selection-algorithm](https://github.com/w3f/Grants-Program/blob/master/docs/rfps/Open/validator-selection-algorithm.md "validator-selection-algorithm.md"). +Response to an RFP [validator-selection-algorithm](https://github.com/w3f/Grants-Program/blob/master/docs/rfps/validator-selection-algorithm.md "validator-selection-algorithm.md"). ### Overview diff --git a/applications/xNFT.md b/applications/xNFT.md index 934b80b2dfd..6bc1b7e91e7 100644 --- a/applications/xNFT.md +++ b/applications/xNFT.md @@ -6,7 +6,7 @@ ## Project Overview :page_facing_up: -This application is in response to the open RFP [xcm-tools](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/Open/xcm-tool.md) +This application is in response to the open RFP [xcm-tools](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/xcm-tool.md) ### Overview @@ -99,7 +99,7 @@ We are the technical partners for [Peer Coin](https://explorer.peer.inc/) ## Development Status :open_book: -[xcm-tools](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/Open/xcm-tool.md) +[xcm-tools](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/xcm-tool.md) ## Development Roadmap :nut_and_bolt: diff --git a/applications/xcm-tools.md b/applications/xcm-tools.md index 8b939b9fe46..bf042efff8d 100644 --- a/applications/xcm-tools.md +++ b/applications/xcm-tools.md @@ -6,7 +6,7 @@ ## Project Overview :page_facing_up: -RFPs [https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/Open/xcm-tool.md](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/Open/xcm-tool.md) +RFPs [https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/xcm-tool.md](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/xcm-tool.md) ### Overview diff --git a/docs/RFPs/Under Development/IDE_for_ink_Smart_Contracts.md b/docs/RFPs/IDE_for_ink_Smart_Contracts.md similarity index 88% rename from docs/RFPs/Under Development/IDE_for_ink_Smart_Contracts.md rename to docs/RFPs/IDE_for_ink_Smart_Contracts.md index 06640b5994f..4bec3b730bf 100644 --- a/docs/RFPs/Under Development/IDE_for_ink_Smart_Contracts.md +++ b/docs/RFPs/IDE_for_ink_Smart_Contracts.md @@ -1,5 +1,9 @@ # Browser based IDE for ink! Smart Contracts +:::caution +This Request for Proposals is currently considered **under development**, meaning one or more grants have been signed to address the topic. We might be interested in additional implementations, but it’s better to double check this with the grants team. +::: + * **Status:** [Under Development 1](https://github.com/w3f/Grants-Program/blob/master/applications/ink-playground-ide-improvements.md), [Under Development 2](https://github.com/w3f/Grants-Program/blob/master/applications/sandox.md) * **Proposer:** [David Hawig](https://github.com/Noc2) diff --git a/docs/RFPs/Open/ISO_20022.md b/docs/RFPs/ISO_20022.md similarity index 100% rename from docs/RFPs/Open/ISO_20022.md rename to docs/RFPs/ISO_20022.md diff --git a/docs/RFPs/Under Development/ISO_8583.md b/docs/RFPs/ISO_8583.md similarity index 81% rename from docs/RFPs/Under Development/ISO_8583.md rename to docs/RFPs/ISO_8583.md index c22ea4b91d5..fed29ec2806 100644 --- a/docs/RFPs/Under Development/ISO_8583.md +++ b/docs/RFPs/ISO_8583.md @@ -1,5 +1,9 @@ # RFP: ISO 8583 +:::caution +This Request for Proposals is currently considered **under development**, meaning one or more grants have been signed to address the topic. We might be interested in additional implementations, but it’s better to double check this with the grants team. +::: + * **Status:** [Implemented](https://github.com/w3f/Grants-Program/blob/master/applications/Integrating-ISO8583.md), [Under Development](https://github.com/w3f/Grants-Program/blob/master/applications/ISO-8583-implementation.md) * **Proposer:** [Noc2](https://github.com/Noc2) @@ -7,7 +11,7 @@ ISO 8583 is an international standard for systems that exchange electronic transactions initiated by cardholders using payment cards. It defines a message format and a communication flow, but offers also custom fields and custom usages. Most transactions that involve ATMs are based on this standard and Mastercard, Visa and Verve networks base their authorization communications on the ISO 8583 standard. -Even though ISO 8583 is going to be replaced by [ISO 20022](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/Open/ISO_20022.md), it might take some time before it’s actually fully replaced. +Even though ISO 8583 is going to be replaced by [ISO 20022](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/ISO_20022.md), it might take some time before it’s actually fully replaced. The goal of this RFP is to find teams that implement tools that make it easy and possible for the traditional finance industry to leverage substrate and ink! smart contracts to interact with ISO 8583 in various ways. These tools could be, but are not limited to: diff --git a/docs/RFPs/Under Development/Static-Analysis-for-Runtime-Pallets.md b/docs/RFPs/Static-Analysis-for-Runtime-Pallets.md similarity index 92% rename from docs/RFPs/Under Development/Static-Analysis-for-Runtime-Pallets.md rename to docs/RFPs/Static-Analysis-for-Runtime-Pallets.md index ad50f2d40d4..d563bae75b0 100644 --- a/docs/RFPs/Under Development/Static-Analysis-for-Runtime-Pallets.md +++ b/docs/RFPs/Static-Analysis-for-Runtime-Pallets.md @@ -1,4 +1,9 @@ # Static Analysis of Runtime Pallets + +:::caution +This Request for Proposals is currently considered **under development**, meaning one or more grants have been signed to address the topic. We might be interested in additional implementations, but it’s better to double check this with the grants team. +::: + * **Status:** [Implemented](https://github.com/w3f/Grants-Program/blob/master/applications/sarp-basic-functionality.md) * **Proposer:** [Bhargav Bhatt](https://github.com/bhargavbh), [David Hawig](https://github.com/Noc2) diff --git a/docs/RFPs/Closed/a-and-v-topology.md b/docs/RFPs/a-and-v-topology.md similarity index 88% rename from docs/RFPs/Closed/a-and-v-topology.md rename to docs/RFPs/a-and-v-topology.md index 88d7703b0d8..18b0ec67aaa 100644 --- a/docs/RFPs/Closed/a-and-v-topology.md +++ b/docs/RFPs/a-and-v-topology.md @@ -1,9 +1,13 @@ # Availability and Validity - Network Topology -* **Status:** Closed, since research is outdated -* **Proposer:** @infinity0, @skalman, @mmagician +:::danger +This Request for Proposals is _closed_, meaning we are not looking for any more proposals on this topic at the moment. +::: -## Project Description :page_facing_up: +- **Status:** Closed, since research is outdated +- **Proposer:** @infinity0, @skalman, @mmagician + +## Project Description :page_facing_up: A part of the promise of Polkadot is to bring scalability to the blockchains. The way it achieves it is via delegating application-specific logic from layer 0 (the relay chain) to layer 1 chains (parachains). In order to achieve this efficiently yet securely, each parachain has its own block production mechanism (achieving efficienct block production), but the finalisation of candidate parachain blocks still happens with the involvement of the relay chain validators. @@ -15,21 +19,22 @@ This proposal aims to solve this issue by creating a selective networking topolo ## Deliverables :nut_and_bolt: -* **Total Estimated Duration:** 14 weeks -* **Total Costs:** 90,000 DAI +- **Total Estimated Duration:** 14 weeks +- **Total Costs:** 90,000 DAI ### Milestone 1 - update & implementation plan Given that the above linked research document was produced almost a [year ago](https://github.com/w3f/research/commit/f1a698b34bda8a93433a0f8d9ab1b303c340cb31#diff-13146c2f4b910ccf22483fd1292efdaa079f5b07a966f76716e5bda35a6b3715) (at the time of writing the RFP) and the fast pace of polkadot development, especially parachain development, the first step should be related to understanding and updating, if necessary, that document. Tasks: + - understand what is the current implemention status for parachain networking in Polkadot - understand in depth what the new topology design tries to achieve - produce a write-up detailing the differences between current and proposed design - develop a roadmap for implementation, clearly identifying which parts of the codebase would be affected -* **Estimated Duration:** 3 weeks -* **Costs:** 15,000 DAI +- **Estimated Duration:** 3 weeks +- **Costs:** 15,000 DAI ### Milestone 2 - Topology discovery by validators @@ -40,21 +45,23 @@ This milestone is tasked with figuring out the topology for each validator. Note: The implementer might find that splitting Milestones 2 & 3 is counterproductive, and a more efficient approach is to actually combine these. Tasks: + - perform the calculation of correct network topology for each validator - add a method that returns the above result. This can either be an RPC method, thus allowing it to be verified externally, or an internal method, where the validators report (could be as simple as console logs) their assignment - run tests to verify the correctness of the calculation and unanimous consensus -* **Estimated Duration:** 6 weeks -* **Costs:** 30,000 DAI +- **Estimated Duration:** 6 weeks +- **Costs:** 30,000 DAI ### Milestone 3 - Networking and benchmarking This should be a "simple" milestone in that it replaces the previous mechanism for candidate block distribution (broadcast medium B) with direct links(D), as proposed in the [Overview](https://research.web3.foundation/en/latest/polkadot/networking/3-avail-valid.html#overview). -* **Estimated Duration:** 8 weeks -* **Costs:** 45,000 DAI +- **Estimated Duration:** 8 weeks +- **Costs:** 45,000 DAI Tasks: + - apply the topology calculated - distribute block data along the direct route - perform an extensive testing & benchmarking exercise on a network with at least 20 validators. The parachain block production can be mocked. diff --git a/docs/RFPs/Under Development/alternative-polkadot-js-api-console.md b/docs/RFPs/alternative-polkadot-js-api-console.md similarity index 90% rename from docs/RFPs/Under Development/alternative-polkadot-js-api-console.md rename to docs/RFPs/alternative-polkadot-js-api-console.md index fb2017b4f2c..cb0db15523d 100644 --- a/docs/RFPs/Under Development/alternative-polkadot-js-api-console.md +++ b/docs/RFPs/alternative-polkadot-js-api-console.md @@ -1,5 +1,9 @@ # Alternative javascript console for Polkadot JS API +:::caution +This Request for Proposals is currently considered **under development**, meaning one or more grants have been signed to address the topic. We might be interested in additional implementations, but it’s better to double check this with the grants team. +::: + * **Status:** [Under Development](https://w3f.github.io/Grants-Program/applications/sandox) * **Proposer:** [muddlebee](https://github.com/muddlebee) * **Projects you think this work could be useful for** [optional]: Javascript console at https://polkadot.js.org/apps/#/js diff --git a/docs/RFPs/Under Development/alternative_polkadot_host_implementations.md b/docs/RFPs/alternative_polkadot_host_implementations.md similarity index 77% rename from docs/RFPs/Under Development/alternative_polkadot_host_implementations.md rename to docs/RFPs/alternative_polkadot_host_implementations.md index 8f182c3fb29..44d2fbe2d64 100644 --- a/docs/RFPs/Under Development/alternative_polkadot_host_implementations.md +++ b/docs/RFPs/alternative_polkadot_host_implementations.md @@ -1,9 +1,13 @@ # Alternative Polkadot Host Implementation -* **Status:** [Under Development 1](https://github.com/LimeChain/java-host-research), [Under Development 2](https://github.com/w3f/Grants-Program/blob/master/applications/hybrid_node_research.md) -* **Proposer:** [Noc2](https://github.com/Noc2) +:::caution +This Request for Proposals is currently considered **under development**, meaning one or more grants have been signed to address the topic. We might be interested in additional implementations, but it’s better to double check this with the grants team. +::: -## Project Description :page_facing_up: +- **Status:** [Under Development 1](https://github.com/LimeChain/java-host-research), [Under Development 2](https://github.com/w3f/Grants-Program/blob/master/applications/hybrid_node_research.md) +- **Proposer:** [Noc2](https://github.com/Noc2) + +## Project Description :page_facing_up: The architecture of Polkadot can be divided into two different parts, the Polkadot runtime and the Polkadot host. The Polkadot runtime is the core state transition logic of the chain and can be upgraded over the course of time and without the need for a hard fork. In comparison, the Polkadot host is the environment in which the runtime executes and is expected to remain stable and mostly static over the lifetime of Polkadot. @@ -11,9 +15,9 @@ The Polkadot host interacts with the Polkadot runtime in limited, and well-speci **The Web3 Foundation is interested in supporting additional implementations of the Polkadot Host. If you are interested in this RFP, please reach out to spec@web3.foundation.** -Currently the following implementations are under development: +Currently the following implementations are under development: -- [Gossamer: A Go implementation of the Polkadot Host](https://github.com/ChainSafe/gossamer) +- [Gossamer: A Go implementation of the Polkadot Host](https://github.com/ChainSafe/gossamer) - [Kagome - C++ implementation of Polkadot Host](https://github.com/soramitsu/kagome) - [Polkadot Node Implementation in Rust](https://github.com/paritytech/polkadot) - [Smoldot - A Lightweight Substrate and Polkadot client in Rust](https://github.com/paritytech/smoldot) @@ -27,4 +31,4 @@ For Polkadot Host Implementations, it’s probably too complex to structure the - Consensus engine for GRANDPA and BABE. - Wasm interpreter and virtual machine. - Low level primitives for a blockchain, such as cryptographic primitives like hash functions. -- Availability & Validity components to support parachains. \ No newline at end of file +- Availability & Validity components to support parachains. diff --git a/docs/RFPs/Under Development/analysis-website-and-data-platform.md b/docs/RFPs/analysis-website-and-data-platform.md similarity index 91% rename from docs/RFPs/Under Development/analysis-website-and-data-platform.md rename to docs/RFPs/analysis-website-and-data-platform.md index 6d043841d71..272f4dfc53c 100644 --- a/docs/RFPs/Under Development/analysis-website-and-data-platform.md +++ b/docs/RFPs/analysis-website-and-data-platform.md @@ -1,5 +1,9 @@ # Analytics Website/Data Platform +:::caution +This Request for Proposals is currently considered **under development**, meaning one or more grants have been signed to address the topic. We might be interested in additional implementations, but it’s better to double check this with the grants team. +::: + * **Status:** [Under Development 1](https://github.com/w3f/Grants-Program/pull/1716), [Under Development 2](https://github.com/w3f/Grants-Program/pull/1768), [Under Development 3](https://github.com/w3f/Grants-Program/blob/master/applications/fidi-dotsight-analytics.md) * **Proposer:** [Keegan Quigley](https://github.com/keeganquigley) * **Teams/People that could deliver the RFP**: @web3go-xyz diff --git a/docs/RFPs/Open/anti-collusion_infrastructure.md b/docs/RFPs/anti-collusion_infrastructure.md similarity index 100% rename from docs/RFPs/Open/anti-collusion_infrastructure.md rename to docs/RFPs/anti-collusion_infrastructure.md diff --git a/docs/RFPs/Closed/appi.md b/docs/RFPs/appi.md similarity index 98% rename from docs/RFPs/Closed/appi.md rename to docs/RFPs/appi.md index ac3053d7bf2..e6fdad4d8eb 100644 --- a/docs/RFPs/Closed/appi.md +++ b/docs/RFPs/appi.md @@ -1,5 +1,9 @@ # APPI: Auto-funded public P2P infrastructure +:::danger +This Request for Proposals is _closed_, meaning we are not looking for any more proposals on this topic at the moment. +::: + * **Status:** [Implemented](https://github.com/nodefactoryio/vedran) * **Proposer:** [swader](https://github.com/swader) * **Projects you think this work could be useful for**: https://kusama.network, https://polkadot.network diff --git a/docs/RFPs/Closed/bpf-contracts.md b/docs/RFPs/bpf-contracts.md similarity index 96% rename from docs/RFPs/Closed/bpf-contracts.md rename to docs/RFPs/bpf-contracts.md index d85483256ba..c21f2db056c 100644 --- a/docs/RFPs/Closed/bpf-contracts.md +++ b/docs/RFPs/bpf-contracts.md @@ -1,5 +1,9 @@ # BPF-based ink! smart contracts +:::danger +This Request for Proposals is _closed_, meaning we are not looking for any more proposals on this topic at the moment. +::: + * **Status:** [Closed](https://forum.polkadot.network/t/ebpf-contracts-hackathon/1084/13?u=david) * **Proposer:** [takahser](https://github.com/takahser) diff --git a/docs/RFPs/Closed/candle-auction.md b/docs/RFPs/candle-auction.md similarity index 95% rename from docs/RFPs/Closed/candle-auction.md rename to docs/RFPs/candle-auction.md index 538aca19bea..4e2ca6c5902 100644 --- a/docs/RFPs/Closed/candle-auction.md +++ b/docs/RFPs/candle-auction.md @@ -1,5 +1,9 @@ # Candle auction smart contract +:::danger +This Request for Proposals is _closed_, meaning we are not looking for any more proposals on this topic at the moment. +::: + * **Status:** [Implemented](https://github.com/agryaznov/candle-auction-ink/tree/master) * **Proposer:** [mmagician](https://github.com/mmagician) diff --git a/docs/RFPs/Closed/crowdloan_front_end_template.md b/docs/RFPs/crowdloan_front_end_template.md similarity index 83% rename from docs/RFPs/Closed/crowdloan_front_end_template.md rename to docs/RFPs/crowdloan_front_end_template.md index 21edca3a6e2..f791a88a313 100644 --- a/docs/RFPs/Closed/crowdloan_front_end_template.md +++ b/docs/RFPs/crowdloan_front_end_template.md @@ -1,5 +1,9 @@ # Crowdloan Front End Template +:::danger +This Request for Proposals is _closed_, meaning we are not looking for any more proposals on this topic at the moment. +::: + * **Status:** [Implemented](https://github.com/w3f/Grant-Milestone-Delivery/pull/765), [Under Development 2](https://github.com/w3f/Grants-Program/blob/master/applications/Crowdloans-FET.md) * **Proposer:** [SBalaguer](https://github.com/SBalaguer), [Noc2](https://github.com/Noc2) @@ -8,12 +12,16 @@ The following document intends to outline what a front-end white-label template could look like for teams to use to easily build their Polkadot Crowdloan ([see Wiki: Parachain Crowdloans](https://wiki.polkadot.network/docs/learn-crowdloans)) websites. Teams applying for this RFP can change and adapt this. The overall objective of this project is to provide a white-label solution to teams to be able to plug into and offer all the information users need to contribute to their Crowdloan. In essence, it's a collection of: -1. [Project information](#project-information) -2. [Rewards Schema](#rewards-schema) -3. [Current contributions](#current-contributions) -4. [Time left in Crowdloan and competition](#time-left-in-crowdloan-and-competition) -5. [Contribute CTA](#contribute-cta) -6. [After the Crowdloan](#after-the-crowdloan) +- [Crowdloan Front End Template](#crowdloan-front-end-template) + - [Project Description :page\_facing\_up:](#project-description-page_facing_up) + - [Project Information](#project-information) + - [Rewards Schema](#rewards-schema) + - [Current Contributions](#current-contributions) + - [Time left in Crowdloan and competition](#time-left-in-crowdloan-and-competition) + - [Contribute CTA](#contribute-cta) + - [After the Crowdloan](#after-the-crowdloan) + - [Available Tools](#available-tools) + - [Past examples](#past-examples) All of the above should be done _style agnostic_ so that the project can plug their own look and feel into the site. diff --git a/docs/RFPs/Under Development/data_analysis_tools.md b/docs/RFPs/data_analysis_tools.md similarity index 93% rename from docs/RFPs/Under Development/data_analysis_tools.md rename to docs/RFPs/data_analysis_tools.md index 656dd6b0ba4..d0cb5b2b7aa 100644 --- a/docs/RFPs/Under Development/data_analysis_tools.md +++ b/docs/RFPs/data_analysis_tools.md @@ -1,5 +1,9 @@ # Data Analysis Tools for Substrate-based Blockchains +:::caution +This Request for Proposals is currently considered **under development**, meaning one or more grants have been signed to address the topic. We might be interested in additional implementations, but it’s better to double check this with the grants team. +::: + - **Status:** [Under Development 1](https://github.com/w3f/Grants-Program/pull/1716), [Under Development 2](https://github.com/w3f/Grants-Program/pull/1768), [Under Development 3](https://github.com/w3f/Grants-Program/pull/1883) - **Proposer:** [dsm-w3f](https://github.com/dsm-w3f), [michalisFr](https://github.com/michalisFr) diff --git a/docs/RFPs/Under Development/decentralized-security-marketplace.md b/docs/RFPs/decentralized-security-marketplace.md similarity index 92% rename from docs/RFPs/Under Development/decentralized-security-marketplace.md rename to docs/RFPs/decentralized-security-marketplace.md index 53f23905e48..895eee20719 100644 --- a/docs/RFPs/Under Development/decentralized-security-marketplace.md +++ b/docs/RFPs/decentralized-security-marketplace.md @@ -1,5 +1,9 @@ # Decentralized Security Marketplace +:::caution +This Request for Proposals is currently considered **under development**, meaning one or more grants have been signed to address the topic. We might be interested in additional implementations, but it’s better to double check this with the grants team. +::: + * **Status:** [Under Development](https://github.com/w3f/Grants-Program/pull/1726) * **Proposer:** [Matteo Casonato](https://github.com/0xCaso), [Bhargav Batt](https://github.com/bhargavbh) diff --git a/docs/RFPs/Closed/epassport-zk-validation.md b/docs/RFPs/epassport-zk-validation.md similarity index 95% rename from docs/RFPs/Closed/epassport-zk-validation.md rename to docs/RFPs/epassport-zk-validation.md index 6f3d2706fc1..60609bf07d7 100644 --- a/docs/RFPs/Closed/epassport-zk-validation.md +++ b/docs/RFPs/epassport-zk-validation.md @@ -1,5 +1,8 @@ # e-Passport ZK Validation [ON HOLD PENDING REVISIONS] +:::danger +This Request for Proposals is _closed_, meaning we are not looking for any more proposals on this topic at the moment. +::: * **Status:** On Hold * **Proposer:** [burges](https://github.com/burges), [FlorianFranzen](https://github.com/FlorianFranzen) diff --git a/docs/RFPs/Open/formal_guarantees_for_grandpa.md b/docs/RFPs/formal_guarantees_for_grandpa.md similarity index 100% rename from docs/RFPs/Open/formal_guarantees_for_grandpa.md rename to docs/RFPs/formal_guarantees_for_grandpa.md diff --git a/docs/RFPs/Under Development/grant_management_webapp.md b/docs/RFPs/grant_management_webapp.md similarity index 94% rename from docs/RFPs/Under Development/grant_management_webapp.md rename to docs/RFPs/grant_management_webapp.md index 7e4c23aaa21..37eb528dacf 100644 --- a/docs/RFPs/Under Development/grant_management_webapp.md +++ b/docs/RFPs/grant_management_webapp.md @@ -1,5 +1,9 @@ # Grant Management Web Application +:::caution +This Request for Proposals is currently considered **under development**, meaning one or more grants have been signed to address the topic. We might be interested in additional implementations, but it’s better to double check this with the grants team. +::: + * **Status:** Under Development [here](https://github.com/w3f/Grants-Program/pull/1766) as well as [here](https://github.com/w3f/Grants-Program/pull/1765) * **Proposer:** [randombishop](https://github.com/randombishop) diff --git a/docs/RFPs/Under Development/identity-directory.md b/docs/RFPs/identity-directory.md similarity index 97% rename from docs/RFPs/Under Development/identity-directory.md rename to docs/RFPs/identity-directory.md index be652056b5b..0e469da1a23 100644 --- a/docs/RFPs/Under Development/identity-directory.md +++ b/docs/RFPs/identity-directory.md @@ -1,5 +1,9 @@ # RFP: Substrate Identity Directory +:::caution +This Request for Proposals is currently considered **under development**, meaning one or more grants have been signed to address the topic. We might be interested in additional implementations, but it’s better to double check this with the grants team. +::: + * **Status:** [Under Development 1](https://github.com/w3f/Grants-Program/blob/master/applications/SubIdentity.md), [Under Development 2](https://github.com/w3f/Grants-Program/blob/master/applications/Dotflow.md) * **Proposer:** swader * **Projects you think this work could be useful for**: Kusama, Polkadot, Substrate chains diff --git a/docs/RFPs/Under Development/implementation-benchmarking.md b/docs/RFPs/implementation-benchmarking.md similarity index 95% rename from docs/RFPs/Under Development/implementation-benchmarking.md rename to docs/RFPs/implementation-benchmarking.md index 48acc6fb1a0..1b0cc12afe3 100644 --- a/docs/RFPs/Under Development/implementation-benchmarking.md +++ b/docs/RFPs/implementation-benchmarking.md @@ -1,5 +1,9 @@ # ink!/pallet/solidity performance benchmarking +:::caution +This Request for Proposals is currently considered **under development**, meaning one or more grants have been signed to address the topic. We might be interested in additional implementations, but it’s better to double check this with the grants team. +::: + - **Status:** [Under Development](https://github.com/w3f/Grants-Program/blob/master/applications/ink-pallet-benchmarking.md) - **Proposer:** [mmagician](https://github.com/mmagician) diff --git a/docs/RFPs/Under Development/ink_smart_contract_block_explorer.md b/docs/RFPs/ink_smart_contract_block_explorer.md similarity index 72% rename from docs/RFPs/Under Development/ink_smart_contract_block_explorer.md rename to docs/RFPs/ink_smart_contract_block_explorer.md index fae0d22e091..2ecb2227bc6 100644 --- a/docs/RFPs/Under Development/ink_smart_contract_block_explorer.md +++ b/docs/RFPs/ink_smart_contract_block_explorer.md @@ -1,5 +1,9 @@ # RFP: ink! block explorer +:::caution +This Request for Proposals is currently considered **under development**, meaning one or more grants have been signed to address the topic. We might be interested in additional implementations, but it’s better to double check this with the grants team. +::: + * **Status:** [Implemented 1](https://github.com/w3f/Grants-Program/blob/master/applications/epirus_substrate_explorer.md), [Implemented 2](https://github.com/w3f/Grants-Program/blob/master/applications/ink-explorer.md) * **Proposer:** [Noc2](https://github.com/Noc2) diff --git a/docs/RFPs/Closed/ksm-tipping-button.md b/docs/RFPs/ksm-tipping-button.md similarity index 97% rename from docs/RFPs/Closed/ksm-tipping-button.md rename to docs/RFPs/ksm-tipping-button.md index 64d3301998e..5debd7c4631 100644 --- a/docs/RFPs/Closed/ksm-tipping-button.md +++ b/docs/RFPs/ksm-tipping-button.md @@ -1,5 +1,9 @@ # Tip or Donate KSM Embeddable Button +:::danger +This Request for Proposals is _closed_, meaning we are not looking for any more proposals on this topic at the moment. +::: + * **Status:** [Implemented](https://github.com/Shard-Labs/kusama-tips-widget) * **Proposer:** swader diff --git a/docs/RFPs/Under Development/move_smart_contract_pallet.md b/docs/RFPs/move_smart_contract_pallet.md similarity index 84% rename from docs/RFPs/Under Development/move_smart_contract_pallet.md rename to docs/RFPs/move_smart_contract_pallet.md index 9cc79f499e5..6f3082806e9 100644 --- a/docs/RFPs/Under Development/move_smart_contract_pallet.md +++ b/docs/RFPs/move_smart_contract_pallet.md @@ -1,4 +1,9 @@ # Move Smart Contract Pallet + +:::caution +This Request for Proposals is currently considered **under development**, meaning one or more grants have been signed to address the topic. We might be interested in additional implementations, but it’s better to double check this with the grants team. +::: + * **Status:** [Under Development](https://github.com/w3f/Grants-Program/blob/master/applications/Substrate_Move_System_Pallet_1.md) * **Proposer:** [David Hawig](https://github.com/Noc2) diff --git a/docs/RFPs/Closed/multi-chain-block-explorer.md b/docs/RFPs/multi-chain-block-explorer.md similarity index 86% rename from docs/RFPs/Closed/multi-chain-block-explorer.md rename to docs/RFPs/multi-chain-block-explorer.md index 2d413cb3104..54f4f891832 100644 --- a/docs/RFPs/Closed/multi-chain-block-explorer.md +++ b/docs/RFPs/multi-chain-block-explorer.md @@ -1,5 +1,9 @@ # Multi-chain Block Explorer +:::danger +This Request for Proposals is _closed_, meaning we are not looking for any more proposals on this topic at the moment. +::: + * **Status:** [Implemented 1](https://github.com/colorfulnotion/polkaholic), [Implemented 2](https://polkadot.subscan.io/) * **Teams/People that could deliver the RFP:** @clearloop, @carlhong diff --git a/docs/RFPs/Closed/on-chain-quadratic-funding.md b/docs/RFPs/on-chain-quadratic-funding.md similarity index 97% rename from docs/RFPs/Closed/on-chain-quadratic-funding.md rename to docs/RFPs/on-chain-quadratic-funding.md index 6c5304e6518..f6d3746cd15 100644 --- a/docs/RFPs/Closed/on-chain-quadratic-funding.md +++ b/docs/RFPs/on-chain-quadratic-funding.md @@ -1,5 +1,9 @@ # On-chain Quadratic Funding +:::danger +This Request for Proposals is _closed_, meaning we are not looking for any more proposals on this topic at the moment. +::: + * **Status:** [Implementation by Dora](https://github.com/zhangjiannan/QFgrant), [Implementation by OAK](https://github.com/OAK-Foundation/quadratic-funding-pallet/tree/master) * **Proposer:** [Noc2](https://github.com/Noc2) diff --git a/docs/RFPs/Open/parachain_validation_conformance_testing.md b/docs/RFPs/parachain_validation_conformance_testing.md similarity index 100% rename from docs/RFPs/Open/parachain_validation_conformance_testing.md rename to docs/RFPs/parachain_validation_conformance_testing.md diff --git a/docs/RFPs/Closed/php-api.md b/docs/RFPs/php-api.md similarity index 92% rename from docs/RFPs/Closed/php-api.md rename to docs/RFPs/php-api.md index e183b8102bd..dfd6d4392a8 100644 --- a/docs/RFPs/Closed/php-api.md +++ b/docs/RFPs/php-api.md @@ -1,5 +1,9 @@ # PHP Substrate API +:::danger +This Request for Proposals is _closed_, meaning we are not looking for any more proposals on this topic at the moment. +::: + * **Proposer:** [swader](https://github.com/api) * **Status:** [Implemented](https://github.com/gmajor-encrypt/php-substrate-api) diff --git a/docs/RFPs/Closed/php-scale.md b/docs/RFPs/php-scale.md similarity index 89% rename from docs/RFPs/Closed/php-scale.md rename to docs/RFPs/php-scale.md index 08b2239a1b2..0fa1df40061 100644 --- a/docs/RFPs/Closed/php-scale.md +++ b/docs/RFPs/php-scale.md @@ -1,5 +1,9 @@ # PHP Version of SCALE Codec +:::danger +This Request for Proposals is _closed_, meaning we are not looking for any more proposals on this topic at the moment. +::: + * **Proposer:** [swader](https://github.com/swader) * **Status:** [Done](https://github.com/w3f/Grants-Program/pull/235) diff --git a/docs/RFPs/Closed/polkadot-collator-setup.md b/docs/RFPs/polkadot-collator-setup.md similarity index 94% rename from docs/RFPs/Closed/polkadot-collator-setup.md rename to docs/RFPs/polkadot-collator-setup.md index f4e116d27c8..14e1aa2ace4 100644 --- a/docs/RFPs/Closed/polkadot-collator-setup.md +++ b/docs/RFPs/polkadot-collator-setup.md @@ -1,5 +1,9 @@ # Polkadot Collator Setup +:::danger +This Request for Proposals is _closed_, meaning we are not looking for any more proposals on this topic at the moment. +::: + - **Status:** [Implemented](https://github.com/w3f/Grants-Program/blob/master/applications/unified_collator_node_deployment.md) - **Proposer:** mmagician - **Your Project(s):** https://mmagician.github.io/ diff --git a/docs/RFPs/Under Development/polkadot-protocol_conformance_tests.md b/docs/RFPs/polkadot-protocol_conformance_tests.md similarity index 92% rename from docs/RFPs/Under Development/polkadot-protocol_conformance_tests.md rename to docs/RFPs/polkadot-protocol_conformance_tests.md index a262adbda0e..eb713b4addc 100644 --- a/docs/RFPs/Under Development/polkadot-protocol_conformance_tests.md +++ b/docs/RFPs/polkadot-protocol_conformance_tests.md @@ -1,5 +1,9 @@ # Polkadot Protocol Conformance Tests +:::caution +This Request for Proposals is currently considered **under development**, meaning one or more grants have been signed to address the topic. We might be interested in additional implementations, but it’s better to double check this with the grants team. +::: + * **Status:** [Under Development (Zondax)](https://github.com/w3f/Grants-Program/pull/1956), [Under Development (LimeChain)](https://github.com/w3f/Grants-Program/pull/1950) * **Proposer:** [Bhargav Bhatt](https://github.com/bhargavbh), [David Hawig](https://github.com/Noc2) * **Objectives:** Create and maintain a comprehensive test-suite for conformance of core functionalities of Polkadot Host. diff --git a/docs/RFPs/Closed/privacy-enhancement-polkadot-extension.md b/docs/RFPs/privacy-enhancement-polkadot-extension.md similarity index 95% rename from docs/RFPs/Closed/privacy-enhancement-polkadot-extension.md rename to docs/RFPs/privacy-enhancement-polkadot-extension.md index e5b991e38f0..5327f87c07d 100644 --- a/docs/RFPs/Closed/privacy-enhancement-polkadot-extension.md +++ b/docs/RFPs/privacy-enhancement-polkadot-extension.md @@ -1,5 +1,9 @@ # Privacy Enhancement for Polkadot Extension +:::danger +This Request for Proposals is _closed_, meaning we are not looking for any more proposals on this topic at the moment. +::: + * **Status:** [Implemented](https://github.com/w3f/Grants-Program/blob/master/applications/polkadot-js-extension-per-account-auth.md). GH [issue](https://github.com/polkadot-js/extension/issues/1037) has been closed. * **Proposer:** jonasW3F * **Projects you think this work could be useful for** [optional]: https://github.com/polkadot-js/extension diff --git a/docs/RFPs/Under Development/raft-validators.md b/docs/RFPs/raft-validators.md similarity index 96% rename from docs/RFPs/Under Development/raft-validators.md rename to docs/RFPs/raft-validators.md index f417142002e..f50119af224 100644 --- a/docs/RFPs/Under Development/raft-validators.md +++ b/docs/RFPs/raft-validators.md @@ -1,5 +1,9 @@ # High-availability validator setup +:::caution +This Request for Proposals is currently considered **under development**, meaning one or more grants have been signed to address the topic. We might be interested in additional implementations, but it’s better to double check this with the grants team. +::: + * **Status:** [Implemented](https://github.com/w3f/Grants-Program/blob/master/applications/High_availability_validator_setup.md) * **Proposer:** mmagician * **Projects you think this work could be useful for:** Polkadot & Kusama Validators diff --git a/docs/RFPs/Closed/scale-codec-comparator.md b/docs/RFPs/scale-codec-comparator.md similarity index 94% rename from docs/RFPs/Closed/scale-codec-comparator.md rename to docs/RFPs/scale-codec-comparator.md index 79d713fe8fd..96e68f181b0 100644 --- a/docs/RFPs/Closed/scale-codec-comparator.md +++ b/docs/RFPs/scale-codec-comparator.md @@ -1,5 +1,9 @@ # SCALE Codec Comparator +:::danger +This Request for Proposals is _closed_, meaning we are not looking for any more proposals on this topic at the moment. +::: + * **Status:** [Implemented for ten encoding types](https://github.com/w3f/Grants-Program/blob/master/applications/scale-codec-comparator.md) * **Proposer:** [Marcin Górny](https://github.com/mmagician/) diff --git a/docs/RFPs/Closed/social-recovery-wallet.md b/docs/RFPs/social-recovery-wallet.md similarity index 95% rename from docs/RFPs/Closed/social-recovery-wallet.md rename to docs/RFPs/social-recovery-wallet.md index 22cddad44cd..a4ec6d56efb 100644 --- a/docs/RFPs/Closed/social-recovery-wallet.md +++ b/docs/RFPs/social-recovery-wallet.md @@ -1,5 +1,9 @@ # Social Recovery Wallet +:::danger +This Request for Proposals is _closed_, meaning we are not looking for any more proposals on this topic at the moment. +::: + * **Status:** [Implemented 1](https://github.com/w3f/Grants-Program/blob/master/applications/Plus-social-recovery-wallet.md), [Implemented 2](https://github.com/hypha-dao/hashed-wallet), [Under Development 1](https://github.com/w3f/Grants-Program/blob/master/applications/dauth_network.md) * **Proposer:** [Noc2](https://github.com/Noc2) diff --git a/docs/RFPs/Closed/staking-rewards-collector-front-end.md b/docs/RFPs/staking-rewards-collector-front-end.md similarity index 96% rename from docs/RFPs/Closed/staking-rewards-collector-front-end.md rename to docs/RFPs/staking-rewards-collector-front-end.md index 9a382272ad5..c717e0498dc 100644 --- a/docs/RFPs/Closed/staking-rewards-collector-front-end.md +++ b/docs/RFPs/staking-rewards-collector-front-end.md @@ -1,5 +1,9 @@ # Front-End for Staking Rewards Collector +:::danger +This Request for Proposals is _closed_, meaning we are not looking for any more proposals on this topic at the moment. +::: + * **Status:** Implemented: [Repo 1, finished](https://github.com/w3f/Open-Grants-Program/blob/master/applications/cryptolab-staking-reward-collector-front-end.md), [Repo 2, in progress](https://github.com/w3f/Open-Grants-Program/blob/master/applications/staking-rewards-collector-front-end.md) * **Proposer:** JonasW3F * **Your Project(s):** - diff --git a/docs/RFPs/Open/sub-consensus.md b/docs/RFPs/sub-consensus.md similarity index 100% rename from docs/RFPs/Open/sub-consensus.md rename to docs/RFPs/sub-consensus.md diff --git a/docs/RFPs/Closed/uncollateralized-stablecoin-research.md b/docs/RFPs/uncollateralized-stablecoin-research.md similarity index 96% rename from docs/RFPs/Closed/uncollateralized-stablecoin-research.md rename to docs/RFPs/uncollateralized-stablecoin-research.md index 4dde1ba3dcb..33bf291b45f 100644 --- a/docs/RFPs/Closed/uncollateralized-stablecoin-research.md +++ b/docs/RFPs/uncollateralized-stablecoin-research.md @@ -1,5 +1,9 @@ # Uncollateralized Stablecoin Research +:::danger +This Request for Proposals is _closed_, meaning we are not looking for any more proposals on this topic at the moment. +::: + * **Status:** [Implemented](https://github.com/w3f/Grants-Program/blob/master/applications/stardust.md) * **Proposer:** [Noc2](https://github.com/Noc2) * **Projects you think this work could be useful for** [optional]: Any Defi Project diff --git a/docs/RFPs/Open/uptane-for-substrate-design-and-scope.md b/docs/RFPs/uptane-for-substrate-design-and-scope.md similarity index 100% rename from docs/RFPs/Open/uptane-for-substrate-design-and-scope.md rename to docs/RFPs/uptane-for-substrate-design-and-scope.md diff --git a/docs/RFPs/Open/user-account-access-analysis.md b/docs/RFPs/user-account-access-analysis.md similarity index 100% rename from docs/RFPs/Open/user-account-access-analysis.md rename to docs/RFPs/user-account-access-analysis.md diff --git a/docs/RFPs/Closed/validator-selection-algorithm.md b/docs/RFPs/validator-selection-algorithm.md similarity index 95% rename from docs/RFPs/Closed/validator-selection-algorithm.md rename to docs/RFPs/validator-selection-algorithm.md index 3402a8bc06a..3a2a3f0edd8 100644 --- a/docs/RFPs/Closed/validator-selection-algorithm.md +++ b/docs/RFPs/validator-selection-algorithm.md @@ -1,5 +1,9 @@ # RFP: Validator Selection Algorithm +:::danger +This Request for Proposals is _closed_, meaning we are not looking for any more proposals on this topic at the moment. +::: + * **Status:** [Closed](https://github.com/w3f/Grants-Program/blob/master/applications/validators_selection.md) * **Proposer:** [jonasW3F](https://github.com/jonasW3F) diff --git a/docs/RFPs/Closed/validator-setup-maintenance.md b/docs/RFPs/validator-setup-maintenance.md similarity index 91% rename from docs/RFPs/Closed/validator-setup-maintenance.md rename to docs/RFPs/validator-setup-maintenance.md index 7dabd5bfd1f..e46bd88e424 100644 --- a/docs/RFPs/Closed/validator-setup-maintenance.md +++ b/docs/RFPs/validator-setup-maintenance.md @@ -1,5 +1,9 @@ # polkadot-validator-setup maintenance +:::danger +This Request for Proposals is _closed_, meaning we are not looking for any more proposals on this topic at the moment. +::: + * **Status:** [Closed](https://github.com/polkachu/polkadot-validator) * **Teams/People that could deliver the RFP:** @melozo, @pmensik, @tylerztl, @bLd75 diff --git a/docs/RFPs/Closed/wallet-aggregator-library.md b/docs/RFPs/wallet-aggregator-library.md similarity index 89% rename from docs/RFPs/Closed/wallet-aggregator-library.md rename to docs/RFPs/wallet-aggregator-library.md index 15d0437bf09..d441ac92283 100644 --- a/docs/RFPs/Closed/wallet-aggregator-library.md +++ b/docs/RFPs/wallet-aggregator-library.md @@ -1,5 +1,9 @@ # Wallet Aggregator Library +:::danger +This Request for Proposals is _closed_, meaning we are not looking for any more proposals on this topic at the moment. +::: + * **Status:** [Implemented: SubConnect](https://github.com/Koniverse/SubConnect), [Implemented: talisman-connect](https://github.com/TalismanSociety/talisman-connect) * **Proposer:** [Matteo Casonato](https://github.com/0xCaso) @@ -20,4 +24,4 @@ The following items could be the initial deliverables of the project. Of course, - UI components (connect button, account and chain selector, etc.); - UI/UX (for both users/devs) **improvement**: - addition of a tool that scaffolds a new project with the wallet connection library (firable, for example, with `npm init @user/wallet-aggregator@latest`); - - selective account disclosure implementation (view [this](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/Under%20Development/privacy-enhancement-polkadot-extension.md) RFP). + - selective account disclosure implementation (view [this](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/privacy-enhancement-polkadot-extension.md) RFP). diff --git a/docs/RFPs/Open/xcm-tool.md b/docs/RFPs/xcm-tool.md similarity index 100% rename from docs/RFPs/Open/xcm-tool.md rename to docs/RFPs/xcm-tool.md diff --git a/docs/rfps.md b/docs/rfps.md index 5348ab55b13..ba5ccb2efd3 100644 --- a/docs/rfps.md +++ b/docs/rfps.md @@ -23,15 +23,15 @@ If you find an open RFP here that you think you can address, feel free to [submi | RFP | Last Updated | | :-- | :----------: | -| [anti-collusion_infrastructure.md](RFPs/Open/anti-collusion_infrastructure.md) | 21.09.2023 | -| [formal_guarantees_for_grandpa.md](RFPs/Open/formal_guarantees_for_grandpa.md) | 07.10.2022 | -| [ISO_20022.md](RFPs/Open/ISO_20022.md) | 20.09.2023 | -| [parachain_validation_conformance_testing.md](RFPs/Open/parachain_validation_conformance_testing.md) | 18.01.2023 | -| [polkadot-protocol_conformance_tests.md](RFPs/Open/polkadot-protocol_conformance_tests.md) | 21.09.2023 | -| [sub-consensus.md](RFPs/Open/sub-consensus.md) | 23.02.2022 | -| [uptane-for-substrate-design-and-scope.md](RFPs/Open/uptane-for-substrate-design-and-scope.md) | 04.03.2023 | -| [user-account-access-analysis.md](RFPs/Open/user-account-access-analysis.md) | 07.01.2023 | -| [xcm-tool.md](RFPs/Open/xcm-tool.md) | 21.09.2023 | +| [anti-collusion_infrastructure.md](RFPs/anti-collusion_infrastructure.md) | 21.09.2023 | +| [formal_guarantees_for_grandpa.md](RFPs/formal_guarantees_for_grandpa.md) | 07.10.2022 | +| [ISO_20022.md](RFPs/ISO_20022.md) | 20.09.2023 | +| [parachain_validation_conformance_testing.md](RFPs/parachain_validation_conformance_testing.md) | 18.01.2023 | +| [polkadot-protocol_conformance_tests.md](RFPs/polkadot-protocol_conformance_tests.md) | 21.09.2023 | +| [sub-consensus.md](RFPs/sub-consensus.md) | 23.02.2022 | +| [uptane-for-substrate-design-and-scope.md](RFPs/uptane-for-substrate-design-and-scope.md) | 04.03.2023 | +| [user-account-access-analysis.md](RFPs/user-account-access-analysis.md) | 07.01.2023 | +| [xcm-tool.md](RFPs/xcm-tool.md) | 21.09.2023 |
@@ -39,23 +39,23 @@ If you find an open RFP here that you think you can address, feel free to [submi | RFP | Last Updated | | :-- | :----------: | -| [alternative_polkadot_host_implementations.md](RFPs/Under%20Development/alternative_polkadot_host_implementations.md) | 02.03.2023 | -| [alternative-polkadot-js-api-console.md](RFPs/Under%20Development/alternative-polkadot-js-api-console.md) | 19.05.2023 | -| [analysis-website-and-data-platform.md](RFPs/Under%20Development/analysis-website-and-data-platform.md) | 21.09.2023 | -| [data_analysis_tools.md](RFPs/Under%20Development/data_analysis_tools.md) | 21.09.2023 | -| [decentralized-security-marketplace.md](RFPs/Under%20Development/decentralized-security-marketplace.md) | 25.09.2023 | -| [grant_management_webapp.md](RFPs/Under%20Development/grant_management_webapp.md) | 25.09.2023 | -| [identity-directory.md](RFPs/Under%20Development/identity-directory.md) | 20.09.2023 | -| [IDE_for_ink_Smart_Contracts.md](RFPs/Under%20Development/IDE_for_ink_Smart_Contracts.md) | 20.09.2023 | -| [implementation-benchmarking.md](RFPs/Under%20Development/implementation-benchmarking.md) | 20.09.2023 | -| [ink!_smart_contract_block_explorer.md](RFPs/Under%20Development/ink_smart_contract_block_explorer.md) | 20.09.2023 | -| [ISO_8583.md](RFPs/Under%20Development/ISO_8583.md) | 20.09.2023 | -| [move_smart_contract_pallet.md](RFPs/Under%20Development/move_smart_contract_pallet.md) | 02.08.2023 | -| [multi-chain-block-explorer.md](RFPs/Under%20Development/multi-chain-block-explorer.md) | 23.11.2021 | -| [privacy-enhancement-polkadot-extension.md](RFPs/Under%20Development/privacy-enhancement-polkadot-extension.md) | 27.05.22 | -| [raft-validators.md](RFPs/Under%20Development/raft-validators.md) | 23.05.2023 | -| [scale-codec-comparator.md](RFPs/Under%20Development/scale-codec-comparator.md) | 30.05.2022 | -| [Static-Analysis-for-Runtime-Pallets.md](RFPs/Under%20Development/Static-Analysis-for-Runtime-Pallets.md) | 05.07.2023 | +| [alternative_polkadot_host_implementations.md](RFPs/alternative_polkadot_host_implementations.md) | 02.03.2023 | +| [alternative-polkadot-js-api-console.md](RFPs/alternative-polkadot-js-api-console.md) | 19.05.2023 | +| [analysis-website-and-data-platform.md](RFPs/analysis-website-and-data-platform.md) | 21.09.2023 | +| [data_analysis_tools.md](RFPs/data_analysis_tools.md) | 21.09.2023 | +| [decentralized-security-marketplace.md](RFPs/decentralized-security-marketplace.md) | 25.09.2023 | +| [grant_management_webapp.md](RFPs/grant_management_webapp.md) | 25.09.2023 | +| [identity-directory.md](RFPs/identity-directory.md) | 20.09.2023 | +| [IDE_for_ink_Smart_Contracts.md](RFPs/IDE_for_ink_Smart_Contracts.md) | 20.09.2023 | +| [implementation-benchmarking.md](RFPs/implementation-benchmarking.md) | 20.09.2023 | +| [ink!_smart_contract_block_explorer.md](RFPs/ink_smart_contract_block_explorer.md) | 20.09.2023 | +| [ISO_8583.md](RFPs/ISO_8583.md) | 20.09.2023 | +| [move_smart_contract_pallet.md](RFPs/move_smart_contract_pallet.md) | 02.08.2023 | +| [multi-chain-block-explorer.md](RFPs/multi-chain-block-explorer.md) | 23.11.2021 | +| [privacy-enhancement-polkadot-extension.md](RFPs/privacy-enhancement-polkadot-extension.md) | 27.05.22 | +| [raft-validators.md](RFPs/raft-validators.md) | 23.05.2023 | +| [scale-codec-comparator.md](RFPs/scale-codec-comparator.md) | 30.05.2022 | +| [Static-Analysis-for-Runtime-Pallets.md](RFPs/Static-Analysis-for-Runtime-Pallets.md) | 05.07.2023 |
@@ -64,23 +64,23 @@ If you find an open RFP here that you think you can address, feel free to [submi | RFP | Last Updated | | :-- | :----------: | -| [a-and-v-topology.md](RFPs/Closed/a-and-v-topology.md) | 04.09.2023 | -| [appi.md](RFPs/Closed/appi.md) | 20.07.2021 | -| [bpf-contracts.md](RFPs/Open/bpf-contracts.md) | 06.01.2023 | -| [candle-auction.md](RFPs/Closed/candle-auction.md) | 02.02.2022 | -| [crowdloan_front_end_template.md](RFPs/Closed/crowdloan_front_end_template.md) | 25.04.2023 | -| [epassport-zk-validation.md](RFPs/Closed/epassport-zk-validation.md) | 21.03.2023 | -| [ksm-tipping-button.md](RFPs/Closed/ksm-tipping-button.md) | 20.07.2021 | -| [on-chain-quadratic-funding.md](RFPs/Closed/on-chain-quadratic-funding.md) | 29.03.2022 | -| [php-api.md](RFPs/Closed/php-api.md) | 27.05.2022 | -| [php-scale.md](RFPs/Closed/php-scale.md) | 23.11.2022 | -| [polkadot-collator-setup.md](RFPs/Closed/polkadot-collator-setup.md) | 22.03.2023 | -| [social-recovery-wallet.md](RFPs/Closed/social-recovery-wallet.md) | 03.03.2023 | -| [staking-rewards-collector-front-end.md](RFPs/Closed/staking-rewards-collector-front-end.md) | 20.07.2021 | -| [uncollateralized-stablecoin-research.md](RFPs/Closed/uncollateralized-stablecoin-research.md) | 01.01.2023 | -| [validator-selection-algorithm.md](RFPs/Under%20Development/validator-selection-algorithm.md) | 25.09.2023 | -| [validator-setup-maintenance.md](RFPs/Closed/validator-setup-maintenance.md) | 24.08.2023 | -| [wallet-aggregator-library.md](RFPs/Closed/wallet-aggregator-library.md) | 09.03.2023 | +| [a-and-v-topology.md](RFPs/a-and-v-topology.md) | 04.09.2023 | +| [appi.md](RFPs/appi.md) | 20.07.2021 | +| [bpf-contracts.md](RFPs/bpf-contracts.md) | 06.01.2023 | +| [candle-auction.md](RFPs/candle-auction.md) | 02.02.2022 | +| [crowdloan_front_end_template.md](RFPs/crowdloan_front_end_template.md) | 25.04.2023 | +| [epassport-zk-validation.md](RFPs/epassport-zk-validation.md) | 21.03.2023 | +| [ksm-tipping-button.md](RFPs/ksm-tipping-button.md) | 20.07.2021 | +| [on-chain-quadratic-funding.md](RFPs/on-chain-quadratic-funding.md) | 29.03.2022 | +| [php-api.md](RFPs/php-api.md) | 27.05.2022 | +| [php-scale.md](RFPs/php-scale.md) | 23.11.2022 | +| [polkadot-collator-setup.md](RFPs/polkadot-collator-setup.md) | 22.03.2023 | +| [social-recovery-wallet.md](RFPs/social-recovery-wallet.md) | 03.03.2023 | +| [staking-rewards-collector-front-end.md](RFPs/staking-rewards-collector-front-end.md) | 20.07.2021 | +| [uncollateralized-stablecoin-research.md](RFPs/uncollateralized-stablecoin-research.md) | 01.01.2023 | +| [validator-selection-algorithm.md](RFPs/validator-selection-algorithm.md) | 25.09.2023 | +| [validator-setup-maintenance.md](RFPs/validator-setup-maintenance.md) | 24.08.2023 | +| [wallet-aggregator-library.md](RFPs/wallet-aggregator-library.md) | 09.03.2023 | From a7240479170d0bb431a58e7bcf2d20e1f6e58292 Mon Sep 17 00:00:00 2001 From: Keegan | W3F <35080151+keeganquigley@users.noreply.github.com> Date: Wed, 27 Sep 2023 11:37:56 -0400 Subject: [PATCH 077/133] Update rfp list.md (#2015) --- docs/rfps.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/rfps.md b/docs/rfps.md index ba5ccb2efd3..24b361d724a 100644 --- a/docs/rfps.md +++ b/docs/rfps.md @@ -51,11 +51,8 @@ If you find an open RFP here that you think you can address, feel free to [submi | [ink!_smart_contract_block_explorer.md](RFPs/ink_smart_contract_block_explorer.md) | 20.09.2023 | | [ISO_8583.md](RFPs/ISO_8583.md) | 20.09.2023 | | [move_smart_contract_pallet.md](RFPs/move_smart_contract_pallet.md) | 02.08.2023 | -| [multi-chain-block-explorer.md](RFPs/multi-chain-block-explorer.md) | 23.11.2021 | -| [privacy-enhancement-polkadot-extension.md](RFPs/privacy-enhancement-polkadot-extension.md) | 27.05.22 | | [raft-validators.md](RFPs/raft-validators.md) | 23.05.2023 | -| [scale-codec-comparator.md](RFPs/scale-codec-comparator.md) | 30.05.2022 | -| [Static-Analysis-for-Runtime-Pallets.md](RFPs/Static-Analysis-for-Runtime-Pallets.md) | 05.07.2023 | +| [Static-Analysis-for-Runtime-Pallets.md](RFPs/Static-Analysis-for-Runtime-Pallets.md) | 27.09.2023 | @@ -71,10 +68,13 @@ If you find an open RFP here that you think you can address, feel free to [submi | [crowdloan_front_end_template.md](RFPs/crowdloan_front_end_template.md) | 25.04.2023 | | [epassport-zk-validation.md](RFPs/epassport-zk-validation.md) | 21.03.2023 | | [ksm-tipping-button.md](RFPs/ksm-tipping-button.md) | 20.07.2021 | +| [multi-chain-block-explorer.md](RFPs/multi-chain-block-explorer.md) | 27.09.2023 | | [on-chain-quadratic-funding.md](RFPs/on-chain-quadratic-funding.md) | 29.03.2022 | | [php-api.md](RFPs/php-api.md) | 27.05.2022 | | [php-scale.md](RFPs/php-scale.md) | 23.11.2022 | | [polkadot-collator-setup.md](RFPs/polkadot-collator-setup.md) | 22.03.2023 | +| [privacy-enhancement-polkadot-extension.md](RFPs/privacy-enhancement-polkadot-extension.md) | 27.09.2023 | +| [scale-codec-comparator.md](RFPs/scale-codec-comparator.md) | 27.09.2023 | | [social-recovery-wallet.md](RFPs/social-recovery-wallet.md) | 03.03.2023 | | [staking-rewards-collector-front-end.md](RFPs/staking-rewards-collector-front-end.md) | 20.07.2021 | | [uncollateralized-stablecoin-research.md](RFPs/uncollateralized-stablecoin-research.md) | 01.01.2023 | From c95301a25e57c3745d35e70278b100ff5d03fd13 Mon Sep 17 00:00:00 2001 From: Leonardo Custodio Date: Wed, 27 Sep 2023 19:37:42 -0300 Subject: [PATCH 078/133] Polkadart amend (#2004) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Update polkadart * Update Polkadart.md * Update applications/Polkadart.md Co-authored-by: Sebastian Müller --------- Co-authored-by: Sebastian Müller --- applications/Polkadart.md | 106 +++++++++++++++++++++----------------- 1 file changed, 58 insertions(+), 48 deletions(-) diff --git a/applications/Polkadart.md b/applications/Polkadart.md index 3f4bc5c714d..061bb6e16e8 100644 --- a/applications/Polkadart.md +++ b/applications/Polkadart.md @@ -1,7 +1,7 @@ # Polkadart -- **Team Name:** JURIMETRIC TECNOLOGIA LTDA -- **Payment Address:** 0xF9310880F753a2327146dD19EC2207E6bA482A19 (USDC) +- **Team Name:** EXPERIO S M LTDA +- **Payment Address:** 0x67a341f26A9c6211773Bf315B6226105cd1b2F24 (USDC) - **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 3 ## Project Overview :page_facing_up: @@ -12,7 +12,7 @@ - Development of a library that allows users to connect to Polkadot/Substrate’s nodes on Flutter platform. -- Our team is developing a ranking-based voting system based on the Substrate's based blockchain and for that, we need to create the Dart-substrate library. Today, there are multiple mobile applications built on Flutter and, until now, there is no possibility to connect to Substrate's nodes. +- The library is already used in a few production environments to decode the storage and extrinsics from Substrate based chains. Today, there are multiple mobile applications built on Flutter and together with React Native it is one of the most popular frameworks to develop multi-platform mobile applications, but until now, there was no possibility to fully interact with Substrate's node. ### Project Details @@ -22,7 +22,7 @@ This library will be written purely in Dart technology from scratch. ``` - Documentation of core components, protocols, architecture, etc. to be deployed: ``` -We will follow Polkadot specifications and, as a license for PolkaDart library, we will use Apache 2.0. +We will follow Polkadot specifications and, as a license for Polkadart library, we will use Apache 2.0. ``` - What your project is _not_ or will _not_ provide or implement: ``` @@ -51,52 +51,37 @@ Pocket4 was similar to PolkaDart but it was discontinued for lack of progress an ### Team members -- Lohann Ferreira, Lead Blockchain Architect - Leonardo Custodio, Blockchain Engineer -- Hanna Coutinho, iOS Developer +- Lohann Ferreira, Lead Blockchain Architect - Kawaljeet Singh, Flutter Developer -- Luiza Adena Engers, Product Manager -- Fabio Binder, Blockchain Engineer - Gabriel Okura, Flutter Developer - Bruno Pastre, Senior Flutter Developer ### Contact -- **Contact Name:** Luiza Adena Engers -- **Contact Email:** luiza@jurimetric.com.br -- **Website:** www.jurimetric.com.br +- **Contact Name:** Leonardo Garcia Custodio +- **Contact Email:** leonardo@custodio.me +- **Website:** https://www.linkedin.com/in/leogcustodio/ ### Legal Structure -- **Registered Address:** Rua Monsenhor Celso, 154, Centro, Curitiba-Paraná, Brasil. -- **Registered Legal Entity:** Jurimetric Tecnologia Ltda. +- **Registered Address:** Rua Capitao Souza Franco, 350 - Ap 22 - Curitiba/PR - Brasil +- **Registered Legal Entity:** Experio S M Ltda ### Team's experience -**Lohann Ferreira** - -Lohann have a deep understanding of Polkadot/Substrate stack amongst other blockchain technologies. Previously worked at [First Foundry](https://www.firstfoundry.co/) as Senior Software Engineer. Founder and lead engineer at [Jurimetric](https://jurimetric.com.br/). Co-founder of [Veever](https://veever.global/), which through the combination of beacons, a web platform, and a mobile app aims to assist people with visual impairment to easily get around and interact with the urban environment. He is focused on solving big problems with simple ambitious solutions. - **Leonardo Custodio** -Leonardo has being working with Polkadot/Substrate stack for the past 14 months. At his current position he makes SDKs that allows game developers to work easily with substrate based chain. Before that he was the Lead Mobile Developer of Inovatso where he has created multiple applications for the general public like picPics and other entreprise applications using Flutter. +Leonardo has being working with Polkadot/Substrate stack for the past 27 months. At his current position he makes SDKs that allows game developers to work easily with Substrate based chain. Before that he was the Lead Mobile Developer of Inovatso where he has created multiple applications for the general public like picPics and other entreprise applications using Flutter. -**Fábio Binder** - -Binder has over 25 years of experience with development. Currently, he is the Program Head at PUCPR of the [Apple Developer Academy](https://www.linkedin.com/company/apple-developer-academy-pucpr/mycompany/). He was recognized as an Apple Distinguished Educator in 2019, for doing amazing things with Apple technology in and out of the classroom. He joined Jurimetric because he wants to be a part of the Web 3 movement as a hands-on developer of blockchain technology. - -**Hanna Coutinho** +**Lohann Ferreira** -Currently working as an iOS developer at Snowman Labs. She's a scholarship student at [Apple Developer Academy](https://www.linkedin.com/company/apple-developer-academy-pucpr/mycompany/) and is pursuing a Bachelor's Degree in Computer Information Systems, at PUCPR (Paraná, Brazil). Hanna's biggest dream is to work at a tech company where she can bring positive social impacts to minorities. A fun fact about her, she's also a Lawyer, but she found a true passion in technology, programming, and design. +Lohann have a deep understanding of Polkadot/Substrate stack amongst other blockchain technologies. Previously worked at [First Foundry](https://www.firstfoundry.co/) as Senior Software Engineer. Founder and lead engineer at [Jurimetric](https://jurimetric.com.br/). Co-founder of [Veever](https://veever.global/), which through the combination of beacons, a web platform, and a mobile app aims to assist people with visual impairment to easily get around and interact with the urban environment. He is focused on solving big problems with simple ambitious solutions. **Kawaljeet Singh** Before starting to work as a full-time flutter developer at Rankanizer, Kawal was working as a freelance Flutter Developer at Inovatso and on other projects. In his free time, he loves to create open-source tools and plugins in dart to help the Flutter community. He is a blockchain enthusiast and is super dedicated to learning and bringing ideas to life. -**Luiza Adena** - -Luiza is Jurimetric's Product Manager. She founded a legal tech called Arbi-ON and has experience with problem-solving through creative thinking. Luiza aims to make society more just and she believes Rankanizer has the potential to empower people equally. - **Gabriel Okura** Gabriel is currently working as a mobile and backend developer at Hype Empreendimentos, and for the past year and a half, he has been having experience building apps in Dart with the Flutter framework. Previously worked with mobile game development at Opala Studios. He is excited about the opportunity to work on Rankanizer and to help build the PolkaDart library to increase his experience with blockchain technology. @@ -111,21 +96,15 @@ He is fascinated about writing scalable, testable and maintainable code and has - https://github.com/rankanizer/polkadart - https://github.com/Lohann - https://github.com/leonardocustodio -- https://github.com/binderman -- https://github.com/hannapcf - https://github.com/justkawal -- https://github.com/LuizaJurimetric - https://github.com/gabrielokura - https://github.com/pastre ### Team LinkedIn Profiles (if available) -- https://www.linkedin.com/in/lohannferreira - https://www.linkedin.com/in/leogcustodio -- https://www.linkedin.com/in/binder -- https://www.linkedin.com/in/hannapcf +- https://www.linkedin.com/in/lohannferreira - https://www.linkedin.com/in/kawal74153 -- https://www.linkedin.com/in/luizaadenaengers - https://www.linkedin.com/in/gabriel-motelevicz-okura-aa95491b6 - https://www.linkedin.com/in/bpastre @@ -145,11 +124,11 @@ Described above. ## Overview -- **Total Estimated Duration:** 7 months. +- **Total Estimated Duration:** 15 months. - **Full-Time Equivalent (FTE):** 4. -- **Total Costs:** 50,000 USD. +- **Total Costs:** 75,000 USD. -### Milestone 1 — +### Milestone 1 — Completed - **Estimated duration:** 4 months. - **FTE:** 4. @@ -166,7 +145,7 @@ Described above. | 1c. | Tests | Unit tests for deliverables above | -### Milestone 2 — +### Milestone 2 — Completed - **Estimated duration:** 1 month. - **FTE:** 4. @@ -182,23 +161,54 @@ Described above. | 2b. | Websockets | We will add websockets support to the above. | | 2e. | Tests | Unit tests for deliverables above | -### Milestone 3 — +### Milestone 3 — Ongoing -- **Estimated duration:** 2 months. -- **FTE:** 4. -- **Costs:** 15,000 USD. +- **Estimated duration:** 6 months +- **FTE:** 2. +- **Costs:** 20,000 USD. +|Number|Deliverable| Specification | +|:---: | --- | --- | +| 0a. | License | Apache 2.0 | +| 0b. | Documentation | We will provide markdown documentation of how to install and use the API. | +| 0c. | Testing Guide | We will provide sample scripts on how to use it. | +| 0d. | Docker | We will provide a Dockerfile(s) that can be used to test the PoC. | +| 0e. | Article/Workshop | We will publish an example flutter project using the library to explain what was done and how to use it. | +| 3a. | Substrate Uri | Implement Substrate's standard derivation format that applies to seeds and mnemonics. | +| 3b. | Encrypt/Decrypt | Use Substrate's Bip39 password to encrypt/decrypt seeds and mnemonics. | +| 3c. | Ed25519 | Support Ed25519 signatures and key derivation | +| 3e. | Sign & Verify | Sign and verify messages using ed25519 keypairs | +| 3f. | Substrate Signed Extensions | Support substrate's signed extensions | +| 3g. | AssetHub Signed Extensions | Support AssetHub's signed extensions | +| 3h. | Transaction Subscriptions | Support transaction subscription | +| 3i. | Event Subscriptions | Support runtime event subscription | +| 3j. | Keyring | Create a package that manage a set of keys in a consistent environment | +| 3k. | Crypto | Utilities needed for signing, hash and encode/decode messages | +| 3l. | Tests | Unit tests for deliverables above | +| 3m. | Pub.dev | Publish to pub.dev | + +### Milestone 4 — + +- **Estimated duration:** 4 months +- **FTE:** 2. +- **Costs:** 20,000 USD + |Number|Deliverable| Specification | |:---: | --- | --- | | 0a. | License | Apache 2.0 | | 0b. | Documentation | We will provide markdown documentation of how to install and use the API. | | 0c. | Testing Guide | We will provide sample scripts on how to use it. | | 0d. | Docker | We will provide a Dockerfile(s) that can be used to test the PoC. | -| 0e. | Article/Workshop | We will publish an example flutter project using the library to explain what was done and how to use it. | -| 3a. | Keyring | We will port the keyring management | -| 3d. | Crypto | We will add the utilities needed for signing transactions | -| 3e. | Tests | Unit tests for deliverables above | -| 3f. | Pub.dev | Publish to pub.dev for V1.0.0 | +| 4a¹. | Research sr25519 | More research needs to be done to decide what is the best path forward to support sr25519, one of the following might be done | +| 4a². | Rewrite Schnorrkel in Dart | Rewrite [schnorrkel](https://github.com/w3f/schnorrkel) in pure dart | +| 4a³. | Use rust schnorrkel | Make dart wrappers to use rust bindings to use schnorrkel lib | +| 4b. | Ecdsa/Secp256k1 | Support Ecdsa/Secp256k1 signatures and key derivation | +| 4c. | Sign & Verify | Sign and verify messages using sr25519 and ecdsa keypairs | +| 4e. | Custom RPC | Support custom RPC methods | +| 4f. | Custom Signed Extensions | Support custom signed extensions | +| 4g. | Multisig Account | Implement's Substrate's Multisig Account | +| 4h. | Tests | Unit tests for deliverables above | +| 4i. | Pub.dev | Publish to pub.dev | ## Future Plans From d3f47866a9828262fd3502e5f49a227c2d171c39 Mon Sep 17 00:00:00 2001 From: Nikhil Desai Date: Thu, 28 Sep 2023 12:40:12 +0530 Subject: [PATCH 079/133] update the registered address and entity (#2016) This RFP has already been delivered, but the payment is not due to a mismatch in the registered address and entity. I am amending the same. --- applications/ink-pallet-benchmarking-phase-2.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/applications/ink-pallet-benchmarking-phase-2.md b/applications/ink-pallet-benchmarking-phase-2.md index f9ebe24ad03..85c4a053567 100644 --- a/applications/ink-pallet-benchmarking-phase-2.md +++ b/applications/ink-pallet-benchmarking-phase-2.md @@ -36,8 +36,8 @@ This will help new developers to decide the best tool to implement the logic. ### Legal Structure -- **Registered Address:** B-7/8, Anmol Pride, Baner Road, Baner, Pune, Maharashtra 411045, India -- **Registered Legal Entity:** Talentica Software India Pvt. Ltd. +- **Registered Address:** Talentica Software Inc., 6200, Stoneridge Mall Road, Pleasanton, California 94588, USA. +- **Registered Legal Entity:** Talentica Software Inc. ### Team's experience From 64fd75dbf72d6125e711f75ecfa1ea7caa659c67 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20M=C3=BCller?= Date: Thu, 28 Sep 2023 11:22:33 +0200 Subject: [PATCH 080/133] Update index.md Security Marketplace M1 --- applications/index.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/applications/index.md b/applications/index.md index 1662f4d05f9..44f1904622a 100644 --- a/applications/index.md +++ b/applications/index.md @@ -6,13 +6,11 @@ layout: applications Use this page for an overview of all public grants and their status. Use the sidebar to navigate directly to a specific grant application document. :::info - This page provides an overview of accepted grant applications, their progress and a link to their GitHub repositories. In cases where the link points to an organization, you should be aware that the grant application itself **is often an independent project unrelated to other work done by the teams**. Furthermore, the page lists terminations which happened due to a breach of the terms of the grants programs. Additionally, teams might have decided to stop working on the grant—though not necessarily on the project itself—for various reasons, which is not reflected on this sheet. Besides, **there is a clear difference between an application being accepted and the successful delivery of the respective project**, and only teams that have successfully delivered a milestone are allowed to make public announcements on the matter or to use our [badge](https://github.com/w3f/General-Grants-Program/blob/master/grants/grant-badge-guidelines.md). The badge can also never be used as a general endorsement for a team. Violations to this policy can be reported [here](mailto:grants@web3.foundation). - ::: - [2023](#2023) @@ -106,7 +104,7 @@ Besides, **there is a clear difference between an application being accepted and | [Nikita Orlov PR](https://github.com/stringnick) | [Faucet chat based bot](faucet-bot.md) | [GitHub](https://github.com/stringnick) | ☐ | ☒ | ☒ | | [Societal Labs Ltd.](https://www.sctl.xyz/) | [Societal Saas Pricing](societal_saas_pricing.md) | [GitHub](https://github.com/sctllabs) | ☐ | ☒ | ☒ | | [MASTER UNION LLC.](https://github.com/TheDotflow) | [Dotflow](Dotflow.md) | [GitHub](https://github.com/TheDotflow) | ☐ | ☒ | ☒ | -| [Antier Solutions](https://www.antiersolutions.com/) | [RFP/securityMarketPlace](Security_Marketplace.md) | [GitHub](https://github.com/ParthChaudhary31) | ☐ | ☐ | ☐ | +| [Antier Solutions](https://www.antiersolutions.com/) | [RFP/securityMarketPlace](Security_Marketplace.md) | [GitHub](https://github.com/ParthChaudhary31) | ☐ | ☒ | ☐ | | [SO/DA zone](https://github.com/mfornos) | [Ocelloids Monitoring SDK grant application](ocelloids_monitoring_sdk.md) | [GitHub](https://github.com/mfornos) | ☐ | ☒ | ☒ | | [Antier Solutions Pvt. Ltd.](https://github.com/kulwindersingh-ant)| [Grants webapp](Grant_management_webapp.md) | [GitHub](https://github.com/kulwindersingh-ant) | ☐ | ☒ | ☒ | | [Zaniyar Jahany](https://github.com/Zaniyar/) | [Grantmaster](grantmaster.md) | [GitHub](https://github.com/Zaniyar/plant2earn/) | ☐ | ☐ | ☐ | From 17be0f773d3ea56948cb7df64b17a1faa81118eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20M=C3=BCller?= Date: Thu, 28 Sep 2023 12:18:35 +0200 Subject: [PATCH 081/133] Add border to details tag --- src/css/custom.css | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/css/custom.css b/src/css/custom.css index 4919a1b86a7..af3e3a89d65 100644 --- a/src/css/custom.css +++ b/src/css/custom.css @@ -167,3 +167,10 @@ a:hover.navbar__item{ border-left: 5px solid rgb(0, 0, 0); background-color: rgba(0, 255, 0, 0.15); } + +/* Border around details */ +details { + border: 1px solid; + border-radius: 4px; + padding: 10px; +} \ No newline at end of file From ff0f7667ad7f976e1ac5eeab07d86e92f79a4937 Mon Sep 17 00:00:00 2001 From: "Thang X. Vu" Date: Thu, 28 Sep 2023 20:16:16 +0700 Subject: [PATCH 082/133] Add delightfuldot application (#1907) --- applications/delightfuldot.md | 184 ++++++++++++++++++++++++++++++++++ 1 file changed, 184 insertions(+) create mode 100644 applications/delightfuldot.md diff --git a/applications/delightfuldot.md b/applications/delightfuldot.md new file mode 100644 index 00000000000..dadfcca5662 --- /dev/null +++ b/applications/delightfuldot.md @@ -0,0 +1,184 @@ +# DelightfulDOT + +- **Team Name:** Coong Crafts (formerly Coong Team) +- **Payment Address:** 15GJvMYDXXU5Xr795kP5VdsfccWS7Hcug5smWjN6gEELvWaT (AssetHub - USDT) +- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 + +## Project Overview :page_facing_up: + +### 1. Overview +Dapps have always been a very important part of any blockchain ecosystem, it is where users can connect and interact with blockchain nodes. Given the complex nature of interacting with Substrate-based blockchains, in order for developers to focus on the business logic, a middle layer between dapps and blockchain nodes to facilitate the connections & interactions is always an essential part of the ecosystem and this is where `@polkadot/api` comes in. + +`@polkadot/api` has done a great job in helping applications connect to networks in an easy and effortless way by abstracting away all the complexities of connecting with a Substrate-based blockchain and scale-codec serialization process under the hood. But through development experience, benchmarking and profiling, we found out that `@polkadot/api` has a relatively high memory consumption, which might not be problematic for dapps that only connect to one or a few networks, but for dapps that need to connect to dozens or even hundreds of networks at the same time, it’s a problem which might create a great impact on the overall user experience (e.g: a wallet app or portfolio app needs to connect to a large number of networks to fetch users’ balances & assets or to listen to on-chain events). + +- If we enable all 100+ Substrate networks on SubWallet, it could increase the memory consumption to over a GB of RAM. +subwallet-high-memory-consumption + +- Talisman is having their own solution for connecting to networks and fetching balances effectively without relying on `@polkadot/api` ([@talismn/balances](https://github.com/TalismanSociety/talisman/tree/dev/packages/balances)**,** [@talismn/api](https://github.com/TalismanSociety/api)). +- We ran [a NodeJS script](https://github.com/sinzii/delightfuldot-poc/blob/main/src/benchmarks/benchmark_connect_multiple_endpoints.ts) that connects to 100 substrate-based network endpoints to fetch balances for an account using `@polkadot/api`, and the average memory consumption is over 800MB. More details about the benchmark results could be found [here](https://github.com/sinzii/delightfuldot-poc/tree/main#memory-consumption-benchmark-result). + +As we’re heading toward a multi-chain future, there will absolutely be more parachains, parathreads or solochains built on Substrate to come, and users might have assets spreading over dozens or hundreds of networks. With that, we do see the need of connecting to a large number of networks at the same time effectively and efficiently, Coong Crafts propose to build `delightfuldot`, an alternative solution to `@polkadot/api` to address this issue in contributing to the whole effort of paving the way to a multi-chain future of the Polkadot & Kusama ecosystem. + +### 2. Project Details + +**2.1. Why does `@polkadot/api` has a high memory consumption?** + +We ran memory profiling for a [NodeJS script](https://github.com/sinzii/delightfuldot-poc#profiling) to connect to Polkadot network to see how much memory `@polkadot/api` consume during the bootstrapping process (initialization). Below are captures of the results: +- Result of `Allocation sampling` profiling via Google Dev Tools +image + +- Result of `Allocation instrumentation on timeline` profiling via Google Dev Tools +image + +From the results, we can see that the memory consumption from `Metadata` and its type system is relatively high. As we looked into the source code itself, we found out that `@polkadot/api` has its own types and structure for every piece in the metadata, during the decoding process it will create types for all of the pieces in the metadata hierarchy/structure which result in the lot of `Type` objects and a big `Metadata` object ([`PortableRegistry` is a part of the Metadata](https://github.com/polkadot-js/api/blob/319535a1e938e89522ff18ef2d1cef66a5af597c/packages/types/src/interfaces/metadata/v14.ts#L43-L47)) + +We tried to build a [small proof of concept alternative solution](https://github.com/sinzii/delightfuldot-poc/tree/main/src/poc) using [`scale-ts`](https://github.com/paritytech/scale-ts) (now `subShape`) for scale-codec encoding/decoding to do the same functionality and the memory consumption has improved noticeably. +image + +Going further, instead of connecting to 1 network, this time we tried to connect to 20, 50, and 100 network endpoints to fetch balances for an account using `@polkadot/api` and our PoC solution for comparison, and as we can see from the [benchmark result](https://github.com/sinzii/delightfuldot-poc#memory-consumption-benchmark-result), the memory consumption of our PoC solution is significantly smaller. More details about the benchmarking could be found in [our PoC repository](https://github.com/sinzii/delightfuldot-poc#benchmark-memory-consumption-when-connecting-to-multiple-network-endpoints). + +**2.2. Design Goals & Approach** + +_**2.2.a. API style similar to `@polkadot/api`**_ + +`@polkadot/api` is currently using an [easy-to-use and intuitive API style](https://polkadot.js.org/docs/api/start/basics#metadata) (e.g: `api.query.system.account(address)` to query account balance, or `api.consts.[pallet_name].[constant_name]` to access constants of a pallet ...). + +So we decided to use the same API style so that users don’t have to learn new syntax when switching to using `delightfuldot` and making the migration progress easier. + +_**2.2.b. Less overhead evaluation**_ + +During the bootstrapping process, `@polkadot/api` will try to register all possible type definitions ([ref1](https://github.com/polkadot-js/api/blob/319535a1e938e89522ff18ef2d1cef66a5af597c/packages/types/src/create/registry.ts#L193), [ref2](https://github.com/polkadot-js/api/blob/319535a1e938e89522ff18ef2d1cef66a5af597c/packages/types/src/create/registry.ts#L571)) and expose all available methods/props after decoding the metadata retrieved from a network ([ref](https://github.com/polkadot-js/api/blob/master/packages/api/src/base/Decorate.ts#L253)). This would help make the API execution faster but at the same time make the bootstrapping process longer and increase the overall memory consumption. Secondly, most of the dapps only use a few APIs and types (e.g: fetching balances, transfer balances or assets ...), so the registration of all of APIs and types would be unnecessary in most cases. + +`delightfuldot`'s approach is to perform API evaluation and execution on the fly, which is at the time an API is called, `delightfuldot` will check if the API is existed or not, register all necessary types (and cache those types if possible for later usage), execute the API and then handle the response. + +For example, upon calling `api.query.system.account('5xxxxx...')` to fetching balances for an account, `delightfuldot` will do the following steps: + - Check if the pallet named `System` is existed in the metadata, else throw an error. + - Check if the storage entry named `Account` is existed in the pallet `System` in the metadata, else throw an error. + - Gather all the necessary information to perform a storage query through an RPC `state_getStorage` like input types, output type, calculate storage entry hash … + - Execute RPC `state_getStorage` with the calculated storage entry hash + - Decode the response with the output type and return the decoded data. + +Unlike `@polkadot/api` where the first 2 steps are already done in the bootstrapping process. We believe that our approach would help speed up the bootstrapping process and reduce the overhead memory consumption. We archived this by using a [proxy technique](https://github.com/sinzii/delightfuldot-poc/blob/14eab8195c02fb6c48300812572437edd11ca707/src/poc/delightfuldot.ts#L82-L92), you could find more in detail about it in the PoC repository. + +_**2.2.c. Caching**_ + +Metadata has always been an important part of any Substrate-based blockchain, it’s where we can find all information about on-chain functionalities (pallets, storage, extrinsics, constants, …), but it takes time to encode the metadata retrieved from networks and take space in the memory to store all of the information after decoding the metadata. + +Since Metadata is only updated through runtime upgrades, so `delightfuldot` will cache the decoded metadata information in the device’s storage (localStorage, IndexedDB, …) and only check to update it on runtime upgrade. This would also help speed up the bootstrapping process and reduce memory consumption since the metadata is now stored on the device’s storage. + +One drawback of this approach is that access speed to storage would be a bit slower than to memory, but given the benefits of the approach, we believe the tradeoffs are acceptable. + +**2.3. Vision** + +We set a vision for `delightfuldot` to become an essential part of Polkadot & Kusama ecosystem, so dapps can leverage its utilities to connect to and interact with hundreds of networks quickly and smoothly without having to think about memory consumption. + +This proposal is asking for a grant to support the first development phase of `delightfuldot` for the foundational modules with core functionalities. More details are in the upcoming section. + +**2.4. Foundational modules with core functionalities** + +This step, we aim to lay out all the necessary foundational pieces of the library and put all of them together to form the core functionalities, including: + +- New type system built on top of `scale-ts` (now `subShape`) with less memory consumption while at the same time can easily switch to use `@polkadot/api`'s type system for easy migration from existing dapps. +- A metadata parser with abilities to decode & encode Metadata using scale-codec. In the scope of this grant, we plan to support the latest version of metadata which is v14. +- Ability to execute RPCs to a Substrate-based node + - Each blockchain has its own custom list of supported RPCs, in the scope of this grant we plan to implement the supported RPCs of [Polkadot](https://polkadot.js.org/docs/polkadot/rpc) & [Kusama](https://polkadot.js.org/docs/kusama/rpc) networks. + - Support registering custom RPCs, so developers can easily add custom RPCs for their custom substrate node. +- Ability to execute Runtime APIs + - Similar to RPCs, each substrate-based blockchain has its own list of supported Runtime APIs, so in the scope of this grant, we plan to implement the supported Runtime APIs of [Polkadot](https://polkadot.js.org/docs/polkadot/runtime) and [Kusama](https://polkadot.js.org/docs/kusama/runtime) networks. + - Support registering custom Runtime APIs +- With the format of Metadata V14, on-chain functionalities are exposed through pallet’s definitions including pallet’s constants, storage entries, extrinsic calls, events & errors. We plan to support abilities to: + - Inspect pallet’s constants (similar to `@polkadot/api` APIs to inspect [constants](https://polkadot.js.org/docs/polkadot/constants)) + - Inspect pallet’s events & errors (similar to `@polkadot/api` APIs to inspect [events](https://polkadot.js.org/docs/polkadot/events) & [errors](https://polkadot.js.org/docs/polkadot/errors)) + - Execute pallet’s storage queries (similar to `@polkadot/api` APIs to execute [storage queries](https://polkadot.js.org/docs/polkadot/storage)) + - Sign and submit extrinsics (similar to `@polkadot/api` APIs to [sign & submit extrinsics](https://polkadot.js.org/docs/polkadot/extrinsics)) + +The work will be focused on building APIs to facilitate interactions with Substrate-based blockchain nodes, therefore we'll leverage existing solutions for creating, managing & signing keys in `@polkadot/keyring` package as well as other cryptography & utility functions in `@polkadot/util-crypto`, `@polkadot/util`. + +**2.5. Tech Stacks** +- TypeScript +- scale-ts (now subShape), rxjs +- Helpful packages from `@polkadot/api`, `@polkadot/common` + +### Ecosystem Fit +`delightfuldot` fits perfectly in the Polkadot & Kusama ecosystems as it provides a solution to a critical issue faced by dApps that need to connect to and interact with hundreds of networks efficiently & effectively. Any dApps (e.g wallet apps, portfolio apps, ...) that need to connect to a large number of networks can benefit from `delightfuldot`'s utilities. + +We as the maintainer of [Coong Wallet](https://grants.web3.foundation/applications/coong_wallet) see that `delightfuldot` is a stepping stone to the next development phase of Coong Wallet with more & more useful features in which Coong Wallet would need to connect to a large number of Substrate-based networks to fetching & syncing information. + +Aside from `@polkadot/api`, [`capi`](https://github.com/paritytech/capi) is another project to help craft interactions with Substrate-based blockchain, but at the time of writing this proposal, it’s going through a big restructuring, we’re not sure what would it look like until its shape be more concrete. Overall we don’t see any noticeable projects that are trying to solve the same problems as us. + +## Team :busts_in_silhouette: + +### Team members + +- Thang X. Vu (Team Leader) +- Tung Vu + +### Contact + +- **Contact Name:** Thang X. Vu +- **Contact Email:** thang@coongcrafts.io + +### Legal Structure + +N/A yet + +### Team's experience + +Coong Crafts is a small team set out with a mission to bring Web3 closer to the world. We previously completed a grant to build [Coong Wallet](https://grants.web3.foundation/applications/coong_wallet) ([PR](https://github.com/w3f/Grants-Program/pull/1387)), a website-based wallet solution to address the inconsistent wallet experience on mobile & desktop and bring a new approach to onboard new users to Polkadot & Kusama ecosystem. + +### Team Code Repos + +Project repositories will be hosted at https://github.com/CoongCrafts + +Team members +- Thang X. Vu - https://github.com/sinzii +- Tung Vu - https://github.com/1cedrus + +## Development Status :open_book: + +- We have been in research the `@polkadot/api` project to learn how it works under the hood as well as doing benchmarking & profiling to figure out why it has a high memory consumption. +- We have been building a [proof-of-concept solution](https://github.com/sinzii/delightfuldot-poc/tree/main/src/poc) in an attempt to address the memory issue and saw a [clear/good improvement](https://github.com/sinzii/delightfuldot-poc/tree/main#memory-consumption-benchmark-result). + +## Development Roadmap :nut_and_bolt: + +### Overview + +- **Total Estimated Duration:** 3.5 months +- **Full-Time Equivalent (FTE):** 2 FTE +- **Total Costs:** 30,000 USD + +### Milestone 1 — Foundational modules with core functionalities + +- **Estimated duration:** 2 months +- **FTE:** 2 +- **Costs:** 17,000 USD + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| **0a.** | License | Apache 2.0 | +| **0b.** | Documentation | We will provide both **inline documentation** of the code and a basic **tutorial** that explains how to install `delightfuldot` and interact with Substrate-based networks. | +| **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. | +| 1. | Core functionalities | We'll build the following features for the library:
- New type system built on top of `scale-ts`
- A Metadata parser for the Substrate Metadata V14
- RPC APIs: Support default RPC APIs for Polkadot and Kusama networks & ability to add custom RPC APIs
- APIs to inspect pallets' constants
- APIs to execute pallets' storage queries
- APIs to inspect pallets' events & errors | +| 2. | Publish to npm | We'll package and publish the library to npm, so developers can install and start using it. + + +### Milestone 2 - More core functionalities + +- **Estimated Duration:** 1.5 months +- **FTE:** 2 +- **Costs:** 13,000 USD + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| **0a.** | License | Apache 2.0 | +| **0b.** | Documentation | We will provide both **inline documentation** of the code and a basic **tutorial** that explains how to sign & submit extrinsics via `delightfuldot` and the migration process from `@polkadot/api` to `delightfuldot` | +| **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. | +| 1. | More core functionalities | We'll continue to build core functionalities for the library:
- APIs to create Extrinsics payload, sign and submit Extrinsics as well as the ability to keep watching for Extrinsic status after submission.
- Runtime APIs: Support default runtime APIs for Polkadot and Kusama networks & ability to add custom Runtime APIs + +## Future Plans + +Next steps for `delightfuldot` are: +- Support APIs to interact with Smart Contract +- Support older/newer versions of Metadata +- Support more [RPC](https://polkadot.js.org/docs/substrate/rpc) and [Runtime](https://polkadot.js.org/docs/substrate/runtime) APIs +- XCM utilities From dc10cfda23cdedc8c551043600a8f7d9bd3d77b4 Mon Sep 17 00:00:00 2001 From: Nikhil W3F <142136841+nikw3f@users.noreply.github.com> Date: Thu, 28 Sep 2023 15:31:47 +0200 Subject: [PATCH 083/133] Update index.md (#2017) --- applications/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/index.md b/applications/index.md index 44f1904622a..930d66a684e 100644 --- a/applications/index.md +++ b/applications/index.md @@ -170,7 +170,7 @@ Besides, **there is a clear difference between an application being accepted and | [TogetherCrew](http://www.togethercrew.com/) | [Community Health Check](community-health-check.md) | [GitHub](https://github.com/RnDAO) | ☐ | ☒ | ☐ | | [Decentration](https://www.decentration.org/) | [Supersig Phase 2](./supersig_fellowship.md) | [GitHub](https://github.com/decentration) | ☐ | ☒ | ☒ | | [Polkadrys Labs](https://github.com/rtomas) | [Open Payroll](./openPayroll.md) | [GitHub](https://github.com/rtomas) | ☐ | ☒ | ☐ | -| [Itering](https://www.itering.io/) | [Solidity Verifier Implementation for Accountable Light Client](./solidity-verifier-for-accountable-light-client.md) | [GitHub](https://github.com/darwinia-network) | ☐ | ☒ | ☐ | +| [Itering](https://www.itering.io/) | [Solidity Verifier Implementation for Accountable Light Client](./solidity-verifier-for-accountable-light-client.md) | [GitHub](https://github.com/darwinia-network) | ☐ | ☒ | ☒ | [🔝](#2023) From c4487bdcd273b8c0e7038cf853441f2a06b2b911 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20M=C3=BCller?= Date: Thu, 28 Sep 2023 15:35:41 +0200 Subject: [PATCH 084/133] Update delightfuldot.md Fix HTML --- applications/delightfuldot.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/applications/delightfuldot.md b/applications/delightfuldot.md index dadfcca5662..71492c3eae9 100644 --- a/applications/delightfuldot.md +++ b/applications/delightfuldot.md @@ -12,7 +12,7 @@ Dapps have always been a very important part of any blockchain ecosystem, it is `@polkadot/api` has done a great job in helping applications connect to networks in an easy and effortless way by abstracting away all the complexities of connecting with a Substrate-based blockchain and scale-codec serialization process under the hood. But through development experience, benchmarking and profiling, we found out that `@polkadot/api` has a relatively high memory consumption, which might not be problematic for dapps that only connect to one or a few networks, but for dapps that need to connect to dozens or even hundreds of networks at the same time, it’s a problem which might create a great impact on the overall user experience (e.g: a wallet app or portfolio app needs to connect to a large number of networks to fetch users’ balances & assets or to listen to on-chain events). - If we enable all 100+ Substrate networks on SubWallet, it could increase the memory consumption to over a GB of RAM. -subwallet-high-memory-consumption +subwallet-high-memory-consumption - Talisman is having their own solution for connecting to networks and fetching balances effectively without relying on `@polkadot/api` ([@talismn/balances](https://github.com/TalismanSociety/talisman/tree/dev/packages/balances)**,** [@talismn/api](https://github.com/TalismanSociety/api)). - We ran [a NodeJS script](https://github.com/sinzii/delightfuldot-poc/blob/main/src/benchmarks/benchmark_connect_multiple_endpoints.ts) that connects to 100 substrate-based network endpoints to fetch balances for an account using `@polkadot/api`, and the average memory consumption is over 800MB. More details about the benchmark results could be found [here](https://github.com/sinzii/delightfuldot-poc/tree/main#memory-consumption-benchmark-result). @@ -25,15 +25,15 @@ As we’re heading toward a multi-chain future, there will absolutely be more pa We ran memory profiling for a [NodeJS script](https://github.com/sinzii/delightfuldot-poc#profiling) to connect to Polkadot network to see how much memory `@polkadot/api` consume during the bootstrapping process (initialization). Below are captures of the results: - Result of `Allocation sampling` profiling via Google Dev Tools -image +image - Result of `Allocation instrumentation on timeline` profiling via Google Dev Tools -image +image From the results, we can see that the memory consumption from `Metadata` and its type system is relatively high. As we looked into the source code itself, we found out that `@polkadot/api` has its own types and structure for every piece in the metadata, during the decoding process it will create types for all of the pieces in the metadata hierarchy/structure which result in the lot of `Type` objects and a big `Metadata` object ([`PortableRegistry` is a part of the Metadata](https://github.com/polkadot-js/api/blob/319535a1e938e89522ff18ef2d1cef66a5af597c/packages/types/src/interfaces/metadata/v14.ts#L43-L47)) We tried to build a [small proof of concept alternative solution](https://github.com/sinzii/delightfuldot-poc/tree/main/src/poc) using [`scale-ts`](https://github.com/paritytech/scale-ts) (now `subShape`) for scale-codec encoding/decoding to do the same functionality and the memory consumption has improved noticeably. -image +image Going further, instead of connecting to 1 network, this time we tried to connect to 20, 50, and 100 network endpoints to fetch balances for an account using `@polkadot/api` and our PoC solution for comparison, and as we can see from the [benchmark result](https://github.com/sinzii/delightfuldot-poc#memory-consumption-benchmark-result), the memory consumption of our PoC solution is significantly smaller. More details about the benchmarking could be found in [our PoC repository](https://github.com/sinzii/delightfuldot-poc#benchmark-memory-consumption-when-connecting-to-multiple-network-endpoints). From 7b31316eff7142c5b5a3167eae9674315dd8c89b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20M=C3=BCller?= Date: Thu, 28 Sep 2023 18:03:17 +0200 Subject: [PATCH 085/133] Update rfps.md Move conformance test RFP to under development --- docs/rfps.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/rfps.md b/docs/rfps.md index 24b361d724a..0b2cc5278b7 100644 --- a/docs/rfps.md +++ b/docs/rfps.md @@ -27,7 +27,6 @@ If you find an open RFP here that you think you can address, feel free to [submi | [formal_guarantees_for_grandpa.md](RFPs/formal_guarantees_for_grandpa.md) | 07.10.2022 | | [ISO_20022.md](RFPs/ISO_20022.md) | 20.09.2023 | | [parachain_validation_conformance_testing.md](RFPs/parachain_validation_conformance_testing.md) | 18.01.2023 | -| [polkadot-protocol_conformance_tests.md](RFPs/polkadot-protocol_conformance_tests.md) | 21.09.2023 | | [sub-consensus.md](RFPs/sub-consensus.md) | 23.02.2022 | | [uptane-for-substrate-design-and-scope.md](RFPs/uptane-for-substrate-design-and-scope.md) | 04.03.2023 | | [user-account-access-analysis.md](RFPs/user-account-access-analysis.md) | 07.01.2023 | @@ -51,6 +50,7 @@ If you find an open RFP here that you think you can address, feel free to [submi | [ink!_smart_contract_block_explorer.md](RFPs/ink_smart_contract_block_explorer.md) | 20.09.2023 | | [ISO_8583.md](RFPs/ISO_8583.md) | 20.09.2023 | | [move_smart_contract_pallet.md](RFPs/move_smart_contract_pallet.md) | 02.08.2023 | +| [polkadot-protocol_conformance_tests.md](RFPs/polkadot-protocol_conformance_tests.md) | 21.09.2023 | | [raft-validators.md](RFPs/raft-validators.md) | 23.05.2023 | | [Static-Analysis-for-Runtime-Pallets.md](RFPs/Static-Analysis-for-Runtime-Pallets.md) | 27.09.2023 | @@ -86,4 +86,4 @@ If you find an open RFP here that you think you can address, feel free to [submi ## 📬 Suggest an RFP -If you think that we should support the development of certain tools or projects (related to **Polkadot, Kusama or Substrate**) that aren't in the Polkadot/Kusama [tech stack](https://wiki.polkadot.network/docs/build-open-source), please submit a suggestion using the process described in our [Grants program README](suggesting.md). We are particularly interested in supporting projects that could be leveraged by other builders in our ecosystem. +If you think that we should support the development of certain tools or projects (related to **Polkadot, Kusama or Substrate**) that aren't in the Polkadot/Kusama [tech stack](https://wiki.polkadot.network/docs/build-open-source), please submit a suggestion using the process described [here](suggesting.md). We are particularly interested in supporting projects that could be leveraged by other builders in our ecosystem. From d89c234e483a3e34955f0e282f669f540a97992f Mon Sep 17 00:00:00 2001 From: DarkingLee <49502360+DarkingLee@users.noreply.github.com> Date: Fri, 29 Sep 2023 00:13:19 +0800 Subject: [PATCH 086/133] Update Melodot Milestone 2 (#2014) --- applications/Melodot.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/applications/Melodot.md b/applications/Melodot.md index 56a692562d6..94403276d42 100644 --- a/applications/Melodot.md +++ b/applications/Melodot.md @@ -173,11 +173,11 @@ ZeroDAO previously developed the Ourspace project, which is a reputation system | **0a.** | License | Apache 2.0 | | **0b.** | Documentation | We will provide both inline documentation of the code and a basic tutorial that explains how a user can spin up a client, connect to the client management application and data through a browser, and create a local development chain. | | **0c.** | Testing and Testing Guide | Higher-level integration tests and unit tests for all modules. In the guide, we will describe how to run these tests. | -| **0d.** | Docker | We will provide Dockerfiles to start multiple nodes with different roles, create a local test network, and run all integration tests. | -| 1. | Substrate pallet: excutive_das | Depends on the `frame-executive` pallet, extending the DAS-related scheduling and data structures. The main functionalities include scheduling data availability throughout the lifecycle of blocks, which involves the block proposer constructing data, erasure coding, KZG commitments, and generating extended block headers. Validators verify if they are generated correctly. | -| 2. | Substrate pallet: system_das | Depends on the `frame-system` pallet, extending the DAS-related actual operations. The system_das is a specific implementation of the executive_das functionality, which primarily includes: 1) Extracting availability data 2)Applying erasure coding 3) Generating KZG commitments and proofs 4)Generating extended block headers. Validators: 1) Verify the correctness of the generated KZG commitments 2) Validate the proofs by conducting non-interactive challenge 3) Verify the correct generation of data availability block headers. | -| 3. | Substrate pallet: melo_store | Pallet for managing apps and submitting data. The main functions include dispatchable functions for application registration, permission management, and uploading availability data. It also encompasses an interface for availability management, allowing validators to modify data availability based on availability sampling. | -| 4. | melodot-client | Fully implemented data availability layer node client. | +| **0d.** | Docker | We will provide Dockerfiles to start nodes, create a local test network, and run all integration tests. | +| 1. | Substrate pallet: excutive_das | Modify the existing `frame-executive` pallet to support custom headers while ensuring all original tests continue to function. | +| 2. | Substrate pallet: system_das | Extend the `frame-system` pallet to support the creation of extended headers. | +| 3. | Substrate pallet: melo_store | A core pallet for handling data availability. Main features include: 1) Registering applications. 2) Allowing users to submit data metadata. 3) Validators accessing off-chain storage via OCW and reporting unavailable data. 4) Interface for creating extended block header. | +| 4. | melodot-client | A substrate client containing a complete data availability layer. The DAS core features include: 1) Accepting user-submitted blob_tx, verifying if the data is correctly encoded, submitting the transaction, and publishing the data to a peer-to-peer network 2) Validators retrieving data transactions from the transaction pool and attempting to fetch the data from DHT to save locally. | ### Milestone 3 — Sampling From d18c0187ee9267c3ded0fab352d14b61955f281c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20M=C3=BCller?= Date: Thu, 28 Sep 2023 18:27:55 +0200 Subject: [PATCH 087/133] update numbers on front page --- src/components/HomepageFeatures.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/HomepageFeatures.js b/src/components/HomepageFeatures.js index bf4ab04dd8b..c81291d1be9 100644 --- a/src/components/HomepageFeatures.js +++ b/src/components/HomepageFeatures.js @@ -13,14 +13,14 @@ const FeatureList = [ ), }, { - title: 550, + title: 600, description: ( <>projects funded ), }, { - title: 50, + title: 54, description: ( <>countries From 5b48b3f3cb45ae716f8863eb8700f2a5669b521e Mon Sep 17 00:00:00 2001 From: David Hawig Date: Fri, 29 Sep 2023 15:06:00 +0200 Subject: [PATCH 088/133] Update index.md Add DelightfulDOT --- applications/index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/applications/index.md b/applications/index.md index 930d66a684e..2adaedfa8a5 100644 --- a/applications/index.md +++ b/applications/index.md @@ -75,6 +75,7 @@ Besides, **there is a clear difference between an application being accepted and | [SO/DA zone](https://github.com/sodazone) | [Ocelloids XCM Transfer Monitoring Service](ocelloids_xcm_monitoring_service.md) | [GitHub](https://github.com/sodazone) | ☐ | ☐ | ☐ | | [Moonsong Labs](https://moonsonglabs.com/) | [StorageHub](./StorageHub.md) | [GitHub](https://github.com/Moonsong-Labs) | ☐ | ☐ | ☐ | | [Jonathan Brown](https://acuity.social/) | [Hybrid Explorer Phase 2](hybrid2.md) | [GitHub](https://github.com/hybrid-explorer) | ☐ | ☐ | ☐ | +| [Coong Crafts](https://coongcrafts.io/) | [DelightfulDOT](delightfuldot.md) | [GitHub](https://github.com/CoongCrafts) | ☐ | ☐ | ☐ | [🔝](#2023) From 5206655af33ab706ec64a2393c385604ff9e343f Mon Sep 17 00:00:00 2001 From: Diogo <112647953+dsm-w3f@users.noreply.github.com> Date: Fri, 29 Sep 2023 10:55:14 -0300 Subject: [PATCH 089/133] Update index.md (#2019) --- applications/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/index.md b/applications/index.md index 2adaedfa8a5..cc5fe784c78 100644 --- a/applications/index.md +++ b/applications/index.md @@ -164,7 +164,7 @@ Besides, **there is a clear difference between an application being accepted and | [Zkverse](https://github.com/Zkvers) | [Zkverse](zkverse.md) | [GitHub](https://github.com/Zkvers/substrate-zk) | ☐ | ☐ | ☐ | | [Taiwan Research-based Biopharmaceutical Manufacturers Association](https://trpma.org.tw/cmn) | [Claps Health](Claps.md) | [GitHub](https://github.com/Claps-Health/) | ☐ | ☐ | ☐ | | [Tolga Yaycı](https://github.com/tolgayayci) | [Awesome Polka](Awesome-Polka.md) | [GitHub](https://github.com/tolgayayci/awesome-polka/tree/dev) | ☐ | ☒ | ☒ | -| [gmajor](https://github.com/gmajor-encrypt) | [XCM Tools](xcm-tools.md) | [GitHub](https://github.com/gmajor-encrypt/) | ☐ | ☒ | ☐ | +| [gmajor](https://github.com/gmajor-encrypt) | [XCM Tools](xcm-tools.md) | [GitHub](https://github.com/gmajor-encrypt/) | ☐ | ☒ | ☒ | | [David Semakula](https://github.com/davidsemakula) | [ink! Analyzer](ink-analyzer.md) | [GitHub](https://github.com/ink-analyzer) | ☐ | ☒ | ☒ | | [Bright Inventions](https://brightinventions.pl/) | [High-availability validator setup](High_availability_validator_setup.md) | [GitHub](https://github.com/bright/) | ☐ | ☒ | ☒ | | [DIA Data](https://www.diadata.org/) | [Bridgestate Attestation Oracle](DIA_Bridge_Attestation_Oracle.md) | [GitHub](https://github.com/diadata-org/) | ☐ | ☒ | ☒ | From 30354f442a1ad5d99aa1f014a94b77765f4ef06b Mon Sep 17 00:00:00 2001 From: Keegan | W3F <35080151+keeganquigley@users.noreply.github.com> Date: Fri, 29 Sep 2023 14:36:42 -0400 Subject: [PATCH 090/133] Update index.md (#2020) --- applications/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/index.md b/applications/index.md index cc5fe784c78..1d264a66806 100644 --- a/applications/index.md +++ b/applications/index.md @@ -586,7 +586,7 @@ Besides, **there is a clear difference between an application being accepted and | [SubDEX](http://subdex.io.s3.eu-west-2.amazonaws.com/index.html) | [A decentralized cross-chain exchange based on AMM](./subdex.md) | [GitHub](https://github.com/subdarkdex) | ☐ | ☒ | ☒ | | [Zenlink](https://zenlink.pro/) | [A cross-chain DEX network](./zenlink.md) | [GitHub](https://github.com/zenlinkpro/zenlink_dex_module) | ☐ | ☒ | ☒ | | [Subscript](https://github.com/slickup) | [Substrate smart contract api and sdk in AssemblyScript](./subscript_lang.md) | [GitHub](https://github.com/slickup/subscript) | ☐ | ☒ | ☒ | -| [Tesseract](https://tesseract.one/) | Swift API | [GitHub](https://github.com/tesseract-one) | ☐ | ☒ | ☐ | +| [Tesseract](https://tesseract.one/) | Swift API | [GitHub](https://github.com/tesseract-one) | ☐ | ☒ | ☒ | | [Cobo](https://cobo.com/) | Cobo Vault | [GitHub](https://github.com/CoboVault) | ☐ | ☒ | ☒ | | [NodeFactory](https://nodefactory.io/) | [Vedar: Auto-funded public P2P infrastructure (APPI)](https://github.com/w3f/General-Grants-Program/blob/master/grants/rfp-responses/appi.md) | [GitHub](https://github.com/NodeFactoryIo/Vedran) | ☐ | ☒ | ☒ | | [Adoriasoft](https://adoriasoft.com/) | Cosmos-SDK Parachain Development Kit Phase 2 | [GitHub](https://github.com/adoriasoft/cosmos-sdk) | ☐ | ☒ | ☒ | From 18bec6c42def6355c28d9a844351d99fc8039b6f Mon Sep 17 00:00:00 2001 From: Aurora Poppyseed <30662672+poppyseedDev@users.noreply.github.com> Date: Fri, 29 Sep 2023 20:39:15 +0200 Subject: [PATCH 091/133] Grant application for Lastic - A UI interaction for the coretime chain (#2008) * Create Lastic.md Added initial changes for the web3 grant. No changes made after the "ecosystem fit" section. * Update Lastic.md updating with latest info. note i may have fucked this up by committing to master when I created the Lastic.md file. * Update Lastic.md * Update Lastic.md adding milestones * Update Lastic.md Some questions * Lastic.md - adding meeting notes * Lastic.md adding pictures * Adding Aurora Poppyseed section * Update Lastic.md * Update Lastic.md - adding links * Update Lastic.md * Update Lastic.md deliverables * Update Lastic.md - final changes * Update Lastic.md * Update Lastic.md added payment address 2/2 multisig * Update Lastic.md added DOT as payment type * Update Lastic.md formatting for checks * Update Lastic.md - removed DOT address and added BTC address for payment --------- Co-authored-by: Phil <6450379+phillux@users.noreply.github.com> --- applications/Lastic.md | 255 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 255 insertions(+) create mode 100644 applications/Lastic.md diff --git a/applications/Lastic.md b/applications/Lastic.md new file mode 100644 index 00000000000..37a2149fc45 --- /dev/null +++ b/applications/Lastic.md @@ -0,0 +1,255 @@ +# Lastic + +- **Team Name:** Lastic +- **Payment Address:** bc1q0d6pkmsvncshyeqvzzlcfjc7lkf4fuku7nsen7 (BTC) +- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 1 + +> :exclamation: *The combination of your GitHub account submitting the application and the payment address above will be your unique identifier during the program. Please keep them safe.* +## Project Overview :page_facing_up: + +### Overview + + - Lastic is a pioneering blockspace marketplace developed on Polkadot. + - Our mission with Lastic is to democratize Polkadot blockspace, offering cost-effective and accessible solutions. Our marketplace facilitates the purchase and sale of 'Coretime,' aiming to normalize pricing, present user-centric payment options, and possibly launch subscription or futures offerings. With Lastic, deploying or extending a Polkadot project becomes seamless. + - Our faith in the coretime model underscores Polkadot’s leadership in modular blockspace. To create a universal blockspace marketplace, we believe Polkadot’s advanced technology is unparalleled. + +### Project Details +The complete vision of Lastic is a broad and intensive endeavor that involves building on technology that is not yet complete nor wholly available. Our journey in this space reveals the risks of investing heavily in transient technologies. In alignment with the Web3 Foundation grant's objectives, our focus remains on forward-thinking strategies that offer tangible value. **Thus, our proposal emphasizes developing a user interface (UI) tailored for the Coretime Parachain.** + +This grant's goal is to create a UI within the limitations of `the broker pallet` being still in development and not deployed as a testnet yet. Concurrently, we will devise a **static mockup**, with simulated data, illustrating user interactions with the future coretime chain. + +Grant Objectives: + - Construct a UI mockup dedicated for future interactivity with the Coretime chain. + - Envision limited interactivity based on features presently available in the `broker pallet`. This is contingent on the running the pallet as a substrate node locally. + +Exclusions for this grant: + - Real-time data derived via indexers on cores acquired historically. + - Interaction beyond the limited functionality within the scope of this grant. + - Functionalities allowing Polkadot users to alter cores, such as fragmentation. + - The capability for buying or selling coretime on secondary markets, which remains Lastic's long-term vision. + +### Ecosystem Fit + +- **Role in the Ecosystem**: Lastic seamlessly integrates within the Polkadot ecosystem, offering users an intuitive interface to assess the real-time status of coretime. This includes insights into available cores, owned cores, sales prospects for coretime, task allocations, newly created regions, regions within the instantaneous coretime pool, and transactions related to instantaneous coretime. + +- **Target Audience**: Our primary user base encompasses: + - Parachain teams looking for blockspace to expand or optimize their projects. + - dApp developers aiming to ensure smooth and scalable operations. + - Smart contract developers seeking efficient blockspace management. + - Collators and validators striving for enhanced network optimization. + - Coretime providers looking for a transparent space to offer their services. + - Polkadot analysts and analytics providers in need of real-time coretime data. + - MEV actors aiming to maximize their strategies. + - DOT holders keen on understanding and optimizing their blockspace assets. + +- **Addressing the Needs**: The Lastic UI is meticulously designed to cater to users desiring a simplified yet comprehensive overview of the coretime landscape on Polkadot. In the broader vision, along with providing a better user experience for those looking to buy Bulk and Instantanious Coretime, Lastic plans to pioneer a robust secondary marketplace for Polkadot's blockspace. This platform will facilitate the buying and selling of blockspace, supporting projects that need expansion or those that have excess blockspace to offer. + +- **Comparison to Existing Solutions**: When evaluating the existing landscape within the Substrate/Polkadot/Kusama ecosystem, we found no projects that are currently in development with Lastic's vision or offerings, making our initiative unique and essential. + +## Team :busts_in_silhouette: + +### Team members + +- Phil Lucsok (aka Asynchronous Phil) +- Aurora Makovac (aka Aurora Poppyseed) + +### Contact + +- **Contact Name:** Phil Lucsok, Aurora Poppyseed +- **Contact Email:** plucsok@gmail.coml, aurora.makovac@gmail.com +- **Website:** [lastic.xyz](https://www.lastic.xyz/) + +### Legal Structure + +- **Registered Address:** Private +- **Registered Legal Entity:** In progress + +### Team's experience + +#### **Phil Lucsok**: +Phil began his career in web3 as a marketing and communications manager for a Bitcoin startup in Berlin in 2013 called [BitcoinsBerlin](https://web.archive.org/web/20220707055043/https://bitcoinsberlin.com/). There, he created marketing campaigns for multiple products including: +- [All4BTC](https://all4btc.com/) - a one-stop shop for purchasing anything on Amazon or eBay with bitcoin +- Bills4BTC (later [Bitwala](https://bitwala.com/), Nuri) - a SEPA-compliant payment method for holders of Bitcoin for regular payments +- e4BTC - an electronics shop supporting purchases in Bitcoin + +After this, he worked for 3.5 years at [ResearchGate](https://www.researchgate.net/), a web2 social media platform for scientific researchers, where he learned skills in Product Management, Product Analytics, UX development and copywriting and design, and industry-standard growth practices. + +In late 2017, Phil joined Parity Technologies to lead technical communications on Ethereum and Polkadot. There he worked closely with developers to create promotional content for open-source products including Parity Ethereum, Parity Signer, Polkadot.js. It was between 2018 and 2020 where he represented Parity in Ethereum governance to help recover the stuck funds from the November 2017 multisig hack. + +He led the communications team for the first two years, growing the team from 1 to 12, where they created and executed the launch strategies for Polkadot, Kusama and Substrate. After that he joined the Ecosystem Success team to work with parachain teams to improve their communications and act as a liason between Substrate Builders Program teams and Parity. + +Phil currently works as a freelancer but is focused on leading [Missing Link](https://www.missing-link.io/)'s marketing, communications and governance strategies. He is also an active participant in Polkadot governance discussions on the Kusamarian and in ChaosDAO. + +*Note: Phil Lucsok has not previously applied for a grant at the Web3 Foundation.* + +#### **Aurora Poppyseed**: +Aurora's journey in the technological sphere stands out for her innovative approach and unwavering determination. With a foundation in Physics and Electrical Engineering, she transitioned into roles as varied as a Solutions Architect, focusing on electronics and low-level programming, to a Frontend Developer with a commitment to clean code and scalable frontend architectures. + +At [**Instrumentation Technologies**](https://www.i-tech.si/) in Nova Gorica, Slovenia, she led the design of intuitive GUIs for advanced measurement devices in particle accelerators and streamlined future development with a standardized Vue CLI-based web GUI framework. Her contribution as a Frontend Developer at [**Block Analitica**](https://blockanalitica.com/) involved engineering the frontend framework for the [**Ajna project**](https://www.ajna.finance/) initiated by the **MakerDAO team**, ensuring clean coding practices and an organized project structure for future open-source contributions. + +Aurora attended and graduated from the [**Polkadot Blockchain Academy**](https://www.polkadot.network/development/academy/) at UC Berkeley (engineering track), learning about the fundamentals of blockchain from leaders in this domain. Further enhancing her mark in the blockchain domain, Aurora offered her expertise to [**KodaDot**](https://kodadot.xyz/), a prominent multi-chain NFT marketplace, developing developer documentation and crafting both technical and non-technical articles to amplify the platform's presence. + +In the realm of community engagement and organization, Aurora co-organized the [**Polkadot Bled mini-conference**](https://www.meetup.com/subwork/events/292274713) and more recently, orchestrated a breakfast as a side event at sub0 aimed at [**women in Polkadot** in collaboration with **H.E.R. Dao**](https://lu.ma/dzuqx5nw). This gathering aimed to empower and bring together women leaders and enthusiasts in the Polkadot ecosystem. Furthermore, she's a staunch supporter of [**SubWork**](https://subwork.xyz/), a tech-centric coworking hub in the scenic Bled region and one of the pioneer **Polkadot hubs**. + +Now a freelance blockchain developer, Aurora champions women's representation in Polkadot and ardently supports community-driven blockchain initiatives. + +*Note: Aurora Poppyseed has not previously applied for a grant at the Web3 Foundation.* + +--- + +### Team's Repository & Online Presence + +**Organization's GitHub Page**: +- [LasticXYZ Official Page](https://github.com/LasticXYZ) + +**Primary Repository for Grant Submission**: +- [Lastic UI Repository](https://github.com/LasticXYZ/lasticUI) + +**Team Member GitHub Profiles**: +- [Phillux's GitHub](https://github.com/phillux) +- [PoppyseedDev's GitHub](https://github.com/poppyseedDev) + +**LinkedIn Profiles**: +- [Philip Lucsok](https://www.linkedin.com/in/philiplucsok) +- [Aurora Makovac](https://www.linkedin.com/in/auroramakovac) + +## Development Status & Progress + +The main hub of our grant-related development is the [LasticUI Repository](https://github.com/LasticXYZ/LasticUI). The groundwork of this repository stems from the [substrate frontend template](https://github.com/substrate-developer-hub/substrate-front-end-template), providing us with a robust starter code. + +We're progressing by configuring our frontend development environment locally, leveraging the Substrate framework, and establishing a direct connection with it. Detailed setup and operational instructions can be accessed in the repository's [README.md](https://github.com/LasticXYZ/LasticUI/blob/main/README.md). + +Our secondary [Lastic Repository](https://github.com/LasticXYZ/Lastic) is currently private but will soon transition to public access. This space captures our internal deliberations framed as issues, preliminary whitepaper drafts, and an essential frontend for our main website, [lastic.xyz](https://www.lastic.xyz/), augmented with pertinent links. + +**Insightful Blogs**: +1. [The Genesis of a Coretime Marketplace for Polkadot](https://medium.com/lastic-marketplace/the-genesis-of-lastic-a-coretime-marketplace-for-polkadot-9dc851fa365f) +2. [Polkadot 2.0 - A new era of decentralization](https://medium.com/lastic-marketplace/polkadot-2-0-a-new-era-of-decentralization-d5626a6e63e5) + +## Development Roadmap :nut_and_bolt: + +### Overview + +- **Estimated duration:** 1 month +- **FTE:** 2 +- **Total Costs:** 10000 USD + +### Milestone 1 - Creating a Frontend with basic functionality for the coretime chain + +- **Estimated duration:** 1 month +- **FTE:** 2 +- **Costs:** 10000 USD + +> :exclamation: **The default deliverables 0a-0d below are mandatory for all milestones**, and deliverable 0e at least for the last one. + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| **0a.** | License | Licensed under GPLv3 | +| **0b.** | Documentation | Comprehensive documentation will include inline code comments and a detailed wiki. The wiki will clarify core terms such as “coretime” and “assignments” for user understanding. This will be a one-stop resource for insights into coretime's intricacies and functionalities. | +| **0c.** | Testing and Testing Guide | Core functions will be fully covered by comprehensive UI testing framework to ensure functionality and robustness. UI Testing involves making sure all functionality works as intended, and from different browsers, OSs and platforms. On MacOS, Linux, and Windows, we will test browsers including, but not limited to: Chrome, Firefox, Safari, Edge, Brave and Safari for iOS and Chrome on Android. We will test for consistency across platforms and browsers, ensuring all navigational elements work, all graphics are rendered correctly, all data is updated in a timely fashion, for mobile responsiveness, and that there are no unintended results. | +| **0d.** | Error logging | In the event of an error, we will ensure the UI writes the error details to an event viewer or log file for later review. | +| **0e.** | Article Publishing | **Five articles** will be published covering topics from Polkadot 2.0 insights to the Lastic long-term vision. 1. [The Genesis of a Coretime Marketplace for Polkadot](https://medium.com/lastic-marketplace/the-genesis-of-lastic-a-coretime-marketplace-for-polkadot-9dc851fa365f) 2. [Polkadot 2.0 - A new era of decentralization](https://medium.com/lastic-marketplace/polkadot-2-0-a-new-era-of-decentralization-d5626a6e63e5) 3) How Agile Coretime works and what it provides 4.) Further Coretime developments based on Gavin's talk at Protocol Berg (Corejam, Coreplay) 5. The Lastic Roadmap, including our future long-term vision of Lastic | +| 1. | Whitepaper creation | Comprehensive Lastic whitepaper creation. | +| 2a. | User Flow Diagram Design | A user-centric flow diagram will be designed to showcase the interaction journey on the platform. This design will be in line with the principles highlighted in the RFC for coretime chain and broker pallet. It will primarily cover the instantaneous coretime sales and primary market sales, leaving out the secondary market. The finalized user flow diagram will be accessible via a link in the LasticUI repository's README.md file. | +| 2b. | UI Figma Design | We will craft a Figma-based UI design for the coretime chain, with the focus on instantaneous coretime sales and primary market sales (excluding the secondary market). This task will be undertaken without the aid of a professional designer. Preliminary mockups for this stage have been initiated and further details can be gleaned from the expansion of section 3.b. The complete design will be shared through a link in the LasticUI repository's README.md file. | +| 3a. | Frontend Development - Broker Pallet Integration | This phase will integrate basic interactions available in the `broker pallet` into the frontend. Detailed insights into the interactable features can be found in the expanded section of 3.a. Key deliverables will encompass the inclusion of all listed UI extrinsic functions, relevant UI constants, and selected UI storage queries limited to the fuctionality that can be implemented locally. More details are available in the expansion of 3.a section. | +| 3b. | Mockup-based Frontend Development | We will bring to life the mockups for both Instantaneous Coretime sales and the primary market for Bulk Coretime sales as visualized in the UI designs under section 2.b. These mockups will due to limitations of time restirictions only feature "fake data" and not the actual data from the coretime chain. To get an in-depth view of these, refer to the expanded details in section 3.b. | + +--- + +### Expansion of 3.a - Basic Interaction Creation + +#### UI extrinsic functions: + +*Note: Functions with system admin privilege are not included here and will not be included in the UI.* + +| Function Name | Description | +|---------------|-------------| +| renew | Renew Bulk Coretime in the ongoing Sale or its prior Interlude Period. | +| transfer | Transfer a Bulk Coretime Region to a new owner. | +| partition | Split a Bulk Coretime Region into two non-overlapping Regions at a particular time into the region. | +| interlace | Split a Bulk Coretime Region into two wholly-overlapping Regions with complementary interlace masks which together make up the original Region's interlace mask. | +| assign | Assign a Bulk Coretime Region to a task. | +| pool | Place a Bulk Coretime Region into the Instantaneous Coretime Pool. | +| claim_revenue | Claim the revenue owed from inclusion in the Instantaneous Coretime Pool. | +| purchase_credit | Purchase credit for use in the Instantaneous Coretime Pool. | +| drop_region | Drop an expired Region from the chain. | +| drop_contribution | Drop an expired Instantaneous Pool Contribution record from the chain. | +| drop_history | Drop an expired Instantaneous Pool History record from the chain. | +| drop_renewal | Drop an expired Allowed Renewal record from the chain. | +| request_core_count | Request a change to the number of cores available for scheduling work. | + +#### UI constants: + +| Constant Name | Description | +|---------------|-------------| +| PalletId | Identifier from which the internal Pot is generated. | +| TimeslicePeriod | Number of Relay-chain blocks per timeslice. | +| MaxLeasedCores | Maximum number of legacy leases. | +| MaxReservedCores | Maximum number of system cores. | + +#### UI storage to query: +_Note: Not all storage to query listed here will be implented in the scope of this grant._ + +| Storage Item | Description | +|--------------|-------------| +| Configuration | The current configuration of this pallet. | +| Reservations | The Polkadot Core reservations (generally tasked with the maintenance of System Chains). | +| Leases | The Polkadot Core legacy leases. | +| Status | The current status of miscellaneous subsystems of this pallet. | +| SaleInfo | The details of the current sale, including its properties and status. | +| AllowedRenewals | Records of allowed renewals. | +| Regions | The current (unassigned) Regions. | +| Workplan | The work we plan on having each core do at a particular time in the future. | +| Workload | The current workload of each core. This gets updated with workplan as timeslices pass. | +| InstaPoolContribution | Record of a single contribution to the Instantaneous Coretime Pool. | +| InstaPoolIo | Record of Coretime entering or leaving the Instantaneous Coretime Pool. | +| InstaPoolHistory | InstaPool rewards for each Timeslice and the number of core parts which contributed. | + + +### Expansion of 3.b - Basic Interaction Creation +_Note: All designs featured here are just quick design mockups and will be prone to change during the duration of this grant._ + +This mockup/UI design features the design of the page Instantanious Coretime sales. +![Instantanious coretime sales](https://github.com/LasticXYZ/Grants-Program/assets/30662672/f8ecbca8-1b8a-4214-a0a0-5281e880c4de) + +This mockup/UI design features the design of the page primary market for the Bulk sales. +![Primary market bulk sales](https://github.com/LasticXYZ/Grants-Program/assets/30662672/d1b65609-c763-449d-bdba-e2c92f0387ec) + +**** We will create a frontend allowing users to see the current state of Coretime on Polkadot, including, but not limited to: Number of cores available, Number of cores assigned, Number of legacy cores assigned, Number of blocks in the Instantaneous Pool, Number of Cores parititioned, etc. Note: this will be made using dummy data. | + + +## Future Plans + +- Lastic aims to become a secondary marketplace for blockspace on Polkadot using its new Agile Coretime model +- We intend to first build out a UI for the community to gather, assess, and analyze the state of Coretime including its availability and sales +- After Agile Coretime is enabled on Rococo, we will plug in our UI so that it can become useful to the community right away +- Lastic will support Rococo, Kusama and Polkadot +- Users will be able to purchase coretime in the 'default' methods of bulk and instantaneous via Lastic +- Users will be able to use Lastic as a way to view, paritition, resell, purchase, and trade coretime in various ways +- The long-term vision for Lastic is that it will be the one place for ANY user to buy and sell blockspace on Polkadot, regardless of the state machine or smart contract or application they have. +- Lastic aims to support features for the upcoming roadmap laid out in the RFCs, for example Coreplay and Corejam + +### On the Horizon: Frontend Development with Blockchain Integration: + +Initiation Timeline: Post the release of W3F's branch on the Rococo testnet, followed by data availability for real-time functionality testing. Estimated commencement: 4 months post-Rococo testnet launch, with the mainnet integration slated 3-6 months thereafter. + +Developmental Milestones: + + - Integration with Subquery to facilitate efficient storage querying. + - Design and implement a dynamic pricing simulation tool. + - Facilitate smooth synchronization with testnet, subsequently followed by devnet. + - Establish a robust secondary marketplace, ensuring it undergoes rigorous testing phases. + - Pave the way for feature enablement on major platforms such as Polkadot and Kusama's mainnets. + - Dedicated efforts towards crafting a user-centric interface for the secondary marketplace. For a preliminary glimpse of our vision, refer to the mockup showcased below: +![Secondary market bulk sales](https://github.com/LasticXYZ/Grants-Program/assets/30662672/19b1cff8-ac16-4cea-81e5-385a29ee46f6) + + +## Additional Information :heavy_plus_sign: + +**How did you hear about the Grants Program?** + +- Phil's experience working at Parity informed him of the Web3 Grants program. +- Aurora has learned about the Web3 Grants program during her time working at KodaDot. + +Additional information: +- We have received no financial contributions to Lastic, nor have applied for any other grants From 2fa9ac56be1b65274c8019cb501502516200abc0 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Fri, 29 Sep 2023 20:43:48 +0200 Subject: [PATCH 092/133] Update index.md Add Lastic --- applications/index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/applications/index.md b/applications/index.md index 1d264a66806..541cae17d6a 100644 --- a/applications/index.md +++ b/applications/index.md @@ -76,6 +76,7 @@ Besides, **there is a clear difference between an application being accepted and | [Moonsong Labs](https://moonsonglabs.com/) | [StorageHub](./StorageHub.md) | [GitHub](https://github.com/Moonsong-Labs) | ☐ | ☐ | ☐ | | [Jonathan Brown](https://acuity.social/) | [Hybrid Explorer Phase 2](hybrid2.md) | [GitHub](https://github.com/hybrid-explorer) | ☐ | ☐ | ☐ | | [Coong Crafts](https://coongcrafts.io/) | [DelightfulDOT](delightfuldot.md) | [GitHub](https://github.com/CoongCrafts) | ☐ | ☐ | ☐ | +| [Lastic](https://www.lastic.xyz/) | [Lastic](Lastic.md) | [GitHub](https://github.com/LasticXYZ) | ☐ | ☐ | ☐ | [🔝](#2023) From d0e15f6c80ba44283f5e362ebe53c7b515889281 Mon Sep 17 00:00:00 2001 From: Noc2 Date: Fri, 29 Sep 2023 20:54:28 +0200 Subject: [PATCH 093/133] fix website --- applications/Lastic.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/applications/Lastic.md b/applications/Lastic.md index 37a2149fc45..24e097c00a4 100644 --- a/applications/Lastic.md +++ b/applications/Lastic.md @@ -194,16 +194,16 @@ _Note: Not all storage to query listed here will be implented in the scope of th |--------------|-------------| | Configuration | The current configuration of this pallet. | | Reservations | The Polkadot Core reservations (generally tasked with the maintenance of System Chains). | -| Leases | The Polkadot Core legacy leases. | -| Status | The current status of miscellaneous subsystems of this pallet. | -| SaleInfo | The details of the current sale, including its properties and status. | -| AllowedRenewals | Records of allowed renewals. | -| Regions | The current (unassigned) Regions. | -| Workplan | The work we plan on having each core do at a particular time in the future. | -| Workload | The current workload of each core. This gets updated with workplan as timeslices pass. | -| InstaPoolContribution | Record of a single contribution to the Instantaneous Coretime Pool. | -| InstaPoolIo | Record of Coretime entering or leaving the Instantaneous Coretime Pool. | -| InstaPoolHistory | InstaPool rewards for each Timeslice and the number of core parts which contributed. | +| Leases | The Polkadot Core legacy leases. | +| Status | The current status of miscellaneous subsystems of this pallet. | +| SaleInfo | The details of the current sale, including its properties and status. | +| AllowedRenewals | Records of allowed renewals. | +| Regions | The current (unassigned) Regions. | +| Workplan | The work we plan on having each core do at a particular time in the future. | +| Workload | The current workload of each core. This gets updated with workplan as timeslices pass. | +| InstaPoolContribution | Record of a single contribution to the Instantaneous Coretime Pool. | +| InstaPoolIo | Record of Coretime entering or leaving the Instantaneous Coretime Pool. | +| InstaPoolHistory | InstaPool rewards for each Timeslice and the number of core parts which contributed. | ### Expansion of 3.b - Basic Interaction Creation From 094d243eab3b7d235a7e6b2dcbbc1ea3e760a74a Mon Sep 17 00:00:00 2001 From: Nikhil W3F <142136841+nikw3f@users.noreply.github.com> Date: Fri, 29 Sep 2023 21:07:32 +0200 Subject: [PATCH 094/133] Broken link checker (#1977) Co-authored-by: Nikhil Ranjan --- .github/workflows/check_broken_links.yml | 29 ++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 .github/workflows/check_broken_links.yml diff --git a/.github/workflows/check_broken_links.yml b/.github/workflows/check_broken_links.yml new file mode 100644 index 00000000000..326b1545359 --- /dev/null +++ b/.github/workflows/check_broken_links.yml @@ -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/lychee-action@v1.8.0 + 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 From 4596d7f015c5b4bc52f6b050185c021e61d208cf Mon Sep 17 00:00:00 2001 From: Keegan | W3F <35080151+keeganquigley@users.noreply.github.com> Date: Tue, 3 Oct 2023 04:29:25 -0400 Subject: [PATCH 095/133] Update binary_merkle_tree.md (#2026) --- applications/binary_merkle_tree.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/binary_merkle_tree.md b/applications/binary_merkle_tree.md index 5d4bc060533..83b6ae7942f 100644 --- a/applications/binary_merkle_tree.md +++ b/applications/binary_merkle_tree.md @@ -3,7 +3,7 @@ - **Team Name:** ALPHA LABS FZCO - **Payment Address:** 0x503b14fCcbAD63A1d6054D07f8B4685dCf5db7c3 (USDT ERC20) - **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 - +- **Status:** [Terminated](https://github.com/w3f/Grants-Program/pull/1179#issuecomment-1742345375) ## Project Overview :page_facing_up: From 6c448650f2f6a2bb3513c75be11dad3e61b5fa1a Mon Sep 17 00:00:00 2001 From: Nikhil W3F <142136841+nikw3f@users.noreply.github.com> Date: Tue, 3 Oct 2023 19:41:48 +0200 Subject: [PATCH 096/133] profond milestone 1 (#2029) --- applications/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/index.md b/applications/index.md index 541cae17d6a..55e1bdc0124 100644 --- a/applications/index.md +++ b/applications/index.md @@ -92,7 +92,7 @@ Besides, **there is a clear difference between an application being accepted and | [Collective Intelligence Labs](https://collectiveintelligence.dev/)| [Omnichain Infrastructure](./CILA-omnichain-infrastructure.md) | [GitHub](https://github.com/Collective-Intelligence-Labs) | ☐ | ☒ | ☐ | | [TradeLink](https://tradelink.pro/) | [Sandox](./sandox.md) | [GitHub](https://github.com/BEARlogin) | ☐ | ☒ | ☐ | | [Wunderbar Network](https://wunderbar.network/) | [Vue.js + TypeScript Substrate Front-End Template](./vue-typescript-substrate-frontend-template.md) | [GitHub](https://github.com/WunderbarNetwork) | ☐ | ☐ | ☐ | -| [Profond.ai](https://www.profond.ai/) | [Profond](./Profond.md) | [GitHub](https://github.com/emarai) | ☐ | ☐ | ☐ | +| [Profond.ai](https://www.profond.ai/) | [Profond](./Profond.md) | [GitHub](https://github.com/emarai) | ☐ | ☒ | ☐ | | [727.ventures](https://727.ventures) | [Patron](./patron.md) | [GitHub](https://github.com/727-Ventures) | ☐ | ☒ | ☒ | | [Supercomputing Systems AG](https://www.scs.ch) | [SARP - A Static Analysis Tool for Runtime Pallets](./sarp-basic-functionality.md) | [GitHub](https://github.com/scs) | ☐ | ☒ | ☒ | | [Ed Anderson](https://github.com/eca20) | [Blockchainia](./blockchainia.md) | [GitHub](https://github.com/eca20) | ☐ | ☐ | ☐ | From 0aec5957536a9a6b29f976de32b24843e45f690d Mon Sep 17 00:00:00 2001 From: Ashley Turing Date: Tue, 3 Oct 2023 20:00:24 +0100 Subject: [PATCH 097/133] DecentralML - grant application (#1818) * initial commit * re-trigger commit * in-depth implementation research updates * Update applications/decentral_ml.md Co-authored-by: S E R A Y A * Update applications/decentral_ml.md Co-authored-by: S E R A Y A * Update applications/decentral_ml.md Co-authored-by: S E R A Y A * Update applications/decentral_ml.md Co-authored-by: S E R A Y A * Update applications/decentral_ml.md Co-authored-by: S E R A Y A * Update applications/decentral_ml.md Co-authored-by: S E R A Y A * Update applications/decentral_ml.md Co-authored-by: S E R A Y A * Update applications/decentral_ml.md Co-authored-by: S E R A Y A * comment response adjustments * fix 2x4 :) * Added "Robust Incentivisation Scheme" * Added specifics on the role assignments * clarification simplified to address feedback * recommit for license agreement * removed "participant" word from "Robust scheme" * add e-2-e example --------- Co-authored-by: S E R A Y A --- applications/decentral_ml.md | 194 +++++++++++++++++++++++++++++++++++ 1 file changed, 194 insertions(+) create mode 100644 applications/decentral_ml.md diff --git a/applications/decentral_ml.md b/applications/decentral_ml.md new file mode 100644 index 00000000000..555d6e46889 --- /dev/null +++ b/applications/decentral_ml.md @@ -0,0 +1,194 @@ +# Decentral ML +- **Team Name:** Livetree Community Ltd +- **Payment Address:** 0xC852e933FBB719b607A96D73b033b3523Be04374 (Ethereum USDC) +- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 + +## Project Overview :page_facing_up: + +This is a new funding application and is not in response to an RFP, nor a follow-up grant. + +### Overview + +One-liner: A Polkadot protocol for decentralised federated machine learning and collective governance. + +Project Description: +DecentralML introduces decentralised federated machine learning (DFML), governed by collective consensus to the Polkadot ecosystem. Our goal is to provide a robust framework for AI model developers, organisations, and applications, enabling decentralised ownership of models while ensuring privacy and scalability. With node or on-device training protecting privacy, the ability to pool training data, collaborative AI training, and "collective" governance controls, DecentralML may transform the field of machine learning for state-of-the-art AI models (think LLMs and more) with transparent governance. + +Integration with Substrate / Polkadot / Kusama: +DecentralML is built upon the Substrate framework, and leverages the Tensorflow's Federated Machine Learning library enabling seamless integration into the Polkadot ecosystem. By leveraging Substrate's flexible and modular pallet architecture, we can shortcut a lot of the overhead needed to create a chain that has a dynamic collective consensus governance approach for things like AI model weights and other safety measures along with higher level controls for licensing of the entire models, jurisdiction training rules and other multi-territorial controls. + +The project aims to be as open and flexible as possible to integrate with other project with an innovative "bring your own" (BYO) token staking economy (faciliated by Pallets such as Balances, Grandpa, Ink! etc). + +We hope for active engagement from the wider Polkadot developer network once the project is complete or even during its development. We strongly believe that this project holds the potential to transform and advance the entire AI industry. + +Team Motivation: +Our team is driven by the urgent need to challenge the dominance of centralised corporates like Facebook, OpenAI, Microsoft, etc, in the field of AI model development. These companies have built powerful models that require significant computing power and data, are not environmentally efficient, limit access to AI capabilities and, potentially, create a safety threat to humankind. We believe that these models could not only be statistically improved if they were decentralised, but also may improve power usage efficiency and reduce safety concerns by being transparently controlled by humankind on-chain, rather than a select number of corporations. + +Our second motivation as Livetree involves a solution for our AI tasks, such as video processing, speech-to-text, facial recognition, scene detection, and content recommendations. We currently solve these challenges using centralised model solutions and would like to transition to a decentralised model. For further demonstrations or information on Livetree, feel free to download the free Livetree app and try speech-to-text or contact us. We will gladly provide instructions on how you can try the AI models within our app and provide the raw AI JSON processing results for object detection, landmark recognition, speech-to-text, and other AI processor outputs. + +We are passionate about decentralisation and see the limitations of centralisation in terms of quality of the models, data ownership, privacy, and safety control. This has fueled our motivation to decentralise these models and create a decentralised federated machine learning module. + + +### Project Details + +We have made significant progress in integrating TensorFlow's Federated Machine Learning (FML) library within a decentralized Polkadot Substrate environment. This innovative approach combines the power of decentralized machine learning with the robustness of Polkadot's governance and consensus mechanism. The key objectives of our project can be summarised as follows: + +1. Personal data privacy: Our approach ensures that the model is trained on the local node or device, with only the model inferences synchronised through consensus. This preserves privacy as private data never leaves the device/node, protecting user data and maintaining confidentiality. + +2. Improved model quality: By enabling a diverse set of nodes to contribute to the training process, our decentralized approach allows for a wider range of data inputs. This results in better model insights and intelligence that may surpass current centralised models, leading to more accurate, comprehensive and widely available models. + +3. Safety and governance: The governance of consensus built within the Polkadot Substrate framework enables open collective voting on crucial aspects such as model weights, jurisdictional usage, costs, and model selection. This provides a transparent and secure environment for the future AI collective society to make informed decisions and ensures the safety and reliability of the models. + + + +#### Architecture Overview + +##### Logical Components + +![Logical architectural components](https://cdnlt.com/decentralML/LogicalArchitecture.svg) + + +**Data Management**: Blockchain-based encrypted data storage system that ensures immutable data storage and securely provides data access via protocols and apis. + +**Federated Learning Consensus**:Implements federated learning algorithms like Federated Averaging or Secure Aggregation for collaborative model training across distributed nodes. + +**Collective Economy**: Implements decentralized governance using a collective model, to enable decision-making amongst participants to vote on model updates, protocol changes, network parameters, reputation systems, model licensing, nodes lists and incentive mechanisms to encourage active node participation, discourage malicious behavior, and reward contributors. + +**Model Deployment**: Model serving frameworks (e.g., TensorFlow Serving, PyTorch Lightning) for deploying trained models for production usage, including monitoring tools and frameworks for tracking model performance, latency, and resource utilisation. + +**Client Interface**: This component acts as a facade providing a universal interface to the deployed models and other aspects of the system for a range of DevTools, SDKs, and user interfaces. + + +##### Implementation + +**Data Management**: Current implementation uses IPFS, however, as part of the grant we plan to make this modular so other dentralised and, potentially, distributed storage systems (such as HDFS) might be dynamically utilised. + +**Federated Learning Consensus**: Implements the federated learning process which involves multiple stages: +1. Client Selection: Selecting a subset of clients or nodes themselves to participate in each round of model training. +2. Model Distribution: Distributing the initial model or updated model parameters to the selected clients. +3. Local Model Training: Clients perform model training on their local data using the received model parameters. +4. Model Aggregation: Aggregating the updated model parameters from the clients to generate a node model update. +5. Model Update Application: Applying the node model update via consensus to the global model. + +Nodes are rewarded for successfully improving the model. This happens at "Model Update Application" stage whereabouts the global model is segregated into training, testing and results data partitions. The application of the node gradient update should result in the testing partition. If the results when compared to the testing partition prove successful then the node is awarded tokens in order to pay for the required resources—processors, memory, storage, and network bandwidth used to perform the federated learning. As part of this grant we will introduce token staking so any Polkadot compatible token can be used enabling the framework to support external token ecomonies. + +**Collective Economy**: By submitting and voting on proposals—referenda—the DecentralML community can determine what models should be trained, the thresholds for node rewards per model, clients eligible for training, and other ownership and training specifics. These include but are not limited to jurisdicational licensing fees for model deployment and other safety measures such as weights or algorithms related to the model. + +**Model Deployment and Client Interface**: The ability to interact with the models and chain will be limited to a simple Javascript/Typescript set of interfaces primarily for model submission, and parameterisation through governance. + + +#### Technology stack + +- Python/TensorFlow +- Rust/Substrate +- IPFS + + + +### Ecosystem Fit + +The team has engaged with core members of the Polkadot team who have shown keen interest in the convergence of federated ML and decentralization. Through active discussions with key technical leads, we have identified immense potential to revolutionise the field of artificial intelligence using the Substrate framework and the Polkadot's developer network. Our goal is to democratise and decentralise AI models development by introducing decentralised federated machine learning, surpassing the capabilities of centralised entities. With privacy protection at the core, industries ranging from healthcare to creator and social networks can benefit from our solution. + +To our knowledge, there are currently two AI-related projects in the Substrate/Polkadot/Kusama ecosystem: DeepBrainChain and BitTensor. DeepBrainChain focuses on decentralised GPU server compute, while BitTensor offers a marketplace for ranked models. DecentralML brings decentralised federated machine learning to the ecosystem, making it an exciting addition to the Polkadot ecosystem. + +## Team :busts_in_silhouette: + + +### Team members +- Name of team leader: + - Ashley Turing +- Names of team members: + - Dr Jamie Ward + - Isak Grimsson + + We have also made contact with wider related field researchers: +[Dr. Philip Treleaven](http://www0.cs.ucl.ac.uk/staff/P.Treleaven/) | [Dr Jonathan M M Hall](https://drjonathanmmhallfrsa.wordpress.com/) | [Jesse C. Cresswell](https://scholar.google.ca/citations?user=7CwOlvoAAAAJ&hl=en) + + +### Contact + +- **Contact Name:** Ashley Turing +- **Contact Email:** at@livetree.com +- **Livetree App:** + + +### Legal Structure + +- **Registered Address:** 301 Kingsland Rd, Haggerston, London, E8 4DS, UK +- **Registered Legal Entity:** Livetree Community Ltd + +### Team's experience +The team consists of computer science academics and software engineers, including Dr. Jamie Ward, a senior lecturer in machine learning at Goldsmith's University, Isak Grimson, a computer science graduate specialising in machine learning research, and Ashley Turing, an experienced computer software engineer with expertise in blockchain technologies. + + +### Team Code Repos + +- + +- + +### Team LinkedIn Profiles (if available) + +- Ashley Turing + +- Jaime Ward + +- Isak Grimsson + + +## Development Status :open_book: + +The current whitepapers for BitSensor and DeepBrainChain +- [BitSensor](https://drive.google.com/file/d/1VnsobL6lIAAqcA1_Tbm8AYIQscfJV4KU/view) +- [DeepBrainChain](https://www.deepbrainchain.org/assets/pdf/DeepBrainChainWhitepaper_en.pdf) + + +Here are key publications in the field of decentralised federated machine learning: + +- [Federated Learning: The Pioneering Distributed Machine Learning and Privacy-Preserving Data Technology](https://ieeexplore.ieee.org/abstract/document/9755189) +- [A novel decentralized federated learning approach to train on globally distributed, poor quality, and protected private medical data](https://www.nature.com/articles/s41598-022-12833-x) +- [Decentralized federated learning through proxy model sharing](https://www.nature.com/articles/s41467-023-38569-4) + + + +## Development Roadmap :nut_and_bolt: + +### Overview + +- **Total Estimated Duration:** 2 months +- **Full-Time Equivalent (FTE):** 2.5 +- **Total Costs:** 30,000 USD + +### Milestone 1 — Federated Learning Consensus & Data Management Implementation + +- **Estimated duration:** 4 weeks +- **FTE:** 2.5 +- **Costs:** 15,000 USD + + +| Number | Deliverable | Specification | +| ------: | ---------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| **0a.** | License | APACHE 2 | +| **0b.** | Documentation | We will provide both a **Gitbook with basic tutorial** and **inline documentation** of the code that explains how a user can (for example) upload and train a model, this will show how the federated machine learning functionality works. | +| **0c.** | Testing and Testing Guide | Unit test will comprehensively cover core functions ensuring both functionality and robustness. In the Gitbook, 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. | | | | +| 1. | Data Management Implementation | DecentralML, aims to establish a system of on-chain incentives and charges for the four key parties involved in the model's training and utilization. These parties are defined as:

i) Model Engineers: These are the data scientists, mathematicians, and computer scientists who develop and refine the models.
ii) Data Annotators: These users enrich the model by providing labels and annotations.
iii) Data Contributors: These users enhance the model by adding gradients.
iv) Clients: These are the licensors of the model who may wish to use the model for commercial, contribution or educational purposes.

Our initial step in this process involves storing the "Master" model in a decentralized storage system. This DecentralML "PUT" method will be parameterized, allowing for the selection of different storage types (e.g., 1=IPFS, 2=Another storage type). We will abstract the data management to support pluggable data storage implementations and will implement IPFS initially. Note: In the future, we would like to support different decentralised storage types to test for update speed, retrieval and caching (see [Decentralised data options for polkadot](https://wiki.polkadot.network/docs/build-storage))

The "Model Creator" initiates the upload by calling DecentralML methods using the Substrate Python Client library. Initially, uploading the "Master Model" and defining the "Training" parameters. These parameters include but are not limited to the following:
1. The staked pool payable amount is sent by the "Model Creator" and stored on-chain as either DOT (or relevant compatible coin). These assets will ultimately be used to incentivize Data Contributors, Model Engineers, and Data Annotators.
2. The percentage of the pool allocated to the Data Contributors, Model Engineers, and Data Annotators.
3. The charges for Model Engineers to download the model.
4. The charges for Licensors of the model to download it.

These DecentralML parameters will be set using the Python client library by the "Model Creator". The method will return a global unique identifier for the model.| +| 2. | Federated Learning Consensus | We will write the core of rewarding "Data Contributors". Our focus will be on supporting Google's [TensorFlow's Federated Learning](https://www.tensorflow.org/federated) implementation, given its widespread client support and the substantial commercial funding it has received for development. However, we acknowledge the limitations of this approach, particularly in relation to the [ProxyModel approach](https://github.com/layer6ai-labs/ProxyFL), and we may consider modifying TensorFlow's core FL libraries in future releases to incorporate the ProxyModel approach. In terms of specific deliverables we plan on developing two DecentralML methods:

1. defineDataContributors([clientId], [walletaddress]): This method, called by the Model Creator (MC), identifies the "Data Contributors" who are eligible to train the model. The clientId is generated by the TensorFlow FL library. It is the MC's responsibility to manage and develop the relevant Client specific applications using TensorFL client libraries. This method is expected to be called before the "Client Selection" step outlined in the "Implementation > Federated Learning Consensus" section of this application. In this context, DecentralML serves as an auditing and reward mechanism for the Data Contributors.
2. rewardDataContributors([clientIdArray],[0-1]): This method, also called by the MC, rewards the Client for their data contribution. We anticipate this function being called after step 4, Model Aggregation, once the MC has determined a score (defined as the second parameter, ranging from 0-1). This score represents a percentage of the remaining "Data Contributors Pool" defined during the initial upload of the "Master Model". The method then allocates the assets to the Data Contributors' wallet. The advantage of this approach is that it requires minimal modifications to the TensorFlow FL library. Instead, we focus on rewarding and providing transparency for each set of gradients passed by the client, thereby incentivizing the client to contribute data to the model.

We will also add additional administrative methods as needed, such as the ability to upload the associated Client gradients and query the allocation on-chain. + + +### Milestone 2 — Collective Economy and Client Interface + +- **Estimated duration:** 4 weeks +- **FTE:** 2.5 +- **Costs:** 15,000 USD + + +| Number | Deliverable | Specification | +| ------: | ---------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| **0a.** | License | APACHE 2 | +| **0b.** | Documentation | We will provide both a **Gitbook with basic tutorial** and **inline documentation** of the code that explains how a user can (for example) work with governance and stake against a model and how the client interface works. | +| **0c.** | Testing and End-to-end (e2e) Testing Guide | Comprehensive unit tests to ensure core functionality and robustness of code. Instructions on how to run the tests will be included. End-to-end federated learning test using the MNIST dataset for classification | +| **0d.** | Docker | We will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. | | | | +| **0e.** | Robust Incentivisation Scheme | In response to the feedback received, we will implement a random role assignment mechanism as part of our example game logic. We also see the value in having some flexibility in role assignments, similar to the VBFL paper. This will be configurable using the strategy pattern, thereby addressing the "game theory" concerns. As in the VBFL paper, at every communication round, each device will be randomly appointed as one of the three roles defined as follows: (1) "Data Contributors" can occasionally take on the role of "machine learning worker," as described in the VBFL paper. (2) The role of "model validator" will be an extension of our existing validation processes. This role will employ advanced validation techniques like k-fold and stratified sampling to ensure the integrity and accuracy of model training. This role can be dynamically assigned as with the "machine leanring worker" and "blockchain miner" roles, adding an extra layer of robustness. (3) The "blockchain miner" role will be responsible for incorporating validated models into the blockchain. | | | | +| 1. | Collective Economy | We plan to establish governance mechanisms related to the selection and training of models, specifically for Data Annotators and Model Engineers.

For Model Engineers, we will implement the following logical methods:

1. listMasterModels: This method returns a report listing the modelGUID, modelName, usageType, usageTypeCost, and costTokenAccept.
2. getMasterModels(licenseUsage, quantityOfPaymentCoins): This method takes the type of usage and the payable amount for that usage, returning the master model. It operates on an element of trust, with users expected to pay the appropriate amount based on the associated licensing (MIT, Apache, etc. defined on-chain for the model). While we don't anticipate this being a problem for this grant, future releases may include more sophisticated whitelists or permissions.
3. listModelEngineers(modelGUID): This method returns a list of Model Engineer (ME) wallet addresses approved to call the collectiveApprovesModel method.
4. modelEngineerUpdate(modelGUID, model, senderWalletAddress): Anyone can send their version of the model, which will be stored on-chain for review and approval. We may add more permissions to this method but the idea is to keep it as open as possible.
5. listModelEngineerUpdates(modelGUID): This method returns a report listing the senderWalletAddress, model version, block number, and updateID.
6. collectiveApprovesModel(updateID, collective member or MC sender address, reward percentage:0-1): This method approves the model to replace the "Master" model and awards the Model Engineer a percentage (defined in the parameter 0-1) from the Model Engineer pool.
7. addCollectiveMember(modelGUID, walletAddress): This method adds collective members to the approval list so updates to the model by MEs can be approved. Future expansions may support issues like jurisdiction, licensing, usage, as well as parameter settings for algorithm selection and more.

For Data Annotators, we will implement similar logical methods:

1. `uploadDataForAnnotation(image, text, sound, testQuestionnaire:questionText, answerType, questionId, answerPoints:numberPointsRewarded, batchParameters)`: This method allows collective members to provide data that requires annotation. The solution design records the answer types as columns and the questions as rows, enabling a wide variety of annotation questions to be modelled depending on the model requirement.
2. `getDataAnnotationQuestionnaire(modelGUID)`: This method returns a list of required data annotations and associated questionnaire information with data types as columns, offering flexibility to build a wide variety of dApps that could harness and offer various rewards to DAs.
3. `submitDataAnnotationForReward(modelGUID, questionId, answer)`: This method implements a simple validation test for the submitted annotated data, with the potential for more sophisticated game theory algorithms to validate DA submissions in the future.
4. `reportDataAnnotationAwards(modelGUID)`: This method returns a report of pending and allocated rewards. +| 2. | Client Interface | We will focus on utilising Substrate api-client libraries, particularly the Python library. We won't be developing a user interface for Data Annotators or any other specific targetted party. Instead, our attention will be on integrating a Python library, which could potentially be used with applications like Jupyter Notebooks and other machine learning tools in the future. It's important to note that we anticipate commerical "Clients" will use the 'getMasterModel' method, as outlined in the Collective Economy section above. | \ No newline at end of file From 9950b927b8b4984ccfa136c04cf26aa24692b893 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Tue, 3 Oct 2023 21:08:23 +0200 Subject: [PATCH 098/133] Update index.md Add DecentralML --- applications/index.md | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/applications/index.md b/applications/index.md index 55e1bdc0124..9e5ac454cbf 100644 --- a/applications/index.md +++ b/applications/index.md @@ -6,14 +6,15 @@ layout: applications Use this page for an overview of all public grants and their status. Use the sidebar to navigate directly to a specific grant application document. :::info -This page provides an overview of accepted grant applications, their progress and a link to their GitHub repositories. In cases where the link points to an organization, you should be aware that the grant application itself **is often an independent project unrelated to other work done by the teams**. +This page provides an overview of accepted grant applications, their progress, and a link to their GitHub repositories. In cases where the link points to an organization, you should be aware that the grant application itself **is often an independent project unrelated to other work done by the teams**. -Furthermore, the page lists terminations which happened due to a breach of the terms of the grants programs. Additionally, teams might have decided to stop working on the grant—though not necessarily on the project itself—for various reasons, which is not reflected on this sheet. +Furthermore, the page lists terminations that happened due to a breach of the terms of the grants programs. Additionally, teams might have decided to stop working on the grant—though not necessarily on the project itself—for various reasons, which is not reflected on this sheet. Besides, **there is a clear difference between an application being accepted and the successful delivery of the respective project**, and only teams that have successfully delivered a milestone are allowed to make public announcements on the matter or to use our [badge](https://github.com/w3f/General-Grants-Program/blob/master/grants/grant-badge-guidelines.md). The badge can also never be used as a general endorsement for a team. Violations to this policy can be reported [here](mailto:grants@web3.foundation). ::: - [2023](#2023) + - [🏄 Wave 20 - Q4 2023](#️-wave-20---q4-2023) - [🏄 Wave 19 - Q3 2023](#️-wave-19---q3-2023) - [🏄 Wave 18 - Q2 2023](#️-wave-18---q2-2023) - [🏄 Wave 17 - Q1 2023](#️-wave-17---q1-2023) @@ -40,6 +41,12 @@ Besides, **there is a clear difference between an application being accepted and ## 2023 +### 🏄 Wave 20 - Q4 2023 + +| Team | Project | Link | Terminated | First Delivery | Completed | +| :------------------------------------------------------------------| :------------------------------------------------------------------------------------------------------| :------------------------------------------| :--------- | :------------: | :--------: | +| [Livetree Community Ltd](https://github.com/livetreetech/) | [DecentralML](./decentral_ml.md) | [GitHub](https://github.com/livetreetech/) | ☐ | ☐ | ☐ | + ### 🏄 Wave 19 - Q3 2023 | Team | Project | Link | Terminated | First Delivery | Completed | From a49deee2f13ef18d67a868c11d6a968daeb4ed8e Mon Sep 17 00:00:00 2001 From: Hristo Gergov Date: Wed, 4 Oct 2023 13:10:20 +0300 Subject: [PATCH 099/133] LimeChain's proposal for a research grant for the Polkadot Protocol Conformance Tests RFP (#1950) * LimeChain's proposal for a research grant for the Polkadot Protocol Conformance Tests RFP * LimeChain's proposal for a research grant for the Polkadot Protocol Conformance Tests RFP * Add lincense and payment currency * Exclude PoC step and adjust effort * Exclude Host API (Storage, Child Storage, Hashing), and Trie Proof Generation. Adapt the effort. Adapt the scope to exclude Host API (Storage, Child Storage, Hashing), and Trie Proof Generation. * Remove the PoC development delivery from the scope Removing the PoC development delivery, it was a leftover from a previous commit when the scope was reduced. --------- Co-authored-by: vikinatora --- .../Polkadot-Protocol-Conformance-Tests.md | 154 ++++++++++++++++++ 1 file changed, 154 insertions(+) create mode 100644 applications/Polkadot-Protocol-Conformance-Tests.md diff --git a/applications/Polkadot-Protocol-Conformance-Tests.md b/applications/Polkadot-Protocol-Conformance-Tests.md new file mode 100644 index 00000000000..aaaf5516f98 --- /dev/null +++ b/applications/Polkadot-Protocol-Conformance-Tests.md @@ -0,0 +1,154 @@ +# Polkadot Protocol Conformance Tests Research Proposal + +- **Team Name:** [LimeChain](https://github.com/LimeChain) +- **Payment Address:** 15reUHgnkE9QeH9zUoduCVYAbksTmQXvpMd6L95rBhTNFuGw (USDT) +- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 3 + +## Project Overview :page_facing_up: + +This research proposal is in response to the currently open [Polkadot Protocol Conformance Tests RFP](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/Open/polkadot-protocol_conformance_tests.md). + +### Overview + +Polkadot has made substantial progress over the last few years in terms of client diversification. Currently, there are 4 existing host implementations with varying features and protocol support: [Polkadot](https://github.com/paritytech/polkadot) by Parity, [Kagome](https://github.com/soramitsu/kagome) by Soramitsu, [Gossamer](https://github.com/ChainSafe/gossamer/) by ChainSafe, and [Fruzhin](https://github.com/limechain/fruzhin) by LimeChain. Having a healthy client diversity is beneficial to every blockchain protocol as it becomes more decentralised and less bug-prone. Neglecting these aspects has resulted in halting block production for some blockchain protocols in the past. + +The nature of software is such that it's never perfect, and bugs happen. Therefore, multiple host implementations come with a higher probability of implementation-specific issues. It's important for a blockchain protocol that takes great pride in its decentralisation, such as Polkadot, to have a protocol compliance testing suite that verifies the behaviour of each implementation. The more comprehensive the testing suite is, the stronger security guarantees the protocol can provide. + +The goal of this project is to prepare for the redesign of the existing [conformance tests repository](https://github.com/w3f/polkadot-tests). Our team envisions the redesigned testing suite to be easily extensible and flexible, welcoming contributors to enhance it with their domain-specific knowledge. Concerns have been raised regarding the "adapter" approach that the existing testing suite has taken and that the chosen language ([Julia](https://julialang.org/)) is out of sync with the one for Polkadot ([Rust](https://www.rust-lang.org/)). This proposal aims to lay the groundwork for resolving these issues by delving deep into the biggest obstacle that stands in the way: finding the correct level of abstraction and tooling that will be the cornerstone for every kind of test scenario. + +### Project Details + +### A host-agnostic approach + +A conformance testing suite should be host-agnostic, meaning that, for the most part, the tests shouldn't be concerned with the specific Host implementation against which they are being executed. The Host exposes several interfaces that enable conformance testing; however, it’s a complex piece of engineering, and there will always be protocols and functionalities without an exposed interface. Moreover, there are integration tests that can't be conducted using an API. These scenarios are as important as the previous ones because the Host can't function properly if the modules don't work seamlessly with one another. + +### Host API + +The Host API consists of a set of functions that the Host exposes to the Runtime. These functions are used to access external resources for various purposes, including storage access, manipulation, memory allocation, and more. If a method within the API contains a bug, it has the potential to push the Host into an incorrect state transition. Such a scenario could lead to undefined consequences, particularly if a significant number of nodes experience the same issue. + +### SCALE + +Substrate employs a lightweight and efficient encoding and decoding mechanism to optimise the transmission and reception of data across the network. This protocol, known as the SCALE codec, plays a vital role in serialising and deserialising data. It serves as a critical component for data transfer across the peer network and facilitates communication between the Runtime and the Host. Consequently, the presence of comprehensive tests for SCALE encoding and decoding holds immense significance in ensuring the proper functionality of the Host. + +### State Trie + +The state trie is another crucial part of the Host. A radix-16 state is the data structure that Substrate uses to store the state of the blockchain. Without thoroughly tested state trie functionalities, the Host may transition to an incorrect state and get slashed if it's a block producer. + +### BABE & GRANDPA + +[BABE](https://spec.polkadot.network/sect-block-production) & [GRANDPA](https://github.com/paritytech/finality-grandpa) are the bread and butter of the consensus-reaching module for Polkadot. However, finding the right tools and approach to test the block production and finalisation protocols independently of the Host’s environment is a challenge that is yet to be overcome by any team. + +### Zombienet + +[Zombienet](https://github.com/paritytech/zombienet) aims to be a testing framework for Substrate-based blockchains, providing a CLI tool that allows users to spawn and test ephemeral networks. The assertions used in the tests can include on-chain storage, metrics, logs, and custom JavaScript scripts that interact with the chain + +Our team has successfully utilised Zombienet to run PVF conformance tests as part of another W3F grant. This is the reason why we believe that Zombienet has the potential to be the go-to framework for running conformance tests on the Hosts. The research is going to focus on Zombienet, as well as on the new [Zombienet SDK](https://github.com/paritytech/zombienet-sdk). + +### Research Scope + +The main focus of the research will be on investigating each of the aforementioned protocols and functionalities and how they can be tested in a host-agnostic manner. Based on our preliminary research and the work we've conducted on the PVF conformance testing suite, our team believes that Zombienet can serve as the foundation for the testing suite. The team will examine whether Hosts and Zombienet have the required feature set to support such testing scenarios. If this is not achievable, the team will document the missing components so that they can be identified and potentially contributed in a future proposal. + +Our team acknowledges that, for certain Hosts, having the Host API, SCALE, and State Trie as standalone artifacts could be beneficial for Host developers during the early phases of their implementation. However, this proposal primarily focuses on adopting a host-agnostic approach for Hosts that are already functioning with the already existing tests. Depending on the research outcomes, our team may subsequently introduce a new proposal involving the redesign of the conformance repository. In this redesign, the tests would be separated into a standalone artifact and transformed into Zombienet tests. + +### Ecosystem Fit + +By delivering a research document containing insightful information about the necessary steps to commence the redesign of the Polkadot Conformance Testing repository, we aim for it to serve as a catalyst to initiate the development process + +Initially, the Polkadot Conformance Testing repository will be situated in close proximity to the realm of Polkadot Hosts. Its primary target audience will be Host developers seeking comprehensive testing for their Hosts. Other individuals who might find this project valuable include experts from the Polkadot specification team, who can contribute their expertise in specific scenarios. + +## Team 👥 + +### Team members + +- Viktor Todorov +- Maksim Dimitrov +- Kristiyan Veselinov + +### Contact + +- **Contact Name:** Kristiyan Veselinov +- **Contact Email:** kris@limechain.tech +- **Website:** [https://limechain.tech](https://limechain.tech/) + +### Legal Structure + +- **Registered Address:** Bulgaria, Dragan Tsankov 23A, 1113, Sofia, Bulgaria +- **Registered Legal Entity:** LimeLabs Ltd. + +### Team's experience + +At LimeChain, we possess considerable expertise in developing various tools, including [Gosemble, a framework for building Substrate compatible Runtimes in Go](https://github.com/LimeChain/gosemble), [Fruzhin, a Host implementation in Java](https://github.com/limechain/fruzhin), [a framework for runtimes in AssemblyScript](https://github.com/LimeChain/subsembly), a framework for runtimes in AssemblyScript. On top of that, we’re working on a [Parachain Validation Conformance Testing suite](https://polkadot.polkassembly.io/motion/389), have substantial experience in Rust/WebAssembly developer tooling from [Matchstick](https://github.com/limeChain/matchstick/) and actively contribute to infrastructure projects in Cosmos and Hedera Hashgraph. + +### Team Code Repos + +- [https://github.com/LimeChain](https://github.com/LimeChain) + +Please also provide the GitHub accounts of all team members. If they contain no activity, references to projects hosted elsewhere or live are also fine. + +- [https://github.com/vikinatora](https://github.com/vikinatora) + +### Team LinkedIn Profiles (if available) + +- [https://www.linkedin.com/in/viktor-todorov-8a7434122/](https://www.linkedin.com/in/viktor-todorov-8a7434122/) +- [https://www.linkedin.com/in/chris-veselinov/](https://www.linkedin.com/in/chris-veselinov/) + +## Development Status :open_book: + +No actual development has been made for this RFP. However, the team has spent a significant amount of time delving into the Host’s specification as part of the Java Host implementation we're currently working on. Additionally, our work on the PVF conformance testing suite has enhanced our understanding of how to address challenging-to-test sections of the code. + +## Development Roadmap :nut_and_bolt: + +The primary framework under consideration for this research will be Zombienet, as it already provides the groundwork for these types of tests. Each of the steps outlined below will be dedicated to investigating the creation of Zombienet tests for the specified functionalities. The team will also document in the research report the development steps required to enable testing of the specified functionality using Zombienet. + +Outlined below are the testing scenarios for each Host module that will be the focus of the research: + +1. Host API + 1. Trie +2. SCALE + 1. SCALE encoding + 2. SCALE decoding +3. State Trie + 1. Trie encoding + 2. Trie decoding +4. BABE + 1. Block import + 2. Block validation +5. GRANDPA + 1. Block import + 2. Block validation + +### Overview + +- **Total Estimated Duration:** 8 working weeks +- **Full-Time Equivalent (FTE):** 2 +- **Total Costs:** $49280 + +### Milestone 1 — Polkadot Conformance Testing Suite Research + +- **Estimated duration:** 8 working weeks +- **FTE:** 2 +- **Costs:** $49280 + +| Number | Deliverable | Specification | +| --- | --- | --- | +| 0a. | License | Apache 2.0 | +| 0b. | Documentation | We will provide inline documentation, as well as README file with how the suite can be executed. Additional information will be provided on how to contribute. | +| 0c. | Testing and Testing Guide | Documentation will be provided that showcases how the testing suite can be executed for different scenarios and hosts. | +| 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 publish an article that explains what was done/achieved as part of the grant. | +| 1. | Host API Research | Research the feasibility of using Zombienet as the framework for executing Host API tests. | +| 2. | SCALE Research | Research the feasibility of using Zombienet for conducting SCALE encoding and decoding tests. | +| 3. | State Trie Research | Research the feasibility of using Zombienet for conducting State Trie encoding, decoding and generation tests. | +| 4. | BABE Research | Research the feasibility of using Zombienet for conducting BABE tests. | +| 5. | GRANDPA Research | Research the feasibility of using Zombienet as the framework for conducting GRANDPA tests. | +| 6. | Research Findings | A research document will be delivered documenting the team’s findings, as well as outline a high-level path forward for the conformance testing suite. | + +## Future Plans + +Based on the research findings, our team could formulate a proposal for implementing these tests and restructuring the conformance testing suite with the new approach, and/or contributing the necessary features that would enable Zombienet to be utilised for these purposes. + +## Additional Information :heavy_plus_sign: + +**How did you hear about the Grants Program?** + +At LimeChain, we have been contributors to the Polkadot ecosystem for the last 3+ years as we believe in a multi-chain future, based on interoperability and decentralisation. Principles that are built into the core of the Polkadot network. We possess considerable expertise in developing various tools, including [Gosemble, a framework for building Substrate compatible Runtimes in Go](https://github.com/LimeChain/gosemble), [a framework for runtimes in AssemblyScript](https://github.com/LimeChain/subsembly),, and [Parachain Validation Conformance Testing](https://polkadot.polkassembly.io/motion/389). Additionally, we have substantial experience in Rust/WebAssembly developer tooling from [Matchstick](https://github.com/limeChain/matchstick/) and have actively contributed to infrastructure projects in Cosmos, Near, Filecoin, Ledger and Hedera Hashgraph. From c1fda14fbe2fe2d178d1a4dfc959c73a8d1182ee Mon Sep 17 00:00:00 2001 From: David Semakula Date: Wed, 4 Oct 2023 15:29:13 +0300 Subject: [PATCH 100/133] Amend ink! analyzer (phase 2) (#2018) --- applications/ink-analyzer-phase-2.md | 41 ++++++++++++++-------------- 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/applications/ink-analyzer-phase-2.md b/applications/ink-analyzer-phase-2.md index 898c83f8471..b22129c52ca 100644 --- a/applications/ink-analyzer-phase-2.md +++ b/applications/ink-analyzer-phase-2.md @@ -27,9 +27,8 @@ This allows ink! developers to leverage Rust tooling like [clippy](https://doc.r However, relying on only generic Rust language support in IDEs, code editors and other development tools has some significant limitations for the developer experience including: -- No language support (e.g. diagnostic errors/warnings and quick fixes) for ink!'s domain specific semantic rules for smart contracts (e.g. exactly one `#[ink(storage)]` struct, at least one `#[ink(message)]` method and the same for `#[ink(constructor)]`, ink! attributes should be applied to items of the correct type e.t.c). -- Inconsistent editor experience with issues like no code completion and/or hover content for some ink! attribute arguments (e.g `#[ink(payable)]`) because [macro expansion/name resolution and trait resolution are hard problems for generic IDE/code editor tools](https://rust-lang.github.io/compiler-team/working-groups/rls-2.0/#scope-and-purpose) (see also [https://rust-analyzer.github.io/blog/2021/11/21/ides-and-macros.html](https://rust-analyzer.github.io/blog/2021/11/21/ides-and-macros.html)). -- No language support (e.g. go to definition, find references and rename/refactor) for [ink! specific syntax like paths in ink! attribute argument values (e.g. `env` values)](https://github.com/paritytech/ink/blob/v4.2.1/crates/ink/ir/src/ast/mod.rs#L19-L25). +- No language support (e.g. diagnostic errors/warnings and quick fixes) for ink!'s domain specific semantic rules for smart contracts (e.g. exactly one `#[ink(storage)]` struct, at least one `#[ink(message)]` method and the same for `#[ink(constructor)]`, ink! attributes should be applied to items of the correct type, ink! `env` and `environment` argument values must `impl Environment` e.t.c). +- Inconsistent editor experience with issues like no code completion and/or hover content for some ink! attribute arguments (e.g `#[ink(payable)]`) because [macro expansion/name resolution and trait resolution are hard problems for generic IDE/code editor tools](https://rust-lang.github.io/compiler-team/working-groups/rls-2.0/#scope-and-purpose) (see also [https://rust-analyzer.github.io/blog/2021/11/21/ides-and-macros.html](https://rust-analyzer.github.io/blog/2021/11/21/ides-and-macros.html)). #### Solution @@ -57,10 +56,11 @@ This stage of the project will improve ink! language support features across all - Quick fixes for all existing diagnostic errors and warnings. - ink_e2e macro support (i.e diagnostics, quickfixes, completions, code actions and hover content). - Command for creating an ink! project and code/intent actions for inserting code stubs/snippets for relevant ink! entities. -- Go to definition, find references and rename/refactor support for path-based ink! attribute argument values (i.e. `env` values for `#[ink::contract]` and `environment` values for `#[ink_e2e::test]`). -- Diagnostics that verify that the value of `env` values for `#[ink::contract]` and `environment` values for `#[ink_e2e::test]` are `impl Environment` as well as quick fixes to `impl Environment` for the target item where necessary. - Inlay hints and signature help/parameter hints for ink! attribute arguments. - Code/intent actions for "flattening" ink! attributes. +- Diagnostics that verify that the value of `env` values for `#[ink::contract]` and `environment` values for `#[ink_e2e::test]` are `impl Environment` as well as quick fixes to `impl Environment` for the target item where necessary. +- Diagnostics that verify chain extension `ErrorCode` types (and other chain extension utility types) implement required traits (e.g. `FromStatusCode` for `ErrorCode` types and SCALE code traits - i.e. scale's `Encode` and `Decode` and scale-info's `TypeInfo` traits - for error types, and input and output types of chain extension methods) as well as quick fixes to implement the required traits for the target items where necessary. +- Diagnostics and quickfixes for implementing missing methods for ink! trait definition implementations. #### Observation @@ -203,9 +203,9 @@ You can find a full list of available resources in the [introductory blog post f ### Overview -- **Total Estimated Duration:** ~7.75 months +- **Total Estimated Duration:** ~8.5 months - **Full-Time Equivalent (FTE):** 1 -- **Total Costs:** 54,400 USD +- **Total Costs:** 59,600 USD ### Milestone 1 — Semantic analyzer: Quick fixes, ink_e2e macro support, project creation command and code/intent actions for inserting code stubs/snippets for relevant ink! entities @@ -246,23 +246,22 @@ You can find a full list of available resources in the [introductory blog post f - **FTE:** 1 - **Costs:** 10,800 USD -| Number | Deliverable | Specification | -|--------:|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| **0a.** | License | MIT or Apache 2.0 | -| **0b.** | Documentation | I will provide detailed source documentation including rustdoc documentation that will be published to [docs.rs](https://docs.rs/) and a README file (published on [Github](https://github.com/), [crates.io](https://crates.io/) and [docs.rs](https://docs.rs/)) providing general information about the library, instructions for installing and using the library and links to other documentation and resources related to the library. | -| **0c.** | Testing and Testing Guide | Core functions will be fully covered by comprehensive unit tests to ensure functionality and robustness. In the guide, I will describe how to run these tests. | -| **0d.** | Docker | I will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. | -| 1. | Rust crate update: Go to definition support for path-based ink! attribute argument values (i.e. `env` values for `#[ink::contract]` and `environment` values for `#[ink_e2e::test]`) | I will update the semantic analyzer crate to provide an interface that accepts ink! smart contract code and a cursor position as input and returns the location where the item resolved by the path (if any) is defined (e.g. for `#[ink::contract(env=crate::MyEnvironment)]`, returns the location where `MyEnvironment` item is defined). While only `env` values for `#[ink::contract]` and `environment` values for `#[ink_e2e::test]` can be defined as paths at the moment, this utility will be defined generically for any path-based value used as an ink! attribute argument value. | -| 2. | Rust crate update: Find references support for path-based ink! attribute argument values (i.e. `env` values for `#[ink::contract]` and `environment` values for `#[ink_e2e::test]`) | I will update the semantic analyzer crate to provide an interface that accepts ink! smart contract code and a cursor position as input and returns locations where the item resolved by the path (if any) is used (e.g. for `#[ink::contract(env=crate::MyEnvironment)]`, returns the locations where the `MyEnvironment` item is used). While only `env` values for `#[ink::contract]` and `environment` values for `#[ink_e2e::test]` can be defined as paths at the moment, this utility will be defined generically for any path-based value used as an ink! attribute argument value. | -| 3. | Rust crate update: Rename/refactor support for path-based ink! attribute argument values (i.e. `env` values for `#[ink::contract]` and `environment` values for `#[ink_e2e::test]`) | I will update the semantic analyzer crate to provide an interface that accepts ink! smart contract code, a cursor position and the new name for the item as input and returns the text edits for renaming the item resolved by the path (if any) across the workspace (e.g. for a `MyEnvironment` defined used in an `#[ink::contract(env=crate::MyEnvironment)]` and an `#[ink_e2e::test(environment=crate::MyEnvironment)]`, this renames `MyEnvironment` across all these locations). While only `env` values for `#[ink::contract]` and `environment` values for `#[ink_e2e::test]` can be defined as paths at the moment, this utility will be defined generically for any path-based value used as an ink! attribute argument value. | -| 4. | Rust crate update: Diagnostics that verify that `env` values for `#[ink::contract]` and `environment` values for `#[ink_e2e::test]` are `impl Environment` as well as quick fixes to `impl Environment` for the target item where necessary | I will update the semantic analyzer crate by updating the existing interface that accepts ink! smart contract code as input and returns diagnostic errors and warnings to additionally return diagnostics for `env` values for `#[ink::contract]` and `environment` values for `#[ink_e2e::test]` whose target item doesn't `impl Environment` as well as quick fixes in the form of code/intent actions that insert code stubs/snippets that `impl Environment` for the target item where necessary. | +| Number | Deliverable | Specification | +|--------:|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **0a.** | License | MIT or Apache 2.0 | +| **0b.** | Documentation | I will provide detailed source documentation including rustdoc documentation that will be published to [docs.rs](https://docs.rs/) and a README file (published on [Github](https://github.com/), [crates.io](https://crates.io/) and [docs.rs](https://docs.rs/)) providing general information about the library, instructions for installing and using the library and links to other documentation and resources related to the library. | +| **0c.** | Testing and Testing Guide | Core functions will be fully covered by comprehensive unit tests to ensure functionality and robustness. In the guide, I will describe how to run these tests. | +| **0d.** | Docker | I will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. | +| 1. | Rust crate update: Diagnostics that verify resolution of path expressions for `env` for `#[ink::contract]` and `environment` for `#[ink_e2e::test]` argument values as well as quick fixes that either fix paths (e.g. by fixing or adding a qualifier) or suggest paths to valid item definitions (where possible) | I will update the semantic analyzer crate by updating the existing interface that accepts ink! smart contract code as input and returns diagnostic errors and warnings to additionally return diagnostics for resolution of path expressions for `env` for `#[ink::contract]` and `environment` for `#[ink_e2e::test]` argument values whose value doesn't resolve to any item as well as quick fixes in the form of code/intent actions that either fix paths (e.g. by fixing or adding a qualifier) or suggest paths to valid item definitions (where possible). | +| 2. | Rust crate update: Diagnostics that verify that `env` values for `#[ink::contract]` and `environment` values for `#[ink_e2e::test]` are `impl Environment` as well as quick fixes to `impl Environment` for the target item where necessary | I will update the semantic analyzer crate by updating the existing interface that accepts ink! smart contract code as input and returns diagnostic errors and warnings to additionally return diagnostics for `env` values for `#[ink::contract]` and `environment` values for `#[ink_e2e::test]` whose target item doesn't `impl Environment` as well as quick fixes in the form of code/intent actions that insert code stubs/snippets that `impl Environment` for the target item where necessary. | +| 3. | Rust crate update: Diagnostics that verify that ink! trait definition `impl` blocks implement all associated methods as well as quick fixes for implementing missing methods where necessary | I will update the semantic analyzer crate by updating the existing interface that accepts ink! smart contract code as input and returns diagnostic errors and warnings to additionally return diagnostics for ink! trait definition `impl` blocks that don't implement all associated methods as well as quick fixes in the form of code/intent actions that add code stubs/snippets for implementing missing methods where necessary. | -### Milestone 4 — Semantic Analyzer: Diagnostics, quick fixes and code/intent actions for chain extension `ErrorCode` type is `impl FromStatusCode` , and is not referred to using `Self::ErrorCode` anywhere in the chain extension or it's defined methods +### Milestone 4 — Semantic Analyzer: Diagnostics, quick fixes and code/intent actions for chain extension `ErrorCode` type is `impl FromStatusCode` , and is not referred to using `Self::ErrorCode` anywhere in the chain extension or its defined methods -- **Estimated duration:** ~3 weeks +- **Estimated duration:** ~5-6 weeks - **FTE:** 1 -- **Costs:** 5,600 USD +- **Costs:** 10,800 USD | Number | Deliverable | Specification | |--------:|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| @@ -272,6 +271,8 @@ You can find a full list of available resources in the [introductory blog post f | **0d.** | Docker | I will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. | | 1. | Rust crate update: Diagnostics that verify that the chain extension `ErrorCode` type is `impl FromStatusCode` as well as quick fixes and code/intent actions to `impl FromStatusCode` for the target item where necessary | I will update the semantic analyzer crate by updating the existing interface that accepts ink! smart contract code as input and returns diagnostic errors and warnings to additionally return diagnostics for chain extension `ErrorCode` types whose target item doesn't `impl FromStatusCode` as well as quick fixes in the form of code/intent actions that insert code stubs/snippets that `impl FromStatusCode` for the target item where necessary. | | 2. | Rust crate update: Diagnostics for references to the chain extension's `ErrorCode` type using `Self::ErrorCode` in the chain extension (i.e. the `#[ink::chain_extension]` annotated `trait`) or it's defined methods (i.e. `impl` blocks for the chain extension `trait` in a `#[ink::contract]` annotated `mod`) as well as quick fixes to replace `Self::ErrorCode` usages with the `ErrorCode` type directly | I will update the semantic analyzer crate by updating the existing interface that accepts ink! smart contract code as input and returns diagnostic errors and warnings to additionally return diagnostics for references to the chain extension's `ErrorCode` type using `Self::ErrorCode` in the chain extension (i.e. the `#[ink::chain_extension]` annotated `trait`) or it's defined methods (i.e. `impl` blocks for the chain extension `trait` in a `#[ink::contract]` annotated `mod`) as well as quick fixes in the form of code/intent actions that replace `Self::ErrorCode` usages with the `ErrorCode` type directly. | +| 3. | Rust crate update: Diagnostics that verify that the chain extension `ErrorCode` type implements SCALE codec traits (i.e. scale's `Encode` and `Decode` and scale-info's `TypeInfo`) as well as quick fixes and code/intent actions to implement the SCALE codec traits for the target item where necessary | I will update the semantic analyzer crate by updating the existing interface that accepts ink! smart contract code as input and returns diagnostic errors and warnings to additionally return diagnostics for chain extension `ErrorCode` types whose target item doesn't implement SCALE codec traits (i.e. scale's `Encode` and `Decode` and scale-info's `TypeInfo`) as well as quick fixes in the form of code/intent actions that insert code stubs/snippets that implement SCALE codec traits for the target item where necessary. | +| 4. | Rust crate update: Diagnostics that verify that input and output types of chain extension methods implement SCALE codec traits (i.e. scale's `Encode` and `Decode` and scale-info's `TypeInfo`) as well as quick fixes and code/intent actions to implement the SCALE codec traits for the target item where necessary | I will update the semantic analyzer crate by updating the existing interface that accepts ink! smart contract code as input and returns diagnostic errors and warnings to additionally return diagnostics for input and output types of chain extension methods whose target items don't implement SCALE codec traits (i.e. scale's `Encode` and `Decode` and scale-info's `TypeInfo`) as well as quick fixes in the form of code/intent actions that insert code stubs/snippets that implement SCALE codec traits for the target items where necessary. | ### Milestone 5 — Language Server: Updates #1 From a185855bc804922161978346fe8a4612dcf27219 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Wed, 4 Oct 2023 14:38:36 +0200 Subject: [PATCH 101/133] Update index.md add Polkadot Protocol Conformance Tests --- applications/index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/applications/index.md b/applications/index.md index 9e5ac454cbf..883641dfd70 100644 --- a/applications/index.md +++ b/applications/index.md @@ -46,6 +46,7 @@ Besides, **there is a clear difference between an application being accepted and | Team | Project | Link | Terminated | First Delivery | Completed | | :------------------------------------------------------------------| :------------------------------------------------------------------------------------------------------| :------------------------------------------| :--------- | :------------: | :--------: | | [Livetree Community Ltd](https://github.com/livetreetech/) | [DecentralML](./decentral_ml.md) | [GitHub](https://github.com/livetreetech/) | ☐ | ☐ | ☐ | +| [LimeChain](https://github.com/LimeChain) | [Polkadot Protocol Conformance Tests Research](./Polkadot-Protocol-Conformance-Tests.md) | [GitHub](https://github.com/LimeChain) | ☐ | ☐ | ☐ | ### 🏄 Wave 19 - Q3 2023 From c024f4ecb0974d25a25992aa3dad1319dfaae0e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20M=C3=BCller?= Date: Wed, 4 Oct 2023 16:29:38 +0200 Subject: [PATCH 102/133] Update README.md Specify referral payment time --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 83209ceafe4..550b5d50fa2 100644 --- a/README.md +++ b/README.md @@ -222,7 +222,7 @@ Please note that: We give away 500 USD to each referral of a successful grant application by _anyone having previously worked on a Web3 Foundation grant_ or _a [Polkadot Ambassador](https://wiki.polkadot.network/docs/ambassadors)_. Web3 Foundation and Parity employees do not qualify for the program, even if they previously worked on a grant. -In order to be eligible for the referral bonus, the application itself must contain the name of the [Polkadot Ambassador](https://wiki.polkadot.network/docs/ambassadors) or the GitHub account of the grantee as well as the payment address for the referral bonus (see the [application template](applications/application-template.md)). Payment is made in Bitcoin or USDT/USDC on Polkadot AssetHub. +In order to be eligible for the referral bonus, the application itself must contain the name of the [Polkadot Ambassador](https://wiki.polkadot.network/docs/ambassadors) or the GitHub account of the grantee as well as the payment address for the referral bonus (see the [application template](applications/application-template.md)). Payment is made in Bitcoin or USDT/USDC on Polkadot AssetHub after delivery and approval of the first milestone. ## :bulb: Help From a1ec7336c48a7fe6d0550662e1b440e7287aa57c Mon Sep 17 00:00:00 2001 From: Jean-Luc Leleu Date: Thu, 5 Oct 2023 09:38:01 +0200 Subject: [PATCH 103/133] Interstellar Wallet Phase 2 - amended - remove docker delivery (#2028) * amended - remove docker delivery * Update Interstellar-network2.md Add the reason for the amendment suggested by the evaluator --- applications/Interstellar-network2.md | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/applications/Interstellar-network2.md b/applications/Interstellar-network2.md index fb4363d91e2..61234c20887 100644 --- a/applications/Interstellar-network2.md +++ b/applications/Interstellar-network2.md @@ -1,4 +1,4 @@ -# Interstellar - Wallet Phase 2 +# Interstellar - Wallet Phase 2 (amended) - **Team Name:** Interstellar @@ -170,9 +170,8 @@ We are now multiple security and fintech entrepreneurs, security researchers, pa | ------: | ---------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **0a.** | License | APACHE 2 | | **0b.** | Documentation | We will provide both **inline documentation** of the code and a basic **tutorial** that explains how a user can (for example) spin up our stack and send test transactions, which will show how the new functionality works. | -| **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. | | | | -| 1. | Garble Circuit pallet update | We will rewrite the garbled circuit evaluation scheme to target at least **60 fps** through parralelization, caching and likely with an efficient [1.permutation-based garbling scheme: see 4.5](https://www.cs.fsu.edu/~tvhoang/thesis.pdf) optimized for performance or a [2.new garbling scheme](https://www.esat.kuleuven.be/cosic/publications/article-3351.pdf) that could potentially require lower computation cost per gate| +| **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.| | | | +| 1. | Garble Circuit pallet update | We will rewrite the garbled circuit evaluation scheme to target at least **60 fps** through parralelization, caching and likely with an efficient [1.permutation-based garbling scheme: see 4.5](https://www.cs.fsu.edu/~tvhoang/thesis.pdf) optimized for performance or a [2.new garbling scheme](https://www.esat.kuleuven.be/cosic/publications/article-3351.pdf) that could potentially require lower computation cost per gate| @@ -189,10 +188,18 @@ We are now multiple security and fintech entrepreneurs, security researchers, pa | **0a.** | License | APACHE 2 | | **0b.** | Documentation | We will provide both **inline documentation** of the code and a basic **tutorial** that explains how a user can (for example) spin up our stack and send test transactions, which will show how the new functionality works. | | **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. | | | | + | | | | | 1. | Display Circuit update | We will modify the current display circuit to enable a more comfortable user experience by decreasing the cognitive load needed for the user to read the screen. - likely by adding specific sub-circuits to manage a set of probabilities of displaying segments for each frame, then fine tuned segments ON/OFF per frame to improve readbility | 2. | Light security screen | We will provide a less secure but very comfortable to read secure screen version using fading with less blinking (link) - this non-screenshot proof version will be used later with our adaptive security framework | +**Additional information (reason for amendment):** + +As we prioritize the user experience and aim to showcase the FPS improvement and overall viusal improvement for the user compared to the previous milestone, there is no need for a Docker here. Instead, we provide an offline demo app to simplify the evaluation. + +However, if you'd like to test the full pipeline for this milestone, we can provide you with both a Docker and an online version of the app and the related demo tutorial. + + + From afc3e7eda603c6a668767f94f18c07a6aadbc1a0 Mon Sep 17 00:00:00 2001 From: S E R A Y A Date: Thu, 5 Oct 2023 12:13:58 +0200 Subject: [PATCH 104/133] Update index.md Accept Interstellare Phase2 M1 --- applications/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/index.md b/applications/index.md index 883641dfd70..346ef2c14d6 100644 --- a/applications/index.md +++ b/applications/index.md @@ -92,7 +92,7 @@ Besides, **there is a clear difference between an application being accepted and | Team | Project | Link | Terminated | First Delivery | Completed | | :------------------------------------------------------------------| :------------------------------------------------------------------------------------------------------| :------------------------------------------| :--------- | :------------: | :--------: | -| [Interstellar](https://www.interstellar.gg/) | [Interstellar - Wallet Phase 2](./Interstellar-network2.md) | [GitHub](https://github.com/Interstellar-Network) | ☐ | ☐ | ☐ | +| [Interstellar](https://www.interstellar.gg/) | [Interstellar - Wallet Phase 2](./Interstellar-network2.md) | [GitHub](https://github.com/Interstellar-Network) | ☐ | ☒ | ☐ | | [Valletech AB](https://valletech.eu/) | [DINFRA](./DINFRA.md) | [GitHub](https://gitlab.com/polkawatch) | ☐ | ☒ | ☐ | | [DAuth](https://github.com/DAuth-Network) | [DAuth](./dauth_network.md) | [GitHub](https://github.com/DAuth-Network) | ☐ | ☐ | ☐ | | [Galaxy.Do](https://galaxy.do) | [Galaxy: Three-dimensional Web for Polkadot Users](./galaxy.md) | [GitHub](https://github.com/7flash) | ☐ | ☒ | ☐ | From 27767fcbe1c90ae12096b429cc93b15e1911b463 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20M=C3=BCller?= Date: Thu, 5 Oct 2023 12:14:51 +0200 Subject: [PATCH 105/133] Update contribute.md Update contributions page --- docs/contribute.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/contribute.md b/docs/contribute.md index 602699a8651..8dcaa999f5b 100644 --- a/docs/contribute.md +++ b/docs/contribute.md @@ -5,10 +5,10 @@ title: 🫶 Contribute The W3F Grants Program aims to be as open and accessible as possible. If you are interested in contributing or getting involved, there are several ways you can do that: -📋 We are open to milestone evaluations from third parties. If you are particularly interested in a certain project, or particularly knowledgeable on a relevant subject, feel free to comment on any [open grant applications](https://github.com/w3f/Grants-Program/issues?q=is%3Aopen+label%3A%22ready+for+review%22+sort%3Aupdated-desc), or have a look at the [open pull requests on our milestone delivery repository](https://github.com/w3f/Grant-Milestone-Delivery/pulls) and [submit your own evaluation](https://github.com/w3f/Grant-Milestone-Delivery#ballot_box_with_check-external-evaluations). +- 📋 We are open to **milestone evaluations** from third parties. If you are particularly interested in a certain project, or particularly knowledgeable on a relevant subject, feel free to comment on any [open grant applications](https://github.com/w3f/Grants-Program/issues?q=is%3Aopen+label%3A%22ready+for+review%22+sort%3Aupdated-desc), or have a look at the [open pull requests on our milestone delivery repository](https://github.com/w3f/Grant-Milestone-Delivery/pulls) and [submit your own evaluation](https://github.com/w3f/Grant-Milestone-Delivery#ballot_box_with_check-external-evaluations). -🔍 If you find that there is something missing in our ecosystem (a tool, a project, infrastructure, etc.) that we could help fund, please [submit a Request For Proposals (RFP)](https://github.com/w3f/Grants-Program/blob/master/README.md#mailbox_with_mail-suggest-a-project). If writing an RFP seems too daunting a task, feel free to [submit it as an issue on our Github repository](https://github.com/w3f/Grants-Program/issues) so anyone can contribute. +- 🔍 If you find that there is something missing in our ecosystem (a tool, a project, infrastructure, etc.) that we could help fund, please [submit a **Request For Proposals (RFP)**](https://github.com/w3f/Grants-Program/blob/master/README.md#mailbox_with_mail-suggest-a-project). If writing an RFP seems too daunting a task, feel free to [submit it as an issue on our Github repository](https://github.com/w3f/Grants-Program/issues) so anyone can contribute. -🤝 Join us! We are looking for a Technical Grants Evaluator (among other things) to join us full time. Check out [our current job openings](https://web3.bamboohr.com/jobs/) and apply! +- 🤝 Join us! Check out [our current job openings](https://web3.bamboohr.com/jobs/) and apply! If there currently is no suitable job listed, don't hesitate to apply regardless or [reach out](./help.md) if you have any questions. We strive to continue improving our grants program and are always open to feedback. If you would like to share any suggestions or criticism, please reach out to us on [Github](https://github.com/w3f/Grants-Program) or [Matrix](https://matrix.to/#/!XpynPDLusWUWfDpaqr:matrix.org?via=web3.foundation&via=matrix.org)! From 35fdc7317411e3cfc62cf9c7f1d53a9a962b55f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20M=C3=BCller?= Date: Thu, 5 Oct 2023 12:15:15 +0200 Subject: [PATCH 106/133] Update contribute.md --- docs/contribute.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/contribute.md b/docs/contribute.md index 8dcaa999f5b..707b41a7631 100644 --- a/docs/contribute.md +++ b/docs/contribute.md @@ -9,6 +9,6 @@ The W3F Grants Program aims to be as open and accessible as possible. If you are - 🔍 If you find that there is something missing in our ecosystem (a tool, a project, infrastructure, etc.) that we could help fund, please [submit a **Request For Proposals (RFP)**](https://github.com/w3f/Grants-Program/blob/master/README.md#mailbox_with_mail-suggest-a-project). If writing an RFP seems too daunting a task, feel free to [submit it as an issue on our Github repository](https://github.com/w3f/Grants-Program/issues) so anyone can contribute. -- 🤝 Join us! Check out [our current job openings](https://web3.bamboohr.com/jobs/) and apply! If there currently is no suitable job listed, don't hesitate to apply regardless or [reach out](./help.md) if you have any questions. +- 🤝 Join us! Check out [our current **job openings**](https://web3.bamboohr.com/jobs/) and apply! If there currently is no suitable job listed, don't hesitate to apply regardless or [reach out](./help.md) if you have any questions. We strive to continue improving our grants program and are always open to feedback. If you would like to share any suggestions or criticism, please reach out to us on [Github](https://github.com/w3f/Grants-Program) or [Matrix](https://matrix.to/#/!XpynPDLusWUWfDpaqr:matrix.org?via=web3.foundation&via=matrix.org)! From b5bdb93a8cd9a3a114f39cff5912de3019af028c Mon Sep 17 00:00:00 2001 From: Keegan | W3F <35080151+keeganquigley@users.noreply.github.com> Date: Fri, 6 Oct 2023 14:01:27 -0400 Subject: [PATCH 107/133] Update index.md (#2036) --- applications/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/index.md b/applications/index.md index 346ef2c14d6..03a395f1c19 100644 --- a/applications/index.md +++ b/applications/index.md @@ -58,7 +58,7 @@ Besides, **there is a clear difference between an application being accepted and | [ChainSafe](https://chainsafe.io/) | Polkadot Snap Maintenance | [GitHub](https://github.com/ChainSafe/metamask-snap-polkadot) | ☐ | ☐ | ☐ | | [justmert](https://github.com/justmert) | [DOTLY: Revolutionizing Polkadot Account Statistics](./dotly.md) | [GitHub](https://github.com/justmert/dotly) | ☐ | ☐ | ☐ | | [Federico Cicciarella](https://www.linkedin.com/in/federicocicciarella/?originalSubdomain=it) | [Tracking Chain](./tracking_chain.md) | [GitHub](https://github.com/TrackingChains/TrackingChain) | ☐ | ☒ | ☐ | -| [TPScore](https://github.com/its-a-setup) | [TPScore](./TPScore.md) | [GitHub](https://github.com/its-a-setup) | ☐ | ☒ | ☐ | +| [TPScore](https://github.com/its-a-setup) | [TPScore](./TPScore.md) | [GitHub](https://github.com/its-a-setup) | ☐ | ☒ | ☒ | | [Orochi Network](https://www.orochi.network/) | [Research and development MPC ECDSA](./orochi-network-orosign-part1.md) | [GitHub](https://github.com/orochi-network) | ☐ | ☐ | ☐ | | [k/factory](https://k-f.co/) | [On-Chain Automated Treasury Management](./centrifuge-twamm.md) | [GitHub](https://github.com/centrifuge) | ☐ | ☐ | ☐ | | [AISLAND DAO](https://aisland.io) | [Aisland Docsig](./Aisland-DocSig.md) | [GitHub](https://github.com/aisland-dao) | ☐ | ☒ | ☐ | From 1d60558a028f79635b37d8830ab650db0eb57dcc Mon Sep 17 00:00:00 2001 From: Diogo <112647953+dsm-w3f@users.noreply.github.com> Date: Fri, 6 Oct 2023 15:20:11 -0300 Subject: [PATCH 108/133] Update index.md - Waves 9 - 12 status review (#2031) --- applications/index.md | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/applications/index.md b/applications/index.md index 03a395f1c19..706ce1c31ec 100644 --- a/applications/index.md +++ b/applications/index.md @@ -361,9 +361,7 @@ Besides, **there is a clear difference between an application being accepted and [🔝](#2023) ## 2021 - ### 🏄 Wave 12 - Q4 2021 - | Team | Project | Link | Terminated | First Delivery | Completed | | :--------------------------------------------------------- | :---------------------------------------------------------------------------------------- | :------------------------------------------------------------------------- | :--------- | :------------: | :-------: | | Matthew Darnell | [cScale](./cScale.md) | [GitHub](https://github.com/MatthewDarnell/cScale) | ☐ | ☒ | ☐ | @@ -384,9 +382,12 @@ Besides, **there is a clear difference between an application being accepted and | [Elamin LTD](http://imbue.network/) | [Imbue Network](./imbue_network.md) | [GitHub](https://github.com/ImbueNetwork) | ☐ | ☒ | ☒ | | [Koi Metaverse](https://koi.io/) | [Building the Digital Collectibles Platform for Virtual GameFi NFTs](./Koiverse.md) | [GitHub](https://github.com/KoiMetaverse) | ☐ | ☐ | ☐ | | [Health Hero](https://www.gohealthhero.com/) | [Decentralized Well-being Game API](./decentralized_well-being_game_api.md) | [GitHub](https://github.com/iumairazhar) | ☐ | ☐ | ☐ | -| [UNIVERSALDOT FOUNDATION](https://universaldot.foundation) | [A freelancing decentralized application](./universaldot.me.md) | [GitHub](https://github.com/UniversalDot) | ☐ | ☒ | ☒ | +| [UNIVERSALDOT FOUNDATION](https://universaldot.foundation) | [A freelancing decentralized application](./universaldot.me.md) | [GitHub](https://github.com/UniversalDot) | ☒ | ☒ | ☐ | | [AdMeta](https://admeta.network/) | [A privacy-preserving Ad Platform](./AdMeta.md) | [GitHub](https://github.com/AdMetaNetwork/admeta) | ☐ | ☒ | ☒ | -| Crypto Pay Lab (CPL)) | [Dotpay a github paid task platform using DOT](./DotPay.md) | [GitHub](https://github.com/bytepayment) | ☐ | ☒ | ☐ | +| Crypto Pay Lab (CPL)) | [Dotpay a github paid task platform using DOT](./DotPay.md) | [GitHub](https://github.com/bytepayment) | ☐ | ☒ | ☒ | + + + [🔝](#2023) @@ -407,7 +408,7 @@ Besides, **there is a clear difference between an application being accepted and | [Valibre](https://valibre.org) | [People Local Interactions Protocol (PLIP)](./plip.md) | [GitHub](https://github.com/valibre-org/) | ☐ | ☐ | ☐ | | [Reaudito](https://shivarthu.reaudito.com/#/) | [Shivarthu: A blockchain-based decentralized governance system](./Shivarthu.md) | [GitHub](https://github.com/amiyatulu/shivarthu) | ☐ | ☒ | ☐ | | Uniscan | [NFT Explorer](./nft_explorer.md) | [GitHub](https://github.com/wuminzhe) | ☐ | ☒ | ☒ | -| [LimeChain](https://limechain.tech) | [Subsembly - Support for GRANDPA](./assemblyscript-scale-codec.md) | [GitHub](https://github.com/LimeChain) | ☐ | ☐ | ☐ | +| [LimeChain](https://limechain.tech) | [Subsembly - Support for GRANDPA](./assemblyscript-scale-codec.md) | [GitHub](https://github.com/LimeChain) | ☐ | ☒ | ☒ | | [OpenSquare](https://www.opensquare.network) | [Off-chain voting platform](./OpenSquare_paid_qa_protocol.md) | [GitHub](https://github.com/opensquare-network/) | ☐ | ☒ | ☒ | | [Health Hero](https://www.gohealthhero.com/) | [NFT Product Analytics Suite](./nft_product_analytics_suite.md) | | ☐ | ☐ | ☐ | | [Tesseract](https://tesseract.one/) | Mobile dApps/Wallet Connection | [GitHub](https://github.com/tesseract-one) | ☐ | ☒ | ☒ | @@ -438,14 +439,14 @@ Besides, **there is a clear difference between an application being accepted and | [element36](https://element36.io) | [FIAT on-off-ramp](./FIAT-on-off-ramp.md) | [GitHub](https://github.com/element36-io) | ☐ | ☒ | ☒ | | [Zondax](https://zondax.ch/) | Ledger Asset App | [GitHub](https://github.com/Zondax) | ☐ | ☒ | ☒ | | [Moonbeam Network](https://moonbeam.network/) | [Pallet-dPoS for Parachain Staking](./parachain-staking.md) | [GitHub](https://github.com/PureStake/moonbeam) | ☐ | ☒ | ☒ | -| [Dora Factory](https://dorafactory.org/) | [MolochDAO substrate pallets v1 and v2](./dora-factory-molochdao-v1-v2.md) | [GitHub](https://github.com/DoraFactory) | ☐ | ☒ | ☐ | +| [Dora Factory](https://dorafactory.org/) | [MolochDAO substrate pallets v1 and v2](./dora-factory-molochdao-v1-v2.md) | [GitHub](https://github.com/DoraFactory) | ☐ | ☒ | ☒ | | BCANN | [Blockchain system for Assigned Names And Numbers](./BCANN.md) | [GitHub](https://github.com/weitaolee) | ☐ | ☐ | ☐ | | [MyBank Labs](https://mybank.network/) | [Platform Bank, Social Network Bank, MyDeX and Credit Scoring System](./mybank.md) | [GitHub](https://github.com/mybank-network/mybank-network) | ☐ | ☐ | ☐ | | [ChainBridge Network](https://github.com/ChainBridgeNetworkTeam) | [Doter: A browser extension wallet for Polkadot](./Doter.md) | [GitHub](https://github.com/ChainBridgeNetworkTeam) | ☐ | ☒ | ☒ | | [SubDAO Labs](https://www.subdao.network/) | [SubDAO Chrome Extension](./SubDAO-Chrome-Extension.md) | [GitHub](https://github.com/subdao-network) | ☐ | ☒ | ☒ | | [Sukhavati Labs](https://sukhavati.io/) | [Sukhavati PoC Module](./sukhavati_poc_module.md) | [GitHub](https://github.com/Sukhavati-Labs) | ☐ | ☐ | ☐ | | [HypeLabs Inc.](https://hypelabs.io) | [UpLink - Decentralized and infrastructure-free approach to peer-to-peer connectivity](./uplink.md) | [GitHub](https://github.com/Hype-Labs) | ☐ | ☐ | ☐ | -| Jackson Harris III | [Staking Rewards Viewer](./staking-rewards-collector-front-end.md) | [GitHub](https://github.com/jackson-harris-iii/staking-rewards-viewer) | ☐ | ☐ | ☐ | +| Jackson Harris III | [Staking Rewards Viewer](./staking-rewards-collector-front-end.md) | [GitHub](https://github.com/jackson-harris-iii/staking-rewards-viewer) | ☐ | ☒ | ☒ | | [Klevoya](https://klevoya.com/) | [WASM Smart Contract Fuzzer](./klevoya_fuzzer.md) | [GitHub](https://github.com/klevoya/) | ☐ | ☐ | ☐ | | [Perun Network](https://perun.network/) | [Perun Channels](./perun_channels.md) | [GitHub](https://github.com/perun-network/) | ☐ | ☒ | ☒ | | [NewOmega](https://github.com/WiktorStarczewski/newomega.trinity ) | [A blockchain game that cannot be shut down (Milestone 3 and 4)](./newomega-m3m4.md) | [GitHub](https://github.com/WiktorStarczewski/newomega.trinity ) | ☐ | ☒ | ☒ | @@ -469,8 +470,8 @@ Besides, **there is a clear difference between an application being accepted and | [Parami](https://parami.io) | [Blockchain-empowered advertising alliance](./parami-protocol.md) | [GitHub](https://github.com/parami-protocol/parami) | ☐ | ☐ | ☐ | | [Sunrise Protocol](https://sunriseprotocol.com) | [Sunrise DEX](./sunrise-dex.md) | [GitHub](https://github.com/sunriseprotocol) | ☐ | ☐ | ☐ | | [Cobo](https://cobo.com/) | Cobo Vault Phase 2 | [GitHub](https://github.com/CoboVault) | ☐ | ☒ | ☐ | -| [OxyDev](https://oxydev.ir) | [SubsCrypt: Managing subscriptions](./SubsCrypt.md) | [GitHub](https://github.com/oxydev) | ☐ | ☒ | ☐ | -| [DNFT-Team](https://github.com/DNFT-Team) | [Data framework between personal data and AI models](./DNFT.md) | [GitHub](https://github.com/DNFT-Team) | ☒ | ☐ | ☐ | +| [OxyDev](https://oxydev.ir) | [SubsCrypt: Managing subscriptions](./SubsCrypt.md) | [GitHub](https://github.com/oxydev) | ☐ | ☒ | ☒ | +| [DNFT-Team](https://github.com/DNFT-Team) | [Data framework between personal data and AI models](./DNFT.md) | [GitHub](https://github.com/DNFT-Team) | ☐ | ☐ | ☐ | | [UMC Labs](https://umc.network) | [Secured token subscription](./UMC-Tokenscribe.md) | [GitHub](https://github.com/umc-network) | ☐ | ☐ | ☐ | | [Perpetual Altruism Ltd](https://cryptograph.co/) | [IP-Rights compliant NFT bridge protocol](./NFT_Bridge_Protocol_for_NFT_Migration_and_Data_Exchange.md) | [GitHub](https://github.com/Perpetual-Altruism-Ltd) | ☐ | ☐ | ☐ | | [Clover](https://clover.finance/) | [Easy-to-use blockchain infrastructure](./clover_network.md) | [GitHub](https://github.com/clover-network/) | ☒ | ☒ | ☐ | @@ -481,7 +482,7 @@ Besides, **there is a clear difference between an application being accepted and | [Zondax](https://zondax.ch/) | [Ledger maintenance + recovery extensions + support](./Zondax-Support.md) | [GitHub](https://github.com/Zondax) | ☐ | ☒ | ☒ | | [Nuclei Studio](https://nuclei.studio/) | [Voting Pallets](https://github.com/w3f/General-Grants-Program/blob/master/grants/speculative/nuclei_governance_os_voting.md) | [GitHub](https://github.com/NucleiStudio) | ☐ | ☒ | ☒ | | [RAMP DEFI](https://app.rampdefi.com/#/) | [Polkakeeper - A Community-Led Value Assurance Protocol](./polkakeeper.md) | [GitHub](https://github.com/RAMP-DEFI) | ☐ | ☐ | ☐ | -| [Stone](https://stonedefi.io) | [Index project which aims to track the portfolio of multiple digital assets](./stone-index-on-substrate.md) | [GitHub](https://github.com/stonedefi/) | ☐ | ☒ | ☐ | +| [Stone](https://stonedefi.io) | [Index project which aims to track the portfolio of multiple digital assets](./stone-index-on-substrate.md) | [GitHub](https://github.com/stonedefi/) | ☐ | ☒ | ☒ | | [Reserve Labs](https://github.com/ReserveLabs) | [AlgoCash - An algorithmic stablecoin](./AlgoCash.md) | [GitHub](https://github.com/ReserveLabs/AlgoCash) | ☐ | ☒ | ☒ | | [gmajor](https://github.com/gmajor-encrypt) | [PHP Scale Codec](./php-scale-lib.md) | [GitHub](https://github.com/gmajor-encrypt/php-scale-codec) | ☐ | ☒ | ☒ | | [Trust Fractal GmbH](https://trustfractal.com/) | [ink! Smart Contract Upgradeability](./upgradeability-by-proxy.md) | [GitHub](https://github.com/trustfractal/ink-upgrade-template) | ☐ | ☒ | ☒ | @@ -493,7 +494,7 @@ Besides, **there is a clear difference between an application being accepted and | [Standard protocol](https://github.com/standardweb3/standard-substrate) | [A collateralized algorithmic stablecoin protocol for synthetic assets](./Standard_Protocol.md) | [GitHub](https://github.com/standardweb3/standard-substrate) | ☐ | ☒ | ☐ | | [Skye Kiwi](https://skye.kiwi/) | [SkyePass: A decentralized, open source password manager](./skyepass.md) | [GitHub](https://github.com/skyekiwi) | ☐ | ☒ | ☐ | | [RidOne Technologies](https://github.com/RidOne-technologies) | [Polkadot UI Web + Angular Identicon](./Polkadot_Web_UI.md) | [GitHub](https://github.com/RidOne-technologies) | ☐ | ☒ | ☒ | -| [Zeropool](https://zeropool.network/) | [Private transactions on Polkadot Phase 2](./ZeroPool.md) | [GitHub](https://github.com/zeropoolnetwork) | ☐ | ☐ | ☐ | +| [Zeropool](https://zeropool.network/) | [Private transactions on Polkadot Phase 2](./ZeroPool.md) | [GitHub](https://github.com/zeropoolnetwork) | ☐ | ☒ | ☒ | | [OAK Foundation](https://oak.tech) | [Quadratic Funding Module and Dapp Application](./quadratic-funding.md) | [GitHub](https://github.com/OAK-Foundation/) | ☐ | ☒ | ☒ | | [Commonwealth Labs](https://commonwealth.im/) | [Webb Mixer](./MIXER.md) | [GitHub](https://github.com/edgeware-builders) | ☐ | ☒ | ☒ | | [TEA Project](http://teaproject.org/) | [Gluon - Decentralized Hardware Crypto Wallet Services](./Gluon_decentralized_hardware_crypto_wallet_services.md) | [GitHub](https://github.com/tearust) | ☐ | ☒ | ☐ | From d002d552b795c5ed78b3890f3bb9dbc2b92440e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20M=C3=BCller?= Date: Mon, 9 Oct 2023 11:31:01 +0200 Subject: [PATCH 109/133] Update index.md XCMSend M1 --- applications/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/index.md b/applications/index.md index 706ce1c31ec..58b15281875 100644 --- a/applications/index.md +++ b/applications/index.md @@ -74,7 +74,7 @@ Besides, **there is a clear difference between an application being accepted and | [Liisa](www.liisa.io) | [Polkadot NFT Portfolio Tracker](LiisaPortfolioTracker.md) | [GitHub](https://github.com/LiisaNFT) | ☐ | ☐ | ☐ | | [NeoPower Digital](https://neopower.digital/) | [Roloi - XCM Payment Automation](./roloi-xcm-payment-automation.md) | [GitHub](https://github.com/NeoPower-Digital) | ☐ | ☐ | ☐ | | [Eiger](https://www.eiger.co/) | [MoveVM Substrate Pallet, part 2](./Substrate_Move_System_Pallet_2.md) | [GitHub](https://github.com/eigerco) | ☐ | ☐ | ☐ | -| [Rust Syndicate x Decentration](https://www.decentration.org/) | [XCMSend](./xcmsend.md) | [GitHub](https://github.com/decentration) | ☐ | ☐ | ☐ | +| [Rust Syndicate x Decentration](https://www.decentration.org/) | [XCMSend](./xcmsend.md) | [GitHub](https://github.com/decentration) | ☐ | ☒ | ☐ | | [Off Narrative Labs](https://github.com/Off-Narrative-Labs) | [Tuxedo Parachain Support](./tuxedo_parachain.md) | [GitHub](https://github.com/Off-Narrative-Labs) | ☐ | ☐ | ☐ | | [PolyCrypt GmbH](https://polycry.pt) | [Distributed Cryptography for Polkadot Wallets](./distributed_cryptography_for_polkadot_wallets.md) | [GitHub](https://github.com/perun-network) | ☐ | ☐ | ☐ | | [Open Smart Contract](https://github.com/OpenSmartContract) | [ISO20022 PoC](./ISO20022.md) | [GitHub](https://github.com/OpenSmartContract) | ☐ | ☐ | ☐ | From 98956a4baeaa861a578a45fd4f08add855c65fa1 Mon Sep 17 00:00:00 2001 From: qstnus <81143441+qstnus@users.noreply.github.com> Date: Mon, 9 Oct 2023 09:01:08 -0400 Subject: [PATCH 110/133] Update QSTN.md (#2030) --- applications/QSTN.md | 192 +++++++++++++++++++++++++++---------------- 1 file changed, 120 insertions(+), 72 deletions(-) diff --git a/applications/QSTN.md b/applications/QSTN.md index 4423b4b794b..7d045fb8e0d 100644 --- a/applications/QSTN.md +++ b/applications/QSTN.md @@ -8,62 +8,76 @@ ### Overview -- QSTN is a web application where users participate in surveys, quizzes and short questionnaires to earn virtual credit. -- QSTN is a blockchain enabled market research portal where users answer questions, earn credit and spend these rewards in our digital marketplace for tokenized goods (e.g. NFTs, metaverse wearables). +- QSTN is a Web3 survey marketplace where businesses fund surveys, reward participants, and uphold user privacy through our data wallet-driven profiles. +- QSTN is a cutting-edge platform that combines AI-driven surveys with a secure data wallet. Our solution empowers users to earn digital rewards from surveys while maintaining privacy. We're revolutionizing data monetization in the digital age. -When we agree to terms and conditions, most of the time, our data gets sold and commodified without permission or compensation. QSTN acts as an “interface” for consumers to pay gate their information towards businesses. +At QSTN, we aim to revolutionize the data collection landscape by addressing key challenges faced by traditional survey platforms. We understand that user engagement is essential for successful data collection, which is why we offer a gamified experience to incentivize users and boost response rates. Through our platform, businesses can easily fund surveys using digital tokens or NFTs, streamlining payment processes and ensuring faster and more efficient transactions. -By compensating users for their data, we provide incentive for rich and meaningful insights. This information is then sold and accessed by our partners for market research purposes. +One of the most significant concerns in data collection is data privacy and security. We prioritize user trust and confidence by providing our data wallet, Cubby, which allows users to maintain full control over their data. This secure environment ensures that users' personal information remains private, making them more willing to share valuable insights. Additionally, we equip businesses with AI-assisted survey creation and advanced data analytics tools, enabling them to derive meaningful insights from survey responses and make data-driven decisions. Our strategic partnerships with prominent blockchain projects like NEAR and Stellar further enhance our platform's capabilities and foster interoperability within the Web3 ecosystem. Through these solutions, we aim to create a compelling and user-centric data collection platform that empowers businesses and individuals alike. -Since winning the Octopus Network Star Prize, we realize the importance of interoperability and the low transactional fees offered by Substrate due to their sharded blockchain mechanism; Octopus Network is supporting our app-chain. - -- Building on this, we would like Polkadot to be the next blockchain we implement; allowing its users to answer questionnaires, earn virtual credit and spend it for digital rewards minted and issued on Polkadot (e.g. NFTs). +Demo: NEAR Protocol +https://drive.google.com/file/d/1P2NRbIx2VZhfIQ6FHKO5_YOyhFZHjbfW/view?usp=sharing + +- Building on this, we would like Polkadot to be the next blockchain we implement; allowing its users to answer questionnaires, earn DOT rewards and mint NFTs upon completion. The key to our platform is allowing users to monetize their personal information in a low gas, scalable environment and Polkadot meets both of these requirements. By supporting this initiative, the Web3 Foundation is investing in data infrastructure for the entire DOT ecosystem as well as creating a new “Play-to-Earn” model for data aggregation. -For scope, QSTN can be broken down into three different user experiences: - 1. User experience - general users create an account, complete on-boarding process and then have the ability to answer 5 daily questions in return for credit which can be spent within our NFT marketplace +For scope, QSTN can be broken down into two different user experiences: - 2. Business experience - businesses and corporate entities (e.g. DAOs and protocols) can establish an account to create their own questionnaire portal, reward users for their participation and track response rate +1. User experience - users create an account and then have the ability to complete 3 daily surveys in return for DOT tokens and NFTs +2. Business experience - businesses create an account and build their own survey, rewarding users for their participation in DOT tokens and NFTs - 3. Commission experience - businesses and corporate entities can pay a fee to have their questions slipped into the "User View" rotation and glean insights from our daily, active audience for their own market research purposes - -We want to bring all three user experiences to the DOT ecosystem, supporting the general user in scope 1, businesses and protocols who want to manage their own questionnaire in scope 2 and the opportunity for more traditional Web2 businesses to collect market research from Web3 audiences in scope 3. +We want to bring both experiences to the DOT ecosystem and allow businesses to fund, track and engage users via their own surveys with the assistance of AI. + +### Project Details -- Founded by NYU graduate Orrin Campbell, QSTN was birthed by a recorded conversation with astrophysicist Neil deGrasse Tyson. During the interview, Neil argued that even if software is ‘free’, companies still profit from the sale, transfer, and storage of our information. +### Ecosystem Fit -For example, did you know Google makes almost $120 million dollars a day in advertising revenue (e.g. targeted ads, placements)? Orrin thought about how to creatively address this problem and deliver his “promise to save the world.” +- QSTN is an innovative Web3 survey platform that combines blockchain, gamification, and AI to revolutionize data collection. Businesses can easily fund surveys using digital tokens or NFTs, offering users enticing rewards for their participation. Our data wallet, Cubby, ensures users maintain full control over their data, ensuring privacy and security. -Orrin has released NFTs with Mintbase, spoken on Cryptovoxels and Somnium panels as well as created a large social following behind his afrofuturistic aesthetic. +To ensure this vision becomes a reality, we're harnessing the power of Safe's decentralized custody protocol and collective asset management platform. Users signing up on QSTN have their email addresses utilized to create individualized Safe vaults, powered by Web3 authentication. This integration enables users to complete surveys, earn zero-knowledge proofs, and subsequently claim their rewards directly within their EVM wallet. -Completing the QSTN team triad are the Suriel brothers, who Orrin met at NYU. Jose Suriel is an NYU graduate who handles project management at Forge AI — bringing this expertise to assisting the development and timeline of the QSTN marketplace. +SAFE is a non-custodial solution by Consensys (https://safe.global/), it facilitates wallet creation utilizing email addresses. Currently, SAFE lacks support for Polkadot. Given this, we will enable users to interact directly with the pallet, easing the reward redemption process post-survey completion. The wallet we will use is Polkadot JS wallet. -Anibal Suriel is Jose’s twin brother and our head of legal, he is registered in New York and Miami; leveraging his time at KARM to create the legal framework and guidelines around data, compliance, and overall best practices. +We aim to take advantage of the low gas, scalable environment offered on DOT to allow users to earn DOT, mint NFTs and transfer assets without exorbitant transactional fees. -With a desire to build meaningful products and experiences, Orrin founded QSTN with the aim to empower internet users and provide alternative means of passive income, aided by the invaluable expertise of the notorious Suriel duo. +- Right now, our target audience can be broken down in the following groups: -### Project Details +A. Agencies +* Marketing agencies -### Ecosystem Fit +*Target agencies to use for experiential campaigns + source to relevant clients -- QSTN is Web3 infrastructure to accelerate the adoption of data monetization. Since users can earn with or without a Web3 wallet, but have the option to create one, shows we are designed to be a Web2 on-ramp into the world of Web3. +B. Brands +* Airline +* Beauty brands +* Food delivery +* Record labels -We aim to do this by taking advantage of the low gas, scalable environment offered on DOT to allow users to earn credits, mint NFTs and transfer assets without exorbitant transactional fees. +*Target customer experience, customer success and marketing team -Our design is a centralized system “wrapped” with Web3 extensions so that users can sign up using Twitter or Facebook but still earn credits and NFTs once they decide to create a wallet. +C. Educational institutions +* Colleges +* Universities -- Right now, our target audience can be broken down in the following groups: -1. Data privacy enthusiasts (Web2 and Web3) -2. High school and college students seeking additional income -3. Web3 DAOs and Protocols which need to capture market research (e.g. DAO governance) -4. Web2 users wishing to matriculate to Web3 but no upfront capital or resources to get into the space +*Target professors, teachers and researchers -Currently, we have over 3,000 sign-ups for the waitlist, confirmed private test sessions with Encode Club, Octopus Network and a couple projects on NEAR Protocol. +D. Web3 +* Analytics firms - Addressable, Chainalysis, Dune Analytics, Kaiko, Messari, Nansen, Pantera Capital, QuickNode, Solidus Labs +* DAOs +* Foundations +* NFT communities +* Exchanges -Since we also have a desire to partner with Web2 organizations to help demonstrate the value of our platform, we are currently in talks with the following educational institutions to run private sessions. -- Jack & Jill of America, Inc. -- New York University -- The Gray Matter Experience +*Target marketing, community outreach and developer support + +Here are some notable milestones we've achieved since inception: + +1. Secured a position in Outlier Venture's NEAR Base Camp, successfully closing our pre-seed round. +2. Developed a data wallet feature, now generating zero-knowledge proofs upon survey completion. +3. Integrated AI to assist businesses in crafting surveys and evaluating authenticity of responses through a "credibility" score. +4. Garnered preliminary interest from notable entities like NYU, Estée Lauder, and L'Oréal for potential test partnerships, in collaboration with the NEAR Foundation. +5. Were honored with acceptance into the Polkadot Blockchain Academy, although a visit was precluded due to visa constraints. - Our platform is able to act as a Web3 on-ramp because our design easily onboards novice, less experienced internet users. This is important because in our initial feedback, we learned a lot of internet users want to get into blockchain but do not have the capital, resources or know where to start. @@ -77,7 +91,7 @@ QSTN builds on their concept by offering more exciting, engaging rewards, increa Our unique offering is the ability for Web2 users to answer questions, earn credits and buy NFTs within a "gas-less" environment but having the option to connect their wallet and mint once familiar with the technology. -We spent the past year participating in over 5 accelerators to help drive the brand awareness within the Web3 space and ensure we become the "go-to" market research portal in blockchain. +We spent the past year participating in over 7 accelerators to help drive the brand awareness within the Web3 space and ensure we become the "go-to" market research portal in blockchain. - There has been an increase in the “Play-to-Earn” model and a couple players who are making noise in the space would include Rabbit Hole (educational), NEAR Crowd (micro task), Axie Infinity (gaming), Pi (validation), and Sweat Coin (exercise). @@ -87,27 +101,43 @@ We see a market opportunity to use this model for data aggregation, gamifying ma ### Team members -- Orrin Campbell – QSTN founder, CEO and blockchain architect who will be designing the workflow and user experience **team leader** +- Orrin Campbell, CEO: A marketing graduate from NYU, Orrin is an influential figure in the entertainment industry with millions of streams and followers. His media presence has been showcased on platforms like Dr. Phil, and his degree in marketing adds valuable insights to QSTN's growth strategy. -Twitter - https://twitter.com/realorrin +Anibal Suriel, Chief Legal Officer: An NYU alum with a remarkable legal career, Anibal has worked for prestigious firms like KARM and R3. He possesses extensive legal expertise and is admitted to the bar in three states: New York, Florida, and Washington DC. -Instagram - https://instagram.com/realorrin +Brigitte Pinewiski, Chief Partnership Officer & Web3 Physician: An author of "Wealthcare: Demystifying Web3 and the Rise of Personal Data Economies," Brigitte is also a Healthcare Advisor, Nex Cubed member, and TiE Board and Charter Member. Her expertise in Web3 and AI adds a unique perspective to the team, aligning with QSTN's focus on innovation in the healthcare realm. -Linkedin - https://linkedin.com/in/realorrin +Carlos Guiamaraes, CTO & Lead Developer: Carlos brings a strong technical acumen to QSTN. As a skilled developer for over 15 years, his contributions are integral to the back-end architecture and tool integration, ensuring a seamless and efficient platform. -GitHub - https://github.com/@qstnus - -- Anibal Suriel - QSTN Head of Legal **team member** - -Linkedin - https://linkedin.com/in/anibal-suriel-esq +Eduardo Gomes, Junior Developer: A promising talent, Eduardo contributes to QSTN's development efforts. With his skills and passion for identity, he adds value to the KYC and verification of users within the QSTN platform. -Lafi Raed – QSTN Lead Developer **team member** +Melanie Zhang, Creative Director: An NYU graduate with a keen eye for design and user experience, Melanie's artistic vision enriches the platform's aesthetics and fosters engagement with QSTN's users. -GitHub - https://github.com/shadow111 +Daniel Fadely, Financial Analyst: An NYU alum with a strong finance and investment background, Daniel's involvement in opening and running the investment club at NYU, along with experience in managing various portfolios, enhances the financial planning and analysis for QSTN. -Phillip Coleman - Entreprenuer In Residence **team member** - -Linkedin - https://www.linkedin.com/in/phillip-coleman-791b1475 +- Orrin Campbell – QSTN CEO +Twitter - https://twitter.com/realorrin +Instagram - https://instagram.com/realorrin +Linkedin - https://linkedin.com/in/realorrin +GitHub - https://github.com/@qstnus + +Anibal Suriel - QSTN CLO  +Linkedin - https://linkedin.com/in/anibal-suriel-esq + +Brigitte Piniewski - QSTN CPO +LinkedIn - https://www.linkedin.com/in/brigittepiniewski/ + +Carlos Guiamaraes – QSTN CTO & Lead Developer +GitHub - https://github.com/sekmet + +Eduardo Gomes - QSTN Junior Developer +GitHub - https://github.com/Eduardogbg + +Melanie Zhang - Creative Director +LinkedIn - https://www.linkedin.com/in/melanie-y-zhang/ + +Daniel Fadely - Financial Analyst +LinkedIn - https://www.linkedin.com/in/daniel-f-436377203/ ### Contact @@ -139,11 +169,30 @@ https://medium.com/oct-network/spring-2022-octopus-accelerator-star-prize-winner 5. QSTN is 1 of 5 teams to receive the official Star Prize https://www.youtube.com/watch?v=72QqZ6MIxeo -Orrin Campbell - Along with his entrepreneurial pursuits in Web3, Orrin has a large following in entertainment due to his national television appearance on Dr. Phil during an hour long episode about his experience as a "cyborg from the future." - - In an attempt to build on this platform, Orrin has amassed a large following on social media who follow his advice and input on topics ranging from music, fashion, entertainment and technology (Web3). - +6. QSTN is featured on XFounders - +https://youtu.be/35Mv9rt5KHQ + +7. QSTN wins the Parsiq unicornization contest - +https://hub.parsiq.net/unicornization + +8. QSTN participates in the Mintbase Demo Day - +https://blog.mintbase.xyz/wrapping-up-mintbases-demo-day-f13fd192c8fc + +9. QSTN presents at the Mastercard x NEAR Demo Day - +https://youtu.be/TkfHLgsBxiE + +Orrin Campbell (Founder bio) - + +Orrin is a multi-faceted entrepreneur and entertainer, renowned for his innovative strides in the fintech and entertainment sectors. As the founder of QSTN, Orrin combines his passion for technology and entertainment to revolutionize data monetization through gamification. + +A recent graduate of NYU Stern School of Business, Orrin's journey is anything but ordinary. Before delving into fintech, he made waves as an entertainer, amassing millions of streams on Spotify. His charisma and talent led him to a highly publicized appearance on Dr. Phil's national television show, which catapulted him to social media stardom with 250,000 followers on TikTok, 15,000 on Instagram, and 40,000 on YouTube. + +Leveraging his newfound audience and background in entertainment, Orrin ventured into fintech with a vision to empower individuals to take control of their data. He founded QSTN, a groundbreaking platform that bridges the gap between data collection and user engagement through gamification and rewards. + +In just two years, Orrin’s leadership and innovation at QSTN have been recognized with wins in two blockchain competitions. He has also been an active participant in prestigious accelerators, including Verizon, GitHub, and NYU Future Labs. Orrin’s visionary approach has piqued the interest of giants like L'Oréal and Estée Lauder, with whom discussions are ongoing for potential collaborations. Additionally, NYU, his alma mater, is among the entities showing interest in QSTN. The platform has already garnered the attention of over 3,000 test users, marking a promising start. + +Orrin's combination of entertainment flair and technological acumen positions him as a trailblazer in the fintech space. Through QSTN, he is not just transforming data collection but reshaping the very fabric of user engagement and empowerment in the digital age. + Dr. Phil episode - https://www.youtube.com/watch?v=ReRddYVYfHU @@ -156,16 +205,15 @@ https://tiktok.com/@realorrin (250,000 followers) https://instagram.com/realorrin (18,000 followers) https://youtube.com/c/realorrin (41,000 followers) - ### Team Code Repos - https://github.com/qstnus -- https://github.com/qstn-ansr -- https://github.com/shadow111 +- [https://github.com/qstn-ansr ](https://github.com/orgs/QSTN-US/repositories) +- [https://github.com/shadow111 ](https://github.com/sekmet) Please also provide the GitHub accounts of all team members. If they contain no activity, references to projects hosted elsewhere or live are also fine. -- https://github.com/shadow111 +- [https://github.com/shadow111](https://github.com/sekmet) ### Team LinkedIn Profiles (if available) @@ -187,13 +235,13 @@ Article 3: https://news.bloomberglaw.com/litigation/google-plus-7-5-million-priv ### Overview -- **Total Estimated Duration:** 12 months +- **Total Estimated Duration:** 15 months - **Full-Time Equivalent (FTE):** 8 employees (4 developers, 3 designers, 1 blockchain architect [Orrin]) - **Total Costs:** 10,000 USD ### Milestone 1 Example — Implement Substrate Modules -- **Estimated duration:** 12 months +- **Estimated duration:** 15 months - **FTE:** 8 employees - **Costs:** 10,000 USD @@ -204,22 +252,22 @@ Article 3: https://news.bloomberglaw.com/litigation/google-plus-7-5-million-priv | 0c. | Testing Guide | Core functions will be fully covered by 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 publish a Medium article that documents our transition to Polkadot and details how users of QSTN can connect their DOT wallet to our application, mint & transfer purchased media onto the DOT blockchain as well as save their survey ID on-chain on a local substrate chain. -| 1. | Survey pallet | We will create a Substrate module that will allow users to create a survey, invite other users to create a survey for their business, add questions (metadata), remove questions (metadata), give permission as to who can answer and list created surveys. -| 2. | Survey pallet UI | We will create a new UI for DOT users to be able to ask questions, receive credit and screenshot their response on-chain; these design assets will include landing pages and layouts which we will open source to the DOT community -| 3. | Substrate chain | The survey pallet of our custom chain will interact in such a way to allow users to connect their DOT wallet to our application, mint media on a local substrate chain as well as create surveys, invite businesses to create their own surveys, and give permissions as to who can answer a survey [1.] and then save the completed survey ID on-chain as proof of completion [1.] these transactions take place within our new UI [2.] +| 1. | Survey pallet | We will create a Substrate module that will allow users to complete a survey, earn a zero knowledge proof upon completion and then connect their Polkadot JS wallet in order to withdraw the pre-defined reward amount by interacting with the pallet. +| 2. | Survey pallet | We will create a Substrate module that will allow business to create a survey and then connect their Polkadot JS wallet in order to fund the pallet for respondents. +| 3. | Survey pallet UI | We will create a new UI for DOT users to be able to connect their Polkadot JS wallet, interact with the pallet to withdraw or fund survey rewards and mint their respective NFT media onto a local substrate chain. +| 4. | Substrate chain | The survey pallet of our custom chain will interact in such a way to allow users to connect their DOT wallet to our application, withdraw DOT and then mint media on a local substrate chain [1.] and these transactions take place within our new UI [3.] with proof recorded by our ZKP [5] after being funded by the business [2] and recorded in the data wallet [6] +| 5. | ZKP Proof Generation | We will create an API for the Cubby data wallet to generate zero knowledge proofs upon survey completion on the Substrate chain - this ZKP will be the "receipt" to verify users are eligible to connect their wallet and withdraw rewards from a particular survey contract. +| 6. | Data Wallet | We will open source our data wallet which is an authorizathion layer within QSTN allowing users to interact and generate zero knowledge proofs upon survey completion on DOT - this wallet interacts with the pallets deployed by our local substrate node through our API. ... - ## Future Plans -- In the short term, we are competing in hackathons to better our understanding of Web3 products and services we can use to scale out the QSTN market research portal. - -Particularly, we will be participating in the Filecoin Sustainable Blockchain Summit Hackathon, Encode x Chainlink Hackathon and submitting for a couple accelerator programs which include VC pitching. - -In conjunction with our hacking and education, we will be testing our existing application privately with different companies ranging from Encode Club, Filecoin, Octopus Network, NEAR Protocol to Ocean Protocol. - -- Looking towards the future, we are excited to host our first NFT launch event on NEAR Protocol (October) and work with more traditional Web2 businesses in music, entertainment and market research to onboard the next million users into Web3 +- As QSTN, our major product milestones for the next 6 months include: +1. Developing the Cubby Data Wallet, which will replace user profiles, enabling users to authorize data requests directly from a Chrome extension wallet. This feature enhances user control over their data and streamlines the authorization process. +2. Creating the Cubby File Storing Platform, a decentralized storage solution powered by Filecoin. Users and businesses can securely store their files, with the owner holding the only decryption key, ensuring privacy and exclusive access. +3. Collaborating with NYU, L'Oréal, and Estée Lauder to test and refine our platform by incentivizing their respective communities, helping us gather valuable insights and optimize our offerings. +4. Expanding our clientele beyond web3 startups to include larger legacy brands and marketing agencies. Our goal is to establish QSTN as the "go-to" self-service marketing tool for a diverse range of businesses seeking innovative and effective solutions. ## Additional Information :heavy_plus_sign: @@ -227,6 +275,6 @@ In conjunction with our hacking and education, we will be testing our existing a Here you can also add any additional information that you think is relevant to this application but isn't part of it already, such as: -- Please request a private invite to our repo (https://github.com/qstn-ansr) for our existing prototype on NEAR Protocol +- Please request a private invite to our repo ([https://github.com/qstn-ansr](https://github.com/QSTN-US) for our existing prototype on NEAR Protocol - If there are any other teams who have already contributed (financially) to the project. - NEAR Foundation (grants program) From 7df463328f7f7433f8131a70ace0da08914b037f Mon Sep 17 00:00:00 2001 From: CHOIX Date: Tue, 10 Oct 2023 08:58:48 +0200 Subject: [PATCH 111/133] update duration estimation (#2037) --- applications/grantmaster.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/applications/grantmaster.md b/applications/grantmaster.md index 688b36b81f4..8fb4ce7ab8b 100644 --- a/applications/grantmaster.md +++ b/applications/grantmaster.md @@ -169,13 +169,13 @@ To get a feeling how the page will look like, I prepared this Hi Fi wireframe. K ### Overview -- **Total Estimated Duration:** 2 months +- **Total Estimated Duration:** 5 months - **Full-Time Equivalent (FTE):** 0.6 FTE - **Total Costs:** 10,000 USD ### Milestone 1 — Development of API and Grant Frontend -- **Estimated Duration:** 2 months +- **Estimated Duration:** 5 months - **FTE:** 0.6 - **Costs:** 10,000 USD @@ -218,4 +218,4 @@ I'm planning to implement the following milestone as part of a possible follow-u ## Additional Information :heavy_plus_sign: -**How did you hear about the Grants Program?** personal recommendation \ No newline at end of file +**How did you hear about the Grants Program?** personal recommendation From 5259b0d1086f99ffda026bddc1c758467542f533 Mon Sep 17 00:00:00 2001 From: Matej yangwao <5887929+yangwao@users.noreply.github.com> Date: Tue, 10 Oct 2023 11:18:28 +0200 Subject: [PATCH 112/133] KodaDot - AssetsHub NFT indexer - Milestone 1 (#1864) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Added KodaDot Grants Ecosystem * Create kodadot_assethub_nft_indexer_statemine_statemint.md * Update markdown * Milestone1 - KodaDot Assets Hub * formatting * removing residues from first version * 💰 define to use arrowsquid and update final price * :memo: unify deliverables per assethub indexer * :memo: numbering per deliverables --------- Co-authored-by: Viki Val --- ...ssethub_nft_indexer_statemine_statemint.md | 206 ++++++++++++++++++ 1 file changed, 206 insertions(+) create mode 100644 applications/kodadot_assethub_nft_indexer_statemine_statemint.md diff --git a/applications/kodadot_assethub_nft_indexer_statemine_statemint.md b/applications/kodadot_assethub_nft_indexer_statemine_statemint.md new file mode 100644 index 00000000000..637b4d09a1c --- /dev/null +++ b/applications/kodadot_assethub_nft_indexer_statemine_statemint.md @@ -0,0 +1,206 @@ +# AssetHub NFT Indexer + +- **Team Name:** KodaDot +- **Payment Address:** 1KxzJHoRJHi8EgWVhrGDueeyzg8PyihAvSL3NP6QMcxEve6 +- **[Level](https://github.com/w3f/Grants-Program#baby_chick-level-2):** 2 + +### Overview + +The AssetHub Indexer is a GraphQL service designed to streamline the interaction with Uniques, NFT non-fungible assets, and fungible assets on AssetHubs (Statemine/Statemint). This service is specifically tailored to serve as a robust data layer for NFT-oriented dApps, leveraging the simplicity of GraphQL and REST API. + +In the current landscape, developers face challenges interacting with Uniques and Assets on Statemine due to the complexity and time-consuming nature of querying fungible and non-fungible assets on AssetHub. AssetHub Indexer aims to address these challenges by providing a user-friendly GraphQL interface, thus reducing the time and effort required to query these assets. + +The key advantages of the AssetHub Indexer include +its focus on ease of use, +versatility for a broad range of use cases, and +its commitment to bringing Statemine utilization & documentation closer to developers. +Furthermore, the AssetHub Indexer is a completely decentralized, open-source solution that respects user privacy by not collecting user data. + +By reducing the time required to query assets and providing a more user-friendly interface, the AssetHub Indexer aims to foster the growth and development of the Web 3.0 ecosystem in Polkadot. + + +### Project Details + +The AssetHub Indexer is a state-of-the-art infrastructure tool designed to address developers' challenges when querying NFTs from the chain. Currently, developers are limited to querying NFTs in batches from RPC nodes, which can be time-consuming and inefficient for customer-facing products. This limitation often results in long waiting times and heavy device data loads. + +To overcome these challenges, we have developed the AssetHub Indexer. This tool leverages the power of GraphQL to provide a more efficient and user-friendly interface for developers. With the AssetHub Indexer, developers can easily query NFTs and build on top of the new [NFTs pallet by Parity](https://github.com/paritytech/substrate/blob/master/frame/nfts/src/lib.rs), opening up a wide range of potential use cases, such as creating [fandom shops](https://fandom.deno.dev) for art. + +Recognizing that many web developers may not have extensive experience with GraphQL, we have also built a TypeScript-based SDK that can be easily imported into any existing project. This SDK simplifies interacting with Uniques and Assets on Statemine, making it more accessible for developers of all skill levels. + +The AssetHub Indexer uses TypeScript and leverages the Squid framework (ArrowSquid) for data processing. It interacts with a Postgres database and provides a GraphQL interface for querying data. The project structure includes directories for generated model/server definitions, server extensions, data type definitions, and mapping modules. It also uses environment variables defined in a .env file or supplied by a shell for configuration. + +Currently, the AssetHub Indexer allows developers to interact with Uniques and Assets on Statemine using GraphQL. The project is designed to be as simple as possible, ensuring all tasks can be done quickly and without extended searching. We aim to reduce the time necessary to query fungible and non-fungible assets on AssetHub, making it easier for developers to build innovative and user-friendly decentralized apps. + +#### Architecture 🏗 + +The architecture of the AssetHub Indexer is designed with simplicity and efficiency in mind, ensuring a seamless interaction with Uniques and Assets on Statemine. + +At the core of our architecture is TypeScript, a statically typed superset of JavaScript that adds optional types to the language. TypeScript ensures robustness and reliability in our codebase, allowing us to catch errors early in the development process and write more maintainable code. + +To handle data processing, we leverage the ArrowSquid framework. ArrowSquid is a powerful tool allowing us to process and index blockchain data efficiently. It provides a set of utilities for defining and running data processing tasks, making handling complex data processing requirements easier. + +Our project interacts with a Postgres database, a powerful, open-source object-relational database system that uses and extends the SQL language. Postgres provides us with the robustness, scalability, and performance we need to handle large amounts of data. + +![](https://hackmd.io/_uploads/SyLxL56uh.jpg) + +On the architectural level, we have a few layers, as described in the picture above. +We need to obtain the data for the correct function of our indexer. AssetHub indexer combines the SubSquid archive (the pre-indexed storage) and RPC node for the new data. When the indexer obtains a new event, it is automatically processed by the defined handler. As previously mentioned, we processed data stored in the Postgres DB. + +To expose the data to clients, we provide a GraphQL interface. GraphQL is a query language for APIs and a runtime for executing those queries with our existing data. It allows clients to ask for exactly what they need and nothing more, making it easier to evolve and enabling powerful developer tools. + +The project structure is organized into several key directories. The 'src/generated' directory contains model/server definitions created by codegen. The 'src/server-extension' directory contains a module with custom type-graphql-based resolvers. The 'src/types' directory contains data type definitions for chain events and extrinsics created by typegen. The 'src/mappings' directory contains the mapping module. The 'lib' directory contains compiled js files, reflecting the structure of the 'src' directory. + +Finally, the project configures environment variables, defined in a .env file or supplied by a shell. This approach allows us to easily manage and change the configuration without altering the codebase. + +The second state-of-the-art is our Client-first SDK called Uniquery. As we can see in the picture below, the only thing that client applications need to do is import the Uniquery package via ESM/CJS (Javascript targets). Once we have the Uniquery package, we can access query builder implementation (such as `client.getCollectionById(id)`). Additionally, because many developers are familiar with REST API, we build a similar fetch strategy without needing a third party (every client fetches data directly from SubSquid). The REST looks like this: `$fetch(/collectionById/${id}).` + +![](https://hackmd.io/_uploads/HkMKagJt3.png) + +#### Technology Stack 💻 + +- TypeScript +- Node.js +- Docker +- SubSquid (ArrowSquid for Substrate) +- Postgres +- GraphQL + + +### Ecosystem Fit + +The AssetHub Indexer is a crucial addition to the Polkadot and Substrate SDK ecosystem. It addresses the challenges developers often encounter when building on top of runtime pallets, particularly when interacting with Uniques, NFTs, and Assets on Statemine. The AssetHub Indexer provides a comprehensive NFT-oriented data solution, simplifying the development process and enhancing the efficiency of dApps within the ecosystem. + +Our solution stands out within the Polkadot and Substrate SDK ecosystem due to its user-friendly GraphQL interface and TypeScript-based SDK. These features streamline interaction with Uniques and Assets on Statemine, reducing the complexity of querying these assets. + +Moreover, the AssetHub Indexer is designed to be versatile, supporting a broad range of use cases. Developers can also leverage our [sub-scaffold UI](https://github.com/kodadot/sub-scaffold) template to bootstrap their projects quickly. This template, a forkable Substrate dev stack focused on rapid product iterations, accelerates the development process and allows developers to focus on creating innovative and user-friendly dApps, rather than getting bogged down in the initial setup. + +Our target audience for this proposal includes Web3 projects and blockchain developers, whether they are just starting out or already established within the Polkadot and Substrate SDK ecosystem. We believe the AssetHub Indexer can provide significant value to these developers, enabling them to build more efficient and user-friendly dApps like [KodaDot](https://kodadot.xyz/). + +AssetHub also plays significant for the [KodaDot](https://kodadot.xyz/) NFT marketplace, which is one of the main consumers for this indexer. Thanks to that, developers can find real-world examples of how to effectively make GraphQL queries and learn more about using Uniquery. + + +Regarding competition within the Polkadot and Substrate SDK ecosystem, the AssetHub Indexer differentiates itself through its focus on NFT-oriented data solutions, user-friendly interface, and commitment to simplifying the development process. Including the sub-scaffold UI template further sets it apart, providing developers with a ready-to-use foundation for their projects. Moreover, the AssetHub Indexer is already being utilized by [Subsocial](https://twitter.com/SubsocialChain/status/1674435226334904320) and KodaDot, demonstrating its practical application and effectiveness. We plan to further promote the indexer within the ecosystem to onboard new developers and explore new solutions. These factors position the AssetHub Indexer as a unique and valuable tool within the Polkadot and Substrate SDK ecosystem, ultimately serving as a Common Good solution. + + +## Team :busts_in_silhouette: + +### Team members (In order of joining time) + +- Matej Nemček - Project Lead +- Viktor Valaštín - Developer + +### Contact 📞 + +- **Contact Name:** Matej Nemček +- **Contact Email:** matej.nemcek@geefu.net + +### Legal Structure + +- **Registered Address:** Proletarska cesta 4, 1000 Ljubljana, Slovenia, Europe +- **Registered Legal Entity:** GenArt, Matej Nemček s.p. + + +### Team's experience + +**Matej Nemček** is the Founder and CEO of [KodaDot](https://kodadot.xyz/). He has been instrumental in the growth and development of KodaDot, leading the team to create the best end-user experience on the Asset hub. Matej's leadership and vision have been pivotal in transforming KodaDot into a collaborative hub where creators, developers, and community members work collectively for decision-making. + +**Viktor Valaštín**, also known as Viki Val, is the Co-founder of KodaDot. He is responsible for the technical aspects of the project. Viktor has been working on implementing MoonBeam and MoonRiver NFT EVM smart contracts and enabling read-only access to existing components for seamless end-user interaction. His technical expertise has been crucial in successfully launching the Basilisk NFT Marketplace pallet in the Fall of 2022. + +Matej and Viktor are strongly committed to the Polkadot ecosystem and have demonstrated their ability to deliver high-quality, impactful projects. They bring a wealth of knowledge and experience to the AssetHub Indexer project. Their work has earned KodaDot the number one rank as a decentralized dapp in the Polkadot ecosystem on [Github](https://github.com/topics/polkadot). You can read more about their work and KodaDot's contributions to the Polkadot ecosystem on the [Polkadot Wiki](https://wiki.polkadot.network/docs/learn-nft-projects#kodadot). + + +### Team Code Repos + +- [https://github.com/kodadot/stick](https://github.com/kodadot/stick) +- [https://github.com/kodadot/nft-gallery](https://github.com/kodadot/nft-gallery) + +#### Team GitHub accounts 🧑‍💻 + +- [Viktor Valaštín](https://github.com/vikiival) +- [Matej Nemček](https://github.com/yangwao) + + +### Team LinkedIn Profiles 🧑‍🎓 + +- [Matej Nemcek](https://linkedin.com/in/mnemcek/) +- [Viktor Valastin](https://linkedin.com/in/vikival/) + + +## Development Status :open_book: + +- [github.com/kodadot/stick/milestone/1](https://github.com/kodadot/stick/milestone/1) - Milestone 1 track +- [github.com/kodadot/stick](https://github.com/kodadot/stick) This is the repo for AssetHub Indexer. +- [github.com/kodadot/uniquery](https://github.com/kodadot/uniquery) This is the repo for SDK. + +## Development Roadmap :nut_and_bolt: + +### Overview + +- **Estimated duration:** 3 months ⌛️ +- **FTE:** 2 FTE +- **Costs:** 30,000 USD 💰 + + +## Milestone 1 - AssetHub Indexer Implementation first part +- **Estimated duration:** 3 months ⌛️ +- **FTE:** 2 FTE +- **Costs:** 30,000 USD 💰 + + +| Sequence | Deliverable | Description | +|----------|-----------------------------------------------------|---------------------------------------------------------------------------------------------------------------| +| 0a. | Licensing | MIT License will be applicable. | +| 0b. | Documentation | Comprehensive inline code documentation and an explicit README file to guide the project setup and execution.| +| 0c. | Test Guidelines | Testing will cover major functionality with unit tests and provide a guide for executing these tests.| +| 0d. | Docker Integration | A Dockerfile will enable the project to run within a Docker container. | +| 1a. | Backward Compatibility Maintenance | Ensuring backward compatibility with current Uniques v1. | +| 1b. | Collection Schema Development | Development of a GraphQL schema entity that represents the collection. | +| 1c. | NFT Schema Development | Formulation and creation of a GraphQL schema entity representing Non-fungible tokens. | +| 2. | Unique v1.1 Handlers | Implement a handlers to index buy, set_price events from the chain. | +| 3. | NFT Pallet Handlers | Handler created for indexing create, mint, buy, set_price, transfer, burn events from the chain. | +| 4a. | On-chain Attributes Schema Design | Development and design of a GraphQL schema entity representing on-chain attributes. | +| 4b. | On-chain Attributes Handlers | Implementing a four handlers to index the creation and deletion of metadata set for collection and NFT from the chain. | +| 5a. | Metadata Schema Development | Creating and designing a GraphQL schema entity representing metadata. | +| 5b. | Metadata Handlers | Implementing a four handlers to index the creation and deletion of an attribute for collection and NFT from the chain. | +| 5c. | Metadata IPFS Integration Handler | Design a handler to retrieve IPFS Metadata from the IPFS network. | +| 5d. | Metadata IPFS Unification Handler | Design and integrate the library to uniform IPFS metadata into one format (OpenSea,TZIP-16,ERC-5773, FXhash) | +| 6a. | NFT Royalties Schema Integration | Design and include royalty support within the GraphQL schema. | +| 6b. | NFT Royalties Addition Handler | Implement a handler to add royalty into NFT. | +| 6c. | NFT Royalties PAYOUT Handler |Creation of handler to index royalty payout events from the chain. | +| 7a. | Fungible Assets Schema Creation |Design and formulation of a GraphQL schema entity representing fungible assets. | +| 7b. | Fungible Assets Force Creation |Handlers will be developed to add system tokens like KSM/DOT into fungible assets. | +| 7c. | Fungible Assets CREATE Event |An event handler for indexing the creation of a fungible event from a chain, such as (RMRK/USDT) will be developed.| +| 7d. | Metadata Support for Fungible Assets | Implement a handler to add metadata to a fungible asset event from the chain. | +| 7e. | Fungible Asset Allowlist Setup |Setting up allows list-based indexing of fungible assets. | +| 8a. | Data Views Development |Construction of data views for efficient access to indexed data. | +| 8b. | Implementing Metadata Caching Layer |Develop and retry IPFS metadata if un-indexed by Metadata IPFS Integration Handler. | +| 9. | Transfer of Collection Ownership |Incorporate functionality to transfer collection ownership. | +| 10a. | Collection settings Schema Design | Development and design of a GraphQL schema entity representing Collection settings | +| 10b. | Collection settings handler | Implement a handler to add collection settings into data | + + +## Future Plans 🔭 + +Upon the successful deployment of the AssetHub Indexer, our team plans to continue refining and expanding its capabilities in response to user feedback and technological advancements. We have outlined several key enhancements and upgrades that we aim to implement: + +1. Development of an explorer to facilitate navigation within the NFT ecosystem. +2. Introduction of collections functionality for systematic organization of NFTs. +3. Creation of view modules to visually present NFT details. +4. Establishment of user profiles to enable personalized user interfaces. +5. Incorporation of constituent elements for individual NFT representation. +6. Implement action components for functionalities like LIST, SEND, BUY, MINT, BURN, and Atomic Swap. +7. Development of comprehensive statistical representations and analytics mechanisms. +8. Introduction of rankings to highlight top-performing users, collections, or items. +9. Personalization of the user interface to enhance the user experience. +10. Maintenance of compatibility with runtime upgrades and changes in the Kusama/Statemine ecosystem. +11. Regular updates to keep up with Substrate for continuous system enhancement. +12. Management of upgrades to parachain runtime versions, including indexer enhancements and related costs. + +## Additional Information ➕ + + +The AssetHub Indexer project continues our team's various projects and implementations in the Polkadot ecosystem. We have already attracted interest from developers within the Polkadot and Kusama ecosystems. Notably, we have in 2019 previously received a grant from the W3F for creating Vue.js UI utilities, components, and libraries, details of which can be found [here](https://github.com/w3f/General-Grants-Program/blob/master/grants/speculative/Vuejs_ui-components.md). + +This previous grant allowed us to reimplement keyring into Vue.js & TypeScript, demonstrating our hands-on experience with the polkadot.js.org/common utilities. The result of this work can be seen in the [web-based Subkey](https://subkey.netlify.com/) tool. + +We learned about the Grants Program through a personal recommendation. We believe that our project aligns well with the program's goals, and we are excited about the potential to further contribute to the Polkadot ecosystem. From 61cf222f514ae92e39fb7a77979e3ec8fe3a28bd Mon Sep 17 00:00:00 2001 From: David Hawig Date: Tue, 10 Oct 2023 11:20:51 +0200 Subject: [PATCH 113/133] Update index.md Add AssetsHub NFT indexer --- applications/index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/applications/index.md b/applications/index.md index 58b15281875..375b4e1832d 100644 --- a/applications/index.md +++ b/applications/index.md @@ -47,6 +47,7 @@ Besides, **there is a clear difference between an application being accepted and | :------------------------------------------------------------------| :------------------------------------------------------------------------------------------------------| :------------------------------------------| :--------- | :------------: | :--------: | | [Livetree Community Ltd](https://github.com/livetreetech/) | [DecentralML](./decentral_ml.md) | [GitHub](https://github.com/livetreetech/) | ☐ | ☐ | ☐ | | [LimeChain](https://github.com/LimeChain) | [Polkadot Protocol Conformance Tests Research](./Polkadot-Protocol-Conformance-Tests.md) | [GitHub](https://github.com/LimeChain) | ☐ | ☐ | ☐ | +| [KodaDot](https://kodadot.xyz/) | [AssetsHub NFT indexer](./kodadot_assethub_nft_indexer_statemine_statemint.md) | [GitHub](https://github.com/kodadot) | ☐ | ☐ | ☐ | ### 🏄 Wave 19 - Q3 2023 From f0c9c3c94ca69774bfa59442c823a052f9d18b73 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20M=C3=BCller?= Date: Tue, 10 Oct 2023 11:47:29 +0200 Subject: [PATCH 114/133] Update index.md Change column alignment --- applications/index.md | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/applications/index.md b/applications/index.md index 375b4e1832d..dfd0c14178e 100644 --- a/applications/index.md +++ b/applications/index.md @@ -44,7 +44,7 @@ Besides, **there is a clear difference between an application being accepted and ### 🏄 Wave 20 - Q4 2023 | Team | Project | Link | Terminated | First Delivery | Completed | -| :------------------------------------------------------------------| :------------------------------------------------------------------------------------------------------| :------------------------------------------| :--------- | :------------: | :--------: | +| :------------------------------------------------------------------| :------------------------------------------------------------------------------------------------------| :------------------------------------------| :---------: | :------------: | :--------: | | [Livetree Community Ltd](https://github.com/livetreetech/) | [DecentralML](./decentral_ml.md) | [GitHub](https://github.com/livetreetech/) | ☐ | ☐ | ☐ | | [LimeChain](https://github.com/LimeChain) | [Polkadot Protocol Conformance Tests Research](./Polkadot-Protocol-Conformance-Tests.md) | [GitHub](https://github.com/LimeChain) | ☐ | ☐ | ☐ | | [KodaDot](https://kodadot.xyz/) | [AssetsHub NFT indexer](./kodadot_assethub_nft_indexer_statemine_statemint.md) | [GitHub](https://github.com/kodadot) | ☐ | ☐ | ☐ | @@ -52,7 +52,7 @@ Besides, **there is a clear difference between an application being accepted and ### 🏄 Wave 19 - Q3 2023 | Team | Project | Link | Terminated | First Delivery | Completed | -| :------------------------------------------------------------------| :------------------------------------------------------------------------------------------------------| :------------------------------------------| :--------- | :------------: | :--------: | +| :------------------------------------------------------------------| :------------------------------------------------------------------------------------------------------| :------------------------------------------| :---------: | :------------: | :--------: | | [Protofire](https://protofire.io/) | [Contract Wizard](./Contract_wizard.md) | [GitHub](https://github.com/protofire/polkadot-contract-wizard/) | ☐ | ☐ | ☐ | | [ZeroDAO](https://github.com/ZeroDAO) | [Melodot](./Melodot.md) | [GitHub](https://github.com/ZeroDAO) | ☐ | ☒ | ☐ | | [Starks](https://github.com/tur461) | [XCM tool for NFTs](./xNFT.md) | [GitHub](https://github.com/tur461) | ☐ | ☐ | ☐ | @@ -92,7 +92,7 @@ Besides, **there is a clear difference between an application being accepted and ### 🏄 Wave 18 - Q2 2023 | Team | Project | Link | Terminated | First Delivery | Completed | -| :------------------------------------------------------------------| :------------------------------------------------------------------------------------------------------| :------------------------------------------| :--------- | :------------: | :--------: | +| :------------------------------------------------------------------| :------------------------------------------------------------------------------------------------------| :------------------------------------------| :---------: | :------------: | :--------: | | [Interstellar](https://www.interstellar.gg/) | [Interstellar - Wallet Phase 2](./Interstellar-network2.md) | [GitHub](https://github.com/Interstellar-Network) | ☐ | ☒ | ☐ | | [Valletech AB](https://valletech.eu/) | [DINFRA](./DINFRA.md) | [GitHub](https://gitlab.com/polkawatch) | ☐ | ☒ | ☐ | | [DAuth](https://github.com/DAuth-Network) | [DAuth](./dauth_network.md) | [GitHub](https://github.com/DAuth-Network) | ☐ | ☐ | ☐ | @@ -135,7 +135,7 @@ Besides, **there is a clear difference between an application being accepted and ### 🏄 Wave 17 - Q1 2023 | Team | Project | Link | Terminated | First Delivery | Completed | -| :------------------------------------------------------------------| :------------------------------------------------------------------------------------------------------| :------------------------------------------------------------------- | :--------- | :------------: | :--------: | +| :------------------------------------------------------------------| :------------------------------------------------------------------------------------------------------| :------------------------------------------------------------------- | :---------: | :------------: | :--------: | | [Deep Ink Ventures GmbH](http://deep-ink.ventures/) | [GenesisDAO](GenesisDAO.md) | [GitHub](https://github.com/deep-ink-ventures) | ☐ | ☒ | ☒ | | [ArtZero](https://artzero.io/) | [ArtZero & InkWhale](ArtZero_InkWhale.md) | [GitHub](https://github.com/artzero-io) | ☐ | ☒ | ☒ | | [EightFish](https://github.com/eightfish-org/eightfish) | [EightFish](eightfish.md) | [GitHub](https://github.com/miketang84/eightfish) | ☐ | ☒ | ☒ | @@ -190,7 +190,7 @@ Besides, **there is a clear difference between an application being accepted and ### 🏄 Wave 16 - Q4 2022 | Team | Project | Link | Terminated | First Delivery | Completed | -| :----------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------- | :--------- | :------------: | :-------: | +| :----------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------- | :---------: | :------------: | :-------: | | [CrossChain Labs](https://github.com/CrossChainLabs) | [DotPulse](DotPulse.md) | [GitHub](https://github.com/CrossChainLabs) | ☐ | ☒ | ☒ | | [Jett Hays](https://github.com/jettblu) | [Distributed Key Management](DistributedKeyManagement.md) | [GitHub](https://github.com/KryptikApp) | ☐ | ☒ | ☒ | | [NexToken Technology](https://github.com/NexTokenTech) | [TREX - Timed Release Encryption Xing chains](TREX_Network.md) | [GitHub](https://github.com/NexTokenTech/TREX) | ☐ | ☒ | ☒ | @@ -236,7 +236,7 @@ Besides, **there is a clear difference between an application being accepted and ### 🏄 Wave 15 - Q3 2022 | Team | Project | Link | Terminated | First Delivery | Completed | -| :----------------------------------------------------------- | :-------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------- | :--------- | :------------: | :-------: | +| :----------------------------------------------------------- | :-------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------- | :---------: | :------------: | :-------: | | [QRUCIAL OÜ](https://qrucial.io/) | [QRUCIAL DAO](./QRUCIAL_DAO.md) | [GitHub](https://github.com/Qrucial/QRUCIAL-DAO) | ☐ | ☒ | ☒ | | [Polkadot js plus](http://polkadotjs.plus/) | [Polkadot js plus / Social Recovery Wallet](./Plus-social-recovery-wallet.md) | [GitHub](https://github.com/Nick-1979/polkadot-Js-Plus-extension/wiki) | ☐ | ☒ | ☐ | | [Lee](https://github.com/rust-0x0) | [Hex Space Social Graph](./hex.md) | [GitHub](https://github.com/rust-0x0) | ☐ | ☒ | ☐ | @@ -282,7 +282,7 @@ Besides, **there is a clear difference between an application being accepted and ### 🏄 Wave 14 - Q2 2022 | Team | Project | Link | Terminated | First Delivery | Completed | -| :--------------------------------------------------------- | :------------------------------------------------------------------------------------------------------ | :--------------------------------------------------------------------- | :--------- | :------------: | :-------: | +| :--------------------------------------------------------- | :------------------------------------------------------------------------------------------------------ | :--------------------------------------------------------------------- | :---------: | :------------: | :-------: | | [TDSoftware](https://www.tdsoftware.de/) | [SubIdentity](./SubIdentity.md) | [GitHub](https://github.com/TDSoftware) | ☐ | ☒ | ☒ | | [ChainSafe Systems](https://chainsafe.io/) | [SubstrateSnap Maintenance Proposal](./maintenance/Substratesnap_Maintenance.md) | [GitHub](https://github.com/ChainSafe/metamask-snap-polkadot) | ☐ | ☒ | ☒ | | [HugoByte](https://hugobyte.com/) | [Project Aurras - MVP - Phase 2](./project_aurras_mvp_phase_2.md) | [GitHub](https://github.com/HugoByte) | ☐ | ☒ | ☐ | @@ -325,7 +325,7 @@ Besides, **there is a clear difference between an application being accepted and ### 🏄 Wave 13 - Q1 2022 | Team | Project | Link | Terminated | First Delivery | Completed | -| :---------------------------------------------------- | :-------------------------------------------------------------------------------------- | :--------------------------------------------------------------------- | :--------- | :------------: | :-------: | +| :---------------------------------------------------- | :-------------------------------------------------------------------------------------- | :--------------------------------------------------------------------- | :---------: | :------------: | :-------: | | [Chainify](https://github.com/chainify) | [Nolik](./Nolik.md) | [GitHub](https://github.com/chainify) | ☐ | ☒ | ☒ | | [Pennsylvania State University](https://www.psu.edu/) | Avoiding Rust Deadlocks via Lifetime Visualization | [GitHub](https://songlh.github.io/) | ☐ | ☒ | ☒ | | [Anagolay](https://anagolay.network/) | [Project Idiyanale](./anagolay-project-idiyanale-phase-1.md) | [GitHub](https://github.com/anagolay) | ☐ | ☒ | ☒ | @@ -364,7 +364,7 @@ Besides, **there is a clear difference between an application being accepted and ## 2021 ### 🏄 Wave 12 - Q4 2021 | Team | Project | Link | Terminated | First Delivery | Completed | -| :--------------------------------------------------------- | :---------------------------------------------------------------------------------------- | :------------------------------------------------------------------------- | :--------- | :------------: | :-------: | +| :--------------------------------------------------------- | :---------------------------------------------------------------------------------------- | :------------------------------------------------------------------------- | :---------: | :------------: | :-------: | | Matthew Darnell | [cScale](./cScale.md) | [GitHub](https://github.com/MatthewDarnell/cScale) | ☐ | ☒ | ☐ | | [Web3go](https://web3go.xyz/) | [Web3go](./Web3Go.md) | [GitHub](https://github.com/web3go-xyz) | ☐ | ☒ | ☒ | | [Prosopo Limited](https://prosopo.io) | [Prosopo: Human Verification Marketplace](./prosopo.md) | [GitHub](https://github.com/prosopo-io) | ☐ | ☒ | ☒ | @@ -395,7 +395,7 @@ Besides, **there is a clear difference between an application being accepted and ### 🏄 Wave 11 - Q3 2021 | Team | Project | Link | Terminated | First Delivery | Completed | -| :---------------------------------------------- | :---------------------------------------------------------------------------------------- | :-------------------------------------------------- | :--------- | :------------: | :-------: | +| :---------------------------------------------- | :---------------------------------------------------------------------------------------- | :-------------------------------------------------- | :---------: | :------------: | :-------: | | [Pawn](https://github.com/pawnz0) | [NuLink](./NuLink.md) | [GitHub](https://github.com/pawnz0/NuLink) | ☐ | ☒ | ☒ | | [Cyril Carlier](https://github.com/CrommVardek) | [Polk-Auction Website](./polk-auction.md) | [GitHub](https://github.com/CrommVardek) | ☐ | ☒ | ☒ | | [Uddug](https://uddug.com/) | [JuniDB - Peer-to-Peer Databases](./JuniDB.md) | [GitHub](http://github.com/uddugteam/) | ☒ | ☐ | ☐ | @@ -428,7 +428,7 @@ Besides, **there is a clear difference between an application being accepted and ### 🏄 Wave 10 - Q2 2021 | Team | Project | Link | Terminated | First Delivery | Completed | -| :----------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------- | :--------- | :------------: | :-------: | +| :----------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------- | :---------: | :------------: | :-------: | | [GamePower](https://gamepower.network) | [NFT Collectibles Wallet](./nft_collectibles_wallet.md) | [GitHub](https://github.com/GamePowerNetwork) | ☐ | ☒ | ☐ | | [Subspace Labs](https://www.subspace.network/) | [Proof-of-Capacity Consensus for Substrate](./spartan_poc_consensus_module.md) | [GitHub](https://github.com/subspace) | ☐ | ☒ | ☒ | | [ChainSafe](https://chainsafe.io/) | Go implementation of Cumulus | [GitHub](https://github.com/ChainSafeSystems) | ☐ | ☐ | ☐ | @@ -464,7 +464,7 @@ Besides, **there is a clear difference between an application being accepted and ### 🏄 Wave 9 - Q1 2021 | Team | Project | Link | Terminated | First Delivery | Completed | -| :---------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------- | :--------- | :------------: | :-------: | +| :---------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------- | :---------: | :------------: | :-------: | | [Zenlink](https://zenlink.pro/) | [Cross-chain DEX](./zenlink.md) | [GitHub](https://github.com/zenlinkpro/zenlink_dex_module) | ☐ | ☐ | ☐ | | [NFTT Studio](https://github.com/NFTT-studio) | [NFT Store Pallet and Front End](./NFTStore_Network.md) | [GitHub](https://github.com/NFTT-studio) | ☐ | ☒ | ☒ | | [SubGame Network](https://subgame.org) | [A decentralized game platform](./SubGame_Network.md) | [GitHub](https://github.com/SubGame-Network) | ☐ | ☒ | ☒ | @@ -521,7 +521,7 @@ Besides, **there is a clear difference between an application being accepted and ### 🏄 Wave 8 - Q4 2020 | Team | Project | Link | Terminated | First Delivery | Completed | -| :---------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------- | :--------- | :------------: | :-------: | +| :---------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------- | :---------: | :------------: | :-------: | | [Sean Young](https://www.mess.org/) | Solidity to WASM compiler Phase 2 | [GitHub](https://github.com/hyperledger-labs/solang) | ☐ | ☒ | ☒ | | [Nuclei Studio](https://nuclei.studio/) | [Governance OS](https://github.com/w3f/General-Grants-Program/blob/master/grants/speculative/nuclei_governance_os.md) | [GitHub](https://github.com/NucleiStudio) | ☐ | ☒ | ☒ | | [NBLTrust](https://www.nbltrust.com/#/en/home) | [Dart SCALE Codec](./dart-scale-codec.md) | [GitHub](https://github.com/nbltrust/dart-scale-codec) | ☐ | ☒ | ☒ | @@ -571,7 +571,7 @@ Besides, **there is a clear difference between an application being accepted and ### 🏄 Wave 7 - Q3 2020 | Team | Project | Link | Terminated | First Delivery | Completed | -| :--------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------- | :--------- | :------------: | :-------: | +| :--------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------- | :---------: | :------------: | :-------: | | [Halva](https://github.com/halva-suite) | [A toolchain for improving the experience of developing Decentralized Applications based on Substrate](./halva_framework.md) | [GitHub](https://github.com/halva-suite) | ☐ | ☒ | ☒ | | [Subscan](https://subscan.io) | [Substrate explorer](https://github.com/w3f/General-Grants-Program/blob/master/grants/speculative/subscan_grant_application.md) | [GitHub](https://github.com/subscan-explorer/subscan-essentials) | ☐ | ☒ | ☒ | | [t3rn](https://github.com/t3rn/t3rn) | [A protocol for blockchain interoperability](./xbi-format-psp-t3rn.md) | [GitHub](https://github.com/t3rn/t3rn) | ☐ | ☒ | ☒ | @@ -609,7 +609,7 @@ Besides, **there is a clear difference between an application being accepted and ### 🏄 Wave 6 - Q2 2020 | Team | Project | Link | Terminated | First Delivery | Completed | -| :-------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------- | :--------- | :------------: | :-------: | +| :-------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------- | :---------: | :------------: | :-------: | | [Protofire](https://protofire.io/) | Failover mechanism for validators | [GitHub](https://github.com/protofire) | ☐ | ☒ | ☒ | | [HashQuark](https://www.hashquark.io/) | Validator Dashboard Phase 2 | [GitHub](https://github.com/hashquark-io) | ☐ | ☒ | ☒ | | [BUIDL Labs](https://buidllabs.io/) | [YieldScan Staking Dashboard](https://github.com/w3f/General-Grants-Program/blob/master/grants/speculative/YieldScan.md) | [GitHub](https://github.com/buidl-labs) | ☐ | ☒ | ☒ | @@ -649,7 +649,7 @@ Besides, **there is a clear difference between an application being accepted and ### 🏄 Wave 5 - Q1 2020 | Team | Project | Link | Terminated | First Delivery | Completed | -| :---------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------- | :--------- | :------------: | :-------: | +| :---------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------- | :---------: | :------------: | :-------: | | [Bifrost](https://bifrost.finance/) | [EOS interoperable bridge](https://github.com/w3f/General-Grants-Program/blob/master/grants/speculative/bifrost_network.md) | [GitHub](https://github.com/bifrost-finance) | ☐ | ☒ | ☒ | | [Entropy Labs](https://entropylabs.hk) | A toolkit for building and deploying applications with substrate | | ☐ | ☒ | ☐ | | [Papers GmbH](https://airgap.it) | AirGap - Desktop (+mobile) wallet for Polkadot | [GitHub](https://github.com/airgap-it) | ☐ | ☒ | ☒ | @@ -695,7 +695,7 @@ Besides, **there is a clear difference between an application being accepted and ### 🏄 Wave 4 - Q4 2019 | Team | Project | Link | Terminated | First Delivery | Completed | -| :----------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------- | :--------- | :------------: | :-------: | +| :----------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------- | :---------: | :------------: | :-------: | | [Genesis Lab](https://genesislab.net/) | Validator Tracker | [GitHub](https://github.com/genesis-lab-team) | ☐ | ☒ | ☒ | | [Usetech](http://usetech.com/blockchain.html) | [Substrate API in .NET](https://github.com/w3f/General-Grants-Program/blob/master/grants/speculative/dotnet_api.md) | [GitHub](https://github.com/usetech-llc/polkadot_api_dotnet) | ☐ | ☒ | ☒ | | [BlockX Labs](http://blockxlabs.com/) | [Enzyme Browser extension wallet](https://github.com/w3f/General-Grants-Program/blob/master/grants/speculative/Enzyme.md) | [GitHub](https://github.com/blockxlabs/enzyme) | ☐ | ☒ | ☒ | @@ -728,7 +728,7 @@ Besides, **there is a clear difference between an application being accepted and ### 🏄 Wave 3 - Q3 2019 | Team | Project | Link | Terminated | First Delivery | Completed | -| :------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------- | :--------- | :------------: | :-------: | +| :------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------- | :---------: | :------------: | :-------: | | [Supercomputing systems](http://scs.ch/) | [Substrate Rust API client](https://github.com/w3f/General-Grants-Program/blob/master/grants/speculative/substrate-api-client.md) | [GitHub](https://github.com/scs/substrate-api-client) | ☐ | ☒ | ☒ | | [NGRAVE](https://ngrave.io/) | [Substrate Hardware Wallet Integration](https://github.com/w3f/General-Grants-Program/blob/master/grants/speculative/ngrave_substrate_1.md) | | ☐ | ☒ | ☐ | | [Caelum Labs](https://caelumlabs.com/) | [Decentralised identity modules](https://github.com/w3f/General-Grants-Program/blob/master/grants/speculative/Self%20Sovereign%20Identity%20layer%20as%20a%20Polkadot%20runtime.md) | | ☐ | ☒ | ☐ | @@ -749,7 +749,7 @@ Besides, **there is a clear difference between an application being accepted and ### 🏄 Wave 2 - Q2 2019 | Team | Project | Link | Terminated | First Delivery | Completed | -| :-------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------ | :--------- | :------------: | :-------: | +| :-------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------ | :---------: | :------------: | :-------: | | [Cap9](https://cap9.io/) | A low-level security protocol and framework for smart contracts | [GitHub](https://github.com/Daohub-io/cap9) | ☐ | ☒ | ☒ | | Substrate Java API | Java version of our JS API | [GitHub](https://github.com/polkadot-java) | ☐ | ☒ | ☒ | | [Starlog](https://pact.care/) | [A metadata chain for IPFS](https://github.com/w3f/General-Grants-Program/blob/master/grants/speculative/starlog.md) | [GitHub](https://github.com/PACTCare/Starlog) | ☐ | ☒ | ☐ | @@ -768,7 +768,7 @@ Besides, **there is a clear difference between an application being accepted and ### 🏄 Wave 1 - Q1 2019 | Team | Project | Link | Terminated | First Delivery | Completed | -| :-------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------ | :-------------------------------------------------------------------------- | :--------- | :------------: | :-------: | +| :-------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------ | :-------------------------------------------------------------------------- | :---------: | :------------: | :-------: | | [ChainSafe](https://chainsafe.io/) | Polkadot Runtime Environment in Go (via an RFP) | [GitHub](https://github.com/ChainSafeSystems/gossamer) | ☐ | ☒ | ☒ | | [Soramitsu](https://soramitsu.co.jp/) | Polkadot Runtime Environment in C++ (via an RFP) | [GitHub](https://github.com/soramitsu/kagome) | ☐ | ☒ | ☒ | | [WEB3SCAN](https://www.web3scan.com/) | Polkascan: Open Source Block Explorer | [GitHub](https://github.com/polkascan) | ☐ | ☒ | ☒ | From bb18ba895a0bd91d69c0cca5a69726084ba9b122 Mon Sep 17 00:00:00 2001 From: Nikhil W3F <142136841+nikw3f@users.noreply.github.com> Date: Tue, 10 Oct 2023 14:29:42 +0200 Subject: [PATCH 115/133] Update index.md (#2038) --- applications/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/index.md b/applications/index.md index dfd0c14178e..2bb82122cee 100644 --- a/applications/index.md +++ b/applications/index.md @@ -93,7 +93,7 @@ Besides, **there is a clear difference between an application being accepted and | Team | Project | Link | Terminated | First Delivery | Completed | | :------------------------------------------------------------------| :------------------------------------------------------------------------------------------------------| :------------------------------------------| :---------: | :------------: | :--------: | -| [Interstellar](https://www.interstellar.gg/) | [Interstellar - Wallet Phase 2](./Interstellar-network2.md) | [GitHub](https://github.com/Interstellar-Network) | ☐ | ☒ | ☐ | +| [Interstellar](https://www.interstellar.gg/) | [Interstellar - Wallet Phase 2](./Interstellar-network2.md) | [GitHub](https://github.com/Interstellar-Network) | ☐ | ☒ | ☒ | | [Valletech AB](https://valletech.eu/) | [DINFRA](./DINFRA.md) | [GitHub](https://gitlab.com/polkawatch) | ☐ | ☒ | ☐ | | [DAuth](https://github.com/DAuth-Network) | [DAuth](./dauth_network.md) | [GitHub](https://github.com/DAuth-Network) | ☐ | ☐ | ☐ | | [Galaxy.Do](https://galaxy.do) | [Galaxy: Three-dimensional Web for Polkadot Users](./galaxy.md) | [GitHub](https://github.com/7flash) | ☐ | ☒ | ☐ | From 7b6f018c5363837ab7364c8ab04821a3fb924778 Mon Sep 17 00:00:00 2001 From: Rhys Balevicius <64676514+rhysbalevicius@users.noreply.github.com> Date: Wed, 11 Oct 2023 11:58:16 -0400 Subject: [PATCH 116/133] Add infimum application (#1948) --- applications/infimum.md | 230 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 230 insertions(+) create mode 100644 applications/infimum.md diff --git a/applications/infimum.md b/applications/infimum.md new file mode 100644 index 00000000000..99a6f68c89a --- /dev/null +++ b/applications/infimum.md @@ -0,0 +1,230 @@ +# Infimum + +- **Team Name:** Apollos Collective +- **Payment Address:** 0x9c10EbAEB989CFd239679d47B9100dc4ad57A536 (ERC20 USDC) +- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 + +## Project Overview :page_facing_up: + +This application is in response to the [anti-collusion infrastructure RFP](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/Open/anti-collusion_infrastructure.md). + +### Overview + +Helping to empower the realization of trust in, and verification of, voting systems within Substrate parachains. + +The goal of this proposal is to provide a minimum viable implementation of Vitalik Buterin’s [“Minimal Anti-Collusion Infrastructure”](https://ethresear.ch/t/minimal-anti-collusion-infrastructure/5413) as a substrate pallet and CLI (for performing off-chain work, i.e. encrypting votes, processing messages, and generating proofs). + +The scope of this proposal is intended to be a proof of concept, of which contributes to the development of a genuine *minimal* anti-collusion infrastructure within the Substrate ecosystem. + +Governance, and by extension voting systems, are critical facets of society at large and have become a crucial value proposition of many blockchain applications. It is therefore imperative to develop systems which not only promote a sense of underlying trust, but also can intrinsically verify their own integrity. + +The team is interested in cryptographic voting as a research domain. They would like to further explore this area in order to provide a meaningful contribution to the community. Refer to “Future Plans” section to preview how we’d like to see this project evolve. + +### Project Details + +There are two primary deliverables outlined in this proposal: + +1. A Substrate pallet which facilitates the voting apparatus and on-chain verification of poll results, and; + +2. A CLI tool to facilitate the generation of arguments passed to the methods exposed by the pallet. + +The goal of this system is to deincentivize collusion between participants given that any participant can secretly change or nullify their vote. + +![Use case diagram](https://cdn.rhys.tech/infimum-ucd.png) + +Deliverables: + +1. Substrate pallet + 1. Description + 1. Facilitates transparency and provenance of poll interactions and outcome. Users can register as either coordinators or participants, create polls, and interact with polls. On-chain verification of zero-knowledge proofs (which have been generated off-chain) that establish the correctness of the poll tallying computations (which have been performed off-chain) must occur prior to the acceptance of, and publishing of poll outcome. + 2. Public methods + 1. `registerAsCoordinator` Permits the caller to create polls, and stores their (public) keys. + 2. `rotatePublicKey` Permits a coordinator to rotate their public,private keypair. Rejected if called during an ongoing poll. + 3. `rotateVerifyKey` Permits a coordinator to rotate their verification key. Rejected if called during an ongoing poll. + 4. `registerAsParticipant` Permits a user to participate in a poll. Rejected if called after voting period. + 5. `createPoll` Instantiates a new poll object with the caller as the designated coordinator. Emits an event with the poll data. + 6. `interactWithPoll` Inserts a message into the message tree for future processing by the coordinator. Valid messages include: a vote, and a key rotation. Rejected if sent outside of the timeline specified by the poll config. Participants may secretly call this method (i.e. from a different address) to override their vote, thereby deincentivizing bribery. + 7. `mergePollState` Used by the coordinator to compute roots of message state tree, which is used as a commitment value by the proof verification logic. Rejected if called prior to poll end. + 8. `commitProcessedMessages` Verifies the proof that the current batch of messages have been correctly processed and, if successful, updates the current verification state. Rejected if called prior to the merge of poll state. + 9. `commitTallyResult` Verifies the proof that the current batch of votes has been correctly tallied and, if successful, updates the current verification state. On verification of the final batch the poll result is recorded in storage and an event is emitted containing the result. Rejected if called before messages have been processed. + 3. Runtime storage + 1. Public key store: mapping between coordinators and their public keys (which are used by participants to encrypt their votes) + 2. Verifying key store: mapping between coordinators and their verifying keys used in the on-chain verification of proofs + 3. Poll store: mapping between poll id and the current state of the poll + 4. Poll message state: mapping between poll id and a merkle tree of secret participant messages (i.e. votes and/or nullifiers) + 5. Poll Result: mapping between poll id and outcome + 4. Dependencies + 1. We will rely on the [Groth16](https://eprint.iacr.org/2016/260.pdf) verifier provided by [bellman](https://github.com/zkcrypto/bellman/blob/main/src/groth16/verifier.rs) under the [MIT license](https://github.com/zkcrypto/bellman/blob/main/LICENSE-MIT). +2. CLI tool + 1. Description + 1. Facilitates off-chain computations performed by participants and trusted operators. In particular, generating the values (e.g. encryption keys, proofs) required by the function signatures specified in the first deliverable (1.Susbtrate Pallet). This will be provided as a TypeScript library (in order to serve as a starting point for future integration into dApps) with a simple CLI wrapper. + 2. Technologies used + 1. Circom + 2. Typescript + 3. Node.js + 4. snarkjs + 3. Commands available to users + 1. `generateKeypair` Used by both participants and coordinator. Outputs a keypair used for encrypting and decrypting the messages which represent poll interactions. + 2. `generateProof` Used by the coordinator. Generates a proof of correctness for the current batch of message processing computations (including final vote tally). + 3. `encodeMessage` Used by participants. Accepts their vote as input, and outputs an encoded message which may only be decrypted and read by the coordinator. + + +Poll lifecycle: + +1. Poll is created (by a coordinator). Prior to the start time of the poll: + 1. The coordinator may perform any permitted alterations to the poll configuration, or close the poll + 2. Individuals can begin to register as participants in the poll +2. Poll starts: + 1. Coordinator may no longer preform any alterations to the poll (e.g. update signing key) + 2. Participants may interact with the poll (vote, revote, nullify vote, switch keys) +3. Poll ends: + 1. Participants may no longer sign up or interact with the poll + 2. Coordinator may start to compute the outcome of the poll +4. Poll result becomes “finalized” once: + 1. The coordinator publishes the result of the poll alongside proofs of the computations + 2. The result of the poll is committed to storage if and only if every proof passes verification + 3. At this point it is sensible for external actions to be taken in response to the outcome of the poll + +Constraints and limitations of the deliverables to be aware of: + +- A coordinator may only manage a single poll at a time (there may be multiple coordinators each with their own poll at any given time) +- Users can only cast a vote of weight 1 +- Votes must be processed, and tallied, in batches +- Non-transparent proof system (Groth16); requires a trusted setup + +We intend to improve upon these limitations in future work (see the section below). + +### Ecosystem Fit + +- Useful in governance schemes, e.g. crowd funding applications. +- The target audience is parachain developers, e.g. a candidate integration could be the [imbue network](https://github.com/ImbueNetwork/imbue). +- The overall intended trajectory is to help establish a sense of integrity within democratized systems. Participants in these systems are empowered to verify by default. +- The team is not aware of any projects in the Substrate/Polkadot/Kusama which are currently attempting to achieve feature parity (or beyond) with MACI in the Ethereum ecosystem. + +## Team :busts_in_silhouette: + +### Team members + +- Rhys Balevicius + +### Contact + +- **Contact Name:** Rhys Balevicius +- **Contact Email:** rhys@apollos.tech +- **Website:** [https://rhys.tech](https://rhys.tech) + +### Legal Structure + +- **Registered Address:** 173 Presidial Avenue, Oshawa, ON Canada +- **Registered Legal Entity:** Apollos Web3 Collective Inc. + +### Team's experience + +Rhys Balevicius is a software developer with over half a decade of professional experience in full-stack development, software design, and software architecture in various industries, of which include blockchain technologies and fintech. He is also currently studying Mathematics and Computer Science at University of Toronto. + +He is a founding software engineer at Dropverse, which is a gamified blockchain-based app where users can collect tokens, participate in drops, etc. in the real world. It is primarily integrated with the Ethereum ecosystem (in particular, there is currently support for any EVM compatible chain). Major achievements in this role include building a microservice that relay meta-transactions originating from user custodial wallets. + +Rhys also has previous experience in research and development, and some of this work has been patented. In particular, he designed and implemented a novel algorithm which utilized sequential image recognition in order to synchronize secondary content with the current timestamp of a video. The patent can be found here: [https://patents.google.com/patent/US11082679B1/en?oq=US11082679B1](https://patents.google.com/patent/US11082679B1/en?oq=US11082679B1) + +### Team Code Repos + +The majority of Rhys’ work has been client-based work and is closed-source. His interest in other projects has led him to also contribute to various open-source projects, some of which can be found here: + +- [https://github.com/cytoscape/cytoscape.js](https://github.com/cytoscape/cytoscape.js) +- [https://github.com/rhysbalevicius/huh](https://github.com/rhysbalevicius/huh) +- [https://github.com/rhysbalevicius/lipsync](https://github.com/rhysbalevicius/lipsync) + +GitHub profile: [https://github.com/rhysbalevicius](https://github.com/rhysbalevicius) + + +### Team LinkedIn Profiles (if available) + +- **Rhys Balevicius:** [https://www.linkedin.com/in/rhys-balevicius/](https://www.linkedin.com/in/rhys-balevicius/) + + +## Development Status :open_book: + +This application is in response to the [anti-collusion infrastructure RFP](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/Open/anti-collusion_infrastructure.md). + +Development status will be found over at [https://github.com/rhysbalevicius/infimum](https://github.com/rhysbalevicius/infimum). This is empty at the time of submission. + +## Development Roadmap :nut_and_bolt: + +### Overview + +- **Total Estimated Duration:** 6 months +- **Full-Time Equivalent (FTE):** 0,5 FTE +- **Total Costs:** $27,000 + +### Milestone 1 — Voting apparatus without verification + +- **Estimated duration:** 2 months +- **FTE:** 0,5 +- **Costs:** 9,000 USD + +| Number | Deliverable | Specification | +| --- | --- | --- | +| 0a. | License | MIT | +| 0b. | Documentation | Inline documentation. Basic guide explaining how to interact with the pallet will be provided in the README. | +| 0c. | Testing | Unit tests, GitHub actions CI workflow, and brief guide for running tests locally | +| 0d. | Docker | Dockerfiles and docker-compose.yml for running a development environment which locally spins up a node and frontend template for observing events, calling pallet extrinsics, and performing state queries. | +| 1. | Substrate pallet | Methods 1.ii.a to 1.ii.i (listed under deliverables in the project overview) without verification functionality provided by Groth16 proving system. | + +### Milestone 2 — On-chain verification logic and circuits + +- **Estimated Duration:** 2 months +- **FTE:** 0,5 +- **Costs:** 9,000 USD + +| Number | Deliverable | Specification | +| --- | --- | --- | +| 0a. | License | MIT | +| 0b. | Documentation | Inline documentation. Amendment to the original guide explaining the requirements for satisfying the verification logic. | +| 0c. | Testing | Unit tests for methods added. Updated unit tests for amended methods. | +| 1a. | Pallet: verification methods | Private methods for verifying proofs which have been generated off-chain by the CLI delivered in Milestone 3. Relies on the verification logic provided by bellman (https://github.com/zkcrypto/bellman). | +| 1b. | Pallet: method modifications | Modifications to methods 1.ii.h and 1.ii.i (listed under deliverables in the project overview) to call the private verification methods defined in Milestone 2.1.a — these modifications will guard against storage updates in the case that verification fails, and publish the final poll outcome in the case of success. | +| 2. | Circom circuits | Fork of MACI circuits defined here (https://github.com/privacy-scaling-explorations/maci/tree/master/circuits/circom) and licensed under MIT, amended as necessary for consumption within our off-chain proof generation pipeline. | + +### Milestone 3 — CLI tool and docsite + +- **Estimated Duration:** 2 months +- **FTE:** 0,5 +- **Costs:** 9,000 USD + +| Number | Deliverable | Specification | +| --- | --- | --- | +| 0a. | License | MIT | +| 0b. | Documentation | Inline documentation. Instructions for setting up and interacting with the CLI will be provided in the README. | +| 0c. | Testing | Integration test scripts will be provided. | +| 0e. | Article | We will provide an article directed towards parachain developers detailing: the motivation and general use case, an overview of the individual components of the system, the poll lifecycle, limitations and trust assumptions of the system, as well as an open invitation to contribute to the project. | +| 1a. | TypeScript library | A library which exposes the functionality described in 2.iii.a to 2.iii.c (listed under deliverables in the project overview), as well as all related helper functions. | +| 1b. | CLI for operators | CLI wrapper around 1a. Provides command line accessibility to the functionality required by operators to successfully interact with the pallet. | +| 1c. | CLI for participants | CLI wrapper around 1a. Provides command line accessibility to the functionality required by participants to successfully interact with the pallet. | +| 2a. | Docsite | We will package the article in 0e., all documentation, and all necessary setup and usage instructions into a readable and user friendly docsite. This will be hosted and associated with the project under the URL section of the repository as well as linked to in the README. | +| 2b. | Voting Example | The docker-compose.yml will be updated to (optionally) provision a simple coordinator script (using Node.js and TypeScript) which manages an example poll. | +| 2c. | Voting Tutorial | We will provide a tutorial which provides explicit step-by-step instructions on how to setup and interact with the voting example. | + + +## Future Plans + +1. Experimentation with alternative architectures + 1. In particular, we are interested in architectures which support on-chain tallying utilizing partial or fully homomorphic encryption, and verifiable computation schemes such as [Rinnochio](https://eprint.iacr.org/2021/322.pdf?ref=blog.icme.io). + 2. Secure multi-party computation architecture which relies on multiple coordinators; this would enable complete secrecy of individual voter preferences. Ideally this would be combined with (1.i). +2. Features and enhancements to deliverables + 1. Integration of transparent zk-SNARKS + 2. Reduce number of extrinsic calls required in the tallying phase, e.g. with [Nova](https://github.com/microsoft/Nova) + 3. Support for different voting schemes, e.g. quadratic, ranked choice +3. Additional systems and example integrations + 1. Off-chain worker (and potentially a backend service) to automatically perform the message processing, tallying, and proof generation computations + 2. dApp which provides a rich user interface for creating and participating in polls + 3. Example ink! smart contract demonstrating how to interface with the pallet, e.g. a fungible-token contract wherein the voting power of a single participant corresponds to the number of tokens they own +4. Outreach + 1. Obtain a security audit of infrastructure + 2. Network with faculty and peers with the aim of collaborating on research goals + 3. Seek out possible integrations with a parachain, e.g. [imbue](https://github.com/ImbueNetwork/imbue) + +Where appropriate, we would like to deliver some subset of these in follow up proposals. + +## Additional Information :heavy_plus_sign: + +**How did you hear about the Grants Program?** Personal recommendation from a colleague. From b5ec791fb8de7e9ebc0b25b26aa1077f8677bdd5 Mon Sep 17 00:00:00 2001 From: Federico Cicciarella <58514549+FedeC87p@users.noreply.github.com> Date: Wed, 11 Oct 2023 18:19:01 +0200 Subject: [PATCH 117/133] Update M4 tracking_chain.md (#2041) --- applications/tracking_chain.md | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/applications/tracking_chain.md b/applications/tracking_chain.md index 64182b5403a..f1d05c0719c 100644 --- a/applications/tracking_chain.md +++ b/applications/tracking_chain.md @@ -46,9 +46,9 @@ The application will handle all the necessary infrastructure setup for transacti The project will consist of 9 microservices, each with a well-defined task. -![TrackingChainSchema](https://github.com/FedeC87p/PublicImage/assets/58514549/74186f4f-ac66-4ac6-afc1-90f19c9b479d) +![TrackingChainSchema](https://github.com/TrackingChains/TrackingChain/assets/58514549/919aebe1-c0d6-4cbf-bb02-097920863a37) -![StepTracking](https://github.com/FedeC87p/PublicImage/assets/58514549/7f535c65-fc16-4cdb-a34a-b3b9cac13bea) +![StepTracking](https://github.com/TrackingChains/TrackingChain/assets/58514549/f8f4c074-7bb3-4231-8a02-367b7e781b89) 1. Triage API: - Purpose: Receives tracking requests, consults the registry, and associates a destination smart contract with each request based on a Profile. @@ -80,8 +80,6 @@ The project will consist of 9 microservices, each with a well-defined task. 9. Tx Monitor Worker: - Purpose: Monitor the status of transactions to proceed with any automatic actions or to launch alerts in the event of transactions that cannot be managed automatically. - -![Screenshot_Insert](https://github.com/FedeC87p/TrackingChainGrant/assets/58514549/2e850a3b-1375-4889-a371-8593410b3282) ### **Overview of the technology stack to be used** We are planning on using a combination of blockchain technology, cloud services, and front-end development tools to build a performant, secure, and user-friendly platform. @@ -140,7 +138,7 @@ I'm working on a project for a censorship-resistant decentralized video platform - **Total Estimated Duration:** 6.5 month - **Full-Time Equivalent (FTE):** 1 -- **Total Costs:** 16.500 USD +- **Total Costs:** 16.200 USD ### Milestone 1 — Basic functionality @@ -205,9 +203,9 @@ I'm working on a project for a censorship-resistant decentralized video platform ### Milestone 4 — Ink Generation Call Improvement -- **Estimated duration:** 1 month +- **Estimated duration:** 3 weeks - **FTE:** 1 -- **Costs:** 2.000 USD +- **Costs:** 1.700 USD | Number | Deliverable | Specification | @@ -218,11 +216,10 @@ I'm working on a project for a censorship-resistant decentralized video platform | **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 publish an **article**/workshop that explains how to use. | | 1. | Tx Generator Worker | Improvement to wait for the transaction to be finalized in order to skip the "Tx Watcher Phase" (this mode will be an option present in the configuration) it's will also allow for better support for chains that don't have access to subscans. To achieve this we will listen via socket in order to wait for the finalization of the generated Tx | -| 2. | Frontend Registry | Improvement that allows you to view not only the data present in the Registry but also to take directly from the data saved in the onchain smart contract | ## Future Plans -- Pres ent the demo to customers and onboard our first major customer. +- Present the demo to customers and onboard our first major customer. - Continue meetings with customers interested in entering the web3 and onboard other customers. - Participate in events to be able to demonstrate how our demo works, also showing the portfolio of customers who have already chosen to use it. - Integration DID with Kilt @@ -254,5 +251,3 @@ I'm working on a project for a censorship-resistant decentralized video platform - No, all "Future Plans" will be covered by new clients or carried forward by me. 3. Have you applied for other grants so far? - No - - From e82d1f8b9a159c60e8ac137bddd8763f6d0e0121 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Wed, 11 Oct 2023 19:53:39 +0200 Subject: [PATCH 118/133] Update index.md Add Infimum --- applications/index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/applications/index.md b/applications/index.md index 2bb82122cee..e8b0ba1fb6f 100644 --- a/applications/index.md +++ b/applications/index.md @@ -48,6 +48,7 @@ Besides, **there is a clear difference between an application being accepted and | [Livetree Community Ltd](https://github.com/livetreetech/) | [DecentralML](./decentral_ml.md) | [GitHub](https://github.com/livetreetech/) | ☐ | ☐ | ☐ | | [LimeChain](https://github.com/LimeChain) | [Polkadot Protocol Conformance Tests Research](./Polkadot-Protocol-Conformance-Tests.md) | [GitHub](https://github.com/LimeChain) | ☐ | ☐ | ☐ | | [KodaDot](https://kodadot.xyz/) | [AssetsHub NFT indexer](./kodadot_assethub_nft_indexer_statemine_statemint.md) | [GitHub](https://github.com/kodadot) | ☐ | ☐ | ☐ | +| [Apollos Collective](https://rhys.tech) | [Infimum](./infimum.md) | [GitHub](https://github.com/rhysbalevicius) | ☐ | ☐ | ☐ | ### 🏄 Wave 19 - Q3 2023 From dbc8fa985baa7807cdc4021b6a0baefd854f9af6 Mon Sep 17 00:00:00 2001 From: Keegan | W3F <35080151+keeganquigley@users.noreply.github.com> Date: Thu, 12 Oct 2023 02:05:21 -0400 Subject: [PATCH 119/133] Update index.md (#2043) --- applications/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/index.md b/applications/index.md index e8b0ba1fb6f..3f6575e99ff 100644 --- a/applications/index.md +++ b/applications/index.md @@ -55,7 +55,7 @@ Besides, **there is a clear difference between an application being accepted and | Team | Project | Link | Terminated | First Delivery | Completed | | :------------------------------------------------------------------| :------------------------------------------------------------------------------------------------------| :------------------------------------------| :---------: | :------------: | :--------: | | [Protofire](https://protofire.io/) | [Contract Wizard](./Contract_wizard.md) | [GitHub](https://github.com/protofire/polkadot-contract-wizard/) | ☐ | ☐ | ☐ | -| [ZeroDAO](https://github.com/ZeroDAO) | [Melodot](./Melodot.md) | [GitHub](https://github.com/ZeroDAO) | ☐ | ☒ | ☐ | +| [ZeroDAO](https://github.com/ZeroDAO) | [Melodot](./Melodot.md) | [GitHub](https://github.com/ZeroDAO) | ☐ | ☒ | ☒ | | [Starks](https://github.com/tur461) | [XCM tool for NFTs](./xNFT.md) | [GitHub](https://github.com/tur461) | ☐ | ☐ | ☐ | | [ChainSafe](https://chainsafe.io/) | Polkadot Snap Maintenance | [GitHub](https://github.com/ChainSafe/metamask-snap-polkadot) | ☐ | ☐ | ☐ | | [justmert](https://github.com/justmert) | [DOTLY: Revolutionizing Polkadot Account Statistics](./dotly.md) | [GitHub](https://github.com/justmert/dotly) | ☐ | ☐ | ☐ | From 3b94d9b2f48b76c6b26d7f0f188d67cc151f8a26 Mon Sep 17 00:00:00 2001 From: Keegan | W3F <35080151+keeganquigley@users.noreply.github.com> Date: Thu, 12 Oct 2023 02:57:44 -0400 Subject: [PATCH 120/133] Update vue-typescript-substrate-frontend-template.md (#2045) --- applications/vue-typescript-substrate-frontend-template.md | 1 + 1 file changed, 1 insertion(+) diff --git a/applications/vue-typescript-substrate-frontend-template.md b/applications/vue-typescript-substrate-frontend-template.md index b2287ea4353..4ab2a36a13a 100644 --- a/applications/vue-typescript-substrate-frontend-template.md +++ b/applications/vue-typescript-substrate-frontend-template.md @@ -3,6 +3,7 @@ - **Team Name:** Wunderbar Network - **Payment Address:** 0x6F76BED39E9B9D57cAb4d9b81D65d2fa088cB68E (DAI) - **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 +- **Status:** [Terminated](https://github.com/w3f/Grants-Program/pull/1601#issuecomment-1758669016) ## Project Overview :page_facing_up: From 55d580dbab9b787a851e9c9a6b0e6233e12c0c13 Mon Sep 17 00:00:00 2001 From: Keegan | W3F <35080151+keeganquigley@users.noreply.github.com> Date: Thu, 12 Oct 2023 06:58:51 -0400 Subject: [PATCH 121/133] Cancel spacewalk-bridge.md (#2042) --- applications/spacewalk-bridge.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/applications/spacewalk-bridge.md b/applications/spacewalk-bridge.md index 60a06e95569..a18cbb63498 100644 --- a/applications/spacewalk-bridge.md +++ b/applications/spacewalk-bridge.md @@ -2,7 +2,8 @@ - **Team Name:** Pendulum - **Payment Address:** [0x41826C59a853969DA6B819130E1c32A9fd7c94ba](https://etherscan.io/address/0x41826C59a853969DA6B819130E1c32A9fd7c94ba#tokentxns) (DAI) -- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 1 +- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 +- **Status:** [Terminated](https://github.com/w3f/Grants-Program/pull/749#issuecomment-1740030612) ## Project Overview :page_facing_up: From 87c366d6e3420c09686b96041a093f7fc90e107d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20M=C3=BCller?= Date: Thu, 12 Oct 2023 18:40:16 +0200 Subject: [PATCH 122/133] Update RFP statuses (#2048) * clarifications * Update intro.md small spelling fixes * Update statuses and admonitions --------- Co-authored-by: David Hawig --- docs/Introduction/intro.md | 22 +++++++++---------- docs/RFPs/ISO_20022.md | 4 ++++ .../alternative-polkadot-js-api-console.md | 6 ++--- docs/RFPs/anti-collusion_infrastructure.md | 6 ++++- docs/RFPs/formal_guarantees_for_grandpa.md | 7 +++++- docs/RFPs/grant_management_webapp.md | 6 ++--- ...arachain_validation_conformance_testing.md | 18 ++++++--------- docs/RFPs/sub-consensus.md | 4 ++++ .../uptane-for-substrate-design-and-scope.md | 6 ++++- docs/RFPs/user-account-access-analysis.md | 4 ++++ docs/RFPs/xcm-tool.md | 4 ++++ docs/rfps.md | 12 +++++----- 12 files changed, 62 insertions(+), 37 deletions(-) diff --git a/docs/Introduction/intro.md b/docs/Introduction/intro.md index fc02ed87e87..ea5629fa7fb 100644 --- a/docs/Introduction/intro.md +++ b/docs/Introduction/intro.md @@ -4,28 +4,28 @@ sidebar_position: 1 # Guidelines -Anyone is welcome to apply for a grant. Projects funded through our programs are broad in scope, but our focus lies on strong **technical** projects that add value to the ecosystem. +Anyone is welcome to apply for a grant. Projects funded through our program are broad in scope, but our focus lies on projects with a strong **technical** focus that add value to the ecosystem. Furthermore, you should be able to demonstrate a solid, long-term roadmap, be it through the project's significance to the community (such as for research-oriented projects) or an in-depth market analysis (for business-oriented projects). Generally, your project will have better chances to be accepted if: -- It presents a **well-researched** or tested concept, for which ideally you are able to show some prior work. -- You can demonstrate that the project will be **maintained** after completion of the grant, be it through an obvious commitment to the technology from your side, additional funding sources or an existing business model. -- Your team has **proven experience** with the relevant languages and technologies and/or a strong technical background. You will be asked to provide the GitHub profiles of your team members as part of your application, which we will examine these for past activity and code quality. Naturally, you can also link to projects on other platforms. -- Your application is **rich in technical details** and well-defined. -- You can clearly present how your project stands out among competitors or implements technology that doesn't exist in the ecosystem yet. +- it presents a **well-researched** or tested concept, for which ideally you are able to show some prior work; +- you can demonstrate that the project will be **maintained** after completion of the grant, be it through an obvious commitment to the technology from your side, additional funding sources, or an existing business model; +- your team has **proven experience** with the relevant languages and technologies and/or a strong technical background. You will be asked to provide the GitHub profiles of your team members as part of your application, which we will examine for past activity and code quality. Naturally, you can also link to projects on other platforms; +- your application is **rich in technical details** and well-defined; +- you can present how your project stands out among competitors or implements technology that doesn't exist in the ecosystem yet. Additionally, it must fulfill the following requirements: -- All code produced as part of a grant must be **open-sourced**, and it must also not rely on closed-source software for full functionality. We prefer Apache 2.0, but GPLv3, MIT or Unlicense are also acceptable. +- All code produced as part of a grant must be **open-sourced**, and it must also not rely on closed-source software for full functionality. We prefer Apache 2.0, but GPLv3, MIT, or Unlicense are also acceptable. - We do not award grants for projects that have been the object of a successful token sale. -- Applications must not mention a specific token. Furthermore, the focus of the application should lie on the software that is being implemented/research being carried out as part of the grant, and less on your project/venture/operation. For the purpose of the application and delivery, think about how others might also benefit from your work. +- Applications must not mention a specific token. Furthermore, the focus of the application should lie on the software that is being implemented/research being carried out as part of the grant and less on your project/venture/operation. For the purpose of the application and delivery, think about how others might also benefit from your work. - As a general rule, teams are asked to finish a grant before applying for another one. -- Lastly, we do not fund projects that actively encourage gambling, illicit trade, money laundering or criminal activities in general. +- Lastly, we do not fund projects that actively encourage gambling, illicit trade, money laundering, or criminal activities in general. In addition to the information provided on your application, note that your project will need to comply with our [Guidelines for Milestone Deliverables](../Support%20Docs/milestone-deliverables-guidelines.md). In particular, we require all projects to create documentation that explains how their project works. At a minimum, _written_ documentation is required for funding. Tutorials or videos are also helpful for new users to understand how to use your product. Please also heed our [Announcement Guidelines](../Support%20Docs/announcement-guidelines.md) for grant-related communications. -Finally, we take licensing and the right of all teams in and outside the ecosystem to be recognised for their work very seriously. Using others' work with no attribution or indication that this was not your own work as part of a milestone delivery **will lead to immediate termination**. Please reach out to us before submitting if you have any doubts on how to comply with a specific license and we'll be happy to help. +Finally, we take licensing and the right of all teams in and outside the ecosystem to be recognized for their work very seriously. Using others' work with no attribution or indication that this was not your own work as part of a milestone delivery **will lead to immediate termination**. Please reach out to us before submitting if you have any doubts on how to comply with a specific license and we'll be happy to help. -We also try to enforce our [code of conduct](../../CODE_OF_CONDUCT.md) and based on this may [block users](https://github.blog/2016-04-04-organizations-can-now-block-abusive-users/). +We also try to enforce our [code of conduct](../../CODE_OF_CONDUCT.md) and, based on this, may [block users](https://github.blog/2016-04-04-organizations-can-now-block-abusive-users/). diff --git a/docs/RFPs/ISO_20022.md b/docs/RFPs/ISO_20022.md index 6d2c1611c53..5070b715d61 100644 --- a/docs/RFPs/ISO_20022.md +++ b/docs/RFPs/ISO_20022.md @@ -1,5 +1,9 @@ # RFP: ISO 20022 +:::tip +This Request for Proposal is currently _open_, meaning we are actively looking for (additional) teams to apply for it. +::: + * **Status:** [Under Development](https://github.com/w3f/Grants-Program/blob/master/applications/ISO20022.md) * **Proposer:** [Noc2](https://github.com/Noc2) diff --git a/docs/RFPs/alternative-polkadot-js-api-console.md b/docs/RFPs/alternative-polkadot-js-api-console.md index cb0db15523d..e6e82dc82f2 100644 --- a/docs/RFPs/alternative-polkadot-js-api-console.md +++ b/docs/RFPs/alternative-polkadot-js-api-console.md @@ -1,10 +1,10 @@ # Alternative javascript console for Polkadot JS API -:::caution -This Request for Proposals is currently considered **under development**, meaning one or more grants have been signed to address the topic. We might be interested in additional implementations, but it’s better to double check this with the grants team. +:::danger +This Request for Proposals is _closed_, meaning we are not looking for any more proposals on this topic at the moment. ::: -* **Status:** [Under Development](https://w3f.github.io/Grants-Program/applications/sandox) +* **Status:** Closed * **Proposer:** [muddlebee](https://github.com/muddlebee) * **Projects you think this work could be useful for** [optional]: Javascript console at https://polkadot.js.org/apps/#/js diff --git a/docs/RFPs/anti-collusion_infrastructure.md b/docs/RFPs/anti-collusion_infrastructure.md index 7c202fdfa3f..f9616d3682d 100644 --- a/docs/RFPs/anti-collusion_infrastructure.md +++ b/docs/RFPs/anti-collusion_infrastructure.md @@ -1,6 +1,10 @@ # Anti-Collusion Infrastructure -* **Status:** Open +:::caution +This Request for Proposals is currently considered **under development**, meaning one or more grants have been signed to address the topic. We might be interested in additional implementations, but it’s better to double check this with the grants team. +::: + +* **Status:** [Under Development](https://grants.web3.foundation/applications/infimum) * **Proposer:** [Noc2](https://github.com/Noc2) ## Project Description :page_facing_up: diff --git a/docs/RFPs/formal_guarantees_for_grandpa.md b/docs/RFPs/formal_guarantees_for_grandpa.md index dce19cb08b7..94649968635 100644 --- a/docs/RFPs/formal_guarantees_for_grandpa.md +++ b/docs/RFPs/formal_guarantees_for_grandpa.md @@ -1,4 +1,9 @@ # Formal Guarantees for GRANDPA Finality Gadget + +:::tip +This Request for Proposal is currently _open_, meaning we are actively looking for (additional) teams to apply for it. +::: + * **Status:** Open * **Proposer:** [Bhargav Bhatt](https://github.com/bhargavbh), [David Hawig](https://github.com/Noc2) @@ -13,7 +18,7 @@ We are open to any reasonable formal methods approach that rigorously proves the - interactive theorem proving (in Isabelle/HOL, Coq, verdi) - Any other temporal property verification tool for distributed systems -We envision the project to prove both safety and liveness properties of GRANDPA which interacts with a Block Production mechanism (like [BABE](https://research.web3.foundation/en/latest/polkadot/block-production/Babe.html) or [Sassafras](https://research.web3.foundation/en/latest/polkadot/block-production/SASSAFRAS.html)) by assuming an abstract interface. +We envision the project to prove both safety and liveness properties of GRANDPA which interacts with a Block Production mechanism (like [BABE](https://research.web3.foundation/Polkadot/protocols/block-production/Babe) or [Sassafras](https://research.web3.foundation/Polkadot/protocols/block-production/SASSAFRAS)) by assuming an abstract interface. ## Deliverables diff --git a/docs/RFPs/grant_management_webapp.md b/docs/RFPs/grant_management_webapp.md index 37eb528dacf..17a865f5030 100644 --- a/docs/RFPs/grant_management_webapp.md +++ b/docs/RFPs/grant_management_webapp.md @@ -1,10 +1,10 @@ # Grant Management Web Application -:::caution -This Request for Proposals is currently considered **under development**, meaning one or more grants have been signed to address the topic. We might be interested in additional implementations, but it’s better to double check this with the grants team. +:::danger +This Request for Proposals is _closed_, meaning we are not looking for any more proposals on this topic at the moment. ::: -* **Status:** Under Development [here](https://github.com/w3f/Grants-Program/pull/1766) as well as [here](https://github.com/w3f/Grants-Program/pull/1765) +* **Status:** Closed * **Proposer:** [randombishop](https://github.com/randombishop) diff --git a/docs/RFPs/parachain_validation_conformance_testing.md b/docs/RFPs/parachain_validation_conformance_testing.md index 3c28fba93dd..d2b1f67134c 100644 --- a/docs/RFPs/parachain_validation_conformance_testing.md +++ b/docs/RFPs/parachain_validation_conformance_testing.md @@ -1,25 +1,22 @@ # Parachain Validation Conformance Testing +:::tip +This Request for Proposal is currently _open_, meaning we are actively looking for (additional) teams to apply for it. +::: + * **Status:** Open * **Proposer:** [bkchr](https://github.com/bkchr) ## Project Description :page_facing_up: -Each Polkadot host implementation that wants to take part in consensus needs to implement the Parachains protocol. Part of the Parachains -protocol is the execution of the Parachain Validation Function (`PVF`). The `PVF` is a wasm blob that is required to provide the `validate_block` -function that takes a fixed set of arguments (part is the proof of validity from a collator), validates the proof of validity and returns (on success) some -information back to the Polkadot host implementation. The `PVF` is a black box for the Polkadot node and it can only use the `validate_block` to -make use of it. The execution of these `PVF`s is required to stay in certain limits to reach consensus across different node implementations, -node versions, different hardware configuration and OS configurations. Some of these limits are: +Each Polkadot host implementation that wants to take part in consensus needs to implement the Parachains protocol. Part of the Parachains protocol is the execution of the Parachain Validation Function (`PVF`). The `PVF` is a wasm blob that is required to provide the `validate_block` function that takes a fixed set of arguments (part is the proof of validity from a collator), validates the proof of validity and returns (on success) some information back to the Polkadot host implementation. The `PVF` is a black box for the Polkadot node and it can only use the `validate_block` to make use of it. The execution of these `PVF`s is required to stay in certain limits to reach consensus across different node implementations, node versions, different hardware configuration and OS configurations. Some of these limits are: - A deterministic maximum stack depth. All node implementations should support the same stack depth. - A deterministic maximum memory. All node implementations should support the same maximum memory usage per `PVF` execution. - A deterministic maximum execution time. All node implementations should execute a given `PVF` in the same maximum time frame. - A deterministic compilation/preparation of the `PVF`. All node implementations should compile/prepare a given `PVF` in the same maximum time frame and maximum memory budget. -There are probably a lot of other limits as well. To ensure that all node implementations/versions are staying in these limits it is required -to have conformance tests. These should include basic execution of valid wasm files over to complex wasm files that ensure that the compilation/preparation -stays in the given limits and/or helps to define these limits properly across different implementations. +There are probably a lot of other limits as well. To ensure that all node implementations/versions are staying in these limits it is required to have conformance tests. These should include basic execution of valid wasm files over to complex wasm files that ensure that the compilation/preparation stays in the given limits and/or helps to define these limits properly across different implementations. **Useful resources:** - [The Polkadot Parachain Host Implementers' Guide](https://paritytech.github.io/polkadot/book/index.html) @@ -31,6 +28,5 @@ stays in the given limits and/or helps to define these limits properly across di - Conformance tests that are resulting in running over the limits. - Fuzzing across different implementations ensuring that all are coming to the same result -This is more some never ending task trying to find issues in different implementations, getting them fixed and searching for new vulnerabilities. -In the end these tests should ensure that updating wasm engines, introducing new node implementations +This is more some never ending task trying to find issues in different implementations, getting them fixed and searching for new vulnerabilities. In the end these tests should ensure that updating wasm engines, introducing new node implementations etc can be done in a sane way without hoping for the best. diff --git a/docs/RFPs/sub-consensus.md b/docs/RFPs/sub-consensus.md index f2102639099..1221a57cdae 100644 --- a/docs/RFPs/sub-consensus.md +++ b/docs/RFPs/sub-consensus.md @@ -1,5 +1,9 @@ # Sub-consensus mechanism +:::tip +This Request for Proposal is currently _open_, meaning we are actively looking for (additional) teams to apply for it. +::: + * **Status:** Open * **Proposer:** mmagician, laboon * **Projects you think this work could be useful for:** All parachains diff --git a/docs/RFPs/uptane-for-substrate-design-and-scope.md b/docs/RFPs/uptane-for-substrate-design-and-scope.md index f419262f612..184174eaf7b 100644 --- a/docs/RFPs/uptane-for-substrate-design-and-scope.md +++ b/docs/RFPs/uptane-for-substrate-design-and-scope.md @@ -1,6 +1,10 @@ # Designing Upchain: A framework for securing Substrate software update systems -* **Status:** Open +:::danger +This Request for Proposals is _closed_, meaning we are not looking for any more proposals on this topic at the moment. +::: + +* **Status:** Closed * **Proposer:** taqtiqa-mark * **Your Project(s):** N.A. * **Projects you think this work could be useful for** [Substrate runtime upgrades](https://docs.substrate.io/build/upgrade-the-runtime/) and [Substrate network upgrades](https://docs.substrate.io/tutorials/get-started/upgrade-a-running-network/) diff --git a/docs/RFPs/user-account-access-analysis.md b/docs/RFPs/user-account-access-analysis.md index 7d2b3d8b6cf..266cc959980 100644 --- a/docs/RFPs/user-account-access-analysis.md +++ b/docs/RFPs/user-account-access-analysis.md @@ -1,5 +1,9 @@ # User Account Access Security Analysis for Wallets +:::tip +This Request for Proposal is currently _open_, meaning we are actively looking for (additional) teams to apply for it. +::: + * **Status:** Open * **Proposer:** [Bhargav Bhatt](https://github.com/bhargavbh), [David Hawig](https://github.com/Noc2) * **Objectives** Security analysis of the user interface of Polkadot Wallets, particularly account access and recovery. diff --git a/docs/RFPs/xcm-tool.md b/docs/RFPs/xcm-tool.md index d328524adfc..8f13bd41645 100644 --- a/docs/RFPs/xcm-tool.md +++ b/docs/RFPs/xcm-tool.md @@ -1,5 +1,9 @@ # XCM library & tools +:::caution +This Request for Proposals is currently considered **under development**, meaning one or more grants have been signed to address the topic. We might be interested in additional implementations, but it’s better to double check this with the grants team. +::: + * **Status:** [Implemented](https://github.com/w3f/Grants-Program/blob/master/applications/ParaSpell_follow-up2.md), [Under Development 1](https://github.com/w3f/Grants-Program/blob/master/applications/xcm-tools.md), [Under Development 2](https://github.com/w3f/Grants-Program/blob/master/applications/xcm-domain-service.md) * **Proposer:** [Bryan Chen](https://github.com/xlc) * **Projects you think this work could be useful for** : Every parachain. diff --git a/docs/rfps.md b/docs/rfps.md index 0b2cc5278b7..73ab405b258 100644 --- a/docs/rfps.md +++ b/docs/rfps.md @@ -24,13 +24,11 @@ If you find an open RFP here that you think you can address, feel free to [submi | RFP | Last Updated | | :-- | :----------: | | [anti-collusion_infrastructure.md](RFPs/anti-collusion_infrastructure.md) | 21.09.2023 | -| [formal_guarantees_for_grandpa.md](RFPs/formal_guarantees_for_grandpa.md) | 07.10.2022 | -| [ISO_20022.md](RFPs/ISO_20022.md) | 20.09.2023 | +| [formal_guarantees_for_grandpa.md](RFPs/formal_guarantees_for_grandpa.md) | 12.10.2023 | +| [ISO_20022.md](RFPs/ISO_20022.md) | 12.10.2023 | | [parachain_validation_conformance_testing.md](RFPs/parachain_validation_conformance_testing.md) | 18.01.2023 | | [sub-consensus.md](RFPs/sub-consensus.md) | 23.02.2022 | -| [uptane-for-substrate-design-and-scope.md](RFPs/uptane-for-substrate-design-and-scope.md) | 04.03.2023 | | [user-account-access-analysis.md](RFPs/user-account-access-analysis.md) | 07.01.2023 | -| [xcm-tool.md](RFPs/xcm-tool.md) | 21.09.2023 | @@ -39,11 +37,9 @@ If you find an open RFP here that you think you can address, feel free to [submi | RFP | Last Updated | | :-- | :----------: | | [alternative_polkadot_host_implementations.md](RFPs/alternative_polkadot_host_implementations.md) | 02.03.2023 | -| [alternative-polkadot-js-api-console.md](RFPs/alternative-polkadot-js-api-console.md) | 19.05.2023 | | [analysis-website-and-data-platform.md](RFPs/analysis-website-and-data-platform.md) | 21.09.2023 | | [data_analysis_tools.md](RFPs/data_analysis_tools.md) | 21.09.2023 | | [decentralized-security-marketplace.md](RFPs/decentralized-security-marketplace.md) | 25.09.2023 | -| [grant_management_webapp.md](RFPs/grant_management_webapp.md) | 25.09.2023 | | [identity-directory.md](RFPs/identity-directory.md) | 20.09.2023 | | [IDE_for_ink_Smart_Contracts.md](RFPs/IDE_for_ink_Smart_Contracts.md) | 20.09.2023 | | [implementation-benchmarking.md](RFPs/implementation-benchmarking.md) | 20.09.2023 | @@ -53,6 +49,7 @@ If you find an open RFP here that you think you can address, feel free to [submi | [polkadot-protocol_conformance_tests.md](RFPs/polkadot-protocol_conformance_tests.md) | 21.09.2023 | | [raft-validators.md](RFPs/raft-validators.md) | 23.05.2023 | | [Static-Analysis-for-Runtime-Pallets.md](RFPs/Static-Analysis-for-Runtime-Pallets.md) | 27.09.2023 | +| [xcm-tool.md](RFPs/xcm-tool.md) | 21.09.2023 | @@ -62,11 +59,13 @@ If you find an open RFP here that you think you can address, feel free to [submi | RFP | Last Updated | | :-- | :----------: | | [a-and-v-topology.md](RFPs/a-and-v-topology.md) | 04.09.2023 | +| [alternative-polkadot-js-api-console.md](RFPs/alternative-polkadot-js-api-console.md) | 19.05.2023 | | [appi.md](RFPs/appi.md) | 20.07.2021 | | [bpf-contracts.md](RFPs/bpf-contracts.md) | 06.01.2023 | | [candle-auction.md](RFPs/candle-auction.md) | 02.02.2022 | | [crowdloan_front_end_template.md](RFPs/crowdloan_front_end_template.md) | 25.04.2023 | | [epassport-zk-validation.md](RFPs/epassport-zk-validation.md) | 21.03.2023 | +| [grant_management_webapp.md](RFPs/grant_management_webapp.md) | 25.09.2023 | | [ksm-tipping-button.md](RFPs/ksm-tipping-button.md) | 20.07.2021 | | [multi-chain-block-explorer.md](RFPs/multi-chain-block-explorer.md) | 27.09.2023 | | [on-chain-quadratic-funding.md](RFPs/on-chain-quadratic-funding.md) | 29.03.2022 | @@ -78,6 +77,7 @@ If you find an open RFP here that you think you can address, feel free to [submi | [social-recovery-wallet.md](RFPs/social-recovery-wallet.md) | 03.03.2023 | | [staking-rewards-collector-front-end.md](RFPs/staking-rewards-collector-front-end.md) | 20.07.2021 | | [uncollateralized-stablecoin-research.md](RFPs/uncollateralized-stablecoin-research.md) | 01.01.2023 | +| [uptane-for-substrate-design-and-scope.md](RFPs/uptane-for-substrate-design-and-scope.md) | 04.03.2023 | | [validator-selection-algorithm.md](RFPs/validator-selection-algorithm.md) | 25.09.2023 | | [validator-setup-maintenance.md](RFPs/validator-setup-maintenance.md) | 24.08.2023 | | [wallet-aggregator-library.md](RFPs/wallet-aggregator-library.md) | 09.03.2023 | From c8aecf16d4b10739962df2d2951e5a525eba2f52 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20M=C3=BCller?= Date: Fri, 13 Oct 2023 12:19:26 +0200 Subject: [PATCH 123/133] Application list fixes --- applications/index.md | 88 ++++++++++++++++++++++--------------------- 1 file changed, 46 insertions(+), 42 deletions(-) diff --git a/applications/index.md b/applications/index.md index 3f6575e99ff..7b9afc76afe 100644 --- a/applications/index.md +++ b/applications/index.md @@ -13,31 +13,33 @@ Furthermore, the page lists terminations that happened due to a breach of the te Besides, **there is a clear difference between an application being accepted and the successful delivery of the respective project**, and only teams that have successfully delivered a milestone are allowed to make public announcements on the matter or to use our [badge](https://github.com/w3f/General-Grants-Program/blob/master/grants/grant-badge-guidelines.md). The badge can also never be used as a general endorsement for a team. Violations to this policy can be reported [here](mailto:grants@web3.foundation). ::: + + - [2023](#2023) - - [🏄 Wave 20 - Q4 2023](#️-wave-20---q4-2023) - - [🏄 Wave 19 - Q3 2023](#️-wave-19---q3-2023) - - [🏄 Wave 18 - Q2 2023](#️-wave-18---q2-2023) - - [🏄 Wave 17 - Q1 2023](#️-wave-17---q1-2023) + - [🏄 Wave 20 - Q4 2023](#-wave-20---q4-2023) + - [🏄 Wave 19 - Q3 2023](#-wave-19---q3-2023) + - [🏄 Wave 18 - Q2 2023](#-wave-18---q2-2023) + - [🏄 Wave 17 - Q1 2023](#-wave-17---q1-2023) - [2022](#2022) - - [🏄 Wave 16 - Q4 2022](#️-wave-16---q4-2022) - - [🏄 Wave 15 - Q3 2022](#️-wave-15---q3-2022) - - [🏄 Wave 14 - Q2 2022](#️-wave-14---q2-2022) - - [🏄 Wave 13 - Q1 2022](#️-wave-13---q1-2022) + - [🏄 Wave 16 - Q4 2022](#-wave-16---q4-2022) + - [🏄 Wave 15 - Q3 2022](#-wave-15---q3-2022) + - [🏄 Wave 14 - Q2 2022](#-wave-14---q2-2022) + - [🏄 Wave 13 - Q1 2022](#-wave-13---q1-2022) - [2021](#2021) - - [🏄 Wave 12 - Q4 2021](#️-wave-12---q4-2021) - - [🏄 Wave 11 - Q3 2021](#️-wave-11---q3-2021) - - [🏄 Wave 10 - Q2 2021](#️-wave-10---q2-2021) - - [🏄 Wave 9 - Q1 2021](#️-wave-9---q1-2021) + - [🏄 Wave 12 - Q4 2021](#-wave-12---q4-2021) + - [🏄 Wave 11 - Q3 2021](#-wave-11---q3-2021) + - [🏄 Wave 10 - Q2 2021](#-wave-10---q2-2021) + - [🏄 Wave 9 - Q1 2021](#-wave-9---q1-2021) - [2020](#2020) - - [🏄 Wave 8 - Q4 2020](#️-wave-8---q4-2020) - - [🏄 Wave 7 - Q3 2020](#️-wave-7---q3-2020) - - [🏄 Wave 6 - Q2 2020](#️-wave-6---q2-2020) - - [🏄 Wave 5 - Q1 2020](#️-wave-5---q1-2020) + - [🏄 Wave 8 - Q4 2020](#-wave-8---q4-2020) + - [🏄 Wave 7 - Q3 2020](#-wave-7---q3-2020) + - [🏄 Wave 6 - Q2 2020](#-wave-6---q2-2020) + - [🏄 Wave 5 - Q1 2020](#-wave-5---q1-2020) - [2019](#2019) - - [🏄 Wave 4 - Q4 2019](#️-wave-4---q4-2019) - - [🏄 Wave 3 - Q3 2019](#️-wave-3---q3-2019) - - [🏄 Wave 2 - Q2 2019](#️-wave-2---q2-2019) - - [🏄 Wave 1 - Q1 2019](#️-wave-1---q1-2019) + - [🏄 Wave 4 - Q4 2019](#-wave-4---q4-2019) + - [🏄 Wave 3 - Q3 2019](#-wave-3---q3-2019) + - [🏄 Wave 2 - Q2 2019](#-wave-2---q2-2019) + - [🏄 Wave 1 - Q1 2019](#-wave-1---q1-2019) ## 2023 @@ -50,6 +52,8 @@ Besides, **there is a clear difference between an application being accepted and | [KodaDot](https://kodadot.xyz/) | [AssetsHub NFT indexer](./kodadot_assethub_nft_indexer_statemine_statemint.md) | [GitHub](https://github.com/kodadot) | ☐ | ☐ | ☐ | | [Apollos Collective](https://rhys.tech) | [Infimum](./infimum.md) | [GitHub](https://github.com/rhysbalevicius) | ☐ | ☐ | ☐ | +[🔝](#top) + ### 🏄 Wave 19 - Q3 2023 | Team | Project | Link | Terminated | First Delivery | Completed | @@ -57,7 +61,7 @@ Besides, **there is a clear difference between an application being accepted and | [Protofire](https://protofire.io/) | [Contract Wizard](./Contract_wizard.md) | [GitHub](https://github.com/protofire/polkadot-contract-wizard/) | ☐ | ☐ | ☐ | | [ZeroDAO](https://github.com/ZeroDAO) | [Melodot](./Melodot.md) | [GitHub](https://github.com/ZeroDAO) | ☐ | ☒ | ☒ | | [Starks](https://github.com/tur461) | [XCM tool for NFTs](./xNFT.md) | [GitHub](https://github.com/tur461) | ☐ | ☐ | ☐ | -| [ChainSafe](https://chainsafe.io/) | Polkadot Snap Maintenance | [GitHub](https://github.com/ChainSafe/metamask-snap-polkadot) | ☐ | ☐ | ☐ | +| [ChainSafe](https://chainsafe.io/) | [Polkadot Snap Maintenance](./maintenance/Substratesnap_Maintenance.md) | [GitHub](https://github.com/ChainSafe/metamask-snap-polkadot) | ☐ | ☐ | ☐ | | [justmert](https://github.com/justmert) | [DOTLY: Revolutionizing Polkadot Account Statistics](./dotly.md) | [GitHub](https://github.com/justmert/dotly) | ☐ | ☐ | ☐ | | [Federico Cicciarella](https://www.linkedin.com/in/federicocicciarella/?originalSubdomain=it) | [Tracking Chain](./tracking_chain.md) | [GitHub](https://github.com/TrackingChains/TrackingChain) | ☐ | ☒ | ☐ | | [TPScore](https://github.com/its-a-setup) | [TPScore](./TPScore.md) | [GitHub](https://github.com/its-a-setup) | ☐ | ☒ | ☒ | @@ -88,7 +92,7 @@ Besides, **there is a clear difference between an application being accepted and | [Coong Crafts](https://coongcrafts.io/) | [DelightfulDOT](delightfuldot.md) | [GitHub](https://github.com/CoongCrafts) | ☐ | ☐ | ☐ | | [Lastic](https://www.lastic.xyz/) | [Lastic](Lastic.md) | [GitHub](https://github.com/LasticXYZ) | ☐ | ☐ | ☐ | -[🔝](#2023) +[🔝](#top) ### 🏄 Wave 18 - Q2 2023 @@ -131,7 +135,7 @@ Besides, **there is a clear difference between an application being accepted and | [Davanti](https://github.com/liangjh) | [Dot-ETL Project](dot_etl.md)| [GitHub](https://github.com/liangjh) | ☐ | ☐ | ☐ | | [ParaSpell](https://github.com/paraspell) | [LightSpell: XCM API](LightSpell-proposal.md)| [GitHub](https://github.com/paraspell) | ☐ | ☒ | ☒ | -[🔝](#2023) +[🔝](#top) ### 🏄 Wave 17 - Q1 2023 @@ -184,7 +188,7 @@ Besides, **there is a clear difference between an application being accepted and | [Polkadrys Labs](https://github.com/rtomas) | [Open Payroll](./openPayroll.md) | [GitHub](https://github.com/rtomas) | ☐ | ☒ | ☐ | | [Itering](https://www.itering.io/) | [Solidity Verifier Implementation for Accountable Light Client](./solidity-verifier-for-accountable-light-client.md) | [GitHub](https://github.com/darwinia-network) | ☐ | ☒ | ☒ | -[🔝](#2023) +[🔝](#top) ## 2022 @@ -232,7 +236,7 @@ Besides, **there is a clear difference between an application being accepted and | [Aband-Network](https://a.band/) | [Substrate Parachain PoS Template](substrate-parachain-PoS-template.md) | [GitHub](https://github.com/Aband-Network/substrate-parachain-PoS-template) | ☐ | ☒ | ☒ | | [MangoBOX labs](https://www.mangobox.xyz/) | [MangoSale Protocol](MangoSale_Protocol.md) | [GitHub](https://github.com/Mangoboxlabs) | ☐ | ☒ | ☒ | -[🔝](#2023) +[🔝](#top) ### 🏄 Wave 15 - Q3 2022 @@ -278,7 +282,7 @@ Besides, **there is a clear difference between an application being accepted and | [Standard Protocol](https://standard.tech/) | [New Order - a full onchain orderbook dex with indexers](./Standard_Protocol.md) | [GitHub](https://github.com/standardweb3) | ☒ | ☐ | ☐ | | [hack-ink](https://github.com/hack-ink) | [Subalfred](./subalfred.md) | [GitHub](https://github.com/hack-ink/subalfred) | ☐ | ☒ | ☒ | -[🔝](#2023) +[🔝](#top) ### 🏄 Wave 14 - Q2 2022 @@ -321,7 +325,7 @@ Besides, **there is a clear difference between an application being accepted and | [Hypha Hashed Partners](https://hypha.earth/) | [Social Recovery Wallet](./social_recovery_wallet.md) | [GitHub](https://github.com/hypha-dao) | ☐ | ☒ | ☒ | | [MangoBOX labs](http://mangobox.xyz/) | [MangoBOX Protocol](./MangoBOX-Protocol.md) | [GitHub](https://github.com/Mangoboxlabs) | ☐ | ☒ | ☒ | -[🔝](#2023) +[🔝](#top) ### 🏄 Wave 13 - Q1 2022 @@ -360,7 +364,7 @@ Besides, **there is a clear difference between an application being accepted and | [NUTS Finance](https://nuts.finance) | [DOT-pegged derivative built on top of the stable asset protocol](./tdot.md) | [GitHub](https://github.com/nutsfinance/) | ☒ | ☒ | ☐ | | [Strategy Object](https://strategyobject.com/) | [Substrate Client for Java](./substrate_client_java.md) | [GitHub](https://github.com/strategyobject/substrate-client-java) | ☐ | ☒ | ☐ | -[🔝](#2023) +[🔝](#top) ## 2021 ### 🏄 Wave 12 - Q4 2021 @@ -391,7 +395,7 @@ Besides, **there is a clear difference between an application being accepted and -[🔝](#2023) +[🔝](#top) ### 🏄 Wave 11 - Q3 2021 @@ -424,7 +428,7 @@ Besides, **there is a clear difference between an application being accepted and | [Skye Kiwi](https://skye.kiwi/) | [SkyeKiwi Protocol](./skyekiwi-protocol.md) | [GitHub](https://github.com/skyekiwi) | ☐ | ☒ | ☒ | | [Evercity](https://evercity.io/) | Sustainable Finance Protocol | [GitHub](https://github.com/EvercityEcosystem) | ☐ | ☒ | ☒ | -[🔝](#2023) +[🔝](#top) ### 🏄 Wave 10 - Q2 2021 @@ -460,7 +464,7 @@ Besides, **there is a clear difference between an application being accepted and | [CryptoLab](https://www.cryptolab.network) | [Staking Reward Collector](./cryptolab-staking-reward-collector-front-end.md) | [GitHub](https://github.com/cryptolab-network) | ☐ | ☒ | ☒ | | [Yatima Inc](https://github.com/yatima-inc/yatima) | [Lambda-VM and programming language for Substrate](./yatima.md) | [GitHub](https://github.com/yatima-inc/yatima) | ☐ | ☒ | ☒ | -[🔝](#2023) +[🔝](#top) ### 🏄 Wave 9 - Q1 2021 @@ -481,7 +485,7 @@ Besides, **there is a clear difference between an application being accepted and | [SEOR](https://www.seor.io) | [Multi-chain smart contract development platform](./SEOR-code-less-smart-contract-platform.md) | [GitHub](https://github.com/SealSC) | ☐ | ☒ | ☐ | | [Polkastarter](https://polkastarter.com/) | [Crowdloan UI](./polkastarter.md) | [GitHub](https://github.com/polkastarter) | ☒ | ☐ | ☐ | | [Equilibrium.io](https://equilibrium.io/en) | [Curve AMM Pallet](./curve_amm.md) | [GitHub](https://github.com/equilibrium-eosdt) | ☐ | ☒ | ☒ | -| [Zondax](https://zondax.ch/) | [Ledger maintenance + recovery extensions + support](./Zondax-Support.md) | [GitHub](https://github.com/Zondax) | ☐ | ☒ | ☒ | +| [Zondax](https://zondax.ch/) | [Ledger maintenance + recovery extensions + support](./maintenance/Zondax-Support.md) | [GitHub](https://github.com/Zondax) | ☐ | ☒ | ☒ | | [Nuclei Studio](https://nuclei.studio/) | [Voting Pallets](https://github.com/w3f/General-Grants-Program/blob/master/grants/speculative/nuclei_governance_os_voting.md) | [GitHub](https://github.com/NucleiStudio) | ☐ | ☒ | ☒ | | [RAMP DEFI](https://app.rampdefi.com/#/) | [Polkakeeper - A Community-Led Value Assurance Protocol](./polkakeeper.md) | [GitHub](https://github.com/RAMP-DEFI) | ☐ | ☐ | ☐ | | [Stone](https://stonedefi.io) | [Index project which aims to track the portfolio of multiple digital assets](./stone-index-on-substrate.md) | [GitHub](https://github.com/stonedefi/) | ☐ | ☒ | ☒ | @@ -515,7 +519,7 @@ Besides, **there is a clear difference between an application being accepted and | [Vera](https://veraprotocol.org/) | [NFT Lending + Exchange](./vera_defi.md) | [GitHub](https://github.com/veraprotocol) | ☐ | ☒ | ☒ | | [Parallel Finance](https://parallel.fi/#/) | [Decentralized lending/borrowing and staking protocol](./Parallel.md) | [GitHub](https://github.com/parallel-finance/parallel) | ☐ | ☒ | ☒ | -[🔝](#2023) +[🔝](#top) ## 2020 @@ -567,7 +571,7 @@ Besides, **there is a clear difference between an application being accepted and | [HugoByte](https://hugobyte.com/) | [Project Aurras: Event Manager](./project_aurras_mvp_phase_1.md) | [GitHub](https://github.com/HugoByte) | ☐ | ☒ | ☒ | | [Bounce Protocol](https://bounce.finance/) | [Decentralized Auction Protocol](./bounce-protocol.md) | [GitHub](https://github.com/bouncefinance/bounce-network) | ☐ | ☐ | ☐ | -[🔝](#2023) +[🔝](#top) ### 🏄 Wave 7 - Q3 2020 @@ -605,7 +609,7 @@ Besides, **there is a clear difference between an application being accepted and | [sup](https://github.com/clearloop/sup) | [Command line tool for generating or upgrading a Substrate node](./sup.md) | [GitHub](https://github.com/clearloop/sup) | ☐ | ☒ | ☒ | | [Shard Labs](https://shardlabs.io) | [Tip or Donate KSM Embeddable Button](./KSM-embeddable-tip-or-donate-button.md) | [GitHub](https://github.com/Shard-Labs) | ☐ | ☒ | ☒ | -[🔝](#2023) +[🔝](#top) ### 🏄 Wave 6 - Q2 2020 @@ -645,7 +649,7 @@ Besides, **there is a clear difference between an application being accepted and | [Zondax](http://zondax.ch/) | Ledgeracio: A command-line tool and Ledger app designed for staking operations | [GitHub](https://github.com/paritytech/ledgeracio) | ☐ | ☒ | ☒ | | [Dipole Tech](https://www.dipole.tech) | [Dipole Oracle: Distributed energy resource management](./DipoleOracle.md) | [GitHub](https://github.com/DipoleTech/dipole-oracle) | ☐ | ☒ | ☒ | -[🔝](#2023) +[🔝](#top) ### 🏄 Wave 5 - Q1 2020 @@ -689,7 +693,7 @@ Besides, **there is a clear difference between an application being accepted and | [Lyken](https://lyken.rs/) | [Rust trait system revamp](https://github.com/w3f/General-Grants-Program/blob/master/grants/speculative/rust_trait_system_revamp.md) | [GitHub](https://github.com/LykenSol) | ☐ | ☒ | ☐ | | [Chorus One](https://chorus.one/) | Grandpa light client in Tendermint | [GitHub](https://github.com/ChorusOne) | ☐ | ☒ | ☒ | -[🔝](#2023) +[🔝](#top) ## 2019 @@ -722,9 +726,9 @@ Besides, **there is a clear difference between an application being accepted and | [HashQuark](https://www.hashquark.io/) | Validator Dashboard | [GitHub](https://github.com/hashquark-io) | ☐ | ☒ | ☒ | | [Stacktical](https://stacktical.com/) | [Performance Management Runtime Modules](https://github.com/w3f/General-Grants-Program/blob/master/grants/speculative/predictive_performance_management_runtime_module.md) | [GitHub](https://github.com/Stacktical) | ☐ | ☒ | ☐ | | [Sean Young](https://www.mess.org/) | Solidity to WASM compiler | [GitHub](https://github.com/hyperledger-labs/solang) | ☐ | ☒ | ☒ | -| [Chain Security](https://chainsecurity.com/) | Tool for validating correctness of Polkadot runtimes | [GitHub](https://github.com/ChainSecurity/polpatrol) | ☐ | ☒ | ☒ | +| [Chain Security](https://chainsecurity.com/) | Tool for validating correctness of Polkadot runtimes | [GitHub](https://github.com/ChainSecurity/polpatrol) | ☐ | ☒ | ☒ | -[🔝](#2023) +[🔝](#top) ### 🏄 Wave 3 - Q3 2019 @@ -745,7 +749,7 @@ Besides, **there is a clear difference between an application being accepted and | [Phala.Network](https://phala.network/) | [pLibra, Privacy Bridge between Polkadot and Libra chain](https://github.com/w3f/General-Grants-Program/blob/master/grants/speculative/pLIBRA.md) | [GitHub](https://github.com/Phala-Network/) | ☐ | ☒ | ☐ | | [Wiv](http://wiv.io/) | Supply chain modules and front-end UI | [GitHub](https://github.com/wivtech) | ☒ | ☐ | ☐ | -[🔝](#2023) +[🔝](#top) ### 🏄 Wave 2 - Q2 2019 @@ -764,7 +768,7 @@ Besides, **there is a clear difference between an application being accepted and | [Mailchain](https://mailchain.xyz/) | a Multi-Blockchain Messaging Application | [GitHub](https://github.com/mailchain) | ☐ | ☒ | ☒ | | [Usetech](http://usetech.com/blockchain.html) | [Polkadot C++ API](https://github.com/w3f/General-Grants-Program/blob/master/grants/speculative/cpp_api.md) | [GitHub](https://github.com/usetech-llc/polkadot_api_cpp) | ☐ | ☒ | ☒ | -[🔝](#2023) +[🔝](#top) ### 🏄 Wave 1 - Q1 2019 @@ -781,4 +785,4 @@ Besides, **there is a clear difference between an application being accepted and | [Protos](http://protosmanagement.com/) | Open Source Node Explorer | [GitHub](https://github.com/protos-research/polkadot-node-explorer) | ☒ | ☒ | ☐ | | [Supercomputing Systems](https://www.scs.ch/) | [Substrate Transaction Privacy using Intel SGX](https://github.com/w3f/General-Grants-Program/blob/master/grants/speculative/substrate_sgx_proposal.md) | [GitHub](https://github.com/scs/substraTEE) | ☐ | ☒ | ☒ | -[🔝](#2023) +[🔝](#top) From 3bf6522f2fe5d360a64f3682a4c19baa18de88c8 Mon Sep 17 00:00:00 2001 From: vuittont60 <81072379+vuittont60@users.noreply.github.com> Date: Fri, 13 Oct 2023 18:45:06 +0800 Subject: [PATCH 124/133] docs: fix typo (#2049) --- docs/RFPs/a-and-v-topology.md | 4 ++-- docs/RFPs/epassport-zk-validation.md | 2 +- docs/RFPs/identity-directory.md | 2 +- docs/RFPs/ksm-tipping-button.md | 2 +- docs/RFPs/php-scale.md | 2 +- docs/RFPs/polkadot-collator-setup.md | 2 +- docs/RFPs/staking-rewards-collector-front-end.md | 2 +- docs/RFPs/uncollateralized-stablecoin-research.md | 2 +- 8 files changed, 9 insertions(+), 9 deletions(-) diff --git a/docs/RFPs/a-and-v-topology.md b/docs/RFPs/a-and-v-topology.md index 18b0ec67aaa..507c9a5428d 100644 --- a/docs/RFPs/a-and-v-topology.md +++ b/docs/RFPs/a-and-v-topology.md @@ -9,9 +9,9 @@ This Request for Proposals is _closed_, meaning we are not looking for any more ## Project Description :page_facing_up: -A part of the promise of Polkadot is to bring scalability to the blockchains. The way it achieves it is via delegating application-specific logic from layer 0 (the relay chain) to layer 1 chains (parachains). In order to achieve this efficiently yet securely, each parachain has its own block production mechanism (achieving efficienct block production), but the finalisation of candidate parachain blocks still happens with the involvement of the relay chain validators. +A part of the promise of Polkadot is to bring scalability to the blockchains. The way it achieves it is via delegating application-specific logic from layer 0 (the relay chain) to layer 1 chains (parachains). In order to achieve this efficiently yet securely, each parachain has its own block production mechanism (achieving efficient block production), but the finalisation of candidate parachain blocks still happens with the involvement of the relay chain validators. -The full mechanism is described in [the host specification](https://spec.polkadot.network/chapter-anv). In short, it is split into two parts: first, a publicly known subset of validators attests that the parachain block data is available to them (i.e., they must have it in their local storage); second, once 2/3+ of the first group have published their availability votes, a "secret" (VRF-based assignment) subset of validators checks the validitiy of the candidate, by checking its state transition against that parachain runtime, which is available on-(the relay)chain. +The full mechanism is described in [the host specification](https://spec.polkadot.network/chapter-anv). In short, it is split into two parts: first, a publicly known subset of validators attests that the parachain block data is available to them (i.e., they must have it in their local storage); second, once 2/3+ of the first group have published their availability votes, a "secret" (VRF-based assignment) subset of validators checks the validity of the candidate, by checking its state transition against that parachain runtime, which is available on-(the relay)chain. Currently, the gossip network among the relay chain validators does not make use of the public assignment of a the first subgroup of validators to a particular parachain. Instead, the candidate block is passed around the network until it reaches 2/3+ of approvals, causing an additional delay in the process of finalization of the candidate. diff --git a/docs/RFPs/epassport-zk-validation.md b/docs/RFPs/epassport-zk-validation.md index 60609bf07d7..301ff0a4474 100644 --- a/docs/RFPs/epassport-zk-validation.md +++ b/docs/RFPs/epassport-zk-validation.md @@ -52,6 +52,6 @@ Later, the proof is uploaded on-chain, and the chain logic performs verification * **Estimated Duration:** 1 month * **Costs:** 20,000 kUSD -The Master List is expected to, albeit unfrequently, receive updates as new countries join the PKD or as they update their certificates periodically. Furhtermore, countries are expected to publish the revocations of any compromised certificates. +The Master List is expected to, albeit unfrequently, receive updates as new countries join the PKD or as they update their certificates periodically. Furthermore, countries are expected to publish the revocations of any compromised certificates. It is important that both prover and verifier circuits are updated accordingly - else the proof won't match. diff --git a/docs/RFPs/identity-directory.md b/docs/RFPs/identity-directory.md index 0e469da1a23..5bc40ce5164 100644 --- a/docs/RFPs/identity-directory.md +++ b/docs/RFPs/identity-directory.md @@ -51,7 +51,7 @@ The individual events and positions in the various columns should be **linkable* #### Default Plugins - `basic info`: a column with basic information about an account, similar to the sidebar on Polkadot JS Apps UI. Should discern between registrars - it should list each registrar who verified this identity and the verification level they gave (i.e. KnownGood vs KnownBad etc.) -- `governance`: a column listing all of an account's governance activity like votes, proposals, marking the times when the account was a council member, etc. It should resemble a vertical timeline, with related events referencing each other, quoted-tweet style. Events should be linkable as decribed above, i.e. `governance@477723`. The column should **clearly** mark when a user was a council member but failed to uphold their duties, i.e. there was a motion but the user did not vote, and other interesting info (i.e. the user did not do ANYTHING the council can do while being a council member). +- `governance`: a column listing all of an account's governance activity like votes, proposals, marking the times when the account was a council member, etc. It should resemble a vertical timeline, with related events referencing each other, quoted-tweet style. Events should be linkable as described above, i.e. `governance@477723`. The column should **clearly** mark when a user was a council member but failed to uphold their duties, i.e. there was a motion but the user did not vote, and other interesting info (i.e. the user did not do ANYTHING the council can do while being a council member). - `treasury`: a history of an account's interactions with the treasury - tip proposals and endorsements, treasury proposals and grant wins, votes on TP motions if user was council at the time (and clear marks if the user FAILED to vote on a TP motion during his activity as councilor). - `validator`: showing the history/summary of the account's participation in securing the network #### Optional Plugins diff --git a/docs/RFPs/ksm-tipping-button.md b/docs/RFPs/ksm-tipping-button.md index 5debd7c4631..6142d0b3f6f 100644 --- a/docs/RFPs/ksm-tipping-button.md +++ b/docs/RFPs/ksm-tipping-button.md @@ -23,7 +23,7 @@ The tip begins its closing process (a countdown) when more than a half of counci ## Proposal -The Kusama Tip Button sould be a standalone embeddable snippet of HTML and JS code. When added to a website, a "Tip or Donate KSM" button should show, text customizable by website owner. +The Kusama Tip Button should be a standalone embeddable snippet of HTML and JS code. When added to a website, a "Tip or Donate KSM" button should show, text customizable by website owner. Before the user interacts with the button, the button's embedded code should: diff --git a/docs/RFPs/php-scale.md b/docs/RFPs/php-scale.md index 0fa1df40061..1c6161ce63c 100644 --- a/docs/RFPs/php-scale.md +++ b/docs/RFPs/php-scale.md @@ -15,4 +15,4 @@ The SCALE codec is the de-factor encoding method in Substrate-based chains. It i The deliverable should be a standalone SCALE codec package, hosted on Packagist. It can (but does not have to) depend on existing Base58 packages already present on Packagist.org. -The package *can* also be delivered as a companion PHP **extension** but the extension should be exclusivley a performance upgrade to the existing package. In other words, the Packagist-installable library should work on its own, but can be improved by also downloading the (optional) PHP extension. If the applicant decides to also create the extension, they should submit it as a separate milestone. +The package *can* also be delivered as a companion PHP **extension** but the extension should be exclusively a performance upgrade to the existing package. In other words, the Packagist-installable library should work on its own, but can be improved by also downloading the (optional) PHP extension. If the applicant decides to also create the extension, they should submit it as a separate milestone. diff --git a/docs/RFPs/polkadot-collator-setup.md b/docs/RFPs/polkadot-collator-setup.md index 14e1aa2ace4..fc63b89f51c 100644 --- a/docs/RFPs/polkadot-collator-setup.md +++ b/docs/RFPs/polkadot-collator-setup.md @@ -20,7 +20,7 @@ I understand it might be tricky to bundle all the parachain launch setups into o 1. Have a single collator ansible role, and each branch would correspond to a specific parachain 2. Have multiple ansible roles, and the main.yml in the project root to coordinate which roles get deployed. -I would lean towards the second option. While it might lead to large repo size due to multiple collator setups (and multiple networks - the setup might be different on Kusama or Polkadot), it gives more flexibility to spin up multiple collators for independant chains without meddling with git branching too much. +I would lean towards the second option. While it might lead to large repo size due to multiple collator setups (and multiple networks - the setup might be different on Kusama or Polkadot), it gives more flexibility to spin up multiple collators for independent chains without meddling with git branching too much. ## Deliverables :nut_and_bolt: diff --git a/docs/RFPs/staking-rewards-collector-front-end.md b/docs/RFPs/staking-rewards-collector-front-end.md index c717e0498dc..ed1d64a38ca 100644 --- a/docs/RFPs/staking-rewards-collector-front-end.md +++ b/docs/RFPs/staking-rewards-collector-front-end.md @@ -14,7 +14,7 @@ This Request for Proposals is _closed_, meaning we are not looking for any more The [staking-rewards-collector](https://github.com/w3f/staking-rewards-collector) is a tool to gather staking rewards for given addresses and cross-reference those with daily price data. This is a very useful tool for every validator and nominator in the ecosystem. However, since it has currently a CLI and requires some technical knowledge to set up (git, nodejs, yarn). A front-end hosted on a website could help many users getting access to this tool and enjoy the benefits. -The backend is already written in javascript, this should make it quite easy to host as a website and develope a front-end. +The backend is already written in javascript, this should make it quite easy to host as a website and develop a front-end. ## Deliverables :nut_and_bolt: diff --git a/docs/RFPs/uncollateralized-stablecoin-research.md b/docs/RFPs/uncollateralized-stablecoin-research.md index 33bf291b45f..d89129c7c8c 100644 --- a/docs/RFPs/uncollateralized-stablecoin-research.md +++ b/docs/RFPs/uncollateralized-stablecoin-research.md @@ -59,6 +59,6 @@ The milestones below are just an initial draft. The milestones can be structured | Number | Deliverable | Specification | | ------------- | ------------- | ------------- | -| 1. | Implement PoC| Implement the previous reasearch as ink! Smart contract or pallets | +| 1. | Implement PoC| Implement the previous research as ink! Smart contract or pallets | | 2. | UI (optional) | Implement a basic UI that can be used for testing | From c15c989d5a18d6f144418c186e63f9a94ceaf9dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20M=C3=BCller?= Date: Fri, 13 Oct 2023 16:58:50 +0200 Subject: [PATCH 125/133] clarifications (#2046) Co-authored-by: David Hawig From 5e9c17f0fb6ce139593edd475881aa631f28af44 Mon Sep 17 00:00:00 2001 From: S E R A Y A Date: Tue, 17 Oct 2023 18:11:52 +0200 Subject: [PATCH 126/133] Update applications/index.md accept orochi m1 and complete grant --- applications/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/index.md b/applications/index.md index 7b9afc76afe..360c23aa51f 100644 --- a/applications/index.md +++ b/applications/index.md @@ -65,7 +65,7 @@ Besides, **there is a clear difference between an application being accepted and | [justmert](https://github.com/justmert) | [DOTLY: Revolutionizing Polkadot Account Statistics](./dotly.md) | [GitHub](https://github.com/justmert/dotly) | ☐ | ☐ | ☐ | | [Federico Cicciarella](https://www.linkedin.com/in/federicocicciarella/?originalSubdomain=it) | [Tracking Chain](./tracking_chain.md) | [GitHub](https://github.com/TrackingChains/TrackingChain) | ☐ | ☒ | ☐ | | [TPScore](https://github.com/its-a-setup) | [TPScore](./TPScore.md) | [GitHub](https://github.com/its-a-setup) | ☐ | ☒ | ☒ | -| [Orochi Network](https://www.orochi.network/) | [Research and development MPC ECDSA](./orochi-network-orosign-part1.md) | [GitHub](https://github.com/orochi-network) | ☐ | ☐ | ☐ | +| [Orochi Network](https://www.orochi.network/) | [Research and development MPC ECDSA](./orochi-network-orosign-part1.md) | [GitHub](https://github.com/orochi-network) | ☐ | ☒ | ☒ | | [k/factory](https://k-f.co/) | [On-Chain Automated Treasury Management](./centrifuge-twamm.md) | [GitHub](https://github.com/centrifuge) | ☐ | ☐ | ☐ | | [AISLAND DAO](https://aisland.io) | [Aisland Docsig](./Aisland-DocSig.md) | [GitHub](https://github.com/aisland-dao) | ☐ | ☒ | ☐ | | [Eiger](https://www.eiger.co/) | [Storage solution on Polkadot](./Eiger_Storage_on_Polkadot_1.md) | [GitHub](https://github.com/eigerco) | ☐ | ☐ | ☐ | From 959e8292f11249448fd97197207b865f576ca903 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Richard=20Jedli=C4=8Dka?= Date: Wed, 18 Oct 2023 10:45:09 +0200 Subject: [PATCH 127/133] amend Calamar's milestone 3 (#2055) --- applications/Calamar.md | 37 +++++++++++++++++++++++-------------- 1 file changed, 23 insertions(+), 14 deletions(-) diff --git a/applications/Calamar.md b/applications/Calamar.md index a7953c14400..ff52a1eae69 100644 --- a/applications/Calamar.md +++ b/applications/Calamar.md @@ -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 @@ -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 @@ -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. @@ -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. From 990c63578bd7555a84b72ba6d8f76e6d0461d69f Mon Sep 17 00:00:00 2001 From: flipchan Date: Thu, 19 Oct 2023 09:24:38 +0200 Subject: [PATCH 128/133] [RFP]socks5 support for JsonRpsee (#2056) * socks5 support * Update jsonrpsee-proxy-support.md * Update docs/RFPs/jsonrpsee-proxy-support.md Co-authored-by: S E R A Y A * Update docs/RFPs/jsonrpsee-proxy-support.md Co-authored-by: S E R A Y A * Update docs/RFPs/jsonrpsee-proxy-support.md Co-authored-by: S E R A Y A * Update docs/RFPs/jsonrpsee-proxy-support.md Co-authored-by: S E R A Y A * Update docs/RFPs/jsonrpsee-proxy-support.md Co-authored-by: S E R A Y A * Update docs/RFPs/jsonrpsee-proxy-support.md Co-authored-by: S E R A Y A * Update docs/RFPs/jsonrpsee-proxy-support.md Co-authored-by: S E R A Y A * Update docs/RFPs/jsonrpsee-proxy-support.md Co-authored-by: S E R A Y A * Update docs/RFPs/jsonrpsee-proxy-support.md Co-authored-by: S E R A Y A --------- Co-authored-by: S E R A Y A --- docs/RFPs/jsonrpsee-proxy-support.md | 75 ++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 docs/RFPs/jsonrpsee-proxy-support.md diff --git a/docs/RFPs/jsonrpsee-proxy-support.md b/docs/RFPs/jsonrpsee-proxy-support.md new file mode 100644 index 00000000000..711c6633646 --- /dev/null +++ b/docs/RFPs/jsonrpsee-proxy-support.md @@ -0,0 +1,75 @@ +# Socks5 proxy support for JsonRpsee + +* **Status:** Open +* **Proposer:** flipchan + +## Project Description :page_facing_up: + +[JsonRpsee](https://github.com/paritytech/jsonrpsee) is an opensource Rust library used by several para and relay chain client libraries to connect to chains over ws or rpc. + +## Background story + +Tor is a anonymization project that has been active for several years. By utilizing a traffic obfusication protocol to route data, it enables users to anonymize their internet traffic. Several blockchain projects leverage this technology to allow users to connect to nodes over tor, inputting the .onion address of the rpc provider. + +By providing a .onion address for a rpc/ws node, we can allow users to have more privacy by masking the origination of the request (the sender's ip address). + + +Gavin Wood mentioned onion-routing as an important future feature on Decoded 2023: +![](https://lh4.googleusercontent.com/jVXYOtm4ORONGqAdtpj3tS4RUgpNJP3lAST_7byZOaT2FKzzGdvdVQOqf-2v1bhvWdniWuJDN2qBxkjYvMByqKXc9v6odzULbWla-sflQlEITA1hC34vCiumr3FKtpuaLo0xwfJNH_j9G-1O1RWki8k) + +[In february 2023](https://forum.polkadot.network/t/privhost-public-polkadot-kusama-and-edgeware-nodes-with-tor-v3-onion-support/2093), a small public rpc provider was launched in order to provide .onion rpc endpoints for handful of chains in the ecosystem. +Privhost was later listed on the [awesome-substrate list](https://github.com/substrate-developer-hub/awesome-substrate#products-and-services). + + +In order to connect to a .onion site, a user must pass it's connection through a tor socks5 proxy in order to resolve the .onion domain and connect. + + +Several ecosystem projects want to add support for connecting to .onion, but are blocked due to JsonRpsee not having support for sock5 proxy. + + +Third party pr's that are waiting for JsonRpsee to support socks5: +- [Fedimint #391](https://github.com/fedimint/fedimint/issues/391#issuecomment-1643878929) +- [Uptest #15](https://github.com/uptest-sc/uptest/issues/15) + +On 4th of September of 2022 a [pr was created](https://github.com/paritytech/jsonrpsee/issues/870) to start the process of adding socks5 support for JsonRpsee. +Noone has had time to fix this issue and implement this feature, therefor this RFP. + + +## Motivation +- Enable client libraries to connect to .onion rpc nodes. + + +### Ecosystem projects that rely on JsonRpsee +- [Subxt](https://github.com/paritytech/subxt) +- [Substrate](https://github.com/paritytech/substrate) +- [Subwasm](https://github.com/chevdor/subwasm) +- [Uptest](https://github.com/uptest-sc/uptest) +- [Subway](https://github.com/AcalaNetwork/subway) + +## Deliverables :nut_and_bolt: + +* **Total Estimated Duration:** 4 weeks +* **Full-time equivalent (FTE):** 4 weeks +* **Total Costs:** 9000 USD(may be changed by the future team) + + +### Milestone 1 + +Please add additional milestones in the same way: +* **Estimated Duration:** Duration of milestone 1 +* **FTE:** 4 weeks +* **Costs:** 9000 USD(may be changed by the future team) + + +| Number | Deliverable | Specification | +| ------------- | ------------- | ------------- | +| 0a. | License | Apache 2.0 / MIT / Unlicense| +| 0b. | Documentation | Public documentation with implementation guides and sample code | +| 0c. | Testing Guide |Rust Unit tests| +| 0d. | Article |Article explaining how to utilize the socks5 support| +| 1. | Middleware layer | In order to enable socks5 support, several modifications of the `WsTransportClientBuilder` needs to be implemented, described in [issue #1162](https://github.com/paritytech/jsonrpsee/issues/1162) | +| 2. | Socks5 support |enable a jsonrpsee client to proxy connections using a socks5 proxy | + + +#### Demonstrations +- Connect to a .onion rpc node with jsonrpsee. From 95c382b7755bb7e32de323003996b39db3ded2b3 Mon Sep 17 00:00:00 2001 From: Noc2 Date: Thu, 19 Oct 2023 09:27:37 +0200 Subject: [PATCH 129/133] Update rfps page --- docs/rfps.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/rfps.md b/docs/rfps.md index 73ab405b258..62fc4f16dec 100644 --- a/docs/rfps.md +++ b/docs/rfps.md @@ -26,6 +26,7 @@ If you find an open RFP here that you think you can address, feel free to [submi | [anti-collusion_infrastructure.md](RFPs/anti-collusion_infrastructure.md) | 21.09.2023 | | [formal_guarantees_for_grandpa.md](RFPs/formal_guarantees_for_grandpa.md) | 12.10.2023 | | [ISO_20022.md](RFPs/ISO_20022.md) | 12.10.2023 | +| [jsonrpsee-proxy-support.md](RFPs/jsonrpsee-proxy-support.md) | 19.10.2023 | | [parachain_validation_conformance_testing.md](RFPs/parachain_validation_conformance_testing.md) | 18.01.2023 | | [sub-consensus.md](RFPs/sub-consensus.md) | 23.02.2022 | | [user-account-access-analysis.md](RFPs/user-account-access-analysis.md) | 07.01.2023 | From 6082d805923924991b2afcc5d6c045994f9bca58 Mon Sep 17 00:00:00 2001 From: Keegan | W3F <35080151+keeganquigley@users.noreply.github.com> Date: Thu, 19 Oct 2023 12:51:51 -0500 Subject: [PATCH 130/133] Update index.md (#2059) --- applications/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/index.md b/applications/index.md index 360c23aa51f..20e5c931579 100644 --- a/applications/index.md +++ b/applications/index.md @@ -72,7 +72,7 @@ Besides, **there is a clear difference between an application being accepted and | [Salaheldin Soliman](https://github.com/salaheldinsoliman) | [Solang Playground](Solang_Playground.md) | [GitHub](https://github.com/salaheldinsoliman) | ☐ | ☐ | ☐ | | [P2P.ORG](http://p2p.org/) | [P2P data platform](data_platform_with_deep_indexed_data_and_staking_reports.md) | [GitHub](https://github.com/p2p-org) | ☐ | ☐ | ☐ | | [CoinFabrik](https://www.coinfabrik.com/) | [CoinFabrik On Ink Integration Tests](CoinFabrik_On_Ink_Integration_Tests.md) | [GitHub](https://github.com/CoinFabrik) | ☐ | ☒ | ☒ | -| [Stake Plus Inc](https://stake.plus) | [Treasury Tracker](TreasuryTracker.md) | [GitHub](https://github.com/stake-plus) | ☐ | ☐ | ☐ | +| [Stake Plus Inc](https://stake.plus) | [Treasury Tracker](TreasuryTracker.md) | [GitHub](https://github.com/stake-plus) | ☐ | ☒ | ☒ | | [MOBR Systems](https://www.mobr.ai) | [Polkadot Analytics Platform](polkadot_analytics_platform.md) | [GitHub](https://github.com/mobr-ai) | ☐ | ☒ | ☐ | | [Infra3](https://network.infra-3.xyz) | [Hyperdot - Powerful data analysis and creations platform](Hyperdot.md) | [GitHub](https://github.com/Infra3-Network/hyperdot) | ☐ | ☐ | ☐ | | [David Semakula](https://github.com/davidsemakula) | [ink! analyzer (phase 2)](ink-analyzer-phase-2.md) | [GitHub](https://github.com/ink-analyzer) | ☐ | ☒ | ☐ | From 2aed1df339bab137cffa55766fa630bed6941c1e Mon Sep 17 00:00:00 2001 From: Keegan | W3F <35080151+keeganquigley@users.noreply.github.com> Date: Fri, 20 Oct 2023 01:42:27 -0500 Subject: [PATCH 131/133] Update Syncra.md (#2060) --- applications/Syncra.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/applications/Syncra.md b/applications/Syncra.md index 20f2ea99ba2..3764804ae1f 100644 --- a/applications/Syncra.md +++ b/applications/Syncra.md @@ -3,6 +3,7 @@ - **Team Name:** Syncra - **Payment Address:** 15Geo1RfLLM1PmPsD4uggts1Ht5LrWUChBDruLPqt5EgFKPB (PolkaDOT - USDT) - **Level:** 2 +- **Status:** [Terminated](https://github.com/w3f/Grants-Program/pull/1762#issuecomment-1769273868) ## Project Overview @@ -286,4 +287,4 @@ Web3 Foundation Website, and Personal Recommendation. ### Previous grants you may have applied for -- Aleph Zero Grants program \ No newline at end of file +- Aleph Zero Grants program From ff79ffaea4a44a95991c1fcf14d88a68a8aa36e5 Mon Sep 17 00:00:00 2001 From: Diogo <112647953+dsm-w3f@users.noreply.github.com> Date: Fri, 20 Oct 2023 15:29:59 -0300 Subject: [PATCH 132/133] Update index.md to check first delivery and completed (#2062) * Update index.md * Update index.md * Update index.md * Update index.md --- applications/index.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/applications/index.md b/applications/index.md index 20e5c931579..2fcf4e1cc57 100644 --- a/applications/index.md +++ b/applications/index.md @@ -62,7 +62,7 @@ Besides, **there is a clear difference between an application being accepted and | [ZeroDAO](https://github.com/ZeroDAO) | [Melodot](./Melodot.md) | [GitHub](https://github.com/ZeroDAO) | ☐ | ☒ | ☒ | | [Starks](https://github.com/tur461) | [XCM tool for NFTs](./xNFT.md) | [GitHub](https://github.com/tur461) | ☐ | ☐ | ☐ | | [ChainSafe](https://chainsafe.io/) | [Polkadot Snap Maintenance](./maintenance/Substratesnap_Maintenance.md) | [GitHub](https://github.com/ChainSafe/metamask-snap-polkadot) | ☐ | ☐ | ☐ | -| [justmert](https://github.com/justmert) | [DOTLY: Revolutionizing Polkadot Account Statistics](./dotly.md) | [GitHub](https://github.com/justmert/dotly) | ☐ | ☐ | ☐ | +| [justmert](https://github.com/justmert) | [DOTLY: Revolutionizing Polkadot Account Statistics](./dotly.md) | [GitHub](https://github.com/justmert/dotly) | ☐ | ☒ | ☒ | | [Federico Cicciarella](https://www.linkedin.com/in/federicocicciarella/?originalSubdomain=it) | [Tracking Chain](./tracking_chain.md) | [GitHub](https://github.com/TrackingChains/TrackingChain) | ☐ | ☒ | ☐ | | [TPScore](https://github.com/its-a-setup) | [TPScore](./TPScore.md) | [GitHub](https://github.com/its-a-setup) | ☐ | ☒ | ☒ | | [Orochi Network](https://www.orochi.network/) | [Research and development MPC ECDSA](./orochi-network-orosign-part1.md) | [GitHub](https://github.com/orochi-network) | ☐ | ☒ | ☒ | @@ -88,7 +88,7 @@ Besides, **there is a clear difference between an application being accepted and | [Zondax AG](https://zondax.ch/) | [PoC Polkadot Conformance Tests](./polkadot_tests.md) | [GitHub](https://github.com/zondax) | ☐ | ☐ | ☐ | | [SO/DA zone](https://github.com/sodazone) | [Ocelloids XCM Transfer Monitoring Service](ocelloids_xcm_monitoring_service.md) | [GitHub](https://github.com/sodazone) | ☐ | ☐ | ☐ | | [Moonsong Labs](https://moonsonglabs.com/) | [StorageHub](./StorageHub.md) | [GitHub](https://github.com/Moonsong-Labs) | ☐ | ☐ | ☐ | -| [Jonathan Brown](https://acuity.social/) | [Hybrid Explorer Phase 2](hybrid2.md) | [GitHub](https://github.com/hybrid-explorer) | ☐ | ☐ | ☐ | +| [Jonathan Brown](https://acuity.social/) | [Hybrid Explorer Phase 2](hybrid2.md) | [GitHub](https://github.com/hybrid-explorer) | ☐ | ☒ | ☐ | | [Coong Crafts](https://coongcrafts.io/) | [DelightfulDOT](delightfuldot.md) | [GitHub](https://github.com/CoongCrafts) | ☐ | ☐ | ☐ | | [Lastic](https://www.lastic.xyz/) | [Lastic](Lastic.md) | [GitHub](https://github.com/LasticXYZ) | ☐ | ☐ | ☐ | @@ -101,7 +101,7 @@ Besides, **there is a clear difference between an application being accepted and | [Interstellar](https://www.interstellar.gg/) | [Interstellar - Wallet Phase 2](./Interstellar-network2.md) | [GitHub](https://github.com/Interstellar-Network) | ☐ | ☒ | ☒ | | [Valletech AB](https://valletech.eu/) | [DINFRA](./DINFRA.md) | [GitHub](https://gitlab.com/polkawatch) | ☐ | ☒ | ☐ | | [DAuth](https://github.com/DAuth-Network) | [DAuth](./dauth_network.md) | [GitHub](https://github.com/DAuth-Network) | ☐ | ☐ | ☐ | -| [Galaxy.Do](https://galaxy.do) | [Galaxy: Three-dimensional Web for Polkadot Users](./galaxy.md) | [GitHub](https://github.com/7flash) | ☐ | ☒ | ☐ | +| [Galaxy.Do](https://galaxy.do) | [Galaxy: Three-dimensional Web for Polkadot Users](./galaxy.md) | [GitHub](https://github.com/7flash) | ☐ | ☒ | ☒ | | [Web3 Labs Ltd](https://www.web3labs.com/) | [Sirato (Epirus) Substrate Explorer - Phase III](./sirato_substrate_phase3.md) | [GitHub](https://github.com/web3labs) | ☐ | ☒ | ☒ | | [Collective Intelligence Labs](https://collectiveintelligence.dev/)| [Omnichain Infrastructure](./CILA-omnichain-infrastructure.md) | [GitHub](https://github.com/Collective-Intelligence-Labs) | ☐ | ☒ | ☐ | | [TradeLink](https://tradelink.pro/) | [Sandox](./sandox.md) | [GitHub](https://github.com/BEARlogin) | ☐ | ☒ | ☐ | @@ -115,7 +115,7 @@ Besides, **there is a clear difference between an application being accepted and | [Talentica Software](https://www.talentica.com/) | [Implementation Benchmarking Milestone 3](ink-pallet-benchmarking-phase-2.md) | [GitHub](https://github.com/Nikhil-Desai-Talentica) | ☐ | ☒ | ☒ | | [Deep Ink Ventures GmbH](https://github.com/deep-ink-ventures) | [Stylograph](Stylograph.md) | [GitHub](https://github.com/deep-ink-ventures) | ☐ | ☒ | ☒ | | [Zeeve](https://www.zeeve.io) | [Ink Playground IDE Improvements](ink-playground-ide-improvements.md) | [GitHub](https://github.com/Zeeve-App) | ☐ | ☐ | ☐ | -| [Scio Labs](https://scio.xyz/) | [XCM Domain Name Service](xcm-domain-service.md) | [GitHub](https://github.com/scio-labs) | ☐ | ☒ | ☐ | +| [Scio Labs](https://scio.xyz/) | [XCM Domain Name Service](xcm-domain-service.md) | [GitHub](https://github.com/scio-labs) | ☐ | ☒ | ☒ | | [Gloslab](https://github.com/smiasojed) | [Contracts performance measurement tool proposal](contracts-tool.md) | [GitHub](https://github.com/smiasojed) | ☐ | ☒ | ☐ | | [Nikita Orlov PR](https://github.com/stringnick) | [Faucet chat based bot](faucet-bot.md) | [GitHub](https://github.com/stringnick) | ☐ | ☒ | ☒ | | [Societal Labs Ltd.](https://www.sctl.xyz/) | [Societal Saas Pricing](societal_saas_pricing.md) | [GitHub](https://github.com/sctllabs) | ☐ | ☒ | ☒ | @@ -126,9 +126,9 @@ Besides, **there is a clear difference between an application being accepted and | [Zaniyar Jahany](https://github.com/Zaniyar/) | [Grantmaster](grantmaster.md) | [GitHub](https://github.com/Zaniyar/plant2earn/) | ☐ | ☐ | ☐ | | [FiDi Tech](https://fidi.tech/) | [FiDi DotSight: Analytics Data Platform for DotSama](fidi-dotsight-analytics.md)| [GitHub](https://github.com/fidi-tech) | ☐ | ☒ | ☐ | | [Ideal Labs](https://www.idealabs.network/) | [Cryptex](cryptex.md)| [GitHub](https://github.com/ideal-lab5) | ☐ | ☒ | ☐ | -| [Xcavate](https://xcavate.io/) | [Real estate centric lending and asset minting protocol](Xcavate.md)| [GitHub](https://github.com/xcavateblockchain) | ☐ | ☐ | ☐ | +| [Xcavate](https://xcavate.io/) | [Real estate centric lending and asset minting protocol](Xcavate.md)| [GitHub](https://github.com/xcavateblockchain) | ☐ | ☒ | ☒ | | [Syncra](https://syncra.xyz) | [No Code DAO Maker and ZK Powered Private Voting Solution](Syncra.md)| [GitHub](https://github.com/SyncraDAO) | ☐ | ☐ | ☐ | -| [P2P.ORG](http://p2p.org/) | [Validator Monitoring Service](Validator_Monitoring_Service.md)| [GitHub](https://github.com/p2p-org/polkadot_monitoring_service) | ☐ | ☐ | ☐ | +| [P2P.ORG](http://p2p.org/) | [Validator Monitoring Service](Validator_Monitoring_Service.md)| [GitHub](https://github.com/p2p-org/polkadot_monitoring_service) | ☐ | ☒ | ☒ | | [Colorful Notion](https://github.com/colorfulnotion) | [Deep Account Analytics in Three Tiers for the Polkadot Data Alliance](DeepAccountAnalytics-PolkadotDataAlliance.md)| [GitHub](https://github.com/colorfulnotion/) | ☐ | ☐ | ☐ | | [Dastanbek Samatov](https://dastansam.github.io/) | [ISO-8553 PoC implementation](ISO-8583-implementation.md)| [GitHub](https://github.com/dastanbeksamatov) | ☐ | ☒ | ☐ | | [Eiger](https://www.eiger.co/) | [Substrate Move System Pallet, pt. 1](Substrate_Move_System_Pallet_1.md)| [GitHub](https://github.com/eigerco) | ☐ | ☒ | ☒ | From 37256f34c6aeb771720505d40469e1a8492b474f Mon Sep 17 00:00:00 2001 From: Muhammed Irfan <50794925+MuhammedIrfan@users.noreply.github.com> Date: Mon, 23 Oct 2023 14:17:09 +0530 Subject: [PATCH 133/133] Update: Project Aurras - MVP - Phase 2 (#2061) * amend proposal * add staking and payout features link * update team details * updated original estimation * add estimated delivery date * docs: update payment method to fiat --- applications/project_aurras_mvp_phase_2.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/project_aurras_mvp_phase_2.md b/applications/project_aurras_mvp_phase_2.md index accc4756723..cb9f659c9ac 100644 --- a/applications/project_aurras_mvp_phase_2.md +++ b/applications/project_aurras_mvp_phase_2.md @@ -1,7 +1,7 @@ # Project Aurras - MVP - Phase 2 - **Team Name:** HugoByte AI Labs Private Limited -- **Payment Address:** 1G5Fo5KfLSopTFKPRDUZgeCSU5PNY2kkD5 (BTC) +- **Payment Address:** Fiat 20.10.2023, 06:33 UTC - **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 ## Project Overview :page_facing_up: